decocms 3.85.0 → 3.85.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/dist/client/assets/{AlertCircle-kSb-Qf9n.js → AlertCircle-UI_s1A_q.js} +1 -1
  2. package/dist/client/assets/{ArrowUpRight-DO7qF3FR.js → ArrowUpRight-BGXtWVLq.js} +1 -1
  3. package/dist/client/assets/{CheckCircle-D6EE7Hmb.js → CheckCircle-BcQG2RQ_.js} +1 -1
  4. package/dist/client/assets/{ChevronDown-B7wZ2dhC.js → ChevronDown-D0YAzAXq.js} +1 -1
  5. package/dist/client/assets/{ChevronLeft-w56H85iU.js → ChevronLeft-hv_TF25A.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-BoaGhbkW.js → ChevronRight-DQOBw88M.js} +1 -1
  7. package/dist/client/assets/{ChevronUp-CYHUjSzO.js → ChevronUp-B2D6HqOT.js} +1 -1
  8. package/dist/client/assets/{DotsVertical-j1hNgjaQ.js → DotsVertical-b5t2rran.js} +1 -1
  9. package/dist/client/assets/{Eye-BBp7OFME.js → Eye-BYzzEm3I.js} +1 -1
  10. package/dist/client/assets/{FilterLines-DplcErOH.js → FilterLines-C9tSEykd.js} +1 -1
  11. package/dist/client/assets/{Globe01-BPaIp2G4.js → Globe01-DIjRFAXE.js} +1 -1
  12. package/dist/client/assets/{Globe04-BXv8f1DJ.js → Globe04-D7R12mcw.js} +1 -1
  13. package/dist/client/assets/{HardDrive-Cgonccxa.js → HardDrive-Cvm-O0cK.js} +1 -1
  14. package/dist/client/assets/{Key01-amtVh9Pr.js → Key01-D41rtuFP.js} +1 -1
  15. package/dist/client/assets/{LayoutLeft-bKhOA729.js → LayoutLeft-DiQZpi5k.js} +1 -1
  16. package/dist/client/assets/{LinkExternal01-_D0rcHDt.js → LinkExternal01-C470omzl.js} +1 -1
  17. package/dist/client/assets/{Monitor01-BZ-_RPko.js → Monitor01-DC7VBFXb.js} +1 -1
  18. package/dist/client/assets/{Palette-EgKDa0_1.js → Palette-KMBswWVt.js} +1 -1
  19. package/dist/client/assets/{Play-DuG-6BxB.js → Play-Bd1FYhKh.js} +1 -1
  20. package/dist/client/assets/{Plus-Bzf3CZgl.js → Plus-CoKbuJLU.js} +1 -1
  21. package/dist/client/assets/{SearchMd-DpMSIAeq.js → SearchMd-Cdve7MnI.js} +1 -1
  22. package/dist/client/assets/{Settings02-CDqbYNx0.js → Settings02-CI_uQmeR.js} +1 -1
  23. package/dist/client/assets/{Shield01-CjRICO_s.js → Shield01-BZvnvLhB.js} +1 -1
  24. package/dist/client/assets/{Star01-CNNNcPDW.js → Star01-vvHwZgSL.js} +1 -1
  25. package/dist/client/assets/{Stars01-C8ysp7a4.js → Stars01-xm4D-cxK.js} +1 -1
  26. package/dist/client/assets/{Stars02-DXNdBxv2.js → Stars02-C-_PT1u9.js} +1 -1
  27. package/dist/client/assets/{Sun-DhFcEKDD.js → Sun-CGHCaafi.js} +1 -1
  28. package/dist/client/assets/{SwitchHorizontal01-BJs9_RSs.js → SwitchHorizontal01-C16CMAte.js} +1 -1
  29. package/dist/client/assets/{Tool01-CyHE87a1.js → Tool01-Cuf4Loxv.js} +1 -1
  30. package/dist/client/assets/{Trash01-cuwi9yy2.js → Trash01-C2-KSkpM.js} +1 -1
  31. package/dist/client/assets/{Upload01-Cwtbh8sn.js → Upload01-Cxyzcp7U.js} +1 -1
  32. package/dist/client/assets/{User01-DqBopRvD.js → User01-DQNqyf0z.js} +1 -1
  33. package/dist/client/assets/{Users01-Y-KIXecC.js → Users01-Ds21PzyA.js} +1 -1
  34. package/dist/client/assets/{Users03-BCQ19tMn.js → Users03-DVqhqLtY.js} +1 -1
  35. package/dist/client/assets/{X-CAV77AV6.js → X-D4bcZF2P.js} +1 -1
  36. package/dist/client/assets/{XCircle-DLfZ2b5u.js → XCircle-ChCszrqC.js} +1 -1
  37. package/dist/client/assets/{XClose-BMo1vUt2.js → XClose-BIMV7Dn2.js} +1 -1
  38. package/dist/client/assets/{Zap-QgQiv5aC.js → Zap-BwocpLy_.js} +1 -1
  39. package/dist/client/assets/{ZapSquare-7E5PpjYg.js → ZapSquare-CI2Ygkar.js} +1 -1
  40. package/dist/client/assets/{ZoomOut-Cf_cVqP_.js → ZoomOut-CCevpFEm.js} +1 -1
  41. package/dist/client/assets/{access-gate-dwzK5mOl.js → access-gate-DC5UQYOb.js} +1 -1
  42. package/dist/client/assets/{add-section-modal-DrXVB8wN.js → add-section-modal-BQIff8Ku.js} +1 -1
  43. package/dist/client/assets/{agent-icon-DpZrOqHC.js → agent-icon-DltOZ7gk.js} +1 -1
  44. package/dist/client/assets/{agents-list-Bg7vmZGo.js → agents-list-HUgP9gOt.js} +1 -1
  45. package/dist/client/assets/{ai-providers-C0c6LA97.js → ai-providers-DIxyyZhD.js} +1 -1
  46. package/dist/client/assets/{alert-wU-33S6Y.js → alert-DkTeVwML.js} +1 -1
  47. package/dist/client/assets/{alert-dialog-7ikXnuZZ.js → alert-dialog-DpS-mMM7.js} +1 -1
  48. package/dist/client/assets/{app-editor-DWUmTpcU.js → app-editor-DGAKCKE-.js} +1 -1
  49. package/dist/client/assets/{auth-VPD4Z7uj.js → auth-3Qlzfum0.js} +1 -1
  50. package/dist/client/assets/{auth-catchall-C6AjA3Vu.js → auth-catchall-k44sYCpM.js} +1 -1
  51. package/dist/client/assets/{auth-entry-DPPMuSzX.js → auth-entry-DJx0s8hS.js} +1 -1
  52. package/dist/client/assets/{auth-split-layout-YO1B7axf.js → auth-split-layout-1KN6oAFe.js} +1 -1
  53. package/dist/client/assets/{authenticate-and-persist-oauth-Dji1uo75.js → authenticate-and-persist-oauth-Czoy-f8w.js} +1 -1
  54. package/dist/client/assets/{automation-list-row-z5t76XbP.js → automation-list-row-BrMpZJSX.js} +1 -1
  55. package/dist/client/assets/{automation-runs-Yfeb4HlH.js → automation-runs-W3No-HAO.js} +1 -1
  56. package/dist/client/assets/{automations-73qOVu58.js → automations-Dgjltr_b.js} +1 -1
  57. package/dist/client/assets/{avatar-BilFqnob.js → avatar-B442IE73.js} +1 -1
  58. package/dist/client/assets/{badge-CnhOrtd9.js → badge-CuXnSq54.js} +1 -1
  59. package/dist/client/assets/{block-document-DIn-g_CF.js → block-document-BD7cWULL.js} +1 -1
  60. package/dist/client/assets/{brand-context-4U6Nr9JH.js → brand-context-Ddq0r4JY.js} +1 -1
  61. package/dist/client/assets/{buckets-DQ4nmV5k.js → buckets-DGVTtrzw.js} +1 -1
  62. package/dist/client/assets/{capability-load-error-2yYSMEPV.js → capability-load-error-BKlkiPcg.js} +1 -1
  63. package/dist/client/assets/{card-BupjtJkr.js → card-CGNymFBN.js} +1 -1
  64. package/dist/client/assets/category-editor-DXonE06u.js +1 -0
  65. package/dist/client/assets/{chat-context-D-LKEDCk.js → chat-context-DqwSWwRT.js} +1 -1
  66. package/dist/client/assets/{checkbox-DvYZyWAu.js → checkbox-DX2kNd_o.js} +1 -1
  67. package/dist/client/assets/{cli-auth-success-brusqf5b.js → cli-auth-success-Bnjczofu.js} +1 -1
  68. package/dist/client/assets/{collection-detail-B8lnN9v6.js → collection-detail-n6014Ts6.js} +1 -1
  69. package/dist/client/assets/{collection-display-button-BZUnVOdG.js → collection-display-button-CAbrtWV3.js} +1 -1
  70. package/dist/client/assets/{collection-search-D5rZ-51v.js → collection-search--VTqc0O-.js} +1 -1
  71. package/dist/client/assets/{collection-tabs-B0DaNRfG.js → collection-tabs-Bm2QWW6E.js} +1 -1
  72. package/dist/client/assets/{command-DzaJUoKq.js → command-DY2CVwyL.js} +1 -1
  73. package/dist/client/assets/commerce-onboarding--wlyfyPZ.js +1 -0
  74. package/dist/client/assets/{connect-desktop-dialog-CxAamCFt.js → connect-desktop-dialog-Rvz9u_CV.js} +1 -1
  75. package/dist/client/assets/{connection-card-D_O9kugK.js → connection-card-BSwF1NNx.js} +1 -1
  76. package/dist/client/assets/{connection-detail-D5TH7cy3.js → connection-detail-0l0C63Md.js} +1 -1
  77. package/dist/client/assets/{connection-form-helpers-DU4oKsTL.js → connection-form-helpers-DG0VHHVH.js} +1 -1
  78. package/dist/client/assets/{connections-DfQE4LTl.js → connections-BZRB4P82.js} +1 -1
  79. package/dist/client/assets/{context-menu-BFA3p3qP.js → context-menu-IZpfekr5.js} +1 -1
  80. package/dist/client/assets/{decopilot-DhIm-t3i.js → decopilot-Duluf5jH.js} +1 -1
  81. package/dist/client/assets/{decopilot-sse-pool-ml_VBwzU.js → decopilot-sse-pool-D6IMI0f5.js} +1 -1
  82. package/dist/client/assets/{dialog-B30hErlE.js → dialog-DDISKcmV.js} +1 -1
  83. package/dist/client/assets/{domain-settings-C9IxTuyl.js → domain-settings-D5w5Ataa.js} +1 -1
  84. package/dist/client/assets/{drawer-Bj3LFkPG.js → drawer-DKaQPPyr.js} +1 -1
  85. package/dist/client/assets/{dropdown-menu-5g8UZmyj.js → dropdown-menu-10e27AXH.js} +1 -1
  86. package/dist/client/assets/{empty-state-DWNpCwVC.js → empty-state-BdeVb4XA.js} +1 -1
  87. package/dist/client/assets/{extract-connection-data-DrZwJcIT.js → extract-connection-data-B-8vHcVE.js} +1 -1
  88. package/dist/client/assets/{file-explorer-CF2Py8oA.js → file-explorer-Bkk4HZEy.js} +1 -1
  89. package/dist/client/assets/{file-type-icon-Pm9PbUF4.js → file-type-icon-Cll7L0-s.js} +1 -1
  90. package/dist/client/assets/{files-DkYnOioo.js → files-D72DQEPA.js} +1 -1
  91. package/dist/client/assets/{form-MhNC6i_S.js → form-Bx10NpUN.js} +1 -1
  92. package/dist/client/assets/{general-C4QbPzLU.js → general-BrIfBDVn.js} +1 -1
  93. package/dist/client/assets/{github-repo-picker-Cs40-k2n.js → github-repo-picker-Dby0l-at.js} +1 -1
  94. package/dist/client/assets/{hooks-BqHMEBso.js → hooks-CDzp_brc.js} +1 -1
  95. package/dist/client/assets/{import-from-deco-dialog-CVgt0-G4.js → import-from-deco-dialog--s9_66WC.js} +1 -1
  96. package/dist/client/assets/{index-B6nON9DX.js → index-26SNxfzY.js} +1 -1
  97. package/dist/client/assets/{index-AbZbF42n.js → index-B29SSyAJ.js} +1 -1
  98. package/dist/client/assets/{index-BLr2UsaQ.js → index-BAMRmaRC.js} +1 -1
  99. package/dist/client/assets/{index-DrV1JIHB.js → index-BYtbVFm5.js} +1 -1
  100. package/dist/client/assets/{index-BJ1ODhMv.js → index-CQeBRxbZ.js} +1 -1
  101. package/dist/client/assets/{index-BOEUnQ16.js → index-Cnt3OT0F.js} +4 -4
  102. package/dist/client/assets/{index-DdNGdbnY.js → index-CzhYS8LW.js} +1 -1
  103. package/dist/client/assets/{index-B76DB1P0.js → index-CziDwf0M.js} +1 -1
  104. package/dist/client/assets/{index-Bc8WGxSb.js → index-D9cO8eeb.js} +1 -1
  105. package/dist/client/assets/index-DMv2XL4f.js +1 -0
  106. package/dist/client/assets/{index-BtDGPznl.js → index-DgTNn2Yb.js} +5 -5
  107. package/dist/client/assets/{index-Ck9t634o.js → index-DkZ5fto1.js} +1 -1
  108. package/dist/client/assets/{index-hyUxIDvS.js → index-DtWX_jyh.js} +1 -1
  109. package/dist/client/assets/{index-BrmbqrUl.js → index-W_bLYphM.js} +1 -1
  110. package/dist/client/assets/{index-redirect-XcL-ml-y.js → index-redirect-Dw8S6fhp.js} +1 -1
  111. package/dist/client/assets/{input-Dpm-wjc8.js → input-Ckzaub2Q.js} +1 -1
  112. package/dist/client/assets/{integration-icon-BUHEF2ai.js → integration-icon-CynwtIY3.js} +1 -1
  113. package/dist/client/assets/{label-C11ohVz9.js → label-D6XLGyJ_.js} +1 -1
  114. package/dist/client/assets/{login-DFiyGNGQ.js → login-D7CPOPvJ.js} +1 -1
  115. package/dist/client/assets/{mcp-oauth-DWd1pMWO.js → mcp-oauth-CshWQNQX.js} +1 -1
  116. package/dist/client/assets/{members-CFXNQnTx.js → members-CIOeeOmt.js} +1 -1
  117. package/dist/client/assets/{monaco-editor-7djoupdn.js → monaco-editor-D5d0J9gi.js} +1 -1
  118. package/dist/client/assets/{monitoring-stats-row-Bqm5gSwW.js → monitoring-stats-row-CoMFi-WF.js} +1 -1
  119. package/dist/client/assets/{oauth-callback-BRUV_K7d.js → oauth-callback-D1z0A-2_.js} +1 -1
  120. package/dist/client/assets/{oauth-callback-ai-provider-D5_xUt9B.js → oauth-callback-ai-provider-BJBqEPDJ.js} +1 -1
  121. package/dist/client/assets/{onboarding-DFgMcL7V.js → onboarding-TACBZ4SL.js} +1 -1
  122. package/dist/client/assets/{org-install-RVefq5zO.js → org-install-UuxFqv69.js} +1 -1
  123. package/dist/client/assets/{org-layout-UxxOtZwR.js → org-layout-DAsu5R1a.js} +1 -1
  124. package/dist/client/assets/{organization-choice-BBNm1Zea.js → organization-choice-DZqe8ZRz.js} +1 -1
  125. package/dist/client/assets/{page-seo-form-DStYa5Yd.js → page-seo-form-MOAczFXF.js} +1 -1
  126. package/dist/client/assets/page-seo-sheet-XZwVd2HL.js +1 -0
  127. package/dist/client/assets/{popover-B9SXnqeu.js → popover-Df7opRcP.js} +1 -1
  128. package/dist/client/assets/{post-editor-CGe3vqd5.js → post-editor-_EnxOukw.js} +1 -1
  129. package/dist/client/assets/{preview-dialog-C6zO3v13.js → preview-dialog-Qgw8TqgL.js} +1 -1
  130. package/dist/client/assets/{primitives-BT8lOwN-.js → primitives-DS6denQF.js} +1 -1
  131. package/dist/client/assets/{profile-BQWgKCr1.js → profile-Dr1O3hY1.js} +1 -1
  132. package/dist/client/assets/project-app-view-BmOR7Rz5.js +1 -0
  133. package/dist/client/assets/record-editor-CrUrFl6H.js +1 -0
  134. package/dist/client/assets/registry-BBNKp_JZ.js +2 -0
  135. package/dist/client/assets/{registry-layout-COGwx3kA.js → registry-layout-DAw1bfE_.js} +1 -1
  136. package/dist/client/assets/{require-capability-DlaNYwHw.js → require-capability-BS7RYHPw.js} +1 -1
  137. package/dist/client/assets/{required-auth-layout-DO6Nx9kv.js → required-auth-layout-DsbnXfHE.js} +1 -1
  138. package/dist/client/assets/{reset-password-VN70aXvV.js → reset-password-B49rCUfQ.js} +1 -1
  139. package/dist/client/assets/{roles-DJaHr3Z6.js → roles-C7Ng4ibe.js} +1 -1
  140. package/dist/client/assets/{save-status-DD-9wzkt.js → save-status-DEjjDdp1.js} +1 -1
  141. package/dist/client/assets/{scroll-area-BzQVputN.js → scroll-area-BrISF3tu.js} +1 -1
  142. package/dist/client/assets/{search-input-C_LdLAhh.js → search-input-DRdO9fJW.js} +1 -1
  143. package/dist/client/assets/{secrets-B50Gk-u6.js → secrets-DaOAyfQ8.js} +1 -1
  144. package/dist/client/assets/{sections-editor-B1kfE044.js → sections-editor-DNXzKH6w.js} +1 -1
  145. package/dist/client/assets/{select-CsnP3MmZ.js → select-CHuOKMsv.js} +1 -1
  146. package/dist/client/assets/{select-model-o0S7EeOg.js → select-model-DtZt6AUe.js} +1 -1
  147. package/dist/client/assets/{seo-editor-BuBZosv_.js → seo-editor-_SGArFUJ.js} +1 -1
  148. package/dist/client/assets/{settings-layout-DEjnBHYc.js → settings-layout-BXRrzxk3.js} +1 -1
  149. package/dist/client/assets/{settings-section-BKFAq9Na.js → settings-section--x1ye-kF.js} +1 -1
  150. package/dist/client/assets/{sheet-DLBJgbkz.js → sheet-CHvzyrLe.js} +1 -1
  151. package/dist/client/assets/{shell-controls-QTD9LYan.js → shell-controls-APzM6IIO.js} +1 -1
  152. package/dist/client/assets/{shell-layout-CV0GLE78.js → shell-layout-ldK3sCwM.js} +1 -1
  153. package/dist/client/assets/{shell-route-loading-8TPt5XME.js → shell-route-loading-0ipm3Rfv.js} +1 -1
  154. package/dist/client/assets/{sidebar-9Hq5AiMq.js → sidebar-DijqZtyP.js} +1 -1
  155. package/dist/client/assets/{skeleton-BX3snBo3.js → skeleton-6Veh4gQ_.js} +1 -1
  156. package/dist/client/assets/{sortable.esm-Dmt85o3z.js → sortable.esm-Chkq7OOX.js} +1 -1
  157. package/dist/client/assets/{sso-DOXWomrs.js → sso-Ck2qsfkc.js} +1 -1
  158. package/dist/client/assets/{store-cyYkNlRT.js → store-CGQaL51B.js} +1 -1
  159. package/dist/client/assets/store-registry-vYj5JmNx.js +2 -0
  160. package/dist/client/assets/{studio-tools-DqnmzWTT.js → studio-tools-BrM6IZ-j.js} +1 -1
  161. package/dist/client/assets/{switch-BmATXWHQ.js → switch-DK_nl0S9.js} +1 -1
  162. package/dist/client/assets/{table-R8mTvnKd.js → table-BkUSKkKk.js} +1 -1
  163. package/dist/client/assets/{tabs-DEhvH9u3.js → tabs-DTxmuNcP.js} +1 -1
  164. package/dist/client/assets/{task-status-CfLGns02.js → task-status-BCVu6N5i.js} +1 -1
  165. package/dist/client/assets/{textarea--_U2p1mn.js → textarea-haJWQf-v.js} +1 -1
  166. package/dist/client/assets/{toggle-group-Bx5PBwdQ.js → toggle-group-Da7ARg8s.js} +1 -1
  167. package/dist/client/assets/{toolbar-DSevsKah.js → toolbar-DaTym4hl.js} +1 -1
  168. package/dist/client/assets/{tooltip-C73vGx59.js → tooltip-C29fjS_0.js} +1 -1
  169. package/dist/client/assets/{types-DO14PvKA.js → types-Q4TXBJ2s.js} +1 -1
  170. package/dist/client/assets/{use-ai-providers-yJM6WuqN.js → use-ai-providers-DXoG3bLZ.js} +1 -1
  171. package/dist/client/assets/{use-automations-bWic0132.js → use-automations-BZ8qDXjU.js} +1 -1
  172. package/dist/client/assets/{use-capability-ChkIe373.js → use-capability-DjzugVhc.js} +1 -1
  173. package/dist/client/assets/{use-clock-tick-Bot0OsMN.js → use-clock-tick-bysy1gGp.js} +1 -1
  174. package/dist/client/assets/{use-collections-3DlhnXiC.js → use-collections-BVkpsnVZ.js} +1 -1
  175. package/dist/client/assets/{use-connection-BiUFPmfA.js → use-connection-Cd7CYacz.js} +1 -1
  176. package/dist/client/assets/{use-copy-CcxJwita.js → use-copy-D_DJfVXx.js} +1 -1
  177. package/dist/client/assets/{use-create-virtual-mcp-Dqho5EP1.js → use-create-virtual-mcp-Z03LMXnz.js} +1 -1
  178. package/dist/client/assets/{use-debounced-autosave-DSFTYcH3.js → use-debounced-autosave-Dx7G5YC2.js} +1 -1
  179. package/dist/client/assets/{use-delete-connection-CoUkrXQf.js → use-delete-connection-Bg4siIS8.js} +1 -1
  180. package/dist/client/assets/{use-file-configs-Dqlf9DaL.js → use-file-configs-DUs7SMfa.js} +1 -1
  181. package/dist/client/assets/{use-infinite-scroll-D_WRvqma.js → use-infinite-scroll-C6UYOmGO.js} +1 -1
  182. package/dist/client/assets/{use-join-requests-D2c_aqmO.js → use-join-requests-D93gALrL.js} +1 -1
  183. package/dist/client/assets/{use-mcp-client-Da9sRmnt.js → use-mcp-client-DT8D-Rwk.js} +1 -1
  184. package/dist/client/assets/{use-mcp-prompts-BR2gK5kG.js → use-mcp-prompts-D5Dxa0-R.js} +1 -1
  185. package/dist/client/assets/{use-mcp-tools-BxfXWcZE.js → use-mcp-tools-Di1SYev9.js} +1 -1
  186. package/dist/client/assets/{use-members-BIa_9h_X.js → use-members-C-o5r2on.js} +1 -1
  187. package/dist/client/assets/{use-navigate-to-agent-xTXQLL0h.js → use-navigate-to-agent-DEly-MqA.js} +1 -1
  188. package/dist/client/assets/{use-org-auth-client-BDAU6HTq.js → use-org-auth-client-Dmek8f-T.js} +1 -1
  189. package/dist/client/assets/{use-org-sso-B6kdlgAy.js → use-org-sso-C3T2dIBY.js} +1 -1
  190. package/dist/client/assets/{use-organization-roles-BX50nDlN.js → use-organization-roles-B8wvwbIk.js} +1 -1
  191. package/dist/client/assets/{use-organization-settings-BCuQxu_g.js → use-organization-settings-DiF0XLSc.js} +1 -1
  192. package/dist/client/assets/{use-registry-connections-Dma9pkbk.js → use-registry-connections-DT6cG_1r.js} +1 -1
  193. package/dist/client/assets/{use-secrets-MPq-p0HU.js → use-secrets-m8cO_Wqg.js} +1 -1
  194. package/dist/client/assets/{use-status-sounds-JpgLlu6G.js → use-status-sounds-BCBlB-5o.js} +1 -1
  195. package/dist/client/assets/{use-view-mode-lXi8BbkK.js → use-view-mode-Fw9YXi_l.js} +1 -1
  196. package/dist/client/assets/{use-virtual-mcp-BI80r96t.js → use-virtual-mcp-Dyc4xTRo.js} +1 -1
  197. package/dist/client/assets/useInfiniteQuery-YHvdCOfz.js +1 -0
  198. package/dist/client/assets/useQueries-BPXFxPjE.js +1 -0
  199. package/dist/client/assets/useSuspenseInfiniteQuery-37SjXEvD.js +1 -0
  200. package/dist/client/assets/{variant-calendar-mtIxux65.js → variant-calendar-T-NWrWul.js} +1 -1
  201. package/dist/client/assets/{view-mode-toggle-BU7s5ppH.js → view-mode-toggle-Cuao4cr-.js} +1 -1
  202. package/dist/client/index.html +1 -1
  203. package/dist/server/cli.js +1 -1
  204. package/package.json +1 -1
  205. package/dist/client/assets/category-editor-DjzSsPiv.js +0 -1
  206. package/dist/client/assets/commerce-onboarding-CIOAcULX.js +0 -1
  207. package/dist/client/assets/index-Cm6FEMsc.js +0 -1
  208. package/dist/client/assets/page-seo-sheet-DLy3EY9b.js +0 -1
  209. package/dist/client/assets/project-app-view-D8p1EFEF.js +0 -1
  210. package/dist/client/assets/record-editor-CAriaoZY.js +0 -1
  211. package/dist/client/assets/registry-BCPdGeOr.js +0 -2
  212. package/dist/client/assets/store-registry-QeJLGvSb.js +0 -2
  213. package/dist/client/assets/useInfiniteQuery-qXZpzYgW.js +0 -1
  214. package/dist/client/assets/useSuspenseInfiniteQuery-8AoK9WIm.js +0 -1
