decocms 4.294.4 → 4.295.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/client/assets/{AlertCircle-COfoHlYo.js → AlertCircle-BVWJug5I.js} +1 -1
  2. package/dist/client/assets/{AreaChart-k1GdGLk3.js → AreaChart-3uW6yDd3.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-DvfIRo1L.js → ArrowLeft-CuOJLpYp.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-CukalgWz.js → ArrowUp-3VjPGHwe.js} +1 -1
  5. package/dist/client/assets/{Check-CQfGOUkn.js → Check-xum6ttaQ.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-B5B8UVD6.js → CheckCircle-DvVxqf27.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-DJW5HhkM.js → ChevronDown-DPpA8Dbp.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-CdylS1le.js → ChevronRight-eURWqwf-.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-DjiLaY0h.js → ChevronSelectorVertical-BJ_tEAoM.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-DOnt1lNa.js → ChevronUp-BOTFm6bq.js} +1 -1
  11. package/dist/client/assets/{Copy01-DT_VNucR.js → Copy01-DY0oXPux.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-Bi19p04V.js → CreditCard01-CWAomrlK.js} +1 -1
  13. package/dist/client/assets/{DotsVertical-veJCsKg6.js → DotsVertical-CmWdjVkt.js} +1 -1
  14. package/dist/client/assets/{Download01-BC66vxkd.js → Download01-ZL7h20oZ.js} +1 -1
  15. package/dist/client/assets/{Eye-DhvNNTcF.js → Eye-Cxiih4tN.js} +1 -1
  16. package/dist/client/assets/{FilterLines-DCFzTCRB.js → FilterLines-DikSwaCj.js} +1 -1
  17. package/dist/client/assets/{Globe01-CnIzUI9D.js → Globe01-CkMctzyc.js} +1 -1
  18. package/dist/client/assets/{Globe04-DtNi2ZyL.js → Globe04-B-iLPaaJ.js} +1 -1
  19. package/dist/client/assets/{HardDrive-CLNcCFxS.js → HardDrive-Tx05rxiS.js} +1 -1
  20. package/dist/client/assets/{Key01-28MkH09O.js → Key01-COjyAPgn.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-BmdVn0um.js → LinkExternal01-CjCwMazO.js} +1 -1
  22. package/dist/client/assets/{LockUnlocked01-xbaMcbOK.js → LockUnlocked01-oqX2g_Co.js} +1 -1
  23. package/dist/client/assets/{LogOut01-CUumDUY-.js → LogOut01-Dt_DOR7D.js} +1 -1
  24. package/dist/client/assets/{Monitor01-DnWcZI3D.js → Monitor01-BdcGfSWn.js} +1 -1
  25. package/dist/client/assets/{Palette-BbL1PNN-.js → Palette-CwA2z-1Z.js} +1 -1
  26. package/dist/client/assets/{Play-DWeLA7lK.js → Play-BGkoV72U.js} +1 -1
  27. package/dist/client/assets/{Plus-DEP38EYY.js → Plus-CQqghpHx.js} +1 -1
  28. package/dist/client/assets/{SearchLg-BO_-rqE7.js → SearchLg-BJbx8ng6.js} +1 -1
  29. package/dist/client/assets/{SearchMd-B7xHuJq4.js → SearchMd-Ch1B_n1t.js} +1 -1
  30. package/dist/client/assets/{Settings02-DE8fnfTk.js → Settings02-Dbk7MmVQ.js} +1 -1
  31. package/dist/client/assets/{Share07-Bk8835lK.js → Share07-D-5TVy6X.js} +1 -1
  32. package/dist/client/assets/{Shield01-BUK8VCxJ.js → Shield01-B60BPmpa.js} +1 -1
  33. package/dist/client/assets/{Stars01-C5onyQkg.js → Stars01-RU0hnDJY.js} +1 -1
  34. package/dist/client/assets/{Stars02-b1P1T_48.js → Stars02-DKadbM7f.js} +1 -1
  35. package/dist/client/assets/{Sun-B_-yVQ2_.js → Sun-Cit4FdTC.js} +1 -1
  36. package/dist/client/assets/{SwitchHorizontal01-rtsYQduN.js → SwitchHorizontal01-BYjWAqvz.js} +1 -1
  37. package/dist/client/assets/{Tool01-BMVX3tOF.js → Tool01-DdZkcfvV.js} +1 -1
  38. package/dist/client/assets/{Tool02-WBvKkURX.js → Tool02-2iK-m_KO.js} +1 -1
  39. package/dist/client/assets/{Trash01-CiqyPob_.js → Trash01-D4Gmo3CK.js} +1 -1
  40. package/dist/client/assets/{TrendUp01-CahTnQ2p.js → TrendUp01-5QvTgHWQ.js} +1 -1
  41. package/dist/client/assets/{Upload01-CWR5PH57.js → Upload01-TxI8Lmy1.js} +1 -1
  42. package/dist/client/assets/{User01-S_RGxi2I.js → User01-DVgIitgv.js} +1 -1
  43. package/dist/client/assets/{UserSquare-nHDcwF_u.js → UserSquare-Beayep0j.js} +1 -1
  44. package/dist/client/assets/{Users01-OC7kfFvk.js → Users01-CZYotbm_.js} +1 -1
  45. package/dist/client/assets/{Users03-CasZyOXJ.js → Users03-C3U-X-mI.js} +1 -1
  46. package/dist/client/assets/{XCircle-BrD26F_t.js → XCircle-BGJFc73T.js} +1 -1
  47. package/dist/client/assets/{XClose-DbkY8wiR.js → XClose-2vlpUf7f.js} +1 -1
  48. package/dist/client/assets/{YAxis-DrMnrLGw.js → YAxis-C6I8wCAR.js} +1 -1
  49. package/dist/client/assets/{Zap-uo4AxzhY.js → Zap-BBaRxr9a.js} +1 -1
  50. package/dist/client/assets/{ZapSquare-BXyJZB2H.js → ZapSquare-D-EFq_dE.js} +1 -1
  51. package/dist/client/assets/{access-gate-Doy8MTWW.js → access-gate-p1U5MuOF.js} +1 -1
  52. package/dist/client/assets/{agent-icon-BK-LdAbb.js → agent-icon-DNwubGAI.js} +1 -1
  53. package/dist/client/assets/agents-list-CcFRTcF2.js +1 -0
  54. package/dist/client/assets/{ai-providers-ByfOx-iG.js → ai-providers-BO1nnCe1.js} +2 -2
  55. package/dist/client/assets/{alert-DHk1Duu5.js → alert-CAvU2YD9.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-EuQzy5n4.js → alert-dialog-0Ff1N_Jf.js} +1 -1
  57. package/dist/client/assets/{api-keys-CkO4l_xX.js → api-keys-C9vd3o7_.js} +1 -1
  58. package/dist/client/assets/app-editor-CInqFgYe.js +1 -0
  59. package/dist/client/assets/{auth-Ck-CYI0s.js → auth-B5Pc1e6R.js} +1 -1
  60. package/dist/client/assets/{auth-catchall-Bwnt6nAM.js → auth-catchall-B4TJYG5W.js} +1 -1
  61. package/dist/client/assets/{auth-entry-xKtC3zLP.js → auth-entry-vB3qCTEe.js} +1 -1
  62. package/dist/client/assets/{auth-split-layout-BQ1bEHAM.js → auth-split-layout-CHUc3qQM.js} +1 -1
  63. package/dist/client/assets/{authenticate-and-persist-oauth-Bnxs7yjQ.js → authenticate-and-persist-oauth-B2nf3Lk8.js} +1 -1
  64. package/dist/client/assets/{automation-list-row-CbU006h8.js → automation-list-row-B537ivCl.js} +1 -1
  65. package/dist/client/assets/{automation-runs-DJXgmGit.js → automation-runs-Bi878PB7.js} +1 -1
  66. package/dist/client/assets/automations-CTz3KQir.js +1 -0
  67. package/dist/client/assets/{avatar-BGhjOwGM.js → avatar-DU7Vu6NF.js} +1 -1
  68. package/dist/client/assets/{badge-Db5xIffE.js → badge-Dq1BymaB.js} +1 -1
  69. package/dist/client/assets/{block-document-BreIOxf_.js → block-document-BuFfhv2K.js} +1 -1
  70. package/dist/client/assets/{breadcrumb-yuTxiBYX.js → breadcrumb-CaPOirRc.js} +1 -1
  71. package/dist/client/assets/{buckets-DpGmU5zM.js → buckets-CEjWu-Pv.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel--UILFV7T.js → bulk-category-panel-DvW0LXsj.js} +1 -1
  73. package/dist/client/assets/{capability-load-error-D0M3HC9t.js → capability-load-error-B8M2WPia.js} +1 -1
  74. package/dist/client/assets/{cards-DjdS8mnO.js → cards-C9JcVEfr.js} +1 -1
  75. package/dist/client/assets/category-editor-CZ-mA5vV.js +1 -0
  76. package/dist/client/assets/{chart-CsLoGKFV.js → chart-C70QnzNs.js} +1 -1
  77. package/dist/client/assets/{chat-context-BaV72O1g.js → chat-context-Dkhobhg8.js} +1 -1
  78. package/dist/client/assets/{checkbox-YMTFrO1r.js → checkbox-DKTB3o_P.js} +1 -1
  79. package/dist/client/assets/{choose-editor-BlU5Wexq.js → choose-editor-jIOruXT-.js} +1 -1
  80. package/dist/client/assets/{cli-auth-success-z65wjSmk.js → cli-auth-success-BkKPhwm8.js} +1 -1
  81. package/dist/client/assets/collection-detail-Dt-BKNEu.js +1 -0
  82. package/dist/client/assets/{collection-display-button-CUsSTflP.js → collection-display-button-CwMPC8sw.js} +1 -1
  83. package/dist/client/assets/{collection-search-CiPLUXMb.js → collection-search-CBCqztFu.js} +1 -1
  84. package/dist/client/assets/{collection-table-wrapper-ClqU84Kc.js → collection-table-wrapper-BORrzZy-.js} +1 -1
  85. package/dist/client/assets/{collection-tabs-B32iAo6N.js → collection-tabs-BrljmoEr.js} +1 -1
  86. package/dist/client/assets/{command-DOfXQ3iQ.js → command-CrzPyVjB.js} +1 -1
  87. package/dist/client/assets/{commerce-onboarding-BhfT16ic.js → commerce-onboarding-BkKXA_bg.js} +1 -1
  88. package/dist/client/assets/{config-sObTbFZQ.js → config-r2ebsbnu.js} +1 -1
  89. package/dist/client/assets/{connect-C5xAKAEp.js → connect-DAXsF0D1.js} +1 -1
  90. package/dist/client/assets/{connection-RGa3bMYb.js → connection-BjG6PbL-.js} +1 -1
  91. package/dist/client/assets/{connection-card-CaXPkEtx.js → connection-card-C2s3R2Pt.js} +1 -1
  92. package/dist/client/assets/connection-detail-CHGjnQZp.js +1 -0
  93. package/dist/client/assets/{connection-form-helpers-CAJu7GAu.js → connection-form-helpers-CT3f9bhy.js} +1 -1
  94. package/dist/client/assets/connection-slug-CITJ0kGN.js +1 -0
  95. package/dist/client/assets/connections--0WIi-ED.js +1 -0
  96. package/dist/client/assets/{decopilot-sse-pool-RJKXQFNl.js → decopilot-sse-pool-B1qPmScV.js} +1 -1
  97. package/dist/client/assets/{dialog-v9lm8kV3.js → dialog-CzFdWv_E.js} +1 -1
  98. package/dist/client/assets/{domain-settings-DtzQhB08.js → domain-settings-CLwxbx3n.js} +1 -1
  99. package/dist/client/assets/{drawer-DBmJy2OH.js → drawer-Dfgm8c49.js} +1 -1
  100. package/dist/client/assets/{dropdown-menu-kAhQsmIq.js → dropdown-menu-CTvkGFhl.js} +1 -1
  101. package/dist/client/assets/{empty-state-DGfgLPT9.js → empty-state-DU62aVcj.js} +1 -1
  102. package/dist/client/assets/{extract-connection-data-BPW_Djea.js → extract-connection-data-BO9kKqC1.js} +1 -1
  103. package/dist/client/assets/file-explorer-pVYfuOSH.js +2 -0
  104. package/dist/client/assets/{file-type-icon-Cp2yVzTz.js → file-type-icon-u56W7YOH.js} +1 -1
  105. package/dist/client/assets/{form-KfWVSNEC.js → form-CPEc4S5u.js} +1 -1
  106. package/dist/client/assets/{general-Cq15YFKz.js → general-cRk5kQ6G.js} +1 -1
  107. package/dist/client/assets/{github-repo-picker-BgSzUzWL.js → github-repo-picker-DZzmAPvj.js} +1 -1
  108. package/dist/client/assets/{hooks-ndMd0rOE.js → hooks-TEwkOdLN.js} +1 -1
  109. package/dist/client/assets/{index-kc-p0Tho.js → index-4YcsQ5rT.js} +3 -3
  110. package/dist/client/assets/{index-Cvq1ebr1.js → index-4w7w8tlw.js} +1 -1
  111. package/dist/client/assets/{index-BMtomEba.js → index-BuE-JEwS.js} +1 -1
  112. package/dist/client/assets/{index-BUlvC5Z0.js → index-C0kOoNCv.js} +13 -13
  113. package/dist/client/assets/index-CYZjCaiM.js +1 -0
  114. package/dist/client/assets/{index-DkH2JDxv.js → index-DR6jHEN9.js} +2 -2
  115. package/dist/client/assets/{index-BAkM-bvY.js → index-Dgb4ZYkH.js} +1 -1
  116. package/dist/client/assets/{index-Gwx_pD8S.js → index-Dtkox_-Y.js} +1 -1
  117. package/dist/client/assets/{index-BLOTG8F6.js → index-T9A9xC_R.js} +1 -1
  118. package/dist/client/assets/{index-redirect-Dtrld574.js → index-redirect-DvG0mTt7.js} +1 -1
  119. package/dist/client/assets/{infra-billing-CiXyqP0z.js → infra-billing-DHHwz9E5.js} +1 -1
  120. package/dist/client/assets/{input-CoA1YEYW.js → input-Ct0sUIqh.js} +1 -1
  121. package/dist/client/assets/{integration-icon-Db_3_1Xt.js → integration-icon-6OgCKSdV.js} +1 -1
  122. package/dist/client/assets/{invite-member-dialog--rStSant.js → invite-member-dialog-BJOV1mYd.js} +1 -1
  123. package/dist/client/assets/{label-COrU7OvG.js → label-AWSh-duW.js} +1 -1
  124. package/dist/client/assets/{layout-Dw5HsV5p.js → layout-DQV4E_IB.js} +1 -1
  125. package/dist/client/assets/{login-zSNYYLrC.js → login-f1pDs8L0.js} +1 -1
  126. package/dist/client/assets/{mcp-oauth-KDpSMvkd.js → mcp-oauth-fRqby3CY.js} +1 -1
  127. package/dist/client/assets/{members-DBUg3WK3.js → members-ENgRMxLY.js} +1 -1
  128. package/dist/client/assets/{monaco-editor-C37CkGWQ.js → monaco-editor-D_A_sL1e.js} +1 -1
  129. package/dist/client/assets/{monitoring-stats-row-4aj-ddP2.js → monitoring-stats-row-pIIUUSft.js} +1 -1
  130. package/dist/client/assets/{multi-select-CNe6aWif.js → multi-select-BFdWTP29.js} +1 -1
  131. package/dist/client/assets/{oauth-callback-CplvzY-h.js → oauth-callback-BKc9D-cC.js} +1 -1
  132. package/dist/client/assets/{oauth-callback-ai-provider-xi9UFQxQ.js → oauth-callback-ai-provider-B4LO-PMl.js} +1 -1
  133. package/dist/client/assets/{onboarding-D0Phxs-H.js → onboarding-Bv_j0BEU.js} +1 -1
  134. package/dist/client/assets/{org-layout-BMiLJodT.js → org-layout-COO_Icq8.js} +1 -1
  135. package/dist/client/assets/{organization-choice-BM0bUwZh.js → organization-choice-Dqnn0nZN.js} +1 -1
  136. package/dist/client/assets/{orgs-B3KfLtXg.js → orgs-CKYqpywO.js} +1 -1
  137. package/dist/client/assets/{page-seo-form-B-kTujwr.js → page-seo-form-EQgU9mHY.js} +1 -1
  138. package/dist/client/assets/{popover-B0YbN5z6.js → popover-A0lefVmu.js} +1 -1
  139. package/dist/client/assets/post-calendar-94b_Y_D7.js +1 -0
  140. package/dist/client/assets/post-editor-DX9NBkUe.js +1 -0
  141. package/dist/client/assets/{primitives-Xx0pIitg.js → primitives-_IUW5Ba7.js} +1 -1
  142. package/dist/client/assets/{profile-DytMpCX8.js → profile-Brgdx8Ak.js} +1 -1
  143. package/dist/client/assets/project-app-view-6o-UL20K.js +1 -0
  144. package/dist/client/assets/{prompts-DGB_aYxK.js → prompts-B_fUSfOw.js} +1 -1
  145. package/dist/client/assets/record-editor-Be6xNRr5.js +1 -0
  146. package/dist/client/assets/redirect-editor-UHSACS2X.js +1 -0
  147. package/dist/client/assets/registry-B4rDoQRi.js +2 -0
  148. package/dist/client/assets/{registry-layout-BObW66Mi.js → registry-layout-BmgKZjUM.js} +1 -1
  149. package/dist/client/assets/{reports-BKQhqTCw.js → reports-DgRTFRuA.js} +1 -1
  150. package/dist/client/assets/{require-capability-B-toWf1T.js → require-capability-BN_IBqan.js} +1 -1
  151. package/dist/client/assets/{required-auth-layout-CPEZLxXW.js → required-auth-layout--21owtc0.js} +1 -1
  152. package/dist/client/assets/{reset-password-B2xsPOz7.js → reset-password-BYveWssM.js} +1 -1
  153. package/dist/client/assets/{review-settings-CQcW0UJP.js → review-settings-CRsu1Jz2.js} +1 -1
  154. package/dist/client/assets/{roles-BahMe3Yj.js → roles-txB64sI5.js} +1 -1
  155. package/dist/client/assets/{scroll-area-Dy82C7p_.js → scroll-area-uX6yPQML.js} +1 -1
  156. package/dist/client/assets/{search-input-BupwGxLP.js → search-input-BzaZGMYY.js} +1 -1
  157. package/dist/client/assets/{secrets-CMSdKJ02.js → secrets-CVb-m3ia.js} +1 -1
  158. package/dist/client/assets/{sections-editor-K0jU5DNu.js → sections-editor-Dtie35JH.js} +2 -2
  159. package/dist/client/assets/{select-model-D3_B27r5.js → select-model-Bhci4rxp.js} +1 -1
  160. package/dist/client/assets/{select-DwECBvqm.js → select-wTdyc29Q.js} +1 -1
  161. package/dist/client/assets/{self-tool-result-BWeTClq7.js → self-tool-result-DUmeGarD.js} +1 -1
  162. package/dist/client/assets/seo-editor-CqDBcwSg.js +1 -0
  163. package/dist/client/assets/session-runtime-C-KTDVeQ.js +1 -0
  164. package/dist/client/assets/{settings-layout-BdmXRuID.js → settings-layout-HQmwbtfP.js} +1 -1
  165. package/dist/client/assets/{shell-controls-Be5eyBnD.js → shell-controls-DoaRrdmS.js} +1 -1
  166. package/dist/client/assets/{shell-layout-Btlvd1G3.js → shell-layout-D0u14owK.js} +1 -1
  167. package/dist/client/assets/slugify-CEUa2lfQ.js +1 -0
  168. package/dist/client/assets/{spinner-Ba0CkhBN.js → spinner-B2GG7Xys.js} +1 -1
  169. package/dist/client/assets/{sso-zfNVjVfI.js → sso-DVZ3yceM.js} +1 -1
  170. package/dist/client/assets/{store-CgKz3-lQ.js → store-Bz9cUtoJ.js} +1 -1
  171. package/dist/client/assets/store-registry-DuQsnesn.js +2 -0
  172. package/dist/client/assets/{super-agent-icon-f5MMUEZI.js → super-agent-icon-BkJvMRAY.js} +1 -1
  173. package/dist/client/assets/{switch-CvaUzcu8.js → switch-BDugjHf1.js} +1 -1
  174. package/dist/client/assets/synced-repos-BnmVwvXY.js +1 -0
  175. package/dist/client/assets/{table-CNWQQ1ny.js → table-UizEAfeR.js} +1 -1
  176. package/dist/client/assets/{tabs---ylShNh.js → tabs-Hq5jo9A8.js} +1 -1
  177. package/dist/client/assets/{task-board-d9aI3xON.js → task-board-jDm9sccs.js} +1 -1
  178. package/dist/client/assets/{tasks-CqsZedy1.js → tasks-DL_gKqwg.js} +1 -1
  179. package/dist/client/assets/{textarea-CvXIGUrZ.js → textarea-BNbtdPGO.js} +1 -1
  180. package/dist/client/assets/{toggle-group-9H7MENld.js → toggle-group-DT3qKYLM.js} +1 -1
  181. package/dist/client/assets/{toolbar-CFGjTZKp.js → toolbar-wStg-dwL.js} +1 -1
  182. package/dist/client/assets/{track-rDKtvIJ6.js → track-BgyeiT2x.js} +1 -1
  183. package/dist/client/assets/{types-BR-rJmTQ.js → types-BnP9IxnK.js} +1 -1
  184. package/dist/client/assets/{use-ai-providers-D-DLX2r-.js → use-ai-providers-BfwKWlNT.js} +1 -1
  185. package/dist/client/assets/{use-api-keys-Ba1kau-j.js → use-api-keys-Cw0VueVn.js} +1 -1
  186. package/dist/client/assets/{use-automations-DCQErfJY.js → use-automations-CXhG4SKN.js} +1 -1
  187. package/dist/client/assets/{use-autosave-COQ2KNxK.js → use-autosave-Bi1TUTmh.js} +1 -1
  188. package/dist/client/assets/{use-connection-DN4iufew.js → use-connection-C113P3D4.js} +1 -1
  189. package/dist/client/assets/{use-copy-BrNQw893.js → use-copy-BzPCc3PP.js} +1 -1
  190. package/dist/client/assets/{use-create-virtual-mcp-mTrVU1Cr.js → use-create-virtual-mcp-pVPMgAh-.js} +1 -1
  191. package/dist/client/assets/{use-debounced-autosave-C96mZ7FL.js → use-debounced-autosave-XwXwMzB2.js} +1 -1
  192. package/dist/client/assets/{use-debounced-value-w4-tTzSs.js → use-debounced-value-nXb2UNEo.js} +1 -1
  193. package/dist/client/assets/{use-decopilot-events-DQphD5G3.js → use-decopilot-events-Brdzi0_P.js} +1 -1
  194. package/dist/client/assets/{use-delete-connection-B2YaAVmg.js → use-delete-connection-CQdVh6KF.js} +1 -1
  195. package/dist/client/assets/{use-deployment-admin-ChQMmdpu.js → use-deployment-admin-DHckgTZm.js} +1 -1
  196. package/dist/client/assets/{use-destination-route-DwR5EZdM.js → use-destination-route-CBTLua1E.js} +1 -1
  197. package/dist/client/assets/{use-file-configs-BQA5pT_r.js → use-file-configs-BSJydygI.js} +1 -1
  198. package/dist/client/assets/{use-infinite-scroll-xFY_A5TW.js → use-infinite-scroll-B0eZAkT1.js} +1 -1
  199. package/dist/client/assets/{use-join-requests-BVeSRkzW.js → use-join-requests-XPI7Qp7H.js} +1 -1
  200. package/dist/client/assets/{use-mcp-auth-status-g4f-5p6M.js → use-mcp-auth-status--vNhx8Ad.js} +1 -1
  201. package/dist/client/assets/{use-mcp-client-C2WpJqGp.js → use-mcp-client-Cw8yw85P.js} +1 -1
  202. package/dist/client/assets/{use-mcp-tools-D2jDyaSa.js → use-mcp-tools-BmjVf4Hf.js} +1 -1
  203. package/dist/client/assets/{use-members-D3qbSIYx.js → use-members-CEcihkaF.js} +1 -1
  204. package/dist/client/assets/{use-navigate-to-agent-BnGGkvww.js → use-navigate-to-agent-BN4ABUpI.js} +1 -1
  205. package/dist/client/assets/{use-org-auth-client-6ydcGnsW.js → use-org-auth-client-BQqSTGwN.js} +1 -1
  206. package/dist/client/assets/{use-org-repo-syncs-ioAfxmUp.js → use-org-repo-syncs-CX2lVaeE.js} +1 -1
  207. package/dist/client/assets/{use-org-sso-DMKUn11x.js → use-org-sso-B2rwowB_.js} +1 -1
  208. package/dist/client/assets/{use-organization-roles-JJdzyzc2.js → use-organization-roles-CNjYTmPl.js} +1 -1
  209. package/dist/client/assets/{use-organization-settings-BqyTxtql.js → use-organization-settings-DMPoIn3U.js} +1 -1
  210. package/dist/client/assets/{use-panel-navigate-DSXuFDWh.js → use-panel-navigate-D6GXyAPi.js} +1 -1
  211. package/dist/client/assets/{use-registry-connections-owrgLOps.js → use-registry-connections-CBwgsQEm.js} +1 -1
  212. package/dist/client/assets/{use-secrets-D8LOTarp.js → use-secrets-Bziurutw.js} +1 -1
  213. package/dist/client/assets/{use-section-preview-base-BWjBzoZV.js → use-section-preview-base-Dy2Wshxq.js} +1 -1
  214. package/dist/client/assets/{use-status-sounds-BxmwD3Ts.js → use-status-sounds-BhYpuE_H.js} +1 -1
  215. package/dist/client/assets/{use-tags-CsnYBdZ3.js → use-tags-4f6KarKj.js} +1 -1
  216. package/dist/client/assets/{use-view-mode-Ce8VSwQi.js → use-view-mode-DNIV9i7m.js} +1 -1
  217. package/dist/client/assets/{use-virtual-mcp-C1lgXcOb.js → use-virtual-mcp-2VMmnGJl.js} +1 -1
  218. package/dist/client/assets/useInfiniteQuery-CO269PLd.js +1 -0
  219. package/dist/client/assets/useSuspenseInfiniteQuery-CS69VFug.js +1 -0
  220. package/dist/client/assets/{users-WlHHd84i.js → users-CrPRhb27.js} +1 -1
  221. package/dist/client/assets/variant-calendar-DkLce2QG.js +1 -0
  222. package/dist/client/assets/{view-mode-toggle-SNjppYRr.js → view-mode-toggle-3AQ3ptOl.js} +1 -1
  223. package/dist/client/index.html +1 -1
  224. package/dist/server/cli.js +468 -468
  225. package/dist/server/server.js +335 -335
  226. package/package.json +1 -1
  227. package/dist/client/assets/agents-list-BExPOUFd.js +0 -1
  228. package/dist/client/assets/app-editor-BqXRQEpA.js +0 -1
  229. package/dist/client/assets/automations-4WtbAMRr.js +0 -1
  230. package/dist/client/assets/category-editor-BVw0za2r.js +0 -1
  231. package/dist/client/assets/collection-detail-Bqyrlcae.js +0 -1
  232. package/dist/client/assets/connection-detail-j6Hg2C9_.js +0 -1
  233. package/dist/client/assets/connection-slug-eyAPH6o3.js +0 -1
  234. package/dist/client/assets/connections-BFlBx3eR.js +0 -1
  235. package/dist/client/assets/file-explorer-D9vNN4Ai.js +0 -2
  236. package/dist/client/assets/index-AYOlfrqu.js +0 -1
  237. package/dist/client/assets/post-calendar-Dtrz1ddb.js +0 -1
  238. package/dist/client/assets/post-editor-DsQuK9Oa.js +0 -1
  239. package/dist/client/assets/project-app-view-CgtJDq_r.js +0 -1
  240. package/dist/client/assets/record-editor-BKnPZeAl.js +0 -1
  241. package/dist/client/assets/redirect-editor-5tWecuOB.js +0 -1
  242. package/dist/client/assets/registry-BH-InggM.js +0 -2
  243. package/dist/client/assets/seo-editor-Bv2R8igF.js +0 -1
  244. package/dist/client/assets/session-runtime-wVXsCwcJ.js +0 -1
  245. package/dist/client/assets/store-registry-CXJ_5Ae5.js +0 -2
  246. package/dist/client/assets/synced-repos-VI3iwOU2.js +0 -1
  247. package/dist/client/assets/useInfiniteQuery-PqMaSXlJ.js +0 -1
  248. package/dist/client/assets/useSuspenseInfiniteQuery-BO55lV73.js +0 -1
  249. package/dist/client/assets/variant-calendar-BbU1vB51.js +0 -1
