decocms 4.109.1 → 4.109.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 (232) hide show
  1. package/dist/client/assets/{AlertCircle-CAfylLQF.js → AlertCircle-DJatbGzw.js} +1 -1
  2. package/dist/client/assets/{AreaChart-B15sPfdg.js → AreaChart-Cn6CMF5s.js} +1 -1
  3. package/dist/client/assets/{ArrowRight-DCQQsUJB.js → ArrowRight-BDTYsEDX.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-CVk6prBe.js → ArrowUp-B69bAwSV.js} +1 -1
  5. package/dist/client/assets/{ArrowUpRight-CDKpq13K.js → ArrowUpRight-CXYztBWS.js} +1 -1
  6. package/dist/client/assets/{Check-DWecOBBJ.js → Check-BcHEoEVj.js} +1 -1
  7. package/dist/client/assets/{CheckCircle-EwvZFqx1.js → CheckCircle-CC6QcOmP.js} +1 -1
  8. package/dist/client/assets/{ChevronDown-tt0a_HTJ.js → ChevronDown-DxqC1l-z.js} +1 -1
  9. package/dist/client/assets/{ChevronRight-H-jmhwEp.js → ChevronRight-DyqJ7Cxq.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-DS4vd6bR.js → ChevronUp-DFVyfUsV.js} +1 -1
  11. package/dist/client/assets/{Copy01-B5uxUMRw.js → Copy01-DsbEP_W7.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-BX0SOBtw.js → DotsVertical-CoDSbyvA.js} +1 -1
  13. package/dist/client/assets/{Eye-u_ZfcAl3.js → Eye-Kxu5plxW.js} +1 -1
  14. package/dist/client/assets/{FilterLines-CvbngDDq.js → FilterLines-DVCDXCAw.js} +1 -1
  15. package/dist/client/assets/{Globe01-GOjFguyL.js → Globe01-B7TQ5lZd.js} +1 -1
  16. package/dist/client/assets/{Globe04-7FcSWKF5.js → Globe04-DOCKzyKn.js} +1 -1
  17. package/dist/client/assets/{HardDrive-BAjDlwep.js → HardDrive-DAVmGvYc.js} +1 -1
  18. package/dist/client/assets/{Image01-CmK4RATk.js → Image01-DitXkGG8.js} +1 -1
  19. package/dist/client/assets/{Key01-CLapz-Lf.js → Key01-Dgveig06.js} +1 -1
  20. package/dist/client/assets/{LayoutLeft-eQB7Moej.js → LayoutLeft-UO_qtd91.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-CVG21CJN.js → LinkExternal01-BqC4CdY7.js} +1 -1
  22. package/dist/client/assets/{Monitor01-BhTte-db.js → Monitor01-oPS6OzSE.js} +1 -1
  23. package/dist/client/assets/{Package-BfxGJABy.js → Package-B0UNodol.js} +1 -1
  24. package/dist/client/assets/{Palette-DwWTPEjH.js → Palette-OJQdUHvo.js} +1 -1
  25. package/dist/client/assets/{Play-qKfSrjJA.js → Play-BgaDsMQ7.js} +1 -1
  26. package/dist/client/assets/{Plus-ZQ7e4SoJ.js → Plus-DkikG6dI.js} +1 -1
  27. package/dist/client/assets/{SearchLg-Cl7sOGXW.js → SearchLg-BlOJCIPT.js} +1 -1
  28. package/dist/client/assets/{SearchMd-8u_cyIsj.js → SearchMd-c4dKqwYM.js} +1 -1
  29. package/dist/client/assets/{Settings02-MglNBmLM.js → Settings02-zgMJW9x2.js} +1 -1
  30. package/dist/client/assets/{Shield01-9DCJ2q6o.js → Shield01-tAPFiOGK.js} +1 -1
  31. package/dist/client/assets/{Star01-BueFtQF3.js → Star01-D1OKaDOU.js} +1 -1
  32. package/dist/client/assets/{Stars01-yAAXG0_K.js → Stars01-DtQhZ1a3.js} +1 -1
  33. package/dist/client/assets/{Stars02-DJJvdlrL.js → Stars02-8oBRazI_.js} +1 -1
  34. package/dist/client/assets/{Sun-hK5XElOT.js → Sun-BFIemExZ.js} +1 -1
  35. package/dist/client/assets/{SwitchHorizontal01-DAnJdjXc.js → SwitchHorizontal01-C7U2VyXB.js} +1 -1
  36. package/dist/client/assets/{Tool01-i7REPwiR.js → Tool01-WBXz4FKC.js} +1 -1
  37. package/dist/client/assets/{Tool02-DWX5MWUO.js → Tool02-CrAJuH2z.js} +1 -1
  38. package/dist/client/assets/{Trash01-CT1aNLPC.js → Trash01-tYQOefdd.js} +1 -1
  39. package/dist/client/assets/{TrendUp01-b8cbOq9O.js → TrendUp01-TqKeBlVl.js} +1 -1
  40. package/dist/client/assets/{Upload01-C6xgaqqA.js → Upload01-DNFuPX11.js} +1 -1
  41. package/dist/client/assets/{User01-Dnl60JDY.js → User01-CXi5VOKF.js} +1 -1
  42. package/dist/client/assets/{Users01-VnXYPuc6.js → Users01-D3EOszDb.js} +1 -1
  43. package/dist/client/assets/{Users03-iyhAQn_Y.js → Users03-dEEokGto.js} +1 -1
  44. package/dist/client/assets/{X-CCIjA3FZ.js → X-ByUzqg6h.js} +1 -1
  45. package/dist/client/assets/{XCircle-UszcMa8o.js → XCircle-_gp5fZXb.js} +1 -1
  46. package/dist/client/assets/{XClose-CD8M4YTt.js → XClose-JCMTnZsJ.js} +1 -1
  47. package/dist/client/assets/{Zap-Ci6oxFt5.js → Zap-BY2FtYb2.js} +1 -1
  48. package/dist/client/assets/{ZapSquare-CLERM0U8.js → ZapSquare-VMiZ26dy.js} +1 -1
  49. package/dist/client/assets/{ZoomOut-D7Wb30Y8.js → ZoomOut-BLfFDtK1.js} +1 -1
  50. package/dist/client/assets/{access-gate-D13jSOLy.js → access-gate-DXMW4XYt.js} +1 -1
  51. package/dist/client/assets/{add-section-modal-CpjwF-sl.js → add-section-modal-BdGyfcWo.js} +1 -1
  52. package/dist/client/assets/{agent-icon-iTOC695L.js → agent-icon-LkIFjNRi.js} +1 -1
  53. package/dist/client/assets/{agents-list-C4Se5tUm.js → agents-list-Cjo76lfz.js} +1 -1
  54. package/dist/client/assets/{ai-providers-Bmpk1C66.js → ai-providers-PBBnh_Kq.js} +1 -1
  55. package/dist/client/assets/{alert-DI3fcGUs.js → alert-DS_MweIL.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-Cwqk1g0y.js → alert-dialog-CP6ni075.js} +1 -1
  57. package/dist/client/assets/{app-editor-F8WbKY3I.js → app-editor-ByVasaXH.js} +1 -1
  58. package/dist/client/assets/{auth-BolA-Kar.js → auth-B_DjQvIi.js} +1 -1
  59. package/dist/client/assets/{auth-catchall-DSHqjOjU.js → auth-catchall-ARvSbdEo.js} +1 -1
  60. package/dist/client/assets/{auth-entry-BWic_YCr.js → auth-entry-DxBPRR0O.js} +1 -1
  61. package/dist/client/assets/{auth-split-layout-DsUJYt7N.js → auth-split-layout-Fcy7DNde.js} +1 -1
  62. package/dist/client/assets/{authenticate-and-persist-oauth-CtvvJJBz.js → authenticate-and-persist-oauth-pp4Trppt.js} +1 -1
  63. package/dist/client/assets/{automation-list-row-DijAgg05.js → automation-list-row-DgOZCyDG.js} +1 -1
  64. package/dist/client/assets/{automation-runs-Bs5XlzpO.js → automation-runs-M_dRMhs1.js} +1 -1
  65. package/dist/client/assets/{automations-F4_uKTAU.js → automations-DTd-qmp1.js} +1 -1
  66. package/dist/client/assets/{autosend-B4QUIt6V.js → autosend-8_gBgmYr.js} +1 -1
  67. package/dist/client/assets/{avatar-u-yjxjUP.js → avatar-gdJXwAHR.js} +1 -1
  68. package/dist/client/assets/{badge-B26CV6p-.js → badge-BAYCuiKW.js} +1 -1
  69. package/dist/client/assets/{block-document-D76zFLQB.js → block-document-DdVSHYqt.js} +1 -1
  70. package/dist/client/assets/{brand-context-BTsSlaqx.js → brand-context-BXm4buTE.js} +1 -1
  71. package/dist/client/assets/{buckets-CqUjce6P.js → buckets-CaBrHe95.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel-D0joFVk2.js → bulk-category-panel-CEcafmGr.js} +1 -1
  73. package/dist/client/assets/{calendar-BAZsoFuJ.js → calendar-3sW8p6Ly.js} +1 -1
  74. package/dist/client/assets/{capability-load-error-C1MyuLur.js → capability-load-error-DCaMrWR8.js} +1 -1
  75. package/dist/client/assets/{card-CD-KMD3Y.js → card-BO0qLOMo.js} +1 -1
  76. package/dist/client/assets/{category-editor-DhYsBRNt.js → category-editor-deK2Vh9P.js} +1 -1
  77. package/dist/client/assets/{chat-context-XMymrjVv.js → chat-context-CGxtA7Dr.js} +1 -1
  78. package/dist/client/assets/{checkbox-fAlwPOOQ.js → checkbox-DpaoYO6F.js} +1 -1
  79. package/dist/client/assets/{cli-auth-success-2dnCz5Hm.js → cli-auth-success-BC8Mhys2.js} +1 -1
  80. package/dist/client/assets/{collection-detail-CHhdUncl.js → collection-detail-DuisTof9.js} +1 -1
  81. package/dist/client/assets/{collection-display-button-BLqCuixK.js → collection-display-button-Bwzb8hTx.js} +1 -1
  82. package/dist/client/assets/{collection-search-C3qrcCyy.js → collection-search-dHn3qQgx.js} +1 -1
  83. package/dist/client/assets/{collection-table-wrapper-HbGJCfN5.js → collection-table-wrapper-CZU3UB1-.js} +1 -1
  84. package/dist/client/assets/{collection-tabs-CwGYHi1G.js → collection-tabs-DKtfdER8.js} +1 -1
  85. package/dist/client/assets/{command-CD-vRwVN.js → command-QaJ4BMvK.js} +1 -1
  86. package/dist/client/assets/{commerce-onboarding-BiTUhJBe.js → commerce-onboarding-Bg6KTK4j.js} +1 -1
  87. package/dist/client/assets/{companions-core-BgrPkYWf.js → companions-core-B-0TzNgm.js} +1 -1
  88. package/dist/client/assets/{connect-desktop-dialog-pUfd8npB.js → connect-desktop-dialog-Duykr9gY.js} +1 -1
  89. package/dist/client/assets/{connect-DxEEsX4Y.js → connect-w68-HLtc.js} +1 -1
  90. package/dist/client/assets/{connection-card-BSDwsb3B.js → connection-card-DtNuud4C.js} +1 -1
  91. package/dist/client/assets/{connection-detail-B7gWRHaJ.js → connection-detail-BUByu0im.js} +1 -1
  92. package/dist/client/assets/{connection-form-helpers-B4-6Mf-4.js → connection-form-helpers-B8lXfVBA.js} +1 -1
  93. package/dist/client/assets/{connections-B8WzbCC2.js → connections-Bxw3NfXz.js} +1 -1
  94. package/dist/client/assets/{decopilot-sse-pool-NWIqMwqD.js → decopilot-sse-pool-DK204wnE.js} +1 -1
  95. package/dist/client/assets/{dialog-DpvCiwdk.js → dialog-B6VL-MrD.js} +1 -1
  96. package/dist/client/assets/{domain-settings-C1lS6OPK.js → domain-settings-Cs7KVlfi.js} +1 -1
  97. package/dist/client/assets/{drawer-BdQ6kzLK.js → drawer-Dh0z1XMp.js} +1 -1
  98. package/dist/client/assets/{dropdown-menu-Bjiv9CtQ.js → dropdown-menu-KK7Nh_gt.js} +1 -1
  99. package/dist/client/assets/{empty-state-86IZpatA.js → empty-state-BE0VJcY9.js} +1 -1
  100. package/dist/client/assets/{extract-connection-data-D6MHbSDf.js → extract-connection-data-D5kIAZiu.js} +1 -1
  101. package/dist/client/assets/{file-explorer-Lx3lk_Pb.js → file-explorer-BrQ1_k1n.js} +1 -1
  102. package/dist/client/assets/{file-type-icon-sturOXJs.js → file-type-icon-DUgkuQJH.js} +1 -1
  103. package/dist/client/assets/{files-BMQQdLs0.js → files-DkWkaz-4.js} +1 -1
  104. package/dist/client/assets/{form-C5QqKiBH.js → form-CxKvuRJj.js} +1 -1
  105. package/dist/client/assets/{general-C_jfbGIT.js → general-CzYmlKs7.js} +1 -1
  106. package/dist/client/assets/{github-repo-picker-D07aLEP_.js → github-repo-picker-BdlYE2QJ.js} +1 -1
  107. package/dist/client/assets/{hooks-h-RHbe8H.js → hooks--Ig0X-ZD.js} +1 -1
  108. package/dist/client/assets/{index-CRL4bXiy.js → index-4zPcf9P8.js} +1 -1
  109. package/dist/client/assets/{index-CC-fcwAE.js → index-AMRh_IAG.js} +1 -1
  110. package/dist/client/assets/{index-Cbrl2YCE.js → index-BZhPXdu0.js} +1 -1
  111. package/dist/client/assets/{index-zEycMiCz.js → index-C104uHog.js} +1 -1
  112. package/dist/client/assets/{index-Bc51A3Eu.js → index-CASH03If.js} +1 -1
  113. package/dist/client/assets/{index-BlPu9Eqz.js → index-CAzaB_QJ.js} +1 -1
  114. package/dist/client/assets/{index-DRlZXa-a.js → index-CHWQ4XYk.js} +3 -3
  115. package/dist/client/assets/{index-CqvbJZQr.js → index-CLicxsi9.js} +1 -1
  116. package/dist/client/assets/{index-H8pAnWBo.js → index-Cdix1Yrd.js} +3 -3
  117. package/dist/client/assets/{index-1gmk7LMb.js → index-D--tVhVA.js} +5 -5
  118. package/dist/client/assets/{index-BpwDFEX_.js → index-DGDYOM3j.js} +1 -1
  119. package/dist/client/assets/{index-jBOphTcA.js → index-DSplvWaI.js} +1 -1
  120. package/dist/client/assets/{index-Celthnga.js → index-Dmo9lfTI.js} +1 -1
  121. package/dist/client/assets/{index-redirect-DCW97bRW.js → index-redirect-C-_GrWCY.js} +1 -1
  122. package/dist/client/assets/{input-3EZpm6Vs.js → input-BMjRuK8H.js} +1 -1
  123. package/dist/client/assets/{integration-icon-Clv2wDeo.js → integration-icon-NACv79qE.js} +1 -1
  124. package/dist/client/assets/{invite-member-dialog-C3dq_L0K.js → invite-member-dialog-DRdQbVrB.js} +1 -1
  125. package/dist/client/assets/{label-C2HXf1xJ.js → label-DELzQGTu.js} +1 -1
  126. package/dist/client/assets/{layout-kNZHlclg.js → layout-DVKEAXqG.js} +1 -1
  127. package/dist/client/assets/{login-D95diO-F.js → login-D3E70GAS.js} +1 -1
  128. package/dist/client/assets/{mcp-oauth-DZ76G4_K.js → mcp-oauth-BE2WsPwd.js} +1 -1
  129. package/dist/client/assets/{members-D8OjJdlh.js → members-VNZAuiCj.js} +1 -1
  130. package/dist/client/assets/{monaco-editor-QOOaCg0V.js → monaco-editor-Dnxr6oYf.js} +1 -1
  131. package/dist/client/assets/{monitoring-stats-row-BSZseR37.js → monitoring-stats-row-Cq2HKUfV.js} +1 -1
  132. package/dist/client/assets/{multi-select-Daz8uy-e.js → multi-select-DGnTJ-ya.js} +1 -1
  133. package/dist/client/assets/{oauth-callback-BFVPIvwv.js → oauth-callback-BJajLWSB.js} +1 -1
  134. package/dist/client/assets/{oauth-callback-ai-provider-7Nkl5agN.js → oauth-callback-ai-provider-qNU0bm4Q.js} +1 -1
  135. package/dist/client/assets/{onboarding-9n-JvTEv.js → onboarding-Bfm5ExPB.js} +1 -1
  136. package/dist/client/assets/{org-install-Dl-OGEq-.js → org-install-CgOIIie4.js} +1 -1
  137. package/dist/client/assets/{org-layout-CkzCYXvN.js → org-layout-CG0TW-rv.js} +1 -1
  138. package/dist/client/assets/{organization-choice-BgqWSyRV.js → organization-choice-jCe7YFGW.js} +1 -1
  139. package/dist/client/assets/{orgs-BBhk97dW.js → orgs-B5iA4Fi0.js} +1 -1
  140. package/dist/client/assets/{page-seo-form-BGGZdXcP.js → page-seo-form-B4a1qnF3.js} +1 -1
  141. package/dist/client/assets/page-seo-sheet-BFi39wZN.js +1 -0
  142. package/dist/client/assets/{popover-CaNM8GLH.js → popover-BrOtDrN7.js} +1 -1
  143. package/dist/client/assets/{post-editor-CNpG9-3k.js → post-editor-Ce4xnchP.js} +1 -1
  144. package/dist/client/assets/{primitives-CS35DBuy.js → primitives-CuLV5qHF.js} +1 -1
  145. package/dist/client/assets/{profile-CP4cymuW.js → profile-CU8E_vCM.js} +1 -1
  146. package/dist/client/assets/project-app-view-rRxP9nBV.js +1 -0
  147. package/dist/client/assets/record-editor-CR5F9fE_.js +1 -0
  148. package/dist/client/assets/{redirect-editor-Hemss65q.js → redirect-editor-jsJZkMt6.js} +1 -1
  149. package/dist/client/assets/registry-9SoXK52t.js +2 -0
  150. package/dist/client/assets/{registry-layout-CBkdLj4-.js → registry-layout-CGeoFuV5.js} +1 -1
  151. package/dist/client/assets/{reports-CMZt_Rx-.js → reports-CvpT5WFy.js} +1 -1
  152. package/dist/client/assets/{require-capability-D9ppE3VS.js → require-capability-D8M-Y-tQ.js} +1 -1
  153. package/dist/client/assets/{required-auth-layout-E07CHFL8.js → required-auth-layout-Byz0Hiq7.js} +1 -1
  154. package/dist/client/assets/{reset-password-BoHzxWwa.js → reset-password-BBbR8Dvr.js} +1 -1
  155. package/dist/client/assets/{roles-DOoqK5-_.js → roles-DP3HNsK-.js} +1 -1
  156. package/dist/client/assets/{search-input-CyJcz7-Y.js → search-input-ByuBxwWl.js} +1 -1
  157. package/dist/client/assets/{secrets-D21wRbyp.js → secrets-BpIzB2n_.js} +1 -1
  158. package/dist/client/assets/{sections-editor-CLb2zwYX.js → sections-editor-CCmNg4ed.js} +1 -1
  159. package/dist/client/assets/{select-BhIlV1o-.js → select-Bu3vna2y.js} +1 -1
  160. package/dist/client/assets/{select-model-dlFD38Cf.js → select-model-DqaRgJTL.js} +1 -1
  161. package/dist/client/assets/{self-tool-result-B5KOne4_.js → self-tool-result-DMIdzy98.js} +1 -1
  162. package/dist/client/assets/{seo-editor-CGZYFegA.js → seo-editor-Dj_-wTyl.js} +1 -1
  163. package/dist/client/assets/{settings-layout-DMdCIcPj.js → settings-layout-DYUge7Gn.js} +1 -1
  164. package/dist/client/assets/{settings-section-Bb6yiz6P.js → settings-section-qFG5AtHG.js} +1 -1
  165. package/dist/client/assets/{shell-controls-Dl18sJw2.js → shell-controls-CC0UVE07.js} +1 -1
  166. package/dist/client/assets/{shell-layout-H-d9VpBZ.js → shell-layout-Bo7fBhiN.js} +1 -1
  167. package/dist/client/assets/{sidebar-8jfhDVTg.js → sidebar-BfVpe63_.js} +1 -1
  168. package/dist/client/assets/{skeleton-BdZPNgtX.js → skeleton-CwiLMDye.js} +1 -1
  169. package/dist/client/assets/{sso-CpG6qoLZ.js → sso-CVOxpOKm.js} +1 -1
  170. package/dist/client/assets/{store-CguKakbB.js → store-3sdOOfV4.js} +1 -1
  171. package/dist/client/assets/store-registry-CnNMcxRb.js +2 -0
  172. package/dist/client/assets/{studio-tools-CeRQ3Ccm.js → studio-tools-CWzROlfc.js} +1 -1
  173. package/dist/client/assets/{switch-B4tN6VwA.js → switch-D4pKS9NE.js} +1 -1
  174. package/dist/client/assets/{table-BB88Q5BJ.js → table-CxrwHPkO.js} +1 -1
  175. package/dist/client/assets/{tabs-CMu1UZTb.js → tabs-6uG0kgV8.js} +1 -1
  176. package/dist/client/assets/{textarea--yK5XGEq.js → textarea-Cgq2D4bR.js} +1 -1
  177. package/dist/client/assets/{toggle-group-BStJjxO7.js → toggle-group-h-N-CO7j.js} +1 -1
  178. package/dist/client/assets/{toolbar-DZahAEOb.js → toolbar-KK2Chfgd.js} +1 -1
  179. package/dist/client/assets/{toolbar-icon-button-DKySc-W5.js → toolbar-icon-button-LGV6sKXY.js} +1 -1
  180. package/dist/client/assets/{tooltip-CoYkdoBn.js → tooltip-Bp3OicLR.js} +1 -1
  181. package/dist/client/assets/{use-ai-providers-Cn1ZnFXz.js → use-ai-providers-xAu-Z5-w.js} +1 -1
  182. package/dist/client/assets/{use-api-keys-D9GFlGEX.js → use-api-keys-TpGSoq0p.js} +1 -1
  183. package/dist/client/assets/{use-automations-2UTlBlKI.js → use-automations-DQehQ_1m.js} +1 -1
  184. package/dist/client/assets/{use-autosave-BAwhWJRc.js → use-autosave-WmJkbHcu.js} +1 -1
  185. package/dist/client/assets/{use-capability-_ArapP6W.js → use-capability-BNZa1Ah_.js} +1 -1
  186. package/dist/client/assets/{use-clock-tick-BLySObD8.js → use-clock-tick-DuGXp9uW.js} +1 -1
  187. package/dist/client/assets/{use-connection-6TZ1_Q4d.js → use-connection-DdYEIBed.js} +1 -1
  188. package/dist/client/assets/{use-copy-DW6RNHuE.js → use-copy-B6Al0Edo.js} +1 -1
  189. package/dist/client/assets/{use-create-virtual-mcp-DihIMJhz.js → use-create-virtual-mcp-BMG0YSmE.js} +1 -1
  190. package/dist/client/assets/{use-debounced-autosave-D9FPYfwY.js → use-debounced-autosave-BR2wlpEk.js} +1 -1
  191. package/dist/client/assets/{use-debounced-value-IYsGPcTT.js → use-debounced-value-9WxNF4PL.js} +1 -1
  192. package/dist/client/assets/{use-deco-credits-BGBhrOB3.js → use-deco-credits-_GzBy3bR.js} +1 -1
  193. package/dist/client/assets/{use-decopilot-events-By4s-W2R.js → use-decopilot-events-Cyooqc_c.js} +1 -1
  194. package/dist/client/assets/{use-delete-connection-D_dcSbDN.js → use-delete-connection-CR0L7faW.js} +1 -1
  195. package/dist/client/assets/{use-deployment-admin-cTspYhyi.js → use-deployment-admin-DMXvVqxc.js} +1 -1
  196. package/dist/client/assets/{use-file-configs-B9uKSYhQ.js → use-file-configs-BpvnYOrC.js} +1 -1
  197. package/dist/client/assets/{use-infinite-scroll-XOEnAKrf.js → use-infinite-scroll-BskuvBcd.js} +1 -1
  198. package/dist/client/assets/{use-join-requests-CQxhuu-G.js → use-join-requests-DJiD1l7E.js} +1 -1
  199. package/dist/client/assets/{use-mcp-auth-status-D8wNyAqD.js → use-mcp-auth-status-D8EM_D94.js} +1 -1
  200. package/dist/client/assets/{use-mcp-client-DaNscGw5.js → use-mcp-client-DD_xgpVv.js} +1 -1
  201. package/dist/client/assets/{use-mcp-tools-zemsgSg7.js → use-mcp-tools-0e4kogo7.js} +1 -1
  202. package/dist/client/assets/{use-members-xgt6Tyrt.js → use-members-kbMHnCOq.js} +1 -1
  203. package/dist/client/assets/{use-mobile-BwJTsAQf.js → use-mobile-CO24ytuv.js} +1 -1
  204. package/dist/client/assets/{use-navigate-to-agent-BGzumayg.js → use-navigate-to-agent-BXhP-NQz.js} +1 -1
  205. package/dist/client/assets/{use-org-auth-client-Fnxa7rmr.js → use-org-auth-client-DLPhwuC1.js} +1 -1
  206. package/dist/client/assets/{use-org-sso-BJhYrwxr.js → use-org-sso-B_43RXYU.js} +1 -1
  207. package/dist/client/assets/{use-organization-roles-D0btwyRs.js → use-organization-roles-CQeVbwc5.js} +1 -1
  208. package/dist/client/assets/{use-organization-settings-Dx-CWBEy.js → use-organization-settings-BhWX6w3B.js} +1 -1
  209. package/dist/client/assets/{use-registry-app-tTVfhA9f.js → use-registry-app-B07j8R6d.js} +1 -1
  210. package/dist/client/assets/{use-registry-connections-DR4YxwLA.js → use-registry-connections-CmxDeiFf.js} +1 -1
  211. package/dist/client/assets/{use-secrets-BGqAmvHw.js → use-secrets-Bu8LSinv.js} +1 -1
  212. package/dist/client/assets/{use-status-sounds-o53XTZ5t.js → use-status-sounds-BkNRpeSq.js} +1 -1
  213. package/dist/client/assets/{use-view-mode-dD2257Fa.js → use-view-mode-BbshC1me.js} +1 -1
  214. package/dist/client/assets/{use-virtual-mcp-Dm9_04bh.js → use-virtual-mcp-CtT6WMkI.js} +1 -1
  215. package/dist/client/assets/useInfiniteQuery-CSGwtQfg.js +1 -0
  216. package/dist/client/assets/{useQueries-CxwXZoah.js → useQueries-C5xaqmJU.js} +1 -1
  217. package/dist/client/assets/{useRouterState-jqGg8hES.js → useRouterState-D2YKLM-W.js} +1 -1
  218. package/dist/client/assets/useSuspenseInfiniteQuery-DS6tOy-t.js +1 -0
  219. package/dist/client/assets/{users-B_-4aaWJ.js → users-yFXycmoA.js} +1 -1
  220. package/dist/client/assets/{variant-calendar-BBcBfS28.js → variant-calendar-DvO87hlE.js} +1 -1
  221. package/dist/client/assets/{view-mode-toggle-CguwVV9l.js → view-mode-toggle-DXAvKBsR.js} +1 -1
  222. package/dist/client/index.html +1 -1
  223. package/dist/server/cli.js +1 -1
  224. package/dist/server/server.js +1 -1
  225. package/package.json +1 -1
  226. package/dist/client/assets/page-seo-sheet-BH2vV15I.js +0 -1
  227. package/dist/client/assets/project-app-view-ChjKJIeB.js +0 -1
  228. package/dist/client/assets/record-editor-aBWU-oFa.js +0 -1
  229. package/dist/client/assets/registry-f1JQG74z.js +0 -2
  230. package/dist/client/assets/store-registry-Dh-udUpG.js +0 -2
  231. package/dist/client/assets/useInfiniteQuery-BSIasBoy.js +0 -1
  232. package/dist/client/assets/useSuspenseInfiniteQuery-B98Cmu_1.js +0 -1
@@ -2796,7 +2796,7 @@ NKEYs are sensitive and should be treated as secrets.
2796
2796
  -----BEGIN USER NKEY SEED-----
2797
2797
  ${G}
2798
2798
  ------END USER NKEY SEED------
