decocms 2.312.7 → 2.313.0

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 (184) hide show
  1. package/dist/client/assets/{AlertCircle-C2o5q6vc.js → AlertCircle-VR9e1Kdm.js} +1 -1
  2. package/dist/client/assets/{Archive-DFar6uKs.js → Archive-C8b1PbwD.js} +1 -1
  3. package/dist/client/assets/{ArrowNarrowLeft-Dc1sniQF.js → ArrowNarrowLeft-BomndbPT.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-DoW21rsG.js → ArrowUpRight-BBedSsf2.js} +1 -1
  5. package/dist/client/assets/{Check-C6Q1bblL.js → Check-_x9Smiby.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-BAZINfwL.js → CheckCircle-DqkJltcw.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-CLABqX5x.js → ChevronDown-B0KKFW7z.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-srFzWZbn.js → ChevronRight-DmzXQRyN.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-CYhx7PBM.js → ChevronUp-D80nIxW6.js} +1 -1
  10. package/dist/client/assets/{Container-CDeA-o5s.js → Container-hPWrMd_K.js} +1 -1
  11. package/dist/client/assets/{DotsVertical-Cr_XWVYH.js → DotsVertical-DTAmMuFp.js} +1 -1
  12. package/dist/client/assets/{LayoutLeft-D10kQiES.js → LayoutLeft-CvHk6_1v.js} +1 -1
  13. package/dist/client/assets/{LinkExternal01-D7Bf92jL.js → LinkExternal01-ChBg4lCh.js} +1 -1
  14. package/dist/client/assets/{Lock01-B5nxky6K.js → Lock01-omvVfDsq.js} +1 -1
  15. package/dist/client/assets/{Palette-BzdGUPw1.js → Palette-Rwaz6Ux1.js} +1 -1
  16. package/dist/client/assets/{Play-Cv1sPHtp.js → Play-B5Y5OgEF.js} +1 -1
  17. package/dist/client/assets/{Plus-D7J-ZpF_.js → Plus-BfYJ_fhU.js} +1 -1
  18. package/dist/client/assets/{RefreshCcw01-1mb0qscd.js → RefreshCcw01-BVYIhLNw.js} +1 -1
  19. package/dist/client/assets/{SearchMd-B0Lvg3Xk.js → SearchMd-x9jEzWto.js} +1 -1
  20. package/dist/client/assets/{Settings02-CxQQ6hnP.js → Settings02-A2QUyA04.js} +1 -1
  21. package/dist/client/assets/{Shield01-CWlsOsl1.js → Shield01-VFZnVzgJ.js} +1 -1
  22. package/dist/client/assets/{Star01-DxYo9bx0.js → Star01-Bsoh5hNL.js} +1 -1
  23. package/dist/client/assets/{Sun-C3FNZe_T.js → Sun-Bp5SyQ9x.js} +1 -1
  24. package/dist/client/assets/{Tool01-8PZBFCSr.js → Tool01-1p7InVa9.js} +1 -1
  25. package/dist/client/assets/{Trash01-sqipAjJs.js → Trash01-CCICAviE.js} +1 -1
  26. package/dist/client/assets/{User01-CMGdQkcX.js → User01-DYAGpiu4.js} +1 -1
  27. package/dist/client/assets/{Users03-B2lBHlGZ.js → Users03-C-LNtnHq.js} +1 -1
  28. package/dist/client/assets/{X-UcFDhK-I.js → X-DOmcQBqy.js} +1 -1
  29. package/dist/client/assets/{XCircle-Rqvc6PWM.js → XCircle-DHsXO2jG.js} +1 -1
  30. package/dist/client/assets/{XClose-BEPgM0J7.js → XClose-C9tO3uLm.js} +1 -1
  31. package/dist/client/assets/{Zap-CV9G-Zfk.js → Zap-Cr3JL-JC.js} +1 -1
  32. package/dist/client/assets/{ZapSquare-BTR8NCmq.js → ZapSquare-CLYRUiny.js} +1 -1
  33. package/dist/client/assets/{accordion-CvWJabH1.js → accordion-B8b6ADv4.js} +1 -1
  34. package/dist/client/assets/{agent-icon-D6T8ZDaV.js → agent-icon-B3dbwQQF.js} +1 -1
  35. package/dist/client/assets/{agents-list-DyNXshyO.js → agents-list-BOs5vYpf.js} +1 -1
  36. package/dist/client/assets/{ai-providers-7aj7Dvnr.js → ai-providers-DHyC2swB.js} +1 -1
  37. package/dist/client/assets/{alert-dialog-CL1ufXLZ.js → alert-dialog-BJTNrOhl.js} +1 -1
  38. package/dist/client/assets/{auth-catchall-B-Lg7W2q.js → auth-catchall-BaS7NCCR.js} +1 -1
  39. package/dist/client/assets/{automation-list-row-CKuBxKCh.js → automation-list-row-CjV4TdfL.js} +1 -1
  40. package/dist/client/assets/{automations-b35IyYNi.js → automations-DDxuxMI7.js} +1 -1
  41. package/dist/client/assets/{avatar-Cz84VRfi.js → avatar-CVlDCU5h.js} +1 -1
  42. package/dist/client/assets/{badge-BDIezRWl.js → badge-DOjxQOhJ.js} +1 -1
  43. package/dist/client/assets/{brand-context-Bw8yIqM4.js → brand-context-Dx6aAWU2.js} +1 -1
  44. package/dist/client/assets/{card-BkUSFoeH.js → card-DotruZR7.js} +1 -1
  45. package/dist/client/assets/{chat-context-COr23Pvp.js → chat-context-CgTzImbK.js} +1 -1
  46. package/dist/client/assets/{checkbox-D9uJNURD.js → checkbox-DrmZvzrT.js} +1 -1
  47. package/dist/client/assets/{collection-detail-r3yDw2nE.js → collection-detail-CcTNmbP8.js} +1 -1
  48. package/dist/client/assets/{collection-display-button-BkhKa8Fq.js → collection-display-button-C4cuirx7.js} +1 -1
  49. package/dist/client/assets/{collection-search-CYRwFc6W.js → collection-search-BF8ZdP7L.js} +1 -1
  50. package/dist/client/assets/{collection-search-CC32ghxz.js → collection-search-DWrG5qGb.js} +1 -1
  51. package/dist/client/assets/{collection-table-wrapper-CsPeZBHE.js → collection-table-wrapper-B4KtrooZ.js} +1 -1
  52. package/dist/client/assets/{collection-tabs-DjuikHg2.js → collection-tabs-JbvPv0ww.js} +1 -1
  53. package/dist/client/assets/{collections-h6SIG2VD.js → collections-BccjtmBC.js} +1 -1
  54. package/dist/client/assets/{command-B6Opzxt3.js → command-BJCrWXQl.js} +1 -1
  55. package/dist/client/assets/{connection-card-Do5z7MRC.js → connection-card-BHwpWrBx.js} +1 -1
  56. package/dist/client/assets/{connection-detail-CCkyT_oS.js → connection-detail-DYbyDpiw.js} +1 -1
  57. package/dist/client/assets/{connection-form-helpers-DTUZBSNs.js → connection-form-helpers-B_EAPKs9.js} +1 -1
  58. package/dist/client/assets/{connections-D1l0zvWe.js → connections-Cr6QbSRh.js} +1 -1
  59. package/dist/client/assets/{constants-CkJVGrih.js → constants-CImNHUX-.js} +1 -1
  60. package/dist/client/assets/{constants-eHuCaQ_P.js → constants-kgqnlOHa.js} +1 -1
  61. package/dist/client/assets/{dialog-BCrxZaWW.js → dialog-CK63STP4.js} +1 -1
  62. package/dist/client/assets/{domain-settings-DjfYV1So.js → domain-settings-6QMSs4wn.js} +1 -1
  63. package/dist/client/assets/{drawer-CAqFFbhs.js → drawer-wCIWEAI5.js} +1 -1
  64. package/dist/client/assets/{dropdown-menu-CapVicMN.js → dropdown-menu-B7T7Iogo.js} +1 -1
  65. package/dist/client/assets/{dynamic-plugin-layout-vfq9KprT.js → dynamic-plugin-layout-C3G8K_nu.js} +1 -1
  66. package/dist/client/assets/{empty-state-DrcmKKqy.js → empty-state-BU8pZLnA.js} +1 -1
  67. package/dist/client/assets/{empty-state-CyNHLjJr.js → empty-state-Du82mGBp.js} +1 -1
  68. package/dist/client/assets/{extract-connection-data-DkJkN3o2.js → extract-connection-data-BVruRO7o.js} +1 -1
  69. package/dist/client/assets/{features-C2-XIDYj.js → features-BQ0vyboB.js} +1 -1
  70. package/dist/client/assets/{form-te3NdICa.js → form-ePgXfPjK.js} +1 -1
  71. package/dist/client/assets/{general-B-vosNM8.js → general-B_ZIET5j.js} +1 -1
  72. package/dist/client/assets/{index-CBCw04gM.js → index-3_pBkl9I.js} +1 -1
  73. package/dist/client/assets/{index-C_s96l4K.js → index-BUosmNAK.js} +1 -1
  74. package/dist/client/assets/{index-CkV3bKsF.js → index-BziHhYLY.js} +1 -1
  75. package/dist/client/assets/{index-CKCUmH_m.js → index-CJcKkFSf.js} +3 -3
  76. package/dist/client/assets/{index-Csm4dluq.js → index-CPA6TTAv.js} +1 -1
  77. package/dist/client/assets/{index-Dt8YClUX.js → index-CYtBy4YL.js} +1 -1
  78. package/dist/client/assets/index-CcjQJiQG.js +547 -0
  79. package/dist/client/assets/{index-CzeuUc9U.css → index-Cm3pqTt-.css} +1 -1
  80. package/dist/client/assets/{index-C7jN5neb.js → index-CsKe3YZC.js} +3 -3
  81. package/dist/client/assets/{index-CwW_wLKg.js → index-DMzQ42Ay.js} +1 -1
  82. package/dist/client/assets/{index-fexbvrAq.js → index-Dtca8DdX.js} +1 -1
  83. package/dist/client/assets/{index-BRxzMJGJ.js → index-Q_nE-B09.js} +1 -1
  84. package/dist/client/assets/{index-zwJpQueu.js → index-SHpCCFvp.js} +1 -1
  85. package/dist/client/assets/{index-5jrl6Co-.js → index-_CUdtdz8.js} +2 -2
  86. package/dist/client/assets/{index-B_6WEs0q.js → index-aVeyrrsb.js} +1 -1
  87. package/dist/client/assets/{index-BKbuKSG2.js → index-ig98RAvX.js} +1 -1
  88. package/dist/client/assets/{index-Bg-dgfxo.js → index-pKuooFel.js} +1 -1
  89. package/dist/client/assets/{infiniteQueryObserver-DUrDxQsV.js → infiniteQueryObserver-7fxmXXdp.js} +1 -1
  90. package/dist/client/assets/{input-D-ZjkErJ.js → input-Ko_SrZ4_.js} +1 -1
  91. package/dist/client/assets/{integration-icon-Cnjj_f25.js → integration-icon-DcYB2a8l.js} +1 -1
  92. package/dist/client/assets/{label-BYocE4uU.js → label-D_dfHcwE.js} +1 -1
  93. package/dist/client/assets/{layout-DZBilHGN.js → layout-Dw6LlsHX.js} +1 -1
  94. package/dist/client/assets/{lean-canvas-recruit-modal-DTNkFQF7.js → lean-canvas-recruit-modal-CFAZK9w1.js} +1 -1
  95. package/dist/client/assets/{login-TpNdCcSE.js → login-CWpiwEaq.js} +1 -1
  96. package/dist/client/assets/{members-Bc9_guMN.js → members-C4z0efAZ.js} +1 -1
  97. package/dist/client/assets/{monaco-editor-Bk3MeNtT.js → monaco-editor-C6DOPPfO.js} +1 -1
  98. package/dist/client/assets/{monitoring-stats-row-atuJDMtL.js → monitoring-stats-row-BKcjpP7m.js} +1 -1
  99. package/dist/client/assets/{oauth-callback-BU51YAFZ.js → oauth-callback-BN7age-F.js} +1 -1
  100. package/dist/client/assets/{oauth-callback-ai-provider-DHobA1oV.js → oauth-callback-ai-provider-RkxZgbDA.js} +1 -1
  101. package/dist/client/assets/{onboarding-xa_XNWs7.js → onboarding-BYACWd1_.js} +1 -1
  102. package/dist/client/assets/{org-layout-DfZsgPJH.js → org-layout-kAlrK_Sz.js} +1 -1
  103. package/dist/client/assets/{org-plugin-layout-BNtiSb4W.js → org-plugin-layout-DUXHrilB.js} +1 -1
  104. package/dist/client/assets/{pair-DlFSBO5g.js → pair-7uYiW7Rh.js} +39 -39
  105. package/dist/client/assets/{plugin-empty-state-B9V3iWPP.js → plugin-empty-state-DBdc9DDY.js} +1 -1
  106. package/dist/client/assets/{plugin-header-Sl8TyoFF.js → plugin-header-_TX1Y9Vb.js} +1 -1
  107. package/dist/client/assets/{plugin-layout-rl6DCWgI.js → plugin-layout-BNL2k5o3.js} +1 -1
  108. package/dist/client/assets/{popover-Dn4j0mPz.js → popover-B166_aeY.js} +1 -1
  109. package/dist/client/assets/{profile-DUg1r9pS.js → profile-DVs_o4X-.js} +1 -1
  110. package/dist/client/assets/{project-app-view-Ba31KrUb.js → project-app-view-CsESRZfU.js} +1 -1
  111. package/dist/client/assets/registry-Cf9xWu3H.js +2 -0
  112. package/dist/client/assets/{registry-layout-ZGApx0j6.js → registry-layout-CiycvO4e.js} +1 -1
  113. package/dist/client/assets/{required-auth-layout-DZwCJHl_.js → required-auth-layout-CzyyMsWp.js} +1 -1
  114. package/dist/client/assets/{reset-password-DPn3UIPm.js → reset-password-CAqQV6rn.js} +1 -1
  115. package/dist/client/assets/{roles-CKivK7GA.js → roles-DwmHbB0D.js} +1 -1
  116. package/dist/client/assets/{scroll-area-CEHywN8A.js → scroll-area-CYD6rIcU.js} +1 -1
  117. package/dist/client/assets/{search-input-DQUdthWP.js → search-input-DDZfQYkG.js} +1 -1
  118. package/dist/client/assets/{select-B5UhPE3o.js → select-DhMWgQ3s.js} +1 -1
  119. package/dist/client/assets/{select-model-CTDZYKlK.js → select-model-Twg2cKHt.js} +1 -1
  120. package/dist/client/assets/{settings-layout-C7k8LFse.js → settings-layout-DLGNEr9H.js} +1 -1
  121. package/dist/client/assets/{settings-section-CLiE2XoW.js → settings-section-CIvaDAqO.js} +1 -1
  122. package/dist/client/assets/{shell-layout-CSQshMOg.js → shell-layout-Ddrq5Nx0.js} +1 -1
  123. package/dist/client/assets/{sidebar-yJ2bKdp0.js → sidebar-C6KGCyfz.js} +1 -1
  124. package/dist/client/assets/{skeleton-DO9x4Rmx.js → skeleton-CAInevCf.js} +1 -1
  125. package/dist/client/assets/{spinner-DKEalby6.js → spinner-DIWCCR1u.js} +1 -1
  126. package/dist/client/assets/{sso-DOSWI8BP.js → sso-BF1j_yNV.js} +1 -1
  127. package/dist/client/assets/store-registry-WzODKi73.js +2 -0
  128. package/dist/client/assets/{store-D5UphBa3.js → store-tnnxPHF8.js} +1 -1
  129. package/dist/client/assets/{switch-DnFBbNMj.js → switch-B_6i5d1i.js} +1 -1
  130. package/dist/client/assets/{table-4kNaNJRz.js → table-DKmWjuZu.js} +1 -1
  131. package/dist/client/assets/{tabs-B-6zDMoB.js → tabs-DbLM1syJ.js} +1 -1
  132. package/dist/client/assets/{task-status-CH2K09YA.js → task-status-6a9U-fmJ.js} +1 -1
  133. package/dist/client/assets/{textarea-4YHnq21B.js → textarea-D2OceG5K.js} +1 -1
  134. package/dist/client/assets/{toggle-group-ClNyHH4s.js → toggle-group-DmWZZQ5J.js} +1 -1
  135. package/dist/client/assets/{tools-list-B79oEyUv.js → tools-list-CjYs-Nl2.js} +1 -1
  136. package/dist/client/assets/{tooltip-CBWMgMUA.js → tooltip-DEoNevOj.js} +1 -1
  137. package/dist/client/assets/{types-DzQyumzv.js → types-DLyGIXuU.js} +1 -1
  138. package/dist/client/assets/{use-ai-providers-6IUbUXz_.js → use-ai-providers-BRYLtBQi.js} +1 -1
  139. package/dist/client/assets/{use-collections-fNwAKHqm.js → use-collections-T8lAmXe-.js} +1 -1
  140. package/dist/client/assets/{use-connection-kZb9ifhw.js → use-connection-CHxcvnwB.js} +1 -1
  141. package/dist/client/assets/{use-copy-B9Cl132r.js → use-copy-DTsrGSHm.js} +1 -1
  142. package/dist/client/assets/{use-create-virtual-mcp-D4YXt-ZE.js → use-create-virtual-mcp-1k0qsXpZ.js} +1 -1
  143. package/dist/client/assets/{use-debounced-autosave-BsxczRNv.js → use-debounced-autosave-DkSi9ajl.js} +1 -1
  144. package/dist/client/assets/{use-decopilot-events-BHxLXAgz.js → use-decopilot-events-ChHy1YwQ.js} +1 -1
  145. package/dist/client/assets/{use-delete-connection-DzBX3Y5X.js → use-delete-connection-Da8pd8GR.js} +1 -1
  146. package/dist/client/assets/{use-infinite-scroll-DC9PNnqU.js → use-infinite-scroll-4R3Erhbk.js} +1 -1
  147. package/dist/client/assets/{use-list-state-Cm9upsvA.js → use-list-state-DD5dSsUl.js} +1 -1
  148. package/dist/client/assets/{use-mcp-tools-CwvPDTWi.js → use-mcp-tools-DLLnZTwr.js} +1 -1
  149. package/dist/client/assets/{use-members-ClIilp4X.js → use-members-Du6jDL4h.js} +1 -1
  150. package/dist/client/assets/{use-navigate-to-agent-DYmmiFA6.js → use-navigate-to-agent-BOtA8s0B.js} +1 -1
  151. package/dist/client/assets/{use-org-auth-client-DgUDC_02.js → use-org-auth-client-CLIYZ8XR.js} +1 -1
  152. package/dist/client/assets/{use-org-sso-DnHHFQsb.js → use-org-sso-cXprxxGV.js} +1 -1
  153. package/dist/client/assets/{use-organization-roles-Bz3GUN0h.js → use-organization-roles-BfqEa00I.js} +1 -1
  154. package/dist/client/assets/{use-organization-settings-DfjHTWfJ.js → use-organization-settings-DH3Cx32-.js} +1 -1
  155. package/dist/client/assets/{use-registry-connections-B6kptdp7.js → use-registry-connections-Di-IdwT_.js} +1 -1
  156. package/dist/client/assets/{use-status-sounds-BqG86mfx.js → use-status-sounds-CowwkJT4.js} +1 -1
  157. package/dist/client/assets/{use-tasks-POUiiV_o.js → use-tasks-2n2QJ_JS.js} +1 -1
  158. package/dist/client/assets/{use-view-mode-CrZp_Guy.js → use-view-mode-Bv0IukaU.js} +1 -1
  159. package/dist/client/assets/{use-virtual-mcp-BQvDkFLT.js → use-virtual-mcp-MITPdtzC.js} +1 -1
  160. package/dist/client/assets/useInfiniteQuery-CY-Wzev4.js +1 -0
  161. package/dist/client/assets/useSuspenseInfiniteQuery-DV-M7yay.js +1 -0
  162. package/dist/client/assets/{user-DSZMPWc6.js → user-DiRuL5kE.js} +1 -1
  163. package/dist/client/assets/{view-mode-toggle-Cgp8wSpL.js → view-mode-toggle-cZTPYUmn.js} +1 -1
  164. package/dist/client/assets/{workflow-Dywulu_i.js → workflow-Cnw6Z3Ej.js} +1 -1
  165. package/dist/client/assets/workflow-detail-CkzZBhlC.js +1 -0
  166. package/dist/client/index.html +2 -2
  167. package/dist/server/cli.js +1 -1
  168. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  169. package/dist/server/node_modules/pg-int8/README.md +16 -0
  170. package/dist/server/node_modules/pg-int8/index.js +100 -0
  171. package/dist/server/node_modules/pg-int8/package.json +24 -0
  172. package/dist/server/node_modules/split2/LICENSE +13 -0
  173. package/dist/server/node_modules/split2/README.md +85 -0
  174. package/dist/server/node_modules/split2/bench.js +27 -0
  175. package/dist/server/node_modules/split2/index.js +141 -0
  176. package/dist/server/node_modules/split2/package.json +39 -0
  177. package/dist/server/node_modules/split2/test.js +409 -0
  178. package/package.json +1 -1
  179. package/dist/client/assets/index-C_gN6VMh.js +0 -547
  180. package/dist/client/assets/registry-EC12Boik.js +0 -2
  181. package/dist/client/assets/store-registry-DipUkX4F.js +0 -2
  182. package/dist/client/assets/useInfiniteQuery-BiqW5IFh.js +0 -1
  183. package/dist/client/assets/useSuspenseInfiniteQuery-ZvSBUcQH.js +0 -1
  184. package/dist/client/assets/workflow-detail-CnTjiGvc.js +0 -1
