decocms 2.311.3 → 2.311.5

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 (272) hide show
  1. package/dist/client/assets/{AlertCircle-Djr0yelP.js → AlertCircle-CjTfXQMH.js} +1 -1
  2. package/dist/client/assets/{Archive-B6lPEYxi.js → Archive-CaJ5kGW4.js} +1 -1
  3. package/dist/client/assets/{ArrowNarrowLeft-B291p1AJ.js → ArrowNarrowLeft-SJEHnXyc.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-D7KqTERk.js → ArrowUpRight-07AMyW3q.js} +1 -1
  5. package/dist/client/assets/{Check-D_Sk8fW_.js → Check-CmnOcISu.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-D__FA05W.js → CheckCircle-Lywb4tzc.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-BHCo5V9J.js → ChevronDown-B7nkAKvX.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-CRGY6QAO.js → ChevronRight-CFgoiwVv.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-Dh2SiOy7.js → ChevronUp-COT1DfaR.js} +1 -1
  10. package/dist/client/assets/{Container-AP8CnyxW.js → Container-D1pwjZQv.js} +1 -1
  11. package/dist/client/assets/{DotsVertical-UTS9GjI-.js → DotsVertical-CiKG-O-v.js} +1 -1
  12. package/dist/client/assets/{LinkExternal01-Cc9uLqLU.js → LinkExternal01-B5ftsff4.js} +1 -1
  13. package/dist/client/assets/{Lock01-BInejH64.js → Lock01-BRRKEYOm.js} +1 -1
  14. package/dist/client/assets/{Palette-Cec1fhMz.js → Palette-VwQOwYSo.js} +1 -1
  15. package/dist/client/assets/{Play-CD_ssz5Z.js → Play-DP3It0wz.js} +1 -1
  16. package/dist/client/assets/{Plus-B4euBFog.js → Plus-BB2q_olj.js} +1 -1
  17. package/dist/client/assets/{RefreshCcw01-Si3lBRwB.js → RefreshCcw01-cS3DHDDp.js} +1 -1
  18. package/dist/client/assets/{SearchMd-BTCLJcfn.js → SearchMd-CrQCxOMr.js} +1 -1
  19. package/dist/client/assets/{Settings02-sgH7ThhT.js → Settings02-DVf2OlMW.js} +1 -1
  20. package/dist/client/assets/{Shield01-D8ZeQllE.js → Shield01-B3ECj0f_.js} +1 -1
  21. package/dist/client/assets/{Star01-PFBfwZmt.js → Star01-4_ptKeQ0.js} +1 -1
  22. package/dist/client/assets/{Sun-Dmea943O.js → Sun-DmD9Q3PB.js} +1 -1
  23. package/dist/client/assets/{Tool01-BbF2IYpq.js → Tool01-BMc0DiTH.js} +1 -1
  24. package/dist/client/assets/{Trash01-BnzFHXhZ.js → Trash01-6VDjweik.js} +1 -1
  25. package/dist/client/assets/{User01-zskaKHnK.js → User01-C8lenn3T.js} +1 -1
  26. package/dist/client/assets/{Users03-CAzWDWnm.js → Users03-CIbaYGvp.js} +1 -1
  27. package/dist/client/assets/{X-BUuYjVOr.js → X-DosXDblw.js} +1 -1
  28. package/dist/client/assets/{XCircle-Cpz3G2Fy.js → XCircle-ClvYl5pR.js} +1 -1
  29. package/dist/client/assets/{XClose-CxVVWp02.js → XClose-CzeywUWk.js} +1 -1
  30. package/dist/client/assets/{Zap-DFgntoN3.js → Zap-BIo7bCpk.js} +1 -1
  31. package/dist/client/assets/{ZapSquare-Wx3jz5Tc.js → ZapSquare-DBCGSeVa.js} +1 -1
  32. package/dist/client/assets/{accordion-BYb7H8aV.js → accordion-DclhREAs.js} +1 -1
  33. package/dist/client/assets/{agent-icon-DaRK55X4.js → agent-icon-CVuf051c.js} +1 -1
  34. package/dist/client/assets/{agents-list-Njc6Ihfs.js → agents-list-DwVCJjeW.js} +1 -1
  35. package/dist/client/assets/ai-providers-Dvj--FTM.js +1 -0
  36. package/dist/client/assets/{alert-dialog-YgpjeFBi.js → alert-dialog-74AkvGEe.js} +1 -1
  37. package/dist/client/assets/{auth-catchall-Baccjd7f.js → auth-catchall-bUIqYMGp.js} +1 -1
  38. package/dist/client/assets/{automation-list-row-BgjnRst-.js → automation-list-row-BXPs3B4q.js} +1 -1
  39. package/dist/client/assets/{automations-qM7fZ2dj.js → automations-DWwEIlG6.js} +1 -1
  40. package/dist/client/assets/{avatar-hRilkYOJ.js → avatar-C8DSVjWY.js} +1 -1
  41. package/dist/client/assets/{badge-iirFQ7GR.js → badge-DHtX06_M.js} +1 -1
  42. package/dist/client/assets/{brand-context-hd8DfZZU.js → brand-context-tIAqpiX9.js} +1 -1
  43. package/dist/client/assets/{card-cHMjszpI.js → card-2PzQvDZe.js} +1 -1
  44. package/dist/client/assets/{chat-context-Cy40hP4t.js → chat-context-BC1CXyf7.js} +1 -1
  45. package/dist/client/assets/{checkbox-CPHwkQHL.js → checkbox-BhLpSvVG.js} +1 -1
  46. package/dist/client/assets/{collection-detail-FxMRS6mC.js → collection-detail-8c2GHEb3.js} +1 -1
  47. package/dist/client/assets/{collection-display-button-CPoat98b.js → collection-display-button-DwDu2s8u.js} +1 -1
  48. package/dist/client/assets/{collection-search-CR78v4di.js → collection-search-BEFvuI7B.js} +1 -1
  49. package/dist/client/assets/{collection-search-CIGPBaze.js → collection-search-CmQSMD5X.js} +1 -1
  50. package/dist/client/assets/{collection-table-wrapper-CL80nO8c.js → collection-table-wrapper-BS8qzlIv.js} +1 -1
  51. package/dist/client/assets/{collection-tabs-C8ox2neK.js → collection-tabs-DRcC41aH.js} +1 -1
  52. package/dist/client/assets/{collections-DR6QX0g8.js → collections-CeyUXk8d.js} +1 -1
  53. package/dist/client/assets/{command-DYSstTLW.js → command-BakvhlkN.js} +1 -1
  54. package/dist/client/assets/{connection-card-DsBbhPLN.js → connection-card-DojP2_fI.js} +1 -1
  55. package/dist/client/assets/{connection-detail-C6Ik3Wf9.js → connection-detail-CLbkMPqD.js} +1 -1
  56. package/dist/client/assets/{connection-form-helpers-DMG8tqrx.js → connection-form-helpers-DC0Nw-dt.js} +1 -1
  57. package/dist/client/assets/{connections-BW8j-u1P.js → connections-CH2AWiB-.js} +1 -1
  58. package/dist/client/assets/{constants-DLNEkVVr.js → constants-BxcPdAxA.js} +1 -1
  59. package/dist/client/assets/{constants--Kj7N7Rc.js → constants-DN0vtCn3.js} +1 -1
  60. package/dist/client/assets/{dialog-Dp6SjScf.js → dialog-CSDOHRuZ.js} +1 -1
  61. package/dist/client/assets/{domain-settings-B3U_rk2M.js → domain-settings-C7eJxKRE.js} +1 -1
  62. package/dist/client/assets/{drawer-Dj1GMxa5.js → drawer-i2HsSBna.js} +1 -1
  63. package/dist/client/assets/{dropdown-menu-BDd-gW8V.js → dropdown-menu-CuTxWawv.js} +1 -1
  64. package/dist/client/assets/{dynamic-plugin-layout-BodVTgJQ.js → dynamic-plugin-layout-CAFdK5Xc.js} +1 -1
  65. package/dist/client/assets/{empty-state-DxvERlOW.js → empty-state-Bx9CGRh0.js} +1 -1
  66. package/dist/client/assets/{empty-state-AMhKur12.js → empty-state-Pw6pEnBg.js} +1 -1
  67. package/dist/client/assets/{extract-connection-data-VXHFUQo9.js → extract-connection-data-CTVdkIjk.js} +1 -1
  68. package/dist/client/assets/{features-DH1UiJjP.js → features-Cf1q1FgR.js} +1 -1
  69. package/dist/client/assets/{form-BRvMkkP1.js → form-CyoIgyt_.js} +1 -1
  70. package/dist/client/assets/{general-CycS6aGM.js → general-EFmcuMkr.js} +1 -1
  71. package/dist/client/assets/{index-DPJfdHEd.js → index-2dbmNgG2.js} +1 -1
  72. package/dist/client/assets/{index-BPQPyblE.js → index-B4s1crzl.js} +1 -1
  73. package/dist/client/assets/{index-DX8mbjh7.js → index-BC8Qj8Ud.js} +1 -1
  74. package/dist/client/assets/{index-bRd2N9NF.js → index-BPbpFSlG.js} +2 -2
  75. package/dist/client/assets/{index-Csxq5TaF.js → index-BbNr81kL.js} +1 -1
  76. package/dist/client/assets/{index-BKx3kD7f.js → index-Bo_Hzl5t.js} +1 -1
  77. package/dist/client/assets/{index-COdHP6Q3.js → index-C4IrsGbo.js} +1 -1
  78. package/dist/client/assets/{index-BrSAblDg.js → index-CJpfncMG.js} +3 -3
  79. package/dist/client/assets/{index-BwedVtm-.js → index-CRIGn0SA.js} +1 -1
  80. package/dist/client/assets/{index-Co3saKmd.js → index-CVT_xMzU.js} +1 -1
  81. package/dist/client/assets/{index-DO-glgQy.js → index-CxxsJumH.js} +1 -1
  82. package/dist/client/assets/{index-DOA4SrfQ.js → index-DQBpcchF.js} +1 -1
  83. package/dist/client/assets/{index-BaDn_qVG.js → index-DUpS8oet.js} +1 -1
  84. package/dist/client/assets/{index-BQnGdGlJ.js → index-D_WrlK5r.js} +1 -1
  85. package/dist/client/assets/{index-B-nub_pG.js → index-nM5EBUdq.js} +1 -1
  86. package/dist/client/assets/{index-BLv-cdPp.js → index-quDf3VhH.js} +1 -1
  87. package/dist/client/assets/{infiniteQueryObserver-CnJpGer_.js → infiniteQueryObserver-CXf2zWh1.js} +1 -1
  88. package/dist/client/assets/{input-BTQWcFvQ.js → input-DHBDt0A0.js} +1 -1
  89. package/dist/client/assets/{integration-icon-WB0OmEvR.js → integration-icon-BsCzD6pa.js} +1 -1
  90. package/dist/client/assets/{label-CPA2JEF_.js → label-D08h5k1R.js} +1 -1
  91. package/dist/client/assets/{layout-C5KSdgqD.js → layout-B1PdCwnm.js} +1 -1
  92. package/dist/client/assets/{lean-canvas-recruit-modal-ZidRtiZv.js → lean-canvas-recruit-modal-BnmgWty8.js} +1 -1
  93. package/dist/client/assets/{login-0DiwXQ07.js → login-tBteHrh1.js} +1 -1
  94. package/dist/client/assets/{members-CGEe_jgB.js → members-BTrVRWxW.js} +1 -1
  95. package/dist/client/assets/{monaco-editor-CUE47pML.js → monaco-editor-DZ5QI8uz.js} +1 -1
  96. package/dist/client/assets/{monitoring-stats-row-BUjCCtKk.js → monitoring-stats-row-B44Z4xAF.js} +1 -1
  97. package/dist/client/assets/{oauth-callback-C-ARMuSr.js → oauth-callback-DQoc6xwl.js} +1 -1
  98. package/dist/client/assets/{oauth-callback-ai-provider-DjFgFE3U.js → oauth-callback-ai-provider-4TlgQtIM.js} +1 -1
  99. package/dist/client/assets/{onboarding-k_gmP2Yu.js → onboarding-focuY_h9.js} +1 -1
  100. package/dist/client/assets/{org-layout-Dvh2ntLI.js → org-layout-CeARFSnY.js} +1 -1
  101. package/dist/client/assets/{org-plugin-layout-DzCMBblD.js → org-plugin-layout-B6JCfLhZ.js} +1 -1
  102. package/dist/client/assets/{pair-D6rD7fr2.js → pair-DK8WArXa.js} +1 -1
  103. package/dist/client/assets/{plugin-empty-state-BqXWLtpY.js → plugin-empty-state-BRwCgISr.js} +1 -1
  104. package/dist/client/assets/{plugin-header-BdbZaEVL.js → plugin-header-DPn1Avqw.js} +1 -1
  105. package/dist/client/assets/{plugin-layout-Bl3EIv-G.js → plugin-layout-CXXOhn9o.js} +1 -1
  106. package/dist/client/assets/{popover-C3FfRLrj.js → popover-HGsZ47vz.js} +1 -1
  107. package/dist/client/assets/{profile-CPBbsaIb.js → profile-Q4Mq5bka.js} +1 -1
  108. package/dist/client/assets/{project-app-view-DTxderr7.js → project-app-view-CfhY_w3a.js} +1 -1
  109. package/dist/client/assets/registry-DZhiFceQ.js +2 -0
  110. package/dist/client/assets/{registry-layout-DVg-9Eqy.js → registry-layout-DAUnauvK.js} +1 -1
  111. package/dist/client/assets/{required-auth-layout-C9lzuc8k.js → required-auth-layout-D-wVBMo_.js} +1 -1
  112. package/dist/client/assets/{reset-password-DLrTOlbf.js → reset-password-C6Sgyd-m.js} +1 -1
  113. package/dist/client/assets/{roles-Bnz4P9Nd.js → roles-lMb3kTlV.js} +1 -1
  114. package/dist/client/assets/{scroll-area-O5xhqGH1.js → scroll-area-PHdLgpTR.js} +1 -1
  115. package/dist/client/assets/{search-input-DuGXmYx0.js → search-input-DzbQ3jIA.js} +1 -1
  116. package/dist/client/assets/{select-AY7V13tM.js → select-ThJxxmvQ.js} +1 -1
  117. package/dist/client/assets/{select-model-BLwMpS9o.js → select-model-DPEgFP5P.js} +1 -1
  118. package/dist/client/assets/{settings-layout-D1OyozIx.js → settings-layout-DWdCJ7T1.js} +1 -1
  119. package/dist/client/assets/{settings-section-DGvq5eIp.js → settings-section-CE6DXKE_.js} +1 -1
  120. package/dist/client/assets/{shell-layout-DRaEFGZF.js → shell-layout--0UwjzTK.js} +1 -1
  121. package/dist/client/assets/{skeleton-ChSm4-0Y.js → skeleton-BW69nAou.js} +1 -1
  122. package/dist/client/assets/{sso-DLh4eigD.js → sso-CLxH7gN_.js} +1 -1
  123. package/dist/client/assets/{store-CD5Y3l5z.js → store-Dvy5qA8V.js} +1 -1
  124. package/dist/client/assets/store-registry-Ca7gEG02.js +2 -0
  125. package/dist/client/assets/{switch-CX4qY3Ex.js → switch-2kbNkhgy.js} +1 -1
  126. package/dist/client/assets/{table-Ddn8Rk3D.js → table-pY_1blbB.js} +1 -1
  127. package/dist/client/assets/{tabs-D_nT4WLa.js → tabs-BHCoB9-B.js} +1 -1
  128. package/dist/client/assets/{task-status-PH7-Db6I.js → task-status-CoiJkfnQ.js} +1 -1
  129. package/dist/client/assets/{textarea-DTqKy4Qo.js → textarea-yE-qQiGr.js} +1 -1
  130. package/dist/client/assets/{toggle-group-BsH3LUCe.js → toggle-group-CGlJJKpo.js} +1 -1
  131. package/dist/client/assets/{tools-list-D2J7xK-u.js → tools-list-kG_ujXbv.js} +1 -1
  132. package/dist/client/assets/{tooltip-C4ZEvlyV.js → tooltip-8EMcUk8q.js} +1 -1
  133. package/dist/client/assets/{types-PLyAutgi.js → types-0qNHrw5h.js} +1 -1
  134. package/dist/client/assets/{use-ai-providers-D3jfy3JG.js → use-ai-providers-CJfgIRCZ.js} +1 -1
  135. package/dist/client/assets/{use-collections-BjgqvYm5.js → use-collections-bP--NcMC.js} +1 -1
  136. package/dist/client/assets/{use-connection-CnyB1HmP.js → use-connection-Bszp6a5W.js} +1 -1
  137. package/dist/client/assets/{use-copy-LWIhILMp.js → use-copy-CbGC0huz.js} +1 -1
  138. package/dist/client/assets/{use-create-virtual-mcp-BpvlQZOX.js → use-create-virtual-mcp-CF9S4n1L.js} +1 -1
  139. package/dist/client/assets/{use-debounced-autosave-CUv7GNdN.js → use-debounced-autosave-0DHMqbbb.js} +1 -1
  140. package/dist/client/assets/{use-decopilot-events-ChvTdIEw.js → use-decopilot-events-CJqb-CIN.js} +1 -1
  141. package/dist/client/assets/{use-delete-connection-B_f0W-1P.js → use-delete-connection-CFFQ-eJW.js} +1 -1
  142. package/dist/client/assets/{use-infinite-scroll-DWQh3C6u.js → use-infinite-scroll-D4oMTPVQ.js} +1 -1
  143. package/dist/client/assets/{use-list-state-CMD-drLp.js → use-list-state-Dxu3SrCJ.js} +1 -1
  144. package/dist/client/assets/{use-mcp-tools-DlRwbAwV.js → use-mcp-tools-IbqZtDzy.js} +1 -1
  145. package/dist/client/assets/{use-members-CeKeJ90-.js → use-members-DWszFm6D.js} +1 -1
  146. package/dist/client/assets/{use-navigate-to-agent-Bt6KkuQa.js → use-navigate-to-agent-DQOeSZSb.js} +1 -1
  147. package/dist/client/assets/{use-org-auth-client-CzTb1zcb.js → use-org-auth-client-BNkFwsu-.js} +1 -1
  148. package/dist/client/assets/{use-org-sso-BMiHKoas.js → use-org-sso-CqRALwPj.js} +1 -1
  149. package/dist/client/assets/{use-organization-roles-DlEsf5iu.js → use-organization-roles-CZxWWJmd.js} +1 -1
  150. package/dist/client/assets/{use-organization-settings-Bf-vFUZQ.js → use-organization-settings-DF1zVgfV.js} +1 -1
  151. package/dist/client/assets/{use-registry-connections-DRem4U8m.js → use-registry-connections-DDZ2kJae.js} +1 -1
  152. package/dist/client/assets/{use-status-sounds-BC1BnHmH.js → use-status-sounds-BeCVKlHT.js} +1 -1
  153. package/dist/client/assets/{use-tasks-BjbhO8fX.js → use-tasks-sf9lm6fu.js} +1 -1
  154. package/dist/client/assets/{use-view-mode-oJ3yWL7K.js → use-view-mode-D3O388Wv.js} +1 -1
  155. package/dist/client/assets/{use-virtual-mcp-Btinsi9b.js → use-virtual-mcp-CAY4xxsA.js} +1 -1
  156. package/dist/client/assets/useInfiniteQuery-DpFgBC5z.js +1 -0
  157. package/dist/client/assets/useSuspenseInfiniteQuery-B_gLWLYH.js +1 -0
  158. package/dist/client/assets/{user-CNjw2T7L.js → user-Dt-2ZGGA.js} +1 -1
  159. package/dist/client/assets/{view-mode-toggle-CXuPC9E_.js → view-mode-toggle-B4e_lOZL.js} +1 -1
  160. package/dist/client/assets/{workflow-DJA0XTVK.js → workflow-D0V_EvQ3.js} +1 -1
  161. package/dist/client/assets/workflow-detail-tYYnfOHI.js +1 -0
  162. package/dist/client/index.html +1 -1
  163. package/dist/server/cli.js +18 -25
  164. package/dist/server/node_modules/pg/README.md +95 -0
  165. package/dist/server/node_modules/pg/esm/index.mjs +20 -0
  166. package/dist/server/node_modules/pg/lib/client.js +743 -0
  167. package/dist/server/node_modules/pg/lib/connection-parameters.js +171 -0
  168. package/dist/server/node_modules/pg/lib/connection.js +221 -0
  169. package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
  170. package/dist/server/node_modules/pg/lib/crypto/sasl.js +212 -0
  171. package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +43 -0
  172. package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
  173. package/dist/server/node_modules/pg/lib/crypto/utils.js +9 -0
  174. package/dist/server/node_modules/pg/lib/defaults.js +91 -0
  175. package/dist/server/node_modules/pg/lib/index.js +73 -0
  176. package/dist/server/node_modules/pg/lib/native/client.js +323 -0
  177. package/dist/server/node_modules/pg/lib/native/index.js +2 -0
  178. package/dist/server/node_modules/pg/lib/native/query.js +165 -0
  179. package/dist/server/node_modules/pg/lib/query.js +252 -0
  180. package/dist/server/node_modules/pg/lib/result.js +109 -0
  181. package/dist/server/node_modules/pg/lib/stream.js +83 -0
  182. package/dist/server/node_modules/pg/lib/type-overrides.js +35 -0
  183. package/dist/server/node_modules/pg/lib/utils.js +217 -0
  184. package/dist/server/node_modules/pg/package.json +76 -0
  185. package/dist/server/server.js +17 -24
  186. package/package.json +1 -1
  187. package/dist/client/assets/ai-providers-DG6unL_s.js +0 -1
  188. package/dist/client/assets/registry-BBi9tAZj.js +0 -2
  189. package/dist/client/assets/store-registry-Bx4Ds4sC.js +0 -2
  190. package/dist/client/assets/useInfiniteQuery-C4SiH59h.js +0 -1
  191. package/dist/client/assets/useSuspenseInfiniteQuery-Bt_Lb_HW.js +0 -1
  192. package/dist/client/assets/workflow-detail-C4-Dradv.js +0 -1
  193. package/dist/server/node_modules/ansi-regex/index.d.ts +0 -33
  194. package/dist/server/node_modules/ansi-regex/index.js +0 -14
  195. package/dist/server/node_modules/ansi-regex/license +0 -9
  196. package/dist/server/node_modules/ansi-regex/package.json +0 -61
  197. package/dist/server/node_modules/ansi-regex/readme.md +0 -66
  198. package/dist/server/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  199. package/dist/server/node_modules/emoji-regex/README.md +0 -107
  200. package/dist/server/node_modules/emoji-regex/index.d.ts +0 -3
  201. package/dist/server/node_modules/emoji-regex/index.js +0 -4
  202. package/dist/server/node_modules/emoji-regex/index.mjs +0 -4
  203. package/dist/server/node_modules/emoji-regex/package.json +0 -45
  204. package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
  205. package/dist/server/node_modules/mimic-fn/index.js +0 -13
  206. package/dist/server/node_modules/mimic-fn/license +0 -9
  207. package/dist/server/node_modules/mimic-fn/package.json +0 -42
  208. package/dist/server/node_modules/mimic-fn/readme.md +0 -69
  209. package/dist/server/node_modules/onetime/index.d.ts +0 -64
  210. package/dist/server/node_modules/onetime/index.js +0 -44
  211. package/dist/server/node_modules/onetime/license +0 -9
  212. package/dist/server/node_modules/onetime/package.json +0 -43
  213. package/dist/server/node_modules/onetime/readme.md +0 -94
  214. package/dist/server/node_modules/pg-cloudflare/README.md +0 -112
  215. package/dist/server/node_modules/pg-cloudflare/dist/empty.d.ts +0 -2
  216. package/dist/server/node_modules/pg-cloudflare/dist/empty.js +0 -6
  217. package/dist/server/node_modules/pg-cloudflare/dist/empty.js.map +0 -1
  218. package/dist/server/node_modules/pg-cloudflare/dist/index.d.ts +0 -31
  219. package/dist/server/node_modules/pg-cloudflare/dist/index.js +0 -152
  220. package/dist/server/node_modules/pg-cloudflare/dist/index.js.map +0 -1
  221. package/dist/server/node_modules/pg-cloudflare/esm/index.mjs +0 -3
  222. package/dist/server/node_modules/pg-cloudflare/package.json +0 -39
  223. package/dist/server/node_modules/pg-cloudflare/src/empty.ts +0 -3
  224. package/dist/server/node_modules/pg-cloudflare/src/index.ts +0 -166
  225. package/dist/server/node_modules/pg-cloudflare/src/types.d.ts +0 -25
  226. package/dist/server/node_modules/pg-connection-string/LICENSE +0 -21
  227. package/dist/server/node_modules/pg-connection-string/README.md +0 -105
  228. package/dist/server/node_modules/pg-connection-string/esm/index.mjs +0 -8
  229. package/dist/server/node_modules/pg-connection-string/index.d.ts +0 -36
  230. package/dist/server/node_modules/pg-connection-string/index.js +0 -231
  231. package/dist/server/node_modules/pg-connection-string/package.json +0 -52
  232. package/dist/server/node_modules/pg-int8/LICENSE +0 -13
  233. package/dist/server/node_modules/pg-int8/README.md +0 -16
  234. package/dist/server/node_modules/pg-int8/index.js +0 -100
  235. package/dist/server/node_modules/pg-int8/package.json +0 -24
  236. package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
  237. package/dist/server/node_modules/postgres-array/index.js +0 -97
  238. package/dist/server/node_modules/postgres-array/license +0 -21
  239. package/dist/server/node_modules/postgres-array/package.json +0 -35
  240. package/dist/server/node_modules/postgres-array/readme.md +0 -43
  241. package/dist/server/node_modules/postgres-bytea/index.js +0 -33
  242. package/dist/server/node_modules/postgres-bytea/license +0 -21
  243. package/dist/server/node_modules/postgres-bytea/package.json +0 -34
  244. package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
  245. package/dist/server/node_modules/postgres-date/index.js +0 -116
  246. package/dist/server/node_modules/postgres-date/license +0 -21
  247. package/dist/server/node_modules/postgres-date/package.json +0 -33
  248. package/dist/server/node_modules/postgres-date/readme.md +0 -49
  249. package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
  250. package/dist/server/node_modules/postgres-interval/index.js +0 -125
  251. package/dist/server/node_modules/postgres-interval/license +0 -21
  252. package/dist/server/node_modules/postgres-interval/package.json +0 -36
  253. package/dist/server/node_modules/postgres-interval/readme.md +0 -48
  254. package/dist/server/node_modules/split2/LICENSE +0 -13
  255. package/dist/server/node_modules/split2/README.md +0 -85
  256. package/dist/server/node_modules/split2/bench.js +0 -27
  257. package/dist/server/node_modules/split2/index.js +0 -141
  258. package/dist/server/node_modules/split2/package.json +0 -39
  259. package/dist/server/node_modules/split2/test.js +0 -409
  260. package/dist/server/node_modules/string-width/index.d.ts +0 -39
  261. package/dist/server/node_modules/string-width/index.js +0 -82
  262. package/dist/server/node_modules/string-width/license +0 -9
  263. package/dist/server/node_modules/string-width/package.json +0 -64
  264. package/dist/server/node_modules/string-width/readme.md +0 -66
  265. package/dist/server/node_modules/xtend/.jshintrc +0 -30
  266. package/dist/server/node_modules/xtend/LICENSE +0 -20
  267. package/dist/server/node_modules/xtend/README.md +0 -32
  268. package/dist/server/node_modules/xtend/immutable.js +0 -19
  269. package/dist/server/node_modules/xtend/mutable.js +0 -17
  270. package/dist/server/node_modules/xtend/package.json +0 -55
  271. package/dist/server/node_modules/xtend/test.js +0 -103
  272. /package/dist/server/node_modules/{pg-cloudflare → pg}/LICENSE +0 -0