2799
- `;return new TextEncoder().encode(X)}var f81,CC,u44,P_$,_81="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",d44,d$,c$,Z6,j_$=24,_C,vJ;var k_$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(f81||(f81={}));(function($){var Z=function(h,m){this.hi=h|0,this.lo=m|0},G=function(h){var m,u=new Float64Array(16);if(h)for(m=0;m<h.length;m++)u[m]=h[m];return u},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),w=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),U=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(h,m){return h<<m|h>>>32-m}function D(h,m){var u=h[m+3]&255;return u=u<<8|h[m+2]&255,u=u<<8|h[m+1]&255,u<<8|h[m+0]&255}function E(h,m){var u=h[m]<<24|h[m+1]<<16|h[m+2]<<8|h[m+3],o=h[m+4]<<24|h[m+5]<<16|h[m+6]<<8|h[m+7];return new Z(u,o)}function L(h,m,u){var o;for(o=0;o<4;o++)h[m+o]=u&255,u>>>=8}function z(h,m,u){h[m]=u.hi>>24&255,h[m+1]=u.hi>>16&255,h[m+2]=u.hi>>8&255,h[m+3]=u.hi&255,h[m+4]=u.lo>>24&255,h[m+5]=u.lo>>16&255,h[m+6]=u.lo>>8&255,h[m+7]=u.lo&255}function j(h,m,u,o,Y0){var K0,f0=0;for(K0=0;K0<Y0;K0++)f0|=h[m+K0]^u[o+K0];return(1&f0-1>>>8)-1}function P(h,m,u,o){return j(h,m,u,o,16)}function A(h,m,u,o){return j(h,m,u,o,32)}function I(h,m,u,o,Y0){var K0=new Uint32Array(16),f0=new Uint32Array(16),m0=new Uint32Array(16),A0=new Uint32Array(4),S0,P0,y0;for(S0=0;S0<4;S0++)f0[5*S0]=D(o,4*S0),f0[1+S0]=D(u,4*S0),f0[6+S0]=D(m,4*S0),f0[11+S0]=D(u,16+4*S0);for(S0=0;S0<16;S0++)m0[S0]=f0[S0];for(S0=0;S0<20;S0++){for(P0=0;P0<4;P0++){for(y0=0;y0<4;y0++)A0[y0]=f0[(5*P0+4*y0)%16];A0[1]^=B(A0[0]+A0[3]|0,7),A0[2]^=B(A0[1]+A0[0]|0,9),A0[3]^=B(A0[2]+A0[1]|0,13),A0[0]^=B(A0[3]+A0[2]|0,18);for(y0=0;y0<4;y0++)K0[4*P0+(P0+y0)%4]=A0[y0]}for(y0=0;y0<16;y0++)f0[y0]=K0[y0]}if(Y0){for(S0=0;S0<16;S0++)f0[S0]=f0[S0]+m0[S0]|0;for(S0=0;S0<4;S0++)f0[5*S0]=f0[5*S0]-D(o,4*S0)|0,f0[6+S0]=f0[6+S0]-D(m,4*S0)|0;for(S0=0;S0<4;S0++)L(h,4*S0,f0[5*S0]),L(h,16+4*S0,f0[6+S0])}else for(S0=0;S0<16;S0++)L(h,4*S0,f0[S0]+m0[S0]|0)}function S(h,m,u,o){return I(h,m,u,o,!1),0}function M(h,m,u,o){return I(h,m,u,o,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function l(h,m,u,o,Y0,K0,f0){var m0=new Uint8Array(16),A0=new Uint8Array(64),S0,P0;if(!Y0)return 0;for(P0=0;P0<16;P0++)m0[P0]=0;for(P0=0;P0<8;P0++)m0[P0]=K0[P0];while(Y0>=64){S(A0,m0,f0,C);for(P0=0;P0<64;P0++)h[m+P0]=(u?u[o+P0]:0)^A0[P0];S0=1;for(P0=8;P0<16;P0++)S0=S0+(m0[P0]&255)|0,m0[P0]=S0&255,S0>>>=8;if(Y0-=64,m+=64,u)o+=64}if(Y0>0){S(A0,m0,f0,C);for(P0=0;P0<Y0;P0++)h[m+P0]=(u?u[o+P0]:0)^A0[P0]}return 0}function b(h,m,u,o,Y0){return l(h,m,null,0,u,o,Y0)}function v(h,m,u,o,Y0){var K0=new Uint8Array(32);return M(K0,o,Y0,C),b(h,m,u,o.subarray(16),K0)}function s(h,m,u,o,Y0,K0,f0){var m0=new Uint8Array(32);return M(m0,K0,f0,C),l(h,m,u,o,Y0,K0.subarray(16),m0)}function n(h,m){var u,o=0;for(u=0;u<17;u++)o=o+(h[u]+m[u]|0)|0,h[u]=o&255,o>>>=8}var W0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function D0(h,m,u,o,Y0,K0){var f0,m0,A0,S0,P0=new Uint32Array(17),y0=new Uint32Array(17),a0=new Uint32Array(17),Z1=new Uint32Array(17),U1=new Uint32Array(17);for(A0=0;A0<17;A0++)y0[A0]=a0[A0]=0;for(A0=0;A0<16;A0++)y0[A0]=K0[A0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Y0>0){for(A0=0;A0<17;A0++)Z1[A0]=0;for(A0=0;A0<16&&A0<Y0;++A0)Z1[A0]=u[o+A0];Z1[A0]=1,o+=A0,Y0-=A0,n(a0,Z1);for(m0=0;m0<17;m0++){P0[m0]=0;for(A0=0;A0<17;A0++)P0[m0]=P0[m0]+a0[A0]*(A0<=m0?y0[m0-A0]:320*y0[m0+17-A0]|0)|0|0}for(m0=0;m0<17;m0++)a0[m0]=P0[m0];S0=0;for(A0=0;A0<16;A0++)S0=S0+a0[A0]|0,a0[A0]=S0&255,S0>>>=8;S0=S0+a0[16]|0,a0[16]=S0&3,S0=5*(S0>>>2)|0;for(A0=0;A0<16;A0++)S0=S0+a0[A0]|0,a0[A0]=S0&255,S0>>>=8;S0=S0+a0[16]|0,a0[16]=S0}for(A0=0;A0<17;A0++)U1[A0]=a0[A0];n(a0,W0),f0=-(a0[16]>>>7)|0;for(A0=0;A0<17;A0++)a0[A0]^=f0&(U1[A0]^a0[A0]);for(A0=0;A0<16;A0++)Z1[A0]=K0[A0+16];Z1[16]=0,n(a0,Z1);for(A0=0;A0<16;A0++)h[m+A0]=a0[A0];return 0}function J0(h,m,u,o,Y0,K0){var f0=new Uint8Array(16);return D0(f0,0,u,o,Y0,K0),P(h,m,f0,0)}function X0(h,m,u,o,Y0){var K0;if(u<32)return-1;s(h,0,m,0,u,o,Y0),D0(h,16,h,32,u-32,h);for(K0=0;K0<16;K0++)h[K0]=0;return 0}function a(h,m,u,o,Y0){var K0,f0=new Uint8Array(32);if(u<32)return-1;if(v(f0,0,32,o,Y0),J0(m,16,m,32,u-32,f0)!==0)return-1;s(h,0,m,0,u,o,Y0);for(K0=0;K0<32;K0++)h[K0]=0;return 0}function E0(h,m){var u;for(u=0;u<16;u++)h[u]=m[u]|0}function U0(h){var m,u;for(u=0;u<16;u++)h[u]+=65536,m=Math.floor(h[u]/65536),h[(u+1)*(u<15?1:0)]+=m-1+37*(m-1)*(u===15?1:0),h[u]-=m*65536}function v0(h,m,u){var o,Y0=~(u-1);for(var K0=0;K0<16;K0++)o=Y0&(h[K0]^m[K0]),h[K0]^=o,m[K0]^=o}function d0(h,m){var u,o,Y0,K0=G(),f0=G();for(u=0;u<16;u++)f0[u]=m[u];U0(f0),U0(f0),U0(f0);for(o=0;o<2;o++){K0[0]=f0[0]-65517;for(u=1;u<15;u++)K0[u]=f0[u]-65535-(K0[u-1]>>16&1),K0[u-1]&=65535;K0[15]=f0[15]-32767-(K0[14]>>16&1),Y0=K0[15]>>16&1,K0[14]&=65535,v0(f0,K0,1-Y0)}for(u=0;u<16;u++)h[2*u]=f0[u]&255,h[2*u+1]=f0[u]>>8}function i0(h,m){var u=new Uint8Array(32),o=new Uint8Array(32);return d0(u,h),d0(o,m),A(u,0,o,0)}function n0(h){var m=new Uint8Array(32);return d0(m,h),m[0]&1}function F0(h,m){var u;for(u=0;u<16;u++)h[u]=m[2*u]+(m[2*u+1]<<8);h[15]&=32767}function C0(h,m,u){var o;for(o=0;o<16;o++)h[o]=m[o]+u[o]|0}function R0(h,m,u){var o;for(o=0;o<16;o++)h[o]=m[o]-u[o]|0}function B0(h,m,u){var o,Y0,K0=new Float64Array(31);for(o=0;o<31;o++)K0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)K0[o+Y0]+=m[o]*u[Y0];for(o=0;o<15;o++)K0[o]+=38*K0[o+16];for(o=0;o<16;o++)h[o]=K0[o];U0(h),U0(h)}function Q0(h,m){B0(h,m,m)}function G0(h,m){var u=G(),o;for(o=0;o<16;o++)u[o]=m[o];for(o=253;o>=0;o--)if(Q0(u,u),o!==2&&o!==4)B0(u,u,m);for(o=0;o<16;o++)h[o]=u[o]}function V0(h,m){var u=G(),o;for(o=0;o<16;o++)u[o]=m[o];for(o=250;o>=0;o--)if(Q0(u,u),o!==1)B0(u,u,m);for(o=0;o<16;o++)h[o]=u[o]}function p(h,m,u){var o=new Uint8Array(32),Y0=new Float64Array(80),K0,f0,m0=G(),A0=G(),S0=G(),P0=G(),y0=G(),a0=G();for(f0=0;f0<31;f0++)o[f0]=m[f0];o[31]=m[31]&127|64,o[0]&=248,F0(Y0,u);for(f0=0;f0<16;f0++)A0[f0]=Y0[f0],P0[f0]=m0[f0]=S0[f0]=0;m0[0]=P0[0]=1;for(f0=254;f0>=0;--f0)K0=o[f0>>>3]>>>(f0&7)&1,v0(m0,A0,K0),v0(S0,P0,K0),C0(y0,m0,S0),R0(m0,m0,S0),C0(S0,A0,P0),R0(A0,A0,P0),Q0(P0,y0),Q0(a0,m0),B0(m0,S0,m0),B0(S0,A0,y0),C0(y0,m0,S0),R0(m0,m0,S0),Q0(A0,m0),R0(S0,P0,a0),B0(m0,S0,K),C0(m0,m0,P0),B0(S0,S0,m0),B0(m0,P0,a0),B0(P0,A0,Y0),Q0(A0,y0),v0(m0,A0,K0),v0(S0,P0,K0);for(f0=0;f0<16;f0++)Y0[f0+16]=m0[f0],Y0[f0+32]=S0[f0],Y0[f0+48]=A0[f0],Y0[f0+64]=P0[f0];var Z1=Y0.subarray(32),U1=Y0.subarray(16);return G0(Z1,Z1),B0(U1,U1,Z1),d0(h,U1),0}function $0(h,m){return p(h,m,Q)}function r0(h,m){return X(m,32),$0(h,m)}function q0(h,m,u){var o=new Uint8Array(32);return p(o,u,m),M(h,Y,o,C)}var M0=X0,g=a;function N0(h,m,u,o,Y0,K0){var f0=new Uint8Array(32);return q0(f0,Y0,K0),M0(h,m,u,o,f0)}function b0(h,m,u,o,Y0,K0){var f0=new Uint8Array(32);return q0(f0,Y0,K0),g(h,m,u,o,f0)}function e0(){var h=0,m=0,u=0,o=0,Y0=65535,K0,f0,m0;for(m0=0;m0<arguments.length;m0++)K0=arguments[m0].lo,f0=arguments[m0].hi,h+=K0&Y0,m+=K0>>>16,u+=f0&Y0,o+=f0>>>16;return m+=h>>>16,u+=m>>>16,o+=u>>>16,new Z(u&Y0|o<<16,h&Y0|m<<16)}function u0(h,m){return new Z(h.hi>>>m,h.lo>>>m|h.hi<<32-m)}function T1(){var h=0,m=0,u;for(u=0;u<arguments.length;u++)h^=arguments[u].lo,m^=arguments[u].hi;return new Z(m,h)}function e1(h,m){var u,o,Y0=32-m;if(m<32)u=h.hi>>>m|h.lo<<Y0,o=h.lo>>>m|h.hi<<Y0;else if(m<64)u=h.lo>>>m|h.hi<<Y0,o=h.hi>>>m|h.lo<<Y0;return new Z(u,o)}function L6(h,m,u){var o=h.hi&m.hi^~h.hi&u.hi,Y0=h.lo&m.lo^~h.lo&u.lo;return new Z(o,Y0)}function Q4(h,m,u){var o=h.hi&m.hi^h.hi&u.hi^m.hi&u.hi,Y0=h.lo&m.lo^h.lo&u.lo^m.lo&u.lo;return new Z(o,Y0)}function c5(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function e(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function w1(h){return T1(e1(h,1),e1(h,8),u0(h,7))}function a$(h){return T1(e1(h,19),e1(h,61),u0(h,6))}var s$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function P9(h,m,u){var o=[],Y0=[],K0=[],f0=[],m0,A0,S0;for(A0=0;A0<8;A0++)o[A0]=K0[A0]=E(h,8*A0);var P0=0;while(u>=128){for(A0=0;A0<16;A0++)f0[A0]=E(m,8*A0+P0);for(A0=0;A0<80;A0++){for(S0=0;S0<8;S0++)Y0[S0]=K0[S0];m0=e0(K0[7],e(K0[4]),L6(K0[4],K0[5],K0[6]),s$[A0],f0[A0%16]),Y0[7]=e0(m0,c5(K0[0]),Q4(K0[0],K0[1],K0[2])),Y0[3]=e0(Y0[3],m0);for(S0=0;S0<8;S0++)K0[(S0+1)%8]=Y0[S0];if(A0%16===15)for(S0=0;S0<16;S0++)f0[S0]=e0(f0[S0],f0[(S0+9)%16],w1(f0[(S0+1)%16]),a$(f0[(S0+14)%16]))}for(A0=0;A0<8;A0++)K0[A0]=e0(K0[A0],o[A0]),o[A0]=K0[A0];P0+=128,u-=128}for(A0=0;A0<8;A0++)z(h,8*A0,o[A0]);return u}var lG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function M8(h,m,u){var o=new Uint8Array(64),Y0=new Uint8Array(256),K0,f0=u;for(K0=0;K0<64;K0++)o[K0]=lG[K0];P9(o,m,u),u%=128;for(K0=0;K0<256;K0++)Y0[K0]=0;for(K0=0;K0<u;K0++)Y0[K0]=m[f0-u+K0];Y0[u]=128,u=256-128*(u<112?1:0),Y0[u-9]=0,z(Y0,u-8,new Z(f0/536870912|0,f0<<3)),P9(o,Y0,u);for(K0=0;K0<64;K0++)h[K0]=o[K0];return 0}function C6(h,m){var u=G(),o=G(),Y0=G(),K0=G(),f0=G(),m0=G(),A0=G(),S0=G(),P0=G();R0(u,h[1],h[0]),R0(P0,m[1],m[0]),B0(u,u,P0),C0(o,h[0],h[1]),C0(P0,m[0],m[1]),B0(o,o,P0),B0(Y0,h[3],m[3]),B0(Y0,Y0,U),B0(K0,h[2],m[2]),C0(K0,K0,K0),R0(f0,o,u),R0(m0,K0,Y0),C0(A0,K0,Y0),C0(S0,o,u),B0(h[0],f0,m0),B0(h[1],S0,A0),B0(h[2],A0,m0),B0(h[3],f0,S0)}function $5(h,m,u){var o;for(o=0;o<4;o++)v0(h[o],m[o],u)}function I5(h,m){var u=G(),o=G(),Y0=G();G0(Y0,m[2]),B0(u,m[0],Y0),B0(o,m[1],Y0),d0(h,o),h[31]^=n0(u)<<7}function Q9(h,m,u){var o,Y0;E0(h[0],J),E0(h[1],W),E0(h[2],W),E0(h[3],J);for(Y0=255;Y0>=0;--Y0)o=u[Y0/8|0]>>(Y0&7)&1,$5(h,m,o),C6(m,h),C6(h,h),$5(h,m,o)}function A9(h,m){var u=[G(),G(),G(),G()];E0(u[0],F),E0(u[1],H),E0(u[2],W),B0(u[3],F,H),Q9(h,u,m)}function v1(h,m,u){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],K0;if(!u)X(m,32);M8(o,m,32),o[0]&=248,o[31]&=127,o[31]|=64,A9(Y0,o),I5(h,Y0);for(K0=0;K0<32;K0++)m[K0+32]=h[K0];return 0}var k8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S8(h,m){var u,o,Y0,K0;for(o=63;o>=32;--o){u=0;for(Y0=o-32,K0=o-12;Y0<K0;++Y0)m[Y0]+=u-16*m[o]*k8[Y0-(o-32)],u=Math.floor((m[Y0]+128)/256),m[Y0]-=u*256;m[Y0]+=u,m[o]=0}u=0;for(Y0=0;Y0<32;Y0++)m[Y0]+=u-(m[31]>>4)*k8[Y0],u=m[Y0]>>8,m[Y0]&=255;for(Y0=0;Y0<32;Y0++)m[Y0]-=u*k8[Y0];for(o=0;o<32;o++)m[o+1]+=m[o]>>8,h[o]=m[o]&255}function G6(h){var m=new Float64Array(64),u;for(u=0;u<64;u++)m[u]=h[u];for(u=0;u<64;u++)h[u]=0;S8(h,m)}function b$(h,m,u,o){var Y0=new Uint8Array(64),K0=new Uint8Array(64),f0=new Uint8Array(64),m0,A0,S0=new Float64Array(64),P0=[G(),G(),G(),G()];M8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var y0=u+64;for(m0=0;m0<u;m0++)h[64+m0]=m[m0];for(m0=0;m0<32;m0++)h[32+m0]=Y0[32+m0];M8(f0,h.subarray(32),u+32),G6(f0),A9(P0,f0),I5(h,P0);for(m0=32;m0<64;m0++)h[m0]=o[m0];M8(K0,h,u+64),G6(K0);for(m0=0;m0<64;m0++)S0[m0]=0;for(m0=0;m0<32;m0++)S0[m0]=f0[m0];for(m0=0;m0<32;m0++)for(A0=0;A0<32;A0++)S0[m0+A0]+=K0[m0]*Y0[A0];return S8(h.subarray(32),S0),y0}function F8(h,m){var u=G(),o=G(),Y0=G(),K0=G(),f0=G(),m0=G(),A0=G();if(E0(h[2],W),F0(h[1],m),Q0(Y0,h[1]),B0(K0,Y0,w),R0(Y0,Y0,h[2]),C0(K0,h[2],K0),Q0(f0,K0),Q0(m0,f0),B0(A0,m0,f0),B0(u,A0,Y0),B0(u,u,K0),V0(u,u),B0(u,u,Y0),B0(u,u,K0),B0(u,u,K0),B0(h[0],u,K0),Q0(o,h[0]),B0(o,o,K0),i0(o,Y0))B0(h[0],h[0],N);if(Q0(o,h[0]),B0(o,o,K0),i0(o,Y0))return-1;if(n0(h[0])===m[31]>>7)R0(h[0],J,h[0]);return B0(h[3],h[0],h[1]),0}function j7(h,m,u,o){var Y0,K0=new Uint8Array(32),f0=new Uint8Array(64),m0=[G(),G(),G(),G()],A0=[G(),G(),G(),G()];if(u<64)return-1;if(F8(A0,o))return-1;for(Y0=0;Y0<u;Y0++)h[Y0]=m[Y0];for(Y0=0;Y0<32;Y0++)h[Y0+32]=o[Y0];if(M8(f0,h,u),G6(f0),Q9(m0,A0,f0),A9(A0,m.subarray(32)),C6(m0,A0),I5(K0,m0),u-=64,A(m,0,K0,0)){for(Y0=0;Y0<u;Y0++)h[Y0]=0;return-1}for(Y0=0;Y0<u;Y0++)h[Y0]=m[Y0+64];return u}var k$=32,n6=24,e6=32,r8=16,Z5=32,V=32,d=32,c=32,R=32,r=n6,x0=e6,l0=r8,K1=64,H1=32,g1=64,f1=32,Q8=64;$.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:s,crypto_stream:v,crypto_stream_salsa20_xor:l,crypto_stream_salsa20:b,crypto_onetimeauth:D0,crypto_onetimeauth_verify:J0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:X0,crypto_secretbox_open:a,crypto_scalarmult:p,crypto_scalarmult_base:$0,crypto_box_beforenm:q0,crypto_box_afternm:M0,crypto_box:N0,crypto_box_open:b0,crypto_box_keypair:r0,crypto_hash:M8,crypto_sign:b$,crypto_sign_keypair:v1,crypto_sign_open:j7,crypto_secretbox_KEYBYTES:k$,crypto_secretbox_NONCEBYTES:n6,crypto_secretbox_ZEROBYTES:e6,crypto_secretbox_BOXZEROBYTES:r8,crypto_scalarmult_BYTES:Z5,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:d,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:R,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:x0,crypto_box_BOXZEROBYTES:l0,crypto_sign_BYTES:K1,crypto_sign_PUBLICKEYBYTES:H1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:f1,crypto_hash_BYTES:Q8,gf:G,D:w,L:k8,pack25519:d0,unpack25519:F0,M:B0,A:C0,S:Q0,Z:R0,pow2523:V0,add:C6,set25519:E0,modL:S8,scalarmult:Q9,scalarbase:A9};function c1(h,m){if(h.length!==k$)throw Error("bad key size");if(m.length!==n6)throw Error("bad nonce size")}function z$(h,m){if(h.length!==d)throw Error("bad public key size");if(m.length!==c)throw Error("bad secret key size")}function Y$(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function y$(h){for(var m=0;m<h.length;m++)h[m]=0}$.randomBytes=function(h){var m=new Uint8Array(h);return X(m,h),m},$.secretbox=function(h,m,u){Y$(h,m,u),c1(u,m);var o=new Uint8Array(e6+h.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<h.length;K0++)o[K0+e6]=h[K0];return X0(Y0,o,o.length,m,u),Y0.subarray(r8)},$.secretbox.open=function(h,m,u){Y$(h,m,u),c1(u,m);var o=new Uint8Array(r8+h.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<h.length;K0++)o[K0+r8]=h[K0];if(o.length<32)return null;if(a(Y0,o,o.length,m,u)!==0)return null;return Y0.subarray(e6)},$.secretbox.keyLength=k$,$.secretbox.nonceLength=n6,$.secretbox.overheadLength=r8,$.scalarMult=function(h,m){if(Y$(h,m),h.length!==V)throw Error("bad n size");if(m.length!==Z5)throw Error("bad p size");var u=new Uint8Array(Z5);return p(u,h,m),u},$.scalarMult.base=function(h){if(Y$(h),h.length!==V)throw Error("bad n size");var m=new Uint8Array(Z5);return $0(m,h),m},$.scalarMult.scalarLength=V,$.scalarMult.groupElementLength=Z5,$.box=function(h,m,u,o){var Y0=$.box.before(u,o);return $.secretbox(h,m,Y0)},$.box.before=function(h,m){Y$(h,m),z$(h,m);var u=new Uint8Array(R);return q0(u,h,m),u},$.box.after=$.secretbox,$.box.open=function(h,m,u,o){var Y0=$.box.before(u,o);return $.secretbox.open(h,m,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var h=new Uint8Array(d),m=new Uint8Array(c);return r0(h,m),{publicKey:h,secretKey:m}},$.box.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==c)throw Error("bad secret key size");var m=new Uint8Array(d);return $0(m,h),{publicKey:m,secretKey:new Uint8Array(h)}},$.box.publicKeyLength=d,$.box.secretKeyLength=c,$.box.sharedKeyLength=R,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(h,m){if(Y$(h,m),m.length!==g1)throw Error("bad secret key size");var u=new Uint8Array(K1+h.length);return b$(u,h,h.length,m),u},$.sign.open=function(h,m){if(Y$(h,m),m.length!==H1)throw Error("bad public key size");var u=new Uint8Array(h.length),o=j7(u,h,h.length,m);if(o<0)return null;var Y0=new Uint8Array(o);for(var K0=0;K0<Y0.length;K0++)Y0[K0]=u[K0];return Y0},$.sign.detached=function(h,m){var u=$.sign(h,m),o=new Uint8Array(K1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=u[Y0];return o},$.sign.detached.verify=function(h,m,u){if(Y$(h,m,u),m.length!==K1)throw Error("bad signature size");if(u.length!==H1)throw Error("bad public key size");var o=new Uint8Array(K1+h.length),Y0=new Uint8Array(K1+h.length),K0;for(K0=0;K0<K1;K0++)o[K0]=m[K0];for(K0=0;K0<h.length;K0++)o[K0+K1]=h[K0];return j7(Y0,o,o.length,u)>=0},$.sign.keyPair=function(){var h=new Uint8Array(H1),m=new Uint8Array(g1);return v1(h,m),{publicKey:h,secretKey:m}},$.sign.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==g1)throw Error("bad secret key size");var m=new Uint8Array(H1);for(var u=0;u<m.length;u++)m[u]=h[32+u];return{publicKey:m,secretKey:new Uint8Array(h)}},$.sign.keyPair.fromSeed=function(h){if(Y$(h),h.length!==f1)throw Error("bad seed size");var m=new Uint8Array(H1),u=new Uint8Array(g1);for(var o=0;o<32;o++)u[o]=h[o];return v1(m,u,!0),{publicKey:m,secretKey:u}},$.sign.publicKeyLength=H1,$.sign.secretKeyLength=g1,$.sign.seedLength=f1,$.sign.signatureLength=K1,$.hash=function(h){Y$(h);var m=new Uint8Array(Q8);return M8(m,h,h.length),m},$.hash.hashLength=Q8,$.verify=function(h,m){if(Y$(h,m),h.length===0||m.length===0)return!1;if(h.length!==m.length)return!1;return j(h,0,m,0,h.length)===0?!0:!1},$.setPRNG=function(h){X=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var m=65536;$.setPRNG(function(u,o){var Y0,K0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=m)h.getRandomValues(K0.subarray(Y0,Y0+Math.min(o-Y0,m)));for(Y0=0;Y0<o;Y0++)u[Y0]=K0[Y0];y$(K0)})}else if(h=c0("crypto"),h&&h.randomBytes)$.setPRNG(function(u,o){var Y0,K0=h.randomBytes(o);for(Y0=0;Y0<o;Y0++)u[Y0]=K0[Y0];y$(K0)})}()})(typeof ug<"u"&&bGZ?bGZ:globalThis.nacl=globalThis.nacl||{});CC=typeof ug<"u"&&bGZ?bGZ:globalThis.nacl,u44={fromSeed:CC.sign.keyPair.fromSeed,sign:CC.sign.detached,verify:CC.sign.detached.verify,randomBytes:CC.randomBytes,scalarBaseMultiply:CC.scalarMult.base,seal:CC.box,open:CC.box.open};d44=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);d$=class d$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(c$||(c$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(Z6||(Z6={}));_C=[120,107,118,49];c44(u44);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(vJ||(vJ={}))});function g81($){try{$?.clear?.()}catch{}}async function S_$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=q_$($),W=v81(J.sub),K=y81(new TextEncoder().encode(Z)),w=A_$();try{let U=await I_$(Y,w,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:vJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(M_$(U,w))}finally{g81(w),g81(K),g81(W)}}var V_$=O(()=>{k_$()});function e44($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function C_$(){let $=new V1;return $.post("/links/session",async(Z)=>{let X=Z.get("studioContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=W1();if(!Y.natsTunnelPublicEnabled)return Z.json(h81(),503);if(!Y.natsPublicUrl)return Z.json(h81(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(h81(),503)}let Q=xJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await S_$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:E_$(Q),userId:X,allowedConnectionTypes:e44(Y.natsPublicUrl)})}return Z.json(L_$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var h81=()=>({error:"link session unavailable"});var __$=O(()=>{d8();V$();z_$();V_$()});async function G54($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function f_$($){let{ctx:Z,runner:G,claimName:X,sandboxId:Y,organizationId:Q,virtualMcpId:J,branch:W}=$;if(Y.scope==="shared"){let K={organizationId:Q,virtualMcpId:J,branch:W};try{let w=await Z.storage.agentSandboxSessions.withLock(K,(U)=>U.beginReap(K,X));if(!w)return;try{await G.delete(X,Y)}finally{await Z.storage.agentSandboxSessions.withLock(K,(U)=>U.completeReap(K,w.generation,X))}}catch(w){console.warn(`[vm-events] shared cleanup failed for ${J}/${W}: ${w instanceof Error?w.message:String(w)}`)}return}try{await G.delete(X,Y)}catch(K){console.warn(`[vm-events] runner.delete failed for ${X}: ${K instanceof Error?K.message:String(K)}`)}}async function X54($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,w=(H)=>{if(J)return;J=!0,clearTimeout(U),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},U=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),w(!1)},$54),F=()=>w(!1);Y.addEventListener("abort",F,{once:!0}),K=fn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")w(!0);else if(H.kind==="failed")w(!1)})})}async function Y54($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(w){if(Y.aborted)return;if(Date.now()-Q<b_$){await O8(x_$,{signal:Y}).catch(()=>{});continue}let U=w instanceof Error?w.message:String(w);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<b_$){await O8(x_$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:w}=await W.read();if(w)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var $54=90000,Z54=15000,v_$=()=>{let $=new V1;return $.get("/",async(Z)=>{let G=Z.var.studioContext;try{T0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=b1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=O0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=jX({orgId:Y.id,virtualMcpId:Q,branch:J}),w=W.metadata??null,U,F=null,H=null;try{let z=await bX(G,{userId:X,branch:J,virtualMcpId:Q,virtualMcpMetadata:w});U=z.provider,F=z.kind}catch(z){H=z instanceof Error?z:Error(String(z)),U=null}let N=F==="agent-sandbox"&&W1().sharedAgentSandboxesEnabled?vQ(K):ME(X,K),B=lW(N,J),D=N.scope==="shared"?await G.storage.agentSandboxSessions.find({organizationId:Y.id,virtualMcpId:Q,branch:J}):null,E=N.scope==="shared"?D?.sandboxHandle&&D.status==="ready"?{sandboxHandle:D.sandboxHandle,sandboxProviderKind:"agent-sandbox"}:null:F&&eW(H5(w),X,J,F),L=!!E&&E.sandboxHandle===B;if(!U)return Z3(Z,async(z)=>{await z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:H?.message??"No sandbox runner configured on this studio instance."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),Z3(Z,async(z)=>{let j=new AbortController,P=setInterval(()=>{z.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(P)})},Z54);z.onAbort(()=>{j.abort(),clearInterval(P)});try{if(N.scope==="shared"&&D?.desiredState==="stopped"){if(D.status==="stopping"||D.status==="deleting"){let I=D.status,S=!0;try{let M=D.sandboxHandle??(I==="deleting"?B:null);if(M)await U.delete(M,N)}catch(M){S=!1,console.warn(`[vm-events] failed to resume shared stop for ${Q}/${J}: ${M instanceof Error?M.message:String(M)}`)}finally{if(I!=="deleting"||S){let M={organizationId:Y.id,virtualMcpId:Q,branch:J};await G.storage.agentSandboxSessions.withLock(M,(C)=>I==="deleting"?C.completeDelete(M,D.generation):C.completeStop(M,D.generation))}}}await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(N.scope==="shared"&&D?.status==="reaping"&&D.sandboxHandle){await f_$({ctx:G,runner:U,claimName:D.sandboxHandle,sandboxId:N,organizationId:Y.id,virtualMcpId:Q,branch:J}),await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(L&&F){if(await G54(U,B)){await f_$({ctx:G,runner:U,claimName:B,sandboxId:N,organizationId:Y.id,virtualMcpId:Q,branch:J}),await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await X54({stream:z,claimName:B,runner:U,signal:j.signal})||j.signal.aborted)return;await Y54({stream:z,runner:U,claimName:B,signal:j.signal})}finally{clearInterval(P)}})}),$},b_$=60000,x_$=500;var y_$=O(()=>{d8();kC();qY();d5();xv();bv();VV();fX();V$()});function J54($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function W54($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(Q54)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var Q54=1e4,K54=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},g_$=()=>{let $=new V1;return $.use("*",K54),$.get("/",async(Z)=>{let G=W1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await W54(X,Y);return Z.json({apps:J54(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var h_$=O(()=>{d8();V$()});import{z as h1}from"zod";function RK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function L54($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function z54($,Z,G){try{return JSON.parse($)}catch{throw new d_$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function j54($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:z54(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function P54($){let Z=$.map((G)=>{let X=G.function.parameters?LY(G.function.parameters):LY({type:"object",properties:{}});return[G.function.name,x$({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function A54($){if(!$)return;return{openai:{response_format:$}}}function T54(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function u_$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function c_$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var w54=256,U54,F54,H54,N54,B54,O54,D54,E54,d_$,l_$,m_$;var i_$=O(()=>{K6();d8();kC();U54=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),F54=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),H54=h1.discriminatedUnion("role",[h1.object({role:h1.literal("system"),content:h1.string(),name:h1.string().optional()}),h1.object({role:h1.literal("user"),content:h1.union([h1.string(),h1.array(h1.union([h1.object({type:h1.literal("text"),text:h1.string()}),h1.object({type:h1.literal("image_url"),image_url:h1.object({url:h1.string(),detail:h1.string().optional()})})]))]),name:h1.string().optional()}),h1.object({role:h1.literal("assistant"),content:h1.string().nullable().optional(),name:h1.string().optional(),tool_calls:h1.array(F54).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),N54=h1.object({type:h1.literal("text")}),B54=h1.object({type:h1.literal("json_object")}),O54=h1.object({type:h1.literal("json_schema"),json_schema:h1.object({name:h1.string(),description:h1.string().optional(),schema:h1.record(h1.string(),h1.unknown()),strict:h1.boolean().optional()})}),D54=h1.union([N54,B54,O54]),E54=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(H54),stream:h1.boolean().optional().default(!1),temperature:h1.number().min(0).max(2).optional(),max_tokens:h1.number().positive().optional(),top_p:h1.number().min(0).max(1).optional(),frequency_penalty:h1.number().min(-2).max(2).optional(),presence_penalty:h1.number().min(-2).max(2).optional(),stop:h1.union([h1.string(),h1.array(h1.string())]).optional(),tools:h1.array(U54).optional(),tool_choice:h1.union([h1.literal("auto"),h1.literal("none"),h1.literal("required"),h1.object({type:h1.literal("function"),function:h1.object({name:h1.string()})})]).optional(),response_format:D54.optional(),user:h1.string().optional()});d_$=class d_$ extends Error{constructor($){super($);this.name="MessageConversionError"}};l_$=new V1;l_$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(RK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(RK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(RK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=E54.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(RK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=L54(Q.model);if(!J)return $.json(RK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(RK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let w;try{w=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(RK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=w.aiSdk.languageModel(K),F=j54(Q.messages),H=Q.tools?P54(Q.tools):void 0,N=A54(Q.response_format),B=T54(),D=Math.floor(Date.now()/1000);if(Q.stream)return Z3($,async(E)=>{let L=u_$(U,F,H,Q,N,$.req.raw.signal);try{let z=dQ(L),j=!1,P=0,A="",I=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=w54)await I()}else if(S.type==="tool-call"){await I();let M=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:M,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await I(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:c_$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await I(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=u_$(U,F,H,Q,N,$.req.raw.signal),L=await xN(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:c_$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(RK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(RK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(RK(Y.message,"server_error"),500)}});m_$=l_$});var p_$;var n_$=O(()=>{p_$={name:"decocms",version:"4.109.1",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0",echarts:"^5.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});function q54(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??I54}}var t_$,I54="https://ph.studio.decocms.com",r_$;var o_$=O(()=>{d8();Pb0();tN();S7();V$();u01();n_$();t_$=new V1;t_$.get("/",($)=>{let Z={version:p_$.version,theme:ef1(),...eO().logo&&{logo:eO().logo},...mQ()&&{internalUrl:E00()},...W1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!W1().firecrawlApiKey,auth:J2$(),posthog:q54(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!mQ()&&W1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});r_$=t_$});function Hz0($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function s_$($){return(Hz0($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function e_$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(Hz0($))}&sz=${Z}`}function a_$($,Z){let G=$.trim();if(G.length<=Z)return G;let X=G.slice(0,Z-1),Y=X.lastIndexOf(" ");return`${(Y>Z*0.6?X.slice(0,Y):X).trimEnd()}\u2026`}function $f$($){let{brand:Z,domain:G,score:X,verdict:Y}=$,Q=typeof X==="number"?`${Z} commerce report \u2014 ${Math.round(X)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Y?.trim()?a_$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):a_$(`How does ${G} really perform? ${J}`,200);return{title:Q,description:W}}import{join as M54}from"path";function hU($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function k54($){let Z=Hz0($),G=s_$(Z),X=e_$(Z,128),Q=`${(W1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Z)}`,{title:J,description:W}=$f$({brand:G,domain:Z});return[`<title>${hU(J)}</title>`,`<meta name="description" content="${hU(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${hU(J)}" />`,`<meta property="og:description" content="${hU(W)}" />`,`<meta property="og:url" content="${hU(Q)}" />`,'<meta name="twitter:card" content="summary" />',`<meta name="twitter:title" content="${hU(J)}" />`,`<meta name="twitter:description" content="${hU(W)}" />`,`<link rel="canonical" href="${hU(Q)}" />`,`<link rel="icon" href="${hU(X)}" sizes="any" />`].join(`
2799
+ `;return new TextEncoder().encode(X)}var f81,CC,u44,P_$,_81="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",d44,d$,c$,Z6,j_$=24,_C,vJ;var k_$=O(()=>{(function($){$.Operator="operator",$.Account="account",$.User="user",$.Activation="activation",$.AuthorizationResponse="authorization_response"})(f81||(f81={}));(function($){var Z=function(h,m){this.hi=h|0,this.lo=m|0},G=function(h){var m,u=new Float64Array(16);if(h)for(m=0;m<h.length;m++)u[m]=h[m];return u},X=function(){throw Error("no PRNG")},Y=new Uint8Array(16),Q=new Uint8Array(32);Q[0]=9;var J=G(),W=G([1]),K=G([56129,1]),w=G([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),U=G([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),F=G([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),H=G([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),N=G([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function B(h,m){return h<<m|h>>>32-m}function D(h,m){var u=h[m+3]&255;return u=u<<8|h[m+2]&255,u=u<<8|h[m+1]&255,u<<8|h[m+0]&255}function E(h,m){var u=h[m]<<24|h[m+1]<<16|h[m+2]<<8|h[m+3],o=h[m+4]<<24|h[m+5]<<16|h[m+6]<<8|h[m+7];return new Z(u,o)}function L(h,m,u){var o;for(o=0;o<4;o++)h[m+o]=u&255,u>>>=8}function z(h,m,u){h[m]=u.hi>>24&255,h[m+1]=u.hi>>16&255,h[m+2]=u.hi>>8&255,h[m+3]=u.hi&255,h[m+4]=u.lo>>24&255,h[m+5]=u.lo>>16&255,h[m+6]=u.lo>>8&255,h[m+7]=u.lo&255}function j(h,m,u,o,Y0){var K0,f0=0;for(K0=0;K0<Y0;K0++)f0|=h[m+K0]^u[o+K0];return(1&f0-1>>>8)-1}function P(h,m,u,o){return j(h,m,u,o,16)}function A(h,m,u,o){return j(h,m,u,o,32)}function I(h,m,u,o,Y0){var K0=new Uint32Array(16),f0=new Uint32Array(16),m0=new Uint32Array(16),A0=new Uint32Array(4),S0,P0,y0;for(S0=0;S0<4;S0++)f0[5*S0]=D(o,4*S0),f0[1+S0]=D(u,4*S0),f0[6+S0]=D(m,4*S0),f0[11+S0]=D(u,16+4*S0);for(S0=0;S0<16;S0++)m0[S0]=f0[S0];for(S0=0;S0<20;S0++){for(P0=0;P0<4;P0++){for(y0=0;y0<4;y0++)A0[y0]=f0[(5*P0+4*y0)%16];A0[1]^=B(A0[0]+A0[3]|0,7),A0[2]^=B(A0[1]+A0[0]|0,9),A0[3]^=B(A0[2]+A0[1]|0,13),A0[0]^=B(A0[3]+A0[2]|0,18);for(y0=0;y0<4;y0++)K0[4*P0+(P0+y0)%4]=A0[y0]}for(y0=0;y0<16;y0++)f0[y0]=K0[y0]}if(Y0){for(S0=0;S0<16;S0++)f0[S0]=f0[S0]+m0[S0]|0;for(S0=0;S0<4;S0++)f0[5*S0]=f0[5*S0]-D(o,4*S0)|0,f0[6+S0]=f0[6+S0]-D(m,4*S0)|0;for(S0=0;S0<4;S0++)L(h,4*S0,f0[5*S0]),L(h,16+4*S0,f0[6+S0])}else for(S0=0;S0<16;S0++)L(h,4*S0,f0[S0]+m0[S0]|0)}function S(h,m,u,o){return I(h,m,u,o,!1),0}function M(h,m,u,o){return I(h,m,u,o,!0),0}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function l(h,m,u,o,Y0,K0,f0){var m0=new Uint8Array(16),A0=new Uint8Array(64),S0,P0;if(!Y0)return 0;for(P0=0;P0<16;P0++)m0[P0]=0;for(P0=0;P0<8;P0++)m0[P0]=K0[P0];while(Y0>=64){S(A0,m0,f0,C);for(P0=0;P0<64;P0++)h[m+P0]=(u?u[o+P0]:0)^A0[P0];S0=1;for(P0=8;P0<16;P0++)S0=S0+(m0[P0]&255)|0,m0[P0]=S0&255,S0>>>=8;if(Y0-=64,m+=64,u)o+=64}if(Y0>0){S(A0,m0,f0,C);for(P0=0;P0<Y0;P0++)h[m+P0]=(u?u[o+P0]:0)^A0[P0]}return 0}function b(h,m,u,o,Y0){return l(h,m,null,0,u,o,Y0)}function v(h,m,u,o,Y0){var K0=new Uint8Array(32);return M(K0,o,Y0,C),b(h,m,u,o.subarray(16),K0)}function s(h,m,u,o,Y0,K0,f0){var m0=new Uint8Array(32);return M(m0,K0,f0,C),l(h,m,u,o,Y0,K0.subarray(16),m0)}function n(h,m){var u,o=0;for(u=0;u<17;u++)o=o+(h[u]+m[u]|0)|0,h[u]=o&255,o>>>=8}var W0=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function D0(h,m,u,o,Y0,K0){var f0,m0,A0,S0,P0=new Uint32Array(17),y0=new Uint32Array(17),a0=new Uint32Array(17),Z1=new Uint32Array(17),U1=new Uint32Array(17);for(A0=0;A0<17;A0++)y0[A0]=a0[A0]=0;for(A0=0;A0<16;A0++)y0[A0]=K0[A0];y0[3]&=15,y0[4]&=252,y0[7]&=15,y0[8]&=252,y0[11]&=15,y0[12]&=252,y0[15]&=15;while(Y0>0){for(A0=0;A0<17;A0++)Z1[A0]=0;for(A0=0;A0<16&&A0<Y0;++A0)Z1[A0]=u[o+A0];Z1[A0]=1,o+=A0,Y0-=A0,n(a0,Z1);for(m0=0;m0<17;m0++){P0[m0]=0;for(A0=0;A0<17;A0++)P0[m0]=P0[m0]+a0[A0]*(A0<=m0?y0[m0-A0]:320*y0[m0+17-A0]|0)|0|0}for(m0=0;m0<17;m0++)a0[m0]=P0[m0];S0=0;for(A0=0;A0<16;A0++)S0=S0+a0[A0]|0,a0[A0]=S0&255,S0>>>=8;S0=S0+a0[16]|0,a0[16]=S0&3,S0=5*(S0>>>2)|0;for(A0=0;A0<16;A0++)S0=S0+a0[A0]|0,a0[A0]=S0&255,S0>>>=8;S0=S0+a0[16]|0,a0[16]=S0}for(A0=0;A0<17;A0++)U1[A0]=a0[A0];n(a0,W0),f0=-(a0[16]>>>7)|0;for(A0=0;A0<17;A0++)a0[A0]^=f0&(U1[A0]^a0[A0]);for(A0=0;A0<16;A0++)Z1[A0]=K0[A0+16];Z1[16]=0,n(a0,Z1);for(A0=0;A0<16;A0++)h[m+A0]=a0[A0];return 0}function J0(h,m,u,o,Y0,K0){var f0=new Uint8Array(16);return D0(f0,0,u,o,Y0,K0),P(h,m,f0,0)}function X0(h,m,u,o,Y0){var K0;if(u<32)return-1;s(h,0,m,0,u,o,Y0),D0(h,16,h,32,u-32,h);for(K0=0;K0<16;K0++)h[K0]=0;return 0}function a(h,m,u,o,Y0){var K0,f0=new Uint8Array(32);if(u<32)return-1;if(v(f0,0,32,o,Y0),J0(m,16,m,32,u-32,f0)!==0)return-1;s(h,0,m,0,u,o,Y0);for(K0=0;K0<32;K0++)h[K0]=0;return 0}function E0(h,m){var u;for(u=0;u<16;u++)h[u]=m[u]|0}function U0(h){var m,u;for(u=0;u<16;u++)h[u]+=65536,m=Math.floor(h[u]/65536),h[(u+1)*(u<15?1:0)]+=m-1+37*(m-1)*(u===15?1:0),h[u]-=m*65536}function v0(h,m,u){var o,Y0=~(u-1);for(var K0=0;K0<16;K0++)o=Y0&(h[K0]^m[K0]),h[K0]^=o,m[K0]^=o}function d0(h,m){var u,o,Y0,K0=G(),f0=G();for(u=0;u<16;u++)f0[u]=m[u];U0(f0),U0(f0),U0(f0);for(o=0;o<2;o++){K0[0]=f0[0]-65517;for(u=1;u<15;u++)K0[u]=f0[u]-65535-(K0[u-1]>>16&1),K0[u-1]&=65535;K0[15]=f0[15]-32767-(K0[14]>>16&1),Y0=K0[15]>>16&1,K0[14]&=65535,v0(f0,K0,1-Y0)}for(u=0;u<16;u++)h[2*u]=f0[u]&255,h[2*u+1]=f0[u]>>8}function i0(h,m){var u=new Uint8Array(32),o=new Uint8Array(32);return d0(u,h),d0(o,m),A(u,0,o,0)}function n0(h){var m=new Uint8Array(32);return d0(m,h),m[0]&1}function F0(h,m){var u;for(u=0;u<16;u++)h[u]=m[2*u]+(m[2*u+1]<<8);h[15]&=32767}function C0(h,m,u){var o;for(o=0;o<16;o++)h[o]=m[o]+u[o]|0}function R0(h,m,u){var o;for(o=0;o<16;o++)h[o]=m[o]-u[o]|0}function B0(h,m,u){var o,Y0,K0=new Float64Array(31);for(o=0;o<31;o++)K0[o]=0;for(o=0;o<16;o++)for(Y0=0;Y0<16;Y0++)K0[o+Y0]+=m[o]*u[Y0];for(o=0;o<15;o++)K0[o]+=38*K0[o+16];for(o=0;o<16;o++)h[o]=K0[o];U0(h),U0(h)}function Q0(h,m){B0(h,m,m)}function G0(h,m){var u=G(),o;for(o=0;o<16;o++)u[o]=m[o];for(o=253;o>=0;o--)if(Q0(u,u),o!==2&&o!==4)B0(u,u,m);for(o=0;o<16;o++)h[o]=u[o]}function V0(h,m){var u=G(),o;for(o=0;o<16;o++)u[o]=m[o];for(o=250;o>=0;o--)if(Q0(u,u),o!==1)B0(u,u,m);for(o=0;o<16;o++)h[o]=u[o]}function p(h,m,u){var o=new Uint8Array(32),Y0=new Float64Array(80),K0,f0,m0=G(),A0=G(),S0=G(),P0=G(),y0=G(),a0=G();for(f0=0;f0<31;f0++)o[f0]=m[f0];o[31]=m[31]&127|64,o[0]&=248,F0(Y0,u);for(f0=0;f0<16;f0++)A0[f0]=Y0[f0],P0[f0]=m0[f0]=S0[f0]=0;m0[0]=P0[0]=1;for(f0=254;f0>=0;--f0)K0=o[f0>>>3]>>>(f0&7)&1,v0(m0,A0,K0),v0(S0,P0,K0),C0(y0,m0,S0),R0(m0,m0,S0),C0(S0,A0,P0),R0(A0,A0,P0),Q0(P0,y0),Q0(a0,m0),B0(m0,S0,m0),B0(S0,A0,y0),C0(y0,m0,S0),R0(m0,m0,S0),Q0(A0,m0),R0(S0,P0,a0),B0(m0,S0,K),C0(m0,m0,P0),B0(S0,S0,m0),B0(m0,P0,a0),B0(P0,A0,Y0),Q0(A0,y0),v0(m0,A0,K0),v0(S0,P0,K0);for(f0=0;f0<16;f0++)Y0[f0+16]=m0[f0],Y0[f0+32]=S0[f0],Y0[f0+48]=A0[f0],Y0[f0+64]=P0[f0];var Z1=Y0.subarray(32),U1=Y0.subarray(16);return G0(Z1,Z1),B0(U1,U1,Z1),d0(h,U1),0}function $0(h,m){return p(h,m,Q)}function r0(h,m){return X(m,32),$0(h,m)}function q0(h,m,u){var o=new Uint8Array(32);return p(o,u,m),M(h,Y,o,C)}var M0=X0,g=a;function N0(h,m,u,o,Y0,K0){var f0=new Uint8Array(32);return q0(f0,Y0,K0),M0(h,m,u,o,f0)}function b0(h,m,u,o,Y0,K0){var f0=new Uint8Array(32);return q0(f0,Y0,K0),g(h,m,u,o,f0)}function e0(){var h=0,m=0,u=0,o=0,Y0=65535,K0,f0,m0;for(m0=0;m0<arguments.length;m0++)K0=arguments[m0].lo,f0=arguments[m0].hi,h+=K0&Y0,m+=K0>>>16,u+=f0&Y0,o+=f0>>>16;return m+=h>>>16,u+=m>>>16,o+=u>>>16,new Z(u&Y0|o<<16,h&Y0|m<<16)}function u0(h,m){return new Z(h.hi>>>m,h.lo>>>m|h.hi<<32-m)}function T1(){var h=0,m=0,u;for(u=0;u<arguments.length;u++)h^=arguments[u].lo,m^=arguments[u].hi;return new Z(m,h)}function e1(h,m){var u,o,Y0=32-m;if(m<32)u=h.hi>>>m|h.lo<<Y0,o=h.lo>>>m|h.hi<<Y0;else if(m<64)u=h.lo>>>m|h.hi<<Y0,o=h.hi>>>m|h.lo<<Y0;return new Z(u,o)}function L6(h,m,u){var o=h.hi&m.hi^~h.hi&u.hi,Y0=h.lo&m.lo^~h.lo&u.lo;return new Z(o,Y0)}function Q4(h,m,u){var o=h.hi&m.hi^h.hi&u.hi^m.hi&u.hi,Y0=h.lo&m.lo^h.lo&u.lo^m.lo&u.lo;return new Z(o,Y0)}function c5(h){return T1(e1(h,28),e1(h,34),e1(h,39))}function e(h){return T1(e1(h,14),e1(h,18),e1(h,41))}function w1(h){return T1(e1(h,1),e1(h,8),u0(h,7))}function a$(h){return T1(e1(h,19),e1(h,61),u0(h,6))}var s$=[new Z(1116352408,3609767458),new Z(1899447441,602891725),new Z(3049323471,3964484399),new Z(3921009573,2173295548),new Z(961987163,4081628472),new Z(1508970993,3053834265),new Z(2453635748,2937671579),new Z(2870763221,3664609560),new Z(3624381080,2734883394),new Z(310598401,1164996542),new Z(607225278,1323610764),new Z(1426881987,3590304994),new Z(1925078388,4068182383),new Z(2162078206,991336113),new Z(2614888103,633803317),new Z(3248222580,3479774868),new Z(3835390401,2666613458),new Z(4022224774,944711139),new Z(264347078,2341262773),new Z(604807628,2007800933),new Z(770255983,1495990901),new Z(1249150122,1856431235),new Z(1555081692,3175218132),new Z(1996064986,2198950837),new Z(2554220882,3999719339),new Z(2821834349,766784016),new Z(2952996808,2566594879),new Z(3210313671,3203337956),new Z(3336571891,1034457026),new Z(3584528711,2466948901),new Z(113926993,3758326383),new Z(338241895,168717936),new Z(666307205,1188179964),new Z(773529912,1546045734),new Z(1294757372,1522805485),new Z(1396182291,2643833823),new Z(1695183700,2343527390),new Z(1986661051,1014477480),new Z(2177026350,1206759142),new Z(2456956037,344077627),new Z(2730485921,1290863460),new Z(2820302411,3158454273),new Z(3259730800,3505952657),new Z(3345764771,106217008),new Z(3516065817,3606008344),new Z(3600352804,1432725776),new Z(4094571909,1467031594),new Z(275423344,851169720),new Z(430227734,3100823752),new Z(506948616,1363258195),new Z(659060556,3750685593),new Z(883997877,3785050280),new Z(958139571,3318307427),new Z(1322822218,3812723403),new Z(1537002063,2003034995),new Z(1747873779,3602036899),new Z(1955562222,1575990012),new Z(2024104815,1125592928),new Z(2227730452,2716904306),new Z(2361852424,442776044),new Z(2428436474,593698344),new Z(2756734187,3733110249),new Z(3204031479,2999351573),new Z(3329325298,3815920427),new Z(3391569614,3928383900),new Z(3515267271,566280711),new Z(3940187606,3454069534),new Z(4118630271,4000239992),new Z(116418474,1914138554),new Z(174292421,2731055270),new Z(289380356,3203993006),new Z(460393269,320620315),new Z(685471733,587496836),new Z(852142971,1086792851),new Z(1017036298,365543100),new Z(1126000580,2618297676),new Z(1288033470,3409855158),new Z(1501505948,4234509866),new Z(1607167915,987167468),new Z(1816402316,1246189591)];function P9(h,m,u){var o=[],Y0=[],K0=[],f0=[],m0,A0,S0;for(A0=0;A0<8;A0++)o[A0]=K0[A0]=E(h,8*A0);var P0=0;while(u>=128){for(A0=0;A0<16;A0++)f0[A0]=E(m,8*A0+P0);for(A0=0;A0<80;A0++){for(S0=0;S0<8;S0++)Y0[S0]=K0[S0];m0=e0(K0[7],e(K0[4]),L6(K0[4],K0[5],K0[6]),s$[A0],f0[A0%16]),Y0[7]=e0(m0,c5(K0[0]),Q4(K0[0],K0[1],K0[2])),Y0[3]=e0(Y0[3],m0);for(S0=0;S0<8;S0++)K0[(S0+1)%8]=Y0[S0];if(A0%16===15)for(S0=0;S0<16;S0++)f0[S0]=e0(f0[S0],f0[(S0+9)%16],w1(f0[(S0+1)%16]),a$(f0[(S0+14)%16]))}for(A0=0;A0<8;A0++)K0[A0]=e0(K0[A0],o[A0]),o[A0]=K0[A0];P0+=128,u-=128}for(A0=0;A0<8;A0++)z(h,8*A0,o[A0]);return u}var lG=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function M8(h,m,u){var o=new Uint8Array(64),Y0=new Uint8Array(256),K0,f0=u;for(K0=0;K0<64;K0++)o[K0]=lG[K0];P9(o,m,u),u%=128;for(K0=0;K0<256;K0++)Y0[K0]=0;for(K0=0;K0<u;K0++)Y0[K0]=m[f0-u+K0];Y0[u]=128,u=256-128*(u<112?1:0),Y0[u-9]=0,z(Y0,u-8,new Z(f0/536870912|0,f0<<3)),P9(o,Y0,u);for(K0=0;K0<64;K0++)h[K0]=o[K0];return 0}function C6(h,m){var u=G(),o=G(),Y0=G(),K0=G(),f0=G(),m0=G(),A0=G(),S0=G(),P0=G();R0(u,h[1],h[0]),R0(P0,m[1],m[0]),B0(u,u,P0),C0(o,h[0],h[1]),C0(P0,m[0],m[1]),B0(o,o,P0),B0(Y0,h[3],m[3]),B0(Y0,Y0,U),B0(K0,h[2],m[2]),C0(K0,K0,K0),R0(f0,o,u),R0(m0,K0,Y0),C0(A0,K0,Y0),C0(S0,o,u),B0(h[0],f0,m0),B0(h[1],S0,A0),B0(h[2],A0,m0),B0(h[3],f0,S0)}function $5(h,m,u){var o;for(o=0;o<4;o++)v0(h[o],m[o],u)}function I5(h,m){var u=G(),o=G(),Y0=G();G0(Y0,m[2]),B0(u,m[0],Y0),B0(o,m[1],Y0),d0(h,o),h[31]^=n0(u)<<7}function Q9(h,m,u){var o,Y0;E0(h[0],J),E0(h[1],W),E0(h[2],W),E0(h[3],J);for(Y0=255;Y0>=0;--Y0)o=u[Y0/8|0]>>(Y0&7)&1,$5(h,m,o),C6(m,h),C6(h,h),$5(h,m,o)}function A9(h,m){var u=[G(),G(),G(),G()];E0(u[0],F),E0(u[1],H),E0(u[2],W),B0(u[3],F,H),Q9(h,u,m)}function v1(h,m,u){var o=new Uint8Array(64),Y0=[G(),G(),G(),G()],K0;if(!u)X(m,32);M8(o,m,32),o[0]&=248,o[31]&=127,o[31]|=64,A9(Y0,o),I5(h,Y0);for(K0=0;K0<32;K0++)m[K0+32]=h[K0];return 0}var k8=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function S8(h,m){var u,o,Y0,K0;for(o=63;o>=32;--o){u=0;for(Y0=o-32,K0=o-12;Y0<K0;++Y0)m[Y0]+=u-16*m[o]*k8[Y0-(o-32)],u=Math.floor((m[Y0]+128)/256),m[Y0]-=u*256;m[Y0]+=u,m[o]=0}u=0;for(Y0=0;Y0<32;Y0++)m[Y0]+=u-(m[31]>>4)*k8[Y0],u=m[Y0]>>8,m[Y0]&=255;for(Y0=0;Y0<32;Y0++)m[Y0]-=u*k8[Y0];for(o=0;o<32;o++)m[o+1]+=m[o]>>8,h[o]=m[o]&255}function G6(h){var m=new Float64Array(64),u;for(u=0;u<64;u++)m[u]=h[u];for(u=0;u<64;u++)h[u]=0;S8(h,m)}function b$(h,m,u,o){var Y0=new Uint8Array(64),K0=new Uint8Array(64),f0=new Uint8Array(64),m0,A0,S0=new Float64Array(64),P0=[G(),G(),G(),G()];M8(Y0,o,32),Y0[0]&=248,Y0[31]&=127,Y0[31]|=64;var y0=u+64;for(m0=0;m0<u;m0++)h[64+m0]=m[m0];for(m0=0;m0<32;m0++)h[32+m0]=Y0[32+m0];M8(f0,h.subarray(32),u+32),G6(f0),A9(P0,f0),I5(h,P0);for(m0=32;m0<64;m0++)h[m0]=o[m0];M8(K0,h,u+64),G6(K0);for(m0=0;m0<64;m0++)S0[m0]=0;for(m0=0;m0<32;m0++)S0[m0]=f0[m0];for(m0=0;m0<32;m0++)for(A0=0;A0<32;A0++)S0[m0+A0]+=K0[m0]*Y0[A0];return S8(h.subarray(32),S0),y0}function F8(h,m){var u=G(),o=G(),Y0=G(),K0=G(),f0=G(),m0=G(),A0=G();if(E0(h[2],W),F0(h[1],m),Q0(Y0,h[1]),B0(K0,Y0,w),R0(Y0,Y0,h[2]),C0(K0,h[2],K0),Q0(f0,K0),Q0(m0,f0),B0(A0,m0,f0),B0(u,A0,Y0),B0(u,u,K0),V0(u,u),B0(u,u,Y0),B0(u,u,K0),B0(u,u,K0),B0(h[0],u,K0),Q0(o,h[0]),B0(o,o,K0),i0(o,Y0))B0(h[0],h[0],N);if(Q0(o,h[0]),B0(o,o,K0),i0(o,Y0))return-1;if(n0(h[0])===m[31]>>7)R0(h[0],J,h[0]);return B0(h[3],h[0],h[1]),0}function j7(h,m,u,o){var Y0,K0=new Uint8Array(32),f0=new Uint8Array(64),m0=[G(),G(),G(),G()],A0=[G(),G(),G(),G()];if(u<64)return-1;if(F8(A0,o))return-1;for(Y0=0;Y0<u;Y0++)h[Y0]=m[Y0];for(Y0=0;Y0<32;Y0++)h[Y0+32]=o[Y0];if(M8(f0,h,u),G6(f0),Q9(m0,A0,f0),A9(A0,m.subarray(32)),C6(m0,A0),I5(K0,m0),u-=64,A(m,0,K0,0)){for(Y0=0;Y0<u;Y0++)h[Y0]=0;return-1}for(Y0=0;Y0<u;Y0++)h[Y0]=m[Y0+64];return u}var k$=32,n6=24,e6=32,r8=16,Z5=32,V=32,d=32,c=32,R=32,r=n6,x0=e6,l0=r8,K1=64,H1=32,g1=64,f1=32,Q8=64;$.lowlevel={crypto_core_hsalsa20:M,crypto_stream_xor:s,crypto_stream:v,crypto_stream_salsa20_xor:l,crypto_stream_salsa20:b,crypto_onetimeauth:D0,crypto_onetimeauth_verify:J0,crypto_verify_16:P,crypto_verify_32:A,crypto_secretbox:X0,crypto_secretbox_open:a,crypto_scalarmult:p,crypto_scalarmult_base:$0,crypto_box_beforenm:q0,crypto_box_afternm:M0,crypto_box:N0,crypto_box_open:b0,crypto_box_keypair:r0,crypto_hash:M8,crypto_sign:b$,crypto_sign_keypair:v1,crypto_sign_open:j7,crypto_secretbox_KEYBYTES:k$,crypto_secretbox_NONCEBYTES:n6,crypto_secretbox_ZEROBYTES:e6,crypto_secretbox_BOXZEROBYTES:r8,crypto_scalarmult_BYTES:Z5,crypto_scalarmult_SCALARBYTES:V,crypto_box_PUBLICKEYBYTES:d,crypto_box_SECRETKEYBYTES:c,crypto_box_BEFORENMBYTES:R,crypto_box_NONCEBYTES:r,crypto_box_ZEROBYTES:x0,crypto_box_BOXZEROBYTES:l0,crypto_sign_BYTES:K1,crypto_sign_PUBLICKEYBYTES:H1,crypto_sign_SECRETKEYBYTES:g1,crypto_sign_SEEDBYTES:f1,crypto_hash_BYTES:Q8,gf:G,D:w,L:k8,pack25519:d0,unpack25519:F0,M:B0,A:C0,S:Q0,Z:R0,pow2523:V0,add:C6,set25519:E0,modL:S8,scalarmult:Q9,scalarbase:A9};function c1(h,m){if(h.length!==k$)throw Error("bad key size");if(m.length!==n6)throw Error("bad nonce size")}function z$(h,m){if(h.length!==d)throw Error("bad public key size");if(m.length!==c)throw Error("bad secret key size")}function Y$(){for(var h=0;h<arguments.length;h++)if(!(arguments[h]instanceof Uint8Array))throw TypeError("unexpected type, use Uint8Array")}function y$(h){for(var m=0;m<h.length;m++)h[m]=0}$.randomBytes=function(h){var m=new Uint8Array(h);return X(m,h),m},$.secretbox=function(h,m,u){Y$(h,m,u),c1(u,m);var o=new Uint8Array(e6+h.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<h.length;K0++)o[K0+e6]=h[K0];return X0(Y0,o,o.length,m,u),Y0.subarray(r8)},$.secretbox.open=function(h,m,u){Y$(h,m,u),c1(u,m);var o=new Uint8Array(r8+h.length),Y0=new Uint8Array(o.length);for(var K0=0;K0<h.length;K0++)o[K0+r8]=h[K0];if(o.length<32)return null;if(a(Y0,o,o.length,m,u)!==0)return null;return Y0.subarray(e6)},$.secretbox.keyLength=k$,$.secretbox.nonceLength=n6,$.secretbox.overheadLength=r8,$.scalarMult=function(h,m){if(Y$(h,m),h.length!==V)throw Error("bad n size");if(m.length!==Z5)throw Error("bad p size");var u=new Uint8Array(Z5);return p(u,h,m),u},$.scalarMult.base=function(h){if(Y$(h),h.length!==V)throw Error("bad n size");var m=new Uint8Array(Z5);return $0(m,h),m},$.scalarMult.scalarLength=V,$.scalarMult.groupElementLength=Z5,$.box=function(h,m,u,o){var Y0=$.box.before(u,o);return $.secretbox(h,m,Y0)},$.box.before=function(h,m){Y$(h,m),z$(h,m);var u=new Uint8Array(R);return q0(u,h,m),u},$.box.after=$.secretbox,$.box.open=function(h,m,u,o){var Y0=$.box.before(u,o);return $.secretbox.open(h,m,Y0)},$.box.open.after=$.secretbox.open,$.box.keyPair=function(){var h=new Uint8Array(d),m=new Uint8Array(c);return r0(h,m),{publicKey:h,secretKey:m}},$.box.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==c)throw Error("bad secret key size");var m=new Uint8Array(d);return $0(m,h),{publicKey:m,secretKey:new Uint8Array(h)}},$.box.publicKeyLength=d,$.box.secretKeyLength=c,$.box.sharedKeyLength=R,$.box.nonceLength=r,$.box.overheadLength=$.secretbox.overheadLength,$.sign=function(h,m){if(Y$(h,m),m.length!==g1)throw Error("bad secret key size");var u=new Uint8Array(K1+h.length);return b$(u,h,h.length,m),u},$.sign.open=function(h,m){if(Y$(h,m),m.length!==H1)throw Error("bad public key size");var u=new Uint8Array(h.length),o=j7(u,h,h.length,m);if(o<0)return null;var Y0=new Uint8Array(o);for(var K0=0;K0<Y0.length;K0++)Y0[K0]=u[K0];return Y0},$.sign.detached=function(h,m){var u=$.sign(h,m),o=new Uint8Array(K1);for(var Y0=0;Y0<o.length;Y0++)o[Y0]=u[Y0];return o},$.sign.detached.verify=function(h,m,u){if(Y$(h,m,u),m.length!==K1)throw Error("bad signature size");if(u.length!==H1)throw Error("bad public key size");var o=new Uint8Array(K1+h.length),Y0=new Uint8Array(K1+h.length),K0;for(K0=0;K0<K1;K0++)o[K0]=m[K0];for(K0=0;K0<h.length;K0++)o[K0+K1]=h[K0];return j7(Y0,o,o.length,u)>=0},$.sign.keyPair=function(){var h=new Uint8Array(H1),m=new Uint8Array(g1);return v1(h,m),{publicKey:h,secretKey:m}},$.sign.keyPair.fromSecretKey=function(h){if(Y$(h),h.length!==g1)throw Error("bad secret key size");var m=new Uint8Array(H1);for(var u=0;u<m.length;u++)m[u]=h[32+u];return{publicKey:m,secretKey:new Uint8Array(h)}},$.sign.keyPair.fromSeed=function(h){if(Y$(h),h.length!==f1)throw Error("bad seed size");var m=new Uint8Array(H1),u=new Uint8Array(g1);for(var o=0;o<32;o++)u[o]=h[o];return v1(m,u,!0),{publicKey:m,secretKey:u}},$.sign.publicKeyLength=H1,$.sign.secretKeyLength=g1,$.sign.seedLength=f1,$.sign.signatureLength=K1,$.hash=function(h){Y$(h);var m=new Uint8Array(Q8);return M8(m,h,h.length),m},$.hash.hashLength=Q8,$.verify=function(h,m){if(Y$(h,m),h.length===0||m.length===0)return!1;if(h.length!==m.length)return!1;return j(h,0,m,0,h.length)===0?!0:!1},$.setPRNG=function(h){X=h},function(){var h=typeof globalThis<"u"?globalThis.crypto||globalThis.msCrypto:null;if(h&&h.getRandomValues){var m=65536;$.setPRNG(function(u,o){var Y0,K0=new Uint8Array(o);for(Y0=0;Y0<o;Y0+=m)h.getRandomValues(K0.subarray(Y0,Y0+Math.min(o-Y0,m)));for(Y0=0;Y0<o;Y0++)u[Y0]=K0[Y0];y$(K0)})}else if(h=c0("crypto"),h&&h.randomBytes)$.setPRNG(function(u,o){var Y0,K0=h.randomBytes(o);for(Y0=0;Y0<o;Y0++)u[Y0]=K0[Y0];y$(K0)})}()})(typeof ug<"u"&&bGZ?bGZ:globalThis.nacl=globalThis.nacl||{});CC=typeof ug<"u"&&bGZ?bGZ:globalThis.nacl,u44={fromSeed:CC.sign.keyPair.fromSeed,sign:CC.sign.detached,verify:CC.sign.detached.verify,randomBytes:CC.randomBytes,scalarBaseMultiply:CC.scalarMult.base,seal:CC.box,open:CC.box.open};d44=new Uint16Array([0,4129,8258,12387,16516,20645,24774,28903,33032,37161,41290,45419,49548,53677,57806,61935,4657,528,12915,8786,21173,17044,29431,25302,37689,33560,45947,41818,54205,50076,62463,58334,9314,13379,1056,5121,25830,29895,17572,21637,42346,46411,34088,38153,58862,62927,50604,54669,13907,9842,5649,1584,30423,26358,22165,18100,46939,42874,38681,34616,63455,59390,55197,51132,18628,22757,26758,30887,2112,6241,10242,14371,51660,55789,59790,63919,35144,39273,43274,47403,23285,19156,31415,27286,6769,2640,14899,10770,56317,52188,64447,60318,39801,35672,47931,43802,27814,31879,19684,23749,11298,15363,3168,7233,60846,64911,52716,56781,44330,48395,36200,40265,32407,28342,24277,20212,15891,11826,7761,3696,65439,61374,57309,53244,48923,44858,40793,36728,37256,33193,45514,41451,53516,49453,61774,57711,4224,161,12482,8419,20484,16421,28742,24679,33721,37784,41979,46042,49981,54044,58239,62302,689,4752,8947,13010,16949,21012,25207,29270,46570,42443,38312,34185,62830,58703,54572,50445,13538,9411,5280,1153,29798,25671,21540,17413,42971,47098,34713,38840,59231,63358,50973,55100,9939,14066,1681,5808,26199,30326,17941,22068,55628,51565,63758,59695,39368,35305,47498,43435,22596,18533,30726,26663,6336,2273,14466,10403,52093,56156,60223,64286,35833,39896,43963,48026,19061,23124,27191,31254,2801,6864,10931,14994,64814,60687,56684,52557,48554,44427,40424,36297,31782,27655,23652,19525,15522,11395,7392,3265,61215,65342,53085,57212,44955,49082,36825,40952,28183,32310,20053,24180,11923,16050,3793,7920]);d$=class d$ extends Error{name;code;chainedError;constructor($,Z){super($);this.name="NKeysError",this.code=$,this.chainedError=Z}};(function($){$.InvalidPrefixByte="nkeys: invalid prefix byte",$.InvalidKey="nkeys: invalid key",$.InvalidPublicKey="nkeys: invalid public key",$.InvalidSeedLen="nkeys: invalid seed length",$.InvalidSeed="nkeys: invalid seed",$.InvalidCurveSeed="nkeys: invalid curve seed",$.InvalidCurveKey="nkeys: not a valid curve key",$.InvalidCurveOperation="nkeys: curve key is not valid for sign/verify",$.InvalidNKeyOperation="keys: only curve key can seal/open",$.InvalidEncoding="nkeys: invalid encoded key",$.InvalidRecipient="nkeys: not a valid recipient public curve key",$.InvalidEncrypted="nkeys: encrypted input is not valid",$.CannotSign="nkeys: cannot sign, no private key available",$.PublicKeyOnly="nkeys: no seed or private key available",$.InvalidChecksum="nkeys: invalid checksum",$.SerializationError="nkeys: serialization error",$.ApiError="nkeys: api error",$.ClearedPair="nkeys: pair is cleared"})(c$||(c$={}));(function($){$[$.Unknown=-1]="Unknown",$[$.Seed=144]="Seed",$[$.Private=120]="Private",$[$.Operator=112]="Operator",$[$.Server=104]="Server",$[$.Cluster=16]="Cluster",$[$.Account=0]="Account",$[$.User=160]="User",$[$.Curve=184]="Curve"})(Z6||(Z6={}));_C=[120,107,118,49];c44(u44);(function($){$.v1="ed25519",$.v2="ed25519-nkey"})(vJ||(vJ={}))});function g81($){try{$?.clear?.()}catch{}}async function S_$({accountJwt:$,accountSigningKey:Z,expiresAt:G,permissions:X,userId:Y,allowedConnectionTypes:Q=["WEBSOCKET"]}){let J=q_$($),W=v81(J.sub),K=y81(new TextEncoder().encode(Z)),w=A_$();try{let U=await I_$(Y,w,W,{pub:{allow:X.publish.allow},sub:{allow:X.subscribe.allow},allowed_connection_types:Q},{algorithm:vJ.v2,exp:Math.floor(G.getTime()/1000),signer:K});return new TextDecoder().decode(M_$(U,w))}finally{g81(w),g81(K),g81(W)}}var V_$=O(()=>{k_$()});function e44($){return/^wss?:\/\//i.test($.trim())?["WEBSOCKET"]:["STANDARD","WEBSOCKET"]}function C_$(){let $=new V1;return $.post("/links/session",async(Z)=>{let X=Z.get("studioContext").auth?.user?.id;if(!X)return Z.json({error:"Unauthorized"},401);let Y=W1();if(!Y.natsTunnelPublicEnabled)return Z.json(h81(),503);if(!Y.natsPublicUrl)return Z.json(h81(),503);if(!Y.natsAccountJwt||!Y.natsAccountSigningKey){if(!Y.localMode)return Z.json(h81(),503)}let Q=xJ(X),J;if(Y.natsAccountJwt&&Y.natsAccountSigningKey){let W=new Date(Date.now()+Y.natsTunnelSessionTtlSeconds*1000);J=await S_$({accountJwt:Y.natsAccountJwt,accountSigningKey:Y.natsAccountSigningKey,expiresAt:W,permissions:E_$(Q),userId:X,allowedConnectionTypes:e44(Y.natsPublicUrl)})}return Z.json(L_$({publicUrl:Y.natsPublicUrl,userId:X,ttlSeconds:Y.natsTunnelSessionTtlSeconds,credentials:J}))}),$}var h81=()=>({error:"link session unavailable"});var __$=O(()=>{d8();V$();z_$();V_$()});async function G54($,Z){try{return!await $.alive(Z)}catch(G){return console.warn(`[vm-events] alive probe failed for ${Z}; assuming alive: ${G instanceof Error?G.message:String(G)}`),!1}}async function f_$($){let{ctx:Z,runner:G,claimName:X,sandboxId:Y,organizationId:Q,virtualMcpId:J,branch:W}=$;if(Y.scope==="shared"){let K={organizationId:Q,virtualMcpId:J,branch:W};try{let w=await Z.storage.agentSandboxSessions.withLock(K,(U)=>U.beginReap(K,X));if(!w)return;try{await G.delete(X,Y)}finally{await Z.storage.agentSandboxSessions.withLock(K,(U)=>U.completeReap(K,w.generation,X))}}catch(w){console.warn(`[vm-events] shared cleanup failed for ${J}/${W}: ${w instanceof Error?w.message:String(w)}`)}return}try{await G.delete(X,Y)}catch(K){console.warn(`[vm-events] runner.delete failed for ${X}: ${K instanceof Error?K.message:String(K)}`)}}async function X54($){let{stream:Z,claimName:G,runner:X,signal:Y}=$;return new Promise((Q)=>{let J=!1,W=!1,K=null,w=(H)=>{if(J)return;J=!0,clearTimeout(U),Y.removeEventListener("abort",F),K?.unsubscribe(),Q(H)},U=setTimeout(()=>{if(W||J)return;Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"claim-never-created",message:"Sandbox claim was never created. The SANDBOX_START call may have failed earlier \u2014 check the start error."})}).catch(()=>{}),w(!1)},$54),F=()=>w(!1);Y.addEventListener("abort",F,{once:!0}),K=fn(X,G,(H)=>{if(J)return;if(H.kind!=="claiming")W=!0;if(Z.writeSSE({event:"phase",data:JSON.stringify(H)}).catch(()=>{}),H.kind==="ready")w(!0);else if(H.kind==="failed")w(!1)})})}async function Y54($){let{stream:Z,runner:G,claimName:X,signal:Y}=$,Q=Date.now(),J=null;while(!Y.aborted){let K=null;try{K=await G.proxyDaemonRequest(X,"/_sandbox/events",{method:"GET",headers:new Headers({accept:"text/event-stream"}),body:null,signal:Y})}catch(w){if(Y.aborted)return;if(Date.now()-Q<b_$){await O8(x_$,{signal:Y}).catch(()=>{});continue}let U=w instanceof Error?w.message:String(w);await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE error: ${U}`})}).catch(()=>{});return}if(K.status===404){try{await K.body?.cancel()}catch{}if(Date.now()-Q<b_$){await O8(x_$,{signal:Y}).catch(()=>{});continue}await Z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(!K.ok||!K.body){try{await K.body?.cancel()}catch{}await Z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:`Upstream daemon SSE failed (${K.status}).`})}).catch(()=>{});return}J=K;break}if(!J||!J.body)return;let W=J.body.getReader();try{while(!Y.aborted){let{value:K,done:w}=await W.read();if(w)break;if(K)await Z.write(K)}}catch{}finally{try{W.releaseLock()}catch{}}}var $54=90000,Z54=15000,v_$=()=>{let $=new V1;return $.get("/",async(Z)=>{let G=Z.var.studioContext;try{T0(G)}catch{return Z.json({error:"Unauthorized"},401)}let X=b1(G);if(!X)return Z.json({error:"Unauthorized"},401);let Y;try{Y=O0(G)}catch{return Z.json({error:"Organization scope required"},403)}let Q=Z.req.query("virtualMcpId"),J=Z.req.query("branch");if(!Q||!J)return Z.json({error:"virtualMcpId and branch are required"},400);let W=await G.storage.virtualMcps.findById(Q);if(!W||W.organization_id!==Y.id)return Z.json({error:"Virtual MCP not found"},404);let K=jX({orgId:Y.id,virtualMcpId:Q,branch:J}),w=W.metadata??null,U,F=null,H=null;try{let z=await bX(G,{userId:X,branch:J,virtualMcpId:Q,virtualMcpMetadata:w});U=z.provider,F=z.kind}catch(z){H=z instanceof Error?z:Error(String(z)),U=null}let N=F==="agent-sandbox"&&W1().sharedAgentSandboxesEnabled?vQ(K):ME(X,K),B=lW(N,J),D=N.scope==="shared"?await G.storage.agentSandboxSessions.find({organizationId:Y.id,virtualMcpId:Q,branch:J}):null,E=N.scope==="shared"?D?.sandboxHandle&&D.status==="ready"?{sandboxHandle:D.sandboxHandle,sandboxProviderKind:"agent-sandbox"}:null:F&&eW(H5(w),X,J,F),L=!!E&&E.sandboxHandle===B;if(!U)return Z3(Z,async(z)=>{await z.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:H?.message??"No sandbox runner configured on this studio instance."})})});return Z.header("X-Accel-Buffering","no"),Z.header("Content-Encoding","identity"),Z3(Z,async(z)=>{let j=new AbortController,P=setInterval(()=>{z.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(P)})},Z54);z.onAbort(()=>{j.abort(),clearInterval(P)});try{if(N.scope==="shared"&&D?.desiredState==="stopped"){if(D.status==="stopping"||D.status==="deleting"){let I=D.status,S=!0;try{let M=D.sandboxHandle??(I==="deleting"?B:null);if(M)await U.delete(M,N)}catch(M){S=!1,console.warn(`[vm-events] failed to resume shared stop for ${Q}/${J}: ${M instanceof Error?M.message:String(M)}`)}finally{if(I!=="deleting"||S){let M={organizationId:Y.id,virtualMcpId:Q,branch:J};await G.storage.agentSandboxSessions.withLock(M,(C)=>I==="deleting"?C.completeDelete(M,D.generation):C.completeStop(M,D.generation))}}}await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(N.scope==="shared"&&D?.status==="reaping"&&D.sandboxHandle){await f_$({ctx:G,runner:U,claimName:D.sandboxHandle,sandboxId:N,organizationId:Y.id,virtualMcpId:Q,branch:J}),await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}if(L&&F){if(await G54(U,B)){await f_$({ctx:G,runner:U,claimName:B,sandboxId:N,organizationId:Y.id,virtualMcpId:Q,branch:J}),await z.writeSSE({event:"gone",data:""}).catch(()=>{});return}}if(!await X54({stream:z,claimName:B,runner:U,signal:j.signal})||j.signal.aborted)return;await Y54({stream:z,runner:U,claimName:B,signal:j.signal})}finally{clearInterval(P)}})}),$},b_$=60000,x_$=500;var y_$=O(()=>{d8();kC();qY();d5();xv();bv();VV();fX();V$()});function J54($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}async function W54($,Z){let G=await fetch(`${$}/rest/v1/apps?select=name,title,description,logo,category,vendors(alias,url)`,{headers:{apikey:Z,Authorization:`Bearer ${Z}`,Accept:"application/json"},signal:AbortSignal.timeout(Q54)});if(!G.ok){let X=await G.text().catch(()=>G.statusText);throw console.error(`[deco-apps] Supabase error (${G.status}): ${X.slice(0,200)}`),Error(`External service error (${G.status})`)}return await G.json()}var Q54=1e4,K54=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},g_$=()=>{let $=new V1;return $.use("*",K54),$.get("/",async(Z)=>{let G=W1(),X=G.decoSupabaseUrl,Y=G.decoSupabaseServiceKey;if(!X||!Y)return Z.json({apps:[]});try{let Q=await W54(X,Y);return Z.json({apps:J54(Q)})}catch(Q){return console.error("[deco-apps] GET error:",Q),Z.json({error:"Failed to fetch apps"},502)}}),$};var h_$=O(()=>{d8();V$()});import{z as h1}from"zod";function RK($,Z="invalid_request_error",G=null,X=null){return{error:{message:$,type:Z,param:G,code:X}}}function L54($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let G=$.substring(0,Z),X=$.substring(Z+1);if(!G||!X)return null;return{credentialId:G,modelId:X}}function z54($,Z,G){try{return JSON.parse($)}catch{throw new d_$(`Invalid JSON in tool call arguments for function '${G}' (tool_call_id: ${Z}): ${$}`)}}function j54($){let Z={};for(let G of $)if(G.role==="assistant"&&G.tool_calls)for(let X of G.tool_calls)Z[X.id]=X.function.name;return $.map((G)=>{switch(G.role){case"system":return{role:"system",content:G.content};case"user":if(typeof G.content==="string")return{role:"user",content:G.content};return{role:"user",content:G.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(G.tool_calls&&G.tool_calls.length>0)return{role:"assistant",content:G.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:z54(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:G.content??""};case"tool":let X=Z[G.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:G.tool_call_id,toolName:X,output:{type:"text",value:G.content}}]}}})}function P54($){let Z=$.map((G)=>{let X=G.function.parameters?LY(G.function.parameters):LY({type:"object",properties:{}});return[G.function.name,x$({description:G.function.description,inputSchema:X})]});return Object.fromEntries(Z)}function A54($){if(!$)return;return{openai:{response_format:$}}}function T54(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function u_$($,Z,G,X,Y,Q){let J={model:$,messages:Z,tools:G,temperature:X.temperature,maxTokens:X.max_tokens,topP:X.top_p,frequencyPenalty:X.frequency_penalty,presencePenalty:X.presence_penalty,stopSequences:X.stop?Array.isArray(X.stop)?X.stop:[X.stop]:void 0,abortSignal:Q};return Y?{...J,providerOptions:Y}:J}function c_$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var w54=256,U54,F54,H54,N54,B54,O54,D54,E54,d_$,l_$,m_$;var i_$=O(()=>{K6();d8();kC();U54=h1.object({type:h1.literal("function"),function:h1.object({name:h1.string(),description:h1.string().optional(),parameters:h1.record(h1.string(),h1.unknown()).optional()})}),F54=h1.object({id:h1.string(),type:h1.literal("function"),function:h1.object({name:h1.string(),arguments:h1.string()})}),H54=h1.discriminatedUnion("role",[h1.object({role:h1.literal("system"),content:h1.string(),name:h1.string().optional()}),h1.object({role:h1.literal("user"),content:h1.union([h1.string(),h1.array(h1.union([h1.object({type:h1.literal("text"),text:h1.string()}),h1.object({type:h1.literal("image_url"),image_url:h1.object({url:h1.string(),detail:h1.string().optional()})})]))]),name:h1.string().optional()}),h1.object({role:h1.literal("assistant"),content:h1.string().nullable().optional(),name:h1.string().optional(),tool_calls:h1.array(F54).optional()}),h1.object({role:h1.literal("tool"),content:h1.string(),tool_call_id:h1.string()})]),N54=h1.object({type:h1.literal("text")}),B54=h1.object({type:h1.literal("json_object")}),O54=h1.object({type:h1.literal("json_schema"),json_schema:h1.object({name:h1.string(),description:h1.string().optional(),schema:h1.record(h1.string(),h1.unknown()),strict:h1.boolean().optional()})}),D54=h1.union([N54,B54,O54]),E54=h1.object({model:h1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:h1.array(H54),stream:h1.boolean().optional().default(!1),temperature:h1.number().min(0).max(2).optional(),max_tokens:h1.number().positive().optional(),top_p:h1.number().min(0).max(1).optional(),frequency_penalty:h1.number().min(-2).max(2).optional(),presence_penalty:h1.number().min(-2).max(2).optional(),stop:h1.union([h1.string(),h1.array(h1.string())]).optional(),tools:h1.array(U54).optional(),tool_choice:h1.union([h1.literal("auto"),h1.literal("none"),h1.literal("required"),h1.object({type:h1.literal("function"),function:h1.object({name:h1.string()})})]).optional(),response_format:D54.optional(),user:h1.string().optional()});d_$=class d_$ extends Error{constructor($){super($);this.name="MessageConversionError"}};l_$=new V1;l_$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),G=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(RK("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(RK("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==G)return $.json(RK("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let X=await $.req.json(),Y=E54.safeParse(X);if(!Y.success){let E=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(RK(`Invalid request: ${E.message}`,"invalid_request_error",E.path.length>0?E.path.join("."):null),400)}let Q=Y.data,J=L54(Q.model);if(!J)return $.json(RK("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:W}=J,{modelId:K}=J;if(!W){let E=await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id});if(E.length===0)return $.json(RK("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);W=E[0].id}let w;try{w=await Z.aiProviders.activate(W,Z.organization.id)}catch{return $.json(RK(`AI provider credential not found or inaccessible: ${W}`,"invalid_request_error","model"),404)}let U=w.aiSdk.languageModel(K),F=j54(Q.messages),H=Q.tools?P54(Q.tools):void 0,N=A54(Q.response_format),B=T54(),D=Math.floor(Date.now()/1000);if(Q.stream)return Z3($,async(E)=>{let L=u_$(U,F,H,Q,N,$.req.raw.signal);try{let z=dQ(L),j=!1,P=0,A="",I=async()=>{if(A.length===0)return;let S=A;A="",await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{content:S},finish_reason:null}]})})};for await(let S of z.fullStream){if(!j&&(S.type==="text-delta"||S.type==="tool-call"))await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),j=!0;if(S.type==="text-delta"){if(A+=S.text,A.length>=w54)await I()}else if(S.type==="tool-call"){await I();let M=P++;await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{tool_calls:[{index:M,id:S.toolCallId,type:"function",function:{name:S.toolName,arguments:JSON.stringify(S.input)}}]},finish_reason:null}]})})}else if(S.type==="finish")await I(),await E.writeSSE({data:JSON.stringify({id:B,object:"chat.completion.chunk",created:D,model:Q.model,choices:[{index:0,delta:{},finish_reason:c_$(S.finishReason)}],usage:S.totalUsage?{prompt_tokens:S.totalUsage.inputTokens??0,completion_tokens:S.totalUsage.outputTokens??0,total_tokens:S.totalUsage.totalTokens??0}:void 0})})}await I(),await E.writeSSE({data:"[DONE]"})}catch(z){let j=z;console.error("[openai-compat:stream] Error:",j.message),await E.writeSSE({data:JSON.stringify({error:{message:j.message,type:"server_error"}})})}});else{let E=u_$(U,F,H,Q,N,$.req.raw.signal),L=await xN(E),z={role:"assistant",content:L.text||null};if(L.toolCalls&&L.toolCalls.length>0)z.tool_calls=L.toolCalls.map((j)=>({id:j.toolCallId,type:"function",function:{name:j.toolName,arguments:JSON.stringify("input"in j?j.input:{})}})),z.content=null;return $.json({id:B,object:"chat.completion",created:D,model:Q.model,choices:[{index:0,message:z,finish_reason:c_$(L.finishReason)}],usage:{prompt_tokens:L.usage?.inputTokens??0,completion_tokens:L.usage?.outputTokens??0,total_tokens:L.usage?.totalTokens??0}})}}catch(X){let Y=X;if(Y.name==="AbortError")return $.json(RK("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(RK(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(RK(Y.message,"server_error"),500)}});m_$=l_$});var p_$;var n_$=O(()=>{p_$={name:"decocms",version:"4.109.2",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:ct":"playwright test -c playwright-ct.config.ts","test:ct:ui":"playwright test -c playwright-ct.config.ts --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts","smoke:link":"bun run scripts/smoke-link.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.181","@duckdb/node-api":"^1.5.0-r.1","@openai/codex":"0.144.3","@openai/codex-darwin-arm64":"npm:@openai/codex@0.144.3-darwin-arm64","@openai/codex-darwin-x64":"npm:@openai/codex@0.144.3-darwin-x64","@openai/codex-linux-arm64":"npm:@openai/codex@0.144.3-linux-arm64","@openai/codex-linux-x64":"npm:@openai/codex@0.144.3-linux-x64","@openai/codex-win32-arm64":"npm:@openai/codex@0.144.3-win32-arm64","@openai/codex-win32-x64":"npm:@openai/codex@0.144.3-win32-x64"},dependencies:{"@ai-sdk/anthropic":"^3.0.85","@ai-sdk/google":"^3.0.83","@ai-sdk/openai":"^3.0.73","@anthropic-ai/sdk":"^0.105.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/client-sts":"^3.1013.0","@aws-sdk/lib-storage":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@dbos-inc/dbos-sdk":"^4.21.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.7.1","@nats-io/jetstream":"3.4.0","@nats-io/kv":"3.4.0","@nats-io/nats-core":"3.4.0","@nats-io/transport-node":"3.4.0","@openrouter/ai-sdk-provider":"^2.9.1","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"3.13.24","@tiptap/extension-text-align":"3.20.2","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0",echarts:"^5.6.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6","use-stick-to-bottom":"^1.1.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@ai-sdk/react":"^3.0.210","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/harness":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/std":"workspace:*","@decocms/tunnel":"workspace:*","@floating-ui/react":"^0.27.16","@happy-dom/global-registrator":"^20.9.0","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@monaco-editor/react":"^4.7.0","@nats-io/jwt":"0.0.10-5","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/resources":"^2.6.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/experimental-ct-react":"1.59.1","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/shadcn":"^6.6.2","@rjsf/utils":"^6.6.2","@rjsf/validator-ajv8":"^6.6.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.100.10","@tanstack/react-router":"1.169.2","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.208","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.22","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","lucide-react":"^0.468.0",marked:"^15.0.6",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});function q54(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??I54}}var t_$,I54="https://ph.studio.decocms.com",r_$;var o_$=O(()=>{d8();Pb0();tN();S7();V$();u01();n_$();t_$=new V1;t_$.get("/",($)=>{let Z={version:p_$.version,theme:ef1(),...eO().logo&&{logo:eO().logo},...mQ()&&{internalUrl:E00()},...W1().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!W1().firecrawlApiKey,auth:J2$(),posthog:q54(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:!mQ()&&W1().sandboxProviderKind==="agent-sandbox"}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});r_$=t_$});function Hz0($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function s_$($){return(Hz0($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((G)=>G.charAt(0).toUpperCase()+G.slice(1)).join(" ")}function e_$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(Hz0($))}&sz=${Z}`}function a_$($,Z){let G=$.trim();if(G.length<=Z)return G;let X=G.slice(0,Z-1),Y=X.lastIndexOf(" ");return`${(Y>Z*0.6?X.slice(0,Y):X).trimEnd()}\u2026`}function $f$($){let{brand:Z,domain:G,score:X,verdict:Y}=$,Q=typeof X==="number"?`${Z} commerce report \u2014 ${Math.round(X)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,W=Y?.trim()?a_$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):a_$(`How does ${G} really perform? ${J}`,200);return{title:Q,description:W}}import{join as M54}from"path";function hU($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function k54($){let Z=Hz0($),G=s_$(Z),X=e_$(Z,128),Q=`${(W1().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(Z)}`,{title:J,description:W}=$f$({brand:G,domain:Z});return[`<title>${hU(J)}</title>`,`<meta name="description" content="${hU(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${hU(J)}" />`,`<meta property="og:description" content="${hU(W)}" />`,`<meta property="og:url" content="${hU(Q)}" />`,'<meta name="twitter:card" content="summary" />',`<meta name="twitter:title" content="${hU(J)}" />`,`<meta name="twitter:description" content="${hU(W)}" />`,`<link rel="canonical" href="${hU(Q)}" />`,`<link rel="icon" href="${hU(X)}" sizes="any" />`].join(`
2800
2800
  `)}function S54($,Z){return $.replace(/<title>[\s\S]*?<\/title>\s*/i,"").replace(/<meta\s+name="(?:description|twitter:[^"]*)"[^>]*>\s*/gi,"").replace(/<meta\s+property="og:[^"]*"[^>]*>\s*/gi,"").replace(/<link\s+rel="icon"[^>]*>\s*/gi,"").replace("</head>",` ${Z}
2801
2801
  </head>`)}function Zf$($){let Z=new V1;return Z.get("/:domain",async(G)=>{let X=G.req.param("domain"),Y=$?M54($,"index.html"):null,Q=Y?Bun.file(Y):null;if(!Q||!await Q.exists())return G.notFound();let J=await Q.text();try{let W=k54(X);return G.html(S54(J,W),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return G.html(J)}}),Z}var Gf$=O(()=>{d8();V$()});import{z as Q1}from"zod";var bC,V54,C54,_54,f54,Xf$;var Yf$=O(()=>{bC=Q1.enum(["good","bad","neutral"]),V54=Q1.preprocess(($)=>{if(Array.isArray($))return{kind:"text",value:$.find((G)=>G!==null&&typeof G!=="object")??""};return $!==null&&typeof $==="object"?$:{kind:"text",value:$}},Q1.object({kind:Q1.enum(["text","number","sparkline","badge","score"]).catch("text"),value:Q1.coerce.string().optional(),tone:bC.optional(),muted:Q1.boolean().optional(),delta:Q1.coerce.string().optional(),deltaDir:Q1.enum(["up","down","neutral"]).optional(),points:Q1.array(Q1.coerce.number()).optional(),label:Q1.coerce.string().optional()}).transform(($)=>{if($.kind==="badge"&&$.label==null)$.label=$.value??"";if($.kind==="score"){let Z=Number($.value);if(Number.isNaN(Z))return{...$,kind:"text"}}return $})),C54=Q1.preprocess(($)=>{let Z=$;if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&Array.isArray(Z.cells))Z=Z.cells;if(Array.isArray(Z)&&Z.length===1&&Array.isArray(Z[0]))Z=Z[0];if(Array.isArray(Z))return Z;if(Z&&typeof Z==="object")return Object.values(Z);return Z},Q1.array(V54)),_54={key:Q1.coerce.string(),title:Q1.coerce.string(),eyebrow:Q1.coerce.string().optional(),headline:Q1.coerce.string(),annotation:Q1.coerce.string().optional(),methodology:Q1.coerce.string().optional(),sources:Q1.array(Q1.object({name:Q1.coerce.string(),logoUrl:Q1.coerce.string()})).optional()},f54=Q1.discriminatedUnion("template",[Q1.object({template:Q1.literal("cover"),score:Q1.object({value:Q1.coerce.number(),max:Q1.coerce.number().optional(),grade:Q1.coerce.string().optional(),label:Q1.coerce.string().optional()}).optional(),brandImage:Q1.coerce.string().optional(),screenshot:Q1.coerce.string().optional(),mobileScreenshot:Q1.coerce.string().optional()}),Q1.object({template:Q1.literal("cta"),ctaUrl:Q1.coerce.string().optional(),ctaLabel:Q1.coerce.string().optional(),bullets:Q1.array(Q1.coerce.string()).optional()}),Q1.object({template:Q1.literal("series"),points:Q1.array(Q1.coerce.number()).min(2),xLabels:Q1.array(Q1.coerce.string()).min(1),unit:Q1.coerce.string().optional(),callout:Q1.object({index:Q1.coerce.number(),value:Q1.coerce.string(),tone:bC.optional()})}),Q1.object({template:Q1.literal("threshold"),value:Q1.coerce.string().default(""),metricLabel:Q1.coerce.string().optional(),ratio:Q1.coerce.number(),thresholdRatio:Q1.coerce.number().optional(),thresholdLabel:Q1.coerce.string().default(""),tone:bC.optional()}),Q1.object({template:Q1.literal("stats"),stats:Q1.array(Q1.object({value:Q1.coerce.string(),label:Q1.coerce.string(),tone:bC.optional()})).min(1)}),Q1.object({template:Q1.literal("bars"),items:Q1.array(Q1.object({value:Q1.coerce.string(),label:Q1.coerce.string(),ratio:Q1.coerce.number(),tone:bC.optional()})).min(1)}),Q1.object({template:Q1.literal("gauges"),gauges:Q1.array(Q1.object({label:Q1.coerce.string(),value:Q1.coerce.string(),status:Q1.enum(["good","warn","bad"]).catch("warn"),caption:Q1.coerce.string().optional(),ratio:Q1.coerce.number().optional()})).min(1)}),Q1.object({template:Q1.literal("checklist"),checks:Q1.array(Q1.object({label:Q1.coerce.string(),status:Q1.enum(["pass","fail","warn"]).catch("fail"),value:Q1.coerce.string().optional()})).min(1)}),Q1.object({template:Q1.literal("table"),columns:Q1.array(Q1.object({label:Q1.coerce.string(),align:Q1.enum(["left","right"]).optional()})).min(1),rows:Q1.array(C54).min(1),highlightRow:Q1.coerce.number().optional()}),Q1.object({template:Q1.literal("products"),products:Q1.array(Q1.object({name:Q1.coerce.string(),price:Q1.coerce.string().optional(),image:Q1.coerce.string().optional(),url:Q1.coerce.string().optional()})).min(1)}),Q1.object({template:Q1.literal("list"),entries:Q1.array(Q1.object({label:Q1.coerce.string(),severity:Q1.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:Q1.coerce.number().optional()}),Q1.object({template:Q1.literal("keywords"),volumeLabel:Q1.coerce.string().optional(),keywords:Q1.array(Q1.object({term:Q1.coerce.string(),volume:Q1.coerce.string(),position:Q1.coerce.number().catch(0)})).min(1)}),Q1.object({template:Q1.literal("competitor"),metricLabel:Q1.coerce.string().optional(),competitors:Q1.array(Q1.object({name:Q1.coerce.string(),value:Q1.coerce.string(),tone:bC.optional(),isYou:Q1.boolean().optional()})).min(1)}),Q1.object({template:Q1.literal("scorecard"),rivalLabel:Q1.coerce.string().optional(),dimensions:Q1.array(Q1.object({label:Q1.coerce.string(),you:Q1.coerce.string(),rival:Q1.coerce.string().optional(),rivalName:Q1.coerce.string().optional(),tone:bC.optional()})).min(1)})]),Xf$=Q1.object({..._54,template:f54})});function Qf$($){let Z=[],G=[...$.sections].sort((X,Y)=>X.position-Y.position).map((X)=>{let Y=Xf$.safeParse(X.props);if(Y.success)return Y.data;let Q=Y.error.issues[0];return Z.push({section_type:X.section_type,position:X.position,reason:Q?`${Q.path.join(".")||"(root)"}: ${Q.message}`:"contract violation"}),null}).filter((X)=>X!==null);return{deck:{meta:{...$.meta,scores:$.summary?.scores},slides:G},drops:Z}}var Jf$=O(()=>{Yf$()});function Mr($,Z){return fetch(`${BD({})}${$}`,Z)}async function b54($,Z){let G=await Mr(`/api/v2/public/diagnostics/${encodeURIComponent($)}`+(Z?`?pw=${encodeURIComponent(Z)}`:""),{headers:{Accept:"application/json"}});if(G.status===404)return{status:"not_found",deck:null,scanned_at:null,drops:[]};if(!G.ok)throw Error(`report read HTTP ${G.status}`);let X=await G.json(),{deck:Y,drops:Q}=Qf$(X);return{status:Y.slides.length?"ready":"empty",deck:Y,scanned_at:X.scanned_at,drops:Q}}var x54,xC,Wf$;var Kf$=O(()=>{d8();IY();zb();Jf$();x54=new Set(["complete","errored","terminated","unknown"]),xC=new V1;xC.use("*",async($,Z)=>{let G=await X8.api.getSession({headers:$.req.raw.headers});if(!G?.user?.id)return $.json({error:"Authentication required"},401,{"Cache-Control":"private, no-store",Vary:"Cookie"});$.set("reportUser",{email:G.user.email}),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});xC.get("/site/:domain",async($)=>{let Z=$.req.param("domain").trim();if(!Z)return $.json({error:"domain is required"},400);let G=$.req.query("key")?.trim()||void 0;try{let X=await b54(Z,G);return $.header("Cache-Control","private, no-store"),$.json(X)}catch{return $.json({error:"report read failed"},502)}});xC.post("/run",async($)=>{let Z;try{Z=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let G=typeof Z.domain==="string"?Z.domain.trim():"";if(!G)return $.json({error:"domain is required"},400);let X=$.get("reportUser").email,Y=typeof Z.distinctId==="string"&&Z.distinctId.trim()&&Z.distinctId.length<=200?Z.distinctId.trim():void 0;try{let Q=await Mr("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${OD({})}`},body:JSON.stringify({url:G,email:X,distinct_id:Y})});if(!Q.ok)return $.json({error:`run HTTP ${Q.status}`},502);let J=await Q.json(),W=J.blocked?{state:"blocked"}:J.status==="fresh"?{state:"fresh"}:J.mode==="sync"?{state:"sync"}:{state:"running",id:J.id??null};return $.json(W)}catch{return $.json({error:"run failed"},502)}});xC.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let G=await Mr(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${OD({})}`}});if(!G.ok)return $.json({error:`status HTTP ${G.status}`},502);let Y=(await G.json()).status??"unknown",Q={done:x54.has(Y),status:Y};return $.json(Q)}catch{return $.json({error:"status failed"},502)}});xC.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let G=await Mr(`/api/v2/public/link-tokens/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(G.status===404)return $.json(null);if(!G.ok)return $.json({error:`link token HTTP ${G.status}`},502);return $.json(await G.json())}catch{return $.json({error:"link token resolve failed"},502)}});xC.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let G=await Mr(`/api/v2/public/suggest?q=${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(!G.ok)return $.json({suggestions:[]});let X=await G.json();return $.json({suggestions:Array.isArray(X.suggestions)?X.suggestions:[]})}catch{return $.json({suggestions:[]})}});Wf$=xC});function wf$($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var Uf$,v54,y54,Ff$;var Hf$=O(()=>{d8();c3();Ky();nf();Uf$=new V1,v54=["range","if-none-match","if-modified-since"],y54=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];Uf$.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),G=Z.organization?.id;if(!Z.auth?.user?.id){if(Pg($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new P$(401,{message:"Authentication required"})}if(!G)throw new P$(401,{message:"Organization context required"});let X=$.req.path.replace(/^.*\/files\//,"");if(!X)throw new P$(400,{message:"Missing file key"});let Y=await Lp(X,Z);if(!Y)throw new P$(503,{message:"Object storage not configured"});if(Y.startsWith("data:")&&u3()){let K=Y.match(/^data:([^;]+);base64,(.+)$/s);if(!K)throw new P$(500,{message:"Invalid data URL from storage"});let[,w,U]=K,F=Buffer.from(U,"base64"),H=new Headers({"Content-Type":w,"Cache-Control":"private, max-age=86400"});return wf$(H,w),new Response(F,{status:200,headers:H})}let Q=new Headers;for(let K of v54){let w=$.req.header(K);if(w)Q.set(K,w)}let J=await fetch(Y,{headers:Q});if(J.status===403||J.status===404)throw new P$(404,{message:"File not found"});if(!J.ok&&J.status!==304&&J.status!==416)throw console.error(`[files] upstream storage error ${J.status} for key:`,X),new P$(502,{message:"Upstream storage error"});let W=new Headers;for(let K of y54){let w=J.headers.get(K);if(w)W.set(K,w)}return W.set("Cache-Control","private, max-age=86400"),wf$(W,W.get("content-type")??""),new Response(J.body,{status:J.status,headers:W})});Ff$=Uf$});var kr=_((vC)=>{var g54=vC&&vC.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),h54=vC&&vC.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))g54(Z,$,G)};Object.defineProperty(vC,"__esModule",{value:!0});h54(oX(),vC)});var Of$=_((Nf$)=>{Object.defineProperty(Nf$,"__esModule",{value:!0});Nf$.version=void 0;Nf$.version="3.4.0"});var Lf$=_((IK)=>{var u54=IK&&IK.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(IK,"__esModule",{value:!0});IK.NodeTransport=IK.VERSION=void 0;IK.nodeResolveHost=n54;var i4=kr(),c54=c0("net"),u81=c0("tls"),d54=c0("path"),Df$=c0("fs"),l54=u54(c0("dns")),m54=Of$();IK.VERSION=m54.version;var i54="nats.js";class Ef${socket;version;lang;yields=[];signal=(0,i4.deferred)();closedNotification=(0,i4.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=i54,this.version=IK.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:G}=this.options,{handshakeFirst:X}=G||{};try{if(X===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let Y=await this.peekInfo();(0,i4.checkOptions)(Y,Z);let{tls_required:Q,tls_available:J}=Y,W=J===!0&&Z.tls!==null;if(!X&&(Q||W))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(Q&&this.socket.encrypted!==!0)throw i4.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Y){let Q=Y;if(!Q)Q=new i4.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=Q,W=J==="ECONNREFUSED"?new i4.errors.ConnectionError("connection refused",{cause:Q}):Q;throw this.socket?.destroy(),W}}dial($){let Z=(0,i4.deferred)(),G,X=(0,c54.createConnection)($.port,$.hostname,()=>{Z.resolve(X),X.removeAllListeners()});return X.on("error",(Y)=>{G=Y}),X.on("close",()=>{X.removeAllListeners(),Z.reject(G)}),X.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,i4.deferred)(),Z;return this.socket.on("data",(G)=>{this.yields.push(G);let X=i4.DataBuffer.concat(...this.yields),Y=(0,i4.extractProtocolMessage)(X);if(Y!=="")try{let Q=i4.INFO.exec(Y);if(!Q)throw Error("unexpected response from server");let J=JSON.parse(Q[1]);$.resolve(J)}catch(Q){$.reject(Q)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(G)=>{Z=G}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,i4.deferred)();try{if($=(0,d54.resolve)($),!(0,Df$.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,Df$.readFile)($,(G,X)=>{if(G)return Z.reject(G);Z.resolve(X)})}catch(G){Z.reject(G)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:G,caFile:X,ca:Y,keyFile:Q,key:J}=this.options.tls;try{if(Z){let W=await this.loadFile(Z);if(W)$.cert=W}else if(G)$.cert=G;if(Q){let W=await this.loadFile(Q);if(W)$.key=W}else if(J)$.key=J;if(X){let W=await this.loadFile(X);if(W)$.ca=[W]}else if(Y)$.ca=Y;return Promise.resolve($)}catch(W){return Promise.reject(W)}}async tlsFirst($){let Z,G={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)G.socket=this.socket;if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};G=(0,i4.extend)(G,this.options.tls,Y)}catch(Y){return Promise.reject(new i4.errors.ConnectionError(Y.message,{cause:Y}))}let X=(0,i4.deferred)();try{let Y=(0,u81.connect)($.port,$.hostname,G,()=>{Y.removeAllListeners(),X.resolve(Y)});Y.on("error",(Q)=>{Z=Q}),Y.on("secureConnect",()=>{if(G.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{X.reject(Z),Y.removeAllListeners()}),Y.setNoDelay(!0)}catch(Y){X.reject(new i4.errors.ConnectionError(Y.message,{cause:Y}))}return X}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let X=await this.loadClientCerts()||{};Z=(0,i4.extend)(Z,this.options.tls,X)}catch(X){return Promise.reject(new i4.errors.ConnectionError(X.message,{cause:X}))}let G=(0,i4.deferred)();try{let X=(0,u81.connect)(Z,()=>{X.removeAllListeners(),G.resolve(X)});X.on("error",(Y)=>{$=Y}),X.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!X.authorized)throw X.authorizationError}),X.on("close",()=>{G.reject($),X.removeAllListeners()})}catch(X){G.reject(new i4.errors.ConnectionError(X.message,{cause:X}))}return G}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,i4.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,i4.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof u81.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,i4.render)($)}`);let Z=(0,i4.deferred)();try{this.socket.write($,(G)=>{if(G){if(this.options.debug)console.error(`!!! ${(0,i4.render)($)}: ${G}`);return Z.reject(G)}return Z.resolve()})}catch(G){if(this.options.debug)console.error(`!!! ${(0,i4.render)($)}: ${G}`);Z.reject(G)}return Z}send($){this._send($).catch((G)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(G){if(this.options.debug)console.log("transport close terminated with an error",G)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(G){console.log(G)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}IK.NodeTransport=Ef$;function n54($){let Z=(0,i4.deferred)();return l54.default.lookup($,{all:!0},(G,X)=>{if(G){Z.reject(G);return}let Y=[];for(let Q of X)Y.push(Q.address);if(Y.length===0)Y.push($);Z.resolve(Y)}),Z}});var Tf$=_((Af$)=>{Object.defineProperty(Af$,"__esModule",{value:!0});Af$.connect=p54;var zf$=Lf$(),jf$=kr(),Pf$=kr();function p54($={}){if((0,Pf$.hasWsProtocol)($))return Promise.reject(Pf$.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,jf$.setTransportFactory)({factory:()=>{return new zf$.NodeTransport},dnsResolveFn:zf$.nodeResolveHost}),jf$.NatsConnectionImpl.connect($)}});var Rf$=_((uU)=>{var r54=uU&&uU.__createBinding||(Object.create?function($,Z,G,X){if(X===void 0)X=G;var Y=Object.getOwnPropertyDescriptor(Z,G);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[G]}};Object.defineProperty($,X,Y)}:function($,Z,G,X){if(X===void 0)X=G;$[X]=Z[G]}),o54=uU&&uU.__exportStar||function($,Z){for(var G in $)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(Z,G))r54(Z,$,G)};Object.defineProperty(uU,"__esModule",{value:!0});uU.connect=void 0;var a54=Tf$();Object.defineProperty(uU,"connect",{enumerable:!0,get:function(){return a54.connect}});o54(kr(),uU)});function kf$($){let Z=$?.connectFn??Z94,G=null,X=null,Y=!1,Q=!1,J=!1,W=[];function K(){return G!==null&&!G.isClosed()&&!G.isDraining()&&!J}function w(){console.log(`[NatsProvider] fireReady: ${W.length} callbacks`);for(let H of W)try{H()}catch{}}function U(H){(async()=>{for await(let N of H.status())if(N.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(N.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,X=null,w()})().catch(()=>{})}async function F(H,N){let B=0;while(!Q)try{G=await Z({servers:H,timeout:$94,reconnect:!0,maxReconnectAttempts:-1,...N?{authenticator:N}:{}}),console.log(`[NatsProvider] Connected to ${G.getServer()} after ${B} attempt(s)`),X=null,J=!1,U(G),w();return}catch{B++;let D=iX(e54,s54,B-1,2,0.5);await O8(D)}}return{init(H,N){if(Y)return;Y=!0,Q=!1;let B=N?.creds?If$.credsAuthenticator(new TextEncoder().encode(N.creds)):void 0;F(H,B).catch(()=>{})},isConnected(){return K()},getConnection(){return K()?G:null},getJetStream(){if(!K())return null;if(!X)X=Mf$.jetstream(G);return X},onReady(H){if(W.push(H),K())try{H()}catch{}},async drain(){if(Q=!0,Y=!1,X=null,J=!1,G){let H=G;G=null,await H.drain().catch(()=>{})}}}}function Z94($){return qf$.connect($)}var If$,qf$,Mf$,s54=100,e54=3000,$94=3000;var Sf$=O(()=>{d5();If$=k(Hh(),1),qf$=k(Rf$(),1),Mf$=k(mB(),1)});function c81($,Z){return`${$}.${Z}`}class d81{cache;constructor($){this.cache=Wg({ttlMs:$?.ttlMs??G94,maxSize:$?.maxSize??X94})}async get($,Z){return this.cache.get(c81($,Z))??null}async set($,Z,G){this.cache.set(c81($,Z),G)}async invalidate($,Z){this.cache.delete(c81($,Z))}teardown(){this.cache.clear()}}var G94=600000,X94=5000;var Vf$=()=>{};function Nz0($,Z){return`${$}:${Z}`}function l81($){let Z=Wg({ttlMs:$?.ttlMs??Y94,maxSize:$?.maxSize??Q94}),G=$?.getConnection,X=crypto.randomUUID(),Y=new TextEncoder,Q=new TextDecoder,J=null;function W(K,w){let U=G?.();if(!U)return;try{U.publish(Cf$,Y.encode(JSON.stringify({organizationId:K,keyId:w,originId:X})))}catch(F){console.warn("[ProviderKeyCache] Publish failed (non-critical):",F)}}return{get(K,w){return Z.get(Nz0(K,w))},set(K,w,U){Z.set(Nz0(K,w),U)},invalidate(K,w){Z.delete(Nz0(K,w)),W(K,w)},start(){if(J)return;let K=G?.();if(!K)return;J=K.subscribe(Cf$),(async()=>{for await(let w of J)try{let U=JSON.parse(Q.decode(w.data));if(U.originId===X)continue;Z.delete(Nz0(U.organizationId,U.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,Z.clear()}}}var Cf$="studio.ai-provider-keys.invalidate",Y94=30000,Q94=5000;var _f$=()=>{};class m81{options;sub=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.sub)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;this.sub=Z.subscribe("mesh.decopilot.cancel");let G=new TextDecoder;(async()=>{for await(let X of this.sub)try{let Y=JSON.parse(G.decode(X.data));if(Y.originId===this.originId)continue;this.onCancel?.(Y.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;Z.publish("mesh.decopilot.cancel",this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId})))}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}publishControlFrame($,Z){}async stop(){this.sub?.unsubscribe(),this.sub=null,this.onCancel=null}}var ff$=($)=>{let Z;return()=>Z??=$()},i81,n81;var bf$=O(()=>{N5();i81=ff$(()=>D8.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),n81=ff$(()=>D8.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function H94(){return{name:HU,subjects:[`${nn0}.>`],storage:yJ.StorageType.File,max_age:K94,max_bytes:U94,max_msgs_per_subject:F94,discard:yJ.DiscardPolicy.Old,retention:yJ.RetentionPolicy.Limits,duplicate_window:w94,num_replicas:1}}class yf${chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function xf$($){let Z=vf$.headers();for(let[G,X]of Object.entries($))Z.set(G,X);return Z}function D94($,Z){let G=0;return{publish(X,Y,Q,J){X.publish(Y,Q,J?{headers:J}:void 0).catch((W)=>{if(G++,W94().add(1,{"org.id":Z??"unknown"}),G===1||G%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${G} total):`,W)})},get errorCount(){return G}}}class p81{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=this.options.getJetStreamManager?await this.options.getJetStreamManager():await yJ.jetstreamManager($),G=H94();try{await Z.streams.info(HU),await Z.streams.update(HU,G)}catch(X){if(X instanceof Error&&X.message.includes("stream not found"))await Z.streams.add(G);else if(X instanceof Error&&/can ?not change.*storage|storage type/i.test(X.message))await Z.streams.delete(HU),await Z.streams.add(G);else throw X}this.js=this.options.getJetStream(),this.jsm=Z,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,G,X){let Y=this.js;if(!Y)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let Q=D94(Z,X),J=!1,W=()=>{if(J)return;J=!0;let w=IQ$(Z);Y.publish(w.subject,w.data).catch(()=>{})};G.addEventListener("abort",W,{once:!0});let K=(w)=>{let U=performance.now(),F=tn0(w,{runId:Z}),H=performance.now()-U;if(i81().record(H),n81().add(1,{"org.id":X??"unknown"}),O94?.record(H,F.reduce((N,B)=>N+B.data.length,0)),F.length===0){console.warn(`[Decopilot] dropping oversized stream chunk for thread ${Z}`);return}for(let N of F)Q.publish(Y,N.subject,N.data,N.headers?xf$(N.headers):void 0)};return(async()=>{let w=$.getReader(),U=0,F=0,H;try{while(!0){let{done:N,value:B}=await w.read();if(N)break;if(K(B),F++,++U>=64)U=0,await new Promise((D)=>setImmediate(D))}}catch(N){H=N,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,N?.message??N)}finally{if(w.releaseLock(),W(),B94)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:F,publishErrors:Q.errorCount}))}if(H!==void 0)throw H})()}async publishRawChunk($,Z,G){let X=this.js;if(!X)return!1;let Y=performance.now(),Q=tn0(Z,{runId:$,dedup:G});if(i81().record(performance.now()-Y),n81().add(1),Q.length===0)return console.warn(`[Decopilot] dropping oversized raw chunk for thread ${$} (> MAX_CHUNKED_BYTES)`),!0;for(let J of Q)await X.publish(J.subject,J.data,{...J.headers?{headers:xf$(J.headers)}:{},...J.msgId?{msgID:J.msgId}:{}});return!0}async publishDone($,Z,G){let X=this.js;if(!X)return!1;let Y=RQ$({runId:$,fenceToken:Z,finalSeq:G});return await X.publish(Y.subject,Y.data,{msgID:Y.msgId}),!0}async createTailStream($,Z,G){let X=this.js;if(!X)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let Y=G?.deliverPolicy==="new"?yJ.DeliverPolicy.New:yJ.DeliverPolicy.All,Q=G?.closeOnDone??!1,J=yN($),W;try{W=await(await X.consumers.get(HU,{filter_subjects:J,deliver_policy:Y})).consume()}catch(D){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",D?.message??D),null}let U=NN0({messages:async function*(){try{for await(let D of W)yield{subject:D.subject,data:D.data,headers:D.headers}}finally{W.stop()}}(),onCancel:()=>W.stop()}).pipeThrough(UN0()).pipeThrough(FN0()).getReader(),F=!1,H=()=>{if(F)return;F=!0;try{U.releaseLock()}catch{}},N=!1,B=()=>{if(N)return;N=!0,W.stop(),U.cancel().catch(()=>{}),H()};return Z?.addEventListener("abort",B,{once:!0}),new ReadableStream({async pull(D){for(;;){let{done:E,value:L}=await U.read();if(E){B(),D.close();return}let z=L;if(z.kind==="done"){if(Q){B(),D.close();return}continue}D.enqueue(z.chunk);return}},cancel(){B()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(HU,{filter:yN($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var yJ,vf$,J94=($)=>{let Z;return()=>Z??=$()},W94,K94=86400000000000,w94=120000000000,U94=4294967296,F94=500000,N94,B94,O94;var gf$=O(()=>{on0();BN0();rn0();N5();bf$();yJ=k(mB(),1),vf$=k(Hh(),1),W94=J94(()=>D8.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"}));N94=process.env.STREAM_ENCODE_TRACE==="1",B94=process.env.DECOPILOT_STREAM_TRACE==="1";O94=N94?new yf$:null});import{z as Y8}from"zod";var hf$,uf$,qK,t81,cf$,df$,lf$,mf$,E94,if$,nf$,pf$,tf$,rf$,L94,of$,QYZ,z94,j94=($)=>{return $.issues.map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"frame"}: ${Z.message}`}).join("; ")},af$=($)=>{return new TextEncoder().encode(JSON.stringify($))},sf$=($)=>{let Z;try{Z=JSON.parse(new TextDecoder().decode($))}catch(Q){throw TypeError("malformed JSON in tunnel frame",{cause:Q})}if(Z===null||typeof Z!=="object"||Array.isArray(Z))throw TypeError("frame must be an object");if(!("type"in Z))throw TypeError("frame type missing");let G=Z.type,X=typeof G==="string"?z94[G]:void 0;if(!X)throw TypeError(`unknown frame type: ${String(G)}`);let Y=X.safeParse(Z);if(!Y.success)throw TypeError(`invalid tunnel frame: ${j94(Y.error)}`);return Y.data};var ef$=O(()=>{hf$=Y8.string().regex(/^[A-Za-z0-9_-]*$/u),uf$=Y8.array(Y8.tuple([Y8.string(),Y8.string()])),qK=Y8.string().regex(/^[A-Za-z0-9_-]+$/u),t81=Y8.string().min(1),cf$=Y8.object({type:Y8.literal("request.start"),protocol:Y8.literal("tunnel.v1"),requestId:qK,method:Y8.string().min(1),url:Y8.string().min(1),headers:uf$,replySubject:t81,bodySubject:t81.optional(),abortSubject:t81,deadlineUnixMs:Y8.number().int().nonnegative().optional()}),df$=Y8.object({type:Y8.literal("request.chunk"),requestId:qK,seq:Y8.number().int().nonnegative(),data:hf$}),lf$=Y8.object({type:Y8.literal("request.end"),requestId:qK,seq:Y8.number().int().nonnegative()}),mf$=Y8.object({type:Y8.literal("request.error"),requestId:qK,code:Y8.string().min(1),message:Y8.string()}),E94=Y8.union([df$,lf$,mf$]),if$=Y8.object({type:Y8.literal("response.ack"),requestId:qK}),nf$=Y8.object({type:Y8.literal("response.start"),requestId:qK,status:Y8.number().int().min(100).max(599),statusText:Y8.string().optional(),headers:uf$}),pf$=Y8.object({type:Y8.literal("response.chunk"),requestId:qK,seq:Y8.number().int().nonnegative(),data:hf$}),tf$=Y8.object({type:Y8.literal("response.end"),requestId:qK,seq:Y8.number().int().nonnegative()}),rf$=Y8.object({type:Y8.literal("response.error"),requestId:qK,code:Y8.string().min(1),message:Y8.string()}),L94=Y8.union([if$,nf$,pf$,tf$,rf$]),of$=Y8.object({type:Y8.literal("abort"),requestId:qK,reason:Y8.string().optional()}),QYZ=Y8.union([cf$,E94,L94,of$]),z94={"request.start":cf$,"request.chunk":df$,"request.end":lf$,"request.error":mf$,"response.ack":if$,"response.start":nf$,"response.chunk":pf$,"response.end":tf$,"response.error":rf$,abort:of$}});var P94=($)=>{return $.replaceAll("+","-").replaceAll("/","_").replaceAll("=","")},A94=($)=>{let Z=$.replaceAll("-","+").replaceAll("_","/"),G=(4-Z.length%4)%4;return Z+"=".repeat(G)},T94=($)=>{let Z=[];for(let G=0;G<$.length;G+=32768)Z.push(String.fromCharCode(...$.subarray(G,G+32768)));return Z.join("")},R94=($)=>{let Z=new Uint8Array($.length);for(let G=0;G<$.length;G+=32768){let X=$.slice(G,G+32768);Z.set(Uint8Array.from(X,(Y)=>Y.charCodeAt(0)),G)}return Z},$b$=($)=>{return P94(btoa(T94($)))},Zb$=($)=>{return R94(atob(A94($)))},I94;var Gb$=O(()=>{I94=class I94{#$=[];#Z;#G=!1;#Q=new Set;push($){if(this.#G)return;let Z=this.#Y();if(Z){Z.resolve({value:$,done:!1});return}this.#$.push($)}close(){if(this.#G)return;this.#G=!0,this.#X()}fail($){if(this.#G)return;this.#Z=$,this.#G=!0,this.#J($)}[Symbol.asyncIterator](){let $=!1,Z=new Set;return{next:()=>{if($)return Promise.resolve({value:void 0,done:!0});if(this.#$.length>0)return Promise.resolve({value:this.#$.shift(),done:!1});if(this.#Z)return Promise.reject(this.#Z);if(this.#G)return Promise.resolve({value:void 0,done:!0});return new Promise((G,X)=>{let Y;Y={resolve:(Q)=>{Z.delete(Y),G(Q)},reject:(Q)=>{Z.delete(Y),X(Q)}},Z.add(Y),this.#Q.add(Y)})},return:()=>{$=!0;for(let G of Z)this.#Q.delete(G),G.resolve({value:void 0,done:!0});return Z.clear(),Promise.resolve({value:void 0,done:!0})}}}#Y(){for(let $ of this.#Q)return this.#Q.delete($),$;return}#X(){for(let $ of this.#Q)$.resolve({value:void 0,done:!0});this.#Q.clear()}#J($){for(let Z of this.#Q)Z.reject($);this.#Q.clear()}}});function*x94($,Z){for(let G=0;G<$.length;G+=Z)yield $.subarray(G,G+Z)}class l94{maxSize;ttlMs;now;#$=new Map;constructor($,Z,G=Date.now){this.maxSize=$;this.ttlMs=Z;this.now=G}get($){let Z=this.#$.get($);if(!Z)return;if(Z.expiresAt<=this.now()){this.#$.delete($);return}return Z.value}has($){return this.get($)!==void 0}set($,Z){let G=this.now();this.prune(G),this.#$.delete($),this.#$.set($,{value:Z,expiresAt:G+this.ttlMs});while(this.#$.size>this.maxSize){let X=this.#$.keys().next().value;if(X===void 0)return;this.#$.delete(X)}}take($){let Z=this.get($);return this.#$.delete($),Z}clear(){this.#$.clear()}prune($){for(let[Z,G]of this.#$)if(G.expiresAt<=$)this.#$.delete(Z)}}var q94=30000,M94=1000,k94=65536,X3,S94=($)=>{return"connection"in $},V94=($)=>{let Z=S94($)?$:{connection:$};return{connection:Z.connection,timeoutMs:Z.timeoutMs??0,firstFrameTimeoutMs:Z.firstFrameTimeoutMs??q94,idleTimeoutMs:Z.idleTimeoutMs??0,republishIntervalMs:Z.republishIntervalMs??M94,maxChunkBytes:Z.maxChunkBytes??k94,diagnostics:Z.diagnostics}},Xb$=($)=>{return Array.from($.entries())},C94=($)=>{return $!==void 0&&!($ instanceof Headers)&&typeof $!=="function"&&typeof $[Symbol.iterator]==="function"},_94=($,Z,G)=>{if(C94(Z?.headers))return Array.from(Z?.headers,([X,Y])=>[String(X),String(Y)]);if($ instanceof Request)return Xb$(G.headers);return Xb$(G.headers)},Yb$=($)=>{let Z=new Headers;for(let[G,X]of $)Z.append(G,X);return Z},f94=()=>{return crypto.randomUUID().replaceAll("-","")},b94=($)=>{try{$?.unsubscribe()}catch{}},v94=($)=>{if(!Number.isSafeInteger($)||$<1)throw TypeError("maxChunkBytes must be a positive safe integer")},y94=($,Z)=>{return $==="HEAD"||Z===204||Z===205||Z===304},qB=($,Z,G)=>{$.publish(Z,af$(G))},g94=($)=>{return $.type.startsWith("response.")},r81=($)=>{let Z=$.reason;if(Z instanceof Error)return Z.message;if(typeof Z==="string")return Z;return"aborted"},h94=($)=>{if($==="idle")return new X3("tunnel_idle_timeout","no response frame within idleTimeoutMs");return new X3("tunnel_no_first_frame","no response frame arrived before firstFrameTimeoutMs")},Qb$=async($,Z,G,X,Y="first_frame")=>{while(!0){let Q,J;try{let W=await Promise.race([$.next(),new Promise((w,U)=>{if(X.aborted){U(X.reason);return}let F=()=>U(X.reason);J=()=>{X.removeEventListener("abort",F)},X.addEventListener("abort",F,{once:!0})}),...G>0?[new Promise((w,U)=>{Q=setTimeout(()=>{U(h94(Y))},G)})]:[]]);if(W.done)return{value:void 0,done:!0};let K=sf$(W.value.data);if(!g94(K)||K.requestId!==Z)continue;return{value:K,done:!1}}finally{if(J?.(),Q)clearTimeout(Q)}}},u94=async($)=>{let Z=!1;while(!0){let G=await Qb$($.iterator,$.requestId,Z?0:$.firstFrameTimeoutMs,$.signal);if(G.done)throw new X3("tunnel_response_closed","response subscription closed before response.start");if(!Z)Z=!0,$.onFirstResponseFrame();if(G.value.type==="response.ack")continue;if(G.value.type==="response.start")return G.value;if(G.value.type==="response.error")throw new X3(G.value.code,G.value.message);throw new X3("tunnel_unexpected_response_frame",`expected response.start, got ${G.value.type}`)}},c94=async($)=>{let Z=$.body.getReader(),G=0,X=!1,Y=()=>{X=!0,Z.cancel($.signal.reason).catch(()=>{})};try{if($.signal.aborted){Y();return}$.signal.addEventListener("abort",Y,{once:!0});while(!0){let{done:Q,value:J}=await Z.read();if(X)return;if(Q){qB($.connection,$.subject,{type:"request.end",requestId:$.requestId,seq:G});return}for(let W of x94(J,$.maxChunkBytes)){if(X)return;qB($.connection,$.subject,{type:"request.chunk",requestId:$.requestId,seq:G,data:$b$(W)}),G++}}}catch(Q){if(X)return;qB($.connection,$.subject,{type:"request.error",requestId:$.requestId,code:"tunnel_request_body_error",message:Q instanceof Error?Q.message:String(Q)})}finally{$.signal.removeEventListener("abort",Y),Z.releaseLock()}},d94=($)=>{return new ReadableStream({async pull(Z){while(!0)try{let G=await Qb$($.iterator,$.requestId,$.idleTimeoutMs,$.signal,"idle");if(G.done){Z.error(new X3("tunnel_response_closed","response subscription closed before response.end")),$.cleanup();return}let X=G.value;if(X.type==="response.ack"||X.type==="response.start")continue;if(X.type==="response.chunk"){Z.enqueue(Zb$(X.data));return}if(X.type==="response.end"){Z.close(),$.cleanup();return}Z.error(new X3(X.code,X.message)),$.cleanup();return}catch(G){Z.error(G),$.cleanup();return}},cancel(){qB($.connection,$.abortSubject,{type:"abort",requestId:$.requestId,reason:"response_body_cancelled"}),$.cleanup()}},{highWaterMark:0})},MB=($)=>{let Z=V94($);return v94(Z.maxChunkBytes),async(G,X)=>{let Y=O_$(G),Q=new Request(G,X),J=f94(),W=D_$(Y.hostname,J),K=new AbortController,w=new AbortController,U=!1,F,H,N,B,D=!1,E=(P=new X3("tunnel_closed","tunnel request closed"))=>{if(U)return;if(U=!0,b94(F),Q.body&&!D)Q.body.cancel(P).catch(()=>{});if(w.abort(P),K.abort(P),N)clearInterval(N);if(B)clearTimeout(B);Q.signal.removeEventListener("abort",L)},L=()=>{let P=new X3("tunnel_aborted",r81(Q.signal));qB(Z.connection,W.abort,{type:"abort",requestId:J,reason:r81(Q.signal)}),K.abort(P),E(P)};if(Q.signal.aborted)throw new X3("tunnel_aborted",r81(Q.signal));if(F=Z.connection.subscribe(W.reply),H=F[Symbol.asyncIterator](),Q.signal.addEventListener("abort",L,{once:!0}),Z.timeoutMs>0)B=setTimeout(()=>{let P=new X3("tunnel_timeout",`tunnel request timed out after ${Z.timeoutMs}ms`);qB(Z.connection,W.abort,{type:"abort",requestId:J,reason:"tunnel_timeout"}),K.abort(P),E(P)},Z.timeoutMs);let z={type:"request.start",protocol:"tunnel.v1",requestId:J,method:Q.method,url:Y.pathWithSearch,headers:_94(G,X,Q),replySubject:W.reply,abortSubject:W.abort,...Q.body?{bodySubject:W.body}:{},...Z.timeoutMs>0?{deadlineUnixMs:Date.now()+Z.timeoutMs}:{}};qB(Z.connection,W.request,z),N=Z.republishIntervalMs>0?setInterval(()=>{if(!D)qB(Z.connection,W.request,z)},Z.republishIntervalMs):void 0;let j=()=>{if(D)return;D=!0,(Q.body?c94({connection:Z.connection,subject:W.body,requestId:J,body:Q.body,maxChunkBytes:Z.maxChunkBytes,signal:w.signal}):void 0)?.catch((A)=>{Z.diagnostics?.({event:"request_body_error",requestId:J,subject:W.body,error:A instanceof Error?A.message:String(A)})})};try{let P=await u94({iterator:H,requestId:J,firstFrameTimeoutMs:Z.firstFrameTimeoutMs,signal:K.signal,onFirstResponseFrame:()=>{if(N)clearInterval(N);j()}});if(y94(Q.method,P.status))return E(),new Response(null,{status:P.status,statusText:P.statusText,headers:Yb$(P.headers)});return new Response(d94({connection:Z.connection,abortSubject:W.abort,iterator:H,requestId:J,idleTimeoutMs:Z.idleTimeoutMs,signal:K.signal,cleanup:E}),{status:P.status,statusText:P.statusText,headers:Yb$(P.headers)})}catch(P){throw E(P instanceof Error?P:Error(String(P))),P}}};var Jb$=O(()=>{ef$();Gb$();Kz0();X3=class X3 extends Error{code;constructor($,Z,G){super(`${$}: ${Z}`,G);this.code=$;this.name="TunnelTransportError"}}});var Bz0=O(()=>{Jb$()});function Wb$($){let Z=$.createFetch??m94,G=$.timeoutMs??2000;return async(X)=>{try{let Y=$.getConnection();if(!Y)return o81;let Q=xJ(X),W=await Z(Y,G)(`tunnel://${Q}/api/links/status`,{method:"GET"});if(!W.ok)return o81;let K=await W.json();return{online:!0,hostname:K.hostname,capabilities:K.capabilities??[],cliVersion:K.cliVersion}}catch{return o81}}}var o81,m94=($,Z)=>MB({connection:$,firstFrameTimeoutMs:Z});var Kb$=O(()=>{Bz0();Ir();o81={online:!1,capabilities:[]}});async function*i94($){if(!$.body){yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};return}let Z=$.body.getReader(),G=!1;try{yield{headers:{status:$.status,headers:Object.fromEntries($.headers.entries())}};while(!0){let{done:X,value:Y}=await Z.read();if(X){G=!0;return}yield{data:Buffer.from(Y).toString("base64")}}}finally{try{if(!G)await Z.cancel()}catch{}finally{Z.releaseLock()}}}function wb$($){let Z=$.createFetch??((G)=>MB({connection:G,idleTimeoutMs:n94}));return async function*(X,Y,Q){let J=$.getConnection();if(!J)throw Error("link_unavailable: NATS unavailable");let W=xJ(X),K=Z(J),w={method:Y.method,headers:Y.headers,signal:Q?.signal};if(Y.body!=null)w.body=Y.body;let U=await K(`tunnel://${W}${Y.path}`,w);yield*i94(U)}}var n94=45000;var Ub$=O(()=>{Bz0();Ir()});import{z as gJ}from"zod";function Fb$($){return JSON.stringify($)}var bYZ;var Hb$=O(()=>{bYZ=gJ.discriminatedUnion("type",[gJ.object({type:gJ.literal("cancel"),runId:gJ.string()}),gJ.object({type:gJ.literal("cancel_req"),reqId:gJ.string()}),gJ.object({type:gJ.literal("keep_alive")}),gJ.object({type:gJ.literal("shutdown")})])});function Nb$($){let Z=$.createFetch??((G)=>MB({connection:G,idleTimeoutMs:p94}));return{async publish(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=xJ(G),K=await Z(Q)(`tunnel://${J}/api/links/work`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel work publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}function Bb$($){let Z=$.createFetch??MB;return{async publishControlFrame(G,X,Y){let Q=$.getConnection();if(!Q)throw Error("link_unavailable: NATS unavailable");let J=xJ(G),K=await Z(Q)(`tunnel://${J}/api/links/control`,{method:"POST",headers:{"content-type":"application/json"},body:Fb$(X),signal:Y?.signal});if(!K.ok){let w=await K.text().catch(()=>"");throw Error(`tunnel control publish failed (${K.status})${w?`: ${w}`:""}`)}await K.body?.cancel().catch(()=>{})}}}var p94=45000;var Ob$=O(()=>{Bz0();Hb$();Ir()});function Oz0($,Z,G,X){if(!X)return!1;return $.emit(Z,h3(G,X.status,{title:X.title??void 0,virtualMcpId:X.virtual_mcp_id??void 0,createdBy:X.created_by??void 0,triggerId:X.trigger_id??null,branch:X.branch??null,createdAt:X.created_at,updatedAt:X.updated_at})),!0}var Db$=O(()=>{L8()});class a81{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}import{readdir as t94,rm as Dz0}from"fs/promises";import{join as Ez0}from"path";async function Lz0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-r94),Z.setUTCHours(0,0,0,0);let G=0;try{let X=await yC($);for(let Y of X)if(/^\d{4}$/.test(Y))G+=await Eb$($,Y,Z);else if(!Y.startsWith(".")){let Q=Ez0($,Y),J=await yC(Q);for(let K of J){if(!/^\d{4}$/.test(K))continue;G+=await Eb$(Q,K,Z)}if((await yC(Q)).length===0)await Dz0(Q,{recursive:!0,force:!0})}}catch(X){console.warn("monitoring retention cleanup failed:",X)}return G}async function Eb$($,Z,G){let X=0,Y=Ez0($,Z),Q=await yC(Y);for(let W of Q){if(!/^\d{2}$/.test(W))continue;let K=Ez0(Y,W),w=await yC(K);for(let F of w){if(!/^\d{2}$/.test(F))continue;let H=new Date(`${Z}-${W}-${F}T00:00:00Z`);if(isNaN(H.getTime()))continue;if(H<G){let N=Ez0(K,F);await Dz0(N,{recursive:!0,force:!0}),X++}}if((await yC(K)).length===0)await Dz0(K,{recursive:!0,force:!0})}if((await yC(Y)).length===0)await Dz0(Y,{recursive:!0,force:!0});return X}async function yC($){try{return(await t94($)).filter((G)=>!G.startsWith("."))}catch{return[]}}var r94=30;var s81=()=>{};import{DBOS as e81,SchedulerMode as o94}from"@dbos-inc/dbos-sdk";async function s94(){let $=[J3(),gC(),SK()],Z=0;for(let G of $)try{Z+=await Lz0(G)}catch(X){console.error("[monitoring-retention] cleanup failed:",X)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function e94($,Z){await e81.runStep(()=>s94(),{name:"monitoringRetention"})}function zb$(){if(Lb$)return;Lb$=!0;let $=e81.registerWorkflow(e94,{name:"monitoringRetentionWorkflow"});e81.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:a94,mode:o94.ExactlyOncePerIntervalWhenActive})}var a94="23 4 * * *",Lb$=!1;var jb$=O(()=>{nX();s81()});function Pb$($){return async(Z,G)=>{let X=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",G).where("member.organizationId","=",Z).executeTakeFirst();if(!X)return console.warn(`[automationContextFactory] User ${G} not found in org ${Z} \u2014 returning null`),null;let Y=await QN.create();Y.auth.user={id:G,role:X.role},Y.organization={id:X.orgId,slug:X.orgSlug,name:X.orgName};let Q=await nc0($.db,Z,X.role);return Y.boundAuth=ic0({auth:Y.authInstance,headers:new Headers,role:X.role,permissions:Q,userId:G}),Y.access=new cD(G,void 0,Y.boundAuth,X.role,"self"),w50(Y,{id:X.orgId,slug:X.orgSlug}),Y}}var Ab$=O(()=>{dD();gi()});function $Z4(){return{services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,logs:[]}}function GZ4(){for(let $ of ZZ4)$()}function Tb$($){let Z=[...$61.logs,$];$61={...$61,logs:Z.length>500?Z.slice(-500):Z},GZ4()}function Z61(){return XZ4}var $61,ZZ4,XZ4=!1;var G61=O(()=>{$61=$Z4(),ZZ4=new Set});import{EventEmitter as YZ4}from"events";var X61;var Rb$=O(()=>{G61();X61=new YZ4;X61.on("request",($)=>{Tb$($)})});function Ib$(){return async($,Z)=>{let G=Date.now(),X=$.req.method,Y=$.req.path;if(Y==="/api/auth/get-session"||Y.includes("favicon")){await Z();return}let Q="",J=!1;if(Y.startsWith("/mcp")&&X==="POST"){J=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let H=await $.req.raw.clone().json();if(H.method==="tools/call"&&H.params?.name){let N=cg(H.params.name),B=H.params.arguments||{},D=Object.keys(B).map((L)=>cg(L)),E=D.length>0?D.slice(0,3).join(",")+(D.length>3?"\u2026":""):"";Q=`${e4.tool}${N}${e4.dim}(${E})${e4.reset}`}else if(H.method)Q=`${e4.dim}${cg(H.method)}${e4.reset}`}}catch{}}let W=cg(Y);if(Y.startsWith("/mcp/conn_")){let U=Y.split("/")[2]??"";W=`/mcp/${e4.mcp}${cg(U.slice(0,12))}\u2026${e4.reset}`}else if(Y==="/mcp")W=`${e4.mcp}/mcp${e4.reset}`;else if(Y==="/mcp/registry")W=`${e4.mcp}/mcp/registry${e4.reset}`;let K=JZ4(X),w=J?"\u25C0":"\u2190";if(!Z61())console.log(`${e4.dim}${w}${e4.reset} ${K}${X}${e4.reset} ${W}${Q?` ${Q}`:""}`);try{await Z()}finally{let U=Date.now()-G,F=$.res.status,H=QZ4(F),N=U<1000?`${U}ms`:`${(U/1000).toFixed(1)}s`,B=J?"\u25B6":"\u2192";if(!Z61())console.log(`${e4.dim}${B}${e4.reset} ${K}${X}${e4.reset} ${W}${Q?` ${Q}`:""} ${H}${F}${e4.reset} ${e4.duration}${N}${e4.reset}`);X61.emit("request",{method:X,path:cg(Y),status:F,duration:U,timestamp:new Date})}}}var e4,QZ4=($)=>{if($>=500)return e4.serverError;if($>=400)return e4.clientError;if($>=300)return e4.redirect;return e4.ok},JZ4=($)=>{return e4[$]||e4.reset},cg=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var qb$=O(()=>{G61();Rb$();e4={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as Vb$}from"crypto";import{mkdir as WZ4,readdir as KZ4,rm as Mb$,stat as Cb$}from"fs/promises";import{join as Q61,relative as wZ4}from"path";import{z as T$}from"zod";function fb$($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return Q61(UZ4,Z)}function bb$($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function Y61($,Z){let G=fb$($),X=bb$(Z);return Q61(G,X)}function FZ4($,Z,G,X){let Y=W1().encryptionKey||"dev-secret",Q=`${$}:${Z}:${G}:${X}`;return Vb$("sha256",Y).update(Q).digest("hex")}function Sb$($,Z,G,X,Y){let Q=Math.floor(Date.now()/1000)+X,J=FZ4(Z,G,Q,Y),W=new URL(`/api/dev-assets/${Z}/${bb$(G)}`,$);return W.searchParams.set("expires",Q.toString()),W.searchParams.set("signature",J),W.searchParams.set("method",Y),W.toString()}function xb$($,Z,G){let X=`${$}:${Z.getTime()}:${G}`;return`"${Vb$("md5","etag").update(X).digest("hex")}"`}async function vb$($,Z,G,X,Y){try{let Q=await KZ4($,{withFileTypes:!0});for(let J of Q){let W=Q61($,J.name),w=wZ4(Z,W).replace(/\\/g,"/");if(G&&!w.startsWith(G))continue;if(J.isDirectory())if(X){let U=w+"/";if(!G||U.startsWith(G)){if(!(G?w.slice(G.length):w).includes("/"))Y.commonPrefixes.add(U)}}else await vb$(W,Z,G,X,Y);else if(J.isFile()){if(X&&G){let U=w.slice(G.length);if(U.includes(X)){let F=U.indexOf(X),H=G+U.slice(0,F+1);Y.commonPrefixes.add(H);continue}}try{let U=await Cb$(W);Y.objects.push({key:w,size:U.size,lastModified:U.mtime.toISOString(),etag:xb$(W,U.mtime,U.size)})}catch{}}}}catch{}}function yb$($,Z){let X=O0($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:T$.object({prefix:T$.string().optional(),maxKeys:T$.number().optional().default(1000),continuationToken:T$.string().optional(),delimiter:T$.string().optional()}),outputSchema:T$.object({objects:T$.array(T$.object({key:T$.string(),size:T$.number(),lastModified:T$.string(),etag:T$.string()})),nextContinuationToken:T$.string().optional(),isTruncated:T$.boolean(),commonPrefixes:T$.array(T$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=Q.prefix||"",W=Q.maxKeys??1000,K=Q.delimiter,w=Q.continuationToken,U=fb$(X);await WZ4(U,{recursive:!0});let F={objects:[],commonPrefixes:new Set};await vb$(U,U,J,K,F),F.objects.sort((E,L)=>E.key.localeCompare(L.key));let H=0;if(w){if(H=F.objects.findIndex((E)=>E.key>w),H===-1)H=F.objects.length}let N=F.objects.slice(H,H+W),B=H+W<F.objects.length,D=B?N[N.length-1]?.key:void 0;return{objects:N,isTruncated:B,nextContinuationToken:D,commonPrefixes:Array.from(F.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:T$.object({key:T$.string()}),outputSchema:T$.object({contentType:T$.string().optional(),contentLength:T$.number(),lastModified:T$.string(),etag:T$.string(),metadata:T$.record(T$.string(),T$.string()).optional()}),handler:async(Y)=>{let Q=Y,J=Y61(X,Q.key),W=await Cb$(J);return{contentType:o11(Q.key),contentLength:W.size,lastModified:W.mtime.toISOString(),etag:xb$(J,W.mtime,W.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:T$.object({key:T$.string(),expiresIn:T$.number().optional()}),outputSchema:T$.object({url:T$.string(),expiresIn:T$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??kb$;return{url:Sb$(Z,X,Q.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:T$.object({key:T$.string(),expiresIn:T$.number().optional(),contentType:T$.string().optional()}),outputSchema:T$.object({url:T$.string(),expiresIn:T$.number()}),handler:async(Y)=>{let Q=Y,J=Q.expiresIn??kb$;return{url:Sb$(Z,X,Q.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:T$.object({key:T$.string()}),outputSchema:T$.object({success:T$.boolean(),key:T$.string()}),handler:async(Y)=>{let Q=Y,J=Y61(X,Q.key);try{return await Mb$(J),{success:!0,key:Q.key}}catch{return{success:!1,key:Q.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:T$.object({keys:T$.array(T$.string()).max(1000)}),outputSchema:T$.object({deleted:T$.array(T$.string()),errors:T$.array(T$.object({key:T$.string(),message:T$.string()}))}),handler:async(Y)=>{let Q=Y,J=[],W=[];return await Promise.all(Q.keys.map(async(K)=>{let w=Y61(X,K);try{await Mb$(w),J.push(K)}catch(U){W.push({key:K,message:U instanceof Error?U.message:"Unknown error"})}})),{deleted:J,errors:W}}}]}async function J61($,Z,G){let X=yb$(Z,G),Y=new Lw({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:L5});for(let J of X){let W="shape"in J.inputSchema?J.inputSchema.shape:T$.object({}).shape,K=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:T$.object({}).shape;Y.registerTool(J.name,{description:J.description??"",inputSchema:W,outputSchema:K,annotations:J.annotations,_meta:J._meta},async(w)=>{try{let U=await J.handler(w);return{content:[{type:"text",text:JSON.stringify(U)}],structuredContent:U}}catch(U){return{content:[{type:"text",text:`Error: ${U.message}`}],isError:!0}}})}let Q=new hY({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Y.connect(Q),ZK(Y,Q,$,"mcp:dev-assets")}async function gb$($,Z,G,X){let Q=yb$(G,X).find((J)=>J.name===$);if(!Q)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let J=await Q.handler(Z);return{content:[{type:"text",text:JSON.stringify(J)}]}}catch(J){return{content:[{type:"text",text:J instanceof Error?J.message:String(J)}],isError:!0}}}var UZ4="./data/assets",kb$=3600,_b$,hb$;var ub$=O(()=>{V$();Ap();d8();ic();Hy();zG();ML0();_b$=new V1;_b$.all("/",async($)=>{let Z=$.get("studioContext"),G=new URL($.req.url),X=`${G.protocol}//${G.host}`;return J61($.req.raw,Z,X)});hb$=_b$});var cb$={};X6(cb$,{mountDevRoutes:()=>HZ4});function HZ4($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(X)=>{let Y=X.get("studioContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`;return J61(X.req.raw,Y,J)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(X)=>{let Y=X.get("studioContext"),Q=new URL(X.req.url),J=`${Q.protocol}//${Q.host}`,W=X.req.param("toolName");if(!W)return X.json({error:"Missing tool name"},400);let K=await X.req.json(),w=await gb$(W,K,Y,J);if(w.isError)return X.json(w.content,500);return X.json(w.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",hb$);let G=new V1;G.use("*",$3({mountPath:"/api/dev-assets"})),G.route("/",qL0({orgFromPath:!1})),$.route("/api/dev-assets",G)}var db$=O(()=>{d8();d11();ML0();ub$()});import{sql as NZ4}from"kysely";import{randomUUID as lb$}from"crypto";import{z as BZ4}from"zod";async function DZ4($){let Z=new Date().toISOString(),G=lb$(),X=i6.SELF($.organizationId),Y="registry.publish_request.created",Q={requestId:$.request.id,requestedId:$.request.requested_id,title:$.request.title,status:$.request.status,createdAt:$.request.created_at,requester:{name:$.request.requester_name,email:$.request.requester_email}};await $.db.insertInto("events").values({id:G,organization_id:$.organizationId,type:"registry.publish_request.created",source:X,specversion:"1.0",subject:$.request.id,time:Z,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(Q),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Z,updated_at:Z}).execute();let J=await $.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",$.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((W)=>W.or([W("publisher","is",null),W("publisher","=",X)])).execute();if(J.length>0)await $.db.insertInto("event_deliveries").values(J.map((W)=>({id:lb$(),event_id:G,subscription_id:W.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Z}))).execute();try{await NZ4`SELECT pg_notify('mesh_events', ${G})`.execute($.db)}catch{}}async function EZ4($,Z){let X=(await $.selectFrom("organization").select(["id"]).where("id","=",Z).execute())[0];if(X?.id)return X.id;return(await $.selectFrom("organization").select(["id"]).where("slug","=",Z).execute())[0]?.id??null}async function LZ4($,Z){let G=await $.selectFrom("virtual_mcp_plugin_configs").innerJoin("connections","connections.id","virtual_mcp_plugin_configs.virtual_mcp_id").select(["virtual_mcp_plugin_configs.settings as settings"]).where("connections.organization_id","=",Z).where("virtual_mcp_plugin_configs.plugin_id","=",BC).execute();for(let X of G){let Y=X.settings,Q=typeof Y==="string"?(()=>{try{return JSON.parse(Y)}catch{return{}}})():Y??{};if(Q.acceptPublishRequests===!0){let J=Q.rateLimitWindow==="minute"?"minute":"hour",W=Q.rateLimitMax,K=typeof W==="number"&&Number.isFinite(W)&&W>=1?Math.floor(W):ib$;return{acceptPublishRequests:!0,requireApiToken:Q.requireApiToken===!0,rateLimitEnabled:Q.rateLimitEnabled===void 0?mb$:Q.rateLimitEnabled===!0,rateLimitWindow:J,rateLimitMax:K}}}return{acceptPublishRequests:!1,requireApiToken:!1,rateLimitEnabled:mb$,rateLimitWindow:OZ4,rateLimitMax:ib$}}async function zZ4($,Z,G){let X=G==="minute"?60000:3600000,Y=new Date(Date.now()-X).toISOString(),Q=await $.selectFrom("private_registry_publish_request").select((J)=>J.fn.countAll().as("count")).where("organization_id","=",Z).where("created_at",">=",Y).executeTakeFirst();return Number(Q?.count??0)}async function jZ4($,Z,G,X){let Y=await $.selectFrom("private_registry_item").select(["id","title"]).where("organization_id","=",Z).where((Q)=>Q.or([Q("id","=",G),Q("title","=",X)])).executeTakeFirst();return Y?{id:String(Y.id),title:String(Y.title)}:null}function nb$($){let{db:Z,db:G}=$,X=new zx(G),Y=new jx(G);return async(Q)=>{let J=Q.req.param("orgRef")??Q.req.param("org");if(!J)return Q.json({error:"Organization not found"},404);let W=await EZ4(Z,J);if(!W)return Q.json({error:"Organization not found"},404);let K=await LZ4(Z,W);if(!K.acceptPublishRequests)return Q.json({error:"Publish requests are not enabled for this registry."},403);if(K.requireApiToken){let N=Q.req.header("Authorization"),B=N?.startsWith("Bearer ")?N.slice(7).trim():null;if(!B)return Q.json({error:"API key required. Use Authorization: Bearer <key>"},401);if(!await Y.validate(W,B))return Q.json({error:"Invalid API key"},401)}if(K.rateLimitEnabled){if(await zZ4(G,W,K.rateLimitWindow)>=K.rateLimitMax)return Q.json({error:"Too many publish requests. Please try again later.",retryAfterSeconds:K.rateLimitWindow==="minute"?60:3600},429)}let w;try{w=await Q.req.json()}catch{return Q.json({error:"Invalid JSON body"},400)}let U=wT$.safeParse(w);if(!U.success)return Q.json({error:"Invalid publish request payload",details:BZ4.treeifyError(U.error)},400);let F=await jZ4(G,W,U.data.data.id,U.data.data.title);if(F)return Q.json({error:"A registry item with the same id or title already exists. Please use a different name/id.",conflict:F},409);let H=await X.createOrUpdate({organization_id:W,requested_id:U.data.data.id,title:U.data.data.title,description:U.data.data.description??null,_meta:U.data.data._meta,server:U.data.data.server,requester_name:U.data.requester?.name??null,requester_email:U.data.requester?.email??null});try{await DZ4({db:Z,organizationId:W,request:H})}catch(N){console.warn("[private-registry] failed to emit publish-request event:",N)}return i1.capture({distinctId:U.data.requester?.email??`org:${W}`,event:"registry_publish_request_submitted",groups:{organization:W},properties:{organization_id:W,request_id:H.id,requested_id:H.requested_id,title:U.data.data.title,requester_email:U.data.requester?.email??null}}),Q.json({id:H.id,requested_id:H.requested_id,status:H.status},201)}}var mb$=!0,OZ4="hour",ib$=100;var pb$=O(()=>{I4();L8();wg();jg0();Pg0();Y9()});var tb$={};X6(tb$,{createPublishRequestHandler:()=>nb$,createPublicMCPHandler:()=>OT$});var rb$=O(()=>{Kg();pb$()});var sm0={};X6(sm0,{watchHandler:()=>Zx$,isSsoExemptPath:()=>$x$,getProxyDispatch:()=>RZ4,createApp:()=>fZ4});import{readFileSync as PZ4}from"fs";import{PrometheusSerializer as AZ4}from"@opentelemetry/exporter-prometheus";import{DBOS as dg}from"@dbos-inc/dbos-sdk";import{oAuthDiscoveryMetadata as kZ4,oAuthProtectedResourceMetadata as SZ4}from"better-auth/plugins";async function TZ4($){let Z=$.connect(),G;try{G=await Promise.race([Z,ab$(ob$)])}catch{return Z.then((X)=>X.release(!0)).catch(()=>{}),!1}try{return await Promise.race([G.query("SELECT 1"),ab$(ob$)]),G.release(),!0}catch{return G.release(!0),!1}}function ab$($){return new Promise((Z,G)=>setTimeout(()=>G(Error("pg health-check timeout")),$))}function RZ4(){if(!W61)throw Error("getProxyDispatch() called before createApp() or without NATS \u2014 proxy dispatch unavailable");return W61}async function IZ4($,Z){let{items:G}=await $.storage.connections.list(Z,{where:{field:["connection_url"],operator:"like",value:`${Yf1}%`},limit:1}),X=G[0];if(!X?.configuration_state)return null;return X.configuration_state.project_locator}function qZ4($){let Z=new URLSearchParams;if($){let[G,X]=$.split("/");if(G)Z.set("workspace_hint",G);if(X)Z.set("project_hint",X)}else Z.set("auto_personal","true");return Z.set("force_new","true"),Z}function $x$($){return $.startsWith("/api/org-sso/")||$.startsWith("/api/auth/")||$.startsWith("/api/tools/management")||$.startsWith("/oauth-proxy/")||/^\/api\/[^/]+\/oauth-proxy\//.test($)||$.startsWith(`${c01}/`)}async function fZ4($={}){let Z=$.database??H6(),G=!1;Z9.stop().catch((g)=>{console.error("[SSEHub] Error stopping previous broadcast (HMR cleanup):",g)});let X,Y,Q=new d81,J,W,K,w,U,F=null;if($.disableNats)J=l81(),X={get:async()=>null,set:async()=>{},invalidate:async()=>{},teardown:()=>{}},Y=new Tp,W={start:async()=>{},broadcast:()=>{},publishControlFrame:()=>{},stop:async()=>{}},U=void 0,K={init:async()=>{},pump:(g)=>{return(async()=>{let N0=g.getReader();try{while(!0){let{done:b0}=await N0.read();if(b0)break}}catch{}finally{N0.releaseLock()}})()},publishRawChunk:async()=>!1,publishDone:async()=>!1,createTailStream:async()=>null,purge:()=>{},teardown:()=>{}};else{F=kf$();let g=W1().natsCredsPath,N0;if(g)try{N0=PZ4(g,"utf8")}catch(e1){console.error(`[app] failed to read NATS_CREDS at ${g}; connecting anonymously`,e1)}F.init(W1().natsUrls,N0?{creds:N0}:void 0);let b0=Mg0()?new Lv0({getJetStream:()=>F.getJetStream()}):null;b0?.init().catch(()=>{}),X=b0;let e0=new tt0({getJetStream:()=>F.getJetStream()});e0.init().catch(()=>{}),Y=e0,J=l81({getConnection:()=>F.getConnection()}),W=new m81({getConnection:()=>F.getConnection()}),K=new p81({getConnection:()=>F.getConnection(),getJetStream:()=>F.getJetStream()}),w=Wb$({getConnection:()=>F.getConnection()}),U=Nb$({getConnection:()=>F.getConnection()});let u0=Bb$({getConnection:()=>F.getConnection()}),T1=W;W={start:(e1)=>T1.start(e1),broadcast:(e1)=>T1.broadcast(e1),publishControlFrame:(e1,L6)=>{u0.publishControlFrame(e1,L6).catch((Q4)=>{console.warn("[TunnelControl] publishControlFrame failed (non-critical):",Q4)})},stop:()=>T1.stop()},uI$(F),F.onReady(()=>{b0?.init().catch((e1)=>{console.error("[McpListCache] Deferred init failed:",e1)}),e0.init().catch((e1)=>{console.error("[ConnectionCircuitStore] Deferred init failed:",e1)}),J.start(),Gn1(()=>F.getConnection()),K.init().catch((e1)=>{console.warn("[Decopilot] StreamBuffer init failed (late-join disabled):",e1)})})}if(lg)await lg();zv0(X),rt0(Y);let N={storage:new qx(Z.db),sseHub:Z9},B=new Jp0(N),D=new Um(Z.db),E=new a81(D);E.start(),W.start((g)=>{VN0(g),B.execute({type:"CANCEL",taskId:g}).catch((N0)=>{console.error("[Decopilot] CancelBroadcast execute failed:",N0)})}).catch((g)=>{console.error("[Decopilot] CancelBroadcast start failed:",g)}),F?.onReady(()=>{W.start().catch((g)=>{console.error("[CancelBroadcast] Deferred start failed:",g)})}),K.init().catch((g)=>{console.warn("[Decopilot] StreamBuffer init failed, attach/late-join disabled:",g)}),lg=async()=>{await B.stopAll(),B.dispose(),E.dispose(),W.stop().catch(()=>{}),K.teardown(),X?.teardown(),Q.teardown(),J.teardown(),Xn1(),Y.teardown(),zv0(null),rt0(null)};let L=new V1;if(L.use("*",Ob0({enabled:(g)=>rf(g,"debug")==="1"})),L.use("*",yz0),L.use("/*",lf1({origin:(g)=>{if(g.includes("localhost")||g.includes("127.0.0.1"))return g;return g},credentials:!0,allowMethods:["GET","POST","PUT","DELETE","OPTIONS"],allowHeaders:["Content-Type","Authorization","mcp-protocol-version"],exposeHeaders:["WWW-Authenticate"]})),L.use("*",async(g,N0)=>{if(await N0(),g.req.path.includes("/files/"))return;if(g.req.path.includes("/fs/")&&g.req.path.endsWith("/read"))return;g.header("X-Frame-Options","DENY"),g.header("Content-Security-Policy","frame-ancestors 'none'")}),!W1().noTui)L.use("*",Ib$());L.use("*",async(g,N0)=>{if(await N0(),pg(g.req.path))return;if(g.res.status>=500){let e0=await g.res.clone().text();console.error(`[5xx Response] ${g.req.method} ${g.req.path} - ${g.res.status}:`,e0)}}),L.get(xZ.HEALTH,(g)=>{if(G)return g.json({status:"shutting_down"},503);return g.json({status:"ok"})}),L.get(xZ.HEALTH_LIVE,(g)=>{return g.json({status:"ok"})}),L.get(xZ.HEALTH_READY,async(g)=>{if(G)return g.json({status:"shutting_down"},503);let N0={};if(N0.postgres={status:await TZ4(Z.pool)?"up":"down"},F)N0.nats=F.isConnected()?{status:"up"}:{status:"down"};else N0.nats={status:"down"};let b0=N0.postgres.status==="up",e0=b0?200:503;return g.json({status:b0?"ready":"not_ready",services:N0},e0)}),L.get(xZ.METRICS,async(g)=>{try{let N0=await cz0.collect(),b0=MZ4.serialize(N0.resourceMetrics);return g.text(b0,200,{"Content-Type":"text/plain; version=0.0.4; charset=utf-8"})}catch(N0){return console.error("Failed to collect metrics:",N0),g.text("# Error collecting metrics",500)}}),L.get(`${xZ.DBOS_QUEUE_DEPTH_PREFIX}:queueName`,async(g)=>{let N0=g.req.param("queueName");if(!VZ4.has(N0))return g.json({error:`Unknown queue: ${N0}`},404);let b0=await dg.listQueuedWorkflows({queueName:N0,status:"ENQUEUED"});return g.json({queue_length:b0.length})}),L.get(xZ.HOSTED_RUN_PENDING,(g)=>{let{active:N0,pending:b0,max:e0}=$3$();return g.json({pending:b0,active:N0,max:e0})}),L.route("/api/config",r_$),L.route("/api/_reports",Wf$),L.route("/report",Zf$($.clientDir)),L.route("/api/auth/custom",W2$),L.route("/api/auth/desktop",w2$),L.all("/api/auth/admin/*",N2$),L.all("/api/auth/*",async(g)=>{return await X8.handler(g.req.raw)});let z=vs1();z.use("/.well-known/oauth-protected-resource/mcp/:connectionId",LC),z.use("/mcp/:connectionId/.well-known/oauth-protected-resource",LC),L.route("/",z),L.get("/.well-known/oauth-protected-resource/api/:org/mcp/:connectionId",hi),L.route("/",us1()),L.use("/oauth-proxy/:connectionId/*",LC),L.all("/oauth-proxy/:connectionId/*",sb$);let j=async(g)=>{let b0=await CZ4()(g.req.raw),e0=await b0.json();return Response.json(e0,b0)};L.use("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",LC),L.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",j);let P=async(g)=>{let b0=await _Z4()(g.req.raw),e0=await b0.json();return Response.json(e0,b0)};L.get("/.well-known/oauth-authorization-server/*/:gateway?/:connectionId?",P);let A=hI$({ttlMs:120000}),I=await Ps1({db:Z.db,auth:X8,encryption:{key:W1().encryptionKey},observability:{tracer:dU,meter:D8},modelListCache:Q,providerKeyCache:J,memberRoleCache:A,linkStatusProbe:w,publishLinkControlFrame:(g,N0)=>W.publishControlFrame(g,N0)});QN.set(I);let S=new Iw(W1().encryptionKey);o21({db:Z.db,baseUrl:M3()});let M=P60(Z.db),C=new Zm(Z.db),l=Pb$({db:Z.db});lt0({storage:M,studioContextFactory:l}),jp0({studioContextFactory:l,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:Z9},prepareLinkWorkFn:Qk$,workPublisher:U}),Op0({dispatchRunFn:Xk$,studioContextFactory:l,deps:{runRegistry:B,cancelBroadcast:W,streamBuffer:K,sseHub:Z9}});let b=new qx(Z.db),v=new iD(Z.db);yQ$({getJetStream:()=>F?.getJetStream()??null,getJetStreamManager:async()=>{let g=F?.getConnection();return g?await eb$.jetstreamManager(g):null},messageParts:b.messageParts(),resolveRun:async(g)=>{let N0=await Z.db.selectFrom("threads").select(["organization_id","created_by","message_storage_version","status","run_fence_token","title"]).where("id","=",g).executeTakeFirst();return N0?{orgId:N0.organization_id,createdBy:N0.created_by,version:N0.message_storage_version??1,status:N0.status,runFenceToken:N0.run_fence_token,title:N0.title??null}:null},completeRunIfNotCompleted:async(g,N0)=>{let b0=await b.completeRunIfNotCompleted(g,N0);if(Oz0(Z9,N0,g,b0),b0)await Hp0(v,g,N0);return b0},markRunRequiresAction:async(g,N0)=>{let b0=await b.requiresActionIfInProgress(g,N0);return Oz0(Z9,N0,g,b0),b0},markRunFailed:async(g,N0,b0,e0)=>{let u0=await b.markRunFailed(g,N0,b0,e0);if(Oz0(Z9,N0,g,u0),u0)await Hp0(v,g,N0);return u0},clearSynthesizedError:async(g,N0)=>{await b.messageParts().replaceMessageParts(g,gN(g,N0),[])},persistTitle:(g,N0,b0)=>b.update(g,N0,{title:b0}),onTitleUpdated:async({runId:g,orgId:N0,title:b0})=>{let e0=await b.get(g,N0).catch(()=>null);Z9.emit(N0,h3(g,e0?.status??"in_progress",{title:b0,virtualMcpId:e0?.virtual_mcp_id??void 0,createdBy:e0?.created_by,triggerId:e0?.trigger_id,branch:e0?.branch??null,createdAt:e0?.created_at,updatedAt:e0?.updated_at}))},bumpProgress:async({runId:g,orgId:N0})=>{await b.bumpProgress(g,N0)},recordCompleted:async({runId:g,orgId:N0,distinctId:b0,usage:e0})=>{i1.capture({distinctId:b0,event:"chat_message_completed",groups:{organization:N0},properties:{organization_id:N0,thread_id:g,transport:"projector",input_tokens:e0.inputTokens,output_tokens:e0.outputTokens,total_tokens:e0.totalTokens}})},recordFailed:async({runId:g,orgId:N0,distinctId:b0,reason:e0,kind:u0})=>{i1.capture({distinctId:b0,event:"chat_message_failed",groups:{organization:N0},properties:{organization_id:N0,thread_id:g,transport:"projector",error_category:u0,error_message:e0}})},purgeRun:async(g)=>{K.purge(g)}}),eW$({studioContextFactory:l,systemDatabaseUrl:Nv1(W1().databaseUrl,W1().databasePgSsl),streamBuffer:K}),zb$(),a21();let s=async(g,N0,b0)=>{let e0=await M.findById(g,N0);if(!e0)throw Error("Automation not found");return nt0({automationId:e0.id,organizationId:e0.organization_id,triggerId:null})},n=new Tg(M,({automation:g,trigger:N0,contextMessages:b0,idempotencyKey:e0})=>Pp({automationId:g.id,organizationId:g.organization_id,triggerId:N0.id,contextMessages:b0},{idempotencyKey:e0})),W0=[J3(),gC(),SK()];for(let g of W0)Lz0(g).then(()=>{}).catch((N0)=>console.error("[monitoring] Retention cleanup failed:",N0));let D0=()=>Z.db.deleteFrom("apikey").where("expiresAt","<",new Date).execute().then(()=>{}).catch((g)=>console.error("[auth] Expired API key cleanup failed:",g));D0(),setInterval(D0,86400000).unref(),L.use("*",async(g,N0)=>{if(xz0(g.req.path))return N0();let b0={measure:async(u0,T1)=>{NQ(g,u0);try{return await T1()}finally{KY(g,u0)}}},e0=await QN.create(g.req.raw,{timings:b0});e0.automationRunner=s,g.set("studioContext",e0);try{await N0()}finally{let u0=e0.pendingRevalidations;if(u0.length>0)Promise.race([Promise.allSettled(u0),O8(30000)]).catch((e1)=>console.error("[studio] revalidation cleanup error:",e1))}}),L.use("/api/:org/decopilot/*",zC),L.use("/api/:org/v1/*",zC),L.use("/api/:org/files/*",zC),L.use("*",async(g,N0)=>{if($x$(g.req.path))return N0();let b0=g.get("studioContext");if(!b0?.organization?.id||!b0?.auth?.user?.id)return N0();if(!(await b0.storage.orgSsoConfig.getByOrgId(b0.organization.id))?.enforced)return N0();if(!await b0.storage.orgSsoSessions.isValid(b0.auth.user.id,b0.organization.id))return g.json({error:"SSO authentication required for this organization"},403);return N0()});let J0=new V1;J0.use("*",$3({mountPath:"/api/org-sso"})),J0.route("/",tE0()),L.route("/api/org-sso",J0),L.get("/api/tools/management",(g)=>{return g.json({tools:Eb0,grouped:sO()})}),L.use("/mcp/*",async(g,N0)=>{NQ(g,"mcp");try{return await N0()}finally{KY(g,"mcp")}});let X0=async(g,N0)=>{let b0=g.var.studioContext;if(!b0.auth.user?.id&&!b0.auth.apiKey?.id){let e0=new URL(g.req.url),u0=g.req.header("x-forwarded-proto")?.split(",")[0]?.trim(),T1=u0?`${u0}://${e0.host}`:e0.origin;return g.res=new Response(null,{status:401,headers:{"WWW-Authenticate":`Bearer realm="mcp",resource_metadata="${T1}${e0.pathname}/.well-known/oauth-protected-resource"`}})}return await N0()};if(L.use("/mcp/:connectionId?",X0),L.use("/mcp/gateway/:virtualMcpId?",X0),L.use("/mcp/virtual-mcp/:virtualMcpId?",X0),L.use("/mcp/self",X0),u3()){let{mountDevRoutes:g}=(db$(),Rz0(cb$));g(L,X0)}let a=new V1;a.use("*",$3({mountPath:"/mcp"})),a.route("/",kB0()),L.route("/mcp",a);let E0=new V1;E0.use("*",$3({mountPath:"/mcp/self"})),E0.route("/",Gz0()),L.route("/mcp/self",E0);let U0=new V1;U0.use("*",$3({mountPath:"/mcp"})),U0.route("/",CB0()),L.route("/mcp",U0),L.use("/api/:org/models/*",async(g,N0)=>{NQ(g,"llm_models");try{return await N0()}finally{KY(g,"llm_models")}});let v0=u11({cancelBroadcast:W,streamBuffer:K,runRegistry:B,linkStatusProbe:w});if(L.route("/api",v0),F!=null)W61=wb$({getConnection:()=>F?.getConnection()??null});L.route("/api",C_$()),L.get("/api/links/me",async(g)=>{try{let N0=g.req.header("authorization")??"",b0=/^Bearer\s+(.+)$/i.exec(N0),e0=null;if(b0){let T1=(b0[1]??"").trim();e0=await iE0(T1,X8.api)}else e0=g.get("studioContext")?.auth?.user?.id??null;if(!e0)return g.json({error:"unauthorized"},401);let u0=w?await w(e0):{online:!1,capabilities:[]};if(!u0.online)return g.json(null);return g.json({hostname:u0.hostname,cliVersion:u0.cliVersion})}catch(N0){return console.error("[links/me] presence probe failed; reporting offline:",N0 instanceof Error?N0.message:String(N0)),g.json(null)}}),L.use("/api/:org/files/*",zC),L.route("/api",Ff$);let d0=new V1;d0.use("*",$3({mountPath:"/api"})),d0.route("/",Xz0()),L.route("/api",d0),L.route("/api",m_$);let i0=new V1;i0.use("*",$3({mountPath:"/api"})),i0.route("/",Yz0({tokenStorage:C,automationEventDispatcher:n})),L.route("/api",i0);let n0=new Xm(Z.db),F0=new V1;F0.use("*",$3({mountPath:"/api"})),F0.route("/",TL0()),L.route("/api",F0),L.route("/api/deco-sites",Mk$()),L.route("/api/deco-apps",g_$());let C0=new V1;C0.use("*",$3({mountPath:"/api/deco-sites"})),C0.route("/",IL0()),L.route("/api/deco-sites",C0);let R0=new V1;R0.use("*",$3({mountPath:"/api/vm-events"})),R0.route("/",v_$()),L.route("/api/vm-events",R0);let{createPublishRequestHandler:B0,createPublicMCPHandler:Q0}=await Promise.resolve().then(() => (rb$(),tb$)),G0={db:Z.db,vault:{encrypt:(g)=>S.encrypt(g),decrypt:(g)=>S.decrypt(g)}},V0=B0(G0),p=Q0(G0);L.use("/org/:orgRef/registry/publish-request",LC),L.post("/org/:orgRef/registry/publish-request",V0),L.use("/org/:orgSlug/registry/*",LC),L.all("/org/:orgSlug/registry/*",p),L.post("/api/:org/registry/publish-request",V0),L.all("/api/:org/registry/*",p),L.route(c01,B2$());let $0=N_$({kvStorage:n0,runRegistry:B,streamBuffer:K,sseHub:Z9,cancelBroadcast:W,tokenStorage:C,automationEventDispatcher:n,mountDevAssets:u3(),mcpAuth:X0,oauthProxyHandler:sb$,watchHandler:Zx$,betterAuthProtectedResourceHandler:j,getNatsConnection:()=>F?.getConnection()??null});return L.route("/api/:org",$0),L.notFound((g)=>{return g.json({error:"Not Found",path:g.req.path},404)}),L.onError(Bk$),Object.assign(L,{markShuttingDown:()=>{G=!0},shutdown:async()=>{if(console.log("[shutdown] Stopping workers..."),await Promise.allSettled([Z9.stop(),lg?Promise.resolve(lg()).finally(()=>{lg=null}):Promise.resolve()]),F)await F.drain().catch((g)=>console.error("[shutdown] NATS drain error:",g));console.log("[shutdown] Flushing telemetry..."),await tY().catch((g)=>console.error("[shutdown] Telemetry flush error:",g)),console.log("[shutdown] Closing database..."),await Ov1(Z).catch((g)=>console.error("[shutdown] Database close error:",g)),console.log("[shutdown] Cleanup complete.")},initDbos:async()=>{await dg.registerQueue(pY,{partitionQueue:!0,concurrency:ut0,minPollingIntervalMs:ct0}),await dg.registerQueue(Q3,{partitionQueue:!0,concurrency:zp0}),await dg.registerQueue(kK,{partitionQueue:!0,concurrency:Bp0}),await dg.registerQueue(cU,{partitionQueue:!0,concurrency:sW$}),await m11(M),await Promise.allSettled(["automations-gate","automations-global"].map((g)=>dg.deleteQueue(g))),await dt0(Z.pool),dh1().catch((g)=>{console.error("[studio-pack-backfill] failed:",g)}),s21().catch((g)=>{console.error("[org-fs] public-sets boot sync kick failed:",g)})}})}var eb$,ob$=5000,W61=null,lg=null,sb$=async($)=>{let Z=$.req.param("connectionId");if(!Z)return $.json({error:"Missing connectionId"},400);let G=$.req.path.split("/").filter(Boolean),X=G[G.length-1],Y=$.get("studioContext");if(!Y)Y=await QN.create($.req.raw),$.set("studioContext",Y);let Q=$.req.param("org")?Y.organization?.id:void 0,J=await Y.storage.connections.findById(Z,Q);if(!J?.connection_url)return $.json({error:"Connection not found"},404);let W=await Kv(J.connection_url),K,w=new URL(J.connection_url),F=(typeof J.metadata?.oauthResource==="string"&&J.metadata.oauthResource.length>0?J.metadata.oauthResource:void 0)??J.connection_url;if(W.ok)K=(await W.json()).authorization_servers?.[0];if(!K)K=w.origin;let H=await ui(K);if(!H.ok)return $.json({error:"Failed to get auth server metadata"},502);let N=await H.json(),B;if(X==="authorize")B=N.authorization_endpoint;else if(X==="token")B=N.token_endpoint;else if(X==="register")B=N.registration_endpoint;if(!B)return $.json({error:`Unknown OAuth endpoint: ${X}`},404);let D=new URL(B),E=new URL($.req.url);if(D.search=E.search,X==="authorize"){let l=D.searchParams.get("redirect_uri");if(l){let b=W1().baseUrl??E.origin;try{let v=new URL(l),s=new URL(b);if(!(v.origin===s.origin||v.hostname==="localhost"))return $.json({error:"invalid_request",error_description:"redirect_uri is not allowed"},400)}catch{return $.json({error:"invalid_request",error_description:"redirect_uri is malformed"},400)}D.searchParams.set("redirect_uri",l)}if(D.searchParams.has("resource"))D.searchParams.set("resource",F);if(Qf1(J.connection_url))try{let b=await IZ4(Y,J.organization_id),v=qZ4(b);for(let[s,n]of v)D.searchParams.set(s,n)}catch(b){console.warn("[oauth-proxy] Failed to get smart OAuth params, proceeding without:",b)}return $.redirect(D.toString(),302)}let L={Accept:$.req.header("Accept")||"application/json"},z=$.req.header("Content-Type");if(z)L["Content-Type"]=z;let j=$.req.header("Authorization");if(j)L.Authorization=j;let P,A=null,I=null;if($.req.method!=="GET"&&$.req.method!=="HEAD")if(X==="token"&&z?.includes("application/x-www-form-urlencoded")){if(j?.toLowerCase().startsWith("basic "))try{let n=atob(j.slice(6).trim()),W0=n.indexOf(":");if(W0!==-1){let D0=decodeURIComponent(n.slice(0,W0)),J0=decodeURIComponent(n.slice(W0+1));A=D0||null,I=J0||null}}catch{}let l=await $.req.formData();if(l.has("resource"))l.set("resource",F);let b=l.get("client_id"),v=l.get("client_secret");if(typeof b==="string"&&b)A=b;if(typeof v==="string"&&v)I=v;let s=new URLSearchParams;for(let[n,W0]of l.entries())s.append(n,W0.toString());P=s.toString()}else if(X==="register"&&z?.toLowerCase().includes("application/json")){let l=await Y.db.selectFrom("organization").select(["id","slug","name"]).where("id","=",J.organization_id).executeTakeFirst(),b=await $.req.text(),v={};try{v=b?JSON.parse(b):{}}catch{P=b}let s=typeof v==="object"&&v!==null&&!Array.isArray(v);if(P===void 0&&!s)P=b;if(P===void 0){let n=v,W0=n.metadata&&typeof n.metadata==="object"?n.metadata:{};n.metadata={...W0,organization_id:J.organization_id,...l?.slug?{organization_slug:l.slug}:{},...l?.name?{organization_name:l.name}:{}},P=JSON.stringify(n),L["Content-Type"]="application/json"}}else P=$.req.raw.body??void 0;let S=await fetch(D.toString(),{method:$.req.method,headers:L,body:P,duplex:"half",redirect:"manual"}),M=new Headers,C=["connection","keep-alive","transfer-encoding","content-encoding","content-length"];for(let[l,b]of S.headers.entries())if(!C.includes(l.toLowerCase()))M.set(l,b);if(X==="token"&&S.ok){let l=await S.text();try{let b=JSON.parse(l);if(typeof b.access_token==="string"&&b.access_token){let v=typeof b.expires_in==="number"?new Date(Date.now()+b.expires_in*1000):null,s=null;try{s=await wv(J.connection_url)??B}catch{s=B}let n={connectionId:Z,accessToken:b.access_token,refreshToken:typeof b.refresh_token==="string"?b.refresh_token:null,scope:typeof b.scope==="string"?b.scope:null,expiresAt:v,clientId:A,clientSecret:I,tokenEndpoint:s};await new _5(Y.db,Y.vault).upsert(n)}}catch(b){console.error("[oauth-proxy] failed to persist downstream token:",b)}return new Response(l,{status:S.status,statusText:S.statusText,headers:M})}return new Response(S.body,{status:S.status,statusText:S.statusText,headers:M})},Zx$=async($)=>{let Z=$.var.studioContext;if(!(Z.auth.user?.id??Z.auth.apiKey?.userId))return $.json({error:"Unauthorized"},401);let X=Z.organization?.id;if(!X)return $.json({error:"organization id missing"},400);let Y=$.req.query("types"),Q=Y?Y.split(",").map((W)=>W.trim()).filter(Boolean):null,J=crypto.randomUUID();return Z3($,async(W)=>{if(await W.writeSSE({event:"connected",data:JSON.stringify({listenerId:J,organizationId:X,typePatterns:Q,connectedAt:new Date().toISOString()})}),!Z9.add({id:J,organizationId:X,typePatterns:Q?.length?Q:null,push:(U)=>{W.writeSSE({id:U.id,event:U.type,data:JSON.stringify(U)}).catch(()=>{Z9.remove(X,J)})}})){await W.writeSSE({event:"error",data:JSON.stringify({error:"Too many connections",message:"SSE connection limit reached. Try again later."})});return}let w=setInterval(()=>{W.writeSSE({event:"keepalive",data:""}).catch(()=>{clearInterval(w)})},30000);await new Promise((U)=>{W.onAbort(()=>{clearInterval(w),Z9.remove(X,J),U()})})})},MZ4,VZ4,CZ4=()=>SZ4(X8),_Z4=()=>kZ4(X8);var em0=O(()=>{d5();V$();e21();S7();nf();L8();d8();L$0();mf1();Db0();IY();gi();f01();DQ();N5();I4();u01();U2$();O2$();i01();Hk$();c11();UJ();U50();d11();Ok$();l11();B_$();__$();y_$();t11();h_$();SB0();ci();i_$();_B0();L81();o_$();Gf$();Kf$();Hf$();E81();O81();hr();Td();Sf$();FY();c60();Jm();at0();Vf$();_f$();gf$();Kb$();Ub$();Ob$();Wp0();Db$();ug0();r60();NU();ig0();jb$();N80();s81();nX();i11();ov();Fp0();Yp0();N80();v11();Ug0();Fg0();Ab$();of();qb$();kC();f01();wy();CN0();eb$=k(mB(),1);MZ4=new AZ4,VZ4=new Set([pY,Q3,kK,cU])});var Qx$={};X6(Qx$,{resolveClientDir:()=>uZ4,resolveAssetPathWithTraversalCheck:()=>Yx$,isPathWithinDirectory:()=>Xx$,createAssetHandler:()=>cZ4});import{resolve as Sr,dirname as bZ4,join as xZ4,extname as vZ4,basename as yZ4,sep as Gx$}from"path";function gZ4($,Z){if($===Z||yZ4($)==="index.html")return{"Cache-Control":"no-cache"};if($.includes(`${Gx$}assets${Gx$}`))return{"Cache-Control":"public, max-age=31536000, immutable"};return{}}function Xx$($,Z){let G=Sr(Z),X=Sr($);return X===G||X.startsWith(G+"/")}function Yx$({requestPath:$,clientDir:Z}){let G=$.startsWith("/")?$.slice(1):$,X=Sr(Z,G);if(!Xx$(X,Z))return null;return X}function uZ4($,Z="../client"){let G=new URL($),X=bZ4(G.pathname);return Sr(X,Z)}function cZ4($={}){let{env:Z="production",clientDir:G=hZ4,isServerPath:X=()=>!1}=$;if(Z==="development")return async function(Q){return null};return async function(Q){if(Q.method!=="GET")return null;let J=new URL(Q.url),W;try{W=decodeURIComponent(J.pathname)}catch{return null}if(X(W))return null;let K=Yx$({requestPath:W,clientDir:G});if(!K)return null;let w=xZ4(K,"index.html"),U=Sr(G,"index.html"),F=Q.headers.get("accept"),N=F?.includes("text/html")||F?.includes("*/*")&&["",".html"].includes(vZ4(K))?[w,U]:[];for(let B of[K,...N])try{let D=Bun.file(B);if(await D.exists())return new Response(D,{headers:gZ4(B,U)})}catch{}if(W.includes("/assets/"))return new Response("Not Found",{status:404,headers:{"Cache-Control":"no-store"}});return null}}var hZ4="./dist/client";var Jx$=()=>{};var Wx$={};X6(Wx$,{tryUpgradePreviewWs:()=>tZ4,tryHandlePreviewHttp:()=>pZ4,previewWebSocketHandler:()=>rZ4,parsePreviewBaseDomain:()=>nZ4,isPreviewWsData:()=>zz0,extractHandleFromHost:()=>K61});function mZ4($){if($.method!=="GET")return!1;return($.headers.get("accept")??"").includes("text/html")}function iZ4(){return new Response(lZ4,{status:503,headers:{"content-type":"text/html; charset=utf-8","cache-control":"no-store","retry-after":"1","access-control-allow-origin":"*"}})}function nZ4($){if(!$||$.trim()==="")return null;let Z=$.includes("{handle}")?$.replace("{handle}","__handle__"):$,G;try{G=new URL(Z)}catch{return null}let X=G.hostname;if($.includes("{handle}")){let Y=X.indexOf(".");if(Y<=0||Y===X.length-1)return null;return X.slice(Y+1)}return X}function K61($,Z){if(!$||!Z)return null;let G=$.indexOf(":"),X=(G>=0?$.slice(0,G):$).toLowerCase(),Q=`.${Z.toLowerCase().replace(/^\.+|\.+$/g,"")}`;if(!X.endsWith(Q))return null;let J=X.slice(0,X.length-Q.length);if(!J||J.includes("."))return null;return J}async function pZ4($,Z){let G=K61($.headers.get("host"),Z.baseDomain);if(!G)return null;let X=await Z.getRunner();if(!X)return Cr(503,"preview proxy not configured");let Y=await X.proxyPreviewRequest(G,$);if(Y.headers.get(YV)&&mZ4($))return iZ4();return Y.headers.delete(YV),Y}function Cr($,Z){return new Response(JSON.stringify({error:Z}),{status:$,headers:{"content-type":"application/json","access-control-allow-origin":"*"}})}function zz0($){return typeof $==="object"&&$!==null&&$.kind==="preview"}async function tZ4($,Z,G){if(($.headers.get("upgrade")??"").toLowerCase()!=="websocket")return null;let X=K61($.headers.get("host"),G.baseDomain);if(!X)return null;let Y=await G.getRunner();if(!Y)return Cr(503,"preview proxy not configured");let Q=await Y.resolvePreviewUpstreamUrl(X);if(!Q)return Cr(404,"sandbox not found");let J=new URL($.url);if(J.pathname.startsWith("/_sandbox")||J.pathname.startsWith("/_decopilot_vm"))return Cr(404,"not found");let W=`${Q.replace(/^http/,"ws")}${J.pathname}${J.search}`,K=$.headers.get("sec-websocket-protocol"),w=K?K.split(",").map((H)=>H.trim()).filter(Boolean):[],U={kind:"preview",upstreamUrl:W,upstreamProtocols:w,pending:[],upstream:null,closed:!1};if(!Z.upgrade($,{data:U}))return Cr(426,"upgrade failed");return}function Vr($,Z,G,X){if(Z.closed)return;Z.closed=!0;try{$.close(G,X)}catch{}try{Z.upstream?.close()}catch{}}var dZ4=256,lZ4='<!DOCTYPE html><html><head><meta charset="utf-8"><title>Connecting\u2026</title><style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;margin:0;background:#fafafa;color:#555}div{text-align:center;max-width:420px;padding:24px}h3{margin:0 0 8px}p{margin:0;font-size:14px;color:#999;line-height:1.5}</style></head><body><div><h3>Connecting to sandbox\u2026</h3><p>Waiting for the sandbox to come online. This page refreshes automatically.</p></div><script>setTimeout(function(){window.location.reload()},1500)</script></body></html>',rZ4;var Kx$=O(()=>{nm0();rZ4={open($){let Z=$.data;if(!zz0(Z))return;let G;try{G=Z.upstreamProtocols.length>0?new WebSocket(Z.upstreamUrl,Z.upstreamProtocols):new WebSocket(Z.upstreamUrl)}catch(X){console.warn(`[preview-ws] failed to dial upstream ${Z.upstreamUrl}: ${X instanceof Error?X.message:String(X)}`),Vr($,Z,1011,"upstream connect failed");return}G.binaryType="arraybuffer",Z.upstream=G,G.addEventListener("open",()=>{while(Z.pending.length>0){let X=Z.pending.shift();if(X!==void 0)G.send(X)}}),G.addEventListener("message",(X)=>{if(Z.closed)return;$.send(X.data)}),G.addEventListener("close",(X)=>{Vr($,Z,X.code||1000,X.reason||"")}),G.addEventListener("error",()=>{Vr($,Z,1011,"upstream error")})},message($,Z){let G=$.data;if(!zz0(G))return;let X=G.upstream;if(X&&X.readyState===WebSocket.OPEN){X.send(Z);return}if(G.pending.length>=dZ4){Vr($,G,1011,"preview ws backlog overflow");return}G.pending.push(Z)},close($){let Z=$.data;if(!zz0(Z))return;Vr($,Z,1000,"")}}});var Hx$={};X6(Hx$,{printBanner:()=>aZ4,bannerLines:()=>Fx$,BANNER_LINES:()=>wx$,BANNER_GRADIENT:()=>Ux$});function oZ4($){let Z=Number.parseInt($.slice(1),16);return[Z>>16&255,Z>>8&255,Z&255]}function Fx$($){let Z=wx$.map((G,X)=>{let[Y,Q,J]=oZ4(Ux$[X]);return`\x1B[38;2;${Y};${Q};${J}m${G}\x1B[39m`});if($!==void 0)Z.push(`\x1B[2m v${$}\x1B[22m`);return Z}function aZ4($){console.log("");for(let Z of Fx$($))console.log(Z);console.log("")}var wx$,Ux$;var Nx$=O(()=>{wx$=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],Ux$=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"]});var Ox$={};X6(Ox$,{bootstrapDevLinkSession:()=>J74});import{existsSync as sZ4}from"fs";import{chmod as eZ4,mkdir as $74,rename as Z74,writeFile as G74}from"fs/promises";import{dirname as X74,join as Bx$}from"path";function Y74($){return Bx$($,"dev-link")}function Q74($){let Z=process.env.DEV_LINK_SESSION_PATH;if(Z&&Z.trim()!=="")return Z;return Bx$(Y74($),"session.json")}async function J74($,Z){let G=Q74($),X=H6().db,Y=mQ()?await Ep():await X.selectFrom("user").select(["id","email","name"]).orderBy("createdAt","desc").executeTakeFirst();if(!Y?.id)return null;if(sZ4(G))try{let w=await Bun.file(G).json(),U=w.user?.sub,F=w.accessToken;if(U===Y.id&&typeof F==="string"){if(await X8.api.verifyApiKey({body:{key:F}}).then((N)=>N?.valid===!0).catch(()=>!1))return{path:G,userSub:U}}}catch{}let Q=null;try{Q=await X8.api.createApiKey({body:{name:"dev-link (auto-minted by bun run dev)",userId:Y.id,permissions:{"*":["*"]},expiresIn:2592000,rateLimitEnabled:!1}})}catch(K){return console.warn("[dev-link] failed to mint API key:",K instanceof Error?K.message:String(K)),null}if(!Q?.key)return null;let J={target:Z,clientId:"dev-link",user:{sub:Y.id,...Y.email?{email:Y.email}:{},...Y.name?{name:Y.name}:{}},accessToken:Q.key,createdAt:new Date().toISOString()};await $74(X74(G),{recursive:!0});let W=`${G}.tmp`;return await G74(W,JSON.stringify(J,null,2),{mode:384}),await eZ4(W,384),await Z74(W,G),{path:G,userSub:Y.id}}var Dx$=O(()=>{DQ();IY();tN()});d5();var z61="4";function j61($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:z61,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}V$();qz0();N5();function Vv$(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function iz0($,Z){for(let G=0;G<$.length;G++){let X=$[G];if(X===void 0)continue;if(X===Z)return $[G+1];if(X.startsWith(`${Z}=`))return X.slice(Z.length+1)}return}function Z41(){let $=Vv$();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:iz0($,"--cpu-prof-dir")??process.cwd(),name:iz0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(iz0($,"--cpu-prof-interval")??1000),note:"profile is written on process exit"}));return}if(process.env.CPU_PROFILE)console.warn(JSON.stringify({msg:"cpu-profiling-requested-but-inactive",hint:'CPU profiling is a Bun launch flag. Set BUN_OPTIONS="--cpu-prof --cpu-prof-md --cpu-prof-dir=/tmp" before starting the process.'}))}tz0();var dr;function U41(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let G=CB();if(!G)return;let X={};try{let{heapStats:Y}=await import("bun:jsc"),Q=Y(),J=Object.entries(Q.objectTypeCounts).sort((W,K)=>K[1]-W[1]).slice(0,20);X={objectCount:Q.objectCount,heapSize:Q.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:G.rss,heapUsed:G.heapUsed,heapTotal:G.heapTotal,external:G.external,arrayBuffers:G.arrayBuffers,...X}))};return Z().catch(()=>{}),dr=setInterval(()=>void Z().catch(()=>{}),$),dr.unref?.(),process.on("SIGUSR2",()=>{try{let G=Bun.generateHeapSnapshot("v8"),X=typeof G==="string"?G:JSON.stringify(G),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,X),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(G){console.error("[heap-watch] snapshot failed:",G)}}),()=>{if(dr)clearInterval(dr)}}import*as fv$ from"bun:jsc";var{startSamplingProfiler:bv$,samplingProfilerStackTraces:xv$}=fv$;function F41(){if(process.env.STALL_WATCHDOG!=="1")return()=>{};let $=Number(process.env.STALL_WATCHDOG_MS??100),Z=Number(process.env.STALL_WATCHDOG_TICK_MS??50);try{bv$()}catch(Q){return console.error("[stall-watchdog] failed to start sampling profiler:",Q),()=>{}}let G,X=performance.now()+Z,Y=()=>{let Q=performance.now(),J=Q-X;X=Q+Z;let W=[];try{W=xv$()?.traces??[]}catch{}if(J>$&&W.length>0){let K=new Map;for(let U of W){let F=U.frames.find((B)=>B.sourceURL&&!/Unknown Executable/.test(B.category??""))??U.frames[0];if(!F)continue;let H=(F.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),N=`${F.name??"?"} @ ${H}:${F.line??"?"}`;K.set(N,(K.get(N)??0)+1)}let w=[...K.entries()].sort((U,F)=>F[1]-U[1]).slice(0,8).map(([U,F])=>({frame:U,count:F}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:W.length,top:w}))}G=setTimeout(Y,Z),G.unref?.()};return G=setTimeout(Y,Z),G.unref?.(),()=>{if(G)clearTimeout(G)}}function H41(){Z41();let $=[U41(),w41(),F41()];return()=>{for(let Z of $)Z()}}import{existsSync as B74}from"fs";var mX=W1();e61();var{DBOS:_r,DBOSClient:W74}=await import("@dbos-inc/dbos-sdk");function Px$($,Z){if(!Z)return $;let G=new URL($);if(!G.searchParams.has("sslmode"))G.searchParams.set("sslmode","verify-full");return G.toString()}var K74=[pY,Q3,kK,cU],w74=mX.dispatchRole==="worker"?K74:mX.dispatchRole==="api"?[]:void 0;_r.setConfig(j61({systemDatabaseUrl:Px$(mX.databaseUrl,mX.databasePgSsl),poolSize:Number(process.env.DBOS_POOL_SIZE??5),executorID:mX.podName,listenQueues:w74}));var{createApp:U74}=await Promise.resolve().then(() => (em0(),sm0)),{isServerPath:F74}=await Promise.resolve().then(() => (hr(),v61)),{createAssetHandler:H74,resolveClientDir:Ax$}=await Promise.resolve().then(() => (Jx$(),Qx$)),N74=mX.port,Ex$=Ax$(import.meta.url,"../client"),Tx$=B74(Ex$)?Ex$:Ax$(import.meta.url,"../dist/client"),O74=H74({clientDir:Tx$,isServerPath:F74}),D74={"X-Frame-Options":"DENY","Content-Security-Policy":"frame-ancestors 'none'"};function E74($){let Z=new Headers($.headers);for(let[G,X]of Object.entries(D74))Z.set(G,X);return new Response($.body,{status:$.status,statusText:$.statusText,headers:Z})}var{parsePreviewBaseDomain:L74,tryHandlePreviewHttp:z74,tryUpgradePreviewWs:j74,previewWebSocketHandler:w61,isPreviewWsData:U61}=await Promise.resolve().then(() => (Kx$(),Wx$)),{getOrInitSharedRunner:P74}=await Promise.resolve().then(() => (bv(),KZ$)),Rx$=L74(process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN),Lx$={baseDomain:Rx$??"",getRunner:P74},jz0=await U74({clientDir:Tx$}),F61=process.env.DBOS_CONDUCTOR_KEY?.trim(),zx$=process.env.DBOS_CONDUCTOR_URL?.trim();await _r.launch({...F61?{conductorKey:F61}:{},...F61&&zx$?{conductorURL:zx$}:{}});console.log(`[dbos] application version: ${_r.applicationVersion}`);var H61=5,N61=0;await Y3(async()=>{N61++;try{return await jz0.initDbos()}catch($){let Z=N61>=H61?"giving up":"retrying";throw console.warn(`[dbos] initDbos attempt ${N61}/${H61} failed, ${Z}`,$),$}},{maxAttempts:H61,minTimeout:1000,maxTimeout:1e4,jitter:0.5});if(!mX.isCli){let{bannerLines:$}=await Promise.resolve().then(() => (Nx$(),Hx$));console.log("");for(let Z of $())console.log(Z)}var A74=Bun.serve({idleTimeout:0,port:N74,hostname:"0.0.0.0",fetch:async($,Z)=>{if(Rx$){let X=await j74($,Z,Lx$);if(X===void 0)return;if(X)return X;let Y=await z74($,Lx$);if(Y)return Y}let G=await O74($);if(G)return E74(G);return jz0.fetch($,{server:Z})},websocket:{open($){if(U61($.data))w61.open($)},message($,Z){if(U61($.data))w61.message($,Z)},close($){if(U61($.data))w61.close($)}},development:!1}),T74=H41();if(mX.localMode)Promise.resolve().then(() => (tN(),KB0)).then(async({seedLocalMode:$,markSeedComplete:Z})=>{try{let G=await $();if(process.env.DEV_LINK_SESSION_PATH)try{let{bootstrapDevLinkSession:X}=await Promise.resolve().then(() => (Dx$(),Ox$)),Y=mX.baseUrl??`http://localhost:${mX.port}`,Q=await X(mX.dataDir,Y);if(Q)console.log(`[dev-link] session ready at ${Q.path} (userSub=${Q.userSub})`);else console.warn("[dev-link] no admin user yet \u2014 skipping session bootstrap. The auto-spawned link will refuse to start until an admin exists.")}catch(X){console.error("[dev-link] bootstrap failed:",X)}}catch(G){console.error("Failed to seed local mode:",G)}finally{Z()}}).catch(async($)=>{console.error("Failed to load local-mode module:",$);try{let{markSeedComplete:Z}=await Promise.resolve().then(() => (tN(),KB0));Z()}catch{}});var jx$=!1;async function R74($){let Z;try{Z=await W74.create({systemDatabaseUrl:Px$(mX.databaseUrl,mX.databasePgSsl),systemDatabaseSchemaName:"dbos"});let G=await Z.listWorkflows({status:"PENDING",queueName:Q3,executorId:$,loadInput:!1,loadOutput:!1});if(G.length===0){console.log(`[shutdown] no in-flight thread-gate gates to hand off (executor ${$})`);return}let X=G.map((Y)=>Y.workflowID);await Z.resumeWorkflows(X,{queueName:Q3}),console.log(`[shutdown] re-enqueued ${X.length} in-flight thread-gate gate(s) for re-adoption by a live executor (from ${$}):`,X)}catch(G){console.error("[shutdown] thread-gate handoff failed:",G)}finally{await Z?.destroy().catch(()=>{})}}async function Pz0($){if(jx$)return;jx$=!0,console.log(`
2802
2802
  [shutdown] Received ${$}, shutting down gracefully...`);let Z=Number(process.env.SHUTDOWN_GRACE_SECONDS??60)*1000,G=Math.max(Z-5000,1e4),X=setTimeout(()=>{console.error(`[shutdown] Timed out after ${G}ms, forcing exit.`),process.exit(1)},G);X.unref?.();let Y=0;try{T74(),jz0.markShuttingDown();let Q=A61(mX.dispatchRole,G,process.env.SHUTDOWN_DRAIN_MS);await O8(Q),await A74.stop(!0);let J=_r.executorID;await _r.shutdown(),await R74(J),await jz0.shutdown()}catch(Q){console.error("[shutdown] Error during shutdown:",Q),Y=1}clearTimeout(X),process.exit(Y)}process.on("SIGTERM",()=>Pz0("SIGTERM"));process.on("SIGINT",()=>Pz0("SIGINT"));process.on("SIGHUP",()=>Pz0("SIGHUP"));process.on("unhandledRejection",($)=>{console.error("[process] Unhandled rejection:",$)});process.on("uncaughtException",($)=>{console.error("[process] Uncaught exception:",$),Pz0("uncaughtException")});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decocms",
3
- "version": "4.109.1",
3
+ "version": "4.109.2",
4
4
  "description": "Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools",
5
5
  "author": "Deco team",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- import{c as it,r as E,j as e,k as rt}from"./index-DRlZXa-a.js";import{m as mt,o as pt,p as st,q as at}from"./sidebar-8jfhDVTg.js";import{m as nt}from"./automation-runs-Bs5XlzpO.js";import{r as lt,u as ct,a as dt,b as St,i as ft,f as ut,d as vt,P as ht,S as gt}from"./page-seo-form-BGGZdXcP.js";import{r as xt}from"./index-1gmk7LMb.js";import"./LayoutLeft-eQB7Moej.js";import"./use-mobile-BwJTsAQf.js";import"./X-CCIjA3FZ.js";import"./tooltip-CoYkdoBn.js";import"./select-BhIlV1o-.js";import"./Check-DWecOBBJ.js";import"./ChevronDown-tt0a_HTJ.js";import"./ChevronUp-DS4vd6bR.js";import"./useInfiniteQuery-BSIasBoy.js";import"./use-infinite-scroll-XOEnAKrf.js";import"./use-connection-6TZ1_Q4d.js";import"./use-mcp-client-DaNscGw5.js";import"./auth-BolA-Kar.js";import"./use-virtual-mcp-Dm9_04bh.js";import"./card-CD-KMD3Y.js";import"./table-BB88Q5BJ.js";import"./empty-state-86IZpatA.js";import"./use-members-xgt6Tyrt.js";import"./use-org-auth-client-Fnxa7rmr.js";import"./use-clock-tick-BLySObD8.js";import"./AlertCircle-CAfylLQF.js";import"./CheckCircle-EwvZFqx1.js";import"./DotsVertical-BX0SOBtw.js";import"./agent-icon-iTOC695L.js";import"./Tool01-i7REPwiR.js";import"./ArrowUp-CVk6prBe.js";import"./Settings02-MglNBmLM.js";import"./Tool02-DWX5MWUO.js";import"./ArrowRight-DCQQsUJB.js";import"./ArrowUpRight-CDKpq13K.js";import"./TrendUp01-b8cbOq9O.js";import"./ZapSquare-CLERM0U8.js";import"./ZoomOut-D7Wb30Y8.js";import"./Users03-iyhAQn_Y.js";import"./ChevronRight-H-jmhwEp.js";import"./Stars02-DJJvdlrL.js";import"./Copy01-B5uxUMRw.js";import"./Globe01-GOjFguyL.js";import"./Eye-u_ZfcAl3.js";import"./FilterLines-CvbngDDq.js";import"./Star01-BueFtQF3.js";import"./Globe04-7FcSWKF5.js";import"./SwitchHorizontal01-DAnJdjXc.js";import"./HardDrive-BAjDlwep.js";import"./Image01-CmK4RATk.js";import"./Key01-CLapz-Lf.js";import"./XCircle-UszcMa8o.js";import"./LinkExternal01-CVG21CJN.js";import"./Monitor01-BhTte-db.js";import"./Sun-hK5XElOT.js";import"./Package-BfxGJABy.js";import"./Palette-DwWTPEjH.js";import"./Play-qKfSrjJA.js";import"./Plus-ZQ7e4SoJ.js";import"./SearchLg-Cl7sOGXW.js";import"./SearchMd-8u_cyIsj.js";import"./Shield01-9DCJ2q6o.js";import"./Stars01-yAAXG0_K.js";import"./Trash01-CT1aNLPC.js";import"./Upload01-C6xgaqqA.js";import"./User01-Dnl60JDY.js";import"./Users01-VnXYPuc6.js";import"./XClose-CD8M4YTt.js";import"./Zap-Ci6oxFt5.js";import"./use-automations-2UTlBlKI.js";import"./studio-tools-CeRQ3Ccm.js";import"./useSuspenseInfiniteQuery-B98Cmu_1.js";import"./avatar-u-yjxjUP.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-DW6RNHuE.js";import"./file-type-icon-sturOXJs.js";import"./dialog-DpvCiwdk.js";import"./tab-id-BijBBRwE.js";import"./hooks-h-RHbe8H.js";import"./decopilot-sse-pool-NWIqMwqD.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./chat-context-XMymrjVv.js";import"./autosend-B4QUIt6V.js";import"./use-ai-providers-Cn1ZnFXz.js";import"./location-BpLtHjTZ.js";import"./use-decopilot-events-By4s-W2R.js";import"./use-organization-settings-Dx-CWBEy.js";import"./monaco-editor-QOOaCg0V.js";import"./index-BpwDFEX_.js";import"./index-Bc51A3Eu.js";import"./calendar-BAZsoFuJ.js";import"./shell-layout-H-d9VpBZ.js";import"./required-auth-layout-E07CHFL8.js";import"./use-org-sso-BJhYrwxr.js";import"./integration-icon-Clv2wDeo.js";import"./use-navigate-to-agent-BGzumayg.js";import"./reusable-new-chat-CouMjkYR.js";import"./AreaChart-B15sPfdg.js";import"./form-C5QqKiBH.js";import"./label-C2HXf1xJ.js";import"./input-3EZpm6Vs.js";import"./switch-B4tN6VwA.js";import"./drawer-BdQ6kzLK.js";import"./collection-search-C3qrcCyy.js";import"./index-H8pAnWBo.js";import"./get-initials-D-f_fDFw.js";import"./popover-CaNM8GLH.js";import"./use-registry-app-tTVfhA9f.js";import"./use-mcp-tools-zemsgSg7.js";import"./github-repo-scope-DjMZbiKa.js";import"./authenticate-and-persist-oauth-CtvvJJBz.js";import"./mcp-oauth-DZ76G4_K.js";import"./extract-connection-data-D6MHbSDf.js";import"./dropdown-menu-Bjiv9CtQ.js";import"./command-CD-vRwVN.js";import"./index-CC-fcwAE.js";import"./companions-core-BgrPkYWf.js";import"./tabs-CMu1UZTb.js";import"./toggle-group-BStJjxO7.js";import"./use-deco-credits-BGBhrOB3.js";import"./connection-card-BSDwsb3B.js";import"./use-registry-connections-DR4YxwLA.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea--yK5XGEq.js";import"./connection-form-helpers-B4-6Mf-4.js";import"./collection-tabs-CwGYHi1G.js";import"./badge-B26CV6p-.js";import"./connect-desktop-dialog-pUfd8npB.js";import"./select-model-dlFD38Cf.js";import"./checkbox-fAlwPOOQ.js";import"./skeleton-BdZPNgtX.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bb6yiz6P.js";import"./index-zEycMiCz.js";import"./alert-dialog-Cwqk1g0y.js";import"./toolbar-DZahAEOb.js";import"./use-debounced-value-IYsGPcTT.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-o53XTZ5t.js";import"./deco-site-production-url-CaKZ7xBn.js";import"./use-capability-_ArapP6W.js";import"./toolbar-icon-button-DKySc-W5.js";import"./pt-BR-CLy76QW2.js";import"./use-mcp-auth-status-D8wNyAqD.js";import"./use-debounced-autosave-D9FPYfwY.js";import"./index-CqvbJZQr.js";import"./search-input-CyJcz7-Y.js";import"./github-repo-picker-D07aLEP_.js";import"./provision-repo-scoped-github-connection-2iDn-wQ1.js";import"./use-secrets-BGqAmvHw.js";import"./useQueries-CxwXZoah.js";import"./use-file-configs-B9uKSYhQ.js";import"./automation-list-row-DijAgg05.js";function hi(u){const t=it.c(46),{open:k,onOpenChange:N,orgSlug:Q,virtualMcpId:U,branch:W,decofile:G,meta:s,target:m,onSaved:X}=u,o=lt(G,m,s),P=m.kind==="site"?"site":m.pageKey,[Y,Z]=E.useState(P),[tt,i]=E.useState(null),[J,g]=E.useState(void 0),[x,y]=E.useState(0);Y!==P&&(Z(P),i(null),g(void 0),y(wt));const{persistSeo:a,persistRawSeo:I,flush:K,isPending:D}=ct({orgSlug:Q,virtualMcpId:U,branch:W,target:m,resolved:o,onSaved:X}),w=m.kind==="page",ot=w?o?.rawSeoData:void 0,v=J!==void 0?J:ot,et=w?dt(v)??void 0:void 0,h=tt??et??o?.seoData??{},p=o?St(h,o):null,n=p&&(!w||ft(v))?xt(p,s):null,_=m.kind==="page"?ut(G,s)?.seoData??void 0:void 0;let j;t[0]!==s?(j=vt(s),t[0]=s,t[1]=j):j=t[1];const M=j;let R;t[2]!==a||t[3]!==o||t[4]!==i?(R=r=>{if(!o)return;const L=r;i(L),a(L)},t[2]=a,t[3]=o,t[4]=i,t[5]=R):R=t[5];const V=R;let F;t[6]!==K||t[7]!==N?(F=r=>{r||K(),N(r)},t[6]=K,t[7]=N,t[8]=F):F=t[8];const q=F,z=m.kind==="site"?"Site SEO":"Page SEO",T=w&&o,A=m.kind==="site"&&o&&n,B=m.kind==="site"?"No site-level SEO block found.":o?"SEO schema not found for this page.":"Could not load page SEO.";let C;t[9]!==i?(C=()=>i(null),t[9]=i,t[10]=C):C=t[10];const H=C;let O;t[11]!==y?(O=()=>y(yt),t[11]=y,t[12]=O):O=t[12];const $=O;let l;t[13]!==z?(l=e.jsx(mt,{className:"text-sm font-semibold",children:z}),t[13]=z,t[14]=l):l=t[14];let c;t[15]!==D?(c=D&&e.jsx(rt,{size:14,className:"animate-spin text-muted-foreground"}),t[15]=D,t[16]=c):c=t[16];let d;t[17]!==l||t[18]!==c?(d=e.jsxs(pt,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l,c]}),t[17]=l,t[18]=c,t[19]=d):d=t[19];let S;t[20]!==p||t[21]!==$||t[22]!==H||t[23]!==M||t[24]!==v||t[25]!==h||t[26]!==B||t[27]!==x||t[28]!==V||t[29]!==I||t[30]!==a||t[31]!==o||t[32]!==n||t[33]!==i||t[34]!==g||t[35]!==T||t[36]!==A||t[37]!==_?(S=!o||!T&&!A?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:B}):e.jsx(nt,{className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:e.jsx("div",{className:"px-6 py-4",children:e.jsx("div",{className:"mx-auto max-w-sm",children:T?e.jsx(ht,{rawSeo:v,innerSeo:h,defaultResolveType:M,seoSchema:n,activeResolveType:p,seoTypeOptions:o.seoTypeOptions,formResetKey:x,siteDefaultSeo:_,onPersistRaw:r=>{g(r),I(r)},onInnerChange:r=>{i(r),a(r)},onClearForm:H,onBumpFormKey:$}):n&&p&&e.jsx(gt,{schema:n,resolveType:p,value:h,formResetKey:x,onChange:V})})})}),t[20]=p,t[21]=$,t[22]=H,t[23]=M,t[24]=v,t[25]=h,t[26]=B,t[27]=x,t[28]=V,t[29]=I,t[30]=a,t[31]=o,t[32]=n,t[33]=i,t[34]=g,t[35]=T,t[36]=A,t[37]=_,t[38]=S):S=t[38];let f;t[39]!==d||t[40]!==S?(f=e.jsxs(st,{side:"right",className:"w-[400px] sm:max-w-[440px] p-0 gap-0",children:[d,S]}),t[39]=d,t[40]=S,t[41]=f):f=t[41];let b;return t[42]!==q||t[43]!==k||t[44]!==f?(b=e.jsx(at,{open:k,onOpenChange:q,children:f}),t[42]=q,t[43]=k,t[44]=f,t[45]=b):b=t[45],b}function yt(u){return u+1}function wt(u){return u+1}export{hi as SeoSheet};
@@ -1 +0,0 @@
1
- import{c as L,F as H,j as U}from"./index-DRlZXa-a.js";import{a as O,g as $,s as E}from"./automation-runs-Bs5XlzpO.js";import{r as k,u as B}from"./use-mcp-client-DaNscGw5.js";import{b as V,c as Y}from"./use-mcp-tools-zemsgSg7.js";import{u as q}from"./index-1gmk7LMb.js";import{c as G}from"./monaco-editor-QOOaCg0V.js";import{g as F,M as K,a as D}from"./index-Bc51A3Eu.js";import{b as W,a as z}from"./chat-context-XMymrjVv.js";import{u as J}from"./shell-layout-H-d9VpBZ.js";import{O as Q}from"./tab-id-BijBBRwE.js";import"./select-BhIlV1o-.js";import"./tooltip-CoYkdoBn.js";import"./Check-DWecOBBJ.js";import"./ChevronDown-tt0a_HTJ.js";import"./ChevronUp-DS4vd6bR.js";import"./useInfiniteQuery-BSIasBoy.js";import"./use-infinite-scroll-XOEnAKrf.js";import"./use-connection-6TZ1_Q4d.js";import"./use-virtual-mcp-Dm9_04bh.js";import"./card-CD-KMD3Y.js";import"./sidebar-8jfhDVTg.js";import"./LayoutLeft-eQB7Moej.js";import"./use-mobile-BwJTsAQf.js";import"./X-CCIjA3FZ.js";import"./table-BB88Q5BJ.js";import"./empty-state-86IZpatA.js";import"./use-members-xgt6Tyrt.js";import"./use-org-auth-client-Fnxa7rmr.js";import"./use-clock-tick-BLySObD8.js";import"./AlertCircle-CAfylLQF.js";import"./CheckCircle-EwvZFqx1.js";import"./DotsVertical-BX0SOBtw.js";import"./agent-icon-iTOC695L.js";import"./Tool01-i7REPwiR.js";import"./ArrowUp-CVk6prBe.js";import"./Settings02-MglNBmLM.js";import"./Tool02-DWX5MWUO.js";import"./ArrowRight-DCQQsUJB.js";import"./ArrowUpRight-CDKpq13K.js";import"./TrendUp01-b8cbOq9O.js";import"./ZapSquare-CLERM0U8.js";import"./ZoomOut-D7Wb30Y8.js";import"./Users03-iyhAQn_Y.js";import"./ChevronRight-H-jmhwEp.js";import"./Stars02-DJJvdlrL.js";import"./Copy01-B5uxUMRw.js";import"./Globe01-GOjFguyL.js";import"./Eye-u_ZfcAl3.js";import"./FilterLines-CvbngDDq.js";import"./Star01-BueFtQF3.js";import"./Globe04-7FcSWKF5.js";import"./SwitchHorizontal01-DAnJdjXc.js";import"./HardDrive-BAjDlwep.js";import"./Image01-CmK4RATk.js";import"./Key01-CLapz-Lf.js";import"./XCircle-UszcMa8o.js";import"./LinkExternal01-CVG21CJN.js";import"./Monitor01-BhTte-db.js";import"./Sun-hK5XElOT.js";import"./Package-BfxGJABy.js";import"./Palette-DwWTPEjH.js";import"./Play-qKfSrjJA.js";import"./Plus-ZQ7e4SoJ.js";import"./SearchLg-Cl7sOGXW.js";import"./SearchMd-8u_cyIsj.js";import"./Shield01-9DCJ2q6o.js";import"./Stars01-yAAXG0_K.js";import"./Trash01-CT1aNLPC.js";import"./Upload01-C6xgaqqA.js";import"./User01-Dnl60JDY.js";import"./Users01-VnXYPuc6.js";import"./XClose-CD8M4YTt.js";import"./Zap-Ci6oxFt5.js";import"./use-automations-2UTlBlKI.js";import"./studio-tools-CeRQ3Ccm.js";import"./useSuspenseInfiniteQuery-B98Cmu_1.js";import"./avatar-u-yjxjUP.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-DW6RNHuE.js";import"./file-type-icon-sturOXJs.js";import"./dialog-DpvCiwdk.js";import"./hooks-h-RHbe8H.js";import"./decopilot-sse-pool-NWIqMwqD.js";import"./backoff-CrEUbyZT.js";import"./delay-CnY5UFtP.js";import"./calendar-BAZsoFuJ.js";import"./integration-icon-Clv2wDeo.js";import"./use-navigate-to-agent-BGzumayg.js";import"./reusable-new-chat-CouMjkYR.js";import"./AreaChart-B15sPfdg.js";import"./form-C5QqKiBH.js";import"./label-C2HXf1xJ.js";import"./input-3EZpm6Vs.js";import"./auth-BolA-Kar.js";import"./drawer-BdQ6kzLK.js";import"./collection-search-C3qrcCyy.js";import"./autosend-B4QUIt6V.js";import"./index-H8pAnWBo.js";import"./get-initials-D-f_fDFw.js";import"./popover-CaNM8GLH.js";import"./use-registry-app-tTVfhA9f.js";import"./github-repo-scope-DjMZbiKa.js";import"./authenticate-and-persist-oauth-CtvvJJBz.js";import"./mcp-oauth-DZ76G4_K.js";import"./extract-connection-data-D6MHbSDf.js";import"./use-decopilot-events-By4s-W2R.js";import"./dropdown-menu-Bjiv9CtQ.js";import"./command-CD-vRwVN.js";import"./index-CC-fcwAE.js";import"./use-organization-settings-Dx-CWBEy.js";import"./companions-core-BgrPkYWf.js";import"./tabs-CMu1UZTb.js";import"./toggle-group-BStJjxO7.js";import"./use-deco-credits-BGBhrOB3.js";import"./connection-card-BSDwsb3B.js";import"./use-registry-connections-DR4YxwLA.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea--yK5XGEq.js";import"./connection-form-helpers-B4-6Mf-4.js";import"./collection-tabs-CwGYHi1G.js";import"./badge-B26CV6p-.js";import"./use-ai-providers-Cn1ZnFXz.js";import"./connect-desktop-dialog-pUfd8npB.js";import"./select-model-dlFD38Cf.js";import"./checkbox-fAlwPOOQ.js";import"./skeleton-BdZPNgtX.js";import"./ai-providers-logos-DD3qZ33J.js";import"./settings-section-Bb6yiz6P.js";import"./index-zEycMiCz.js";import"./alert-dialog-Cwqk1g0y.js";import"./toolbar-DZahAEOb.js";import"./use-debounced-value-IYsGPcTT.js";import"./location-BpLtHjTZ.js";import"./index-BpwDFEX_.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-o53XTZ5t.js";import"./deco-site-production-url-CaKZ7xBn.js";import"./use-capability-_ArapP6W.js";import"./toolbar-icon-button-DKySc-W5.js";import"./pt-BR-CLy76QW2.js";import"./use-mcp-auth-status-D8wNyAqD.js";import"./use-debounced-autosave-D9FPYfwY.js";import"./index-CqvbJZQr.js";import"./search-input-CyJcz7-Y.js";import"./switch-B4tN6VwA.js";import"./github-repo-picker-D07aLEP_.js";import"./provision-repo-scoped-github-connection-2iDn-wQ1.js";import"./use-secrets-BGqAmvHw.js";import"./useQueries-CxwXZoah.js";import"./use-file-configs-B9uKSYhQ.js";import"./automation-list-row-DijAgg05.js";import"./required-auth-layout-E07CHFL8.js";import"./use-org-sso-BJhYrwxr.js";const X="studio://navigate";function Z(M){const[t]=M;if(M.length!==1||t?.type!=="resource_link"||!t.uri.startsWith(X))return{isNavigate:!1};let o=null;try{o=new URL(t.uri).searchParams.get("main")}catch{}return{isNavigate:!0,tab:o&&Q.has(o)?o:null}}const tt={};function ot(M){const t=L.c(38),{client:o,resourceURI:I,tool:i,connectionId:p,orgId:a,args:v}=M,{sendMessage:C}=W(),{setAppContext:f,clearAppContext:l}=z(),{openSidePanel:g,openTab:s}=J(),r=`${p}:${i.name}`;let c;t[0]!==s?(c=x=>x==="inline"?(s("0"),"inline"):"fullscreen",t[0]=s,t[1]=c):c=t[1];const m=c,n=v??tt;let u;t[2]!==o||t[3]!==i.name||t[4]!==n?(u={client:o,toolName:i.name,toolArguments:n},t[2]=o,t[3]=i.name,t[4]=n,t[5]=u):u=t[5];const{data:e}=Y(u);let h;if(t[6]!==i._meta||t[7]!==i.name){const x=$(i._meta);h=E(i.name,x),t[6]=i._meta,t[7]=i.name,t[8]=h}else h=t[8];const A=h;let d;t[9]!==i.inputSchema?(d=i.inputSchema??{type:"object"},t[9]=i.inputSchema,t[10]=d):d=t[10];let R;t[11]!==A||t[12]!==d||t[13]!==i?(R={...i,name:A,inputSchema:d},t[11]=A,t[12]=d,t[13]=i,t[14]=R):R=t[14];const b=R;let _;t[15]!==g||t[16]!==s||t[17]!==C?(_=x=>{const j=Z(x.content);if(j.isNavigate){j.tab&&s(j.tab);return}const w=G(x.content);w.content.length>0&&(g("chat"),C({tiptapDoc:w}))},t[15]=g,t[16]=s,t[17]=C,t[18]=_):_=t[18];const y=_;let P;t[19]!==b?(P={tool:b},t[19]=b,t[20]=P):P=t[20];let N;t[21]!==f||t[22]!==r?(N=x=>f(r,x),t[21]=f,t[22]=r,t[23]=N):N=t[23];let T;t[24]!==l||t[25]!==r?(T=()=>l(r),t[24]=l,t[25]=r,t[26]=T):T=t[26];let S;return t[27]!==o||t[28]!==y||t[29]!==m||t[30]!==a||t[31]!==I||t[32]!==P||t[33]!==N||t[34]!==T||t[35]!==n||t[36]!==e?(S=U.jsx(K,{resourceURI:I,orgId:a,toolInfo:P,toolInput:n,toolResult:e,displayMode:"fullscreen",minHeight:D.fullscreen.minHeight,maxHeight:D.fullscreen.maxHeight,client:o,onMessage:y,onUpdateModelContext:N,onTeardown:T,onRequestDisplayMode:m,className:"h-full"}),t[27]=o,t[28]=y,t[29]=m,t[30]=a,t[31]=I,t[32]=P,t[33]=N,t[34]=T,t[35]=n,t[36]=e,t[37]=S):S=t[37],S}function Ji(M){const t=L.c(24),{connectionId:o,toolName:I,args:i}=M,{org:p}=H(),a=q();let v;t[0]!==o||t[1]!==a?(v=k(o)&&a.vmEntry?.sandboxProviderKind==="user-desktop"&&a.previewUrl?`${a.previewUrl.replace(/\/+$/,"")}/api/mcp`:void 0,t[0]=o,t[1]=a,t[2]=v):v=t[2];const C=v;let f;t[3]!==o||t[4]!==C||t[5]!==p.id||t[6]!==p.slug?(f={connectionId:o,orgId:p.id,orgSlug:p.slug,mcpUrl:C},t[3]=o,t[4]=C,t[5]=p.id,t[6]=p.slug,t[7]=f):f=t[7];const l=B(f);let g;t[8]!==l?(g={client:l},t[8]=l,t[9]=g):g=t[9];const{data:s}=V(g);let r,c,m;t[10]!==I||t[11]!==s.tools?(r=O(decodeURIComponent(I)),m=s.tools.find(e=>e.name===r)??s.tools.find(e=>{const h=$(e._meta);if(!h)return!1;if(E(e.name,h)===r)return!0;const d=E(r,h);return d!==r&&e.name===d}),c=m?._meta?F(m._meta):void 0,t[10]=I,t[11]=s.tools,t[12]=r,t[13]=c,t[14]=m):(r=t[12],c=t[13],m=t[14]);const n=c;if(!m||!n){let e;return t[15]!==r?(e=U.jsx("div",{className:"flex items-center justify-center h-full w-full",children:U.jsxs("p",{className:"text-sm text-muted-foreground",children:['Tool "',r,'" not found or has no UI']})}),t[15]=r,t[16]=e):e=t[16],e}let u;return t[17]!==i||t[18]!==l||t[19]!==o||t[20]!==p.id||t[21]!==n||t[22]!==m?(u=U.jsx(ot,{client:l,resourceURI:n,tool:m,connectionId:o,orgId:p.id,args:i}),t[17]=i,t[18]=l,t[19]=o,t[20]=p.id,t[21]=n,t[22]=m,t[23]=u):u=t[23],u}export{Ji as AppViewContent};