@@ -1 +1 @@
1
- import{e as u,n as S,o as l,a as y,K as c}from"./index-5jrl6Co-.js";function w(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoStatus(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/status`);if(!r.ok)throw new Error("Failed to check SSO status");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function q(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoConfig(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`);if(!r.ok)throw new Error("Failed to fetch SSO config");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function C(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!f.ok){const p=await f.json();throw new Error(p.error||"Failed to save SSO config")}return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function O(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`,{method:"DELETE"});if(!r.ok)throw new Error("Failed to delete SSO config");return r.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function m(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config/enforce`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enforced:r})});if(!f.ok)throw new Error("Failed to toggle SSO enforcement");return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}export{q as a,C as b,O as c,m as d,w as u};
1
+ import{e as u,n as S,o as l,a as y,K as c}from"./index-_CUdtdz8.js";function w(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoStatus(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/status`);if(!r.ok)throw new Error("Failed to check SSO status");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function q(o,a){const e=u.c(8);let s;e[0]!==o?(s=c.orgSsoConfig(o??""),e[0]=o,e[1]=s):s=e[1];let t;e[2]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`);if(!r.ok)throw new Error("Failed to fetch SSO config");return r.json()},e[2]=a,e[3]=t):t=e[3];const n=!!o&&!!a;let i;return e[4]!==s||e[5]!==t||e[6]!==n?(i={queryKey:s,queryFn:t,enabled:n},e[4]=s,e[5]=t,e[6]=n,e[7]=i):i=e[7],S(i)}function C(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!f.ok){const p=await f.json();throw new Error(p.error||"Failed to save SSO config")}return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function O(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async()=>{const r=await fetch(`/api/${a}/sso/config`,{method:"DELETE"});if(!r.ok)throw new Error("Failed to delete SSO config");return r.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}function m(o,a){const e=u.c(8),s=l();let t;e[0]!==a?(t=async r=>{const f=await fetch(`/api/${a}/sso/config/enforce`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enforced:r})});if(!f.ok)throw new Error("Failed to toggle SSO enforcement");return f.json()},e[0]=a,e[1]=t):t=e[1];let n;e[2]!==o||e[3]!==s?(n=()=>{s.invalidateQueries({queryKey:c.orgSsoConfig(o)}),s.invalidateQueries({queryKey:c.orgSsoStatus(o)})},e[2]=o,e[3]=s,e[4]=n):n=e[4];let i;return e[5]!==t||e[6]!==n?(i={mutationFn:t,onSuccess:n},e[5]=t,e[6]=n,e[7]=i):i=e[7],y(i)}export{q as a,C as b,O as c,m as d,w as u};
@@ -1 +1 @@
1
- import{u as p}from"./use-org-auth-client-DgUDC_02.js";import{s as P,n as b,K as y}from"./index-5jrl6Co-.js";const w=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function B(t){return t.replace(/-/g," ")}function O(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const a=[];let n=!1;const u=[];let c=!1;const r=new Set;let s=!1,f=0,o=!1;for(const[l,e]of Object.entries(t)){if(l==="self"){e.includes("*")?n=!0:a.push(...e);continue}if(l==="models"){e.includes("*:*")?o=!0:f=e.length;continue}if(l==="*"){if(c=!0,e.includes("*"))s=!0;else for(const i of e)r.add(i);continue}if(u.push(l),e.includes("*"))s=!0;else for(const i of e)r.add(i)}return{staticPermissions:a,allowsAllStaticPermissions:n,connectionIds:u,allowsAllConnections:c,toolNames:Array.from(r),allowsAllTools:s,modelCount:f,allowsAllModels:o}}function I(){const{locator:t}=P(),a=p(),{data:n,isLoading:u,error:c,refetch:r}=b({queryKey:y.organizationRoles(t),queryFn:async()=>{try{const o=await a.organization.listRoles();return o?.error?(console.error("[useOrganizationRoles] API error:",o.error),[]):o?.data??[]}catch(o){return console.error("[useOrganizationRoles] Fetch error:",o),[]}},staleTime:3e4}),s=w.map(o=>({role:o.value,label:o.label,isBuiltin:o.isBuiltin}));if(n&&Array.isArray(n))for(const o of n){const l=o.role;if(!l||w.some(R=>R.value===l))continue;const{staticPermissions:e,allowsAllStaticPermissions:i,connectionIds:g,allowsAllConnections:m,toolNames:h,allowsAllTools:d,modelCount:C,allowsAllModels:A}=O(o.permission);s.push({id:o.id,role:l,label:B(l),isBuiltin:!1,permission:o.permission??void 0,staticPermissionCount:i?-1:e.length,allowsAllStaticPermissions:i,connectionCount:m?-1:g.length,allowsAllConnections:m,toolCount:d?-1:h.length,allowsAllTools:d,modelCount:A?-1:C,allowsAllModels:A})}const f=s.filter(o=>!o.isBuiltin);return{roles:s,customRoles:f,builtinRoles:s.filter(o=>o.isBuiltin),isLoading:u,error:c,refetch:r}}export{I as u};
1
+ import{u as p}from"./use-org-auth-client-CLIYZ8XR.js";import{s as P,n as b,K as y}from"./index-_CUdtdz8.js";const w=[{value:"owner",label:"Owner",isBuiltin:!0},{value:"admin",label:"Admin",isBuiltin:!0},{value:"user",label:"User",isBuiltin:!0}];function B(t){return t.replace(/-/g," ")}function O(t){if(!t)return{staticPermissions:[],allowsAllStaticPermissions:!1,connectionIds:[],allowsAllConnections:!1,toolNames:[],allowsAllTools:!1,modelCount:0,allowsAllModels:!1};const a=[];let n=!1;const u=[];let c=!1;const r=new Set;let s=!1,f=0,o=!1;for(const[l,e]of Object.entries(t)){if(l==="self"){e.includes("*")?n=!0:a.push(...e);continue}if(l==="models"){e.includes("*:*")?o=!0:f=e.length;continue}if(l==="*"){if(c=!0,e.includes("*"))s=!0;else for(const i of e)r.add(i);continue}if(u.push(l),e.includes("*"))s=!0;else for(const i of e)r.add(i)}return{staticPermissions:a,allowsAllStaticPermissions:n,connectionIds:u,allowsAllConnections:c,toolNames:Array.from(r),allowsAllTools:s,modelCount:f,allowsAllModels:o}}function I(){const{locator:t}=P(),a=p(),{data:n,isLoading:u,error:c,refetch:r}=b({queryKey:y.organizationRoles(t),queryFn:async()=>{try{const o=await a.organization.listRoles();return o?.error?(console.error("[useOrganizationRoles] API error:",o.error),[]):o?.data??[]}catch(o){return console.error("[useOrganizationRoles] Fetch error:",o),[]}},staleTime:3e4}),s=w.map(o=>({role:o.value,label:o.label,isBuiltin:o.isBuiltin}));if(n&&Array.isArray(n))for(const o of n){const l=o.role;if(!l||w.some(R=>R.value===l))continue;const{staticPermissions:e,allowsAllStaticPermissions:i,connectionIds:g,allowsAllConnections:m,toolNames:h,allowsAllTools:d,modelCount:C,allowsAllModels:A}=O(o.permission);s.push({id:o.id,role:l,label:B(l),isBuiltin:!1,permission:o.permission??void 0,staticPermissionCount:i?-1:e.length,allowsAllStaticPermissions:i,connectionCount:m?-1:g.length,allowsAllConnections:m,toolCount:d?-1:h.length,allowsAllTools:d,modelCount:A?-1:C,allowsAllModels:A})}const f=s.filter(o=>!o.isBuiltin);return{roles:s,customRoles:f,builtinRoles:s.filter(o=>o.isBuiltin),isLoading:u,error:c,refetch:r}}export{I as u};
@@ -1 +1 @@
1
- import{e as c,s as m,K as f,n as E,o as A,a as I,w as z}from"./index-5jrl6Co-.js";import{S as g,u as _,d as h}from"./constants-CkJVGrih.js";const d={organizationId:"",sidebar_items:null,enabled_plugins:null,registry_config:null,simple_mode:null,default_home_agents:null},p={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}};function y(t){const e=c.c(12),{org:n}=m();let s;e[0]!==n.id||e[1]!==n.slug?(s={connectionId:g,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=s):s=e[2];const a=_(s);let i;e[3]!==n.id?(i=f.organizationSettings(n.id),e[3]=n.id,e[4]=i):i=e[4];let r;e[5]!==a||e[6]!==n.id?(r=async()=>{const l=await a.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return l?.isError?{...d,organizationId:n.id}:l.structuredContent??{...d,organizationId:n.id}},e[5]=a,e[6]=n.id,e[7]=r):r=e[7];const u=t;let o;return e[8]!==i||e[9]!==r||e[10]!==u?(o={queryKey:i,queryFn:r,staleTime:6e4,select:u},e[8]=i,e[9]=r,e[10]=u,e[11]=o):o=e[11],E(o)}function P(t,e){const n=c.c(11);let s;n[0]!==t||n[1]!==e?(s={connectionId:g,orgId:t,orgSlug:e},n[0]=t,n[1]=e,n[2]=s):s=n[2];const a=_(s);let i;n[3]!==t?(i=f.organizationSettings(t),n[3]=t,n[4]=i):i=n[4];let r;n[5]!==a||n[6]!==t?(r=async()=>{const l=await a.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return l?.isError?{...d,organizationId:t}:l.structuredContent??{...d,organizationId:t}},n[5]=a,n[6]=t,n[7]=r):r=n[7];let u;n[8]!==i||n[9]!==r?(u={queryKey:i,queryFn:r,staleTime:6e4},n[8]=i,n[9]=r,n[10]=u):u=n[10];const{data:o}=z(u);return o}function S(){const t=c.c(12),{org:e}=m();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const s=_(n),a=A();let i;t[3]!==s||t[4]!==e.id?(i=async o=>{const l=await s.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e.id,...o}});if(l?.isError)throw new Error(l.content?.[0]?.text??"Failed to update organization settings");const T=l.structuredContent;if(!T)throw new Error("ORGANIZATION_SETTINGS_UPDATE returned no payload");return T},t[3]=s,t[4]=e.id,t[5]=i):i=t[5];let r;t[6]!==e.id||t[7]!==a?(r=o=>{a.setQueryData(f.organizationSettings(e.id),l=>({...l??d,...o}))},t[6]=e.id,t[7]=a,t[8]=r):r=t[8];let u;return t[9]!==i||t[10]!==r?(u={mutationFn:i,onSuccess:r},t[9]=i,t[10]=r,t[11]=u):u=t[11],I(u)}function C(t){return t?.tiers?{tiers:{fast:t.tiers.fast??null,smart:t.tiers.smart??null,thinking:t.tiers.thinking??null,image:t.tiers.image??null,web_research:t.tiers.web_research??null}}:p}function b(){const{data:t}=y(N);return t??p}function N(t){return C(t.simple_mode)}function D(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({simple_mode:i},r),s=(i,r)=>e.mutateAsync({simple_mode:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function O(){const{data:t}=y(w);return t??null}function w(t){return t.registry_config}function $(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({registry_config:i},r),s=(i,r)=>e.mutateAsync({registry_config:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function U(){const{data:t}=y(G);return t??null}function G(t){return t.default_home_agents}function q(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({default_home_agents:i},r),s=(i,r)=>e.mutateAsync({default_home_agents:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function F(){const t=c.c(5),{org:e}=m(),n=O();let s;t[0]!==e.id?(s=h.REGISTRY(e.id),t[0]=e.id,t[1]=s):s=t[1];const a=s;let i;return t[2]!==a||t[3]!==n?(i=r=>{if(!n)return r===a;const u=n.registries[r];return u?u.enabled:r===a},t[2]=a,t[3]=n,t[4]=i):i=t[4],i}export{F as a,P as b,q as c,S as d,b as e,D as f,O as g,$ as h,U as u};
1
+ import{e as c,s as m,K as f,n as E,o as A,a as I,w as z}from"./index-_CUdtdz8.js";import{S as g,u as _,d as h}from"./constants-CImNHUX-.js";const d={organizationId:"",sidebar_items:null,enabled_plugins:null,registry_config:null,simple_mode:null,default_home_agents:null},p={tiers:{fast:null,smart:null,thinking:null,image:null,web_research:null}};function y(t){const e=c.c(12),{org:n}=m();let s;e[0]!==n.id||e[1]!==n.slug?(s={connectionId:g,orgId:n.id,orgSlug:n.slug},e[0]=n.id,e[1]=n.slug,e[2]=s):s=e[2];const a=_(s);let i;e[3]!==n.id?(i=f.organizationSettings(n.id),e[3]=n.id,e[4]=i):i=e[4];let r;e[5]!==a||e[6]!==n.id?(r=async()=>{const l=await a.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return l?.isError?{...d,organizationId:n.id}:l.structuredContent??{...d,organizationId:n.id}},e[5]=a,e[6]=n.id,e[7]=r):r=e[7];const u=t;let o;return e[8]!==i||e[9]!==r||e[10]!==u?(o={queryKey:i,queryFn:r,staleTime:6e4,select:u},e[8]=i,e[9]=r,e[10]=u,e[11]=o):o=e[11],E(o)}function P(t,e){const n=c.c(11);let s;n[0]!==t||n[1]!==e?(s={connectionId:g,orgId:t,orgSlug:e},n[0]=t,n[1]=e,n[2]=s):s=n[2];const a=_(s);let i;n[3]!==t?(i=f.organizationSettings(t),n[3]=t,n[4]=i):i=n[4];let r;n[5]!==a||n[6]!==t?(r=async()=>{const l=await a.callTool({name:"ORGANIZATION_SETTINGS_GET",arguments:{}});return l?.isError?{...d,organizationId:t}:l.structuredContent??{...d,organizationId:t}},n[5]=a,n[6]=t,n[7]=r):r=n[7];let u;n[8]!==i||n[9]!==r?(u={queryKey:i,queryFn:r,staleTime:6e4},n[8]=i,n[9]=r,n[10]=u):u=n[10];const{data:o}=z(u);return o}function S(){const t=c.c(12),{org:e}=m();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:g,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const s=_(n),a=A();let i;t[3]!==s||t[4]!==e.id?(i=async o=>{const l=await s.callTool({name:"ORGANIZATION_SETTINGS_UPDATE",arguments:{organizationId:e.id,...o}});if(l?.isError)throw new Error(l.content?.[0]?.text??"Failed to update organization settings");const T=l.structuredContent;if(!T)throw new Error("ORGANIZATION_SETTINGS_UPDATE returned no payload");return T},t[3]=s,t[4]=e.id,t[5]=i):i=t[5];let r;t[6]!==e.id||t[7]!==a?(r=o=>{a.setQueryData(f.organizationSettings(e.id),l=>({...l??d,...o}))},t[6]=e.id,t[7]=a,t[8]=r):r=t[8];let u;return t[9]!==i||t[10]!==r?(u={mutationFn:i,onSuccess:r},t[9]=i,t[10]=r,t[11]=u):u=t[11],I(u)}function C(t){return t?.tiers?{tiers:{fast:t.tiers.fast??null,smart:t.tiers.smart??null,thinking:t.tiers.thinking??null,image:t.tiers.image??null,web_research:t.tiers.web_research??null}}:p}function b(){const{data:t}=y(N);return t??p}function N(t){return C(t.simple_mode)}function D(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({simple_mode:i},r),s=(i,r)=>e.mutateAsync({simple_mode:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function O(){const{data:t}=y(w);return t??null}function w(t){return t.registry_config}function $(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({registry_config:i},r),s=(i,r)=>e.mutateAsync({registry_config:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function U(){const{data:t}=y(G);return t??null}function G(t){return t.default_home_agents}function q(){const t=c.c(7),e=S();let n,s;t[0]!==e?(n=(i,r)=>e.mutate({default_home_agents:i},r),s=(i,r)=>e.mutateAsync({default_home_agents:i},r),t[0]=e,t[1]=n,t[2]=s):(n=t[1],s=t[2]);let a;return t[3]!==e||t[4]!==n||t[5]!==s?(a={...e,mutate:n,mutateAsync:s},t[3]=e,t[4]=n,t[5]=s,t[6]=a):a=t[6],a}function F(){const t=c.c(5),{org:e}=m(),n=O();let s;t[0]!==e.id?(s=h.REGISTRY(e.id),t[0]=e.id,t[1]=s):s=t[1];const a=s;let i;return t[2]!==a||t[3]!==n?(i=r=>{if(!n)return r===a;const u=n.registries[r];return u?u.enabled:r===a},t[2]=a,t[3]=n,t[4]=i):i=t[4],i}export{F as a,P as b,q as c,S as d,b as e,D as f,O as g,$ as h,U as u};
@@ -1 +1 @@
1
- import{e as a,s as C}from"./index-5jrl6Co-.js";import{u as R}from"./use-connection-kZb9ifhw.js";import{d as u}from"./constants-CkJVGrih.js";import{g as p}from"./use-organization-settings-DfjHTWfJ.js";function E(){const e=a.c(17),{org:i}=C(),o=p();let n;e[0]!==i.id?(n=u.REGISTRY(i.id),e[0]=i.id,e[1]=n):n=e[1];const c=n;let l;e[2]!==i.id?(l=u.COMMUNITY_REGISTRY(i.id),e[2]=i.id,e[3]=l):l=e[3];const d=l;let r;e[4]!==d||e[5]!==c?(r=[c,d],e[4]=d,e[5]=c,e[6]=r):r=e[6];let t;if(e[7]!==o||e[8]!==r){if(t=new Set(r),o?.registries){let s;e[10]!==o.registries?(s=Object.keys(o.registries),e[10]=o.registries,e[11]=s):s=e[11];for(const m of s)t.add(m)}e[7]=o,e[8]=r,e[9]=t}else t=e[9];const g=R();let f;if(e[12]!==g||e[13]!==t){let s;e[15]!==t?(s=m=>t.has(m.id),e[15]=t,e[16]=s):s=e[16],f=g.filter(s),e[12]=g,e[13]=t,e[14]=f}else f=e[14];return f}export{E as u};
1
+ import{e as a,s as C}from"./index-_CUdtdz8.js";import{u as R}from"./use-connection-CHxcvnwB.js";import{d as u}from"./constants-CImNHUX-.js";import{g as p}from"./use-organization-settings-DH3Cx32-.js";function E(){const e=a.c(17),{org:i}=C(),o=p();let n;e[0]!==i.id?(n=u.REGISTRY(i.id),e[0]=i.id,e[1]=n):n=e[1];const c=n;let l;e[2]!==i.id?(l=u.COMMUNITY_REGISTRY(i.id),e[2]=i.id,e[3]=l):l=e[3];const d=l;let r;e[4]!==d||e[5]!==c?(r=[c,d],e[4]=d,e[5]=c,e[6]=r):r=e[6];let t;if(e[7]!==o||e[8]!==r){if(t=new Set(r),o?.registries){let s;e[10]!==o.registries?(s=Object.keys(o.registries),e[10]=o.registries,e[11]=s):s=e[11];for(const m of s)t.add(m)}e[7]=o,e[8]=r,e[9]=t}else t=e[9];const g=R();let f;if(e[12]!==g||e[13]!==t){let s;e[15]!==t?(s=m=>t.has(m.id),e[15]=t,e[16]=s):s=e[16],f=g.filter(s),e[12]=g,e[13]=t,e[14]=f}else f=e[14];return f}export{E as u};
@@ -1 +1 @@
1
- import{e as r,P as u}from"./index-5jrl6Co-.js";import{p as i,q as c}from"./question-004-sINsf4GQ.js";import{u as f}from"./use-decopilot-events-BHxLXAgz.js";const p=new Set(["completed","failed","requires_action"]);function q(s){const e=r.c(5),[n]=u();let t;e[0]!==n?(t=o=>{n.enableSounds&&p.has(o.data.status)&&i(c.dataUri).catch(l)},e[0]=n,e[1]=t):t=e[1];let a;e[2]!==s||e[3]!==t?(a={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=a):a=e[4],f(a)}function l(s){console.warn("[status-sounds] playback failed:",s)}export{q as u};
1
+ import{e as r,P as u}from"./index-_CUdtdz8.js";import{p as i,q as c}from"./question-004-sINsf4GQ.js";import{u as f}from"./use-decopilot-events-ChHy1YwQ.js";const p=new Set(["completed","failed","requires_action"]);function q(s){const e=r.c(5),[n]=u();let t;e[0]!==n?(t=o=>{n.enableSounds&&p.has(o.data.status)&&i(c.dataUri).catch(l)},e[0]=n,e[1]=t):t=e[1];let a;e[2]!==s||e[3]!==t?(a={orgSlug:s,onTaskStatus:t},e[2]=s,e[3]=t,e[4]=a):a=e[4],f(a)}function l(s){console.warn("[status-sounds] playback failed:",s)}export{q as u};
@@ -1 +1 @@
1
- import{e as p,s as y,o as A,K as C}from"./index-5jrl6Co-.js";import{a as S}from"./use-collections-fNwAKHqm.js";import{S as x,u as E}from"./constants-CkJVGrih.js";function M(){const t=p.c(13),{org:e,locator:c}=y();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:x,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const m=E(n),l=A(),i=S(e.id,"THREADS",m),s=i.create;let r;t[3]!==c||t[4]!==s||t[5]!==l?(r=async(f,d)=>{const g=await s.mutateAsync(f,d);return l.invalidateQueries({queryKey:C.tasksPrefix(c)}),g},t[3]=c,t[4]=s,t[5]=l,t[6]=r):r=t[6];const u=r;let o;t[7]!==s||t[8]!==u?(o={...s,mutateAsync:u},t[7]=s,t[8]=u,t[9]=o):o=t[9];let a;return t[10]!==i||t[11]!==o?(a={...i,create:o},t[10]=i,t[11]=o,t[12]=a):a=t[12],a}export{M as u};
1
+ import{e as p,s as y,o as A,K as C}from"./index-_CUdtdz8.js";import{a as S}from"./use-collections-T8lAmXe-.js";import{S as x,u as E}from"./constants-CImNHUX-.js";function M(){const t=p.c(13),{org:e,locator:c}=y();let n;t[0]!==e.id||t[1]!==e.slug?(n={connectionId:x,orgId:e.id,orgSlug:e.slug},t[0]=e.id,t[1]=e.slug,t[2]=n):n=t[2];const m=E(n),l=A(),i=S(e.id,"THREADS",m),s=i.create;let r;t[3]!==c||t[4]!==s||t[5]!==l?(r=async(f,d)=>{const g=await s.mutateAsync(f,d);return l.invalidateQueries({queryKey:C.tasksPrefix(c)}),g},t[3]=c,t[4]=s,t[5]=l,t[6]=r):r=t[6];const u=r;let o;t[7]!==s||t[8]!==u?(o={...s,mutateAsync:u},t[7]=s,t[8]=u,t[9]=o):o=t[9];let a;return t[10]!==i||t[11]!==o?(a={...i,create:o},t[10]=i,t[11]=o,t[12]=a):a=t[12],a}export{M as u};
@@ -1 +1 @@
1
- import{e as p,r as f}from"./index-5jrl6Co-.js";import{u as w}from"./tooltip-CBWMgMUA.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
1
+ import{e as p,r as f}from"./index-_CUdtdz8.js";import{u as w}from"./tooltip-DEoNevOj.js";function S(m,M){const e=p.c(12),u=M===void 0?"cards":M,o=w(),b=f.useRef(o),s=m?`deco-view-mode-${m}`:"deco-view-mode";let i;e[0]!==u||e[1]!==s?(i=()=>{const r=globalThis.localStorage?.getItem(s);return r==="cards"||r==="table"?r:u},e[0]=u,e[1]=s,e[2]=i):i=e[2];const[t,g]=f.useState(i);let l;e[3]!==s?(l=r=>{g(r),globalThis.localStorage?.setItem(s,r)},e[3]=s,e[4]=l):l=e[4];const d=l;let c,a;e[5]!==o||e[6]!==t?(c=()=>{!b.current&&o&&t==="table"&&g("cards"),b.current=o},a=[o,t],e[5]=o,e[6]=t,e[7]=c,e[8]=a):(c=e[7],a=e[8]),f.useEffect(c,a);let n;return e[9]!==d||e[10]!==t?(n=[t,d],e[9]=d,e[10]=t,e[11]=n):n=e[11],n}export{S as u};
@@ -1 +1 @@
1
- import{e as l,s as u}from"./index-5jrl6Co-.js";import{c as g,a,u as C}from"./use-collections-fNwAKHqm.js";import{S as c,u as r}from"./constants-CkJVGrih.js";function M(s){const o=l.c(5);let t;o[0]!==s?(t=s===void 0?{}:s,o[0]=s,o[1]=t):t=o[1];const n=t,{org:i}=u();let e;o[2]!==i.id||o[3]!==i.slug?(e={connectionId:c,orgId:i.id,orgSlug:i.slug},o[2]=i.id,o[3]=i.slug,o[4]=e):e=o[4];const d=r(e);return g(i.id,"VIRTUAL_MCP",d,n)}function m(s){const o=l.c(3),{org:t}=u();let n;o[0]!==t.id||o[1]!==t.slug?(n={connectionId:c,orgId:t.id,orgSlug:t.slug},o[0]=t.id,o[1]=t.slug,o[2]=n):n=o[2];const i=r(n);return C(t.id,"VIRTUAL_MCP",s??void 0,i)}function V(){const s=l.c(3),{org:o}=u();let t;s[0]!==o.id||s[1]!==o.slug?(t={connectionId:c,orgId:o.id,orgSlug:o.slug},s[0]=o.id,s[1]=o.slug,s[2]=t):t=s[2];const n=r(t);return a(o.id,"VIRTUAL_MCP",n)}export{V as a,M as b,m as u};
1
+ import{e as l,s as u}from"./index-_CUdtdz8.js";import{c as g,a,u as C}from"./use-collections-T8lAmXe-.js";import{S as c,u as r}from"./constants-CImNHUX-.js";function M(s){const o=l.c(5);let t;o[0]!==s?(t=s===void 0?{}:s,o[0]=s,o[1]=t):t=o[1];const n=t,{org:i}=u();let e;o[2]!==i.id||o[3]!==i.slug?(e={connectionId:c,orgId:i.id,orgSlug:i.slug},o[2]=i.id,o[3]=i.slug,o[4]=e):e=o[4];const d=r(e);return g(i.id,"VIRTUAL_MCP",d,n)}function m(s){const o=l.c(3),{org:t}=u();let n;o[0]!==t.id||o[1]!==t.slug?(n={connectionId:c,orgId:t.id,orgSlug:t.slug},o[0]=t.id,o[1]=t.slug,o[2]=n):n=o[2];const i=r(n);return C(t.id,"VIRTUAL_MCP",s??void 0,i)}function V(){const s=l.c(3),{org:o}=u();let t;s[0]!==o.id||s[1]!==o.slug?(t={connectionId:c,orgId:o.id,orgSlug:o.slug},s[0]=o.id,s[1]=o.slug,s[2]=t):t=s[2];const n=r(t);return a(o.id,"VIRTUAL_MCP",n)}export{V as a,M as b,m as u};
@@ -0,0 +1 @@
1
+ import{I as u}from"./infiniteQueryObserver-7fxmXXdp.js";import{c1 as i}from"./index-_CUdtdz8.js";function t(e,r){return i(e,u,r)}export{t as u};
@@ -0,0 +1 @@
1
+ import{I as s}from"./infiniteQueryObserver-7fxmXXdp.js";import{c1 as u,c2 as n}from"./index-_CUdtdz8.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
@@ -1 +1 @@
1
- import{e as S,s as b,n as C,K as k,c as y,j as t}from"./index-5jrl6Co-.js";import{A as E}from"./avatar-Cz84VRfi.js";import{S as A,u as _}from"./constants-CkJVGrih.js";function K(m){const e=S.c(12),{org:u}=b();let x;e[0]!==u.id||e[1]!==u.slug?(x={connectionId:A,orgId:u.id,orgSlug:u.slug},e[0]=u.id,e[1]=u.slug,e[2]=x):x=e[2];const g=_(x);let d;e[3]!==m?(d=k.user(m),e[3]=m,e[4]=d):d=e[4];let s;e[5]!==g||e[6]!==m?(s=async()=>{const c=await g.callTool({name:"USER_GET",arguments:{id:m}});return(c.structuredContent??c).user},e[5]=g,e[6]=m,e[7]=s):s=e[7];const l=!!m;let o;return e[8]!==d||e[9]!==s||e[10]!==l?(o={queryKey:d,queryFn:s,staleTime:3e5,retry:1,enabled:l},e[8]=d,e[9]=s,e[10]=l,e[11]=o):o=e[11],C(o)}function T(m){const e=S.c(36),{id:u,size:x,showEmail:g,avatarOnly:d,className:s}=m,l=x===void 0?"xs":x,o=g===void 0?!1:g,c=d===void 0?!1:d,{data:r,isLoading:w,isError:U}=K(u);if(w){let a;e[0]!==s?(a=y("flex items-center gap-2",s),e[0]=s,e[1]=a):a=e[1];let i;e[2]!==l?(i=t.jsx(E.Skeleton,{shape:"circle",size:l}),e[2]=l,e[3]=i):i=e[3];let n;e[4]!==c||e[5]!==o?(n=!c&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),o&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=c,e[5]=o,e[6]=n):n=e[6];let f;return e[7]!==a||e[8]!==i||e[9]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[7]=a,e[8]=i,e[9]=n,e[10]=f):f=e[10],f}if(U||!r){let a;e[11]!==s?(a=y("flex items-center gap-2",s),e[11]=s,e[12]=a):a=e[12];let i;e[13]!==l?(i=t.jsx(E,{shape:"circle",size:l,fallback:"?",muted:!0}),e[13]=l,e[14]=i):i=e[14];let n;e[15]!==c?(n=!c&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=c,e[16]=n):n=e[16];let f;return e[17]!==a||e[18]!==i||e[19]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[17]=a,e[18]=i,e[19]=n,e[20]=f):f=e[20],f}let p;e[21]!==s?(p=y("flex items-center gap-2",s),e[21]=s,e[22]=p):p=e[22];const N=r.image??void 0;let v;e[23]!==l||e[24]!==N||e[25]!==r.name?(v=t.jsx(E,{shape:"circle",size:l,url:N,fallback:r.name}),e[23]=l,e[24]=N,e[25]=r.name,e[26]=v):v=e[26];let j;e[27]!==c||e[28]!==o||e[29]!==r.email||e[30]!==r.name?(j=!c&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:r.name}),o&&t.jsx("div",{className:"text-xs text-muted-foreground",children:r.email})]}),e[27]=c,e[28]=o,e[29]=r.email,e[30]=r.name,e[31]=j):j=e[31];let h;return e[32]!==p||e[33]!==v||e[34]!==j?(h=t.jsxs("div",{className:p,children:[v,j]}),e[32]=p,e[33]=v,e[34]=j,e[35]=h):h=e[35],h}export{T as U};
1
+ import{e as S,s as b,n as C,K as k,c as y,j as t}from"./index-_CUdtdz8.js";import{A as E}from"./avatar-CVlDCU5h.js";import{S as A,u as _}from"./constants-CImNHUX-.js";function K(m){const e=S.c(12),{org:u}=b();let x;e[0]!==u.id||e[1]!==u.slug?(x={connectionId:A,orgId:u.id,orgSlug:u.slug},e[0]=u.id,e[1]=u.slug,e[2]=x):x=e[2];const g=_(x);let d;e[3]!==m?(d=k.user(m),e[3]=m,e[4]=d):d=e[4];let s;e[5]!==g||e[6]!==m?(s=async()=>{const c=await g.callTool({name:"USER_GET",arguments:{id:m}});return(c.structuredContent??c).user},e[5]=g,e[6]=m,e[7]=s):s=e[7];const l=!!m;let o;return e[8]!==d||e[9]!==s||e[10]!==l?(o={queryKey:d,queryFn:s,staleTime:3e5,retry:1,enabled:l},e[8]=d,e[9]=s,e[10]=l,e[11]=o):o=e[11],C(o)}function T(m){const e=S.c(36),{id:u,size:x,showEmail:g,avatarOnly:d,className:s}=m,l=x===void 0?"xs":x,o=g===void 0?!1:g,c=d===void 0?!1:d,{data:r,isLoading:w,isError:U}=K(u);if(w){let a;e[0]!==s?(a=y("flex items-center gap-2",s),e[0]=s,e[1]=a):a=e[1];let i;e[2]!==l?(i=t.jsx(E.Skeleton,{shape:"circle",size:l}),e[2]=l,e[3]=i):i=e[3];let n;e[4]!==c||e[5]!==o?(n=!c&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),o&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=c,e[5]=o,e[6]=n):n=e[6];let f;return e[7]!==a||e[8]!==i||e[9]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[7]=a,e[8]=i,e[9]=n,e[10]=f):f=e[10],f}if(U||!r){let a;e[11]!==s?(a=y("flex items-center gap-2",s),e[11]=s,e[12]=a):a=e[12];let i;e[13]!==l?(i=t.jsx(E,{shape:"circle",size:l,fallback:"?",muted:!0}),e[13]=l,e[14]=i):i=e[14];let n;e[15]!==c?(n=!c&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=c,e[16]=n):n=e[16];let f;return e[17]!==a||e[18]!==i||e[19]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[17]=a,e[18]=i,e[19]=n,e[20]=f):f=e[20],f}let p;e[21]!==s?(p=y("flex items-center gap-2",s),e[21]=s,e[22]=p):p=e[22];const N=r.image??void 0;let v;e[23]!==l||e[24]!==N||e[25]!==r.name?(v=t.jsx(E,{shape:"circle",size:l,url:N,fallback:r.name}),e[23]=l,e[24]=N,e[25]=r.name,e[26]=v):v=e[26];let j;e[27]!==c||e[28]!==o||e[29]!==r.email||e[30]!==r.name?(j=!c&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:r.name}),o&&t.jsx("div",{className:"text-xs text-muted-foreground",children:r.email})]}),e[27]=c,e[28]=o,e[29]=r.email,e[30]=r.name,e[31]=j):j=e[31];let h;return e[32]!==p||e[33]!==v||e[34]!==j?(h=t.jsxs("div",{className:p,children:[v,j]}),e[32]=p,e[33]=v,e[34]=j,e[35]=h):h=e[35],h}export{T as U};
@@ -1 +1 @@
1
- import{e as P,r as v,c as m,j as o}from"./index-5jrl6Co-.js";import{b as L,T as M,a as q}from"./tooltip-CBWMgMUA.js";const A={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function F(W){const e=P.c(29),{value:s,onValueChange:j,options:i,size:_,fullWidth:C,className:y}=W,$=_===void 0?"sm":_,u=C===void 0?!1:C,E=v.useRef(null),S=v.useRef(null);let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},e[0]=x):x=e[0];const[f,k]=v.useState(x);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=t=>{if(!t.current)return;const{offsetLeft:R,offsetWidth:T}=t.current;k({left:R,width:T,opacity:1})},e[1]=g):g=e[1];const I=g;let b;e[2]!==i[0].value||e[3]!==s?(b=()=>{const t=s===i[0].value?E:S;I(t)},e[2]=i[0].value,e[3]=s,e[4]=b):b=e[4];let h;e[5]!==i||e[6]!==s?(h=[s,i],e[5]=i,e[6]=s,e[7]=h):h=e[7],v.useEffect(b,h);const d=A[$];let n;e[8]!==y?(n=m("relative flex gap-0 bg-muted rounded-lg",y),e[8]=y,e[9]=n):n=e[9];let l;e[10]!==d||e[11]!==u||e[12]!==j||e[13]!==i||e[14]!==s?(l=i.map((t,R)=>{const T=R===0?E:S,V=o.jsxs("button",{ref:T,type:"button",onClick:()=>j(t.value),className:m("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[o.jsx("span",{className:m("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&o.jsx("span",{className:m("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?o.jsxs(L,{children:[o.jsx(M,{asChild:!0,children:V}),o.jsx(q,{side:"bottom",children:t.tooltip})]},t.value):V}),e[10]=d,e[11]=u,e[12]=j,e[13]=i,e[14]=s,e[15]=l):l=e[15];const z=u?"h-12":d.button;let a;e[16]!==z?(a=m("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",z),e[16]=z,e[17]=a):a=e[17];const w=`${f.left}px`,N=`${f.width}px`;let r;e[18]!==f.opacity||e[19]!==w||e[20]!==N?(r={left:w,width:N,opacity:f.opacity},e[18]=f.opacity,e[19]=w,e[20]=N,e[21]=r):r=e[21];let c;e[22]!==a||e[23]!==r?(c=o.jsx("div",{className:a,style:r}),e[22]=a,e[23]=r,e[24]=c):c=e[24];let p;return e[25]!==c||e[26]!==n||e[27]!==l?(p=o.jsxs("div",{className:n,children:[l,c]}),e[25]=c,e[26]=n,e[27]=l,e[28]=p):p=e[28],p}export{F as V};
1
+ import{e as P,r as v,c as m,j as o}from"./index-_CUdtdz8.js";import{b as L,T as M,a as q}from"./tooltip-DEoNevOj.js";const A={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function F(W){const e=P.c(29),{value:s,onValueChange:j,options:i,size:_,fullWidth:C,className:y}=W,$=_===void 0?"sm":_,u=C===void 0?!1:C,E=v.useRef(null),S=v.useRef(null);let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},e[0]=x):x=e[0];const[f,k]=v.useState(x);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=t=>{if(!t.current)return;const{offsetLeft:R,offsetWidth:T}=t.current;k({left:R,width:T,opacity:1})},e[1]=g):g=e[1];const I=g;let b;e[2]!==i[0].value||e[3]!==s?(b=()=>{const t=s===i[0].value?E:S;I(t)},e[2]=i[0].value,e[3]=s,e[4]=b):b=e[4];let h;e[5]!==i||e[6]!==s?(h=[s,i],e[5]=i,e[6]=s,e[7]=h):h=e[7],v.useEffect(b,h);const d=A[$];let n;e[8]!==y?(n=m("relative flex gap-0 bg-muted rounded-lg",y),e[8]=y,e[9]=n):n=e[9];let l;e[10]!==d||e[11]!==u||e[12]!==j||e[13]!==i||e[14]!==s?(l=i.map((t,R)=>{const T=R===0?E:S,V=o.jsxs("button",{ref:T,type:"button",onClick:()=>j(t.value),className:m("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[o.jsx("span",{className:m("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&o.jsx("span",{className:m("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?o.jsxs(L,{children:[o.jsx(M,{asChild:!0,children:V}),o.jsx(q,{side:"bottom",children:t.tooltip})]},t.value):V}),e[10]=d,e[11]=u,e[12]=j,e[13]=i,e[14]=s,e[15]=l):l=e[15];const z=u?"h-12":d.button;let a;e[16]!==z?(a=m("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",z),e[16]=z,e[17]=a):a=e[17];const w=`${f.left}px`,N=`${f.width}px`;let r;e[18]!==f.opacity||e[19]!==w||e[20]!==N?(r={left:w,width:N,opacity:f.opacity},e[18]=f.opacity,e[19]=w,e[20]=N,e[21]=r):r=e[21];let c;e[22]!==a||e[23]!==r?(c=o.jsx("div",{className:a,style:r}),e[22]=a,e[23]=r,e[24]=c):c=e[24];let p;return e[25]!==c||e[26]!==n||e[27]!==l?(p=o.jsxs("div",{className:n,children:[l,c]}),e[25]=c,e[26]=n,e[27]=l,e[28]=p):p=e[28],p}export{F as V};
@@ -1 +1 @@
1
- import{e as oe,j as t,B as Ce,f as Be,b as ct,s as ze,r as dt,x as Le,o as ut,a as mt,K as Fe,Y as Ke,Z as pt}from"./index-5jrl6Co-.js";import{u as Ve,S as qe}from"./constants-CkJVGrih.js";import{B as ft,g as Me}from"./constants-eHuCaQ_P.js";import{C as Ge}from"./collection-display-button-BkhKa8Fq.js";import{C as ht}from"./collection-search-CC32ghxz.js";import{C as gt}from"./card-BkUSFoeH.js";import{I as Qe}from"./integration-icon-Cnjj_f25.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-CapVicMN.js";import{c as Ze}from"./XCircle-Rqvc6PWM.js";import{i as Xe}from"./DotsVertical-Cr_XWVYH.js";import{i as et}from"./Tool01-8PZBFCSr.js";import{s as tt}from"./RefreshCcw01-1mb0qscd.js";import{s as st}from"./Trash01-sqipAjJs.js";import{C as xt}from"./collection-table-wrapper-CsPeZBHE.js";import{E as Ue}from"./empty-state-DrcmKKqy.js";import{G as We}from"./agent-icon-D6T8ZDaV.js";import{U as jt}from"./user-DSZMPWc6.js";import{E as it}from"./empty-state-CyNHLjJr.js";import{u as Ct}from"./use-list-state-Cm9upsvA.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-CL1ufXLZ.js";import{a as It,c as At}from"./use-collections-fNwAKHqm.js";import{a as Tt}from"./use-connection-kZb9ifhw.js";import{s as Et}from"./Plus-D7J-ZpF_.js";import{a as Ot}from"./layout-DZBilHGN.js";import{P as je}from"./index-CwW_wLKg.js";import"./collections-h6SIG2VD.js";import"./XClose-BEPgM0J7.js";import"./Check-C6Q1bblL.js";import"./tooltip-CBWMgMUA.js";import"./view-mode-toggle-Cgp8wSpL.js";import"./badge-BDIezRWl.js";import"./SearchMd-B0Lvg3Xk.js";import"./Container-CDeA-o5s.js";import"./ChevronRight-srFzWZbn.js";import"./table-4kNaNJRz.js";import"./AlertCircle-C2o5q6vc.js";import"./Archive-DFar6uKs.js";import"./ArrowNarrowLeft-Dc1sniQF.js";import"./ArrowUpRight-DoW21rsG.js";import"./ZapSquare-BTR8NCmq.js";import"./Users03-B2lBHlGZ.js";import"./CheckCircle-BAZINfwL.js";import"./ChevronDown-CLABqX5x.js";import"./ChevronUp-CYhx7PBM.js";import"./Star01-DxYo9bx0.js";import"./Palette-BzdGUPw1.js";import"./LayoutLeft-D10kQiES.js";import"./LinkExternal01-D7Bf92jL.js";import"./Lock01-B5nxky6K.js";import"./Sun-C3FNZe_T.js";import"./Play-Cv1sPHtp.js";import"./Settings02-CxQQ6hnP.js";import"./Shield01-CWlsOsl1.js";import"./User01-CMGdQkcX.js";import"./X-UcFDhK-I.js";import"./Zap-CV9G-Zfk.js";import"./avatar-Cz84VRfi.js";import"./use-view-mode-CrZp_Guy.js";import"./sidebar-yJ2bKdp0.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,p=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let m;e[5]!==r||e[6]!==s.title?(m=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=m):m=e[7];let u;e[8]!==s.title?(u=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=u):u=e[9];const f=p||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==u||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[u,a]}),e[12]=u,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==m||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[m,v]}),e[15]=m,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(tt,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(et,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:p,onSort:d,actions:o,onItemClick:m,headerActions:u,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=p===void 0?"asc":p,g=d===void 0?qt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=m===void 0?Vt:m,E=u===void 0?null:u,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Yt(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function Vt(){}function qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(tt,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(et,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const m=s[o];return m&&nt(m)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const p=["title","description","updated_at","updated_by"];for(const o of p)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,m)=>o.localeCompare(m));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const m=s[o],u=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:u,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:u,cellClassName:"max-w-[250px]"}:m?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:u,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:u,cellClassName:"max-w-[200px]"}})}function Yt(i,e,s,l){const n=i||Qt(e,s);return n.some(p=>p.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Ht(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,p=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,m=n.hasDeleteTool,u=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=Ve(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!m;let ne;e[14]!==b||e[15]!==r||e[16]!==u||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=u,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==m?(U=m&&{delete:rt},e[30]=m,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==u||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=u,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let ue;e[47]!==p?(ue=ot(p),e[47]=p,e[48]=ue):ue=e[48];const Se=ue,lt=(I?.length??0)>0,at=d&&!lt&&!N;let me;e[49]!==h.create||e[50]!==we||e[51]!==d?(me=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=me):me=e[52];const pe=me,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let V;e[65]!==pe||e[66]!==d?(V=d&&t.jsx("div",{className:"pr-3",children:pe}),e[65]=pe,e[66]=d,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?pe:void 0;let Y;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(Y=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=Y):Y=e[78];let H;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==p||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==Y||e[91]!==z?(H=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:p,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:Y})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=p,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=Y,e[91]=z,e[92]=H):H=e[92];let J;e[93]!==q||e[94]!==H?(J=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,H]}),e[93]=q,e[94]=H,e[95]=J):J=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let Z;e[98]!==Oe?(Z=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=Z):Z=e[99];let X;e[100]!==h.delete.isPending?(X=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=X):X=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==X||e[107]!==ee?(te=t.jsxs(Pt,{children:[X,ee]}),e[106]=X,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==Z||e[110]!==te?(se=t.jsxs(_t,{children:[Z,te]}),e[109]=Z,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==J||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,J,ie]}),e[115]=W,e[116]=J,e[117]=ie,e[118]=ge):ge=e[118],ge}function Jt(){const i=oe.c(13),{org:e,project:s}=ze(),l=ut();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:qe,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=Ve(n);let r;i[3]!==c||i[4]!==s?(r=async m=>{const u=s.enabledPlugins??[];if(u.includes(m))return;const f=[...u,m],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let p;i[6]!==e.id||i[7]!==s||i[8]!==l?(p=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=p):p=i[9];let d;return i[10]!==r||i[11]!==p?(d={mutationFn:r,onSuccess:p,onError:Zt},i[10]=r,i[11]=p,i[12]=d):d=i[12],mt(d)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Xt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Jt();let p;e[0]!==r||e[1]!==s?(p=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=p):p=e[2];const d=p,o=c??null,m=r.isPending?"Enabling…":"Enable plugin";let u;e[3]!==r.isPending||e[4]!==d||e[5]!==m?(u=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:m}),e[3]=r.isPending,e[4]=d,e[5]=m,e[6]=u):u=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==u||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:u}),e[7]=n,e[8]=o,e[9]=u,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function ai(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Xt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(pt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Ht,{connectionId:qe,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{ai as default};
1
+ import{e as oe,j as t,B as Ce,f as Be,b as ct,s as ze,r as dt,x as Le,o as ut,a as mt,K as Fe,Y as Ke,Z as pt}from"./index-_CUdtdz8.js";import{u as Ve,S as qe}from"./constants-CImNHUX-.js";import{B as ft,g as Me}from"./constants-kgqnlOHa.js";import{C as Ge}from"./collection-display-button-C4cuirx7.js";import{C as ht}from"./collection-search-DWrG5qGb.js";import{C as gt}from"./card-DotruZR7.js";import{I as Qe}from"./integration-icon-DcYB2a8l.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-B7T7Iogo.js";import{c as Ze}from"./XCircle-DHsXO2jG.js";import{i as Xe}from"./DotsVertical-DTAmMuFp.js";import{i as et}from"./Tool01-1p7InVa9.js";import{s as tt}from"./RefreshCcw01-BVYIhLNw.js";import{s as st}from"./Trash01-CCICAviE.js";import{C as xt}from"./collection-table-wrapper-B4KtrooZ.js";import{E as Ue}from"./empty-state-BU8pZLnA.js";import{G as We}from"./agent-icon-B3dbwQQF.js";import{U as jt}from"./user-DiRuL5kE.js";import{E as it}from"./empty-state-Du82mGBp.js";import{u as Ct}from"./use-list-state-DD5dSsUl.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-BJTNrOhl.js";import{a as It,c as At}from"./use-collections-T8lAmXe-.js";import{a as Tt}from"./use-connection-CHxcvnwB.js";import{s as Et}from"./Plus-BfYJ_fhU.js";import{a as Ot}from"./layout-Dw6LlsHX.js";import{P as je}from"./index-DMzQ42Ay.js";import"./collections-BccjtmBC.js";import"./XClose-C9tO3uLm.js";import"./Check-_x9Smiby.js";import"./tooltip-DEoNevOj.js";import"./view-mode-toggle-cZTPYUmn.js";import"./badge-DOjxQOhJ.js";import"./SearchMd-x9jEzWto.js";import"./Container-hPWrMd_K.js";import"./ChevronRight-DmzXQRyN.js";import"./table-DKmWjuZu.js";import"./AlertCircle-VR9e1Kdm.js";import"./Archive-C8b1PbwD.js";import"./ArrowNarrowLeft-BomndbPT.js";import"./ArrowUpRight-BBedSsf2.js";import"./ZapSquare-CLYRUiny.js";import"./Users03-C-LNtnHq.js";import"./CheckCircle-DqkJltcw.js";import"./ChevronDown-B0KKFW7z.js";import"./ChevronUp-D80nIxW6.js";import"./Star01-Bsoh5hNL.js";import"./Palette-Rwaz6Ux1.js";import"./LayoutLeft-CvHk6_1v.js";import"./LinkExternal01-ChBg4lCh.js";import"./Lock01-omvVfDsq.js";import"./Sun-Bp5SyQ9x.js";import"./Play-B5Y5OgEF.js";import"./Settings02-A2QUyA04.js";import"./Shield01-VFZnVzgJ.js";import"./User01-DYAGpiu4.js";import"./X-DOmcQBqy.js";import"./Zap-Cr3JL-JC.js";import"./avatar-CVlDCU5h.js";import"./use-view-mode-Bv0IukaU.js";import"./sidebar-C6KGCyfz.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,p=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let m;e[5]!==r||e[6]!==s.title?(m=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=m):m=e[7];let u;e[8]!==s.title?(u=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=u):u=e[9];const f=p||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==u||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[u,a]}),e[12]=u,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==m||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[m,v]}),e[15]=m,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(tt,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(et,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:p,onSort:d,actions:o,onItemClick:m,headerActions:u,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=p===void 0?"asc":p,g=d===void 0?qt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=m===void 0?Vt:m,E=u===void 0?null:u,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Yt(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function Vt(){}function qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(tt,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(et,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const m=s[o];return m&&nt(m)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const p=["title","description","updated_at","updated_by"];for(const o of p)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,m)=>o.localeCompare(m));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const m=s[o],u=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:u,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:u,cellClassName:"max-w-[250px]"}:m?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:u,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:u,cellClassName:"max-w-[200px]"}})}function Yt(i,e,s,l){const n=i||Qt(e,s);return n.some(p=>p.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Ht(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,p=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,m=n.hasDeleteTool,u=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=Ve(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!m;let ne;e[14]!==b||e[15]!==r||e[16]!==u||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=u,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==m?(U=m&&{delete:rt},e[30]=m,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==u||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=u,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let ue;e[47]!==p?(ue=ot(p),e[47]=p,e[48]=ue):ue=e[48];const Se=ue,lt=(I?.length??0)>0,at=d&&!lt&&!N;let me;e[49]!==h.create||e[50]!==we||e[51]!==d?(me=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=me):me=e[52];const pe=me,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let V;e[65]!==pe||e[66]!==d?(V=d&&t.jsx("div",{className:"pr-3",children:pe}),e[65]=pe,e[66]=d,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?pe:void 0;let Y;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(Y=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=Y):Y=e[78];let H;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==p||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==Y||e[91]!==z?(H=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:p,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:Y})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=p,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=Y,e[91]=z,e[92]=H):H=e[92];let J;e[93]!==q||e[94]!==H?(J=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,H]}),e[93]=q,e[94]=H,e[95]=J):J=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let Z;e[98]!==Oe?(Z=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=Z):Z=e[99];let X;e[100]!==h.delete.isPending?(X=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=X):X=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==X||e[107]!==ee?(te=t.jsxs(Pt,{children:[X,ee]}),e[106]=X,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==Z||e[110]!==te?(se=t.jsxs(_t,{children:[Z,te]}),e[109]=Z,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==J||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,J,ie]}),e[115]=W,e[116]=J,e[117]=ie,e[118]=ge):ge=e[118],ge}function Jt(){const i=oe.c(13),{org:e,project:s}=ze(),l=ut();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:qe,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=Ve(n);let r;i[3]!==c||i[4]!==s?(r=async m=>{const u=s.enabledPlugins??[];if(u.includes(m))return;const f=[...u,m],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let p;i[6]!==e.id||i[7]!==s||i[8]!==l?(p=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=p):p=i[9];let d;return i[10]!==r||i[11]!==p?(d={mutationFn:r,onSuccess:p,onError:Zt},i[10]=r,i[11]=p,i[12]=d):d=i[12],mt(d)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Xt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Jt();let p;e[0]!==r||e[1]!==s?(p=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=p):p=e[2];const d=p,o=c??null,m=r.isPending?"Enabling…":"Enable plugin";let u;e[3]!==r.isPending||e[4]!==d||e[5]!==m?(u=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:m}),e[3]=r.isPending,e[4]=d,e[5]=m,e[6]=u):u=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==u||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:u}),e[7]=n,e[8]=o,e[9]=u,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function ai(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Xt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(pt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Ht,{connectionId:qe,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{ai as default};
@@ -0,0 +1 @@
1
+ import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-_CUdtdz8.js";import{a as f}from"./index-pKuooFel.js";import"./index-Dtca8DdX.js";import"./constants-CImNHUX-.js";import"./collections-BccjtmBC.js";import"./index-CPA6TTAv.js";import"./use-virtual-mcp-MITPdtzC.js";import"./use-collections-T8lAmXe-.js";import"./monaco-editor-C6DOPPfO.js";import"./spinner-DIWCCR1u.js";import"./accordion-B8b6ADv4.js";import"./agent-icon-B3dbwQQF.js";import"./AlertCircle-VR9e1Kdm.js";import"./Tool01-1p7InVa9.js";import"./Archive-C8b1PbwD.js";import"./XClose-C9tO3uLm.js";import"./RefreshCcw01-BVYIhLNw.js";import"./ArrowNarrowLeft-BomndbPT.js";import"./XCircle-DHsXO2jG.js";import"./ArrowUpRight-BBedSsf2.js";import"./ZapSquare-CLYRUiny.js";import"./Users03-C-LNtnHq.js";import"./CheckCircle-DqkJltcw.js";import"./Check-_x9Smiby.js";import"./ChevronDown-B0KKFW7z.js";import"./ChevronRight-DmzXQRyN.js";import"./ChevronUp-D80nIxW6.js";import"./DotsVertical-DTAmMuFp.js";import"./Container-hPWrMd_K.js";import"./Star01-Bsoh5hNL.js";import"./Palette-Rwaz6Ux1.js";import"./SearchMd-x9jEzWto.js";import"./LayoutLeft-CvHk6_1v.js";import"./LinkExternal01-ChBg4lCh.js";import"./Lock01-omvVfDsq.js";import"./Sun-Bp5SyQ9x.js";import"./Play-B5Y5OgEF.js";import"./Plus-BfYJ_fhU.js";import"./Settings02-A2QUyA04.js";import"./Shield01-VFZnVzgJ.js";import"./Trash01-CCICAviE.js";import"./User01-DYAGpiu4.js";import"./X-DOmcQBqy.js";import"./Zap-Cr3JL-JC.js";import"./index-SHpCCFvp.js";import"./badge-DOjxQOhJ.js";import"./select-DhMWgQ3s.js";import"./tooltip-DEoNevOj.js";import"./view-mode-toggle-cZTPYUmn.js";import"./layout-Dw6LlsHX.js";import"./index-DMzQ42Ay.js";import"./sidebar-C6KGCyfz.js";import"./use-connection-CHxcvnwB.js";import"./use-mcp-tools-DLLnZTwr.js";import"./dialog-CK63STP4.js";import"./index-Q_nE-B09.js";import"./dropdown-menu-B7T7Iogo.js";import"./integration-icon-DcYB2a8l.js";import"./scroll-area-CYD6rIcU.js";import"./index-3_pBkl9I.js";import"./empty-state-BU8pZLnA.js";import"./create-sse-subscription-CxkOgzKf.js";import"./input-Ko_SrZ4_.js";function yt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{yt as default};
@@ -27,8 +27,8 @@
27
27
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
28
28
  <link rel="manifest" href="/manifest.webmanifest" />
29
29
  <meta name="theme-color" content="#D0EC1A" />
30
- <script type="module" crossorigin src="/assets/index-5jrl6Co-.js"></script>
31
- <link rel="stylesheet" crossorigin href="/assets/index-CzeuUc9U.css">
30
+ <script type="module" crossorigin src="/assets/index-_CUdtdz8.js"></script>
31
+ <link rel="stylesheet" crossorigin href="/assets/index-Cm3pqTt-.css">
32
32
  </head>
33
33
  <body>
34
34
  <div id="root"></div>
@@ -1643,7 +1643,7 @@ AS SELECT
1643
1643
  FROM monitoring_metrics
1644
1644
  GROUP BY organization_id, name, bucket, connection_id, tool_name, status
1645
1645
  `}),console.log("[clickhouse-schema] monitoring_metrics_rollup_1m_mv view ready")}finally{await G.close()}}catch(Y){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",Y)}}async function aA1(X){let Y={...process.env},G=QK1(X,Y),Q=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(Q)} (${Q.length} chars)`);let{ensureServices:J}=await Promise.resolve().then(() => (i$1(),c$1)),{outputs:W,services:Z}=await J({home:G.settings.dataDir,externalDatabaseUrl:G.externalDatabaseUrl,externalNatsUrl:G.externalNatsUrl});if(!G.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (WW0(),Og4));await K(W.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (ZU(),zg4)),{migrateToLatest:U}=await Promise.resolve().then(() => (Cs4(),ks4)),B=H(W.databaseUrl);await U({keepOpen:!0,database:B,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => v16);await K(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:W.databaseUrl,natsUrls:W.natsUrls};return mt1($),{settings:$,services:Z.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:Z.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var gN0=w(()=>{lt1();l9()});var sA1={};T0(sA1,{updateService:()=>Za,toggleViewMode:()=>lN0,toggleVibeState:()=>dN0,toggleLogFlow:()=>mN0,subscribeCliState:()=>xX1,setVibe:()=>va5,setTuiConsoleIntercepted:()=>rA1,setServerUrl:()=>gX1,setMigrationsDone:()=>hX1,setEnv:()=>uX1,setDevMode:()=>ka5,setDataDir:()=>Ca5,isTuiConsoleIntercepted:()=>oA1,getCliState:()=>yX1,addLogEntry:()=>$z});function TU(){for(let X of uN0)X()}function yX1(){return X7}function xX1(X){return uN0.add(X),()=>uN0.delete(X)}function Za(X){X7={...X7,services:X7.services.map((Y)=>Y.name===X.name?X:Y)},TU()}function hX1(){X7={...X7,migrationsStatus:"done"},TU()}function gX1(X){X7={...X7,serverUrl:X},TU()}function uX1(X){X7={...X7,env:X},TU()}function $z(X){let Y=[...X7.logs,X];X7={...X7,logs:Y.length>500?Y.slice(-500):Y},TU()}function ka5(){X7={...X7,services:[...X7.services,{name:"Vite",status:"pending",port:0}]},TU()}function lN0(){X7={...X7,viewMode:X7.viewMode==="requests"?"config":"requests"},TU()}function mN0(){X7={...X7,logFlow:!X7.logFlow},TU()}function Ca5(X){X7={...X7,dataDir:X},TU()}function va5(X){X7={...X7,vibe:X},TU()}function dN0(){X7={...X7,vibe:!X7.vibe},TU()}function rA1(X){_16=X}function oA1(){return _16}var X7,uN0,_16=!1;var Kz=w(()=>{X7={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},uN0=new Set});import{createServer as f16}from"net";function _a5(X){return new Promise((Y)=>{let G=f16();G.once("error",()=>Y(!1)),G.listen(X,"0.0.0.0",()=>{G.close(()=>Y(!0))})})}async function eA1(X){if(await _a5(X))return X;let Y=await new Promise((G,Q)=>{let J=f16();J.once("error",Q),J.listen(0,"0.0.0.0",()=>{let W=J.address(),Z=typeof W==="object"&&W?W.port:0;J.close(()=>G(Z))})});return console.warn(`Port ${X} is in use, using port ${Y} instead.`),Y}var cN0=()=>{};var iN0={};T0(iN0,{startDevServer:()=>ba5});import{join as fa5}from"path";function b16(X){return X.replace(/\x1b\[[0-9;]*m/g,"")}function y16(X){let Y=X.getReader(),G=new TextDecoder,Q="";function J(){let W=Q.split(`
1646
- `);Q=W.pop()??"";for(let Z of W){let $=b16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;$z({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=b16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)$z({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function ba5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await eA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await aA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Za({name:z.name,status:"ready",port:z.port});uX1(W),hX1();let K=fa5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)y16(U.stdout),y16(U.stderr);let B=G||`http://localhost:${W.port}`;gX1(B),Za({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (i$1(),c$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var pN0=w(()=>{gN0();Kz();cN0()});import{Box as nN0,Text as tN0}from"ink";import{jsx as h16,jsxs as XT1}from"react/jsx-runtime";function x16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function ha5(X,Y){if(ya5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(xa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>x16(W)).join(", "),color:"cyan"}}let Q=x16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function ga5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function g16({env:X}){let Y=ga5(X);return h16(nN0,{flexDirection:"column",children:Y.map((G)=>XT1(nN0,{flexDirection:"column",marginTop:1,children:[XT1(tN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=ha5(Q,J);return XT1(nN0,{children:[XT1(tN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),h16(tN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var ya5,xa5;var u16=w(()=>{ya5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),xa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var aN0;var l16=w(()=>{aN0={name:"decocms",version:"2.312.7",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as la5}from"@inkjs/ui";import{useSyncExternalStore as m16}from"react";import{jsx as TY,jsxs as oQ}from"react/jsx-runtime";function pa5(X,Y){if(!X||!ia5.has(X))return X;let G=rN0[Y]??rN0[rN0.length-1];return X==="#875f00"?G[0]:G[1]}function d16({status:X}){if(X==="pending")return TY(la5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function c16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=m16(em0,sm0),Z=m16(Zd0,Jd0);return oQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?oQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,ca5-U);return oQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=pa5(N.color,K);return O?TY(RX,{color:O,children:N.text},z):TY(RX,{children:N.text},z)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((N,z)=>N.color?TY(RX,{color:N.color,children:N.char},z):TY(RX,{children:N.char},z))]},K)}),oQ(RX,{dimColor:!0,children:[" v",aN0.version]})]}):oQ(IU,{flexDirection:"column",marginTop:1,children:[ma5.map(($,K)=>TY(RX,{color:da5[K],children:$},K)),oQ(RX,{dimColor:!0,children:[" v",aN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:oQ(RX,{dimColor:!0,children:["Home: ",G]})}),oQ(IU,{gap:2,children:[X.map(($)=>oQ(IU,{gap:1,children:[oQ(RX,{children:[$.name," :",$.port||"...."]}),TY(d16,{status:$.status})]},$.name)),oQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(d16,{status:Y})]})]}),TY(IU,{children:Q?oQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),oQ(IU,{gap:2,children:[oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var ma5,da5,rN0,ca5=30,ia5;var i16=w(()=>{l16();kt1();yt1();ma5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],da5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],rN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],ia5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as na5}from"react";function ta5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==YT1.rows||Y!==YT1.columns)YT1={rows:X,columns:Y};return YT1}function aa5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function p16(){return na5(aa5,ta5)}var YT1;var n16=w(()=>{YT1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as ra5,Text as lX1}from"ink";import{useSyncExternalStore as oa5}from"react";import{jsx as oN0,jsxs as sN0}from"react/jsx-runtime";function sa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function t16({logs:X,headerHeight:Y}){let{rows:G}=p16(),{logFlow:Q}=oa5(xX1,yX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return oN0(ra5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return oN0(lX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return sN0(lX1,{children:[sN0(lX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),oN0(lX1,{color:sa5(Z.status),children:Z.status}),sN0(lX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var a16=w(()=>{Kz();n16()});var eN0={};T0(eN0,{App:()=>Zr5});import{Box as ea5,Text as Xr5,useInput as Yr5}from"ink";import{useSyncExternalStore as Gr5}from"react";import{jsx as GT1,jsxs as Wr5}from"react/jsx-runtime";function Zr5({home:X}){let Y=Gr5(xX1,yX1);return Yr5((G)=>{if(G==="k"||G==="K")lN0();if(G==="l"||G==="L")mN0();if((G==="v"||G==="V")&&Y.dataDir)ut1(Y.dataDir),dN0();if((G==="n"||G==="N")&&Y.vibe)gt1()}),Wr5(ea5,{flexDirection:"column",children:[GT1(c16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?GT1(g16,{env:Y.env}):GT1(Xr5,{dimColor:!0,children:"Loading configuration..."}):GT1(t16,{logs:Y.logs,headerHeight:Y.vibe?Jr5:Qr5})]})}var Qr5=15,Jr5=19;var Xz0=w(()=>{u16();i16();a16();Kz();hd()});function r16(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var hj=k((Br5)=>{Br5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Br5.HttpAuthLocation||(Br5.HttpAuthLocation={}));Br5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Br5.HttpApiKeyAuthLocation||(Br5.HttpApiKeyAuthLocation={}));Br5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(Br5.EndpointURLScheme||(Br5.EndpointURLScheme={}));Br5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(Br5.AlgorithmId||(Br5.AlgorithmId={}));var $r5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>Br5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>Br5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Kr5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},Hr5=(X)=>{return $r5(X)},Fr5=(X)=>{return Kr5(X)};Br5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(Br5.FieldPosition||(Br5.FieldPosition={}));var Ur5="__smithy_context";Br5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(Br5.IniSectionType||(Br5.IniSectionType={}));Br5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(Br5.RequestHandlerProtocol||(Br5.RequestHandlerProtocol={}));Br5.SMITHY_CONTEXT_KEY=Ur5;Br5.getDefaultClientConfiguration=Hr5;Br5.resolveDefaultRuntimeConfig=Fr5});var u7=k((qr5)=>{var Dr5=hj(),wr5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},Lr5=(X)=>{return{httpHandler:X.httpHandler()}};class o16{name;kind;values;constructor({name:X,kind:Y=Dr5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class s16{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class QT1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new QT1({...X,headers:{...X.headers}});if(Y.query)Y.query=Er5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return QT1.clone(this)}}function Er5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class e16{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function Pr5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}qr5.Field=o16;qr5.Fields=s16;qr5.HttpRequest=QT1;qr5.HttpResponse=e16;qr5.getHttpHandlerExtensionConfiguration=wr5;qr5.isValidHostname=Pr5;qr5.resolveHttpHandlerRuntimeConfig=Lr5});function Sr5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&X06.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var X06,kr5,Y06=(X)=>({applyToStack:(Y)=>{Y.add(Sr5(X),kr5)}});var G06=w(()=>{X06=X1(u7(),1);kr5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var LH,JT1,gj,ZT1,E9,Q06,dX1;var EH=w(()=>{LH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},JT1=LH.WHEN_SUPPORTED,gj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ZT1=LH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(Q06||(Q06={}));dX1=E9.CRC32});var Cq,Wa=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var $z0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(Cq||(Cq={}))});var Cr5="AWS_REQUEST_CHECKSUM_CALCULATION",vr5="request_checksum_calculation",J06;var Z06=w(()=>{EH();$z0();J06={environmentVariableSelector:(X)=>Wa(X,Cr5,LH,Cq.ENV),configFileSelector:(X)=>Wa(X,vr5,LH,Cq.CONFIG),default:JT1}});var _r5="AWS_RESPONSE_CHECKSUM_VALIDATION",fr5="response_checksum_validation",W06;var $06=w(()=>{EH();$z0();W06={environmentVariableSelector:(X)=>Wa(X,_r5,gj,Cq.ENV),configFileSelector:(X)=>Wa(X,fr5,gj,Cq.CONFIG),default:ZT1}});var Hz0=k((cr5)=>{var br5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],yr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],xr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],hr5=[500,502,503,504],gr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],ur5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],K06=(X)=>X?.$retryable!==void 0,lr5=(X)=>br5.includes(X.name),H06=(X)=>X.$metadata?.clockSkewCorrected,F06=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},mr5=(X)=>X.$metadata?.httpStatusCode===429||yr5.includes(X.name)||X.$retryable?.throttling==!0,Kz0=(X,Y=0)=>K06(X)||H06(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||xr5.includes(X.name)||gr5.includes(X?.code||"")||ur5.includes(X?.code||"")||hr5.includes(X.$metadata?.httpStatusCode||0)||F06(X)||U06(X)||X.cause!==void 0&&Y<=10&&Kz0(X.cause,Y+1),dr5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!Kz0(X))return!0;return!1}return!1};function U06(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}cr5.isBrowserNetworkError=F06;cr5.isClockSkewCorrectedError=H06;cr5.isClockSkewError=lr5;cr5.isNodeJsHttp2TransientError=U06;cr5.isRetryableByTrait=K06;cr5.isServerError=dr5;cr5.isThrottlingError=mr5;cr5.isTransientError=Kz0});var ww=k(($o5)=>{var er5=Hz0();$o5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})($o5.RETRY_MODES||($o5.RETRY_MODES={}));var $T1=3,Xo5=$o5.RETRY_MODES.STANDARD;class KT1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||er5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>KT1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var Yo5=100,Bz0=20000,Go5=500,Fz0=500,Qo5=5,Jo5=10,B06=1,Zo5="amz-sdk-invocation-id",Wo5="amz-sdk-request";class sQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return sQ.v2026?50:100}static throttlingDelay(){return sQ.v2026?1000:500}static cost(){return sQ.v2026?14:5}static throttlingCost(){return sQ.v2026?5:10}static modifiedCostType(){return sQ.v2026?"THROTTLING":"TRANSIENT"}}class N06{x=sQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Bz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Uz0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(Bz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var WT1={incompatible:1,attempts:2,capacity:3};class cX1{mode=$o5.RETRY_MODES.STANDARD;capacity=Fz0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>$T1,this.baseDelay??=sQ.delay(),this.retryBackoffStrategy??=new N06}async acquireInitialRetryToken(X){return new Uz0(sQ.delay(),0,void 0,sQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?sQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:sQ.v2026&&Q===WT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Uz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Fz0,this.capacity+(X.getRetryCost()??B06))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${$T1}`),$T1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:WT1.incompatible,W=Q<G?0:WT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:WT1.capacity;return J||W||Z}getCapacityCost(X){return X===sQ.modifiedCostType()?sQ.throttlingCost():sQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class z06{mode=$o5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new KT1,this.standardRetryStrategy=Y?new cX1({maxAttempts:typeof X==="number"?X:3,...Y}):new cX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class O06 extends cX1{computeNextBackoffDelay;constructor(X,Y=sQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}$o5.AdaptiveRetryStrategy=z06;$o5.ConfiguredRetryStrategy=O06;$o5.DEFAULT_MAX_ATTEMPTS=$T1;$o5.DEFAULT_RETRY_DELAY_BASE=Yo5;$o5.DEFAULT_RETRY_MODE=Xo5;$o5.DefaultRateLimiter=KT1;$o5.INITIAL_RETRY_TOKENS=Fz0;$o5.INVOCATION_ID_HEADER=Zo5;$o5.MAXIMUM_RETRY_DELAY=Bz0;$o5.NO_RETRY_INCREMENT=B06;$o5.REQUEST_HEADER=Wo5;$o5.RETRY_COST=Qo5;$o5.Retry=sQ;$o5.StandardRetryStrategy=cX1;$o5.THROTTLING_RETRY_DELAY_BASE=Go5;$o5.TIMEOUT_RETRY_COST=Jo5});var WX=k((vo5)=>{var Io5=ww(),Nz0={warningEmitted:!1},Vo5=(X)=>{if(X&&!Nz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Nz0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1646
+ `);Q=W.pop()??"";for(let Z of W){let $=b16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;$z({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=b16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)$z({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function ba5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await eA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await aA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let z of Z)Za({name:z.name,status:"ready",port:z.port});uX1(W),hX1();let K=fa5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)y16(U.stdout),y16(U.stderr);let B=G||`http://localhost:${W.port}`;gX1(B),Za({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (i$1(),c$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var pN0=w(()=>{gN0();Kz();cN0()});import{Box as nN0,Text as tN0}from"ink";import{jsx as h16,jsxs as XT1}from"react/jsx-runtime";function x16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function ha5(X,Y){if(ya5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(xa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>x16(W)).join(", "),color:"cyan"}}let Q=x16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function ga5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function g16({env:X}){let Y=ga5(X);return h16(nN0,{flexDirection:"column",children:Y.map((G)=>XT1(nN0,{flexDirection:"column",marginTop:1,children:[XT1(tN0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=ha5(Q,J);return XT1(nN0,{children:[XT1(tN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),h16(tN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var ya5,xa5;var u16=w(()=>{ya5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),xa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var aN0;var l16=w(()=>{aN0={name:"decocms",version:"2.313.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as la5}from"@inkjs/ui";import{useSyncExternalStore as m16}from"react";import{jsx as TY,jsxs as oQ}from"react/jsx-runtime";function pa5(X,Y){if(!X||!ia5.has(X))return X;let G=rN0[Y]??rN0[rN0.length-1];return X==="#875f00"?G[0]:G[1]}function d16({status:X}){if(X==="pending")return TY(la5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function c16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=m16(em0,sm0),Z=m16(Zd0,Jd0);return oQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?oQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,ca5-U);return oQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=pa5(N.color,K);return O?TY(RX,{color:O,children:N.text},z):TY(RX,{children:N.text},z)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((N,z)=>N.color?TY(RX,{color:N.color,children:N.char},z):TY(RX,{children:N.char},z))]},K)}),oQ(RX,{dimColor:!0,children:[" v",aN0.version]})]}):oQ(IU,{flexDirection:"column",marginTop:1,children:[ma5.map(($,K)=>TY(RX,{color:da5[K],children:$},K)),oQ(RX,{dimColor:!0,children:[" v",aN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:oQ(RX,{dimColor:!0,children:["Home: ",G]})}),oQ(IU,{gap:2,children:[X.map(($)=>oQ(IU,{gap:1,children:[oQ(RX,{children:[$.name," :",$.port||"...."]}),TY(d16,{status:$.status})]},$.name)),oQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(d16,{status:Y})]})]}),TY(IU,{children:Q?oQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),oQ(IU,{gap:2,children:[oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var ma5,da5,rN0,ca5=30,ia5;var i16=w(()=>{l16();kt1();yt1();ma5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],da5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],rN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],ia5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as na5}from"react";function ta5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==YT1.rows||Y!==YT1.columns)YT1={rows:X,columns:Y};return YT1}function aa5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function p16(){return na5(aa5,ta5)}var YT1;var n16=w(()=>{YT1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as ra5,Text as lX1}from"ink";import{useSyncExternalStore as oa5}from"react";import{jsx as oN0,jsxs as sN0}from"react/jsx-runtime";function sa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function t16({logs:X,headerHeight:Y}){let{rows:G}=p16(),{logFlow:Q}=oa5(xX1,yX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return oN0(ra5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return oN0(lX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return sN0(lX1,{children:[sN0(lX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),oN0(lX1,{color:sa5(Z.status),children:Z.status}),sN0(lX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var a16=w(()=>{Kz();n16()});var eN0={};T0(eN0,{App:()=>Zr5});import{Box as ea5,Text as Xr5,useInput as Yr5}from"ink";import{useSyncExternalStore as Gr5}from"react";import{jsx as GT1,jsxs as Wr5}from"react/jsx-runtime";function Zr5({home:X}){let Y=Gr5(xX1,yX1);return Yr5((G)=>{if(G==="k"||G==="K")lN0();if(G==="l"||G==="L")mN0();if((G==="v"||G==="V")&&Y.dataDir)ut1(Y.dataDir),dN0();if((G==="n"||G==="N")&&Y.vibe)gt1()}),Wr5(ea5,{flexDirection:"column",children:[GT1(c16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?GT1(g16,{env:Y.env}):GT1(Xr5,{dimColor:!0,children:"Loading configuration..."}):GT1(t16,{logs:Y.logs,headerHeight:Y.vibe?Jr5:Qr5})]})}var Qr5=15,Jr5=19;var Xz0=w(()=>{u16();i16();a16();Kz();hd()});function r16(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var hj=k((Br5)=>{Br5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Br5.HttpAuthLocation||(Br5.HttpAuthLocation={}));Br5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Br5.HttpApiKeyAuthLocation||(Br5.HttpApiKeyAuthLocation={}));Br5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(Br5.EndpointURLScheme||(Br5.EndpointURLScheme={}));Br5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(Br5.AlgorithmId||(Br5.AlgorithmId={}));var $r5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>Br5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>Br5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Kr5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},Hr5=(X)=>{return $r5(X)},Fr5=(X)=>{return Kr5(X)};Br5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(Br5.FieldPosition||(Br5.FieldPosition={}));var Ur5="__smithy_context";Br5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(Br5.IniSectionType||(Br5.IniSectionType={}));Br5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(Br5.RequestHandlerProtocol||(Br5.RequestHandlerProtocol={}));Br5.SMITHY_CONTEXT_KEY=Ur5;Br5.getDefaultClientConfiguration=Hr5;Br5.resolveDefaultRuntimeConfig=Fr5});var u7=k((qr5)=>{var Dr5=hj(),wr5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},Lr5=(X)=>{return{httpHandler:X.httpHandler()}};class o16{name;kind;values;constructor({name:X,kind:Y=Dr5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class s16{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class QT1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new QT1({...X,headers:{...X.headers}});if(Y.query)Y.query=Er5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return QT1.clone(this)}}function Er5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class e16{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function Pr5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}qr5.Field=o16;qr5.Fields=s16;qr5.HttpRequest=QT1;qr5.HttpResponse=e16;qr5.getHttpHandlerExtensionConfiguration=wr5;qr5.isValidHostname=Pr5;qr5.resolveHttpHandlerRuntimeConfig=Lr5});function Sr5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&X06.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var X06,kr5,Y06=(X)=>({applyToStack:(Y)=>{Y.add(Sr5(X),kr5)}});var G06=w(()=>{X06=X1(u7(),1);kr5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var LH,JT1,gj,ZT1,E9,Q06,dX1;var EH=w(()=>{LH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},JT1=LH.WHEN_SUPPORTED,gj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ZT1=LH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(Q06||(Q06={}));dX1=E9.CRC32});var Cq,Wa=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var $z0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(Cq||(Cq={}))});var Cr5="AWS_REQUEST_CHECKSUM_CALCULATION",vr5="request_checksum_calculation",J06;var Z06=w(()=>{EH();$z0();J06={environmentVariableSelector:(X)=>Wa(X,Cr5,LH,Cq.ENV),configFileSelector:(X)=>Wa(X,vr5,LH,Cq.CONFIG),default:JT1}});var _r5="AWS_RESPONSE_CHECKSUM_VALIDATION",fr5="response_checksum_validation",W06;var $06=w(()=>{EH();$z0();W06={environmentVariableSelector:(X)=>Wa(X,_r5,gj,Cq.ENV),configFileSelector:(X)=>Wa(X,fr5,gj,Cq.CONFIG),default:ZT1}});var Hz0=k((cr5)=>{var br5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],yr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],xr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],hr5=[500,502,503,504],gr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],ur5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],K06=(X)=>X?.$retryable!==void 0,lr5=(X)=>br5.includes(X.name),H06=(X)=>X.$metadata?.clockSkewCorrected,F06=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},mr5=(X)=>X.$metadata?.httpStatusCode===429||yr5.includes(X.name)||X.$retryable?.throttling==!0,Kz0=(X,Y=0)=>K06(X)||H06(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||xr5.includes(X.name)||gr5.includes(X?.code||"")||ur5.includes(X?.code||"")||hr5.includes(X.$metadata?.httpStatusCode||0)||F06(X)||U06(X)||X.cause!==void 0&&Y<=10&&Kz0(X.cause,Y+1),dr5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!Kz0(X))return!0;return!1}return!1};function U06(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}cr5.isBrowserNetworkError=F06;cr5.isClockSkewCorrectedError=H06;cr5.isClockSkewError=lr5;cr5.isNodeJsHttp2TransientError=U06;cr5.isRetryableByTrait=K06;cr5.isServerError=dr5;cr5.isThrottlingError=mr5;cr5.isTransientError=Kz0});var ww=k(($o5)=>{var er5=Hz0();$o5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})($o5.RETRY_MODES||($o5.RETRY_MODES={}));var $T1=3,Xo5=$o5.RETRY_MODES.STANDARD;class KT1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||er5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>KT1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var Yo5=100,Bz0=20000,Go5=500,Fz0=500,Qo5=5,Jo5=10,B06=1,Zo5="amz-sdk-invocation-id",Wo5="amz-sdk-request";class sQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return sQ.v2026?50:100}static throttlingDelay(){return sQ.v2026?1000:500}static cost(){return sQ.v2026?14:5}static throttlingCost(){return sQ.v2026?5:10}static modifiedCostType(){return sQ.v2026?"THROTTLING":"TRANSIENT"}}class N06{x=sQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Bz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Uz0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(Bz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var WT1={incompatible:1,attempts:2,capacity:3};class cX1{mode=$o5.RETRY_MODES.STANDARD;capacity=Fz0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>$T1,this.baseDelay??=sQ.delay(),this.retryBackoffStrategy??=new N06}async acquireInitialRetryToken(X){return new Uz0(sQ.delay(),0,void 0,sQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?sQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:sQ.v2026&&Q===WT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Uz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Fz0,this.capacity+(X.getRetryCost()??B06))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${$T1}`),$T1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:WT1.incompatible,W=Q<G?0:WT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:WT1.capacity;return J||W||Z}getCapacityCost(X){return X===sQ.modifiedCostType()?sQ.throttlingCost():sQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class z06{mode=$o5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new KT1,this.standardRetryStrategy=Y?new cX1({maxAttempts:typeof X==="number"?X:3,...Y}):new cX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class O06 extends cX1{computeNextBackoffDelay;constructor(X,Y=sQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}$o5.AdaptiveRetryStrategy=z06;$o5.ConfiguredRetryStrategy=O06;$o5.DEFAULT_MAX_ATTEMPTS=$T1;$o5.DEFAULT_RETRY_DELAY_BASE=Yo5;$o5.DEFAULT_RETRY_MODE=Xo5;$o5.DefaultRateLimiter=KT1;$o5.INITIAL_RETRY_TOKENS=Fz0;$o5.INVOCATION_ID_HEADER=Zo5;$o5.MAXIMUM_RETRY_DELAY=Bz0;$o5.NO_RETRY_INCREMENT=B06;$o5.REQUEST_HEADER=Wo5;$o5.RETRY_COST=Qo5;$o5.Retry=sQ;$o5.StandardRetryStrategy=cX1;$o5.THROTTLING_RETRY_DELAY_BASE=Go5;$o5.TIMEOUT_RETRY_COST=Jo5});var WX=k((vo5)=>{var Io5=ww(),Nz0={warningEmitted:!1},Vo5=(X)=>{if(X&&!Nz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Nz0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1647
1647
  no longer support Node.js ${X} in January 2026.
1648
1648
 
1649
1649
  To continue receiving updates to AWS services, bug fixes, and security
@@ -0,0 +1,13 @@
1
+ Copyright © 2017, Charmander <~@charmander.me>
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted, provided that the above
5
+ copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,16 @@
1
+ [![Build status][ci image]][ci]
2
+
3
+ 64-bit big-endian signed integer-to-string conversion designed for [pg][].
4
+
5
+ ```js
6
+ const readInt8 = require('pg-int8');
7
+
8
+ readInt8(Buffer.from([0, 1, 2, 3, 4, 5, 6, 7]))
9
+ // '283686952306183'
10
+ ```
11
+
12
+
13
+ [pg]: https://github.com/brianc/node-postgres
14
+
15
+ [ci]: https://travis-ci.org/charmander/pg-int8
16
+ [ci image]: https://api.travis-ci.org/charmander/pg-int8.svg
@@ -0,0 +1,100 @@
1
+ 'use strict';
2
+
3
+ // selected so (BASE - 1) * 0x100000000 + 0xffffffff is a safe integer
4
+ var BASE = 1000000;
5
+
6
+ function readInt8(buffer) {
7
+ var high = buffer.readInt32BE(0);
8
+ var low = buffer.readUInt32BE(4);
9
+ var sign = '';
10
+
11
+ if (high < 0) {
12
+ high = ~high + (low === 0);
13
+ low = (~low + 1) >>> 0;
14
+ sign = '-';
15
+ }
16
+
17
+ var result = '';
18
+ var carry;
19
+ var t;
20
+ var digits;
21
+ var pad;
22
+ var l;
23
+ var i;
24
+
25
+ {
26
+ carry = high % BASE;
27
+ high = high / BASE >>> 0;
28
+
29
+ t = 0x100000000 * carry + low;
30
+ low = t / BASE >>> 0;
31
+ digits = '' + (t - BASE * low);
32
+
33
+ if (low === 0 && high === 0) {
34
+ return sign + digits + result;
35
+ }
36
+
37
+ pad = '';
38
+ l = 6 - digits.length;
39
+
40
+ for (i = 0; i < l; i++) {
41
+ pad += '0';
42
+ }
43
+
44
+ result = pad + digits + result;
45
+ }
46
+
47
+ {
48
+ carry = high % BASE;
49
+ high = high / BASE >>> 0;
50
+
51
+ t = 0x100000000 * carry + low;
52
+ low = t / BASE >>> 0;
53
+ digits = '' + (t - BASE * low);
54
+
55
+ if (low === 0 && high === 0) {
56
+ return sign + digits + result;
57
+ }
58
+
59
+ pad = '';
60
+ l = 6 - digits.length;
61
+
62
+ for (i = 0; i < l; i++) {
63
+ pad += '0';
64
+ }
65
+
66
+ result = pad + digits + result;
67
+ }
68
+
69
+ {
70
+ carry = high % BASE;
71
+ high = high / BASE >>> 0;
72
+
73
+ t = 0x100000000 * carry + low;
74
+ low = t / BASE >>> 0;
75
+ digits = '' + (t - BASE * low);
76
+
77
+ if (low === 0 && high === 0) {
78
+ return sign + digits + result;
79
+ }
80
+
81
+ pad = '';
82
+ l = 6 - digits.length;
83
+
84
+ for (i = 0; i < l; i++) {
85
+ pad += '0';
86
+ }
87
+
88
+ result = pad + digits + result;
89
+ }
90
+
91
+ {
92
+ carry = high % BASE;
93
+ t = 0x100000000 * carry + low;
94
+ digits = '' + t % BASE;
95
+
96
+ return sign + digits + result;
97
+ }
98
+ }
99
+
100
+ module.exports = readInt8;