decocms 4.542.1 → 4.542.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/dist/client/assets/{ActiveShapeUtils-CTNIR1uo.js → ActiveShapeUtils-CLmYip7o.js} +1 -1
  2. package/dist/client/assets/{AlertCircle-Hdww5hle.js → AlertCircle-DzE-j8Md.js} +1 -1
  3. package/dist/client/assets/{AreaChart-C_-vf7HG.js → AreaChart-jCvlBX4z.js} +1 -1
  4. package/dist/client/assets/{ArrowLeft-BdhX_ELF.js → ArrowLeft-B4Fp6tOY.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-B0V8Iire.js → ArrowUp-ChN8aOEm.js} +1 -1
  6. package/dist/client/assets/{BarChart-CGQa-jmR.js → BarChart-kNTSHvb9.js} +1 -1
  7. package/dist/client/assets/{Building02-CIOqUK8u.js → Building02-PnRUM-VE.js} +1 -1
  8. package/dist/client/assets/{CartesianChart-CJ4c9OjY.js → CartesianChart-BUoXXZfH.js} +1 -1
  9. package/dist/client/assets/{CategoricalChart-B7pVoKsa.js → CategoricalChart-Dhwf2GdF.js} +1 -1
  10. package/dist/client/assets/{CheckCircle-Oy-r5wrn.js → CheckCircle-BH2UP5Pl.js} +1 -1
  11. package/dist/client/assets/{ChevronSelectorVertical-4o-RZGZG.js → ChevronSelectorVertical-CK7wz4hr.js} +1 -1
  12. package/dist/client/assets/{ChevronUp-yEhXqYsc.js → ChevronUp-C2ixq11S.js} +1 -1
  13. package/dist/client/assets/{Copy01-DZu9JdFR.js → Copy01-S_Wzfgys.js} +1 -1
  14. package/dist/client/assets/{CreditCard01-e2iuA4b6.js → CreditCard01-C9Xxz1Z-.js} +1 -1
  15. package/dist/client/assets/{DotsVertical-2jz8M_Ab.js → DotsVertical-DgY7T0mx.js} +1 -1
  16. package/dist/client/assets/{ErrorBarContext-pdbVvNIr.js → ErrorBarContext-C0OzijwZ.js} +1 -1
  17. package/dist/client/assets/{Globe04-Dv-Q1UFe.js → Globe04-BPKiswDo.js} +1 -1
  18. package/dist/client/assets/{Image01-Csw8Eb7F.js → Image01-CiWjI_N8.js} +1 -1
  19. package/dist/client/assets/{Key01-nj-094nh.js → Key01-Cl5CaquW.js} +1 -1
  20. package/dist/client/assets/{Link01-DIQIHWyZ.js → Link01-DRf4-o03.js} +1 -1
  21. package/dist/client/assets/{LinkBroken01-DiqXlFxy.js → LinkBroken01-C4Xn1L4t.js} +1 -1
  22. package/dist/client/assets/{Minus-DGpW2R_Y.js → Minus-DrIgoneT.js} +1 -1
  23. package/dist/client/assets/{Monitor01-6lmVgqwN.js → Monitor01-yYk26cfF.js} +1 -1
  24. package/dist/client/assets/{Play-Bw1hrhzw.js → Play-DiF1YnWe.js} +1 -1
  25. package/dist/client/assets/{Plus-BQ-ZwSoF.js → Plus-ajSOCMl5.js} +1 -1
  26. package/dist/client/assets/{ReferenceLine-D96IaFnI.js → ReferenceLine-ode7xeNO.js} +1 -1
  27. package/dist/client/assets/{SearchMd-CcFldd9q.js → SearchMd-DTaWr-NV.js} +1 -1
  28. package/dist/client/assets/{Sector-Lv3mbSoh.js → Sector-CBAM4uEa.js} +1 -1
  29. package/dist/client/assets/{ShoppingBag01-Dt2W1jQn.js → ShoppingBag01-w9yIZ7Vl.js} +1 -1
  30. package/dist/client/assets/{Sun-BCEy54hJ.js → Sun-Bb0mDann.js} +1 -1
  31. package/dist/client/assets/{SwitchHorizontal01-ZVZ1PW_K.js → SwitchHorizontal01-Cz2viH34.js} +1 -1
  32. package/dist/client/assets/{Tool01-DamUcObd.js → Tool01-DvXBMYEr.js} +1 -1
  33. package/dist/client/assets/{Trash01-CA_m_Fs0.js → Trash01-DVB9fxWu.js} +1 -1
  34. package/dist/client/assets/{Upload01-COlXo8Rs.js → Upload01-Bd0Vey4L.js} +1 -1
  35. package/dist/client/assets/UserSquare-WesfpXiJ.js +1 -0
  36. package/dist/client/assets/{Users01-CqKKJKeH.js → Users01-BLXU9p3z.js} +1 -1
  37. package/dist/client/assets/{XClose-BLrzcEcC.js → XClose-BM8Qxy5w.js} +1 -1
  38. package/dist/client/assets/{Zap-CbyRjfWs.js → Zap-sqFFzvOf.js} +1 -1
  39. package/dist/client/assets/{ZoomOut-C8TxwIPG.js → ZoomOut-BMEXUhR4.js} +1 -1
  40. package/dist/client/assets/{access-gate-RZ9GSyUJ.js → access-gate-By7w7bSi.js} +1 -1
  41. package/dist/client/assets/{add-connection-dialog-BVaDiahz.js → add-connection-dialog-BluSK0lx.js} +1 -1
  42. package/dist/client/assets/{agent-analytics-Cdw0YBIV.js → agent-analytics-CNw_SyNM.js} +1 -1
  43. package/dist/client/assets/agent-app-DbclzXDU.js +1 -0
  44. package/dist/client/assets/{agent-assets-C6qXUWEv.js → agent-assets-Bd43kbAT.js} +1 -1
  45. package/dist/client/assets/{agent-automation-N0vyewKq.js → agent-automation-Bu2NjJrU.js} +1 -1
  46. package/dist/client/assets/{agent-automations-U4KLp_Jm.js → agent-automations-Ccv6ZRUF.js} +1 -1
  47. package/dist/client/assets/{agent-calendar-VlbI2j-J.js → agent-calendar-DkkiCWmd.js} +1 -1
  48. package/dist/client/assets/{agent-connect-sources-DzR95Lay.js → agent-connect-sources-BDarxFOe.js} +1 -1
  49. package/dist/client/assets/agent-deck-BZE0--70.js +1 -0
  50. package/dist/client/assets/{agent-e2e-7b8bEJgs.js → agent-e2e-COLwEyW7.js} +1 -1
  51. package/dist/client/assets/agent-experiments-C-CUI5Wi.js +1 -0
  52. package/dist/client/assets/{agent-file-qAGeJ5wq.js → agent-file-BIvvkyQ-.js} +1 -1
  53. package/dist/client/assets/{agent-hosting-ZktfT8aB.js → agent-hosting-BJMw5oRI.js} +1 -1
  54. package/dist/client/assets/agent-icon-DCY-DFu1.js +1 -0
  55. package/dist/client/assets/agent-library-BjJ181jP.js +1 -0
  56. package/dist/client/assets/agent-library-file-BPiYRhWM.js +1 -0
  57. package/dist/client/assets/agent-monitor-DpRQhcjH.js +1 -0
  58. package/dist/client/assets/{agent-overview-C1fHYueD.js → agent-overview-BmB1tKmP.js} +1 -1
  59. package/dist/client/assets/{agent-releases-BUlnts0m.js → agent-releases-Bjc7gSc7.js} +1 -1
  60. package/dist/client/assets/agent-settings-kT3-qFt3.js +1 -0
  61. package/dist/client/assets/{agent-site-editor-BxGyQ1GG.js → agent-site-editor-QzKa3yR0.js} +1 -1
  62. package/dist/client/assets/agent-site-editor-code-o6lK4DIS.js +2 -0
  63. package/dist/client/assets/agent-site-editor-content-B6rkCzsg.js +1 -0
  64. package/dist/client/assets/agent-site-editor-preview-Dg_7ffKK.js +1 -0
  65. package/dist/client/assets/agent-view-D464xMnL.js +1 -0
  66. package/dist/client/assets/{agent-view-guard-CrSlBYGa.js → agent-view-guard-C8vnuAW5.js} +1 -1
  67. package/dist/client/assets/{agents-list-DQMpcCgV.js → agents-list-DcTl6DAN.js} +1 -1
  68. package/dist/client/assets/{ai-providers-DmJhCIXK.js → ai-providers-BxP8NxtG.js} +1 -1
  69. package/dist/client/assets/{alert-Bg73iQHm.js → alert-BClfxRVl.js} +1 -1
  70. package/dist/client/assets/{analytics-sections-COL0BtKA.js → analytics-sections-C56nTKhq.js} +1 -1
  71. package/dist/client/assets/{api-keys-yf9_DOP2.js → api-keys-CgZOX36O.js} +1 -1
  72. package/dist/client/assets/api-keys-q55WNLi3.js +1 -0
  73. package/dist/client/assets/app-editor-D7grhyWY.js +1 -0
  74. package/dist/client/assets/{asset-utils-BrDvPrYv.js → asset-utils-Dv9DtY1w.js} +1 -1
  75. package/dist/client/assets/{auth-DPUc_dnx.js → auth-D4mihjB5.js} +1 -1
  76. package/dist/client/assets/{auth-catchall-3vQklB_P.js → auth-catchall-CIjMWWQ4.js} +1 -1
  77. package/dist/client/assets/{auth-entry-DzHbwDpa.js → auth-entry-CF2sy2X9.js} +1 -1
  78. package/dist/client/assets/{auth-split-layout-CrNUjCQ4.js → auth-split-layout-CKmq0cQL.js} +1 -1
  79. package/dist/client/assets/{authenticate-and-persist-oauth-RWTag1bK.js → authenticate-and-persist-oauth-DcyREoDj.js} +1 -1
  80. package/dist/client/assets/{automation-list-row-DJWeWPbv.js → automation-list-row-B7u3k1TE.js} +1 -1
  81. package/dist/client/assets/{automation-runs-C9XEPlIV.js → automation-runs-DdW0Koem.js} +1 -1
  82. package/dist/client/assets/{automations-Dhk5JOxd.js → automations-Cb_-4OPE.js} +1 -1
  83. package/dist/client/assets/{autosend-Bw00xJf9.js → autosend-BW2sWcH_.js} +1 -1
  84. package/dist/client/assets/{badge-BWAFo8iB.js → badge-BYQ7wlS5.js} +1 -1
  85. package/dist/client/assets/{block-document-D_ARyc6Z.js → block-document-CQPNpE_7.js} +3 -3
  86. package/dist/client/assets/{blocks-preview-workspace-context-Bhzld3G9.js → blocks-preview-workspace-context-CCrolu3H.js} +1 -1
  87. package/dist/client/assets/blocks-tab-states-CTYUutZb.js +1 -0
  88. package/dist/client/assets/{blog-schema-B3FO_Ydd.js → blog-schema-E9phFUsA.js} +1 -1
  89. package/dist/client/assets/{buckets-D-TerXqE.js → buckets-B13TOr3J.js} +1 -1
  90. package/dist/client/assets/{build-improve-prompt-doc-D_iuDFLq.js → build-improve-prompt-doc-CbYp0dXg.js} +1 -1
  91. package/dist/client/assets/{calendar-BRFOK1aQ.js → calendar-Dfa2lTn-.js} +1 -1
  92. package/dist/client/assets/{capability-load-error-BNI4R8XO.js → capability-load-error-B32fS7dM.js} +1 -1
  93. package/dist/client/assets/category-editor-C_N4v5N0.js +1 -0
  94. package/dist/client/assets/{cdn-tab-BqJVJvQQ.js → cdn-tab-C4yfZ9eS.js} +1 -1
  95. package/dist/client/assets/{chart-Q09A7KSZ.js → chart-4GCitUJ7.js} +1 -1
  96. package/dist/client/assets/{chat-context-DR3uLV2w.js → chat-context-BChErz2e.js} +1 -1
  97. package/dist/client/assets/{chat-draft-CKNXk7gm.js → chat-draft-DoIY677y.js} +1 -1
  98. package/dist/client/assets/{checkbox-b8t24adl.js → checkbox-r74ldNXe.js} +1 -1
  99. package/dist/client/assets/{choose-editor-TtuwIl9O.js → choose-editor-CwjcozrS.js} +1 -1
  100. package/dist/client/assets/{cli-auth-success-Dt-ivrkY.js → cli-auth-success-CtgjBw7s.js} +1 -1
  101. package/dist/client/assets/{client-icons-3S2BKupf.js → client-icons-DSbdG4pu.js} +1 -1
  102. package/dist/client/assets/{cms-settings-editor-CoL1CtIi.js → cms-settings-editor-MAcJ4mRh.js} +1 -1
  103. package/dist/client/assets/{collapsible-BHetx99z.js → collapsible-Cq7zc7_4.js} +1 -1
  104. package/dist/client/assets/{collection-detail-C551YHre.js → collection-detail-BpXqX3oB.js} +1 -1
  105. package/dist/client/assets/{collection-display-button-BjEhoX6t.js → collection-display-button-Co1Pga0X.js} +1 -1
  106. package/dist/client/assets/{collection-search-2lwiZ_Gf.js → collection-search-CpetsY8q.js} +1 -1
  107. package/dist/client/assets/{collection-table-wrapper-TIbTouTp.js → collection-table-wrapper-B4u7lstM.js} +1 -1
  108. package/dist/client/assets/{collection-tabs-DNvFQjqm.js → collection-tabs-pmxZ8mkx.js} +1 -1
  109. package/dist/client/assets/{combobox-CMpxb7Mm.js → combobox-BUgAhpEW.js} +1 -1
  110. package/dist/client/assets/{command-CermhoTd.js → command-DOj2A4A7.js} +1 -1
  111. package/dist/client/assets/{companion-mcps-section-CM4OIzwX.js → companion-mcps-section-CWO5AEfe.js} +1 -1
  112. package/dist/client/assets/{config-VQsUFgqz.js → config-Dk-dmIvU.js} +1 -1
  113. package/dist/client/assets/{connect-BfWqzz_9.js → connect-B1oQic42.js} +1 -1
  114. package/dist/client/assets/{connect-layout-F601-RNu.js → connect-layout-CXFw7UnM.js} +1 -1
  115. package/dist/client/assets/{connect-source-dialog-CBx-6nzq.js → connect-source-dialog-CGYXiWts.js} +1 -1
  116. package/dist/client/assets/{connection-DrOf5a8e.js → connection-S7qDWEtT.js} +1 -1
  117. package/dist/client/assets/{connection-card-CZBuUPP_.js → connection-card-Cx44idem.js} +1 -1
  118. package/dist/client/assets/{connection-detail-DPF8YmLk.js → connection-detail-Dv-5xDcH.js} +1 -1
  119. package/dist/client/assets/{connection-form-helpers-D3sfjZA_.js → connection-form-helpers-gFh7yCzV.js} +1 -1
  120. package/dist/client/assets/{connections-lrErrE5H.js → connections-18n-bO0V.js} +1 -1
  121. package/dist/client/assets/content-tab-DN8B-yRI.js +25 -0
  122. package/dist/client/assets/context-6RTcJyMV.js +1 -0
  123. package/dist/client/assets/{context-menu-Biz9RPI-.js → context-menu-Bl8I6GNc.js} +1 -1
  124. package/dist/client/assets/{context-shell-CnZGomwI.js → context-shell-BYQlM0x8.js} +3 -3
  125. package/dist/client/assets/{core.esm-Dennsttt.js → core.esm-BT_mU3xj.js} +1 -1
  126. package/dist/client/assets/{create-organization-dialog-wSFwPaJG.js → create-organization-dialog-U4tR_Qfl.js} +1 -1
  127. package/dist/client/assets/{daily-pulse-A6f95wwZ.js → daily-pulse-6PW7XWbE.js} +1 -1
  128. package/dist/client/assets/{discover-DU-Rzely.js → discover-BIfjmq3H.js} +1 -1
  129. package/dist/client/assets/{domain-settings-Bnb_ZtIt.js → domain-settings-BAiU0Esp.js} +1 -1
  130. package/dist/client/assets/{drawer-CuUzaTfw.js → drawer-Dx4-F-OS.js} +1 -1
  131. package/dist/client/assets/{editor-CJ37wKUc.js → editor-BQmG-TWe.js} +1 -1
  132. package/dist/client/assets/{editor-classes-yEQ_KPvG.js → editor-classes-DKOvNB3n.js} +1 -1
  133. package/dist/client/assets/{empty-state-DXBACaDC.js → empty-state-B3qkXyL5.js} +1 -1
  134. package/dist/client/assets/{empty-state-DhRsvQHO.js → empty-state-cQdvFUSC.js} +1 -1
  135. package/dist/client/assets/{experiments-tab-Bx6GaOJU.js → experiments-tab-CGGCXXu8.js} +1 -1
  136. package/dist/client/assets/{experiments-tab-choice-B1sDnY5T.js → experiments-tab-choice-BPtAtI2U.js} +1 -1
  137. package/dist/client/assets/{extract-connection-data-DOpfeyzI.js → extract-connection-data-duttVzSb.js} +1 -1
  138. package/dist/client/assets/{feature-gate-FbVbvaij.js → feature-gate-B_rAgLtC.js} +1 -1
  139. package/dist/client/assets/{feature-paywall-CdkGt72v.js → feature-paywall-B9F9KnQt.js} +1 -1
  140. package/dist/client/assets/{file-explorer-BfjvwZGe.js → file-explorer-qKQKwlcp.js} +1 -1
  141. package/dist/client/assets/{file-preview-CpUVcTEC.js → file-preview-DtFhFlGD.js} +1 -1
  142. package/dist/client/assets/{file-share-button-BFGgw9L9.js → file-share-button-_yfZfWoE.js} +1 -1
  143. package/dist/client/assets/{file-type-icon-BkRHeWVz.js → file-type-icon-DnkfnNgZ.js} +1 -1
  144. package/dist/client/assets/{folder-icon-CEWb3RvH.js → folder-icon-CQMbivux.js} +1 -1
  145. package/dist/client/assets/{form-RFg7ydwN.js → form-BQ50c_Kc.js} +1 -1
  146. package/dist/client/assets/{general-CCnErHaD.js → general-UOC6R1bq.js} +1 -1
  147. package/dist/client/assets/{github-icon-CfOxQ_kk.js → github-icon-Da5ypnFC.js} +1 -1
  148. package/dist/client/assets/{held-block-view-B1ZTgtaf.js → held-block-view-DCE-bFQS.js} +3 -3
  149. package/dist/client/assets/{home-d4IkLgAU.js → home-BH5Ska_O.js} +1 -1
  150. package/dist/client/assets/{hosted-publish-feedback-CaaC9Yio.js → hosted-publish-feedback-CZCgFuTM.js} +1 -1
  151. package/dist/client/assets/{icon-button-DUX8uev-.js → icon-button-Dr-Gv6H0.js} +1 -1
  152. package/dist/client/assets/{index-GbZ7cHim.js → index-B4sZcXXO.js} +1 -1
  153. package/dist/client/assets/{index-KnmovUVi.js → index-B9YWSID0.js} +1 -1
  154. package/dist/client/assets/{index-ZjFFuBzo.js → index-BIewQUQb.js} +1 -1
  155. package/dist/client/assets/{index-Cw6ilRLN.js → index-BijXK1UR.js} +7 -7
  156. package/dist/client/assets/{index-BU3lM1Xe.js → index-CIaq3tw7.js} +1 -1
  157. package/dist/client/assets/{index-DF_kVaV9.js → index-CQE0HBp3.js} +1 -1
  158. package/dist/client/assets/{index-CuP8z21G.js → index-D6M26y9G.js} +1 -1
  159. package/dist/client/assets/{index-BN1wxwBE.js → index-DBQYx38N.js} +1 -1
  160. package/dist/client/assets/{index-CaPLCDO_.js → index-DCDDlYdn.js} +1 -1
  161. package/dist/client/assets/{index-DiHVaqTW.js → index-DiV7NYFa.js} +1 -1
  162. package/dist/client/assets/{index-AhdOdumU.js → index-DrgADi5h.js} +2 -2
  163. package/dist/client/assets/{index-CYvmYTza.js → index-E459_Efg.js} +1 -1
  164. package/dist/client/assets/{index-nea5NUvS.js → index-HzRnz8QJ.js} +1 -1
  165. package/dist/client/assets/{index-DnZM2vOx.js → index-R3al4Uhd.js} +1 -1
  166. package/dist/client/assets/{index-DiqyTQYB.js → index-jOmOmhTz.js} +1 -1
  167. package/dist/client/assets/{index-redirect-D8gnMr4D.js → index-redirect-Dqqwxwjr.js} +1 -1
  168. package/dist/client/assets/{infiniteQueryObserver-r2g3Rufl.js → infiniteQueryObserver-o3kSKx55.js} +1 -1
  169. package/dist/client/assets/{infra-billing-xKdFu2DK.js → infra-billing-ZP6do34t.js} +1 -1
  170. package/dist/client/assets/{input-B3t37gB5.js → input-i5frBa5C.js} +1 -1
  171. package/dist/client/assets/{input-BiNlRIkN.js → input-seTaYpjE.js} +3 -3
  172. package/dist/client/assets/{integration-icon-BvuUEHwl.js → integration-icon-B78RRiv5.js} +1 -1
  173. package/dist/client/assets/{jira-icon-C17_Jc2B.js → jira-icon-B8btMOFJ.js} +1 -1
  174. package/dist/client/assets/{label-DvonkoXD.js → label-Cp19UNgk.js} +1 -1
  175. package/dist/client/assets/{layout-BiaPlBt-.js → layout-CX2GGDxo.js} +1 -1
  176. package/dist/client/assets/{legacy-agents-deep-DV5Zxfa8.js → legacy-agents-deep-EaRXmg1a.js} +1 -1
  177. package/dist/client/assets/{legacy-main-redirect-3QdAqV_c.js → legacy-main-redirect-Djf9ugx4.js} +1 -1
  178. package/dist/client/assets/library--vU7_72w.js +1 -0
  179. package/dist/client/assets/{library-tab-Nfz-0YaQ.js → library-tab-D2dUmZ2N.js} +1 -1
  180. package/dist/client/assets/{login-bITsid_u.js → login-3ambMeYH.js} +1 -1
  181. package/dist/client/assets/{markdown-Bnq_rauO.js → markdown-Dq2cTeVK.js} +1 -1
  182. package/dist/client/assets/{mcp-app-renderer-D9bP7Uyj.js → mcp-app-renderer-c0XyEtdp.js} +1 -1
  183. package/dist/client/assets/{mcp-oauth-zW9MaFGn.js → mcp-oauth-BGqSa9Pc.js} +1 -1
  184. package/dist/client/assets/{mcp-oauth-B1sQYgh4.js → mcp-oauth-Ce50x3CB.js} +1 -1
  185. package/dist/client/assets/{members-CXI65xvm.js → members-rrzgbqx7.js} +1 -1
  186. package/dist/client/assets/{memory-C-guhabj.js → memory-DXTb6Voq.js} +1 -1
  187. package/dist/client/assets/{mini-report-page-C9o2eyOe.js → mini-report-page-CJX9M-nB.js} +1 -1
  188. package/dist/client/assets/{mock-board-BShoWwXR.js → mock-board-G8D6BINi.js} +3 -3
  189. package/dist/client/assets/{monaco-editor-DP1-rJ0v.js → monaco-editor-D3-tlVi1.js} +1 -1
  190. package/dist/client/assets/{monitoring-CqLCuFHk.js → monitoring-DO4YblV5.js} +1 -1
  191. package/dist/client/assets/{monitoring-stats-row-BRnhkE0A.js → monitoring-stats-row-vVsaxsbi.js} +1 -1
  192. package/dist/client/assets/{multi-select-ID8vWjv8.js → multi-select-BpPVsFAF.js} +1 -1
  193. package/dist/client/assets/{mustache-nJjvu1VV.js → mustache-BKOMnA_9.js} +1 -1
  194. package/dist/client/assets/{named-rule-uses-BHC4DlIQ.js → named-rule-uses-CX8yqNkx.js} +1 -1
  195. package/dist/client/assets/{new-project-dialog-4twV8Y4C.js → new-project-dialog-JbH-ihe7.js} +1 -1
  196. package/dist/client/assets/{oauth-callback-h0NUpdOX.js → oauth-callback-CCdgABZY.js} +1 -1
  197. package/dist/client/assets/{oauth-callback-ai-provider-Da3_ca8D.js → oauth-callback-ai-provider-DWzz5YvT.js} +1 -1
  198. package/dist/client/assets/{onboarding-CvFXVvAB.js → onboarding-CTnT7tiC.js} +1 -1
  199. package/dist/client/assets/{openai-conversation-9-S9iWS8.js → openai-conversation-B5u7XwTe.js} +1 -1
  200. package/dist/client/assets/{optimistic-project-sidebar-views-B65im_4W.js → optimistic-project-sidebar-views-DXBojSzW.js} +1 -1
  201. package/dist/client/assets/{order-monitor-day-GXa0K2fU.js → order-monitor-day-C_W6SROB.js} +1 -1
  202. package/dist/client/assets/{organization-choice-DKpl7kTn.js → organization-choice-McETwbSg.js} +1 -1
  203. package/dist/client/assets/{orgs-Dt-LNqWF.js → orgs-07tmprt6.js} +1 -1
  204. package/dist/client/assets/{page-seo-form-DzjOyYJI.js → page-seo-form-FlV4EZkI.js} +1 -1
  205. package/dist/client/assets/{pair-BwKW0A4I.js → pair-DLv_RG2X.js} +1 -1
  206. package/dist/client/assets/parse-sections-BM7rWPEy.js +1 -0
  207. package/dist/client/assets/{plan-BJIbgrS0.js → plan-CAs8v3rm.js} +1 -1
  208. package/dist/client/assets/{plan-ladder-DIPGMFy3.js → plan-ladder-iixbir6X.js} +1 -1
  209. package/dist/client/assets/{plan-usage-card-OrJ6ndWB.js → plan-usage-card-OF2PeBk2.js} +1 -1
  210. package/dist/client/assets/{popover-N-Tbv2Q_.js → popover-CHbMB3jG.js} +1 -1
  211. package/dist/client/assets/{post-calendar-BN2880sO.js → post-calendar-DFFEwO0u.js} +1 -1
  212. package/dist/client/assets/{post-editor-SZ0T52l-.js → post-editor-DiCZv0jb.js} +1 -1
  213. package/dist/client/assets/{preview-content-BrY4N22Q.js → preview-content-Di4bx53_.js} +1 -1
  214. package/dist/client/assets/{preview-dialog-DNkXNQe2.js → preview-dialog-Bnabi9Qe.js} +1 -1
  215. package/dist/client/assets/{preview-panel-BeRdNuZC.js → preview-panel-C4Onhdbp.js} +1 -1
  216. package/dist/client/assets/{preview-tab-EJWXb_JS.js → preview-tab-BTYNRFa4.js} +3 -3
  217. package/dist/client/assets/{product-picker-dialog-DJW0OQ7t.js → product-picker-dialog-CDwUdEyI.js} +1 -1
  218. package/dist/client/assets/{profile-p2CkJE0T.js → profile-BZopokCb.js} +1 -1
  219. package/dist/client/assets/{project-app-view-C_EMPbo0.js → project-app-view-BvN4B3VY.js} +1 -1
  220. package/dist/client/assets/{project-apps-CbCNo3Qh.js → project-apps-bRm5wucx.js} +1 -1
  221. package/dist/client/assets/{project-feed-BOoFoesM.js → project-feed-JQMrn4N0.js} +1 -1
  222. package/dist/client/assets/{project-icon-BRvDYuEF.js → project-icon-CJYQSuT8.js} +1 -1
  223. package/dist/client/assets/project-reports-C8oDqZ8M.js +1 -0
  224. package/dist/client/assets/project-tasks-12ERuu6r.js +1 -0
  225. package/dist/client/assets/{projects-DxaWyr4c.js → projects-HwNNO20y.js} +1 -1
  226. package/dist/client/assets/{projects-empty-state-q_kUg5xI.js → projects-empty-state-3UvEY2WC.js} +1 -1
  227. package/dist/client/assets/{prompts-ORkU8nSR.js → prompts-Bb-iag-D.js} +1 -1
  228. package/dist/client/assets/record-editor-DKQxzgxV.js +1 -0
  229. package/dist/client/assets/redirect-editor-DwMCsv8a.js +1 -0
  230. package/dist/client/assets/{releases-api-MmQe-HE4.js → releases-api-B6kvYbRr.js} +1 -1
  231. package/dist/client/assets/reports-DPVIqjnT.js +1 -0
  232. package/dist/client/assets/{reports-C3nGzDLE.js → reports-Xotj40Dl.js} +1 -1
  233. package/dist/client/assets/{reports-onboarding-D8qOl7n6.js → reports-onboarding-B5nfdh0X.js} +1 -1
  234. package/dist/client/assets/{reports-tab-BRsFQ8_g.js → reports-tab-Do3x8s5b.js} +2 -2
  235. package/dist/client/assets/{repositories-DWS1FNsz.js → repositories-D80nxgjg.js} +1 -1
  236. package/dist/client/assets/repositories-DDo5raPh.js +1 -0
  237. package/dist/client/assets/{repository-binding-PeMGXqSl.js → repository-binding-C68Bzwbp.js} +1 -1
  238. package/dist/client/assets/{repository-import-picker-BMJ3biNs.js → repository-import-picker-EEK-sVVk.js} +1 -1
  239. package/dist/client/assets/{repository-picker-XiErYA7B.js → repository-picker-DNE15SEp.js} +1 -1
  240. package/dist/client/assets/{require-capability-42JNP4Dw.js → require-capability-B8KwXmiu.js} +1 -1
  241. package/dist/client/assets/{required-auth-layout-DsfiOlyN.js → required-auth-layout-CgViy1W9.js} +1 -1
  242. package/dist/client/assets/{reset-password-CsAEO5bw.js → reset-password-CFvmO4cf.js} +1 -1
  243. package/dist/client/assets/{resizable-XQP8BK4_.js → resizable-BiIQKqAj.js} +1 -1
  244. package/dist/client/assets/{resolve-tab-icon-CguQjH43.js → resolve-tab-icon-ByuLXRti.js} +1 -1
  245. package/dist/client/assets/review-settings-BfbxJWxe.js +1 -0
  246. package/dist/client/assets/{roles-DZFrq3cC.js → roles--sJq_Ice.js} +1 -1
  247. package/dist/client/assets/route-CNrD999i.js +1 -0
  248. package/dist/client/assets/{route-C-GIqs4Z.js → route-DJ0GbELV.js} +1 -1
  249. package/dist/client/assets/{route-DKXnO--k.js → route-Ff6lCceC.js} +1 -1
  250. package/dist/client/assets/{sandbox-lifecycle-context-DB7MI-hA.js → sandbox-lifecycle-context-BFVSmowb.js} +1 -1
  251. package/dist/client/assets/{schema-DGh8triY.js → schema-Bi4RJVVu.js} +1 -1
  252. package/dist/client/assets/{schema-CB30E7Gi.js → schema-ZtwXZVxu.js} +1 -1
  253. package/dist/client/assets/{scroll-area-BhjyScQp.js → scroll-area-Cp71DHPt.js} +1 -1
  254. package/dist/client/assets/{search-input-CnMfC6Ib.js → search-input-BrVmXZXF.js} +1 -1
  255. package/dist/client/assets/{search-toggle-BsT7rhT7.js → search-toggle-DCUC4Qen.js} +1 -1
  256. package/dist/client/assets/{secret-picker-DRe1iXLV.js → secret-picker-lgA-9Rhu.js} +1 -1
  257. package/dist/client/assets/{secrets-Cm-nUiVG.js → secrets-BgPJKyPa.js} +1 -1
  258. package/dist/client/assets/{section-array-field-CowajgIO.js → section-array-field-B5eviaUR.js} +1 -1
  259. package/dist/client/assets/{sections-DN1XjEty.js → sections-Bg_-ZUEa.js} +1 -1
  260. package/dist/client/assets/sections-editor-B5LVHw--.js +1 -0
  261. package/dist/client/assets/{select-IRnWfSEI.js → select-CSKnqqEb.js} +1 -1
  262. package/dist/client/assets/{select-model-_tURUtw8.js → select-model-BQD_gjqh.js} +1 -1
  263. package/dist/client/assets/{seo-editor-DQuBtXMq.js → seo-editor-Cf2Xi6nY.js} +1 -1
  264. package/dist/client/assets/{separator-AD4s_4vt.js → separator-CwuQweR4.js} +1 -1
  265. package/dist/client/assets/settings-tab-BjEX5KP_.js +1 -0
  266. package/dist/client/assets/{sheet-CLT2kz10.js → sheet-BKUj4XRS.js} +1 -1
  267. package/dist/client/assets/{shell-layout-CdKs-SVX.js → shell-layout-7nLfl63D.js} +1 -1
  268. package/dist/client/assets/{site-draft-actions-K5CCMVX6.js → site-draft-actions-CJU0lNJV.js} +1 -1
  269. package/dist/client/assets/{site-draft-view-Dzca4Bar.js → site-draft-view-BexOIk_0.js} +2 -2
  270. package/dist/client/assets/site-editor-BIN6_mo1.js +1 -0
  271. package/dist/client/assets/{site-editor-toast-MdEv_oKc.js → site-editor-toast-DIQQclSk.js} +1 -1
  272. package/dist/client/assets/{skills-DIJP95gf.js → skills-DriBuXLm.js} +1 -1
  273. package/dist/client/assets/{slider-BOLJxYF2.js → slider-CX7at3h2.js} +1 -1
  274. package/dist/client/assets/{sortable.esm-CIFqofWL.js → sortable.esm-10DRQ2sX.js} +1 -1
  275. package/dist/client/assets/{sso-DqMDaenE.js → sso-CRoH05Fz.js} +1 -1
  276. package/dist/client/assets/{suggestion-tz-f65fQ.js → suggestion-xTAroASB.js} +1 -1
  277. package/dist/client/assets/{switch-D45dHrK3.js → switch-DrmfNcNf.js} +1 -1
  278. package/dist/client/assets/{symbol-Femlxd_m.js → symbol-ChJ7jN3k.js} +1 -1
  279. package/dist/client/assets/{synced-repos-45QejDcI.js → synced-repos-DV1BcuV7.js} +1 -1
  280. package/dist/client/assets/{tab-icon-glyph-pt4s2Grb.js → tab-icon-glyph-CF5f-Z_o.js} +1 -1
  281. package/dist/client/assets/{table-Daq1_j7m.js → table-Dzy-0aVP.js} +1 -1
  282. package/dist/client/assets/{tabs-DBG72Yee.js → tabs-BTn3mTbH.js} +1 -1
  283. package/dist/client/assets/{task-assignee-avatar-DrrfJr__.js → task-assignee-avatar-56TwVYLO.js} +1 -1
  284. package/dist/client/assets/{task-board-DSKYQnUa.js → task-board-CayegZZ3.js} +1 -1
  285. package/dist/client/assets/{task-route-D46EYWzc.js → task-route-DGxDwMMW.js} +1 -1
  286. package/dist/client/assets/{task-status-CJpXljEZ.js → task-status-BNNrZ_Nu.js} +1 -1
  287. package/dist/client/assets/{taskboard-analytics-COtnoUXH.js → taskboard-analytics-XuXMs7JC.js} +1 -1
  288. package/dist/client/assets/{tasks-D5O8k4au.js → tasks-CUxYfIaK.js} +1 -1
  289. package/dist/client/assets/tasks-zAr_UkZ3.js +1 -0
  290. package/dist/client/assets/{textarea-B3VJ1IVc.js → textarea-D0LYBX8O.js} +1 -1
  291. package/dist/client/assets/{thread-analytics-yTtiboMK.js → thread-analytics-C1PPOpRT.js} +1 -1
  292. package/dist/client/assets/{thread-intent-CAWCzeoG.js → thread-intent-CdiuimL9.js} +1 -1
  293. package/dist/client/assets/{thread-route-BZQyZ1gL.js → thread-route-B2S6iOD-.js} +1 -1
  294. package/dist/client/assets/{thread-route-C3He_naw.js → thread-route-Cc6UBNhQ.js} +1 -1
  295. package/dist/client/assets/{thread-sheet-body-vk26kAGI.js → thread-sheet-body-BFuME1Bd.js} +1 -1
  296. package/dist/client/assets/{time-range-picker-Dwtk68FK.js → time-range-picker-Cq-tv6qo.js} +1 -1
  297. package/dist/client/assets/{toggle-group-BtOmVjMF.js → toggle-group-DM6uySR5.js} +1 -1
  298. package/dist/client/assets/{tool-namespace-COirY7s5.js → tool-namespace-BW-tXE6W.js} +1 -1
  299. package/dist/client/assets/{toolbar-icon-button-as98rium.js → toolbar-icon-button-Du8IprMB.js} +1 -1
  300. package/dist/client/assets/{tooltip-g1j6c67B.js → tooltip-CgSkJPPS.js} +1 -1
  301. package/dist/client/assets/{tooltipContext-CLvPoHx0.js → tooltipContext-B5ecV60a.js} +1 -1
  302. package/dist/client/assets/{track-CbG7q0Jx.js → track-DekjR40E.js} +1 -1
  303. package/dist/client/assets/{types-C_kLVB_R.js → types-DK13rTXA.js} +1 -1
  304. package/dist/client/assets/{url-slug-DFbBJdJJ.js → url-slug-B9gulo1R.js} +1 -1
  305. package/dist/client/assets/{usage-stats-CO_PzmjR.js → usage-stats-spjeuTC-.js} +1 -1
  306. package/dist/client/assets/{use-ai-providers-UYArMe6s.js → use-ai-providers-TbIEEErY.js} +1 -1
  307. package/dist/client/assets/{use-apply-named-rule-DjUylbM_.js → use-apply-named-rule-dOnUWTCP.js} +1 -1
  308. package/dist/client/assets/{use-automations-fhgNtkrI.js → use-automations-CG-Cikv7.js} +1 -1
  309. package/dist/client/assets/{use-autosave-VNB60wel.js → use-autosave-Csd4kJP8.js} +1 -1
  310. package/dist/client/assets/{use-chat-layout-state-uzyWoT7E.js → use-chat-layout-state-B1KCQDF9.js} +1 -1
  311. package/dist/client/assets/{use-clock-tick-Bbl4jizB.js → use-clock-tick-ffh7KkCE.js} +1 -1
  312. package/dist/client/assets/{use-cms-publish-actions-Oa0EZQ0t.js → use-cms-publish-actions-eqQub0R0.js} +1 -1
  313. package/dist/client/assets/{use-connect-companion-BinIX0nI.js → use-connect-companion-CbQk2RHf.js} +1 -1
  314. package/dist/client/assets/{use-connection-BeEdNRHa.js → use-connection-TWR90GP-.js} +1 -1
  315. package/dist/client/assets/{use-copy-Dk3cEiBB.js → use-copy-BtQZocLW.js} +1 -1
  316. package/dist/client/assets/{use-create-virtual-mcp-CcnOX0WT.js → use-create-virtual-mcp-Bg_pvKji.js} +1 -1
  317. package/dist/client/assets/{use-date-fns-locale-CpjJIfQT.js → use-date-fns-locale-Dk7jlgNH.js} +1 -1
  318. package/dist/client/assets/{use-debounced-autosave-QN0_xGaq.js → use-debounced-autosave-BEzdgU_0.js} +1 -1
  319. package/dist/client/assets/{use-debounced-value-Cg3pn3hJ.js → use-debounced-value-AoAqNmHg.js} +1 -1
  320. package/dist/client/assets/{use-deco-credits-C5r8tKZH.js → use-deco-credits-DHyEg3az.js} +1 -1
  321. package/dist/client/assets/{use-decopilot-events-D7GIEyuu.js → use-decopilot-events-CVUGGfXM.js} +1 -1
  322. package/dist/client/assets/{use-delete-connection-Cx5vGSZR.js → use-delete-connection-Cz9YzYA8.js} +1 -1
  323. package/dist/client/assets/{use-deployment-admin-DVUkJw7-.js → use-deployment-admin-_i-curaL.js} +1 -1
  324. package/dist/client/assets/{use-entitlements-C4tNpLNZ.js → use-entitlements-C0wXCfoQ.js} +1 -1
  325. package/dist/client/assets/{use-fast-preview-draft-url-C2yv-JdA.js → use-fast-preview-draft-url-aEjdHT0V.js} +1 -1
  326. package/dist/client/assets/{use-file-configs-C8WLQuJ_.js → use-file-configs-xfUsfkeK.js} +1 -1
  327. package/dist/client/assets/{use-inbox-feed-CmYEHjcJ.js → use-inbox-feed-p7cJIwLb.js} +1 -1
  328. package/dist/client/assets/{use-infinite-scroll-dtUi5Sm6.js → use-infinite-scroll-DCkPJt0t.js} +1 -1
  329. package/dist/client/assets/{use-join-requests-CACMdSxj.js → use-join-requests-CuoNgXxm.js} +1 -1
  330. package/dist/client/assets/{use-main-panel-tabs-6UM-eEDy.js → use-main-panel-tabs-B5SM6O8K.js} +1 -1
  331. package/dist/client/assets/{use-mcp-auth-status-nCZ8OnbU.js → use-mcp-auth-status-DnlvB6rZ.js} +1 -1
  332. package/dist/client/assets/{use-mcp-client-CvhC1TIJ.js → use-mcp-client-KWSUvK_a.js} +1 -1
  333. package/dist/client/assets/{use-mcp-prompts-BWsIl6wX.js → use-mcp-prompts-BEJ1f99M.js} +1 -1
  334. package/dist/client/assets/{use-mcp-tools-I_UsR8Xf.js → use-mcp-tools-BC8AaNmJ.js} +1 -1
  335. package/dist/client/assets/{use-mobile-CKqq0hw6.js → use-mobile-CPIB7FDl.js} +1 -1
  336. package/dist/client/assets/{use-move-blocks-D5l0lx5X.js → use-move-blocks-8DTZOusM.js} +1 -1
  337. package/dist/client/assets/{use-navigate-to-agent-X54xBbs-.js → use-navigate-to-agent-HYjCQ2HB.js} +1 -1
  338. package/dist/client/assets/{use-org-fs-wk2PRaOo.js → use-org-fs-CRpJAVmi.js} +1 -1
  339. package/dist/client/assets/{use-org-repo-syncs-ON_B-I08.js → use-org-repo-syncs-fm6UzfKA.js} +1 -1
  340. package/dist/client/assets/{use-org-sso-1YltyqLi.js → use-org-sso-CfMRDnRe.js} +1 -1
  341. package/dist/client/assets/{use-organization-roles-CxgWGtCR.js → use-organization-roles-APtOO0Ln.js} +1 -1
  342. package/dist/client/assets/{use-organization-settings-BFBXS4UG.js → use-organization-settings-BnaaX9uD.js} +1 -1
  343. package/dist/client/assets/{use-panel-navigate-DzWclIwL.js → use-panel-navigate-C8QBD8vM.js} +1 -1
  344. package/dist/client/assets/{use-project-native-view-presence-B8VDwbCS.js → use-project-native-view-presence-BwKCP-cs.js} +1 -1
  345. package/dist/client/assets/{use-project-scope-Bq5GrrDd.js → use-project-scope-CQd-IFnJ.js} +1 -1
  346. package/dist/client/assets/{use-recent-apps-DBlZNiUD.js → use-recent-apps-DDZXSkFr.js} +1 -1
  347. package/dist/client/assets/{use-releases-Dth9LHEU.js → use-releases-CuN0i7FX.js} +1 -1
  348. package/dist/client/assets/{use-reports-diagnostic-Do0xVL-L.js → use-reports-diagnostic-KsJKsvbI.js} +1 -1
  349. package/dist/client/assets/use-sandbox-events-CHP3Ppk5.js +2 -0
  350. package/dist/client/assets/{use-secrets-Byq7_LZ0.js → use-secrets-DTKbIXef.js} +1 -1
  351. package/dist/client/assets/{use-section-preview-base-Bi-N531T.js → use-section-preview-base-C-qObYGR.js} +1 -1
  352. package/dist/client/assets/{use-session-runtime-C29BLCO5.js → use-session-runtime-7fOZnFmy.js} +1 -1
  353. package/dist/client/assets/{use-sidebar-collapsed-CC40xbK2.js → use-sidebar-collapsed-Cg9SAJcE.js} +1 -1
  354. package/dist/client/assets/{use-tags-DsgZua5i.js → use-tags-DfJbMtHn.js} +1 -1
  355. package/dist/client/assets/{use-task-board-analytics-BTfxOx5Z.js → use-task-board-analytics-CeRXsQRW.js} +1 -1
  356. package/dist/client/assets/{use-task-board-events-BQ73Mjf5.js → use-task-board-events-on9bUB3D.js} +1 -1
  357. package/dist/client/assets/{use-task-board-item-prs-D1aN1p6d.js → use-task-board-item-prs-DSW_-yNM.js} +1 -1
  358. package/dist/client/assets/{use-task-board-prompts-CaMiqHjx.js → use-task-board-prompts-D_ds0kXS.js} +1 -1
  359. package/dist/client/assets/{use-task-metadata-RAKFvADU.js → use-task-metadata-DEG1rVSj.js} +1 -1
  360. package/dist/client/assets/{use-thread-analytics-UYwynn2f.js → use-thread-analytics-CwjDq08D.js} +1 -1
  361. package/dist/client/assets/{use-thread-outputs-DsSeydeQ.js → use-thread-outputs-Ct6GwzUZ.js} +1 -1
  362. package/dist/client/assets/useInfiniteQuery-BfYXF3Ue.js +1 -0
  363. package/dist/client/assets/{useQueries-BxilFdP8.js → useQueries-CizdKXco.js} +1 -1
  364. package/dist/client/assets/useSuspenseInfiniteQuery-CDVGaP6u.js +1 -0
  365. package/dist/client/assets/{users-CfzZpC_f.js → users-BDtwz5j1.js} +1 -1
  366. package/dist/client/assets/{utils-CFwQd3Dj.js → utils-DSrro3Kq.js} +1 -1
  367. package/dist/client/assets/{variant-calendar-DAzhjaCK.js → variant-calendar-Bauq4E4Q.js} +1 -1
  368. package/dist/client/assets/{variant-matcher-override-KA8G6wne.js → variant-matcher-override-O_qTI-qh.js} +1 -1
  369. package/dist/client/assets/{view-header-D4T3g6Y4.js → view-header-BDzDO2AR.js} +1 -1
  370. package/dist/client/assets/{virtual-mcp-CJAqxDe2.js → virtual-mcp-BO0xBKoh.js} +1 -1
  371. package/dist/client/assets/{watch-sse-pool-BxinXtVa.js → watch-sse-pool-4Z_1jztZ.js} +1 -1
  372. package/dist/client/index.html +1 -1
  373. package/dist/server/cli.js +44 -44
  374. package/dist/server/server.js +41 -41
  375. package/package.json +1 -1
  376. package/dist/client/assets/UserSquare-TWw3zsr7.js +0 -1
  377. package/dist/client/assets/agent-app-CgNxZEzb.js +0 -1
  378. package/dist/client/assets/agent-deck-SnZhc8k8.js +0 -1
  379. package/dist/client/assets/agent-experiments-DqhQbvgt.js +0 -1
  380. package/dist/client/assets/agent-icon-rBB7-3Iv.js +0 -1
  381. package/dist/client/assets/agent-library-5yOHhp5F.js +0 -1
  382. package/dist/client/assets/agent-library-file-Cj3Cwkh2.js +0 -1
  383. package/dist/client/assets/agent-monitor-Bywg_SMe.js +0 -1
  384. package/dist/client/assets/agent-settings-CQR-A0mU.js +0 -1
  385. package/dist/client/assets/agent-site-editor-code-lC9bSMmG.js +0 -2
  386. package/dist/client/assets/agent-site-editor-content-Bshm0mLR.js +0 -1
  387. package/dist/client/assets/agent-site-editor-preview-DnlcRwFX.js +0 -1
  388. package/dist/client/assets/agent-view-DbVFezEQ.js +0 -1
  389. package/dist/client/assets/api-keys-l4aX0wsP.js +0 -1
  390. package/dist/client/assets/app-editor-BoAUsCRl.js +0 -1
  391. package/dist/client/assets/blocks-tab-states-Bujj2Oag.js +0 -1
  392. package/dist/client/assets/category-editor-bZgzbes6.js +0 -1
  393. package/dist/client/assets/content-tab-DruH5Km_.js +0 -22
  394. package/dist/client/assets/context-DmRBBX5q.js +0 -1
  395. package/dist/client/assets/library-DNyXivcG.js +0 -1
  396. package/dist/client/assets/parse-sections-C3Hmwt0I.js +0 -1
  397. package/dist/client/assets/project-reports-Ckw4gPRj.js +0 -1
  398. package/dist/client/assets/project-tasks-DIs0LJKu.js +0 -1
  399. package/dist/client/assets/record-editor-C9Hk9gzX.js +0 -1
  400. package/dist/client/assets/redirect-editor-DTFg1kOc.js +0 -1
  401. package/dist/client/assets/reports-DpW566Gg.js +0 -1
  402. package/dist/client/assets/repositories-rpqjpzkl.js +0 -1
  403. package/dist/client/assets/review-settings-U2xSoSbC.js +0 -1
  404. package/dist/client/assets/route-BeAt5Jxq.js +0 -1
  405. package/dist/client/assets/sections-editor-KyiXwNg4.js +0 -1
  406. package/dist/client/assets/settings-tab-Cyi9Dt5w.js +0 -1
  407. package/dist/client/assets/site-editor-B1tNbOKR.js +0 -1
  408. package/dist/client/assets/tasks-Dkj9k49d.js +0 -1
  409. package/dist/client/assets/use-sandbox-events-vz4ehPML.js +0 -2
  410. package/dist/client/assets/useInfiniteQuery-qZeYk4so.js +0 -1
  411. package/dist/client/assets/useSuspenseInfiniteQuery-CTPa_bH3.js +0 -1