@@ -80703,7 +80703,7 @@ ${$}`;_(Z);return}if(E(null,B),t.strategy==="count"){if(w--,w===0)_()}if(t.strat
80703
80703
  SELECT * FROM link_sandboxes WHERE handle = $handle
80704
80704
  `);function _(v){if(t===void 0)return!0;let h=$M(v),D=h&&$M(t)?nVu(t):t,g=h?nVu(v):kVu(v),O=GQt(D,g);return O===""||!O.startsWith("..")&&!IQt(O)}return{upsert(v){f.run({$handle:v.handle,$status:v.status,$sandboxPath:v.sandboxPath,$port:v.port??null,$previewUrl:v.previewUrl??null,$repoCloneUrl:v.repoCloneUrl??null,$branch:v.branch??null,$projectName:v.projectName??null,$error:v.error??null,$now:Date.now()})},list(){return l.all().map(n1i)},reconcile(){let v=Date.now();for(let h of l.all().map(n1i)){if(!_(h.sandboxPath)){c.run({$handle:h.handle,$now:v});continue}if(!$M(h.sandboxPath)){E.run({$handle:h.handle,$now:v});continue}if(h.status==="spawning"||h.status==="ready"||h.status==="failed"||h.status==="missing")$.run({$handle:h.handle,$now:v})}return l.all().map(n1i)},prune(v){let h=[],D=[],g=this.reconcile();for(let O of g){if(!_(O.sandboxPath)){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"outside_root",deletedFiles:!1});continue}if(v.missing&&O.status==="missing"){w.run({$handle:O.handle}),h.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"missing",deletedFiles:!1});continue}if(!v.merged||!$M(O.sandboxPath))continue;if(O.branch===null||O.branch.trim()===""){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"no_branch",deletedFiles:!1});continue}if(!p2(O.sandboxPath,["rev-parse","--is-inside-work-tree"]).ok){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}let Z=p2(O.sandboxPath,["status","--porcelain"]);if(!Z.ok){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}if(Z.stdout.trim()!==""){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"dirty_worktree",deletedFiles:!1});continue}let B=KVu(O.sandboxPath,O.branch);if(B===null){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"git_unavailable",deletedFiles:!1});continue}if(!B){D.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"branch_not_merged",deletedFiles:!1});continue}PQt(O.sandboxPath,{recursive:!0,force:!0}),w.run({$handle:O.handle}),h.push({handle:O.handle,sandboxPath:O.sandboxPath,reason:"merged",deletedFiles:!0})}return{removed:h,skipped:D}},delete(v){w.run({$handle:v})},inspect(v){let h=d.get({$handle:v});if(h===null)return null;let D=n1i(h),g=0,O=null;if($M(D.sandboxPath)&&p2(D.sandboxPath,["rev-parse","--is-inside-work-tree"]).ok){let Z=p2(D.sandboxPath,["status","--porcelain"]);if(Z.ok){let B=Z.stdout.trim();g=B===""?0:B.split(`
80705
80705
  `).length}if(D.branch!==null&&D.branch.trim()!=="")O=KVu(D.sandboxPath,D.branch)}return{handle:D.handle,branch:D.branch,sandboxPath:D.sandboxPath,dirtyCount:g,merged:O}},close(){u.close()}}}var EHi=()=>{};function JVu(i,u){let t=u?[["umount","-f",i]]:[["fusermount","-u",i],["umount",i]];for(let f of t)if(Bun.spawnSync(f,{stdout:"ignore",stderr:"ignore",timeout:5000}).exitCode===0)break}import{existsSync as KQt,readdirSync as XQt,rmSync as JQt}from"fs";import{join as SVu}from"path";function YVu(i,u={}){let t=u.detach??SQt,f=u.exists??KQt,l=u.readdir??(($)=>XQt($)),c=u.rm??(($)=>JQt($,{recursive:!0,force:!0})),E=SVu(i,"org");if(f(E))for(let $ of l(E))t(SVu(E,$));c(i)}var SQt=(i)=>JVu(i,process.platform==="darwin");var LVu=()=>{};import{join as YQt}from"path";function WVu(i){let u=i.purge??YVu;return{stopSandbox(t){return i.provider.deleteSandbox(t)},inspectSandbox(t){return i.registry.inspect(t)},async removeSandbox(t){if(await i.provider.deleteSandbox(t),i.provider.hasHandle(t))return{ok:!1,error:"Can't delete \u2014 run in progress"};try{let l=i.registry.inspect(t)?.sandboxPath??YQt(i.dataDir,"sandboxes",t);return u(l),i.registry.delete(t),{ok:!0}}catch(f){return{ok:!1,error:f instanceof Error?f.message:String(f)}}}}}var zVu=N(()=>{LVu()});import{randomBytes as LQt}from"crypto";import{mkdir as WQt}from"fs/promises";import{createServer as zQt}from"net";import{join as QQt}from"path";function QVu(i,u){return Error(`sandbox failed to start: ${i}`,{cause:u})}function HQt(i){if(!(i instanceof Error))return!1;return i.name==="TimeoutError"||/timed out|timeout|operation was aborted|aborted/i.test(i.message)}function HVu(i){if(i instanceof Error){let u=i.cause;if(u instanceof Error&&u.message)return u.message;return i.message}return String(i)}function bQt(i){if(!i)return null;let u=i.trim().replace(/\/+$/,"");if(!u)return null;let t=u.split(/[/:]/).filter(Boolean).at(-1);if(!t)return null;return t.replace(/\.git$/i,"")||null}function RQt(i){return{repoCloneUrl:i.repo?.cloneUrl??null,branch:i.repo?.branch??null,projectName:bQt(i.repo?.cloneUrl)}}function bVu(i){let u=i.maxSandboxes??20,t=new Map,f=i.pickPort??CQt,l=i.fetchImpl??fetch,c=i.resolvePreviewUrl??((g,O)=>`http://127.0.0.1:${O}`),E=(g)=>QQt(i.dataDir,"sandboxes",g),$=(g)=>{try{i.registry?.upsert(g)}catch(O){console.warn(`[user-desktop] failed to persist sandbox lifecycle handle=${g.handle} status=${g.status}:`,O)}},w=(g)=>{try{i.onEvent?.(g)}catch{}},d=async(g)=>{let O=new AbortController,Z=setTimeout(()=>O.abort(),1500);try{let B=await l(`${g}/health`,{signal:O.signal});if(!B.ok)console.warn(`[user-desktop] probe ${g}/health \u2192 ${B.status} (treating as dead)`);return B.ok}catch(B){return console.warn(`[user-desktop] probe ${g}/health failed: ${B instanceof Error?B.message:String(B)} (treating as dead)`),!1}finally{clearTimeout(Z)}},_=(g)=>{console.warn(`[user-desktop] evicting dead daemon handle=${g.handle} port=${g.port}`);try{g.process.kill("SIGTERM")}catch{}if(t.get(g.handle)===g)t.delete(g.handle),$({handle:g.handle,status:"stopped",sandboxPath:E(g.handle),port:null,previewUrl:null,...g.registryMetadata,error:null}),w({handle:g.handle,phase:"evicted"})},v=new Map;function h(){if(t.size<u)return;let g=[...t.values()].filter((Z)=>Z.activeDispatchCount===0).sort((Z,B)=>Z.lastUsedAt-B.lastUsedAt);if(g.length===0){console.warn(`[user-desktop] at cap ${t.size}/${u} but every sandbox is pinned (active dispatch) \u2014 exceeding cap temporarily`);return}let O=g[0];console.log(`[user-desktop] evicting LRU victim handle=${O.handle} port=${O.port} (cap ${u} reached, size=${t.size})`);try{O.process.kill("SIGTERM")}catch{}t.delete(O.handle),$({handle:O.handle,status:"stopped",sandboxPath:E(O.handle),port:null,previewUrl:null,...O.registryMetadata,error:null}),w({handle:O.handle,phase:"evicted"})}let D=async(g)=>{let O=RQt(g),Z=E(g.handle);$({handle:g.handle,status:"spawning",sandboxPath:Z,port:null,previewUrl:null,...O,error:null}),w({handle:g.handle,phase:"spawning"}),h();let B,F=null,y;try{await WQt(Z,{recursive:!0}),console.log(`[user-desktop] ensure handle=${g.handle} repo=${g.repo?.cloneUrl??"(none)"} branch=${g.repo?.branch??"(none)"} runtime=${g.workload?.runtime??"(autodetect)"} pm=${g.workload?.packageManager??"(autodetect)"}`),y=LQt(24).toString("hex");let[j,A]=await Promise.all([f(),f()]);B=j,console.log(`[user-desktop] spawn handle=${g.handle} port=${B} devPort=${A} workdir=${Z}`),F=await Promise.resolve(i.spawnDaemon({workdir:Z,handle:g.handle,port:B,daemonToken:y,offloadAllowedHosts:g.offloadAllowedHosts??[],offloadAllowSameHostDev:g.offloadAllowSameHostDev??!1,orgFsConfigJson:g.orgFsConfigJson}));try{await i.waitForHealth(B)}catch(n){throw QVu("the sandbox didn't come online in time",n)}console.log(`[user-desktop] healthy handle=${g.handle} port=${B} \u2014 posting config`);try{await i.postConfig(B,A,{repo:g.repo,workload:g.workload,operator:g.operator},y)}catch(n){throw QVu(HQt(n)?"configuration timed out":"the sandbox rejected its configuration",n)}}catch(j){if(console.error(`[user-desktop] sandbox bring-up failed handle=${g.handle} port=${B??"(none)"}${F?" (killing daemon)":""}:`,j),F)try{F.kill("SIGKILL")}catch{}throw w({handle:g.handle,phase:"failed",error:HVu(j)}),$({handle:g.handle,status:"failed",sandboxPath:Z,port:null,previewUrl:null,...O,error:HVu(j)}),j}if(!F||B===void 0)throw Error("sandbox bring-up invariant violated");let T=`http://127.0.0.1:${B}`,U=c(g.handle,B);console.log(`[user-desktop] ready handle=${g.handle} port=${B} sandboxApiUrl=${T} previewUrl=${U}`);let I={handle:g.handle,port:B,process:F,sandboxApiUrl:T,previewUrl:U,lastUsedAt:Date.now(),activeDispatchCount:0,daemonToken:y,registryMetadata:O};if(t.set(g.handle,I),$({handle:g.handle,status:"ready",sandboxPath:Z,port:B,previewUrl:U,...O,error:null}),w({handle:g.handle,phase:"ready",port:B,previewUrl:U}),F.exited)F.exited.then(()=>{if(t.get(g.handle)===I)console.warn(`[user-desktop] daemon process exited unexpectedly handle=${g.handle} port=${B} \u2014 removing from cache`),t.delete(g.handle),$({handle:g.handle,status:"stopped",sandboxPath:Z,port:null,previewUrl:null,...O,error:null}),w({handle:g.handle,phase:"evicted"});else console.log(`[user-desktop] daemon process exited handle=${g.handle} port=${B} (already replaced/removed)`)});return{sandboxApiUrl:T,previewUrl:U,port:B}};return{async ensureSandbox(g){let O=t.get(g.handle);if(O){if(await d(O.sandboxApiUrl))return console.log(`[user-desktop] cache hit handle=${g.handle} port=${O.port} (alive)`),O.lastUsedAt=Date.now(),{sandboxApiUrl:O.sandboxApiUrl,previewUrl:O.previewUrl,port:O.port};console.warn(`[user-desktop] cache stale handle=${g.handle} port=${O.port} \u2014 respawning`),_(O)}let Z=v.get(g.handle);if(Z)return console.log(`[user-desktop] joining in-flight ensure handle=${g.handle}`),Z;let B=D(g).finally(()=>{v.delete(g.handle)});return v.set(g.handle,B),B},proxyPort(g){let O=t.get(g);if(O)O.lastUsedAt=Date.now();return O?.port??null},getDaemonToken(g){return t.get(g)?.daemonToken??null},hasHandle(g){return t.has(g)||v.has(g)},recordHit(g){let O=t.get(g);if(O)O.lastUsedAt=Date.now()},acquireDispatch(g){let O=t.get(g);if(!O)return()=>{};O.activeDispatchCount+=1;let Z=!1;return()=>{if(Z)return;Z=!0;let B=t.get(g);if(B)B.activeDispatchCount=Math.max(0,B.activeDispatchCount-1)}},listSandboxes(){return[...t.values()]},async deleteSandbox(g){let O=t.get(g);if(!O){console.log(`[user-desktop] delete handle=${g} (not found, no-op)`);return}if(O.activeDispatchCount>0){console.warn(`[user-desktop] delete handle=${g} port=${O.port} REFUSED \u2014 ${O.activeDispatchCount} active dispatch(es) in flight`);return}console.log(`[user-desktop] delete handle=${g} port=${O.port}`);try{O.process.kill("SIGTERM")}catch{}t.delete(g),$({handle:g,status:"stopped",sandboxPath:E(g),port:null,previewUrl:null,repoCloneUrl:null,branch:null,projectName:null,error:null}),w({handle:g,phase:"deleted"})},async shutdown(){console.log(`[user-desktop] shutdown \u2014 killing ${t.size} sandbox(es)`);for(let g of t.values())try{g.process.kill("SIGTERM")}catch{}t.clear()}}}function CQt(){return new Promise((i,u)=>{let t=zQt();t.unref(),t.on("error",u),t.listen(0,"127.0.0.1",()=>{let f=t.address();if(f&&typeof f==="object"){let l=f.port;t.close(()=>i(l))}else t.close(()=>u(Error("could not allocate port")))})})}var RVu=()=>{};import{randomUUID as MQt}from"crypto";import{hostname as qQt}from"os";async function CVu(i){let u=qQt()||void 0;i.monitor?.onMachine?.(u??"this machine");let t=xHu(i.dataDir,{outFd:i.logFd,perSandboxLog:i.perSandboxLogs,hotReload:i.hotReload}),f=j1i({path:k1i(i.dataDir),managedSandboxRoot:`${i.dataDir}/sandboxes`}),l=!1,c=()=>{if(l)return;l=!0;try{f.close()}catch{}};try{let E=0,$=bVu({dataDir:i.dataDir,registry:f,resolvePreviewUrl:(n,q)=>E>0?`http://${n}.localhost:${E}`:`http://127.0.0.1:${q}`,spawnDaemon:async(n)=>{let q={DAEMON_BOOT_ID:MQt(),APP_ROOT:n.workdir,PROXY_PORT:String(n.port),DAEMON_TOKEN:n.daemonToken,OFFLOAD_ALLOWED_HOSTS:n.offloadAllowedHosts.join(","),...n.offloadAllowSameHostDev?{OFFLOAD_ALLOW_SAME_HOST_DEV:"1"}:{}};if(n.orgFsConfigJson){let Y=await nHu(i.dataDir);if(Y)q.ORGFS_CONFIG=n.orgFsConfigJson,q.ORGFS_RCLONE_PATH=Y}let S=await t({workdir:n.workdir,env:q,daemonPort:n.port});return{port:n.port,kill:(Y)=>S.kill(Y),exited:S.exited.then(()=>{return})}},postConfig:async(n,q,S,Y)=>{let V={port:q};if(S.workload)V.runtime=S.workload.runtime,V.packageManager={name:S.workload.packageManager,...S.workload.packageManagerPath?{path:S.workload.packageManagerPath}:{}};let W={application:V},Ei=od(S.operator??null);if(Ei)W.operator=Ei;if(S.repo)W.git={repository:{cloneUrl:S.repo.cloneUrl,branch:S.repo.branch},...S.repo.userName&&S.repo.userEmail?{identity:{userName:S.repo.userName,userEmail:S.repo.userEmail}}:{}};await cO(`http://127.0.0.1:${n}`,Y,W)},waitForHealth:async(n)=>{await j4i(`http://127.0.0.1:${n}`)},maxSandboxes:20,onEvent:i.monitor?.onEvent}),w=await OVu({port:i.port,lookupSandboxPort:(n)=>$.proxyPort(n)});E=w.port,console.log(`Local ingress listening on http://127.0.0.1:${w.port} (use http://<handle>.localhost:${w.port}/)`),i.monitor?.onIngress?.(w.port);let d=jHu({provider:$}),_=async()=>{let n=await R2({dataDir:i.dataDir,target:i.clusterBaseUrl});if(!n)throw Object.assign(Error(`Session for ${i.clusterBaseUrl} is no longer valid \u2014 run \`deco auth login --target ${i.clusterBaseUrl}\` and restart \`deco link\`.`),{fatal:!0});return n.accessToken},v=await AVu(i.dataDir),h=process.env.npm_package_version??"0.0.0",D=await cHi(),g=xVu(D,{onChange:(n)=>{console.log(`[link-daemon] capabilities detected: +${n.join(",")} (now: ${D.join(",")})`)}}),O=mWi({path:`${i.dataDir}/link/outbox.sqlite`});O.clear();let Z=()=>{},B=new AbortController,F={clusterBaseUrl:i.clusterBaseUrl,getAccessToken:_,provider:$,outbox:O,controlHandler:d,capabilities:D,machineId:v,cliVersion:h,previewPort:w.port,onConnected:()=>{i.monitor?.onCluster?.("linked"),console.log(`Linked to ${i.clusterBaseUrl}`)},onShutdown:()=>Z(),runLifetimeSignal:B.signal};console.log(`[link-daemon] transport=tunnel cluster=${i.clusterBaseUrl}`);let y=await lVu(F);console.log("[link-daemon] active transport=tunnel");let T,U=new Promise((n)=>{T=n}),I=!1,j=async()=>{if(I)return;I=!0,B.abort(),console.log(`
80706
- Shutting down\u2026`),g();try{await y.close()}catch{}try{await w.stop()}catch{}try{await $.shutdown()}catch{}try{O.close()}catch{}c(),T(0)};process.on("SIGINT",()=>void j()),process.on("SIGTERM",()=>void j()),Z=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),j()},y.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!I)console.error("Cluster connection closed permanently; exiting."),j()});let A=WVu({provider:$,registry:f,dataDir:i.dataDir});return{stopped:U,stop:j,stopSandbox:A.stopSandbox,removeSandbox:A.removeSandbox,inspectSandbox:A.inspectSandbox}}catch(E){throw c(),E}}var MVu=N(()=>{bWi();KC();IHu();kHu();KHu();eWi();cVu();ZVu();IVu();GVu();jC();EHi();zVu();RVu()});function $Hi(i){return i.map((u)=>typeof u==="string"?u:String(u)).join(" ")}var K1i;var wHi=N(()=>{K1i={name:"decocms",version:"3.85.0",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: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","@openai/codex":"0.141.0","@openai/codex-darwin-arm64":"npm:@openai/codex@0.141.0-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.141.0-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.141.0-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.141.0-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.141.0-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.141.0-win32-x64"},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/client-sts":"^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.21.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-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",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"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var wM={};Qi(wM,{printBanner:()=>mQt,bannerLines:()=>qVu,BANNER_LINES:()=>X1i,BANNER_GRADIENT:()=>J1i});function rQt(i){let u=Number.parseInt(i.slice(1),16);return[u>>16&255,u>>8&255,u&255]}function qVu(i){let u=X1i.map((t,f)=>{let[l,c,E]=rQt(J1i[f]);return`\x1B[38;2;${l};${c};${E}m${t}\x1B[39m`});if(i!==void 0)u.push(`\x1B[2m v${i}\x1B[22m`);return u}function mQt(i){console.log("");for(let u of qVu(i))console.log(u);console.log("")}var X1i,J1i;var FY=N(()=>{X1i=[" \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 "],J1i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as eQt,Text as VVu}from"ink";import{jsx as aQt,jsxs as rVu}from"react/jsx-runtime";function S1i({version:i}){return rVu(eQt,{flexDirection:"column",marginTop:1,children:[X1i.map((u,t)=>aQt(VVu,{color:J1i[t],children:u},t)),rVu(VVu,{dimColor:!0,children:[" v",i]})]})}var dHi=N(()=>{FY()});function mVu(i){let u=i.branch??i.handle,t=[];if(i.dirtyCount>0)t.push(`${i.dirtyCount} uncommitted file${i.dirtyCount===1?"":"s"}`);if(i.merged===!1)t.push("branch not merged");return t.length>0?`\u26A0 ${t.join(", ")} \u2014 delete ${u}? (y/n)`:`Delete ${u}? (y/n)`}function yY(i){return[...i.values()].map((u)=>u.handle).sort((u,t)=>u.localeCompare(t))}function eVu(i,u,t){if(i.length===0)return null;let f=u===null?-1:i.indexOf(u);if(f===-1)return t>0?i[0]:i[i.length-1];let l=Math.max(0,Math.min(i.length-1,f+t));return i[l]}function aVu(i,u,t){if(t!==u)return t;let f=i.indexOf(u);if(f===-1)return t;return i[f+1]??i[f-1]??null}var DHi={};Qi(DHi,{subscribeLinkState:()=>_Hi,setSelectedHandle:()=>vHi,setPersistedSandboxes:()=>EHt,setPendingConfirm:()=>_M,setMachine:()=>tHt,setLogPath:()=>lHt,setLinkActions:()=>cHt,setIngress:()=>uHt,setDaemonError:()=>fHt,setClusterUrl:()=>iHt,setCluster:()=>pQt,setActionError:()=>L1i,resetLinkStateForTests:()=>wHt,removeSandboxRow:()=>hHi,pushSandboxEvent:()=>$Ht,getLinkState:()=>dM,applySandboxEvent:()=>oVu});function sQt(i){return i==="spawning"||i==="ready"||i==="failed"}function oVu(i,u){let t=new Map(i),f=t.get(u.handle);if(u.phase==="evicted"||u.phase==="deleted"){if(f)t.set(u.handle,{...f,port:null,previewUrl:null,status:"stopped",error:null});return t}return t.set(u.handle,{handle:u.handle,port:u.port??f?.port??null,previewUrl:u.previewUrl??f?.previewUrl??null,status:u.phase,error:u.phase==="failed"?u.error??"failed":null,projectName:f?.projectName??null,branch:f?.branch??null,sandboxPath:f?.sandboxPath??null}),t}function sVu(){return{cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:oQt,sandboxes:new Map,daemonError:null,logPath:null,selectedHandle:null,pendingConfirm:null,actionError:null,actions:null}}function zw(){for(let i of Y1i)i()}function dM(){return rf}function _Hi(i){return Y1i.add(i),()=>Y1i.delete(i)}function pQt(i){rf={...rf,cluster:i},zw()}function iHt(i){rf={...rf,clusterUrl:i},zw()}function uHt(i,u){rf={...rf,ingressPort:i,ingressUrl:u},zw()}function tHt(i){rf={...rf,machine:i},zw()}function fHt(i){rf={...rf,daemonError:i},zw()}function lHt(i){rf={...rf,logPath:i},zw()}function vHi(i){rf={...rf,selectedHandle:i},zw()}function _M(i){rf={...rf,pendingConfirm:i},zw()}function L1i(i){rf={...rf,actionError:i},zw()}function cHt(i){rf={...rf,actions:i},zw()}function hHi(i){let u=yY(rf.sandboxes),t=aVu(u,i,rf.selectedHandle),f=new Map(rf.sandboxes);f.delete(i),rf={...rf,sandboxes:f,selectedHandle:t,pendingConfirm:null},zw()}function EHt(i){let u=new Map;for(let t of i)u.set(t.handle,{handle:t.handle,port:t.port,previewUrl:t.previewUrl,status:t.status,error:t.error,projectName:t.projectName,branch:t.branch,sandboxPath:t.sandboxPath});for(let[t,f]of rf.sandboxes)if(sQt(f.status))u.set(t,f);rf={...rf,sandboxes:u},zw()}function $Ht(i){rf={...rf,sandboxes:oVu(rf.sandboxes,i)},zw()}function wHt(){rf=sVu(),Y1i.clear()}var oQt=20,rf,Y1i;var vM=N(()=>{rf=sVu(),Y1i=new Set});import{spawn as dHt}from"child_process";function _Ht(i){if(i==="darwin")return"open";if(i==="win32")return"start";return"xdg-open"}function pVu(i,u=process.platform){let t=_Ht(u);try{dHt(t,[i],{stdio:"ignore",detached:!0}).unref()}catch{}}var iru=()=>{};function uru(i,u={}){let t=u.openUrl??pVu,f=dM(),l=yY(f.sandboxes),c=f.selectedHandle!==null&&l.includes(f.selectedHandle)?f.selectedHandle:l[0]??null,E=f.actions;switch(i.type){case"move":vHi(eVu(l,f.selectedHandle,i.delta));return;case"open":{if(c===null)return;let $=f.sandboxes.get(c);if($?.status==="ready"&&$.previewUrl)t($.previewUrl);return}case"stop":if(c!==null&&E)E.stopSandbox(c);return;case"delete":{if(c===null||!E)return;let $=E.inspectSandbox(c),w=f.sandboxes.get(c);L1i(null),_M({handle:c,branch:$?.branch??w?.branch??null,dirtyCount:$?.dirtyCount??0,merged:$?.merged??null});return}case"confirmYes":{let $=f.pendingConfirm;if(_M(null),$===null||!E)return;E.removeSandbox($.handle).then((w)=>{if(w.ok)hHi($.handle);else L1i(w.error)});return}case"confirmNo":_M(null);return;case"quit":if(E)E.quit();return}}var tru=N(()=>{vM();iru()});function fru(i,u,t){if(t)return i==="y"||i==="Y"?{type:"confirmYes"}:{type:"confirmNo"};if(u.upArrow||i==="k")return{type:"move",delta:-1};if(u.downArrow||i==="j")return{type:"move",delta:1};if(i==="s")return{type:"stop"};if(i==="d")return{type:"delete"};if(i==="o")return{type:"open"};if(i==="q"||u.ctrl===!0&&i==="c")return{type:"quit"};return null}var lru={};Qi(lru,{LinkApp:()=>gHt});import{Box as H1,Text as cl,useInput as vHt}from"ink";import{useSyncExternalStore as hHt}from"react";import{jsx as Pf,jsxs as w5}from"react/jsx-runtime";function DHt(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};if(i.status==="stopped")return{color:"gray",text:"\u25A0 Stopped"};if(i.status==="missing")return{color:"yellow",text:"\u25A1 Missing"};if(i.status==="merged")return{color:"cyan",text:"\u2713 Merged"};if(i.status==="invalid")return{color:"red",text:"\u2717 Invalid"};if(i.status==="failed")return{color:"red",text:`\u2717 Failed: ${i.error??"failed"}`};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function gHt(){let i=hHt(_Hi,dM),u=[...i.sandboxes.values()].sort((l,c)=>l.handle.localeCompare(c.handle)),t=yY(i.sandboxes),f=i.selectedHandle!==null&&t.includes(i.selectedHandle)?i.selectedHandle:t[0]??null;return vHt((l,c)=>{let E=fru(l,c,i.pendingConfirm!==null);if(E!==null)uru(E)}),w5(H1,{flexDirection:"column",children:[Pf(S1i,{version:K1i.version}),Pf(H1,{marginBottom:1,children:Pf(cl,{dimColor:!0,children:"\u2500".repeat(80)})}),Pf(H1,{children:i.cluster==="linked"?w5(cl,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?w5(cl,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):w5(cl,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),Pf(H1,{children:i.ingressUrl?w5(cl,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):Pf(cl,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),Pf(H1,{marginBottom:1,children:Pf(cl,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${u.length} of ${i.cap} previews`})}),u.length===0?Pf(cl,{dimColor:!0,children:"No previews running yet."}):w5(H1,{flexDirection:"column",children:[w5(H1,{children:[Pf(H1,{width:2,flexShrink:0}),Pf(H1,{width:TY.project,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),Pf(H1,{width:TY.branch,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"BRANCH"})}),Pf(H1,{width:TY.status,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),Pf(H1,{flexGrow:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),u.map((l)=>{let c=DHt(l),E=l.handle===f;return w5(H1,{children:[Pf(H1,{width:2,flexShrink:0,children:Pf(cl,{color:"cyan",children:E?"\u203A":" "})}),Pf(H1,{width:TY.project,flexShrink:0,marginRight:1,children:Pf(cl,{bold:E,wrap:"truncate-end",children:l.projectName??l.handle})}),Pf(H1,{width:TY.branch,flexShrink:0,marginRight:1,children:Pf(cl,{bold:E,wrap:"truncate-end",children:l.branch??"\u2014"})}),Pf(H1,{width:TY.status,flexShrink:0,marginRight:1,children:Pf(cl,{color:c.color,bold:E,wrap:"truncate-end",children:c.text})}),Pf(H1,{flexGrow:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:l.previewUrl??"\u2014"})})]},l.handle)})]}),i.daemonError?Pf(H1,{marginTop:1,children:w5(cl,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?Pf(H1,{marginTop:1,children:w5(cl,{dimColor:!0,children:["Logs: ",i.logPath]})}):null,i.pendingConfirm?Pf(H1,{marginTop:1,children:Pf(cl,{color:"yellow",children:mVu(i.pendingConfirm)})}):null,i.actionError?Pf(H1,{marginTop:1,children:w5(cl,{color:"red",children:["\u2717 ",i.actionError]})}):null,Pf(H1,{marginTop:1,children:Pf(cl,{dimColor:!0,children:"\u2191\u2193 move \xB7 s stop \xB7 d delete \xB7 o open \xB7 q quit"})})]})}var TY;var cru=N(()=>{wHi();dHi();tru();vM();TY={project:18,branch:22,status:14}});var Eru={};Qi(Eru,{runLinkCommand:()=>UHt});import{closeSync as NHt,mkdirSync as OHt,openSync as ZHt,writeSync as BHt}from"fs";import{homedir as FHt}from"os";import{join as gHi}from"path";function yHt(i,u){let t={log:console.log,warn:console.warn,error:console.error},f=(l)=>{if(u===void 0)return;try{BHt(u,`${$Hi(l)}
80706
+ Shutting down\u2026`),g();try{await y.close()}catch{}try{await w.stop()}catch{}try{await $.shutdown()}catch{}try{O.close()}catch{}c(),T(0)};process.on("SIGINT",()=>void j()),process.on("SIGTERM",()=>void j()),Z=()=>{console.log("Disconnect requested from the Studio web UI \u2014 shutting down. Run `bunx decocms@latest link` to reconnect."),j()},y.closed.then(()=>{if(i.monitor?.onCluster?.("closed"),!I)console.error("Cluster connection closed permanently; exiting."),j()});let A=WVu({provider:$,registry:f,dataDir:i.dataDir});return{stopped:U,stop:j,stopSandbox:A.stopSandbox,removeSandbox:A.removeSandbox,inspectSandbox:A.inspectSandbox}}catch(E){throw c(),E}}var MVu=N(()=>{bWi();KC();IHu();kHu();KHu();eWi();cVu();ZVu();IVu();GVu();jC();EHi();zVu();RVu()});function $Hi(i){return i.map((u)=>typeof u==="string"?u:String(u)).join(" ")}var K1i;var wHi=N(()=>{K1i={name:"decocms",version:"3.85.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: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","@openai/codex":"0.141.0","@openai/codex-darwin-arm64":"npm:@openai/codex@0.141.0-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.141.0-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.141.0-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.141.0-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.141.0-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.141.0-win32-x64"},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/client-sts":"^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.21.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-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",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"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});var wM={};Qi(wM,{printBanner:()=>mQt,bannerLines:()=>qVu,BANNER_LINES:()=>X1i,BANNER_GRADIENT:()=>J1i});function rQt(i){let u=Number.parseInt(i.slice(1),16);return[u>>16&255,u>>8&255,u&255]}function qVu(i){let u=X1i.map((t,f)=>{let[l,c,E]=rQt(J1i[f]);return`\x1B[38;2;${l};${c};${E}m${t}\x1B[39m`});if(i!==void 0)u.push(`\x1B[2m v${i}\x1B[22m`);return u}function mQt(i){console.log("");for(let u of qVu(i))console.log(u);console.log("")}var X1i,J1i;var FY=N(()=>{X1i=[" \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 "],J1i=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});import{Box as eQt,Text as VVu}from"ink";import{jsx as aQt,jsxs as rVu}from"react/jsx-runtime";function S1i({version:i}){return rVu(eQt,{flexDirection:"column",marginTop:1,children:[X1i.map((u,t)=>aQt(VVu,{color:J1i[t],children:u},t)),rVu(VVu,{dimColor:!0,children:[" v",i]})]})}var dHi=N(()=>{FY()});function mVu(i){let u=i.branch??i.handle,t=[];if(i.dirtyCount>0)t.push(`${i.dirtyCount} uncommitted file${i.dirtyCount===1?"":"s"}`);if(i.merged===!1)t.push("branch not merged");return t.length>0?`\u26A0 ${t.join(", ")} \u2014 delete ${u}? (y/n)`:`Delete ${u}? (y/n)`}function yY(i){return[...i.values()].map((u)=>u.handle).sort((u,t)=>u.localeCompare(t))}function eVu(i,u,t){if(i.length===0)return null;let f=u===null?-1:i.indexOf(u);if(f===-1)return t>0?i[0]:i[i.length-1];let l=Math.max(0,Math.min(i.length-1,f+t));return i[l]}function aVu(i,u,t){if(t!==u)return t;let f=i.indexOf(u);if(f===-1)return t;return i[f+1]??i[f-1]??null}var DHi={};Qi(DHi,{subscribeLinkState:()=>_Hi,setSelectedHandle:()=>vHi,setPersistedSandboxes:()=>EHt,setPendingConfirm:()=>_M,setMachine:()=>tHt,setLogPath:()=>lHt,setLinkActions:()=>cHt,setIngress:()=>uHt,setDaemonError:()=>fHt,setClusterUrl:()=>iHt,setCluster:()=>pQt,setActionError:()=>L1i,resetLinkStateForTests:()=>wHt,removeSandboxRow:()=>hHi,pushSandboxEvent:()=>$Ht,getLinkState:()=>dM,applySandboxEvent:()=>oVu});function sQt(i){return i==="spawning"||i==="ready"||i==="failed"}function oVu(i,u){let t=new Map(i),f=t.get(u.handle);if(u.phase==="evicted"||u.phase==="deleted"){if(f)t.set(u.handle,{...f,port:null,previewUrl:null,status:"stopped",error:null});return t}return t.set(u.handle,{handle:u.handle,port:u.port??f?.port??null,previewUrl:u.previewUrl??f?.previewUrl??null,status:u.phase,error:u.phase==="failed"?u.error??"failed":null,projectName:f?.projectName??null,branch:f?.branch??null,sandboxPath:f?.sandboxPath??null}),t}function sVu(){return{cluster:"connecting",clusterUrl:null,ingressUrl:null,ingressPort:null,machine:null,cap:oQt,sandboxes:new Map,daemonError:null,logPath:null,selectedHandle:null,pendingConfirm:null,actionError:null,actions:null}}function zw(){for(let i of Y1i)i()}function dM(){return rf}function _Hi(i){return Y1i.add(i),()=>Y1i.delete(i)}function pQt(i){rf={...rf,cluster:i},zw()}function iHt(i){rf={...rf,clusterUrl:i},zw()}function uHt(i,u){rf={...rf,ingressPort:i,ingressUrl:u},zw()}function tHt(i){rf={...rf,machine:i},zw()}function fHt(i){rf={...rf,daemonError:i},zw()}function lHt(i){rf={...rf,logPath:i},zw()}function vHi(i){rf={...rf,selectedHandle:i},zw()}function _M(i){rf={...rf,pendingConfirm:i},zw()}function L1i(i){rf={...rf,actionError:i},zw()}function cHt(i){rf={...rf,actions:i},zw()}function hHi(i){let u=yY(rf.sandboxes),t=aVu(u,i,rf.selectedHandle),f=new Map(rf.sandboxes);f.delete(i),rf={...rf,sandboxes:f,selectedHandle:t,pendingConfirm:null},zw()}function EHt(i){let u=new Map;for(let t of i)u.set(t.handle,{handle:t.handle,port:t.port,previewUrl:t.previewUrl,status:t.status,error:t.error,projectName:t.projectName,branch:t.branch,sandboxPath:t.sandboxPath});for(let[t,f]of rf.sandboxes)if(sQt(f.status))u.set(t,f);rf={...rf,sandboxes:u},zw()}function $Ht(i){rf={...rf,sandboxes:oVu(rf.sandboxes,i)},zw()}function wHt(){rf=sVu(),Y1i.clear()}var oQt=20,rf,Y1i;var vM=N(()=>{rf=sVu(),Y1i=new Set});import{spawn as dHt}from"child_process";function _Ht(i){if(i==="darwin")return"open";if(i==="win32")return"start";return"xdg-open"}function pVu(i,u=process.platform){let t=_Ht(u);try{dHt(t,[i],{stdio:"ignore",detached:!0}).unref()}catch{}}var iru=()=>{};function uru(i,u={}){let t=u.openUrl??pVu,f=dM(),l=yY(f.sandboxes),c=f.selectedHandle!==null&&l.includes(f.selectedHandle)?f.selectedHandle:l[0]??null,E=f.actions;switch(i.type){case"move":vHi(eVu(l,f.selectedHandle,i.delta));return;case"open":{if(c===null)return;let $=f.sandboxes.get(c);if($?.status==="ready"&&$.previewUrl)t($.previewUrl);return}case"stop":if(c!==null&&E)E.stopSandbox(c);return;case"delete":{if(c===null||!E)return;let $=E.inspectSandbox(c),w=f.sandboxes.get(c);L1i(null),_M({handle:c,branch:$?.branch??w?.branch??null,dirtyCount:$?.dirtyCount??0,merged:$?.merged??null});return}case"confirmYes":{let $=f.pendingConfirm;if(_M(null),$===null||!E)return;E.removeSandbox($.handle).then((w)=>{if(w.ok)hHi($.handle);else L1i(w.error)});return}case"confirmNo":_M(null);return;case"quit":if(E)E.quit();return}}var tru=N(()=>{vM();iru()});function fru(i,u,t){if(t)return i==="y"||i==="Y"?{type:"confirmYes"}:{type:"confirmNo"};if(u.upArrow||i==="k")return{type:"move",delta:-1};if(u.downArrow||i==="j")return{type:"move",delta:1};if(i==="s")return{type:"stop"};if(i==="d")return{type:"delete"};if(i==="o")return{type:"open"};if(i==="q"||u.ctrl===!0&&i==="c")return{type:"quit"};return null}var lru={};Qi(lru,{LinkApp:()=>gHt});import{Box as H1,Text as cl,useInput as vHt}from"ink";import{useSyncExternalStore as hHt}from"react";import{jsx as Pf,jsxs as w5}from"react/jsx-runtime";function DHt(i){if(i.status==="ready")return{color:"green",text:"\u25CF Live"};if(i.status==="spawning")return{color:"yellow",text:"\u25CC Starting\u2026"};if(i.status==="stopped")return{color:"gray",text:"\u25A0 Stopped"};if(i.status==="missing")return{color:"yellow",text:"\u25A1 Missing"};if(i.status==="merged")return{color:"cyan",text:"\u2713 Merged"};if(i.status==="invalid")return{color:"red",text:"\u2717 Invalid"};if(i.status==="failed")return{color:"red",text:`\u2717 Failed: ${i.error??"failed"}`};return{color:"red",text:`\u2717 Error: ${i.error??""}`}}function gHt(){let i=hHt(_Hi,dM),u=[...i.sandboxes.values()].sort((l,c)=>l.handle.localeCompare(c.handle)),t=yY(i.sandboxes),f=i.selectedHandle!==null&&t.includes(i.selectedHandle)?i.selectedHandle:t[0]??null;return vHt((l,c)=>{let E=fru(l,c,i.pendingConfirm!==null);if(E!==null)uru(E)}),w5(H1,{flexDirection:"column",children:[Pf(S1i,{version:K1i.version}),Pf(H1,{marginBottom:1,children:Pf(cl,{dimColor:!0,children:"\u2500".repeat(80)})}),Pf(H1,{children:i.cluster==="linked"?w5(cl,{color:"green",children:["\u2713 Connected to ",i.clusterUrl??"deco"]}):i.cluster==="connecting"?w5(cl,{color:"yellow",children:["\u25CC Connecting to ",i.clusterUrl??"deco","\u2026"]}):w5(cl,{color:"red",children:["\u2717 Disconnected from ",i.clusterUrl??"deco"]})}),Pf(H1,{children:i.ingressUrl?w5(cl,{color:"green",children:["\u2713 Serving at ",i.ingressUrl]}):Pf(cl,{dimColor:!0,children:"\u25CC Starting local server\u2026"})}),Pf(H1,{marginBottom:1,children:Pf(cl,{dimColor:!0,children:`${"Computer".padEnd(16)}${i.machine??"this computer"} \xB7 ${u.length} of ${i.cap} previews`})}),u.length===0?Pf(cl,{dimColor:!0,children:"No previews running yet."}):w5(H1,{flexDirection:"column",children:[w5(H1,{children:[Pf(H1,{width:2,flexShrink:0}),Pf(H1,{width:TY.project,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"PROJECT"})}),Pf(H1,{width:TY.branch,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"BRANCH"})}),Pf(H1,{width:TY.status,flexShrink:0,marginRight:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"STATUS"})}),Pf(H1,{flexGrow:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:"PREVIEW URL"})})]}),u.map((l)=>{let c=DHt(l),E=l.handle===f;return w5(H1,{children:[Pf(H1,{width:2,flexShrink:0,children:Pf(cl,{color:"cyan",children:E?"\u203A":" "})}),Pf(H1,{width:TY.project,flexShrink:0,marginRight:1,children:Pf(cl,{bold:E,wrap:"truncate-end",children:l.projectName??l.handle})}),Pf(H1,{width:TY.branch,flexShrink:0,marginRight:1,children:Pf(cl,{bold:E,wrap:"truncate-end",children:l.branch??"\u2014"})}),Pf(H1,{width:TY.status,flexShrink:0,marginRight:1,children:Pf(cl,{color:c.color,bold:E,wrap:"truncate-end",children:c.text})}),Pf(H1,{flexGrow:1,children:Pf(cl,{dimColor:!0,wrap:"truncate-end",children:l.previewUrl??"\u2014"})})]},l.handle)})]}),i.daemonError?Pf(H1,{marginTop:1,children:w5(cl,{color:"red",children:["\u26A0 ",i.daemonError]})}):null,i.logPath?Pf(H1,{marginTop:1,children:w5(cl,{dimColor:!0,children:["Logs: ",i.logPath]})}):null,i.pendingConfirm?Pf(H1,{marginTop:1,children:Pf(cl,{color:"yellow",children:mVu(i.pendingConfirm)})}):null,i.actionError?Pf(H1,{marginTop:1,children:w5(cl,{color:"red",children:["\u2717 ",i.actionError]})}):null,Pf(H1,{marginTop:1,children:Pf(cl,{dimColor:!0,children:"\u2191\u2193 move \xB7 s stop \xB7 d delete \xB7 o open \xB7 q quit"})})]})}var TY;var cru=N(()=>{wHi();dHi();tru();vM();TY={project:18,branch:22,status:14}});var Eru={};Qi(Eru,{runLinkCommand:()=>UHt});import{closeSync as NHt,mkdirSync as OHt,openSync as ZHt,writeSync as BHt}from"fs";import{homedir as FHt}from"os";import{join as gHi}from"path";function yHt(i,u){let t={log:console.log,warn:console.warn,error:console.error},f=(l)=>{if(u===void 0)return;try{BHt(u,`${$Hi(l)}
80707
80707
  `)}catch{}};return console.log=(...l)=>f(l),console.warn=(...l)=>f(l),console.error=(...l)=>{f(l),i($Hi(l))},()=>{console.log=t.log,console.warn=t.warn,console.error=t.error}}async function THt(i,u){let t;try{t=await fetch(`${i}/api/links/me`,{headers:{authorization:`Bearer ${u}`},signal:AbortSignal.timeout(1e4)})}catch{return}if(t.status===401||t.status===403)throw Error(`Authentication rejected by ${i} \u2014 the session token was not accepted. `+`Run \`deco auth login --target ${i}\` and try again.`)}async function UHt(i={}){let u=i.port??5174,t=i.dataDir??process.env.DATA_DIR??process.env.DECOCMS_HOME??gHi(FHt(),"deco"),f=i.clusterBaseUrl??process.env.MESH_CLUSTER_URL??"https://studio.decocms.com",l,c,E,$=()=>{if(E===void 0)return;try{E.close()}catch{}finally{E=void 0}};try{let w=gHi(t,"sandboxes");E=j1i({path:k1i(t),managedSandboxRoot:w});let d=await A4i({dataDir:t,intent:"Link",target:f});if(process.env.DECOCMS_LINK_MANAGED!=="1")await THt(f,d.accessToken);let _=E.reconcile();if(i.prune){let g=E.prune({missing:!0,merged:!0});if(!i.tui)console.log(`Pruned local sandboxes: removed ${g.removed.length}, skipped ${g.skipped.length}.`);_=E.reconcile()}let v;if(i.tui){let{render:g}=await import("ink"),{createElement:O}=await import("react"),{LinkApp:Z}=await Promise.resolve().then(() => (cru(),lru)),{pushSandboxEvent:B,setCluster:F,setClusterUrl:y,setDaemonError:T,setIngress:U,setLogPath:I,setMachine:j,setPersistedSandboxes:A}=await Promise.resolve().then(() => (vM(),DHi));OHt(t,{recursive:!0});let n=gHi(t,"link.log");c=ZHt(n,"w"),I(n),A(_),y(f),F("connecting"),v={onEvent:(q)=>B(q),onIngress:(q)=>U(q,`http://127.0.0.1:${q}`),onCluster:(q)=>F(q),onMachine:(q)=>j(q)},l=yHt(T,c),g(O(Z),{patchConsole:!1})}else if(i.banner!==!1){let{printBanner:g}=await Promise.resolve().then(() => (FY(),wM));g(i.version??"0.0.0")}$();let h=process.env.DECOCMS_LINK_MANAGED!=="1",D=await CVu({port:u,clusterBaseUrl:f,dataDir:t,session:d,monitor:v,logFd:c,perSandboxLogs:h,hotReload:i.hotReload});if(i.tui){let{setLinkActions:g}=await Promise.resolve().then(() => (vM(),DHi));g({stopSandbox:D.stopSandbox,removeSandbox:D.removeSandbox,inspectSandbox:D.inspectSandbox,quit:D.stop})}return await D.stopped}catch(w){return l?.(),console.error(w instanceof Error?w.message:String(w)),1}finally{if(l?.(),c!==void 0)try{NHt(c)}catch{}$()}}var $ru=N(()=>{HWi();MVu();EHi()});var yHi={};Qi(yHi,{resolveDevLinkClusterUrl:()=>AHt,populateDevLinkToxiProxy:()=>Dru,isDevLinkToxiProxyEnabled:()=>IHt,ensureDevLinkToxiProxy:()=>KHt,buildDevLinkToxiProxyConfig:()=>vru,DEV_LINK_TOXIPROXY_SERVICE_NAME:()=>dru,DEV_LINK_TOXIPROXY_PROXY_NAME:()=>_ru});function IHt(i=process.env){return i.DECO_DEV_LINK_TOXIPROXY==="1"}function NHi(i,u){if(!Number.isInteger(i)||i<1||i>65535)throw Error(`${u} must be an integer port in 1..65535`);return i}function vru(i){let u=new URL(i.serverUrl);if(u.protocol!=="http:")throw Error("DECO_DEV_LINK_TOXIPROXY only supports http local Studio URLs");let t=NHi(i.apiPort,"apiPort"),f=NHi(i.listenPort,"listenPort");if(u.port.length===0)throw Error("serverUrl must include an explicit valid port");let l=NHi(Number.parseInt(u.port,10),"upstreamPort"),c=`http://127.0.0.1:${l}`,E=`http://127.0.0.1:${f}`;return{serviceName:dru,proxyName:_ru,apiUrl:`http://127.0.0.1:${t}`,listen:`0.0.0.0:${f}`,upstream:`host.docker.internal:${l}`,publicTargetUrl:c,clusterUrl:E,logLine:`[dev-link-toxiproxy] ready: ${E} -> ${c}`}}function AHt(i){return i.toxiproxy?.clusterUrl??i.serverUrl}async function OHi(i,u,t){if(i.ok)return;let f=await i.text();throw Error(`ToxiProxy ${u} failed for ${t}: status=${i.status} statusText=${i.statusText} body=${f}`)}function FHi(i){if(i instanceof Error)return i.name==="Error"?i.message:`${i.name}: ${i.message}`;return String(i)}function hru(i){if(!(i instanceof Error))return!1;if(i.name==="TimeoutError")return!0;return hru(i.cause)}async function ZHi(i,u,t,f){try{return await i(t,f)}catch(l){throw Error(`ToxiProxy ${u} failed for ${t}: ${FHi(l)}`,{cause:l})}}async function Dru(i,u=fetch){let t=`${i.apiUrl}/reset`,f=await ZHi(u,"reset",t,{method:"POST"});await OHi(f,"reset",t);let l=`${i.apiUrl}/populate`,c=await ZHi(u,"populate",l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify([{name:i.proxyName,listen:i.listen,upstream:i.upstream,enabled:!0}])});await OHi(c,"populate",l)}async function GHt(i,u){let t=`${i.apiUrl}/version`;try{await ic(async()=>{let f=await ZHi(u,"readiness check",t,{method:"GET",signal:AbortSignal.timeout(xHt)});await OHi(f,"readiness check",t)},{maxAttempts:PHt,minTimeout:wru,maxTimeout:wru,multiplier:1,jitter:0,isRetriable:(f)=>!hru(f)})}catch(f){let l=f instanceof qc?f.cause:f;throw Error(`ToxiProxy API did not become ready at ${t}: ${FHi(l)}`,{cause:l})}}async function nHt(i){if(i===null)return"";return await new Response(i).text()}async function BHi(i,u={}){let t=["docker",...i].join(" "),f=(()=>{try{return Bun.spawn(["docker",...i],{stdout:"ignore",stderr:"pipe"})}catch($){throw Error(`Docker command failed to start (${t}): ${FHi($)}`,{cause:$})}})(),[l,c]=await Promise.all([f.exited,nHt(f.stderr)]);if(l===0||u.ignoreFailure===!0)return;let E=c.trim().length>0?`: ${c.trim()}`:"";throw Error(`Docker command failed (${t}) with exit ${l}${E}`)}async function kHt(i,u){let t=`deco-dev-link-toxiproxy-${i}`;await BHi(["rm","-f",t],{ignoreFailure:!0}),await BHi(["run","--rm","-d","--name",t,"-p",`127.0.0.1:${i}:8474`,"-p",`127.0.0.1:${u}:${u}`,"ghcr.io/shopify/toxiproxy:2.12.0","-host=0.0.0.0"])}async function jHt(i,u){let t=`deco-dev-link-toxiproxy-${i}`;await BHi(["rm","-f",t],{ignoreFailure:!0})}async function KHt(i){let u=vru(i),t=i.startDaemon??kHt,f=i.stopDaemon??(i.startDaemon===void 0?jHt:void 0);await t(i.apiPort,i.listenPort);let l=i.fetchImpl??fetch;try{await GHt(u,l),await Dru(u,l)}catch(c){if(f!==void 0)try{await f(i.apiPort,i.listenPort)}catch{}throw c}return{config:u,stop:async()=>{if(f!==void 0)await f(i.apiPort,i.listenPort)}}}var dru="ToxiProxy",_ru="dev_link_studio",PHt=20,wru=100,xHt=100;var THi=N(()=>{Wl()});var gru={};Qi(gru,{migrateBetterAuth:()=>UHi});import{getMigrations as XHt}from"better-auth/db";import{sso as JHt}from"@better-auth/sso";import{organization as SHt}from"@decocms/better-auth/plugins";import{admin as YHt,apiKey as LHt,jwt as WHt,magicLink as zHt,mcp as QHt,openAPI as HHt}from"better-auth/plugins";import{emailOTP as bHt}from"better-auth/plugins/email-otp";async function UHi(i){let t={database:xC(i||z2()),plugins:[SHt({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),YHt(),LHt(),WHt(),HHt(),QHt({loginPage:"/login"}),JHt(),zHt({sendMagicLink:async()=>{}}),bHt({sendVerificationOTP:async()=>{}})]},{toBeAdded:f,toBeCreated:l,runMigrations:c}=await XHt(t);if(!f.length&&!l.length)return"up to date";return await c(),`${l.length+f.length} table(s) migrated`}var PHi=N(()=>{zE()});var xHi={};Qi(xHi,{up:()=>RHt,down:()=>CHt});import{sql as V_}from"kysely";async function RHt(i){await i.schema.createTable("connections").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(u)=>u.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(u)=>u.notNull()).addColumn("connectionUrl","text",(u)=>u.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(u)=>u.notNull().defaultTo("active")).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("api_keys").addColumn("id","text",(u)=>u.primaryKey()).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(u)=>u.notNull()).addColumn("hashedKey","text",(u)=>u.notNull().unique()).addColumn("permissions","text",(u)=>u.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("audit_logs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(u)=>u.references("user.id").onDelete("set null")).addColumn("connectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("toolName","text",(u)=>u.notNull()).addColumn("allowed","integer",(u)=>u.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createTable("oauth_clients").addColumn("id","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(u)=>u.notNull()).addColumn("redirectUris","text",(u)=>u.notNull()).addColumn("grantTypes","text",(u)=>u.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_authorization_codes").addColumn("code","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(u)=>u.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(u)=>u.notNull()).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(u)=>u.primaryKey()).addColumn("clientId","text",(u)=>u.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("downstream_tokens").addColumn("id","text",(u)=>u.primaryKey()).addColumn("connectionId","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(u)=>u.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(u)=>u.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(V_`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function CHt(i){await i.schema.dropTable("downstream_tokens").execute(),await i.schema.dropTable("oauth_refresh_tokens").execute(),await i.schema.dropTable("oauth_authorization_codes").execute(),await i.schema.dropTable("oauth_clients").execute(),await i.schema.dropTable("audit_logs").execute(),await i.schema.dropTable("api_keys").execute(),await i.schema.dropTable("connections").execute()}var Nru=()=>{};var IHi={};Qi(IHi,{up:()=>MHt,down:()=>qHt});import{sql as Oru}from"kysely";async function MHt(i){await i.schema.createTable("organization_settings").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(u)=>u.notNull().defaultTo(Oru`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(u)=>u.notNull().defaultTo(Oru`CURRENT_TIMESTAMP`)).execute()}async function qHt(i){await i.schema.dropTable("organization_settings").execute()}var Zru=()=>{};var AHi={};Qi(AHi,{up:()=>VHt,down:()=>rHt});async function VHt(i){await i.schema.alterTable("connections").renameColumn("name","title").execute(),await i.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await i.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await i.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await i.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await i.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await i.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await i.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await i.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await i.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await i.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await i.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function rHt(i){await i.schema.alterTable("connections").renameColumn("title","name").execute(),await i.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await i.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await i.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await i.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await i.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await i.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await i.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await i.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await i.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await i.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await i.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var GHi={};Qi(GHi,{up:()=>mHt,down:()=>eHt});async function mHt(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(u)=>u.notNull()).addColumn("updatedAt","text",(u)=>u.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((u)=>u.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function eHt(i){await i.schema.createTable("organization_settings_new").addColumn("organizationId","text",(u)=>u.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(u)=>u.notNull()).addColumn("updatedAt","text",(u)=>u.notNull()).execute(),await i.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((u)=>u.selectFrom("organization_settings").select(["organizationId",u.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await i.schema.dropTable("organization_settings").execute(),await i.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var nHi={};Qi(nHi,{up:()=>aHt,down:()=>oHt});async function aHt(i){await i.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await i.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function oHt(i){await i.schema.alterTable("connections").dropColumn("configuration_state").execute(),await i.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var kHi={};Qi(kHi,{up:()=>pHt,down:()=>ibt});import{sql as sHt}from"kysely";async function pHt(i){await i.schema.alterTable("organization_settings").addColumn("sidebar_items",sHt`text`).execute()}async function ibt(i){await i.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Bru=()=>{};var jHi={};Qi(jHi,{up:()=>ubt,down:()=>tbt});async function ubt(i){await i.schema.createTable("monitoring_logs").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(u)=>u.notNull()).addColumn("tool_name","text",(u)=>u.notNull()).addColumn("input","text",(u)=>u.notNull()).addColumn("output","text",(u)=>u.notNull()).addColumn("is_error","integer",(u)=>u.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(u)=>u.notNull()).addColumn("timestamp","text",(u)=>u.notNull()).addColumn("user_id","text").addColumn("request_id","text",(u)=>u.notNull()).execute(),await i.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await i.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function tbt(i){await i.schema.dropIndex("monitoring_logs_is_error").execute(),await i.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await i.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await i.schema.dropTable("monitoring_logs").execute()}var KHi={};Qi(KHi,{up:()=>fbt,down:()=>lbt});import{sql as hM}from"kysely";async function fbt(i){await i.schema.createTable("events").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(u)=>u.notNull()).addColumn("source","text",(u)=>u.notNull()).addColumn("specversion","text",(u)=>u.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(u)=>u.notNull()).addColumn("datacontenttype","text",(u)=>u.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(u)=>u.notNull().defaultTo("pending")).addColumn("attempts","integer",(u)=>u.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(hM`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(hM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_subscriptions").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(u)=>u.notNull()).addColumn("filter","text").addColumn("enabled","integer",(u)=>u.notNull().defaultTo(1)).addColumn("created_at","text",(u)=>u.notNull().defaultTo(hM`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(hM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createTable("event_deliveries").addColumn("id","text",(u)=>u.primaryKey()).addColumn("event_id","text",(u)=>u.notNull()).addColumn("subscription_id","text",(u)=>u.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(u)=>u.notNull().defaultTo("pending")).addColumn("attempts","integer",(u)=>u.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(hM`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await i.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await i.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await i.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await i.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await i.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await i.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await i.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await i.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await i.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function lbt(i){await i.schema.dropIndex("idx_deliveries_retry").execute(),await i.schema.dropIndex("idx_deliveries_subscription_status").execute(),await i.schema.dropIndex("idx_deliveries_event").execute(),await i.schema.dropIndex("idx_subscriptions_unique").execute(),await i.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await i.schema.dropIndex("idx_subscriptions_type").execute(),await i.schema.dropIndex("idx_subscriptions_connection").execute(),await i.schema.dropIndex("idx_events_retry").execute(),await i.schema.dropIndex("idx_events_type").execute(),await i.schema.dropIndex("idx_events_source").execute(),await i.schema.dropIndex("idx_events_org_status").execute(),await i.schema.dropTable("event_deliveries").execute(),await i.schema.dropTable("event_subscriptions").execute(),await i.schema.dropTable("events").execute()}var Fru=()=>{};var XHi={};Qi(XHi,{up:()=>Ebt,down:()=>$bt});import{sql as cbt}from"kysely";async function Ebt(i){await i.schema.dropTable("audit_logs").ifExists().execute()}async function $bt(i){await i.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(u)=>u.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(u)=>u.references("user.id").onDelete("set null")).addColumn("connectionId","text",(u)=>u.references("connections.id").onDelete("set null")).addColumn("toolName","text",(u)=>u.notNull()).addColumn("allowed","integer",(u)=>u.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(u)=>u.notNull().defaultTo(cbt`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await i.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await i.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await i.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var yru=()=>{};var JHi={};Qi(JHi,{up:()=>wbt,down:()=>dbt});import{sql as W1i}from"kysely";async function wbt(i){await i.schema.createTable("gateways").addColumn("id","text",(u)=>u.primaryKey()).addColumn("organization_id","text",(u)=>u.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(u)=>u.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(u)=>u.notNull().defaultTo("active")).addColumn("is_default","integer",(u)=>u.notNull().defaultTo(0)).addColumn("created_at","text",(u)=>u.notNull().defaultTo(W1i`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(u)=>u.notNull().defaultTo(W1i`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(u)=>u.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await i.schema.createTable("gateway_connections").addColumn("id","text",(u)=>u.primaryKey()).addColumn("gateway_id","text",(u)=>u.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(W1i`CURRENT_TIMESTAMP`)).execute(),await i.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await i.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await W1i`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(i),await i.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await i.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function dbt(i){await i.schema.dropIndex("idx_gateway_connections_unique").execute(),await i.schema.dropIndex("idx_gateway_connections_connection").execute(),await i.schema.dropIndex("idx_gateway_connections_gateway").execute(),await i.schema.dropIndex("idx_gateways_default_per_org").execute(),await i.schema.dropIndex("idx_gateways_org_status").execute(),await i.schema.dropIndex("idx_gateways_org").execute(),await i.schema.dropTable("gateway_connections").execute(),await i.schema.dropTable("gateways").execute()}var Tru=()=>{};var SHi={};Qi(SHi,{up:()=>_bt,down:()=>vbt});async function _bt(i){await i.schema.alterTable("gateways").addColumn("icon","text").execute()}async function vbt(i){await i.schema.alterTable("gateways").dropColumn("icon").execute()}var YHi={};Qi(YHi,{up:()=>hbt,down:()=>Dbt});import{sql as z1i}from"kysely";async function hbt(i){await i.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(u)=>u.notNull().defaultTo("inclusion")).execute(),await z1i`
80708
80708
  UPDATE gateways
80709
80709
  SET tool_selection_mode = CASE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "3.85.0",
3
+ "version": "3.85.1",
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{c as st,j as e,B as mt}from"./index-BOEUnQ16.js";import{i as lt}from"./XCircle-DLfZ2b5u.js";import{U as pt}from"./agent-icon-DpZrOqHC.js";import{I as tt}from"./input-Dpm-wjc8.js";import{L as et}from"./label-C11ohVz9.js";import{as as at,at as nt,aB as ct,au as ft}from"./index-BtDGPznl.js";import{u as dt,s as M,I as gt}from"./primitives-BT8lOwN-.js";import{S as ut}from"./save-status-DD-9wzkt.js";import{a as xt,B as ht,b as yt}from"./block-document-DIn-g_CF.js";import"./AlertCircle-kSb-Qf9n.js";import"./Tool01-CyHE87a1.js";import"./SwitchHorizontal01-BJs9_RSs.js";import"./Settings02-CDqbYNx0.js";import"./ArrowUpRight-DO7qF3FR.js";import"./ZapSquare-7E5PpjYg.js";import"./Users03-BCQ19tMn.js";import"./CheckCircle-D6EE7Hmb.js";import"./ChevronUp-CYHUjSzO.js";import"./ChevronDown-B7wZ2dhC.js";import"./ChevronLeft-w56H85iU.js";import"./ChevronRight-BoaGhbkW.js";import"./DotsVertical-j1hNgjaQ.js";import"./Stars02-DXNdBxv2.js";import"./Eye-BBp7OFME.js";import"./ZoomOut-Cf_cVqP_.js";import"./Globe01-BPaIp2G4.js";import"./FilterLines-DplcErOH.js";import"./Star01-CNNNcPDW.js";import"./Globe04-BXv8f1DJ.js";import"./HardDrive-Cgonccxa.js";import"./Key01-amtVh9Pr.js";import"./LayoutLeft-bKhOA729.js";import"./LinkExternal01-_D0rcHDt.js";import"./Monitor01-BZ-_RPko.js";import"./Sun-DhFcEKDD.js";import"./Palette-EgKDa0_1.js";import"./Play-DuG-6BxB.js";import"./Plus-Bzf3CZgl.js";import"./SearchMd-DpMSIAeq.js";import"./Shield01-CjRICO_s.js";import"./Stars01-C8ysp7a4.js";import"./Trash01-cuwi9yy2.js";import"./Upload01-Cwtbh8sn.js";import"./User01-DqBopRvD.js";import"./Users01-Y-KIXecC.js";import"./XClose-BMo1vUt2.js";import"./X-CAV77AV6.js";import"./Zap-QgQiv5aC.js";import"./index-hyUxIDvS.js";import"./chat-context-D-LKEDCk.js";import"./hooks-BqHMEBso.js";import"./use-mcp-client-Da9sRmnt.js";import"./auth-VPD4Z7uj.js";import"./decopilot-sse-pool-ml_VBwzU.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./use-virtual-mcp-BI80r96t.js";import"./use-collections-3DlhnXiC.js";import"./use-ai-providers-yJM6WuqN.js";import"./studio-tools-DqnmzWTT.js";import"./tab-id-BptcWVWa.js";import"./use-organization-settings-BCuQxu_g.js";import"./scroll-area-BzQVputN.js";import"./use-clock-tick-Bot0OsMN.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CcxJwita.js";import"./tooltip-C73vGx59.js";import"./file-type-icon-Pm9PbUF4.js";import"./dialog-B30hErlE.js";import"./content-blocks-o63cs2vh.js";import"./types-DO14PvKA.js";import"./shell-layout-CV0GLE78.js";import"./avatar-BilFqnob.js";import"./required-auth-layout-DO6Nx9kv.js";import"./use-org-sso-B6kdlgAy.js";import"./sheet-DLBJgbkz.js";import"./integration-icon-BUHEF2ai.js";import"./use-navigate-to-agent-xTXQLL0h.js";import"./use-connection-BiUFPmfA.js";import"./use-mcp-prompts-BR2gK5kG.js";import"./form-MhNC6i_S.js";import"./select-CsnP3MmZ.js";import"./drawer-Bj3LFkPG.js";import"./collection-search-D5rZ-51v.js";import"./tabs-DEhvH9u3.js";import"./toggle-group-Bx5PBwdQ.js";import"./sortable.esm-Dmt85o3z.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-D_O9kugK.js";import"./use-registry-connections-Dma9pkbk.js";import"./useInfiniteQuery-qXZpzYgW.js";import"./use-infinite-scroll-D_WRvqma.js";import"./extract-connection-data-DrZwJcIT.js";import"./card-BupjtJkr.js";import"./collection-tabs-B0DaNRfG.js";import"./badge-CnhOrtd9.js";import"./textarea--_U2p1mn.js";import"./connection-form-helpers-DU4oKsTL.js";import"./authenticate-and-persist-oauth-Dji1uo75.js";import"./mcp-oauth-DWd1pMWO.js";import"./useSuspenseInfiniteQuery-8AoK9WIm.js";import"./connect-desktop-dialog-CxAamCFt.js";import"./decopilot-DhIm-t3i.js";import"./checkbox-DvYZyWAu.js";import"./skeleton-BX3snBo3.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BKFAq9Na.js";import"./popover-B9SXnqeu.js";import"./command-DzaJUoKq.js";import"./index-DrV1JIHB.js";import"./dropdown-menu-5g8UZmyj.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-JpgLlu6G.js";import"./empty-state-DWNpCwVC.js";import"./toolbar-DSevsKah.js";import"./preview-dialog-C6zO3v13.js";import"./index-B76DB1P0.js";import"./use-mcp-tools-BxfXWcZE.js";import"./use-capability-ChkIe373.js";import"./shell-route-loading-8TPt5XME.js";import"./index-DdNGdbnY.js";import"./alert-dialog-7ikXnuZZ.js";import"./switch-BmATXWHQ.js";import"./use-debounced-autosave-DSFTYcH3.js";import"./index-AbZbF42n.js";import"./sidebar-9Hq5AiMq.js";import"./search-input-C_LdLAhh.js";import"./github-repo-picker-Cs40-k2n.js";import"./use-secrets-MPq-p0HU.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-BU7s5ppH.js";import"./automation-runs-Yfeb4HlH.js";import"./table-R8mTvnKd.js";import"./use-members-BIa_9h_X.js";import"./use-org-auth-client-BDAU6HTq.js";import"./task-status-CfLGns02.js";import"./use-automations-bWic0132.js";import"./use-file-configs-Dqlf9DaL.js";import"./monaco-editor-7djoupdn.js";import"./select-model-o0S7EeOg.js";import"./automation-list-row-z5t76XbP.js";function Yi(it){const t=st.c(87),{orgSlug:l,virtualMcpId:p,branch:a,blockKey:z,block:G,decofile:H,meta:O,onManagePosts:Q}=it;let F;t[0]!==a||t[1]!==l||t[2]!==p?(F={orgSlug:l,virtualMcpId:p,branch:a},t[0]=a,t[1]=l,t[2]=p,t[3]=F):F=t[3];const m=at(F);let U;t[4]!==G?(U=nt(G,"categories"),t[4]=G,t[5]=U):U=t[5];const ot=U;let D;t[6]!==z||t[7]!==m?(D=o=>{m.mutate({blockKey:z,data:ft(z,"categories",o)})},t[6]=z,t[7]=m,t[8]=D):D=t[8];const[i,V]=dt(ot,D);let L;t[9]!==i||t[10]!==V?(L=(o,rt)=>V({...i,[o]:rt}),t[9]=i,t[10]=V,t[11]=L):L=t[11];const r=L;let s,R;t[12]!==i.slug||t[13]!==H?(s=M(i.slug),R=s?ct(H).filter(o=>o.categorySlugs.includes(s)).length:0,t[12]=i.slug,t[13]=H,t[14]=s,t[15]=R):(s=t[14],R=t[15]);const T=R;let n;t[16]!==i.name?(n=M(i.name)||"Untitled category",t[16]=i.name,t[17]=n):n=t[17];let c;t[18]!==n?(c=e.jsx("span",{className:"truncate text-sm font-medium",children:n}),t[18]=n,t[19]=c):c=t[19];let f;t[20]!==m.isError||t[21]!==m.isPending?(f=e.jsx(ut,{isPending:m.isPending,isError:m.isError}),t[20]=m.isError,t[21]=m.isPending,t[22]=f):f=t[22];let d;t[23]!==c||t[24]!==f?(d=e.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between border-b px-6",children:[c,f]}),t[23]=c,t[24]=f,t[25]=d):d=t[25];let g;t[26]!==i.name?(g=M(i.name),t[26]=i.name,t[27]=g):g=t[27];let u;t[28]!==r?(u=o=>r("name",o),t[28]=r,t[29]=u):u=t[29];let x;t[30]!==g||t[31]!==u?(x=e.jsx(gt,{value:g,onChange:u,placeholder:"Category name",className:"py-1 text-3xl font-bold text-foreground"}),t[30]=g,t[31]=u,t[32]=x):x=t[32];let $;t[33]===Symbol.for("react.memo_cache_sentinel")?($=e.jsx(et,{htmlFor:"category-slug",children:"Slug"}),t[33]=$):$=t[33];let h;t[34]!==i.slug?(h=M(i.slug),t[34]=i.slug,t[35]=h):h=t[35];let y;t[36]!==r?(y=o=>r("slug",o.target.value),t[36]=r,t[37]=y):y=t[37];let j;t[38]!==h||t[39]!==y?(j=e.jsxs("div",{className:"mt-4 space-y-2",children:[$,e.jsx(tt,{id:"category-slug",value:h,onChange:y,placeholder:"my-category",className:"h-10"})]}),t[38]=h,t[39]=y,t[40]=j):j=t[40];let A;t[41]===Symbol.for("react.memo_cache_sentinel")?(A=e.jsx(et,{htmlFor:"category-description",children:"Description"}),t[41]=A):A=t[41];let b;t[42]!==i.description?(b=M(i.description),t[42]=i.description,t[43]=b):b=t[43];let v;t[44]!==r?(v=o=>r("description",o.target.value),t[44]=r,t[45]=v):v=t[45];let N;t[46]!==b||t[47]!==v?(N=e.jsxs("div",{className:"mt-4 space-y-2",children:[A,e.jsx(tt,{id:"category-description",value:b,onChange:v,placeholder:"Short description for this category",className:"h-10"})]}),t[46]=b,t[47]=v,t[48]=N):N=t[48];let J;t[49]===Symbol.for("react.memo_cache_sentinel")?(J=e.jsx(pt,{size:16,className:"shrink-0 text-muted-foreground"}),t[49]=J):J=t[49];const X=T===1?"post":"posts";let S;t[50]!==T||t[51]!==X?(S=e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[J,e.jsxs("span",{className:"text-sm",children:[T," ",X," in this category"]})]}),t[50]=T,t[51]=X,t[52]=S):S=t[52];const Y=!s,Z=s?"Jump to the posts list filtered by this category":"Set a slug to manage this category's posts";let B;t[53]!==Q||t[54]!==s?(B=()=>Q(s),t[53]=Q,t[54]=s,t[55]=B):B=t[55];let K;t[56]===Symbol.for("react.memo_cache_sentinel")?(K=e.jsx(lt,{size:14}),t[56]=K):K=t[56];let k;t[57]!==Y||t[58]!==Z||t[59]!==B?(k=e.jsxs(mt,{type:"button",variant:"outline",size:"sm",disabled:Y,title:Z,onClick:B,children:["Manage posts",K]}),t[57]=Y,t[58]=Z,t[59]=B,t[60]=k):k=t[60];let _;t[61]!==S||t[62]!==k?(_=e.jsxs("div",{className:"mt-6 flex items-center justify-between gap-3 rounded-lg border bg-muted/30 px-4 py-3",children:[S,k]}),t[61]=S,t[62]=k,t[63]=_):_=t[63];let W;t[64]===Symbol.for("react.memo_cache_sentinel")?(W=e.jsx("div",{className:"mt-6 border-t"}),t[64]=W):W=t[64];let C;t[65]!==i.sections?(C=xt(i.sections),t[65]=i.sections,t[66]=C):C=t[66];let P;t[67]!==r?(P=o=>r("sections",o),t[67]=r,t[68]=P):P=t[68];let E;t[69]!==O||t[70]!==C||t[71]!==P?(E=e.jsx(ht,{value:C,onChange:P,meta:O,emptyMessage:"This category has no content yet. Use ⊕ to add your first block."}),t[69]=O,t[70]=C,t[71]=P,t[72]=E):E=t[72];let w;t[73]!==x||t[74]!==j||t[75]!==N||t[76]!==_||t[77]!==E?(w=e.jsx("div",{className:"min-w-0 flex-1 overflow-y-auto",children:e.jsxs("div",{className:"mx-auto max-w-3xl px-8 py-8",children:[x,j,N,_,W,E]})}),t[73]=x,t[74]=j,t[75]=N,t[76]=_,t[77]=E,t[78]=w):w=t[78];let I;t[79]!==w||t[80]!==d?(I=e.jsxs("div",{className:"flex h-full flex-col",children:[d,w]}),t[79]=w,t[80]=d,t[81]=I):I=t[81];let q;return t[82]!==a||t[83]!==l||t[84]!==I||t[85]!==p?(q=e.jsx(yt,{orgSlug:l,virtualMcpId:p,branch:a,children:I}),t[82]=a,t[83]=l,t[84]=I,t[85]=p,t[86]=q):q=t[86],q}export{Yi as CategoryEditor};
@@ -1 +0,0 @@
1
- import{c as S,r as R,l as ae,j as n,B as Y,i as je,K as P,k as ie,m as Me,a as we,u as Ke,b as Ee,n as qe,d as Ie,o as Te,Q as He,E as Be,p as _e,L as Fe}from"./index-BOEUnQ16.js";import{A as Qe}from"./auth-entry-DPPMuSzX.js";import{A as O}from"./auth-split-layout-YO1B7axf.js";import{O as Se}from"./organization-choice-BBNm1Zea.js";import{f as We}from"./tab-id-BptcWVWa.js";import{I as Ge}from"./input-Dpm-wjc8.js";import{u as ve,W as Re,S as Oe,g as Ye,C as Ve}from"./use-mcp-client-Da9sRmnt.js";import{i as ke}from"./XCircle-DLfZ2b5u.js";import{I as Ze}from"./integration-icon-BUHEF2ai.js";import{i as ze}from"./CheckCircle-D6EE7Hmb.js";import{g as Je,c as Xe,e as et}from"./extract-connection-data-DrZwJcIT.js";import{a as tt}from"./authenticate-and-persist-oauth-Dji1uo75.js";import{i as Le}from"./ArrowUpRight-DO7qF3FR.js";import{s as $e}from"./User01-DqBopRvD.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./avatar-BilFqnob.js";import"./auth-VPD4Z7uj.js";import"./agent-icon-DpZrOqHC.js";import"./AlertCircle-kSb-Qf9n.js";import"./Tool01-CyHE87a1.js";import"./SwitchHorizontal01-BJs9_RSs.js";import"./Settings02-CDqbYNx0.js";import"./ZapSquare-7E5PpjYg.js";import"./Users03-BCQ19tMn.js";import"./ChevronUp-CYHUjSzO.js";import"./ChevronDown-B7wZ2dhC.js";import"./ChevronLeft-w56H85iU.js";import"./ChevronRight-BoaGhbkW.js";import"./DotsVertical-j1hNgjaQ.js";import"./Stars02-DXNdBxv2.js";import"./Eye-BBp7OFME.js";import"./ZoomOut-Cf_cVqP_.js";import"./Globe01-BPaIp2G4.js";import"./FilterLines-DplcErOH.js";import"./Star01-CNNNcPDW.js";import"./Globe04-BXv8f1DJ.js";import"./HardDrive-Cgonccxa.js";import"./Key01-amtVh9Pr.js";import"./LayoutLeft-bKhOA729.js";import"./LinkExternal01-_D0rcHDt.js";import"./Monitor01-BZ-_RPko.js";import"./Sun-DhFcEKDD.js";import"./Palette-EgKDa0_1.js";import"./Play-DuG-6BxB.js";import"./Plus-Bzf3CZgl.js";import"./SearchMd-DpMSIAeq.js";import"./Shield01-CjRICO_s.js";import"./Stars01-C8ysp7a4.js";import"./Trash01-cuwi9yy2.js";import"./Upload01-Cwtbh8sn.js";import"./Users01-Y-KIXecC.js";import"./XClose-BMo1vUt2.js";import"./X-CAV77AV6.js";import"./Zap-QgQiv5aC.js";import"./mcp-oauth-DWd1pMWO.js";const nt=/^[a-zA-Z][a-zA-Z\d+.-]*:/,st=/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//,rt=/^[^\s/:?#]+\.[^\s/:?#]+:\d+(?:[/?#]|$)/,it=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/i;function xe(r){const e=r.trim();if(!e)return{ok:!1,error:"Enter a website URL."};const t=nt.test(e),s=st.test(e),i=rt.test(e);if(t&&!s&&!i)return{ok:!1,error:"Use an HTTP or HTTPS website URL."};const a=s?e:`https://${e}`;let l;try{l=new URL(a)}catch{return{ok:!1,error:"Enter a valid website URL."}}if(l.protocol!=="http:"&&l.protocol!=="https:")return{ok:!1,error:"Use an HTTP or HTTPS website URL."};const o=l.hostname.split(".");return o.length<2||o.some(c=>!c||!it.test(c))?{ok:!1,error:"Enter a valid website URL."}:(l.protocol="https:",{ok:!0,value:l.origin})}function ye(r){const e=S.c(14),{children:t,className:s,wrapperClassName:i}=r,[a,l]=R.useState(!0);let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=x=>{if(!x)return;const y=()=>{const d=x.scrollHeight-x.scrollTop-x.clientHeight<8;l(d)};y(),x.addEventListener("scroll",y,{passive:!0});const b=new ResizeObserver(y);b.observe(x);for(const d of Array.from(x.children))b.observe(d);return()=>{x.removeEventListener("scroll",y),b.disconnect()}},e[0]=o):o=e[0];const c=o;let m;e[1]!==i?(m=ae("relative",i),e[1]=i,e[2]=m):m=e[2];let f;e[3]!==t||e[4]!==s?(f=n.jsx("div",{ref:c,className:s,children:t}),e[3]=t,e[4]=s,e[5]=f):f=e[5];const u=a?"opacity-0":"opacity-100";let p;e[6]!==u?(p=ae("pointer-events-none absolute inset-x-0 -bottom-px h-[213px]","bg-gradient-to-t from-sidebar from-[6px] to-transparent","backdrop-blur-[2px] [mask-image:linear-gradient(to_top,black_6px,transparent)]","transition-opacity duration-200",u),e[6]=u,e[7]=p):p=e[7];let h;e[8]!==p?(h=n.jsx("div",{"aria-hidden":!0,className:p}),e[8]=p,e[9]=h):h=e[9];let g;return e[10]!==m||e[11]!==f||e[12]!==h?(g=n.jsxs("div",{className:m,children:[f,h]}),e[10]=m,e[11]=f,e[12]=h,e[13]=g):g=e[13],g}function ot(){const r=S.c(3);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"size-12 shrink-0 animate-pulse rounded-lg bg-muted/60"}),n.jsx("div",{className:"h-4 w-32 animate-pulse rounded bg-muted/60"}),n.jsx("div",{className:"ml-auto h-8 w-20 animate-pulse rounded-lg bg-muted/60"})]}),r[0]=e):e=r[0];let t;r[1]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx("div",{className:"p-1",children:n.jsx("div",{className:"h-5 w-40 animate-pulse rounded bg-muted/60"})}),r[1]=t):t=r[1];let s;return r[2]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsxs("div",{className:"flex flex-col gap-2 rounded-2xl border border-border bg-card p-4",children:[e,n.jsxs("div",{className:"flex flex-col gap-1 px-1 py-2",children:[t,n.jsx("div",{className:"p-1",children:n.jsx("div",{className:"h-5 w-56 animate-pulse rounded bg-muted/60"})})]})]}),r[2]=s):s=r[2],s}function be(r){const e=S.c(3),{children:t}=r;let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(ze,{size:14,className:"shrink-0 text-blue-500"}),e[0]=s):s=e[0];let i;return e[1]!==t?(i=n.jsxs("div",{className:"flex items-center gap-2 p-1",children:[s,n.jsx("p",{className:"text-sm text-foreground",children:t})]}),e[1]=t,e[2]=i):i=e[2],i}function lt(r){const e=S.c(33),{card:t,connecting:s,disabled:i,onConnect:a}=r;let l;e[0]!==t.icon||e[1]!==t.title?(l=n.jsx(Ze,{icon:t.icon,name:t.title,size:"md",fit:"contain",className:"p-2"}),e[0]=t.icon,e[1]=t.title,e[2]=l):l=e[2];let o;e[3]!==t.title?(o=n.jsx("p",{className:"flex-1 text-sm text-foreground",children:t.title}),e[3]=t.title,e[4]=o):o=e[4];let c;e[5]!==t.satisfied||e[6]!==t.title||e[7]!==s||e[8]!==i||e[9]!==a?(c=t.satisfied?n.jsxs("div",{className:"flex h-8 items-center gap-2 px-3 text-sm text-muted-foreground",children:[n.jsx(ze,{size:16})," Connected"]}):n.jsx(Y,{type:"button",variant:"outline",size:"sm",disabled:i||s,onClick:a,"aria-label":`Connect ${t.title}`,children:s?n.jsx(je,{size:16,className:"animate-spin"}):"Connect"}),e[5]=t.satisfied,e[6]=t.title,e[7]=s,e[8]=i,e[9]=a,e[10]=c):c=e[10];let m;e[11]!==l||e[12]!==o||e[13]!==c?(m=n.jsxs("div",{className:"flex items-center gap-2",children:[l,o,c]}),e[11]=l,e[12]=o,e[13]=c,e[14]=m):m=e[14];let f;e[15]!==t.checks?(f=t.checks!==null&&n.jsxs(be,{children:["+ ",t.checks," checks"]}),e[15]=t.checks,e[16]=f):f=e[16];let u;e[17]!==t.headline?(u=t.headline&&n.jsx(be,{children:t.headline}),e[17]=t.headline,e[18]=u):u=e[18];let p;e[19]!==t.bullets?(p=t.bullets.map(at),e[19]=t.bullets,e[20]=p):p=e[20];let h;e[21]!==t.candidateConnectionId||e[22]!==t.satisfied||e[23]!==t.title?(h=!t.satisfied&&t.candidateConnectionId&&n.jsxs("p",{className:"px-1 text-xs text-muted-foreground",children:["Using your existing ",t.title]}),e[21]=t.candidateConnectionId,e[22]=t.satisfied,e[23]=t.title,e[24]=h):h=e[24];let g;e[25]!==f||e[26]!==u||e[27]!==p||e[28]!==h?(g=n.jsxs("div",{className:"flex flex-col gap-1 px-1 py-2",children:[f,u,p,h]}),e[25]=f,e[26]=u,e[27]=p,e[28]=h,e[29]=g):g=e[29];let x;return e[30]!==m||e[31]!==g?(x=n.jsxs("div",{className:"flex flex-col gap-2 rounded-2xl border border-border bg-card p-4",children:[m,g]}),e[30]=m,e[31]=g,e[32]=x):x=e[32],x}function at(r){return n.jsx(be,{children:r},r)}const Ce={vtex:{registryAppId:"deco/vtex",checks:49,headline:"Out-of-stock, thin PDPs & attribute gaps across every SKU"},"google-analytics":{registryAppId:"deco/google-analytics",checks:49,headline:"Where revenue leaks between product view and checkout"},"google-search-console":{registryAppId:"deco/google-search-console",checks:49,headline:"Search visibility & indexing gaps across your catalog"}};function ct(r){const e=r.properties;if(!e)return[];const t=[];for(const[s,i]of Object.entries(e)){const o=i?.properties?.__type?.const;typeof o=="string"&&o.length>0&&t.push({fieldKey:s,bindingType:o})}return t}function dt(r,e){const t=[];if(r.length&&t.push({field:["id"],operator:"in",value:r}),e.length&&t.push({field:["name"],operator:"in",value:e}),t.length!==0)return t.length===1?t[0]:{operator:"or",conditions:t}}function D(r){const e=r;if(e.isError)throw new Error(e.content?.find(t=>t.text)?.text??"Tool call failed");return e.structuredContent??r}function mt(r,e,t,s){return{...r??{},[e]:{__type:t,value:s}}}function ut(r,e,t){const s=r.filter(i=>i.app_name===e||!!t&&i.app_id===t);return s.length===0?null:(s.sort((i,a)=>{const l=o=>o.status==="active"?0:1;return l(i)!==l(a)?l(i)-l(a):(a.updated_at??"").localeCompare(i.updated_at??"")}),s[0].id)}function ft(r){return r.server?.icons?.[0]?.src??Je(r.server?.repository)??null}function gt(r,e){const t=r._meta?.["mcp.mesh"];return t?.friendlyName||t?.friendly_name||r.title||r.server?.title||r.server?.name||e}function pt(r){const e=[];for(const t of r.requirements){const s=r.curated[t.bindingType],i=s?r.itemsById[s.registryAppId]:r.itemsByName[t.bindingType];if(!i)continue;const l=!!r.configurationState?.[t.fieldKey]?.value;e.push({fieldKey:t.fieldKey,bindingType:t.bindingType,registryItem:i,title:gt(i,t.bindingType),icon:ft(i),headline:s?.headline??i._meta?.["mcp.mesh"]?.short_description??null,checks:s?.checks??null,bullets:s?.bullets??[],satisfied:l,candidateConnectionId:l?null:ut(r.connections,t.bindingType,s?.registryAppId)})}return e}function ht(r){const e=S.c(25),{selfClient:t,org:s,cdConnectionId:i}=r;let a;e[0]!==i||e[1]!==s.id||e[2]!==s.slug?(a={connectionId:i,orgId:s.id,orgSlug:s.slug},e[0]=i,e[1]=s.id,e[2]=s.slug,e[3]=a):a=e[3];const l=ve(a);let o;e[4]!==i||e[5]!==s.id?(o=P.commerceDiscoveryCompanionSchema(s.id,i),e[4]=i,e[5]=s.id,e[6]=o):o=e[6];let c;e[7]!==l?(c=async()=>{const C=await l.callTool({name:"MCP_CONFIGURATION",arguments:{}});return D(C)},e[7]=l,e[8]=c):c=e[8];let m;e[9]!==o||e[10]!==c?(m={queryKey:o,queryFn:c},e[9]=o,e[10]=c,e[11]=m):m=e[11];const f=ie(m),u=ct(f.data?.stateSchema??{properties:{}}),p=u.map(vt),h=u.map(jt).filter(bt),g=u.filter(yt).map(xt),x=[...h,...g].sort().join(",");let y;e[12]!==i||e[13]!==s.id?(y=P.commerceDiscoveryConnection(s.id,i),e[12]=i,e[13]=s.id,e[14]=y):y=e[14];let b;e[15]!==i||e[16]!==t?(b=async()=>{const C=await t.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:i}});return D(C)},e[15]=i,e[16]=t,e[17]=b):b=e[17];let d;e[18]!==y||e[19]!==b?(d={queryKey:y,queryFn:b},e[18]=y,e[19]=b,e[20]=d):d=e[20];const j=ie(d),v=ie({queryKey:P.commerceDiscoveryCompanionConnections(s.id),enabled:u.length>0,queryFn:async()=>{const C=await t.callTool({name:"COLLECTION_CONNECTIONS_LIST",arguments:{where:{operator:"or",conditions:[{field:["app_name"],operator:"in",value:p},{field:["app_id"],operator:"in",value:h}]},limit:1e3}});return D(C)}}),N=ie({queryKey:P.commerceDiscoveryCompanionRegistry(s.id,x),enabled:u.length>0,queryFn:async()=>{const C=dt(h,g),M=await Xe(Re.REGISTRY(s.id),s.id,s.slug,"COLLECTION_REGISTRY_APP_LIST",{...C?{where:C}:{},limit:1e3});return D(M)}}),I={},E={};for(const C of N.data?.items??[])I[C.id]=C,C.server?.name&&(E[C.server.name]=C);const T=pt({requirements:u,itemsById:I,itemsByName:E,connections:v.data?.items??[],configurationState:j.data?.item?.configuration_state??null,curated:Ce}),w=f.isPending||j.isPending||u.length>0&&(v.isPending||N.isPending),U=f.error??j.error??v.error??N.error??null;let L;return e[21]!==T||e[22]!==U||e[23]!==w?(L={cards:T,isLoading:w,error:U},e[21]=T,e[22]=U,e[23]=w,e[24]=L):L=e[24],L}function xt(r){return r.bindingType}function yt(r){return!Ce[r.bindingType]}function bt(r){return!!r}function jt(r){return Ce[r.bindingType]?.registryAppId}function vt(r){return r.bindingType}function Ct({selfClient:r,org:e,userId:t,cdConnectionId:s}){const i=Me(),[a,l]=R.useState(null),[o,c]=R.useState(null),m=async(u,p)=>{const h=await r.callTool({name:"COLLECTION_CONNECTIONS_UPDATE",arguments:{id:u,data:p}});return D(h)};async function f(u){l(u.fieldKey),c(null);try{let p=u.candidateConnectionId;if(!p){const d=et(u.registryItem,e.id,t,{remoteIndex:0}),j=d.connection_type==="STDIO",v=!!d.connection_url,N=j&&d.connection_headers&&typeof d.connection_headers=="object"&&"command"in d.connection_headers;if(!v&&!N){c(`${u.title} cannot be connected: no connection method available`);return}const I=await r.callTool({name:"COLLECTION_CONNECTIONS_CREATE",arguments:{data:d}});p=D(I).item.id}const h=p,g=await tt({connectionId:h,orgId:e.id,orgSlug:e.slug,persistFallback:d=>m(h,{connection_token:d}).then(()=>{})});if(!g.ok){c(`Couldn't sign in to ${u.title}: ${g.error}`);return}const x=await r.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:s}}),y=D(x).item?.configuration_state??null,b=mt(y,u.fieldKey,u.bindingType,h);await m(s,{configuration_state:b}),await i.invalidateQueries({queryKey:P.commerceDiscoveryConnection(e.id,s)}),await i.invalidateQueries({queryKey:P.commerceDiscoveryCompanionConnections(e.id)})}catch(p){c(p instanceof Error?p.message:String(p))}finally{l(null)}}return{connect:f,connectingFieldKey:a,error:o}}function _t(r){const e=S.c(30),{org:t,cdConnectionId:s,reportDisabled:i,onOpenReport:a}=r,{data:l}=we.useSession(),o=l?.user?.id??"";let c;e[0]!==t.id||e[1]!==t.slug?(c={connectionId:Oe,orgId:t.id,orgSlug:t.slug},e[0]=t.id,e[1]=t.slug,e[2]=c):c=e[2];const m=ve(c);let f;e[3]!==s||e[4]!==t||e[5]!==m?(f={selfClient:m,org:t,cdConnectionId:s},e[3]=s,e[4]=t,e[5]=m,e[6]=f):f=e[6];const{cards:u,isLoading:p,error:h}=ht(f);let g;e[7]!==s||e[8]!==t||e[9]!==m||e[10]!==o?(g={selfClient:m,org:t,userId:o,cdConnectionId:s},e[7]=s,e[8]=t,e[9]=m,e[10]=o,e[11]=g):g=e[11];const{connect:x,connectingFieldKey:y,error:b}=Ct(g);let d;e[12]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(ke,{size:16}),e[12]=d):d=e[12];let j;e[13]!==a||e[14]!==i?(j=n.jsxs(Y,{type:"button",size:"xl",className:"w-full",onClick:a,disabled:i,children:["See full report",d]}),e[13]=a,e[14]=i,e[15]=j):j=e[15];const v=j;if(!p&&!h&&u.length===0){let w;return e[16]!==v?(w=n.jsx("div",{className:"flex min-h-0 flex-1 flex-col justify-end gap-10 md:grid md:flex-none",children:v}),e[16]=v,e[17]=w):w=e[17],w}const N=y!==null;let I;e[18]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsxs("div",{className:"grid gap-1.5",children:[n.jsx("p",{className:"text-2xl font-medium text-foreground",children:"Unlock your full diagnostic"}),n.jsx("p",{className:"text-base text-muted-foreground",children:"Connect your tools to unlock 100+ checks across your funnel."})]}),e[18]=I):I=e[18];let E;e[19]!==N||e[20]!==u||e[21]!==x||e[22]!==b||e[23]!==y||e[24]!==h||e[25]!==p?(E=h?n.jsxs("div",{role:"alert",className:"rounded-2xl border border-border bg-card p-4",children:[n.jsx("p",{className:"text-sm text-foreground",children:"Couldn't load companion integrations."}),n.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Reload the page to try again."})]}):p?n.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-4",children:[0,1,2].map(St)}):n.jsx(ye,{wrapperClassName:"flex min-h-0 flex-1 flex-col md:block",className:"-mx-1 min-h-0 flex-1 overflow-y-auto px-1 md:max-h-[45vh] md:flex-none",children:n.jsxs("div",{className:"grid gap-4",children:[b&&n.jsx("p",{role:"alert",className:"text-sm text-destructive",children:b}),u.map(w=>n.jsx(lt,{card:w,connecting:y===w.fieldKey,disabled:N&&y!==w.fieldKey,onConnect:()=>{x(w)}},w.fieldKey))]})}),e[19]=N,e[20]=u,e[21]=x,e[22]=b,e[23]=y,e[24]=h,e[25]=p,e[26]=E):E=e[26];let T;return e[27]!==v||e[28]!==E?(T=n.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-6 md:grid md:flex-none",children:[I,E,v]}),e[27]=v,e[28]=E,e[29]=T):T=e[29],T}function St(r){return n.jsx(ot,{},r)}const Ue="https://decocms-tanstack.deco-cx.workers.dev/agendar",Nt="Rather have us walk you through it?",wt="Book a 20-minute call and we'll run the diagnostic with you, live.";function Et(r){const e=S.c(6),{size:t,className:s}=r,i=t===void 0?"lg":t;let a;e[0]!==s?(a=ae("w-full",s),e[0]=s,e[1]=a):a=e[1];let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsxs("a",{href:Ue,target:"_blank",rel:"noreferrer",children:["Schedule a meeting",n.jsx(Le,{size:16})]}),e[2]=l):l=e[2];let o;return e[3]!==i||e[4]!==a?(o=n.jsx(Y,{asChild:!0,variant:"outline",size:i,className:a,children:l}),e[3]=i,e[4]=a,e[5]=o):o=e[5],o}function Ne(r){const e=S.c(2),{children:t}=r;let s;return e[0]!==t?(s=n.jsx("div",{className:"relative z-10 flex h-12 w-12 items-center justify-center rounded-full border border-border bg-card card-shadow",children:t}),e[0]=t,e[1]=s):s=e[1],s}function It(){const r=S.c(4);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(Ne,{children:n.jsx($e,{size:20,className:"text-muted-foreground"})}),r[0]=e):e=r[0];let t;r[1]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx("div",{className:"relative mx-4 h-px flex-1 bg-border",children:n.jsx("span",{className:"absolute top-1/2 h-1.5 w-1.5 -translate-x-1/2 -translate-y-1/2 rounded-full bg-foreground animate-connection-travel","aria-hidden":!0})}),r[1]=t):t=r[1];let s;r[2]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("span",{className:"absolute inset-0 rounded-full border border-foreground/40 animate-connection-arrive","aria-hidden":!0}),r[2]=s):s=r[2];let i;return r[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsxs("div",{className:"flex items-center justify-between rounded-2xl border border-border/60 bg-muted/40 px-7 py-7",children:[e,t,n.jsxs("div",{className:"relative",children:[s,n.jsxs(Ne,{children:[n.jsx("img",{src:"/logos/deco logo.svg",alt:"deco",className:"h-6 w-6 dark:hidden"}),n.jsx("img",{src:"/logos/deco logo negative.svg",alt:"deco",className:"hidden h-6 w-6 dark:block"})]})]})]}),r[3]=i):i=r[3],i}function Tt(){const r=S.c(2);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(It,{}),r[0]=e):e=r[0];let t;return r[1]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx("div",{className:"relative flex h-full w-full items-center justify-center p-10",children:n.jsxs("div",{className:"flex w-full max-w-[380px] flex-col gap-6 rounded-3xl border border-border bg-card p-8 card-shadow",children:[e,n.jsxs("div",{className:"grid gap-2",children:[n.jsx("h2",{className:"text-xl font-medium leading-7 text-foreground",children:Nt}),n.jsx("p",{className:"text-base leading-6 text-muted-foreground",children:wt})]}),n.jsx(Et,{size:"xl"})]})}),r[1]=t):t=r[1],t}function Rt(r){const e=S.c(7),{className:t}=r;let s;e[0]!==t?(s=ae("flex items-center gap-4 rounded-2xl border border-border bg-card p-5 card-shadow transition-colors hover:bg-accent",t),e[0]=t,e[1]=s):s=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("span",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:n.jsx($e,{size:20})}),e[2]=i):i=e[2];let a,l;e[3]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsxs("span",{className:"flex flex-1 flex-col gap-0.5",children:[n.jsx("span",{className:"text-base font-medium leading-5 text-foreground",children:"Prefer to talk to a human?"}),n.jsx("span",{className:"text-sm leading-5 text-muted-foreground",children:"Book a call and we'll run the diagnostic with you."})]}),l=n.jsx(Le,{size:18,className:"shrink-0 text-muted-foreground"}),e[3]=a,e[4]=l):(a=e[3],l=e[4]);let o;return e[5]!==s?(o=n.jsxs("a",{href:Ue,target:"_blank",rel:"noreferrer",className:s,children:[i,a,l]}),e[5]=s,e[6]=o):o=e[6],o}function Pe(r){const e=S.c(10),{host:t}=r,s=`https://www.google.com/s2/favicons?domain=${t}&sz=128`;let i,a,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-7 w-7 dark:hidden"}),a=n.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-7 w-7 hidden dark:block"}),l=n.jsx("div",{className:"h-6 w-px rotate-12 bg-border","aria-hidden":"true"}),e[0]=i,e[1]=a,e[2]=l):(i=e[0],a=e[1],l=e[2]);let o;e[3]!==s?(o=n.jsx("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-border bg-white",children:n.jsx("img",{src:s,alt:"",className:"h-5 w-5",loading:"lazy"})}),e[3]=s,e[4]=o):o=e[4];let c;e[5]!==t?(c=n.jsx("span",{className:"text-lg font-medium text-foreground",children:t}),e[5]=t,e[6]=c):c=e[6];let m;return e[7]!==o||e[8]!==c?(m=n.jsxs("div",{className:"flex items-center gap-3",children:[i,a,l,o,c]}),e[7]=o,e[8]=c,e[9]=m):m=e[9],m}function Fn(){const r=S.c(1);let e;return r[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx(kt,{}),r[0]=e):e=r[0],e}const Ae=R.createContext(null),De=()=>R.useContext(Ae);function Ot(r){if(!r)return null;const e=xe(r);return e.ok?new URL(e.value).hostname:null}function kt(){const r=S.c(9);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e={from:"/commerce-onboarding"},r[0]=e):e=r[0];const t=Ke(e),{org:s,siteUrl:i}=t;let a;r[1]!==i?(a=Ot(i),r[1]=i,r[2]=a):a=r[2];const l=a;let o;r[3]!==s||r[4]!==i?(o=n.jsx(zt,{requestedOrgSlug:s,siteUrl:i}),r[3]=s,r[4]=i,r[5]=o):o=r[5];let c;return r[6]!==l||r[7]!==o?(c=n.jsx(Ae.Provider,{value:l,children:o}),r[6]=l,r[7]=o,r[8]=c):c=r[8],c}function zt(r){const e=S.c(8),{requestedOrgSlug:t,siteUrl:s}=r,{data:i,isPending:a}=we.useSession(),l=De();if(a){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(O,{children:n.jsx(V,{label:"Preparing commerce onboarding..."})}),e[0]=c):c=e[0],c}if(!i){const c=typeof window>"u"?"/commerce-onboarding":`${window.location.pathname}${window.location.search}`;let m;e[1]!==l?(m=l?n.jsx(Pe,{host:l}):void 0,e[1]=l,e[2]=m):m=e[2];let f;return e[3]!==m?(f=n.jsx(O,{children:n.jsx(Qe,{callbackUrl:c,allowAutoLogin:!1,title:"Unlock your full diagnostic",subtitle:null,brand:m})}),e[3]=m,e[4]=f):f=e[4],f}let o;return e[5]!==t||e[6]!==s?(o=n.jsx(Lt,{requestedOrgSlug:t,siteUrl:s}),e[5]=t,e[6]=s,e[7]=o):o=e[7],o}function Lt(r){const e=S.c(40),{requestedOrgSlug:t,siteUrl:s}=r,i=Ee(),a=qe(),[l,o]=R.useState(null),[c,m]=R.useState(null),f=a.data?.map(Ut)??[];let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u={mutationFn:$t,retry:!1,onSuccess:d=>{m(d)}},e[0]=u):u=e[0];const p=Ie(u);if(a.isPending){let d;return e[1]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(O,{children:n.jsx(V,{label:"Preparing commerce onboarding..."})}),e[1]=d):d=e[1],d}if(a.error){let d;return e[2]!==a?(d=n.jsx(le,{title:"We could not load your organizations",description:"Retry to continue commerce setup from this page.",actionLabel:"Retry",onRetry:()=>a.refetch()}),e[2]=a,e[3]=d):d=e[3],d}const h=t?f.find(d=>d.slug===t):null;if(h){let d;return e[4]!==h||e[5]!==s?(d=n.jsx(oe,{org:h,initialSiteUrl:s}),e[4]=h,e[5]=s,e[6]=d):d=e[6],d}if(t){let d;return e[7]!==a?(d=n.jsx(le,{title:"Organization not found",description:"We could not find that organization for your account.",actionLabel:"Retry",onRetry:()=>a.refetch()}),e[7]=a,e[8]=d):d=e[8],d}if(l){let d;return e[9]!==l||e[10]!==s?(d=n.jsx(oe,{org:l,initialSiteUrl:s}),e[9]=l,e[10]=s,e[11]=d):d=e[11],d}if(f.length===1&&f[0]){let d;return e[12]!==f[0]||e[13]!==s?(d=n.jsx(oe,{org:f[0],initialSiteUrl:s}),e[12]=f[0],e[13]=s,e[14]=d):d=e[14],d}if(f.length>1){let d;e[15]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(A,{title:"Choose an organization",description:"Select where commerce diagnostics should continue."}),e[15]=d):d=e[15];let j;e[16]===Symbol.for("react.memo_cache_sentinel")?(j=N=>o(N),e[16]=j):j=e[16];let v;return e[17]!==f?(v=n.jsx(O,{children:n.jsxs("div",{className:"grid gap-10",children:[d,n.jsx(ye,{className:"-mx-1 max-h-[60vh] overflow-y-auto px-1",children:n.jsx(Se,{organizations:f,selectLabel:"Continue",onSelected:j})})]})}),e[17]=f,e[18]=v):v=e[18],v}if(!c){let d;e[19]!==p?(d=()=>{p.reset(),p.mutate()},e[19]=p,e[20]=d):d=e[20];let j;return e[21]!==p||e[22]!==d?(j=n.jsx(Pt,{mutation:p,onRetry:d}),e[21]=p,e[22]=d,e[23]=j):j=e[23],j}const g=c;if(g?.success&&(g.status==="created"||g.status==="joined"||g.status==="already_has_organization")&&g.organization){let d;return e[24]!==g.organization||e[25]!==s?(d=n.jsx(oe,{org:g.organization,initialSiteUrl:s}),e[24]=g.organization,e[25]=s,e[26]=d):d=e[26],d}if(g?.status==="ambiguous"&&g.organizations&&g.organizations.length>0){let d;e[27]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(A,{title:"Choose an organization",description:"Your email can access more than one organization. Choose where commerce setup should continue."}),e[27]=d):d=e[27];const j=g.domain??void 0;let v;e[28]!==i||e[29]!==s?(v=(I,E)=>{Te(),o({...I,slug:E}),i({to:"/commerce-onboarding",search:{org:E,siteUrl:s}})},e[28]=i,e[29]=s,e[30]=v):v=e[30];let N;return e[31]!==g.organizations||e[32]!==j||e[33]!==v?(N=n.jsx(O,{children:n.jsxs("div",{className:"grid gap-10",children:[d,n.jsx(ye,{className:"-mx-1 max-h-[60vh] overflow-y-auto px-1",children:n.jsx(Se,{organizations:g.organizations,domain:j,onJoined:v})})]})}),e[31]=g.organizations,e[32]=j,e[33]=v,e[34]=N):N=e[34],N}const x=g?.error??"We could not determine a commerce organization for this account.";let y;e[35]!==p?(y=()=>{m(null),p.reset()},e[35]=p,e[36]=y):y=e[36];let b;return e[37]!==x||e[38]!==y?(b=n.jsx(le,{title:"Commerce onboarding needs support",description:x,actionLabel:"Try again",onRetry:y}),e[37]=x,e[38]=y,e[39]=b):b=e[39],b}async function $t(){const e=await(await fetch("/api/auth/custom/ensure-organization",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"}})).json();return e.success&&(e.status==="created"||e.status==="joined"||e.status==="already_has_organization")&&e.organization&&Te(),e}function Ut(r){return{id:r.id,name:r.name,slug:r.slug,logo:r.logo??null}}function Pt(r){const e=S.c(7),{mutation:t,onRetry:s}=r,i=R.useRef(!1);let a;e[0]!==t?(a=m=>{!m||i.current||(i.current=!0,t.mutate())},e[0]=t,e[1]=a):a=e[1];const l=a;if(t.error){let m;return e[2]!==s?(m=n.jsx(le,{title:"Commerce onboarding is unavailable",description:"We could not prepare an organization for commerce setup. Retry from this page or contact support.",actionLabel:"Retry",onRetry:s}),e[2]=s,e[3]=m):m=e[3],m}let o;e[4]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(V,{label:"Preparing your commerce workspace..."}),e[4]=o):o=e[4];let c;return e[5]!==l?(c=n.jsx(O,{children:n.jsx("div",{ref:l,children:o})}),e[5]=l,e[6]=c):c=e[6],c}function A(r){const e=S.c(8),{title:t,description:s}=r,i=De();let a;e[0]!==i?(a=i?n.jsx(Pe,{host:i}):n.jsxs("div",{children:[n.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),n.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),e[0]=i,e[1]=a):a=e[1];let l;e[2]!==s||e[3]!==t?(l=(t||s)&&n.jsxs("div",{className:"space-y-2",children:[t&&n.jsx("h1",{className:"text-2xl font-medium leading-8",children:t}),s&&n.jsx("p",{className:"text-base text-muted-foreground leading-6",children:s})]}),e[2]=s,e[3]=t,e[4]=l):l=e[4];let o;return e[5]!==a||e[6]!==l?(o=n.jsxs("div",{className:"grid gap-10",children:[a,l]}),e[5]=a,e[6]=l,e[7]=o):o=e[7],o}function V(r){const e=S.c(3),{label:t}=r;let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx(je,{size:14,className:"animate-spin text-muted-foreground"}),e[0]=s):s=e[0];let i;return e[1]!==t?(i=n.jsxs("div",{className:"flex items-center gap-2 py-4",role:"status","aria-live":"polite",children:[s,n.jsx("span",{className:"text-sm text-muted-foreground",children:t})]}),e[1]=t,e[2]=i):i=e[2],i}function le(r){const e=S.c(9),{title:t,description:s,actionLabel:i,onRetry:a}=r;let l;e[0]!==s||e[1]!==t?(l=n.jsx(A,{title:t,description:s}),e[0]=s,e[1]=t,e[2]=l):l=e[2];let o;e[3]!==i||e[4]!==a?(o=n.jsx(Y,{type:"button",size:"xl",className:"w-full",onClick:a,children:i}),e[3]=i,e[4]=a,e[5]=o):o=e[5];let c;return e[6]!==l||e[7]!==o?(c=n.jsx(O,{children:n.jsxs("div",{className:"grid gap-10",children:[l,o]})}),e[6]=l,e[7]=o,e[8]=c):c=e[8],c}function At(r){return r.content?.find(e=>e.text)?.text??"Commerce Discovery setup failed."}function pe(r){const e=r;if(e.isError)throw new Error(At(e));return e.structuredContent??r}function oe(r){const e=S.c(3),{org:t,initialSiteUrl:s}=r;let i;return e[0]!==s||e[1]!==t?(i=n.jsx(He,{children:a=>{const{reset:l}=a;return n.jsx(Be,{fallback:o=>{const{error:c,resetError:m}=o;return n.jsx(O,{children:n.jsx(Dt,{orgName:t.name,message:c instanceof Error?c.message:"We could not check Commerce Discovery setup.",onRetry:()=>{l(),m()}})})},children:n.jsx(R.Suspense,{fallback:n.jsx(O,{children:n.jsx(V,{label:"Connecting workspace..."})}),children:n.jsx(Mt,{org:t,initialSiteUrl:s},`${t.id}:${s??""}`)})})}}),e[0]=s,e[1]=t,e[2]=i):i=e[2],i}function Dt(r){const e=S.c(10),{orgName:t,message:s,onRetry:i}=r,a=`Commerce setup will continue for ${t}.`;let l;e[0]!==a?(l=n.jsx(A,{title:"Commerce diagnostics",description:a}),e[0]=a,e[1]=l):l=e[1];let o;e[2]!==s?(o=n.jsx(ce,{message:s}),e[2]=s,e[3]=o):o=e[3];let c;e[4]!==i?(c=n.jsx(Y,{type:"button",size:"xl",className:"w-full",onClick:i,children:"Retry"}),e[4]=i,e[5]=c):c=e[5];let m;return e[6]!==l||e[7]!==o||e[8]!==c?(m=n.jsxs("div",{className:"grid gap-10",children:[l,o,c]}),e[6]=l,e[7]=o,e[8]=c,e[9]=m):m=e[9],m}function Mt(r){const e=S.c(83),{org:t,initialSiteUrl:s}=r,i=Ee();let a;e[0]!==t.id||e[1]!==t.slug?(a={connectionId:Oe,orgId:t.id,orgSlug:t.slug},e[0]=t.id,e[1]=t.slug,e[2]=a):a=e[2];const l=ve(a),[o,c]=R.useState(s??""),[m,f]=R.useState(null),[u,p]=R.useState(null),h=R.useRef(!1),g=Re.COMMERCE_DISCOVERY(t.id),x=Ye(t.id),y=P.commerceDiscoveryConnection(t.id,g);let b;e[3]!==g||e[4]!==l?(b=async()=>{const _=await l.callTool({name:"COLLECTION_CONNECTIONS_GET",arguments:{id:g}});return pe(_)},e[3]=g,e[4]=l,e[5]=b):b=e[5];let d;e[6]!==y||e[7]!==b?(d={queryKey:y,queryFn:b,retry:!1},e[6]=y,e[7]=b,e[8]=d):d=e[8];const j=_e(d),v=P.commerceDiscoveryVirtualMcp(t.id,x);let N;e[9]!==l||e[10]!==x?(N=async()=>{const _=await l.callTool({name:"COLLECTION_VIRTUAL_MCP_GET",arguments:{id:x}});return pe(_)},e[9]=l,e[10]=x,e[11]=N):N=e[11];let I;e[12]!==v||e[13]!==N?(I={queryKey:v,queryFn:N,retry:!1},e[12]=v,e[13]=N,e[14]=I):I=e[14];const E=_e(I);let T;e[15]!==l?(T=async _=>{const z=await l.callTool({name:"COMMERCE_DISCOVERY_SETUP",arguments:{siteUrl:_}});return pe(z)},e[15]=l,e[16]=T):T=e[16];let w;e[17]!==j||e[18]!==E?(w=_=>{f(_),p(null),j.refetch(),E.refetch()},e[17]=j,e[18]=E,e[19]=w):w=e[19];let U;e[20]===Symbol.for("react.memo_cache_sentinel")?(U=_=>{p(_ instanceof Error?_.message:"Commerce Discovery setup failed.")},e[20]=U):U=e[20];let L;e[21]!==T||e[22]!==w?(L={mutationFn:T,retry:!1,onSuccess:w,onError:U},e[21]=T,e[22]=w,e[23]=L):L=e[23];const C=Ie(L),M=!!j.data.item&&!!E.data.item;let Z;e[24]!==C?(Z=_=>{const z=xe(_);if(!z.ok){p(z.error);return}p(null),C.mutate(z.value)},e[24]=C,e[25]=Z):Z=e[25];const K=Z;let J;e[26]!==s||e[27]!==K||e[28]!==M?(J=_=>{!_||h.current||M||!s||(h.current=!0,K(s))},e[26]=s,e[27]=K,e[28]=M,e[29]=J):J=e[29];const de=J;let X;e[30]!==K||e[31]!==o?(X=_=>{_.preventDefault(),K(o)},e[30]=K,e[31]=o,e[32]=X):X=e[32];const $=X;let ee;e[33]!==g||e[34]!==m?.reportApp||e[35]!==x?(ee=m?.reportApp??{connectionId:g,virtualMcpId:x,toolName:Ve},e[33]=g,e[34]=m?.reportApp,e[35]=x,e[36]=ee):ee=e[36];const k=ee;let te;e[37]!==i||e[38]!==t.slug||e[39]!==k.connectionId||e[40]!==k.toolName||e[41]!==k.virtualMcpId?(te=()=>{localStorage.setItem(Fe.sidebarOpen(),JSON.stringify(!1)),i({to:"/$org/$taskId",params:{org:t.slug,taskId:crypto.randomUUID()},search:{virtualmcpid:k.virtualMcpId,main:We(k.connectionId,k.toolName),chat:0}})},e[37]=i,e[38]=t.slug,e[39]=k.connectionId,e[40]=k.toolName,e[41]=k.virtualMcpId,e[42]=te):te=e[42];const me=te;if(M){let _;return e[43]!==me||e[44]!==t||e[45]!==k?(_=n.jsx(Kt,{org:t,reportApp:k,onOpenReport:me}),e[43]=me,e[44]=t,e[45]=k,e[46]=_):_=e[46],_}if(s){let _;e[47]!==s?(_=xe(s),e[47]=s,e[48]=_):_=e[48];const z=_;if(!z.ok){const ge=`Commerce setup will continue for ${t.name}.`;let Q;e[49]!==ge?(Q=n.jsx(A,{title:"Commerce diagnostics",description:ge}),e[49]=ge,e[50]=Q):Q=e[50];let W;e[51]!==z.error?(W=n.jsx(ce,{message:z.error}),e[51]=z.error,e[52]=W):W=e[52];let G;e[53]!==$||e[54]!==u||e[55]!==C.isPending||e[56]!==o?(G=n.jsx(he,{siteUrl:o,error:u,isSubmitting:C.isPending,onSiteUrlChange:c,onSubmit:$}),e[53]=$,e[54]=u,e[55]=C.isPending,e[56]=o,e[57]=G):G=e[57];let re;return e[58]!==Q||e[59]!==W||e[60]!==G?(re=n.jsx(O,{children:n.jsxs("div",{className:"grid gap-10",children:[Q,W,G]})}),e[58]=Q,e[59]=W,e[60]=G,e[61]=re):re=e[61],re}const fe=`Commerce Discovery is being prepared for ${z.value}.`;let B;e[62]!==fe?(B=n.jsx(A,{title:"Commerce diagnostics",description:fe}),e[62]=fe,e[63]=B):B=e[63];let F;e[64]!==$||e[65]!==u||e[66]!==C||e[67]!==o?(F=u?n.jsxs(n.Fragment,{children:[n.jsx(ce,{message:u}),n.jsx(he,{siteUrl:o,error:null,isSubmitting:C.isPending,onSiteUrlChange:c,onSubmit:$})]}):n.jsx(V,{label:"Setting up Commerce Discovery..."}),e[64]=$,e[65]=u,e[66]=C,e[67]=o,e[68]=F):F=e[68];let se;return e[69]!==B||e[70]!==F||e[71]!==de?(se=n.jsx(O,{children:n.jsxs("div",{ref:de,className:"grid gap-10",children:[B,F]})}),e[69]=B,e[70]=F,e[71]=de,e[72]=se):se=e[72],se}const ue=`Commerce setup will continue for ${t.name}.`;let q;e[73]!==ue?(q=n.jsx(A,{title:"Commerce diagnostics",description:ue}),e[73]=ue,e[74]=q):q=e[74];let H;e[75]!==$||e[76]!==u||e[77]!==C.isPending||e[78]!==o?(H=n.jsx(he,{siteUrl:o,error:u,isSubmitting:C.isPending,onSiteUrlChange:c,onSubmit:$}),e[75]=$,e[76]=u,e[77]=C.isPending,e[78]=o,e[79]=H):H=e[79];let ne;return e[80]!==q||e[81]!==H?(ne=n.jsx(O,{children:n.jsxs("div",{className:"grid gap-10",children:[q,H]})}),e[80]=q,e[81]=H,e[82]=ne):ne=e[82],ne}function he(r){const e=S.c(22),{siteUrl:t,error:s,isSubmitting:i,onSiteUrlChange:a,onSubmit:l}=r;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx("label",{className:"text-sm font-medium",htmlFor:"commerce-site-url",children:"Website URL"}),e[0]=o):o=e[0];let c;e[1]!==a?(c=y=>a(y.target.value),e[1]=a,e[2]=c):c=e[2];const m=!!s;let f;e[3]!==i||e[4]!==t||e[5]!==c||e[6]!==m?(f=n.jsx(Ge,{id:"commerce-site-url",type:"text",inputMode:"url",value:t,onChange:c,placeholder:"https://example.com","aria-invalid":m,disabled:i}),e[3]=i,e[4]=t,e[5]=c,e[6]=m,e[7]=f):f=e[7];let u;e[8]!==s?(u=s?n.jsx(ce,{message:s}):null,e[8]=s,e[9]=u):u=e[9];let p;e[10]!==f||e[11]!==u?(p=n.jsxs("div",{className:"grid gap-2",children:[o,f,u]}),e[10]=f,e[11]=u,e[12]=p):p=e[12];let h;e[13]!==i?(h=i?n.jsxs(n.Fragment,{children:[n.jsx(je,{size:14,className:"animate-spin"}),"Setting up"]}):n.jsxs(n.Fragment,{children:["Continue",n.jsx(ke,{size:16})]}),e[13]=i,e[14]=h):h=e[14];let g;e[15]!==i||e[16]!==h?(g=n.jsx(Y,{type:"submit",size:"xl",className:"w-full",disabled:i,children:h}),e[15]=i,e[16]=h,e[17]=g):g=e[17];let x;return e[18]!==l||e[19]!==p||e[20]!==g?(x=n.jsxs("form",{className:"grid gap-4",onSubmit:l,children:[p,g]}),e[18]=l,e[19]=p,e[20]=g,e[21]=x):x=e[21],x}function Kt(r){const e=S.c(10),{org:t,reportApp:s,onOpenReport:i}=r;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(Tt,{}),e[0]=a):a=e[0];let l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(A,{}),e[1]=l):l=e[1];const o=!s.virtualMcpId;let c;e[2]!==i||e[3]!==t||e[4]!==s.connectionId||e[5]!==o?(c=n.jsx(_t,{org:t,cdConnectionId:s.connectionId,reportDisabled:o,onOpenReport:i}),e[2]=i,e[3]=t,e[4]=s.connectionId,e[5]=o,e[6]=c):c=e[6];let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(Rt,{className:"md:hidden"}),e[7]=m):m=e[7];let f;return e[8]!==c?(f=n.jsx(O,{visual:a,children:n.jsxs("div",{className:"flex h-[calc(100dvh-3rem)] flex-col gap-10 md:grid md:h-auto",children:[l,c,m]})}),e[8]=c,e[9]=f):f=e[9],f}function ce(r){const e=S.c(2),{message:t}=r;let s;return e[0]!==t?(s=n.jsx("p",{className:"text-sm leading-5 text-destructive",role:"alert",children:t}),e[0]=t,e[1]=s):s=e[1],s}export{Fn as default};
@@ -1 +0,0 @@
1
- import{am as ot,an as he,ao as lt,ap as at,aq as Oe,m as le,ar as ct,as as dt,r as $,at as mt,au as ut,av as ft,aw as ht,ax as Se,ay as pt,az as xt,aA as gt,c as k,j as n,w as J,l as G,i as ae,aB as Z,t as U,K as te,k as se,B as Y,d as bt,a7 as yt,E as vt,a as jt}from"./index-BOEUnQ16.js";import{u as be}from"./tooltip-C73vGx59.js";import{i as wt,u as ce,m as Nt,a as St,S as Ct}from"./use-mcp-client-Da9sRmnt.js";import{u as _t,b as It,v as Tt,a as kt}from"./use-virtual-mcp-BI80r96t.js";import{i as $t}from"./ChevronUp-CYHUjSzO.js";import{e as At,A as de,Y as Et,a7 as Ot,D as Pt,k as Mt}from"./agent-icon-DpZrOqHC.js";import{s as ye}from"./Plus-Bzf3CZgl.js";import{i as Pe}from"./X-CAV77AV6.js";import{C as re}from"./index-hyUxIDvS.js";import{b as zt}from"./chat-context-D-LKEDCk.js";import{N as Rt}from"./decopilot-DhIm-t3i.js";import{g as Lt,b as Me,c as oe,K as ze,P as Re,D as Le,d as Ht,S as Dt,v as Ft,e as Ut,C as Qt,s as Bt,l as qt,k as Vt,o as Kt,u as Wt,j as Gt,h as Jt}from"./sortable.esm-Dmt85o3z.js";import{u as He,a as De,o as Xt}from"./use-organization-settings-BCuQxu_g.js";import{c as ve,b as Zt,h as Yt}from"./shell-layout-CV0GLE78.js";import{I as Fe}from"./input-Dpm-wjc8.js";import{S as es,t as je,P as ts,j as ss,s as ns,g as is}from"./scroll-area-BzQVputN.js";import{S as rs,a as os,b as ls,c as as,d as cs}from"./sheet-DLBJgbkz.js";import{S as H}from"./skeleton-BX3snBo3.js";import{t as Ue}from"./ChevronDown-B7wZ2dhC.js";import{c as Qe}from"./ZoomOut-Cf_cVqP_.js";import{g as Be,M as ds}from"./types-DO14PvKA.js";import{I as qe}from"./integration-icon-BUHEF2ai.js";import{b as ms,c as us,S as fs,a as Ce,d as hs}from"./select-CsnP3MmZ.js";import{T as ps}from"./textarea--_U2p1mn.js";import{u as Ve}from"./studio-tools-DqnmzWTT.js";import{a as xs}from"./use-mcp-tools-BxfXWcZE.js";import{i as gs}from"./XCircle-DLfZ2b5u.js";import{f as bs}from"./tab-id-BptcWVWa.js";import{g as ys}from"./use-mcp-prompts-BR2gK5kG.js";import{u as vs,w as js}from"./hooks-BqHMEBso.js";import{a as ws,g as Ns,c as Ss,b as Cs,D as _s}from"./dropdown-menu-5g8UZmyj.js";import{s as Is}from"./Trash01-cuwi9yy2.js";import{a as Ts,u as ks}from"./use-ai-providers-yJM6WuqN.js";import{u as $s}from"./connect-desktop-dialog-CxAamCFt.js";import{a as As}from"./toolbar-DSevsKah.js";import"./auth-VPD4Z7uj.js";import"./use-collections-3DlhnXiC.js";import"./AlertCircle-kSb-Qf9n.js";import"./Tool01-CyHE87a1.js";import"./SwitchHorizontal01-BJs9_RSs.js";import"./Settings02-CDqbYNx0.js";import"./ArrowUpRight-DO7qF3FR.js";import"./ZapSquare-7E5PpjYg.js";import"./Users03-BCQ19tMn.js";import"./CheckCircle-D6EE7Hmb.js";import"./ChevronLeft-w56H85iU.js";import"./ChevronRight-BoaGhbkW.js";import"./DotsVertical-j1hNgjaQ.js";import"./Stars02-DXNdBxv2.js";import"./Eye-BBp7OFME.js";import"./Globe01-BPaIp2G4.js";import"./FilterLines-DplcErOH.js";import"./Star01-CNNNcPDW.js";import"./Globe04-BXv8f1DJ.js";import"./HardDrive-Cgonccxa.js";import"./Key01-amtVh9Pr.js";import"./LayoutLeft-bKhOA729.js";import"./LinkExternal01-_D0rcHDt.js";import"./Monitor01-BZ-_RPko.js";import"./Sun-DhFcEKDD.js";import"./Palette-EgKDa0_1.js";import"./Play-DuG-6BxB.js";import"./SearchMd-DpMSIAeq.js";import"./Shield01-CjRICO_s.js";import"./Stars01-C8ysp7a4.js";import"./Upload01-Cwtbh8sn.js";import"./User01-DqBopRvD.js";import"./Users01-Y-KIXecC.js";import"./XClose-BMo1vUt2.js";import"./Zap-QgQiv5aC.js";import"./dialog-B30hErlE.js";import"./drawer-Bj3LFkPG.js";import"./collection-search-D5rZ-51v.js";import"./form-MhNC6i_S.js";import"./label-C11ohVz9.js";import"./tabs-DEhvH9u3.js";import"./toggle-group-Bx5PBwdQ.js";import"./popover-B9SXnqeu.js";import"./command-DzaJUoKq.js";import"./index-DrV1JIHB.js";import"./useInfiniteQuery-qXZpzYgW.js";import"./use-infinite-scroll-D_WRvqma.js";import"./question-004-sINsf4GQ.js";import"./checkbox-DvYZyWAu.js";import"./ai-providers-logos-DD3qZ33J.js";import"./avatar-BilFqnob.js";import"./settings-section-BKFAq9Na.js";import"./card-BupjtJkr.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-D_O9kugK.js";import"./use-registry-connections-Dma9pkbk.js";import"./use-connection-BiUFPmfA.js";import"./extract-connection-data-DrZwJcIT.js";import"./collection-tabs-B0DaNRfG.js";import"./badge-CnhOrtd9.js";import"./connection-form-helpers-DU4oKsTL.js";import"./authenticate-and-persist-oauth-Dji1uo75.js";import"./mcp-oauth-DWd1pMWO.js";import"./useSuspenseInfiniteQuery-8AoK9WIm.js";import"./required-auth-layout-DO6Nx9kv.js";import"./use-org-sso-B6kdlgAy.js";import"./use-clock-tick-Bot0OsMN.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CcxJwita.js";import"./file-type-icon-Pm9PbUF4.js";import"./content-blocks-o63cs2vh.js";import"./use-navigate-to-agent-xTXQLL0h.js";import"./decopilot-sse-pool-ml_VBwzU.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";function _e(t,e){const s=new Set(e);return t.filter(r=>!s.has(r))}function Es(t,e,s){const r=t.slice(0);return r[e]=s,r}var Os=class extends ot{#i;#e;#r;#n;#t;#s;#o;#l;#a;#c=[];constructor(t,e,s){super(),this.#i=t,this.#n=s,this.#r=[],this.#t=[],this.#e=[],this.setQueries(e)}onSubscribe(){this.listeners.size===1&&this.#t.forEach(t=>{t.subscribe(e=>{this.#f(t,e)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#t.forEach(t=>{t.destroy()})}setQueries(t,e){this.#r=t,this.#n=e,he.batch(()=>{const s=this.#t,r=this.#u(this.#r);r.forEach(c=>c.observer.setOptions(c.defaultedQueryOptions));const i=r.map(c=>c.observer),o=i.map(c=>c.getCurrentResult()),l=s.length!==i.length,d=i.some((c,u)=>c!==s[u]),a=l||d,m=a?!0:o.some((c,u)=>{const f=this.#e[u];return!f||!lt(c,f)});!a&&!m||(a&&(this.#c=r,this.#t=i),this.#e=o,this.hasListeners()&&(a&&(_e(s,i).forEach(c=>{c.destroy()}),_e(i,s).forEach(c=>{c.subscribe(u=>{this.#f(c,u)})})),this.#h()))})}getCurrentResult(){return this.#e}getQueries(){return this.#t.map(t=>t.getCurrentQuery())}getObservers(){return this.#t}getOptimisticResult(t,e){const s=this.#u(t),r=s.map(o=>o.observer.getOptimisticResult(o.defaultedQueryOptions)),i=s.map(o=>o.defaultedQueryOptions.queryHash);return[r,o=>this.#m(o??r,e,i),()=>this.#d(r,s)]}#d(t,e){return e.map((s,r)=>{const i=t[r];return s.defaultedQueryOptions.notifyOnChangeProps?i:s.observer.trackResult(i,o=>{e.forEach(l=>{l.observer.trackProp(o)})})})}#m(t,e,s){if(e){const r=this.#a,i=s!==void 0&&r!==void 0&&(r.length!==s.length||s.some((o,l)=>o!==r[l]));return(!this.#s||this.#e!==this.#l||i||e!==this.#o)&&(this.#o=e,this.#l=this.#e,s!==void 0&&(this.#a=s),this.#s=at(this.#s,e(t))),this.#s}return t}#p(){return this.#n?.combine!==void 0&&this.#t.some((t,e)=>t.options.suspense&&this.#e[e]?.data===void 0)}#u(t){const e=new Map;this.#t.forEach(r=>{const i=r.options.queryHash;if(!i)return;const o=e.get(i);o?o.push(r):e.set(i,[r])});const s=[];return t.forEach(r=>{const i=this.#i.defaultQueryOptions(r),l=e.get(i.queryHash)?.shift()??new Oe(this.#i,i);s.push({defaultedQueryOptions:i,observer:l})}),s}#f(t,e){const s=this.#t.indexOf(t);s!==-1&&(this.#e=Es(this.#e,s,e),this.#h())}#h(){if(this.hasListeners()){const t=this.#d(this.#e,this.#c),e=this.#p(),s=this.#s,r=e?s:this.#m(t,this.#n?.combine);(e||s!==r)&&he.batch(()=>{this.listeners.forEach(i=>{i(this.#e)})})}}};function Ps({queries:t,...e},s){const r=le(s),i=ct(),o=dt(),l=$.useMemo(()=>t.map(p=>{const g=r.defaultQueryOptions(p);return g._optimisticResults=i?"isRestoring":"optimistic",g}),[t,r,i]);l.forEach(p=>{mt(p);const g=r.getQueryCache().get(p.queryHash);ut(p,o,g)}),ft(o);const[d]=$.useState(()=>new Os(r,l,e)),[a,m,c]=d.getOptimisticResult(l,e.combine),u=!i&&e.subscribed!==!1;$.useSyncExternalStore($.useCallback(p=>u?d.subscribe(he.batchCalls(p)):ht,[d,u]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),$.useEffect(()=>{d.setQueries(l,e)},[l,e,d]);const h=a.some((p,g)=>Se(l[g],p))?a.flatMap((p,g)=>{const y=l[g];if(y&&Se(y,p)){const j=new Oe(r,y);return pt(y,j,o)}return[]}):[];if(h.length>0)throw Promise.all(h);const x=a.find((p,g)=>{const y=l[g];return y&&xt({result:p,errorResetBoundary:o,throwOnError:y.throwOnError,query:r.getQueryCache().get(y.queryHash),suspense:y.suspense})});if(x?.error)throw x.error;return m(c())}function Ms(t,e){return Ps({...t,queries:t.queries.map(s=>({...s,suspense:!0,throwOnError:gt,enabled:!0,placeholderData:void 0}))},e)}function Ke(t){const e=k.c(11),{properties:s,required:r,values:i,onChange:o}=t;let l;e[0]!==r?(l=r??[],e[0]=r,e[1]=l):l=e[1];let d;e[2]!==l?(d=new Set(l),e[2]=l,e[3]=d):d=e[3];const a=d;let m;e[4]!==s?(m=Object.entries(s),e[4]=s,e[5]=m):m=e[5];let c;return e[6]!==o||e[7]!==a||e[8]!==m||e[9]!==i?(c=n.jsx("div",{className:"flex flex-col gap-2",children:m.map(u=>{const[f,h]=u;return n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("label",{className:"text-xs font-medium leading-none flex items-center gap-1",children:[f,a.has(f)&&n.jsx("span",{className:"text-red-500 text-[10px]",children:"*"})]}),n.jsx("span",{className:"text-[10px] text-muted-foreground font-mono",children:h.type})]}),h.description&&n.jsx("p",{className:"text-[10px] text-muted-foreground leading-snug",children:h.description}),n.jsx(zs,{type:h.type,fieldKey:f,value:i[f],onChange:x=>o(f,x)})]},f)})}),e[6]=o,e[7]=a,e[8]=m,e[9]=i,e[10]=c):c=e[10],c}function zs(t){const e=k.c(19),{type:s,fieldKey:r,value:i,onChange:o}=t;if(s==="object"||s==="array"){const c=i??"";let u;e[0]!==o?(u=x=>o(x.target.value),e[0]=o,e[1]=u):u=e[1];const f=`Enter ${r} as JSON…`;let h;return e[2]!==c||e[3]!==u||e[4]!==f?(h=n.jsx(ps,{className:"font-mono text-xs h-16",value:c,onChange:u,placeholder:f,rows:2}),e[2]=c,e[3]=u,e[4]=f,e[5]=h):h=e[5],h}if(s==="boolean"){const c=i!=null?String(i):"";let u;e[6]!==o?(u=p=>o(p==="true"),e[6]=o,e[7]=u):u=e[7];let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(ms,{className:"h-7 text-xs",children:n.jsx(us,{placeholder:"Select…"})}),e[8]=f):f=e[8];let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=n.jsxs(fs,{children:[n.jsx(Ce,{value:"true",children:"true"}),n.jsx(Ce,{value:"false",children:"false"})]}),e[9]=h):h=e[9];let x;return e[10]!==c||e[11]!==u?(x=n.jsxs(hs,{value:c,onValueChange:u,children:[f,h]}),e[10]=c,e[11]=u,e[12]=x):x=e[12],x}const l=i??"";let d;e[13]!==o?(d=c=>o(c.target.value),e[13]=o,e[14]=d):d=e[14];const a=`Enter ${r}…`;let m;return e[15]!==l||e[16]!==d||e[17]!==a?(m=n.jsx(Fe,{className:"h-7 text-xs",value:l,onChange:d,placeholder:a}),e[15]=l,e[16]=d,e[17]=a,e[18]=m):m=e[18],m}const ne=8;function Rs(t){const e=k.c(16),{open:s,onOpenChange:r}=t,[i,o]=$.useState("");let l,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx(rs,{children:"Manage home"}),d=n.jsx(os,{children:"Add agents to the home board and pin their interactive UIs or prompts."}),e[0]=l,e[1]=d):(l=e[0],d=e[1]);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(At,{size:14,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none","aria-hidden":!0}),e[2]=a):a=e[2];let m;e[3]===Symbol.for("react.memo_cache_sentinel")?(m=p=>o(p.target.value),e[3]=m):m=e[3];let c;e[4]!==i?(c=n.jsxs(ls,{className:"px-5 py-4 border-b border-border",children:[l,d,n.jsxs("div",{className:"relative mt-3",children:[a,n.jsx(Fe,{value:i,onChange:m,placeholder:"Search agents…",className:"pl-8 h-8 text-sm"})]})]}),e[4]=i,e[5]=c):c=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(hn,{}),e[6]=u):u=e[6];let f;e[7]!==i?(f=n.jsx(es,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:n.jsx("div",{className:"p-3 flex flex-col gap-4",children:n.jsx($.Suspense,{fallback:u,children:n.jsx(Hs,{search:i})})})}),e[7]=i,e[8]=f):f=e[8];let h;e[9]!==c||e[10]!==f?(h=n.jsxs(as,{side:"right",className:"w-full sm:max-w-md p-0 flex flex-col",children:[c,f]}),e[9]=c,e[10]=f,e[11]=h):h=e[11];let x;return e[12]!==r||e[13]!==s||e[14]!==h?(x=n.jsx(cs,{open:s,onOpenChange:r,children:h}),e[12]=r,e[13]=s,e[14]=h,e[15]=x):x=e[15],x}function Ls(t){const e=k.c(32),{org:s}=J(),r=He();let i;e[0]!==r?.ids?(i=r?.ids??[],e[0]=r?.ids,e[1]=i):i=e[1];const o=i,l=De(),d=It(),a=le();let m;e[2]!==s||e[3]!==a?(m=()=>a.refetchQueries({queryKey:te.homeNextActions(s.slug),type:"active"}),e[2]=s,e[3]=a,e[4]=m):m=e[4];const c=m;let u;e[5]!==o?(u=C=>o.includes(C),e[5]=o,e[6]=u):u=e[6];const f=u;let h;e[7]!==o||e[8]!==t?(h=t?o.filter(C=>t.has(C)).length:o.length,e[7]=o,e[8]=t,e[9]=h):h=e[9];const p=h>=ne;let g;e[10]!==p||e[11]!==f||e[12]!==l?(g=C=>f(C)||p?Promise.resolve():l.apply(I=>I.includes(C)?null:[...I,C]),e[10]=p,e[11]=f,e[12]=l,e[13]=g):g=e[13];const y=g;let j;e[14]!==l?(j=C=>l.apply(I=>I.filter(T=>T!==C)),e[14]=l,e[15]=j):j=e[15];const w=j;let v;e[16]!==l?(v=C=>l.apply(()=>C),e[16]=l,e[17]=v):v=e[17];const b=v;let N;e[18]!==d||e[19]!==p||e[20]!==f||e[21]!==c||e[22]!==l?(N=async(C,I)=>{await d.update.mutateAsync({id:C.id,data:{metadata:I}}),!f(C.id)&&!p&&await l.apply(T=>T.includes(C.id)?null:[...T,C.id]),await c()},e[18]=d,e[19]=p,e[20]=f,e[21]=c,e[22]=l,e[23]=N):N=e[23];const S=N;let _;return e[24]!==y||e[25]!==p||e[26]!==o||e[27]!==f||e[28]!==w||e[29]!==b||e[30]!==S?(_={homeIds:o,isOnHome:f,atLimit:p,addAgent:y,removeAgent:w,reorder:b,saveAgentMetadata:S},e[24]=y,e[25]=p,e[26]=o,e[27]=f,e[28]=w,e[29]=b,e[30]=S,e[31]=_):_=e[31],_}function Hs(t){const e=k.c(21),{search:s}=t;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={pageSize:1e3},e[0]=r):r=e[0];const i=_t(r);let o;e[1]!==i?(o=new Set(i.map(Bs)),e[1]=i,e[2]=o):o=e[2];const l=Ls(o);let d,a,m;if(e[3]!==i||e[4]!==l||e[5]!==s){const p=new Map(i.map(Qs));d=s.trim().toLowerCase();const g=w=>!d||w.title?.toLowerCase().includes(d);a=l.homeIds.map(w=>p.get(w)).filter(Us).filter(g);const y=Lt(i);let j;e[9]!==l?(j=w=>!l.isOnHome(w.id),e[9]=l,e[10]=j):j=e[10],m=i.filter(Fs).filter(w=>!y.has(w.id)).filter(j).filter(g).sort(Ds),e[3]=i,e[4]=l,e[5]=s,e[6]=d,e[7]=a,e[8]=m}else d=e[6],a=e[7],m=e[8];const c=m;let u;e[11]!==l||e[12]!==a?(u=n.jsx(qs,{home:l,agents:a}),e[11]=l,e[12]=a,e[13]=u):u=e[13];const f=!!d;let h;e[14]!==c||e[15]!==l||e[16]!==f?(h=n.jsx(Ws,{home:l,agents:c,hasSearch:f}),e[14]=c,e[15]=l,e[16]=f,e[17]=h):h=e[17];let x;return e[18]!==u||e[19]!==h?(x=n.jsxs(n.Fragment,{children:[u,h]}),e[18]=u,e[19]=h,e[20]=x):x=e[20],x}function Ds(t,e){return(t.title??"").localeCompare(e.title??"")}function Fs(t){return t.id&&!wt(t.id)}function Us(t){return!!t}function Qs(t){return[t.id,t]}function Bs(t){return t.id}function We(t){const e=k.c(7),{title:s,hint:r}=t;let i;e[0]!==s?(i=n.jsx("span",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:s}),e[0]=s,e[1]=i):i=e[1];let o;e[2]!==r?(o=r&&n.jsx("span",{className:"text-xs text-muted-foreground",children:r}),e[2]=r,e[3]=o):o=e[3];let l;return e[4]!==i||e[5]!==o?(l=n.jsxs("div",{className:"flex items-center justify-between px-1",children:[i,o]}),e[4]=i,e[5]=o,e[6]=l):l=e[6],l}function qs(t){const e=k.c(14),{home:s,agents:r}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={activationConstraint:{distance:5}},e[0]=i):i=e[0];let o;e[1]===Symbol.for("react.memo_cache_sentinel")?(o={coordinateGetter:Bt},e[1]=o):o=e[1];const l=Me(oe(Re,i),oe(ze,o));let d;e[2]!==s?(d=h=>{const{active:x,over:p}=h;if(!p||x.id===p.id)return;const g=s.homeIds,y=g.indexOf(x.id),j=g.indexOf(p.id);y===-1||j===-1||s.reorder(qt([...g],y,j)).catch(Ks)},e[2]=s,e[3]=d):d=e[3];const a=d,m=`${s.homeIds.length}/${ne}`;let c;e[4]!==m?(c=n.jsx(We,{title:"On home",hint:m}),e[4]=m,e[5]=c):c=e[5];let u;e[6]!==r||e[7]!==a||e[8]!==s||e[9]!==l?(u=r.length===0?n.jsx("p",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:"No agents on the home yet."}):n.jsx(Le,{sensors:l,collisionDetection:Ht,onDragEnd:a,children:n.jsx(Dt,{items:r.map(Vs),strategy:Ft,children:n.jsx("div",{className:"flex flex-col gap-1",children:r.map(h=>n.jsx(Js,{agent:h,home:s},h.id))})})}),e[6]=r,e[7]=a,e[8]=s,e[9]=l,e[10]=u):u=e[10];let f;return e[11]!==c||e[12]!==u?(f=n.jsxs("div",{className:"flex flex-col gap-1.5",children:[c,u]}),e[11]=c,e[12]=u,e[13]=f):f=e[13],f}function Vs(t){return t.id}function Ks(){return U.error("Couldn't reorder home — please try again.")}function Ws(t){const e=k.c(6),{home:s,agents:r,hasSearch:i}=t,[o,l]=$.useState(20);let d;if(e[0]!==r||e[1]!==i||e[2]!==s||e[3]!==o){const a=r.slice(0,o);let m;e[5]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx(We,{title:"Add to home"}),e[5]=m):m=e[5],d=n.jsxs("div",{className:"flex flex-col gap-1.5",children:[m,r.length===0?n.jsx("p",{className:"px-3 py-4 text-center text-xs text-muted-foreground",children:i?"No agents match.":"Every agent is on the home."}):n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex flex-col gap-1",children:a.map(c=>n.jsx(Ys,{agent:c,home:s},c.id))}),r.length>o&&n.jsxs("button",{type:"button",onClick:()=>l(Gs),className:"mt-1 self-center rounded-md px-3 py-1.5 text-xs text-muted-foreground hover:bg-accent/40 hover:text-foreground",children:["Load more (",r.length-o,")"]})]})]}),e[0]=r,e[1]=i,e[2]=s,e[3]=o,e[4]=d}else d=e[4];return d}function Gs(t){return t+20}function Ge(t){const e=Z(t.metadata?.ui).filter(o=>!!o.resourceUri).length,s=t.metadata?.ui?.homePrompts,r=Array.isArray(s)?s.length:null,i=[];return e>0&&i.push(`${e} tile${e===1?"":"s"}`),r!==null&&r>0&&i.push(`${r} prompt${r===1?"":"s"}`),r===0&&i.push("prompts off"),i.join(" · ")}function Js(t){const e=k.c(57),{agent:s,home:r}=t,[i,o]=$.useState(!1);let l;e[0]!==s.id?(l={id:s.id},e[0]=s.id,e[1]=l):l=e[1];const{attributes:d,listeners:a,setNodeRef:m,transform:c,transition:u,isDragging:f}=Ut(l),h=Ge(s)||"Quick access";let x;e[2]!==c?(x=Qt.Transform.toString(c),e[2]=c,e[3]=x):x=e[3];const p=f?.5:void 0,g=f?100:void 0;let y;e[4]!==x||e[5]!==p||e[6]!==g||e[7]!==u?(y={transform:x,transition:u,opacity:p,zIndex:g},e[4]=x,e[5]=p,e[6]=g,e[7]=u,e[8]=y):y=e[8];const j=y,w=f&&"shadow-lg";let v;e[9]!==w?(v=G("rounded-lg border border-border bg-card",w),e[9]=w,e[10]=v):v=e[10];const b=`Drag to reorder ${s.title??s.id}`;let N;e[11]===Symbol.for("react.memo_cache_sentinel")?(N=n.jsx(Qe,{size:14}),e[11]=N):N=e[11];let S;e[12]!==d||e[13]!==a||e[14]!==b?(S=n.jsx("button",{type:"button",...d,...a,className:"shrink-0 text-muted-foreground hover:text-foreground cursor-grab active:cursor-grabbing outline-none focus-visible:ring-2 focus-visible:ring-ring rounded","aria-label":b,children:N}),e[12]=d,e[13]=a,e[14]=b,e[15]=S):S=e[15];let _;e[16]===Symbol.for("react.memo_cache_sentinel")?(_=()=>o(Zs),e[16]=_):_=e[16];const C=s.title??s.id;let I;e[17]!==s.icon||e[18]!==C?(I=n.jsx(de,{icon:s.icon,name:C,size:"sm"}),e[17]=s.icon,e[18]=C,e[19]=I):I=e[19];const T=s.title??s.id;let E;e[20]!==T?(E=n.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:T}),e[20]=T,e[21]=E):E=e[21];let P;e[22]!==h?(P=n.jsx("div",{className:"truncate text-xs text-muted-foreground",children:h}),e[22]=h,e[23]=P):P=e[23];let M;e[24]!==E||e[25]!==P?(M=n.jsxs("div",{className:"min-w-0 flex-1",children:[E,P]}),e[24]=E,e[25]=P,e[26]=M):M=e[26];const Q=i&&"rotate-180";let z;e[27]!==Q?(z=G("shrink-0 text-muted-foreground transition-transform",Q),e[27]=Q,e[28]=z):z=e[28];let R;e[29]!==z?(R=n.jsx(Ue,{size:16,className:z}),e[29]=z,e[30]=R):R=e[30];let q;e[31]!==i||e[32]!==I||e[33]!==M||e[34]!==R?(q=n.jsxs("button",{type:"button",onClick:_,className:"flex min-w-0 flex-1 items-center gap-2.5 text-left outline-none","aria-expanded":i,children:[I,M,R]}),e[31]=i,e[32]=I,e[33]=M,e[34]=R,e[35]=q):q=e[35];let A;e[36]!==s.id||e[37]!==r?(A=()=>r.removeAgent(s.id).catch(Xs),e[36]=s.id,e[37]=r,e[38]=A):A=e[38];const B=`Remove ${s.title??s.id} from home`;let L;e[39]===Symbol.for("react.memo_cache_sentinel")?(L=n.jsx(Pe,{size:14}),e[39]=L):L=e[39];let O;e[40]!==A||e[41]!==B?(O=n.jsx("button",{type:"button",onClick:A,"aria-label":B,title:"Remove from home",className:"shrink-0 inline-flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-destructive/10 hover:text-destructive",children:L}),e[40]=A,e[41]=B,e[42]=O):O=e[42];let D;e[43]!==S||e[44]!==q||e[45]!==O?(D=n.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-2.5",children:[S,q,O]}),e[43]=S,e[44]=q,e[45]=O,e[46]=D):D=e[46];let F;e[47]!==s||e[48]!==i||e[49]!==r?(F=i&&n.jsx(Je,{agent:s,home:r}),e[47]=s,e[48]=i,e[49]=r,e[50]=F):F=e[50];let K;return e[51]!==m||e[52]!==j||e[53]!==D||e[54]!==F||e[55]!==v?(K=n.jsxs("div",{ref:m,style:j,className:v,children:[D,F]}),e[51]=m,e[52]=j,e[53]=D,e[54]=F,e[55]=v,e[56]=K):K=e[56],K}function Xs(){return U.error("Couldn't remove from home — please try again.")}function Zs(t){return!t}function Ys({agent:t,home:e}){const[s,r]=$.useState(!1),[i,o]=$.useState(!1),l=Ge(t),d=async()=>{if(!e.atLimit){o(!0);try{await e.addAgent(t.id)}catch{U.error("Couldn't add to home — please try again.")}finally{o(!1)}}};return n.jsxs("div",{className:"rounded-lg border border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 px-3 py-2.5",children:[n.jsxs("button",{type:"button",onClick:()=>r(a=>!a),className:"flex min-w-0 flex-1 items-center gap-3 text-left outline-none","aria-expanded":s,children:[n.jsx(de,{icon:t.icon,name:t.title??t.id,size:"sm"}),n.jsxs("div",{className:"min-w-0 flex-1",children:[n.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:t.title??t.id}),l&&n.jsx("div",{className:"truncate text-xs text-muted-foreground",children:l})]}),n.jsx(Ue,{size:16,className:G("shrink-0 text-muted-foreground transition-transform",s&&"rotate-180")})]}),n.jsx("button",{type:"button",onClick:d,disabled:i||e.atLimit,"aria-label":"Add to home",title:e.atLimit?`Home is full (${ne}) — remove an agent first`:"Add to home",className:"shrink-0 inline-flex size-7 items-center justify-center rounded-md bg-foreground text-background text-xs hover:opacity-90 disabled:opacity-40 disabled:cursor-not-allowed",children:i?n.jsx(ae,{size:12,className:"animate-spin"}):n.jsx(ye,{size:14})})]}),s&&n.jsx(Je,{agent:t,home:e})]})}function Je(t){const e=k.c(17),{agent:s,home:r}=t,i=s.metadata?.ui;let o;e[0]!==i?(o=Z(i),e[0]=i,e[1]=o):o=e[1];const l=o;let d;e[2]!==s.connections?(d=(s.connections??[]).map(en).sort(),e[2]=s.connections,e[3]=d):d=e[3];const a=d,m=s.metadata?.ui?.homePrompts;let c;e[4]!==s||e[5]!==a||e[6]!==r||e[7]!==l?(c=n.jsx(sn,{agent:s,home:r,connectionIds:a,pinnedTiles:l}),e[4]=s,e[5]=a,e[6]=r,e[7]=l,e[8]=c):c=e[8];let u;e[9]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(tn,{}),e[9]=u):u=e[9];const f=m??null;let h;e[10]!==s||e[11]!==r||e[12]!==f?(h=n.jsx($.Suspense,{fallback:u,children:n.jsx(an,{agent:s,home:r,curated:f})}),e[10]=s,e[11]=r,e[12]=f,e[13]=h):h=e[13];let x;return e[14]!==c||e[15]!==h?(x=n.jsxs("div",{className:"border-t border-border px-3 py-2 flex flex-col gap-3",children:[c,h]}),e[14]=c,e[15]=h,e[16]=x):x=e[16],x}function en(t){return t.connection_id}function tn(){const t=k.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex flex-col gap-2 py-1",children:[n.jsx(H,{className:"h-8 w-full"}),n.jsx(H,{className:"h-8 w-2/3"})]}),t[0]=e):e=t[0],e}function sn({agent:t,home:e,connectionIds:s,pinnedTiles:r}){const i=Ve(),{data:o,isLoading:l}=se({queryKey:te.projectConnectionDetails(t.id,s),enabled:s.length>0,queryFn:async()=>(await Promise.all(s.map(async u=>{try{const{item:f}=await i.call("COLLECTION_CONNECTIONS_GET",{id:u}),h=(f?.tools??[]).flatMap(x=>{const p=Be(x._meta);return p?[{name:x.name,description:x.description,resourceUri:p,inputSchema:x.inputSchema}]:[]});return{id:u,title:f?.title??u,icon:f?.icon??null,uiTools:h}}catch{return{id:u,title:u,icon:null,uiTools:[]}}}))).filter(u=>u.uiTools.length>0)});if(s.length===0)return null;if(l)return n.jsxs("div",{className:"flex flex-col gap-1 py-0.5",children:[n.jsx(H,{className:"h-7 w-full"}),n.jsx(H,{className:"h-7 w-2/3"})]});if(!o||o.length===0)return null;const d=new Map;for(const c of o)for(const u of c.uiTools)d.set(`${c.id}:${u.name}`,{conn:c,tool:u});const a=c=>{if(c.toolName&&c.connectionId)return d.get(`${c.connectionId}:${c.toolName}`);for(const[,u]of d)if(u.conn.id===c.connectionId&&u.tool.resourceUri===c.resourceUri)return u},m=r.some(c=>!!a(c));return n.jsxs("div",{className:"flex flex-col gap-2",children:[m&&n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide text-muted-foreground px-2",children:"Pinned tiles"}),r.map(c=>{const u=a(c);return u?n.jsx(on,{agent:t,home:e,connection:u.conn,tool:u.tool,tile:c},c.tileId??`${c.connectionId}:${c.resourceUri}:${c.toolName}`):null})]}),n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wide text-muted-foreground px-2",children:"Add tile"}),o.map(c=>c.uiTools.map(u=>n.jsx(ln,{agent:t,home:e,connection:c,tool:u},`add:${c.id}:${u.name}`)))]})]})}function Xe(t,e){const s={};for(const[r,i]of Object.entries(t)){const o=e[r]?.type;if((o==="object"||o==="array")&&typeof i=="string"){if(!i.trim())continue;try{s[r]=JSON.parse(i)}catch{return null}}else if((o==="number"||o==="integer")&&typeof i=="string"){if(!i.trim())continue;s[r]=Number(i)}else i!==""&&i!=null&&(s[r]=i)}return s}function nn(t,e){if(!t||!e)return{};const s={};for(const[r,i]of Object.entries(t)){const o=e[r]?.type;(o==="object"||o==="array")&&i!=null&&typeof i!="string"?s[r]=JSON.stringify(i,null,2):s[r]=i}return s}function rn(t){if(!t)return"";const e=Object.entries(t).filter(([,s])=>s!=null&&s!=="");return e.length===0?"":e.slice(0,3).map(([s,r])=>{const i=typeof r=="object"?JSON.stringify(r):String(r);return`${s}=${i.length>20?`${i.slice(0,20)}…`:i}`}).join(", ")}function on({agent:t,home:e,connection:s,tool:r,tile:i}){const[o,l]=$.useState(!1),[d,a]=$.useState(!1),m=r.inputSchema?.properties&&Object.keys(r.inputSchema.properties).length>0,[c,u]=$.useState(()=>nn(i.toolInput,r.inputSchema?.properties)),f=async()=>{l(!0);try{const p=Z(t.metadata?.ui),g=i.tileId?p.filter(j=>j.tileId!==i.tileId):p.filter(j=>j!==i),y={...t.metadata??{},ui:{...t.metadata?.ui??{},homeTile:null,homeTiles:g}};await e.saveAgentMetadata(t,y),a(!1)}catch(p){console.error("[home-tiles] failed to remove tile",p),U.error("Couldn't update home — please try again.")}finally{l(!1)}},h=async()=>{l(!0);try{let p;if(m&&r.inputSchema?.properties){const w=Xe(c,r.inputSchema.properties);if(!w){U.error("Invalid JSON in one of the fields — please fix it."),l(!1);return}Object.keys(w).length>0&&(p=w)}const y=Z(t.metadata?.ui).map(w=>(i.tileId?w.tileId===i.tileId:w===i)?{...w,toolInput:p}:w),j={...t.metadata??{},ui:{...t.metadata?.ui??{},homeTile:null,homeTiles:y}};await e.saveAgentMetadata(t,j),a(!1)}catch(p){console.error("[home-tiles] failed to save tile",p),U.error("Couldn't update home — please try again.")}finally{l(!1)}},x=rn(i.toolInput);return n.jsxs("div",{className:"flex flex-col rounded-md bg-accent/20",children:[n.jsxs("div",{className:"flex items-center gap-2.5 px-2 py-1",children:[n.jsx(qe,{icon:s.icon,name:s.title,size:"xs"}),n.jsxs("div",{className:"min-w-0 flex-1",children:[n.jsx("div",{className:"truncate text-sm text-foreground",children:je(r.name)}),x&&n.jsx("div",{className:"truncate text-[10px] text-muted-foreground font-mono",children:x})]}),m&&n.jsx("button",{type:"button",onClick:()=>a(p=>!p),"aria-label":"Configure tile props",title:"Configure tile props",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent/60",children:n.jsx(Et,{size:14})}),n.jsx(we,{isPinned:!0,submitting:o,onClick:f,label:"Remove from home"})]}),d&&m&&r.inputSchema?.properties&&n.jsxs("div",{className:"px-3 pb-2 pt-1 flex flex-col gap-2",children:[n.jsx(Ke,{properties:r.inputSchema.properties,required:r.inputSchema.required,values:c,onChange:(p,g)=>u(y=>({...y,[p]:g}))}),n.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[n.jsx(Y,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>a(!1),children:"Cancel"}),n.jsx(Y,{size:"sm",className:"h-7 text-xs",disabled:o,onClick:h,children:o?n.jsx(ae,{size:12,className:"animate-spin"}):"Save"})]})]})]})}function ln({agent:t,home:e,connection:s,tool:r}){const[i,o]=$.useState(!1),[l,d]=$.useState(!1),a=r.inputSchema?.properties&&Object.keys(r.inputSchema.properties).length>0,[m,c]=$.useState({}),u=async()=>{if(a&&!l){d(!0);return}if(!e.isOnHome(t.id)&&e.atLimit){U.error(`Home is full (${ne}) — remove an agent first`);return}await f()},f=async()=>{o(!0);try{let h;if(a&&r.inputSchema?.properties){const y=Xe(m,r.inputSchema.properties);if(!y){U.error("Invalid JSON in one of the fields — please fix it."),o(!1);return}Object.keys(y).length>0&&(h=y)}const p=[...Z(t.metadata?.ui),{tileId:crypto.randomUUID(),connectionId:s.id,resourceUri:r.resourceUri,toolName:r.name,...h?{toolInput:h}:{}}],g={...t.metadata??{},ui:{...t.metadata?.ui??{},homeTile:null,homeTiles:p}};await e.saveAgentMetadata(t,g),d(!1),c({})}catch(h){console.error("[home-tiles] failed to add tile",h),U.error("Couldn't update home — please try again.")}finally{o(!1)}};return n.jsxs("div",{className:"flex flex-col rounded-md hover:bg-accent/40",children:[n.jsxs("div",{className:"flex items-center gap-2.5 px-2 py-1",children:[n.jsx(qe,{icon:s.icon,name:s.title,size:"xs"}),n.jsx("div",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:je(r.name)}),n.jsx(we,{isPinned:!1,submitting:i,onClick:u,label:"Add to home"})]}),l&&a&&r.inputSchema?.properties&&n.jsxs("div",{className:"px-3 pb-2 pt-1 flex flex-col gap-2",children:[n.jsx(Ke,{properties:r.inputSchema.properties,required:r.inputSchema.required,values:m,onChange:(h,x)=>c(p=>({...p,[h]:x}))}),n.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[n.jsx(Y,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{d(!1),c({})},children:"Cancel"}),n.jsx(Y,{size:"sm",className:"h-7 text-xs",disabled:i,onClick:f,children:i?n.jsx(ae,{size:12,className:"animate-spin"}):"Pin"})]})]})]})}function we(t){const e=k.c(11),{isPinned:s,submitting:r,onClick:i,label:o}=t,l=s?"text-muted-foreground hover:bg-destructive/10 hover:text-destructive":"bg-foreground text-background hover:opacity-90";let d;e[0]!==l?(d=G("inline-flex size-7 shrink-0 items-center justify-center rounded-md text-xs transition-colors disabled:opacity-50 disabled:cursor-progress",l),e[0]=l,e[1]=d):d=e[1];let a;e[2]!==s||e[3]!==r?(a=r?n.jsx(ae,{size:12,className:"animate-spin"}):s?n.jsx(Ot,{size:14}):n.jsx(ye,{size:14}),e[2]=s,e[3]=r,e[4]=a):a=e[4];let m;return e[5]!==o||e[6]!==i||e[7]!==r||e[8]!==d||e[9]!==a?(m=n.jsx("button",{type:"button",onClick:i,disabled:r,"aria-label":o,title:o,className:d,children:a}),e[5]=o,e[6]=i,e[7]=r,e[8]=d,e[9]=a,e[10]=m):m=e[10],m}function an(t){const e=k.c(32),{agent:s,home:r,curated:i}=t,{org:o}=J();let l;e[0]!==s.id||e[1]!==o.id||e[2]!==o.slug?(l={connectionId:s.id,orgId:o.id,orgSlug:o.slug},e[0]=s.id,e[1]=o.id,e[2]=o.slug,e[3]=l):l=e[3];const d=ce(l);let a;e[4]!==s.id||e[5]!==o.id?(a=te.agentPrompts(o.id,s.id),e[4]=s.id,e[5]=o.id,e[6]=a):a=e[6];let m;e[7]!==d?(m=async()=>{const{prompts:b}=await d.listPrompts();return b.map(un)},e[7]=d,e[8]=m):m=e[8];let c;e[9]!==a||e[10]!==m?(c={queryKey:a,queryFn:m,staleTime:3e4,retry:!1},e[9]=a,e[10]=m,e[11]=c):c=e[11];const{data:u,isLoading:f,error:h}=se(c),x=ve(o.slug);let p,g;if(e[12]!==s.id||e[13]!==u||e[14]!==x.prompts){let b;e[17]!==s.id?(b=S=>S.agentId===s.id&&S.promptName,e[17]=s.id,e[18]=b):b=e[18],p=x.prompts.filter(b).map(mn);let N;e[19]!==u?(N=u??[],e[19]=u,e[20]=N):N=e[20],g=[...N];for(const S of p)g.some(_=>_.name===S.name)||g.push(S);e[12]=s.id,e[13]=u,e[14]=x.prompts,e[15]=p,e[16]=g}else p=e[15],g=e[16];if(f&&p.length===0){let b;return e[21]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsxs("div",{className:"flex flex-col gap-1",children:[n.jsx(H,{className:"h-7 w-full"}),n.jsx(H,{className:"h-7 w-2/3"})]}),e[21]=b):b=e[21],b}if(h&&p.length===0)return console.error("[home-tiles] listPrompts failed for agent",s.id,h),null;if(g.length===0)return null;let y;e[22]!==i||e[23]!==g?(y=i??g.map(dn),e[22]=i,e[23]=g,e[24]=y):y=e[24];let j;e[25]!==y?(j=new Set(y),e[25]=y,e[26]=j):j=e[26];const w=j;let v;return e[27]!==s||e[28]!==r||e[29]!==g||e[30]!==w?(v=n.jsx("div",{className:"flex flex-col gap-0.5",children:g.map(b=>n.jsx(fn,{agent:s,home:r,prompt:b,allPromptNames:g.map(cn),isPinned:w.has(b.name)},b.name))}),e[27]=s,e[28]=r,e[29]=g,e[30]=w,e[31]=v):v=e[31],v}function cn(t){return t.name}function dn(t){return t.name}function mn(t){return{name:t.promptName,title:t.title,description:t.description}}function un(t){return{name:t.name,title:t.title,description:t.description}}function fn({agent:t,home:e,prompt:s,allPromptNames:r,isPinned:i}){const[o,l]=$.useState(!1),d=async()=>{if(!i&&!e.isOnHome(t.id)&&e.atLimit){U.error(`Home is full (${ne}) — remove an agent first`);return}l(!0);try{const a=t.metadata?.ui?.homePrompts;let m;Array.isArray(a)?m=i?a.filter(u=>u!==s.name):[...a,s.name]:m=i?r.filter(u=>u!==s.name):r;const c={...t.metadata??{},ui:{...t.metadata?.ui??{},homePrompts:m}};await e.saveAgentMetadata(t,c)}catch(a){console.error("[home-tiles] failed to toggle prompt",a),U.error("Couldn't update home — please try again.")}finally{l(!1)}};return n.jsxs("div",{className:"flex items-center gap-2.5 rounded-md px-2 py-1 hover:bg-accent/40",children:[n.jsx("div",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:s.title??je(s.name)}),n.jsx(we,{isPinned:i,submitting:o,onClick:d,label:i?"Remove from home":"Add to home"})]})}function hn(){const t=k.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"flex flex-col gap-2 p-2",children:Array.from({length:4},pn)}),t[0]=e):e=t[0],e}function pn(t,e){return n.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-border p-2.5",children:[n.jsx(H,{className:"size-8 rounded-md"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsx(H,{className:"h-3 w-1/2"}),n.jsx(H,{className:"h-2.5 w-1/3"})]})]},e)}const ee=1,Ze=`home-board.layout.v${ee}`;function Ye(t){return`home-board.layout.v${ee}.${t}`}const et={version:ee,tiles:{},hidden:[]};function pe(t){return!t||t.version!==ee?et:{version:ee,tiles:t.tiles??{},hidden:Array.isArray(t.hidden)?t.hidden:[]}}function xn(t){return Object.keys(t.tiles).length>0||t.hidden.length>0}function gn(t){try{const e=localStorage.getItem(Ye(t));return e?pe(JSON.parse(e)):void 0}catch{return}}function Ie(t,e){try{localStorage.setItem(Ye(t),JSON.stringify(e))}catch{}}async function Te(t,e){if(!(await fetch(`/api/${t}/kv/${Ze}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok)throw new Error("Failed to save board layout")}function bn(t){const e=k.c(24),s=le();let r;e[0]!==t?(r=te.boardLayout(t),e[0]=t,e[1]=r):r=e[1];const i=r;let o;e[2]!==t?(o=gn(t),e[2]=t,e[3]=o):o=e[3];const l=o;let d;e[4]!==l||e[5]!==t?(d=async()=>{const y=await fetch(`/api/${t}/kv/${Ze}`);if(y.status===404)return l&&xn(l)?(await Te(t,l),l):et;if(!y.ok)throw new Error("Failed to load board layout");const j=await y.json(),w=pe(j.value);return Ie(t,w),w},e[4]=l,e[5]=t,e[6]=d):d=e[6];let a;e[7]!==l||e[8]!==i||e[9]!==d?(a={queryKey:i,queryFn:d,initialData:l,staleTime:0,refetchOnWindowFocus:!1},e[7]=l,e[8]=i,e[9]=d,e[10]=a):a=e[10];const{data:m,isLoading:c}=se(a);let u;e[11]!==t?(u={mutationFn:y=>Te(t,y)},e[11]=t,e[12]=u):u=e[12];const f=bt(u);let h;e[13]!==f||e[14]!==t||e[15]!==s||e[16]!==i?(h=y=>{Ie(t,y),s.setQueryData(i,y),f.mutate(y)},e[13]=f,e[14]=t,e[15]=s,e[16]=i,e[17]=h):h=e[17];const x=h;let p;e[18]!==m?(p=pe(m),e[18]=m,e[19]=p):p=e[19];let g;return e[20]!==c||e[21]!==x||e[22]!==p?(g={layout:p,isLoading:c,save:x},e[20]=c,e[21]=x,e[22]=p,e[23]=g):g=e[23],g}const tt=$.createContext(null);function yn(t){const e=k.c(24),{children:s}=t,{org:r}=J(),i=bn(r.slug),[o,l]=$.useState(!1),[d,a]=$.useState(null);let m;e[0]!==i.layout?(m=()=>{a(i.layout),l(!0)},e[0]=i.layout,e[1]=m):m=e[1];const c=m;let u;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=()=>{a(null),l(!1)},e[2]=u):u=e[2];const f=u;let h;e[3]!==d||e[4]!==i?(h=()=>{d&&i.save(d),a(null),l(!1)},e[3]=d,e[4]=i,e[5]=h):h=e[5];const x=h,p=o&&d!==null,g=p?d:i.layout;let y;e[6]!==d||e[7]!==p||e[8]!==i.layout?(y=p?JSON.stringify(d)!==JSON.stringify(i.layout):!1,e[6]=d,e[7]=p,e[8]=i.layout,e[9]=y):y=e[9];const j=y;let w;e[10]!==o||e[11]!==i?(w=S=>{o?a(S):i.save(S)},e[10]=o,e[11]=i,e[12]=w):w=e[12];const v=w;let b;e[13]!==v||e[14]!==c||e[15]!==j||e[16]!==o||e[17]!==g||e[18]!==x||e[19]!==i.isLoading?(b={isEditMode:o,enter:c,cancel:f,save:x,hasChanges:j,layout:g,isLayoutLoading:i.isLoading,commitLayout:v},e[13]=v,e[14]=c,e[15]=j,e[16]=o,e[17]=g,e[18]=x,e[19]=i.isLoading,e[20]=b):b=e[20];let N;return e[21]!==s||e[22]!==b?(N=n.jsx(tt.Provider,{value:b,children:s}),e[21]=s,e[22]=b,e[23]=N):N=e[23],N}function st(){const t=$.useContext(tt);if(!t)throw new Error("useHomeEdit must be used within a HomeEditProvider");return t}function vn({agentId:t}){const{org:e,locator:s}=J(),r=ce({connectionId:t,orgId:e.id,orgSlug:e.slug}),{create:i}=vs(),{setTaskId:o}=Zt(),[l,d]=$.useState(null),[a,m]=$.useState(!1),c=$.useRef(!1),u=async(g,y)=>{if(!r){U.error("MCP client not available");return}if(!c.current){c.current=!0,m(!0);try{const j=await ys(r,g.name,y),w={type:"doc",content:[{type:"paragraph",content:[ss({id:g.name,name:ns(g.name,is(g._meta)),metadata:j.messages,char:"/",kind:"prompt",args:y}),{type:"text",text:" "}]}]},v=crypto.randomUUID();js(sessionStorage,s,v,{tiptapDoc:w}),await i({id:v,virtual_mcp_id:t}),o(v,t,{autosend:!0})}catch(j){console.error("[start-thread-from-prompt] failed",j),U.error("Failed to start thread. Please try again.")}finally{c.current=!1,m(!1)}}},f=async g=>{if(!c.current){if(g.arguments&&g.arguments.length>0){d(g);return}await u(g)}},h=async g=>{if(!l)return;const y=l;d(null),await u(y,g)};return{start:f,startBlank:async g=>{if(!c.current){c.current=!0,m(!0);try{const y=crypto.randomUUID();await i({id:y,virtual_mcp_id:t}),o(y,t,g?.main?{main:g.main}:void 0)}catch(y){console.error("[start-thread-from-prompt] startBlank failed",y),U.error("Failed to start thread. Please try again.")}finally{c.current=!1,m(!1)}}},dialog:n.jsx(ts,{prompt:l,setPrompt:g=>d(g),onSubmit:h}),dialogPrompt:l,starting:a}}const V=4,W=100,ke=12,jn=5,wn={w:2,h:2};class xe extends $.Component{state={hasError:!1};static getDerivedStateFromError(e){return{hasError:!0,message:e instanceof Error?e.message:"Unknown error"}}componentDidCatch(e,s){console.error("[home-tiles] tile crashed:",e,s.componentStack)}render(){return this.state.hasError?n.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-2 p-4 text-center",children:[n.jsx("span",{className:"flex size-8 items-center justify-center rounded-md bg-destructive/10 text-destructive",children:n.jsx(yt,{size:16})}),n.jsx("p",{className:"text-sm font-medium text-foreground",children:"This tile crashed"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2",children:this.state.message??"Something went wrong rendering this tile."})]}):this.props.children}}function Nn(t){const e=k.c(72),{tiles:s,isEditMode:r,renderTile:i,onMove:o,onResize:l,onRemove:d}=t,a=be(),m=$.useRef(null),[c,u]=$.useState(null),[f,h]=$.useState(null);let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x={activationConstraint:{distance:4}},e[0]=x):x=e[0];const p=Me(oe(Re,x),oe(ze)),g=s.reduce(Sn,0),y=r?Math.max(g+2,4):Math.max(g,1);let j;e[1]===Symbol.for("react.memo_cache_sentinel")?(j=()=>{const A=m.current?.getBoundingClientRect();return A?{cellWidth:A.width/V,cellHeight:W}:null},e[1]=j):j=e[1];const w=j;let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=A=>{u(String(A.active.id)),h(w())},e[2]=v):v=e[2];const b=v;let N;e[3]!==f||e[4]!==o||e[5]!==s?(N=A=>{const B=String(A.active.id),L=f??w();if(u(null),h(null),!L||L.cellWidth<=0)return;const O=s.find(K=>K.id===B);if(!O)return;const D=Math.round(A.delta.x/L.cellWidth),F=Math.round(A.delta.y/L.cellHeight);D===0&&F===0||o(B,{x:O.x+D,y:O.y+F})},e[3]=f,e[4]=o,e[5]=s,e[6]=N):N=e[6];const S=N;if(a){let A;if(e[7]!==i||e[8]!==s){let L;e[10]!==i?(L=O=>n.jsx("div",{className:"group bg-card card-shadow rounded-2xl overflow-hidden",style:{minHeight:W},children:n.jsx(xe,{children:i(O)})},O.id),e[10]=i,e[11]=L):L=e[11],A=s.map(L),e[7]=i,e[8]=s,e[9]=A}else A=e[9];let B;return e[12]!==A?(B=n.jsx("div",{className:"flex flex-col gap-3 px-4 pb-8",children:A}),e[12]=A,e[13]=B):B=e[13],B}let _,C,I,T,E,P,M,Q,z;if(e[14]!==c||e[15]!==f||e[16]!==r||e[17]!==S||e[18]!==d||e[19]!==l||e[20]!==i||e[21]!==p||e[22]!==s||e[23]!==y){const A=c?s.find(X=>X.id===c):null;C=Le,Q=p,z=b,I=S;const B=y*W,L=r?W*4:W;let O;e[33]!==B||e[34]!==L?(O={height:B,minHeight:L},e[33]=B,e[34]=L,e[35]=O):O=e[35];let D;e[36]!==r||e[37]!==s||e[38]!==y?(D=r&&n.jsx(Cn,{rows:y,tiles:s}),e[36]=r,e[37]=s,e[38]=y,e[39]=D):D=e[39];let F;if(e[40]!==c||e[41]!==r||e[42]!==d||e[43]!==l||e[44]!==i||e[45]!==s){let X;e[47]!==c||e[48]!==r||e[49]!==d||e[50]!==l||e[51]!==i?(X=ie=>n.jsx(In,{tile:ie,isEditMode:r,isDragging:c===ie.id,onResize:l,onRemove:d,children:i(ie)},ie.id),e[47]=c,e[48]=r,e[49]=d,e[50]=l,e[51]=i,e[52]=X):X=e[52],F=s.map(X),e[40]=c,e[41]=r,e[42]=d,e[43]=l,e[44]=i,e[45]=s,e[46]=F}else F=e[46];e[53]!==O||e[54]!==D||e[55]!==F?(T=n.jsxs("div",{ref:m,className:"relative w-full",style:O,children:[D,F]}),e[53]=O,e[54]=D,e[55]=F,e[56]=T):T=e[56],_=Vt,E=null;const K=A&&f?A.w*f.cellWidth-ke:void 0,me=A&&f?A.h*f.cellHeight-ke:void 0;e[57]!==K||e[58]!==me?(P={width:K,height:me},e[57]=K,e[58]=me,e[59]=P):P=e[59],M=A&&n.jsx("div",{className:"bg-card card-shadow rounded-2xl shadow-2xl ring-2 ring-primary/40 h-full overflow-hidden opacity-95",children:n.jsx(xe,{children:i(A)})}),e[14]=c,e[15]=f,e[16]=r,e[17]=S,e[18]=d,e[19]=l,e[20]=i,e[21]=p,e[22]=s,e[23]=y,e[24]=_,e[25]=C,e[26]=I,e[27]=T,e[28]=E,e[29]=P,e[30]=M,e[31]=Q,e[32]=z}else _=e[24],C=e[25],I=e[26],T=e[27],E=e[28],P=e[29],M=e[30],Q=e[31],z=e[32];let R;e[60]!==_||e[61]!==E||e[62]!==P||e[63]!==M?(R=n.jsx(_,{dropAnimation:E,style:P,children:M}),e[60]=_,e[61]=E,e[62]=P,e[63]=M,e[64]=R):R=e[64];let q;return e[65]!==C||e[66]!==I||e[67]!==T||e[68]!==R||e[69]!==Q||e[70]!==z?(q=n.jsxs(C,{sensors:Q,onDragStart:z,onDragEnd:I,children:[T,R]}),e[65]=C,e[66]=I,e[67]=T,e[68]=R,e[69]=Q,e[70]=z,e[71]=q):q=e[71],q}function Sn(t,e){return Math.max(t,e.y+e.h)}function Cn(t){const e=k.c(7),{rows:s,tiles:r}=t;let i;e[0]!==r?(i=(a,m)=>r.some(c=>a>=c.x&&a<c.x+c.w&&m>=c.y&&m<c.y+c.h),e[0]=r,e[1]=i):i=e[1];const o=i;let l;if(e[2]!==o||e[3]!==s){l=[];for(let a=0;a<s;a++)for(let m=0;m<V;m++)o(m,a)||l.push({x:m,y:a});e[2]=o,e[3]=s,e[4]=l}else l=e[4];let d;return e[5]!==l?(d=n.jsx("div",{className:"absolute inset-0 pointer-events-none",children:l.map(_n)}),e[5]=l,e[6]=d):d=e[6],d}function _n(t){return n.jsx("div",{className:"absolute p-1",style:{left:`${t.x/V*100}%`,top:t.y*W,width:`${1/V*100}%`,height:W},children:n.jsx("div",{className:"h-full w-full rounded-2xl border border-dashed border-border/60"})},`${t.x}-${t.y}`)}function In(t){const e=k.c(31),{tile:s,isEditMode:r,isDragging:i,onResize:o,onRemove:l,children:d}=t,a=!r;let m;e[0]!==a||e[1]!==s.id?(m={id:s.id,disabled:a},e[0]=a,e[1]=s.id,e[2]=m):m=e[2];const{setNodeRef:c,attributes:u,listeners:f,isDragging:h}=Kt(m),x=`${s.x/V*100}%`,p=`${s.w/V*100}%`,g=s.y*W,y=s.h*W,j=h||i,w=!j&&"transition-[left,top,width,height,opacity] duration-200 ease-out",v=j&&"opacity-30";let b;e[3]!==w||e[4]!==v?(b=G("absolute p-1 will-change-[left,top,width,height,opacity]",w,v),e[3]=w,e[4]=v,e[5]=b):b=e[5];let N;e[6]!==y||e[7]!==x||e[8]!==g||e[9]!==p?(N={left:x,top:g,width:p,height:y},e[6]=y,e[7]=x,e[8]=g,e[9]=p,e[10]=N):N=e[10];const S=r&&"outline outline-1 outline-transparent hover:outline-primary/40";let _;e[11]!==S?(_=G("group relative h-full bg-card card-shadow rounded-2xl overflow-hidden",S),e[11]=S,e[12]=_):_=e[12];let C;e[13]!==u||e[14]!==r||e[15]!==f||e[16]!==l||e[17]!==o||e[18]!==s?(C=r&&n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",...u,...f,className:"absolute top-2 left-2 z-10 flex size-8 items-center justify-center rounded-md bg-background/90 border border-border text-muted-foreground hover:text-foreground hover:bg-muted cursor-grab active:cursor-grabbing","aria-label":"Drag tile",children:n.jsx(Qe,{size:16})}),n.jsx("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-1",children:n.jsx(Tn,{tile:s,onResize:o,onRemove:l})})]}),e[13]=u,e[14]=r,e[15]=f,e[16]=l,e[17]=o,e[18]=s,e[19]=C):C=e[19];let I;e[20]!==d?(I=n.jsx("div",{className:"h-full overflow-hidden",children:n.jsx(xe,{children:d})}),e[20]=d,e[21]=I):I=e[21];let T;e[22]!==I||e[23]!==_||e[24]!==C?(T=n.jsxs("div",{className:_,children:[C,I]}),e[22]=I,e[23]=_,e[24]=C,e[25]=T):T=e[25];let E;return e[26]!==c||e[27]!==T||e[28]!==b||e[29]!==N?(E=n.jsx("div",{ref:c,className:b,style:N,children:T}),e[26]=c,e[27]=T,e[28]=b,e[29]=N,e[30]=E):E=e[30],E}function Tn(t){const e=k.c(20),{tile:s,onResize:r,onRemove:i}=t,[o,l]=$.useState(!1);let d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=n.jsx(ws,{asChild:!0,children:n.jsx("button",{type:"button",className:"flex size-8 items-center justify-center rounded-md bg-background/90 border border-border text-muted-foreground hover:text-foreground hover:bg-muted","aria-label":"Tile options",children:n.jsx(Pt,{size:16})})}),e[0]=d):d=e[0];let a;e[1]!==r||e[2]!==s.id?(a=g=>{r(s.id,g),l(!1)},e[1]=r,e[2]=s.id,e[3]=a):a=e[3];let m;e[4]!==a||e[5]!==s?(m=n.jsx(kn,{tile:s,onPick:a}),e[4]=a,e[5]=s,e[6]=m):m=e[6];let c;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(Ns,{}),e[7]=c):c=e[7];let u;e[8]!==i||e[9]!==s.id?(u=()=>i(s.id),e[8]=i,e[9]=s.id,e[10]=u):u=e[10];let f;e[11]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(Is,{size:14,className:"mr-2"}),e[11]=f):f=e[11];let h;e[12]!==u?(h=n.jsxs(Ss,{onSelect:u,className:"text-destructive focus:text-destructive",children:[f,"Remove tile"]}),e[12]=u,e[13]=h):h=e[13];let x;e[14]!==m||e[15]!==h?(x=n.jsxs(Cs,{align:"end",className:"w-auto",children:[m,c,h]}),e[14]=m,e[15]=h,e[16]=x):x=e[16];let p;return e[17]!==o||e[18]!==x?(p=n.jsxs(_s,{open:o,onOpenChange:l,children:[d,x]}),e[17]=o,e[18]=x,e[19]=p):p=e[19],p}function kn(t){const e=k.c(19),{tile:s,onPick:r}=t,i=s.minW??1,o=s.minH??1,[l,d]=$.useState(null);let a;e[0]!==l||e[1]!==s.h||e[2]!==s.w?(a=l??{w:s.w,h:s.h},e[0]=l,e[1]=s.h,e[2]=s.w,e[3]=a):a=e[3];const m=a;let c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx("span",{className:"text-xs text-muted-foreground",children:"Size"}),e[4]=c):c=e[4];let u;e[5]!==m.h||e[6]!==m.w?(u=n.jsxs("div",{className:"mb-2 flex items-center justify-between gap-4",children:[c,n.jsxs("span",{className:"text-xs font-medium tabular-nums",children:[m.w," × ",m.h]})]}),e[5]=m.h,e[6]=m.w,e[7]=u):u=e[7];let f,h;e[8]===Symbol.for("react.memo_cache_sentinel")?(f={gridTemplateColumns:`repeat(${V}, 1.25rem)`},h=()=>d(null),e[8]=f,e[9]=h):(f=e[8],h=e[9]);let x;e[10]!==m.h||e[11]!==m.w||e[12]!==o||e[13]!==i||e[14]!==r?(x=n.jsx("div",{className:"grid w-max gap-1",style:f,onPointerLeave:h,children:Array.from({length:jn},(g,y)=>Array.from({length:V},(j,w)=>{const v=w+1,b=y+1,N=v<i||b<o,S=v<=m.w&&b<=m.h;return n.jsx("button",{type:"button",disabled:N,"aria-label":`${v} by ${b}`,onPointerEnter:()=>d({w:v,h:b}),onClick:()=>r({w:v,h:b}),className:G("size-5 rounded-sm border transition-colors",S?"border-primary bg-primary/30":"border-border bg-muted",N?"cursor-not-allowed opacity-40":"cursor-pointer hover:border-primary/60")},`${v}x${b}`)}))}),e[10]=m.h,e[11]=m.w,e[12]=o,e[13]=i,e[14]=r,e[15]=x):x=e[15];let p;return e[16]!==u||e[17]!==x?(p=n.jsxs("div",{className:"px-2 py-1.5",children:[u,x]}),e[16]=u,e[17]=x,e[18]=p):p=e[18],p}function $n(t,e,s){return t.some(r=>e>=r.x&&e<r.x+r.w&&s>=r.y&&s<r.y+r.h)}function ge(t,e,s){for(let r=0;r<100;r++)for(let i=0;i<=V-e;i++){let o=!0;for(let l=0;l<s&&o;l++)for(let d=0;d<e&&o;d++)$n(t,i+d,r+l)&&(o=!1);if(o)return{x:i,y:r}}return{x:0,y:0}}function ue(t,e,s={w:1,h:1}){const r=Math.max(s.w,Math.min(V,t)),i=Math.max(s.h,Math.min(6,e));return{w:r,h:i}}function fe(t,e,s){const r=Math.max(0,Math.min(V-s,t)),i=Math.max(0,e);return{x:r,y:i}}function An(t,e,s){const r=t.find(a=>a.id===e);if(!r)return t;const i=t.filter(a=>a.id!==e),o=i.find(a=>s.x>=a.x&&s.x<a.x+a.w&&s.y>=a.y&&s.y<a.y+a.h);if(o&&o.w===r.w&&o.h===r.h)return t.map(a=>a.id===e?{...a,x:o.x,y:o.y}:a.id===o.id?{...a,x:r.x,y:r.y}:a);const d=[{...r,x:s.x,y:s.y}];for(const a of i){const m=ge(d,a.w,a.h);d.push({...a,x:m.x,y:m.y})}return d}function En(t){const e=k.c(35),{layout:s,isLayoutLoading:r,commitLayout:i}=st();let o;e[0]!==s.hidden?(o=new Set(s.hidden),e[0]=s.hidden,e[1]=o):o=e[1];const l=o;let d,a;if(e[2]!==t||e[3]!==l||e[4]!==s.tiles){a=[];let j;e[7]!==l?(j=v=>v.pinned||!l.has(v.id),e[7]=l,e[8]=j):j=e[8];const w=t.filter(j);d=new Map;for(const v of t)v.minSize&&d.set(v.id,v.minSize);for(const v of w){const b=s.tiles[v.id];if(!b)continue;const N=d.get(v.id),{w:S,h:_}=ue(b.w,b.h,N),{x:C,y:I}=fe(b.x,b.y,S);a.push({id:v.id,x:C,y:I,w:S,h:_,minW:N?.w,minH:N?.h})}for(const v of w){if(a.some(I=>I.id===v.id))continue;const b=v.defaultSize??wn,N=d.get(v.id),{w:S,h:_}=ue(b.w,b.h,N),C=ge(a,S,_);a.push({id:v.id,x:C.x,y:C.y,w:S,h:_,minW:N?.w,minH:N?.h})}e[2]=t,e[3]=l,e[4]=s.tiles,e[5]=d,e[6]=a}else d=e[5],a=e[6];let m;e[9]!==t?(m=new Set(t.map(On)),e[9]=t,e[10]=m):m=e[10];const c=m;let u;e[11]!==c||e[12]!==i?(u=(j,w)=>{const v={};for(const b of j)v[b.id]={x:b.x,y:b.y,w:b.w,h:b.h};i({version:ee,tiles:v,hidden:w.filter(b=>c.has(b))})},e[11]=c,e[12]=i,e[13]=u):u=e[13];const f=u;let h;e[14]!==a?(h={visible:a},e[14]=a,e[15]=h):h=e[15];let x;e[16]!==f||e[17]!==s||e[18]!==a?(x=(j,w)=>{const v=a.find(S=>S.id===j);if(!v)return;const b=fe(w.x,w.y,v.w);if(b.x===v.x&&b.y===v.y)return;const N=An(a,j,b);f(N,s.hidden)},e[16]=f,e[17]=s,e[18]=a,e[19]=x):x=e[19];let p;e[20]!==f||e[21]!==s||e[22]!==d||e[23]!==a?(p=(j,w)=>{const v=a.find(T=>T.id===j);if(!v)return;const b=d.get(j),{w:N,h:S}=ue(w.w,w.h,b);if(N===v.w&&S===v.h)return;const _={...v,w:N,h:S,x:fe(v.x,v.y,N).x},C=a.filter(T=>T.id!==j),I=[_];for(const T of C){const E=ge(I,T.w,T.h);I.push({...T,x:E.x,y:E.y})}f(I,s.hidden)},e[20]=f,e[21]=s,e[22]=d,e[23]=a,e[24]=p):p=e[24];let g;e[25]!==f||e[26]!==s||e[27]!==a?(g=j=>{const w=a.filter(v=>v.id!==j);f(w,Array.from(new Set([...s.hidden,j])))},e[25]=f,e[26]=s,e[27]=a,e[28]=g):g=e[28];let y;return e[29]!==r||e[30]!==h||e[31]!==x||e[32]!==p||e[33]!==g?(y={snapshot:h,isLoading:r,moveTile:x,resizeTile:p,hideTile:g},e[29]=r,e[30]=h,e[31]=x,e[32]=p,e[33]=g,e[34]=y):y=e[34],y}function On(t){return t.id}const Pn={w:2,h:4},Mn={w:1,h:2},zn={w:1,h:1};function Rn(t){return`prompt:${t.agentId}:${t.promptName||"blank"}`}function Ln(t){return t.tileId?`tile:${t.tileId}`:`tile:${t.agentId}:${t.resourceUri}`}function Hn(t){return t.promptName?t.agentName:t.description}function Dn(t){return{name:t.promptName,title:t.title,description:t.description,arguments:t.arguments,_meta:t._meta}}function nt(t){const e=k.c(14),{org:s}=J();let r;e[0]!==s.id||e[1]!==s.slug||e[2]!==t.connectionId?(r=Nt({connectionId:t.connectionId,orgId:s.id,orgSlug:s.slug}),e[0]=s.id,e[1]=s.slug,e[2]=t.connectionId,e[3]=r):r=e[3];const{data:i}=se(r),o=!!i&&!t.toolName;let l;e[4]!==i||e[5]!==o?(l={client:i,enabled:o},e[4]=i,e[5]=o,e[6]=l):l=e[6];const{data:d}=xs(l);let a;e[7]!==t.resourceUri||e[8]!==t.toolName||e[9]!==d?.tools?(a=t.toolName??d?.tools.find(u=>Be(u._meta)===t.resourceUri)?.name,e[7]=t.resourceUri,e[8]=t.toolName,e[9]=d?.tools,e[10]=a):a=e[10];const m=a;let c;return e[11]!==t.connectionId||e[12]!==m?(c=m?bs(t.connectionId,m):void 0,e[11]=t.connectionId,e[12]=m,e[13]=c):c=e[13],c}function Ne(t){const e=k.c(10);let s;e[0]!==t?(s={agentId:t},e[0]=t,e[1]=s):s=e[1];const{start:r,startBlank:i,dialog:o,starting:l}=vn(s);let d;e[2]!==r||e[3]!==i?(d=c=>{if(!c.promptName){i();return}r(Dn(c))},e[2]=r,e[3]=i,e[4]=d):d=e[4];const a=d;let m;return e[5]!==o||e[6]!==a||e[7]!==i||e[8]!==l?(m={open:a,startBlank:i,dialog:o,starting:l},e[5]=o,e[6]=a,e[7]=i,e[8]=l,e[9]=m):m=e[9],m}function Fn(t){const e=k.c(32),{entry:s,isEditMode:r}=t,{open:i,dialog:o,starting:l}=Ne(s.agentId);let d;e[0]!==s||e[1]!==i?(d=()=>i(s),e[0]=s,e[1]=i,e[2]=d):d=e[2];const a=l||r,m=!r&&"cursor-pointer transition-colors hover:bg-accent/40",c=r&&"cursor-default pl-12",u=l&&"opacity-60";let f;e[3]!==m||e[4]!==c||e[5]!==u?(f=G("group/tile relative flex h-full w-full items-center gap-3 px-4 py-3 text-left bg-card",m,c,u),e[3]=m,e[4]=c,e[5]=u,e[6]=f):f=e[6];let h;e[7]!==s.agentIcon||e[8]!==s.agentName?(h=n.jsx(de,{icon:s.agentIcon,name:s.agentName,size:"sm+"}),e[7]=s.agentIcon,e[8]=s.agentName,e[9]=h):h=e[9];let x;e[10]!==s.title?(x=n.jsx("div",{className:"line-clamp-2 text-sm font-medium text-foreground leading-snug",children:s.title}),e[10]=s.title,e[11]=x):x=e[11];let p;e[12]!==s?(p=Hn(s),e[12]=s,e[13]=p):p=e[13];let g;e[14]!==p?(g=n.jsx("div",{className:"truncate text-xs text-muted-foreground mt-0.5",children:p}),e[14]=p,e[15]=g):g=e[15];let y;e[16]!==g||e[17]!==x?(y=n.jsxs("div",{className:"min-w-0 flex-1",children:[x,g]}),e[16]=g,e[17]=x,e[18]=y):y=e[18];let j;e[19]!==r?(j=!r&&n.jsx(gs,{size:16,className:"shrink-0 text-muted-foreground opacity-0 -translate-x-1 transition-all duration-200 group-hover/tile:opacity-100 group-hover/tile:translate-x-0","aria-hidden":!0}),e[19]=r,e[20]=j):j=e[20];let w;e[21]!==l||e[22]!==d||e[23]!==y||e[24]!==j||e[25]!==a||e[26]!==f||e[27]!==h?(w=n.jsxs("button",{type:"button",onClick:d,disabled:a,"aria-busy":l,className:f,children:[h,y,j]}),e[21]=l,e[22]=d,e[23]=y,e[24]=j,e[25]=a,e[26]=f,e[27]=h,e[28]=w):w=e[28];let v;return e[29]!==o||e[30]!==w?(v=n.jsxs(n.Fragment,{children:[w,o]}),e[29]=o,e[30]=w,e[31]=v):v=e[31],v}function Un(){const t=k.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("div",{className:"mt-4 grid w-full grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",children:Array.from({length:3},Qn)}),t[0]=e):e=t[0],e}function Qn(t,e){return n.jsxs("div",{className:"flex w-full items-center gap-3 rounded-2xl bg-card card-shadow px-3 py-2.5",children:[n.jsx(H,{className:"size-10 rounded-xl"}),n.jsxs("div",{className:"flex-1 space-y-1.5",children:[n.jsx(H,{className:"h-3 w-2/3"}),n.jsx(H,{className:"h-2.5 w-1/3"})]})]},`chip-skeleton-${e}`)}function Bn(t){const e=k.c(17),{tile:s,prompts:r,isEditMode:i,tileWidth:o}=t,{org:l}=J(),{open:d,startBlank:a,dialog:m,starting:c}=Ne(s.agentId),u=r.filter(qn),f=nt(s),h="relative flex h-full w-full flex-col p-3";let x;e[0]!==i||e[1]!==f||e[2]!==a||e[3]!==c?(x=!i&&n.jsx("button",{type:"button",onClick:()=>{a(f?{main:f}:void 0)},disabled:c,"aria-busy":c,className:"mb-1 self-start rounded-md px-2 py-1 text-[10px] text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-progress disabled:opacity-60",children:"Open chat"}),e[0]=i,e[1]=f,e[2]=a,e[3]=c,e[4]=x):x=e[4];const p="flex min-h-0 flex-1 gap-3 overflow-hidden";let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx(Kn,{}),e[5]=g):g=e[5];let y;e[6]!==l.id||e[7]!==l.slug||e[8]!==s?(y=n.jsx("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:n.jsx($.Suspense,{fallback:g,children:n.jsx(Vn,{tile:s,orgId:l.id,orgSlug:l.slug})})}),e[6]=l.id,e[7]=l.slug,e[8]=s,e[9]=y):y=e[9];const j=u.length>0&&!i&&o>=2&&n.jsx("div",{className:"flex w-44 shrink-0 flex-col gap-2 overflow-hidden",children:u.map(b=>n.jsx("button",{type:"button",onClick:()=>d(b),disabled:c,className:"shrink-0 rounded-lg border border-border bg-background px-2.5 py-2 text-left text-xs leading-snug text-foreground transition-colors hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-progress disabled:opacity-60",children:n.jsx("span",{className:"line-clamp-2",children:b.title})},b.promptName))});let w;e[10]!==y||e[11]!==j?(w=n.jsxs("div",{className:p,children:[y,j]}),e[10]=y,e[11]=j,e[12]=w):w=e[12];let v;return e[13]!==m||e[14]!==x||e[15]!==w?(v=n.jsxs("div",{className:h,children:[x,w,m]}),e[13]=m,e[14]=x,e[15]=w,e[16]=v):v=e[16],v}function qn(t){return!!t.promptName}function Vn(t){const e=k.c(13),{tile:s,orgId:r,orgSlug:i}=t;let o;e[0]!==r||e[1]!==i||e[2]!==s.connectionId?(o={connectionId:s.connectionId,orgId:r,orgSlug:i},e[0]=r,e[1]=i,e[2]=s.connectionId,e[3]=o):o=e[3];const l=ce(o),d=s.minHeight??200,a=s.maxHeight??4e3;let m;return e[4]!==l||e[5]!==r||e[6]!==i||e[7]!==d||e[8]!==a||e[9]!==s.connectionId||e[10]!==s.resourceUri||e[11]!==s.toolInput?(m=n.jsx(ds,{resourceURI:s.resourceUri,orgId:r,orgSlug:i,connectionId:s.connectionId,client:l,toolInput:s.toolInput,displayMode:"fullscreen",minHeight:d,maxHeight:a,className:"h-full"}),e[4]=l,e[5]=r,e[6]=i,e[7]=d,e[8]=a,e[9]=s.connectionId,e[10]=s.resourceUri,e[11]=s.toolInput,e[12]=m):m=e[12],m}function Kn(){const t=k.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsxs("div",{className:"flex h-full w-full flex-col gap-2 p-4",children:[n.jsx(H,{className:"h-3 w-2/3"}),n.jsx(H,{className:"h-3 w-1/2"}),n.jsx(H,{className:"mt-1 h-full w-full rounded-md"})]}),t[0]=e):e=t[0],e}function Wn(t){const e=k.c(14),{icon:s,name:r}=t;let i;e[0]!==s||e[1]!==r?(i=n.jsx(de,{icon:s,name:r,size:"sm+"}),e[0]=s,e[1]=r,e[2]=i):i=e[2];let o;e[3]!==r?(o=n.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:r}),e[3]=r,e[4]=o):o=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("div",{className:"truncate text-xs text-muted-foreground",children:"Loading tile…"}),e[5]=l):l=e[5];let d;e[6]!==o?(d=n.jsxs("div",{className:"min-w-0 flex-1",children:[o,l]}),e[6]=o,e[7]=d):d=e[7];let a;e[8]!==i||e[9]!==d?(a=n.jsxs("div",{className:"flex items-center gap-2.5",children:[i,d]}),e[8]=i,e[9]=d,e[10]=a):a=e[10];let m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsxs("div",{className:"flex flex-1 flex-col gap-2 pt-1",children:[n.jsx(H,{className:"h-3 w-3/4"}),n.jsx(H,{className:"h-3 w-1/2"}),n.jsx(H,{className:"h-3 w-2/3"})]}),e[11]=m):m=e[11];let c;return e[12]!==a?(c=n.jsxs("div",{className:"flex h-full w-full flex-col gap-3 p-5 opacity-60",children:[a,m]}),e[12]=a,e[13]=c):c=e[13],c}function Gn(t){const e=k.c(10),{tile:s,prompts:r,isEditMode:i}=t,{open:o,startBlank:l,dialog:d,starting:a}=Ne(s.agentId),m=r.filter(Jn),c=nt(s),u="flex h-full w-full flex-col gap-3 p-4";let f;e[0]!==c||e[1]!==l?(f=()=>{l(c?{main:c}:void 0)},e[0]=c,e[1]=l,e[2]=f):f=e[2];const h=a||i;let x;e[3]!==f||e[4]!==h?(x=n.jsx("button",{type:"button",onClick:f,disabled:h,className:"mb-1 self-start rounded-md px-2 py-1 text-[10px] text-muted-foreground transition-colors hover:bg-accent/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-progress disabled:opacity-60",children:"Open chat"}),e[3]=f,e[4]=h,e[5]=x):x=e[5];const p=m.length>0&&!i&&n.jsx("div",{className:"grid grid-cols-1 gap-2 overflow-hidden sm:grid-cols-2",children:m.map(y=>n.jsx("button",{type:"button",onClick:()=>!i&&o(y),disabled:a,className:"rounded-lg border border-border bg-background px-2.5 py-2 text-left text-xs leading-snug text-foreground transition-colors hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-progress disabled:opacity-60",children:n.jsx("span",{className:"line-clamp-2",children:y.title})},y.promptName))});let g;return e[6]!==d||e[7]!==x||e[8]!==p?(g=n.jsxs("div",{className:u,children:[x,p,d]}),e[6]=d,e[7]=x,e[8]=p,e[9]=g):g=e[9],g}function Jn(t){return!!t.promptName}function it({isEditMode:t}){const{org:e}=J(),{isLoading:s,prompts:r,tiles:i}=ve(e.slug),o=He()?.ids??[],l=new Set(o),d=De(),a=Ve(),m=le(),c=new Set(i.map(b=>b.agentId)),u=new Map;for(const b of r){const N=u.get(b.agentId);N?N.push(b):u.set(b.agentId,[b])}const f=r.filter(b=>!c.has(b.agentId)),h=[...i.map(b=>({kind:"tile",id:Ln(b),data:b})),...f.map(b=>({kind:"prompt",id:Rn(b),data:b}))],x=new Map(h.map(b=>[b.id,b])),p=En(h.map(b=>({id:b.id,defaultSize:b.kind==="tile"?Pn:zn,minSize:b.kind==="tile"?Mn:void 0,pinned:l.has(b.data.agentId)}))),g=b=>{d.apply(N=>N.filter(S=>S!==b)).catch(()=>U.error("Couldn't remove from home — please try again."))},y=async b=>{if(i.filter(S=>S.agentId===b.agentId).length<=1){g(b.agentId);return}try{const _=(await a.call("COLLECTION_VIRTUAL_MCP_GET",{id:b.agentId})).item;if(!_)throw new Error("Agent not found");const C=Z(_.metadata?.ui),I=b.tileId?C.filter(T=>T.tileId!==b.tileId):C.filter(T=>T.connectionId!==b.connectionId||T.resourceUri!==b.resourceUri);await a.call("COLLECTION_VIRTUAL_MCP_UPDATE",{id:b.agentId,data:{metadata:{..._.metadata??{},ui:{..._.metadata?.ui??{},homeTile:null,homeTiles:I}}}}),m.invalidateQueries({queryKey:te.homeNextActions(e.slug)})}catch{U.error("Couldn't remove tile — please try again.")}},j=b=>{const N=x.get(b);if(N){if(!l.has(N.data.agentId)){p.hideTile(b);return}N.kind==="tile"?y(N.data):g(N.data.agentId)}},w=b=>{const N=x.get(b.id);if(!N)return null;if(N.kind==="tile"){const S=u.get(N.data.agentId)??[];return n.jsx(vt,{fallback:n.jsx(Gn,{tile:N.data,prompts:S,isEditMode:t}),children:n.jsx($.Suspense,{fallback:n.jsx(Wn,{icon:N.data.agentIcon,name:N.data.agentName}),children:n.jsx(Bn,{tile:N.data,prompts:S,isEditMode:t,tileWidth:b.w})})})}return n.jsx(Fn,{entry:N.data,isEditMode:t})};return s||p.isLoading?n.jsx(Un,{}):p.snapshot.visible.length===0&&!t?null:n.jsx("div",{className:"mt-4 flex w-full max-w-7xl flex-col gap-4",children:n.jsx(Nn,{tiles:p.snapshot.visible,isEditMode:t,renderTile:w,onMove:p.moveTile,onResize:p.resizeTile,onRemove:j})})}function Xn(t){const e=k.c(2),{prompts:s,tiles:r}=ve(t),i=r.length>0||s.length>0;let o;return e[0]!==i?(o={hasVisibleTiles:i},e[0]=i,e[1]=o):o=e[1],o}const $e=420,Ae=305;function rt(){const t=k.c(4);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("img",{src:"/home/bg-top-left.svg",alt:"",className:"absolute top-0 left-0 h-auto select-none opacity-80 dark:hidden",style:{width:$e}}),t[0]=e):e=t[0];let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("img",{src:"/home/bg-top-left-dark.svg",alt:"",className:"absolute top-0 left-0 hidden h-auto select-none opacity-80 dark:block",style:{width:$e}}),t[1]=s):s=t[1];let r;t[2]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("img",{src:"/home/bg-bottom-right.svg",alt:"",className:"absolute bottom-0 right-0 h-auto select-none opacity-80 dark:hidden",style:{width:Ae}}),t[2]=r):r=t[2];let i;return t[3]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsxs("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 overflow-hidden",children:[e,s,r,n.jsx("img",{src:"/home/bg-bottom-right-dark.svg",alt:"",className:"absolute bottom-0 right-0 hidden h-auto select-none opacity-80 dark:block",style:{width:Ae}})]}),t[3]=i):i=t[3],i}function Ee(){const t=k.c(33),{data:e}=jt.useSession(),{org:s}=J(),r=be(),i=$s(),{selectedVirtualMcp:o}=zt();let l;t[0]!==s.id?(l=St(s.id),t[0]=s.id,t[1]=l):l=t[1];const a=o??l;let m;t[2]!==s.slug?(m=Yt(s.slug),t[2]=s.slug,t[3]=m):m=t[3],se(m);let c;t[4]!==s.id||t[5]!==s.slug?(c={connectionId:Ct,orgId:s.id,orgSlug:s.slug},t[4]=s.id,t[5]=s.slug,t[6]=c):c=t[6];const u=ce(c);let f;t[7]!==s.id||t[8]!==s.slug?(f=Ts(s.slug,s.id),t[7]=s.id,t[8]=s.slug,t[9]=f):f=t[9];let h;t[10]!==s.id||t[11]!==s.slug?(h=Xt(s.slug,s.id),t[10]=s.id,t[11]=s.slug,t[12]=h):h=t[12];let x;t[13]!==a.id||t[14]!==s.id||t[15]!==u?(x=Tt(s.id,a.id,u),t[13]=a.id,t[14]=s.id,t[15]=u,t[16]=x):x=t[16];let p;t[17]!==f||t[18]!==h||t[19]!==x?(p={queries:[f,h,x]},t[17]=f,t[18]=h,t[19]=x,t[20]=p):p=t[20],Ms(p);const g=ks(),y=kt(a.id),{hasDecoKey:j,isZeroBalance:w,isInitialFreeCredit:v,balanceDollars:b,hasOnlyDecoProvider:N}=Wt(),{hasVisibleTiles:S}=Xn(s.slug),_=Gt(y?.metadata);if(g.length===0&&!(_&&Jt(i))){let R;return t[21]===Symbol.for("react.memo_cache_sentinel")?(R=n.jsx("div",{className:"flex-1 overflow-y-auto",children:n.jsx("div",{className:"min-h-full flex items-center justify-center px-4 py-10",children:n.jsx(Rt,{})})}),t[21]=R):R=t[21],R}let I;t[22]!==e?.user?.name?(I=e?.user?.name?.split(" ")[0]||"there",t[22]=e?.user?.name,t[23]=I):I=t[23];const T=I,E=j&&v&&b!=null,P=j&&w&&N;let M;t[24]!==b||t[25]!==E||t[26]!==P?(M=E?n.jsx(re.CreditsEyebrow,{balanceDollars:b}):P?n.jsx(re.NoCreditsEyebrow,{}):null,t[24]=b,t[25]=E,t[26]=P,t[27]=M):M=t[27];const Q=M;let z;return t[28]!==Q||t[29]!==S||t[30]!==r||t[31]!==T?(z=n.jsx(yn,{children:r?n.jsx(Zn,{eyebrow:Q,userName:T}):n.jsx(Yn,{eyebrow:Q,userName:T,hasVisibleTiles:S})}),t[28]=Q,t[29]=S,t[30]=r,t[31]=T,t[32]=z):z=t[32],z}function Zn(t){const e=k.c(12),{eyebrow:s,userName:r}=t;let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n.jsx(rt,{}),e[0]=i):i=e[0];let o;e[1]!==s?(o=s&&n.jsx("div",{className:"mb-4",children:s}),e[1]=s,e[2]=o):o=e[2];let l;e[3]!==r?(l=n.jsxs("p",{className:"text-3xl font-medium text-foreground text-center max-w-[280px]",children:["What's on your mind, ",r,"?"]}),e[3]=r,e[4]=l):l=e[4];let d;e[5]!==o||e[6]!==l?(d=n.jsxs("div",{className:"relative flex flex-col items-center justify-center w-full pt-28 pb-8 px-4",children:[o,l]}),e[5]=o,e[6]=l,e[7]=d):d=e[7];let a;e[8]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx("div",{className:"relative w-full flex flex-col gap-4 pb-8 px-4",children:n.jsx(re.Input,{showConnectionsBanner:!0})}),e[8]=a):a=e[8];let m;e[9]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("div",{className:"relative w-full px-4 pb-8",children:n.jsx(it,{isEditMode:!1})}),e[9]=m):m=e[9];let c;return e[10]!==d?(c=n.jsxs("div",{className:"flex-1 relative flex flex-col items-center overflow-y-auto",children:[i,d,a,m]}),e[10]=d,e[11]=c):c=e[11],c}function Yn(t){const e=k.c(32),{eyebrow:s,userName:r,hasVisibleTiles:i}=t,{isEditMode:o,enter:l,save:d,cancel:a,hasChanges:m}=st(),[c,u]=$.useState(!1);let f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>u(!0),e[0]=f):f=e[0];let h;e[1]!==a||e[2]!==l||e[3]!==m||e[4]!==o||e[5]!==d?(h=n.jsx(As.Right,{children:n.jsx(ei,{isEditMode:o,hasChanges:m,onEnter:l,onSave:d,onCancel:a,onAddTile:f})}),e[1]=a,e[2]=l,e[3]=m,e[4]=o,e[5]=d,e[6]=h):h=e[6];let x;e[7]!==c?(x=n.jsx(Rs,{open:c,onOpenChange:u}),e[7]=c,e[8]=x):x=e[8];let p;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx(rt,{}),e[9]=p):p=e[9];const g=i||o?"pt-32":"flex-1 justify-center";let y;e[10]!==g?(y=G("relative flex flex-col items-center px-10 pb-4",g),e[10]=g,e[11]=y):y=e[11];let j;e[12]!==s?(j=s&&n.jsx("div",{className:"mb-4",children:s}),e[12]=s,e[13]=j):j=e[13];let w;e[14]!==r?(w=n.jsxs("p",{className:"text-3xl font-medium text-foreground",children:["What's on your mind, ",r,"?"]}),e[14]=r,e[15]=w):w=e[15];let v;e[16]!==j||e[17]!==w?(v=n.jsxs("div",{className:"text-center mb-10",children:[j,w]}),e[16]=j,e[17]=w,e[18]=v):v=e[18];let b;e[19]===Symbol.for("react.memo_cache_sentinel")?(b=n.jsxs("div",{className:"relative w-full",children:[n.jsx(ti,{}),n.jsx(re.Input,{showConnectionsBanner:!0})]}),e[19]=b):b=e[19];let N;e[20]!==v?(N=n.jsxs("div",{className:"flex flex-col items-center w-full max-w-[672px]",children:[v,b]}),e[20]=v,e[21]=N):N=e[21];let S;e[22]!==o?(S=n.jsx("div",{className:"relative w-full mt-10 mx-auto max-w-[1280px] px-2 pb-16",children:n.jsx(it,{isEditMode:o})}),e[22]=o,e[23]=S):S=e[23];let _;e[24]!==N||e[25]!==S||e[26]!==y?(_=n.jsxs("div",{className:"flex-1 relative flex flex-col min-h-0",children:[p,n.jsx("div",{className:"flex-1 relative flex flex-col overflow-y-auto",children:n.jsxs("div",{className:y,children:[N,S]})})]}),e[24]=N,e[25]=S,e[26]=y,e[27]=_):_=e[27];let C;return e[28]!==_||e[29]!==h||e[30]!==x?(C=n.jsxs(n.Fragment,{children:[h,x,_]}),e[28]=_,e[29]=h,e[30]=x,e[31]=C):C=e[31],C}function ei(t){const e=k.c(17),{isEditMode:s,hasChanges:r,onEnter:i,onSave:o,onCancel:l,onAddTile:d}=t;if(s){let c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(ye,{size:14}),e[0]=c):c=e[0];let u;e[1]!==d?(u=n.jsxs("button",{type:"button",onClick:d,className:"flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Add a tile from any agent",children:[c,"Add tile"]}),e[1]=d,e[2]=u):u=e[2];let f;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx(Pe,{size:14}),e[3]=f):f=e[3];let h;e[4]!==l?(h=n.jsxs(Y,{size:"sm",variant:"ghost",onClick:l,className:"gap-1.5 h-7 text-xs",children:[f,"Cancel"]}),e[4]=l,e[5]=h):h=e[5];const x=!r;let p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx($t,{size:14}),e[6]=p):p=e[6];let g;e[7]!==o||e[8]!==x?(g=n.jsxs(Y,{size:"sm",onClick:o,disabled:x,className:"gap-1.5 h-7 text-xs",children:[p,"Save"]}),e[7]=o,e[8]=x,e[9]=g):g=e[9];let y;return e[10]!==u||e[11]!==h||e[12]!==g?(y=n.jsxs(n.Fragment,{children:[u,h,g]}),e[10]=u,e[11]=h,e[12]=g,e[13]=y):y=e[13],y}let a;e[14]===Symbol.for("react.memo_cache_sentinel")?(a=n.jsx(Mt,{size:14}),e[14]=a):a=e[14];let m;return e[15]!==i?(m=n.jsxs("button",{type:"button",onClick:i,className:"flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground transition-colors",title:"Customize your home",children:[a,"Customize"]}),e[15]=i,e[16]=m):m=e[16],m}function ti(){const t=k.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n.jsx("img",{src:"/home/capybara.png",alt:"","aria-hidden":!0,className:"pointer-events-none absolute -top-16 right-6 z-20 h-20 w-auto select-none"}),t[0]=e):e=t[0],e}function io(){const t=k.c(2);if(be()){let r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("div",{className:"flex-1 min-h-0 flex flex-col bg-background overflow-hidden",children:n.jsx(Ee,{})}),t[0]=r):r=t[0],r}let s;return t[1]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("div",{className:"flex-1 min-h-0 pb-1 pr-1 pl-0 pt-0",children:n.jsx("div",{className:"h-full p-0.5 pt-0.25",children:n.jsx("div",{className:"flex flex-col h-full bg-background overflow-hidden card-shadow rounded-[0.75rem]",children:n.jsx(Ee,{})})})}),t[1]=s):s=t[1],s}export{io as default};
@@ -1 +0,0 @@
1
- import{c as it,r as E,j as e,i as rt}from"./index-BOEUnQ16.js";import{S as mt,b as pt,c as st,d as at}from"./sheet-DLBJgbkz.js";import{S as nt}from"./scroll-area-BzQVputN.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-DStYa5Yd.js";import{p as xt}from"./index-BtDGPznl.js";import"./X-CAV77AV6.js";import"./agent-icon-DpZrOqHC.js";import"./AlertCircle-kSb-Qf9n.js";import"./Tool01-CyHE87a1.js";import"./SwitchHorizontal01-BJs9_RSs.js";import"./Settings02-CDqbYNx0.js";import"./XCircle-DLfZ2b5u.js";import"./ArrowUpRight-DO7qF3FR.js";import"./ZapSquare-7E5PpjYg.js";import"./Users03-BCQ19tMn.js";import"./CheckCircle-D6EE7Hmb.js";import"./ChevronUp-CYHUjSzO.js";import"./ChevronDown-B7wZ2dhC.js";import"./ChevronLeft-w56H85iU.js";import"./ChevronRight-BoaGhbkW.js";import"./DotsVertical-j1hNgjaQ.js";import"./Stars02-DXNdBxv2.js";import"./Eye-BBp7OFME.js";import"./ZoomOut-Cf_cVqP_.js";import"./Globe01-BPaIp2G4.js";import"./FilterLines-DplcErOH.js";import"./Star01-CNNNcPDW.js";import"./Globe04-BXv8f1DJ.js";import"./HardDrive-Cgonccxa.js";import"./Key01-amtVh9Pr.js";import"./LayoutLeft-bKhOA729.js";import"./LinkExternal01-_D0rcHDt.js";import"./Monitor01-BZ-_RPko.js";import"./Sun-DhFcEKDD.js";import"./Palette-EgKDa0_1.js";import"./Play-DuG-6BxB.js";import"./Plus-Bzf3CZgl.js";import"./SearchMd-DpMSIAeq.js";import"./Shield01-CjRICO_s.js";import"./Stars01-C8ysp7a4.js";import"./Trash01-cuwi9yy2.js";import"./Upload01-Cwtbh8sn.js";import"./User01-DqBopRvD.js";import"./Users01-Y-KIXecC.js";import"./XClose-BMo1vUt2.js";import"./Zap-QgQiv5aC.js";import"./use-clock-tick-Bot0OsMN.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-CcxJwita.js";import"./tooltip-C73vGx59.js";import"./file-type-icon-Pm9PbUF4.js";import"./dialog-B30hErlE.js";import"./tab-id-BptcWVWa.js";import"./content-blocks-o63cs2vh.js";import"./types-DO14PvKA.js";import"./use-mcp-client-Da9sRmnt.js";import"./auth-VPD4Z7uj.js";import"./chat-context-D-LKEDCk.js";import"./hooks-BqHMEBso.js";import"./decopilot-sse-pool-ml_VBwzU.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./use-virtual-mcp-BI80r96t.js";import"./use-collections-3DlhnXiC.js";import"./use-ai-providers-yJM6WuqN.js";import"./studio-tools-DqnmzWTT.js";import"./use-organization-settings-BCuQxu_g.js";import"./shell-layout-CV0GLE78.js";import"./avatar-BilFqnob.js";import"./required-auth-layout-DO6Nx9kv.js";import"./use-org-sso-B6kdlgAy.js";import"./integration-icon-BUHEF2ai.js";import"./use-navigate-to-agent-xTXQLL0h.js";import"./use-connection-BiUFPmfA.js";import"./use-mcp-prompts-BR2gK5kG.js";import"./form-MhNC6i_S.js";import"./label-C11ohVz9.js";import"./input-Dpm-wjc8.js";import"./select-CsnP3MmZ.js";import"./switch-BmATXWHQ.js";import"./index-hyUxIDvS.js";import"./drawer-Bj3LFkPG.js";import"./collection-search-D5rZ-51v.js";import"./tabs-DEhvH9u3.js";import"./toggle-group-Bx5PBwdQ.js";import"./sortable.esm-Dmt85o3z.js";import"./connection-slug-eyAPH6o3.js";import"./connection-card-D_O9kugK.js";import"./use-registry-connections-Dma9pkbk.js";import"./useInfiniteQuery-qXZpzYgW.js";import"./use-infinite-scroll-D_WRvqma.js";import"./extract-connection-data-DrZwJcIT.js";import"./card-BupjtJkr.js";import"./collection-tabs-B0DaNRfG.js";import"./badge-CnhOrtd9.js";import"./textarea--_U2p1mn.js";import"./connection-form-helpers-DU4oKsTL.js";import"./authenticate-and-persist-oauth-Dji1uo75.js";import"./mcp-oauth-DWd1pMWO.js";import"./useSuspenseInfiniteQuery-8AoK9WIm.js";import"./connect-desktop-dialog-CxAamCFt.js";import"./decopilot-DhIm-t3i.js";import"./checkbox-DvYZyWAu.js";import"./skeleton-BX3snBo3.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-BKFAq9Na.js";import"./popover-B9SXnqeu.js";import"./command-DzaJUoKq.js";import"./index-DrV1JIHB.js";import"./dropdown-menu-5g8UZmyj.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-JpgLlu6G.js";import"./empty-state-DWNpCwVC.js";import"./toolbar-DSevsKah.js";import"./preview-dialog-C6zO3v13.js";import"./index-B76DB1P0.js";import"./use-mcp-tools-BxfXWcZE.js";import"./use-capability-ChkIe373.js";import"./shell-route-loading-8TPt5XME.js";import"./index-DdNGdbnY.js";import"./alert-dialog-7ikXnuZZ.js";import"./use-debounced-autosave-DSFTYcH3.js";import"./index-AbZbF42n.js";import"./sidebar-9Hq5AiMq.js";import"./search-input-C_LdLAhh.js";import"./github-repo-picker-Cs40-k2n.js";import"./use-secrets-MPq-p0HU.js";import"./formatDistanceToNow-Cb2QZZJn.js";import"./view-mode-toggle-BU7s5ppH.js";import"./automation-runs-Yfeb4HlH.js";import"./table-R8mTvnKd.js";import"./use-members-BIa_9h_X.js";import"./use-org-auth-client-BDAU6HTq.js";import"./task-status-CfLGns02.js";import"./use-automations-bWic0132.js";import"./use-file-configs-Dqlf9DaL.js";import"./monaco-editor-7djoupdn.js";import"./select-model-o0S7EeOg.js";import"./automation-list-row-z5t76XbP.js";function ti(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{ti as SeoSheet};