@@ -0,0 +1 @@
1
+ import{c as pe,b as me,j as o,x as Ae,c6 as be,c1 as Ie,t as le,B as re,b7 as Le,H as De,p as Te,a as Ee,r as Z,o as Fe,K as ge,e as ke,q as Y,I as Pe,n as Me,P as ce}from"./index-4YcsQ5rT.js";import{a as ee,b as we,D as de,c as ue}from"./dropdown-menu-CTvkGFhl.js";import{a as Ge}from"./Users03-C3U-X-mI.js";import{G as ye,b as Oe,a as ze}from"./github-repo-picker-DZzmAPvj.js";import{b as Se,u as Be,c as Ue}from"./use-virtual-mcp-2VMmnGJl.js";import{i as Re}from"./DotsVertical-CmWdjVkt.js";import{A as $e,d as fe,a$ as He,b0 as Ve}from"./agent-icon-DNwubGAI.js";import{a as Ke}from"./Settings02-Dbk7MmVQ.js";import{s as qe}from"./Trash01-D4Gmo3CK.js";import{p as Qe,f as he}from"./pt-BR-CLy76QW2.js";import{c as _e}from"./use-navigate-to-agent-BN4ABUpI.js";import{f as Je,i as Ye}from"./use-organization-settings-DMPoIn3U.js";import{h as We}from"./agent-capabilities-B52k7xCe.js";import{E as Xe}from"./empty-state-DU62aVcj.js";import{u as Ze}from"./use-create-virtual-mcp-pVPMgAh-.js";import{u as et}from"./use-connection-C113P3D4.js";import{u as xe}from"./use-mcp-client-Cw8yw85P.js";import{S as tt}from"./constants-dLUUoWH7.js";import{c as ot,e as st}from"./session-runtime-C-KTDVeQ.js";import{g as it,f as nt,b as rt,G as lt,p as at}from"./provision-repo-scoped-github-connection-CMPWtdMv.js";import{e as ct,d as mt,a as dt,b as ut,c as pt}from"./dialog-CzFdWv_E.js";import{i as gt}from"./ArrowLeft-CuOJLpYp.js";import{C as ft}from"./collection-search-CBCqztFu.js";import{c as ht,d as xt,b as jt,f as Ct,g as bt,e as Dt,a as wt,A as yt}from"./alert-dialog-0Ff1N_Jf.js";import{S as St}from"./search-input-BzaZGMYY.js";import{s as je}from"./Plus-CQqghpHx.js";import"./Check-xum6ttaQ.js";import"./ChevronRight-eURWqwf-.js";import"./use-debounced-value-nXb2UNEo.js";import"./authenticate-and-persist-oauth-B2nf3Lk8.js";import"./mcp-oauth-fRqby3CY.js";import"./auth-B5Pc1e6R.js";import"./LinkExternal01-CjCwMazO.js";import"./LockUnlocked01-oqX2g_Co.js";import"./use-mcp-tools-BmjVf4Hf.js";import"./extract-connection-data-BO9kKqC1.js";import"./metadata-dUsYcpuu.js";import"./AlertCircle-BVWJug5I.js";import"./UserSquare-Beayep0j.js";import"./Tool01-DdZkcfvV.js";import"./ArrowUp-3VjPGHwe.js";import"./Tool02-2iK-m_KO.js";import"./XCircle-BGJFc73T.js";import"./TrendUp01-5QvTgHWQ.js";import"./ZapSquare-D-EFq_dE.js";import"./CheckCircle-DvVxqf27.js";import"./ChevronDown-DPpA8Dbp.js";import"./ChevronSelectorVertical-BJ_tEAoM.js";import"./ChevronUp-BOTFm6bq.js";import"./Stars02-DKadbM7f.js";import"./Copy01-DY0oXPux.js";import"./CreditCard01-CWAomrlK.js";import"./Download01-ZL7h20oZ.js";import"./Eye-Cxiih4tN.js";import"./FilterLines-DikSwaCj.js";import"./Share07-D-5TVy6X.js";import"./Globe01-CkMctzyc.js";import"./Globe04-B-iLPaaJ.js";import"./SwitchHorizontal01-BYjWAqvz.js";import"./HardDrive-Tx05rxiS.js";import"./Key01-COjyAPgn.js";import"./LogOut01-Dt_DOR7D.js";import"./Monitor01-BdcGfSWn.js";import"./Sun-Cit4FdTC.js";import"./Palette-CwA2z-1Z.js";import"./Play-BGkoV72U.js";import"./SearchLg-BJbx8ng6.js";import"./SearchMd-Ch1B_n1t.js";import"./Shield01-B60BPmpa.js";import"./Stars01-RU0hnDJY.js";import"./Upload01-TxI8Lmy1.js";import"./User01-DVgIitgv.js";import"./Users01-CZYotbm_.js";import"./XClose-2vlpUf7f.js";import"./Zap-BBaRxr9a.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-destination-route-CBTLua1E.js";import"./hooks-TEwkOdLN.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-B1qPmScV.js";import"./task-board-jDm9sccs.js";import"./slugify-CEUa2lfQ.js";function Ce(t){const e=pe.c(28),{onCreateFromScratch:i,onImportGitHub:n,onImportDeco:a,isCreating:p,align:r,side:R,showBetaBadge:h}=t,$=r===void 0?"end":r,d=me();let M;e[0]===Symbol.for("react.memo_cache_sentinel")?(M=o.jsx(Ge,{size:14}),e[0]=M):M=e[0];let c;e[1]!==d?(c=d("common.createAgentDropdown.createFromScratch"),e[1]=d,e[2]=c):c=e[2];let D;e[3]!==p||e[4]!==i||e[5]!==c?(D=o.jsxs(ee,{disabled:p,onClick:i,children:[M,c]}),e[3]=p,e[4]=i,e[5]=c,e[6]=D):D=e[6];let x;e[7]===Symbol.for("react.memo_cache_sentinel")?(x=o.jsx(ye,{className:"size-3.5"}),e[7]=x):x=e[7];let _;e[8]!==d?(_=d("common.createAgentDropdown.importFromGitHub"),e[8]=d,e[9]=_):_=e[9];let m;e[10]!==h?(m=h&&o.jsx("span",{className:"ml-auto text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Beta"}),e[10]=h,e[11]=m):m=e[11];let l;e[12]!==n||e[13]!==_||e[14]!==m?(l=o.jsxs(ee,{onClick:n,children:[x,_,m]}),e[12]=n,e[13]=_,e[14]=m,e[15]=l):l=e[15];let g;e[16]===Symbol.for("react.memo_cache_sentinel")?(g=o.jsx("img",{src:"/logos/deco%20logo.svg",alt:"deco.cx",className:"size-3.5"}),e[16]=g):g=e[16];let v;e[17]!==d?(v=d("common.createAgentDropdown.importFromDeco"),e[17]=d,e[18]=v):v=e[18];let w;e[19]!==a||e[20]!==v?(w=o.jsxs(ee,{onClick:a,children:[g,v]}),e[19]=a,e[20]=v,e[21]=w):w=e[21];let C;return e[22]!==$||e[23]!==R||e[24]!==w||e[25]!==D||e[26]!==l?(C=o.jsxs(we,{side:R,align:$,className:"w-48",children:[D,l,w]}),e[22]=$,e[23]=R,e[24]=w,e[25]=D,e[26]=l,e[27]=C):C=e[27],C}function _t(t){const e=pe.c(78),{project:i,lastUsedAt:n,onDeleteClick:a}=t,p=_e(),r=me(),[R]=Ae(),h=R.language==="pt-BR"?Qe:void 0,{mainAgentId:$}=Je(),d=Ye(),{granted:M}=be("org:manage"),c=$===i.id,D=Se(),{isPrivileged:x}=Ie();let _;e[0]!==x||e[1]!==i?(_=x&&We(i),e[0]=x,e[1]=i,e[2]=_):_=e[2];const m=_,l=!!i.pinned;let g;e[3]!==D.update||e[4]!==l||e[5]!==i.id?(g=()=>{D.update.mutate({id:i.id,data:{pinned:!l}})},e[3]=D.update,e[4]=l,e[5]=i.id,e[6]=g):g=e[6];const v=g;let w;e[7]!==c||e[8]!==i.id||e[9]!==i.title||e[10]!==d||e[11]!==r?(w=()=>{const E=c?null:i.id;d.mutate(E,{onSuccess:()=>le.success(c?r("home.projectCard.mainAgentUnset",{title:i.title}):r("home.projectCard.mainAgentSet",{title:i.title})),onError:()=>le.error(r("home.projectCard.mainAgentError"))})},e[7]=c,e[8]=i.id,e[9]=i.title,e[10]=d,e[11]=r,e[12]=w):w=e[12];const C=w;let V;e[13]!==p||e[14]!==i.id?(V=()=>p(i.id),e[13]=p,e[14]=i.id,e[15]=V):V=e[15];let G;e[16]!==i.title||e[17]!==V?(G=o.jsx("button",{type:"button",onClick:V,className:"absolute inset-0 z-0","aria-label":i.title}),e[16]=i.title,e[17]=V,e[18]=G):G=e[18];let K;e[19]!==i.icon||e[20]!==i.title?(K=o.jsx($e,{icon:i.icon,name:i.title,size:"sm",className:"shrink-0 shadow-sm"}),e[19]=i.icon,e[20]=i.title,e[21]=K):K=e[21];let k;e[22]===Symbol.for("react.memo_cache_sentinel")?(k=o.jsx(de,{asChild:!0,children:o.jsx(re,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:o.jsx(Re,{size:20})})}),e[22]=k):k=e[22];let N;e[23]!==p||e[24]!==i.id?(N=()=>p(i.id,{panel:"settings"}),e[23]=p,e[24]=i.id,e[25]=N):N=e[25];let O;e[26]===Symbol.for("react.memo_cache_sentinel")?(O=o.jsx(Ke,{size:16}),e[26]=O):O=e[26];let H;e[27]!==N?(H=o.jsxs(ee,{onClick:N,children:[O,"Settings"]}),e[27]=N,e[28]=H):H=e[28];let y;e[29]!==M||e[30]!==c||e[31]!==r||e[32]!==C?(y=M&&o.jsxs(ee,{onClick:E=>{E.stopPropagation(),C()},children:[o.jsx(fe,{size:16}),r(c?"home.projectCard.unsetMainAgent":"home.projectCard.setAsMainAgent")]}),e[29]=M,e[30]=c,e[31]=r,e[32]=C,e[33]=y):y=e[33];let s;e[34]!==m||e[35]!==l||e[36]!==r||e[37]!==v?(s=m&&o.jsxs(ee,{onClick:E=>{E.stopPropagation(),v()},children:[o.jsx(He,{size:16}),r(l?"home.projectCard.unpinFromSidebar":"home.projectCard.pinToSidebar")]}),e[34]=m,e[35]=l,e[36]=r,e[37]=v,e[38]=s):s=e[38];let u;e[39]!==a?(u=a&&o.jsxs(ee,{variant:"destructive",onClick:E=>{E.stopPropagation(),a(E)},children:[o.jsx(qe,{size:16}),"Delete"]}),e[39]=a,e[40]=u):u=e[40];let f;e[41]!==H||e[42]!==y||e[43]!==s||e[44]!==u?(f=o.jsx("div",{className:"relative z-10 pointer-events-auto transition-opacity sm:opacity-0 sm:group-hover:opacity-100",children:o.jsxs(ue,{children:[k,o.jsxs(we,{align:"end",children:[H,y,s,u]})]})}),e[41]=H,e[42]=y,e[43]=s,e[44]=u,e[45]=f):f=e[45];let j;e[46]!==f||e[47]!==K?(j=o.jsxs("div",{className:"flex items-start justify-between",children:[K,f]}),e[46]=f,e[47]=K,e[48]=j):j=e[48];let S;e[49]!==i.title?(S=o.jsx("h3",{className:"text-sm font-medium text-foreground truncate",children:i.title}),e[49]=i.title,e[50]=S):S=e[50];let A;e[51]!==c||e[52]!==r?(A=c&&o.jsxs("span",{className:"shrink-0 inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground",children:[o.jsx(fe,{size:12}),r("home.projectCard.mainAgentBadge")]}),e[51]=c,e[52]=r,e[53]=A):A=e[53];let I;e[54]!==S||e[55]!==A?(I=o.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[S,A]}),e[54]=S,e[55]=A,e[56]=I):I=e[56];const U=i.description||"No description";let z;e[57]!==U?(z=o.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:U}),e[57]=U,e[58]=z):z=e[58];let b;e[59]!==I||e[60]!==z?(b=o.jsxs("div",{className:"flex flex-col gap-1",children:[I,z]}),e[59]=I,e[60]=z,e[61]=b):b=e[61];let L;e[62]!==j||e[63]!==b?(L=o.jsxs("div",{className:"flex flex-col gap-3 p-4.5",children:[j,b]}),e[62]=j,e[63]=b,e[64]=L):L=e[64];let T;e[65]!==n||e[66]!==h||e[67]!==i.updated_at||e[68]!==r?(T=n?r("home.projectCard.lastUsed",{time:he(new Date(n),{addSuffix:!0,locale:h})}):r("home.projectCard.updated",{time:he(new Date(i.updated_at),{addSuffix:!0,locale:h})}),e[65]=n,e[66]=h,e[67]=i.updated_at,e[68]=r,e[69]=T):T=e[69];let B;e[70]!==T?(B=o.jsx("div",{className:"border-t border-border mt-auto",children:o.jsx("div",{className:"h-10 flex items-center px-4.5",children:o.jsx("p",{className:"text-xs text-muted-foreground",children:T})})}),e[70]=T,e[71]=B):B=e[71];let P;e[72]!==L||e[73]!==B?(P=o.jsxs("div",{className:"flex flex-col flex-1 pointer-events-none",children:[L,B]}),e[72]=L,e[73]=B,e[74]=P):P=e[74];let q;return e[75]!==P||e[76]!==G?(q=o.jsxs(Le,{className:"relative transition-colors group overflow-hidden flex flex-col h-full hover:bg-muted/50",children:[G,P]}),e[75]=P,e[76]=G,e[77]=q):q=e[77],q}const vt="deco-sites";function Nt(t){if(!t||typeof t!="object")return null;const e=t.github;if(!e||typeof e!="object")return null;const i=e.owner,n=e.repo;return typeof i!="string"||typeof n!="string"||i.length===0||n.length===0?null:{owner:i,repo:n}}function At(t,e){const i=e?Nt(e):null,n=i?.owner??vt,a=i?.repo??t;return{owner:n,name:a,url:`https://github.com/${n}/${a}`}}function It(t){return t.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function ve(t,e,i){const n=await fetch(t,e),a=await n.json().catch(()=>({}));if(!n.ok)throw new Error(a.error??`${i} (${n.status})`);return a}function Lt(t){return ve(`/api/${t}/deco-sites`,void 0,"Failed to load sites")}function Tt({open:t,onOpenChange:e,onBack:i}){const n=me(),{org:a}=De(),p=_e(),r=Te(),{data:R}=Ee.useSession(),[h,$]=Z.useState(null),[d,M]=Z.useState(null),[c,D]=Z.useState(""),x=xe({connectionId:tt,orgId:a.id,orgSlug:a.slug}),_=et({slug:"mcp-github"}),m=it(_),l=Oe({enabled:t&&m.length===0}),g=m.length===1?m[0]??null:d,v=m.length>1&&!g,w=xe({connectionId:g?.id??"",orgId:a.id,orgSlug:a.slug}),C=t&&m.length===0&&(l.status==="installing"||l.status==="authenticating"||l.status==="idle"),{data:V,isLoading:G,error:K}=Fe({queryKey:ge.decoSites(R?.user?.email),queryFn:()=>Lt(a.slug),enabled:t&&!!R?.user?.email,staleTime:6e4,retry:!1}),k=V?.sites??[],N=s=>{s||($(null),M(null),D("")),e(s)},O=k.filter(s=>s.name.toLowerCase().includes(c.toLowerCase())||(s.domains?.[0]?.domain?.toLowerCase().includes(c.toLowerCase())??!1)),H=!h||O.some(s=>s.name===h),y=ke({mutationFn:async s=>{if(!g)throw new Error(n("common.importFromDecoDialog.githubNotConnected"));Y("deco_site_import_started",{site_name:s});const{installations:u}=await nt(b=>x.callTool(b),g.id),f=k.find(b=>b.name===s);if(!f)throw new Error(n("common.importFromDecoDialog.siteNoLongerAvailable"));const j=At(s,f.metadata),S=rt(u,j.owner);if(!S)throw new Error(n("common.importFromDecoDialog.installGithubApp",{owner:j.owner,installUrl:lt}));let A=null,I=null,U=null;const z=async()=>{U&&await x.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:U}}).catch(()=>{}),I&&await x.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:I,force:!0}}).catch(()=>{}),A&&await x.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:A,force:!0}}).catch(()=>{})};try{const b=await ve(`/api/${a.slug}/deco-sites/connection`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({siteName:s})},n("common.importFromDecoDialog.failedToCreateConnection")),L=b.connId;if(!L)throw new Error(n("common.importFromDecoDialog.noConnectionId"));A=L;const{childConnectionId:T,reused:B}=await at({orgSlug:a.slug,sourceConnection:g,installationId:S.installationId,owner:j.owner,repo:j.name,githubCallTool:J=>w.callTool(J),selfCallTool:J=>x.callTool(J)});I=B?null:T;const P=b.icon??null,q=It(s),E=s.toLowerCase(),W=ot(s),X=await x.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:s,description:"Imported from deco.cx",pinned:!1,icon:P??null,metadata:{instructions:null,enabled_plugins:[],siteSlug:E,previewServerUrl:W,productionUrl:W,githubRepo:{owner:j.owner,name:j.name,url:j.url,installationId:S.installationId,connectionId:T},ui:{banner:null,bannerColor:"#22C55E",icon:P,themeColor:"#22C55E",slug:q,pinnedViews:[{connectionId:L,toolName:"get_monitor_data",label:"Monitor",icon:null}],layout:{defaultMainView:{type:"preview"},chatDefaultOpen:!1}}},connections:[{connection_id:L},{connection_id:T}]}}}),Q=X.structuredContent??X;if(!Q.item?.id)throw new Error(n("common.importFromDecoDialog.failedToCreateAgent"));return U=Q.item.id,{slug:q,virtualMcpId:Q.item.id,connId:L,item:Q.item}}catch(b){throw await z(),b}},onSuccess:({slug:s,virtualMcpId:u,item:f})=>{Y("deco_site_import_succeeded",{site_name:f.title,virtual_mcp_id:u,slug:s}),r.setQueryData(ge.collectionItem(x,a.id,"","VIRTUAL_MCP",u),{item:f}),r.invalidateQueries({predicate:j=>{const S=j.queryKey;return S[1]===a.id&&S[3]==="collection"&&S[4]==="VIRTUAL_MCP"}}),le.success(n("common.importFromDecoDialog.importSuccess",{slug:s})),N(!1),localStorage.setItem(Pe.sidebarOpen(),JSON.stringify(!1)),p(u)},onError:s=>{Y("deco_site_import_failed",{error:s instanceof Error?s.message:"Unknown error"}),le.error(n("common.importFromDecoDialog.importFailed",{error:(s instanceof Error?s.message:n("common.importFromDecoDialog.unknownError"))??""}))}});return o.jsx(ct,{open:t,onOpenChange:N,children:o.jsxs(mt,{className:"sm:max-w-[900px] p-0 gap-0 overflow-hidden",children:[o.jsx(dt,{className:"sr-only",children:o.jsx(ut,{children:n("common.importFromDecoDialog.title")})}),o.jsxs("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3",children:[i&&o.jsx("button",{type:"button",onClick:i,className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors","aria-label":n("common.importFromDecoDialog.goBack"),children:o.jsx(gt,{size:18})}),o.jsx("span",{className:"text-sm font-medium text-foreground",children:n("common.importFromDecoDialog.title")})]}),o.jsx("div",{children:o.jsx(ft,{value:c,onChange:D,placeholder:n("common.importFromDecoDialog.searchPlaceholder"),onKeyDown:s=>{s.key==="Escape"&&D("")}})}),o.jsxs("div",{className:"pb-0 min-h-[300px]",children:[l.status==="error"&&o.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 h-48 px-8 text-center",children:[o.jsx("p",{className:"text-sm text-destructive",children:l.error??n("common.importFromDecoDialog.failedToConnectGithub")}),o.jsx(re,{variant:"outline",size:"sm",onClick:l.retry,children:n("common.importFromDecoDialog.retryGithubSetup")})]}),C&&l.status!=="error"&&o.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:n("common.importFromDecoDialog.settingUpGithub")}),v&&!C&&l.status!=="error"&&o.jsxs("div",{className:"flex flex-col py-2",children:[o.jsx("div",{className:"px-8 py-2",children:o.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:n("common.importFromDecoDialog.selectGithubConnection")})}),m.map(s=>o.jsxs("button",{type:"button",onClick:()=>M(s),className:"flex items-center gap-3 px-8 py-3 hover:bg-accent transition-colors text-left",children:[s.icon?o.jsx("img",{src:s.icon,alt:s.title,className:"size-7 rounded-full shrink-0"}):o.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:o.jsx(ye,{className:"size-3.5 text-muted-foreground"})}),o.jsx("span",{className:"text-sm font-medium",children:s.title})]},s.id))]}),G&&!C&&l.status!=="error"&&o.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:n("common.importFromDecoDialog.loadingSites")}),!G&&!C&&!v&&l.status!=="error"&&!K&&k.length===0&&o.jsx("div",{className:"flex items-center justify-center h-48 text-sm text-muted-foreground",children:n("common.importFromDecoDialog.noSitesFound")}),!G&&!C&&!v&&l.status!=="error"&&k.length>0&&o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 max-h-[420px] overflow-y-auto py-4 px-8 [scrollbar-gutter:stable]",children:[O.length===0&&o.jsx("p",{className:"col-span-3 text-sm text-muted-foreground text-center py-8",children:n("common.importFromDecoDialog.noSitesMatch",{search:c})}),O.map(s=>{const u=st(s.domains),f=h===s.name;return o.jsxs("button",{type:"button",onClick:()=>$(s.name),className:Me("flex flex-col rounded-xl border overflow-hidden text-left transition-all cursor-pointer",f?"border-primary ring-1 ring-primary":"border-border hover:border-muted-foreground/40"),children:[o.jsx("div",{className:"w-full aspect-video bg-muted overflow-hidden",children:s.thumb_url?o.jsx("img",{src:s.thumb_url,alt:s.name,className:"w-full h-full object-cover",loading:"lazy"}):o.jsx("div",{className:"w-full h-full bg-muted"})}),o.jsxs("div",{className:"px-4 py-3",children:[o.jsx("p",{className:"text-sm font-medium text-foreground truncate",children:s.name}),u&&o.jsx("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:u})]})]},s.name)})]})]}),o.jsxs(pt,{className:"px-8 py-5 border-t border-border",children:[o.jsx(re,{variant:"outline",onClick:()=>N(!1),disabled:y.isPending,children:n("common.importFromDecoDialog.cancel")}),o.jsx(re,{disabled:!h||!H||y.isPending||G||C||v||!g||l.status==="error",onClick:()=>h&&y.mutate(h),children:y.isPending?n("common.importFromDecoDialog.importing"):n("common.importFromDecoDialog.import")})]})]})})}function cs(){const t=pe.c(77),e=me(),{org:i}=De(),n=Be(),a=Se(),[p,r]=Z.useState("");let R;t[0]===Symbol.for("react.memo_cache_sentinel")?(R={navigateOnCreate:!0},t[0]=R):R=t[0];const{createVirtualMCP:h,isCreating:$}=Ze(R),[d,M]=Z.useState(null),[c,D]=Z.useState(!1),[x,_]=Z.useState(!1),{granted:m}=be("agents:manage"),l=p.toLowerCase(),g=n.filter(F=>F.id!==i.id&&(F.title.toLowerCase().includes(l)||F.description?.toLowerCase().includes(l))),{data:v}=Ue(g.map(Et));let w;t[1]!==a||t[2]!==d||t[3]!==e?(w=async()=>{if(!d)return;const{id:F,title:Ne}=d;M(null);try{await a.delete.mutateAsync(F),Y("agent_deleted",{agent_id:F,source:"agents_list"}),le.success(e("routes.agentsList.deletedAgent",{title:Ne}))}catch{}},t[1]=a,t[2]=d,t[3]=e,t[4]=w):w=t[4];const C=w,V=ce,G=ce,K=ce;let k;t[5]!==e?(k=e("routes.agentsList.title"),t[5]=e,t[6]=k):k=t[6];let N;t[7]!==k?(N=o.jsx(ce.Title,{children:k}),t[7]=k,t[8]=N):N=t[8];let O;t[9]!==e?(O=e("routes.agentsList.searchPlaceholder"),t[9]=e,t[10]=O):O=t[10];let H;t[11]===Symbol.for("react.memo_cache_sentinel")?(H=F=>{F.key==="Escape"&&(r(""),F.target.blur())},t[11]=H):H=t[11];let y;t[12]!==p||t[13]!==O?(y=o.jsx(St,{value:p,onChange:r,placeholder:O,className:"w-full md:w-[375px]",onKeyDown:H}),t[12]=p,t[13]=O,t[14]=y):y=t[14];let s;t[15]!==m||t[16]!==h||t[17]!==$||t[18]!==e?(s=m&&o.jsxs(ue,{children:[o.jsx(de,{asChild:!0,children:o.jsxs(re,{size:"sm",children:[o.jsx(je,{size:14}),e("routes.agentsList.createAgent")]})}),o.jsx(Ce,{onCreateFromScratch:()=>{Y("agent_create_clicked",{source:"agents_list",method:"scratch"}),h()},onImportGitHub:()=>{Y("agent_create_clicked",{source:"agents_list",method:"github"}),_(!0)},onImportDeco:()=>{Y("agent_create_clicked",{source:"agents_list",method:"deco"}),D(!0)},isCreating:$,align:"end"})]}),t[15]=m,t[16]=h,t[17]=$,t[18]=e,t[19]=s):s=t[19];let u;t[20]!==y||t[21]!==s?(u=o.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[y,s]}),t[20]=y,t[21]=s,t[22]=u):u=t[22];let f;t[23]!==u||t[24]!==N?(f=o.jsxs("div",{className:"flex flex-col gap-6",children:[N,u]}),t[23]=u,t[24]=N,t[25]=f):f=t[25];const j=g.length===0&&o.jsx("div",{className:"flex items-center justify-center py-20",children:o.jsx(Xe,{image:o.jsx(Ve,{size:48,className:"text-muted-foreground"}),title:e(p?"routes.agentsList.noAgentsFound":"routes.agentsList.noAgentsYet"),description:p?e("routes.agentsList.noAgentsMatchSearch",{search:p}):e(m?"routes.agentsList.createAgentToGetStarted":"routes.agentsList.askAdminToCreate"),actions:!p&&m&&o.jsxs(ue,{children:[o.jsx(de,{asChild:!0,children:o.jsxs(re,{size:"sm",children:[o.jsx(je,{size:14}),e("routes.agentsList.createAgent")]})}),o.jsx(Ce,{onCreateFromScratch:()=>{Y("agent_create_clicked",{source:"agents_list_empty",method:"scratch"}),h()},onImportGitHub:()=>{Y("agent_create_clicked",{source:"agents_list_empty",method:"github"}),_(!0)},onImportDeco:()=>{Y("agent_create_clicked",{source:"agents_list_empty",method:"deco"}),D(!0)},isCreating:$,align:"center",showBetaBadge:!0})]})})}),S=g.length>0&&o.jsxs("div",{className:"mt-6 @container",children:[o.jsx("h3",{className:"text-sm font-medium text-muted-foreground mb-3",children:e("routes.agentsList.agentsHeading")}),o.jsx("div",{className:"grid grid-cols-1 @lg:grid-cols-2 @4xl:grid-cols-3 @6xl:grid-cols-4 gap-4",children:g.map(F=>o.jsx(_t,{project:F,lastUsedAt:v?.get(F.id)?.last_used_at,onDeleteClick:m?()=>M({id:F.id,title:F.title}):void 0},F.id))})]});let A;t[26]!==f||t[27]!==j||t[28]!==S||t[29]!==K.Body?(A=o.jsxs(K.Body,{children:[f,j,S]}),t[26]=f,t[27]=j,t[28]=S,t[29]=K.Body,t[30]=A):A=t[30];let I;t[31]!==A||t[32]!==G.Content?(I=o.jsx(G.Content,{children:A}),t[31]=A,t[32]=G.Content,t[33]=I):I=t[33];let U;t[34]!==x?(U=o.jsx(ze,{open:x,onOpenChange:_}),t[34]=x,t[35]=U):U=t[35];let z;t[36]!==c?(z=o.jsx(Tt,{open:c,onOpenChange:D}),t[36]=c,t[37]=z):z=t[37];const b=!!d;let L;t[38]===Symbol.for("react.memo_cache_sentinel")?(L=F=>!F&&M(null),t[38]=L):L=t[38];let T;t[39]!==e?(T=e("routes.agentsList.deleteAgentTitle"),t[39]=e,t[40]=T):T=t[40];let B;t[41]!==T?(B=o.jsx(ht,{children:T}),t[41]=T,t[42]=B):B=t[42];let P;t[43]!==e?(P=e("routes.agentsList.deleteAgentDescription"),t[43]=e,t[44]=P):P=t[44];const q=d?.title;let E;t[45]!==q?(E=o.jsx("span",{className:"font-medium text-foreground",children:q}),t[45]=q,t[46]=E):E=t[46];let W;t[47]!==P||t[48]!==E?(W=o.jsxs(xt,{children:[P," ",E,"."]}),t[47]=P,t[48]=E,t[49]=W):W=t[49];let X;t[50]!==B||t[51]!==W?(X=o.jsxs(jt,{children:[B,W]}),t[50]=B,t[51]=W,t[52]=X):X=t[52];let Q;t[53]!==e?(Q=e("routes.agentsList.cancelButton"),t[53]=e,t[54]=Q):Q=t[54];let J;t[55]!==Q?(J=o.jsx(Ct,{children:Q}),t[55]=Q,t[56]=J):J=t[56];let te;t[57]!==e?(te=e("routes.agentsList.deleteButton"),t[57]=e,t[58]=te):te=t[58];let oe;t[59]!==C||t[60]!==te?(oe=o.jsx(bt,{onClick:C,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:te}),t[59]=C,t[60]=te,t[61]=oe):oe=t[61];let se;t[62]!==J||t[63]!==oe?(se=o.jsxs(Dt,{children:[J,oe]}),t[62]=J,t[63]=oe,t[64]=se):se=t[64];let ie;t[65]!==X||t[66]!==se?(ie=o.jsxs(wt,{children:[X,se]}),t[65]=X,t[66]=se,t[67]=ie):ie=t[67];let ne;t[68]!==b||t[69]!==ie?(ne=o.jsx(yt,{open:b,onOpenChange:L,children:ie}),t[68]=b,t[69]=ie,t[70]=ne):ne=t[70];let ae;return t[71]!==V||t[72]!==I||t[73]!==U||t[74]!==z||t[75]!==ne?(ae=o.jsxs(V,{children:[I,U,z,ne]}),t[71]=V,t[72]=I,t[73]=U,t[74]=z,t[75]=ne,t[76]=ae):ae=t[76],ae}function Et(t){return t.id}export{cs as default};
@@ -1,6 +1,6 @@
1
- import{c as G,b as se,ax as Qe,aw as Ye,r as Q,j as s,ay as gt,dw as Te,t as ee,dv as be,du as Ee,bb as We,dC as Ze,dD as xt,n as Pe,c6 as ht,H as ye,ac as le,K as J,o as De,B as X,k as $e,Y as Ie,p as Se,e as re,x as Xe,q as Fe,ak as vt,an as we,dy as bt}from"./index-kc-p0Tho.js";import{i as yt}from"./AlertCircle-COfoHlYo.js";import{u as Je,b as _e,i as jt,c as St,p as Nt,d as Re,e as Ct,f as et}from"./use-ai-providers-D-DLX2r-.js";import{i as _t}from"./CheckCircle-B5B8UVD6.js";import{b as Pt,j as It}from"./use-organization-settings-BqyTxtql.js";import{c as kt}from"./task-board-d9aI3xON.js";import{c as Dt,u as Ue,d as tt,P as Kt,C as Be}from"./select-model-D3_B27r5.js";import{u as wt}from"./use-debounced-autosave-C96mZ7FL.js";import{i as ze}from"./CreditCard01-Bi19p04V.js";import{B as Ae}from"./badge-Db5xIffE.js";import{I as je}from"./input-CoA1YEYW.js";import{a as He,T as At}from"./toggle-group-9H7MENld.js";import{c as st,d as it,b as lt,f as rt,g as nt,e as ot,a as at,A as ct}from"./alert-dialog-EuQzy5n4.js";import{s as Tt}from"./Plus-DEP38EYY.js";import{p as Et,f as Rt}from"./pt-BR-CLy76QW2.js";import{b as Mt}from"./Tool01-BMVX3tOF.js";import{s as Ot}from"./Trash01-CiqyPob_.js";import{A as $t}from"./avatar-BGhjOwGM.js";import{P as Ft}from"./ai-providers-logos-DD3qZ33J.js";import{i as Ut}from"./Settings02-DE8fnfTk.js";import{s as Bt}from"./Eye-DhvNNTcF.js";import{b as zt,a as Ht,d as qt,e as Lt,c as Vt}from"./dialog-v9lm8kV3.js";import{S as Gt}from"./spinner-Ba0CkhBN.js";import{R as Qt}from"./require-capability-B-toWf1T.js";import"./constants-dLUUoWH7.js";import"./drawer-DBmJy2OH.js";import"./chat-context-BaV72O1g.js";import"./use-panel-navigate-DSXuFDWh.js";import"./Check-CQfGOUkn.js";import"./Copy01-DT_VNucR.js";import"./Download01-BC66vxkd.js";import"./use-destination-route-DwR5EZdM.js";import"./session-runtime-wVXsCwcJ.js";import"./hooks-ndMd0rOE.js";import"./use-mcp-client-C2WpJqGp.js";import"./auth-Ck-CYI0s.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-RJKXQFNl.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-C1lgXcOb.js";import"./use-decopilot-events-DQphD5G3.js";import"./checkbox-YMTFrO1r.js";import"./select-DwECBvqm.js";import"./ChevronDown-DJW5HhkM.js";import"./ChevronUp-DOnt1lNa.js";import"./ArrowLeft-DvfIRo1L.js";import"./ChevronSelectorVertical-DjiLaY0h.js";import"./Key01-28MkH09O.js";import"./SearchMd-B7xHuJq4.js";import"./Monitor01-DnWcZI3D.js";import"./ChevronRight-CdylS1le.js";import"./Stars01-C5onyQkg.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./User01-S_RGxi2I.js";import"./access-gate-Doy8MTWW.js";import"./capability-load-error-D0M3HC9t.js";const Yt=e=>e.capabilities?.includes("image")===!0,Wt=e=>jt(e),Zt=e=>St(e),Xt=[{key:"fast",filter:void 0},{key:"smart",filter:void 0},{key:"thinking",filter:void 0},{key:"image",filter:Yt},{key:"web_search",filter:Wt},{key:"deep_research",filter:Zt}];function Jt(e){const t=G.c(30),{slot:i,onSlotChange:r,filterModels:n,defaultKeyId:a}=e,c=Je(),l=c.some(b=>b.id===i?.keyId)?i?.keyId:null,[d,h]=Q.useState(l??a);let _,o;t[0]!==l?(_=()=>{l&&h(l)},o=[l],t[0]=l,t[1]=_,t[2]=o):(_=t[1],o=t[2]),Q.useEffect(_,o);let u;t[3]!==c||t[4]!==a||t[5]!==d?(u=c.some(b=>b.id===d)?d:a,t[3]=c,t[4]=a,t[5]=d,t[6]=u):u=t[6];const f=u;let p;t[7]!==f||t[8]!==c?(p=f?c.find(b=>b.id===f):null,t[7]=f,t[8]=c,t[9]=p):p=t[9];const y=p,{models:j,isLoading:P}=_e(n?f??void 0:void 0),x=n?P||j.some(n):!0;let C;t[10]!==i||t[11]!==y?.providerId||t[12]!==l?(C=i&&l?{modelId:i.modelId,title:i.title??i.modelId,keyId:i.keyId,providerId:y?.providerId??"deco",description:null,logo:null,capabilities:[],limits:null,costs:null}:null,t[10]=i,t[11]=y?.providerId,t[12]=l,t[13]=C):C=t[13];const k=C,g=se();if(n&&!x){let b;t[14]!==g?(b=g("settings.simpleModeSection.notAvailableWithCurrentProvider"),t[14]=g,t[15]=b):b=t[15];let D;return t[16]!==b?(D=s.jsx("p",{className:"text-xs text-muted-foreground italic",children:b}),t[16]=b,t[17]=D):D=t[17],D}let v;t[18]!==g?(v=g("settings.simpleModeSection.pickModel"),t[18]=g,t[19]=v):v=t[19];let S;t[20]===Symbol.for("react.memo_cache_sentinel")?(S=b=>h(b),t[20]=S):S=t[20];let m;t[21]!==f||t[22]!==r?(m=b=>{const D=b.keyId??f??"";h(D),r({keyId:D,modelId:b.modelId,title:b.title})},t[21]=f,t[22]=r,t[23]=m):m=t[23];let N;return t[24]!==f||t[25]!==n||t[26]!==k||t[27]!==v||t[28]!==m?(N=s.jsx(Dt,{variant:"bordered",placeholder:v,model:k,credentialId:f,filterModels:n,onCredentialChange:S,onModelChange:m}),t[24]=f,t[25]=n,t[26]=k,t[27]=v,t[28]=m,t[29]=N):N=t[29],N}function es(e){const t=G.c(10),{isPending:i,showSaved:r}=e,n=se();if(i){let a;t[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(We,{size:12,className:"animate-spin"}),t[0]=a):a=t[0];let c;t[1]!==n?(c=n("settings.simpleModeSection.saving"),t[1]=n,t[2]=c):c=t[2];let l;return t[3]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[a,c]}),t[3]=c,t[4]=l):l=t[4],l}if(r){let a;t[5]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(_t,{size:12}),t[5]=a):a=t[5];let c;t[6]!==n?(c=n("settings.simpleModeSection.saved"),t[6]=n,t[7]=c):c=t[7];let l;return t[8]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[a,c]}),t[8]=c,t[9]=l):l=t[9],l}return null}function ts(){const e=G.c(58),t=se(),i=Je(),r=Pt(),n=i.length>0;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=Qe(kt),e[0]=a):a=e[0];let c;e[1]!==r?(c={resolver:a,values:r,mode:"onChange"},e[1]=r,e[2]=c):c=e[2];const l=Ye(c),{mutate:d,isPending:h,isSuccess:_}=It(),o=l.formState.isDirty;let u;e[3]!==l||e[4]!==r||e[5]!==t||e[6]!==d?(u={delayMs:250,save:async()=>{const I=l.getValues();d(I,{onSuccess:()=>l.reset(I,{keepValues:!0}),onError:T=>{l.reset(r),ee.error(t("settings.simpleModeSection.failedToSave",{error:T.message}))}})}},e[3]=l,e[4]=r,e[5]=t,e[6]=d,e[7]=u):u=e[7];const{schedule:f}=wt(u),p=i[0],y=i[1],j=i[2],{models:P}=_e(p?.id),{models:x}=_e(y?.id),{models:C}=_e(j?.id);let k,g;e[8]!==l||e[9]!==n?(k=()=>{n||l.reset({tiers:{fast:null,smart:null,thinking:null,image:null,web_search:null,deep_research:null}})},g=[n,l],e[8]=l,e[9]=n,e[10]=k,e[11]=g):(k=e[10],g=e[11]),Q.useEffect(k,g);let v;e[12]!==i||e[13]!==l||e[14]!==p||e[15]!==y||e[16]!==j||e[17]!==P||e[18]!==x||e[19]!==C?(v=()=>{const I=l.getValues(),T=new Set(i.map(ss)),O={};p?.id&&(O[p.id]=P),y?.id&&(O[y.id]=x),j?.id&&(O[j.id]=C);const R=Y=>Y!=null&&!T.has(Y.keyId),K={fast:R(I.tiers.fast)?null:I.tiers.fast,smart:R(I.tiers.smart)?null:I.tiers.smart,thinking:R(I.tiers.thinking)?null:I.tiers.thinking,image:R(I.tiers.image)?null:I.tiers.image,web_search:R(I.tiers.web_search)?null:I.tiers.web_search,deep_research:R(I.tiers.deep_research)?null:I.tiers.deep_research},W=!K.fast||!K.smart||!K.thinking||!K.image||!K.web_search||!K.deep_research,Z=K.fast===I.tiers.fast&&K.smart===I.tiers.smart&&K.thinking===I.tiers.thinking&&K.image===I.tiers.image&&K.web_search===I.tiers.web_search&&K.deep_research===I.tiers.deep_research;if(!W&&Z)return;const V=Nt(i,O);l.reset({tiers:{fast:K.fast??V.chat.fast,smart:K.smart??V.chat.smart,thinking:K.thinking??V.chat.thinking,image:K.image??V.image,web_search:K.web_search??V.webSearch,deep_research:K.deep_research??V.deepResearch}},{keepDirty:!0})},e[12]=i,e[13]=l,e[14]=p,e[15]=y,e[16]=j,e[17]=P,e[18]=x,e[19]=C,e[20]=v):v=e[20];const S=p?.id,m=y?.id,N=j?.id;let b;e[21]!==i||e[22]!==l||e[23]!==P||e[24]!==x||e[25]!==C||e[26]!==S||e[27]!==m||e[28]!==N?(b=[l,i,P,x,C,S,m,N],e[21]=i,e[22]=l,e[23]=P,e[24]=x,e[25]=C,e[26]=S,e[27]=m,e[28]=N,e[29]=b):b=e[29],Q.useEffect(v,b);let D;e[30]!==t?(D=I=>({fast:t("settings.simpleModeSection.tierFast"),smart:t("settings.simpleModeSection.tierSmart"),thinking:t("settings.simpleModeSection.tierThinking"),image:t("settings.simpleModeSection.tierImage"),web_search:t("settings.simpleModeSection.tierWebSearch"),deep_research:t("settings.simpleModeSection.tierDeepResearch")})[I]||I,e[30]=t,e[31]=D):D=e[31];const w=D;let A;e[32]!==t?(A=I=>({fast:t("settings.simpleModeSection.tierFastDesc"),smart:t("settings.simpleModeSection.tierSmartDesc"),thinking:t("settings.simpleModeSection.tierThinkingDesc"),image:t("settings.simpleModeSection.tierImageDesc"),web_search:t("settings.simpleModeSection.tierWebSearchDesc"),deep_research:t("settings.simpleModeSection.tierDeepResearchDesc")})[I]||"",e[32]=t,e[33]=A):A=e[33];const M=A;let E;e[34]!==t?(E=t("settings.simpleModeSection.defaultModels"),e[34]=t,e[35]=E):E=e[35];let $;e[36]!==t?($=t("settings.simpleModeSection.modelsPowerDescription"),e[36]=t,e[37]=$):$=e[37];let H;e[38]!==$?(H=s.jsx("p",{className:"text-sm text-muted-foreground",children:$}),e[38]=$,e[39]=H):H=e[39];const L=_&&!o;let F;e[40]!==h||e[41]!==L?(F=s.jsx(es,{isPending:h,showSaved:L}),e[40]=h,e[41]=L,e[42]=F):F=e[42];let U;e[43]!==H||e[44]!==F?(U=s.jsxs("div",{className:"flex items-center justify-between -mt-2 mb-2",children:[H,F]}),e[43]=H,e[44]=F,e[45]=U):U=e[45];let B;e[46]!==i[0]?.id||e[47]!==l.control||e[48]!==M||e[49]!==w||e[50]!==f?(B=Xt.map(I=>s.jsx(gt,{control:l.control,name:`tiers.${I.key}`,render:T=>{const{field:O}=T;return s.jsx(Te,{title:w(I.key),description:M(I.key),action:s.jsx(Jt,{slot:O.value,defaultKeyId:i[0]?.id??null,filterModels:I.filter,onSlotChange:R=>{O.onChange(R),f()}})})}},I.key)),e[46]=i[0]?.id,e[47]=l.control,e[48]=M,e[49]=w,e[50]=f,e[51]=B):B=e[51];let z;e[52]!==B?(z=s.jsx(be,{children:B}),e[52]=B,e[53]=z):z=e[53];let q;return e[54]!==E||e[55]!==U||e[56]!==z?(q=s.jsxs(Ee,{title:E,headerClassName:"pl-0",children:[U,z]}),e[54]=E,e[55]=U,e[56]=z,e[57]=q):q=e[57],q}function ss(e){return e.id}var Me="Progress",Oe=100,[is]=xt(Me),[ls,rs]=is(Me),dt=Q.forwardRef((e,t)=>{const{__scopeProgress:i,value:r=null,max:n,getValueLabel:a=ns,...c}=e;(n||n===0)&&!qe(n)&&console.error(os(`${n}`,"Progress"));const l=qe(n)?n:Oe;r!==null&&!Le(r,l)&&console.error(as(`${r}`,"Progress"));const d=Le(r,l)?r:null,h=ke(d)?a(d,l):void 0;return s.jsx(ls,{scope:i,value:d,max:l,children:s.jsx(Ze.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":ke(d)?d:void 0,"aria-valuetext":h,role:"progressbar","data-state":ft(d,l),"data-value":d??void 0,"data-max":l,...c,ref:t})})});dt.displayName=Me;var mt="ProgressIndicator",ut=Q.forwardRef((e,t)=>{const{__scopeProgress:i,...r}=e,n=rs(mt,i);return s.jsx(Ze.div,{"data-state":ft(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...r,ref:t})});ut.displayName=mt;function ns(e,t){return`${Math.round(e/t*100)}%`}function ft(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function ke(e){return typeof e=="number"}function qe(e){return ke(e)&&!isNaN(e)&&e>0}function Le(e,t){return ke(e)&&!isNaN(e)&&e<=t&&e>=0}function os(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Oe}\`.`}function as(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
1
+ import{c as G,b as se,ax as Qe,aw as Ye,r as Q,j as s,ay as gt,dw as Te,t as ee,dv as be,du as Ee,bb as We,dC as Ze,dD as xt,n as Pe,c6 as ht,H as ye,ac as le,K as J,o as De,B as X,k as $e,Y as Ie,p as Se,e as re,x as Xe,q as Fe,ak as vt,an as we,dy as bt}from"./index-4YcsQ5rT.js";import{i as yt}from"./AlertCircle-BVWJug5I.js";import{u as Je,b as _e,i as jt,c as St,p as Nt,d as Re,e as Ct,f as et}from"./use-ai-providers-BfwKWlNT.js";import{i as _t}from"./CheckCircle-DvVxqf27.js";import{b as Pt,j as It}from"./use-organization-settings-DMPoIn3U.js";import{c as kt}from"./task-board-jDm9sccs.js";import{c as Dt,u as Ue,d as tt,P as Kt,C as Be}from"./select-model-Bhci4rxp.js";import{u as wt}from"./use-debounced-autosave-XwXwMzB2.js";import{i as ze}from"./CreditCard01-CWAomrlK.js";import{B as Ae}from"./badge-Dq1BymaB.js";import{I as je}from"./input-Ct0sUIqh.js";import{a as He,T as At}from"./toggle-group-DT3qKYLM.js";import{c as st,d as it,b as lt,f as rt,g as nt,e as ot,a as at,A as ct}from"./alert-dialog-0Ff1N_Jf.js";import{s as Tt}from"./Plus-CQqghpHx.js";import{p as Et,f as Rt}from"./pt-BR-CLy76QW2.js";import{b as Mt}from"./Tool01-DdZkcfvV.js";import{s as Ot}from"./Trash01-D4Gmo3CK.js";import{A as $t}from"./avatar-DU7Vu6NF.js";import{P as Ft}from"./ai-providers-logos-DD3qZ33J.js";import{i as Ut}from"./Settings02-Dbk7MmVQ.js";import{s as Bt}from"./Eye-Cxiih4tN.js";import{b as zt,a as Ht,d as qt,e as Lt,c as Vt}from"./dialog-CzFdWv_E.js";import{S as Gt}from"./spinner-B2GG7Xys.js";import{R as Qt}from"./require-capability-BN_IBqan.js";import"./constants-dLUUoWH7.js";import"./drawer-Dfgm8c49.js";import"./chat-context-Dkhobhg8.js";import"./use-panel-navigate-D6GXyAPi.js";import"./Check-xum6ttaQ.js";import"./Copy01-DY0oXPux.js";import"./Download01-ZL7h20oZ.js";import"./use-destination-route-CBTLua1E.js";import"./session-runtime-C-KTDVeQ.js";import"./slugify-CEUa2lfQ.js";import"./hooks-TEwkOdLN.js";import"./use-mcp-client-Cw8yw85P.js";import"./auth-B5Pc1e6R.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-B1qPmScV.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-2VMmnGJl.js";import"./use-decopilot-events-Brdzi0_P.js";import"./checkbox-DKTB3o_P.js";import"./select-wTdyc29Q.js";import"./ChevronDown-DPpA8Dbp.js";import"./ChevronUp-BOTFm6bq.js";import"./ArrowLeft-CuOJLpYp.js";import"./ChevronSelectorVertical-BJ_tEAoM.js";import"./Key01-COjyAPgn.js";import"./SearchMd-Ch1B_n1t.js";import"./Monitor01-BdcGfSWn.js";import"./ChevronRight-eURWqwf-.js";import"./Stars01-RU0hnDJY.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./User01-DVgIitgv.js";import"./access-gate-p1U5MuOF.js";import"./capability-load-error-B8M2WPia.js";const Yt=e=>e.capabilities?.includes("image")===!0,Wt=e=>jt(e),Zt=e=>St(e),Xt=[{key:"fast",filter:void 0},{key:"smart",filter:void 0},{key:"thinking",filter:void 0},{key:"image",filter:Yt},{key:"web_search",filter:Wt},{key:"deep_research",filter:Zt}];function Jt(e){const t=G.c(30),{slot:i,onSlotChange:r,filterModels:n,defaultKeyId:a}=e,c=Je(),l=c.some(b=>b.id===i?.keyId)?i?.keyId:null,[d,h]=Q.useState(l??a);let _,o;t[0]!==l?(_=()=>{l&&h(l)},o=[l],t[0]=l,t[1]=_,t[2]=o):(_=t[1],o=t[2]),Q.useEffect(_,o);let u;t[3]!==c||t[4]!==a||t[5]!==d?(u=c.some(b=>b.id===d)?d:a,t[3]=c,t[4]=a,t[5]=d,t[6]=u):u=t[6];const f=u;let p;t[7]!==f||t[8]!==c?(p=f?c.find(b=>b.id===f):null,t[7]=f,t[8]=c,t[9]=p):p=t[9];const y=p,{models:j,isLoading:P}=_e(n?f??void 0:void 0),x=n?P||j.some(n):!0;let C;t[10]!==i||t[11]!==y?.providerId||t[12]!==l?(C=i&&l?{modelId:i.modelId,title:i.title??i.modelId,keyId:i.keyId,providerId:y?.providerId??"deco",description:null,logo:null,capabilities:[],limits:null,costs:null}:null,t[10]=i,t[11]=y?.providerId,t[12]=l,t[13]=C):C=t[13];const k=C,g=se();if(n&&!x){let b;t[14]!==g?(b=g("settings.simpleModeSection.notAvailableWithCurrentProvider"),t[14]=g,t[15]=b):b=t[15];let D;return t[16]!==b?(D=s.jsx("p",{className:"text-xs text-muted-foreground italic",children:b}),t[16]=b,t[17]=D):D=t[17],D}let v;t[18]!==g?(v=g("settings.simpleModeSection.pickModel"),t[18]=g,t[19]=v):v=t[19];let S;t[20]===Symbol.for("react.memo_cache_sentinel")?(S=b=>h(b),t[20]=S):S=t[20];let m;t[21]!==f||t[22]!==r?(m=b=>{const D=b.keyId??f??"";h(D),r({keyId:D,modelId:b.modelId,title:b.title})},t[21]=f,t[22]=r,t[23]=m):m=t[23];let N;return t[24]!==f||t[25]!==n||t[26]!==k||t[27]!==v||t[28]!==m?(N=s.jsx(Dt,{variant:"bordered",placeholder:v,model:k,credentialId:f,filterModels:n,onCredentialChange:S,onModelChange:m}),t[24]=f,t[25]=n,t[26]=k,t[27]=v,t[28]=m,t[29]=N):N=t[29],N}function es(e){const t=G.c(10),{isPending:i,showSaved:r}=e,n=se();if(i){let a;t[0]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(We,{size:12,className:"animate-spin"}),t[0]=a):a=t[0];let c;t[1]!==n?(c=n("settings.simpleModeSection.saving"),t[1]=n,t[2]=c):c=t[2];let l;return t[3]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[a,c]}),t[3]=c,t[4]=l):l=t[4],l}if(r){let a;t[5]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx(_t,{size:12}),t[5]=a):a=t[5];let c;t[6]!==n?(c=n("settings.simpleModeSection.saved"),t[6]=n,t[7]=c):c=t[7];let l;return t[8]!==c?(l=s.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[a,c]}),t[8]=c,t[9]=l):l=t[9],l}return null}function ts(){const e=G.c(58),t=se(),i=Je(),r=Pt(),n=i.length>0;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=Qe(kt),e[0]=a):a=e[0];let c;e[1]!==r?(c={resolver:a,values:r,mode:"onChange"},e[1]=r,e[2]=c):c=e[2];const l=Ye(c),{mutate:d,isPending:h,isSuccess:_}=It(),o=l.formState.isDirty;let u;e[3]!==l||e[4]!==r||e[5]!==t||e[6]!==d?(u={delayMs:250,save:async()=>{const I=l.getValues();d(I,{onSuccess:()=>l.reset(I,{keepValues:!0}),onError:T=>{l.reset(r),ee.error(t("settings.simpleModeSection.failedToSave",{error:T.message}))}})}},e[3]=l,e[4]=r,e[5]=t,e[6]=d,e[7]=u):u=e[7];const{schedule:f}=wt(u),p=i[0],y=i[1],j=i[2],{models:P}=_e(p?.id),{models:x}=_e(y?.id),{models:C}=_e(j?.id);let k,g;e[8]!==l||e[9]!==n?(k=()=>{n||l.reset({tiers:{fast:null,smart:null,thinking:null,image:null,web_search:null,deep_research:null}})},g=[n,l],e[8]=l,e[9]=n,e[10]=k,e[11]=g):(k=e[10],g=e[11]),Q.useEffect(k,g);let v;e[12]!==i||e[13]!==l||e[14]!==p||e[15]!==y||e[16]!==j||e[17]!==P||e[18]!==x||e[19]!==C?(v=()=>{const I=l.getValues(),T=new Set(i.map(ss)),O={};p?.id&&(O[p.id]=P),y?.id&&(O[y.id]=x),j?.id&&(O[j.id]=C);const R=Y=>Y!=null&&!T.has(Y.keyId),K={fast:R(I.tiers.fast)?null:I.tiers.fast,smart:R(I.tiers.smart)?null:I.tiers.smart,thinking:R(I.tiers.thinking)?null:I.tiers.thinking,image:R(I.tiers.image)?null:I.tiers.image,web_search:R(I.tiers.web_search)?null:I.tiers.web_search,deep_research:R(I.tiers.deep_research)?null:I.tiers.deep_research},W=!K.fast||!K.smart||!K.thinking||!K.image||!K.web_search||!K.deep_research,Z=K.fast===I.tiers.fast&&K.smart===I.tiers.smart&&K.thinking===I.tiers.thinking&&K.image===I.tiers.image&&K.web_search===I.tiers.web_search&&K.deep_research===I.tiers.deep_research;if(!W&&Z)return;const V=Nt(i,O);l.reset({tiers:{fast:K.fast??V.chat.fast,smart:K.smart??V.chat.smart,thinking:K.thinking??V.chat.thinking,image:K.image??V.image,web_search:K.web_search??V.webSearch,deep_research:K.deep_research??V.deepResearch}},{keepDirty:!0})},e[12]=i,e[13]=l,e[14]=p,e[15]=y,e[16]=j,e[17]=P,e[18]=x,e[19]=C,e[20]=v):v=e[20];const S=p?.id,m=y?.id,N=j?.id;let b;e[21]!==i||e[22]!==l||e[23]!==P||e[24]!==x||e[25]!==C||e[26]!==S||e[27]!==m||e[28]!==N?(b=[l,i,P,x,C,S,m,N],e[21]=i,e[22]=l,e[23]=P,e[24]=x,e[25]=C,e[26]=S,e[27]=m,e[28]=N,e[29]=b):b=e[29],Q.useEffect(v,b);let D;e[30]!==t?(D=I=>({fast:t("settings.simpleModeSection.tierFast"),smart:t("settings.simpleModeSection.tierSmart"),thinking:t("settings.simpleModeSection.tierThinking"),image:t("settings.simpleModeSection.tierImage"),web_search:t("settings.simpleModeSection.tierWebSearch"),deep_research:t("settings.simpleModeSection.tierDeepResearch")})[I]||I,e[30]=t,e[31]=D):D=e[31];const w=D;let A;e[32]!==t?(A=I=>({fast:t("settings.simpleModeSection.tierFastDesc"),smart:t("settings.simpleModeSection.tierSmartDesc"),thinking:t("settings.simpleModeSection.tierThinkingDesc"),image:t("settings.simpleModeSection.tierImageDesc"),web_search:t("settings.simpleModeSection.tierWebSearchDesc"),deep_research:t("settings.simpleModeSection.tierDeepResearchDesc")})[I]||"",e[32]=t,e[33]=A):A=e[33];const M=A;let E;e[34]!==t?(E=t("settings.simpleModeSection.defaultModels"),e[34]=t,e[35]=E):E=e[35];let $;e[36]!==t?($=t("settings.simpleModeSection.modelsPowerDescription"),e[36]=t,e[37]=$):$=e[37];let H;e[38]!==$?(H=s.jsx("p",{className:"text-sm text-muted-foreground",children:$}),e[38]=$,e[39]=H):H=e[39];const L=_&&!o;let F;e[40]!==h||e[41]!==L?(F=s.jsx(es,{isPending:h,showSaved:L}),e[40]=h,e[41]=L,e[42]=F):F=e[42];let U;e[43]!==H||e[44]!==F?(U=s.jsxs("div",{className:"flex items-center justify-between -mt-2 mb-2",children:[H,F]}),e[43]=H,e[44]=F,e[45]=U):U=e[45];let B;e[46]!==i[0]?.id||e[47]!==l.control||e[48]!==M||e[49]!==w||e[50]!==f?(B=Xt.map(I=>s.jsx(gt,{control:l.control,name:`tiers.${I.key}`,render:T=>{const{field:O}=T;return s.jsx(Te,{title:w(I.key),description:M(I.key),action:s.jsx(Jt,{slot:O.value,defaultKeyId:i[0]?.id??null,filterModels:I.filter,onSlotChange:R=>{O.onChange(R),f()}})})}},I.key)),e[46]=i[0]?.id,e[47]=l.control,e[48]=M,e[49]=w,e[50]=f,e[51]=B):B=e[51];let z;e[52]!==B?(z=s.jsx(be,{children:B}),e[52]=B,e[53]=z):z=e[53];let q;return e[54]!==E||e[55]!==U||e[56]!==z?(q=s.jsxs(Ee,{title:E,headerClassName:"pl-0",children:[U,z]}),e[54]=E,e[55]=U,e[56]=z,e[57]=q):q=e[57],q}function ss(e){return e.id}var Me="Progress",Oe=100,[is]=xt(Me),[ls,rs]=is(Me),dt=Q.forwardRef((e,t)=>{const{__scopeProgress:i,value:r=null,max:n,getValueLabel:a=ns,...c}=e;(n||n===0)&&!qe(n)&&console.error(os(`${n}`,"Progress"));const l=qe(n)?n:Oe;r!==null&&!Le(r,l)&&console.error(as(`${r}`,"Progress"));const d=Le(r,l)?r:null,h=ke(d)?a(d,l):void 0;return s.jsx(ls,{scope:i,value:d,max:l,children:s.jsx(Ze.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":ke(d)?d:void 0,"aria-valuetext":h,role:"progressbar","data-state":ft(d,l),"data-value":d??void 0,"data-max":l,...c,ref:t})})});dt.displayName=Me;var mt="ProgressIndicator",ut=Q.forwardRef((e,t)=>{const{__scopeProgress:i,...r}=e,n=rs(mt,i);return s.jsx(Ze.div,{"data-state":ft(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...r,ref:t})});ut.displayName=mt;function ns(e,t){return`${Math.round(e/t*100)}%`}function ft(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function ke(e){return typeof e=="number"}function qe(e){return ke(e)&&!isNaN(e)&&e>0}function Le(e,t){return ke(e)&&!isNaN(e)&&e<=t&&e>=0}function os(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Oe}\`.`}function as(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
2
2
  - a positive number
3
3
  - less than the value passed to \`max\` (or ${Oe} if no \`max\` prop is set)
4
4
  - \`null\` or \`undefined\` if the progress is indeterminate.
5
5
 
6
- Defaulting to \`null\`.`}var cs=dt,ds=ut;function ms(e){const t=G.c(12);let i,r,n;t[0]!==e?({className:i,value:n,...r}=e,t[0]=e,t[1]=i,t[2]=r,t[3]=n):(i=t[1],r=t[2],n=t[3]);let a;t[4]!==i?(a=Pe("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",i),t[4]=i,t[5]=a):a=t[5];const c=`translateX(-${100-(n||0)}%)`;let l;t[6]!==c?(l=s.jsx(ds,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:c}}),t[6]=c,t[7]=l):l=t[7];let d;return t[8]!==r||t[9]!==a||t[10]!==l?(d=s.jsx(cs,{"data-slot":"progress",className:a,...r,children:l}),t[8]=r,t[9]=a,t[10]=l,t[11]=d):d=t[11],d}const us=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric"});function fs(e){const t=G.c(12),{billingStatus:i,subscribed:r,t:n}=e;if(r&&i==="past_due"){let l;t[0]!==n?(l=n("settings.billing.statusPastDue"),t[0]=n,t[1]=l):l=t[1];let d;return t[2]!==l?(d=s.jsx(Ae,{variant:"warning",children:l}),t[2]=l,t[3]=d):d=t[3],d}if(r){let l;t[4]!==n?(l=n("settings.billing.statusActive"),t[4]=n,t[5]=l):l=t[5];let d;return t[6]!==l?(d=s.jsx(Ae,{variant:"success",children:l}),t[6]=l,t[7]=d):d=t[7],d}let a;t[8]!==n?(a=n("settings.billing.statusTrial"),t[8]=n,t[9]=a):a=t[9];let c;return t[10]!==a?(c=s.jsx(Ae,{variant:"secondary",children:a}),t[10]=a,t[11]=c):c=t[11],c}function ps(){const e=G.c(78),t=se(),{org:i}=ye(),r=le(),n=Ue("ORGANIZATION_BILLING_CHECKOUT_START","settings.billing.checkoutError"),a=Ue("ORGANIZATION_BILLING_PORTAL","settings.billing.portalError");let c;e[0]!==i.id?(c=J.organizationTaskQuota(i.id),e[0]=i.id,e[1]=c):c=e[1];let l;e[2]!==r?(l=()=>r.call("ORGANIZATION_TASK_QUOTA_GET",{}),e[2]=r,e[3]=l):l=e[3];let d;e[4]!==c||e[5]!==l?(d={queryKey:c,queryFn:l},e[4]=c,e[5]=l,e[6]=d):d=e[6];const{data:h,isLoading:_}=De(d);if(_){let T;return e[7]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx(be,{children:s.jsxs("div",{className:"flex flex-col gap-3 px-4 py-4",children:[s.jsx(Ie,{className:"h-4 w-40"}),s.jsx(Ie,{className:"h-2 w-full"})]})}),e[7]=T):T=e[7],T}if(!h||!h.enforced){let T;e[8]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx(ze,{size:16}),e[8]=T):T=e[8];let O;e[9]!==t?(O=t("settings.billing.autoTasksTitle"),e[9]=t,e[10]=O):O=e[10];let R;e[11]!==t?(R=t("settings.billing.unlimitedDescription"),e[11]=t,e[12]=R):R=e[12];let K;return e[13]!==O||e[14]!==R?(K=s.jsx(be,{children:s.jsx(Te,{icon:T,title:O,description:R})}),e[13]=O,e[14]=R,e[15]=K):K=e[15],K}const{billingStatus:o,subscribed:u,hasBillingAccount:f,used:p,limit:y}=h,j=y>0?Math.min(100,p/y*100):0,P=p>=y;let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx("div",{className:"size-9 shrink-0 rounded-lg bg-muted/60 flex items-center justify-center text-muted-foreground",children:s.jsx(ze,{size:16})}),e[16]=x):x=e[16];let C;e[17]!==t?(C=t("settings.billing.autoTasksTitle"),e[17]=t,e[18]=C):C=e[18];let k;e[19]!==C?(k=s.jsx("span",{className:"text-sm font-medium text-foreground",children:C}),e[19]=C,e[20]=k):k=e[20];let g;e[21]!==o||e[22]!==u||e[23]!==t?(g=s.jsx(fs,{billingStatus:o,subscribed:u,t}),e[21]=o,e[22]=u,e[23]=t,e[24]=g):g=e[24];let v;e[25]!==k||e[26]!==g?(v=s.jsxs("div",{className:"flex items-center gap-2",children:[k,g]}),e[25]=k,e[26]=g,e[27]=v):v=e[27];let S;e[28]!==u||e[29]!==t?(S=t(u?"settings.billing.autoTasksDescriptionSubscribed":"settings.billing.autoTasksDescriptionTrial"),e[28]=u,e[29]=t,e[30]=S):S=e[30];let m;e[31]!==S?(m=s.jsx("p",{className:"text-xs text-muted-foreground",children:S}),e[31]=S,e[32]=m):m=e[32];let N;e[33]!==v||e[34]!==m?(N=s.jsxs("div",{className:"flex items-center gap-3",children:[x,s.jsxs("div",{className:"flex flex-col gap-1",children:[v,m]})]}),e[33]=v,e[34]=m,e[35]=N):N=e[35];let b;e[36]!==f||e[37]!==a||e[38]!==t?(b=f&&s.jsxs(X,{variant:"outline",size:"sm",disabled:a.isPending,onClick:()=>a.mutate(),children:[a.isPending&&s.jsx($e,{size:14,className:"animate-spin"}),t("settings.billing.manageButton")]}),e[36]=f,e[37]=a,e[38]=t,e[39]=b):b=e[39];let D;e[40]!==n||e[41]!==u||e[42]!==t?(D=!u&&s.jsxs(X,{size:"sm",disabled:n.isPending,onClick:()=>n.mutate(),children:[n.isPending&&s.jsx($e,{size:14,className:"animate-spin"}),t("settings.billing.subscribeButton")]}),e[40]=n,e[41]=u,e[42]=t,e[43]=D):D=e[43];let w;e[44]!==b||e[45]!==D?(w=s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[b,D]}),e[44]=b,e[45]=D,e[46]=w):w=e[46];let A;e[47]!==N||e[48]!==w?(A=s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[N,w]}),e[47]=N,e[48]=w,e[49]=A):A=e[49];const M=P?"text-warning":"text-foreground";let E;e[50]!==M?(E=Pe("text-2xl font-semibold tabular-nums tracking-tight",M),e[50]=M,e[51]=E):E=e[51];let $;e[52]!==y?($=s.jsxs("span",{className:"text-sm font-normal text-muted-foreground",children:[" ","/ ",y]}),e[52]=y,e[53]=$):$=e[53];let H;e[54]!==E||e[55]!==$||e[56]!==p?(H=s.jsxs("span",{className:E,children:[p,$]}),e[54]=E,e[55]=$,e[56]=p,e[57]=H):H=e[57];let L;e[58]!==h.currentPeriodEnd||e[59]!==u||e[60]!==t?(L=u&&h.currentPeriodEnd&&s.jsx("span",{className:"text-xs text-muted-foreground",children:t("settings.billing.renewsOn",{date:us.format(new Date(h.currentPeriodEnd))})}),e[58]=h.currentPeriodEnd,e[59]=u,e[60]=t,e[61]=L):L=e[61];let F;e[62]!==H||e[63]!==L?(F=s.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[H,L]}),e[62]=H,e[63]=L,e[64]=F):F=e[64];let U;e[65]!==t?(U=t("settings.billing.runsUsedLabel"),e[65]=t,e[66]=U):U=e[66];let B;e[67]!==U?(B=s.jsx("p",{className:"text-xs text-muted-foreground",children:U}),e[67]=U,e[68]=B):B=e[68];let z;e[69]!==j?(z=s.jsx(ms,{value:j,className:"h-1.5"}),e[69]=j,e[70]=z):z=e[70];let q;e[71]!==F||e[72]!==B||e[73]!==z?(q=s.jsxs("div",{className:"flex flex-col gap-2.5 pt-4 border-t border-border/60",children:[F,B,z]}),e[71]=F,e[72]=B,e[73]=z,e[74]=q):q=e[74];let I;return e[75]!==A||e[76]!==q?(I=s.jsx(be,{children:s.jsxs("div",{className:"flex flex-col gap-5 px-5 py-5",children:[A,q]})}),e[75]=A,e[76]=q,e[77]=I):I=e[77],I}function Ve(){const e=G.c(1),{granted:t}=ht("members:manage");if(!t)return null;let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx(ps,{}),e[0]=i):i=e[0],i}const gs={usd:[10,20,100],brl:[50,100,500]};function xs(){const e=G.c(30),t=se(),i=le(),[r]=Xe(),[n,a]=Q.useState(!1);let c;e[0]!==t?(c=m=>{ee.error(t("settings.decoCreditsHero.topUpFailed",{message:m.message}))},e[0]=t,e[1]=c):c=e[1];const{mutate:l,isPending:d}=re({mutationFn:async m=>{const{url:N}=await i.call("AI_PROVIDER_TOPUP_URL",{providerId:"deco",amountCents:m,currency:f});return N},onSuccess:hs,onError:c}),[h,_]=Q.useState(""),[o,u]=Q.useState(r.language==="pt-BR"?"brl":"usd"),f=o,p=parseFloat(h),y=!isNaN(p)&&p>=1,j=f==="brl"?"R$":"$";let P;e[2]!==u?(P=m=>{m&&u(m)},e[2]=u,e[3]=P):P=e[3];let x,C;e[4]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(He,{value:"usd",className:"px-3.5 text-sm",children:"USD"}),C=s.jsx(He,{value:"brl",className:"px-3.5 text-sm",children:"BRL"}),e[4]=x,e[5]=C):(x=e[4],C=e[5]);let k;e[6]!==f||e[7]!==P?(k=s.jsxs(At,{type:"single",variant:"outline",size:"default",value:f,onValueChange:P,children:[x,C]}),e[6]=f,e[7]=P,e[8]=k):k=e[8];let g;e[9]!==f||e[10]!==j||e[11]!==n||e[12]!==d||e[13]!==t||e[14]!==l?(g=!n&&s.jsxs(s.Fragment,{children:[gs[f].map(m=>s.jsxs(X,{variant:"outline",className:"h-10 px-4 text-sm font-medium tabular-nums",disabled:d,onClick:()=>l(m*100),children:[j,m]},m)),s.jsx(X,{variant:"ghost",className:"h-10 px-4 text-sm text-muted-foreground",onClick:()=>a(!0),disabled:d,children:t("settings.decoCreditsHero.custom")})]}),e[9]=f,e[10]=j,e[11]=n,e[12]=d,e[13]=t,e[14]=l,e[15]=g):g=e[15];let v;e[16]!==j||e[17]!==h||e[18]!==p||e[19]!==n||e[20]!==y||e[21]!==d||e[22]!==_||e[23]!==t||e[24]!==l?(v=n&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"relative max-w-[140px]",children:[s.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:j}),s.jsx(je,{type:"number",min:"1",step:"1",placeholder:t("settings.decoCreditsHero.amountPlaceholder"),value:h,onChange:m=>_(m.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),s.jsx(X,{className:"h-10",disabled:!y||d,onClick:()=>l(Math.round(p*100)),children:d?"...":t("settings.decoCreditsHero.add")}),s.jsx(X,{variant:"ghost",className:"h-10 text-sm text-muted-foreground",onClick:()=>{a(!1),_("")},children:t("settings.decoCreditsHero.cancel")})]}),e[16]=j,e[17]=h,e[18]=p,e[19]=n,e[20]=y,e[21]=d,e[22]=_,e[23]=t,e[24]=l,e[25]=v):v=e[25];let S;return e[26]!==k||e[27]!==g||e[28]!==v?(S=s.jsx("div",{className:"flex flex-col gap-2.5",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[k,g,v]})}),e[26]=k,e[27]=g,e[28]=v,e[29]=S):S=e[29],S}function hs(e){e&&window.open(e,"_blank","noopener,noreferrer")}function vs(e){return e<=0?"text-destructive":e<=1?"text-warning":"text-foreground"}function bs(){const e=G.c(121),t=se(),{org:i}=ye(),r=le(),n=Se(),a=Re();let c;e[0]!==a?(c=a.find(ys),e[0]=a,e[1]=c):c=e[1];const l=c,[d,h]=Q.useState(!1);let _;e[2]!==l||e[3]!==r?(_=async()=>{l&&await r.call("AI_PROVIDER_KEY_DELETE",{keyId:l.id})},e[2]=l,e[3]=r,e[4]=_):_=e[4];let o;e[5]!==i.id||e[6]!==n||e[7]!==t?(o=()=>{n.invalidateQueries({queryKey:J.aiProviderKeys(i.id)}),n.invalidateQueries({queryKey:J.aiProviders(i.id)}),ee.success(t("settings.decoCreditsHero.disconnectSuccess")),h(!1)},e[5]=i.id,e[6]=n,e[7]=t,e[8]=o):o=e[8];let u;e[9]!==t?(u=pt=>{ee.error(t("settings.decoCreditsHero.disconnectError",{message:pt.message}))},e[9]=t,e[10]=u):u=e[10];let f;e[11]!==_||e[12]!==o||e[13]!==u?(f={mutationFn:_,onSuccess:o,onError:u},e[11]=_,e[12]=o,e[13]=u,e[14]=f):f=e[14];const{mutate:p,isPending:y}=re(f);let j;e[15]!==i.id?(j=J.aiProviderCredits(i.id,"deco"),e[15]=i.id,e[16]=j):j=e[16];const P=!!l;let x;e[17]!==r?(x=async()=>{try{return await r.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}},e[17]=r,e[18]=x):x=e[18];let C;e[19]!==j||e[20]!==P||e[21]!==x?(C={queryKey:j,enabled:P,staleTime:6e4,queryFn:x},e[19]=j,e[20]=P,e[21]=x,e[22]=C):C=e[22];const{data:k,isLoading:g,refetch:v,isFetching:S}=De(C);if(!l)return null;const m=k?.balanceCents!=null?k.balanceCents/100:null;let N;e[23]!==m?(N=m!=null?`$${m.toFixed(2)}`:"—",e[23]=m,e[24]=N):N=e[24];const b=N;let D;e[25]!==t?(D=t("settings.decoCreditsHero.title"),e[25]=t,e[26]=D):D=e[26];let w;e[27]!==t?(w=t("settings.decoCreditsHero.decoAiGatewayAlt"),e[27]=t,e[28]=w):w=e[28];let A;e[29]!==w?(A=s.jsx("img",{src:"/logos/deco%20logo.svg",alt:w,className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),e[29]=w,e[30]=A):A=e[30];let M;e[31]!==t?(M=t("settings.decoCreditsHero.accessModels"),e[31]=t,e[32]=M):M=e[32];let E;e[33]!==M?(E=s.jsx("div",{children:s.jsx("p",{className:"text-xs text-muted-foreground",children:M})}),e[33]=M,e[34]=E):E=e[34];let $;e[35]!==A||e[36]!==E?($=s.jsxs("div",{className:"flex items-center gap-3",children:[A,E]}),e[35]=A,e[36]=E,e[37]=$):$=e[37];let H;e[38]===Symbol.for("react.memo_cache_sentinel")?(H=()=>h(!0),e[38]=H):H=e[38];let L;e[39]!==t?(L=t("settings.decoCreditsHero.disconnect"),e[39]=t,e[40]=L):L=e[40];let F;e[41]!==y||e[42]!==L?(F=s.jsx(X,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive",onClick:H,disabled:y,children:L}),e[41]=y,e[42]=L,e[43]=F):F=e[43];let U;e[44]!==$||e[45]!==F?(U=s.jsxs("div",{className:"flex items-center justify-between",children:[$,F]}),e[44]=$,e[45]=F,e[46]=U):U=e[46];let B;e[47]!==t?(B=t("settings.decoCreditsHero.disconnectTitle"),e[47]=t,e[48]=B):B=e[48];let z;e[49]!==B?(z=s.jsx(st,{children:B}),e[49]=B,e[50]=z):z=e[50];let q;e[51]!==t?(q=t("settings.decoCreditsHero.disconnectDescription"),e[51]=t,e[52]=q):q=e[52];let I;e[53]!==q?(I=s.jsx(it,{children:q}),e[53]=q,e[54]=I):I=e[54];let T;e[55]!==z||e[56]!==I?(T=s.jsxs(lt,{children:[z,I]}),e[55]=z,e[56]=I,e[57]=T):T=e[57];let O;e[58]!==t?(O=t("settings.decoCreditsHero.cancelButton"),e[58]=t,e[59]=O):O=e[59];let R;e[60]!==O?(R=s.jsx(rt,{children:O}),e[60]=O,e[61]=R):R=e[61];let K;e[62]!==p?(K=()=>p(),e[62]=p,e[63]=K):K=e[63];let W;e[64]!==t?(W=t("settings.decoCreditsHero.disconnectButton"),e[64]=t,e[65]=W):W=e[65];let Z;e[66]!==K||e[67]!==W?(Z=s.jsx(nt,{onClick:K,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:W}),e[66]=K,e[67]=W,e[68]=Z):Z=e[68];let V;e[69]!==R||e[70]!==Z?(V=s.jsxs(ot,{children:[R,Z]}),e[69]=R,e[70]=Z,e[71]=V):V=e[71];let Y;e[72]!==T||e[73]!==V?(Y=s.jsxs(at,{children:[T,V]}),e[72]=T,e[73]=V,e[74]=Y):Y=e[74];let ie;e[75]!==d||e[76]!==Y?(ie=s.jsx(ct,{open:d,onOpenChange:h,children:Y}),e[75]=d,e[76]=Y,e[77]=ie):ie=e[77];let te;e[78]!==m||e[79]!==b||e[80]!==S||e[81]!==g?(te=g||S?s.jsx(Ie,{className:"h-9 w-24"}):s.jsx("span",{className:Pe("text-3xl font-semibold tabular-nums tracking-tight",m!=null&&vs(m)),children:b}),e[78]=m,e[79]=b,e[80]=S,e[81]=g,e[82]=te):te=e[82];let ne;e[83]!==v?(ne=()=>v(),e[83]=v,e[84]=ne):ne=e[84];let oe;e[85]!==t?(oe=t("settings.decoCreditsHero.refreshBalance"),e[85]=t,e[86]=oe):oe=e[86];const Ke=S&&"animate-spin";let ae;e[87]!==Ke?(ae=Pe(Ke),e[87]=Ke,e[88]=ae):ae=e[88];let ce;e[89]!==ae?(ce=s.jsx(We,{size:14,className:ae}),e[89]=ae,e[90]=ce):ce=e[90];let de;e[91]!==S||e[92]!==ne||e[93]!==oe||e[94]!==ce?(de=s.jsx("button",{type:"button",onClick:ne,disabled:S,className:"text-muted-foreground hover:text-foreground disabled:opacity-50 transition-colors p-1 rounded-md hover:bg-muted/50","aria-label":oe,children:ce}),e[91]=S,e[92]=ne,e[93]=oe,e[94]=ce,e[95]=de):de=e[95];let me;e[96]!==te||e[97]!==de?(me=s.jsxs("div",{className:"flex items-baseline gap-2",children:[te,de]}),e[96]=te,e[97]=de,e[98]=me):me=e[98];let ue;e[99]!==t?(ue=t("settings.decoCreditsHero.availableBalance"),e[99]=t,e[100]=ue):ue=e[100];let fe;e[101]!==ue?(fe=s.jsx("p",{className:"text-xs text-muted-foreground",children:ue}),e[101]=ue,e[102]=fe):fe=e[102];let pe;e[103]!==me||e[104]!==fe?(pe=s.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[me,fe]}),e[103]=me,e[104]=fe,e[105]=pe):pe=e[105];let ge;e[106]!==t?(ge=t("settings.decoCreditsHero.addCredits"),e[106]=t,e[107]=ge):ge=e[107];let xe;e[108]!==ge?(xe=s.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2.5",children:ge}),e[108]=ge,e[109]=xe):xe=e[109];let Ne;e[110]===Symbol.for("react.memo_cache_sentinel")?(Ne=s.jsx(xs,{}),e[110]=Ne):Ne=e[110];let he;e[111]!==xe?(he=s.jsxs("div",{className:"pt-4 border-t border-border/60",children:[xe,Ne]}),e[111]=xe,e[112]=he):he=e[112];let ve;e[113]!==U||e[114]!==ie||e[115]!==pe||e[116]!==he?(ve=s.jsx(be,{children:s.jsxs("div",{className:"px-5 py-5 flex flex-col gap-5",children:[U,ie,pe,he]})}),e[113]=U,e[114]=ie,e[115]=pe,e[116]=he,e[117]=ve):ve=e[117];let Ce;return e[118]!==D||e[119]!==ve?(Ce=s.jsx(Ee,{title:D,children:ve}),e[118]=D,e[119]=ve,e[120]=Ce):Ce=e[120],Ce}function ys(e){return e.providerId==="deco"}function js(){const e=G.c(12),{org:t}=ye(),i=le(),r=Se(),n=se();let a;e[0]!==i?(a=async()=>{await i.call("AI_PROVIDER_PROVISION_KEY",{providerId:"deco"})},e[0]=i,e[1]=a):a=e[1];let c;e[2]!==t||e[3]!==r||e[4]!==n?(c=()=>{Fe("ai_provider_provision_succeeded",{provider_id:"deco"}),r.invalidateQueries({queryKey:J.aiProviderKeys(t.id)}),r.invalidateQueries({queryKey:J.aiProviders(t.id)}),ee.success(n("settings.aiProviders.decoConnectSuccess"))},e[2]=t,e[3]=r,e[4]=n,e[5]=c):c=e[5];let l;e[6]!==n?(l=h=>{Fe("ai_provider_provision_failed",{provider_id:"deco",error:h.message}),ee.error(n("settings.aiProviders.decoConnectError",{error:h.message}))},e[6]=n,e[7]=l):l=e[7];let d;return e[8]!==a||e[9]!==c||e[10]!==l?(d={mutationFn:a,onSuccess:c,onError:l},e[8]=a,e[9]=c,e[10]=l,e[11]=d):d=e[11],re(d)}function Ss(){const e=G.c(37),t=se(),{mutate:i,isPending:r}=js();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=["radial-gradient(ellipse 50% 150% at -15% 50%, rgba(165,149,255,0.14) 0%, transparent 60%)","radial-gradient(ellipse 50% 150% at 115% 50%, rgba(208,236,26,0.11) 0%, transparent 60%)"],e[0]=n):n=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:n.join(", ")}}),e[1]=a):a=e[1];let c;e[2]!==t?(c=t("settings.decoNudgeCard.decoAiGateway"),e[2]=t,e[3]=c):c=e[3];let l;e[4]!==c?(l=s.jsx("img",{src:"/logos/deco%20logo.svg",alt:c,className:"size-12 shrink-0 rounded-xl object-contain dark:bg-white dark:p-1"}),e[4]=c,e[5]=l):l=e[5];let d;e[6]!==t?(d=t("settings.decoNudgeCard.decoAiGateway"),e[6]=t,e[7]=d):d=e[7];let h;e[8]!==d?(h=s.jsx("p",{className:"text-base font-semibold",children:d}),e[8]=d,e[9]=h):h=e[9];let _;e[10]!==t?(_=t("settings.decoNudgeCard.recommended"),e[10]=t,e[11]=_):_=e[11];let o;e[12]!==_?(o=s.jsx("span",{className:"rounded-full border border-border/60 bg-background/60 px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:_}),e[12]=_,e[13]=o):o=e[13];let u;e[14]!==h||e[15]!==o?(u=s.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h,o]}),e[14]=h,e[15]=o,e[16]=u):u=e[16];let f;e[17]!==t?(f=t("settings.decoNudgeCard.description"),e[17]=t,e[18]=f):f=e[18];let p;e[19]!==f?(p=s.jsx("p",{className:"text-sm text-muted-foreground",children:f}),e[19]=f,e[20]=p):p=e[20];let y;e[21]!==p||e[22]!==u?(y=s.jsxs("div",{className:"flex-1 min-w-0",children:[u,p]}),e[21]=p,e[22]=u,e[23]=y):y=e[23];let j;e[24]!==i?(j=()=>i(),e[24]=i,e[25]=j):j=e[25];let P;e[26]!==r||e[27]!==t?(P=t(r?"settings.decoNudgeCard.connecting":"settings.decoNudgeCard.connectDeco"),e[26]=r,e[27]=t,e[28]=P):P=e[28];let x;e[29]!==r||e[30]!==j||e[31]!==P?(x=s.jsx(X,{variant:"outline",disabled:r,onClick:j,children:P}),e[29]=r,e[30]=j,e[31]=P,e[32]=x):x=e[32];let C;return e[33]!==y||e[34]!==x||e[35]!==l?(C=s.jsxs("div",{className:"relative rounded-xl border border-border overflow-hidden",children:[a,s.jsxs("div",{className:"relative flex items-center gap-5 px-6 py-5",children:[l,y,x]})]}),e[33]=y,e[34]=x,e[35]=l,e[36]=C):C=e[36],C}const Ns=e=>vt({label:we().min(1,e("settings.editProviderDialog.labelRequired")).max(100),apiKey:we().optional(),baseUrl:we().optional()});function Cs({isOpenAICompatible:e,baseUrl:t,currentBaseUrl:i,apiKey:r}){return e&&!!t&&t!==i&&!r}function _s({providerKey:e,provider:t,preset:i,maskedKey:r,currentLabel:n,currentBaseUrl:a,onCancel:c,onSuccess:l}){const{org:d}=ye(),h=le(),_=Se(),o=se(),[u,f]=Q.useState(!1),p=t.id==="openai-compatible",y=t.supportedMethods.includes("api-key"),j=Ns(o),{register:P,handleSubmit:x,watch:C,setError:k,formState:{errors:g}}=Ye({resolver:Qe(j),defaultValues:{label:n,apiKey:"",baseUrl:a??""}}),v=C("apiKey")??"",{mutate:S,isPending:m}=re({mutationFn:async N=>{let b;N.apiKey&&(p?b=JSON.stringify({baseUrl:N.baseUrl||a||"",apiKey:N.apiKey}):b=N.apiKey),await h.call("AI_PROVIDER_KEY_UPDATE",{keyId:e.id,label:N.label,...b!==void 0?{apiKey:b}:{}})},onSuccess:()=>{_.invalidateQueries({queryKey:J.aiProviderKeys(d.id)}),_.invalidateQueries({queryKey:J.aiProviders(d.id)}),ee.success(o("settings.editProviderDialog.providerUpdated")),l()},onError:N=>ee.error(o("settings.editProviderDialog.failedToUpdate",{error:N.message}))});return s.jsxs("form",{onSubmit:x(N=>{if(Cs({isOpenAICompatible:p,baseUrl:N.baseUrl,currentBaseUrl:a,apiKey:N.apiKey})){k("apiKey",{message:o("settings.editProviderDialog.apiKeyRequiredForBaseUrlChange")});return}S(N)}),className:"space-y-3",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:o("settings.editProviderDialog.label")}),s.jsx(je,{placeholder:o("settings.editProviderDialog.labelPlaceholder"),...P("label"),className:"h-8 text-sm"}),g.label&&s.jsx("p",{className:"text-xs text-destructive",children:g.label.message})]}),p&&!i?.defaultBaseUrl&&s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:o("settings.editProviderDialog.baseUrl")}),s.jsx(je,{type:"url",placeholder:i?.baseUrlPlaceholder??o("settings.editProviderDialog.baseUrlPlaceholder"),...P("baseUrl"),className:"h-8 text-sm"})]}),y&&s.jsxs("div",{className:"space-y-1",children:[s.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:[o("settings.editProviderDialog.apiKey")," ",s.jsxs("span",{className:"text-muted-foreground/60",children:["(",o("settings.editProviderDialog.leaveBlankHint"),")"]})]}),s.jsxs("div",{className:"relative",children:[s.jsx(je,{type:u&&v?"text":"password",placeholder:r,...P("apiKey"),className:"ph-no-capture h-8 text-sm pr-8"}),v&&s.jsx("button",{type:"button",onClick:()=>f(!u),"aria-label":o(u?"settings.editProviderDialog.hideApiKey":"settings.editProviderDialog.showApiKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:u?s.jsx(Ut,{size:14}):s.jsx(Bt,{size:14})})]}),g.apiKey&&s.jsx("p",{className:"text-xs text-destructive",children:g.apiKey.message})]}),i?.helpText&&s.jsx("p",{className:"text-xs text-muted-foreground",children:i.helpText}),s.jsxs(Vt,{children:[s.jsx(X,{type:"button",variant:"ghost",size:"sm",onClick:c,disabled:m,children:o("settings.editProviderDialog.cancel")}),s.jsx(X,{type:"submit",size:"sm",disabled:m,children:o(m?"settings.editProviderDialog.saving":"settings.editProviderDialog.save")})]})]})}function Ps(e){const t=G.c(31),{providerKey:i,provider:r,open:n,onOpenChange:a}=e,c=se(),l=le(),d=r.id==="openai-compatible"&&i.presetId?tt(i.presetId):void 0,h=d?.name??r.name;let _;t[0]!==i.id?(_=J.aiProviderKeyPreview(i.id),t[0]=i.id,t[1]=_):_=t[1];let o;t[2]!==i.id||t[3]!==l?(o=()=>l.call("AI_PROVIDER_KEY_PREVIEW",{keyId:i.id}),t[2]=i.id,t[3]=l,t[4]=o):o=t[4];let u;t[5]!==n||t[6]!==_||t[7]!==o?(u={queryKey:_,queryFn:o,enabled:n,staleTime:0},t[5]=n,t[6]=_,t[7]=o,t[8]=u):u=t[8];const{data:f,isLoading:p}=De(u),y=Lt,j=qt,P="sm:max-w-md",x=Ht,C=zt,k=c("settings.editProviderDialog.editTitle",{name:h});let g;t[9]!==C||t[10]!==k?(g=s.jsx(C,{children:k}),t[9]=C,t[10]=k,t[11]=g):g=t[11];let v;t[12]!==x||t[13]!==g?(v=s.jsx(x,{children:g}),t[12]=x,t[13]=g,t[14]=v):v=t[14];let S;t[15]!==p||t[16]!==a||t[17]!==d||t[18]!==f||t[19]!==r||t[20]!==i?(S=p||!f?s.jsx("div",{className:"flex justify-center py-8",children:s.jsx(Gt,{})}):s.jsx(_s,{providerKey:i,provider:r,preset:d,maskedKey:f.maskedKey,currentLabel:f.label,currentBaseUrl:f.baseUrl,onCancel:()=>a(!1),onSuccess:()=>a(!1)}),t[15]=p,t[16]=a,t[17]=d,t[18]=f,t[19]=r,t[20]=i,t[21]=S):S=t[21];let m;t[22]!==j||t[23]!==v||t[24]!==S?(m=s.jsxs(j,{className:P,children:[v,S]}),t[22]=j,t[23]=v,t[24]=S,t[25]=m):m=t[25];let N;return t[26]!==y||t[27]!==a||t[28]!==n||t[29]!==m?(N=s.jsx(y,{open:n,onOpenChange:a,children:m}),t[26]=y,t[27]=a,t[28]=n,t[29]=m,t[30]=N):N=t[30],N}function Is(e){const t=G.c(86),{providerKey:i,provider:r}=e,{org:n}=ye(),a=le(),c=Se(),[l,d]=Q.useState(!1),[h,_]=Q.useState(!1),o=se(),[u]=Xe(),f=u.language==="pt-BR"?Et:void 0,p=r?.id==="openai-compatible";let y;t[0]!==p||t[1]!==i.presetId?(y=p&&i.presetId?tt(i.presetId):void 0,t[0]=p,t[1]=i.presetId,t[2]=y):y=t[2];const j=y;let P;t[3]!==p||t[4]!==j||t[5]!==r?.name||t[6]!==i.providerId||t[7]!==o?(P=j?j.name:p?o("settings.aiProviders.customOpenAiCompatible"):r?.name??(i.providerId==="claude-code"?o("settings.providerKeyRow.claudeCode"):i.providerId==="codex"?o("settings.providerKeyRow.codex"):i.providerId),t[3]=p,t[4]=j,t[5]=r?.name,t[6]=i.providerId,t[7]=o,t[8]=P):P=t[8];const x=P,C=j?.logo??r?.logo??Ft[i.providerId];let k;e:{if(p){k=i.label;break e}let te;t[9]!==f||t[10]!==i.createdAt||t[11]!==i.label||t[12]!==o?(te=o("settings.providerKeyRow.addedTimeAgo",{label:i.label,time:Rt(new Date(i.createdAt),{locale:f})}),t[9]=f,t[10]=i.createdAt,t[11]=i.label,t[12]=o,t[13]=te):te=t[13],k=te}const g=k;let v;t[14]!==i.id||t[15]!==a?(v=async()=>{await a.call("AI_PROVIDER_KEY_DELETE",{keyId:i.id})},t[14]=i.id,t[15]=a,t[16]=v):v=t[16];let S;t[17]!==n||t[18]!==i.id||t[19]!==c||t[20]!==o?(S=()=>{c.invalidateQueries({queryKey:J.aiProviderKeys(n.id)}),c.invalidateQueries({queryKey:J.aiProviders(n.id)}),c.invalidateQueries({queryKey:J.aiProviderModels(n.id,i.id)}),ee.success(o("settings.providerKeyRow.keyDeleted")),d(!1)},t[17]=n,t[18]=i.id,t[19]=c,t[20]=o,t[21]=S):S=t[21];let m;t[22]!==o?(m=te=>ee.error(o("settings.providerKeyRow.failedToDeleteKey",{error:te.message})),t[22]=o,t[23]=m):m=t[23];let N;t[24]!==v||t[25]!==S||t[26]!==m?(N={mutationFn:v,onSuccess:S,onError:m},t[24]=v,t[25]=S,t[26]=m,t[27]=N):N=t[27];const{mutate:b,isPending:D}=re(N);let w;t[28]!==x||t[29]!==C?(w=C?s.jsx("img",{src:C,alt:x,className:"size-8 rounded-md object-contain dark:bg-white dark:p-0.5"}):s.jsx($t,{fallback:x.charAt(0),className:"size-8 bg-primary/10 text-primary"}),t[28]=x,t[29]=C,t[30]=w):w=t[30];let A;t[31]!==r||t[32]!==o?(A=r?s.jsx(X,{variant:"ghost",size:"icon","aria-label":o("settings.providerKeyRow.editProviderKey"),className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:()=>_(!0),children:s.jsx(Mt,{size:14})}):null,t[31]=r,t[32]=o,t[33]=A):A=t[33];let M;t[34]!==o?(M=o("settings.providerKeyRow.deleteProviderKey"),t[34]=o,t[35]=M):M=t[35];let E,$;t[36]===Symbol.for("react.memo_cache_sentinel")?(E=()=>d(!0),$=s.jsx(Ot,{size:14}),t[36]=E,t[37]=$):(E=t[36],$=t[37]);let H;t[38]!==D||t[39]!==M?(H=s.jsx(X,{variant:"ghost",size:"icon","aria-label":M,className:"h-7 w-7 text-muted-foreground hover:text-destructive",disabled:D,onClick:E,children:$}),t[38]=D,t[39]=M,t[40]=H):H=t[40];let L;t[41]!==H||t[42]!==A?(L=s.jsxs("div",{className:"flex items-center gap-0.5",children:[A,H]}),t[41]=H,t[42]=A,t[43]=L):L=t[43];let F;t[44]!==g||t[45]!==x||t[46]!==L||t[47]!==w?(F=s.jsx(Te,{icon:w,title:x,description:g,action:L}),t[44]=g,t[45]=x,t[46]=L,t[47]=w,t[48]=F):F=t[48];let U;t[49]!==h||t[50]!==r||t[51]!==i?(U=r?s.jsx(Ps,{providerKey:i,provider:r,open:h,onOpenChange:_}):null,t[49]=h,t[50]=r,t[51]=i,t[52]=U):U=t[52];let B;t[53]!==o?(B=o("settings.providerKeyRow.deleteApiKey"),t[53]=o,t[54]=B):B=t[54];let z;t[55]!==B?(z=s.jsx(st,{children:B}),t[55]=B,t[56]=z):z=t[56];let q;t[57]!==i.label?(q=s.jsxs(it,{children:["This action cannot be undone. This will permanently delete"," ",s.jsx("span",{className:"font-medium text-foreground",children:i.label}),"."]}),t[57]=i.label,t[58]=q):q=t[58];let I;t[59]!==z||t[60]!==q?(I=s.jsxs(lt,{children:[z,q]}),t[59]=z,t[60]=q,t[61]=I):I=t[61];let T;t[62]!==o?(T=o("settings.providerKeyRow.cancel"),t[62]=o,t[63]=T):T=t[63];let O;t[64]!==T?(O=s.jsx(rt,{children:T}),t[64]=T,t[65]=O):O=t[65];let R;t[66]!==b?(R=()=>b(),t[66]=b,t[67]=R):R=t[67];let K;t[68]!==o?(K=o("settings.providerKeyRow.delete"),t[68]=o,t[69]=K):K=t[69];let W;t[70]!==R||t[71]!==K?(W=s.jsx(nt,{onClick:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:K}),t[70]=R,t[71]=K,t[72]=W):W=t[72];let Z;t[73]!==O||t[74]!==W?(Z=s.jsxs(ot,{children:[O,W]}),t[73]=O,t[74]=W,t[75]=Z):Z=t[75];let V;t[76]!==I||t[77]!==Z?(V=s.jsxs(at,{children:[I,Z]}),t[76]=I,t[77]=Z,t[78]=V):V=t[78];let Y;t[79]!==l||t[80]!==V?(Y=s.jsx(ct,{open:l,onOpenChange:d,children:V}),t[79]=l,t[80]=V,t[81]=Y):Y=t[81];let ie;return t[82]!==F||t[83]!==U||t[84]!==Y?(ie=s.jsxs(s.Fragment,{children:[F,U,Y]}),t[82]=F,t[83]=U,t[84]=Y,t[85]=ie):ie=t[85],ie}function ks(e){const t=e.filter(i=>Ct(i.providerId));return{hasInventory:e.length>0,hasHostedProvider:t.length>0,hasDeco:t.some(i=>i.providerId==="deco")}}function Ds(e,t){return e.filter(i=>i.providerId!=="deco").map(i=>({key:i,provider:t.find(r=>r.id===i.providerId)??null}))}function Ge(e){const t=G.c(13),{onConnectClick:i}=e,r=se(),n=Re(),a=et();let c;if(t[0]!==a?.providers||t[1]!==n||t[2]!==i||t[3]!==r){const l=a?.providers??[],d=Ds(n,l);let h;t[5]!==r?(h=r("settings.connectedProvidersSection.sectionTitle"),t[5]=r,t[6]=h):h=t[6];let _;t[7]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx(Tt,{size:14}),t[7]=_):_=t[7];let o;t[8]!==r?(o=r("settings.connectedProvidersSection.connectButton"),t[8]=r,t[9]=o):o=t[9];let u;t[10]!==i||t[11]!==o?(u=s.jsxs(X,{size:"sm",onClick:i,children:[_,o]}),t[10]=i,t[11]=o,t[12]=u):u=t[12],c=s.jsx(Ee,{title:h,headerClassName:"px-0",actions:u,children:d.length===0?s.jsx("p",{className:"text-sm text-muted-foreground px-1",children:r("settings.connectedProvidersSection.emptyState")}):s.jsx(be,{children:d.map(Ks)})}),t[0]=a?.providers,t[1]=n,t[2]=i,t[3]=r,t[4]=c}else c=t[4];return c}function Ks(e){const{key:t,provider:i}=e;return s.jsx(Is,{providerKey:t,provider:i},t.id)}function ws(){const e=G.c(55),t=se(),{org:i}=ye(),r=le(),n=Se(),[a,c]=Q.useState("");let l;e[0]!==i.id?(l=J.claudeSubscription(i.id),e[0]=i.id,e[1]=l):l=e[1];let d;e[2]!==r?(d=()=>r.call("CLAUDE_SUBSCRIPTION_STATUS",{}),e[2]=r,e[3]=d):d=e[3];let h;e[4]!==l||e[5]!==d?(h={queryKey:l,queryFn:d},e[4]=l,e[5]=d,e[6]=h):h=e[6];const _=De(h);let o;e[7]!==i.id||e[8]!==n?(o=()=>n.invalidateQueries({queryKey:J.claudeSubscription(i.id)}),e[7]=i.id,e[8]=n,e[9]=o):o=e[9];const u=o;let f;e[10]!==r||e[11]!==a?(f=()=>r.call("CLAUDE_SUBSCRIPTION_CONNECT",{token:a}),e[10]=r,e[11]=a,e[12]=f):f=e[12];let p;e[13]!==u||e[14]!==t?(p=async()=>{c(""),await u(),ee.success(t("settings.claudeSubscription.connected"))},e[13]=u,e[14]=t,e[15]=p):p=e[15];let y;e[16]!==f||e[17]!==p?(y={mutationFn:f,onSuccess:p,onError:Ts},e[16]=f,e[17]=p,e[18]=y):y=e[18];const j=re(y);let P;e[19]!==r?(P=()=>r.call("CLAUDE_SUBSCRIPTION_DISCONNECT",{}),e[19]=r,e[20]=P):P=e[20];let x;e[21]!==u||e[22]!==t?(x=async()=>{await u(),ee.success(t("settings.claudeSubscription.disconnected"))},e[21]=u,e[22]=t,e[23]=x):x=e[23];let C;e[24]!==P||e[25]!==x?(C={mutationFn:P,onSuccess:x,onError:As},e[24]=P,e[25]=x,e[26]=C):C=e[26];const k=re(C),g=_.data?.connected===!0,v=!g&&!!_.data?.linkedAt;let S;e[27]!==t?(S=t("settings.claudeSubscription.title"),e[27]=t,e[28]=S):S=e[28];let m;e[29]!==S?(m=s.jsx("p",{className:"text-base font-semibold",children:S}),e[29]=S,e[30]=m):m=e[30];let N;e[31]!==g||e[32]!==v||e[33]!==t?(N=t(g?"settings.claudeSubscription.active":v?"settings.claudeSubscription.expired":"settings.claudeSubscription.description"),e[31]=g,e[32]=v,e[33]=t,e[34]=N):N=e[34];let b;e[35]!==N?(b=s.jsx("p",{className:"text-sm text-muted-foreground",children:N}),e[35]=N,e[36]=b):b=e[36];let D;e[37]!==m||e[38]!==b?(D=s.jsxs("div",{className:"flex-1 min-w-0",children:[m,b]}),e[37]=m,e[38]=b,e[39]=D):D=e[39];let w;e[40]!==g||e[41]!==k||e[42]!==t?(w=g?s.jsx(X,{variant:"outline",disabled:k.isPending,onClick:()=>k.mutate(),children:t("settings.claudeSubscription.disconnect")}):null,e[40]=g,e[41]=k,e[42]=t,e[43]=w):w=e[43];let A;e[44]!==D||e[45]!==w?(A=s.jsxs("div",{className:"flex items-center gap-4",children:[D,w]}),e[44]=D,e[45]=w,e[46]=A):A=e[46];let M;e[47]!==j||e[48]!==g||e[49]!==t||e[50]!==a?(M=g?null:s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("p",{className:"text-sm text-muted-foreground",children:[t("settings.claudeSubscription.howTo")," ",s.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 text-xs",children:"claude setup-token"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(je,{type:"password",value:a,onChange:$=>c($.target.value),placeholder:t("settings.claudeSubscription.tokenPlaceholder")}),s.jsx(X,{disabled:a.trim().length===0||j.isPending,onClick:()=>j.mutate(),children:t("settings.claudeSubscription.connect")})]})]}),e[47]=j,e[48]=g,e[49]=t,e[50]=a,e[51]=M):M=e[51];let E;return e[52]!==A||e[53]!==M?(E=s.jsxs("div",{className:"rounded-xl border border-border px-6 py-5 flex flex-col gap-4",children:[A,M]}),e[52]=A,e[53]=M,e[54]=E):E=e[54],E}function As(e){return ee.error(e.message)}function Ts(e){return ee.error(e.message)}function Es(e){const t=G.c(3),{error:i}=e;let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(yt,{size:16}),t[0]=r):r=t[0];let n;return t[1]!==i.message?(n=s.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[r,s.jsxs("span",{className:"text-sm font-medium",children:["Failed to load AI providers: ",i.message]})]}),t[1]=i.message,t[2]=n):n=t[2],n}function Rs(){const e=G.c(29),t=Re();let i;e[0]!==t?(i=ks(t),e[0]=t,e[1]=i):i=e[1];const{hasInventory:r,hasHostedProvider:n,hasDeco:a}=i,[c,l]=Q.useState(!1),[d,h]=Q.useState(null),_=et();let o;e[2]!==_?.providers?(o=_?.providers??[],e[2]=_?.providers,e[3]=o):o=e[3];const u=o;if(!n){let k;e[4]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(Ve,{}),e[4]=k):k=e[4];let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=()=>l(!0),e[5]=g):g=e[5];let v;e[6]!==u?(v=s.jsx(Kt,{providers:u,onSelect:h,onShowAll:g}),e[6]=u,e[7]=v):v=e[7];const S=d!==null||c;let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=A=>{A||(h(null),l(!1))},e[8]=m):m=e[8];const N=d??void 0;let b;e[9]!==S||e[10]!==N?(b=s.jsx(Be,{open:S,onOpenChange:m,initialProvider:N}),e[9]=S,e[10]=N,e[11]=b):b=e[11];let D;e[12]!==r?(D=r?s.jsx(Ge,{onConnectClick:()=>l(!0)}):null,e[12]=r,e[13]=D):D=e[13];let w;return e[14]!==v||e[15]!==b||e[16]!==D?(w=s.jsxs(s.Fragment,{children:[k,v,b,D]}),e[14]=v,e[15]=b,e[16]=D,e[17]=w):w=e[17],w}let f;e[18]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(Ve,{}),e[18]=f):f=e[18];let p;e[19]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsx(Q.Suspense,{fallback:s.jsx(Ie,{className:"h-16 w-full"}),children:s.jsx(ts,{})}),e[19]=p):p=e[19];let y;e[20]!==a?(y=a?s.jsx(bs,{}):s.jsx(Ss,{}),e[20]=a,e[21]=y):y=e[21];let j;e[22]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(ws,{}),e[22]=j):j=e[22];let P;e[23]===Symbol.for("react.memo_cache_sentinel")?(P=s.jsx(Ge,{onConnectClick:()=>l(!0)}),e[23]=P):P=e[23];let x;e[24]!==c?(x=s.jsx(Be,{open:c,onOpenChange:l}),e[24]=c,e[25]=x):x=e[25];let C;return e[26]!==y||e[27]!==x?(C=s.jsxs(s.Fragment,{children:[f,p,y,j,P,x]}),e[26]=y,e[27]=x,e[28]=C):C=e[28],C}function Ms(){const e=G.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(bt,{group:"billing",errorFallback:Os,children:s.jsx(Rs,{})}),e[0]=t):t=e[0],t}function Os(e){const{error:t}=e;return s.jsx(Es,{error:t??new Error("Failed to load AI providers")})}function Bi(){const e=G.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(Qt,{capability:"ai-providers:manage",area:"AI providers",children:s.jsx(Ms,{})}),e[0]=t):t=e[0],t}export{Bi as default};
6
+ Defaulting to \`null\`.`}var cs=dt,ds=ut;function ms(e){const t=G.c(12);let i,r,n;t[0]!==e?({className:i,value:n,...r}=e,t[0]=e,t[1]=i,t[2]=r,t[3]=n):(i=t[1],r=t[2],n=t[3]);let a;t[4]!==i?(a=Pe("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",i),t[4]=i,t[5]=a):a=t[5];const c=`translateX(-${100-(n||0)}%)`;let l;t[6]!==c?(l=s.jsx(ds,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:c}}),t[6]=c,t[7]=l):l=t[7];let d;return t[8]!==r||t[9]!==a||t[10]!==l?(d=s.jsx(cs,{"data-slot":"progress",className:a,...r,children:l}),t[8]=r,t[9]=a,t[10]=l,t[11]=d):d=t[11],d}const us=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",year:"numeric"});function fs(e){const t=G.c(12),{billingStatus:i,subscribed:r,t:n}=e;if(r&&i==="past_due"){let l;t[0]!==n?(l=n("settings.billing.statusPastDue"),t[0]=n,t[1]=l):l=t[1];let d;return t[2]!==l?(d=s.jsx(Ae,{variant:"warning",children:l}),t[2]=l,t[3]=d):d=t[3],d}if(r){let l;t[4]!==n?(l=n("settings.billing.statusActive"),t[4]=n,t[5]=l):l=t[5];let d;return t[6]!==l?(d=s.jsx(Ae,{variant:"success",children:l}),t[6]=l,t[7]=d):d=t[7],d}let a;t[8]!==n?(a=n("settings.billing.statusTrial"),t[8]=n,t[9]=a):a=t[9];let c;return t[10]!==a?(c=s.jsx(Ae,{variant:"secondary",children:a}),t[10]=a,t[11]=c):c=t[11],c}function ps(){const e=G.c(78),t=se(),{org:i}=ye(),r=le(),n=Ue("ORGANIZATION_BILLING_CHECKOUT_START","settings.billing.checkoutError"),a=Ue("ORGANIZATION_BILLING_PORTAL","settings.billing.portalError");let c;e[0]!==i.id?(c=J.organizationTaskQuota(i.id),e[0]=i.id,e[1]=c):c=e[1];let l;e[2]!==r?(l=()=>r.call("ORGANIZATION_TASK_QUOTA_GET",{}),e[2]=r,e[3]=l):l=e[3];let d;e[4]!==c||e[5]!==l?(d={queryKey:c,queryFn:l},e[4]=c,e[5]=l,e[6]=d):d=e[6];const{data:h,isLoading:_}=De(d);if(_){let T;return e[7]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx(be,{children:s.jsxs("div",{className:"flex flex-col gap-3 px-4 py-4",children:[s.jsx(Ie,{className:"h-4 w-40"}),s.jsx(Ie,{className:"h-2 w-full"})]})}),e[7]=T):T=e[7],T}if(!h||!h.enforced){let T;e[8]===Symbol.for("react.memo_cache_sentinel")?(T=s.jsx(ze,{size:16}),e[8]=T):T=e[8];let O;e[9]!==t?(O=t("settings.billing.autoTasksTitle"),e[9]=t,e[10]=O):O=e[10];let R;e[11]!==t?(R=t("settings.billing.unlimitedDescription"),e[11]=t,e[12]=R):R=e[12];let K;return e[13]!==O||e[14]!==R?(K=s.jsx(be,{children:s.jsx(Te,{icon:T,title:O,description:R})}),e[13]=O,e[14]=R,e[15]=K):K=e[15],K}const{billingStatus:o,subscribed:u,hasBillingAccount:f,used:p,limit:y}=h,j=y>0?Math.min(100,p/y*100):0,P=p>=y;let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx("div",{className:"size-9 shrink-0 rounded-lg bg-muted/60 flex items-center justify-center text-muted-foreground",children:s.jsx(ze,{size:16})}),e[16]=x):x=e[16];let C;e[17]!==t?(C=t("settings.billing.autoTasksTitle"),e[17]=t,e[18]=C):C=e[18];let k;e[19]!==C?(k=s.jsx("span",{className:"text-sm font-medium text-foreground",children:C}),e[19]=C,e[20]=k):k=e[20];let g;e[21]!==o||e[22]!==u||e[23]!==t?(g=s.jsx(fs,{billingStatus:o,subscribed:u,t}),e[21]=o,e[22]=u,e[23]=t,e[24]=g):g=e[24];let v;e[25]!==k||e[26]!==g?(v=s.jsxs("div",{className:"flex items-center gap-2",children:[k,g]}),e[25]=k,e[26]=g,e[27]=v):v=e[27];let S;e[28]!==u||e[29]!==t?(S=t(u?"settings.billing.autoTasksDescriptionSubscribed":"settings.billing.autoTasksDescriptionTrial"),e[28]=u,e[29]=t,e[30]=S):S=e[30];let m;e[31]!==S?(m=s.jsx("p",{className:"text-xs text-muted-foreground",children:S}),e[31]=S,e[32]=m):m=e[32];let N;e[33]!==v||e[34]!==m?(N=s.jsxs("div",{className:"flex items-center gap-3",children:[x,s.jsxs("div",{className:"flex flex-col gap-1",children:[v,m]})]}),e[33]=v,e[34]=m,e[35]=N):N=e[35];let b;e[36]!==f||e[37]!==a||e[38]!==t?(b=f&&s.jsxs(X,{variant:"outline",size:"sm",disabled:a.isPending,onClick:()=>a.mutate(),children:[a.isPending&&s.jsx($e,{size:14,className:"animate-spin"}),t("settings.billing.manageButton")]}),e[36]=f,e[37]=a,e[38]=t,e[39]=b):b=e[39];let D;e[40]!==n||e[41]!==u||e[42]!==t?(D=!u&&s.jsxs(X,{size:"sm",disabled:n.isPending,onClick:()=>n.mutate(),children:[n.isPending&&s.jsx($e,{size:14,className:"animate-spin"}),t("settings.billing.subscribeButton")]}),e[40]=n,e[41]=u,e[42]=t,e[43]=D):D=e[43];let w;e[44]!==b||e[45]!==D?(w=s.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[b,D]}),e[44]=b,e[45]=D,e[46]=w):w=e[46];let A;e[47]!==N||e[48]!==w?(A=s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[N,w]}),e[47]=N,e[48]=w,e[49]=A):A=e[49];const M=P?"text-warning":"text-foreground";let E;e[50]!==M?(E=Pe("text-2xl font-semibold tabular-nums tracking-tight",M),e[50]=M,e[51]=E):E=e[51];let $;e[52]!==y?($=s.jsxs("span",{className:"text-sm font-normal text-muted-foreground",children:[" ","/ ",y]}),e[52]=y,e[53]=$):$=e[53];let H;e[54]!==E||e[55]!==$||e[56]!==p?(H=s.jsxs("span",{className:E,children:[p,$]}),e[54]=E,e[55]=$,e[56]=p,e[57]=H):H=e[57];let L;e[58]!==h.currentPeriodEnd||e[59]!==u||e[60]!==t?(L=u&&h.currentPeriodEnd&&s.jsx("span",{className:"text-xs text-muted-foreground",children:t("settings.billing.renewsOn",{date:us.format(new Date(h.currentPeriodEnd))})}),e[58]=h.currentPeriodEnd,e[59]=u,e[60]=t,e[61]=L):L=e[61];let F;e[62]!==H||e[63]!==L?(F=s.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[H,L]}),e[62]=H,e[63]=L,e[64]=F):F=e[64];let U;e[65]!==t?(U=t("settings.billing.runsUsedLabel"),e[65]=t,e[66]=U):U=e[66];let B;e[67]!==U?(B=s.jsx("p",{className:"text-xs text-muted-foreground",children:U}),e[67]=U,e[68]=B):B=e[68];let z;e[69]!==j?(z=s.jsx(ms,{value:j,className:"h-1.5"}),e[69]=j,e[70]=z):z=e[70];let q;e[71]!==F||e[72]!==B||e[73]!==z?(q=s.jsxs("div",{className:"flex flex-col gap-2.5 pt-4 border-t border-border/60",children:[F,B,z]}),e[71]=F,e[72]=B,e[73]=z,e[74]=q):q=e[74];let I;return e[75]!==A||e[76]!==q?(I=s.jsx(be,{children:s.jsxs("div",{className:"flex flex-col gap-5 px-5 py-5",children:[A,q]})}),e[75]=A,e[76]=q,e[77]=I):I=e[77],I}function Ve(){const e=G.c(1),{granted:t}=ht("members:manage");if(!t)return null;let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsx(ps,{}),e[0]=i):i=e[0],i}const gs={usd:[10,20,100],brl:[50,100,500]};function xs(){const e=G.c(30),t=se(),i=le(),[r]=Xe(),[n,a]=Q.useState(!1);let c;e[0]!==t?(c=m=>{ee.error(t("settings.decoCreditsHero.topUpFailed",{message:m.message}))},e[0]=t,e[1]=c):c=e[1];const{mutate:l,isPending:d}=re({mutationFn:async m=>{const{url:N}=await i.call("AI_PROVIDER_TOPUP_URL",{providerId:"deco",amountCents:m,currency:f});return N},onSuccess:hs,onError:c}),[h,_]=Q.useState(""),[o,u]=Q.useState(r.language==="pt-BR"?"brl":"usd"),f=o,p=parseFloat(h),y=!isNaN(p)&&p>=1,j=f==="brl"?"R$":"$";let P;e[2]!==u?(P=m=>{m&&u(m)},e[2]=u,e[3]=P):P=e[3];let x,C;e[4]===Symbol.for("react.memo_cache_sentinel")?(x=s.jsx(He,{value:"usd",className:"px-3.5 text-sm",children:"USD"}),C=s.jsx(He,{value:"brl",className:"px-3.5 text-sm",children:"BRL"}),e[4]=x,e[5]=C):(x=e[4],C=e[5]);let k;e[6]!==f||e[7]!==P?(k=s.jsxs(At,{type:"single",variant:"outline",size:"default",value:f,onValueChange:P,children:[x,C]}),e[6]=f,e[7]=P,e[8]=k):k=e[8];let g;e[9]!==f||e[10]!==j||e[11]!==n||e[12]!==d||e[13]!==t||e[14]!==l?(g=!n&&s.jsxs(s.Fragment,{children:[gs[f].map(m=>s.jsxs(X,{variant:"outline",className:"h-10 px-4 text-sm font-medium tabular-nums",disabled:d,onClick:()=>l(m*100),children:[j,m]},m)),s.jsx(X,{variant:"ghost",className:"h-10 px-4 text-sm text-muted-foreground",onClick:()=>a(!0),disabled:d,children:t("settings.decoCreditsHero.custom")})]}),e[9]=f,e[10]=j,e[11]=n,e[12]=d,e[13]=t,e[14]=l,e[15]=g):g=e[15];let v;e[16]!==j||e[17]!==h||e[18]!==p||e[19]!==n||e[20]!==y||e[21]!==d||e[22]!==_||e[23]!==t||e[24]!==l?(v=n&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"relative max-w-[140px]",children:[s.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-sm text-muted-foreground select-none",children:j}),s.jsx(je,{type:"number",min:"1",step:"1",placeholder:t("settings.decoCreditsHero.amountPlaceholder"),value:h,onChange:m=>_(m.target.value),className:"h-10 text-sm pl-7",autoFocus:!0})]}),s.jsx(X,{className:"h-10",disabled:!y||d,onClick:()=>l(Math.round(p*100)),children:d?"...":t("settings.decoCreditsHero.add")}),s.jsx(X,{variant:"ghost",className:"h-10 text-sm text-muted-foreground",onClick:()=>{a(!1),_("")},children:t("settings.decoCreditsHero.cancel")})]}),e[16]=j,e[17]=h,e[18]=p,e[19]=n,e[20]=y,e[21]=d,e[22]=_,e[23]=t,e[24]=l,e[25]=v):v=e[25];let S;return e[26]!==k||e[27]!==g||e[28]!==v?(S=s.jsx("div",{className:"flex flex-col gap-2.5",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[k,g,v]})}),e[26]=k,e[27]=g,e[28]=v,e[29]=S):S=e[29],S}function hs(e){e&&window.open(e,"_blank","noopener,noreferrer")}function vs(e){return e<=0?"text-destructive":e<=1?"text-warning":"text-foreground"}function bs(){const e=G.c(121),t=se(),{org:i}=ye(),r=le(),n=Se(),a=Re();let c;e[0]!==a?(c=a.find(ys),e[0]=a,e[1]=c):c=e[1];const l=c,[d,h]=Q.useState(!1);let _;e[2]!==l||e[3]!==r?(_=async()=>{l&&await r.call("AI_PROVIDER_KEY_DELETE",{keyId:l.id})},e[2]=l,e[3]=r,e[4]=_):_=e[4];let o;e[5]!==i.id||e[6]!==n||e[7]!==t?(o=()=>{n.invalidateQueries({queryKey:J.aiProviderKeys(i.id)}),n.invalidateQueries({queryKey:J.aiProviders(i.id)}),ee.success(t("settings.decoCreditsHero.disconnectSuccess")),h(!1)},e[5]=i.id,e[6]=n,e[7]=t,e[8]=o):o=e[8];let u;e[9]!==t?(u=pt=>{ee.error(t("settings.decoCreditsHero.disconnectError",{message:pt.message}))},e[9]=t,e[10]=u):u=e[10];let f;e[11]!==_||e[12]!==o||e[13]!==u?(f={mutationFn:_,onSuccess:o,onError:u},e[11]=_,e[12]=o,e[13]=u,e[14]=f):f=e[14];const{mutate:p,isPending:y}=re(f);let j;e[15]!==i.id?(j=J.aiProviderCredits(i.id,"deco"),e[15]=i.id,e[16]=j):j=e[16];const P=!!l;let x;e[17]!==r?(x=async()=>{try{return await r.call("AI_PROVIDER_CREDITS",{providerId:"deco"})}catch{return null}},e[17]=r,e[18]=x):x=e[18];let C;e[19]!==j||e[20]!==P||e[21]!==x?(C={queryKey:j,enabled:P,staleTime:6e4,queryFn:x},e[19]=j,e[20]=P,e[21]=x,e[22]=C):C=e[22];const{data:k,isLoading:g,refetch:v,isFetching:S}=De(C);if(!l)return null;const m=k?.balanceCents!=null?k.balanceCents/100:null;let N;e[23]!==m?(N=m!=null?`$${m.toFixed(2)}`:"—",e[23]=m,e[24]=N):N=e[24];const b=N;let D;e[25]!==t?(D=t("settings.decoCreditsHero.title"),e[25]=t,e[26]=D):D=e[26];let w;e[27]!==t?(w=t("settings.decoCreditsHero.decoAiGatewayAlt"),e[27]=t,e[28]=w):w=e[28];let A;e[29]!==w?(A=s.jsx("img",{src:"/logos/deco%20logo.svg",alt:w,className:"size-9 rounded-lg object-contain dark:bg-white dark:p-0.5"}),e[29]=w,e[30]=A):A=e[30];let M;e[31]!==t?(M=t("settings.decoCreditsHero.accessModels"),e[31]=t,e[32]=M):M=e[32];let E;e[33]!==M?(E=s.jsx("div",{children:s.jsx("p",{className:"text-xs text-muted-foreground",children:M})}),e[33]=M,e[34]=E):E=e[34];let $;e[35]!==A||e[36]!==E?($=s.jsxs("div",{className:"flex items-center gap-3",children:[A,E]}),e[35]=A,e[36]=E,e[37]=$):$=e[37];let H;e[38]===Symbol.for("react.memo_cache_sentinel")?(H=()=>h(!0),e[38]=H):H=e[38];let L;e[39]!==t?(L=t("settings.decoCreditsHero.disconnect"),e[39]=t,e[40]=L):L=e[40];let F;e[41]!==y||e[42]!==L?(F=s.jsx(X,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive",onClick:H,disabled:y,children:L}),e[41]=y,e[42]=L,e[43]=F):F=e[43];let U;e[44]!==$||e[45]!==F?(U=s.jsxs("div",{className:"flex items-center justify-between",children:[$,F]}),e[44]=$,e[45]=F,e[46]=U):U=e[46];let B;e[47]!==t?(B=t("settings.decoCreditsHero.disconnectTitle"),e[47]=t,e[48]=B):B=e[48];let z;e[49]!==B?(z=s.jsx(st,{children:B}),e[49]=B,e[50]=z):z=e[50];let q;e[51]!==t?(q=t("settings.decoCreditsHero.disconnectDescription"),e[51]=t,e[52]=q):q=e[52];let I;e[53]!==q?(I=s.jsx(it,{children:q}),e[53]=q,e[54]=I):I=e[54];let T;e[55]!==z||e[56]!==I?(T=s.jsxs(lt,{children:[z,I]}),e[55]=z,e[56]=I,e[57]=T):T=e[57];let O;e[58]!==t?(O=t("settings.decoCreditsHero.cancelButton"),e[58]=t,e[59]=O):O=e[59];let R;e[60]!==O?(R=s.jsx(rt,{children:O}),e[60]=O,e[61]=R):R=e[61];let K;e[62]!==p?(K=()=>p(),e[62]=p,e[63]=K):K=e[63];let W;e[64]!==t?(W=t("settings.decoCreditsHero.disconnectButton"),e[64]=t,e[65]=W):W=e[65];let Z;e[66]!==K||e[67]!==W?(Z=s.jsx(nt,{onClick:K,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:W}),e[66]=K,e[67]=W,e[68]=Z):Z=e[68];let V;e[69]!==R||e[70]!==Z?(V=s.jsxs(ot,{children:[R,Z]}),e[69]=R,e[70]=Z,e[71]=V):V=e[71];let Y;e[72]!==T||e[73]!==V?(Y=s.jsxs(at,{children:[T,V]}),e[72]=T,e[73]=V,e[74]=Y):Y=e[74];let ie;e[75]!==d||e[76]!==Y?(ie=s.jsx(ct,{open:d,onOpenChange:h,children:Y}),e[75]=d,e[76]=Y,e[77]=ie):ie=e[77];let te;e[78]!==m||e[79]!==b||e[80]!==S||e[81]!==g?(te=g||S?s.jsx(Ie,{className:"h-9 w-24"}):s.jsx("span",{className:Pe("text-3xl font-semibold tabular-nums tracking-tight",m!=null&&vs(m)),children:b}),e[78]=m,e[79]=b,e[80]=S,e[81]=g,e[82]=te):te=e[82];let ne;e[83]!==v?(ne=()=>v(),e[83]=v,e[84]=ne):ne=e[84];let oe;e[85]!==t?(oe=t("settings.decoCreditsHero.refreshBalance"),e[85]=t,e[86]=oe):oe=e[86];const Ke=S&&"animate-spin";let ae;e[87]!==Ke?(ae=Pe(Ke),e[87]=Ke,e[88]=ae):ae=e[88];let ce;e[89]!==ae?(ce=s.jsx(We,{size:14,className:ae}),e[89]=ae,e[90]=ce):ce=e[90];let de;e[91]!==S||e[92]!==ne||e[93]!==oe||e[94]!==ce?(de=s.jsx("button",{type:"button",onClick:ne,disabled:S,className:"text-muted-foreground hover:text-foreground disabled:opacity-50 transition-colors p-1 rounded-md hover:bg-muted/50","aria-label":oe,children:ce}),e[91]=S,e[92]=ne,e[93]=oe,e[94]=ce,e[95]=de):de=e[95];let me;e[96]!==te||e[97]!==de?(me=s.jsxs("div",{className:"flex items-baseline gap-2",children:[te,de]}),e[96]=te,e[97]=de,e[98]=me):me=e[98];let ue;e[99]!==t?(ue=t("settings.decoCreditsHero.availableBalance"),e[99]=t,e[100]=ue):ue=e[100];let fe;e[101]!==ue?(fe=s.jsx("p",{className:"text-xs text-muted-foreground",children:ue}),e[101]=ue,e[102]=fe):fe=e[102];let pe;e[103]!==me||e[104]!==fe?(pe=s.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[me,fe]}),e[103]=me,e[104]=fe,e[105]=pe):pe=e[105];let ge;e[106]!==t?(ge=t("settings.decoCreditsHero.addCredits"),e[106]=t,e[107]=ge):ge=e[107];let xe;e[108]!==ge?(xe=s.jsx("p",{className:"text-xs font-medium text-muted-foreground mb-2.5",children:ge}),e[108]=ge,e[109]=xe):xe=e[109];let Ne;e[110]===Symbol.for("react.memo_cache_sentinel")?(Ne=s.jsx(xs,{}),e[110]=Ne):Ne=e[110];let he;e[111]!==xe?(he=s.jsxs("div",{className:"pt-4 border-t border-border/60",children:[xe,Ne]}),e[111]=xe,e[112]=he):he=e[112];let ve;e[113]!==U||e[114]!==ie||e[115]!==pe||e[116]!==he?(ve=s.jsx(be,{children:s.jsxs("div",{className:"px-5 py-5 flex flex-col gap-5",children:[U,ie,pe,he]})}),e[113]=U,e[114]=ie,e[115]=pe,e[116]=he,e[117]=ve):ve=e[117];let Ce;return e[118]!==D||e[119]!==ve?(Ce=s.jsx(Ee,{title:D,children:ve}),e[118]=D,e[119]=ve,e[120]=Ce):Ce=e[120],Ce}function ys(e){return e.providerId==="deco"}function js(){const e=G.c(12),{org:t}=ye(),i=le(),r=Se(),n=se();let a;e[0]!==i?(a=async()=>{await i.call("AI_PROVIDER_PROVISION_KEY",{providerId:"deco"})},e[0]=i,e[1]=a):a=e[1];let c;e[2]!==t||e[3]!==r||e[4]!==n?(c=()=>{Fe("ai_provider_provision_succeeded",{provider_id:"deco"}),r.invalidateQueries({queryKey:J.aiProviderKeys(t.id)}),r.invalidateQueries({queryKey:J.aiProviders(t.id)}),ee.success(n("settings.aiProviders.decoConnectSuccess"))},e[2]=t,e[3]=r,e[4]=n,e[5]=c):c=e[5];let l;e[6]!==n?(l=h=>{Fe("ai_provider_provision_failed",{provider_id:"deco",error:h.message}),ee.error(n("settings.aiProviders.decoConnectError",{error:h.message}))},e[6]=n,e[7]=l):l=e[7];let d;return e[8]!==a||e[9]!==c||e[10]!==l?(d={mutationFn:a,onSuccess:c,onError:l},e[8]=a,e[9]=c,e[10]=l,e[11]=d):d=e[11],re(d)}function Ss(){const e=G.c(37),t=se(),{mutate:i,isPending:r}=js();let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=["radial-gradient(ellipse 50% 150% at -15% 50%, rgba(165,149,255,0.14) 0%, transparent 60%)","radial-gradient(ellipse 50% 150% at 115% 50%, rgba(208,236,26,0.11) 0%, transparent 60%)"],e[0]=n):n=e[0];let a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a=s.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:n.join(", ")}}),e[1]=a):a=e[1];let c;e[2]!==t?(c=t("settings.decoNudgeCard.decoAiGateway"),e[2]=t,e[3]=c):c=e[3];let l;e[4]!==c?(l=s.jsx("img",{src:"/logos/deco%20logo.svg",alt:c,className:"size-12 shrink-0 rounded-xl object-contain dark:bg-white dark:p-1"}),e[4]=c,e[5]=l):l=e[5];let d;e[6]!==t?(d=t("settings.decoNudgeCard.decoAiGateway"),e[6]=t,e[7]=d):d=e[7];let h;e[8]!==d?(h=s.jsx("p",{className:"text-base font-semibold",children:d}),e[8]=d,e[9]=h):h=e[9];let _;e[10]!==t?(_=t("settings.decoNudgeCard.recommended"),e[10]=t,e[11]=_):_=e[11];let o;e[12]!==_?(o=s.jsx("span",{className:"rounded-full border border-border/60 bg-background/60 px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:_}),e[12]=_,e[13]=o):o=e[13];let u;e[14]!==h||e[15]!==o?(u=s.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[h,o]}),e[14]=h,e[15]=o,e[16]=u):u=e[16];let f;e[17]!==t?(f=t("settings.decoNudgeCard.description"),e[17]=t,e[18]=f):f=e[18];let p;e[19]!==f?(p=s.jsx("p",{className:"text-sm text-muted-foreground",children:f}),e[19]=f,e[20]=p):p=e[20];let y;e[21]!==p||e[22]!==u?(y=s.jsxs("div",{className:"flex-1 min-w-0",children:[u,p]}),e[21]=p,e[22]=u,e[23]=y):y=e[23];let j;e[24]!==i?(j=()=>i(),e[24]=i,e[25]=j):j=e[25];let P;e[26]!==r||e[27]!==t?(P=t(r?"settings.decoNudgeCard.connecting":"settings.decoNudgeCard.connectDeco"),e[26]=r,e[27]=t,e[28]=P):P=e[28];let x;e[29]!==r||e[30]!==j||e[31]!==P?(x=s.jsx(X,{variant:"outline",disabled:r,onClick:j,children:P}),e[29]=r,e[30]=j,e[31]=P,e[32]=x):x=e[32];let C;return e[33]!==y||e[34]!==x||e[35]!==l?(C=s.jsxs("div",{className:"relative rounded-xl border border-border overflow-hidden",children:[a,s.jsxs("div",{className:"relative flex items-center gap-5 px-6 py-5",children:[l,y,x]})]}),e[33]=y,e[34]=x,e[35]=l,e[36]=C):C=e[36],C}const Ns=e=>vt({label:we().min(1,e("settings.editProviderDialog.labelRequired")).max(100),apiKey:we().optional(),baseUrl:we().optional()});function Cs({isOpenAICompatible:e,baseUrl:t,currentBaseUrl:i,apiKey:r}){return e&&!!t&&t!==i&&!r}function _s({providerKey:e,provider:t,preset:i,maskedKey:r,currentLabel:n,currentBaseUrl:a,onCancel:c,onSuccess:l}){const{org:d}=ye(),h=le(),_=Se(),o=se(),[u,f]=Q.useState(!1),p=t.id==="openai-compatible",y=t.supportedMethods.includes("api-key"),j=Ns(o),{register:P,handleSubmit:x,watch:C,setError:k,formState:{errors:g}}=Ye({resolver:Qe(j),defaultValues:{label:n,apiKey:"",baseUrl:a??""}}),v=C("apiKey")??"",{mutate:S,isPending:m}=re({mutationFn:async N=>{let b;N.apiKey&&(p?b=JSON.stringify({baseUrl:N.baseUrl||a||"",apiKey:N.apiKey}):b=N.apiKey),await h.call("AI_PROVIDER_KEY_UPDATE",{keyId:e.id,label:N.label,...b!==void 0?{apiKey:b}:{}})},onSuccess:()=>{_.invalidateQueries({queryKey:J.aiProviderKeys(d.id)}),_.invalidateQueries({queryKey:J.aiProviders(d.id)}),ee.success(o("settings.editProviderDialog.providerUpdated")),l()},onError:N=>ee.error(o("settings.editProviderDialog.failedToUpdate",{error:N.message}))});return s.jsxs("form",{onSubmit:x(N=>{if(Cs({isOpenAICompatible:p,baseUrl:N.baseUrl,currentBaseUrl:a,apiKey:N.apiKey})){k("apiKey",{message:o("settings.editProviderDialog.apiKeyRequiredForBaseUrlChange")});return}S(N)}),className:"space-y-3",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:o("settings.editProviderDialog.label")}),s.jsx(je,{placeholder:o("settings.editProviderDialog.labelPlaceholder"),...P("label"),className:"h-8 text-sm"}),g.label&&s.jsx("p",{className:"text-xs text-destructive",children:g.label.message})]}),p&&!i?.defaultBaseUrl&&s.jsxs("div",{className:"space-y-1",children:[s.jsx("label",{className:"text-xs font-medium text-muted-foreground",children:o("settings.editProviderDialog.baseUrl")}),s.jsx(je,{type:"url",placeholder:i?.baseUrlPlaceholder??o("settings.editProviderDialog.baseUrlPlaceholder"),...P("baseUrl"),className:"h-8 text-sm"})]}),y&&s.jsxs("div",{className:"space-y-1",children:[s.jsxs("label",{className:"text-xs font-medium text-muted-foreground",children:[o("settings.editProviderDialog.apiKey")," ",s.jsxs("span",{className:"text-muted-foreground/60",children:["(",o("settings.editProviderDialog.leaveBlankHint"),")"]})]}),s.jsxs("div",{className:"relative",children:[s.jsx(je,{type:u&&v?"text":"password",placeholder:r,...P("apiKey"),className:"ph-no-capture h-8 text-sm pr-8"}),v&&s.jsx("button",{type:"button",onClick:()=>f(!u),"aria-label":o(u?"settings.editProviderDialog.hideApiKey":"settings.editProviderDialog.showApiKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:u?s.jsx(Ut,{size:14}):s.jsx(Bt,{size:14})})]}),g.apiKey&&s.jsx("p",{className:"text-xs text-destructive",children:g.apiKey.message})]}),i?.helpText&&s.jsx("p",{className:"text-xs text-muted-foreground",children:i.helpText}),s.jsxs(Vt,{children:[s.jsx(X,{type:"button",variant:"ghost",size:"sm",onClick:c,disabled:m,children:o("settings.editProviderDialog.cancel")}),s.jsx(X,{type:"submit",size:"sm",disabled:m,children:o(m?"settings.editProviderDialog.saving":"settings.editProviderDialog.save")})]})]})}function Ps(e){const t=G.c(31),{providerKey:i,provider:r,open:n,onOpenChange:a}=e,c=se(),l=le(),d=r.id==="openai-compatible"&&i.presetId?tt(i.presetId):void 0,h=d?.name??r.name;let _;t[0]!==i.id?(_=J.aiProviderKeyPreview(i.id),t[0]=i.id,t[1]=_):_=t[1];let o;t[2]!==i.id||t[3]!==l?(o=()=>l.call("AI_PROVIDER_KEY_PREVIEW",{keyId:i.id}),t[2]=i.id,t[3]=l,t[4]=o):o=t[4];let u;t[5]!==n||t[6]!==_||t[7]!==o?(u={queryKey:_,queryFn:o,enabled:n,staleTime:0},t[5]=n,t[6]=_,t[7]=o,t[8]=u):u=t[8];const{data:f,isLoading:p}=De(u),y=Lt,j=qt,P="sm:max-w-md",x=Ht,C=zt,k=c("settings.editProviderDialog.editTitle",{name:h});let g;t[9]!==C||t[10]!==k?(g=s.jsx(C,{children:k}),t[9]=C,t[10]=k,t[11]=g):g=t[11];let v;t[12]!==x||t[13]!==g?(v=s.jsx(x,{children:g}),t[12]=x,t[13]=g,t[14]=v):v=t[14];let S;t[15]!==p||t[16]!==a||t[17]!==d||t[18]!==f||t[19]!==r||t[20]!==i?(S=p||!f?s.jsx("div",{className:"flex justify-center py-8",children:s.jsx(Gt,{})}):s.jsx(_s,{providerKey:i,provider:r,preset:d,maskedKey:f.maskedKey,currentLabel:f.label,currentBaseUrl:f.baseUrl,onCancel:()=>a(!1),onSuccess:()=>a(!1)}),t[15]=p,t[16]=a,t[17]=d,t[18]=f,t[19]=r,t[20]=i,t[21]=S):S=t[21];let m;t[22]!==j||t[23]!==v||t[24]!==S?(m=s.jsxs(j,{className:P,children:[v,S]}),t[22]=j,t[23]=v,t[24]=S,t[25]=m):m=t[25];let N;return t[26]!==y||t[27]!==a||t[28]!==n||t[29]!==m?(N=s.jsx(y,{open:n,onOpenChange:a,children:m}),t[26]=y,t[27]=a,t[28]=n,t[29]=m,t[30]=N):N=t[30],N}function Is(e){const t=G.c(86),{providerKey:i,provider:r}=e,{org:n}=ye(),a=le(),c=Se(),[l,d]=Q.useState(!1),[h,_]=Q.useState(!1),o=se(),[u]=Xe(),f=u.language==="pt-BR"?Et:void 0,p=r?.id==="openai-compatible";let y;t[0]!==p||t[1]!==i.presetId?(y=p&&i.presetId?tt(i.presetId):void 0,t[0]=p,t[1]=i.presetId,t[2]=y):y=t[2];const j=y;let P;t[3]!==p||t[4]!==j||t[5]!==r?.name||t[6]!==i.providerId||t[7]!==o?(P=j?j.name:p?o("settings.aiProviders.customOpenAiCompatible"):r?.name??(i.providerId==="claude-code"?o("settings.providerKeyRow.claudeCode"):i.providerId==="codex"?o("settings.providerKeyRow.codex"):i.providerId),t[3]=p,t[4]=j,t[5]=r?.name,t[6]=i.providerId,t[7]=o,t[8]=P):P=t[8];const x=P,C=j?.logo??r?.logo??Ft[i.providerId];let k;e:{if(p){k=i.label;break e}let te;t[9]!==f||t[10]!==i.createdAt||t[11]!==i.label||t[12]!==o?(te=o("settings.providerKeyRow.addedTimeAgo",{label:i.label,time:Rt(new Date(i.createdAt),{locale:f})}),t[9]=f,t[10]=i.createdAt,t[11]=i.label,t[12]=o,t[13]=te):te=t[13],k=te}const g=k;let v;t[14]!==i.id||t[15]!==a?(v=async()=>{await a.call("AI_PROVIDER_KEY_DELETE",{keyId:i.id})},t[14]=i.id,t[15]=a,t[16]=v):v=t[16];let S;t[17]!==n||t[18]!==i.id||t[19]!==c||t[20]!==o?(S=()=>{c.invalidateQueries({queryKey:J.aiProviderKeys(n.id)}),c.invalidateQueries({queryKey:J.aiProviders(n.id)}),c.invalidateQueries({queryKey:J.aiProviderModels(n.id,i.id)}),ee.success(o("settings.providerKeyRow.keyDeleted")),d(!1)},t[17]=n,t[18]=i.id,t[19]=c,t[20]=o,t[21]=S):S=t[21];let m;t[22]!==o?(m=te=>ee.error(o("settings.providerKeyRow.failedToDeleteKey",{error:te.message})),t[22]=o,t[23]=m):m=t[23];let N;t[24]!==v||t[25]!==S||t[26]!==m?(N={mutationFn:v,onSuccess:S,onError:m},t[24]=v,t[25]=S,t[26]=m,t[27]=N):N=t[27];const{mutate:b,isPending:D}=re(N);let w;t[28]!==x||t[29]!==C?(w=C?s.jsx("img",{src:C,alt:x,className:"size-8 rounded-md object-contain dark:bg-white dark:p-0.5"}):s.jsx($t,{fallback:x.charAt(0),className:"size-8 bg-primary/10 text-primary"}),t[28]=x,t[29]=C,t[30]=w):w=t[30];let A;t[31]!==r||t[32]!==o?(A=r?s.jsx(X,{variant:"ghost",size:"icon","aria-label":o("settings.providerKeyRow.editProviderKey"),className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:()=>_(!0),children:s.jsx(Mt,{size:14})}):null,t[31]=r,t[32]=o,t[33]=A):A=t[33];let M;t[34]!==o?(M=o("settings.providerKeyRow.deleteProviderKey"),t[34]=o,t[35]=M):M=t[35];let E,$;t[36]===Symbol.for("react.memo_cache_sentinel")?(E=()=>d(!0),$=s.jsx(Ot,{size:14}),t[36]=E,t[37]=$):(E=t[36],$=t[37]);let H;t[38]!==D||t[39]!==M?(H=s.jsx(X,{variant:"ghost",size:"icon","aria-label":M,className:"h-7 w-7 text-muted-foreground hover:text-destructive",disabled:D,onClick:E,children:$}),t[38]=D,t[39]=M,t[40]=H):H=t[40];let L;t[41]!==H||t[42]!==A?(L=s.jsxs("div",{className:"flex items-center gap-0.5",children:[A,H]}),t[41]=H,t[42]=A,t[43]=L):L=t[43];let F;t[44]!==g||t[45]!==x||t[46]!==L||t[47]!==w?(F=s.jsx(Te,{icon:w,title:x,description:g,action:L}),t[44]=g,t[45]=x,t[46]=L,t[47]=w,t[48]=F):F=t[48];let U;t[49]!==h||t[50]!==r||t[51]!==i?(U=r?s.jsx(Ps,{providerKey:i,provider:r,open:h,onOpenChange:_}):null,t[49]=h,t[50]=r,t[51]=i,t[52]=U):U=t[52];let B;t[53]!==o?(B=o("settings.providerKeyRow.deleteApiKey"),t[53]=o,t[54]=B):B=t[54];let z;t[55]!==B?(z=s.jsx(st,{children:B}),t[55]=B,t[56]=z):z=t[56];let q;t[57]!==i.label?(q=s.jsxs(it,{children:["This action cannot be undone. This will permanently delete"," ",s.jsx("span",{className:"font-medium text-foreground",children:i.label}),"."]}),t[57]=i.label,t[58]=q):q=t[58];let I;t[59]!==z||t[60]!==q?(I=s.jsxs(lt,{children:[z,q]}),t[59]=z,t[60]=q,t[61]=I):I=t[61];let T;t[62]!==o?(T=o("settings.providerKeyRow.cancel"),t[62]=o,t[63]=T):T=t[63];let O;t[64]!==T?(O=s.jsx(rt,{children:T}),t[64]=T,t[65]=O):O=t[65];let R;t[66]!==b?(R=()=>b(),t[66]=b,t[67]=R):R=t[67];let K;t[68]!==o?(K=o("settings.providerKeyRow.delete"),t[68]=o,t[69]=K):K=t[69];let W;t[70]!==R||t[71]!==K?(W=s.jsx(nt,{onClick:R,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:K}),t[70]=R,t[71]=K,t[72]=W):W=t[72];let Z;t[73]!==O||t[74]!==W?(Z=s.jsxs(ot,{children:[O,W]}),t[73]=O,t[74]=W,t[75]=Z):Z=t[75];let V;t[76]!==I||t[77]!==Z?(V=s.jsxs(at,{children:[I,Z]}),t[76]=I,t[77]=Z,t[78]=V):V=t[78];let Y;t[79]!==l||t[80]!==V?(Y=s.jsx(ct,{open:l,onOpenChange:d,children:V}),t[79]=l,t[80]=V,t[81]=Y):Y=t[81];let ie;return t[82]!==F||t[83]!==U||t[84]!==Y?(ie=s.jsxs(s.Fragment,{children:[F,U,Y]}),t[82]=F,t[83]=U,t[84]=Y,t[85]=ie):ie=t[85],ie}function ks(e){const t=e.filter(i=>Ct(i.providerId));return{hasInventory:e.length>0,hasHostedProvider:t.length>0,hasDeco:t.some(i=>i.providerId==="deco")}}function Ds(e,t){return e.filter(i=>i.providerId!=="deco").map(i=>({key:i,provider:t.find(r=>r.id===i.providerId)??null}))}function Ge(e){const t=G.c(13),{onConnectClick:i}=e,r=se(),n=Re(),a=et();let c;if(t[0]!==a?.providers||t[1]!==n||t[2]!==i||t[3]!==r){const l=a?.providers??[],d=Ds(n,l);let h;t[5]!==r?(h=r("settings.connectedProvidersSection.sectionTitle"),t[5]=r,t[6]=h):h=t[6];let _;t[7]===Symbol.for("react.memo_cache_sentinel")?(_=s.jsx(Tt,{size:14}),t[7]=_):_=t[7];let o;t[8]!==r?(o=r("settings.connectedProvidersSection.connectButton"),t[8]=r,t[9]=o):o=t[9];let u;t[10]!==i||t[11]!==o?(u=s.jsxs(X,{size:"sm",onClick:i,children:[_,o]}),t[10]=i,t[11]=o,t[12]=u):u=t[12],c=s.jsx(Ee,{title:h,headerClassName:"px-0",actions:u,children:d.length===0?s.jsx("p",{className:"text-sm text-muted-foreground px-1",children:r("settings.connectedProvidersSection.emptyState")}):s.jsx(be,{children:d.map(Ks)})}),t[0]=a?.providers,t[1]=n,t[2]=i,t[3]=r,t[4]=c}else c=t[4];return c}function Ks(e){const{key:t,provider:i}=e;return s.jsx(Is,{providerKey:t,provider:i},t.id)}function ws(){const e=G.c(55),t=se(),{org:i}=ye(),r=le(),n=Se(),[a,c]=Q.useState("");let l;e[0]!==i.id?(l=J.claudeSubscription(i.id),e[0]=i.id,e[1]=l):l=e[1];let d;e[2]!==r?(d=()=>r.call("CLAUDE_SUBSCRIPTION_STATUS",{}),e[2]=r,e[3]=d):d=e[3];let h;e[4]!==l||e[5]!==d?(h={queryKey:l,queryFn:d},e[4]=l,e[5]=d,e[6]=h):h=e[6];const _=De(h);let o;e[7]!==i.id||e[8]!==n?(o=()=>n.invalidateQueries({queryKey:J.claudeSubscription(i.id)}),e[7]=i.id,e[8]=n,e[9]=o):o=e[9];const u=o;let f;e[10]!==r||e[11]!==a?(f=()=>r.call("CLAUDE_SUBSCRIPTION_CONNECT",{token:a}),e[10]=r,e[11]=a,e[12]=f):f=e[12];let p;e[13]!==u||e[14]!==t?(p=async()=>{c(""),await u(),ee.success(t("settings.claudeSubscription.connected"))},e[13]=u,e[14]=t,e[15]=p):p=e[15];let y;e[16]!==f||e[17]!==p?(y={mutationFn:f,onSuccess:p,onError:Ts},e[16]=f,e[17]=p,e[18]=y):y=e[18];const j=re(y);let P;e[19]!==r?(P=()=>r.call("CLAUDE_SUBSCRIPTION_DISCONNECT",{}),e[19]=r,e[20]=P):P=e[20];let x;e[21]!==u||e[22]!==t?(x=async()=>{await u(),ee.success(t("settings.claudeSubscription.disconnected"))},e[21]=u,e[22]=t,e[23]=x):x=e[23];let C;e[24]!==P||e[25]!==x?(C={mutationFn:P,onSuccess:x,onError:As},e[24]=P,e[25]=x,e[26]=C):C=e[26];const k=re(C),g=_.data?.connected===!0,v=!g&&!!_.data?.linkedAt;let S;e[27]!==t?(S=t("settings.claudeSubscription.title"),e[27]=t,e[28]=S):S=e[28];let m;e[29]!==S?(m=s.jsx("p",{className:"text-base font-semibold",children:S}),e[29]=S,e[30]=m):m=e[30];let N;e[31]!==g||e[32]!==v||e[33]!==t?(N=t(g?"settings.claudeSubscription.active":v?"settings.claudeSubscription.expired":"settings.claudeSubscription.description"),e[31]=g,e[32]=v,e[33]=t,e[34]=N):N=e[34];let b;e[35]!==N?(b=s.jsx("p",{className:"text-sm text-muted-foreground",children:N}),e[35]=N,e[36]=b):b=e[36];let D;e[37]!==m||e[38]!==b?(D=s.jsxs("div",{className:"flex-1 min-w-0",children:[m,b]}),e[37]=m,e[38]=b,e[39]=D):D=e[39];let w;e[40]!==g||e[41]!==k||e[42]!==t?(w=g?s.jsx(X,{variant:"outline",disabled:k.isPending,onClick:()=>k.mutate(),children:t("settings.claudeSubscription.disconnect")}):null,e[40]=g,e[41]=k,e[42]=t,e[43]=w):w=e[43];let A;e[44]!==D||e[45]!==w?(A=s.jsxs("div",{className:"flex items-center gap-4",children:[D,w]}),e[44]=D,e[45]=w,e[46]=A):A=e[46];let M;e[47]!==j||e[48]!==g||e[49]!==t||e[50]!==a?(M=g?null:s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("p",{className:"text-sm text-muted-foreground",children:[t("settings.claudeSubscription.howTo")," ",s.jsx("code",{className:"rounded bg-muted px-1.5 py-0.5 text-xs",children:"claude setup-token"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(je,{type:"password",value:a,onChange:$=>c($.target.value),placeholder:t("settings.claudeSubscription.tokenPlaceholder")}),s.jsx(X,{disabled:a.trim().length===0||j.isPending,onClick:()=>j.mutate(),children:t("settings.claudeSubscription.connect")})]})]}),e[47]=j,e[48]=g,e[49]=t,e[50]=a,e[51]=M):M=e[51];let E;return e[52]!==A||e[53]!==M?(E=s.jsxs("div",{className:"rounded-xl border border-border px-6 py-5 flex flex-col gap-4",children:[A,M]}),e[52]=A,e[53]=M,e[54]=E):E=e[54],E}function As(e){return ee.error(e.message)}function Ts(e){return ee.error(e.message)}function Es(e){const t=G.c(3),{error:i}=e;let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx(yt,{size:16}),t[0]=r):r=t[0];let n;return t[1]!==i.message?(n=s.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[r,s.jsxs("span",{className:"text-sm font-medium",children:["Failed to load AI providers: ",i.message]})]}),t[1]=i.message,t[2]=n):n=t[2],n}function Rs(){const e=G.c(29),t=Re();let i;e[0]!==t?(i=ks(t),e[0]=t,e[1]=i):i=e[1];const{hasInventory:r,hasHostedProvider:n,hasDeco:a}=i,[c,l]=Q.useState(!1),[d,h]=Q.useState(null),_=et();let o;e[2]!==_?.providers?(o=_?.providers??[],e[2]=_?.providers,e[3]=o):o=e[3];const u=o;if(!n){let k;e[4]===Symbol.for("react.memo_cache_sentinel")?(k=s.jsx(Ve,{}),e[4]=k):k=e[4];let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=()=>l(!0),e[5]=g):g=e[5];let v;e[6]!==u?(v=s.jsx(Kt,{providers:u,onSelect:h,onShowAll:g}),e[6]=u,e[7]=v):v=e[7];const S=d!==null||c;let m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=A=>{A||(h(null),l(!1))},e[8]=m):m=e[8];const N=d??void 0;let b;e[9]!==S||e[10]!==N?(b=s.jsx(Be,{open:S,onOpenChange:m,initialProvider:N}),e[9]=S,e[10]=N,e[11]=b):b=e[11];let D;e[12]!==r?(D=r?s.jsx(Ge,{onConnectClick:()=>l(!0)}):null,e[12]=r,e[13]=D):D=e[13];let w;return e[14]!==v||e[15]!==b||e[16]!==D?(w=s.jsxs(s.Fragment,{children:[k,v,b,D]}),e[14]=v,e[15]=b,e[16]=D,e[17]=w):w=e[17],w}let f;e[18]===Symbol.for("react.memo_cache_sentinel")?(f=s.jsx(Ve,{}),e[18]=f):f=e[18];let p;e[19]===Symbol.for("react.memo_cache_sentinel")?(p=s.jsx(Q.Suspense,{fallback:s.jsx(Ie,{className:"h-16 w-full"}),children:s.jsx(ts,{})}),e[19]=p):p=e[19];let y;e[20]!==a?(y=a?s.jsx(bs,{}):s.jsx(Ss,{}),e[20]=a,e[21]=y):y=e[21];let j;e[22]===Symbol.for("react.memo_cache_sentinel")?(j=s.jsx(ws,{}),e[22]=j):j=e[22];let P;e[23]===Symbol.for("react.memo_cache_sentinel")?(P=s.jsx(Ge,{onConnectClick:()=>l(!0)}),e[23]=P):P=e[23];let x;e[24]!==c?(x=s.jsx(Be,{open:c,onOpenChange:l}),e[24]=c,e[25]=x):x=e[25];let C;return e[26]!==y||e[27]!==x?(C=s.jsxs(s.Fragment,{children:[f,p,y,j,P,x]}),e[26]=y,e[27]=x,e[28]=C):C=e[28],C}function Ms(){const e=G.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(bt,{group:"billing",errorFallback:Os,children:s.jsx(Rs,{})}),e[0]=t):t=e[0],t}function Os(e){const{error:t}=e;return s.jsx(Es,{error:t??new Error("Failed to load AI providers")})}function zi(){const e=G.c(1);let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=s.jsx(Qt,{capability:"ai-providers:manage",area:"AI providers",children:s.jsx(Ms,{})}),e[0]=t):t=e[0],t}export{zi as default};
@@ -1 +1 @@
1
- import{c as n,n as o,j as c,bJ as d}from"./index-kc-p0Tho.js";const u=d("relative w-full rounded-lg border px-4 py-3 text-sm flex items-start gap-3 [&>svg]:size-4 [&>svg]:flex-shrink-0 [&>svg]:mt-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-destructive/5 text-destructive border-destructive/25 [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-warning/10 text-warning-foreground border-warning [&>svg]:text-current *:data-[slot=alert-description]:text-warning-foreground/90",success:"bg-success/10 text-success-foreground border-success [&>svg]:text-current *:data-[slot=alert-description]:text-success-foreground/90",info:"bg-card text-card-foreground border-border [&>svg]:text-current *:data-[slot=alert-description]:text-muted-foreground/90"}},defaultVariants:{variant:"default"}});function f(l){const e=n.c(10);let t,r,s;e[0]!==l?({className:t,variant:s,...r}=l,e[0]=l,e[1]=t,e[2]=r,e[3]=s):(t=e[1],r=e[2],s=e[3]);let a;e[4]!==t||e[5]!==s?(a=o(u({variant:s}),t),e[4]=t,e[5]=s,e[6]=a):a=e[6];let i;return e[7]!==r||e[8]!==a?(i=c.jsx("div",{"data-slot":"alert",role:"alert",className:a,...r}),e[7]=r,e[8]=a,e[9]=i):i=e[9],i}function x(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("line-clamp-1 min-h-4 font-medium tracking-tight",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-title",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}function v(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("text-muted-foreground leading-relaxed",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-description",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}export{f as A,x as a,v as b};
1
+ import{c as n,n as o,j as c,bJ as d}from"./index-4YcsQ5rT.js";const u=d("relative w-full rounded-lg border px-4 py-3 text-sm flex items-start gap-3 [&>svg]:size-4 [&>svg]:flex-shrink-0 [&>svg]:mt-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-destructive/5 text-destructive border-destructive/25 [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",warning:"bg-warning/10 text-warning-foreground border-warning [&>svg]:text-current *:data-[slot=alert-description]:text-warning-foreground/90",success:"bg-success/10 text-success-foreground border-success [&>svg]:text-current *:data-[slot=alert-description]:text-success-foreground/90",info:"bg-card text-card-foreground border-border [&>svg]:text-current *:data-[slot=alert-description]:text-muted-foreground/90"}},defaultVariants:{variant:"default"}});function f(l){const e=n.c(10);let t,r,s;e[0]!==l?({className:t,variant:s,...r}=l,e[0]=l,e[1]=t,e[2]=r,e[3]=s):(t=e[1],r=e[2],s=e[3]);let a;e[4]!==t||e[5]!==s?(a=o(u({variant:s}),t),e[4]=t,e[5]=s,e[6]=a):a=e[6];let i;return e[7]!==r||e[8]!==a?(i=c.jsx("div",{"data-slot":"alert",role:"alert",className:a,...r}),e[7]=r,e[8]=a,e[9]=i):i=e[9],i}function x(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("line-clamp-1 min-h-4 font-medium tracking-tight",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-title",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}function v(l){const e=n.c(8);let t,r;e[0]!==l?({className:t,...r}=l,e[0]=l,e[1]=t,e[2]=r):(t=e[1],r=e[2]);let s;e[3]!==t?(s=o("text-muted-foreground leading-relaxed",t),e[3]=t,e[4]=s):s=e[4];let a;return e[5]!==r||e[6]!==s?(a=c.jsx("div",{"data-slot":"alert-description",className:s,...r}),e[5]=r,e[6]=s,e[7]=a):a=e[7],a}export{f as A,x as a,v as b};
@@ -1,4 +1,4 @@
1
- import{r as i,j as r,e5 as w,e6 as T,bv as m,ea as A,f8 as O,J as M,bx as I,e4 as z,f9 as v,e7 as F,fa as L,bt as G,e9 as k,e8 as B,c as n,n as p,bB as D}from"./index-kc-p0Tho.js";var x="AlertDialog",[H]=G(x,[v]),d=v(),N=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(z,{...a,...t,modal:!0})};N.displayName=x;var V="AlertDialogTrigger",W=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(k,{...o,...a,ref:e})});W.displayName=V;var Y="AlertDialogPortal",y=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(F,{...a,...t})};y.displayName=Y;var q="AlertDialogOverlay",_=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(B,{...o,...a,ref:e})});_.displayName=q;var f="AlertDialogContent",[J,K]=H(f),Q=L("AlertDialogContent"),j=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,children:a,...o}=l,s=d(t),c=i.useRef(null),P=m(e,c),u=i.useRef(null);return r.jsx(O,{contentName:f,titleName:b,docsSlug:"alert-dialog",children:r.jsx(J,{scope:t,cancelRef:u,children:r.jsxs(M,{role:"alertdialog",...s,...o,ref:P,onOpenAutoFocus:I(o.onOpenAutoFocus,g=>{g.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[r.jsx(Q,{children:a}),r.jsx(X,{contentRef:c})]})})})});j.displayName=f;var b="AlertDialogTitle",h=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(w,{...o,...a,ref:e})});h.displayName=b;var E="AlertDialogDescription",R=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(T,{...o,...a,ref:e})});R.displayName=E;var U="AlertDialogAction",C=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(A,{...o,...a,ref:e})});C.displayName=U;var $="AlertDialogCancel",S=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,{cancelRef:o}=K($,t),s=d(t),c=m(e,o);return r.jsx(A,{...s,...a,ref:c})});S.displayName=$;var X=({contentRef:l})=>{const e=`\`${f}\` requires a description for the component to be accessible for screen reader users.
1
+ import{r as i,j as r,e5 as w,e6 as T,bv as m,ea as A,f8 as O,J as M,bx as I,e4 as z,f9 as v,e7 as F,fa as L,bt as G,e9 as k,e8 as B,c as n,n as p,bB as D}from"./index-4YcsQ5rT.js";var x="AlertDialog",[H]=G(x,[v]),d=v(),N=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(z,{...a,...t,modal:!0})};N.displayName=x;var V="AlertDialogTrigger",W=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(k,{...o,...a,ref:e})});W.displayName=V;var Y="AlertDialogPortal",y=l=>{const{__scopeAlertDialog:e,...t}=l,a=d(e);return r.jsx(F,{...a,...t})};y.displayName=Y;var q="AlertDialogOverlay",_=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(B,{...o,...a,ref:e})});_.displayName=q;var f="AlertDialogContent",[J,K]=H(f),Q=L("AlertDialogContent"),j=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,children:a,...o}=l,s=d(t),c=i.useRef(null),P=m(e,c),u=i.useRef(null);return r.jsx(O,{contentName:f,titleName:b,docsSlug:"alert-dialog",children:r.jsx(J,{scope:t,cancelRef:u,children:r.jsxs(M,{role:"alertdialog",...s,...o,ref:P,onOpenAutoFocus:I(o.onOpenAutoFocus,g=>{g.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[r.jsx(Q,{children:a}),r.jsx(X,{contentRef:c})]})})})});j.displayName=f;var b="AlertDialogTitle",h=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(w,{...o,...a,ref:e})});h.displayName=b;var E="AlertDialogDescription",R=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(T,{...o,...a,ref:e})});R.displayName=E;var U="AlertDialogAction",C=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,o=d(t);return r.jsx(A,{...o,...a,ref:e})});C.displayName=U;var $="AlertDialogCancel",S=i.forwardRef((l,e)=>{const{__scopeAlertDialog:t,...a}=l,{cancelRef:o}=K($,t),s=d(t),c=m(e,o);return r.jsx(A,{...s,...a,ref:c})});S.displayName=$;var X=({contentRef:l})=>{const e=`\`${f}\` requires a description for the component to be accessible for screen reader users.
2
2
 
3
3
  You can add a description to the \`${f}\` by passing a \`${E}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
4
 
@@ -1 +1 @@
1
- import{c as v,j as t,dy as se,b as F,r as L,B as N,t as R}from"./index-kc-p0Tho.js";import{i as ie}from"./AlertCircle-COfoHlYo.js";import{a as le}from"./Copy01-DT_VNucR.js";import{i as J}from"./Key01-28MkH09O.js";import{s as M}from"./Plus-DEP38EYY.js";import{s as ne}from"./Trash01-CiqyPob_.js";import{A as ae,a as re,b as oe,c as ce,d as de,e as me,f as fe,g as pe}from"./alert-dialog-EuQzy5n4.js";import{b as Q,h as U,a as V,c as W,d as X,e as Y}from"./dialog-v9lm8kV3.js";import{I as Z}from"./input-CoA1YEYW.js";import{L as ue}from"./label-COrU7OvG.js";import{a as xe,b as ge,u as ye}from"./use-api-keys-Ba1kau-j.js";import{R as he}from"./require-capability-B-toWf1T.js";import"./use-mcp-client-C2WpJqGp.js";import"./constants-dLUUoWH7.js";import"./auth-Ck-CYI0s.js";import"./access-gate-Doy8MTWW.js";import"./capability-load-error-D0M3HC9t.js";function je(c){const e=v.c(6),{error:d}=c,r=F();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(ie,{size:16}),e[0]=i):i=e[0];let s;e[1]!==d.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:d.message}),e[1]=d.message,e[2]=r,e[3]=s):s=e[3];let l;return e[4]!==s?(l=t.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[i,t.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=l):l=e[5],l}function Ke(c){const e=v.c(20),{apiKey:d,onDelete:r}=c,i=F();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:t.jsx(J,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let l;e[1]!==d.name?(l=t.jsx("span",{className:"font-medium text-sm truncate block",children:d.name}),e[1]=d.name,e[2]=l):l=e[2];let o;e[3]!==d.createdAt||e[4]!==i?(o=i("settings.apiKeys.createdAt",{date:new Date(d.createdAt).toLocaleDateString()}),e[3]=d.createdAt,e[4]=i,e[5]=o):o=e[5];let n;e[6]!==o?(n=t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:o}),e[6]=o,e[7]=n):n=e[7];let m;e[8]!==l||e[9]!==n?(m=t.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[s,t.jsxs("div",{className:"min-w-0",children:[l,n]})]}),e[8]=l,e[9]=n,e[10]=m):m=e[10];let a;e[11]!==i?(a=i("settings.apiKeys.deleteKey"),e[11]=i,e[12]=a):a=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(ne,{size:14}),e[13]=f):f=e[13];let u;e[14]!==r||e[15]!==a?(u=t.jsx(N,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:r,"aria-label":a,children:f}),e[14]=r,e[15]=a,e[16]=u):u=e[16];let p;return e[17]!==m||e[18]!==u?(p=t.jsxs("div",{className:"flex items-start justify-between gap-4 py-3 border-b border-border/60 last:border-b-0",children:[m,u]}),e[17]=m,e[18]=u,e[19]=p):p=e[19],p}function be(c){const e=v.c(21),{onCreate:d}=c,r=F();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:t.jsx(J,{size:20,className:"text-muted-foreground"})}),e[0]=i):i=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let l;e[3]!==s?(l=t.jsx("p",{className:"font-medium text-sm",children:s}),e[3]=s,e[4]=l):l=e[4];let o;e[5]!==r?(o=r("settings.apiKeys.emptyDescription"),e[5]=r,e[6]=o):o=e[6];let n;e[7]!==o?(n=t.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:o}),e[7]=o,e[8]=n):n=e[8];let m;e[9]!==l||e[10]!==n?(m=t.jsxs("div",{children:[l,n]}),e[9]=l,e[10]=n,e[11]=m):m=e[11];let a;e[12]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(M,{size:14}),e[12]=a):a=e[12];let f;e[13]!==r?(f=r("settings.apiKeys.newKey"),e[13]=r,e[14]=f):f=e[14];let u;e[15]!==d||e[16]!==f?(u=t.jsxs(N,{onClick:d,size:"sm",className:"mt-2",children:[a,f]}),e[15]=d,e[16]=f,e[17]=u):u=e[17];let p;return e[18]!==m||e[19]!==u?(p=t.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[i,m,u]}),e[18]=m,e[19]=u,e[20]=p):p=e[20],p}function H(c){const e=v.c(40),{createdKey:d,onClose:r}=c,i=F(),s=d!==null;let l;e[0]!==r?(l=A=>!A&&r(),e[0]=r,e[1]=l):l=e[1];let o;e[2]!==i?(o=i("settings.apiKeys.createdTitle"),e[2]=i,e[3]=o):o=e[3];let n;e[4]!==o?(n=t.jsx(Q,{children:o}),e[4]=o,e[5]=n):n=e[5];let m;e[6]!==i?(m=i("settings.apiKeys.createdDescription"),e[6]=i,e[7]=m):m=e[7];let a;e[8]!==m?(a=t.jsx(U,{children:m}),e[8]=m,e[9]=a):a=e[9];let f;e[10]!==n||e[11]!==a?(f=t.jsxs(V,{children:[n,a]}),e[10]=n,e[11]=a,e[12]=f):f=e[12];const u=d?.key??"";let p;e[13]!==u?(p=t.jsx(Z,{readOnly:!0,value:u,className:"font-mono text-xs"}),e[13]=u,e[14]=p):p=e[14];let x;e[15]!==d||e[16]!==i?(x=()=>{d&&(navigator.clipboard?.writeText(d.key),R.success(i("settings.apiKeys.copied")))},e[15]=d,e[16]=i,e[17]=x):x=e[17];let g;e[18]!==i?(g=i("settings.apiKeys.copyKey"),e[18]=i,e[19]=g):g=e[19];let b;e[20]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(le,{size:14}),e[20]=b):b=e[20];let y;e[21]!==x||e[22]!==g?(y=t.jsx(N,{type:"button",variant:"outline",size:"icon",onClick:x,"aria-label":g,children:b}),e[21]=x,e[22]=g,e[23]=y):y=e[23];let h;e[24]!==y||e[25]!==p?(h=t.jsxs("div",{className:"flex items-center gap-2",children:[p,y]}),e[24]=y,e[25]=p,e[26]=h):h=e[26];let j;e[27]!==i?(j=i("settings.apiKeys.done"),e[27]=i,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=t.jsx(W,{children:t.jsx(N,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let C;e[32]!==h||e[33]!==K||e[34]!==f?(C=t.jsxs(X,{className:"sm:max-w-lg",children:[f,h,K]}),e[32]=h,e[33]=K,e[34]=f,e[35]=C):C=e[35];let D;return e[36]!==s||e[37]!==C||e[38]!==l?(D=t.jsx(Y,{open:s,onOpenChange:l,children:C}),e[36]=s,e[37]=C,e[38]=l,e[39]=D):D=e[39],D}function G(c){const e=v.c(64),{open:d,onOpenChange:r,onCreated:i}=c,s=F(),[l,o]=L.useState(""),n=ye();let m;e[0]!==r?(m=function(){o(""),r(!1)},e[0]=r,e[1]=m):m=e[1];const a=m;let f;e[2]!==n||e[3]!==a||e[4]!==l||e[5]!==i||e[6]!==s?(f=async function(te){if(te.preventDefault(),!!l.trim())try{const I=await n.mutateAsync({name:l.trim()});a(),i(I)}catch(I){const q=I;R.error(q instanceof Error?q.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=n,e[3]=a,e[4]=l,e[5]=i,e[6]=s,e[7]=f):f=e[7];const u=f;let p;e[8]!==a||e[9]!==r?(p=$=>{$?r($):a()},e[8]=a,e[9]=r,e[10]=p):p=e[10];let x;e[11]!==s?(x=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=x):x=e[12];let g;e[13]!==x?(g=t.jsx(Q,{children:x}),e[13]=x,e[14]=g):g=e[14];let b;e[15]!==s?(b=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=b):b=e[16];let y;e[17]!==b?(y=t.jsx(U,{children:b}),e[17]=b,e[18]=y):y=e[18];let h;e[19]!==g||e[20]!==y?(h=t.jsxs(V,{children:[g,y]}),e[19]=g,e[20]=y,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=t.jsx(ue,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=$=>o($.target.value),e[26]=C):C=e[26];let D;e[27]!==s?(D=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=D):D=e[28];let A;e[29]!==l||e[30]!==D?(A=t.jsx(Z,{id:"api-key-name",value:l,onChange:C,placeholder:D,autoComplete:"off",required:!0}),e[29]=l,e[30]=D,e[31]=A):A=e[31];let k;e[32]!==K||e[33]!==A?(k=t.jsxs("div",{className:"space-y-1.5",children:[K,A]}),e[32]=K,e[33]=A,e[34]=k):k=e[34];const ee=n.isPending;let S;e[35]!==s?(S=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=S):S=e[36];let _;e[37]!==n.isPending||e[38]!==a||e[39]!==S?(_=t.jsx(N,{type:"button",variant:"outline",onClick:a,disabled:ee,children:S}),e[37]=n.isPending,e[38]=a,e[39]=S,e[40]=_):_=e[40];let w;e[41]!==n.isPending||e[42]!==l?(w=n.isPending||!l.trim(),e[41]=n.isPending,e[42]=l,e[43]=w):w=e[43];let P;e[44]!==n.isPending||e[45]!==s?(P=n.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=n.isPending,e[45]=s,e[46]=P):P=e[46];let z;e[47]!==w||e[48]!==P?(z=t.jsx(N,{type:"submit",disabled:w,children:P}),e[47]=w,e[48]=P,e[49]=z):z=e[49];let T;e[50]!==_||e[51]!==z?(T=t.jsxs(W,{children:[_,z]}),e[50]=_,e[51]=z,e[52]=T):T=e[52];let O;e[53]!==u||e[54]!==k||e[55]!==T?(O=t.jsxs("form",{onSubmit:u,className:"space-y-4",children:[k,T]}),e[53]=u,e[54]=k,e[55]=T,e[56]=O):O=e[56];let E;e[57]!==O||e[58]!==h?(E=t.jsxs(X,{className:"sm:max-w-lg",children:[h,O]}),e[57]=O,e[58]=h,e[59]=E):E=e[59];let B;return e[60]!==d||e[61]!==E||e[62]!==p?(B=t.jsx(Y,{open:d,onOpenChange:p,children:E}),e[60]=d,e[61]=E,e[62]=p,e[63]=B):B=e[63],B}function Ce(){const c=F(),{data:e=[]}=xe(),d=ge(),[r,i]=L.useState(!1),[s,l]=L.useState(null),[o,n]=L.useState(null);async function m(){if(o)try{await d.mutateAsync(o.id),R.success(c("settings.apiKeys.keyDeleted",{name:o.name}))}catch(a){R.error(a instanceof Error?a.message:c("settings.apiKeys.failedToDeleteKey"))}finally{n(null)}}return e.length===0?t.jsxs(t.Fragment,{children:[t.jsx(be,{onCreate:()=>i(!0)}),t.jsx(G,{open:r,onOpenChange:i,onCreated:l}),t.jsx(H,{createdKey:s,onClose:()=>l(null)})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("p",{className:"text-sm text-muted-foreground",children:c(e.length===1?"settings.apiKeys.keysCountSingular":"settings.apiKeys.keysCountPlural",{count:e.length})}),t.jsxs(N,{onClick:()=>i(!0),size:"sm",children:[t.jsx(M,{size:14}),c("settings.apiKeys.newKey")]})]}),t.jsx("section",{className:"rounded-2xl border border-border/60 bg-background p-5",children:t.jsx("div",{children:e.map(a=>t.jsx(Ke,{apiKey:a,onDelete:()=>n(a)},a.id))})}),t.jsx(G,{open:r,onOpenChange:i,onCreated:l}),t.jsx(H,{createdKey:s,onClose:()=>l(null)}),t.jsx(ae,{open:o!==null,onOpenChange:a=>{a||n(null)},children:t.jsxs(re,{children:[t.jsxs(oe,{children:[t.jsx(ce,{children:c("settings.apiKeys.deleteTitle",{name:o?.name??""})}),t.jsx(de,{children:c("settings.apiKeys.deleteDescription")})]}),t.jsxs(me,{children:[t.jsx(fe,{children:c("settings.apiKeys.cancelButton")}),t.jsx(pe,{onClick:m,children:c("settings.apiKeys.deleteKey")})]})]})})]})}function De(){const c=v.c(1);let e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(se,{group:"connect",errorFallback:Ae,children:t.jsx(Ce,{})}),c[0]=e):e=c[0],e}function Ae(c){const{error:e}=c;return t.jsx(je,{error:e??new Error("Failed to load API keys")})}function qe(){const c=v.c(1);let e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(he,{capability:"api-keys:manage",area:"api-keys",children:t.jsx(De,{})}),c[0]=e):e=c[0],e}export{qe as default};
1
+ import{c as v,j as t,dy as se,b as F,r as L,B as N,t as R}from"./index-4YcsQ5rT.js";import{i as ie}from"./AlertCircle-BVWJug5I.js";import{a as le}from"./Copy01-DY0oXPux.js";import{i as J}from"./Key01-COjyAPgn.js";import{s as M}from"./Plus-CQqghpHx.js";import{s as ne}from"./Trash01-D4Gmo3CK.js";import{A as ae,a as re,b as oe,c as ce,d as de,e as me,f as fe,g as pe}from"./alert-dialog-0Ff1N_Jf.js";import{b as Q,h as U,a as V,c as W,d as X,e as Y}from"./dialog-CzFdWv_E.js";import{I as Z}from"./input-Ct0sUIqh.js";import{L as ue}from"./label-AWSh-duW.js";import{a as xe,b as ge,u as ye}from"./use-api-keys-Cw0VueVn.js";import{R as he}from"./require-capability-BN_IBqan.js";import"./use-mcp-client-Cw8yw85P.js";import"./constants-dLUUoWH7.js";import"./auth-B5Pc1e6R.js";import"./access-gate-p1U5MuOF.js";import"./capability-load-error-B8M2WPia.js";function je(c){const e=v.c(6),{error:d}=c,r=F();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(ie,{size:16}),e[0]=i):i=e[0];let s;e[1]!==d.message||e[2]!==r?(s=r("settings.apiKeys.failedToLoadError",{error:d.message}),e[1]=d.message,e[2]=r,e[3]=s):s=e[3];let l;return e[4]!==s?(l=t.jsxs("div",{className:"p-4 rounded-md bg-destructive/10 text-destructive flex items-center gap-2",children:[i,t.jsx("span",{className:"text-sm font-medium",children:s})]}),e[4]=s,e[5]=l):l=e[5],l}function Ke(c){const e=v.c(20),{apiKey:d,onDelete:r}=c,i=F();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx("div",{className:"size-9 rounded-md bg-muted flex items-center justify-center shrink-0",children:t.jsx(J,{size:16,className:"text-muted-foreground"})}),e[0]=s):s=e[0];let l;e[1]!==d.name?(l=t.jsx("span",{className:"font-medium text-sm truncate block",children:d.name}),e[1]=d.name,e[2]=l):l=e[2];let o;e[3]!==d.createdAt||e[4]!==i?(o=i("settings.apiKeys.createdAt",{date:new Date(d.createdAt).toLocaleDateString()}),e[3]=d.createdAt,e[4]=i,e[5]=o):o=e[5];let n;e[6]!==o?(n=t.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:o}),e[6]=o,e[7]=n):n=e[7];let m;e[8]!==l||e[9]!==n?(m=t.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[s,t.jsxs("div",{className:"min-w-0",children:[l,n]})]}),e[8]=l,e[9]=n,e[10]=m):m=e[10];let a;e[11]!==i?(a=i("settings.apiKeys.deleteKey"),e[11]=i,e[12]=a):a=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(ne,{size:14}),e[13]=f):f=e[13];let u;e[14]!==r||e[15]!==a?(u=t.jsx(N,{variant:"ghost",size:"icon",className:"text-muted-foreground hover:text-destructive shrink-0",onClick:r,"aria-label":a,children:f}),e[14]=r,e[15]=a,e[16]=u):u=e[16];let p;return e[17]!==m||e[18]!==u?(p=t.jsxs("div",{className:"flex items-start justify-between gap-4 py-3 border-b border-border/60 last:border-b-0",children:[m,u]}),e[17]=m,e[18]=u,e[19]=p):p=e[19],p}function be(c){const e=v.c(21),{onCreate:d}=c,r=F();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx("div",{className:"size-12 rounded-full bg-muted flex items-center justify-center",children:t.jsx(J,{size:20,className:"text-muted-foreground"})}),e[0]=i):i=e[0];let s;e[1]!==r?(s=r("settings.apiKeys.emptyTitle"),e[1]=r,e[2]=s):s=e[2];let l;e[3]!==s?(l=t.jsx("p",{className:"font-medium text-sm",children:s}),e[3]=s,e[4]=l):l=e[4];let o;e[5]!==r?(o=r("settings.apiKeys.emptyDescription"),e[5]=r,e[6]=o):o=e[6];let n;e[7]!==o?(n=t.jsx("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm",children:o}),e[7]=o,e[8]=n):n=e[8];let m;e[9]!==l||e[10]!==n?(m=t.jsxs("div",{children:[l,n]}),e[9]=l,e[10]=n,e[11]=m):m=e[11];let a;e[12]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(M,{size:14}),e[12]=a):a=e[12];let f;e[13]!==r?(f=r("settings.apiKeys.newKey"),e[13]=r,e[14]=f):f=e[14];let u;e[15]!==d||e[16]!==f?(u=t.jsxs(N,{onClick:d,size:"sm",className:"mt-2",children:[a,f]}),e[15]=d,e[16]=f,e[17]=u):u=e[17];let p;return e[18]!==m||e[19]!==u?(p=t.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 p-10 flex flex-col items-center justify-center text-center gap-3",children:[i,m,u]}),e[18]=m,e[19]=u,e[20]=p):p=e[20],p}function H(c){const e=v.c(40),{createdKey:d,onClose:r}=c,i=F(),s=d!==null;let l;e[0]!==r?(l=A=>!A&&r(),e[0]=r,e[1]=l):l=e[1];let o;e[2]!==i?(o=i("settings.apiKeys.createdTitle"),e[2]=i,e[3]=o):o=e[3];let n;e[4]!==o?(n=t.jsx(Q,{children:o}),e[4]=o,e[5]=n):n=e[5];let m;e[6]!==i?(m=i("settings.apiKeys.createdDescription"),e[6]=i,e[7]=m):m=e[7];let a;e[8]!==m?(a=t.jsx(U,{children:m}),e[8]=m,e[9]=a):a=e[9];let f;e[10]!==n||e[11]!==a?(f=t.jsxs(V,{children:[n,a]}),e[10]=n,e[11]=a,e[12]=f):f=e[12];const u=d?.key??"";let p;e[13]!==u?(p=t.jsx(Z,{readOnly:!0,value:u,className:"font-mono text-xs"}),e[13]=u,e[14]=p):p=e[14];let x;e[15]!==d||e[16]!==i?(x=()=>{d&&(navigator.clipboard?.writeText(d.key),R.success(i("settings.apiKeys.copied")))},e[15]=d,e[16]=i,e[17]=x):x=e[17];let g;e[18]!==i?(g=i("settings.apiKeys.copyKey"),e[18]=i,e[19]=g):g=e[19];let b;e[20]===Symbol.for("react.memo_cache_sentinel")?(b=t.jsx(le,{size:14}),e[20]=b):b=e[20];let y;e[21]!==x||e[22]!==g?(y=t.jsx(N,{type:"button",variant:"outline",size:"icon",onClick:x,"aria-label":g,children:b}),e[21]=x,e[22]=g,e[23]=y):y=e[23];let h;e[24]!==y||e[25]!==p?(h=t.jsxs("div",{className:"flex items-center gap-2",children:[p,y]}),e[24]=y,e[25]=p,e[26]=h):h=e[26];let j;e[27]!==i?(j=i("settings.apiKeys.done"),e[27]=i,e[28]=j):j=e[28];let K;e[29]!==r||e[30]!==j?(K=t.jsx(W,{children:t.jsx(N,{onClick:r,children:j})}),e[29]=r,e[30]=j,e[31]=K):K=e[31];let C;e[32]!==h||e[33]!==K||e[34]!==f?(C=t.jsxs(X,{className:"sm:max-w-lg",children:[f,h,K]}),e[32]=h,e[33]=K,e[34]=f,e[35]=C):C=e[35];let D;return e[36]!==s||e[37]!==C||e[38]!==l?(D=t.jsx(Y,{open:s,onOpenChange:l,children:C}),e[36]=s,e[37]=C,e[38]=l,e[39]=D):D=e[39],D}function G(c){const e=v.c(64),{open:d,onOpenChange:r,onCreated:i}=c,s=F(),[l,o]=L.useState(""),n=ye();let m;e[0]!==r?(m=function(){o(""),r(!1)},e[0]=r,e[1]=m):m=e[1];const a=m;let f;e[2]!==n||e[3]!==a||e[4]!==l||e[5]!==i||e[6]!==s?(f=async function(te){if(te.preventDefault(),!!l.trim())try{const I=await n.mutateAsync({name:l.trim()});a(),i(I)}catch(I){const q=I;R.error(q instanceof Error?q.message:s("settings.apiKeys.failedToCreateKey"))}},e[2]=n,e[3]=a,e[4]=l,e[5]=i,e[6]=s,e[7]=f):f=e[7];const u=f;let p;e[8]!==a||e[9]!==r?(p=$=>{$?r($):a()},e[8]=a,e[9]=r,e[10]=p):p=e[10];let x;e[11]!==s?(x=s("settings.apiKeys.newKeyTitle"),e[11]=s,e[12]=x):x=e[12];let g;e[13]!==x?(g=t.jsx(Q,{children:x}),e[13]=x,e[14]=g):g=e[14];let b;e[15]!==s?(b=s("settings.apiKeys.newKeyDescription"),e[15]=s,e[16]=b):b=e[16];let y;e[17]!==b?(y=t.jsx(U,{children:b}),e[17]=b,e[18]=y):y=e[18];let h;e[19]!==g||e[20]!==y?(h=t.jsxs(V,{children:[g,y]}),e[19]=g,e[20]=y,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=t.jsx(ue,{htmlFor:"api-key-name",children:j}),e[24]=j,e[25]=K):K=e[25];let C;e[26]===Symbol.for("react.memo_cache_sentinel")?(C=$=>o($.target.value),e[26]=C):C=e[26];let D;e[27]!==s?(D=s("settings.apiKeys.namePlaceholder"),e[27]=s,e[28]=D):D=e[28];let A;e[29]!==l||e[30]!==D?(A=t.jsx(Z,{id:"api-key-name",value:l,onChange:C,placeholder:D,autoComplete:"off",required:!0}),e[29]=l,e[30]=D,e[31]=A):A=e[31];let k;e[32]!==K||e[33]!==A?(k=t.jsxs("div",{className:"space-y-1.5",children:[K,A]}),e[32]=K,e[33]=A,e[34]=k):k=e[34];const ee=n.isPending;let S;e[35]!==s?(S=s("settings.apiKeys.cancelButton"),e[35]=s,e[36]=S):S=e[36];let _;e[37]!==n.isPending||e[38]!==a||e[39]!==S?(_=t.jsx(N,{type:"button",variant:"outline",onClick:a,disabled:ee,children:S}),e[37]=n.isPending,e[38]=a,e[39]=S,e[40]=_):_=e[40];let w;e[41]!==n.isPending||e[42]!==l?(w=n.isPending||!l.trim(),e[41]=n.isPending,e[42]=l,e[43]=w):w=e[43];let P;e[44]!==n.isPending||e[45]!==s?(P=n.isPending?s("settings.apiKeys.creatingButton"):s("settings.apiKeys.createButton"),e[44]=n.isPending,e[45]=s,e[46]=P):P=e[46];let z;e[47]!==w||e[48]!==P?(z=t.jsx(N,{type:"submit",disabled:w,children:P}),e[47]=w,e[48]=P,e[49]=z):z=e[49];let T;e[50]!==_||e[51]!==z?(T=t.jsxs(W,{children:[_,z]}),e[50]=_,e[51]=z,e[52]=T):T=e[52];let O;e[53]!==u||e[54]!==k||e[55]!==T?(O=t.jsxs("form",{onSubmit:u,className:"space-y-4",children:[k,T]}),e[53]=u,e[54]=k,e[55]=T,e[56]=O):O=e[56];let E;e[57]!==O||e[58]!==h?(E=t.jsxs(X,{className:"sm:max-w-lg",children:[h,O]}),e[57]=O,e[58]=h,e[59]=E):E=e[59];let B;return e[60]!==d||e[61]!==E||e[62]!==p?(B=t.jsx(Y,{open:d,onOpenChange:p,children:E}),e[60]=d,e[61]=E,e[62]=p,e[63]=B):B=e[63],B}function Ce(){const c=F(),{data:e=[]}=xe(),d=ge(),[r,i]=L.useState(!1),[s,l]=L.useState(null),[o,n]=L.useState(null);async function m(){if(o)try{await d.mutateAsync(o.id),R.success(c("settings.apiKeys.keyDeleted",{name:o.name}))}catch(a){R.error(a instanceof Error?a.message:c("settings.apiKeys.failedToDeleteKey"))}finally{n(null)}}return e.length===0?t.jsxs(t.Fragment,{children:[t.jsx(be,{onCreate:()=>i(!0)}),t.jsx(G,{open:r,onOpenChange:i,onCreated:l}),t.jsx(H,{createdKey:s,onClose:()=>l(null)})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("p",{className:"text-sm text-muted-foreground",children:c(e.length===1?"settings.apiKeys.keysCountSingular":"settings.apiKeys.keysCountPlural",{count:e.length})}),t.jsxs(N,{onClick:()=>i(!0),size:"sm",children:[t.jsx(M,{size:14}),c("settings.apiKeys.newKey")]})]}),t.jsx("section",{className:"rounded-2xl border border-border/60 bg-background p-5",children:t.jsx("div",{children:e.map(a=>t.jsx(Ke,{apiKey:a,onDelete:()=>n(a)},a.id))})}),t.jsx(G,{open:r,onOpenChange:i,onCreated:l}),t.jsx(H,{createdKey:s,onClose:()=>l(null)}),t.jsx(ae,{open:o!==null,onOpenChange:a=>{a||n(null)},children:t.jsxs(re,{children:[t.jsxs(oe,{children:[t.jsx(ce,{children:c("settings.apiKeys.deleteTitle",{name:o?.name??""})}),t.jsx(de,{children:c("settings.apiKeys.deleteDescription")})]}),t.jsxs(me,{children:[t.jsx(fe,{children:c("settings.apiKeys.cancelButton")}),t.jsx(pe,{onClick:m,children:c("settings.apiKeys.deleteKey")})]})]})})]})}function De(){const c=v.c(1);let e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(se,{group:"connect",errorFallback:Ae,children:t.jsx(Ce,{})}),c[0]=e):e=c[0],e}function Ae(c){const{error:e}=c;return t.jsx(je,{error:e??new Error("Failed to load API keys")})}function qe(){const c=v.c(1);let e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(e=t.jsx(he,{capability:"api-keys:manage",area:"api-keys",children:t.jsx(De,{})}),c[0]=e):e=c[0],e}export{qe as default};
@@ -0,0 +1 @@
1
+ import{c as Bt,b as jt,r as A,j as o,n as _t,k as wt,t as ht}from"./index-4YcsQ5rT.js";import{b as At}from"./chat-context-Dkhobhg8.js";import{i as Et}from"./ChevronRight-eURWqwf-.js";import{S as Nt}from"./scroll-area-uX6yPQML.js";import{u as Rt,A as Ct}from"./use-section-preview-base-Dy2Wshxq.js";import{B as Kt,C as Tt,D as Ft,F as Pt,G as $t,H as It,I as Ot,S as Ut,J as zt,K as Lt}from"./index-C0kOoNCv.js";import"./use-panel-navigate-D6GXyAPi.js";import"./dialog-CzFdWv_E.js";import"./Check-xum6ttaQ.js";import"./Copy01-DY0oXPux.js";import"./Download01-ZL7h20oZ.js";import"./use-destination-route-CBTLua1E.js";import"./constants-dLUUoWH7.js";import"./session-runtime-C-KTDVeQ.js";import"./slugify-CEUa2lfQ.js";import"./hooks-TEwkOdLN.js";import"./use-mcp-client-Cw8yw85P.js";import"./auth-B5Pc1e6R.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-B1qPmScV.js";import"./task-board-jDm9sccs.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-2VMmnGJl.js";import"./use-ai-providers-BfwKWlNT.js";import"./use-decopilot-events-Brdzi0_P.js";import"./use-organization-settings-DMPoIn3U.js";import"./select-wTdyc29Q.js";import"./ChevronDown-DPpA8Dbp.js";import"./ChevronUp-BOTFm6bq.js";import"./agent-icon-DNwubGAI.js";import"./AlertCircle-BVWJug5I.js";import"./UserSquare-Beayep0j.js";import"./Tool01-DdZkcfvV.js";import"./ArrowUp-3VjPGHwe.js";import"./ArrowLeft-CuOJLpYp.js";import"./Tool02-2iK-m_KO.js";import"./XCircle-BGJFc73T.js";import"./TrendUp01-5QvTgHWQ.js";import"./ZapSquare-D-EFq_dE.js";import"./Users03-C3U-X-mI.js";import"./CheckCircle-DvVxqf27.js";import"./ChevronSelectorVertical-BJ_tEAoM.js";import"./DotsVertical-CmWdjVkt.js";import"./Stars02-DKadbM7f.js";import"./CreditCard01-CWAomrlK.js";import"./Settings02-Dbk7MmVQ.js";import"./Eye-Cxiih4tN.js";import"./FilterLines-DikSwaCj.js";import"./Share07-D-5TVy6X.js";import"./Globe01-CkMctzyc.js";import"./Globe04-B-iLPaaJ.js";import"./SwitchHorizontal01-BYjWAqvz.js";import"./HardDrive-Tx05rxiS.js";import"./Key01-COjyAPgn.js";import"./LinkExternal01-CjCwMazO.js";import"./LockUnlocked01-oqX2g_Co.js";import"./LogOut01-Dt_DOR7D.js";import"./Monitor01-BdcGfSWn.js";import"./Sun-Cit4FdTC.js";import"./Palette-CwA2z-1Z.js";import"./Play-BGkoV72U.js";import"./Plus-CQqghpHx.js";import"./SearchLg-BJbx8ng6.js";import"./SearchMd-Ch1B_n1t.js";import"./Shield01-B60BPmpa.js";import"./Stars01-RU0hnDJY.js";import"./Trash01-D4Gmo3CK.js";import"./Upload01-TxI8Lmy1.js";import"./User01-DVgIitgv.js";import"./Users01-CZYotbm_.js";import"./XClose-2vlpUf7f.js";import"./Zap-BBaRxr9a.js";import"./input-Ct0sUIqh.js";import"./automation-runs-Bi878PB7.js";import"./useInfiniteQuery-CO269PLd.js";import"./use-infinite-scroll-B0eZAkT1.js";import"./use-connection-C113P3D4.js";import"./table-UizEAfeR.js";import"./empty-state-DU62aVcj.js";import"./use-members-CEcihkaF.js";import"./use-org-auth-client-BQqSTGwN.js";import"./use-automations-CXhG4SKN.js";import"./useSuspenseInfiniteQuery-CS69VFug.js";import"./avatar-DU7Vu6NF.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-BzPCc3PP.js";import"./monaco-editor-D_A_sL1e.js";import"./spinner-B2GG7Xys.js";import"./types-BnP9IxnK.js";import"./shell-layout-D0u14owK.js";import"./required-auth-layout--21owtc0.js";import"./use-org-sso-B2rwowB_.js";import"./integration-icon-6OgCKSdV.js";import"./use-navigate-to-agent-BN4ABUpI.js";import"./chart-C70QnzNs.js";import"./index-BuE-JEwS.js";import"./form-CPEc4S5u.js";import"./label-AWSh-duW.js";import"./file-type-icon-u56W7YOH.js";import"./drawer-Dfgm8c49.js";import"./collection-search-CBCqztFu.js";import"./tabs-Hq5jo9A8.js";import"./toggle-group-DT3qKYLM.js";import"./super-agent-icon-BkJvMRAY.js";import"./self-tool-result-DUmeGarD.js";import"./alert-dialog-0Ff1N_Jf.js";import"./extract-connection-data-BO9kKqC1.js";import"./metadata-dUsYcpuu.js";import"./provision-repo-scoped-github-connection-CMPWtdMv.js";import"./use-debounced-value-nXb2UNEo.js";import"./authenticate-and-persist-oauth-B2nf3Lk8.js";import"./mcp-oauth-fRqby3CY.js";import"./track-BgyeiT2x.js";import"./popover-A0lefVmu.js";import"./toolbar-wStg-dwL.js";import"./github-repo-picker-DZzmAPvj.js";import"./use-mcp-tools-BmjVf4Hf.js";import"./agent-capabilities-B52k7xCe.js";import"./connection-card-C2s3R2Pt.js";import"./use-registry-connections-CBwgsQEm.js";import"./retry-CErkP7V6.js";import"./connection-slug-CITJ0kGN.js";import"./textarea-BNbtdPGO.js";import"./connection-form-helpers-CT3f9bhy.js";import"./collection-tabs-BrljmoEr.js";import"./badge-Dq1BymaB.js";import"./select-model-Bhci4rxp.js";import"./checkbox-DKTB3o_P.js";import"./ai-providers-logos-DD3qZ33J.js";import"./cards-C9JcVEfr.js";import"./dropdown-menu-CTvkGFhl.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-BhYpuE_H.js";import"./use-file-configs-BSJydygI.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-XwXwMzB2.js";import"./search-input-BzaZGMYY.js";import"./use-mcp-auth-status--vNhx8Ad.js";import"./switch-BDugjHf1.js";import"./use-secrets-Bziurutw.js";import"./AreaChart-3uW6yDd3.js";import"./config-r2ebsbnu.js";import"./breadcrumb-CaPOirRc.js";import"./command-CrzPyVjB.js";import"./index-4w7w8tlw.js";import"./get-initials-D-f_fDFw.js";import"./use-tags-4f6KarKj.js";import"./automation-list-row-B537ivCl.js";import"./site-error--i37Vnuw.js";import"./use-org-repo-syncs-CX2lVaeE.js";function Vt(n,t){const s=(n.title||n.resolveType.split("/").pop()||"").replace(/\.(tsx?|jsx?)$/,"").replace(/[^A-Za-z0-9_-]/g,""),i=/^[A-Za-z]/.test(s)&&s.length>0?s:"Section",m=Kt(t,i);return{blockKey:m,data:{__resolveType:n.resolveType,name:m}}}function $r(n){const t=Bt.c(79),{orgSlug:s,virtualMcpId:i,branch:m,blockKey:p,block:x,meta:a,decofile:l,title:bt,excludeFields:H,schemaPending:lt,previewBaseUrl:ct}=n,M=lt===void 0?!1:lt,Z=ct===void 0?null:ct,G=At()?.taskId??null,c=jt();let N;t[0]!==Z||t[1]!==i?(N={virtualMcpId:i,sandboxUrl:Z},t[0]=Z,t[1]=i,t[2]=N):N=t[2];const h=Rt(N),v=typeof x?.__resolveType=="string"?x.__resolveType:"";let R;t[3]!==H||t[4]!==a||t[5]!==v?(R=Tt(v,a,H),t[3]=H,t[4]=a,t[5]=v,t[6]=R):R=t[6];const b=R;let C;t[7]!==b?(C=!!b&&Object.keys(b.properties??{}).length>0,t[7]=b,t[8]=C):C=t[8];const J=C,dt=bt??(x?Ft(p,x,a):p);let K;t[9]!==m||t[10]!==s||t[11]!==i?(K={orgSlug:s,virtualMcpId:i,branch:m},t[9]=m,t[10]=s,t[11]=i,t[12]=K):K=t[12];const{save:S,flush:Q,isPending:W}=Pt(K);let T;t[13]!==m||t[14]!==s||t[15]!==i?(T={orgSlug:s,virtualMcpId:i,branch:m},t[13]=m,t[14]=s,t[15]=i,t[16]=T):T=t[16];const X=$t(T);let F;t[17]!==S?(F=zt((e,r)=>S(e,r)),t[17]=S,t[18]=F):F=t[18];const Y=F,[vt,St]=A.useState(p),[tt,ut]=A.useState(null),[et,ft]=A.useState(0);let P;t[19]===Symbol.for("react.memo_cache_sentinel")?(P=[],t[19]=P):P=t[19];const[g,xt]=A.useState(P),[ot,d]=A.useState(!1),$=A.useRef(null);vt!==p&&(St(p),ut(null),ft(Dt),xt([]));let I;t[20]!==x?(I=x??{},t[20]=x,t[21]=I):I=t[21];const rt=I;let y;t[22]!==tt?(y=tt??{},t[22]=tt,t[23]=y):y=t[23];let O;t[24]!==rt||t[25]!==y?(O={...rt,...y},t[24]=rt,t[25]=y,t[26]=O):O=t[26];const it=O;let U;t[27]!==p||t[28]!==v||t[29]!==S?(U=e=>{const r=e;ut(r),S(p,{...r,__resolveType:v})},t[27]=p,t[28]=v,t[29]=S,t[30]=U):U=t[30];const st=U;let z;t[31]===Symbol.for("react.memo_cache_sentinel")?(z=e=>{xt(e)},t[31]=z):z=t[31];const E=z;let L;t[32]!==l||t[33]!==Q||t[34]!==X||t[35]!==c?(L=async(e,r)=>{try{const{blockKey:u,data:f}=Vt(e,l);await X.mutateAsync({blockKey:u,data:f}),ht.success(c("sandbox.appEditor.createdSection",{name:u})),r({__resolveType:u}),Q()}catch(u){const f=u,kt=f instanceof Error?f.message:c("sandbox.appEditor.failedAddSection");throw ht.error(kt),f}},t[32]=l,t[33]=Q,t[34]=X,t[35]=c,t[36]=L):L=t[36];const k=L;let V;t[37]!==d?(V=e=>{$.current=e.append,d(!0)},t[37]=d,t[38]=V):V=t[38];const mt=V;let q;t[39]!==k||t[40]!==d?(q=async e=>{const r=$.current;if(r)try{await k(e,u=>{r(u),d(!1),$.current=null})}catch{}},t[39]=k,t[40]=d,t[41]=q):q=t[41];const pt=q,at=g.length>0?[dt,...g]:[],gt="flex h-full flex-col",yt="flex h-12 shrink-0 items-center justify-between border-b px-6",nt=at.length>0?o.jsx("nav",{"aria-label":c("sandbox.appEditor.editingBreadcrumb"),className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:at.map((e,r)=>{const u=r===at.length-1,f=It(e);return o.jsxs("span",{className:"flex min-w-0 items-center gap-1 overflow-hidden",children:[r>0&&o.jsx(Et,{className:"size-3 shrink-0 text-muted-foreground/60"}),o.jsx("button",{type:"button",onClick:()=>{E(r===0?[]:Ot(g,r)),ft(qt)},title:f,className:_t("min-w-0 truncate rounded-md px-1 py-0.5 text-left transition-colors",u?"font-medium text-foreground":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:f})]},`${f}-${r}`)})}):o.jsx("span",{className:"text-sm font-medium",children:dt});let B;t[42]!==W?(B=o.jsx(Lt,{isPending:W,isError:!1}),t[42]=W,t[43]=B):B=t[43];let j;t[44]!==nt||t[45]!==B?(j=o.jsxs("div",{className:yt,children:[nt,B]}),t[44]=nt,t[45]=B,t[46]=j):j=t[46];let _;t[47]!==p||t[48]!==m||t[49]!==g||t[50]!==l||t[51]!==it||t[52]!==et||t[53]!==k||t[54]!==E||t[55]!==st||t[56]!==mt||t[57]!==J||t[58]!==a||t[59]!==s||t[60]!==Y||t[61]!==b||t[62]!==M||t[63]!==h||t[64]!==c||t[65]!==G||t[66]!==i?(_=o.jsx(Nt,{className:"min-h-0 min-w-0 flex-1 [&_[data-slot=scroll-area-viewport]>div]:!block",children:o.jsx("div",{className:"px-6 py-6",children:o.jsx("div",{className:"mx-auto max-w-xl",children:J?o.jsx(Ut,{schema:b,value:it,onChange:st,basePath:"",breadcrumbPath:g,onBreadcrumbChange:E,decofile:l,meta:a,onSaveReferencedBlock:Y,previewBaseUrl:h,onAddSectionItem:k,onRequestAddSection:mt,sandbox:{orgSlug:s,virtualMcpId:i,branch:m,threadId:G}},`${p}:${et}`):M?o.jsxs("div",{className:"flex flex-col items-center gap-2 py-6 text-center text-xs text-muted-foreground",children:[o.jsx(wt,{size:16,className:"animate-spin"}),c("sandbox.appEditor.loadingSchema")]}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:c("sandbox.appEditor.noEditableSchema")})})})}),t[47]=p,t[48]=m,t[49]=g,t[50]=l,t[51]=it,t[52]=et,t[53]=k,t[54]=E,t[55]=st,t[56]=mt,t[57]=J,t[58]=a,t[59]=s,t[60]=Y,t[61]=b,t[62]=M,t[63]=h,t[64]=c,t[65]=G,t[66]=i,t[67]=_):_=t[67];let w;t[68]!==ot||t[69]!==l||t[70]!==pt||t[71]!==a||t[72]!==h||t[73]!==d?(w=h&&o.jsx(Ct,{open:ot,onOpenChange:e=>{d(e),e||($.current=null)},meta:a,decofile:l,previewBaseUrl:h,onSelect:e=>{pt(e)}}),t[68]=ot,t[69]=l,t[70]=pt,t[71]=a,t[72]=h,t[73]=d,t[74]=w):w=t[74];let D;return t[75]!==j||t[76]!==_||t[77]!==w?(D=o.jsxs("div",{className:gt,children:[j,_,w]}),t[75]=j,t[76]=_,t[77]=w,t[78]=D):D=t[78],D}function qt(n){return n+1}function Dt(n){return n+1}export{$r as AppEditor};
@@ -1 +1 @@
1
- import{dO as $,dP as v,dQ as W,dR as T,dS as H,dT as V,dU as D,dV as x,dW as q,dX as j,dY as y,dZ as N,d_ as B,d$ as Z,e0 as F}from"./index-kc-p0Tho.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 Q(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 X(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":K(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 K(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 L(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=N.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=B[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 H||n instanceof V)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof D)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 M(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 q(`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 k=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(k),d=k}}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 S=await e.tokens();if(S?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:S.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof j)||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 M(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 $.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??T;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=T}={}){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()):W.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await M(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 F(),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=Q(r,h);X(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await L(u);return x.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 L(s);return Z.parse(await s.json())}export{pe as U,_e as a,P as b,me as c,M as d,Ue as e};
1
+ import{dO as $,dP as v,dQ as W,dR as T,dS as H,dT as V,dU as D,dV as x,dW as q,dX as j,dY as y,dZ as N,d_ as B,d$ as Z,e0 as F}from"./index-4YcsQ5rT.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 Q(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 X(e,t,n,r){const{client_id:a,client_secret:i}=t;switch(e){case"client_secret_basic":K(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 K(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 L(e){const t=e instanceof Response?e.status:void 0,n=e instanceof Response?await e.text():e;try{const r=N.parse(JSON.parse(n)),{error:a,error_description:i,error_uri:s}=r,o=B[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 H||n instanceof V)return await e.invalidateCredentials?.("all"),await U(e,t);if(n instanceof D)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 M(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 q(`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 k=await de(c,{metadata:u,clientMetadata:e.clientMetadata,scope:A,fetchFn:i});await e.saveClientInformation(k),d=k}}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 S=await e.tokens();if(S?.refresh_token)try{const l=await le(c,{metadata:u,clientInformation:d,refreshToken:S.refresh_token,resource:f,addClientAuthentication:e.addClientAuthentication,fetchFn:i});return await e.saveTokens(l),"AUTHORIZED"}catch(l){if(!(!(l instanceof j)||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 M(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 $.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??T;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=T}={}){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()):W.parse(await o.json())}}}async function ce(e,t){let n,r;try{n=await M(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 F(),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=Q(r,h);X(f,r,c,n)}const u=await(s??fetch)(o,{method:"POST",headers:c,body:n});if(!u.ok)throw await L(u);return x.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 L(s);return Z.parse(await s.json())}export{pe as U,_e as a,P as b,me as c,M as d,Ue as e};
@@ -1 +1 @@
1
- import{c as l,f as m,j as t,A as f,S as h,g as x,h as r,i as p,N as u}from"./index-kc-p0Tho.js";function d(){const e=l.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(u,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function g(){const e=l.c(6);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=m(a);if(n==="accept-invitation"){let c;e[1]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(f,{children:t.jsx(h,{})}),e[1]=c):c=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(x,{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(r,{pathname:"accept-invitation"})})}),e[2]=i):i=e[2];let o;return e[3]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs(t.Fragment,{children:[c,i,t.jsx(p,{children:t.jsx(d,{})})]}),e[3]=o):o=e[3],o}let s;return e[4]!==n?(s=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(r,{pathname:n})}),e[4]=n,e[5]=s):s=e[5],s}export{g as default};
1
+ import{c as l,f as m,j as t,A as f,S as h,g as x,h as r,i as p,N as u}from"./index-4YcsQ5rT.js";function d(){const e=l.c(1),a=window.location.pathname+window.location.search;let n;return e[0]===Symbol.for("react.memo_cache_sentinel")?(n=t.jsx(u,{to:"/login",search:{next:a},replace:!0}),e[0]=n):n=e[0],n}function g(){const e=l.c(6);let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={from:"/auth/$pathname"},e[0]=a):a=e[0];const{pathname:n}=m(a);if(n==="accept-invitation"){let c;e[1]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx(f,{children:t.jsx(h,{})}),e[1]=c):c=e[1];let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(x,{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(r,{pathname:"accept-invitation"})})}),e[2]=i):i=e[2];let o;return e[3]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsxs(t.Fragment,{children:[c,i,t.jsx(p,{children:t.jsx(d,{})})]}),e[3]=o):o=e[3],o}let s;return e[4]!==n?(s=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(r,{pathname:n})}),e[4]=n,e[5]=s):s=e[5],s}export{g as default};