@@ -1 +1 @@
1
- import{c as S,a4 as R,R as Q,K as Y,m as ce,q as U,e as V,j as i,hH as de,b as z,r as $,h8 as me,gm as J,aS as ue,aR as fe,aO as ge,aM as pe,aN as ye,aQ as xe,aP as he,bm as je,B as w,t as q,fT as Ke,x as W,aY as X,w as Z,I as ee,y as te,v as se,D as ie}from"./index-Cw6ilRLN.js";import{i as Ce}from"./AlertCircle-Hdww5hle.js";import{a as De}from"./Copy01-DZu9JdFR.js";import{i as ne}from"./Key01-nj-094nh.js";import{s as le}from"./Plus-BQ-ZwSoF.js";import{s as Ae}from"./Trash01-CA_m_Fs0.js";import{E as Se}from"./empty-state-DXBACaDC.js";import{L as be}from"./label-DvonkoXD.js";import{u as H}from"./use-mcp-client-CvhC1TIJ.js";function M(t,e){if(t?.isError)throw new Error(t.content?.[0]?.text??e);if(!t.structuredContent)throw new Error(e);return t.structuredContent}function we(t){const e=S.c(11),{org:a}=R();let r;e[0]!==a.id||e[1]!==a.slug?(r={connectionId:Q,orgId:a.id,orgSlug:a.slug},e[0]=a.id,e[1]=a.slug,e[2]=r):r=e[2];const l=H(r);let s;e[3]!==a.id?(s=Y.apiKeysList(a.id),e[3]=a.id,e[4]=s):s=e[4];let n;e[5]!==l?(n=async()=>{const d=await l.callTool({name:"API_KEY_LIST",arguments:{}});return M(d,"Failed to list API keys").items},e[5]=l,e[6]=n):n=e[6];const c=t?.enabled??!0;let o;return e[7]!==s||e[8]!==n||e[9]!==c?(o={queryKey:s,queryFn:n,staleTime:3e4,enabled:c},e[7]=s,e[8]=n,e[9]=c,e[10]=o):o=e[10],ce(o)}function _e(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=U();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_CREATE",arguments:{name:o.name,permissions:o.permissions??{"*":["*"]}}});return M(d,"Failed to create API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ve(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=U();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:o}});return M(d,"Failed to delete API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ae(t){const e=S.c(6),{error:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(Ce,{size:16}),e[0]=l):l=e[0];let s;e[1]!==a.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:a.message}),e[1]=a.message,e[2]=r,e[3]=s):s=e[3];let n;return e[4]!==s?(n=i.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,i.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=n):n=e[5],n}function Pe(t){const e=S.c(20),{apiKey:a,onDelete:r}=t,l=z();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:i.jsx(ne,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let n;e[1]!==a.name?(n=i.jsx("span",{className:"font-medium text-sm truncate block",children:a.name}),e[1]=a.name,e[2]=n):n=e[2];let c;e[3]!==a.createdAt||e[4]!==l?(c=l("settings.apiKeys.createdAt",{date:new Date(a.createdAt).toLocaleDateString()}),e[3]=a.createdAt,e[4]=l,e[5]=c):c=e[5];let o;e[6]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:c}),e[6]=c,e[7]=o):o=e[7];let d;e[8]!==n||e[9]!==o?(d=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s,i.jsxs("div",{className:"min-w-0",children:[n,o]})]}),e[8]=n,e[9]=o,e[10]=d):d=e[10];let m;e[11]!==l?(m=l("settings.apiKeys.deleteKey"),e[11]=l,e[12]=m):m=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=i.jsx(Ae,{size:14}),e[13]=f):f=e[13];let g;e[14]!==r||e[15]!==m?(g=i.jsx(w,{variant:"ghost-destructive",size:"icon",className:"shrink-0",onClick:r,"aria-label":m,children:f}),e[14]=r,e[15]=m,e[16]=g):g=e[16];let u;return e[17]!==d||e[18]!==g?(u=i.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[d,g]}),e[17]=d,e[18]=g,e[19]=u):u=e[19],u}function Ee(t){const e=S.c(15),{onCreate:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(ne,{}),e[0]=l):l=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let n;e[3]!==r?(n=r("settings.apiKeys.emptyDescription"),e[3]=r,e[4]=n):n=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=i.jsx(le,{size:14}),e[5]=c):c=e[5];let o;e[6]!==r?(o=r("settings.apiKeys.newKey"),e[6]=r,e[7]=o):o=e[7];let d;e[8]!==a||e[9]!==o?(d=i.jsxs(w,{onClick:a,size:"sm",children:[c,o]}),e[8]=a,e[9]=o,e[10]=d):d=e[10];let m;return e[11]!==s||e[12]!==n||e[13]!==d?(m=i.jsx(Ke,{children:i.jsx(Se,{size:"inline",icon:l,title:s,description:n,children:d})}),e[11]=s,e[12]=n,e[13]=d,e[14]=m):m=e[14],m}function Ne(t){const e=S.c(40),{createdKey:a,onClose:r}=t,l=z(),s=a!==null;let n;e[0]!==r?(n=b=>!b&&r(),e[0]=r,e[1]=n):n=e[1];let c;e[2]!==l?(c=l("settings.apiKeys.createdTitle"),e[2]=l,e[3]=c):c=e[3];let o;e[4]!==c?(o=i.jsx(W,{children:c}),e[4]=c,e[5]=o):o=e[5];let d;e[6]!==l?(d=l("settings.apiKeys.createdDescription"),e[6]=l,e[7]=d):d=e[7];let m;e[8]!==d?(m=i.jsx(X,{children:d}),e[8]=d,e[9]=m):m=e[9];let f;e[10]!==o||e[11]!==m?(f=i.jsxs(Z,{children:[o,m]}),e[10]=o,e[11]=m,e[12]=f):f=e[12];const g=a?.key??"";let u;e[13]!==g?(u=i.jsx(ee,{readOnly:!0,value:g,className:"font-mono text-xs"}),e[13]=g,e[14]=u):u=e[14];let p;e[15]!==a||e[16]!==l?(p=()=>{a&&(navigator.clipboard?.writeText(a.key),q.success(l("settings.apiKeys.copied")))},e[15]=a,e[16]=l,e[17]=p):p=e[17];let y;e[18]!==l?(y=l("settings.apiKeys.copyKey"),e[18]=l,e[19]=y):y=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=i.jsx(De,{size:14}),e[20]=C):C=e[20];let x;e[21]!==p||e[22]!==y?(x=i.jsx(w,{type:"button",variant:"outline",size:"icon",onClick:p,"aria-label":y,children:C}),e[21]=p,e[22]=y,e[23]=x):x=e[23];let h;e[24]!==x||e[25]!==u?(h=i.jsxs("div",{className:"flex items-center gap-2",children:[u,x]}),e[24]=x,e[25]=u,e[26]=h):h=e[26];let j;e[27]!==l?(j=l("settings.apiKeys.done"),e[27]=l,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=i.jsx(te,{children:i.jsx(w,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let D;e[32]!==h||e[33]!==K||e[34]!==f?(D=i.jsxs(se,{className:"sm:max-w-lg",children:[f,h,K]}),e[32]=h,e[33]=K,e[34]=f,e[35]=D):D=e[35];let A;return e[36]!==s||e[37]!==D||e[38]!==n?(A=i.jsx(ie,{open:s,onOpenChange:n,children:D}),e[36]=s,e[37]=D,e[38]=n,e[39]=A):A=e[39],A}function Te(t){const e=S.c(64),{open:a,onOpenChange:r,onCreated:l}=t,s=z(),[n,c]=$.useState(""),o=_e();let d;e[0]!==r?(d=function(){c(""),r(!1)},e[0]=r,e[1]=d):d=e[1];const m=d;let f;e[2]!==o||e[3]!==m||e[4]!==n||e[5]!==l||e[6]!==s?(f=async function(oe){if(oe.preventDefault(),!!n.trim())try{const B=await o.mutateAsync({name:n.trim()});m(),l(B)}catch(B){const G=B;q.error(G instanceof Error?G.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=o,e[3]=m,e[4]=n,e[5]=l,e[6]=s,e[7]=f):f=e[7];const g=f;let u;e[8]!==m||e[9]!==r?(u=F=>{F?r(F):m()},e[8]=m,e[9]=r,e[10]=u):u=e[10];let p;e[11]!==s?(p=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=p):p=e[12];let y;e[13]!==p?(y=i.jsx(W,{children:p}),e[13]=p,e[14]=y):y=e[14];let C;e[15]!==s?(C=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=C):C=e[16];let x;e[17]!==C?(x=i.jsx(X,{children:C}),e[17]=C,e[18]=x):x=e[18];let h;e[19]!==y||e[20]!==x?(h=i.jsxs(Z,{children:[y,x]}),e[19]=y,e[20]=x,e[21]=h):h=e[21];let j;e[22]!==s?(j=s("settings.apiKeys.nameLabel"),e[22]=s,e[23]=j):j=e[23];let K;e[24]!==j?(K=i.jsx(be,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let D;e[26]===Symbol.for("react.memo_cache_sentinel")?(D=F=>c(F.target.value),e[26]=D):D=e[26];let A;e[27]!==s?(A=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=A):A=e[28];let b;e[29]!==n||e[30]!==A?(b=i.jsx(ee,{id:"api-key-name",value:n,onChange:D,placeholder:A,autoComplete:"off",required:!0}),e[29]=n,e[30]=A,e[31]=b):b=e[31];let _;e[32]!==K||e[33]!==b?(_=i.jsxs("div",{className:"space-y-1.5",children:[K,b]}),e[32]=K,e[33]=b,e[34]=_):_=e[34];const re=o.isPending;let v;e[35]!==s?(v=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=v):v=e[36];let P;e[37]!==o.isPending||e[38]!==m||e[39]!==v?(P=i.jsx(w,{type:"button",variant:"outline",onClick:m,disabled:re,children:v}),e[37]=o.isPending,e[38]=m,e[39]=v,e[40]=P):P=e[40];let E;e[41]!==o.isPending||e[42]!==n?(E=o.isPending||!n.trim(),e[41]=o.isPending,e[42]=n,e[43]=E):E=e[43];let N;e[44]!==o.isPending||e[45]!==s?(N=o.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=o.isPending,e[45]=s,e[46]=N):N=e[46];let T;e[47]!==E||e[48]!==N?(T=i.jsx(w,{type:"submit",disabled:E,children:N}),e[47]=E,e[48]=N,e[49]=T):T=e[49];let k;e[50]!==P||e[51]!==T?(k=i.jsxs(te,{children:[P,T]}),e[50]=P,e[51]=T,e[52]=k):k=e[52];let I;e[53]!==g||e[54]!==_||e[55]!==k?(I=i.jsxs("form",{onSubmit:g,className:"space-y-4",children:[_,k]}),e[53]=g,e[54]=_,e[55]=k,e[56]=I):I=e[56];let L;e[57]!==I||e[58]!==h?(L=i.jsxs(se,{className:"sm:max-w-lg",children:[h,I]}),e[57]=I,e[58]=h,e[59]=L):L=e[59];let O;return e[60]!==a||e[61]!==L||e[62]!==u?(O=i.jsx(ie,{open:a,onOpenChange:u,children:L}),e[60]=a,e[61]=L,e[62]=u,e[63]=O):O=e[63],O}function ke(){const t=z(),{data:e,isLoading:a,error:r}=we(),l=ve(),[s,n]=$.useState(!1),[c,o]=$.useState(null),[d,m]=$.useState(null),f=e??[];async function g(){if(d)try{await l.mutateAsync(d.id),q.success(t("settings.apiKeys.keyDeleted",{name:d.name}))}catch(u){q.error(u instanceof Error?u.message:t("settings.apiKeys.failedToDeleteKey"))}finally{m(null)}}return i.jsxs(me,{title:t("settings.apiKeys.sectionTitle"),description:t("settings.apiKeys.sectionDescription"),actions:f.length>0?i.jsxs(w,{onClick:()=>n(!0),size:"sm",children:[i.jsx(le,{size:14}),t("settings.apiKeys.newKey")]}):void 0,children:[a?i.jsx(J,{className:"gap-0 overflow-hidden p-0",children:i.jsx("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:t("settings.apiKeys.loading")})}):r&&f.length===0?i.jsx(ae,{error:r}):f.length===0?i.jsx(Ee,{onCreate:()=>n(!0)}):i.jsx(J,{className:"gap-0 overflow-hidden p-0",children:i.jsx("ul",{className:"divide-y divide-border",children:f.map(u=>i.jsx(Pe,{apiKey:u,onDelete:()=>m(u)},u.id))})}),i.jsx(Te,{open:s,onOpenChange:n,onCreated:o}),i.jsx(Ne,{createdKey:c,onClose:()=>o(null)}),i.jsx(ue,{open:d!==null,onOpenChange:u=>{u||m(null)},children:i.jsxs(fe,{children:[i.jsxs(ge,{children:[i.jsx(pe,{children:t("settings.apiKeys.deleteTitle",{name:d?.name??""})}),i.jsx(ye,{children:t("settings.apiKeys.deleteDescription")})]}),i.jsxs(xe,{children:[i.jsx(he,{children:t("settings.apiKeys.cancelButton")}),i.jsx(je,{onClick:g,children:t("settings.apiKeys.deleteKey")})]})]})})]})}function Ye(){const t=S.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(de,{group:"connect",errorFallback:Ie,children:i.jsx(ke,{})}),t[0]=e):e=t[0],e}function Ie(t){const{error:e}=t;return i.jsx(ae,{error:e??new Error("Failed to load API keys")})}export{ke as A,Ye as O,we as a,_e as u};
1
+ import{c as S,a4 as R,R as Q,K as Y,m as ce,q as U,e as V,j as i,hH as de,b as z,r as $,h8 as me,gm as J,aS as ue,aR as fe,aO as ge,aM as pe,aN as ye,aQ as xe,aP as he,bm as je,B as w,t as q,fT as Ke,x as W,aY as X,w as Z,I as ee,y as te,v as se,D as ie}from"./index-BijXK1UR.js";import{i as Ce}from"./AlertCircle-DzE-j8Md.js";import{a as De}from"./Copy01-S_Wzfgys.js";import{i as ne}from"./Key01-Cl5CaquW.js";import{s as le}from"./Plus-ajSOCMl5.js";import{s as Ae}from"./Trash01-DVB9fxWu.js";import{E as Se}from"./empty-state-B3qkXyL5.js";import{L as be}from"./label-Cp19UNgk.js";import{u as H}from"./use-mcp-client-KWSUvK_a.js";function M(t,e){if(t?.isError)throw new Error(t.content?.[0]?.text??e);if(!t.structuredContent)throw new Error(e);return t.structuredContent}function we(t){const e=S.c(11),{org:a}=R();let r;e[0]!==a.id||e[1]!==a.slug?(r={connectionId:Q,orgId:a.id,orgSlug:a.slug},e[0]=a.id,e[1]=a.slug,e[2]=r):r=e[2];const l=H(r);let s;e[3]!==a.id?(s=Y.apiKeysList(a.id),e[3]=a.id,e[4]=s):s=e[4];let n;e[5]!==l?(n=async()=>{const d=await l.callTool({name:"API_KEY_LIST",arguments:{}});return M(d,"Failed to list API keys").items},e[5]=l,e[6]=n):n=e[6];const c=t?.enabled??!0;let o;return e[7]!==s||e[8]!==n||e[9]!==c?(o={queryKey:s,queryFn:n,staleTime:3e4,enabled:c},e[7]=s,e[8]=n,e[9]=c,e[10]=o):o=e[10],ce(o)}function _e(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=U();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_CREATE",arguments:{name:o.name,permissions:o.permissions??{"*":["*"]}}});return M(d,"Failed to create API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ve(){const t=S.c(11),{org:e}=R();let a;t[0]!==e.id||t[1]!==e.slug?(a={connectionId:Q,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=a):a=t[2];const r=H(a),l=U();let s;t[3]!==r?(s=async o=>{const d=await r.callTool({name:"API_KEY_DELETE",arguments:{keyId:o}});return M(d,"Failed to delete API key")},t[3]=r,t[4]=s):s=t[4];let n;t[5]!==e.id||t[6]!==l?(n=()=>{l.invalidateQueries({queryKey:Y.apiKeysList(e.id)})},t[5]=e.id,t[6]=l,t[7]=n):n=t[7];let c;return t[8]!==s||t[9]!==n?(c={mutationFn:s,onSuccess:n},t[8]=s,t[9]=n,t[10]=c):c=t[10],V(c)}function ae(t){const e=S.c(6),{error:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(Ce,{size:16}),e[0]=l):l=e[0];let s;e[1]!==a.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:a.message}),e[1]=a.message,e[2]=r,e[3]=s):s=e[3];let n;return e[4]!==s?(n=i.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[l,i.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=n):n=e[5],n}function Pe(t){const e=S.c(20),{apiKey:a,onDelete:r}=t,l=z();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=i.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:i.jsx(ne,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let n;e[1]!==a.name?(n=i.jsx("span",{className:"font-medium text-sm truncate block",children:a.name}),e[1]=a.name,e[2]=n):n=e[2];let c;e[3]!==a.createdAt||e[4]!==l?(c=l("settings.apiKeys.createdAt",{date:new Date(a.createdAt).toLocaleDateString()}),e[3]=a.createdAt,e[4]=l,e[5]=c):c=e[5];let o;e[6]!==c?(o=i.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:c}),e[6]=c,e[7]=o):o=e[7];let d;e[8]!==n||e[9]!==o?(d=i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[s,i.jsxs("div",{className:"min-w-0",children:[n,o]})]}),e[8]=n,e[9]=o,e[10]=d):d=e[10];let m;e[11]!==l?(m=l("settings.apiKeys.deleteKey"),e[11]=l,e[12]=m):m=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=i.jsx(Ae,{size:14}),e[13]=f):f=e[13];let g;e[14]!==r||e[15]!==m?(g=i.jsx(w,{variant:"ghost-destructive",size:"icon",className:"shrink-0",onClick:r,"aria-label":m,children:f}),e[14]=r,e[15]=m,e[16]=g):g=e[16];let u;return e[17]!==d||e[18]!==g?(u=i.jsxs("li",{className:"flex items-center justify-between gap-4 px-4 py-3",children:[d,g]}),e[17]=d,e[18]=g,e[19]=u):u=e[19],u}function Ee(t){const e=S.c(15),{onCreate:a}=t,r=z();let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=i.jsx(ne,{}),e[0]=l):l=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let n;e[3]!==r?(n=r("settings.apiKeys.emptyDescription"),e[3]=r,e[4]=n):n=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=i.jsx(le,{size:14}),e[5]=c):c=e[5];let o;e[6]!==r?(o=r("settings.apiKeys.newKey"),e[6]=r,e[7]=o):o=e[7];let d;e[8]!==a||e[9]!==o?(d=i.jsxs(w,{onClick:a,size:"sm",children:[c,o]}),e[8]=a,e[9]=o,e[10]=d):d=e[10];let m;return e[11]!==s||e[12]!==n||e[13]!==d?(m=i.jsx(Ke,{children:i.jsx(Se,{size:"inline",icon:l,title:s,description:n,children:d})}),e[11]=s,e[12]=n,e[13]=d,e[14]=m):m=e[14],m}function Ne(t){const e=S.c(40),{createdKey:a,onClose:r}=t,l=z(),s=a!==null;let n;e[0]!==r?(n=b=>!b&&r(),e[0]=r,e[1]=n):n=e[1];let c;e[2]!==l?(c=l("settings.apiKeys.createdTitle"),e[2]=l,e[3]=c):c=e[3];let o;e[4]!==c?(o=i.jsx(W,{children:c}),e[4]=c,e[5]=o):o=e[5];let d;e[6]!==l?(d=l("settings.apiKeys.createdDescription"),e[6]=l,e[7]=d):d=e[7];let m;e[8]!==d?(m=i.jsx(X,{children:d}),e[8]=d,e[9]=m):m=e[9];let f;e[10]!==o||e[11]!==m?(f=i.jsxs(Z,{children:[o,m]}),e[10]=o,e[11]=m,e[12]=f):f=e[12];const g=a?.key??"";let u;e[13]!==g?(u=i.jsx(ee,{readOnly:!0,value:g,className:"font-mono text-xs"}),e[13]=g,e[14]=u):u=e[14];let p;e[15]!==a||e[16]!==l?(p=()=>{a&&(navigator.clipboard?.writeText(a.key),q.success(l("settings.apiKeys.copied")))},e[15]=a,e[16]=l,e[17]=p):p=e[17];let y;e[18]!==l?(y=l("settings.apiKeys.copyKey"),e[18]=l,e[19]=y):y=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=i.jsx(De,{size:14}),e[20]=C):C=e[20];let x;e[21]!==p||e[22]!==y?(x=i.jsx(w,{type:"button",variant:"outline",size:"icon",onClick:p,"aria-label":y,children:C}),e[21]=p,e[22]=y,e[23]=x):x=e[23];let h;e[24]!==x||e[25]!==u?(h=i.jsxs("div",{className:"flex items-center gap-2",children:[u,x]}),e[24]=x,e[25]=u,e[26]=h):h=e[26];let j;e[27]!==l?(j=l("settings.apiKeys.done"),e[27]=l,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=i.jsx(te,{children:i.jsx(w,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let D;e[32]!==h||e[33]!==K||e[34]!==f?(D=i.jsxs(se,{className:"sm:max-w-lg",children:[f,h,K]}),e[32]=h,e[33]=K,e[34]=f,e[35]=D):D=e[35];let A;return e[36]!==s||e[37]!==D||e[38]!==n?(A=i.jsx(ie,{open:s,onOpenChange:n,children:D}),e[36]=s,e[37]=D,e[38]=n,e[39]=A):A=e[39],A}function Te(t){const e=S.c(64),{open:a,onOpenChange:r,onCreated:l}=t,s=z(),[n,c]=$.useState(""),o=_e();let d;e[0]!==r?(d=function(){c(""),r(!1)},e[0]=r,e[1]=d):d=e[1];const m=d;let f;e[2]!==o||e[3]!==m||e[4]!==n||e[5]!==l||e[6]!==s?(f=async function(oe){if(oe.preventDefault(),!!n.trim())try{const B=await o.mutateAsync({name:n.trim()});m(),l(B)}catch(B){const G=B;q.error(G instanceof Error?G.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=o,e[3]=m,e[4]=n,e[5]=l,e[6]=s,e[7]=f):f=e[7];const g=f;let u;e[8]!==m||e[9]!==r?(u=F=>{F?r(F):m()},e[8]=m,e[9]=r,e[10]=u):u=e[10];let p;e[11]!==s?(p=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=p):p=e[12];let y;e[13]!==p?(y=i.jsx(W,{children:p}),e[13]=p,e[14]=y):y=e[14];let C;e[15]!==s?(C=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=C):C=e[16];let x;e[17]!==C?(x=i.jsx(X,{children:C}),e[17]=C,e[18]=x):x=e[18];let h;e[19]!==y||e[20]!==x?(h=i.jsxs(Z,{children:[y,x]}),e[19]=y,e[20]=x,e[21]=h):h=e[21];let j;e[22]!==s?(j=s("settings.apiKeys.nameLabel"),e[22]=s,e[23]=j):j=e[23];let K;e[24]!==j?(K=i.jsx(be,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let D;e[26]===Symbol.for("react.memo_cache_sentinel")?(D=F=>c(F.target.value),e[26]=D):D=e[26];let A;e[27]!==s?(A=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=A):A=e[28];let b;e[29]!==n||e[30]!==A?(b=i.jsx(ee,{id:"api-key-name",value:n,onChange:D,placeholder:A,autoComplete:"off",required:!0}),e[29]=n,e[30]=A,e[31]=b):b=e[31];let _;e[32]!==K||e[33]!==b?(_=i.jsxs("div",{className:"space-y-1.5",children:[K,b]}),e[32]=K,e[33]=b,e[34]=_):_=e[34];const re=o.isPending;let v;e[35]!==s?(v=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=v):v=e[36];let P;e[37]!==o.isPending||e[38]!==m||e[39]!==v?(P=i.jsx(w,{type:"button",variant:"outline",onClick:m,disabled:re,children:v}),e[37]=o.isPending,e[38]=m,e[39]=v,e[40]=P):P=e[40];let E;e[41]!==o.isPending||e[42]!==n?(E=o.isPending||!n.trim(),e[41]=o.isPending,e[42]=n,e[43]=E):E=e[43];let N;e[44]!==o.isPending||e[45]!==s?(N=o.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=o.isPending,e[45]=s,e[46]=N):N=e[46];let T;e[47]!==E||e[48]!==N?(T=i.jsx(w,{type:"submit",disabled:E,children:N}),e[47]=E,e[48]=N,e[49]=T):T=e[49];let k;e[50]!==P||e[51]!==T?(k=i.jsxs(te,{children:[P,T]}),e[50]=P,e[51]=T,e[52]=k):k=e[52];let I;e[53]!==g||e[54]!==_||e[55]!==k?(I=i.jsxs("form",{onSubmit:g,className:"space-y-4",children:[_,k]}),e[53]=g,e[54]=_,e[55]=k,e[56]=I):I=e[56];let L;e[57]!==I||e[58]!==h?(L=i.jsxs(se,{className:"sm:max-w-lg",children:[h,I]}),e[57]=I,e[58]=h,e[59]=L):L=e[59];let O;return e[60]!==a||e[61]!==L||e[62]!==u?(O=i.jsx(ie,{open:a,onOpenChange:u,children:L}),e[60]=a,e[61]=L,e[62]=u,e[63]=O):O=e[63],O}function ke(){const t=z(),{data:e,isLoading:a,error:r}=we(),l=ve(),[s,n]=$.useState(!1),[c,o]=$.useState(null),[d,m]=$.useState(null),f=e??[];async function g(){if(d)try{await l.mutateAsync(d.id),q.success(t("settings.apiKeys.keyDeleted",{name:d.name}))}catch(u){q.error(u instanceof Error?u.message:t("settings.apiKeys.failedToDeleteKey"))}finally{m(null)}}return i.jsxs(me,{title:t("settings.apiKeys.sectionTitle"),description:t("settings.apiKeys.sectionDescription"),actions:f.length>0?i.jsxs(w,{onClick:()=>n(!0),size:"sm",children:[i.jsx(le,{size:14}),t("settings.apiKeys.newKey")]}):void 0,children:[a?i.jsx(J,{className:"gap-0 overflow-hidden p-0",children:i.jsx("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:t("settings.apiKeys.loading")})}):r&&f.length===0?i.jsx(ae,{error:r}):f.length===0?i.jsx(Ee,{onCreate:()=>n(!0)}):i.jsx(J,{className:"gap-0 overflow-hidden p-0",children:i.jsx("ul",{className:"divide-y divide-border",children:f.map(u=>i.jsx(Pe,{apiKey:u,onDelete:()=>m(u)},u.id))})}),i.jsx(Te,{open:s,onOpenChange:n,onCreated:o}),i.jsx(Ne,{createdKey:c,onClose:()=>o(null)}),i.jsx(ue,{open:d!==null,onOpenChange:u=>{u||m(null)},children:i.jsxs(fe,{children:[i.jsxs(ge,{children:[i.jsx(pe,{children:t("settings.apiKeys.deleteTitle",{name:d?.name??""})}),i.jsx(ye,{children:t("settings.apiKeys.deleteDescription")})]}),i.jsxs(xe,{children:[i.jsx(he,{children:t("settings.apiKeys.cancelButton")}),i.jsx(je,{onClick:g,children:t("settings.apiKeys.deleteKey")})]})]})})]})}function Ye(){const t=S.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=i.jsx(de,{group:"connect",errorFallback:Ie,children:i.jsx(ke,{})}),t[0]=e):e=t[0],e}function Ie(t){const{error:e}=t;return i.jsx(ae,{error:e??new Error("Failed to load API keys")})}export{ke as A,Ye as O,we as a,_e as u};
@@ -0,0 +1 @@
1
+ import{c as o,j as r}from"./index-BijXK1UR.js";import{O as e}from"./api-keys-CgZOX36O.js";import{R as m}from"./require-capability-B8KwXmiu.js";import"./AlertCircle-DzE-j8Md.js";import"./Copy01-S_Wzfgys.js";import"./Key01-Cl5CaquW.js";import"./Plus-ajSOCMl5.js";import"./Trash01-DVB9fxWu.js";import"./empty-state-B3qkXyL5.js";import"./label-Cp19UNgk.js";import"./use-mcp-client-KWSUvK_a.js";import"./auth-D4mihjB5.js";import"./access-gate-By7w7bSi.js";import"./capability-load-error-B32fS7dM.js";function d(){const t=o.c(1);let i;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=r.jsx(m,{capability:"api-keys:manage",area:"api-keys",children:r.jsx(e,{})}),t[0]=i):i=t[0],i}export{d as default};
@@ -0,0 +1 @@
1
+ import{c as Et,j as m,b as Ft,r as A,ax as Tt,l as It,h as Ot,t as gt}from"./index-BijXK1UR.js";import{u as Mt}from"./chat-context-BChErz2e.js";import{u as Pt}from"./use-session-runtime-7fOZnFmy.js";import{S as $t}from"./scroll-area-Cp71DHPt.js";import{u as Ut,A as Vt}from"./use-section-preview-base-C-qObYGR.js";import{w as zt,k as Lt,o as qt}from"./parse-sections-BM7rWPEy.js";import{H as Gt,d as Ht,u as Dt,v as Wt,F as Zt,w as Jt,a as Qt,t as Xt,G as Yt}from"./held-block-view-DCE-bFQS.js";import{n as te}from"./content-tab-DN8B-yRI.js";import"./use-panel-navigate-C8QBD8vM.js";import"./thread-route-B2S6iOD-.js";import"./use-project-scope-CQd-IFnJ.js";import"./repository-binding-C68Bzwbp.js";import"./use-mcp-client-KWSUvK_a.js";import"./auth-D4mihjB5.js";import"./autosend-BW2sWcH_.js";import"./thread-intent-CdiuimL9.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./watch-sse-pool-4Z_1jztZ.js";import"./task-board-CayegZZ3.js";import"./schema-ZtwXZVxu.js";import"./slugify-CEUa2lfQ.js";import"./use-entitlements-C0wXCfoQ.js";import"./use-ai-providers-TbIEEErY.js";import"./location-V0VwTJTt.js";import"./use-decopilot-events-CVUGGfXM.js";import"./use-organization-settings-BnaaX9uD.js";import"./index-BdQq_4o_.js";import"./UserSquare-WesfpXiJ.js";import"./agent-icon-DCY-DFu1.js";import"./AlertCircle-DzE-j8Md.js";import"./Tool01-DvXBMYEr.js";import"./ArrowUp-ChN8aOEm.js";import"./ArrowLeft-B4Fp6tOY.js";import"./LinkBroken01-C4Xn1L4t.js";import"./ShoppingBag01-w9yIZ7Vl.js";import"./ZoomOut-BMEXUhR4.js";import"./Building02-PnRUM-VE.js";import"./CheckCircle-BH2UP5Pl.js";import"./ChevronUp-C2ixq11S.js";import"./ChevronSelectorVertical-CK7wz4hr.js";import"./Copy01-S_Wzfgys.js";import"./CreditCard01-C9Xxz1Z-.js";import"./DotsVertical-DgY7T0mx.js";import"./Image01-CiWjI_N8.js";import"./Globe04-BPKiswDo.js";import"./SwitchHorizontal01-Cz2viH34.js";import"./Key01-Cl5CaquW.js";import"./Link01-DRf4-o03.js";import"./Minus-DrIgoneT.js";import"./Monitor01-yYk26cfF.js";import"./Sun-Bb0mDann.js";import"./Play-DiF1YnWe.js";import"./Plus-ajSOCMl5.js";import"./SearchMd-DTaWr-NV.js";import"./Trash01-DVB9fxWu.js";import"./Upload01-Bd0Vey4L.js";import"./Users01-BLXU9p3z.js";import"./XClose-BM8Qxy5w.js";import"./Zap-sqFFzvOf.js";import"./section-preview-url-7zfngvgW.js";import"./site-editor-toast-DIQQclSk.js";import"./experiments-tab-choice-BPtAtI2U.js";import"./sandbox-url-D3mC8qhT.js";import"./utils-DSrro3Kq.js";import"./use-sandbox-events-CHP3Ppk5.js";import"./sandbox-git-api-DcqI6XE4.js";import"./sandbox-start-errors-BK_aDCyt.js";import"./pair-DLv_RG2X.js";import"./collapsible-Cq7zc7_4.js";import"./use-copy-BtQZocLW.js";import"./usage-stats-spjeuTC-.js";import"./tool-namespace-BW-tXE6W.js";import"./form-BQ50c_Kc.js";import"./label-Cp19UNgk.js";import"./utils-CVEq3hMx.js";import"./markdown-Dq2cTeVK.js";import"./use-mobile-CPIB7FDl.js";import"./tooltip-CgSkJPPS.js";import"./index-HzRnz8QJ.js";import"./use-clock-tick-ffh7KkCE.js";import"./content-blocks-o63cs2vh.js";import"./mcp-app-renderer-c0XyEtdp.js";import"./types-DK13rTXA.js";import"./omit-sandbox-map-jj4lCB2U.js";import"./shell-layout-7nLfl63D.js";import"./use-deployment-admin-_i-curaL.js";import"./admin-fetch-BhTJlAsX.js";import"./command-DOj2A4A7.js";import"./index-jOmOmhTz.js";import"./integration-icon-B78RRiv5.js";import"./project-icon-CJYQSuT8.js";import"./new-project-dialog-JbH-ihe7.js";import"./repository-import-picker-EEK-sVVk.js";import"./use-navigate-to-agent-HYjCQ2HB.js";import"./repository-picker-DNE15SEp.js";import"./github-icon-Da5ypnFC.js";import"./useInfiniteQuery-BfYXF3Ue.js";import"./infiniteQueryObserver-o3kSKx55.js";import"./collection-search-CpetsY8q.js";import"./use-debounced-value-AoAqNmHg.js";import"./required-auth-layout-CgViy1W9.js";import"./use-org-sso-CfMRDnRe.js";import"./sheet-BKUj4XRS.js";import"./use-connection-TWR90GP-.js";import"./use-mcp-prompts-BEJ1f99M.js";import"./use-thread-outputs-Ct6GwzUZ.js";import"./file-type-icon-DnkfnNgZ.js";import"./section-array-field-B5eviaUR.js";import"./alert-BClfxRVl.js";import"./blocks-tab-states-CTYUutZb.js";import"./slider-CX7at3h2.js";import"./index-D6M26y9G.js";import"./tooltipContext-B5ecV60a.js";import"./CategoricalChart-Dhwf2GdF.js";import"./index-B4sZcXXO.js";import"./ActiveShapeUtils-CLmYip7o.js";import"./Sector-CBAM4uEa.js";import"./symbol-ChJ7jN3k.js";import"./empty-state-cQdvFUSC.js";import"./switch-DrmfNcNf.js";import"./textarea-D0LYBX8O.js";import"./popover-CHbMB3jG.js";import"./monaco-editor-D3-tlVi1.js";import"./editor-BQmG-TWe.js";import"./calendar-Dfa2lTn-.js";import"./select-CSKnqqEb.js";import"./editor-classes-DKOvNB3n.js";import"./core.esm-BT_mU3xj.js";import"./sortable.esm-10DRQ2sX.js";import"./toggle-group-DM6uySR5.js";import"./active-indicator-CCMhAsc_.js";import"./combobox-BUgAhpEW.js";import"./search-input-BrVmXZXF.js";import"./tabs-BTn3mTbH.js";import"./use-file-configs-xfUsfkeK.js";import"./asset-utils-Dv9DtY1w.js";import"./match-site-slug-config-D3fUJ6vX.js";import"./view-header-BDzDO2AR.js";import"./use-cms-publish-actions-eqQub0R0.js";import"./hosted-publish-feedback-CZCgFuTM.js";import"./mustache-BKOMnA_9.js";import"./sandbox-lifecycle-context-BFVSmowb.js";import"./checkbox-r74ldNXe.js";import"./date-utils-CrvIKg-s.js";import"./use-move-blocks-8DTZOusM.js";import"./badge-BYQ7wlS5.js";import"./empty-state-B3qkXyL5.js";import"./collection-table-wrapper-B4u7lstM.js";import"./table-Dzy-0aVP.js";function ee(e,t){if(!e||!t?.length)return e;const o=Object.fromEntries(Object.entries(e.properties??{}).filter(([r])=>!t.includes(r)));return Object.keys(o).length>0?{...e,properties:o}:e}function _t(e,t,o){return typeof e!="string"?null:ee(zt(e,t),o)}function re(e,t,o){if(!t||typeof e!="string")return!1;const r=_t(e,t,o);return!!r&&Object.keys(r.properties??{}).length>0}function oe(e,t){const o=(e.title||e.resolveType.split("/").pop()||"").replace(/\.(tsx?|jsx?)$/,"").replace(/[^A-Za-z0-9_-]/g,""),r=/^[A-Za-z]/.test(o)&&o.length>0?o:"Section",i=te(t,r);return{blockKey:i,data:{__resolveType:e.resolveType,name:i}}}function Jo(e){const t=Et.c(9),o=e.saveGuard?void 0:e.block!==void 0;let r;t[0]!==e?(r=m.jsx(ie,{...e}),t[0]=e,t[1]=r):r=t[1];let i;return t[2]!==e.blockKey||t[3]!==e.branch||t[4]!==e.orgSlug||t[5]!==e.virtualMcpId||t[6]!==o||t[7]!==r?(i=m.jsx(Gt,{orgSlug:e.orgSlug,virtualMcpId:e.virtualMcpId,branch:e.branch,blockKey:e.blockKey,present:o,children:r}),t[2]=e.blockKey,t[3]=e.branch,t[4]=e.orgSlug,t[5]=e.virtualMcpId,t[6]=o,t[7]=r,t[8]=i):i=t[8],i}function ie(e){const t=Et.c(94),{orgSlug:o,virtualMcpId:r,branch:i,blockKey:c,block:x,meta:n,decofile:u,title:At,excludeFields:v,previewBaseUrl:St,notice:J,saveGuard:Q,persistDefaults:X,schemaWaiting:yt}=e,Y=St===void 0?null:St,tt=yt===void 0?!0:yt,et=Mt()?.taskId??null,p=Ft(),R=Pt(r);let N;t[0]!==i||t[1]!==Y||t[2]!==r?(N={virtualMcpId:r,branch:i,sandboxUrl:Y},t[0]=i,t[1]=Y,t[2]=r,t[3]=N):N=t[3];const b=Ut(N),l=typeof x?.__resolveType=="string"?x.__resolveType:"";let C;t[4]!==v||t[5]!==n||t[6]!==l?(C=_t(l,n,v),t[4]=v,t[5]=n,t[6]=l,t[7]=C):C=t[7];const rt=C;let F;t[8]!==v||t[9]!==n||t[10]!==l?(F=re(l,n,v),t[8]=v,t[9]=n,t[10]=l,t[11]=F):F=t[11];const ot=F;let T;t[12]!==n||t[13]!==l||t[14]!==tt||t[15]!==R?(T=tt&&l!==""&&!(R.resolved&&R.runtime==="cms")&&!Lt(l,n),t[12]=n,t[13]=l,t[14]=tt,t[15]=R,t[16]=T):T=t[16];const I=T,kt=At??(x?qt(c,x,n):c);let O;t[17]!==i||t[18]!==o||t[19]!==r?(O={orgSlug:o,virtualMcpId:r,branch:i},t[17]=i,t[18]=o,t[19]=r,t[20]=O):O=t[20];let M;t[21]!==Q?(M={guard:Q,holdsCopy:!0},t[21]=Q,t[22]=M):M=t[22];const{save:it,flush:st,isPending:mt}=Ht(O,M);let P;t[23]!==i||t[24]!==o||t[25]!==r?(P={orgSlug:o,virtualMcpId:r,branch:i},t[23]=i,t[24]=o,t[25]=r,t[26]=P):P=t[26];const g=Dt(P);let $;t[27]!==g||t[28]!==p?($=Qt((s,a)=>g.mutate({blockKey:s,data:a},{onError:d=>gt.error(p("sectionsEditor.sectionsEditor.saveFailed",{error:d.message}))})),t[27]=g,t[28]=p,t[29]=$):$=t[29];const nt=$,[Kt,Rt]=A.useState(c),[at,jt]=A.useState(null),[lt,wt]=A.useState(0);let U;t[30]===Symbol.for("react.memo_cache_sentinel")?(U=[],t[30]=U):U=t[30];const[S,Bt]=A.useState(U),[ct,f]=A.useState(!1),V=A.useRef(null);Kt!==c&&(Rt(c),jt(null),wt(me),Bt([]));let z;t[31]!==x?(z=x??{},t[31]=x,t[32]=z):z=t[32];const pt=z;let y;t[33]!==at?(y=at??{},t[33]=at,t[34]=y):y=t[34];let L;t[35]!==pt||t[36]!==y?(L={...pt,...y},t[35]=pt,t[36]=y,t[37]=L):L=t[37];const dt=L;let q;t[38]!==c||t[39]!==l||t[40]!==it?(q=s=>{const a=s;jt(a),it(c,{...a,__resolveType:l})},t[38]=c,t[39]=l,t[40]=it,t[41]=q):q=t[41];const ut=q;let G;t[42]===Symbol.for("react.memo_cache_sentinel")?(G=s=>{Bt(s)},t[42]=G):G=t[42];const K=G;let H;t[43]!==u||t[44]!==st||t[45]!==g||t[46]!==p?(H=async(s,a)=>{try{const{blockKey:d,data:h}=oe(s,u),vt=await g.mutateAsync({blockKey:d,data:h});Xt(vt)||gt.success(p("sandbox.appEditor.createdSection",{name:d})),a({__resolveType:d}),st()}catch(d){const h=d,vt=h instanceof Error?h.message:p("sandbox.appEditor.failedAddSection");throw gt.error(vt),h}},t[43]=u,t[44]=st,t[45]=g,t[46]=p,t[47]=H):H=t[47];const k=H;let D;t[48]!==f?(D=s=>{V.current=s.append,f(!0)},t[48]=f,t[49]=D):D=t[49];const ft=D;let W;t[50]!==k||t[51]!==f?(W=async s=>{const a=V.current;if(a)try{await k(s,d=>{a(d),f(!1),V.current=null})}catch{}},t[50]=k,t[51]=f,t[52]=W):W=t[52];const ht=W,xt=S.length>0?[kt,...S]:[],Nt="flex h-full flex-col",Ct="flex h-12 shrink-0 items-center justify-between border-b px-6",bt=xt.length>0?m.jsx("nav",{"aria-label":p("sandbox.appEditor.editingBreadcrumb"),className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:xt.map((s,a)=>{const d=a===xt.length-1,h=Wt(s);return m.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[a>0&&m.jsx(Tt,{className:"size-3 shrink-0 text-muted-foreground/60"}),m.jsx("button",{type:"button",onClick:()=>{K(a===0?[]:Zt(S,a)),wt(se)},title:h,className:It("min-w-0 truncate rounded-lg px-1 py-0.5 text-left transition-colors",d?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:h})]},`${h}-${a}`)})}):m.jsx("span",{className:"text-sm font-medium",children:kt});let j;t[53]!==mt?(j=m.jsx(Yt,{isPending:mt,isError:!1}),t[53]=mt,t[54]=j):j=t[54];let w;t[55]!==bt||t[56]!==j?(w=m.jsxs("div",{className:Ct,children:[bt,j]}),t[55]=bt,t[56]=j,t[57]=w):w=t[57];let B;t[58]!==I||t[59]!==c||t[60]!==i||t[61]!==S||t[62]!==u||t[63]!==dt||t[64]!==lt||t[65]!==k||t[66]!==K||t[67]!==ut||t[68]!==ft||t[69]!==ot||t[70]!==n||t[71]!==o||t[72]!==X||t[73]!==nt||t[74]!==rt||t[75]!==b||t[76]!==p||t[77]!==et||t[78]!==r?(B=ot?m.jsx(Jt,{schema:rt,value:dt,onChange:ut,persistDefaults:X,basePath:"",breadcrumbPath:S,onBreadcrumbChange:K,decofile:u,meta:n,onSaveReferencedBlock:nt,previewBaseUrl:b,onAddSectionItem:k,onRequestAddSection:ft,sandbox:{orgSlug:o,virtualMcpId:r,branch:i,threadId:et}},`${c}:${lt}`):m.jsxs("div",{className:"flex flex-col items-center gap-3 py-6 text-center text-xs text-muted-foreground",children:[I&&m.jsx(Ot,{className:"size-4"}),m.jsx("p",{children:p(I?"sandbox.appEditor.schemaAwaitsBuild":"sandbox.appEditor.noEditableSchema")})]}),t[58]=I,t[59]=c,t[60]=i,t[61]=S,t[62]=u,t[63]=dt,t[64]=lt,t[65]=k,t[66]=K,t[67]=ut,t[68]=ft,t[69]=ot,t[70]=n,t[71]=o,t[72]=X,t[73]=nt,t[74]=rt,t[75]=b,t[76]=p,t[77]=et,t[78]=r,t[79]=B):B=t[79];let E;t[80]!==J||t[81]!==B?(E=m.jsx($t,{className:"min-h-0 min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:m.jsx("div",{className:"px-6 py-6",children:m.jsxs("div",{className:"mx-auto max-w-xl",children:[J,B]})})}),t[80]=J,t[81]=B,t[82]=E):E=t[82];let _;t[83]!==ct||t[84]!==u||t[85]!==ht||t[86]!==n||t[87]!==b||t[88]!==f?(_=b&&m.jsx(Vt,{open:ct,onOpenChange:s=>{f(s),s||(V.current=null)},meta:n,decofile:u,previewBaseUrl:b,onSelect:s=>{ht(s)}}),t[83]=ct,t[84]=u,t[85]=ht,t[86]=n,t[87]=b,t[88]=f,t[89]=_):_=t[89];let Z;return t[90]!==w||t[91]!==E||t[92]!==_?(Z=m.jsxs("div",{className:Nt,children:[w,E,_]}),t[90]=w,t[91]=E,t[92]=_,t[93]=Z):Z=t[93],Z}function se(e){return e+1}function me(e){return e+1}export{Jo as AppEditor};
@@ -1 +1 @@
1
- import{c as u,a4 as d,e as g,ap as m,K as I,q as O}from"./index-Cw6ilRLN.js";import{u as $}from"./useInfiniteQuery-qZeYk4so.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
1
+ import{c as u,a4 as d,e as g,ap as m,K as I,q as O}from"./index-BijXK1UR.js";import{u as $}from"./useInfiniteQuery-BfYXF3Ue.js";function T(e){const t=u.c(17),{org:s}=d(),c=m();let i,n,o,l;t[0]!==s.id||t[1]!==e.configId||t[2]!==e.imageOnly||t[3]!==e.search?(n=e.search?.trim()||void 0,i=e.imageOnly??!1,l=$,o=I.filePickerObjects(s.id,e.configId,n,i),t[0]=s.id,t[1]=e.configId,t[2]=e.imageOnly,t[3]=e.search,t[4]=i,t[5]=n,t[6]=o,t[7]=l):(i=t[4],n=t[5],o=t[6],l=t[7]);const r=e.enabled!==!1&&!!e.configId;let a;t[8]!==i||t[9]!==e.configId||t[10]!==n||t[11]!==c?(a=async y=>{const{pageParam:p}=y;return await c.call("FILE_OBJECTS_LIST",{configId:e.configId,cursor:p??void 0,search:n,imageOnly:i||void 0})},t[8]=i,t[9]=e.configId,t[10]=n,t[11]=c,t[12]=a):a=t[12];let f;return t[13]!==o||t[14]!==r||t[15]!==a?(f={queryKey:o,enabled:r,staleTime:3e4,initialPageParam:null,queryFn:a,getNextPageParam:h},t[13]=o,t[14]=r,t[15]=a,t[16]=f):f=t[16],l(f)}function h(e){return e.nextCursor??void 0}function E(){const e=u.c(2),{org:t}=d();let s;return e[0]!==t?(s={mutationFn:async c=>{const i=c.file.type||"application/octet-stream",n=await fetch(`/api/${encodeURIComponent(t.slug)}/file-configs/${encodeURIComponent(c.configId)}/upload?filename=${encodeURIComponent(c.file.name)}`,{method:"POST",headers:{"Content-Type":i},body:c.file});if(!n.ok){const o=await n.text().catch(x);let l=`${n.status} ${n.statusText}`;try{const r=JSON.parse(o);r.message&&(l=r.message)}catch{o&&(l=o.slice(0,200))}throw new Error(`Upload failed: ${l}`)}return await n.json()}},e[0]=t,e[1]=s):s=e[1],g(s)}function x(){return""}function F(){const e=u.c(8),{org:t}=d(),s=m(),c=O();let i;e[0]!==s?(i=l=>s.call("FILE_OBJECT_DELETE",l),e[0]=s,e[1]=i):i=e[1];let n;e[2]!==t||e[3]!==c?(n=(l,r)=>{c.invalidateQueries({queryKey:I.filePickerObjectsByConfig(t.id,r.configId)})},e[2]=t,e[3]=c,e[4]=n):n=e[4];let o;return e[5]!==i||e[6]!==n?(o={mutationFn:i,onSuccess:n},e[5]=i,e[6]=n,e[7]=o):o=e[7],g(o)}function w(e){return/\.(png|jpe?g|gif|webp|svg|avif|bmp)$/i.test(e)}function S(e){const t=e.lastIndexOf(".");return t<0||t===e.length-1?"file":e.slice(t+1).toLowerCase()}function v(e){const t=e.split("/");return t[t.length-1]??e}function _(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}export{E as a,v as b,F as c,S as e,_ as f,w as i,T as u};
@@ -1 +1 @@
1
- import{c9 as v,ca as $,cb as W,cc as H,cd as D,ce as y,cf as V,cg as x,ch as L,ci as j,cj as q,ck as N,cl as B,cm as Z,cn as F}from"./index-Cw6ilRLN.js";function G(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function J({requestedResource:e,configuredResource:t}){const n=typeof e=="string"?new URL(e):new URL(e.href),r=typeof t=="string"?new URL(t):new URL(t.href);if(n.origin!==r.origin||n.pathname.length<r.pathname.length)return!1;const a=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return a.startsWith(i)}class pe extends Error{constructor(t){super(t??"Unauthorized")}}function Y(e){return["client_secret_basic","client_secret_post","none"].includes(e)}const p="code",_="S256";function K(e,t){const n=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Y(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?n?"client_secret_basic":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function Q(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":X(a,i,n);return;case"client_secret_post":ee(a,i,r);return;case"none":te(a,r);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function X(e,t,n){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const r=btoa(`${e}:${t}`);n.set("Authorization",`Basic ${r}`)}function ee(e,t,n){n.set("client_id",e),t&&n.set("client_secret",t)}function te(e,t){t.set("client_id",e)}async function M(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=B.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=Z[a]||y;return new o(i||"",s)}catch(r){const a=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${r}. Raw body: ${n}`;return new y(a)}}async function _e(e,t){try{return await U(e,t)}catch(n){if(n instanceof v||n instanceof $)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof W)return await e.invalidateCredentials?.("tokens"),await U(e,t);throw n}}async function U(e,{serverUrl:t,authorizationCode:n,scope:r,resourceMetadataUrl:a,fetchFn:i}){const s=await e.discoveryState?.();let o,c,u,h=a;if(!h&&s?.resourceMetadataUrl&&(h=new URL(s.resourceMetadataUrl)),s?.authorizationServerUrl){if(c=s.authorizationServerUrl,o=s.resourceMetadata,u=s.authorizationServerMetadata??await P(c,{fetchFn:i}),!o)try{o=await T(t,{resourceMetadataUrl:h},i)}catch{}(u!==s.authorizationServerMetadata||o!==s.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}else{const l=await ce(t,{resourceMetadataUrl:h,fetchFn:i});c=l.authorizationServerUrl,u=l.authorizationServerMetadata,o=l.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}const f=await re(t,e,o),A=r||o?.scopes_supported?.join(" ")||e.clientMetadata.scope;let d=await Promise.resolve(e.clientInformation());if(!d){if(n!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const l=u?.client_id_metadata_document_supported===!0,w=e.clientMetadataUrl;if(w&&!ne(w))throw new H(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${w}`);if(l&&w)d={client_id:w},await e.saveClientInformation?.(d);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const S=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(S),d=S}}const C=!e.redirectUrl;if(n!==void 0||C){const l=await he(e,c,{metadata:u,resource:f,authorizationCode:n,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}const k=await e.tokens();if(k?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:k.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof D)||l instanceof y))throw l}const z=e.state?await e.state():void 0,{authorizationUrl:b,codeVerifier:I}=await ue(c,{metadata:u,clientInformation:d,state:z,redirectUrl:e.redirectUrl,scope:A,resource:f});return await e.saveCodeVerifier(I),await e.redirectToAuthorization(b),"REDIRECT"}function ne(e){if(!e)return!1;try{const t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function re(e,t,n){const r=G(e);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!J({requestedResource:r,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}function Ue(e){const t=e.headers.get("WWW-Authenticate");if(!t)return{};const[n,r]=t.split(" ");if(n.toLowerCase()!=="bearer"||!r)return{};const a=m(e,"resource_metadata")||void 0;let i;if(a)try{i=new URL(a)}catch{}const s=m(e,"scope")||void 0,o=m(e,"error")||void 0;return{resourceMetadataUrl:i,scope:s,error:o}}function m(e,t){const n=e.headers.get("WWW-Authenticate");if(!n)return null;const r=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),a=n.match(r);return a?a[1]||a[2]:null}async function T(e,t,n=fetch){const r=await ie(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!r||r.status===404)throw await r?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!r.ok)throw await r.body?.cancel(),new Error(`HTTP ${r.status} trying to load well-known OAuth protected resource metadata.`);return j.parse(await r.json())}async function R(e,t,n=fetch){try{return await n(e,{headers:t})}catch(r){if(r instanceof TypeError)return t?R(e,void 0,n):void 0;throw r}}function ae(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function E(e,t,n=fetch){return await R(e,{"MCP-Protocol-Version":t},n)}function oe(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function ie(e,t,n,r){const a=new URL(e),i=r?.protocolVersion??L;let s;if(r?.metadataUrl)s=new URL(r.metadataUrl);else{const c=ae(t,a.pathname);s=new URL(c,r?.metadataServerUrl??a),s.search=a.search}let o=await E(s,i,n);if(!r?.metadataUrl&&oe(o,a.pathname)){const c=new URL(`/.well-known/${t}`,a);o=await E(c,i,n)}return o}function se(e){const t=typeof e=="string"?new URL(e):e,n=t.pathname!=="/",r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),r;let a=t.pathname;return a.endsWith("/")&&(a=a.slice(0,-1)),r.push({url:new URL(`/.well-known/oauth-authorization-server${a}`,t.origin),type:"oauth"}),r.push({url:new URL(`/.well-known/openid-configuration${a}`,t.origin),type:"oidc"}),r.push({url:new URL(`${a}/.well-known/openid-configuration`,t.origin),type:"oidc"}),r}async function P(e,{fetchFn:t=fetch,protocolVersion:n=L}={}){const r={"MCP-Protocol-Version":n,Accept:"application/json"},a=se(e);for(const{url:i,type:s}of a){const o=await R(i,r,t);if(o){if(!o.ok){if(await o.body?.cancel(),o.status>=400&&o.status<500)continue;throw new Error(`HTTP ${o.status} trying to load ${s==="oauth"?"OAuth":"OpenID provider"} metadata from ${i}`)}return s==="oauth"?V.parse(await o.json()):x.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await T(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),n.authorization_servers&&n.authorization_servers.length>0&&(r=n.authorization_servers[0])}catch{}r||(r=String(new URL("/",e)));const a=await P(r,{fetchFn:t?.fetchFn});return{authorizationServerUrl:r,authorizationServerMetadata:a,resourceMetadata:n}}async function ue(e,{metadata:t,clientInformation:n,redirectUrl:r,scope:a,state:i,resource:s}){let o;if(t){if(o=new URL(t.authorization_endpoint),!t.response_types_supported.includes(p))throw new Error(`Incompatible auth server: does not support response type ${p}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(_))throw new Error(`Incompatible auth server: does not support code challenge method ${_}`)}else o=new URL("/authorize",e);const c=await N(),u=c.code_verifier,h=c.code_challenge;return o.searchParams.set("response_type",p),o.searchParams.set("client_id",n.client_id),o.searchParams.set("code_challenge",h),o.searchParams.set("code_challenge_method",_),o.searchParams.set("redirect_uri",String(r)),i&&o.searchParams.set("state",i),a&&o.searchParams.set("scope",a),a?.includes("offline_access")&&o.searchParams.append("prompt","consent"),s&&o.searchParams.set("resource",s.href),{authorizationUrl:o,codeVerifier:u}}function O(e,t,n){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(n)})}async function g(e,{metadata:t,tokenRequestParams:n,clientInformation:r,addClientAuthentication:a,resource:i,fetchFn:s}){const o=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(i&&n.set("resource",i.href),a)await a(c,n,o,t);else if(r){const h=t?.token_endpoint_auth_methods_supported??[],f=K(r,h);Q(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await M(u);return F.parse(await u.json())}async function me(e,{metadata:t,clientInformation:n,authorizationCode:r,codeVerifier:a,redirectUri:i,resource:s,addClientAuthentication:o,fetchFn:c}){const u=O(r,a,i);return g(e,{metadata:t,tokenRequestParams:u,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:c})}async function le(e,{metadata:t,clientInformation:n,refreshToken:r,resource:a,addClientAuthentication:i,fetchFn:s}){const o=new URLSearchParams({grant_type:"refresh_token",refresh_token:r}),c=await g(e,{metadata:t,tokenRequestParams:o,clientInformation:n,addClientAuthentication:i,resource:a,fetchFn:s});return{refresh_token:r,...c}}async function he(e,t,{metadata:n,resource:r,authorizationCode:a,fetchFn:i}={}){const s=e.clientMetadata.scope;let o;if(e.prepareTokenRequest&&(o=await e.prepareTokenRequest(s)),!o){if(!a)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const u=await e.codeVerifier();o=O(a,u,e.redirectUrl)}const c=await e.clientInformation();return g(t,{metadata:n,tokenRequestParams:o,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:r,fetchFn:i})}async function de(e,{metadata:t,clientMetadata:n,scope:r,fetchFn:a}){let i;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");i=new URL(t.registration_endpoint)}else i=new URL("/register",e);const s=await(a??fetch)(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,...r!==void 0?{scope:r}:{}})});if(!s.ok)throw await M(s);return q.parse(await s.json())}export{pe as U,P as a,_e as b,Ue as c,T as d,me as e};
1
+ import{c9 as v,ca as $,cb as W,cc as H,cd as D,ce as y,cf as V,cg as x,ch as L,ci as j,cj as q,ck as N,cl as B,cm as Z,cn as F}from"./index-BijXK1UR.js";function G(e){const t=typeof e=="string"?new URL(e):new URL(e.href);return t.hash="",t}function J({requestedResource:e,configuredResource:t}){const n=typeof e=="string"?new URL(e):new URL(e.href),r=typeof t=="string"?new URL(t):new URL(t.href);if(n.origin!==r.origin||n.pathname.length<r.pathname.length)return!1;const a=n.pathname.endsWith("/")?n.pathname:n.pathname+"/",i=r.pathname.endsWith("/")?r.pathname:r.pathname+"/";return a.startsWith(i)}class pe extends Error{constructor(t){super(t??"Unauthorized")}}function Y(e){return["client_secret_basic","client_secret_post","none"].includes(e)}const p="code",_="S256";function K(e,t){const n=e.client_secret!==void 0;return"token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Y(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method))?e.token_endpoint_auth_method:t.length===0?n?"client_secret_basic":"none":n&&t.includes("client_secret_basic")?"client_secret_basic":n&&t.includes("client_secret_post")?"client_secret_post":t.includes("none")?"none":n?"client_secret_post":"none"}function Q(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":X(a,i,n);return;case"client_secret_post":ee(a,i,r);return;case"none":te(a,r);return;default:throw new Error(`Unsupported client authentication method: ${e}`)}}function X(e,t,n){if(!t)throw new Error("client_secret_basic authentication requires a client_secret");const r=btoa(`${e}:${t}`);n.set("Authorization",`Basic ${r}`)}function ee(e,t,n){n.set("client_id",e),t&&n.set("client_secret",t)}function te(e,t){t.set("client_id",e)}async function M(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=B.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=Z[a]||y;return new o(i||"",s)}catch(r){const a=`${t?`HTTP ${t}: `:""}Invalid OAuth error response: ${r}. Raw body: ${n}`;return new y(a)}}async function _e(e,t){try{return await U(e,t)}catch(n){if(n instanceof v||n instanceof $)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof W)return await e.invalidateCredentials?.("tokens"),await U(e,t);throw n}}async function U(e,{serverUrl:t,authorizationCode:n,scope:r,resourceMetadataUrl:a,fetchFn:i}){const s=await e.discoveryState?.();let o,c,u,h=a;if(!h&&s?.resourceMetadataUrl&&(h=new URL(s.resourceMetadataUrl)),s?.authorizationServerUrl){if(c=s.authorizationServerUrl,o=s.resourceMetadata,u=s.authorizationServerMetadata??await P(c,{fetchFn:i}),!o)try{o=await T(t,{resourceMetadataUrl:h},i)}catch{}(u!==s.authorizationServerMetadata||o!==s.resourceMetadata)&&await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}else{const l=await ce(t,{resourceMetadataUrl:h,fetchFn:i});c=l.authorizationServerUrl,u=l.authorizationServerMetadata,o=l.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:h?.toString(),resourceMetadata:o,authorizationServerMetadata:u})}const f=await re(t,e,o),A=r||o?.scopes_supported?.join(" ")||e.clientMetadata.scope;let d=await Promise.resolve(e.clientInformation());if(!d){if(n!==void 0)throw new Error("Existing OAuth client information is required when exchanging an authorization code");const l=u?.client_id_metadata_document_supported===!0,w=e.clientMetadataUrl;if(w&&!ne(w))throw new H(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${w}`);if(l&&w)d={client_id:w},await e.saveClientInformation?.(d);else{if(!e.saveClientInformation)throw new Error("OAuth client information must be saveable for dynamic registration");const S=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(S),d=S}}const C=!e.redirectUrl;if(n!==void 0||C){const l=await he(e,c,{metadata:u,resource:f,authorizationCode:n,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}const k=await e.tokens();if(k?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:k.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof D)||l instanceof y))throw l}const z=e.state?await e.state():void 0,{authorizationUrl:b,codeVerifier:I}=await ue(c,{metadata:u,clientInformation:d,state:z,redirectUrl:e.redirectUrl,scope:A,resource:f});return await e.saveCodeVerifier(I),await e.redirectToAuthorization(b),"REDIRECT"}function ne(e){if(!e)return!1;try{const t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function re(e,t,n){const r=G(e);if(t.validateResourceURL)return await t.validateResourceURL(r,n?.resource);if(n){if(!J({requestedResource:r,configuredResource:n.resource}))throw new Error(`Protected resource ${n.resource} does not match expected ${r} (or origin)`);return new URL(n.resource)}}function Ue(e){const t=e.headers.get("WWW-Authenticate");if(!t)return{};const[n,r]=t.split(" ");if(n.toLowerCase()!=="bearer"||!r)return{};const a=m(e,"resource_metadata")||void 0;let i;if(a)try{i=new URL(a)}catch{}const s=m(e,"scope")||void 0,o=m(e,"error")||void 0;return{resourceMetadataUrl:i,scope:s,error:o}}function m(e,t){const n=e.headers.get("WWW-Authenticate");if(!n)return null;const r=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),a=n.match(r);return a?a[1]||a[2]:null}async function T(e,t,n=fetch){const r=await ie(e,"oauth-protected-resource",n,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!r||r.status===404)throw await r?.body?.cancel(),new Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!r.ok)throw await r.body?.cancel(),new Error(`HTTP ${r.status} trying to load well-known OAuth protected resource metadata.`);return j.parse(await r.json())}async function R(e,t,n=fetch){try{return await n(e,{headers:t})}catch(r){if(r instanceof TypeError)return t?R(e,void 0,n):void 0;throw r}}function ae(e,t="",n={}){return t.endsWith("/")&&(t=t.slice(0,-1)),n.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function E(e,t,n=fetch){return await R(e,{"MCP-Protocol-Version":t},n)}function oe(e,t){return!e||e.status>=400&&e.status<500&&t!=="/"}async function ie(e,t,n,r){const a=new URL(e),i=r?.protocolVersion??L;let s;if(r?.metadataUrl)s=new URL(r.metadataUrl);else{const c=ae(t,a.pathname);s=new URL(c,r?.metadataServerUrl??a),s.search=a.search}let o=await E(s,i,n);if(!r?.metadataUrl&&oe(o,a.pathname)){const c=new URL(`/.well-known/${t}`,a);o=await E(c,i,n)}return o}function se(e){const t=typeof e=="string"?new URL(e):e,n=t.pathname!=="/",r=[];if(!n)return r.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),r.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),r;let a=t.pathname;return a.endsWith("/")&&(a=a.slice(0,-1)),r.push({url:new URL(`/.well-known/oauth-authorization-server${a}`,t.origin),type:"oauth"}),r.push({url:new URL(`/.well-known/openid-configuration${a}`,t.origin),type:"oidc"}),r.push({url:new URL(`${a}/.well-known/openid-configuration`,t.origin),type:"oidc"}),r}async function P(e,{fetchFn:t=fetch,protocolVersion:n=L}={}){const r={"MCP-Protocol-Version":n,Accept:"application/json"},a=se(e);for(const{url:i,type:s}of a){const o=await R(i,r,t);if(o){if(!o.ok){if(await o.body?.cancel(),o.status>=400&&o.status<500)continue;throw new Error(`HTTP ${o.status} trying to load ${s==="oauth"?"OAuth":"OpenID provider"} metadata from ${i}`)}return s==="oauth"?V.parse(await o.json()):x.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await T(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),n.authorization_servers&&n.authorization_servers.length>0&&(r=n.authorization_servers[0])}catch{}r||(r=String(new URL("/",e)));const a=await P(r,{fetchFn:t?.fetchFn});return{authorizationServerUrl:r,authorizationServerMetadata:a,resourceMetadata:n}}async function ue(e,{metadata:t,clientInformation:n,redirectUrl:r,scope:a,state:i,resource:s}){let o;if(t){if(o=new URL(t.authorization_endpoint),!t.response_types_supported.includes(p))throw new Error(`Incompatible auth server: does not support response type ${p}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(_))throw new Error(`Incompatible auth server: does not support code challenge method ${_}`)}else o=new URL("/authorize",e);const c=await N(),u=c.code_verifier,h=c.code_challenge;return o.searchParams.set("response_type",p),o.searchParams.set("client_id",n.client_id),o.searchParams.set("code_challenge",h),o.searchParams.set("code_challenge_method",_),o.searchParams.set("redirect_uri",String(r)),i&&o.searchParams.set("state",i),a&&o.searchParams.set("scope",a),a?.includes("offline_access")&&o.searchParams.append("prompt","consent"),s&&o.searchParams.set("resource",s.href),{authorizationUrl:o,codeVerifier:u}}function O(e,t,n){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(n)})}async function g(e,{metadata:t,tokenRequestParams:n,clientInformation:r,addClientAuthentication:a,resource:i,fetchFn:s}){const o=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(i&&n.set("resource",i.href),a)await a(c,n,o,t);else if(r){const h=t?.token_endpoint_auth_methods_supported??[],f=K(r,h);Q(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await M(u);return F.parse(await u.json())}async function me(e,{metadata:t,clientInformation:n,authorizationCode:r,codeVerifier:a,redirectUri:i,resource:s,addClientAuthentication:o,fetchFn:c}){const u=O(r,a,i);return g(e,{metadata:t,tokenRequestParams:u,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:c})}async function le(e,{metadata:t,clientInformation:n,refreshToken:r,resource:a,addClientAuthentication:i,fetchFn:s}){const o=new URLSearchParams({grant_type:"refresh_token",refresh_token:r}),c=await g(e,{metadata:t,tokenRequestParams:o,clientInformation:n,addClientAuthentication:i,resource:a,fetchFn:s});return{refresh_token:r,...c}}async function he(e,t,{metadata:n,resource:r,authorizationCode:a,fetchFn:i}={}){const s=e.clientMetadata.scope;let o;if(e.prepareTokenRequest&&(o=await e.prepareTokenRequest(s)),!o){if(!a)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const u=await e.codeVerifier();o=O(a,u,e.redirectUrl)}const c=await e.clientInformation();return g(t,{metadata:n,tokenRequestParams:o,clientInformation:c??void 0,addClientAuthentication:e.addClientAuthentication,resource:r,fetchFn:i})}async function de(e,{metadata:t,clientMetadata:n,scope:r,fetchFn:a}){let i;if(t){if(!t.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");i=new URL(t.registration_endpoint)}else i=new URL("/register",e);const s=await(a??fetch)(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,...r!==void 0?{scope:r}:{}})});if(!s.ok)throw await M(s);return q.parse(await s.json())}export{pe as U,P as a,_e as b,Ue as c,T as d,me as e};
@@ -1 +1 @@
1
- import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-Cw6ilRLN.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
1
+ import{c as r,f as l,j as t,S as m,A as o,g as f,N as x}from"./index-BijXK1UR.js";function h(){const e=r.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(x,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function u(){const e=r.c(5);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=l(a);if(n==="accept-invitation"){let s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(m,{children:t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:"accept-invitation"})})}),e[1]=s):s=e[1];let i;return e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsxs(t.Fragment,{children:[s,t.jsx(f,{children:t.jsx(h,{})})]}),e[2]=i):i=e[2],i}let c;return e[3]!==n?(c=t.jsx("main",{className:"container mx-auto flex grow flex-col items-center justify-center gap-3 self-center p-4 md:p-6",children:t.jsx(o,{pathname:n})}),e[3]=n,e[4]=c):c=e[4],c}export{u as default};
@@ -1 +1 @@
1
- import{a as $,a3 as Ne,r as b,e as ae,C as W,j as t,l as x,B as X,I as G,c as Ie,b as Ce,h as Ue}from"./index-Cw6ilRLN.js";import{e as qe}from"./backoff-CrEUbyZT.js";import{d as De}from"./delay-CnY5UFtP.js";class Pe extends Error{constructor(e,o){super(`Retrying exceeded the maxAttempts (${o}).`),this.name="RetryError",this.cause=e}}async function ze(i,e){const{multiplier:o=2,maxTimeout:l=6e4,maxAttempts:w=5,minTimeout:g=1e3,jitter:r=1,isRetriable:u=()=>!0,signal:d}=e??{};if(!Number.isInteger(w)||w<1)throw new RangeError(`Cannot retry as 'maxAttempts' must be a positive integer: current value is ${w}`);if(!Number.isFinite(o)||o<1)throw new RangeError(`Cannot retry as 'multiplier' must be a finite number >= 1: current value is ${o}`);if(Number.isNaN(l)||l<=0)throw new RangeError(`Cannot retry as 'maxTimeout' must be a positive number: current value is ${l}`);if(Number.isNaN(g)||g<0)throw new RangeError(`Cannot retry as 'minTimeout' must be >= 0: current value is ${g}`);if(g>l)throw new RangeError(`Cannot retry as 'minTimeout' must be <= 'maxTimeout': current values 'minTimeout=${g}', 'maxTimeout=${l}'`);if(Number.isNaN(r)||r<0||r>1)throw new RangeError(`Cannot retry as 'jitter' must be between 0 and 1: current value is ${r}`);let P=0;for(;;){d?.throwIfAborted();try{return await i()}catch(A){if(!u(A))throw A;if(P+1>=w)throw new Pe(A,w);const O=qe(l,g,P,o,r);await De(O,d?{signal:d}:void 0)}P++}}const Ae={submitEmailPassword:({mode:i,email:e,password:o,name:l})=>i==="sign_up"?$.signUp.email({email:e,password:o,name:l||""}):$.signIn.email({email:e,password:o}),requestPasswordReset:({email:i,redirectTo:e})=>$.requestPasswordReset({email:i,redirectTo:e}),sendOtp:({email:i})=>$.emailOtp.sendVerificationOtp({email:i,type:"sign-in"}),submitOtp:({email:i,otp:e})=>$.signIn.emailOtp({email:i,otp:e}),socialSignIn:({provider:i,callbackURL:e})=>$.signIn.social({provider:i,callbackURL:e}),ssoSignIn:({providerId:i,callbackURL:e})=>$.signIn.sso({providerId:i,callbackURL:e}),onAuthenticated:i=>{window.location.href=i}},ie="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Be={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:i=>`Code sent to ${i}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:i=>`Continue with ${i}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ve({redirectUrl:i,callbackUrl:e="/",title:o,subtitle:l,brand:w,copy:g,variant:r="default",allowedSocialProviders:u,allowPassword:d=!0,onAuthEvent:P,actions:A}){const{emailAndPassword:O,resetPassword:S,emailOtp:E,socialProviders:F}=Ne(),j={...Ae,...A},h=s=>{try{P?.(s)}catch{}},p=r==="compact",Z=u?F.providers.filter(s=>u.includes(s.name)):F.providers,ee=F.enabled&&Z.length>0,ne=O.enabled&&(d||!E.enabled&&!ee),te=F.enabled&&F.providers.length>0&&!ee&&!E.enabled&&!ne?F.providers:Z,I=F.enabled&&te.length>0,C=O.enabled&&(d||!E.enabled&&!I),[c,N]=b.useState(""),[_,f]=b.useState(""),[re,ge]=b.useState(""),[oe,le]=b.useState(""),[M,de]=b.useState(!1),[ce,_e]=b.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[y,U]=b.useState(""),[he,pe]=b.useState(!1),[ke,me]=b.useState(null),a={...Be,...g},Y=b.useId(),q=`${Y}-email`,D=`${Y}-email-error`,fe=`${Y}-name`,xe=`${Y}-password`,be=`${Y}-otp`,v=ce==="signUp",R=ce==="forgotPassword",k=ce==="emailOtp",J=ae({mutationFn:async({email:s,password:n,name:L})=>{try{const H=await j.submitEmailPassword({mode:v?"sign_up":"sign_in",email:s,password:n,name:L});if(H.error)throw new Error(H.error.message||(v?a.signUpFailed:a.signInFailed));return H}catch(H){throw H instanceof Error?H:new Error(a.authenticationFailed)}},onMutate:()=>{h({type:"started",method:"email_password",mode:v?"sign_up":"sign_in"})},onSuccess:()=>{h({type:"succeeded",method:"email_password",mode:v?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),W(v?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const n=await j.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(n.error)throw new Error(n.error.message||a.resetEmailFailed);return n},onSuccess:()=>{W("password_reset_requested"),pe(!0)},onError:s=>{W("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),z=ae({mutationFn:async({email:s})=>{const n=await j.sendOtp({email:s});if(n.error)throw new Error(n.error.message||a.otpSendFailed);return n},onMutate:()=>{h({type:"started",method:"email_otp"})},onSuccess:()=>{h({type:"otp_sent",method:"email_otp"}),W("email_otp_sent"),de(!0)},onError:s=>{h({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),B=ae({mutationFn:async({email:s,otp:n})=>{const L=await j.submitOtp({email:s,otp:n});if(L.error)throw new Error(L.error.message||a.invalidCode);return L},onMutate:()=>{h({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{h({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),se=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),ue=()=>{c.trim()&&!se(c)&&U(a.invalidEmail)},Le=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}J.mutate({email:c,password:_,name:re})},Oe=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail);return}K.mutate({email:c})},Re=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}z.mutate({email:c})},Te=s=>{s.preventDefault(),B.mutate({email:c,otp:oe})},V=s=>n=>{s(n.target.value),we&&J.reset(),ve&&K.reset(),ye&&(z.reset(),B.reset()),s===N&&y&&U("")},Q=s=>{_e(s),ge(""),le(""),de(!1),U(""),pe(!1),me(null),J.reset(),K.reset(),z.reset(),B.reset()},m=J.isPending||K.isPending||z.isPending||B.isPending,we=J.error,ve=K.error,ye=z.error||B.error,T=v?c.trim()&&_.trim()&&re.trim():R?c.trim():k?M?oe.trim():c.trim():c.trim()&&_.trim(),$e=s=>{if(!s)return null;const n=s.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?a.invalidEmailOrPassword:n.includes("already exists")||n.includes("409")?a.accountExists:n.includes("network")||n.includes("fetch")?a.networkError:n.includes("rate limit")||n.includes("429")?a.tooManyAttempts:n.includes("invalid")&&n.includes("otp")?a.invalidOrExpiredCode:s.message||a.genericError},Ee=we||ve||ye||ke,We=async s=>{h({type:"started",method:"social",provider:s}),me(null);try{const n=await j.socialSignIn({provider:s,callbackURL:i??e});if(n.error)throw new Error(n.error.message||a.authenticationFailed)}catch(n){const L=n instanceof Error?n.message:String(n);h({type:"failed",method:"social",provider:s,stage:"redirect",error:L}),W("social_signin_failed",{provider:s,error:L}),me(n instanceof Error?n:new Error(L))}},Me=R?a.resetPasswordTitle:k&&M?a.verificationCodeTitle:o??a.welcomeTitle,Se=R?a.resetPasswordSubtitle:k&&M?a.codeSentTo(c):l===void 0?a.defaultSubtitle:l;return t.jsxs("div",{className:x("grid w-full",p?"gap-5":"gap-10"),children:[w??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:x("font-medium",p?"text-xl leading-7":"text-2xl leading-8"),children:Me}),Se&&t.jsx("p",{className:x("text-muted-foreground",p?"text-sm leading-5":"text-base leading-6"),children:Se})]}),Ee&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:$e(Ee)}),he&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:a.resetEmailSent}),!R&&!(k&&M)&&I&&t.jsx("div",{className:"grid gap-2",children:te.map(s=>t.jsxs(X,{type:"button",variant:"outline",size:p?"lg":"xl",disabled:m,onClick:()=>{We(s.name)},className:"w-full gap-3",children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:x("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),a.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!R&&!(k&&M)&&I&&(C||E.enabled)&&t.jsxs("div",{className:x("flex items-center gap-2.5",p?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:x("text-muted-foreground",p?"text-sm":"text-base"),children:a.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),k&&E.enabled&&t.jsx(t.Fragment,{children:M?t.jsxs("form",{onSubmit:Te,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:be,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.verificationCodeLabel}),t.jsx(G,{id:be,type:"text",placeholder:a.enterCodePlaceholder,value:oe,onChange:V(le),required:!0,disabled:m,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11"})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.verifying:a.verify}),t.jsx("button",{type:"button",onClick:()=>{de(!1),le(""),z.reset(),B.reset()},disabled:m,className:x("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",p&&"sm:col-span-2"),children:a.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Re,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:q,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:a.emailPlaceholder,value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive",children:y})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.sending:a.sendCode})]})}),R&&C&&!he&&t.jsxs("form",{onSubmit:Oe,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsx(X,{type:"submit",disabled:m||!T,className:"w-full font-semibold",size:"xl",children:m?a.sending:a.sendResetLink})]}),!R&&!k&&C&&t.jsxs("form",{onSubmit:Le,className:"grid gap-5",children:[v&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:fe,className:"block text-sm font-medium text-foreground mb-2",children:a.nameLabel}),t.jsx(G,{id:fe,type:"text",placeholder:a.namePlaceholder,value:re,onChange:V(ge),required:!0,disabled:m,autoComplete:"name",className:"h-11"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:xe,className:"block text-sm font-medium text-foreground",children:a.passwordLabel}),!v&&S.enabled&&t.jsx("button",{type:"button",onClick:()=>Q("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a.forgotPassword})]}),t.jsx(G,{id:xe,type:"password",placeholder:"••••••••",value:_,onChange:V(f),required:!0,disabled:m,autoComplete:v?"new-password":"current-password",className:"h-11"})]}),t.jsx("div",{className:x("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",T?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:x("p-1",!T&&"pointer-events-none"),children:t.jsx(X,{type:"submit",disabled:m||!T,className:x("w-full font-semibold"),size:"xl","aria-hidden":!T,children:m?v?a.creatingAccount:a.signingIn:a.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:R?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.backToSignIn}):k&&C?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.signInWithPassword}):!k&&C?t.jsxs(t.Fragment,{children:[v?a.alreadyHaveAccount:a.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>Q(v?"signIn":"signUp"),disabled:m,className:ie,children:v?a.signIn:a.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>Q("emailOtp"),disabled:m,className:ie,children:a.signInWithEmailCode})]})]}):null})]})}class je{constructor(e){this.response=e}response}function He(i){return i.startsWith("/")&&!i.startsWith("//")&&!i.startsWith("/\\")?i:"/"}function Ge({redirectTo:i,onAuthEvent:e}){const o=Ce(),[l,w]=b.useState(null),g=b.useEffectEvent(r=>{try{e?.(r)}catch{}});return b.useEffect(()=>{let r=!1;return(async()=>{g({type:"started",method:"local"});try{let u;try{u=await ze(async()=>{const d=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(d.status>=500)throw new je(d);return d},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(d){if(d instanceof Pe&&d.cause instanceof je)u=d.cause.response;else throw d}if(!u.ok){const d=await u.json().catch(()=>({}));throw new Error(d?.error||o("common.authEntry.autoLoginFailed"))}r||(g({type:"succeeded",method:"local"}),window.location.href=He(i))}catch(u){r||(g({type:"failed",method:"local",stage:"authenticate",error:u instanceof Error?u.message:String(u)}),w(u instanceof Error?u.message:o("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[i]),l?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:o("common.authEntry.autoLoginFailedWithError",{error:l})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:o("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function Fe(){const i=Ie.c(1);let e;return i[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Ue,{size:"lg",label:"Signing in"})}),i[0]=e):e=i[0],e}function Ye({callbackURL:i,providerId:e,ssoSignIn:o,onAuthEvent:l}){const w=b.useEffectEvent(r=>{try{l?.(r)}catch{}}),g=b.useEffectEvent(o);return b.useEffect(()=>{(async()=>{w({type:"started",method:"sso",provider:e});try{const r=await g({providerId:e,callbackURL:i});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){w({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,i]),t.jsx(Fe,{})}function Xe(i){const e=Ie.c(25),{callbackUrl:o,redirectUrl:l,allowAutoLogin:w,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,onAuthenticated:E}=i,F=w===void 0?!0:w,j=Ce(),{sso:h,emailAndPassword:p,magicLink:Z,emailOtp:ee,socialProviders:ne,localMode:te}=Ne(),I=l||o;let C;e[0]!==E?(C=E?{onAuthenticated:E}:void 0,e[0]=E,e[1]=C):C=e[1];const c=C;if(te&&F){let f;return e[2]!==S||e[3]!==I?(f=t.jsx(Ge,{redirectTo:I,onAuthEvent:S}),e[2]=S,e[3]=I,e[4]=f):f=e[4],f}if(h.enabled){let f;return e[5]!==S||e[6]!==I||e[7]!==h.providerId?(f=t.jsx(Ye,{callbackURL:I,providerId:h.providerId,ssoSignIn:Ae.ssoSignIn,onAuthEvent:S}),e[5]=S,e[6]=I,e[7]=h.providerId,e[8]=f):f=e[8],f}if(p.enabled||Z.enabled||ee.enabled||ne.enabled){let f;return e[9]!==O||e[10]!==A||e[11]!==u||e[12]!==o||e[13]!==c||e[14]!==d||e[15]!==S||e[16]!==l||e[17]!==r||e[18]!==g||e[19]!==P?(f=t.jsx(Ve,{redirectUrl:l,callbackUrl:o,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,actions:c}),e[9]=O,e[10]=A,e[11]=u,e[12]=o,e[13]=c,e[14]=d,e[15]=S,e[16]=l,e[17]=r,e[18]=g,e[19]=P,e[20]=f):f=e[20],f}let N;e[21]!==j?(N=j("common.authEntry.noLoginOptions"),e[21]=j,e[22]=N):N=e[22];let _;return e[23]!==N?(_=t.jsx("div",{children:N}),e[23]=N,e[24]=_):_=e[24],_}export{Fe as A,Xe as a};
1
+ import{a as $,a3 as Ne,r as b,e as ae,C as W,j as t,l as x,B as X,I as G,c as Ie,b as Ce,h as Ue}from"./index-BijXK1UR.js";import{e as qe}from"./backoff-CrEUbyZT.js";import{d as De}from"./delay-CnY5UFtP.js";class Pe extends Error{constructor(e,o){super(`Retrying exceeded the maxAttempts (${o}).`),this.name="RetryError",this.cause=e}}async function ze(i,e){const{multiplier:o=2,maxTimeout:l=6e4,maxAttempts:w=5,minTimeout:g=1e3,jitter:r=1,isRetriable:u=()=>!0,signal:d}=e??{};if(!Number.isInteger(w)||w<1)throw new RangeError(`Cannot retry as 'maxAttempts' must be a positive integer: current value is ${w}`);if(!Number.isFinite(o)||o<1)throw new RangeError(`Cannot retry as 'multiplier' must be a finite number >= 1: current value is ${o}`);if(Number.isNaN(l)||l<=0)throw new RangeError(`Cannot retry as 'maxTimeout' must be a positive number: current value is ${l}`);if(Number.isNaN(g)||g<0)throw new RangeError(`Cannot retry as 'minTimeout' must be >= 0: current value is ${g}`);if(g>l)throw new RangeError(`Cannot retry as 'minTimeout' must be <= 'maxTimeout': current values 'minTimeout=${g}', 'maxTimeout=${l}'`);if(Number.isNaN(r)||r<0||r>1)throw new RangeError(`Cannot retry as 'jitter' must be between 0 and 1: current value is ${r}`);let P=0;for(;;){d?.throwIfAborted();try{return await i()}catch(A){if(!u(A))throw A;if(P+1>=w)throw new Pe(A,w);const O=qe(l,g,P,o,r);await De(O,d?{signal:d}:void 0)}P++}}const Ae={submitEmailPassword:({mode:i,email:e,password:o,name:l})=>i==="sign_up"?$.signUp.email({email:e,password:o,name:l||""}):$.signIn.email({email:e,password:o}),requestPasswordReset:({email:i,redirectTo:e})=>$.requestPasswordReset({email:i,redirectTo:e}),sendOtp:({email:i})=>$.emailOtp.sendVerificationOtp({email:i,type:"sign-in"}),submitOtp:({email:i,otp:e})=>$.signIn.emailOtp({email:i,otp:e}),socialSignIn:({provider:i,callbackURL:e})=>$.signIn.social({provider:i,callbackURL:e}),ssoSignIn:({providerId:i,callbackURL:e})=>$.signIn.sso({providerId:i,callbackURL:e}),onAuthenticated:i=>{window.location.href=i}},ie="font-medium text-[#8CAA25] hover:underline disabled:opacity-50",Be={signUpFailed:"Sign up failed",signInFailed:"Sign in failed",authenticationFailed:"Authentication failed",resetEmailFailed:"Failed to send reset email",otpSendFailed:"Failed to send code",invalidCode:"Invalid code",invalidEmail:"Invalid email address",invalidEmailOrPassword:"Invalid email or password. Please try again.",accountExists:"An account with this email already exists. Try signing in instead.",networkError:"Network error. Please check your connection and try again.",tooManyAttempts:"Too many attempts. Please wait a moment and try again.",invalidOrExpiredCode:"Invalid or expired code. Please try again.",genericError:"An error occurred. Please try again.",resetPasswordTitle:"Reset your password",verificationCodeTitle:"Enter verification code",welcomeTitle:"Welcome to deco",resetPasswordSubtitle:"We'll send you a reset link",codeSentTo:i=>`Code sent to ${i}`,defaultSubtitle:"Sign in or create a new account",resetEmailSent:"Check your email for a password reset link.",continueWith:i=>`Continue with ${i}`,divider:"or",emailLabel:"Email",emailPlaceholder:"Email address",sending:"Sending...",sendCode:"Send code",verificationCodeLabel:"Verification code",enterCodePlaceholder:"Enter code",verifying:"Verifying...",verify:"Verify",useDifferentEmail:"Use a different email",sendResetLink:"Send reset link",nameLabel:"Name",namePlaceholder:"Your name",passwordLabel:"Password",forgotPassword:"Forgot password?",creatingAccount:"Creating account...",signingIn:"Signing in...",continue:"Continue",backToSignIn:"Back to sign in",signInWithPassword:"Sign in with password instead",alreadyHaveAccount:"Already have an account? ",dontHaveAccount:"Don't have an account? ",signIn:"Sign in",signUp:"Sign up",signInWithEmailCode:"Sign in with email code"};function Ve({redirectUrl:i,callbackUrl:e="/",title:o,subtitle:l,brand:w,copy:g,variant:r="default",allowedSocialProviders:u,allowPassword:d=!0,onAuthEvent:P,actions:A}){const{emailAndPassword:O,resetPassword:S,emailOtp:E,socialProviders:F}=Ne(),j={...Ae,...A},h=s=>{try{P?.(s)}catch{}},p=r==="compact",Z=u?F.providers.filter(s=>u.includes(s.name)):F.providers,ee=F.enabled&&Z.length>0,ne=O.enabled&&(d||!E.enabled&&!ee),te=F.enabled&&F.providers.length>0&&!ee&&!E.enabled&&!ne?F.providers:Z,I=F.enabled&&te.length>0,C=O.enabled&&(d||!E.enabled&&!I),[c,N]=b.useState(""),[_,f]=b.useState(""),[re,ge]=b.useState(""),[oe,le]=b.useState(""),[M,de]=b.useState(!1),[ce,_e]=b.useState(()=>E.enabled?"emailOtp":globalThis.localStorage?.getItem("hasLoggedIn")!=="true"?"signUp":"signIn"),[y,U]=b.useState(""),[he,pe]=b.useState(!1),[ke,me]=b.useState(null),a={...Be,...g},Y=b.useId(),q=`${Y}-email`,D=`${Y}-email-error`,fe=`${Y}-name`,xe=`${Y}-password`,be=`${Y}-otp`,v=ce==="signUp",R=ce==="forgotPassword",k=ce==="emailOtp",J=ae({mutationFn:async({email:s,password:n,name:L})=>{try{const H=await j.submitEmailPassword({mode:v?"sign_up":"sign_in",email:s,password:n,name:L});if(H.error)throw new Error(H.error.message||(v?a.signUpFailed:a.signInFailed));return H}catch(H){throw H instanceof Error?H:new Error(a.authenticationFailed)}},onMutate:()=>{h({type:"started",method:"email_password",mode:v?"sign_up":"sign_in"})},onSuccess:()=>{h({type:"succeeded",method:"email_password",mode:v?"sign_up":"sign_in"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"authenticate",error:s instanceof Error?s.message:String(s)}),W(v?"user_signup_failed":"user_signin_failed",{error:s instanceof Error?s.message:String(s)})}}),K=ae({mutationFn:async({email:s})=>{const n=await j.requestPasswordReset({email:s,redirectTo:"/reset-password"});if(n.error)throw new Error(n.error.message||a.resetEmailFailed);return n},onSuccess:()=>{W("password_reset_requested"),pe(!0)},onError:s=>{W("password_reset_request_failed",{error:s instanceof Error?s.message:String(s)})}}),z=ae({mutationFn:async({email:s})=>{const n=await j.sendOtp({email:s});if(n.error)throw new Error(n.error.message||a.otpSendFailed);return n},onMutate:()=>{h({type:"started",method:"email_otp"})},onSuccess:()=>{h({type:"otp_sent",method:"email_otp"}),W("email_otp_sent"),de(!0)},onError:s=>{h({type:"failed",method:"email_otp",stage:"send_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_send_failed",{error:s instanceof Error?s.message:String(s)})}}),B=ae({mutationFn:async({email:s,otp:n})=>{const L=await j.submitOtp({email:s,otp:n});if(L.error)throw new Error(L.error.message||a.invalidCode);return L},onMutate:()=>{h({type:"otp_submitted",method:"email_otp"})},onSuccess:()=>{h({type:"succeeded",method:"email_otp"}),globalThis.localStorage?.setItem("hasLoggedIn","true"),j.onAuthenticated(i??e)},onError:s=>{h({type:"failed",method:"email_otp",stage:"verify_otp",error:s instanceof Error?s.message:String(s)}),W("email_otp_verify_failed",{error:s instanceof Error?s.message:String(s)})}}),se=s=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s),ue=()=>{c.trim()&&!se(c)&&U(a.invalidEmail)},Le=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_password",mode:v?"sign_up":"sign_in",stage:"validation",error:"invalid_email"});return}J.mutate({email:c,password:_,name:re})},Oe=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail);return}K.mutate({email:c})},Re=s=>{if(s.preventDefault(),!se(c)){U(a.invalidEmail),h({type:"failed",method:"email_otp",stage:"validation",error:"invalid_email"});return}z.mutate({email:c})},Te=s=>{s.preventDefault(),B.mutate({email:c,otp:oe})},V=s=>n=>{s(n.target.value),we&&J.reset(),ve&&K.reset(),ye&&(z.reset(),B.reset()),s===N&&y&&U("")},Q=s=>{_e(s),ge(""),le(""),de(!1),U(""),pe(!1),me(null),J.reset(),K.reset(),z.reset(),B.reset()},m=J.isPending||K.isPending||z.isPending||B.isPending,we=J.error,ve=K.error,ye=z.error||B.error,T=v?c.trim()&&_.trim()&&re.trim():R?c.trim():k?M?oe.trim():c.trim():c.trim()&&_.trim(),$e=s=>{if(!s)return null;const n=s.message.toLowerCase();return n.includes("unauthorized")||n.includes("401")?a.invalidEmailOrPassword:n.includes("already exists")||n.includes("409")?a.accountExists:n.includes("network")||n.includes("fetch")?a.networkError:n.includes("rate limit")||n.includes("429")?a.tooManyAttempts:n.includes("invalid")&&n.includes("otp")?a.invalidOrExpiredCode:s.message||a.genericError},Ee=we||ve||ye||ke,We=async s=>{h({type:"started",method:"social",provider:s}),me(null);try{const n=await j.socialSignIn({provider:s,callbackURL:i??e});if(n.error)throw new Error(n.error.message||a.authenticationFailed)}catch(n){const L=n instanceof Error?n.message:String(n);h({type:"failed",method:"social",provider:s,stage:"redirect",error:L}),W("social_signin_failed",{provider:s,error:L}),me(n instanceof Error?n:new Error(L))}},Me=R?a.resetPasswordTitle:k&&M?a.verificationCodeTitle:o??a.welcomeTitle,Se=R?a.resetPasswordSubtitle:k&&M?a.codeSentTo(c):l===void 0?a.defaultSubtitle:l;return t.jsxs("div",{className:x("grid w-full",p?"gap-5":"gap-10"),children:[w??t.jsxs("div",{children:[t.jsx("img",{src:"/logos/deco logo.svg",alt:"Deco",className:"h-12 w-12 dark:hidden"}),t.jsx("img",{src:"/logos/deco logo negative.svg",alt:"Deco",className:"h-12 w-12 hidden dark:block"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("h1",{className:x("font-medium",p?"text-xl leading-7":"text-2xl leading-8"),children:Me}),Se&&t.jsx("p",{className:x("text-muted-foreground",p?"text-sm leading-5":"text-base leading-6"),children:Se})]}),Ee&&t.jsx("div",{role:"alert",className:"rounded-xl bg-destructive/10 p-3 text-sm text-destructive text-center",children:$e(Ee)}),he&&t.jsx("div",{role:"status",className:"rounded-xl bg-success/10 p-3 text-sm text-success text-center",children:a.resetEmailSent}),!R&&!(k&&M)&&I&&t.jsx("div",{className:"grid gap-2",children:te.map(s=>t.jsxs(X,{type:"button",variant:"outline",size:p?"lg":"xl",disabled:m,onClick:()=>{We(s.name)},className:"w-full gap-3",children:[s.icon&&t.jsx("img",{src:s.icon,alt:"",className:x("h-5 w-5",s.name==="github"&&"dark:invert"),"aria-hidden":"true"}),a.continueWith(s.name.charAt(0).toUpperCase()+s.name.slice(1))]},s.name))}),!R&&!(k&&M)&&I&&(C||E.enabled)&&t.jsxs("div",{className:x("flex items-center gap-2.5",p?"my-0":"-my-4"),children:[t.jsx("div",{className:"h-px flex-1 bg-border"}),t.jsx("span",{className:x("text-muted-foreground",p?"text-sm":"text-base"),children:a.divider}),t.jsx("div",{className:"h-px flex-1 bg-border"})]}),k&&E.enabled&&t.jsx(t.Fragment,{children:M?t.jsxs("form",{onSubmit:Te,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:be,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.verificationCodeLabel}),t.jsx(G,{id:be,type:"text",placeholder:a.enterCodePlaceholder,value:oe,onChange:V(le),required:!0,disabled:m,autoFocus:!0,inputMode:"numeric",autoComplete:"one-time-code",className:"h-11"})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.verifying:a.verify}),t.jsx("button",{type:"button",onClick:()=>{de(!1),le(""),z.reset(),B.reset()},disabled:m,className:x("mt-1 text-sm text-muted-foreground transition-colors hover:text-foreground",p&&"sm:col-span-2"),children:a.useDifferentEmail})]}):t.jsxs("form",{onSubmit:Re,className:x("grid gap-2",p&&"sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start"),children:[t.jsxs("div",{className:"grid gap-2",children:[t.jsx("label",{htmlFor:q,className:x("text-sm font-medium text-foreground",p&&"sr-only"),children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:a.emailPlaceholder,value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive",children:y})]}),t.jsx(X,{type:"submit",size:p?"lg":"xl",disabled:m||!T,className:x(p?"sm:w-auto":"w-full"),children:m?a.sending:a.sendCode})]})}),R&&C&&!he&&t.jsxs("form",{onSubmit:Oe,className:"grid gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsx(X,{type:"submit",disabled:m||!T,className:"w-full font-semibold",size:"xl",children:m?a.sending:a.sendResetLink})]}),!R&&!k&&C&&t.jsxs("form",{onSubmit:Le,className:"grid gap-5",children:[v&&t.jsxs("div",{children:[t.jsx("label",{htmlFor:fe,className:"block text-sm font-medium text-foreground mb-2",children:a.nameLabel}),t.jsx(G,{id:fe,type:"text",placeholder:a.namePlaceholder,value:re,onChange:V(ge),required:!0,disabled:m,autoComplete:"name",className:"h-11"})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:q,className:"block text-sm font-medium text-foreground mb-2",children:a.emailLabel}),t.jsx(G,{id:q,type:"email",placeholder:"you@example.com",value:c,onChange:V(N),onBlur:ue,required:!0,disabled:m,autoComplete:"email","aria-invalid":!!y,"aria-describedby":y?D:void 0,className:"h-11"}),y&&t.jsx("p",{id:D,role:"alert",className:"text-xs text-destructive mt-1.5",children:y})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("label",{htmlFor:xe,className:"block text-sm font-medium text-foreground",children:a.passwordLabel}),!v&&S.enabled&&t.jsx("button",{type:"button",onClick:()=>Q("forgotPassword"),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:a.forgotPassword})]}),t.jsx(G,{id:xe,type:"password",placeholder:"••••••••",value:_,onChange:V(f),required:!0,disabled:m,autoComplete:v?"new-password":"current-password",className:"h-11"})]}),t.jsx("div",{className:x("overflow-hidden transition-all duration-300 ease-[cubic-bezier(0.075,0.82,0.165,1)]",T?"max-h-[100px] opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:t.jsx("div",{className:x("p-1",!T&&"pointer-events-none"),children:t.jsx(X,{type:"submit",disabled:m||!T,className:x("w-full font-semibold"),size:"xl","aria-hidden":!T,children:m?v?a.creatingAccount:a.signingIn:a.continue})})})]}),t.jsx("div",{className:"text-sm text-muted-foreground",children:R?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.backToSignIn}):k&&C?t.jsx("button",{type:"button",onClick:()=>Q("signIn"),disabled:m,className:ie,children:a.signInWithPassword}):!k&&C?t.jsxs(t.Fragment,{children:[v?a.alreadyHaveAccount:a.dontHaveAccount,t.jsx("button",{type:"button",onClick:()=>Q(v?"signIn":"signUp"),disabled:m,className:ie,children:v?a.signIn:a.signUp}),E.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"mx-2",children:"·"}),t.jsx("button",{type:"button",onClick:()=>Q("emailOtp"),disabled:m,className:ie,children:a.signInWithEmailCode})]})]}):null})]})}class je{constructor(e){this.response=e}response}function He(i){return i.startsWith("/")&&!i.startsWith("//")&&!i.startsWith("/\\")?i:"/"}function Ge({redirectTo:i,onAuthEvent:e}){const o=Ce(),[l,w]=b.useState(null),g=b.useEffectEvent(r=>{try{e?.(r)}catch{}});return b.useEffect(()=>{let r=!1;return(async()=>{g({type:"started",method:"local"});try{let u;try{u=await ze(async()=>{const d=await fetch("/api/auth/custom/local-session",{method:"POST",credentials:"include"});if(d.status>=500)throw new je(d);return d},{maxAttempts:5,minTimeout:1e3,maxTimeout:1e4,multiplier:2,jitter:0})}catch(d){if(d instanceof Pe&&d.cause instanceof je)u=d.cause.response;else throw d}if(!u.ok){const d=await u.json().catch(()=>({}));throw new Error(d?.error||o("common.authEntry.autoLoginFailed"))}r||(g({type:"succeeded",method:"local"}),window.location.href=He(i))}catch(u){r||(g({type:"failed",method:"local",stage:"authenticate",error:u instanceof Error?u.message:String(u)}),w(u instanceof Error?u.message:o("common.authEntry.autoLoginFailed")))}})(),()=>{r=!0}},[i]),l?t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-destructive mb-2",children:o("common.authEntry.autoLoginFailedWithError",{error:l})}),t.jsx("p",{className:"text-muted-foreground text-sm",children:o("common.authEntry.tryRestartingServer")})]})}):t.jsx(Fe,{})}function Fe(){const i=Ie.c(1);let e;return i[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx("div",{className:"flex min-h-screen items-center justify-center",children:t.jsx(Ue,{size:"lg",label:"Signing in"})}),i[0]=e):e=i[0],e}function Ye({callbackURL:i,providerId:e,ssoSignIn:o,onAuthEvent:l}){const w=b.useEffectEvent(r=>{try{l?.(r)}catch{}}),g=b.useEffectEvent(o);return b.useEffect(()=>{(async()=>{w({type:"started",method:"sso",provider:e});try{const r=await g({providerId:e,callbackURL:i});if(r.error)throw new Error(r.error.message||"SSO redirect failed")}catch(r){w({type:"failed",method:"sso",provider:e,stage:"redirect",error:r instanceof Error?r.message:String(r)})}})()},[e,i]),t.jsx(Fe,{})}function Xe(i){const e=Ie.c(25),{callbackUrl:o,redirectUrl:l,allowAutoLogin:w,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,onAuthenticated:E}=i,F=w===void 0?!0:w,j=Ce(),{sso:h,emailAndPassword:p,magicLink:Z,emailOtp:ee,socialProviders:ne,localMode:te}=Ne(),I=l||o;let C;e[0]!==E?(C=E?{onAuthenticated:E}:void 0,e[0]=E,e[1]=C):C=e[1];const c=C;if(te&&F){let f;return e[2]!==S||e[3]!==I?(f=t.jsx(Ge,{redirectTo:I,onAuthEvent:S}),e[2]=S,e[3]=I,e[4]=f):f=e[4],f}if(h.enabled){let f;return e[5]!==S||e[6]!==I||e[7]!==h.providerId?(f=t.jsx(Ye,{callbackURL:I,providerId:h.providerId,ssoSignIn:Ae.ssoSignIn,onAuthEvent:S}),e[5]=S,e[6]=I,e[7]=h.providerId,e[8]=f):f=e[8],f}if(p.enabled||Z.enabled||ee.enabled||ne.enabled){let f;return e[9]!==O||e[10]!==A||e[11]!==u||e[12]!==o||e[13]!==c||e[14]!==d||e[15]!==S||e[16]!==l||e[17]!==r||e[18]!==g||e[19]!==P?(f=t.jsx(Ve,{redirectUrl:l,callbackUrl:o,title:g,subtitle:r,brand:u,copy:d,variant:P,allowedSocialProviders:A,allowPassword:O,onAuthEvent:S,actions:c}),e[9]=O,e[10]=A,e[11]=u,e[12]=o,e[13]=c,e[14]=d,e[15]=S,e[16]=l,e[17]=r,e[18]=g,e[19]=P,e[20]=f):f=e[20],f}let N;e[21]!==j?(N=j("common.authEntry.noLoginOptions"),e[21]=j,e[22]=N):N=e[22];let _;return e[23]!==N?(_=t.jsx("div",{children:N}),e[23]=N,e[24]=_):_=e[24],_}export{Fe as A,Xe as a};
@@ -1 +1 @@
1
- import{c as g,l as p,j as f}from"./index-Cw6ilRLN.js";function w(b){const e=g.c(20),{children:m,visual:r,align:j}=b,d=(j===void 0?"center":j)==="fill",x=d?"min-h-[100dvh] md:min-h-screen":"min-h-screen";let l;e[0]!==x?(l=p("flex w-full",x),e[0]=x,e[1]=l):l=e[1];const h=d?"h-[100dvh] justify-start pt-4 pb-8 md:h-auto":"justify-center py-6";let t;e[2]!==h?(t=p("flex flex-1 flex-col items-center bg-sidebar px-6 md:justify-center md:px-10 md:py-10",h),e[2]=h,e[3]=t):t=e[3];const u=d&&"flex min-h-0 flex-1 flex-col md:block md:flex-none";let s;e[4]!==u?(s=p("w-full max-w-[440px]",u),e[4]=u,e[5]=s):s=e[5];let i;e[6]!==m||e[7]!==s?(i=f.jsx("div",{className:s,children:m}),e[6]=m,e[7]=s,e[8]=i):i=e[8];let n;e[9]!==t||e[10]!==i?(n=f.jsx("section",{className:t,children:i}),e[9]=t,e[10]=i,e[11]=n):n=e[11];let c;e[12]!==r?(c=r??f.jsx("img",{src:"/onboarding-placeholder.png",alt:"",className:"absolute inset-0 h-full w-full object-cover"}),e[12]=r,e[13]=c):c=e[13];let a;e[14]!==c?(a=f.jsx("aside",{className:"relative hidden flex-1 overflow-hidden bg-muted md:flex",children:c}),e[14]=c,e[15]=a):a=e[15];let o;return e[16]!==a||e[17]!==l||e[18]!==n?(o=f.jsxs("main",{className:l,children:[n,a]}),e[16]=a,e[17]=l,e[18]=n,e[19]=o):o=e[19],o}export{w as A};
1
+ import{c as g,l as p,j as f}from"./index-BijXK1UR.js";function w(b){const e=g.c(20),{children:m,visual:r,align:j}=b,d=(j===void 0?"center":j)==="fill",x=d?"min-h-[100dvh] md:min-h-screen":"min-h-screen";let l;e[0]!==x?(l=p("flex w-full",x),e[0]=x,e[1]=l):l=e[1];const h=d?"h-[100dvh] justify-start pt-4 pb-8 md:h-auto":"justify-center py-6";let t;e[2]!==h?(t=p("flex flex-1 flex-col items-center bg-sidebar px-6 md:justify-center md:px-10 md:py-10",h),e[2]=h,e[3]=t):t=e[3];const u=d&&"flex min-h-0 flex-1 flex-col md:block md:flex-none";let s;e[4]!==u?(s=p("w-full max-w-[440px]",u),e[4]=u,e[5]=s):s=e[5];let i;e[6]!==m||e[7]!==s?(i=f.jsx("div",{className:s,children:m}),e[6]=m,e[7]=s,e[8]=i):i=e[8];let n;e[9]!==t||e[10]!==i?(n=f.jsx("section",{className:t,children:i}),e[9]=t,e[10]=i,e[11]=n):n=e[11];let c;e[12]!==r?(c=r??f.jsx("img",{src:"/onboarding-placeholder.png",alt:"",className:"absolute inset-0 h-full w-full object-cover"}),e[12]=r,e[13]=c):c=e[13];let a;e[14]!==c?(a=f.jsx("aside",{className:"relative hidden flex-1 overflow-hidden bg-muted md:flex",children:c}),e[14]=c,e[15]=a):a=e[15];let o;return e[16]!==a||e[17]!==l||e[18]!==n?(o=f.jsxs("main",{className:l,children:[n,a]}),e[16]=a,e[17]=l,e[18]=n,e[19]=o):o=e[19],o}export{w as A};
@@ -1 +1 @@
1
- import{a as u}from"./mcp-oauth-B1sQYgh4.js";import{i as p}from"./mcp-oauth-zW9MaFGn.js";async function k({connectionId:n,orgId:s,orgSlug:o,persistFallback:r}){const c=new URL(`/api/${o}/mcp/${n}`,window.location.origin),i=await p({url:c.href,token:null,orgId:s});if(!i.supportsOAuth||i.isAuthenticated)return{ran:!1,ok:!0,error:null};const{token:t,tokenInfo:e,error:a}=await u({connectionId:n,orgSlug:o,scope:"offline_access"});if(a||!t)return{ran:!0,ok:!1,error:a??"no token received"};if(e)try{(await fetch(`/api/${o}/connections/${n}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,scope:e.scope,clientId:e.clientId,clientSecret:e.clientSecret,tokenEndpoint:e.tokenEndpoint})})).ok||await r(t)}catch{await r(t)}else await r(t);return{ran:!0,ok:!0,error:null}}export{k as a};
1
+ import{a as u}from"./mcp-oauth-Ce50x3CB.js";import{i as p}from"./mcp-oauth-BGqSa9Pc.js";async function k({connectionId:n,orgId:s,orgSlug:o,persistFallback:r}){const c=new URL(`/api/${o}/mcp/${n}`,window.location.origin),i=await p({url:c.href,token:null,orgId:s});if(!i.supportsOAuth||i.isAuthenticated)return{ran:!1,ok:!0,error:null};const{token:t,tokenInfo:e,error:a}=await u({connectionId:n,orgSlug:o,scope:"offline_access"});if(a||!t)return{ran:!0,ok:!1,error:a??"no token received"};if(e)try{(await fetch(`/api/${o}/connections/${n}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:e.accessToken,refreshToken:e.refreshToken,expiresIn:e.expiresIn,scope:e.scope,clientId:e.clientId,clientSecret:e.clientSecret,tokenEndpoint:e.tokenEndpoint})})).ok||await r(t)}catch{await r(t)}else await r(t);return{ran:!0,ok:!0,error:null}}export{k as a};
@@ -1 +1 @@
1
- import{c as J,b as U,r as ee,l as G,j as t,V as te,B as se,Z as ie,Y as ne,X as ae,aM as oe,aN as le,aO as re,aP as ce,bm as me,aQ as ue,aR as de,aS as fe}from"./index-Cw6ilRLN.js";import{B as ge}from"./badge-BWAFo8iB.js";import{A as xe,V as pe}from"./agent-icon-rBB7-3Iv.js";import{i as he}from"./DotsVertical-2jz8M_Ab.js";import{s as je}from"./Trash01-CA_m_Fs0.js";import{i as we}from"./Zap-CbyRjfWs.js";import{c as _e}from"./repository-binding-PeMGXqSl.js";import{a as ve}from"./use-automations-fhgNtkrI.js";function ze(c){const e=J.c(89),{automation:s,showAgent:o,onClick:n}=c,i=U(),{remove:a}=ve(),[r,H]=ee.useState(!1),l=_e(o?s.virtual_mcp_id:void 0);let E;e[0]!==s.id||e[1]!==a?(E=()=>{a.mutate(s.id),H(!1)},e[0]=s.id,e[1]=a,e[2]=E):E=e[2];const Q=E;let F;e[3]!==n?(F=m=>{m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),n())},e[3]=n,e[4]=F):F=e[4];const X=F,Y=s.active&&s.trigger_count>0?"bg-success":"bg-muted-foreground/40";let u;e[5]!==Y?(u=G("inline-block size-2 rounded-full shrink-0",Y),e[5]=Y,e[6]=u):u=e[6];const Z=s.active&&s.trigger_count>0?"automations.automationListRow.ariaActive":s.active?"automations.automationListRow.ariaNoTriggers":"automations.automationListRow.ariaPaused";let d;e[7]!==i||e[8]!==Z?(d=i(Z),e[7]=i,e[8]=Z,e[9]=d):d=e[9];let f;e[10]!==u||e[11]!==d?(f=t.jsx("span",{className:u,"aria-label":d}),e[10]=u,e[11]=d,e[12]=f):f=e[12];let g;e[13]!==l?.icon||e[14]!==l?.title||e[15]!==s.name||e[16]!==o?(g=o&&t.jsx(xe,{icon:l?.icon??null,name:l?.title??s.name,size:"xs",className:"shrink-0"}),e[13]=l?.icon,e[14]=l?.title,e[15]=s.name,e[16]=o,e[17]=g):g=e[17];let x;e[18]!==s.name?(x=t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.name}),e[18]=s.name,e[19]=x):x=e[19];let p;e[20]!==s.system_key||e[21]!==i?(p=s.system_key&&t.jsx(ge,{variant:"muted",children:i("automations.builtin.badge")}),e[20]=s.system_key,e[21]=i,e[22]=p):p=e[22];let h;e[23]!==l||e[24]!==o?(h=o&&l&&t.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["· ",l.title]}),e[23]=l,e[24]=o,e[25]=h):h=e[25];let j;e[26]!==p||e[27]!==h||e[28]!==x?(j=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[x,p,h]}),e[26]=p,e[27]=h,e[28]=x,e[29]=j):j=e[29];let w;e[30]!==s.nearest_next_run_at||e[31]!==s.trigger_count?(w=t.jsx(De,{triggerCount:s.trigger_count,nextRunAt:s.nearest_next_run_at}),e[30]=s.nearest_next_run_at,e[31]=s.trigger_count,e[32]=w):w=e[32];let _;e[33]!==j||e[34]!==w?(_=t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[j,w]}),e[33]=j,e[34]=w,e[35]=_):_=e[35];const q=s.system_key&&"invisible";let v;e[36]!==q?(v=G("shrink-0",q),e[36]=q,e[37]=v):v=e[37];let $;e[38]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx(te,{asChild:!0,children:t.jsx(se,{variant:"ghost",size:"icon",className:"opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:t.jsx(he,{size:16})})}),e[38]=$):$=e[38];let K,V;e[39]===Symbol.for("react.memo_cache_sentinel")?(K=m=>{m.stopPropagation(),H(!0)},V=t.jsx(je,{size:16}),e[39]=K,e[40]=V):(K=e[39],V=e[40]);let y;e[41]!==i?(y=i("automations.automationListRow.delete"),e[41]=i,e[42]=y):y=e[42];let A;e[43]!==y?(A=t.jsxs(ie,{children:[$,t.jsx(ne,{align:"end",children:t.jsxs(ae,{variant:"destructive",onClick:K,children:[V,y]})})]}),e[43]=y,e[44]=A):A=e[44];let D;e[45]!==v||e[46]!==A?(D=t.jsx("div",{onClick:Ae,onKeyDown:ye,role:"presentation",className:v,children:A}),e[45]=v,e[46]=A,e[47]=D):D=e[47];let R;e[48]!==X||e[49]!==n||e[50]!==_||e[51]!==D||e[52]!==f||e[53]!==g?(R=t.jsxs("div",{role:"button",tabIndex:0,onClick:n,onKeyDown:X,className:"group w-full flex items-center gap-3 px-4 py-3 text-left hover:bg-accent transition-colors cursor-pointer focus-ring",children:[f,g,_,D]}),e[48]=X,e[49]=n,e[50]=_,e[51]=D,e[52]=f,e[53]=g,e[54]=R):R=e[54];let N;e[55]!==i?(N=i("automations.automationListRow.deleteTitle"),e[55]=i,e[56]=N):N=e[56];let k;e[57]!==N?(k=t.jsx(oe,{children:N}),e[57]=N,e[58]=k):k=e[58];let b;e[59]!==s.name||e[60]!==i?(b=i("automations.automationListRow.deleteDescription",{name:s.name}),e[59]=s.name,e[60]=i,e[61]=b):b=e[61];let L;e[62]!==b?(L=t.jsx(le,{children:b}),e[62]=b,e[63]=L):L=e[63];let C;e[64]!==k||e[65]!==L?(C=t.jsxs(re,{children:[k,L]}),e[64]=k,e[65]=L,e[66]=C):C=e[66];let P;e[67]!==i?(P=i("automations.automationListRow.cancel"),e[67]=i,e[68]=P):P=e[68];let T;e[69]!==P?(T=t.jsx(ce,{children:P}),e[69]=P,e[70]=T):T=e[70];const W=a.isPending;let z;e[71]!==i?(z=i("automations.automationListRow.deleteButton"),e[71]=i,e[72]=z):z=e[72];let B;e[73]!==Q||e[74]!==a.isPending||e[75]!==z?(B=t.jsx(me,{onClick:Q,disabled:W,variant:"destructive",children:z}),e[73]=Q,e[74]=a.isPending,e[75]=z,e[76]=B):B=e[76];let M;e[77]!==T||e[78]!==B?(M=t.jsxs(ue,{children:[T,B]}),e[77]=T,e[78]=B,e[79]=M):M=e[79];let S;e[80]!==C||e[81]!==M?(S=t.jsxs(de,{children:[C,M]}),e[80]=C,e[81]=M,e[82]=S):S=e[82];let O;e[83]!==r||e[84]!==S?(O=t.jsx(fe,{open:r,onOpenChange:H,children:S}),e[83]=r,e[84]=S,e[85]=O):O=e[85];let I;return e[86]!==R||e[87]!==O?(I=t.jsxs(t.Fragment,{children:[R,O]}),e[86]=R,e[87]=O,e[88]=I):I=e[88],I}function ye(c){return c.stopPropagation()}function Ae(c){return c.stopPropagation()}function De(c){const e=J.c(8),{triggerCount:s,nextRunAt:o}=c,n=U();if(s===0){let a;e[0]!==n?(a=n("automations.automationListRow.noTriggers"),e[0]=n,e[1]=a):a=e[1];let r;return e[2]!==a?(r=t.jsx("span",{className:"text-xs text-muted-foreground",children:a}),e[2]=a,e[3]=r):r=e[3],r}let i;return e[4]!==o||e[5]!==n||e[6]!==s?(i=t.jsx("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground min-w-0",children:o?t.jsxs(t.Fragment,{children:[t.jsx(pe,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:n("automations.automationListRow.nextRun",{date:new Date(o).toLocaleString()})})]}):t.jsxs(t.Fragment,{children:[t.jsx(we,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:s===1?n("automations.automationListRow.triggersOne"):n("automations.automationListRow.triggers",{count:s})})]})}),e[4]=o,e[5]=n,e[6]=s,e[7]=i):i=e[7],i}export{ze as A};
1
+ import{c as J,b as U,r as ee,l as G,j as t,V as te,B as se,Z as ie,Y as ne,X as ae,aM as oe,aN as le,aO as re,aP as ce,bm as me,aQ as ue,aR as de,aS as fe}from"./index-BijXK1UR.js";import{B as ge}from"./badge-BYQ7wlS5.js";import{A as xe,V as pe}from"./agent-icon-DCY-DFu1.js";import{i as he}from"./DotsVertical-DgY7T0mx.js";import{s as je}from"./Trash01-DVB9fxWu.js";import{i as we}from"./Zap-sqFFzvOf.js";import{c as _e}from"./repository-binding-C68Bzwbp.js";import{a as ve}from"./use-automations-CG-Cikv7.js";function ze(c){const e=J.c(89),{automation:s,showAgent:o,onClick:n}=c,i=U(),{remove:a}=ve(),[r,H]=ee.useState(!1),l=_e(o?s.virtual_mcp_id:void 0);let E;e[0]!==s.id||e[1]!==a?(E=()=>{a.mutate(s.id),H(!1)},e[0]=s.id,e[1]=a,e[2]=E):E=e[2];const Q=E;let F;e[3]!==n?(F=m=>{m.target===m.currentTarget&&(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),n())},e[3]=n,e[4]=F):F=e[4];const X=F,Y=s.active&&s.trigger_count>0?"bg-success":"bg-muted-foreground/40";let u;e[5]!==Y?(u=G("inline-block size-2 rounded-full shrink-0",Y),e[5]=Y,e[6]=u):u=e[6];const Z=s.active&&s.trigger_count>0?"automations.automationListRow.ariaActive":s.active?"automations.automationListRow.ariaNoTriggers":"automations.automationListRow.ariaPaused";let d;e[7]!==i||e[8]!==Z?(d=i(Z),e[7]=i,e[8]=Z,e[9]=d):d=e[9];let f;e[10]!==u||e[11]!==d?(f=t.jsx("span",{className:u,"aria-label":d}),e[10]=u,e[11]=d,e[12]=f):f=e[12];let g;e[13]!==l?.icon||e[14]!==l?.title||e[15]!==s.name||e[16]!==o?(g=o&&t.jsx(xe,{icon:l?.icon??null,name:l?.title??s.name,size:"xs",className:"shrink-0"}),e[13]=l?.icon,e[14]=l?.title,e[15]=s.name,e[16]=o,e[17]=g):g=e[17];let x;e[18]!==s.name?(x=t.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.name}),e[18]=s.name,e[19]=x):x=e[19];let p;e[20]!==s.system_key||e[21]!==i?(p=s.system_key&&t.jsx(ge,{variant:"muted",children:i("automations.builtin.badge")}),e[20]=s.system_key,e[21]=i,e[22]=p):p=e[22];let h;e[23]!==l||e[24]!==o?(h=o&&l&&t.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["· ",l.title]}),e[23]=l,e[24]=o,e[25]=h):h=e[25];let j;e[26]!==p||e[27]!==h||e[28]!==x?(j=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[x,p,h]}),e[26]=p,e[27]=h,e[28]=x,e[29]=j):j=e[29];let w;e[30]!==s.nearest_next_run_at||e[31]!==s.trigger_count?(w=t.jsx(De,{triggerCount:s.trigger_count,nextRunAt:s.nearest_next_run_at}),e[30]=s.nearest_next_run_at,e[31]=s.trigger_count,e[32]=w):w=e[32];let _;e[33]!==j||e[34]!==w?(_=t.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[j,w]}),e[33]=j,e[34]=w,e[35]=_):_=e[35];const q=s.system_key&&"invisible";let v;e[36]!==q?(v=G("shrink-0",q),e[36]=q,e[37]=v):v=e[37];let $;e[38]===Symbol.for("react.memo_cache_sentinel")?($=t.jsx(te,{asChild:!0,children:t.jsx(se,{variant:"ghost",size:"icon",className:"opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:t.jsx(he,{size:16})})}),e[38]=$):$=e[38];let K,V;e[39]===Symbol.for("react.memo_cache_sentinel")?(K=m=>{m.stopPropagation(),H(!0)},V=t.jsx(je,{size:16}),e[39]=K,e[40]=V):(K=e[39],V=e[40]);let y;e[41]!==i?(y=i("automations.automationListRow.delete"),e[41]=i,e[42]=y):y=e[42];let A;e[43]!==y?(A=t.jsxs(ie,{children:[$,t.jsx(ne,{align:"end",children:t.jsxs(ae,{variant:"destructive",onClick:K,children:[V,y]})})]}),e[43]=y,e[44]=A):A=e[44];let D;e[45]!==v||e[46]!==A?(D=t.jsx("div",{onClick:Ae,onKeyDown:ye,role:"presentation",className:v,children:A}),e[45]=v,e[46]=A,e[47]=D):D=e[47];let R;e[48]!==X||e[49]!==n||e[50]!==_||e[51]!==D||e[52]!==f||e[53]!==g?(R=t.jsxs("div",{role:"button",tabIndex:0,onClick:n,onKeyDown:X,className:"group w-full flex items-center gap-3 px-4 py-3 text-left hover:bg-accent transition-colors cursor-pointer focus-ring",children:[f,g,_,D]}),e[48]=X,e[49]=n,e[50]=_,e[51]=D,e[52]=f,e[53]=g,e[54]=R):R=e[54];let N;e[55]!==i?(N=i("automations.automationListRow.deleteTitle"),e[55]=i,e[56]=N):N=e[56];let k;e[57]!==N?(k=t.jsx(oe,{children:N}),e[57]=N,e[58]=k):k=e[58];let b;e[59]!==s.name||e[60]!==i?(b=i("automations.automationListRow.deleteDescription",{name:s.name}),e[59]=s.name,e[60]=i,e[61]=b):b=e[61];let L;e[62]!==b?(L=t.jsx(le,{children:b}),e[62]=b,e[63]=L):L=e[63];let C;e[64]!==k||e[65]!==L?(C=t.jsxs(re,{children:[k,L]}),e[64]=k,e[65]=L,e[66]=C):C=e[66];let P;e[67]!==i?(P=i("automations.automationListRow.cancel"),e[67]=i,e[68]=P):P=e[68];let T;e[69]!==P?(T=t.jsx(ce,{children:P}),e[69]=P,e[70]=T):T=e[70];const W=a.isPending;let z;e[71]!==i?(z=i("automations.automationListRow.deleteButton"),e[71]=i,e[72]=z):z=e[72];let B;e[73]!==Q||e[74]!==a.isPending||e[75]!==z?(B=t.jsx(me,{onClick:Q,disabled:W,variant:"destructive",children:z}),e[73]=Q,e[74]=a.isPending,e[75]=z,e[76]=B):B=e[76];let M;e[77]!==T||e[78]!==B?(M=t.jsxs(ue,{children:[T,B]}),e[77]=T,e[78]=B,e[79]=M):M=e[79];let S;e[80]!==C||e[81]!==M?(S=t.jsxs(de,{children:[C,M]}),e[80]=C,e[81]=M,e[82]=S):S=e[82];let O;e[83]!==r||e[84]!==S?(O=t.jsx(fe,{open:r,onOpenChange:H,children:S}),e[83]=r,e[84]=S,e[85]=O):O=e[85];let I;return e[86]!==R||e[87]!==O?(I=t.jsxs(t.Fragment,{children:[R,O]}),e[86]=R,e[87]=O,e[88]=I):I=e[88],I}function ye(c){return c.stopPropagation()}function Ae(c){return c.stopPropagation()}function De(c){const e=J.c(8),{triggerCount:s,nextRunAt:o}=c,n=U();if(s===0){let a;e[0]!==n?(a=n("automations.automationListRow.noTriggers"),e[0]=n,e[1]=a):a=e[1];let r;return e[2]!==a?(r=t.jsx("span",{className:"text-xs text-muted-foreground",children:a}),e[2]=a,e[3]=r):r=e[3],r}let i;return e[4]!==o||e[5]!==n||e[6]!==s?(i=t.jsx("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground min-w-0",children:o?t.jsxs(t.Fragment,{children:[t.jsx(pe,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:n("automations.automationListRow.nextRun",{date:new Date(o).toLocaleString()})})]}):t.jsxs(t.Fragment,{children:[t.jsx(we,{size:12,className:"shrink-0"}),t.jsx("span",{className:"truncate",children:s===1?n("automations.automationListRow.triggersOne"):n("automations.automationListRow.triggers",{count:s})})]})}),e[4]=o,e[5]=n,e[6]=s,e[7]=i):i=e[7],i}export{ze as A};
@@ -1 +1 @@
1
- import{c as V,r as ot,b as X,a4 as it,R as rt,ap as ct,b4 as ut,K as tt,j as s,l as mt,m as dt,gm as ft}from"./index-Cw6ilRLN.js";import{u as xt}from"./useInfiniteQuery-qZeYk4so.js";import{u as pt}from"./use-connection-BeEdNRHa.js";import{u as gt}from"./use-mcp-client-CvhC1TIJ.js";import{b as ht}from"./repository-binding-PeMGXqSl.js";import{b as Rt,a as jt}from"./sheet-CLT2kz10.js";import{e as Nt,a as bt,b as st,T as G,d as Tt,c as Q}from"./table-Daq1_j7m.js";import{E as et}from"./empty-state-DhRsvQHO.js";import{u as St}from"./use-infinite-scroll-dtUi5Sm6.js";import{g as vt}from"./task-status-CJpXljEZ.js";import{e as Ct}from"./use-automations-fhgNtkrI.js";import{T as It,f as at,a as nt}from"./thread-sheet-body-vk26kAGI.js";function wt(c){const t=V.c(15),[i,r]=ot.useState(null);let e;t[0]!==c||t[1]!==i?(e=i!==null?c.findIndex(u=>u.id===i):-1,t[0]=c,t[1]=i,t[2]=e):e=t[2];const a=e,l=a!==-1?c[a]:null,n=l!==null;let o,C;t[3]===Symbol.for("react.memo_cache_sentinel")?(o=u=>r(u),C=()=>r(null),t[3]=o,t[4]=C):(o=t[3],C=t[4]);let f,x;t[5]!==a||t[6]!==c?(f=()=>{const u=c[a-1];a>0&&u&&r(u.id)},x=()=>{const u=c[a+1];a!==-1&&u&&r(u.id)},t[5]=a,t[6]=c,t[7]=f,t[8]=x):(f=t[7],x=t[8]);let d;return t[9]!==a||t[10]!==l||t[11]!==n||t[12]!==f||t[13]!==x?(d={selected:l,index:a,isOpen:n,select:o,close:C,prev:f,next:x},t[9]=a,t[10]=l,t[11]=n,t[12]=f,t[13]=x,t[14]=d):d=t[14],d}const W=50;function Y(c){const t=V.c(10),{title:i,value:r,subtitle:e}=c;let a;t[0]!==i?(a=s.jsx("span",{className:"text-sm text-foreground/70",children:i}),t[0]=i,t[1]=a):a=t[1];let l;t[2]!==r?(l=s.jsx("span",{className:"text-3xl font-normal tabular-nums",children:r}),t[2]=r,t[3]=l):l=t[3];let n;t[4]!==e?(n=e&&s.jsx("span",{className:"text-xs text-muted-foreground",children:e}),t[4]=e,t[5]=n):n=t[5];let o;return t[6]!==a||t[7]!==l||t[8]!==n?(o=s.jsxs(ft,{className:"pt-4 px-4 pb-5 gap-1",children:[a,l,n]}),t[6]=a,t[7]=l,t[8]=n,t[9]=o):o=t[9],o}function yt(c){const t=V.c(45),{automationId:i,range:r}=c,e=X(),{data:a,isLoading:l}=Ct(i,r),n=a?.runs,o=a?.usage;let C;t[0]!==n?(C=n&&n.total>0?`${Math.round(n.completed/n.total*100)}%`:"—",t[0]=n,t[1]=C):C=t[1];const f=C;let x;t[2]!==e||t[3]!==o?(x=o&&o.truncated?e("automations.automationRuns.lastRunsSubtitle",{count:o.sampledRuns}):void 0,t[2]=e,t[3]=o,t[4]=x):x=t[4];const d=x;let u;t[5]!==e?(u=e("automations.automationRuns.runsTitle"),t[5]=e,t[6]=u):u=t[6];let g;t[7]!==l||t[8]!==n?.total?(g=l?"…":n?.total.toLocaleString()??"0",t[7]=l,t[8]=n?.total,t[9]=g):g=t[9];let h;t[10]!==n||t[11]!==e?(h=n?`${n.completed} ${e("automations.automationRuns.ok")} · ${n.failed} ${e("automations.automationRuns.failed")}${n.inProgress>0?` · ${n.inProgress} ${e("automations.automationRuns.running")}`:""}`:void 0,t[10]=n,t[11]=e,t[12]=h):h=t[12];let R;t[13]!==u||t[14]!==g||t[15]!==h?(R=s.jsx(Y,{title:u,value:g,subtitle:h}),t[13]=u,t[14]=g,t[15]=h,t[16]=R):R=t[16];let T;t[17]!==e?(T=e("automations.automationRuns.successRateTitle"),t[17]=e,t[18]=T):T=t[18];const y=l?"…":f;let I;t[19]!==T||t[20]!==y?(I=s.jsx(Y,{title:T,value:y}),t[19]=T,t[20]=y,t[21]=I):I=t[21];let S;t[22]!==e?(S=e("automations.automationRuns.tokensTitle"),t[22]=e,t[23]=S):S=t[23];let p;t[24]!==l||t[25]!==o?.totalTokens?(p=l?"…":at(o?.totalTokens??0),t[24]=l,t[25]=o?.totalTokens,t[26]=p):p=t[26];let w;t[27]!==S||t[28]!==p||t[29]!==d?(w=s.jsx(Y,{title:S,value:p,subtitle:d}),t[27]=S,t[28]=p,t[29]=d,t[30]=w):w=t[30];let m;t[31]!==e?(m=e("automations.automationRuns.costTitle"),t[31]=e,t[32]=m):m=t[32];let j;t[33]!==l||t[34]!==o?(j=l?"…":o&&o.costUsd>0?nt(o.costUsd):"—",t[33]=l,t[34]=o,t[35]=j):j=t[35];let v;t[36]!==m||t[37]!==j||t[38]!==d?(v=s.jsx(Y,{title:m,value:j,subtitle:d}),t[36]=m,t[37]=j,t[38]=d,t[39]=v):v=t[39];let N;return t[40]!==w||t[41]!==v||t[42]!==R||t[43]!==I?(N=s.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:[R,I,w,v]}),t[40]=w,t[41]=v,t[42]=R,t[43]=I,t[44]=N):N=t[44],N}function _t(c){const t=V.c(57),{run:i,usage:r,onClick:e,lastRowRef:a}=c,l=X();let n,o;if(t[0]!==i.created_at){const k=new Date(i.created_at);n=k.toLocaleDateString("en-US",{month:"short",day:"numeric"}),o=k.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),t[0]=i.created_at,t[1]=n,t[2]=o}else n=t[1],o=t[2];const C=o;let f,x,d,u,g,h,R,T,y,I,S;if(t[3]!==a||t[4]!==e||t[5]!==i.status||t[6]!==i.title||t[7]!==l){const k=vt(i.status),U=k.icon;x=st,y=a,I="h-14 cursor-pointer hover:bg-accent transition-colors border-b-0",S=e,t[19]!==i.title?(d=s.jsx(Q,{className:"min-w-0 pr-2 pl-4 md:pr-4",children:s.jsx("div",{className:"font-medium text-foreground truncate",children:i.title})}),t[19]=i.title,t[20]=d):d=t[20],f=Q,T="w-28 px-3",h="flex items-center gap-1.5",R=s.jsx(U,{size:14,className:k.iconClassName}),u=mt("text-sm",k.labelColor),g=l(k.labelKey),t[3]=a,t[4]=e,t[5]=i.status,t[6]=i.title,t[7]=l,t[8]=f,t[9]=x,t[10]=d,t[11]=u,t[12]=g,t[13]=h,t[14]=R,t[15]=T,t[16]=y,t[17]=I,t[18]=S}else f=t[8],x=t[9],d=t[10],u=t[11],g=t[12],h=t[13],R=t[14],T=t[15],y=t[16],I=t[17],S=t[18];let p;t[21]!==u||t[22]!==g?(p=s.jsx("span",{className:u,children:g}),t[21]=u,t[22]=g,t[23]=p):p=t[23];let w;t[24]!==p||t[25]!==h||t[26]!==R?(w=s.jsxs("div",{className:h,children:[R,p]}),t[24]=p,t[25]=h,t[26]=R,t[27]=w):w=t[27];let m;t[28]!==f||t[29]!==w||t[30]!==T?(m=s.jsx(f,{className:T,children:w}),t[28]=f,t[29]=w,t[30]=T,t[31]=m):m=t[31];let j;t[32]!==r?(j=r?at(r.totalTokens):"—",t[32]=r,t[33]=j):j=t[33];let v;t[34]!==j?(v=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:j}),t[34]=j,t[35]=v):v=t[35];let N;t[36]!==r?(N=r&&r.costUsd>0?nt(r.costUsd):"—",t[36]=r,t[37]=N):N=t[37];let _;t[38]!==N?(_=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:N}),t[38]=N,t[39]=_):_=t[39];let D;t[40]!==n?(D=s.jsx("div",{children:n}),t[40]=n,t[41]=D):D=t[41];let P;t[42]!==C?(P=s.jsx("div",{className:"text-xs text-muted-foreground/60",children:C}),t[42]=C,t[43]=P):P=t[43];let E;t[44]!==D||t[45]!==P?(E=s.jsxs(Q,{className:"w-32 px-3 pr-5 text-muted-foreground",children:[D,P]}),t[44]=D,t[45]=P,t[46]=E):E=t[46];let $;return t[47]!==x||t[48]!==d||t[49]!==m||t[50]!==v||t[51]!==_||t[52]!==E||t[53]!==y||t[54]!==I||t[55]!==S?($=s.jsxs(x,{ref:y,className:I,onClick:S,children:[d,m,v,_,E]}),t[47]=x,t[48]=d,t[49]=m,t[50]=v,t[51]=_,t[52]=E,t[53]=y,t[54]=I,t[55]=S,t[56]=$):$=t[56],$}function Vt(c){const t=V.c(73),{automationId:i,triggerIds:r,range:e}=c,a=X(),{org:l,locator:n}=it();let o;t[0]!==l.id||t[1]!==l.slug?(o={connectionId:rt,orgId:l.id,orgSlug:l.slug},t[0]=l.id,t[1]=l.slug,t[2]=o):o=t[2];const C=gt(o),f=ct(),x=pt(),d=ht(),{data:u}=ut(),g=r.length>0;let h;t[3]!==i||t[4]!==l.id||t[5]!==r?(h=tt.automationRuns(l.id,i,r),t[3]=i,t[4]=l.id,t[5]=r,t[6]=h):h=t[6];let R;t[7]!==f||t[8]!==r?(R=async M=>{const{pageParam:J}=M,lt=J===void 0?0:J;return await f.call("COLLECTION_THREADS_LIST",{limit:W,offset:lt,where:{trigger_ids:r}})},t[7]=f,t[8]=r,t[9]=R):R=t[9];let T;t[10]!==g||t[11]!==h||t[12]!==R?(T={queryKey:h,queryFn:R,initialPageParam:0,getNextPageParam:Et,enabled:g,staleTime:3e4},t[10]=g,t[11]=h,t[12]=R,t[13]=T):T=t[13];const{data:y,fetchNextPage:I,hasNextPage:S,isFetchingNextPage:p,isLoading:w}=xt(T);let m,j,v,N;t[14]!==y?.pages||t[15]!==n||t[16]!==e?(m=(y?.pages??[]).flatMap(Dt),N=m.map(kt),v=dt,j=tt.monitoringThreadUsage(n,JSON.stringify({ids:N,...e})),t[14]=y?.pages,t[15]=n,t[16]=e,t[17]=m,t[18]=j,t[19]=v,t[20]=N):(m=t[17],j=t[18],v=t[19],N=t[20]);let _;t[21]!==e||t[22]!==f||t[23]!==N?(_=async()=>await f.call("MONITORING_THREAD_USAGE",{threadIds:N,...e.startDate?{startDate:e.startDate}:{},...e.endDate?{endDate:e.endDate}:{}}),t[21]=e,t[22]=f,t[23]=N,t[24]=_):_=t[24];const D=N.length>0;let P;t[25]!==j||t[26]!==_||t[27]!==D?(P={queryKey:j,queryFn:_,enabled:D,staleTime:3e4},t[25]=j,t[26]=_,t[27]=D,t[28]=P):P=t[28];const{data:E}=v(P);let $;t[29]!==E?.items?($=new Map((E?.items??[]).map(Pt)),t[29]=E?.items,t[30]=$):$=t[30];const k=$;let U;t[31]!==I||t[32]!==S||t[33]!==p?(U=()=>{S&&!p&&I()},t[31]=I,t[32]=S,t[33]=p,t[34]=U):U=t[34];const Z=St(U,S??!1,p),b=wt(m),B=b.selected;let L;t[35]!==i||t[36]!==e?(L=s.jsx(yt,{automationId:i,range:e}),t[35]=i,t[36]=e,t[37]=L):L=t[37];let O;t[38]!==g||t[39]!==w||t[40]!==Z||t[41]!==m||t[42]!==b||t[43]!==a||t[44]!==k?(O=g?w?s.jsx("div",{className:"py-16 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingRuns")}):m.length===0?s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noRunsTitle"),description:a("automations.automationRuns.noRunsDescription")})}):s.jsxs(Nt,{className:"w-full border-collapse",children:[s.jsx(bt,{className:"border-b-0",children:s.jsxs(st,{className:"h-9 hover:bg-transparent border-b border-border",children:[s.jsx(G,{className:"pl-4 font-normal text-meta",children:a("automations.automationRuns.runHeader")}),s.jsx(G,{className:"w-28 px-3 font-normal text-meta",children:a("automations.automationRuns.statusHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.tokensHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.costHeader")}),s.jsx(G,{className:"w-32 px-3 pr-5 font-normal text-meta",children:a("automations.automationRuns.startedHeader")})]})}),s.jsx(Tt,{children:m.map((M,J)=>s.jsx(_t,{run:M,usage:k.get(M.id),onClick:()=>b.select(M.id),lastRowRef:J===m.length-1?Z:void 0},M.id))})]}):s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noStartersTitle"),description:a("automations.automationRuns.noStartersDescription")})}),t[38]=g,t[39]=w,t[40]=Z,t[41]=m,t[42]=b,t[43]=a,t[44]=k,t[45]=O):O=t[45];let A;t[46]!==p||t[47]!==a?(A=p&&s.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingMore")}),t[46]=p,t[47]=a,t[48]=A):A=t[48];let H;t[49]!==b?(H=M=>{M||b.close()},t[49]=b,t[50]=H):H=t[50];let K;t[51]!==x||t[52]!==d||t[53]!==C||t[54]!==n||t[55]!==u||t[56]!==m||t[57]!==B||t[58]!==b.index||t[59]!==b.next||t[60]!==b.prev?(K=B&&s.jsx(It,{thread:B,client:C,locator:n,connections:x,virtualMcps:d,members:u,nav:{index:b.index,total:m.length,onPrev:b.prev,onNext:b.next}}),t[51]=x,t[52]=d,t[53]=C,t[54]=n,t[55]=u,t[56]=m,t[57]=B,t[58]=b.index,t[59]=b.next,t[60]=b.prev,t[61]=K):K=t[61];let q;t[62]!==K?(q=s.jsx(jt,{className:"sm:max-w-2xl flex flex-col p-0 gap-0",children:K}),t[62]=K,t[63]=q):q=t[63];let F;t[64]!==b.isOpen||t[65]!==H||t[66]!==q?(F=s.jsx(Rt,{open:b.isOpen,onOpenChange:H,children:q}),t[64]=b.isOpen,t[65]=H,t[66]=q,t[67]=F):F=t[67];let z;return t[68]!==L||t[69]!==O||t[70]!==A||t[71]!==F?(z=s.jsxs("div",{className:"flex flex-col gap-5",children:[L,O,A,F]}),t[68]=L,t[69]=O,t[70]=A,t[71]=F,t[72]=z):z=t[72],z}function Pt(c){return[c.threadId,{calls:c.calls,inputTokens:c.inputTokens,outputTokens:c.outputTokens,totalTokens:c.totalTokens,costUsd:c.costUsd}]}function kt(c){return c.id}function Dt(c){return c.items??[]}function Et(c,t){const i=c,r=t;if(!((i?.items?.length??0)<W))return r.length*W}export{Vt as A,wt as u};
1
+ import{c as V,r as ot,b as X,a4 as it,R as rt,ap as ct,b4 as ut,K as tt,j as s,l as mt,m as dt,gm as ft}from"./index-BijXK1UR.js";import{u as xt}from"./useInfiniteQuery-BfYXF3Ue.js";import{u as pt}from"./use-connection-TWR90GP-.js";import{u as gt}from"./use-mcp-client-KWSUvK_a.js";import{b as ht}from"./repository-binding-C68Bzwbp.js";import{b as Rt,a as jt}from"./sheet-BKUj4XRS.js";import{e as Nt,a as bt,b as st,T as G,d as Tt,c as Q}from"./table-Dzy-0aVP.js";import{E as et}from"./empty-state-cQdvFUSC.js";import{u as St}from"./use-infinite-scroll-DCkPJt0t.js";import{g as vt}from"./task-status-BNNrZ_Nu.js";import{e as Ct}from"./use-automations-CG-Cikv7.js";import{T as It,f as at,a as nt}from"./thread-sheet-body-BFuME1Bd.js";function wt(c){const t=V.c(15),[i,r]=ot.useState(null);let e;t[0]!==c||t[1]!==i?(e=i!==null?c.findIndex(u=>u.id===i):-1,t[0]=c,t[1]=i,t[2]=e):e=t[2];const a=e,l=a!==-1?c[a]:null,n=l!==null;let o,C;t[3]===Symbol.for("react.memo_cache_sentinel")?(o=u=>r(u),C=()=>r(null),t[3]=o,t[4]=C):(o=t[3],C=t[4]);let f,x;t[5]!==a||t[6]!==c?(f=()=>{const u=c[a-1];a>0&&u&&r(u.id)},x=()=>{const u=c[a+1];a!==-1&&u&&r(u.id)},t[5]=a,t[6]=c,t[7]=f,t[8]=x):(f=t[7],x=t[8]);let d;return t[9]!==a||t[10]!==l||t[11]!==n||t[12]!==f||t[13]!==x?(d={selected:l,index:a,isOpen:n,select:o,close:C,prev:f,next:x},t[9]=a,t[10]=l,t[11]=n,t[12]=f,t[13]=x,t[14]=d):d=t[14],d}const W=50;function Y(c){const t=V.c(10),{title:i,value:r,subtitle:e}=c;let a;t[0]!==i?(a=s.jsx("span",{className:"text-sm text-foreground/70",children:i}),t[0]=i,t[1]=a):a=t[1];let l;t[2]!==r?(l=s.jsx("span",{className:"text-3xl font-normal tabular-nums",children:r}),t[2]=r,t[3]=l):l=t[3];let n;t[4]!==e?(n=e&&s.jsx("span",{className:"text-xs text-muted-foreground",children:e}),t[4]=e,t[5]=n):n=t[5];let o;return t[6]!==a||t[7]!==l||t[8]!==n?(o=s.jsxs(ft,{className:"pt-4 px-4 pb-5 gap-1",children:[a,l,n]}),t[6]=a,t[7]=l,t[8]=n,t[9]=o):o=t[9],o}function yt(c){const t=V.c(45),{automationId:i,range:r}=c,e=X(),{data:a,isLoading:l}=Ct(i,r),n=a?.runs,o=a?.usage;let C;t[0]!==n?(C=n&&n.total>0?`${Math.round(n.completed/n.total*100)}%`:"—",t[0]=n,t[1]=C):C=t[1];const f=C;let x;t[2]!==e||t[3]!==o?(x=o&&o.truncated?e("automations.automationRuns.lastRunsSubtitle",{count:o.sampledRuns}):void 0,t[2]=e,t[3]=o,t[4]=x):x=t[4];const d=x;let u;t[5]!==e?(u=e("automations.automationRuns.runsTitle"),t[5]=e,t[6]=u):u=t[6];let g;t[7]!==l||t[8]!==n?.total?(g=l?"…":n?.total.toLocaleString()??"0",t[7]=l,t[8]=n?.total,t[9]=g):g=t[9];let h;t[10]!==n||t[11]!==e?(h=n?`${n.completed} ${e("automations.automationRuns.ok")} · ${n.failed} ${e("automations.automationRuns.failed")}${n.inProgress>0?` · ${n.inProgress} ${e("automations.automationRuns.running")}`:""}`:void 0,t[10]=n,t[11]=e,t[12]=h):h=t[12];let R;t[13]!==u||t[14]!==g||t[15]!==h?(R=s.jsx(Y,{title:u,value:g,subtitle:h}),t[13]=u,t[14]=g,t[15]=h,t[16]=R):R=t[16];let T;t[17]!==e?(T=e("automations.automationRuns.successRateTitle"),t[17]=e,t[18]=T):T=t[18];const y=l?"…":f;let I;t[19]!==T||t[20]!==y?(I=s.jsx(Y,{title:T,value:y}),t[19]=T,t[20]=y,t[21]=I):I=t[21];let S;t[22]!==e?(S=e("automations.automationRuns.tokensTitle"),t[22]=e,t[23]=S):S=t[23];let p;t[24]!==l||t[25]!==o?.totalTokens?(p=l?"…":at(o?.totalTokens??0),t[24]=l,t[25]=o?.totalTokens,t[26]=p):p=t[26];let w;t[27]!==S||t[28]!==p||t[29]!==d?(w=s.jsx(Y,{title:S,value:p,subtitle:d}),t[27]=S,t[28]=p,t[29]=d,t[30]=w):w=t[30];let m;t[31]!==e?(m=e("automations.automationRuns.costTitle"),t[31]=e,t[32]=m):m=t[32];let j;t[33]!==l||t[34]!==o?(j=l?"…":o&&o.costUsd>0?nt(o.costUsd):"—",t[33]=l,t[34]=o,t[35]=j):j=t[35];let v;t[36]!==m||t[37]!==j||t[38]!==d?(v=s.jsx(Y,{title:m,value:j,subtitle:d}),t[36]=m,t[37]=j,t[38]=d,t[39]=v):v=t[39];let N;return t[40]!==w||t[41]!==v||t[42]!==R||t[43]!==I?(N=s.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3",children:[R,I,w,v]}),t[40]=w,t[41]=v,t[42]=R,t[43]=I,t[44]=N):N=t[44],N}function _t(c){const t=V.c(57),{run:i,usage:r,onClick:e,lastRowRef:a}=c,l=X();let n,o;if(t[0]!==i.created_at){const k=new Date(i.created_at);n=k.toLocaleDateString("en-US",{month:"short",day:"numeric"}),o=k.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),t[0]=i.created_at,t[1]=n,t[2]=o}else n=t[1],o=t[2];const C=o;let f,x,d,u,g,h,R,T,y,I,S;if(t[3]!==a||t[4]!==e||t[5]!==i.status||t[6]!==i.title||t[7]!==l){const k=vt(i.status),U=k.icon;x=st,y=a,I="h-14 cursor-pointer hover:bg-accent transition-colors border-b-0",S=e,t[19]!==i.title?(d=s.jsx(Q,{className:"min-w-0 pr-2 pl-4 md:pr-4",children:s.jsx("div",{className:"font-medium text-foreground truncate",children:i.title})}),t[19]=i.title,t[20]=d):d=t[20],f=Q,T="w-28 px-3",h="flex items-center gap-1.5",R=s.jsx(U,{size:14,className:k.iconClassName}),u=mt("text-sm",k.labelColor),g=l(k.labelKey),t[3]=a,t[4]=e,t[5]=i.status,t[6]=i.title,t[7]=l,t[8]=f,t[9]=x,t[10]=d,t[11]=u,t[12]=g,t[13]=h,t[14]=R,t[15]=T,t[16]=y,t[17]=I,t[18]=S}else f=t[8],x=t[9],d=t[10],u=t[11],g=t[12],h=t[13],R=t[14],T=t[15],y=t[16],I=t[17],S=t[18];let p;t[21]!==u||t[22]!==g?(p=s.jsx("span",{className:u,children:g}),t[21]=u,t[22]=g,t[23]=p):p=t[23];let w;t[24]!==p||t[25]!==h||t[26]!==R?(w=s.jsxs("div",{className:h,children:[R,p]}),t[24]=p,t[25]=h,t[26]=R,t[27]=w):w=t[27];let m;t[28]!==f||t[29]!==w||t[30]!==T?(m=s.jsx(f,{className:T,children:w}),t[28]=f,t[29]=w,t[30]=T,t[31]=m):m=t[31];let j;t[32]!==r?(j=r?at(r.totalTokens):"—",t[32]=r,t[33]=j):j=t[33];let v;t[34]!==j?(v=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:j}),t[34]=j,t[35]=v):v=t[35];let N;t[36]!==r?(N=r&&r.costUsd>0?nt(r.costUsd):"—",t[36]=r,t[37]=N):N=t[37];let _;t[38]!==N?(_=s.jsx(Q,{className:"w-24 px-3 text-right tabular-nums text-muted-foreground",children:N}),t[38]=N,t[39]=_):_=t[39];let D;t[40]!==n?(D=s.jsx("div",{children:n}),t[40]=n,t[41]=D):D=t[41];let P;t[42]!==C?(P=s.jsx("div",{className:"text-xs text-muted-foreground/60",children:C}),t[42]=C,t[43]=P):P=t[43];let E;t[44]!==D||t[45]!==P?(E=s.jsxs(Q,{className:"w-32 px-3 pr-5 text-muted-foreground",children:[D,P]}),t[44]=D,t[45]=P,t[46]=E):E=t[46];let $;return t[47]!==x||t[48]!==d||t[49]!==m||t[50]!==v||t[51]!==_||t[52]!==E||t[53]!==y||t[54]!==I||t[55]!==S?($=s.jsxs(x,{ref:y,className:I,onClick:S,children:[d,m,v,_,E]}),t[47]=x,t[48]=d,t[49]=m,t[50]=v,t[51]=_,t[52]=E,t[53]=y,t[54]=I,t[55]=S,t[56]=$):$=t[56],$}function Vt(c){const t=V.c(73),{automationId:i,triggerIds:r,range:e}=c,a=X(),{org:l,locator:n}=it();let o;t[0]!==l.id||t[1]!==l.slug?(o={connectionId:rt,orgId:l.id,orgSlug:l.slug},t[0]=l.id,t[1]=l.slug,t[2]=o):o=t[2];const C=gt(o),f=ct(),x=pt(),d=ht(),{data:u}=ut(),g=r.length>0;let h;t[3]!==i||t[4]!==l.id||t[5]!==r?(h=tt.automationRuns(l.id,i,r),t[3]=i,t[4]=l.id,t[5]=r,t[6]=h):h=t[6];let R;t[7]!==f||t[8]!==r?(R=async M=>{const{pageParam:J}=M,lt=J===void 0?0:J;return await f.call("COLLECTION_THREADS_LIST",{limit:W,offset:lt,where:{trigger_ids:r}})},t[7]=f,t[8]=r,t[9]=R):R=t[9];let T;t[10]!==g||t[11]!==h||t[12]!==R?(T={queryKey:h,queryFn:R,initialPageParam:0,getNextPageParam:Et,enabled:g,staleTime:3e4},t[10]=g,t[11]=h,t[12]=R,t[13]=T):T=t[13];const{data:y,fetchNextPage:I,hasNextPage:S,isFetchingNextPage:p,isLoading:w}=xt(T);let m,j,v,N;t[14]!==y?.pages||t[15]!==n||t[16]!==e?(m=(y?.pages??[]).flatMap(Dt),N=m.map(kt),v=dt,j=tt.monitoringThreadUsage(n,JSON.stringify({ids:N,...e})),t[14]=y?.pages,t[15]=n,t[16]=e,t[17]=m,t[18]=j,t[19]=v,t[20]=N):(m=t[17],j=t[18],v=t[19],N=t[20]);let _;t[21]!==e||t[22]!==f||t[23]!==N?(_=async()=>await f.call("MONITORING_THREAD_USAGE",{threadIds:N,...e.startDate?{startDate:e.startDate}:{},...e.endDate?{endDate:e.endDate}:{}}),t[21]=e,t[22]=f,t[23]=N,t[24]=_):_=t[24];const D=N.length>0;let P;t[25]!==j||t[26]!==_||t[27]!==D?(P={queryKey:j,queryFn:_,enabled:D,staleTime:3e4},t[25]=j,t[26]=_,t[27]=D,t[28]=P):P=t[28];const{data:E}=v(P);let $;t[29]!==E?.items?($=new Map((E?.items??[]).map(Pt)),t[29]=E?.items,t[30]=$):$=t[30];const k=$;let U;t[31]!==I||t[32]!==S||t[33]!==p?(U=()=>{S&&!p&&I()},t[31]=I,t[32]=S,t[33]=p,t[34]=U):U=t[34];const Z=St(U,S??!1,p),b=wt(m),B=b.selected;let L;t[35]!==i||t[36]!==e?(L=s.jsx(yt,{automationId:i,range:e}),t[35]=i,t[36]=e,t[37]=L):L=t[37];let O;t[38]!==g||t[39]!==w||t[40]!==Z||t[41]!==m||t[42]!==b||t[43]!==a||t[44]!==k?(O=g?w?s.jsx("div",{className:"py-16 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingRuns")}):m.length===0?s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noRunsTitle"),description:a("automations.automationRuns.noRunsDescription")})}):s.jsxs(Nt,{className:"w-full border-collapse",children:[s.jsx(bt,{className:"border-b-0",children:s.jsxs(st,{className:"h-9 hover:bg-transparent border-b border-border",children:[s.jsx(G,{className:"pl-4 font-normal text-meta",children:a("automations.automationRuns.runHeader")}),s.jsx(G,{className:"w-28 px-3 font-normal text-meta",children:a("automations.automationRuns.statusHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.tokensHeader")}),s.jsx(G,{className:"w-24 px-3 font-normal text-meta text-right",children:a("automations.automationRuns.costHeader")}),s.jsx(G,{className:"w-32 px-3 pr-5 font-normal text-meta",children:a("automations.automationRuns.startedHeader")})]})}),s.jsx(Tt,{children:m.map((M,J)=>s.jsx(_t,{run:M,usage:k.get(M.id),onClick:()=>b.select(M.id),lastRowRef:J===m.length-1?Z:void 0},M.id))})]}):s.jsx("div",{className:"py-16",children:s.jsx(et,{title:a("automations.automationRuns.noStartersTitle"),description:a("automations.automationRuns.noStartersDescription")})}),t[38]=g,t[39]=w,t[40]=Z,t[41]=m,t[42]=b,t[43]=a,t[44]=k,t[45]=O):O=t[45];let A;t[46]!==p||t[47]!==a?(A=p&&s.jsx("div",{className:"py-4 text-center text-sm text-muted-foreground",children:a("automations.automationRuns.loadingMore")}),t[46]=p,t[47]=a,t[48]=A):A=t[48];let H;t[49]!==b?(H=M=>{M||b.close()},t[49]=b,t[50]=H):H=t[50];let K;t[51]!==x||t[52]!==d||t[53]!==C||t[54]!==n||t[55]!==u||t[56]!==m||t[57]!==B||t[58]!==b.index||t[59]!==b.next||t[60]!==b.prev?(K=B&&s.jsx(It,{thread:B,client:C,locator:n,connections:x,virtualMcps:d,members:u,nav:{index:b.index,total:m.length,onPrev:b.prev,onNext:b.next}}),t[51]=x,t[52]=d,t[53]=C,t[54]=n,t[55]=u,t[56]=m,t[57]=B,t[58]=b.index,t[59]=b.next,t[60]=b.prev,t[61]=K):K=t[61];let q;t[62]!==K?(q=s.jsx(jt,{className:"sm:max-w-2xl flex flex-col p-0 gap-0",children:K}),t[62]=K,t[63]=q):q=t[63];let F;t[64]!==b.isOpen||t[65]!==H||t[66]!==q?(F=s.jsx(Rt,{open:b.isOpen,onOpenChange:H,children:q}),t[64]=b.isOpen,t[65]=H,t[66]=q,t[67]=F):F=t[67];let z;return t[68]!==L||t[69]!==O||t[70]!==A||t[71]!==F?(z=s.jsxs("div",{className:"flex flex-col gap-5",children:[L,O,A,F]}),t[68]=L,t[69]=O,t[70]=A,t[71]=F,t[72]=z):z=t[72],z}function Pt(c){return[c.threadId,{calls:c.calls,inputTokens:c.inputTokens,outputTokens:c.outputTokens,totalTokens:c.totalTokens,costUsd:c.costUsd}]}function kt(c){return c.id}function Dt(c){return c.items??[]}function Et(c,t){const i=c,r=t;if(!((i?.items?.length??0)<W))return r.length*W}export{Vt as A,wt as u};
@@ -1 +1 @@
1
- import{c as k,j as e,b as $,a4 as D,d as M,r as q,n as d,B as V,gW as W,C as R}from"./index-Cw6ilRLN.js";import{s as F}from"./Plus-BQ-ZwSoF.js";import{i as S}from"./Zap-CbyRjfWs.js";import{S as G}from"./search-input-CnMfC6Ib.js";import{E as T}from"./empty-state-DhRsvQHO.js";import{u as H}from"./use-automations-fhgNtkrI.js";import{u as J}from"./use-navigate-to-agent-X54xBbs-.js";import{A as K}from"./automation-list-row-DJWeWPbv.js";import{b as O}from"./repository-binding-PeMGXqSl.js";import{R as Q}from"./require-capability-42JNP4Dw.js";import"./SearchMd-CcFldd9q.js";import"./use-mcp-client-CvhC1TIJ.js";import"./auth-DPUc_dnx.js";import"./thread-intent-CAWCzeoG.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./watch-sse-pool-BxinXtVa.js";import"./task-board-DSKYQnUa.js";import"./schema-CB30E7Gi.js";import"./slugify-CEUa2lfQ.js";import"./badge-BWAFo8iB.js";import"./agent-icon-rBB7-3Iv.js";import"./AlertCircle-Hdww5hle.js";import"./Tool01-DamUcObd.js";import"./ArrowUp-B0V8Iire.js";import"./ArrowLeft-BdhX_ELF.js";import"./LinkBroken01-DiqXlFxy.js";import"./ShoppingBag01-Dt2W1jQn.js";import"./ZoomOut-C8TxwIPG.js";import"./Building02-CIOqUK8u.js";import"./CheckCircle-Oy-r5wrn.js";import"./ChevronUp-yEhXqYsc.js";import"./ChevronSelectorVertical-4o-RZGZG.js";import"./UserSquare-TWw3zsr7.js";import"./Copy01-DZu9JdFR.js";import"./CreditCard01-e2iuA4b6.js";import"./DotsVertical-2jz8M_Ab.js";import"./Image01-Csw8Eb7F.js";import"./Globe04-Dv-Q1UFe.js";import"./SwitchHorizontal01-ZVZ1PW_K.js";import"./Key01-nj-094nh.js";import"./Link01-DIQIHWyZ.js";import"./Minus-DGpW2R_Y.js";import"./Monitor01-6lmVgqwN.js";import"./Sun-BCEy54hJ.js";import"./Play-Bw1hrhzw.js";import"./Trash01-CA_m_Fs0.js";import"./Upload01-COlXo8Rs.js";import"./Users01-CqKKJKeH.js";import"./XClose-BLrzcEcC.js";import"./access-gate-RZ9GSyUJ.js";import"./capability-load-error-BNI4R8XO.js";function U(){const t=k.c(20),o=$(),{org:c}=D(),{data:y}=H(void 0),g=y===void 0?[]:y,E=O(),P=J(),f=M(),[x,z]=q.useState(""),h=x.toLowerCase(),A=new Map(E.map(X)),b=g.filter(i=>{if(!h||i.name.toLowerCase().includes(h))return!0;if(i.virtual_mcp_id){const l=A.get(i.virtual_mcp_id);if(l&&l.title.toLowerCase().includes(h))return!0}return!1}),B=(i,l)=>{const N=l&&A.has(l)?l:W(c.id);R("automations_list_row_clicked",{automation_id:i,agent_id:N,source:"settings_automations"}),P(N,{panel:`automation:${i}`})};let p;t[0]!==f||t[1]!==c.slug?(p=()=>{R("automations_empty_state_browse_agents_clicked"),f({to:"/$org/settings/projects",params:{org:c.slug}})},t[0]=f,t[1]=c.slug,t[2]=p):p=t[2];const L=p,j=d,v=d,C=d;let s;t[3]!==o?(s=o("settings.automations.pageTitle"),t[3]=o,t[4]=s):s=t[4];let r;t[5]!==s?(r=e.jsx(d.Title,{children:s}),t[5]=s,t[6]=r):r=t[6];const w=g.length>0&&e.jsx(G,{value:x,onChange:z,placeholder:o("settings.automations.searchPlaceholder"),className:"w-full md:w-[375px]"});let n;t[7]!==r||t[8]!==w?(n=e.jsxs("div",{className:"flex flex-col gap-6",children:[r,w]}),t[7]=r,t[8]=w,t[9]=n):n=t[9];const _=g.length===0?e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(T,{image:e.jsx(S,{size:48,className:"text-muted-foreground"}),title:o("settings.automations.emptyTitle"),description:o("settings.automations.emptyDescription"),actions:e.jsxs(V,{size:"sm",onClick:L,children:[e.jsx(F,{size:14}),o("settings.automations.browseAgentsButton")]})})}):b.length===0?e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(T,{image:e.jsx(S,{size:48,className:"text-muted-foreground"}),title:o("settings.automations.noResultsTitle"),description:o("settings.automations.noResultsDescription",{search:x})})}):e.jsx("div",{className:"mt-6 flex flex-col divide-y divide-border overflow-hidden rounded-xl bg-card shadow-edge",children:b.map(i=>e.jsx(K,{automation:i,showAgent:!0,onClick:()=>B(i.id,i.virtual_mcp_id)},i.id))});let a;t[10]!==C.Container||t[11]!==n||t[12]!==_?(a=e.jsxs(C.Container,{children:[n,_]}),t[10]=C.Container,t[11]=n,t[12]=_,t[13]=a):a=t[13];let m;t[14]!==v.Content||t[15]!==a?(m=e.jsx(v.Content,{children:a}),t[14]=v.Content,t[15]=a,t[16]=m):m=t[16];let u;return t[17]!==j||t[18]!==m?(u=e.jsx(j,{children:m}),t[17]=j,t[18]=m,t[19]=u):u=t[19],u}function X(t){return[t.id,t]}function Ut(){const t=k.c(1);let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(Q,{capability:"automations:manage",area:"automations",children:e.jsx(U,{})}),t[0]=o):o=t[0],o}export{Ut as default};
1
+ import{c as k,j as e,b as $,a4 as D,d as M,r as q,n as d,B as V,gW as W,C as R}from"./index-BijXK1UR.js";import{s as F}from"./Plus-ajSOCMl5.js";import{i as S}from"./Zap-sqFFzvOf.js";import{S as G}from"./search-input-BrVmXZXF.js";import{E as T}from"./empty-state-cQdvFUSC.js";import{u as H}from"./use-automations-CG-Cikv7.js";import{u as J}from"./use-navigate-to-agent-HYjCQ2HB.js";import{A as K}from"./automation-list-row-B7u3k1TE.js";import{b as O}from"./repository-binding-C68Bzwbp.js";import{R as Q}from"./require-capability-B8KwXmiu.js";import"./SearchMd-DTaWr-NV.js";import"./use-mcp-client-KWSUvK_a.js";import"./auth-D4mihjB5.js";import"./thread-intent-CdiuimL9.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./watch-sse-pool-4Z_1jztZ.js";import"./task-board-CayegZZ3.js";import"./schema-ZtwXZVxu.js";import"./slugify-CEUa2lfQ.js";import"./badge-BYQ7wlS5.js";import"./agent-icon-DCY-DFu1.js";import"./AlertCircle-DzE-j8Md.js";import"./Tool01-DvXBMYEr.js";import"./ArrowUp-ChN8aOEm.js";import"./ArrowLeft-B4Fp6tOY.js";import"./LinkBroken01-C4Xn1L4t.js";import"./ShoppingBag01-w9yIZ7Vl.js";import"./ZoomOut-BMEXUhR4.js";import"./Building02-PnRUM-VE.js";import"./CheckCircle-BH2UP5Pl.js";import"./ChevronUp-C2ixq11S.js";import"./ChevronSelectorVertical-CK7wz4hr.js";import"./UserSquare-WesfpXiJ.js";import"./Copy01-S_Wzfgys.js";import"./CreditCard01-C9Xxz1Z-.js";import"./DotsVertical-DgY7T0mx.js";import"./Image01-CiWjI_N8.js";import"./Globe04-BPKiswDo.js";import"./SwitchHorizontal01-Cz2viH34.js";import"./Key01-Cl5CaquW.js";import"./Link01-DRf4-o03.js";import"./Minus-DrIgoneT.js";import"./Monitor01-yYk26cfF.js";import"./Sun-Bb0mDann.js";import"./Play-DiF1YnWe.js";import"./Trash01-DVB9fxWu.js";import"./Upload01-Bd0Vey4L.js";import"./Users01-BLXU9p3z.js";import"./XClose-BM8Qxy5w.js";import"./access-gate-By7w7bSi.js";import"./capability-load-error-B32fS7dM.js";function U(){const t=k.c(20),o=$(),{org:c}=D(),{data:y}=H(void 0),g=y===void 0?[]:y,E=O(),P=J(),f=M(),[x,z]=q.useState(""),h=x.toLowerCase(),A=new Map(E.map(X)),b=g.filter(i=>{if(!h||i.name.toLowerCase().includes(h))return!0;if(i.virtual_mcp_id){const l=A.get(i.virtual_mcp_id);if(l&&l.title.toLowerCase().includes(h))return!0}return!1}),B=(i,l)=>{const N=l&&A.has(l)?l:W(c.id);R("automations_list_row_clicked",{automation_id:i,agent_id:N,source:"settings_automations"}),P(N,{panel:`automation:${i}`})};let p;t[0]!==f||t[1]!==c.slug?(p=()=>{R("automations_empty_state_browse_agents_clicked"),f({to:"/$org/settings/projects",params:{org:c.slug}})},t[0]=f,t[1]=c.slug,t[2]=p):p=t[2];const L=p,j=d,v=d,C=d;let s;t[3]!==o?(s=o("settings.automations.pageTitle"),t[3]=o,t[4]=s):s=t[4];let r;t[5]!==s?(r=e.jsx(d.Title,{children:s}),t[5]=s,t[6]=r):r=t[6];const w=g.length>0&&e.jsx(G,{value:x,onChange:z,placeholder:o("settings.automations.searchPlaceholder"),className:"w-full md:w-[375px]"});let n;t[7]!==r||t[8]!==w?(n=e.jsxs("div",{className:"flex flex-col gap-6",children:[r,w]}),t[7]=r,t[8]=w,t[9]=n):n=t[9];const _=g.length===0?e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(T,{image:e.jsx(S,{size:48,className:"text-muted-foreground"}),title:o("settings.automations.emptyTitle"),description:o("settings.automations.emptyDescription"),actions:e.jsxs(V,{size:"sm",onClick:L,children:[e.jsx(F,{size:14}),o("settings.automations.browseAgentsButton")]})})}):b.length===0?e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(T,{image:e.jsx(S,{size:48,className:"text-muted-foreground"}),title:o("settings.automations.noResultsTitle"),description:o("settings.automations.noResultsDescription",{search:x})})}):e.jsx("div",{className:"mt-6 flex flex-col divide-y divide-border overflow-hidden rounded-xl bg-card shadow-edge",children:b.map(i=>e.jsx(K,{automation:i,showAgent:!0,onClick:()=>B(i.id,i.virtual_mcp_id)},i.id))});let a;t[10]!==C.Container||t[11]!==n||t[12]!==_?(a=e.jsxs(C.Container,{children:[n,_]}),t[10]=C.Container,t[11]=n,t[12]=_,t[13]=a):a=t[13];let m;t[14]!==v.Content||t[15]!==a?(m=e.jsx(v.Content,{children:a}),t[14]=v.Content,t[15]=a,t[16]=m):m=t[16];let u;return t[17]!==j||t[18]!==m?(u=e.jsx(j,{children:m}),t[17]=j,t[18]=m,t[19]=u):u=t[19],u}function X(t){return[t.id,t]}function Ut(){const t=k.c(1);let o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx(Q,{capability:"automations:manage",area:"automations",children:e.jsx(U,{})}),t[0]=o):o=t[0],o}export{Ut as default};
@@ -1 +1 @@
1
- import{ay as d}from"./index-Cw6ilRLN.js";const m=1e4,y="true",i=2;function a(t,n){return d.chatAutosend(t,n)}function l(t){return t==="pending"||t==="sending"}function f(t){if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!n||typeof n!="object")return null;const e=n;let o=0;e.status==="sending"?o=e.retryAt===void 0?1:i:e.retryAt!==void 0&&(o=1);const r=e.attempt===void 0?o:e.attempt;return typeof e.createdAt!="number"||typeof e.message!="object"||!l(e.status)||e.retryAt!==void 0&&typeof e.retryAt!="number"||typeof r!="number"||!Number.isInteger(r)||r<0||r>i?null:{...n,attempt:r}}function S(t,n,e,o,r=Date.now()){const s={message:o,createdAt:r,status:"pending",attempt:0};return t.setItem(a(n,e),JSON.stringify(s)),s}function p(t,n,e){const o=a(n,e),r=f(t.getItem(o));return r||(t.removeItem(o),null)}function g(t,n,e,o=Date.now()){const r=a(n,e),s=p(t,n,e);if(!s||s.status!=="pending")return null;if(s.attempt>=i)return t.removeItem(r),null;const c=s.retryAt??s.createdAt;if(o-c>=m)return t.removeItem(r),null;const u={...s,status:"sending",attempt:s.attempt+1};return t.setItem(r,JSON.stringify(u)),{message:u.message,createdAt:u.createdAt,attempt:u.attempt}}function T(t,n,e){t.removeItem(a(n,e))}export{y as A,T as a,g as c,S as w};
1
+ import{ay as d}from"./index-BijXK1UR.js";const m=1e4,y="true",i=2;function a(t,n){return d.chatAutosend(t,n)}function l(t){return t==="pending"||t==="sending"}function f(t){if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!n||typeof n!="object")return null;const e=n;let o=0;e.status==="sending"?o=e.retryAt===void 0?1:i:e.retryAt!==void 0&&(o=1);const r=e.attempt===void 0?o:e.attempt;return typeof e.createdAt!="number"||typeof e.message!="object"||!l(e.status)||e.retryAt!==void 0&&typeof e.retryAt!="number"||typeof r!="number"||!Number.isInteger(r)||r<0||r>i?null:{...n,attempt:r}}function S(t,n,e,o,r=Date.now()){const s={message:o,createdAt:r,status:"pending",attempt:0};return t.setItem(a(n,e),JSON.stringify(s)),s}function p(t,n,e){const o=a(n,e),r=f(t.getItem(o));return r||(t.removeItem(o),null)}function g(t,n,e,o=Date.now()){const r=a(n,e),s=p(t,n,e);if(!s||s.status!=="pending")return null;if(s.attempt>=i)return t.removeItem(r),null;const c=s.retryAt??s.createdAt;if(o-c>=m)return t.removeItem(r),null;const u={...s,status:"sending",attempt:s.attempt+1};return t.setItem(r,JSON.stringify(u)),{message:u.message,createdAt:u.createdAt,attempt:u.attempt}}function T(t,n,e){t.removeItem(a(n,e))}export{y as A,T as a,g as c,S as w};
@@ -1 +1 @@
1
- import{c as b,l,j as u,cr as c,cs as p}from"./index-Cw6ilRLN.js";const v=p("inline-flex items-center justify-center rounded-full text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1.5 [&>svg]:pointer-events-none focus-ring transition-[color,background-color] overflow-hidden",{variants:{variant:{default:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",neutral:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",secondary:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",success:"bg-success/10 text-success [a&]:hover:bg-success/15",warning:"bg-warning/10 text-warning [a&]:hover:bg-warning/15",destructive:"bg-destructive/10 text-destructive [a&]:hover:bg-destructive/15",agent:"bg-brand-purple-tint text-brand-purple-dark dark:bg-brand-purple/20 dark:text-brand-purple",lime:"bg-brand-lime-tint text-brand-green-dark dark:bg-brand/20 dark:text-brand",info:"bg-brand-blue-tint text-brand-blue-dark dark:bg-brand-blue/20 dark:text-brand-blue",outline:"bg-card shadow-edge text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",muted:"bg-muted text-muted-foreground [a&]:hover:bg-secondary-hover",brand:"bg-brand/30 text-foreground [a&]:hover:bg-brand/40 [button&]:hover:bg-brand/40"},size:{sm:"h-4 gap-1 px-1.5 text-[0.6875rem]",default:"h-5 px-2",lg:"h-6 px-2.5 text-sm [&>svg]:size-3.5",control:"h-7 gap-1.5 pr-3 pl-1.5",icon:"size-5",segmented:"h-7 gap-0 rounded-lg bg-card p-0 shadow-edge"}},defaultVariants:{variant:"default",size:"default"}});function f(g){const e=b.c(14);let t,r,a,s,n;e[0]!==g?({className:t,variant:n,size:a,asChild:s,...r}=g,e[0]=g,e[1]=t,e[2]=r,e[3]=a,e[4]=s,e[5]=n):(t=e[1],r=e[2],a=e[3],s=e[4],n=e[5]);const i=(s===void 0?!1:s)?c:"span";let d;e[6]!==t||e[7]!==a||e[8]!==n?(d=l(v({variant:n,size:a}),t),e[6]=t,e[7]=a,e[8]=n,e[9]=d):d=e[9];let o;return e[10]!==i||e[11]!==r||e[12]!==d?(o=u.jsx(i,{"data-slot":"badge",className:d,...r}),e[10]=i,e[11]=r,e[12]=d,e[13]=o):o=e[13],o}export{f as B};
1
+ import{c as b,l,j as u,cr as c,cs as p}from"./index-BijXK1UR.js";const v=p("inline-flex items-center justify-center rounded-full text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1.5 [&>svg]:pointer-events-none focus-ring transition-[color,background-color] overflow-hidden",{variants:{variant:{default:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",neutral:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",secondary:"bg-muted text-foreground [a&]:hover:bg-secondary-hover",success:"bg-success/10 text-success [a&]:hover:bg-success/15",warning:"bg-warning/10 text-warning [a&]:hover:bg-warning/15",destructive:"bg-destructive/10 text-destructive [a&]:hover:bg-destructive/15",agent:"bg-brand-purple-tint text-brand-purple-dark dark:bg-brand-purple/20 dark:text-brand-purple",lime:"bg-brand-lime-tint text-brand-green-dark dark:bg-brand/20 dark:text-brand",info:"bg-brand-blue-tint text-brand-blue-dark dark:bg-brand-blue/20 dark:text-brand-blue",outline:"bg-card shadow-edge text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",muted:"bg-muted text-muted-foreground [a&]:hover:bg-secondary-hover",brand:"bg-brand/30 text-foreground [a&]:hover:bg-brand/40 [button&]:hover:bg-brand/40"},size:{sm:"h-4 gap-1 px-1.5 text-[0.6875rem]",default:"h-5 px-2",lg:"h-6 px-2.5 text-sm [&>svg]:size-3.5",control:"h-7 gap-1.5 pr-3 pl-1.5",icon:"size-5",segmented:"h-7 gap-0 rounded-lg bg-card p-0 shadow-edge"}},defaultVariants:{variant:"default",size:"default"}});function f(g){const e=b.c(14);let t,r,a,s,n;e[0]!==g?({className:t,variant:n,size:a,asChild:s,...r}=g,e[0]=g,e[1]=t,e[2]=r,e[3]=a,e[4]=s,e[5]=n):(t=e[1],r=e[2],a=e[3],s=e[4],n=e[5]);const i=(s===void 0?!1:s)?c:"span";let d;e[6]!==t||e[7]!==a||e[8]!==n?(d=l(v({variant:n,size:a}),t),e[6]=t,e[7]=a,e[8]=n,e[9]=d):d=e[9];let o;return e[10]!==i||e[11]!==r||e[12]!==d?(o=u.jsx(i,{"data-slot":"badge",className:d,...r}),e[10]=i,e[11]=r,e[12]=d,e[13]=o):o=e[13],o}export{f as B};