@@ -1 +1 @@
1
- import{e as P,r as v,c as m,j as o}from"./index-bRd2N9NF.js";import{T as L,a as M,b as q}from"./tooltip-C4ZEvlyV.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-BPbpFSlG.js";import{T as L,a as M,b as q}from"./tooltip-8EMcUk8q.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-bRd2N9NF.js";import{u as Ve,S as qe}from"./constants-DLNEkVVr.js";import{B as ft,g as Me}from"./constants--Kj7N7Rc.js";import{C as Ge}from"./collection-display-button-CPoat98b.js";import{C as ht}from"./collection-search-CIGPBaze.js";import{C as gt}from"./card-cHMjszpI.js";import{I as Qe}from"./integration-icon-WB0OmEvR.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-BDd-gW8V.js";import{c as Ze}from"./XCircle-Cpz3G2Fy.js";import{i as Xe}from"./DotsVertical-UTS9GjI-.js";import{i as et}from"./Tool01-BbF2IYpq.js";import{s as tt}from"./RefreshCcw01-Si3lBRwB.js";import{s as st}from"./Trash01-BnzFHXhZ.js";import{C as xt}from"./collection-table-wrapper-CL80nO8c.js";import{E as Ue}from"./empty-state-AMhKur12.js";import{G as We}from"./agent-icon-DaRK55X4.js";import{U as jt}from"./user-CNjw2T7L.js";import{E as it}from"./empty-state-DxvERlOW.js";import{u as Ct}from"./use-list-state-CMD-drLp.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-YgpjeFBi.js";import{a as It,c as At}from"./use-collections-BjgqvYm5.js";import{a as Tt}from"./use-connection-CnyB1HmP.js";import{s as Et}from"./Plus-B4euBFog.js";import{a as Ot}from"./layout-C5KSdgqD.js";import{P as je}from"./index-Co3saKmd.js";import"./collections-DR6QX0g8.js";import"./XClose-CxVVWp02.js";import"./Check-D_Sk8fW_.js";import"./tooltip-C4ZEvlyV.js";import"./view-mode-toggle-CXuPC9E_.js";import"./badge-iirFQ7GR.js";import"./SearchMd-BTCLJcfn.js";import"./Container-AP8CnyxW.js";import"./ChevronRight-CRGY6QAO.js";import"./table-Ddn8Rk3D.js";import"./AlertCircle-Djr0yelP.js";import"./Archive-B6lPEYxi.js";import"./ArrowNarrowLeft-B291p1AJ.js";import"./ArrowUpRight-D7KqTERk.js";import"./ZapSquare-Wx3jz5Tc.js";import"./Users03-CAzWDWnm.js";import"./CheckCircle-D__FA05W.js";import"./ChevronDown-BHCo5V9J.js";import"./ChevronUp-Dh2SiOy7.js";import"./Star01-PFBfwZmt.js";import"./Palette-Cec1fhMz.js";import"./LinkExternal01-Cc9uLqLU.js";import"./Lock01-BInejH64.js";import"./Sun-Dmea943O.js";import"./Play-CD_ssz5Z.js";import"./Settings02-sgH7ThhT.js";import"./Shield01-D8ZeQllE.js";import"./User01-zskaKHnK.js";import"./X-BUuYjVOr.js";import"./Zap-DFgntoN3.js";import"./avatar-hRilkYOJ.js";import"./use-view-mode-oJ3yWL7K.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 ri(){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{ri 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-BPbpFSlG.js";import{u as Ve,S as qe}from"./constants-BxcPdAxA.js";import{B as ft,g as Me}from"./constants-DN0vtCn3.js";import{C as Ge}from"./collection-display-button-DwDu2s8u.js";import{C as ht}from"./collection-search-CmQSMD5X.js";import{C as gt}from"./card-2PzQvDZe.js";import{I as Qe}from"./integration-icon-BsCzD6pa.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-CuTxWawv.js";import{c as Ze}from"./XCircle-ClvYl5pR.js";import{i as Xe}from"./DotsVertical-CiKG-O-v.js";import{i as et}from"./Tool01-BMc0DiTH.js";import{s as tt}from"./RefreshCcw01-cS3DHDDp.js";import{s as st}from"./Trash01-6VDjweik.js";import{C as xt}from"./collection-table-wrapper-BS8qzlIv.js";import{E as Ue}from"./empty-state-Pw6pEnBg.js";import{G as We}from"./agent-icon-CVuf051c.js";import{U as jt}from"./user-Dt-2ZGGA.js";import{E as it}from"./empty-state-Bx9CGRh0.js";import{u as Ct}from"./use-list-state-Dxu3SrCJ.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-74AkvGEe.js";import{a as It,c as At}from"./use-collections-bP--NcMC.js";import{a as Tt}from"./use-connection-Bszp6a5W.js";import{s as Et}from"./Plus-BB2q_olj.js";import{a as Ot}from"./layout-B1PdCwnm.js";import{P as je}from"./index-CVT_xMzU.js";import"./collections-CeyUXk8d.js";import"./XClose-CzeywUWk.js";import"./Check-CmnOcISu.js";import"./tooltip-8EMcUk8q.js";import"./view-mode-toggle-B4e_lOZL.js";import"./badge-DHtX06_M.js";import"./SearchMd-CrQCxOMr.js";import"./Container-D1pwjZQv.js";import"./ChevronRight-CFgoiwVv.js";import"./table-pY_1blbB.js";import"./AlertCircle-CjTfXQMH.js";import"./Archive-CaJ5kGW4.js";import"./ArrowNarrowLeft-SJEHnXyc.js";import"./ArrowUpRight-07AMyW3q.js";import"./ZapSquare-DBCGSeVa.js";import"./Users03-CIbaYGvp.js";import"./CheckCircle-Lywb4tzc.js";import"./ChevronDown-B7nkAKvX.js";import"./ChevronUp-COT1DfaR.js";import"./Star01-4_ptKeQ0.js";import"./Palette-VwQOwYSo.js";import"./LinkExternal01-B5ftsff4.js";import"./Lock01-BRRKEYOm.js";import"./Sun-DmD9Q3PB.js";import"./Play-DP3It0wz.js";import"./Settings02-DVf2OlMW.js";import"./Shield01-B3ECj0f_.js";import"./User01-C8lenn3T.js";import"./X-DosXDblw.js";import"./Zap-BIo7bCpk.js";import"./avatar-C8DSVjWY.js";import"./use-view-mode-D3O388Wv.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 ri(){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{ri 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-BPbpFSlG.js";import{a as f}from"./index-DQBpcchF.js";import"./index-D_WrlK5r.js";import"./constants-BxcPdAxA.js";import"./collections-CeyUXk8d.js";import"./index-CxxsJumH.js";import"./use-virtual-mcp-CAY4xxsA.js";import"./use-collections-bP--NcMC.js";import"./monaco-editor-DZ5QI8uz.js";import"./index-2dbmNgG2.js";import"./accordion-DclhREAs.js";import"./agent-icon-CVuf051c.js";import"./AlertCircle-CjTfXQMH.js";import"./Tool01-BMc0DiTH.js";import"./Archive-CaJ5kGW4.js";import"./XClose-CzeywUWk.js";import"./RefreshCcw01-cS3DHDDp.js";import"./ArrowNarrowLeft-SJEHnXyc.js";import"./XCircle-ClvYl5pR.js";import"./ArrowUpRight-07AMyW3q.js";import"./ZapSquare-DBCGSeVa.js";import"./Users03-CIbaYGvp.js";import"./CheckCircle-Lywb4tzc.js";import"./Check-CmnOcISu.js";import"./ChevronDown-B7nkAKvX.js";import"./ChevronRight-CFgoiwVv.js";import"./ChevronUp-COT1DfaR.js";import"./DotsVertical-CiKG-O-v.js";import"./Container-D1pwjZQv.js";import"./Star01-4_ptKeQ0.js";import"./Palette-VwQOwYSo.js";import"./SearchMd-CrQCxOMr.js";import"./index-CVT_xMzU.js";import"./tooltip-8EMcUk8q.js";import"./X-DosXDblw.js";import"./LinkExternal01-B5ftsff4.js";import"./Lock01-BRRKEYOm.js";import"./Sun-DmD9Q3PB.js";import"./Play-DP3It0wz.js";import"./Plus-BB2q_olj.js";import"./Settings02-DVf2OlMW.js";import"./Shield01-B3ECj0f_.js";import"./Trash01-6VDjweik.js";import"./User01-C8lenn3T.js";import"./Zap-BIo7bCpk.js";import"./badge-DHtX06_M.js";import"./select-ThJxxmvQ.js";import"./view-mode-toggle-B4e_lOZL.js";import"./layout-B1PdCwnm.js";import"./use-connection-Bszp6a5W.js";import"./use-mcp-tools-IbqZtDzy.js";import"./dialog-CSDOHRuZ.js";import"./index-DUpS8oet.js";import"./dropdown-menu-CuTxWawv.js";import"./integration-icon-BsCzD6pa.js";import"./scroll-area-PHdLgpTR.js";import"./index-CRIGn0SA.js";import"./empty-state-Pw6pEnBg.js";import"./create-sse-subscription-CxkOgzKf.js";import"./input-DHBDt0A0.js";function Et(){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{Et as default};
@@ -27,7 +27,7 @@
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-bRd2N9NF.js"></script>
30
+ <script type="module" crossorigin src="/assets/index-BPbpFSlG.js"></script>
31
31
  <link rel="stylesheet" crossorigin href="/assets/index-CpHJcJk3.css">
32
32
  </head>
33
33
  <body>
@@ -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 iA1(X){let Y={...process.env},G=e$1(X,Y),Q=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(Q)} (${Q.length} chars)`);let{ensureServices:J}=await Promise.resolve().then(() => (l$1(),u$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(() => (YW0(),Jg4));await K(W.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (ZU(),Qg4)),{migrateToLatest:U}=await Promise.resolve().then(() => (Us4(),Fs4)),B=H(W.databaseUrl);await U({keepOpen:!0,database:B,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => B16);await K(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:W.databaseUrl,natsUrls:W.natsUrls};return xt1($),{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 kN0=w(()=>{yt1();l9()});var tA1={};T0(tA1,{updateService:()=>Ya,toggleViewMode:()=>vN0,toggleVibeState:()=>fN0,toggleLogFlow:()=>_N0,subscribeCliState:()=>CX1,setVibe:()=>Ya5,setTuiConsoleIntercepted:()=>pA1,setServerUrl:()=>_X1,setMigrationsDone:()=>vX1,setEnv:()=>fX1,setDevMode:()=>et5,setDataDir:()=>Xa5,isTuiConsoleIntercepted:()=>nA1,getCliState:()=>kX1,addLogEntry:()=>Wz});function TU(){for(let X of CN0)X()}function kX1(){return e9}function CX1(X){return CN0.add(X),()=>CN0.delete(X)}function Ya(X){e9={...e9,services:e9.services.map((Y)=>Y.name===X.name?X:Y)},TU()}function vX1(){e9={...e9,migrationsStatus:"done"},TU()}function _X1(X){e9={...e9,serverUrl:X},TU()}function fX1(X){e9={...e9,env:X},TU()}function Wz(X){let Y=[...e9.logs,X];e9={...e9,logs:Y.length>500?Y.slice(-500):Y},TU()}function et5(){e9={...e9,services:[...e9.services,{name:"Vite",status:"pending",port:0}]},TU()}function vN0(){e9={...e9,viewMode:e9.viewMode==="requests"?"config":"requests"},TU()}function _N0(){e9={...e9,logFlow:!e9.logFlow},TU()}function Xa5(X){e9={...e9,dataDir:X},TU()}function Ya5(X){e9={...e9,vibe:X},TU()}function fN0(){e9={...e9,vibe:!e9.vibe},TU()}function pA1(X){N16=X}function nA1(){return N16}var e9,CN0,N16=!1;var $z=w(()=>{e9={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},CN0=new Set});import{createServer as z16}from"net";function Ga5(X){return new Promise((Y)=>{let G=z16();G.once("error",()=>Y(!1)),G.listen(X,"0.0.0.0",()=>{G.close(()=>Y(!0))})})}async function aA1(X){if(await Ga5(X))return X;let Y=await new Promise((G,Q)=>{let J=z16();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 bN0=()=>{};var yN0={};T0(yN0,{startDevServer:()=>Ja5});import{join as Qa5}from"path";function O16(X){return X.replace(/\x1b\[[0-9;]*m/g,"")}function D16(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 $=O16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;Wz({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=O16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ja5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await aA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await iA1({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)Ya({name:z.name,status:"ready",port:z.port});fX1(W),vX1();let K=Qa5(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)D16(U.stdout),D16(U.stderr);let B=G||`http://localhost:${W.port}`;_X1(B),Ya({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (l$1(),u$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var xN0=w(()=>{kN0();$z();bN0()});import{Box as hN0,Text as gN0}from"ink";import{jsx as L16,jsxs as rA1}from"react/jsx-runtime";function w16(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 $a5(X,Y){if(Za5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>w16(W)).join(", "),color:"cyan"}}let Q=w16(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 Ka5(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 E16({env:X}){let Y=Ka5(X);return L16(hN0,{flexDirection:"column",children:Y.map((G)=>rA1(hN0,{flexDirection:"column",marginTop:1,children:[rA1(gN0,{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=$a5(Q,J);return rA1(hN0,{children:[rA1(gN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),L16(gN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var Za5,Wa5;var P16=w(()=>{Za5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var uN0;var q16=w(()=>{uN0={name:"decocms",version:"2.311.3",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 Fa5}from"@inkjs/ui";import{useSyncExternalStore as A16}from"react";import{jsx as TY,jsxs as sQ}from"react/jsx-runtime";function Oa5(X,Y){if(!X||!za5.has(X))return X;let G=lN0[Y]??lN0[lN0.length-1];return X==="#875f00"?G[0]:G[1]}function T16({status:X}){if(X==="pending")return TY(Fa5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function I16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=A16(mm0,lm0),Z=A16(tm0,nm0);return sQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?sQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,Na5-U);return sQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=Oa5(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)}),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}):sQ(IU,{flexDirection:"column",marginTop:1,children:[Ua5.map(($,K)=>TY(RX,{color:Ba5[K],children:$},K)),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:sQ(RX,{dimColor:!0,children:["Home: ",G]})}),sQ(IU,{gap:2,children:[X.map(($)=>sQ(IU,{gap:1,children:[sQ(RX,{children:[$.name," :",$.port||"...."]}),TY(T16,{status:$.status})]},$.name)),sQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(T16,{status:Y})]})]}),TY(IU,{children:Q?sQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),sQ(IU,{gap:2,children:[sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Ua5,Ba5,lN0,Na5=30,za5;var V16=w(()=>{q16();Vt1();Ct1();Ua5=[" \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 "],Ba5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],lN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],za5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Da5}from"react";function wa5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==oA1.rows||Y!==oA1.columns)oA1={rows:X,columns:Y};return oA1}function La5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function j16(){return Da5(La5,wa5)}var oA1;var M16=w(()=>{oA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Ea5,Text as bX1}from"ink";import{useSyncExternalStore as Pa5}from"react";import{jsx as mN0,jsxs as dN0}from"react/jsx-runtime";function qa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function R16({logs:X,headerHeight:Y}){let{rows:G}=j16(),{logFlow:Q}=Pa5(CX1,kX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return mN0(Ea5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return mN0(bX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return dN0(bX1,{children:[dN0(bX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),mN0(bX1,{color:qa5(Z.status),children:Z.status}),dN0(bX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var S16=w(()=>{$z();M16()});var cN0={};T0(cN0,{App:()=>Ra5});import{Box as Aa5,Text as Ta5,useInput as Ia5}from"ink";import{useSyncExternalStore as Va5}from"react";import{jsx as sA1,jsxs as Sa5}from"react/jsx-runtime";function Ra5({home:X}){let Y=Va5(CX1,kX1);return Ia5((G)=>{if(G==="k"||G==="K")vN0();if(G==="l"||G==="L")_N0();if((G==="v"||G==="V")&&Y.dataDir)bt1(Y.dataDir),fN0();if((G==="n"||G==="N")&&Y.vibe)ft1()}),Sa5(Aa5,{flexDirection:"column",children:[sA1(I16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?sA1(E16,{env:Y.env}):sA1(Ta5,{dimColor:!0,children:"Loading configuration..."}):sA1(R16,{logs:Y.logs,headerHeight:Y.vibe?Ma5:ja5})]})}var ja5=15,Ma5=19;var iN0=w(()=>{P16();V16();S16();$z();fd()});function k16(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 yj=k((ba5)=>{ba5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpAuthLocation||(ba5.HttpAuthLocation={}));ba5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpApiKeyAuthLocation||(ba5.HttpApiKeyAuthLocation={}));ba5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(ba5.EndpointURLScheme||(ba5.EndpointURLScheme={}));ba5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(ba5.AlgorithmId||(ba5.AlgorithmId={}));var ka5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>ba5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>ba5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ca5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},va5=(X)=>{return ka5(X)},_a5=(X)=>{return Ca5(X)};ba5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(ba5.FieldPosition||(ba5.FieldPosition={}));var fa5="__smithy_context";ba5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(ba5.IniSectionType||(ba5.IniSectionType={}));ba5.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"})(ba5.RequestHandlerProtocol||(ba5.RequestHandlerProtocol={}));ba5.SMITHY_CONTEXT_KEY=fa5;ba5.getDefaultClientConfiguration=va5;ba5.resolveDefaultRuntimeConfig=_a5});var u7=k((ca5)=>{var ga5=yj(),ua5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},la5=(X)=>{return{httpHandler:X.httpHandler()}};class C16{name;kind;values;constructor({name:X,kind:Y=ga5.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 v16{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 eA1{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 eA1({...X,headers:{...X.headers}});if(Y.query)Y.query=ma5(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 eA1.clone(this)}}function ma5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class _16{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 da5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}ca5.Field=C16;ca5.Fields=v16;ca5.HttpRequest=eA1;ca5.HttpResponse=_16;ca5.getHttpHandlerExtensionConfiguration=ua5;ca5.isValidHostname=da5;ca5.resolveHttpHandlerRuntimeConfig=la5});function sa5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&f16.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 f16,ea5,b16=(X)=>({applyToStack:(Y)=>{Y.add(sa5(X),ea5)}});var y16=w(()=>{f16=X1(u7(),1);ea5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var wH,XT1,xj,YT1,E9,x16,xX1;var LH=w(()=>{wH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},XT1=wH.WHEN_SUPPORTED,xj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},YT1=wH.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"})(x16||(x16={}));xX1=E9.CRC32});var kq,Ga=(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 sN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(kq||(kq={}))});var Xr5="AWS_REQUEST_CHECKSUM_CALCULATION",Yr5="request_checksum_calculation",h16;var g16=w(()=>{LH();sN0();h16={environmentVariableSelector:(X)=>Ga(X,Xr5,wH,kq.ENV),configFileSelector:(X)=>Ga(X,Yr5,wH,kq.CONFIG),default:XT1}});var Gr5="AWS_RESPONSE_CHECKSUM_VALIDATION",Qr5="response_checksum_validation",u16;var l16=w(()=>{LH();sN0();u16={environmentVariableSelector:(X)=>Ga(X,Gr5,xj,kq.ENV),configFileSelector:(X)=>Ga(X,Qr5,xj,kq.CONFIG),default:YT1}});var Xz0=k((Nr5)=>{var Jr5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],$r5=[500,502,503,504],Kr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Hr5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],m16=(X)=>X?.$retryable!==void 0,Fr5=(X)=>Jr5.includes(X.name),d16=(X)=>X.$metadata?.clockSkewCorrected,c16=(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)},Ur5=(X)=>X.$metadata?.httpStatusCode===429||Zr5.includes(X.name)||X.$retryable?.throttling==!0,eN0=(X,Y=0)=>m16(X)||d16(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||Wr5.includes(X.name)||Kr5.includes(X?.code||"")||Hr5.includes(X?.code||"")||$r5.includes(X.$metadata?.httpStatusCode||0)||c16(X)||i16(X)||X.cause!==void 0&&Y<=10&&eN0(X.cause,Y+1),Br5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!eN0(X))return!0;return!1}return!1};function i16(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Nr5.isBrowserNetworkError=c16;Nr5.isClockSkewCorrectedError=d16;Nr5.isClockSkewError=Fr5;Nr5.isNodeJsHttp2TransientError=i16;Nr5.isRetryableByTrait=m16;Nr5.isServerError=Br5;Nr5.isThrottlingError=Ur5;Nr5.isTransientError=eN0});var Dw=k((kr5)=>{var Ar5=Xz0();kr5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(kr5.RETRY_MODES||(kr5.RETRY_MODES={}));var QT1=3,Tr5=kr5.RETRY_MODES.STANDARD;class JT1{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"||Ar5.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)=>JT1.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 Ir5=100,Qz0=20000,Vr5=500,Yz0=500,jr5=5,Mr5=10,p16=1,Rr5="amz-sdk-invocation-id",Sr5="amz-sdk-request";class eQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return eQ.v2026?50:100}static throttlingDelay(){return eQ.v2026?1000:500}static cost(){return eQ.v2026?14:5}static throttlingCost(){return eQ.v2026?5:10}static modifiedCostType(){return eQ.v2026?"THROTTLING":"TRANSIENT"}}class n16{x=eQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Qz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Gz0{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(Qz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var GT1={incompatible:1,attempts:2,capacity:3};class hX1{mode=kr5.RETRY_MODES.STANDARD;capacity=Yz0;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()=>QT1,this.baseDelay??=eQ.delay(),this.retryBackoffStrategy??=new n16}async acquireInitialRetryToken(X){return new Gz0(eQ.delay(),0,void 0,eQ.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"?eQ.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:eQ.v2026&&Q===GT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Gz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Yz0,this.capacity+(X.getRetryCost()??p16))}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 ${QT1}`),QT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:GT1.incompatible,W=Q<G?0:GT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:GT1.capacity;return J||W||Z}getCapacityCost(X){return X===eQ.modifiedCostType()?eQ.throttlingCost():eQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class t16{mode=kr5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new JT1,this.standardRetryStrategy=Y?new hX1({maxAttempts:typeof X==="number"?X:3,...Y}):new hX1(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 a16 extends hX1{computeNextBackoffDelay;constructor(X,Y=eQ.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}}kr5.AdaptiveRetryStrategy=t16;kr5.ConfiguredRetryStrategy=a16;kr5.DEFAULT_MAX_ATTEMPTS=QT1;kr5.DEFAULT_RETRY_DELAY_BASE=Ir5;kr5.DEFAULT_RETRY_MODE=Tr5;kr5.DefaultRateLimiter=JT1;kr5.INITIAL_RETRY_TOKENS=Yz0;kr5.INVOCATION_ID_HEADER=Rr5;kr5.MAXIMUM_RETRY_DELAY=Qz0;kr5.NO_RETRY_INCREMENT=p16;kr5.REQUEST_HEADER=Sr5;kr5.RETRY_COST=jr5;kr5.Retry=eQ;kr5.StandardRetryStrategy=hX1;kr5.THROTTLING_RETRY_DELAY_BASE=Vr5;kr5.TIMEOUT_RETRY_COST=Mr5});var WX=k((Yo5)=>{var nr5=Dw(),Jz0={warningEmitted:!1},tr5=(X)=>{if(X&&!Jz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Jz0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
1646
+ `);Q=W.pop()??"";for(let Z of W){let $=O16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;Wz({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=O16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)Wz({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function Ja5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await aA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await iA1({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)Ya({name:z.name,status:"ready",port:z.port});fX1(W),vX1();let K=Qa5(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)D16(U.stdout),D16(U.stderr);let B=G||`http://localhost:${W.port}`;_X1(B),Ya({name:"Vite",status:"ready",port:Number(Y)});let N=async(z)=>{if(U.kill(z),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (l$1(),u$1));await O(W.dataDir)}};return process.on("SIGINT",()=>N("SIGINT")),process.on("SIGTERM",()=>N("SIGTERM")),{port:Number(W.port),process:U}}var xN0=w(()=>{kN0();$z();bN0()});import{Box as hN0,Text as gN0}from"ink";import{jsx as L16,jsxs as rA1}from"react/jsx-runtime";function w16(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 $a5(X,Y){if(Za5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(Wa5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>w16(W)).join(", "),color:"cyan"}}let Q=w16(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 Ka5(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 E16({env:X}){let Y=Ka5(X);return L16(hN0,{flexDirection:"column",children:Y.map((G)=>rA1(hN0,{flexDirection:"column",marginTop:1,children:[rA1(gN0,{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=$a5(Q,J);return rA1(hN0,{children:[rA1(gN0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),L16(gN0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var Za5,Wa5;var P16=w(()=>{Za5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),Wa5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var uN0;var q16=w(()=>{uN0={name:"decocms",version:"2.311.5",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 Fa5}from"@inkjs/ui";import{useSyncExternalStore as A16}from"react";import{jsx as TY,jsxs as sQ}from"react/jsx-runtime";function Oa5(X,Y){if(!X||!za5.has(X))return X;let G=lN0[Y]??lN0[lN0.length-1];return X==="#875f00"?G[0]:G[1]}function T16({status:X}){if(X==="pending")return TY(Fa5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function I16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=A16(mm0,lm0),Z=A16(tm0,nm0);return sQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?sQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((N,z)=>N+z.text.length,0),B=Math.max(0,Na5-U);return sQ(IU,{flexDirection:"row",children:[$.map((N,z)=>{let O=Oa5(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)}),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}):sQ(IU,{flexDirection:"column",marginTop:1,children:[Ua5.map(($,K)=>TY(RX,{color:Ba5[K],children:$},K)),sQ(RX,{dimColor:!0,children:[" v",uN0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:sQ(RX,{dimColor:!0,children:["Home: ",G]})}),sQ(IU,{gap:2,children:[X.map(($)=>sQ(IU,{gap:1,children:[sQ(RX,{children:[$.name," :",$.port||"...."]}),TY(T16,{status:$.status})]},$.name)),sQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(T16,{status:Y})]})]}),TY(IU,{children:Q?sQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),sQ(IU,{gap:2,children:[sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&sQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Ua5,Ba5,lN0,Na5=30,za5;var V16=w(()=>{q16();Vt1();Ct1();Ua5=[" \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 "],Ba5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],lN0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],za5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Da5}from"react";function wa5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==oA1.rows||Y!==oA1.columns)oA1={rows:X,columns:Y};return oA1}function La5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function j16(){return Da5(La5,wa5)}var oA1;var M16=w(()=>{oA1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Ea5,Text as bX1}from"ink";import{useSyncExternalStore as Pa5}from"react";import{jsx as mN0,jsxs as dN0}from"react/jsx-runtime";function qa5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function R16({logs:X,headerHeight:Y}){let{rows:G}=j16(),{logFlow:Q}=Pa5(CX1,kX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return mN0(Ea5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return mN0(bX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return dN0(bX1,{children:[dN0(bX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),mN0(bX1,{color:qa5(Z.status),children:Z.status}),dN0(bX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var S16=w(()=>{$z();M16()});var cN0={};T0(cN0,{App:()=>Ra5});import{Box as Aa5,Text as Ta5,useInput as Ia5}from"ink";import{useSyncExternalStore as Va5}from"react";import{jsx as sA1,jsxs as Sa5}from"react/jsx-runtime";function Ra5({home:X}){let Y=Va5(CX1,kX1);return Ia5((G)=>{if(G==="k"||G==="K")vN0();if(G==="l"||G==="L")_N0();if((G==="v"||G==="V")&&Y.dataDir)bt1(Y.dataDir),fN0();if((G==="n"||G==="N")&&Y.vibe)ft1()}),Sa5(Aa5,{flexDirection:"column",children:[sA1(I16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?sA1(E16,{env:Y.env}):sA1(Ta5,{dimColor:!0,children:"Loading configuration..."}):sA1(R16,{logs:Y.logs,headerHeight:Y.vibe?Ma5:ja5})]})}var ja5=15,Ma5=19;var iN0=w(()=>{P16();V16();S16();$z();fd()});function k16(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 yj=k((ba5)=>{ba5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpAuthLocation||(ba5.HttpAuthLocation={}));ba5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(ba5.HttpApiKeyAuthLocation||(ba5.HttpApiKeyAuthLocation={}));ba5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(ba5.EndpointURLScheme||(ba5.EndpointURLScheme={}));ba5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(ba5.AlgorithmId||(ba5.AlgorithmId={}));var ka5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>ba5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>ba5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ca5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},va5=(X)=>{return ka5(X)},_a5=(X)=>{return Ca5(X)};ba5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(ba5.FieldPosition||(ba5.FieldPosition={}));var fa5="__smithy_context";ba5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(ba5.IniSectionType||(ba5.IniSectionType={}));ba5.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"})(ba5.RequestHandlerProtocol||(ba5.RequestHandlerProtocol={}));ba5.SMITHY_CONTEXT_KEY=fa5;ba5.getDefaultClientConfiguration=va5;ba5.resolveDefaultRuntimeConfig=_a5});var u7=k((ca5)=>{var ga5=yj(),ua5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},la5=(X)=>{return{httpHandler:X.httpHandler()}};class C16{name;kind;values;constructor({name:X,kind:Y=ga5.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 v16{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 eA1{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 eA1({...X,headers:{...X.headers}});if(Y.query)Y.query=ma5(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 eA1.clone(this)}}function ma5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class _16{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 da5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}ca5.Field=C16;ca5.Fields=v16;ca5.HttpRequest=eA1;ca5.HttpResponse=_16;ca5.getHttpHandlerExtensionConfiguration=ua5;ca5.isValidHostname=da5;ca5.resolveHttpHandlerRuntimeConfig=la5});function sa5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&f16.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 f16,ea5,b16=(X)=>({applyToStack:(Y)=>{Y.add(sa5(X),ea5)}});var y16=w(()=>{f16=X1(u7(),1);ea5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var wH,XT1,xj,YT1,E9,x16,xX1;var LH=w(()=>{wH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},XT1=wH.WHEN_SUPPORTED,xj={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},YT1=wH.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"})(x16||(x16={}));xX1=E9.CRC32});var kq,Ga=(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 sN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(kq||(kq={}))});var Xr5="AWS_REQUEST_CHECKSUM_CALCULATION",Yr5="request_checksum_calculation",h16;var g16=w(()=>{LH();sN0();h16={environmentVariableSelector:(X)=>Ga(X,Xr5,wH,kq.ENV),configFileSelector:(X)=>Ga(X,Yr5,wH,kq.CONFIG),default:XT1}});var Gr5="AWS_RESPONSE_CHECKSUM_VALIDATION",Qr5="response_checksum_validation",u16;var l16=w(()=>{LH();sN0();u16={environmentVariableSelector:(X)=>Ga(X,Gr5,xj,kq.ENV),configFileSelector:(X)=>Ga(X,Qr5,xj,kq.CONFIG),default:YT1}});var Xz0=k((Nr5)=>{var Jr5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],Zr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Wr5=["TimeoutError","RequestTimeout","RequestTimeoutException"],$r5=[500,502,503,504],Kr5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Hr5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],m16=(X)=>X?.$retryable!==void 0,Fr5=(X)=>Jr5.includes(X.name),d16=(X)=>X.$metadata?.clockSkewCorrected,c16=(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)},Ur5=(X)=>X.$metadata?.httpStatusCode===429||Zr5.includes(X.name)||X.$retryable?.throttling==!0,eN0=(X,Y=0)=>m16(X)||d16(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||Wr5.includes(X.name)||Kr5.includes(X?.code||"")||Hr5.includes(X?.code||"")||$r5.includes(X.$metadata?.httpStatusCode||0)||c16(X)||i16(X)||X.cause!==void 0&&Y<=10&&eN0(X.cause,Y+1),Br5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!eN0(X))return!0;return!1}return!1};function i16(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Nr5.isBrowserNetworkError=c16;Nr5.isClockSkewCorrectedError=d16;Nr5.isClockSkewError=Fr5;Nr5.isNodeJsHttp2TransientError=i16;Nr5.isRetryableByTrait=m16;Nr5.isServerError=Br5;Nr5.isThrottlingError=Ur5;Nr5.isTransientError=eN0});var Dw=k((kr5)=>{var Ar5=Xz0();kr5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(kr5.RETRY_MODES||(kr5.RETRY_MODES={}));var QT1=3,Tr5=kr5.RETRY_MODES.STANDARD;class JT1{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"||Ar5.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)=>JT1.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 Ir5=100,Qz0=20000,Vr5=500,Yz0=500,jr5=5,Mr5=10,p16=1,Rr5="amz-sdk-invocation-id",Sr5="amz-sdk-request";class eQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return eQ.v2026?50:100}static throttlingDelay(){return eQ.v2026?1000:500}static cost(){return eQ.v2026?14:5}static throttlingCost(){return eQ.v2026?5:10}static modifiedCostType(){return eQ.v2026?"THROTTLING":"TRANSIENT"}}class n16{x=eQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,Qz0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class Gz0{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(Qz0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var GT1={incompatible:1,attempts:2,capacity:3};class hX1{mode=kr5.RETRY_MODES.STANDARD;capacity=Yz0;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()=>QT1,this.baseDelay??=eQ.delay(),this.retryBackoffStrategy??=new n16}async acquireInitialRetryToken(X){return new Gz0(eQ.delay(),0,void 0,eQ.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"?eQ.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:eQ.v2026&&Q===GT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new Gz0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(Yz0,this.capacity+(X.getRetryCost()??p16))}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 ${QT1}`),QT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:GT1.incompatible,W=Q<G?0:GT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:GT1.capacity;return J||W||Z}getCapacityCost(X){return X===eQ.modifiedCostType()?eQ.throttlingCost():eQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class t16{mode=kr5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new JT1,this.standardRetryStrategy=Y?new hX1({maxAttempts:typeof X==="number"?X:3,...Y}):new hX1(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 a16 extends hX1{computeNextBackoffDelay;constructor(X,Y=eQ.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}}kr5.AdaptiveRetryStrategy=t16;kr5.ConfiguredRetryStrategy=a16;kr5.DEFAULT_MAX_ATTEMPTS=QT1;kr5.DEFAULT_RETRY_DELAY_BASE=Ir5;kr5.DEFAULT_RETRY_MODE=Tr5;kr5.DefaultRateLimiter=JT1;kr5.INITIAL_RETRY_TOKENS=Yz0;kr5.INVOCATION_ID_HEADER=Rr5;kr5.MAXIMUM_RETRY_DELAY=Qz0;kr5.NO_RETRY_INCREMENT=p16;kr5.REQUEST_HEADER=Sr5;kr5.RETRY_COST=jr5;kr5.Retry=eQ;kr5.StandardRetryStrategy=hX1;kr5.THROTTLING_RETRY_DELAY_BASE=Vr5;kr5.TIMEOUT_RETRY_COST=Mr5});var WX=k((Yo5)=>{var nr5=Dw(),Jz0={warningEmitted:!1},tr5=(X)=>{if(X&&!Jz0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)Jz0.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
@@ -6613,33 +6613,26 @@ class SetupOrchestrator {
6613
6613
  const repoDir = this.deps.bootConfig.repoDir;
6614
6614
  if (!repoDir)
6615
6615
  return;
6616
+ const onChunk = (_src, data) => this.chunk(data);
6617
+ const gc = \`git -c safe.directory='*' -C \${repoDir}\`;
6616
6618
  let onRemote = false;
6617
- try {
6618
- gitSync([
6619
- "-c",
6620
- "safe.directory=*",
6621
- "fetch",
6622
- "origin",
6623
- \`+refs/heads/\${branch}:refs/remotes/origin/\${branch}\`
6624
- ], { cwd: repoDir });
6625
- gitSync(["-c", "safe.directory=*", "fetch", "origin", \`\${branch}:\${branch}\`], { cwd: repoDir });
6626
- onRemote = true;
6627
- } catch {}
6619
+ const fetch1 = await spawnSetupStep(\`\${gc} fetch origin +refs/heads/\${branch}:refs/remotes/origin/\${branch}\`, onChunk);
6620
+ if (fetch1 === 0) {
6621
+ const fetch2 = await spawnSetupStep(\`\${gc} fetch origin \${branch}:\${branch}\`, onChunk);
6622
+ onRemote = fetch2 === 0;
6623
+ }
6628
6624
  if (onRemote) {
6629
- gitSync(["-c", "safe.directory=*", "checkout", "-f", branch], {
6630
- cwd: repoDir
6631
- });
6632
- } else {
6633
- try {
6634
- gitSync(["-c", "safe.directory=*", "checkout", "-f", branch], {
6635
- cwd: repoDir
6636
- });
6637
- } catch {
6638
- gitSync(["-c", "safe.directory=*", "checkout", "-b", branch], {
6639
- cwd: repoDir
6640
- });
6641
- }
6625
+ const code = await spawnSetupStep(\`\${gc} checkout -f \${branch}\`, onChunk);
6626
+ if (code !== 0)
6627
+ throw new Error(\`git checkout -f \${branch} exited \${code}\`);
6628
+ return;
6642
6629
  }
6630
+ const checkoutCode = await spawnSetupStep(\`\${gc} checkout -f \${branch}\`, onChunk);
6631
+ if (checkoutCode === 0)
6632
+ return;
6633
+ const createCode = await spawnSetupStep(\`\${gc} checkout -b \${branch}\`, onChunk);
6634
+ if (createCode !== 0)
6635
+ throw new Error(\`git checkout -b \${branch} exited \${createCode}\`);
6643
6636
  }
6644
6637
  }
6645
6638
 
@@ -0,0 +1,95 @@
1
+ # node-postgres
2
+
3
+ [![Build Status](https://secure.travis-ci.org/brianc/node-postgres.svg?branch=master)](http://travis-ci.org/brianc/node-postgres)
4
+ <span class="badge-npmversion"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/v/pg.svg" alt="NPM version" /></a></span>
5
+ <span class="badge-npmdownloads"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/pg.svg" alt="NPM downloads" /></a></span>
6
+
7
+ Non-blocking PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings.
8
+
9
+ ## Install
10
+
11
+ ```sh
12
+ $ npm install pg
13
+ ```
14
+
15
+ ---
16
+
17
+ ## :star: [Documentation](https://node-postgres.com) :star:
18
+
19
+ ### Features
20
+
21
+ - Pure JavaScript client and native libpq bindings share _the same API_
22
+ - Connection pooling
23
+ - Extensible JS ↔ PostgreSQL data-type coercion
24
+ - Supported PostgreSQL features
25
+ - Parameterized queries
26
+ - Named statements with query plan caching
27
+ - Async notifications with `LISTEN/NOTIFY`
28
+ - Bulk import & export with `COPY TO/COPY FROM`
29
+
30
+ ### Extras
31
+
32
+ node-postgres is by design pretty light on abstractions. These are some handy modules we've been using over the years to complete the picture.
33
+ The entire list can be found on our [wiki](https://github.com/brianc/node-postgres/wiki/Extras).
34
+
35
+ ## Support
36
+
37
+ node-postgres is free software. If you encounter a bug with the library please open an issue on the [GitHub repo](https://github.com/brianc/node-postgres). If you have questions unanswered by the documentation please open an issue pointing out how the documentation was unclear & I will do my best to make it better!
38
+
39
+ When you open an issue please provide:
40
+
41
+ - version of Node
42
+ - version of Postgres
43
+ - smallest possible snippet of code to reproduce the problem
44
+
45
+ You can also follow me [@briancarlson](https://twitter.com/briancarlson) if that's your thing. I try to always announce noteworthy changes & developments with node-postgres on Twitter.
46
+
47
+ ## Sponsorship :two_hearts:
48
+
49
+ node-postgres's continued development has been made possible in part by generous financial support from [the community](https://github.com/brianc/node-postgres/blob/master/SPONSORS.md).
50
+
51
+ If you or your company are benefiting from node-postgres and would like to help keep the project financially sustainable [please consider supporting](https://github.com/sponsors/brianc) its development.
52
+
53
+ ### Featured sponsor
54
+
55
+ Special thanks to [medplum](https://medplum.com) for their generous and thoughtful support of node-postgres!
56
+
57
+ ![medplum](https://raw.githubusercontent.com/medplum/medplum-logo/refs/heads/main/medplum-logo.png)
58
+
59
+ ## Contributing
60
+
61
+ **:heart: contributions!**
62
+
63
+ I will **happily** accept your pull request if it:
64
+
65
+ - **has tests**
66
+ - looks reasonable
67
+ - does not break backwards compatibility
68
+
69
+ If your change involves breaking backwards compatibility please please point that out in the pull request & we can discuss & plan when and how to release it and what type of documentation or communicate it will require.
70
+
71
+ ## Troubleshooting and FAQ
72
+
73
+ The causes and solutions to common errors can be found among the [Frequently Asked Questions (FAQ)](https://github.com/brianc/node-postgres/wiki/FAQ)
74
+
75
+ ## License
76
+
77
+ Copyright (c) 2010-2020 Brian Carlson (brian.m.carlson@gmail.com)
78
+
79
+ Permission is hereby granted, free of charge, to any person obtaining a copy
80
+ of this software and associated documentation files (the "Software"), to deal
81
+ in the Software without restriction, including without limitation the rights
82
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
83
+ copies of the Software, and to permit persons to whom the Software is
84
+ furnished to do so, subject to the following conditions:
85
+
86
+ The above copyright notice and this permission notice shall be included in
87
+ all copies or substantial portions of the Software.
88
+
89
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
90
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
91
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
92
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
93
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
94
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
95
+ THE SOFTWARE.
@@ -0,0 +1,20 @@
1
+ // ESM wrapper for pg
2
+ import pg from '../lib/index.js'
3
+
4
+ // Re-export all the properties
5
+ export const Client = pg.Client
6
+ export const Pool = pg.Pool
7
+ export const Connection = pg.Connection
8
+ export const types = pg.types
9
+ export const Query = pg.Query
10
+ export const DatabaseError = pg.DatabaseError
11
+ export const escapeIdentifier = pg.escapeIdentifier
12
+ export const escapeLiteral = pg.escapeLiteral
13
+ export const Result = pg.Result
14
+ export const TypeOverrides = pg.TypeOverrides
15
+
16
+ // Also export the defaults
17
+ export const defaults = pg.defaults
18
+
19
+ // Re-export the default
20
+ export default pg