decocms 4.173.1 → 4.173.2

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 (221) hide show
  1. package/dist/client/assets/{AlertCircle-DOvnzHgs.js → AlertCircle-Dx0dvNQ3.js} +1 -1
  2. package/dist/client/assets/{AreaChart-DZPyPmWG.js → AreaChart-g8JvMF-p.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-DuR9Uq1w.js → ArrowUp-BHnXBy0X.js} +1 -1
  4. package/dist/client/assets/{ArrowUpRight-C5EYfY6W.js → ArrowUpRight-8ZGKOHD4.js} +1 -1
  5. package/dist/client/assets/{Check-Bzli7gZq.js → Check-trpgkt82.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-CfR1dp3F.js → CheckCircle-DiDqjqio.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-BED2phk3.js → ChevronDown-CTz2ttS7.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-IWvlAaxR.js → ChevronRight-DvVU5PJi.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-BZdIyI6J.js → ChevronUp-CT_RSePC.js} +1 -1
  10. package/dist/client/assets/{Copy01-Bp1v4K69.js → Copy01-CeRvXgnv.js} +1 -1
  11. package/dist/client/assets/{CpuChip01-DPDvRZVu.js → CpuChip01-Bk7jm1sI.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-THP8DDNL.js → DotsVertical-DJxzzmGr.js} +1 -1
  13. package/dist/client/assets/{Eye-Lzn9_1L8.js → Eye-CETUUH50.js} +1 -1
  14. package/dist/client/assets/{FilterLines-MypOxYpP.js → FilterLines-DSVZCMCS.js} +1 -1
  15. package/dist/client/assets/{HardDrive-D0aHCIZK.js → HardDrive-BD5pxcfg.js} +1 -1
  16. package/dist/client/assets/{Key01-BDqDSYjT.js → Key01-DuOJYc7o.js} +1 -1
  17. package/dist/client/assets/{LayoutLeft-BxUN5GeT.js → LayoutLeft-BUVJ7XU1.js} +1 -1
  18. package/dist/client/assets/{LinkExternal01-BqruCVzQ.js → LinkExternal01-COHYRKOO.js} +1 -1
  19. package/dist/client/assets/{LogOut01-BaM9ZbMY.js → LogOut01-DeTA0snQ.js} +1 -1
  20. package/dist/client/assets/{Monitor01-BoXT3hLm.js → Monitor01-Cu5kcFIn.js} +1 -1
  21. package/dist/client/assets/{Palette-Dune3gwU.js → Palette-yZKAJSQl.js} +1 -1
  22. package/dist/client/assets/{Play-ar98Q3op.js → Play-DKhu9KVU.js} +1 -1
  23. package/dist/client/assets/{Plus-6tGNx6Lk.js → Plus-CfA1BG9G.js} +1 -1
  24. package/dist/client/assets/{SearchLg-CGRQJypl.js → SearchLg-CRHtvW-7.js} +1 -1
  25. package/dist/client/assets/{SearchMd-3KD3P9Bm.js → SearchMd-DZedSpHV.js} +1 -1
  26. package/dist/client/assets/{Settings02-qUS7AD77.js → Settings02-DylsvRpx.js} +1 -1
  27. package/dist/client/assets/{Shield01-BMFVoKQh.js → Shield01-CfK22tCk.js} +1 -1
  28. package/dist/client/assets/{Star01-jUaueu8d.js → Star01-DZe4rpCf.js} +1 -1
  29. package/dist/client/assets/{Stars01-CbKD523y.js → Stars01-BokxR2o3.js} +1 -1
  30. package/dist/client/assets/{Stars02-CsxMGPOf.js → Stars02-DwjTo9sx.js} +1 -1
  31. package/dist/client/assets/{Sun-BH_XP1ey.js → Sun-D9b285y2.js} +1 -1
  32. package/dist/client/assets/{SwitchHorizontal01-Dyxgxnj0.js → SwitchHorizontal01-C5VT8B4A.js} +1 -1
  33. package/dist/client/assets/{Tool01-S3qPOMuC.js → Tool01-DdjsLfhC.js} +1 -1
  34. package/dist/client/assets/{Tool02-BYcbwL2n.js → Tool02-DH9Qow1p.js} +1 -1
  35. package/dist/client/assets/{Trash01-CdkTOfqr.js → Trash01-BgYJDg2S.js} +1 -1
  36. package/dist/client/assets/{TrendUp01-CYN9gtWs.js → TrendUp01-D-SffPwd.js} +1 -1
  37. package/dist/client/assets/{Upload01-C6LV3Je0.js → Upload01-UdRXC7B2.js} +1 -1
  38. package/dist/client/assets/{User01-SXNu3kQj.js → User01-B4AdN9Zu.js} +1 -1
  39. package/dist/client/assets/{Users01-BcYSpvbX.js → Users01-Jj7_MCU3.js} +1 -1
  40. package/dist/client/assets/{Users03-DehY3-Bg.js → Users03-DI95O3ly.js} +1 -1
  41. package/dist/client/assets/{X-CoWPWbIb.js → X-DHv22EBY.js} +1 -1
  42. package/dist/client/assets/{XCircle-45QMCtc2.js → XCircle-DURuoowD.js} +1 -1
  43. package/dist/client/assets/{XClose-CWZyT2SJ.js → XClose-B4L8SUnt.js} +1 -1
  44. package/dist/client/assets/{Zap-kjVln0V-.js → Zap-D5Ab-umw.js} +1 -1
  45. package/dist/client/assets/{ZapSquare-BIWWH4Xl.js → ZapSquare-9krS4U5A.js} +1 -1
  46. package/dist/client/assets/{access-gate-D1fpYHHI.js → access-gate-CKUfoR0O.js} +1 -1
  47. package/dist/client/assets/{add-section-modal-C40ToMy-.js → add-section-modal-q-iH3y7U.js} +1 -1
  48. package/dist/client/assets/{agent-icon-Bkvi_GYh.js → agent-icon-CLmt4qgc.js} +1 -1
  49. package/dist/client/assets/{agents-list-o0ynObO5.js → agents-list-Dy3lKxut.js} +1 -1
  50. package/dist/client/assets/{ai-providers-Rxo2pKga.js → ai-providers-BUX575F7.js} +1 -1
  51. package/dist/client/assets/{alert-CR2d6Brc.js → alert-csFaqGmJ.js} +1 -1
  52. package/dist/client/assets/{alert-dialog-CtoEIRPm.js → alert-dialog-Cu7W3omj.js} +1 -1
  53. package/dist/client/assets/{app-editor-pycJOtri.js → app-editor-BLSSxtU8.js} +1 -1
  54. package/dist/client/assets/{auth-B_5d574T.js → auth-D68AnmWS.js} +1 -1
  55. package/dist/client/assets/{auth-catchall-Nxezn2Xg.js → auth-catchall-1wopS5rt.js} +1 -1
  56. package/dist/client/assets/{auth-entry-C6gOLXSv.js → auth-entry-p3e94_sZ.js} +1 -1
  57. package/dist/client/assets/{auth-split-layout-Cz5P1sOs.js → auth-split-layout-BHlq6zoH.js} +1 -1
  58. package/dist/client/assets/{authenticate-and-persist-oauth-BBO-tHc1.js → authenticate-and-persist-oauth-DniNTlFX.js} +1 -1
  59. package/dist/client/assets/{automation-list-row-jXyl9WLl.js → automation-list-row-HSUNsafH.js} +1 -1
  60. package/dist/client/assets/{automation-runs-C9C7XENw.js → automation-runs-PsnNbC6F.js} +1 -1
  61. package/dist/client/assets/{automations-D0HJ6n7G.js → automations-Bz8vMMSX.js} +1 -1
  62. package/dist/client/assets/{avatar-zXC9s3fK.js → avatar-wF63AbCF.js} +1 -1
  63. package/dist/client/assets/{badge-B0jamfFQ.js → badge-Bqeo3Z9T.js} +1 -1
  64. package/dist/client/assets/{block-document-D7Pqzoli.js → block-document-WL58QzUp.js} +1 -1
  65. package/dist/client/assets/{brand-context-Dtw93uRW.js → brand-context-CTGG-Pzz.js} +1 -1
  66. package/dist/client/assets/{buckets-CHB3sqQu.js → buckets-CzijVzlA.js} +1 -1
  67. package/dist/client/assets/{bulk-category-panel-BuUbHRDk.js → bulk-category-panel-BMl0i27L.js} +1 -1
  68. package/dist/client/assets/{calendar-Dl6l9zOc.js → calendar-DCcOoI4I.js} +1 -1
  69. package/dist/client/assets/{capability-load-error-C4ryp5ok.js → capability-load-error-Dlw6r2jy.js} +1 -1
  70. package/dist/client/assets/{card-BKdBMYd0.js → card-Dj0UCeLg.js} +1 -1
  71. package/dist/client/assets/{category-editor-A3Z3ZEPE.js → category-editor-B3bbL8Aq.js} +1 -1
  72. package/dist/client/assets/{chat-context-BtqgwqcK.js → chat-context-C_Qyu_CM.js} +1 -1
  73. package/dist/client/assets/{checkbox-C6UDWP6w.js → checkbox-D7WyDUAR.js} +1 -1
  74. package/dist/client/assets/{cli-auth-success-J47rKBpi.js → cli-auth-success-BY8E11Bh.js} +1 -1
  75. package/dist/client/assets/{collection-detail-CUKpA9vR.js → collection-detail-tACSGTct.js} +1 -1
  76. package/dist/client/assets/{collection-display-button-DW81ECYd.js → collection-display-button-NbEVWkbx.js} +1 -1
  77. package/dist/client/assets/{collection-search-BU0HroKx.js → collection-search-BUDPClij.js} +1 -1
  78. package/dist/client/assets/{collection-table-wrapper-dS12ubEg.js → collection-table-wrapper-BJFsGZUr.js} +1 -1
  79. package/dist/client/assets/{collection-tabs-Bi_juZJo.js → collection-tabs-DD847Imn.js} +1 -1
  80. package/dist/client/assets/{command-Dzn1gLfp.js → command-UNUdA1VL.js} +1 -1
  81. package/dist/client/assets/{commerce-onboarding-Cyss7xef.js → commerce-onboarding-Cz3vP0UZ.js} +1 -1
  82. package/dist/client/assets/{companions-core-v_0-7Mek.js → companions-core-B2Sg2lMy.js} +1 -1
  83. package/dist/client/assets/{connect-ByFjHbWj.js → connect-DIxQqaDb.js} +1 -1
  84. package/dist/client/assets/{connection-omjZRoM7.js → connection-8d5xIfar.js} +1 -1
  85. package/dist/client/assets/{connection-card-q85_Vx1l.js → connection-card-5zWsUTcc.js} +1 -1
  86. package/dist/client/assets/{connection-detail-DWKbIplF.js → connection-detail-BAmvvyCh.js} +1 -1
  87. package/dist/client/assets/{connection-form-helpers-ejmlzKzd.js → connection-form-helpers-Bhkbsoqf.js} +1 -1
  88. package/dist/client/assets/{connections-CsG9LEG7.js → connections-2Q0jSody.js} +1 -1
  89. package/dist/client/assets/{decopilot-sse-pool-D5yQ_ajo.js → decopilot-sse-pool-p14a6HF0.js} +1 -1
  90. package/dist/client/assets/{dialog-BIf32hl1.js → dialog-fgtGU_9t.js} +1 -1
  91. package/dist/client/assets/{domain-settings-6afDWtR0.js → domain-settings-CBLQlT4I.js} +1 -1
  92. package/dist/client/assets/{drawer-rTVc1InN.js → drawer-Dssgtd1N.js} +1 -1
  93. package/dist/client/assets/{dropdown-menu-3NNdMF9y.js → dropdown-menu-D3zIXWKs.js} +1 -1
  94. package/dist/client/assets/{empty-state-BVTFCAaS.js → empty-state-C4C2H1a6.js} +1 -1
  95. package/dist/client/assets/{extract-connection-data-TUjbmMmX.js → extract-connection-data-Cr-zJzsk.js} +1 -1
  96. package/dist/client/assets/{file-explorer-Cxgnm6v-.js → file-explorer-BJ9IV7TU.js} +1 -1
  97. package/dist/client/assets/{form-CSMbulsR.js → form-o5dipYVm.js} +1 -1
  98. package/dist/client/assets/{general-b5ktfuDM.js → general-BTccfIIp.js} +1 -1
  99. package/dist/client/assets/{github-repo-picker-BUjk2ORd.js → github-repo-picker-CpzrM0Wx.js} +1 -1
  100. package/dist/client/assets/{hooks-BpSDs_Cc.js → hooks-BqQJeuDn.js} +1 -1
  101. package/dist/client/assets/{index-DAgJMwBl.js → index-BDDG2xmy.js} +1 -1
  102. package/dist/client/assets/{index-u2MRuP3Q.js → index-BF5h3nhu.js} +1 -1
  103. package/dist/client/assets/{index-CCVllcwQ.js → index-BhGVwfT1.js} +1 -1
  104. package/dist/client/assets/{index-DUExY5Y6.js → index-BwHirxrP.js} +1 -1
  105. package/dist/client/assets/{index-DkrcNMXN.js → index-CA9k1jmw.js} +1 -1
  106. package/dist/client/assets/{index-C0dLrtNu.js → index-CQD6kv0M.js} +1 -1
  107. package/dist/client/assets/{index-CvPf7aBJ.js → index-CnE-7aiB.js} +5 -5
  108. package/dist/client/assets/{index-BtU2aE4S.js → index-DAaJ3ivk.js} +3 -3
  109. package/dist/client/assets/{index-DJJCDeSA.js → index-R93hdz_7.js} +3 -3
  110. package/dist/client/assets/{index-mq9vzqxO.js → index-_7qLsg7J.js} +1 -1
  111. package/dist/client/assets/{index-Ii4a8xV-.js → index-ea8Pc6xG.js} +1 -1
  112. package/dist/client/assets/{index-redirect-CBu7-Xa5.js → index-redirect-DLY0iN-L.js} +1 -1
  113. package/dist/client/assets/{input-DC0goD4E.js → input-O6gxCmWi.js} +1 -1
  114. package/dist/client/assets/{integration-icon-B2e8Y8YG.js → integration-icon-BOvLb11T.js} +1 -1
  115. package/dist/client/assets/{invite-member-dialog-BmuNIuOh.js → invite-member-dialog-cOy4b0-B.js} +1 -1
  116. package/dist/client/assets/{label-Bke0hdIg.js → label-BJsIu63R.js} +1 -1
  117. package/dist/client/assets/{layout-7gJ5t8ex.js → layout-CIGgKt-a.js} +1 -1
  118. package/dist/client/assets/{login-9_jgWeBC.js → login-lFC1UHg_.js} +1 -1
  119. package/dist/client/assets/{mcp-oauth-Dl_EP9jj.js → mcp-oauth-JNz2RwQg.js} +1 -1
  120. package/dist/client/assets/{members-D9mamLsv.js → members-Bk6j-sOS.js} +1 -1
  121. package/dist/client/assets/{monaco-editor-CJvmVTAP.js → monaco-editor-CjY1Dvdp.js} +1 -1
  122. package/dist/client/assets/{monitoring-stats-row-CkjkNdBZ.js → monitoring-stats-row-BLDdLDDQ.js} +1 -1
  123. package/dist/client/assets/{multi-select-DrBibkq5.js → multi-select-CbveeB2Y.js} +1 -1
  124. package/dist/client/assets/{oauth-callback-7gbsohzR.js → oauth-callback-FQj8cQfT.js} +1 -1
  125. package/dist/client/assets/{oauth-callback-ai-provider-DkdtgWO6.js → oauth-callback-ai-provider-NT-rwcKm.js} +1 -1
  126. package/dist/client/assets/{onboarding-_MvaL5Nh.js → onboarding-CejGc-_T.js} +1 -1
  127. package/dist/client/assets/{org-layout-B9EgPqLK.js → org-layout-BVO17LW9.js} +1 -1
  128. package/dist/client/assets/{organization-choice-6DIePStX.js → organization-choice-DLEkxXQV.js} +1 -1
  129. package/dist/client/assets/{orgs-grT2oICy.js → orgs-aZucp_Wj.js} +1 -1
  130. package/dist/client/assets/{page-seo-form-CmFz6owZ.js → page-seo-form-BoO2fM9Z.js} +1 -1
  131. package/dist/client/assets/{popover-BOLuL8zy.js → popover-DUaSndar.js} +1 -1
  132. package/dist/client/assets/{post-editor-DYL-AIWC.js → post-editor-CDEYLzF2.js} +1 -1
  133. package/dist/client/assets/{primitives-Yv68ZS63.js → primitives-dxtE8JGZ.js} +1 -1
  134. package/dist/client/assets/{profile-DbswoX7i.js → profile-CnPXz6y_.js} +1 -1
  135. package/dist/client/assets/project-app-view-BCEjv2bQ.js +1 -0
  136. package/dist/client/assets/record-editor-DpKHXrgx.js +1 -0
  137. package/dist/client/assets/{redirect-editor-BdE8cnZ0.js → redirect-editor-cMV2PD9n.js} +1 -1
  138. package/dist/client/assets/registry-DDvC0eIX.js +2 -0
  139. package/dist/client/assets/{registry-layout-DJMvNfBi.js → registry-layout-v7PFporf.js} +1 -1
  140. package/dist/client/assets/{reports-BsANnZLp.js → reports-BFIpvZ0O.js} +1 -1
  141. package/dist/client/assets/{require-capability-BZwoghy3.js → require-capability-HDBVcAO2.js} +1 -1
  142. package/dist/client/assets/{required-auth-layout-BUzjznAp.js → required-auth-layout-CZgiMRi-.js} +1 -1
  143. package/dist/client/assets/{reset-password-F00-Fmse.js → reset-password-DduQGIAg.js} +1 -1
  144. package/dist/client/assets/{roles-EotFNJ-G.js → roles-BkjmN62W.js} +1 -1
  145. package/dist/client/assets/{search-input-N6tMGH4J.js → search-input-C_5BcuT3.js} +1 -1
  146. package/dist/client/assets/{secrets-CgtgGGQj.js → secrets-DNv18GeR.js} +1 -1
  147. package/dist/client/assets/{sections-editor-CUW0Vg2J.js → sections-editor-CxbHDbYn.js} +1 -1
  148. package/dist/client/assets/{select-BMb3HCRx.js → select-DRvR9TR3.js} +1 -1
  149. package/dist/client/assets/{select-model-BmI0DruV.js → select-model-CL7kxE9S.js} +1 -1
  150. package/dist/client/assets/{self-tool-result-bm5NQA8U.js → self-tool-result-B7SVY823.js} +1 -1
  151. package/dist/client/assets/{seo-editor-jpGsxacc.js → seo-editor-BC29PTBU.js} +1 -1
  152. package/dist/client/assets/{settings-layout-Dt9S90Sw.js → settings-layout-BOcUqjqB.js} +1 -1
  153. package/dist/client/assets/{settings-section-Y3Vcaozy.js → settings-section-BuaT4GCt.js} +1 -1
  154. package/dist/client/assets/{shell-controls-CUXnBTO9.js → shell-controls-oAEgx_mf.js} +1 -1
  155. package/dist/client/assets/{shell-layout-cBKFQr1n.js → shell-layout-kdGJH82e.js} +1 -1
  156. package/dist/client/assets/{sidebar-DcEOQaWA.js → sidebar-6RhHJyJp.js} +1 -1
  157. package/dist/client/assets/{skeleton-pwG-IX0e.js → skeleton-Dy1Xm2hB.js} +1 -1
  158. package/dist/client/assets/{spinner-C4gpewC4.js → spinner-BeL9b1fD.js} +1 -1
  159. package/dist/client/assets/{sso-eBQrlGh3.js → sso-BJ7XdZeD.js} +1 -1
  160. package/dist/client/assets/{store-B-4Mwyut.js → store-45r-BIDz.js} +1 -1
  161. package/dist/client/assets/store-registry-DWVnS_Vb.js +2 -0
  162. package/dist/client/assets/{studio-tools-F8FRo5HC.js → studio-tools-CT5iW6Fw.js} +1 -1
  163. package/dist/client/assets/{switch-D-86cuG-.js → switch-DfNY7X2r.js} +1 -1
  164. package/dist/client/assets/{tab-id-CCHBOSVB.js → tab-id-CdUgfpsR.js} +1 -1
  165. package/dist/client/assets/{table-Dtp2tPsW.js → table-Bh4cuJbg.js} +1 -1
  166. package/dist/client/assets/{tabs-DEDsBXc-.js → tabs-C4blJa-p.js} +1 -1
  167. package/dist/client/assets/{textarea-wK__Wf4S.js → textarea-DN_XkFPR.js} +1 -1
  168. package/dist/client/assets/{toggle-group-tNZPwHFi.js → toggle-group-C5lbC9y2.js} +1 -1
  169. package/dist/client/assets/{toolbar-DBdf3wvu.js → toolbar-DF2xA42B.js} +1 -1
  170. package/dist/client/assets/{tooltip-B21dFACH.js → tooltip-D1ClM1dc.js} +1 -1
  171. package/dist/client/assets/{use-ai-providers-hiPsiP0T.js → use-ai-providers-N9q58s0K.js} +1 -1
  172. package/dist/client/assets/{use-automations-CZ9vomGf.js → use-automations-CvwBvYfA.js} +1 -1
  173. package/dist/client/assets/{use-autosave-BFSvD9ZT.js → use-autosave-DXCrTsyj.js} +1 -1
  174. package/dist/client/assets/{use-capability-DJxOnICJ.js → use-capability-3Iyptuxp.js} +1 -1
  175. package/dist/client/assets/{use-clock-tick-pLNPxfgU.js → use-clock-tick-SypjFMbj.js} +1 -1
  176. package/dist/client/assets/{use-connection-C5LfY0hr.js → use-connection-BbIrILj_.js} +1 -1
  177. package/dist/client/assets/{use-copy-B-lB6Q21.js → use-copy-CYKc9uhH.js} +1 -1
  178. package/dist/client/assets/{use-create-virtual-mcp-CPv1cUoE.js → use-create-virtual-mcp-BaYJBrVE.js} +1 -1
  179. package/dist/client/assets/{use-debounced-autosave-KiITPNPl.js → use-debounced-autosave-_wMBEe0_.js} +1 -1
  180. package/dist/client/assets/{use-debounced-value-CHU1BJga.js → use-debounced-value-DBR-dVh1.js} +1 -1
  181. package/dist/client/assets/{use-deco-credits-P_MQ814M.js → use-deco-credits-DjZlNAtE.js} +1 -1
  182. package/dist/client/assets/{use-decopilot-events-DY91l02j.js → use-decopilot-events-D2ZHBS_c.js} +1 -1
  183. package/dist/client/assets/{use-delete-connection-i5Snpszi.js → use-delete-connection-Dkpxq-7r.js} +1 -1
  184. package/dist/client/assets/{use-deployment-admin-DacLwv_A.js → use-deployment-admin-DlqCmgb-.js} +1 -1
  185. package/dist/client/assets/{use-file-configs-D8loXViC.js → use-file-configs-Dbqp87KV.js} +1 -1
  186. package/dist/client/assets/{use-infinite-scroll-DO8LS-0E.js → use-infinite-scroll-CLFHn8mn.js} +1 -1
  187. package/dist/client/assets/{use-join-requests-2hqw1eOy.js → use-join-requests-C3DDF0bh.js} +1 -1
  188. package/dist/client/assets/{use-mcp-auth-status-DK4NJJMb.js → use-mcp-auth-status-cD1zsUfv.js} +1 -1
  189. package/dist/client/assets/{use-mcp-client-BPHrvMYe.js → use-mcp-client-CvURu_W6.js} +1 -1
  190. package/dist/client/assets/{use-mcp-tools-BfL9IiO_.js → use-mcp-tools-DQW60kIR.js} +1 -1
  191. package/dist/client/assets/{use-members-aaN8TZtJ.js → use-members-2m9D95ut.js} +1 -1
  192. package/dist/client/assets/{use-mobile-C866y3BZ.js → use-mobile-Cm6HH_76.js} +1 -1
  193. package/dist/client/assets/{use-navigate-to-agent-C-1OOLwJ.js → use-navigate-to-agent-gfbCDhMz.js} +1 -1
  194. package/dist/client/assets/{use-org-auth-client-DK4nNdcp.js → use-org-auth-client-_XdpBM4V.js} +1 -1
  195. package/dist/client/assets/{use-org-sso-CZMxG2jy.js → use-org-sso-D8PLf2yp.js} +1 -1
  196. package/dist/client/assets/{use-organization-roles-Duq1f6od.js → use-organization-roles-B8A2Ow8I.js} +1 -1
  197. package/dist/client/assets/{use-organization-settings-6bCKAr37.js → use-organization-settings-BEb6oRM8.js} +1 -1
  198. package/dist/client/assets/{use-registry-connections-CGQ8K3xE.js → use-registry-connections-cIPQXuHd.js} +1 -1
  199. package/dist/client/assets/{use-secrets-CiXkyhP8.js → use-secrets-CRqVugM3.js} +1 -1
  200. package/dist/client/assets/{use-status-sounds-BF7svmgp.js → use-status-sounds-BrUh8CJN.js} +1 -1
  201. package/dist/client/assets/{use-tags-BpxNmrmb.js → use-tags-DvQJGf4Y.js} +1 -1
  202. package/dist/client/assets/{use-view-mode-oZSWh4UF.js → use-view-mode-C24GwTFU.js} +1 -1
  203. package/dist/client/assets/{use-virtual-mcp-CL1C5YZc.js → use-virtual-mcp-BJgohtt7.js} +1 -1
  204. package/dist/client/assets/useInfiniteQuery-DBDuuiO2.js +1 -0
  205. package/dist/client/assets/{useQueries-gX4Viwg2.js → useQueries-BtgGroOz.js} +1 -1
  206. package/dist/client/assets/{useRouterState-CusY3NnR.js → useRouterState-DNpFPVYN.js} +1 -1
  207. package/dist/client/assets/useSuspenseInfiniteQuery-BUviDRly.js +1 -0
  208. package/dist/client/assets/{users--M1AoJTv.js → users-A1fewdNl.js} +1 -1
  209. package/dist/client/assets/{variant-calendar--RzHRbik.js → variant-calendar-DamGwVHi.js} +1 -1
  210. package/dist/client/assets/{view-mode-toggle-Dogmolfq.js → view-mode-toggle-vIqOAcO_.js} +1 -1
  211. package/dist/client/index.html +1 -1
  212. package/dist/server/cli.js +360 -360
  213. package/dist/server/migrate.js +21 -21
  214. package/dist/server/server.js +243 -243
  215. package/package.json +1 -1
  216. package/dist/client/assets/project-app-view-DziJYhpa.js +0 -1
  217. package/dist/client/assets/record-editor-BiBIRb1q.js +0 -1
  218. package/dist/client/assets/registry-C6Wnqsm4.js +0 -2
  219. package/dist/client/assets/store-registry-DnHDjb4p.js +0 -2
  220. package/dist/client/assets/useInfiniteQuery-Ci7bR1F6.js +0 -1
  221. package/dist/client/assets/useSuspenseInfiniteQuery-X5rB57Ef.js +0 -1
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null,n)}var _=(t,n)=>{for(var u in n)vi(t,u,{get:n[u],enumerable:!0,configurable:!0,set:si.bind(n,u)})};import{Migrator as gi,sql as c}from"kysely";var Ut={};_(Ut,{up:()=>li,down:()=>di});import{sql as U}from"kysely";async function li(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function di(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var Jt={};_(Jt,{up:()=>bi,down:()=>tx});import{sql as r_}from"kysely";async function bi(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(r_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(r_`CURRENT_TIMESTAMP`)).execute()}async function tx(t){await t.schema.dropTable("organization_settings").execute()}var jt={};_(jt,{up:()=>nx,down:()=>ux});async function nx(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function ux(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Dt={};_(Dt,{up:()=>_x,down:()=>ix});async function _x(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function ix(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Lt={};_(Lt,{up:()=>xx,down:()=>mx});async function xx(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function mx(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var $t={};_($t,{up:()=>ax,down:()=>yx});import{sql as ex}from"kysely";async function ax(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",ex`text`).execute()}async function yx(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Wt={};_(Wt,{up:()=>Tx,down:()=>ox});async function Tx(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function ox(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Rt={};_(Rt,{up:()=>Cx,down:()=>Nx});import{sql as G}from"kysely";async function Cx(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Nx(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Xt={};_(Xt,{up:()=>Kx,down:()=>fx});import{sql as Ex}from"kysely";async function Kx(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function fx(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(Ex`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Qt={};_(Qt,{up:()=>wx,down:()=>px});import{sql as d}from"kysely";async function wx(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function px(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Zt={};_(Zt,{up:()=>zx,down:()=>Px});async function zx(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Px(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Ft={};_(Ft,{up:()=>Ux,down:()=>Jx});import{sql as b}from"kysely";async function Ux(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await b`
2
+ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null,n)}var _=(t,n)=>{for(var u in n)vi(t,u,{get:n[u],enumerable:!0,configurable:!0,set:si.bind(n,u)})};import{Migrator as gi,sql as c}from"kysely";var Ut={};_(Ut,{up:()=>li,down:()=>di});import{sql as P}from"kysely";async function li(t){await t.schema.createTable("connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("createdById","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("description","text").addColumn("icon","text").addColumn("appName","text").addColumn("appId","text").addColumn("connectionType","text",(n)=>n.notNull()).addColumn("connectionUrl","text",(n)=>n.notNull()).addColumn("connectionToken","text").addColumn("connectionHeaders","text").addColumn("oauthConfig","text").addColumn("metadata","text").addColumn("tools","text").addColumn("bindings","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("api_keys").addColumn("id","text",(n)=>n.primaryKey()).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("name","text",(n)=>n.notNull()).addColumn("hashedKey","text",(n)=>n.notNull().unique()).addColumn("permissions","text",(n)=>n.notNull()).addColumn("expiresAt","text").addColumn("remaining","integer").addColumn("metadata","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("audit_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createTable("oauth_clients").addColumn("id","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().unique()).addColumn("clientSecret","text").addColumn("clientName","text",(n)=>n.notNull()).addColumn("redirectUris","text",(n)=>n.notNull()).addColumn("grantTypes","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("clientUri","text").addColumn("logoUri","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_authorization_codes").addColumn("code","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("redirectUri","text",(n)=>n.notNull()).addColumn("scope","text").addColumn("codeChallenge","text").addColumn("codeChallengeMethod","text").addColumn("expiresAt","text",(n)=>n.notNull()).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("oauth_refresh_tokens").addColumn("token","text",(n)=>n.primaryKey()).addColumn("clientId","text",(n)=>n.notNull().references("oauth_clients.clientId").onDelete("cascade")).addColumn("userId","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("downstream_tokens").addColumn("id","text",(n)=>n.primaryKey()).addColumn("connectionId","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("userId","text",(n)=>n.references("user.id").onDelete("cascade")).addColumn("accessToken","text",(n)=>n.notNull()).addColumn("refreshToken","text").addColumn("scope","text").addColumn("expiresAt","text").addColumn("createdAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(P`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_connections_organizationId").on("connections").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}async function di(t){await t.schema.dropTable("downstream_tokens").execute(),await t.schema.dropTable("oauth_refresh_tokens").execute(),await t.schema.dropTable("oauth_authorization_codes").execute(),await t.schema.dropTable("oauth_clients").execute(),await t.schema.dropTable("audit_logs").execute(),await t.schema.dropTable("api_keys").execute(),await t.schema.dropTable("connections").execute()}var Jt={};_(Jt,{up:()=>bi,down:()=>tx});import{sql as r_}from"kysely";async function bi(t){await t.schema.createTable("organization_settings").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull().defaultTo(r_`CURRENT_TIMESTAMP`)).addColumn("updatedAt","text",(n)=>n.notNull().defaultTo(r_`CURRENT_TIMESTAMP`)).execute()}async function tx(t){await t.schema.dropTable("organization_settings").execute()}var jt={};_(jt,{up:()=>nx,down:()=>ux});async function nx(t){await t.schema.alterTable("connections").renameColumn("name","title").execute(),await t.schema.alterTable("connections").renameColumn("createdById","created_by").execute(),await t.schema.alterTable("connections").renameColumn("createdAt","created_at").execute(),await t.schema.alterTable("connections").renameColumn("updatedAt","updated_at").execute(),await t.schema.alterTable("connections").renameColumn("organizationId","organization_id").execute(),await t.schema.alterTable("connections").renameColumn("connectionType","connection_type").execute(),await t.schema.alterTable("connections").renameColumn("connectionUrl","connection_url").execute(),await t.schema.alterTable("connections").renameColumn("connectionToken","connection_token").execute(),await t.schema.alterTable("connections").renameColumn("connectionHeaders","connection_headers").execute(),await t.schema.alterTable("connections").renameColumn("oauthConfig","oauth_config").execute(),await t.schema.alterTable("connections").renameColumn("appName","app_name").execute(),await t.schema.alterTable("connections").renameColumn("appId","app_id").execute()}async function ux(t){await t.schema.alterTable("connections").renameColumn("title","name").execute(),await t.schema.alterTable("connections").renameColumn("created_by","createdById").execute(),await t.schema.alterTable("connections").renameColumn("created_at","createdAt").execute(),await t.schema.alterTable("connections").renameColumn("updated_at","updatedAt").execute(),await t.schema.alterTable("connections").renameColumn("organization_id","organizationId").execute(),await t.schema.alterTable("connections").renameColumn("connection_type","connectionType").execute(),await t.schema.alterTable("connections").renameColumn("connection_url","connectionUrl").execute(),await t.schema.alterTable("connections").renameColumn("connection_token","connectionToken").execute(),await t.schema.alterTable("connections").renameColumn("connection_headers","connectionHeaders").execute(),await t.schema.alterTable("connections").renameColumn("oauth_config","oauthConfig").execute(),await t.schema.alterTable("connections").renameColumn("app_name","appName").execute(),await t.schema.alterTable("connections").renameColumn("app_id","appId").execute()}var Dt={};_(Dt,{up:()=>_x,down:()=>ix});async function _x(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId","createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}async function ix(t){await t.schema.createTable("organization_settings_new").addColumn("organizationId","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("modelsBindingConnectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("createdAt","text",(n)=>n.notNull()).addColumn("updatedAt","text",(n)=>n.notNull()).execute(),await t.insertInto("organization_settings_new").columns(["organizationId","modelsBindingConnectionId","createdAt","updatedAt"]).expression((n)=>n.selectFrom("organization_settings").select(["organizationId",n.val(null).as("modelsBindingConnectionId"),"createdAt","updatedAt"])).execute(),await t.schema.dropTable("organization_settings").execute(),await t.schema.alterTable("organization_settings_new").renameTo("organization_settings").execute()}var Lt={};_(Lt,{up:()=>xx,down:()=>mx});async function xx(t){await t.schema.alterTable("connections").addColumn("configuration_state","text").execute(),await t.schema.alterTable("connections").addColumn("configuration_scopes","text").execute()}async function mx(t){await t.schema.alterTable("connections").dropColumn("configuration_state").execute(),await t.schema.alterTable("connections").dropColumn("configuration_scopes").execute()}var $t={};_($t,{up:()=>ax,down:()=>yx});import{sql as ex}from"kysely";async function ax(t){await t.schema.alterTable("organization_settings").addColumn("sidebar_items",ex`text`).execute()}async function yx(t){await t.schema.alterTable("organization_settings").dropColumn("sidebar_items").execute()}var Wt={};_(Wt,{up:()=>Tx,down:()=>ox});async function Tx(t){await t.schema.createTable("monitoring_logs").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("connection_title","text",(n)=>n.notNull()).addColumn("tool_name","text",(n)=>n.notNull()).addColumn("input","text",(n)=>n.notNull()).addColumn("output","text",(n)=>n.notNull()).addColumn("is_error","integer",(n)=>n.notNull()).addColumn("error_message","text").addColumn("duration_ms","integer",(n)=>n.notNull()).addColumn("timestamp","text",(n)=>n.notNull()).addColumn("user_id","text").addColumn("request_id","text",(n)=>n.notNull()).execute(),await t.schema.createIndex("monitoring_logs_org_timestamp").on("monitoring_logs").columns(["organization_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_connection_timestamp").on("monitoring_logs").columns(["connection_id","timestamp"]).execute(),await t.schema.createIndex("monitoring_logs_is_error").on("monitoring_logs").columns(["organization_id","is_error","timestamp"]).execute()}async function ox(t){await t.schema.dropIndex("monitoring_logs_is_error").execute(),await t.schema.dropIndex("monitoring_logs_connection_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_org_timestamp").execute(),await t.schema.dropTable("monitoring_logs").execute()}var Rt={};_(Rt,{up:()=>Cx,down:()=>Nx});import{sql as G}from"kysely";async function Cx(t){await t.schema.createTable("events").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("type","text",(n)=>n.notNull()).addColumn("source","text",(n)=>n.notNull()).addColumn("specversion","text",(n)=>n.notNull().defaultTo("1.0")).addColumn("subject","text").addColumn("time","text",(n)=>n.notNull()).addColumn("datacontenttype","text",(n)=>n.notNull().defaultTo("application/json")).addColumn("dataschema","text").addColumn("data","text").addColumn("cron","varchar(255)").addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_subscriptions").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("publisher","text").addColumn("event_type","text",(n)=>n.notNull()).addColumn("filter","text").addColumn("enabled","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createTable("event_deliveries").addColumn("id","text",(n)=>n.primaryKey()).addColumn("event_id","text",(n)=>n.notNull()).addColumn("subscription_id","text",(n)=>n.notNull().references("event_subscriptions.id").onDelete("cascade")).addColumn("status","text",(n)=>n.notNull().defaultTo("pending")).addColumn("attempts","integer",(n)=>n.notNull().defaultTo(0)).addColumn("last_error","text").addColumn("delivered_at","text").addColumn("next_retry_at","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(G`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_events_org_status").on("events").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_events_source").on("events").columns(["source"]).execute(),await t.schema.createIndex("idx_events_type").on("events").columns(["type"]).execute(),await t.schema.createIndex("idx_events_retry").on("events").columns(["status","next_retry_at"]).execute(),await t.schema.createIndex("idx_subscriptions_connection").on("event_subscriptions").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_subscriptions_type").on("event_subscriptions").columns(["event_type"]).execute(),await t.schema.createIndex("idx_subscriptions_org_enabled").on("event_subscriptions").columns(["organization_id","enabled"]).execute(),await t.schema.createIndex("idx_subscriptions_unique").on("event_subscriptions").columns(["connection_id","event_type","publisher","filter"]).unique().execute(),await t.schema.createIndex("idx_deliveries_event").on("event_deliveries").columns(["event_id"]).execute(),await t.schema.createIndex("idx_deliveries_subscription_status").on("event_deliveries").columns(["subscription_id","status"]).execute(),await t.schema.createIndex("idx_deliveries_retry").on("event_deliveries").columns(["status","next_retry_at"]).execute()}async function Nx(t){await t.schema.dropIndex("idx_deliveries_retry").execute(),await t.schema.dropIndex("idx_deliveries_subscription_status").execute(),await t.schema.dropIndex("idx_deliveries_event").execute(),await t.schema.dropIndex("idx_subscriptions_unique").execute(),await t.schema.dropIndex("idx_subscriptions_org_enabled").execute(),await t.schema.dropIndex("idx_subscriptions_type").execute(),await t.schema.dropIndex("idx_subscriptions_connection").execute(),await t.schema.dropIndex("idx_events_retry").execute(),await t.schema.dropIndex("idx_events_type").execute(),await t.schema.dropIndex("idx_events_source").execute(),await t.schema.dropIndex("idx_events_org_status").execute(),await t.schema.dropTable("event_deliveries").execute(),await t.schema.dropTable("event_subscriptions").execute(),await t.schema.dropTable("events").execute()}var Xt={};_(Xt,{up:()=>Kx,down:()=>fx});import{sql as Ex}from"kysely";async function Kx(t){await t.schema.dropTable("audit_logs").ifExists().execute()}async function fx(t){await t.schema.createTable("audit_logs").ifNotExists().addColumn("id","text",(n)=>n.primaryKey()).addColumn("organizationId","text").addColumn("userId","text",(n)=>n.references("user.id").onDelete("set null")).addColumn("connectionId","text",(n)=>n.references("connections.id").onDelete("set null")).addColumn("toolName","text",(n)=>n.notNull()).addColumn("allowed","integer",(n)=>n.notNull()).addColumn("duration","integer").addColumn("timestamp","text",(n)=>n.notNull().defaultTo(Ex`CURRENT_TIMESTAMP`)).addColumn("requestMetadata","text").execute(),await t.schema.createIndex("idx_audit_logs_organizationId").on("audit_logs").column("organizationId").execute(),await t.schema.createIndex("idx_audit_logs_userId").on("audit_logs").column("userId").execute(),await t.schema.createIndex("idx_audit_logs_timestamp").on("audit_logs").column("timestamp").execute()}var Qt={};_(Qt,{up:()=>wx,down:()=>px});import{sql as d}from"kysely";async function wx(t){await t.schema.createTable("gateways").addColumn("id","text",(n)=>n.primaryKey()).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("title","text",(n)=>n.notNull()).addColumn("description","text").addColumn("tool_selection_strategy","text").addColumn("status","text",(n)=>n.notNull().defaultTo("active")).addColumn("is_default","integer",(n)=>n.notNull().defaultTo(0)).addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("updated_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).addColumn("created_by","text",(n)=>n.notNull().references("user.id").onDelete("cascade")).addColumn("updated_by","text").execute(),await t.schema.createTable("gateway_connections").addColumn("id","text",(n)=>n.primaryKey()).addColumn("gateway_id","text",(n)=>n.notNull().references("gateways.id").onDelete("cascade")).addColumn("connection_id","text",(n)=>n.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("created_at","text",(n)=>n.notNull().defaultTo(d`CURRENT_TIMESTAMP`)).execute(),await t.schema.createIndex("idx_gateways_org").on("gateways").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_gateways_org_status").on("gateways").columns(["organization_id","status"]).execute(),await d`CREATE UNIQUE INDEX idx_gateways_default_per_org ON gateways (organization_id) WHERE is_default = 1`.execute(t),await t.schema.createIndex("idx_gateway_connections_gateway").on("gateway_connections").columns(["gateway_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_connection").on("gateway_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_gateway_connections_unique").on("gateway_connections").columns(["gateway_id","connection_id"]).unique().execute()}async function px(t){await t.schema.dropIndex("idx_gateway_connections_unique").execute(),await t.schema.dropIndex("idx_gateway_connections_connection").execute(),await t.schema.dropIndex("idx_gateway_connections_gateway").execute(),await t.schema.dropIndex("idx_gateways_default_per_org").execute(),await t.schema.dropIndex("idx_gateways_org_status").execute(),await t.schema.dropIndex("idx_gateways_org").execute(),await t.schema.dropTable("gateway_connections").execute(),await t.schema.dropTable("gateways").execute()}var Zt={};_(Zt,{up:()=>zx,down:()=>Px});async function zx(t){await t.schema.alterTable("gateways").addColumn("icon","text").execute()}async function Px(t){await t.schema.alterTable("gateways").dropColumn("icon").execute()}var Ft={};_(Ft,{up:()=>Ux,down:()=>Jx});import{sql as b}from"kysely";async function Ux(t){await t.schema.alterTable("gateways").addColumn("tool_selection_mode","text",(n)=>n.notNull().defaultTo("inclusion")).execute(),await b`
3
3
  UPDATE gateways
4
4
  SET tool_selection_mode = CASE
5
5
  WHEN tool_selection_strategy = 'exclusion' THEN 'exclusion'
@@ -78,7 +78,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
78
78
  created_at, updated_at, created_by, NULL, 'inclusion'
79
79
  FROM connections
80
80
  WHERE connection_type = 'VIRTUAL'
81
- `.execute(t),await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await t.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await E`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(t),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var rt={};_(rt,{up:()=>vx,down:()=>qx});async function vx(t){await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function qx(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var gt={};_(gt,{up:()=>sx,down:()=>lx});import{sql as J}from"kysely";async function sx(t){if(await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(J`CURRENT_TIMESTAMP`)).execute(),await J`
81
+ `.execute(t),await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("child_connection_id","connection_id").execute(),await t.schema.alterTable("connection_aggregations").renameColumn("parent_connection_id","virtual_mcp_id").execute(),await t.schema.alterTable("connection_aggregations").renameTo("virtual_mcp_connections").execute(),await E`DELETE FROM connections WHERE connection_type = 'VIRTUAL'`.execute(t),await t.schema.createIndex("idx_virtual_mcps_org").on("virtual_mcps").columns(["organization_id"]).execute(),await t.schema.createIndex("idx_virtual_mcps_org_status").on("virtual_mcps").columns(["organization_id","status"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_virtual_mcp").on("virtual_mcp_connections").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_connection").on("virtual_mcp_connections").columns(["connection_id"]).execute(),await t.schema.createIndex("idx_virtual_mcp_connections_unique").on("virtual_mcp_connections").columns(["virtual_mcp_id","connection_id"]).unique().execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}var rt={};_(rt,{up:()=>vx,down:()=>qx});async function vx(t){await t.schema.alterTable("monitoring_logs").addColumn("virtual_mcp_id","text").execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_id").on("monitoring_logs").columns(["virtual_mcp_id"]).execute(),await t.schema.createIndex("monitoring_logs_virtual_mcp_timestamp").on("monitoring_logs").columns(["virtual_mcp_id","timestamp"]).execute()}async function qx(t){await t.schema.dropIndex("monitoring_logs_virtual_mcp_timestamp").execute(),await t.schema.dropIndex("monitoring_logs_virtual_mcp_id").execute(),await t.schema.alterTable("monitoring_logs").dropColumn("virtual_mcp_id").execute()}var gt={};_(gt,{up:()=>sx,down:()=>lx});import{sql as U}from"kysely";async function sx(t){if(await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("restrict")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await U`
82
82
  INSERT INTO connection_aggregations_new (
83
83
  id, parent_connection_id, child_connection_id,
84
84
  selected_tools, selected_resources, selected_prompts, created_at
@@ -87,7 +87,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
87
87
  id, parent_connection_id, child_connection_id,
88
88
  selected_tools, selected_resources, selected_prompts, created_at
89
89
  FROM connection_aggregations
90
- `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await J`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await J`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await J`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function lx(t){if(await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(J`CURRENT_TIMESTAMP`)).execute(),await J`
90
+ `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await U`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await U`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await U`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}async function lx(t){if(await t.schema.dropIndex("idx_conn_agg_unique").execute(),await t.schema.dropIndex("idx_conn_agg_child").execute(),await t.schema.dropIndex("idx_conn_agg_parent").execute(),await t.schema.createTable("connection_aggregations_new").addColumn("id","text",(u)=>u.primaryKey()).addColumn("parent_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("child_connection_id","text",(u)=>u.notNull().references("connections.id").onDelete("cascade")).addColumn("selected_tools","text").addColumn("selected_resources","text").addColumn("selected_prompts","text").addColumn("created_at","text",(u)=>u.notNull().defaultTo(U`CURRENT_TIMESTAMP`)).execute(),await U`
91
91
  INSERT INTO connection_aggregations_new (
92
92
  id, parent_connection_id, child_connection_id,
93
93
  selected_tools, selected_resources, selected_prompts, created_at
@@ -96,7 +96,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
96
96
  id, parent_connection_id, child_connection_id,
97
97
  selected_tools, selected_resources, selected_prompts, created_at
98
98
  FROM connection_aggregations
99
- `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await J`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await J`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await J`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var vt={};_(vt,{up:()=>dx,down:()=>bx});import{sql as Vt}from"kysely";async function dx(t){await Vt`
99
+ `.execute(t),await t.schema.dropTable("connection_aggregations").execute(),await t.schema.alterTable("connection_aggregations_new").renameTo("connection_aggregations").execute(),await U`SELECT current_database()`.execute(t).then(()=>!0).catch(()=>!1))await U`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_parent_connection_id_fkey TO conn_agg_parent_fk`.execute(t),await U`ALTER TABLE connection_aggregations RENAME CONSTRAINT connection_aggregations_new_child_connection_id_fkey TO conn_agg_child_fk`.execute(t);await t.schema.createIndex("idx_conn_agg_parent").on("connection_aggregations").columns(["parent_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_child").on("connection_aggregations").columns(["child_connection_id"]).execute(),await t.schema.createIndex("idx_conn_agg_unique").on("connection_aggregations").columns(["parent_connection_id","child_connection_id"]).unique().execute()}var vt={};_(vt,{up:()=>dx,down:()=>bx});import{sql as Vt}from"kysely";async function dx(t){await Vt`
100
100
  UPDATE connections
101
101
  SET connection_url = connection_url || '/management',
102
102
  tools = NULL,
@@ -319,7 +319,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
319
319
  WHERE connection_type = 'VIRTUAL'
320
320
  AND metadata IS NOT NULL
321
321
  AND metadata LIKE '%vmMap%'
322
- `.execute(t);for(let u of n.rows){if(!u.metadata)continue;let x;try{x=JSON.parse(u.metadata)}catch{continue}let i=x.vmMap;if(!i||typeof i!=="object")continue;let m=!1,a={};for(let[y,T]of Object.entries(i)){if(!T||typeof T!=="object"){m=!0;continue}let o={};for(let[N,C]of Object.entries(T)){if(!C||typeof C!=="object"){m=!0;continue}let P=C.runnerKind;if(P!==void 0&&!oa.has(P)){m=!0;continue}o[N]=C}if(Object.keys(o).length>0)a[y]=o;else m=!0}if(!m)continue;x.vmMap=a;let e=JSON.stringify(x);await ai`
322
+ `.execute(t);for(let u of n.rows){if(!u.metadata)continue;let x;try{x=JSON.parse(u.metadata)}catch{continue}let i=x.vmMap;if(!i||typeof i!=="object")continue;let m=!1,a={};for(let[y,T]of Object.entries(i)){if(!T||typeof T!=="object"){m=!0;continue}let o={};for(let[N,C]of Object.entries(T)){if(!C||typeof C!=="object"){m=!0;continue}let z=C.runnerKind;if(z!==void 0&&!oa.has(z)){m=!0;continue}o[N]=C}if(Object.keys(o).length>0)a[y]=o;else m=!0}if(!m)continue;x.vmMap=a;let e=JSON.stringify(x);await ai`
323
323
  UPDATE "connections"
324
324
  SET metadata = ${e}
325
325
  WHERE id = ${u.id}
@@ -829,24 +829,24 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
829
829
  WHERE connection_type = 'VIRTUAL'
830
830
  AND metadata IS NOT NULL
831
831
  AND metadata LIKE ${"%"+mt+"%"}
832
- `.execute(t);for(let u of n.rows){if(!u.metadata)continue;let x;try{x=JSON.parse(u.metadata)}catch{continue}let i=x.sandboxMap;if(!i||typeof i!=="object")continue;let m=!1,a={};for(let[y,T]of Object.entries(i)){if(!T||typeof T!=="object"){m=!0;continue}let o={};for(let[N,C]of Object.entries(T)){if(!C||typeof C!=="object"){m=!0;continue}if(mt in C){m=!0;let P={...C};if(delete P[mt],Object.keys(P).length>0)o[N]=P}else o[N]=C}if(Object.keys(o).length>0)a[y]=o;else m=!0}if(!m)continue;x.sandboxMap=a;let e=JSON.stringify(x);await pu`
832
+ `.execute(t);for(let u of n.rows){if(!u.metadata)continue;let x;try{x=JSON.parse(u.metadata)}catch{continue}let i=x.sandboxMap;if(!i||typeof i!=="object")continue;let m=!1,a={};for(let[y,T]of Object.entries(i)){if(!T||typeof T!=="object"){m=!0;continue}let o={};for(let[N,C]of Object.entries(T)){if(!C||typeof C!=="object"){m=!0;continue}if(mt in C){m=!0;let z={...C};if(delete z[mt],Object.keys(z).length>0)o[N]=z}else o[N]=C}if(Object.keys(o).length>0)a[y]=o;else m=!0}if(!m)continue;x.sandboxMap=a;let e=JSON.stringify(x);await pu`
833
833
  UPDATE "connections"
834
834
  SET metadata = ${e}
835
835
  WHERE id = ${u.id}
836
- `.execute(t)}}async function da(t){}var Pu={};_(Pu,{up:()=>ba,down:()=>ty});import{sql as et}from"kysely";async function ba(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await et`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await et`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await et`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await et`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function ty(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var Uu={};_(Uu,{up:()=>ny,down:()=>uy});async function ny(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function uy(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Ju={};_(Ju,{up:()=>_y,down:()=>iy});async function _y(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function iy(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var ju={};_(ju,{up:()=>xy,down:()=>my});async function xy(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function my(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var Du={};_(Du,{up:()=>ey,down:()=>ay});async function ey(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function ay(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var Lu={};_(Lu,{up:()=>yy,down:()=>Ty});async function yy(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Ty(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Wu={};_(Wu,{up:()=>Cy,down:()=>Ny});import{sql as j}from"kysely";var w="cluster",p="agent-sandbox";function Y(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function $u(t,n,u){if(!Y(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:u}}function at(t){if(!Y(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==w&&t.sandboxProviderKind!==p&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!Y(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let u=t.startedWith[n];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function oy(t,n,u){if(!Y(t))return null;let x=!1,i={};for(let[m,a]of Object.entries(t)){if(!Y(a)){i[m]=a;continue}let e={};for(let[y,T]of Object.entries(a)){if(!Y(T)){e[y]=T;continue}let o={};for(let[N,C]of Object.entries(T)){if(N===n){if(x=!0,!(u in T))o[u]=$u(C,n,u);else if(!at(T[u])&&at(C))o[u]=$u(C,n,u);continue}let P=$u(C,n,u);if(P!==C)x=!0;if(N===u&&N in o&&at(o[N])&&!at(P))continue;o[N]=P}e[y]=o}i[m]=e}return{sandboxMap:i,changed:x}}async function Ni(t,n,u){let x=await j`
836
+ `.execute(t)}}async function da(t){}var Pu={};_(Pu,{up:()=>ba,down:()=>ty});import{sql as et}from"kysely";async function ba(t){await t.schema.createTable("thread_message_parts").addColumn("id","text",(n)=>n.primaryKey()).addColumn("seq","integer",(n)=>n.notNull()).addColumn("org_id","text",(n)=>n.notNull()).addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("run_id","text",(n)=>n.notNull()).addColumn("message_id","text",(n)=>n.notNull()).addColumn("role","text",(n)=>n.notNull()).addColumn("kind","text",(n)=>n.notNull()).addColumn("payload","jsonb",(n)=>n.notNull()).addColumn("payload_ref","text").addColumn("metadata","jsonb").addColumn("created_at","text",(n)=>n.notNull()).execute(),await et`CREATE UNIQUE INDEX idx_tmp_run_seq ON thread_message_parts (run_id, seq)`.execute(t),await et`CREATE INDEX idx_tmp_thread_created_id ON thread_message_parts (thread_id, created_at, id)`.execute(t),await et`CREATE INDEX idx_tmp_finish_anchor ON thread_message_parts (thread_id, created_at DESC, id DESC) WHERE kind = 'finish'`.execute(t),await et`CREATE INDEX idx_tmp_message ON thread_message_parts (thread_id, message_id)`.execute(t),await t.schema.alterTable("threads").addColumn("message_storage_version","integer",(n)=>n.notNull().defaultTo(1)).addColumn("last_progress_at","timestamptz").execute()}async function ty(t){await t.schema.alterTable("threads").dropColumn("message_storage_version").dropColumn("last_progress_at").execute(),await t.schema.dropTable("thread_message_parts").ifExists().execute()}var Uu={};_(Uu,{up:()=>ny,down:()=>uy});async function ny(t){await t.schema.alterTable("threads").addColumn("run_fence_token","text").execute()}async function uy(t){await t.schema.alterTable("threads").dropColumn("run_fence_token").execute()}var Ju={};_(Ju,{up:()=>_y,down:()=>iy});async function _y(t){await t.schema.alterTable("threads").addColumn("link_transport","text").execute()}async function iy(t){await t.schema.alterTable("threads").dropColumn("link_transport").execute()}var ju={};_(ju,{up:()=>xy,down:()=>my});async function xy(t){await t.schema.alterTable("threads").addColumn("cancel_requested_at","timestamptz").execute()}async function my(t){await t.schema.alterTable("threads").dropColumn("cancel_requested_at").execute()}var Du={};_(Du,{up:()=>ey,down:()=>ay});async function ey(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}async function ay(t){await t.schema.dropTable("thread_observations").execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}var Lu={};_(Lu,{up:()=>yy,down:()=>Ty});async function yy(t){await t.schema.dropTable("thread_observations").ifExists().execute(),await t.schema.alterTable("threads").dropColumn("is_observation").execute(),await t.schema.alterTable("organization_settings").dropColumn("observational_config").execute()}async function Ty(t){await t.schema.alterTable("organization_settings").addColumn("observational_config","text").execute(),await t.schema.alterTable("threads").addColumn("is_observation","boolean",(n)=>n.notNull().defaultTo(!1)).execute(),await t.schema.createTable("thread_observations").addColumn("thread_id","text",(n)=>n.notNull().references("threads.id").onDelete("cascade")).addColumn("observer_id","text",(n)=>n.notNull()).addColumn("last_observed_at","text",(n)=>n.notNull()).addPrimaryKeyConstraint("thread_observations_pkey",["thread_id","observer_id"]).execute()}var Wu={};_(Wu,{up:()=>Cy,down:()=>Ny});import{sql as J}from"kysely";var w="cluster",p="agent-sandbox";function Y(t){return t!==null&&typeof t==="object"&&!Array.isArray(t)}function $u(t,n,u){if(!Y(t))return t;if(t.sandboxProviderKind!==n)return t;return{...t,sandboxProviderKind:u}}function at(t){if(!Y(t))return!1;if(typeof t.sandboxHandle!=="string")return!1;if(t.previewUrl!==null&&typeof t.previewUrl!=="string")return!1;if(t.sandboxApiUrl!==void 0&&t.sandboxApiUrl!==null&&typeof t.sandboxApiUrl!=="string")return!1;if(t.sandboxProviderKind!==void 0&&t.sandboxProviderKind!==w&&t.sandboxProviderKind!==p&&t.sandboxProviderKind!=="user-desktop")return!1;if(t.createdAt!==void 0&&typeof t.createdAt!=="number")return!1;if(t.startedWith!==void 0){if(!Y(t.startedWith))return!1;for(let n of["packageManager","port","path"]){let u=t.startedWith[n];if(u!==void 0&&u!==null&&typeof u!=="string")return!1}}return!0}function oy(t,n,u){if(!Y(t))return null;let x=!1,i={};for(let[m,a]of Object.entries(t)){if(!Y(a)){i[m]=a;continue}let e={};for(let[y,T]of Object.entries(a)){if(!Y(T)){e[y]=T;continue}let o={};for(let[N,C]of Object.entries(T)){if(N===n){if(x=!0,!(u in T))o[u]=$u(C,n,u);else if(!at(T[u])&&at(C))o[u]=$u(C,n,u);continue}let z=$u(C,n,u);if(z!==C)x=!0;if(N===u&&N in o&&at(o[N])&&!at(z))continue;o[N]=z}e[y]=o}i[m]=e}return{sandboxMap:i,changed:x}}async function Ni(t,n,u){let x=await J`
837
837
  SELECT id, metadata FROM connections
838
838
  WHERE connection_type = 'VIRTUAL'
839
839
  AND metadata IS NOT NULL
840
840
  AND metadata LIKE ${"%"+n+"%"}
841
- `.execute(t);for(let i of x.rows){if(!i.metadata)continue;let m;try{m=JSON.parse(i.metadata)}catch{continue}let a=oy(m.sandboxMap,n,u);if(!a?.changed)continue;m.sandboxMap=a.sandboxMap,await j`
841
+ `.execute(t);for(let i of x.rows){if(!i.metadata)continue;let m;try{m=JSON.parse(i.metadata)}catch{continue}let a=oy(m.sandboxMap,n,u);if(!a?.changed)continue;m.sandboxMap=a.sandboxMap,await J`
842
842
  UPDATE connections
843
843
  SET metadata = ${JSON.stringify(m)}
844
844
  WHERE id = ${i.id}
845
- `.execute(t)}}async function Cy(t){await j`
845
+ `.execute(t)}}async function Cy(t){await J`
846
846
  UPDATE threads
847
847
  SET sandbox_provider_kind = ${p}
848
848
  WHERE sandbox_provider_kind = ${w}
849
- `.execute(t),await j`
849
+ `.execute(t),await J`
850
850
  UPDATE sandbox_runner_state canonical
851
851
  SET handle = legacy.handle,
852
852
  state = legacy.state,
@@ -857,7 +857,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
857
857
  AND canonical.user_id = legacy.user_id
858
858
  AND canonical.project_ref = legacy.project_ref
859
859
  AND legacy.updated_at > canonical.updated_at
860
- `.execute(t),await j`
860
+ `.execute(t),await J`
861
861
  DELETE FROM sandbox_runner_state legacy
862
862
  WHERE legacy.sandbox_provider_kind = ${w}
863
863
  AND EXISTS (
@@ -867,15 +867,15 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
867
867
  AND canonical.project_ref = legacy.project_ref
868
868
  AND canonical.sandbox_provider_kind = ${p}
869
869
  )
870
- `.execute(t),await j`
870
+ `.execute(t),await J`
871
871
  UPDATE sandbox_runner_state
872
872
  SET sandbox_provider_kind = ${p}
873
873
  WHERE sandbox_provider_kind = ${w}
874
- `.execute(t),await Ni(t,w,p)}async function Ny(t){await j`
874
+ `.execute(t),await Ni(t,w,p)}async function Ny(t){await J`
875
875
  UPDATE threads
876
876
  SET sandbox_provider_kind = ${w}
877
877
  WHERE sandbox_provider_kind = ${p}
878
- `.execute(t),await j`
878
+ `.execute(t),await J`
879
879
  UPDATE sandbox_runner_state legacy
880
880
  SET handle = canonical.handle,
881
881
  state = canonical.state,
@@ -886,7 +886,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
886
886
  AND legacy.user_id = canonical.user_id
887
887
  AND legacy.project_ref = canonical.project_ref
888
888
  AND canonical.updated_at > legacy.updated_at
889
- `.execute(t),await j`
889
+ `.execute(t),await J`
890
890
  DELETE FROM sandbox_runner_state canonical
891
891
  WHERE canonical.sandbox_provider_kind = ${p}
892
892
  AND EXISTS (
@@ -896,7 +896,7 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
896
896
  AND legacy.project_ref = canonical.project_ref
897
897
  AND legacy.sandbox_provider_kind = ${w}
898
898
  )
899
- `.execute(t),await j`
899
+ `.execute(t),await J`
900
900
  UPDATE sandbox_runner_state
901
901
  SET sandbox_provider_kind = ${w}
902
902
  WHERE sandbox_provider_kind = ${p}
@@ -1083,19 +1083,19 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
1083
1083
  BEFORE INSERT ON connection_aggregations
1084
1084
  FOR EACH ROW
1085
1085
  EXECUTE FUNCTION enforce_repo_github_child_single_parent();
1086
- `.execute(t)}var Y_={};_(Y_,{up:()=>Ro,down:()=>Xo});import{sql as Wi}from"kysely";async function Ro(t){await t.schema.createTable("task_board_comments").addColumn("id","text",(n)=>n.primaryKey()).addColumn("task_board_item_id","text",(n)=>n.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("parent_id","text",(n)=>n.references("task_board_comments.id").onDelete("cascade")).addColumn("author_id","text",(n)=>n.notNull()).addColumn("body","text",(n)=>n.notNull()).addColumn("resolved","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Wi`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Wi`now()`)).execute(),await t.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function Xo(t){await t.schema.dropIndex("idx_task_board_comments_item").execute(),await t.schema.dropTable("task_board_comments").execute()}var B_={};_(B_,{up:()=>Qo,down:()=>Zo});import{sql as Ri}from"kysely";async function Qo(t){await t.schema.createTable("task_quota_claims").addColumn("task_board_item_id","text",(n)=>n.primaryKey().references("task_board_items.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("period_key","text",(n)=>n.notNull()).addColumn("run_count","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ri`now()`)).execute(),await t.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await t.schema.createTable("subsidized_gateway_keys").addColumn("organization_id","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("encrypted_key","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ri`now()`)).execute()}async function Zo(t){await t.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await t.schema.dropTable("task_quota_claims").ifExists().execute()}var Fo={"001-initial-schema":Ut,"002-organization-settings":Jt,"003-connection-schema-align":jt,"004-remove-models-binding":Dt,"005-connection-configuration":Lt,"006-add-views-to-settings":$t,"007-monitoring-logs":Wt,"008-event-bus":Rt,"009-drop-audit-logs":Xt,"010-gateways":Qt,"011-gateway-icon":Zt,"012-gateway-tool-selection-mode":Ft,"013-monitoring-user-agent-gateway":Mt,"014-gateway-resources-prompts":Ht,"015-monitoring-properties":Yt,"016-downstream-token-client-info":Bt,"017-downstream-token-remove-userid":kt,"018-drop-gateway-tool-selection-strategy":ct,"019-remove-gateway-is-default":Gt,"020-enabled-plugins":At,"021-threads":St,"022-rename-gateway-to-virtual-mcp":Ot,"023-optimize-thread-indexes":It,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":rt,"026-restrict-child-connection-delete":gt,"027-update-management-mcp-url":vt,"028-update-management-mcp-to-self":st,"029-add-updated-by-to-connections":lt,"030-member-tags":dt,"031-add-dependency-mode":bt,"032-projects":tn,"033-thread-status":nn,"034-monitoring-dashboards":un,"035-project-connections":_n,"036-update-registry-url":xn,"037-ai-provider-keys":mn,"038-oauth-pkce-states":en,"039-automations":an,"040-replace-next-run-at-with-last-run-at":yn,"041-ai-provider-keys-unique-constraint":Tn,"042-rename-mesh-mcp-to-cms-mcp":on,"043-rename-cms-mcp-to-deco-cms":Cn,"044-drop-connections-tools-column":Nn,"045-thread-context-start-message":En,"046-remove-object-storage-plugin":fn,"047-add-next-run-at":wn,"048-merge-projects-agents":zn,"049-remove-org-admin-projects":Pn,"050-durable-agent-runs":Un,"051-org-sso":jn,"052-thread-agent-ids":Dn,"053-registry-config":Ln,"054-connection-slug":Wn,"055-spaces":Rn,"056-automation-project-scope":Xn,"057-thread-virtual-mcp-id":Qn,"058-trigger-callback-tokens":Zn,"059-kv":Fn,"060-member-index":Mn,"061-downstream-token-connection-index":Hn,"062-private-registry":Yn,"063-event-subscriptions-enabled-boolean":Bn,"064-brand-context":kn,"065-organization-domains":cn,"066-brand-context-structured":Gn,"067-threads-metadata":An,"068-threads-branch":Sn,"069-sandbox-runner-state":On,"070-model-categories":In,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":rn,"073-backfill-basic-usage-roles":gn,"074-sandbox-runner-state-handle-nonunique":Vn,"075-thread-inflight-async-jobs":vn,"076-automations-drop-agent-json":qn,"077-tier-only-model-selection":ln,"078-automation-tool-call-kind":dn,"079-strip-legacy-freestyle-vm-map-entries":bn,"080-async-research-jobs":tu,"081-async-research-jobs-result-content":nu,"082-secrets":uu,"083-thread-run-locally":_u,"084-drop-host-sandbox-rows":iu,"085-rename-runner-kind":xu,"086-thread-pins-and-vm-map-rekey":mu,"087-fix-vm-map-rekey":eu,"088-purge-cli-activate-keys":au,"089-rename-remote-user-to-desktop":yu,"090-automation-webhook-triggers":Tu,"091-organization-domains-allow-multi":ou,"092-sandbox-naming-uniformization":Cu,"093-backfill-global-search-basic-usage":Nu,"094-org-file-configs":Ku,"095-remove-automation-tool-call-kind":fu,"096-org-file-configs-public-url-base":wu,"097-drop-local-docker-sandbox-state":zu,"098-thread-message-parts":Pu,"099-run-fence":Uu,"100-link-transport":Ju,"101-cancel-requested-at":ju,"102-observational-agent":Du,"103-revert-observational-agent":Lu,"104-agent-sandbox-provider-kind":Wu,"105-org-fs":Ru,"106-automation-tools":Xu,"107-org-fs-public-org":Qu,"108-automation-max-agent-steps":Zu,"109-thread-message-parts-per-message-seq":Fu,"110-backfill-ghs-token-expiry":Mu,"111-org-fs-thread-id":Hu,"112-org-file-configs-credential-type":Yu,"113-thread-failure-reason":Bu,"114-run-acked-seq":ku,"115-thread-projected-seq":cu,"116-org-sites":Gu,"117-org-file-configs-site-slug":Au,"118-organization-domains-multi-verify":Su,"119-organization-join-requests":Ou,"120-org-fs-read-public":Iu,"121-org-fs-share-password":hu,"122-split-web-research-tier":Vu,"123-connection-credential-vault":vu,"124-drop-thread-projected-seq":qu,"125-github-child-single-parent":su,"126-task-board":du,"127-task-board-due-date":bu,"128-reports-only":t_,"129-task-board-assigned-by":n_,"130-task-board-thread-id":u_,"131-task-board-thread-link-cascade":__,"132-task-board-item-prs":i_,"133-dedupe-duplicate-members":x_,"134-drop-task-board-enabled":m_,"135-task-board-item-fk-cascade":e_,"136-task-board-import-idempotency":a_,"137-agent-sandbox-runner-state":y_,"138-agent-sandbox-sessions":T_,"139-organization-billing":o_,"140-seat-change-log":C_,"141-benefits-sync-pending":N_,"142-stripe-event-watermark":E_,"143-armed-report-url":K_,"144-benefits-pending-index":f_,"145-user-model-preferences":w_,"146-organization-main-agent":p_,"147-drop-agent-sandbox-tables":z_,"148-org-flags":P_,"149-task-board-item-sort-order":U_,"150-task-board-activity":J_,"151-task-board-tags":D_,"152-repair-connection-slug":$_,"153-task-board-latest-assistant-part-index":W_,"154-task-board-qa-activity":X_,"155-task-board-review-claims":Q_,"156-task-board-conflict-activity":F_,"157-drop-seat-billing":M_,"158-drop-github-child-single-parent":H_,"159-task-board-comments":Y_,"160-task-quota-billing":B_},k_=Fo;import{getMigrations as NC}from"better-auth/db";import{sso as EC}from"@better-auth/sso";import{organization as KC}from"@decocms/better-auth/plugins";import{admin as fC,apiKey as wC,jwt as pC,magicLink as zC,mcp as PC,openAPI as UC}from"better-auth/plugins";import{emailOTP as JC}from"better-auth/plugins/email-otp";import{Kysely as mC,PostgresDialect as Gi}from"kysely";import{Pool as Ai}from"pg";import{homedir as Mo}from"os";var Ho=new Set(["all","worker","api"]);function Yo(t){let n=(t??"").trim();return Ho.has(n)?n:"all"}var Bo=new Set(["production","development","test"]);function ko(t){let n=(t??"").trim();return Bo.has(n)?n:"development"}function $(t){return t==="true"||t==="1"}function co(t){if(t===void 0||t==="")return;return $(t)}function c_(t,n,u){if(n===void 0||n==="")return;let x=Number(n);if(!Number.isSafeInteger(x)||x<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&x>u)throw Error(`${t} must be at most ${u}`);return x}function z(t,n,u,x){return c_(t,n,x)??u}function Go(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Xi(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function Ao(t){return t===void 0||t===""||t==="true"||t==="1"}function v(t,n){return t||n}var So=new Set(["agent-sandbox","user-desktop"]);function Oo(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!So.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Qi(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Mo()}/deco`,x=t.localMode,i=t.nodeEnv||ko(n.NODE_ENV),m=n.NATS_URL||"nats://localhost:4222",a=co(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:i,port:z("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:v(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:z("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:z("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:v(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:x,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:c_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:z("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeOrgPriceId:n.STRIPE_ORG_PRICE_ID,topupFeePercent:z("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:$(n.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:z("STUDIO_FREE_TASKS",n.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:z("STUDIO_MONTHLY_TASKS",n.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:z("STUDIO_MAX_RUNS_PER_TASK",n.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Go(n.MCP_CACHE_ENABLED,i!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:z("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:z("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:Ao(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:c_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:Yo(v(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:Oo(n.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:$(n.SANDBOX_STICKY_HEAD_REF),sandboxReleaseOnRunEndEnabled:$(n.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:z("SANDBOX_RELEASE_GRACE_MS",n.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(n.REPORTS_INTERNAL_API_KEY,n.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Xi(n.DATABASE_URL),externalNatsUrl:Xi(m),skipMigrations:t.skipMigrations}}var ft=null;function B(){if(!ft)Io();return ft}function Io(){if(ft)return;let t={...process.env},n=Qi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ft=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as qo,metrics as so,propagation as rK,ROOT_CONTEXT as gK,SpanStatusCode as VK,trace as lo}from"@opentelemetry/api";import{logs as bo,SeverityNumber as G_}from"@opentelemetry/api-logs";import{OTLPLogExporter as sK}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as tC}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as bK}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as nf}from"@opentelemetry/instrumentation-runtime-node";import{context as GE,propagation as AE,SpanKind as SE,SpanStatusCode as OE}from"@opentelemetry/api";var hE=globalThis.fetch;import{ExportResultCode as uK}from"@opentelemetry/core";import{ExportResultCode as wt}from"@opentelemetry/core";import{mkdir as ho,rename as ro,writeFile as go}from"fs/promises";import{join as pt}from"path";class zt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:wt.FAILED});for(let n of t){let u=JSON.stringify(n),x=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:x,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:wt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:wt.FAILED}});return Promise.resolve({code:wt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let i of t){let m=n.get(i.partition);if(!m)m=[],n.set(i.partition,m);m.push(i.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([i,m])=>this.writeNDJSON(m,i).then(()=>i))),x=u.find((i)=>i.status==="rejected");if(x){let i=new Set;for(let a of u)if(a.status==="fulfilled")i.add(a.value);let m=t.filter((a)=>!i.has(a.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw x.reason}}async writeNDJSON(t,n){let u=new Date,x=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],i=n?pt(this.basePath,n,...x):pt(this.basePath,...x);if(!this.knownDirs.has(i))await ho(i,{recursive:!0,mode:448}),this.knownDirs.add(i);let m=`${crypto.randomUUID()}.ndjson`,a=pt(i,`.${m}.tmp`),e=pt(i,m),y=t.join(`
1086
+ `.execute(t)}var Y_={};_(Y_,{up:()=>Ro,down:()=>Xo});import{sql as Wi}from"kysely";async function Ro(t){await t.schema.createTable("task_board_comments").addColumn("id","text",(n)=>n.primaryKey()).addColumn("task_board_item_id","text",(n)=>n.notNull().references("task_board_items.id").onDelete("cascade")).addColumn("parent_id","text",(n)=>n.references("task_board_comments.id").onDelete("cascade")).addColumn("author_id","text",(n)=>n.notNull()).addColumn("body","text",(n)=>n.notNull()).addColumn("resolved","boolean",(n)=>n.notNull().defaultTo(!1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Wi`now()`)).addColumn("updated_at","timestamptz",(n)=>n.notNull().defaultTo(Wi`now()`)).execute(),await t.schema.createIndex("idx_task_board_comments_item").on("task_board_comments").columns(["task_board_item_id","created_at"]).execute()}async function Xo(t){await t.schema.dropIndex("idx_task_board_comments_item").execute(),await t.schema.dropTable("task_board_comments").execute()}var B_={};_(B_,{up:()=>Qo,down:()=>Zo});import{sql as Ri}from"kysely";async function Qo(t){await t.schema.createTable("task_quota_claims").addColumn("task_board_item_id","text",(n)=>n.primaryKey().references("task_board_items.id").onDelete("cascade")).addColumn("organization_id","text",(n)=>n.notNull().references("organization.id").onDelete("cascade")).addColumn("period_key","text",(n)=>n.notNull()).addColumn("run_count","integer",(n)=>n.notNull().defaultTo(1)).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ri`now()`)).execute(),await t.schema.createIndex("idx_task_quota_claims_org_period").on("task_quota_claims").columns(["organization_id","period_key"]).execute(),await t.schema.createTable("subsidized_gateway_keys").addColumn("organization_id","text",(n)=>n.primaryKey().references("organization.id").onDelete("cascade")).addColumn("encrypted_key","text",(n)=>n.notNull()).addColumn("created_at","timestamptz",(n)=>n.notNull().defaultTo(Ri`now()`)).execute()}async function Zo(t){await t.schema.dropTable("subsidized_gateway_keys").ifExists().execute(),await t.schema.dropTable("task_quota_claims").ifExists().execute()}var Fo={"001-initial-schema":Ut,"002-organization-settings":Jt,"003-connection-schema-align":jt,"004-remove-models-binding":Dt,"005-connection-configuration":Lt,"006-add-views-to-settings":$t,"007-monitoring-logs":Wt,"008-event-bus":Rt,"009-drop-audit-logs":Xt,"010-gateways":Qt,"011-gateway-icon":Zt,"012-gateway-tool-selection-mode":Ft,"013-monitoring-user-agent-gateway":Mt,"014-gateway-resources-prompts":Ht,"015-monitoring-properties":Yt,"016-downstream-token-client-info":Bt,"017-downstream-token-remove-userid":kt,"018-drop-gateway-tool-selection-strategy":ct,"019-remove-gateway-is-default":Gt,"020-enabled-plugins":At,"021-threads":St,"022-rename-gateway-to-virtual-mcp":Ot,"023-optimize-thread-indexes":It,"024-consolidate-virtual-mcp":ht,"025-add-monitoring-virtual-mcp-id":rt,"026-restrict-child-connection-delete":gt,"027-update-management-mcp-url":vt,"028-update-management-mcp-to-self":st,"029-add-updated-by-to-connections":lt,"030-member-tags":dt,"031-add-dependency-mode":bt,"032-projects":tn,"033-thread-status":nn,"034-monitoring-dashboards":un,"035-project-connections":_n,"036-update-registry-url":xn,"037-ai-provider-keys":mn,"038-oauth-pkce-states":en,"039-automations":an,"040-replace-next-run-at-with-last-run-at":yn,"041-ai-provider-keys-unique-constraint":Tn,"042-rename-mesh-mcp-to-cms-mcp":on,"043-rename-cms-mcp-to-deco-cms":Cn,"044-drop-connections-tools-column":Nn,"045-thread-context-start-message":En,"046-remove-object-storage-plugin":fn,"047-add-next-run-at":wn,"048-merge-projects-agents":zn,"049-remove-org-admin-projects":Pn,"050-durable-agent-runs":Un,"051-org-sso":jn,"052-thread-agent-ids":Dn,"053-registry-config":Ln,"054-connection-slug":Wn,"055-spaces":Rn,"056-automation-project-scope":Xn,"057-thread-virtual-mcp-id":Qn,"058-trigger-callback-tokens":Zn,"059-kv":Fn,"060-member-index":Mn,"061-downstream-token-connection-index":Hn,"062-private-registry":Yn,"063-event-subscriptions-enabled-boolean":Bn,"064-brand-context":kn,"065-organization-domains":cn,"066-brand-context-structured":Gn,"067-threads-metadata":An,"068-threads-branch":Sn,"069-sandbox-runner-state":On,"070-model-categories":In,"071-default-home-agents":hn,"072-ai-provider-key-preset-id":rn,"073-backfill-basic-usage-roles":gn,"074-sandbox-runner-state-handle-nonunique":Vn,"075-thread-inflight-async-jobs":vn,"076-automations-drop-agent-json":qn,"077-tier-only-model-selection":ln,"078-automation-tool-call-kind":dn,"079-strip-legacy-freestyle-vm-map-entries":bn,"080-async-research-jobs":tu,"081-async-research-jobs-result-content":nu,"082-secrets":uu,"083-thread-run-locally":_u,"084-drop-host-sandbox-rows":iu,"085-rename-runner-kind":xu,"086-thread-pins-and-vm-map-rekey":mu,"087-fix-vm-map-rekey":eu,"088-purge-cli-activate-keys":au,"089-rename-remote-user-to-desktop":yu,"090-automation-webhook-triggers":Tu,"091-organization-domains-allow-multi":ou,"092-sandbox-naming-uniformization":Cu,"093-backfill-global-search-basic-usage":Nu,"094-org-file-configs":Ku,"095-remove-automation-tool-call-kind":fu,"096-org-file-configs-public-url-base":wu,"097-drop-local-docker-sandbox-state":zu,"098-thread-message-parts":Pu,"099-run-fence":Uu,"100-link-transport":Ju,"101-cancel-requested-at":ju,"102-observational-agent":Du,"103-revert-observational-agent":Lu,"104-agent-sandbox-provider-kind":Wu,"105-org-fs":Ru,"106-automation-tools":Xu,"107-org-fs-public-org":Qu,"108-automation-max-agent-steps":Zu,"109-thread-message-parts-per-message-seq":Fu,"110-backfill-ghs-token-expiry":Mu,"111-org-fs-thread-id":Hu,"112-org-file-configs-credential-type":Yu,"113-thread-failure-reason":Bu,"114-run-acked-seq":ku,"115-thread-projected-seq":cu,"116-org-sites":Gu,"117-org-file-configs-site-slug":Au,"118-organization-domains-multi-verify":Su,"119-organization-join-requests":Ou,"120-org-fs-read-public":Iu,"121-org-fs-share-password":hu,"122-split-web-research-tier":Vu,"123-connection-credential-vault":vu,"124-drop-thread-projected-seq":qu,"125-github-child-single-parent":su,"126-task-board":du,"127-task-board-due-date":bu,"128-reports-only":t_,"129-task-board-assigned-by":n_,"130-task-board-thread-id":u_,"131-task-board-thread-link-cascade":__,"132-task-board-item-prs":i_,"133-dedupe-duplicate-members":x_,"134-drop-task-board-enabled":m_,"135-task-board-item-fk-cascade":e_,"136-task-board-import-idempotency":a_,"137-agent-sandbox-runner-state":y_,"138-agent-sandbox-sessions":T_,"139-organization-billing":o_,"140-seat-change-log":C_,"141-benefits-sync-pending":N_,"142-stripe-event-watermark":E_,"143-armed-report-url":K_,"144-benefits-pending-index":f_,"145-user-model-preferences":w_,"146-organization-main-agent":p_,"147-drop-agent-sandbox-tables":z_,"148-org-flags":P_,"149-task-board-item-sort-order":U_,"150-task-board-activity":J_,"151-task-board-tags":D_,"152-repair-connection-slug":$_,"153-task-board-latest-assistant-part-index":W_,"154-task-board-qa-activity":X_,"155-task-board-review-claims":Q_,"156-task-board-conflict-activity":F_,"157-drop-seat-billing":M_,"158-drop-github-child-single-parent":H_,"159-task-board-comments":Y_,"160-task-quota-billing":B_},k_=Fo;import{getMigrations as EC}from"better-auth/db";import{sso as KC}from"@better-auth/sso";import{organization as fC}from"@decocms/better-auth/plugins";import{admin as wC,apiKey as pC,jwt as zC,magicLink as PC,mcp as UC,openAPI as JC}from"better-auth/plugins";import{emailOTP as jC}from"better-auth/plugins/email-otp";import{Kysely as eC,PostgresDialect as Gi}from"kysely";import{Pool as Ai}from"pg";import{homedir as Mo}from"os";var Ho=new Set(["all","worker","api"]);function Yo(t){let n=(t??"").trim();return Ho.has(n)?n:"all"}var Bo=new Set(["production","development","test"]);function ko(t){let n=(t??"").trim();return Bo.has(n)?n:"development"}function $(t){return t==="true"||t==="1"}function co(t){if(t===void 0||t==="")return;return $(t)}function c_(t,n,u){if(n===void 0||n==="")return;let x=Number(n);if(!Number.isSafeInteger(x)||x<=0)throw Error(`${t} must be a positive integer`);if(u!==void 0&&x>u)throw Error(`${t} must be at most ${u}`);return x}function j(t,n,u,x){return c_(t,n,x)??u}function Go(t,n,u,x){if(n===void 0||n==="")return u;let i=Number(n);if(!Number.isSafeInteger(i)||i<0)throw Error(`${t} must be a non-negative integer`);if(x!==void 0&&i>x)throw Error(`${t} must be at most ${x}`);return i}function Ao(t,n){if(t===void 0||t==="")return n;return t==="true"||t==="1"}function Xi(t){if(!t)return null;try{let u=new URL(t).hostname.replace(/^\[|\]$/g,"");if(u==="localhost"||u==="127.0.0.1"||u==="::1")return null;return t}catch{return null}}function So(t){return t===void 0||t===""||t==="true"||t==="1"}function v(t,n){return t||n}var Oo=new Set(["agent-sandbox","user-desktop"]);function Io(t){let n=(t??"").trim(),u=n.length>0?n:"user-desktop";if(u==="cluster")return"agent-sandbox";if(!Oo.has(u))throw Error(`Unknown STUDIO_SANDBOX_PROVIDER="${t}" \u2014 expected "agent-sandbox", legacy "cluster", or "user-desktop".`);return u}function Qi(t,n){let u=t.home||n.DATA_DIR||n.DECOCMS_HOME||`${Mo()}/deco`,x=t.localMode,i=t.nodeEnv||ko(n.NODE_ENV),m=n.NATS_URL||"nats://localhost:4222",a=co(n.NATS_TUNNEL_PUBLIC_ENABLED)??!!n.NATS_PUBLIC_URL;return{settings:{nodeEnv:i,port:j("PORT",t.port||n.PORT,3000),baseUrl:t.baseUrl||n.BASE_URL,publicUrl:v(n.STUDIO_PUBLIC_URL,n.MESH_PUBLIC_URL),dataDir:u,databasePgSsl:$(n.DATABASE_PG_SSL),databasePoolMax:j("DATABASE_POOL_MAX",n.DATABASE_POOL_MAX,5),dbosPoolSize:j("DBOS_POOL_SIZE",n.DBOS_POOL_SIZE,5),betterAuthSecret:n.BETTER_AUTH_SECRET||"",encryptionKey:n.ENCRYPTION_KEY||"",studioJwtSecret:v(n.STUDIO_JWT_SECRET,n.MESH_JWT_SECRET),localMode:x,disableRateLimit:$(n.DISABLE_RATE_LIMIT),studioProvisionSecretKey:n.STUDIO_PROVISION_SECRET_KEY,deploymentAdminEmails:(n.DEPLOYMENT_ADMIN_EMAILS??"").split(",").map((y)=>y.trim().toLowerCase()).filter(Boolean),clickhouseUrl:n.CLICKHOUSE_URL,clickhouseMaxMemoryUsage:c_("CLICKHOUSE_MAX_MEMORY_USAGE",n.CLICKHOUSE_MAX_MEMORY_USAGE),monitoringOtlpEndpoint:n.MONITORING_OTLP_ENDPOINT,otelServiceName:n.OTEL_SERVICE_NAME||"studio",natsPublicUrl:n.NATS_PUBLIC_URL,natsTunnelPublicEnabled:a,natsTunnelSessionTtlSeconds:j("NATS_TUNNEL_SESSION_TTL_SECONDS",n.NATS_TUNNEL_SESSION_TTL_SECONDS,900),natsOperatorJwt:n.NATS_OPERATOR_JWT,natsAccountJwt:n.NATS_ACCOUNT_JWT,natsAccountSigningKey:n.NATS_ACCOUNT_SIGNING_KEY,natsCredsPath:n.NATS_CREDS,configPath:n.CONFIG_PATH||"./config.json",aiGatewayEnabled:$(n.DECO_AI_GATEWAY_ENABLED),aiGatewayUrl:n.DECO_AI_GATEWAY_URL||"https://ai-site.deco.site",aiGatewayAdminToken:n.DECO_AI_GATEWAY_ADMIN_TOKEN,stripeWebhookSecret:n.STRIPE_WEBHOOK_SECRET,stripeSecretKey:n.STRIPE_SECRET_KEY,stripeOrgPriceId:n.STRIPE_ORG_PRICE_ID,topupFeePercent:Go("STUDIO_TOPUP_FEE_PERCENT",n.STUDIO_TOPUP_FEE_PERCENT,15,100),taskQuotaEnforced:$(n.STUDIO_TASK_QUOTA_ENFORCED),freeTaskExecutions:j("STUDIO_FREE_TASKS",n.STUDIO_FREE_TASKS,3),monthlyTaskExecutions:j("STUDIO_MONTHLY_TASKS",n.STUDIO_MONTHLY_TASKS,10),maxRunsPerTask:j("STUDIO_MAX_RUNS_PER_TASK",n.STUDIO_MAX_RUNS_PER_TASK,5),enableDecoImport:$(n.ENABLE_DECO_IMPORT),mcpCacheEnabled:Ao(n.MCP_CACHE_ENABLED,i!=="development"),orgFsPublicSetsJson:n.ORGFS_PUBLIC_SETS,orgFsMountsDisabled:$(n.DISABLE_ORGFS_MOUNTS),decopilotMaxConcurrentSubagents:j("DECOPILOT_MAX_CONCURRENT_SUBAGENTS",n.DECOPILOT_MAX_CONCURRENT_SUBAGENTS,4),decopilotMaxConcurrentHostedRuns:j("DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS",n.DECOPILOT_MAX_CONCURRENT_HOSTED_RUNS,3),s3Endpoint:n.S3_ENDPOINT,s3Bucket:n.S3_BUCKET,s3Region:n.S3_REGION||"auto",s3AccessKeyId:n.S3_ACCESS_KEY_ID,s3SecretAccessKey:n.S3_SECRET_ACCESS_KEY,s3ForcePathStyle:So(n.S3_FORCE_PATH_STYLE),monitoringS3Bucket:n.MONITORING_S3_BUCKET,monitoringS3Endpoint:n.MONITORING_S3_ENDPOINT,monitoringS3Region:n.MONITORING_S3_REGION,monitoringS3AccessKeyId:n.MONITORING_S3_ACCESS_KEY_ID,monitoringS3SecretAccessKey:n.MONITORING_S3_SECRET_ACCESS_KEY,monitoringS3Prefix:n.MONITORING_S3_PREFIX,duckdbExtensionDirectory:n.DUCKDB_EXTENSION_DIRECTORY||"/opt/duckdb/extensions",duckdbMemoryLimit:n.DUCKDB_MEMORY_LIMIT||void 0,duckdbThreads:c_("DUCKDB_THREADS",n.DUCKDB_THREADS),isCli:!0,noTui:t.noTui===!0,podName:n.POD_NAME||crypto.randomUUID(),dispatchRole:Yo(v(n.STUDIO_DISPATCH_ROLE,n.MESH_DISPATCH_ROLE)),sandboxProviderKind:Io(n.STUDIO_SANDBOX_PROVIDER),sandboxStickyHeadRefEnabled:$(n.SANDBOX_STICKY_HEAD_REF),sandboxReleaseOnRunEndEnabled:$(n.SANDBOX_RELEASE_ON_RUN_END),sandboxReleaseGraceMs:j("SANDBOX_RELEASE_GRACE_MS",n.SANDBOX_RELEASE_GRACE_MS,120000),decoSupabaseUrl:n.DECO_SUPABASE_URL,decoSupabaseServiceKey:n.DECO_SUPABASE_SERVICE_KEY,firecrawlApiKey:n.FIRECRAWL_API_KEY,reportsInternalApiUrl:v(n.REPORTS_INTERNAL_API_URL,n.COMMERCE_DISCOVERY_INTERNAL_API_URL),reportsInternalApiKey:v(n.REPORTS_INTERNAL_API_KEY,n.COMMERCE_DISCOVERY_INTERNAL_API_KEY),s3TenantBucket:n.S3_TENANT_BUCKET||"new-deco-sites-assets",s3TenantRegion:n.S3_TENANT_REGION||"us-west-2",s3TenantEndpoint:n.S3_TENANT_ENDPOINT,s3TenantPublicUrlBase:n.S3_TENANT_PUBLIC_URL_BASE||"https://decoims.com",awsS3TenantRoleArn:n.AWS_S3_TENANT_ROLE_ARN,awsS3TenantProvisionerAccessKeyId:n.AWS_S3_TENANT_PROVISIONER_ACCESS_KEY_ID,awsS3TenantProvisionerSecretAccessKey:n.AWS_S3_TENANT_PROVISIONER_SECRET_ACCESS_KEY},externalDatabaseUrl:Xi(n.DATABASE_URL),externalNatsUrl:Xi(m),skipMigrations:t.skipMigrations}}var ft=null;function B(){if(!ft)ho();return ft}function ho(){if(ft)return;let t={...process.env},n=Qi({port:t.PORT||"3000",home:t.DATA_DIR||t.DECOCMS_HOME||"",localMode:t.DECOCMS_LOCAL_MODE==="true",skipMigrations:!0,noTui:t.DECO_NO_TUI==="true",vitePort:t.VITE_PORT,baseUrl:t.BASE_URL},t);ft=Object.freeze({...n.settings,databaseUrl:t.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/postgres",natsUrls:(t.NATS_URL||"nats://localhost:4222").split(",").map((u)=>u.trim()).filter(Boolean)})}import{createContextKey as so,metrics as lo,propagation as gK,ROOT_CONTEXT as VK,SpanStatusCode as vK,trace as bo}from"@opentelemetry/api";import{logs as tC,SeverityNumber as G_}from"@opentelemetry/api-logs";import{OTLPLogExporter as lK}from"@opentelemetry/exporter-logs-otlp-proto";import{PrometheusExporter as nC}from"@opentelemetry/exporter-prometheus";import{OTLPTraceExporter as tf}from"@opentelemetry/exporter-trace-otlp-proto";import{RuntimeNodeInstrumentation as uf}from"@opentelemetry/instrumentation-runtime-node";import{context as AE,propagation as SE,SpanKind as OE,SpanStatusCode as IE}from"@opentelemetry/api";var rE=globalThis.fetch;import{ExportResultCode as _K}from"@opentelemetry/core";import{ExportResultCode as wt}from"@opentelemetry/core";import{mkdir as ro,rename as go,writeFile as Vo}from"fs/promises";import{join as pt}from"path";class zt{bufferItems=[];bufferBytes=0;flushTimer=null;flushQueue=Promise.resolve();basePath;flushThreshold;maxBufferBytes;isShutdown=!1;knownDirs=new Set;partitionKey;constructor(t){this.basePath=t.basePath,this.flushThreshold=t.flushThreshold??1000,this.maxBufferBytes=t.maxBufferBytes??10485760,this.partitionKey=t.partitionKey;let n=t.flushIntervalMs??60000;if(n>0&&n<3600000){if(this.flushTimer=setInterval(()=>{this.flush().catch((u)=>{console.error("[NDJSONExporter] Timer flush failed:",u)})},n),this.flushTimer&&typeof this.flushTimer==="object"&&"unref"in this.flushTimer)this.flushTimer.unref()}}exportRows(t){if(this.isShutdown)return Promise.resolve({code:wt.FAILED});for(let n of t){let u=JSON.stringify(n),x=this.partitionKey?this.partitionKey(n):"";this.bufferItems.push({partition:x,json:u}),this.bufferBytes+=Buffer.byteLength(u,"utf8")+1}if(this.bufferItems.length>=this.flushThreshold||this.bufferBytes>=this.maxBufferBytes)return this.flush().then(()=>({code:wt.SUCCESS})).catch((n)=>{return console.error("[NDJSONExporter] Flush failed:",n),{code:wt.FAILED}});return Promise.resolve({code:wt.SUCCESS})}async shutdown(){if(this.isShutdown=!0,this.flushTimer)clearInterval(this.flushTimer),this.flushTimer=null;try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}async forceFlush(){try{await this.flushQueue}catch{}if(this.bufferItems.length>0)await this.flush()}flush(){let n=this.flushQueue.catch(()=>{}).then(()=>this.doFlush());return this.flushQueue=n,n}async doFlush(){if(this.bufferItems.length===0)return;let t=this.bufferItems;this.bufferItems=[],this.bufferBytes=0;let n=new Map;for(let i of t){let m=n.get(i.partition);if(!m)m=[],n.set(i.partition,m);m.push(i.json)}let u=await Promise.allSettled(Array.from(n.entries()).map(([i,m])=>this.writeNDJSON(m,i).then(()=>i))),x=u.find((i)=>i.status==="rejected");if(x){let i=new Set;for(let a of u)if(a.status==="fulfilled")i.add(a.value);let m=t.filter((a)=>!i.has(a.partition));this.bufferItems=m.concat(this.bufferItems),this.bufferBytes=0;for(let a of this.bufferItems)this.bufferBytes+=Buffer.byteLength(a.json,"utf8")+1;throw x.reason}}async writeNDJSON(t,n){let u=new Date,x=[String(u.getUTCFullYear()),String(u.getUTCMonth()+1).padStart(2,"0"),String(u.getUTCDate()).padStart(2,"0"),String(u.getUTCHours()).padStart(2,"0")],i=n?pt(this.basePath,n,...x):pt(this.basePath,...x);if(!this.knownDirs.has(i))await ro(i,{recursive:!0,mode:448}),this.knownDirs.add(i);let m=`${crypto.randomUUID()}.ndjson`,a=pt(i,`.${m}.tmp`),e=pt(i,m),y=t.join(`
1087
1087
  `)+`
1088
- `;await go(a,y,{mode:384}),await ro(a,e)}}import{ExportResultCode as eK}from"@opentelemetry/core";import{AggregationTemporality as yK,DataPointType as TK}from"@opentelemetry/sdk-metrics";import{ExportResultCode as fK}from"@opentelemetry/core";var PK=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as of,LoggerProvider as Cf}from"@opentelemetry/sdk-logs";import{detectResources as Ef,envDetector as Kf,hostDetector as ff,osDetector as wf,processDetector as pf,resourceFromAttributes as zf}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Uf}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as jK}from"@opentelemetry/api-logs";import{NodeSDK as Df}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as $f,SamplingDecision as k}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as RK}from"@opentelemetry/api";var nC="__d",uC=qo("Current request"),_C=1;var Fi=(t)=>{let u=new URL(t.url).searchParams.get(nC);if(u==="")return crypto.randomUUID();if(!u)u=t.headers.get("x-trace-debug-id");return u};class Mi{inner;constructor(t){this.inner=t}shouldSample(t,n,u,x,i,m){let a=t.getValue(uC);if(!a){if(this.inner)return this.inner.shouldSample(t,n,u,x,i,m);return{decision:k.RECORD_AND_SAMPLED}}let e=Fi(a);if(e)return{decision:k.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":e}};if(this.inner){let y=this.inner.shouldSample(t,n,u,x,i,m);if(y.decision===k.RECORD_AND_SAMPLED){let T=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":T}}return y}return{decision:k.NOT_RECORD}}toString(){return"DebugSampler"}}class Hi{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:k.RECORD_AND_SAMPLED};return{decision:k.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Rf=new tC({preventServerStart:!0}),Xf=new Mi(new Hi(_C));var Zi=lo.getTracer("studio","1.0.0"),q=so.getMeter("studio","1.0.0"),iC=bo.getLogger("studio","1.0.0"),A_=(t,n,u)=>{let x={},i=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)x=m,i=u.slice(0,-1);let a=i.map((e)=>{if(e instanceof Error)return`${e.name}: ${e.message}`;if(typeof e==="object")try{return JSON.stringify(e)}catch{return"[Object]"}return String(e)}).join(" ");iC.emit({severityNumber:t,severityText:n,body:a,attributes:{"log.source":"console",...x}})},S_={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{A_(G_.ERROR,"ERROR",t),S_.error(...t)};console.warn=(...t)=>{A_(G_.WARN,"WARN",t),S_.warn(...t)};console.debug=(...t)=>{A_(G_.DEBUG,"DEBUG",t),S_.debug(...t)};var O_,Yi=0,I_=500;function xC(){if(O_)return;let t=performance.now()+I_;O_=setInterval(()=>{let n=performance.now();Yi=Math.max(0,n-t),t=n+I_},I_),O_.unref?.()}function Bi(){return xC(),Yi}var eC=()=>q.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),ki=()=>q.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),ci=400,aC=100,yC=(t)=>(n)=>{let u={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>ci){let x=Bi(),i=x>ci/2;console.error(i?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(x),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:Pt()}})}if(eC().record(n.queryDurationMillis,u),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function TC(t){let n=t.connect.bind(t);return t.connect=(u)=>{if(typeof u==="function")return n(u);let x=performance.now(),i=Pt(),m=t.idleCount===0&&t.totalCount>=i,a=t.idleCount;return n().then((e)=>{let y=performance.now()-x;if(ki().record(y,{"db.pool.outcome":m?"contended":"available"}),y>aC)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:i});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:a,total:t.totalCount,max:i});return e},(e)=>{throw ki().record(performance.now()-x,{"db.pool.outcome":"error"}),e})},t}var Si={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Oi(){try{return B().databasePgSsl}catch{return!1}}function Pt(){try{return B().databasePoolMax}catch{return 10}}function oC(t){let n=TC(new Ai({connectionString:t,max:Pt(),ssl:Oi(),...Si})),u=new Gi({pool:n});return{type:"postgres",db:new mC({dialect:u,log:yC(n)}),pool:n}}function l(){return B().databaseUrl}function Ii(t){let n=t||l();return new Gi({pool:new Ai({connectionString:n,max:Pt(),ssl:Oi(),...Si})})}function CC(t){let n=t||l();return oC(n)}async function hi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===s)s=null}var s=null;function h_(){if(!s)s=CC(l());return s}async function ri(t){let u={database:Ii(t||l()),plugins:[KC({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),fC(),wC(),pC(),UC(),PC({loginPage:"/login"}),EC(),zC({sendMagicLink:async()=>{}}),JC({sendVerificationOTP:async()=>{}})]},{toBeAdded:x,toBeCreated:i,runMigrations:m}=await NC(u);if(!x.length&&!i.length)return"up to date";return await m(),`${i.length+x.length} table(s) migrated`}async function Vi(t,n){return(await c`
1088
+ `;await Vo(a,y,{mode:384}),await go(a,e)}}import{ExportResultCode as aK}from"@opentelemetry/core";import{AggregationTemporality as TK,DataPointType as oK}from"@opentelemetry/sdk-metrics";import{ExportResultCode as wK}from"@opentelemetry/core";var UK=Buffer.byteLength("... [TRUNCATED]","utf8");import{BatchLogRecordProcessor as Cf,LoggerProvider as Nf}from"@opentelemetry/sdk-logs";import{detectResources as Kf,envDetector as ff,hostDetector as wf,osDetector as pf,processDetector as zf,resourceFromAttributes as Pf}from"@opentelemetry/resources";import{PeriodicExportingMetricReader as Jf}from"@opentelemetry/sdk-metrics";import{NOOP_LOGGER as DK}from"@opentelemetry/api-logs";import{NodeSDK as Lf}from"@opentelemetry/sdk-node";import{BatchSpanProcessor as Wf,SamplingDecision as k}from"@opentelemetry/sdk-trace-base";import{SpanStatusCode as XK}from"@opentelemetry/api";var uC="__d",_C=so("Current request"),iC=1;var Fi=(t)=>{let u=new URL(t.url).searchParams.get(uC);if(u==="")return crypto.randomUUID();if(!u)u=t.headers.get("x-trace-debug-id");return u};class Mi{inner;constructor(t){this.inner=t}shouldSample(t,n,u,x,i,m){let a=t.getValue(_C);if(!a){if(this.inner)return this.inner.shouldSample(t,n,u,x,i,m);return{decision:k.RECORD_AND_SAMPLED}}let e=Fi(a);if(e)return{decision:k.RECORD_AND_SAMPLED,attributes:{"trace.debug.id":e}};if(this.inner){let y=this.inner.shouldSample(t,n,u,x,i,m);if(y.decision===k.RECORD_AND_SAMPLED){let T=crypto.randomUUID();y.attributes={...y.attributes??{},"trace.debug.id":T}}return y}return{decision:k.NOT_RECORD}}toString(){return"DebugSampler"}}class Hi{ratio;constructor(t){this.ratio=t}shouldSample(){if(Math.random()<this.ratio)return{decision:k.RECORD_AND_SAMPLED};return{decision:k.NOT_RECORD}}toString(){return`RatioSampler(${this.ratio})`}}var Xf=new nC({preventServerStart:!0}),Qf=new Mi(new Hi(iC));var Zi=bo.getTracer("studio","1.0.0"),q=lo.getMeter("studio","1.0.0"),xC=tC.getLogger("studio","1.0.0"),A_=(t,n,u)=>{let x={},i=u,m=u[u.length-1];if(m!==null&&typeof m==="object"&&!Array.isArray(m)&&!(m instanceof Error)&&Object.getPrototypeOf(m)===Object.prototype)x=m,i=u.slice(0,-1);let a=i.map((e)=>{if(e instanceof Error)return`${e.name}: ${e.message}`;if(typeof e==="object")try{return JSON.stringify(e)}catch{return"[Object]"}return String(e)}).join(" ");xC.emit({severityNumber:t,severityText:n,body:a,attributes:{"log.source":"console",...x}})},S_={error:console.error.bind(console),warn:console.warn.bind(console),debug:console.debug.bind(console)};console.error=(...t)=>{A_(G_.ERROR,"ERROR",t),S_.error(...t)};console.warn=(...t)=>{A_(G_.WARN,"WARN",t),S_.warn(...t)};console.debug=(...t)=>{A_(G_.DEBUG,"DEBUG",t),S_.debug(...t)};var O_,Yi=0,I_=500;function mC(){if(O_)return;let t=performance.now()+I_;O_=setInterval(()=>{let n=performance.now();Yi=Math.max(0,n-t),t=n+I_},I_),O_.unref?.()}function Bi(){return mC(),Yi}var aC=()=>q.createHistogram("db.query.duration",{description:"Database query execution duration in milliseconds",unit:"ms"}),ki=()=>q.createHistogram("db.pool.acquire.duration",{description:"Time spent waiting to acquire a connection from the pool",unit:"ms"}),ci=400,yC=100,TC=(t)=>(n)=>{let u={"db.statement":n.query.sql,"db.status":n.level==="error"?"error":"success"};if(n.queryDurationMillis>ci){let x=Bi(),i=x>ci/2;console.error(i?"Slow query measurement \u2014 likely event-loop lag, not slow SQL:":"Slow query detected:",{durationMs:n.queryDurationMillis,eventLoopLagMs:Math.round(x),sql:n.query.sql,pool:{total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:Pt()}})}if(aC().record(n.queryDurationMillis,u),n.level==="error")console.error("Query failed:",{durationMs:n.queryDurationMillis,error:n.error,sql:n.query.sql})};function oC(t){let n=t.connect.bind(t);return t.connect=(u)=>{if(typeof u==="function")return n(u);let x=performance.now(),i=Pt(),m=t.idleCount===0&&t.totalCount>=i,a=t.idleCount;return n().then((e)=>{let y=performance.now()-x;if(ki().record(y,{"db.pool.outcome":m?"contended":"available"}),y>yC)if(m)console.error("Slow db pool acquire \u2014 pool saturated:",{waitMs:y,total:t.totalCount,idle:t.idleCount,waiting:t.waitingCount,max:i});else console.warn("Slow db pool acquire \u2014 event-loop lag (not pool):",{waitMs:y,idleAtStart:a,total:t.totalCount,max:i});return e},(e)=>{throw ki().record(performance.now()-x,{"db.pool.outcome":"error"}),e})},t}var Si={keepAlive:!0,keepAliveInitialDelayMillis:1e4,idleTimeoutMillis:300000,connectionTimeoutMillis:30000,allowExitOnIdle:!0};function Oi(){try{return B().databasePgSsl}catch{return!1}}function Pt(){try{return B().databasePoolMax}catch{return 10}}function CC(t){let n=oC(new Ai({connectionString:t,max:Pt(),ssl:Oi(),...Si})),u=new Gi({pool:n});return{type:"postgres",db:new eC({dialect:u,log:TC(n)}),pool:n}}function l(){return B().databaseUrl}function Ii(t){let n=t||l();return new Gi({pool:new Ai({connectionString:n,max:Pt(),ssl:Oi(),...Si})})}function NC(t){let n=t||l();return CC(n)}async function hi(t){if(await t.db.destroy(),!t.pool.ended)await t.pool.end();if(t===s)s=null}var s=null;function h_(){if(!s)s=NC(l());return s}async function ri(t){let u={database:Ii(t||l()),plugins:[fC({dynamicAccessControl:{enabled:!0,enableCustomResources:!0}}),wC(),pC(),zC(),JC(),UC({loginPage:"/login"}),KC(),PC({sendMagicLink:async()=>{}}),jC({sendVerificationOTP:async()=>{}})]},{toBeAdded:x,toBeCreated:i,runMigrations:m}=await EC(u);if(!x.length&&!i.length)return"up to date";return await m(),`${i.length+x.length} table(s) migrated`}async function Vi(t,n){return(await c`
1089
1089
  SELECT table_name FROM information_schema.tables
1090
1090
  WHERE table_schema='public' AND table_name=${n}
1091
- `.execute(t)).rows.length>0}async function jC(t){if(await Vi(t,"plugin_migrations"))return;await c`
1091
+ `.execute(t)).rows.length>0}async function DC(t){if(await Vi(t,"plugin_migrations"))return;await c`
1092
1092
  CREATE TABLE plugin_migrations (
1093
1093
  plugin_id TEXT NOT NULL,
1094
1094
  name TEXT NOT NULL,
1095
1095
  timestamp TEXT NOT NULL,
1096
1096
  PRIMARY KEY (plugin_id, name)
1097
1097
  )
1098
- `.execute(t)}async function DC(t){if(!await Vi(t,"kysely_migration"))return;let n=await c`
1098
+ `.execute(t)}async function LC(t){if(!await Vi(t,"kysely_migration"))return;let n=await c`
1099
1099
  SELECT name, timestamp FROM kysely_migration
1100
1100
  WHERE name LIKE '%/%'
1101
1101
  `.execute(t);if(n.rows.length===0)return;for(let{name:u,timestamp:x}of n.rows){let i=u;if(u.includes("~plugins/"))i=u.substring(u.indexOf("~plugins/")+9);let m=i.indexOf("/");if(m===-1){console.warn(`Skipping malformed plugin migration: ${u}`);continue}let a=i.substring(0,m),e=i.substring(m+1);try{await c`
@@ -1106,4 +1106,4 @@ var vi=Object.defineProperty;var qi=(t)=>t;function si(t,n){this[t]=qi.bind(null
1106
1106
  WHERE plugin_id = ${a} AND name = ${e}
1107
1107
  `.execute(t);if(Number(y.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${a}/${e}, keeping in old table`);continue}}await c`
1108
1108
  DELETE FROM kysely_migration WHERE name = ${u}
1109
- `.execute(t)}}async function LC(t){await jC(t),await DC(t);let n=new gi({db:t,provider:{getMigrations:()=>Promise.resolve(k_)}}),{error:u,results:x}=await n.migrateToLatest(),i=0;if(x?.forEach((m)=>{if(m.status==="Success")i++;else if(m.status==="Error")console.error(`Failed to execute migration "${m.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return i}async function $C(t){let{keepOpen:n=!1,database:u,skipBetterAuth:x=!1}=t??{},i="skipped";if(!x&&!u)i=await ri();let m=u??h_(),a=async()=>{if(!n&&!u)await hi(m).catch((e)=>{console.warn("Warning: Error closing database:",e)})};try{let e=await LC(m.db);return await a(),{betterAuth:i,kysely:e}}catch(e){throw await a(),e}}async function xw(){let t=h_(),n=new gi({db:t.db,provider:{getMigrations:()=>Promise.resolve(k_)}}),{error:u,results:x}=await n.migrateDown();if(x?.forEach((i)=>{if(i.status==="Success")console.log(`\u2705 Migration "${i.migrationName}" rolled back successfully`);else if(i.status==="Error")console.error(`\u274C Failed to rollback migration "${i.migrationName}"`)}),u)throw console.error("Failed to rollback migration"),console.error(u),u}if(import.meta.main)(async()=>{try{await $C(),console.log("Migrations completed."),process.exit(0)}catch(t){console.error("Migration failed:",t),process.exit(1)}})();export{LC as runKyselyMigrations,$C as migrateToLatest,xw as migrateDown};
1109
+ `.execute(t)}}async function $C(t){await DC(t),await LC(t);let n=new gi({db:t,provider:{getMigrations:()=>Promise.resolve(k_)}}),{error:u,results:x}=await n.migrateToLatest(),i=0;if(x?.forEach((m)=>{if(m.status==="Success")i++;else if(m.status==="Error")console.error(`Failed to execute migration "${m.migrationName}"`)}),u)throw console.error("Failed to migrate"),console.error(u),u;return i}async function WC(t){let{keepOpen:n=!1,database:u,skipBetterAuth:x=!1}=t??{},i="skipped";if(!x&&!u)i=await ri();let m=u??h_(),a=async()=>{if(!n&&!u)await hi(m).catch((e)=>{console.warn("Warning: Error closing database:",e)})};try{let e=await $C(m.db);return await a(),{betterAuth:i,kysely:e}}catch(e){throw await a(),e}}async function mw(){let t=h_(),n=new gi({db:t.db,provider:{getMigrations:()=>Promise.resolve(k_)}}),{error:u,results:x}=await n.migrateDown();if(x?.forEach((i)=>{if(i.status==="Success")console.log(`\u2705 Migration "${i.migrationName}" rolled back successfully`);else if(i.status==="Error")console.error(`\u274C Failed to rollback migration "${i.migrationName}"`)}),u)throw console.error("Failed to rollback migration"),console.error(u),u}if(import.meta.main)(async()=>{try{await WC(),console.log("Migrations completed."),process.exit(0)}catch(t){console.error("Migration failed:",t),process.exit(1)}})();export{$C as runKyselyMigrations,WC as migrateToLatest,mw as migrateDown};