decocms 4.280.0 → 4.280.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 (227) hide show
  1. package/dist/client/assets/{AlertCircle-CkPwmuKt.js → AlertCircle-q-ha89N3.js} +1 -1
  2. package/dist/client/assets/{AreaChart-CAeU7k3C.js → AreaChart-DJcPJJSF.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-Cj7J7Py6.js → ArrowLeft-BAk90rdd.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-BACYFmW2.js → ArrowUp-BAyh6hn8.js} +1 -1
  5. package/dist/client/assets/{Check-C7msqNgq.js → Check-8BnM7tpC.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-Byfr8GRo.js → CheckCircle-COyRqpAc.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-BqUHNjui.js → ChevronDown-BDPQaZqS.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-KbHVuEl0.js → ChevronRight-BoCweSJs.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-C-TawfyU.js → ChevronSelectorVertical-CbFyIO58.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-DFNYR7MJ.js → ChevronUp-Ce84NoHt.js} +1 -1
  11. package/dist/client/assets/{Copy01-C4YK8X63.js → Copy01-zUJb2qyi.js} +1 -1
  12. package/dist/client/assets/{CreditCard01-CTvH4Ctz.js → CreditCard01-Dd3kG7iY.js} +1 -1
  13. package/dist/client/assets/{DotsVertical-BP5Z780D.js → DotsVertical-1JhgmWFz.js} +1 -1
  14. package/dist/client/assets/{Download01-qJq3S2UO.js → Download01-sTnZ9m_H.js} +1 -1
  15. package/dist/client/assets/{Eye-Dud-kvJl.js → Eye-DBZt4RJc.js} +1 -1
  16. package/dist/client/assets/{FilterLines-CxBKxAWQ.js → FilterLines-nlgwxkLs.js} +1 -1
  17. package/dist/client/assets/{Globe01-CC5rliZ8.js → Globe01-B7mCeRBx.js} +1 -1
  18. package/dist/client/assets/{Globe04-I9PluRSe.js → Globe04-CW7pEZaX.js} +1 -1
  19. package/dist/client/assets/{HardDrive-CzaU-JSr.js → HardDrive-Bd0W1jdP.js} +1 -1
  20. package/dist/client/assets/{Key01-DYVtQyL5.js → Key01-CYjm13lf.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-DhwE_K6h.js → LinkExternal01-eB2fHbU5.js} +1 -1
  22. package/dist/client/assets/{LockUnlocked01-mNM_ZGJe.js → LockUnlocked01-DFl-OJ7R.js} +1 -1
  23. package/dist/client/assets/{LogOut01-DcZ2xT-g.js → LogOut01-D3UNWCpS.js} +1 -1
  24. package/dist/client/assets/{Monitor01-BGi_X3fN.js → Monitor01-vLem4C3L.js} +1 -1
  25. package/dist/client/assets/{Palette-1yBLD0Lj.js → Palette-cc7S-N3h.js} +1 -1
  26. package/dist/client/assets/{Play-BzaZWqgV.js → Play-Dse4KZ1O.js} +1 -1
  27. package/dist/client/assets/{Plus-_clBcs48.js → Plus-CAe31wl2.js} +1 -1
  28. package/dist/client/assets/{SearchLg-BfZy6LE_.js → SearchLg-DGzbK_iQ.js} +1 -1
  29. package/dist/client/assets/{SearchMd-BwZ89rxP.js → SearchMd-CqROzn8s.js} +1 -1
  30. package/dist/client/assets/{Settings02-Br92bn2T.js → Settings02-BxdfBQ5Y.js} +1 -1
  31. package/dist/client/assets/{Share07-h4b9M9kE.js → Share07-w7mz_Iae.js} +1 -1
  32. package/dist/client/assets/{Shield01-DXyKRgwg.js → Shield01-B50p-i9H.js} +1 -1
  33. package/dist/client/assets/{Stars01-D3NIP1DL.js → Stars01-C3_YhsfM.js} +1 -1
  34. package/dist/client/assets/{Stars02-KNF7k5Ai.js → Stars02-Dz2PYLs6.js} +1 -1
  35. package/dist/client/assets/{Sun-CRHdy0qz.js → Sun-D5dGjwS7.js} +1 -1
  36. package/dist/client/assets/{SwitchHorizontal01-CzZQAHji.js → SwitchHorizontal01-DgxuO6JI.js} +1 -1
  37. package/dist/client/assets/{Tool01-CKdFlI5A.js → Tool01-Cr7gkqqy.js} +1 -1
  38. package/dist/client/assets/{Tool02-WEPKOeaj.js → Tool02-CoTv5i2i.js} +1 -1
  39. package/dist/client/assets/{Trash01-CeIegB-4.js → Trash01-DbfWjlZd.js} +1 -1
  40. package/dist/client/assets/{TrendUp01-Vk6dCOd4.js → TrendUp01-DzptB_l4.js} +1 -1
  41. package/dist/client/assets/{Upload01-Dm5XIZAF.js → Upload01-CvzK6gz-.js} +1 -1
  42. package/dist/client/assets/{User01-BHSfVgcn.js → User01-BdqBw1KN.js} +1 -1
  43. package/dist/client/assets/{UserSquare-Cha_Xug_.js → UserSquare-C2vbnCn3.js} +1 -1
  44. package/dist/client/assets/{Users01-BdGucJTC.js → Users01-BsgBtJMH.js} +1 -1
  45. package/dist/client/assets/{Users03-DkrxpUck.js → Users03-DB9-i9hs.js} +1 -1
  46. package/dist/client/assets/{XCircle-_Uz-e0XH.js → XCircle-CENboZHz.js} +1 -1
  47. package/dist/client/assets/{XClose-CytrgB6q.js → XClose-DYwCESGN.js} +1 -1
  48. package/dist/client/assets/{YAxis-BYHBYWhx.js → YAxis-j0S-Movh.js} +1 -1
  49. package/dist/client/assets/{Zap-CQV84apV.js → Zap-C_NQbDwT.js} +1 -1
  50. package/dist/client/assets/{ZapSquare-BxrLuLwY.js → ZapSquare-C_gg8DXd.js} +1 -1
  51. package/dist/client/assets/{access-gate-CsBTprll.js → access-gate-B-oxihSz.js} +1 -1
  52. package/dist/client/assets/{agent-icon-PQczz-8D.js → agent-icon-CXYig2Vh.js} +1 -1
  53. package/dist/client/assets/{agents-list-UHKfmM2N.js → agents-list-B_H7tlgD.js} +1 -1
  54. package/dist/client/assets/{ai-providers-CSfbLpOx.js → ai-providers-OQMYes8-.js} +1 -1
  55. package/dist/client/assets/{alert-4EqW2Ef2.js → alert-C-Cm1HNl.js} +1 -1
  56. package/dist/client/assets/{alert-dialog-xAkhsUZ9.js → alert-dialog-DrDfeFyK.js} +1 -1
  57. package/dist/client/assets/{api-keys-DyfcgyTg.js → api-keys-DUv1V66z.js} +1 -1
  58. package/dist/client/assets/{app-editor-Cj9EPe1o.js → app-editor-BuZc8aHb.js} +1 -1
  59. package/dist/client/assets/{auth-4owgu1uZ.js → auth-Dg5sPbT4.js} +1 -1
  60. package/dist/client/assets/{auth-catchall-Cy4Dgy3h.js → auth-catchall-C9xTiI-U.js} +1 -1
  61. package/dist/client/assets/{auth-entry-1CMga_dO.js → auth-entry-BFQHUJOr.js} +1 -1
  62. package/dist/client/assets/{auth-split-layout-4eec6TEX.js → auth-split-layout-CGrQ3VKW.js} +1 -1
  63. package/dist/client/assets/{authenticate-and-persist-oauth-C5490Jhc.js → authenticate-and-persist-oauth-CeNmdDco.js} +1 -1
  64. package/dist/client/assets/{automation-list-row-BEb0M1Tt.js → automation-list-row-Dlr1O2UX.js} +1 -1
  65. package/dist/client/assets/{automation-runs-CAKuCn1G.js → automation-runs-Bo6be-vt.js} +1 -1
  66. package/dist/client/assets/{automations-BeW2O7Q5.js → automations-CwHDGSxK.js} +1 -1
  67. package/dist/client/assets/{avatar-Ch1MTXS-.js → avatar-BnQPHMLw.js} +1 -1
  68. package/dist/client/assets/{badge-Csyaxznr.js → badge-C8_JqgY7.js} +1 -1
  69. package/dist/client/assets/{block-document-DM132Gk1.js → block-document-zR1VJIni.js} +1 -1
  70. package/dist/client/assets/{breadcrumb-pwy4nVlX.js → breadcrumb-2vmGkBiB.js} +1 -1
  71. package/dist/client/assets/{buckets-CFfpbQtn.js → buckets-BOnyZrEO.js} +1 -1
  72. package/dist/client/assets/{bulk-category-panel-DW1CBGWY.js → bulk-category-panel-cMwVJ8ED.js} +1 -1
  73. package/dist/client/assets/{capability-load-error-CWVf5xY_.js → capability-load-error-BEeb9Z6k.js} +1 -1
  74. package/dist/client/assets/{cards-DBubZxl-.js → cards-4iJIg9Mv.js} +1 -1
  75. package/dist/client/assets/{category-editor-CbUgARQ1.js → category-editor-Cw_0Yfsv.js} +1 -1
  76. package/dist/client/assets/{chart-Drir-DML.js → chart-DnE16Ix1.js} +1 -1
  77. package/dist/client/assets/{chat-context-C4hTesgw.js → chat-context-CK0SAWg7.js} +1 -1
  78. package/dist/client/assets/{checkbox-DJVXViCm.js → checkbox-D6aL5Ben.js} +1 -1
  79. package/dist/client/assets/{choose-editor-CafV7ZgN.js → choose-editor-C3Ub0dgj.js} +1 -1
  80. package/dist/client/assets/{cli-auth-success-DtgqpO3z.js → cli-auth-success--TDUZFRP.js} +1 -1
  81. package/dist/client/assets/{collection-detail-D6bU7LUq.js → collection-detail-Cf83_OrE.js} +1 -1
  82. package/dist/client/assets/{collection-display-button-CnPa5Nju.js → collection-display-button-7rsEyQus.js} +1 -1
  83. package/dist/client/assets/{collection-search-01_9dsYR.js → collection-search-DstNczGU.js} +1 -1
  84. package/dist/client/assets/{collection-table-wrapper-DdTDHnT2.js → collection-table-wrapper-4qI2R0Im.js} +1 -1
  85. package/dist/client/assets/{collection-tabs-DRa7MJUs.js → collection-tabs-BMr5Ngme.js} +1 -1
  86. package/dist/client/assets/{command-C_dZFT4G.js → command-CjV2wNNJ.js} +1 -1
  87. package/dist/client/assets/{commerce-onboarding-CshWy8LW.js → commerce-onboarding-DMZGxjOh.js} +1 -1
  88. package/dist/client/assets/{connect-BRcYE0fR.js → connect-Pvqv7G5a.js} +1 -1
  89. package/dist/client/assets/{connection-BbWM5mLn.js → connection-EsVa7rrz.js} +1 -1
  90. package/dist/client/assets/{connection-card-BJ9V0VEM.js → connection-card-C2-WEJb6.js} +1 -1
  91. package/dist/client/assets/{connection-detail-CBfXc99H.js → connection-detail-C85HFn8T.js} +1 -1
  92. package/dist/client/assets/{connection-form-helpers-B09Owiwo.js → connection-form-helpers-GRZE4630.js} +1 -1
  93. package/dist/client/assets/{connections-UNZit9OT.js → connections-o9qsANyB.js} +1 -1
  94. package/dist/client/assets/{decopilot-sse-pool-D75XD9J2.js → decopilot-sse-pool-P47eJQwa.js} +1 -1
  95. package/dist/client/assets/{dialog-O072o8Oc.js → dialog-VBR_VTpJ.js} +1 -1
  96. package/dist/client/assets/{domain-settings-BizohpDC.js → domain-settings-DLvcRKV5.js} +1 -1
  97. package/dist/client/assets/{drawer-D6TLZjdo.js → drawer-BOKsWH4_.js} +1 -1
  98. package/dist/client/assets/{dropdown-menu-CACb1c9S.js → dropdown-menu-Bnt3DOwT.js} +1 -1
  99. package/dist/client/assets/{empty-state-9FIrRrEx.js → empty-state-Db_WfMoj.js} +1 -1
  100. package/dist/client/assets/{extract-connection-data-8L2YpSby.js → extract-connection-data-G69TIOoO.js} +1 -1
  101. package/dist/client/assets/{file-explorer-CesJUjPp.js → file-explorer-BhXQiiWF.js} +1 -1
  102. package/dist/client/assets/{file-type-icon-BKg5eN6R.js → file-type-icon-kZUd9_dW.js} +1 -1
  103. package/dist/client/assets/{form-DPsMI3Lv.js → form-DYcqG-4R.js} +1 -1
  104. package/dist/client/assets/{general-r7OB2qT0.js → general-D7O-l9Fv.js} +1 -1
  105. package/dist/client/assets/{github-repo-picker-CqAOuEej.js → github-repo-picker-CJVihlv_.js} +1 -1
  106. package/dist/client/assets/{hooks-B6kpT11G.js → hooks-BEfohZqo.js} +1 -1
  107. package/dist/client/assets/{index-B00pExNP.js → index-B1TJowpP.js} +1 -1
  108. package/dist/client/assets/{index-BMq6PxM2.js → index-B215yOt2.js} +1 -1
  109. package/dist/client/assets/{index-DL7dyCTM.js → index-BTrp7Y4h.js} +1 -1
  110. package/dist/client/assets/{index-CosJ_q1O.js → index-Cg-6vNgN.js} +1 -1
  111. package/dist/client/assets/{index-C_irqqYB.js → index-CvfbdO9i.js} +1 -1
  112. package/dist/client/assets/{index-Bnq08khj.js → index-DYHs8sC_.js} +1 -1
  113. package/dist/client/assets/{index-BzVG1RMn.js → index-Dj8jGXxy.js} +1 -1
  114. package/dist/client/assets/{index-BbGRbO2s.js → index-DuKgaDRT.js} +3 -3
  115. package/dist/client/assets/{index-DChTPGRV.js → index-U2pcazmz.js} +1 -1
  116. package/dist/client/assets/{index-Bd6d6OLa.js → index-f6gC7_4x.js} +6 -6
  117. package/dist/client/assets/{index-redirect-DcHtEYVb.js → index-redirect-jePHlyPz.js} +1 -1
  118. package/dist/client/assets/{infra-billing-BRmmRtZn.js → infra-billing-D8fYUUm5.js} +1 -1
  119. package/dist/client/assets/{input-BIK5hdJU.js → input-rGj3HLrx.js} +1 -1
  120. package/dist/client/assets/{integration-icon-B074gVXs.js → integration-icon-BZS934jb.js} +1 -1
  121. package/dist/client/assets/{invite-member-dialog-B65qQpMu.js → invite-member-dialog-yf8HZSYc.js} +1 -1
  122. package/dist/client/assets/{label-BplAUfvy.js → label-B0K9nJ3U.js} +1 -1
  123. package/dist/client/assets/{layout-R3JEUxy1.js → layout-BF-Q61C5.js} +1 -1
  124. package/dist/client/assets/{login-b3yPVmW1.js → login-HIWengSU.js} +1 -1
  125. package/dist/client/assets/{mcp-oauth-Z_L8Z-T6.js → mcp-oauth-DNzbrdjN.js} +1 -1
  126. package/dist/client/assets/{members-Cycs5Wq2.js → members-Cv5oh77D.js} +1 -1
  127. package/dist/client/assets/{monaco-editor-C8shR4Uy.js → monaco-editor-1iAJFSoh.js} +1 -1
  128. package/dist/client/assets/{monitoring-stats-row-tuBsDrD3.js → monitoring-stats-row-BQaJ3F1j.js} +1 -1
  129. package/dist/client/assets/{multi-select-wGAdBUU3.js → multi-select-Cda6yA9z.js} +1 -1
  130. package/dist/client/assets/{oauth-callback-CcxNavXq.js → oauth-callback-30AwATxC.js} +1 -1
  131. package/dist/client/assets/{oauth-callback-ai-provider-Zq_4S1rF.js → oauth-callback-ai-provider-DWEYgaeV.js} +1 -1
  132. package/dist/client/assets/{onboarding-D4uT93tX.js → onboarding-DIkVQlCN.js} +1 -1
  133. package/dist/client/assets/{org-layout-BTTwnSRk.js → org-layout-bATCBcIx.js} +1 -1
  134. package/dist/client/assets/{organization-choice-1h5bYDyx.js → organization-choice-CEEfPDaX.js} +1 -1
  135. package/dist/client/assets/{orgs-Bml1X0Rd.js → orgs-CM0T21UE.js} +1 -1
  136. package/dist/client/assets/{page-seo-form-BSjej6Az.js → page-seo-form-CCHf1vNm.js} +1 -1
  137. package/dist/client/assets/{popover-BezUzMxd.js → popover-Ne5etcF4.js} +1 -1
  138. package/dist/client/assets/{post-calendar-Dseb-Zkl.js → post-calendar-BYsLadOr.js} +1 -1
  139. package/dist/client/assets/{post-editor-BFphx73k.js → post-editor-DiCfrfxw.js} +1 -1
  140. package/dist/client/assets/{primitives-Djr14DNH.js → primitives-7TOJy6_9.js} +1 -1
  141. package/dist/client/assets/{profile-CtS6UJ63.js → profile-D4FFWrJC.js} +1 -1
  142. package/dist/client/assets/{project-app-view-CYIhElTf.js → project-app-view-Bo4BBM1E.js} +1 -1
  143. package/dist/client/assets/{prompts-DBu58bEV.js → prompts-_XcIyiqm.js} +1 -1
  144. package/dist/client/assets/record-editor-LiBPk35v.js +1 -0
  145. package/dist/client/assets/{redirect-editor-Dur_b6Cg.js → redirect-editor-K4eNaU6r.js} +1 -1
  146. package/dist/client/assets/registry-Bqm-CWX8.js +2 -0
  147. package/dist/client/assets/{registry-layout-BBZAFDeV.js → registry-layout-BX0s0Dqe.js} +1 -1
  148. package/dist/client/assets/{reports-CCgU3HGz.js → reports-La3KhSjI.js} +1 -1
  149. package/dist/client/assets/{require-capability-wUMdvtTV.js → require-capability-BSF86YHK.js} +1 -1
  150. package/dist/client/assets/{required-auth-layout-BPYKj3xE.js → required-auth-layout-Dif_3ts2.js} +1 -1
  151. package/dist/client/assets/{reset-password-vYAbZs56.js → reset-password-B6OUPmCP.js} +1 -1
  152. package/dist/client/assets/{review-settings-B5FnFMPh.js → review-settings-DyDN9gfW.js} +1 -1
  153. package/dist/client/assets/{roles-Cgxpxt-9.js → roles-DdyjgZmg.js} +1 -1
  154. package/dist/client/assets/{search-input-CPxRNAUZ.js → search-input-Bc5gi1FL.js} +1 -1
  155. package/dist/client/assets/{secrets-7QMeQmRM.js → secrets-BzDgubGX.js} +1 -1
  156. package/dist/client/assets/{sections-editor-BMt9NU0A.js → sections-editor-BtNnir0Y.js} +1 -1
  157. package/dist/client/assets/{select-BgBUKtcQ.js → select-Dw0yz6R3.js} +1 -1
  158. package/dist/client/assets/{select-model-CMJQRlhd.js → select-model-DxJOIebh.js} +1 -1
  159. package/dist/client/assets/{self-tool-result-WIUgrpcH.js → self-tool-result-CfcKJ8G-.js} +1 -1
  160. package/dist/client/assets/{seo-editor-BFkrAwB4.js → seo-editor-CLMQvTRz.js} +1 -1
  161. package/dist/client/assets/{settings-layout-BgmubS30.js → settings-layout-DdcBYKNK.js} +1 -1
  162. package/dist/client/assets/{shell-controls-CQVAVXQn.js → shell-controls-Bu6K_Cyl.js} +1 -1
  163. package/dist/client/assets/{shell-layout-C7TB0sE3.js → shell-layout-h1M-Upkc.js} +1 -1
  164. package/dist/client/assets/{spinner-75C-IUje.js → spinner-DUUWxaw4.js} +1 -1
  165. package/dist/client/assets/{sso-D-YMVA4g.js → sso-DRSRsKqA.js} +1 -1
  166. package/dist/client/assets/{store-H4NF1OnW.js → store-CipcZsRS.js} +1 -1
  167. package/dist/client/assets/store-registry-DpcDBI8v.js +2 -0
  168. package/dist/client/assets/{switch-DdfQIPis.js → switch-Bogsutiu.js} +1 -1
  169. package/dist/client/assets/{synced-repos-B7OZC3Z7.js → synced-repos-9L6kfBvS.js} +1 -1
  170. package/dist/client/assets/{tab-id-Besg8sQE.js → tab-id-xRw9s49x.js} +1 -1
  171. package/dist/client/assets/{table-B6yx5A_W.js → table-Dz1UPp05.js} +1 -1
  172. package/dist/client/assets/{tabs-HJIS52i6.js → tabs-CVLCNP4p.js} +1 -1
  173. package/dist/client/assets/{tasks-BSfFLsrw.js → tasks-DNcMfQUI.js} +1 -1
  174. package/dist/client/assets/{textarea-qfkIpMCZ.js → textarea-DP7L5LCU.js} +1 -1
  175. package/dist/client/assets/{toggle-group-BsJyDLZw.js → toggle-group-D7gbO6Ao.js} +1 -1
  176. package/dist/client/assets/{toolbar-CNPK0ze4.js → toolbar-DlSLmZi5.js} +1 -1
  177. package/dist/client/assets/{track-hj2Hvt98.js → track-Bh6FnWCf.js} +1 -1
  178. package/dist/client/assets/{types-DRjR-IOc.js → types-W907-UkK.js} +1 -1
  179. package/dist/client/assets/{use-ai-providers-tkH2P36o.js → use-ai-providers-XXnxR_Zu.js} +1 -1
  180. package/dist/client/assets/{use-api-keys-CH-CKEoz.js → use-api-keys-DCLdogWr.js} +1 -1
  181. package/dist/client/assets/{use-automations-DESAfZj2.js → use-automations-V9xNGOwd.js} +1 -1
  182. package/dist/client/assets/{use-autosave-BNj1Gj-Y.js → use-autosave-Dal9yw19.js} +1 -1
  183. package/dist/client/assets/{use-clock-tick-BnbeNIUC.js → use-clock-tick-Bb14ko74.js} +1 -1
  184. package/dist/client/assets/{use-commerce-diagnostic-CSLSGoDP.js → use-commerce-diagnostic-DMlGkdtx.js} +1 -1
  185. package/dist/client/assets/{use-connection-SjIucYfF.js → use-connection-CouRoanJ.js} +1 -1
  186. package/dist/client/assets/{use-copy-St27i-aj.js → use-copy-Ddawx2RP.js} +1 -1
  187. package/dist/client/assets/{use-create-virtual-mcp-DYPlB764.js → use-create-virtual-mcp-BcPOUHVg.js} +1 -1
  188. package/dist/client/assets/{use-debounced-autosave-DbmG2nK6.js → use-debounced-autosave-BkTJ_3l3.js} +1 -1
  189. package/dist/client/assets/{use-debounced-value-Cm2qsfPc.js → use-debounced-value-B_odlUMh.js} +1 -1
  190. package/dist/client/assets/{use-decopilot-events-TMtnOnoS.js → use-decopilot-events-B9ygDv-h.js} +1 -1
  191. package/dist/client/assets/{use-delete-connection-BAmh5auV.js → use-delete-connection-BPvWexBL.js} +1 -1
  192. package/dist/client/assets/{use-deployment-admin-CcfJXV2S.js → use-deployment-admin-ChlNYFJi.js} +1 -1
  193. package/dist/client/assets/{use-file-configs-Do-4t9yE.js → use-file-configs-D1n8ru_C.js} +1 -1
  194. package/dist/client/assets/{use-infinite-scroll-DCIMGPFx.js → use-infinite-scroll-CQ0_P7dk.js} +1 -1
  195. package/dist/client/assets/{use-join-requests-B8SnALum.js → use-join-requests-DoJPSGpH.js} +1 -1
  196. package/dist/client/assets/{use-mcp-auth-status-DMcsLLPB.js → use-mcp-auth-status-CT_TMtQl.js} +1 -1
  197. package/dist/client/assets/{use-mcp-client-C9-YbjTx.js → use-mcp-client-DEWnugV9.js} +1 -1
  198. package/dist/client/assets/{use-mcp-tools-CiNsIBL4.js → use-mcp-tools-WEAnrPHG.js} +1 -1
  199. package/dist/client/assets/{use-members-DU7_N-pG.js → use-members-G-zG_jza.js} +1 -1
  200. package/dist/client/assets/{use-navigate-to-agent-WsCzoAKG.js → use-navigate-to-agent-CCf7hqC4.js} +1 -1
  201. package/dist/client/assets/{use-org-auth-client-DP78AcXd.js → use-org-auth-client-CsDT0euS.js} +1 -1
  202. package/dist/client/assets/{use-org-repo-syncs-Xt_Ge_7D.js → use-org-repo-syncs-BvIV6Sw5.js} +1 -1
  203. package/dist/client/assets/{use-org-sso-BnQ7ESw_.js → use-org-sso-O4xaa8q3.js} +1 -1
  204. package/dist/client/assets/{use-organization-roles-B9NW6iv3.js → use-organization-roles-BknP4ff7.js} +1 -1
  205. package/dist/client/assets/{use-organization-settings-DxGOoKYL.js → use-organization-settings-D6-lnE8v.js} +1 -1
  206. package/dist/client/assets/{use-registry-connections-BNaCzrSd.js → use-registry-connections-DcYxqR1F.js} +1 -1
  207. package/dist/client/assets/{use-secrets-DmW9oS6u.js → use-secrets-BfNvKZpg.js} +1 -1
  208. package/dist/client/assets/{use-section-preview-base-D6NtdQxJ.js → use-section-preview-base-DbEnUJ41.js} +1 -1
  209. package/dist/client/assets/{use-status-sounds-B87a5SNq.js → use-status-sounds-DRh49aaZ.js} +1 -1
  210. package/dist/client/assets/{use-tags-ClBzSwUW.js → use-tags-C4ysHQ1s.js} +1 -1
  211. package/dist/client/assets/{use-task-board-items-C2E37Ysf.js → use-task-board-items-DtI1y7vL.js} +1 -1
  212. package/dist/client/assets/{use-view-mode-CrC5Rog5.js → use-view-mode-CXiJrl5o.js} +1 -1
  213. package/dist/client/assets/{use-virtual-mcp-BIgbLEnA.js → use-virtual-mcp-Dds4BZbz.js} +1 -1
  214. package/dist/client/assets/useInfiniteQuery-DfepjmLn.js +1 -0
  215. package/dist/client/assets/useSuspenseInfiniteQuery-BVLX6MQQ.js +1 -0
  216. package/dist/client/assets/{users-M4-Hpi9P.js → users-Bds58MaT.js} +1 -1
  217. package/dist/client/assets/{variant-calendar-BbFVP1Br.js → variant-calendar-B_zEenCh.js} +1 -1
  218. package/dist/client/assets/{view-mode-toggle-C7ssVG3O.js → view-mode-toggle-BTeH48rm.js} +1 -1
  219. package/dist/client/index.html +1 -1
  220. package/dist/server/cli.js +2 -2
  221. package/dist/server/server.js +2 -2
  222. package/package.json +1 -1
  223. package/dist/client/assets/record-editor-D9kse-I3.js +0 -1
  224. package/dist/client/assets/registry-DdvbHXgg.js +0 -2
  225. package/dist/client/assets/store-registry-LoGhkRcz.js +0 -2
  226. package/dist/client/assets/useInfiniteQuery-DJwleBvz.js +0 -1
  227. package/dist/client/assets/useSuspenseInfiniteQuery-BnXbKlC6.js +0 -1
@@ -1 +1 @@
1
- import{c as K,b as X,r as Z,j as o,n as rt,a8 as ut,ab as ht,B as tt,a9 as xt}from"./index-BbGRbO2s.js";import{w as gt,ae as at,aS as bt}from"./agent-icon-PQczz-8D.js";import{i as vt}from"./ChevronRight-KbHVuEl0.js";import{L as yt}from"./label-BplAUfvy.js";import{S as lt}from"./use-clock-tick-BnbeNIUC.js";import{S as jt}from"./switch-DdfQIPis.js";import{V as Tt}from"./view-mode-toggle-C7ssVG3O.js";import{bP as ct,bQ as mt,bR as Nt,bS as _t,bT as kt,bU as U,bV as wt}from"./index-Bd6d6OLa.js";import"./AlertCircle-CkPwmuKt.js";import"./Tool01-CKdFlI5A.js";import"./ArrowUp-BACYFmW2.js";import"./ArrowLeft-Cj7J7Py6.js";import"./Tool02-WEPKOeaj.js";import"./XCircle-_Uz-e0XH.js";import"./TrendUp01-Vk6dCOd4.js";import"./ZapSquare-BxrLuLwY.js";import"./Users03-DkrxpUck.js";import"./CheckCircle-Byfr8GRo.js";import"./Check-C7msqNgq.js";import"./ChevronDown-BqUHNjui.js";import"./ChevronSelectorVertical-C-TawfyU.js";import"./ChevronUp-DFNYR7MJ.js";import"./DotsVertical-BP5Z780D.js";import"./Stars02-KNF7k5Ai.js";import"./UserSquare-Cha_Xug_.js";import"./Copy01-C4YK8X63.js";import"./CreditCard01-CTvH4Ctz.js";import"./Download01-qJq3S2UO.js";import"./Settings02-Br92bn2T.js";import"./Eye-Dud-kvJl.js";import"./FilterLines-CxBKxAWQ.js";import"./Share07-h4b9M9kE.js";import"./Globe01-CC5rliZ8.js";import"./Globe04-I9PluRSe.js";import"./SwitchHorizontal01-CzZQAHji.js";import"./HardDrive-CzaU-JSr.js";import"./Key01-DYVtQyL5.js";import"./LinkExternal01-DhwE_K6h.js";import"./LockUnlocked01-mNM_ZGJe.js";import"./LogOut01-DcZ2xT-g.js";import"./Monitor01-BGi_X3fN.js";import"./Sun-CRHdy0qz.js";import"./Palette-1yBLD0Lj.js";import"./Play-BzaZWqgV.js";import"./Plus-_clBcs48.js";import"./SearchLg-BfZy6LE_.js";import"./SearchMd-BwZ89rxP.js";import"./Shield01-DXyKRgwg.js";import"./Stars01-D3NIP1DL.js";import"./Trash01-CeIegB-4.js";import"./Upload01-Dm5XIZAF.js";import"./User01-BHSfVgcn.js";import"./Users01-BdGucJTC.js";import"./XClose-CytrgB6q.js";import"./Zap-CQV84apV.js";import"./select-BgBUKtcQ.js";import"./chat-context-C4hTesgw.js";import"./tab-id-Besg8sQE.js";import"./dialog-O072o8Oc.js";import"./session-runtime-wVXsCwcJ.js";import"./hooks-B6kpT11G.js";import"./use-mcp-client-C9-YbjTx.js";import"./constants-z9Iog-sb.js";import"./auth-4owgu1uZ.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-D75XD9J2.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-BIgbLEnA.js";import"./use-ai-providers-tkH2P36o.js";import"./use-decopilot-events-TMtnOnoS.js";import"./use-organization-settings-DxGOoKYL.js";import"./automation-runs-CAKuCn1G.js";import"./useInfiniteQuery-DJwleBvz.js";import"./use-infinite-scroll-DCIMGPFx.js";import"./use-connection-SjIucYfF.js";import"./table-B6yx5A_W.js";import"./empty-state-9FIrRrEx.js";import"./use-members-DU7_N-pG.js";import"./use-org-auth-client-DP78AcXd.js";import"./use-automations-DESAfZj2.js";import"./useSuspenseInfiniteQuery-BnXbKlC6.js";import"./avatar-Ch1MTXS-.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-St27i-aj.js";import"./monaco-editor-C8shR4Uy.js";import"./spinner-75C-IUje.js";import"./types-DRjR-IOc.js";import"./shell-layout-C7TB0sE3.js";import"./required-auth-layout-BPYKj3xE.js";import"./use-org-sso-BnQ7ESw_.js";import"./integration-icon-B074gVXs.js";import"./use-navigate-to-agent-WsCzoAKG.js";import"./reusable-new-chat-CzvRy4Pe.js";import"./chart-Drir-DML.js";import"./index-B00pExNP.js";import"./form-DPsMI3Lv.js";import"./input-BIK5hdJU.js";import"./file-type-icon-BKg5eN6R.js";import"./drawer-D6TLZjdo.js";import"./collection-search-01_9dsYR.js";import"./tabs-HJIS52i6.js";import"./toggle-group-BsJyDLZw.js";import"./use-commerce-diagnostic-CSLSGoDP.js";import"./popover-BezUzMxd.js";import"./self-tool-result-WIUgrpcH.js";import"./alert-dialog-xAkhsUZ9.js";import"./extract-connection-data-8L2YpSby.js";import"./metadata-dUsYcpuu.js";import"./provision-repo-scoped-github-connection-CMPWtdMv.js";import"./use-debounced-value-Cm2qsfPc.js";import"./authenticate-and-persist-oauth-C5490Jhc.js";import"./mcp-oauth-Z_L8Z-T6.js";import"./track-hj2Hvt98.js";import"./toolbar-CNPK0ze4.js";import"./github-repo-picker-CqAOuEej.js";import"./use-mcp-tools-CiNsIBL4.js";import"./agent-capabilities-B52k7xCe.js";import"./connection-card-BJ9V0VEM.js";import"./use-registry-connections-BNaCzrSd.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea-qfkIpMCZ.js";import"./connection-form-helpers-B09Owiwo.js";import"./collection-tabs-DRa7MJUs.js";import"./badge-Csyaxznr.js";import"./command-C_dZFT4G.js";import"./index-DChTPGRV.js";import"./select-model-CMJQRlhd.js";import"./checkbox-DJVXViCm.js";import"./ai-providers-logos-DD3qZ33J.js";import"./cards-DBubZxl-.js";import"./dropdown-menu-CACb1c9S.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-B87a5SNq.js";import"./use-file-configs-Do-4t9yE.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-DbmG2nK6.js";import"./search-input-CPxRNAUZ.js";import"./use-mcp-auth-status-DMcsLLPB.js";import"./use-secrets-DmW9oS6u.js";import"./AreaChart-CAeU7k3C.js";import"./use-task-board-items-C2E37Ysf.js";import"./breadcrumb-pwy4nVlX.js";import"./get-initials-D-f_fDFw.js";import"./use-tags-ClBzSwUW.js";import"./task-key-BCHdFiOO.js";import"./automation-list-row-BEb0M1Tt.js";import"./site-error--i37Vnuw.js";import"./use-org-repo-syncs-Xt_Ge_7D.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Mt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Rt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Lt(e){if(!e||typeof e!="object")return null;const{start:t,end:r}=e,n=typeof t=="string",s=typeof r=="string";if(!n&&!s)return null;const i=n?new Date(t):Ct,a=s?new Date(r):Mt;return Number.isNaN(i.getTime())||Number.isNaN(a.getTime())||n&&s&&a.getTime()<=i.getTime()?null:{start:i,end:a,openStart:!n,openEnd:!s}}function pt(e,t){if(!e||typeof e!="object")return;const r=e.__resolveType;if(typeof r=="string"){if(Et.has(r)){const n=Lt(e);n&&t.push(n);return}if(St.has(r)){const n=e.matchers;if(Array.isArray(n))for(const s of n)pt(s,t)}}}function Dt(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const r=e.variants;return Array.isArray(r)}function Pt(e){if(typeof e=="string"){const c=e.trim();if(c.length===0)return null;try{const m=new URL(c).pathname.split("/").filter(Boolean),p=m[m.length-1];if(p)return decodeURIComponent(p)}catch{}return c.length>80?`${c.slice(0,77)}…`:c}if(!e||typeof e!="object")return null;const t=e,r=t.config,s=t.desktop?.media,i=[t.title,t.name,t.label,t.alt,r?.title,r?.name,r?.typeAlert?.message,s?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const c of i)if(typeof c=="string"&&c.trim().length>0)return c.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Ot(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];typeof n=="number"?t.length>0?t[t.length-1]+=`[${n}]`:t.push(`[${n}]`):t.push(n)}return t.join(" · ")}function J(e,t,r,n,s){if(Dt(e)){const i=e.variants,a=e.__resolveType,c=$t.test(a)?"":Ot(n);i.forEach((l,m)=>{if(!l||typeof l!="object")return;const p=l,h=[];if(pt(p.rule,h),h.length===0)return;const g=Pt(p.value)??(c||r);for(const u of h)s.push({blockKey:t,blockLabel:r,innerPath:c,variantIndex:m,start:u.start,end:u.end,openStart:u.openStart,openEnd:u.openEnd,label:g,flagResolveType:a})});for(let l=0;l<i.length;l++){const m=i[l];m&&typeof m=="object"&&J(m.value,t,r,[...n,"variants",l,"value"],s)}return}if(Array.isArray(e)){for(let i=0;i<e.length;i++)J(e[i],t,r,[...n,i],s);return}if(e&&typeof e=="object")for(const[i,a]of Object.entries(e))i!=="__resolveType"&&J(a,t,r,[...n,i],s)}function Vt(e){if(!e)return[];const t=[];for(const[r,n]of Object.entries(e))J(n,r,Rt(r),[],t);return t.sort((r,n)=>r.start.getTime()-n.start.getTime())}function It(e){const t=[...new Set(e)].sort(),r=new Map;return t.forEach((n,s)=>{const i=s*137.508%360;r.set(n,{bg:`oklch(0.62 0.14 ${i})`,text:"white",border:`oklch(0.50 0.14 ${i})`})}),r}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function dt(e,t){return e.get(t)??Ht}const nt=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Bt(e,t){const r=e.openStart?t("sandbox.variantCalendar.always"):nt.format(e.start),n=e.openEnd?t("sandbox.variantCalendar.ongoing"):nt.format(e.end);return`${r} → ${n}`}function Ft(e){const t=K.c(18),{variant:r}=e,n=X();let s;t[0]!==r.blockLabel?(s=o.jsx("div",{className:"font-semibold",children:r.blockLabel}),t[0]=r.blockLabel,t[1]=s):s=t[1];let i;t[2]!==r.innerPath?(i=r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.innerPath}),t[2]=r.innerPath,t[3]=i):i=t[3];let a;t[4]!==r.blockLabel||t[5]!==r.innerPath||t[6]!==r.label?(a=r.label!==r.blockLabel&&r.label!==r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.label}),t[4]=r.blockLabel,t[5]=r.innerPath,t[6]=r.label,t[7]=a):a=t[7];let c;t[8]!==n||t[9]!==r?(c=Bt(r,n),t[8]=n,t[9]=r,t[10]=c):c=t[10];let l;t[11]!==c?(l=o.jsx("div",{className:"mt-1",children:c}),t[11]=c,t[12]=l):l=t[12];let m;return t[13]!==s||t[14]!==i||t[15]!==a||t[16]!==l?(m=o.jsx(xt,{children:o.jsxs("div",{className:"text-xs",children:[s,i,a,l]})}),t[13]=s,t[14]=i,t[15]=a,t[16]=l,t[17]=m):m=t[17],m}const ot=16;function zt(e,t){const r=e?"transparent":"#000 0",n=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${r}, #000 ${ot}px, #000 calc(100% - ${ot}px), ${n})`}function ft(e){const t=K.c(26),{variant:r,color:n,style:s,children:i,fadeStart:a,fadeEnd:c}=e,l=a===void 0?!1:a,m=c===void 0?!1:c;let p;t[0]!==m||t[1]!==l?(p=zt(l,m),t[0]=m,t[1]=l,t[2]=p):p=t[2];const h=p;let f;t[3]!==l?(f=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=f):f=t[4];let g;t[5]!==m?(g=m&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=m,t[6]=g):g=t[6];let u;t[7]!==h?(u=h&&{maskImage:h,WebkitMaskImage:h},t[7]=h,t[8]=u):u=t[8];let x;t[9]!==n.bg||t[10]!==n.text||t[11]!==s||t[12]!==f||t[13]!==g||t[14]!==u?(x={background:n.bg,color:n.text,borderRadius:4,...f,...g,...u,...s},t[9]=n.bg,t[10]=n.text,t[11]=s,t[12]=f,t[13]=g,t[14]=u,t[15]=x):x=t[15];let b;t[16]!==i?(b=o.jsx("span",{className:"truncate",children:i}),t[16]=i,t[17]=b):b=t[17];let E;t[18]!==x||t[19]!==b?(E=o.jsx(ut,{asChild:!0,children:o.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:x,children:b})}),t[18]=x,t[19]=b,t[20]=E):E=t[20];let T;t[21]!==r?(T=o.jsx(Ft,{variant:r}),t[21]=r,t[22]=T):T=t[22];let d;return t[23]!==T||t[24]!==E?(d=o.jsxs(ht,{children:[E,T]}),t[23]=T,t[24]=E,t[25]=d):d=t[25],d}function Yn(e){const t=K.c(72),{decofile:r}=e,n=X(),[s,i]=Z.useState("calendar"),[a,c]=Z.useState(Kt),[l,m]=Z.useState(!1);let p,h,f;if(t[0]!==r||t[1]!==l){const V=Vt(r);p=V.filter(Ut).length,f=l?V:V.filter(Gt),h=It(f.map(Wt)),t[0]=r,t[1]=l,t[2]=p,t[3]=h,t[4]=f}else p=t[2],h=t[3],f=t[4];const g=h;let u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c(mt(new Date)),t[5]=u):u=t[5];const x=u;let b;t[6]!==s?(b=()=>c(V=>s==="calendar"?U(V,-1):U(V,-3)),t[6]=s,t[7]=b):b=t[7];const E=b;let T;t[8]!==s?(T=()=>c(V=>s==="calendar"?U(V,1):U(V,3)),t[8]=s,t[9]=T):T=t[9];const d=T;let v;t[10]!==n?(v=n("sandbox.variantCalendar.today"),t[10]=n,t[11]=v):v=t[11];let y;t[12]!==v?(y=o.jsx(tt,{variant:"outline",size:"sm",onClick:x,children:v}),t[12]=v,t[13]=y):y=t[13];let N;t[14]!==n?(N=n("sandbox.variantCalendar.previous"),t[14]=n,t[15]=N):N=t[15];let A;t[16]===Symbol.for("react.memo_cache_sentinel")?(A=o.jsx(gt,{size:16}),t[16]=A):A=t[16];let _;t[17]!==E||t[18]!==N?(_=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:E,"aria-label":N,children:A}),t[17]=E,t[18]=N,t[19]=_):_=t[19];let k;t[20]!==n?(k=n("sandbox.variantCalendar.next"),t[20]=n,t[21]=k):k=t[21];let C;t[22]===Symbol.for("react.memo_cache_sentinel")?(C=o.jsx(vt,{size:16}),t[22]=C):C=t[22];let $;t[23]!==d||t[24]!==k?($=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:d,"aria-label":k,children:C}),t[23]=d,t[24]=k,t[25]=$):$=t[25];const R=ct[a.getMonth()];let M;t[26]!==a?(M=a.getFullYear(),t[26]=a,t[27]=M):M=t[27];let w;t[28]!==R||t[29]!==M?(w=o.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[R," ",M]}),t[28]=R,t[29]=M,t[30]=w):w=t[30];let j;t[31]!==$||t[32]!==w||t[33]!==y||t[34]!==_?(j=o.jsxs("div",{className:"flex items-center gap-2",children:[y,_,$,w]}),t[31]=$,t[32]=w,t[33]=y,t[34]=_,t[35]=j):j=t[35];let L;t[36]!==p||t[37]!==l||t[38]!==n?(L=p>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jt,{id:"show-ongoing",checked:l,onCheckedChange:m}),o.jsx(yt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:n("sandbox.variantCalendar.showOngoing",{count:p})})]}),t[36]=p,t[37]=l,t[38]=n,t[39]=L):L=t[39];let B;t[40]===Symbol.for("react.memo_cache_sentinel")?(B=o.jsx(at,{}),t[40]=B):B=t[40];let I;t[41]!==n?(I=n("sandbox.variantCalendar.calendarMode"),t[41]=n,t[42]=I):I=t[42];let S;t[43]!==I?(S={value:"calendar",icon:B,label:I},t[43]=I,t[44]=S):S=t[44];let F;t[45]===Symbol.for("react.memo_cache_sentinel")?(F=o.jsx(bt,{}),t[45]=F):F=t[45];let D;t[46]!==n?(D=n("sandbox.variantCalendar.timelineMode"),t[46]=n,t[47]=D):D=t[47];let P;t[48]!==D?(P={value:"timeline",icon:F,label:D},t[48]=D,t[49]=P):P=t[49];let O;t[50]!==S||t[51]!==P?(O=[S,P],t[50]=S,t[51]=P,t[52]=O):O=t[52];let H;t[53]!==O||t[54]!==s?(H=o.jsx(Tt,{value:s,onValueChange:i,options:O}),t[53]=O,t[54]=s,t[55]=H):H=t[55];let z;t[56]!==L||t[57]!==H?(z=o.jsxs("div",{className:"flex items-center gap-4",children:[L,H]}),t[56]=L,t[57]=H,t[58]=z):z=t[58];let W;t[59]!==j||t[60]!==z?(W=o.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[j,z]}),t[59]=j,t[60]=z,t[61]=W):W=t[61];let G;t[62]!==g||t[63]!==a||t[64]!==p||t[65]!==l||t[66]!==f||t[67]!==s?(G=f.length===0?o.jsx(Yt,{hiddenOngoing:l?0:p}):s==="calendar"?o.jsx(qt,{monthStart:a,variants:f,colorMap:g}):o.jsx(te,{monthStart:a,variants:f,colorMap:g}),t[62]=g,t[63]=a,t[64]=p,t[65]=l,t[66]=f,t[67]=s,t[68]=G):G=t[68];let Q;return t[69]!==W||t[70]!==G?(Q=o.jsxs("div",{className:"flex h-full w-full flex-col",children:[W,G]}),t[69]=W,t[70]=G,t[71]=Q):Q=t[71],Q}function Wt(e){return e.blockKey}function Gt(e){return!e.openEnd}function Ut(e){return e.openEnd}function Kt(){return mt(new Date)}function Yt(e){const t=K.c(4),{hiddenOngoing:r}=e,n=r===void 0?0:r,s=X();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(at,{size:24,className:"text-muted-foreground/60"}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==s?(a=o.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[i,n>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noDatedVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.hiddenOngoingVariants",{count:n})})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noScheduledVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=n,t[2]=s,t[3]=a):a=t[3],a}const et=20,it=2,st=28,Qt=6;function qt(e){const t=K.c(17),{monthStart:r,variants:n,colorMap:s}=e;let i,a,c,l,m;if(t[0]!==s||t[1]!==r||t[2]!==n){const f=Nt(r),g=_t(new Date);i=lt,m="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:wt.map(Xt)}),t[8]=c):c=t[8],l=f.map((u,x)=>{const b=kt(u,n),E=b.reduce(Jt,0),T=st+E*(et+it)+8;return o.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:T},children:[u.map((d,v)=>{const y=d.getMonth()===r.getMonth(),N=d.getTime()===g.getTime();return o.jsx("div",{className:rt("border-r last:border-r-0 px-2 pt-1.5 text-xs",y?"bg-background":"bg-muted/30 text-muted-foreground"),children:o.jsx("span",{className:rt("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:d.getDate()})},v)}),b.map((d,v)=>{const y=dt(s,d.variant.blockKey),N=st+d.lane*(et+it),A=d.leftUnits/7*100,_=d.widthUnits/7*100,k=d.variant.openStart&&x===0,C=d.variant.openEnd&&x===f.length-1;return o.jsxs(ft,{variant:d.variant,color:y,fadeStart:k,fadeEnd:C,style:{top:N,left:`calc(${A}% + 2px)`,width:`calc(${_}% - 4px)`,minWidth:Qt,height:et},children:[d.variant.blockLabel,d.variant.label!==d.variant.blockLabel&&o.jsxs("span",{className:"opacity-70",children:[" · ",d.variant.label]})]},`${x}-${v}`)})]},x)}),t[0]=s,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=c,t[6]=l,t[7]=m}else i=t[3],a=t[4],c=t[5],l=t[6],m=t[7];let p;t[9]!==a||t[10]!==c||t[11]!==l?(p=o.jsxs("div",{className:a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=l,t[12]=p):p=t[12];let h;return t[13]!==i||t[14]!==m||t[15]!==p?(h=o.jsx(i,{className:m,children:p}),t[13]=i,t[14]=m,t[15]=p,t[16]=h):h=t[16],h}function Jt(e,t){return Math.max(e,t.lane+1)}function Xt(e){return o.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const q=4,Zt=32,Y=240;function te(e){const t=K.c(23),{monthStart:r,variants:n,colorMap:s}=e,i=r,a=U(r,q),c=new Date,l=new Map;for(const w of n){const j=l.get(w.blockKey)??[];j.push(w),l.set(w.blockKey,j)}const m=Array.from(l.entries()).sort(ne),p=a.getTime()-i.getTime(),h=w=>(Math.max(i.getTime(),Math.min(a.getTime(),w.getTime()))-i.getTime())/p*100;let f;t[0]!==i?(f=(w,j)=>U(i,j),t[0]=i,t[1]=f):f=t[1];const g=Array.from({length:q},f),u=c.getTime()>=i.getTime()&&c.getTime()<=a.getTime()?h(c):null,x=X(),b=lt,E="flex-1 min-h-0",T="min-w-[900px] relative";let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={width:Y},t[2]=d):d=t[2];let v;t[3]!==x?(v=x("sandbox.variantCalendar.variantBlock"),t[3]=x,t[4]=v):v=t[4];let y;t[5]!==v?(y=o.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:d,children:v}),t[5]=v,t[6]=y):y=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const A=g.map(re);let _;t[8]!==A?(_=o.jsx("div",{className:"flex-1 grid",style:N,children:A}),t[8]=A,t[9]=_):_=t[9];let k;t[10]!==y||t[11]!==_?(k=o.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[y,_]}),t[10]=y,t[11]=_,t[12]=k):k=t[12];let C;t[13]!==x||t[14]!==u?(C=u!==null&&o.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${Y}px + (100% - ${Y}px) * ${u} / 100)`},children:o.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:x("sandbox.variantCalendar.todayLabel")})}),t[13]=x,t[14]=u,t[15]=C):C=t[15];const $=m.map(w=>{const[j,L]=w,B=dt(s,j),I=L[0]?.blockLabel??j;return o.jsxs("div",{children:[o.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:o.jsx("div",{className:"px-3 truncate",style:{width:Y},children:I})}),L.map((S,F)=>o.jsxs("div",{className:"flex border-b items-center",style:{height:Zt},children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:Y},children:[o.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:B.bg}}),o.jsx("span",{className:"truncate text-foreground/80",children:S.label})]}),o.jsxs("div",{className:"relative flex-1 h-full",children:[o.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},children:g.map(ee)}),(()=>{const D=Math.max(S.start.getTime(),i.getTime()),P=Math.min(S.end.getTime(),a.getTime());if(P<=D)return null;const O=h(new Date(D)),H=h(new Date(P))-O;return o.jsx(ft,{variant:S,color:B,fadeStart:S.openStart,fadeEnd:S.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${O}%`,width:`calc(${H}% - 2px)`,height:22},children:S.label})})()]})]},F))]},j)});let R;t[16]!==k||t[17]!==C||t[18]!==$?(R=o.jsxs("div",{className:T,children:[k,C,$]}),t[16]=k,t[17]=C,t[18]=$,t[19]=R):R=t[19];let M;return t[20]!==b||t[21]!==R?(M=o.jsx(b,{className:E,children:R}),t[20]=b,t[21]=R,t[22]=M):M=t[22],M}function ee(e,t){return o.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function re(e,t){return o.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ct[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function ne(e,t){return e[0].localeCompare(t[0])}export{Yn as VariantCalendar};
1
+ import{c as K,b as X,r as Z,j as o,n as rt,a8 as ut,ab as ht,B as tt,a9 as xt}from"./index-DuKgaDRT.js";import{w as gt,ae as at,aS as bt}from"./agent-icon-CXYig2Vh.js";import{i as vt}from"./ChevronRight-BoCweSJs.js";import{L as yt}from"./label-B0K9nJ3U.js";import{S as lt}from"./use-clock-tick-Bb14ko74.js";import{S as jt}from"./switch-Bogsutiu.js";import{V as Tt}from"./view-mode-toggle-BTeH48rm.js";import{bP as ct,bQ as mt,bR as Nt,bS as _t,bT as kt,bU as U,bV as wt}from"./index-f6gC7_4x.js";import"./AlertCircle-q-ha89N3.js";import"./Tool01-Cr7gkqqy.js";import"./ArrowUp-BAyh6hn8.js";import"./ArrowLeft-BAk90rdd.js";import"./Tool02-CoTv5i2i.js";import"./XCircle-CENboZHz.js";import"./TrendUp01-DzptB_l4.js";import"./ZapSquare-C_gg8DXd.js";import"./Users03-DB9-i9hs.js";import"./CheckCircle-COyRqpAc.js";import"./Check-8BnM7tpC.js";import"./ChevronDown-BDPQaZqS.js";import"./ChevronSelectorVertical-CbFyIO58.js";import"./ChevronUp-Ce84NoHt.js";import"./DotsVertical-1JhgmWFz.js";import"./Stars02-Dz2PYLs6.js";import"./UserSquare-C2vbnCn3.js";import"./Copy01-zUJb2qyi.js";import"./CreditCard01-Dd3kG7iY.js";import"./Download01-sTnZ9m_H.js";import"./Settings02-BxdfBQ5Y.js";import"./Eye-DBZt4RJc.js";import"./FilterLines-nlgwxkLs.js";import"./Share07-w7mz_Iae.js";import"./Globe01-B7mCeRBx.js";import"./Globe04-CW7pEZaX.js";import"./SwitchHorizontal01-DgxuO6JI.js";import"./HardDrive-Bd0W1jdP.js";import"./Key01-CYjm13lf.js";import"./LinkExternal01-eB2fHbU5.js";import"./LockUnlocked01-DFl-OJ7R.js";import"./LogOut01-D3UNWCpS.js";import"./Monitor01-vLem4C3L.js";import"./Sun-D5dGjwS7.js";import"./Palette-cc7S-N3h.js";import"./Play-Dse4KZ1O.js";import"./Plus-CAe31wl2.js";import"./SearchLg-DGzbK_iQ.js";import"./SearchMd-CqROzn8s.js";import"./Shield01-B50p-i9H.js";import"./Stars01-C3_YhsfM.js";import"./Trash01-DbfWjlZd.js";import"./Upload01-CvzK6gz-.js";import"./User01-BdqBw1KN.js";import"./Users01-BsgBtJMH.js";import"./XClose-DYwCESGN.js";import"./Zap-C_NQbDwT.js";import"./select-Dw0yz6R3.js";import"./chat-context-CK0SAWg7.js";import"./tab-id-xRw9s49x.js";import"./dialog-VBR_VTpJ.js";import"./session-runtime-wVXsCwcJ.js";import"./hooks-BEfohZqo.js";import"./use-mcp-client-DEWnugV9.js";import"./constants-z9Iog-sb.js";import"./auth-Dg5sPbT4.js";import"./delay-CnY5UFtP.js";import"./backoff-CrEUbyZT.js";import"./decopilot-sse-pool-P47eJQwa.js";import"./use-is-desktop-app-BNujXJc_.js";import"./use-virtual-mcp-Dds4BZbz.js";import"./use-ai-providers-XXnxR_Zu.js";import"./use-decopilot-events-B9ygDv-h.js";import"./use-organization-settings-D6-lnE8v.js";import"./automation-runs-Bo6be-vt.js";import"./useInfiniteQuery-DfepjmLn.js";import"./use-infinite-scroll-CQ0_P7dk.js";import"./use-connection-CouRoanJ.js";import"./table-Dz1UPp05.js";import"./empty-state-Db_WfMoj.js";import"./use-members-G-zG_jza.js";import"./use-org-auth-client-CsDT0euS.js";import"./use-automations-V9xNGOwd.js";import"./useSuspenseInfiniteQuery-BVLX6MQQ.js";import"./avatar-BnQPHMLw.js";import"./format-time-BnbuEtat.js";import"./differenceInSeconds-NQ4PDo0z.js";import"./use-copy-Ddawx2RP.js";import"./monaco-editor-1iAJFSoh.js";import"./spinner-DUUWxaw4.js";import"./types-W907-UkK.js";import"./shell-layout-h1M-Upkc.js";import"./required-auth-layout-Dif_3ts2.js";import"./use-org-sso-O4xaa8q3.js";import"./integration-icon-BZS934jb.js";import"./use-navigate-to-agent-CCf7hqC4.js";import"./reusable-new-chat-CzvRy4Pe.js";import"./chart-DnE16Ix1.js";import"./index-B1TJowpP.js";import"./form-DYcqG-4R.js";import"./input-rGj3HLrx.js";import"./file-type-icon-kZUd9_dW.js";import"./drawer-BOKsWH4_.js";import"./collection-search-DstNczGU.js";import"./tabs-CVLCNP4p.js";import"./toggle-group-D7gbO6Ao.js";import"./use-commerce-diagnostic-DMlGkdtx.js";import"./popover-Ne5etcF4.js";import"./self-tool-result-CfcKJ8G-.js";import"./alert-dialog-DrDfeFyK.js";import"./extract-connection-data-G69TIOoO.js";import"./metadata-dUsYcpuu.js";import"./provision-repo-scoped-github-connection-CMPWtdMv.js";import"./use-debounced-value-B_odlUMh.js";import"./authenticate-and-persist-oauth-CeNmdDco.js";import"./mcp-oauth-DNzbrdjN.js";import"./track-Bh6FnWCf.js";import"./toolbar-DlSLmZi5.js";import"./github-repo-picker-CJVihlv_.js";import"./use-mcp-tools-WEAnrPHG.js";import"./agent-capabilities-B52k7xCe.js";import"./connection-card-C2-WEJb6.js";import"./use-registry-connections-DcYxqR1F.js";import"./retry-CErkP7V6.js";import"./connection-slug-eyAPH6o3.js";import"./textarea-DP7L5LCU.js";import"./connection-form-helpers-GRZE4630.js";import"./collection-tabs-BMr5Ngme.js";import"./badge-C8_JqgY7.js";import"./command-CjV2wNNJ.js";import"./index-U2pcazmz.js";import"./select-model-DxJOIebh.js";import"./checkbox-D6aL5Ben.js";import"./ai-providers-logos-DD3qZ33J.js";import"./cards-4iJIg9Mv.js";import"./dropdown-menu-Bnt3DOwT.js";import"./question-004-sINsf4GQ.js";import"./use-status-sounds-DRh49aaZ.js";import"./use-file-configs-D1n8ru_C.js";import"./pt-BR-CLy76QW2.js";import"./use-debounced-autosave-BkTJ_3l3.js";import"./search-input-Bc5gi1FL.js";import"./use-mcp-auth-status-CT_TMtQl.js";import"./use-secrets-BfNvKZpg.js";import"./AreaChart-DJcPJJSF.js";import"./use-task-board-items-DtI1y7vL.js";import"./breadcrumb-2vmGkBiB.js";import"./get-initials-D-f_fDFw.js";import"./use-tags-C4ysHQ1s.js";import"./task-key-BCHdFiOO.js";import"./automation-list-row-Dlr1O2UX.js";import"./site-error--i37Vnuw.js";import"./use-org-repo-syncs-BvIV6Sw5.js";const Et=new Set(["website/matchers/date.ts","$live/matchers/MatchDate.ts"]),St=new Set(["website/matchers/multi.ts","$live/matchers/MatchMulti.ts"]),Ct=new Date(-864e13),Mt=new Date(864e13),At=/\/flags\/multivariate(?:\/[^/]+)?\.ts$/,$t=/\/flags\/multivariate\.ts$/;function Rt(e){let t=e;t.startsWith("pages-")&&(t=t.slice(6).replace(/-\d+$/,""));try{t=decodeURIComponent(t)}catch{}return t}function Lt(e){if(!e||typeof e!="object")return null;const{start:t,end:r}=e,n=typeof t=="string",s=typeof r=="string";if(!n&&!s)return null;const i=n?new Date(t):Ct,a=s?new Date(r):Mt;return Number.isNaN(i.getTime())||Number.isNaN(a.getTime())||n&&s&&a.getTime()<=i.getTime()?null:{start:i,end:a,openStart:!n,openEnd:!s}}function pt(e,t){if(!e||typeof e!="object")return;const r=e.__resolveType;if(typeof r=="string"){if(Et.has(r)){const n=Lt(e);n&&t.push(n);return}if(St.has(r)){const n=e.matchers;if(Array.isArray(n))for(const s of n)pt(s,t)}}}function Dt(e){if(!e||typeof e!="object")return!1;const t=e.__resolveType;if(typeof t!="string"||!At.test(t))return!1;const r=e.variants;return Array.isArray(r)}function Pt(e){if(typeof e=="string"){const c=e.trim();if(c.length===0)return null;try{const m=new URL(c).pathname.split("/").filter(Boolean),p=m[m.length-1];if(p)return decodeURIComponent(p)}catch{}return c.length>80?`${c.slice(0,77)}…`:c}if(!e||typeof e!="object")return null;const t=e,r=t.config,s=t.desktop?.media,i=[t.title,t.name,t.label,t.alt,r?.title,r?.name,r?.typeAlert?.message,s?.alt,Array.isArray(t.matcher)?t.matcher[0]:void 0];for(const c of i)if(typeof c=="string"&&c.trim().length>0)return c.trim();const a=t.__resolveType;if(typeof a=="string"){const l=(a.split("/").pop()??a).replace(/\.(tsx?|jsx?)$/i,"");if(l.length>0)return l}return null}function Ot(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];typeof n=="number"?t.length>0?t[t.length-1]+=`[${n}]`:t.push(`[${n}]`):t.push(n)}return t.join(" · ")}function J(e,t,r,n,s){if(Dt(e)){const i=e.variants,a=e.__resolveType,c=$t.test(a)?"":Ot(n);i.forEach((l,m)=>{if(!l||typeof l!="object")return;const p=l,h=[];if(pt(p.rule,h),h.length===0)return;const g=Pt(p.value)??(c||r);for(const u of h)s.push({blockKey:t,blockLabel:r,innerPath:c,variantIndex:m,start:u.start,end:u.end,openStart:u.openStart,openEnd:u.openEnd,label:g,flagResolveType:a})});for(let l=0;l<i.length;l++){const m=i[l];m&&typeof m=="object"&&J(m.value,t,r,[...n,"variants",l,"value"],s)}return}if(Array.isArray(e)){for(let i=0;i<e.length;i++)J(e[i],t,r,[...n,i],s);return}if(e&&typeof e=="object")for(const[i,a]of Object.entries(e))i!=="__resolveType"&&J(a,t,r,[...n,i],s)}function Vt(e){if(!e)return[];const t=[];for(const[r,n]of Object.entries(e))J(n,r,Rt(r),[],t);return t.sort((r,n)=>r.start.getTime()-n.start.getTime())}function It(e){const t=[...new Set(e)].sort(),r=new Map;return t.forEach((n,s)=>{const i=s*137.508%360;r.set(n,{bg:`oklch(0.62 0.14 ${i})`,text:"white",border:`oklch(0.50 0.14 ${i})`})}),r}const Ht={bg:"oklch(0.62 0.14 0)",text:"white",border:"oklch(0.50 0.14 0)"};function dt(e,t){return e.get(t)??Ht}const nt=new Intl.DateTimeFormat("en",{dateStyle:"medium",timeStyle:"short"});function Bt(e,t){const r=e.openStart?t("sandbox.variantCalendar.always"):nt.format(e.start),n=e.openEnd?t("sandbox.variantCalendar.ongoing"):nt.format(e.end);return`${r} → ${n}`}function Ft(e){const t=K.c(18),{variant:r}=e,n=X();let s;t[0]!==r.blockLabel?(s=o.jsx("div",{className:"font-semibold",children:r.blockLabel}),t[0]=r.blockLabel,t[1]=s):s=t[1];let i;t[2]!==r.innerPath?(i=r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.innerPath}),t[2]=r.innerPath,t[3]=i):i=t[3];let a;t[4]!==r.blockLabel||t[5]!==r.innerPath||t[6]!==r.label?(a=r.label!==r.blockLabel&&r.label!==r.innerPath&&o.jsx("div",{className:"text-muted-foreground",children:r.label}),t[4]=r.blockLabel,t[5]=r.innerPath,t[6]=r.label,t[7]=a):a=t[7];let c;t[8]!==n||t[9]!==r?(c=Bt(r,n),t[8]=n,t[9]=r,t[10]=c):c=t[10];let l;t[11]!==c?(l=o.jsx("div",{className:"mt-1",children:c}),t[11]=c,t[12]=l):l=t[12];let m;return t[13]!==s||t[14]!==i||t[15]!==a||t[16]!==l?(m=o.jsx(xt,{children:o.jsxs("div",{className:"text-xs",children:[s,i,a,l]})}),t[13]=s,t[14]=i,t[15]=a,t[16]=l,t[17]=m):m=t[17],m}const ot=16;function zt(e,t){const r=e?"transparent":"#000 0",n=t?"transparent":"#000 100%";if(!(!e&&!t))return`linear-gradient(to right, ${r}, #000 ${ot}px, #000 calc(100% - ${ot}px), ${n})`}function ft(e){const t=K.c(26),{variant:r,color:n,style:s,children:i,fadeStart:a,fadeEnd:c}=e,l=a===void 0?!1:a,m=c===void 0?!1:c;let p;t[0]!==m||t[1]!==l?(p=zt(l,m),t[0]=m,t[1]=l,t[2]=p):p=t[2];const h=p;let f;t[3]!==l?(f=l&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},t[3]=l,t[4]=f):f=t[4];let g;t[5]!==m?(g=m&&{borderTopRightRadius:0,borderBottomRightRadius:0},t[5]=m,t[6]=g):g=t[6];let u;t[7]!==h?(u=h&&{maskImage:h,WebkitMaskImage:h},t[7]=h,t[8]=u):u=t[8];let x;t[9]!==n.bg||t[10]!==n.text||t[11]!==s||t[12]!==f||t[13]!==g||t[14]!==u?(x={background:n.bg,color:n.text,borderRadius:4,...f,...g,...u,...s},t[9]=n.bg,t[10]=n.text,t[11]=s,t[12]=f,t[13]=g,t[14]=u,t[15]=x):x=t[15];let b;t[16]!==i?(b=o.jsx("span",{className:"truncate",children:i}),t[16]=i,t[17]=b):b=t[17];let E;t[18]!==x||t[19]!==b?(E=o.jsx(ut,{asChild:!0,children:o.jsx("div",{className:"absolute flex items-center px-2 text-[11px] font-medium truncate cursor-default",style:x,children:b})}),t[18]=x,t[19]=b,t[20]=E):E=t[20];let T;t[21]!==r?(T=o.jsx(Ft,{variant:r}),t[21]=r,t[22]=T):T=t[22];let d;return t[23]!==T||t[24]!==E?(d=o.jsxs(ht,{children:[E,T]}),t[23]=T,t[24]=E,t[25]=d):d=t[25],d}function Yn(e){const t=K.c(72),{decofile:r}=e,n=X(),[s,i]=Z.useState("calendar"),[a,c]=Z.useState(Kt),[l,m]=Z.useState(!1);let p,h,f;if(t[0]!==r||t[1]!==l){const V=Vt(r);p=V.filter(Ut).length,f=l?V:V.filter(Gt),h=It(f.map(Wt)),t[0]=r,t[1]=l,t[2]=p,t[3]=h,t[4]=f}else p=t[2],h=t[3],f=t[4];const g=h;let u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=()=>c(mt(new Date)),t[5]=u):u=t[5];const x=u;let b;t[6]!==s?(b=()=>c(V=>s==="calendar"?U(V,-1):U(V,-3)),t[6]=s,t[7]=b):b=t[7];const E=b;let T;t[8]!==s?(T=()=>c(V=>s==="calendar"?U(V,1):U(V,3)),t[8]=s,t[9]=T):T=t[9];const d=T;let v;t[10]!==n?(v=n("sandbox.variantCalendar.today"),t[10]=n,t[11]=v):v=t[11];let y;t[12]!==v?(y=o.jsx(tt,{variant:"outline",size:"sm",onClick:x,children:v}),t[12]=v,t[13]=y):y=t[13];let N;t[14]!==n?(N=n("sandbox.variantCalendar.previous"),t[14]=n,t[15]=N):N=t[15];let A;t[16]===Symbol.for("react.memo_cache_sentinel")?(A=o.jsx(gt,{size:16}),t[16]=A):A=t[16];let _;t[17]!==E||t[18]!==N?(_=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:E,"aria-label":N,children:A}),t[17]=E,t[18]=N,t[19]=_):_=t[19];let k;t[20]!==n?(k=n("sandbox.variantCalendar.next"),t[20]=n,t[21]=k):k=t[21];let C;t[22]===Symbol.for("react.memo_cache_sentinel")?(C=o.jsx(vt,{size:16}),t[22]=C):C=t[22];let $;t[23]!==d||t[24]!==k?($=o.jsx(tt,{variant:"ghost",size:"icon",className:"size-8",onClick:d,"aria-label":k,children:C}),t[23]=d,t[24]=k,t[25]=$):$=t[25];const R=ct[a.getMonth()];let M;t[26]!==a?(M=a.getFullYear(),t[26]=a,t[27]=M):M=t[27];let w;t[28]!==R||t[29]!==M?(w=o.jsxs("h2",{className:"ml-2 text-base font-semibold",children:[R," ",M]}),t[28]=R,t[29]=M,t[30]=w):w=t[30];let j;t[31]!==$||t[32]!==w||t[33]!==y||t[34]!==_?(j=o.jsxs("div",{className:"flex items-center gap-2",children:[y,_,$,w]}),t[31]=$,t[32]=w,t[33]=y,t[34]=_,t[35]=j):j=t[35];let L;t[36]!==p||t[37]!==l||t[38]!==n?(L=p>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jt,{id:"show-ongoing",checked:l,onCheckedChange:m}),o.jsx(yt,{htmlFor:"show-ongoing",className:"text-xs text-muted-foreground cursor-pointer",children:n("sandbox.variantCalendar.showOngoing",{count:p})})]}),t[36]=p,t[37]=l,t[38]=n,t[39]=L):L=t[39];let B;t[40]===Symbol.for("react.memo_cache_sentinel")?(B=o.jsx(at,{}),t[40]=B):B=t[40];let I;t[41]!==n?(I=n("sandbox.variantCalendar.calendarMode"),t[41]=n,t[42]=I):I=t[42];let S;t[43]!==I?(S={value:"calendar",icon:B,label:I},t[43]=I,t[44]=S):S=t[44];let F;t[45]===Symbol.for("react.memo_cache_sentinel")?(F=o.jsx(bt,{}),t[45]=F):F=t[45];let D;t[46]!==n?(D=n("sandbox.variantCalendar.timelineMode"),t[46]=n,t[47]=D):D=t[47];let P;t[48]!==D?(P={value:"timeline",icon:F,label:D},t[48]=D,t[49]=P):P=t[49];let O;t[50]!==S||t[51]!==P?(O=[S,P],t[50]=S,t[51]=P,t[52]=O):O=t[52];let H;t[53]!==O||t[54]!==s?(H=o.jsx(Tt,{value:s,onValueChange:i,options:O}),t[53]=O,t[54]=s,t[55]=H):H=t[55];let z;t[56]!==L||t[57]!==H?(z=o.jsxs("div",{className:"flex items-center gap-4",children:[L,H]}),t[56]=L,t[57]=H,t[58]=z):z=t[58];let W;t[59]!==j||t[60]!==z?(W=o.jsxs("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:[j,z]}),t[59]=j,t[60]=z,t[61]=W):W=t[61];let G;t[62]!==g||t[63]!==a||t[64]!==p||t[65]!==l||t[66]!==f||t[67]!==s?(G=f.length===0?o.jsx(Yt,{hiddenOngoing:l?0:p}):s==="calendar"?o.jsx(qt,{monthStart:a,variants:f,colorMap:g}):o.jsx(te,{monthStart:a,variants:f,colorMap:g}),t[62]=g,t[63]=a,t[64]=p,t[65]=l,t[66]=f,t[67]=s,t[68]=G):G=t[68];let Q;return t[69]!==W||t[70]!==G?(Q=o.jsxs("div",{className:"flex h-full w-full flex-col",children:[W,G]}),t[69]=W,t[70]=G,t[71]=Q):Q=t[71],Q}function Wt(e){return e.blockKey}function Gt(e){return!e.openEnd}function Ut(e){return e.openEnd}function Kt(){return mt(new Date)}function Yt(e){const t=K.c(4),{hiddenOngoing:r}=e,n=r===void 0?0:r,s=X();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx(at,{size:24,className:"text-muted-foreground/60"}),t[0]=i):i=t[0];let a;return t[1]!==n||t[2]!==s?(a=o.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 text-center text-sm text-muted-foreground p-6",children:[i,n>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noDatedVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.hiddenOngoingVariants",{count:n})})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{children:s("sandbox.variantCalendar.noScheduledVariants")}),o.jsx("div",{className:"text-xs text-muted-foreground/80",children:s("sandbox.variantCalendar.dateMatcherInfo")})]})]}),t[1]=n,t[2]=s,t[3]=a):a=t[3],a}const et=20,it=2,st=28,Qt=6;function qt(e){const t=K.c(17),{monthStart:r,variants:n,colorMap:s}=e;let i,a,c,l,m;if(t[0]!==s||t[1]!==r||t[2]!==n){const f=Nt(r),g=_t(new Date);i=lt,m="flex-1 min-h-0",a="min-w-[840px]",t[8]===Symbol.for("react.memo_cache_sentinel")?(c=o.jsx("div",{className:"grid grid-cols-7 border-b text-xs text-muted-foreground sticky top-0 bg-background z-10",children:wt.map(Xt)}),t[8]=c):c=t[8],l=f.map((u,x)=>{const b=kt(u,n),E=b.reduce(Jt,0),T=st+E*(et+it)+8;return o.jsxs("div",{className:"grid grid-cols-7 relative border-b",style:{height:T},children:[u.map((d,v)=>{const y=d.getMonth()===r.getMonth(),N=d.getTime()===g.getTime();return o.jsx("div",{className:rt("border-r last:border-r-0 px-2 pt-1.5 text-xs",y?"bg-background":"bg-muted/30 text-muted-foreground"),children:o.jsx("span",{className:rt("inline-flex h-5 min-w-5 items-center justify-center rounded-full px-1",N&&"bg-primary text-primary-foreground font-semibold"),children:d.getDate()})},v)}),b.map((d,v)=>{const y=dt(s,d.variant.blockKey),N=st+d.lane*(et+it),A=d.leftUnits/7*100,_=d.widthUnits/7*100,k=d.variant.openStart&&x===0,C=d.variant.openEnd&&x===f.length-1;return o.jsxs(ft,{variant:d.variant,color:y,fadeStart:k,fadeEnd:C,style:{top:N,left:`calc(${A}% + 2px)`,width:`calc(${_}% - 4px)`,minWidth:Qt,height:et},children:[d.variant.blockLabel,d.variant.label!==d.variant.blockLabel&&o.jsxs("span",{className:"opacity-70",children:[" · ",d.variant.label]})]},`${x}-${v}`)})]},x)}),t[0]=s,t[1]=r,t[2]=n,t[3]=i,t[4]=a,t[5]=c,t[6]=l,t[7]=m}else i=t[3],a=t[4],c=t[5],l=t[6],m=t[7];let p;t[9]!==a||t[10]!==c||t[11]!==l?(p=o.jsxs("div",{className:a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=l,t[12]=p):p=t[12];let h;return t[13]!==i||t[14]!==m||t[15]!==p?(h=o.jsx(i,{className:m,children:p}),t[13]=i,t[14]=m,t[15]=p,t[16]=h):h=t[16],h}function Jt(e,t){return Math.max(e,t.lane+1)}function Xt(e){return o.jsx("div",{className:"px-2 py-2 text-center uppercase tracking-wide",children:e},e)}const q=4,Zt=32,Y=240;function te(e){const t=K.c(23),{monthStart:r,variants:n,colorMap:s}=e,i=r,a=U(r,q),c=new Date,l=new Map;for(const w of n){const j=l.get(w.blockKey)??[];j.push(w),l.set(w.blockKey,j)}const m=Array.from(l.entries()).sort(ne),p=a.getTime()-i.getTime(),h=w=>(Math.max(i.getTime(),Math.min(a.getTime(),w.getTime()))-i.getTime())/p*100;let f;t[0]!==i?(f=(w,j)=>U(i,j),t[0]=i,t[1]=f):f=t[1];const g=Array.from({length:q},f),u=c.getTime()>=i.getTime()&&c.getTime()<=a.getTime()?h(c):null,x=X(),b=lt,E="flex-1 min-h-0",T="min-w-[900px] relative";let d;t[2]===Symbol.for("react.memo_cache_sentinel")?(d={width:Y},t[2]=d):d=t[2];let v;t[3]!==x?(v=x("sandbox.variantCalendar.variantBlock"),t[3]=x,t[4]=v):v=t[4];let y;t[5]!==v?(y=o.jsx("div",{className:"shrink-0 px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground border-r",style:d,children:v}),t[5]=v,t[6]=y):y=t[6];let N;t[7]===Symbol.for("react.memo_cache_sentinel")?(N={gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},t[7]=N):N=t[7];const A=g.map(re);let _;t[8]!==A?(_=o.jsx("div",{className:"flex-1 grid",style:N,children:A}),t[8]=A,t[9]=_):_=t[9];let k;t[10]!==y||t[11]!==_?(k=o.jsxs("div",{className:"flex border-b sticky top-0 bg-background z-10",children:[y,_]}),t[10]=y,t[11]=_,t[12]=k):k=t[12];let C;t[13]!==x||t[14]!==u?(C=u!==null&&o.jsx("div",{className:"pointer-events-none absolute top-0 bottom-0 w-px bg-primary/70 z-[5]",style:{left:`calc(${Y}px + (100% - ${Y}px) * ${u} / 100)`},children:o.jsx("span",{className:"absolute -top-0.5 -translate-x-1/2 rounded-sm bg-primary px-1.5 py-px text-[10px] font-medium text-primary-foreground",children:x("sandbox.variantCalendar.todayLabel")})}),t[13]=x,t[14]=u,t[15]=C):C=t[15];const $=m.map(w=>{const[j,L]=w,B=dt(s,j),I=L[0]?.blockLabel??j;return o.jsxs("div",{children:[o.jsx("div",{className:"flex items-center bg-muted/40 border-b text-xs font-semibold uppercase tracking-wide text-muted-foreground",style:{height:28},children:o.jsx("div",{className:"px-3 truncate",style:{width:Y},children:I})}),L.map((S,F)=>o.jsxs("div",{className:"flex border-b items-center",style:{height:Zt},children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 text-sm border-r shrink-0",style:{width:Y},children:[o.jsx("span",{className:"inline-block h-2 w-2 rounded-full shrink-0",style:{background:B.bg}}),o.jsx("span",{className:"truncate text-foreground/80",children:S.label})]}),o.jsxs("div",{className:"relative flex-1 h-full",children:[o.jsx("div",{className:"absolute inset-0 grid",style:{gridTemplateColumns:`repeat(${q}, minmax(0, 1fr))`},children:g.map(ee)}),(()=>{const D=Math.max(S.start.getTime(),i.getTime()),P=Math.min(S.end.getTime(),a.getTime());if(P<=D)return null;const O=h(new Date(D)),H=h(new Date(P))-O;return o.jsx(ft,{variant:S,color:B,fadeStart:S.openStart,fadeEnd:S.openEnd,style:{top:"50%",transform:"translateY(-50%)",left:`${O}%`,width:`calc(${H}% - 2px)`,height:22},children:S.label})})()]})]},F))]},j)});let R;t[16]!==k||t[17]!==C||t[18]!==$?(R=o.jsxs("div",{className:T,children:[k,C,$]}),t[16]=k,t[17]=C,t[18]=$,t[19]=R):R=t[19];let M;return t[20]!==b||t[21]!==R?(M=o.jsx(b,{className:E,children:R}),t[20]=b,t[21]=R,t[22]=M):M=t[22],M}function ee(e,t){return o.jsx("div",{className:"border-r last:border-r-0 border-border/40"},t)}function re(e,t){return o.jsxs("div",{className:"px-2 py-2 text-xs uppercase tracking-wide text-muted-foreground border-r last:border-r-0",children:[ct[e.getMonth()]?.slice(0,3)," ",e.getFullYear()]},t)}function ne(e,t){return e[0].localeCompare(t[0])}export{Yn as VariantCalendar};
@@ -1 +1 @@
1
- import{c as $,r as C,n as f,j as i,ab as k,a8 as I,a9 as P}from"./index-BbGRbO2s.js";const M={sm:{button:"size-7",buttonWithLabel:"h-7",icon:"size-4"},md:{button:"size-9",buttonWithLabel:"h-9",icon:"size-5"},lg:{button:"size-12",buttonWithLabel:"h-12",icon:"size-6"}};function A(E){const t=$.c(27),{value:s,onValueChange:y,options:o,size:L,fullWidth:R,className:z}=E,_=L===void 0?"sm":L,m=R===void 0?!1:R;let h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];const T=C.useRef(h);let x;t[1]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},t[1]=x):x=t[1];const[d,S]=C.useState(x);let g,p;t[2]!==o||t[3]!==s?(g=()=>{const e=o.findIndex(j=>j.value===s),b=T.current[e];b&&S({left:b.offsetLeft,width:b.offsetWidth,opacity:1})},p=[s,o],t[2]=o,t[3]=s,t[4]=g,t[5]=p):(g=t[4],p=t[5]),C.useEffect(g,p);const n=M[_];let l;t[6]!==z?(l=f("relative flex gap-0 bg-muted rounded-lg",z),t[6]=z,t[7]=l):l=t[7];let a;t[8]!==n||t[9]!==m||t[10]!==y||t[11]!==o||t[12]!==s?(a=o.map((e,b)=>{const j=i.jsxs("button",{ref:V=>{T.current[b]=V},type:"button",onClick:()=>y(e.value),"aria-label":e.label,className:f("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",m?"flex-1 h-12 px-4":e.label?f(n.buttonWithLabel,"px-3"):n.button),children:[i.jsx("span",{className:f("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",n.icon,s===e.value?"text-foreground":"text-muted-foreground"),children:e.icon}),e.label&&i.jsx("span",{className:f("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===e.value?"text-foreground":"text-muted-foreground"),children:e.label})]},e.value);return e.tooltip?i.jsxs(k,{children:[i.jsx(I,{asChild:!0,children:j}),i.jsx(P,{side:"bottom",children:e.tooltip})]},e.value):j}),t[8]=n,t[9]=m,t[10]=y,t[11]=o,t[12]=s,t[13]=a):a=t[13];const w=m?"h-12":n.button;let r;t[14]!==w?(r=f("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),t[14]=w,t[15]=r):r=t[15];const W=`${d.left}px`,N=`${d.width}px`;let c;t[16]!==d.opacity||t[17]!==W||t[18]!==N?(c={left:W,width:N,opacity:d.opacity},t[16]=d.opacity,t[17]=W,t[18]=N,t[19]=c):c=t[19];let u;t[20]!==r||t[21]!==c?(u=i.jsx("div",{className:r,style:c}),t[20]=r,t[21]=c,t[22]=u):u=t[22];let v;return t[23]!==u||t[24]!==l||t[25]!==a?(v=i.jsxs("div",{className:l,children:[a,u]}),t[23]=u,t[24]=l,t[25]=a,t[26]=v):v=t[26],v}export{A as V};
1
+ import{c as $,r as C,n as f,j as i,ab as k,a8 as I,a9 as P}from"./index-DuKgaDRT.js";const M={sm:{button:"size-7",buttonWithLabel:"h-7",icon:"size-4"},md:{button:"size-9",buttonWithLabel:"h-9",icon:"size-5"},lg:{button:"size-12",buttonWithLabel:"h-12",icon:"size-6"}};function A(E){const t=$.c(27),{value:s,onValueChange:y,options:o,size:L,fullWidth:R,className:z}=E,_=L===void 0?"sm":L,m=R===void 0?!1:R;let h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];const T=C.useRef(h);let x;t[1]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},t[1]=x):x=t[1];const[d,S]=C.useState(x);let g,p;t[2]!==o||t[3]!==s?(g=()=>{const e=o.findIndex(j=>j.value===s),b=T.current[e];b&&S({left:b.offsetLeft,width:b.offsetWidth,opacity:1})},p=[s,o],t[2]=o,t[3]=s,t[4]=g,t[5]=p):(g=t[4],p=t[5]),C.useEffect(g,p);const n=M[_];let l;t[6]!==z?(l=f("relative flex gap-0 bg-muted rounded-lg",z),t[6]=z,t[7]=l):l=t[7];let a;t[8]!==n||t[9]!==m||t[10]!==y||t[11]!==o||t[12]!==s?(a=o.map((e,b)=>{const j=i.jsxs("button",{ref:V=>{T.current[b]=V},type:"button",onClick:()=>y(e.value),"aria-label":e.label,className:f("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",m?"flex-1 h-12 px-4":e.label?f(n.buttonWithLabel,"px-3"):n.button),children:[i.jsx("span",{className:f("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",n.icon,s===e.value?"text-foreground":"text-muted-foreground"),children:e.icon}),e.label&&i.jsx("span",{className:f("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===e.value?"text-foreground":"text-muted-foreground"),children:e.label})]},e.value);return e.tooltip?i.jsxs(k,{children:[i.jsx(I,{asChild:!0,children:j}),i.jsx(P,{side:"bottom",children:e.tooltip})]},e.value):j}),t[8]=n,t[9]=m,t[10]=y,t[11]=o,t[12]=s,t[13]=a):a=t[13];const w=m?"h-12":n.button;let r;t[14]!==w?(r=f("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",w),t[14]=w,t[15]=r):r=t[15];const W=`${d.left}px`,N=`${d.width}px`;let c;t[16]!==d.opacity||t[17]!==W||t[18]!==N?(c={left:W,width:N,opacity:d.opacity},t[16]=d.opacity,t[17]=W,t[18]=N,t[19]=c):c=t[19];let u;t[20]!==r||t[21]!==c?(u=i.jsx("div",{className:r,style:c}),t[20]=r,t[21]=c,t[22]=u):u=t[22];let v;return t[23]!==u||t[24]!==l||t[25]!==a?(v=i.jsxs("div",{className:l,children:[a,u]}),t[23]=u,t[24]=l,t[25]=a,t[26]=v):v=t[26],v}export{A as V};
@@ -50,7 +50,7 @@
50
50
  <meta name="twitter:description" content="Hire specialized agents, give them access to your tools, and let them deliver real projects — with planning, verification, and observability built in." />
51
51
  <meta name="twitter:image" content="/og-image.png" />
52
52
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
53
- <script type="module" crossorigin src="/assets/index-BbGRbO2s.js"></script>
53
+ <script type="module" crossorigin src="/assets/index-DuKgaDRT.js"></script>
54
54
  <link rel="stylesheet" crossorigin href="/assets/index-Cq-PV2G1.css">
55
55
  </head>
56
56
  <body>
@@ -1441,7 +1441,7 @@ Usage: deco services <up|down|status>`),process.exit(1)}}var Dp1=L(()=>{xf()});f
1441
1441
  `.execute($);if(Number(W.rows[0]?.cnt)===0){console.warn(`Failed to migrate ${J}/${K}, keeping in old table`);continue}}await Jy`
1442
1442
  DELETE FROM kysely_migration WHERE name = ${X}
1443
1443
  `.execute($)}}async function Xa1($){await Ta8($),await Ra8($);let Z=new $a1({db:$,provider:{getMigrations:()=>Promise.resolve(Ap0)}}),{error:X,results:Q}=await Z.migrateToLatest(),Y=0;if(Q?.forEach((G)=>{if(G.status==="Success")Y++;else if(G.status==="Error")console.error(`Failed to execute migration "${G.migrationName}"`)}),X)throw console.error("Failed to migrate"),console.error(X),X;return Y}async function Ia8($){let{keepOpen:Z=!1,database:X,skipBetterAuth:Q=!1}=$??{},Y="skipped";if(!Q&&!X)Y=await Il0();let G=X??Y8(),J=async()=>{if(!Z&&!X)await dB(G).catch((K)=>{console.warn("Warning: Error closing database:",K)})};try{let K=await Xa1(G.db);return await J(),{betterAuth:Y,kysely:K}}catch(K){throw await J(),K}}async function qa8(){let $=Y8(),Z=new $a1({db:$.db,provider:{getMigrations:()=>Promise.resolve(Ap0)}}),{error:X,results:Q}=await Z.migrateDown();if(Q?.forEach((Y)=>{if(Y.status==="Success")console.log(`\u2705 Migration "${Y.migrationName}" rolled back successfully`);else if(Y.status==="Error")console.error(`\u274C Failed to rollback migration "${Y.migrationName}"`)}),X)throw console.error("Failed to rollback migration"),console.error(X),X}var Ya1=L(()=>{er1();ql0();XX()});async function Q70($){let Z={...process.env},X=s$0($,Z);console.log(Ew1(X.settings.encryptionKey));let Q=X.settings.betterAuthSecret||(X.settings.localMode?nn1(X.settings.dataDir):""),{ensureServices:Y}=await Promise.resolve().then(() => (FZ0(),HZ0)),{outputs:G,services:J}=await Y({home:X.settings.dataDir,externalDatabaseUrl:X.externalDatabaseUrl,externalNatsUrl:X.externalNatsUrl});if(!X.skipMigrations){let{migrateBetterAuth:W}=await Promise.resolve().then(() => (ql0(),on1));await W(G.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (XX(),Nn1)),{migrateToLatest:F}=await Promise.resolve().then(() => (Ya1(),Qa1)),N=H(G.databaseUrl);await F({keepOpen:!0,database:N,skipBetterAuth:!0})}let K={...X.settings,betterAuthSecret:Q,databaseUrl:G.databaseUrl,natsUrls:G.natsUrls,...G.s3?{s3Endpoint:G.s3.endpoint,s3Bucket:G.s3.bucket,s3AccessKeyId:G.s3.accessKeyId,s3SecretAccessKey:G.s3.secretAccessKey,s3ForcePathStyle:G.s3.forcePathStyle}:{}};return wp1(K),{settings:K,services:J.map((W)=>({name:W.name==="PostgreSQL"?"Postgres":W.name,port:W.port})),managedServiceNames:J.filter((W)=>W.owner==="managed").map((W)=>W.name)}}var Tp0=L(()=>{xf();tn1();R$()});var Wa1={};Q0(Wa1,{updateService:()=>_E,subscribeCliState:()=>qp0,setTuiConsoleIntercepted:()=>Y70,setServerUrl:()=>Wp,setMigrationsDone:()=>Kp,setDevMode:()=>Va8,resetCliStateForTests:()=>Ma8,isTuiConsoleIntercepted:()=>G70,getCliState:()=>Ip0,addLogEntry:()=>aB});function Ga1(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function Ja1(){return{services:Ga1(),migrationsStatus:"pending",serverUrl:null,logs:[]}}function Ma8(){lQ=Ja1()}function Jp(){for(let $ of Rp0)$()}function Ip0(){return lQ}function qp0($){return Rp0.add($),()=>Rp0.delete($)}function _E($){lQ={...lQ,services:lQ.services.map((Z)=>Z.name===$.name?$:Z)},Jp()}function Kp(){lQ={...lQ,migrationsStatus:"done"},Jp()}function Wp($){lQ={...lQ,serverUrl:$},Jp()}function aB($){let Z=[...lQ.logs,$];lQ={...lQ,logs:Z.length>500?Z.slice(-500):Z},Jp()}function Va8(){lQ={...lQ,services:[...Ga1(),{name:"API",status:"pending",port:0},{name:"Vite",status:"pending",port:0}]},Jp()}function Y70($){Ka1=$}function G70(){return Ka1}var lQ,Rp0,Ka1=!1;var vE=L(()=>{lQ=Ja1();Rp0=new Set});import{createServer as Ha1}from"net";function ka8($){return new Promise((Z)=>{let X=Ha1();X.once("error",()=>Z(!1)),X.listen($,"0.0.0.0",()=>{X.close(()=>Z(!0))})})}async function Hp($){if(await ka8($))return $;let Z=await new Promise((X,Q)=>{let Y=Ha1();Y.once("error",Q),Y.listen(0,"0.0.0.0",()=>{let G=Y.address(),J=typeof G==="object"&&G?G.port:0;Y.close(()=>X(J))})});return console.warn(`Port ${$} is in use, using port ${Z} instead.`),Z}var Mp0=()=>{};var kp0={};Q0(kp0,{startDevServer:()=>Ca8,pipeToLogStore:()=>Vp0});import{join as Sa8}from"path";function Vp0($){let Z=$.getReader(),X=new TextDecoder,Q="";function Y(){let G=Q.split(`
1444
- `);Q=G.pop()??"";for(let J of G){let K=Bun.stripANSI(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;aB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}}catch{}if(Q.trim()){let G=Bun.stripANSI(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)aB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Ca8($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await Hp(Number(Y)+1):await Hp(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await Q70({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let D of W)_E({name:D.name,status:"ready",port:D.port});Kp();let F=Sa8(import.meta.dir,"..","..","..","..",".."),N=X===!0,U=Bun.spawn(["bun","run","dev:servers"],{cwd:F,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)Vp0(U.stdout),Vp0(U.stderr);Wp(G),_E({name:"Vite",status:"ready",port:Number(Y)}),_E({name:"API",status:"ready",port:Number(K.port)});let O=async(D)=>{if(U.kill(D),await U.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (FZ0(),HZ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var Sp0=L(()=>{Tp0();vE();Mp0()});var J70;var Cp0=L(()=>{J70={name:"decocms",version:"4.280.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},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","@inkjs/ui":"^2.0.0","@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","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as va8,Text as Fa1}from"ink";import{jsx as xa8,jsxs as Na1}from"react/jsx-runtime";function Ua1({version:$}){return Na1(va8,{flexDirection:"column",marginTop:1,children:[vZ0.map((Z,X)=>xa8(Fa1,{color:xZ0[X],children:Z},X)),Na1(Fa1,{dimColor:!0,children:[" v",$]})]})}var Ba1=L(()=>{oi()});import{Box as xE,Text as sB}from"ink";import{Spinner as fa8}from"@inkjs/ui";import{jsx as eY,jsxs as Ky}from"react/jsx-runtime";function Oa1({status:$}){if($==="pending")return eY(fa8,{label:""});return eY(sB,{color:"green",children:"\u2713"})}function ba8($){return`${$.name}: ${$.port||"...."}`}function La1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Ky(xE,{flexDirection:"column",paddingBottom:1,children:[eY(Ua1,{version:J70.version}),eY(xE,{marginBottom:1,children:eY(sB,{dimColor:!0,children:"\u2500".repeat(80)})}),eY(xE,{children:Ky(sB,{dimColor:!0,children:["Home: ",X]})}),Ky(xE,{gap:2,children:[$.map((Y)=>Ky(xE,{gap:1,children:[eY(sB,{children:ba8(Y)}),eY(Oa1,{status:Y.status})]},Y.name)),Ky(xE,{gap:1,children:[eY(sB,{children:"Migrations"}),eY(Oa1,{status:Z})]})]}),eY(xE,{children:Q?Ky(sB,{children:["Open in browser: ",eY(sB,{color:"cyan",children:Q})]}):eY(sB,{dimColor:!0,children:"Starting..."})})]})}var Da1=L(()=>{Cp0();Ba1()});import{Box as ya8,Text as Fp}from"ink";import{jsx as _p0,jsxs as vp0}from"react/jsx-runtime";function ga8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function wa1({logs:$}){return _p0(ya8,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return _p0(Fp,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return vp0(Fp,{children:[vp0(Fp,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),_p0(Fp,{color:ga8(Z.status),children:Z.status}),vp0(Fp,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Ea1=()=>{};var xp0={};Q0(xp0,{App:()=>ca8});import{Box as ha8}from"ink";import{useSyncExternalStore as ua8}from"react";import{jsx as ja1,jsxs as la8}from"react/jsx-runtime";function ca8({home:$}){let Z=ua8(qp0,Ip0);return la8(ha8,{flexDirection:"column",children:[ja1(La1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),ja1(wa1,{logs:Z.logs})]})}var fp0=L(()=>{Da1();Ea1();vE()});var h3="thread-gate",GN="decopilot-hosted-harness",JN="decopilot-hosted-harness-sandboxed",OJ="automations",eB="background-tools",fE="task-board-github-reads",bE="jira-push";var za1="9";function Pa1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:za1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var Aa1=()=>{};import ma8 from"pg";async function Ra1($,Z){let{databaseUrl:X,lockTimeoutMs:Q=da8}=$,Y=$.log??((W)=>console.log(W)),G=new ma8.Client({connectionString:X});await G.connect();let J=Date.now(),K=!1;try{while(!K){if(K=(await G.query("SELECT pg_try_advisory_lock($1) AS locked",[Ta1.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-J>=Q)throw Error(`Timed out after ${Q}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await W$(ia8)}let W=Date.now()-J;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await G.query("SELECT pg_advisory_unlock($1)",[Ta1.toString()])}catch{}await G.end().catch(()=>{})}}var Ta1=8314027461559302n,da8=600000,ia8=500;var Ia1=L(()=>{J4()});function pa8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function bp0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function qa1(){let $=pa8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:bp0($,"--cpu-prof-dir")??process.cwd(),name:bp0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(bp0($,"--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.'}))}function Ma1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=VE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),K70=setInterval(()=>void Z().catch(()=>{}),$),K70.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(K70)clearInterval(K70)}}var K70;var Va1=()=>{};import*as na8 from"bun:jsc";function ka1(){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{ta8()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=oa8()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let F of K){let N=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!N)continue;let U=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${U}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,N)=>N[1]-F[1]).slice(0,8).map(([F,N])=>({frame:F,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var ta8,oa8;var Sa1=L(()=>{({startSamplingProfiler:ta8,samplingProfilerStackTraces:oa8}=na8)});function Ca1(){qa1();let $=[Ma1(),Qn1(),ka1()];return()=>{for(let Z of $)Z()}}var _a1=L(()=>{Dl0();Va1();Sa1()});var yE=v((va1)=>{Object.defineProperty(va1,"__esModule",{value:!0});va1.RepublishHeaders=va1.DirectMsgHeaders=va1.JsHeaders=va1.AdvisoryKind=void 0;va1.isOrderedPushConsumerOptions=ra8;va1.isPullConsumer=aa8;va1.isPushConsumer=sa8;va1.isBoundPushConsumerOptions=ea8;function ra8($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function aa8($){return $.isPullConsumer()}function sa8($){return $.isPushConsumer()}function ea8($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}va1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};va1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};va1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};va1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var $G=v((fa1)=>{Object.defineProperty(fa1,"__esModule",{value:!0});fa1.TD=fa1.TE=fa1.Empty=void 0;fa1.encode=Ws8;fa1.decode=Hs8;fa1.Empty=new Uint8Array(0);fa1.TE=new TextEncoder;fa1.TD=new TextDecoder;function Ks8(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function Ws8(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(fa1.TE.encode($[X]));if(Z.length===0)return fa1.Empty;if(Z.length===1)return Z[0];return Ks8(...Z)}function Hs8($){if(!$||$.length===0)return"";return fa1.TD.decode($)}});var ZG=v((ga1)=>{Object.defineProperty(ga1,"__esModule",{value:!0});ga1.errors=ga1.PermissionViolationError=ga1.NoRespondersError=ga1.TimeoutError=ga1.RequestError=ga1.ProtocolError=ga1.ConnectionError=ga1.DrainingConnectionError=ga1.ClosedConnectionError=ga1.AuthorizationError=ga1.UserAuthenticationExpiredError=ga1.InvalidOperationError=ga1.InvalidArgumentError=ga1.InvalidSubjectError=void 0;class gp0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}ga1.InvalidSubjectError=gp0;class W70 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new W70(`${$} ${Z}`,X)}}ga1.InvalidArgumentError=W70;class hp0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}ga1.InvalidOperationError=hp0;class H70 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new H70($);return null}}ga1.UserAuthenticationExpiredError=H70;class F70 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new F70($);return null}}ga1.AuthorizationError=F70;class up0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}ga1.ClosedConnectionError=up0;class cp0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}ga1.DrainingConnectionError=cp0;class lp0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}ga1.ConnectionError=lp0;class mp0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}ga1.ProtocolError=mp0;class dp0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof N70}}ga1.RequestError=dp0;class ip0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}ga1.TimeoutError=ip0;class N70 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}ga1.NoRespondersError=N70;class U70 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new U70($,X,Q,Y)}}ga1.PermissionViolationError=U70;ga1.errors={AuthorizationError:F70,ClosedConnectionError:up0,ConnectionError:lp0,DrainingConnectionError:cp0,InvalidArgumentError:W70,InvalidOperationError:hp0,InvalidSubjectError:gp0,NoRespondersError:N70,PermissionViolationError:U70,ProtocolError:mp0,RequestError:dp0,TimeoutError:ip0,UserAuthenticationExpiredError:H70}});var u3=v((ma1)=>{Object.defineProperty(ma1,"__esModule",{value:!0});ma1.SimpleMutex=ma1.Perf=void 0;ma1.extend=qs8;ma1.render=Ms8;ma1.timeout=Vs8;ma1.delay=ks8;ma1.deadline=Ss8;ma1.deferred=np0;ma1.debugDeferred=Cs8;ma1.shuffle=_s8;ma1.collect=vs8;ma1.jitter=la1;ma1.backoff=xs8;ma1.nanos=fs8;ma1.millis=bs8;ma1.randomToken=hs8;var Is8=$G(),pp0=ZG();function qs8($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Ms8($){return Is8.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Vs8($,Z=!0){let X=Z?new pp0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new pp0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function ks8($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Ss8($,Z=1000){let X=np0(),Q=setTimeout(()=>{X.reject(new pp0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function np0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function Cs8(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function _s8($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function vs8($){let Z=[];for await(let X of $)Z.push(X);return Z}class ua1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}ma1.Perf=ua1;class ca1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=np0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}ma1.SimpleMutex=ca1;function la1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function xs8($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return la1(X>Z?$[Z]:$[X])}}}function fs8($){return $*1e6}function bs8($){return Math.floor($/1e6)}var ys8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",KN=new Uint8Array(62);for(let $=0;$<62;$++)KN[$]=ys8.charCodeAt($);var gs8=218340105584896;function hs8(){let $=Math.floor(Math.random()*gs8),Z=$%62,X=KN[Z];$=($-Z)/62,Z=$%62;let Q=KN[Z];$=($-Z)/62,Z=$%62;let Y=KN[Z];$=($-Z)/62,Z=$%62;let G=KN[Z];$=($-Z)/62,Z=$%62;let J=KN[Z];$=($-Z)/62,Z=$%62;let K=KN[Z];$=($-Z)/62,Z=$%62;let W=KN[Z];$=($-Z)/62;let H=KN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var aa1=v((oa1)=>{Object.defineProperty(oa1,"__esModule",{value:!0});oa1.nuid=oa1.NuidImpl=void 0;var Ze8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",$O=62,O70=12,na1=10,ia1=33,Xe8=333,pa1=O70+na1,op0=new Uint8Array($O);for(let $=0;$<$O;$++)op0[$]=Ze8.charCodeAt($);var B70=4294967296,ta1=BigInt($O)**BigInt(na1),Np=Number(ta1/(1n<<32n)),tp0=Number(ta1%(1n<<32n));function Qe8($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Ye8($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Qe8($)}class rp0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(pa1),this.cbuf=new Uint8Array(O70),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(Np+1)),this.seqLo=Math.floor(Math.random()*B70);while($++<8&&this.seqHi===Np&&this.seqLo>=tp0);if(this.seqHi===Np&&this.seqLo>=tp0)this.seqLo=0;this.inc=Math.random()*(Xe8-ia1)+ia1|0}setPre(){Ye8(this.cbuf);for(let $=0;$<O70;$++)this.buf[$]=op0[this.cbuf[$]%$O]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=pa1-1;X>=O70;X--){let Q=Math.floor($/$O),G=($-Q*$O)*B70+Z,J=Math.floor(G/$O),K=G-J*$O;this.buf[X]=op0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=B70)this.seqLo-=B70,this.seqHi+=1;if(this.seqHi>Np||this.seqHi===Np&&this.seqLo>=tp0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}oa1.NuidImpl=rp0;oa1.nuid=new rp0});var Zs1=v((ea1)=>{Object.defineProperty(ea1,"__esModule",{value:!0});ea1.nuid=ea1.Nuid=void 0;var sa1=aa1();ea1.Nuid=sa1.NuidImpl;ea1.nuid=sa1.nuid});var D70=v((L70)=>{Object.defineProperty(L70,"__esModule",{value:!0});L70.nuid=L70.Nuid=void 0;var Xs1=Zs1();Object.defineProperty(L70,"Nuid",{enumerable:!0,get:function(){return Xs1.Nuid}});Object.defineProperty(L70,"nuid",{enumerable:!0,get:function(){return Xs1.nuid}})});var ZO=v((Qs1)=>{Object.defineProperty(Qs1,"__esModule",{value:!0});Qs1.DEFAULT_HOST=Qs1.DEFAULT_PORT=Qs1.Match=void 0;Qs1.syncIterator=Fe8;Qs1.createInbox=Ne8;var We8=D70(),He8=ZG();Qs1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Fe8($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function Ne8($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw He8.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${We8.nuid.next()}`}Qs1.DEFAULT_PORT=4222;Qs1.DEFAULT_HOST="127.0.0.1"});var Up=v((Ks1)=>{Object.defineProperty(Ks1,"__esModule",{value:!0});Ks1.DataBuffer=void 0;var Gs1=$G();class Js1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return Gs1.TE.encode($)}static toAscii($){return Gs1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}Ks1.DataBuffer=Js1});var gE=v((Fs1)=>{Object.defineProperty(Fs1,"__esModule",{value:!0});Fs1.LF=Fs1.CR=Fs1.CRLF=Fs1.CR_LF_LEN=Fs1.CR_LF=void 0;Fs1.setTransportFactory=je8;Fs1.defaultPort=ze8;Fs1.getUrlParseFn=Pe8;Fs1.newTransport=Ae8;Fs1.getResolveFn=Te8;Fs1.protoLen=Hs1;Fs1.extractProtocolMessage=Re8;var De8=$G(),we8=ZO(),Ee8=Up(),XG;function je8($){XG=$}function ze8(){return XG!==void 0&&XG.defaultPort!==void 0?XG.defaultPort:we8.DEFAULT_PORT}function Pe8(){return XG!==void 0&&XG.urlParseFn?XG.urlParseFn:void 0}function Ae8(){if(!XG||typeof XG.factory!=="function")throw Error("transport fn is not set");return XG.factory()}function Te8(){return XG!==void 0&&XG.dnsResolveFn?XG.dnsResolveFn:void 0}Fs1.CR_LF=`\r
1444
+ `);Q=G.pop()??"";for(let J of G){let K=Bun.stripANSI(J).replace(/^\[\d+\]\s*/,"").trim();if(!K)continue;aB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:K})}}(async()=>{try{for(;;){let{done:G,value:J}=await Z.read();if(G)break;Q+=X.decode(J,{stream:!0}),Y()}}catch{}if(Q.trim()){let G=Bun.stripANSI(Q).replace(/^\[\d+\]\s*/,"").trim();if(G)aB({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:G})}})()}async function Ca8($){let{baseUrl:Z,noTui:X}=$,Q=process.env.HOST==="0.0.0.0"&&Boolean(process.env.PORT),Y=Q?process.env.PORT:$.vitePort,G=Z||`http://localhost:${Y}`,J=Q?await Hp(Number(Y)+1):await Hp(Number($.port)),{settings:K,services:W,managedServiceNames:H}=await Q70({port:String(J),home:$.home,baseUrl:$.baseUrl,localMode:$.localMode,skipMigrations:$.skipMigrations,noTui:$.noTui,vitePort:$.vitePort});for(let D of W)_E({name:D.name,status:"ready",port:D.port});Kp();let F=Sa8(import.meta.dir,"..","..","..","..",".."),N=X===!0,U=Bun.spawn(["bun","run","dev:servers"],{cwd:F,env:{...process.env,PORT:String(K.port),VITE_PORT:String(Y),DATABASE_URL:K.databaseUrl,NATS_URL:K.natsUrls.join(","),NODE_ENV:K.nodeEnv,BASE_URL:G,DECOCMS_LOCAL_MODE:String(K.localMode),DECOCMS_HOME:K.dataDir,DATA_DIR:K.dataDir,DECO_CLI:"1",...K.betterAuthSecret?{BETTER_AUTH_SECRET:K.betterAuthSecret}:{},...K.s3Endpoint?{S3_ENDPOINT:K.s3Endpoint,S3_BUCKET:K.s3Bucket??"",S3_ACCESS_KEY_ID:K.s3AccessKeyId??"",S3_SECRET_ACCESS_KEY:K.s3SecretAccessKey??"",S3_FORCE_PATH_STYLE:String(K.s3ForcePathStyle)}:{},...K.natsCredsPath?{NATS_CREDS:K.natsCredsPath}:{}},stdio:["inherit",N?"inherit":"pipe",N?"inherit":"pipe"]});if(!N)Vp0(U.stdout),Vp0(U.stderr);Wp(G),_E({name:"Vite",status:"ready",port:Number(Y)}),_E({name:"API",status:"ready",port:Number(K.port)});let O=async(D)=>{if(U.kill(D),await U.exited,H.length>0){let{stopServices:w}=await Promise.resolve().then(() => (FZ0(),HZ0));await w(K.dataDir)}};return process.on("SIGINT",()=>O("SIGINT")),process.on("SIGTERM",()=>O("SIGTERM")),{port:Number(Y),process:U}}var Sp0=L(()=>{Tp0();vE();Mp0()});var J70;var Cp0=L(()=>{J70={name:"decocms",version:"4.280.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/api"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:"bun run migrate && bun run dev:server","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts",build:"bun run build:server","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","generate:tool-contracts":"bun run scripts/generate-tool-contracts.ts","db:migrate":"bun run ./dist/server/migrate.js","db:migrate:dbos":"bun run ./dist/server/migrate-dbos.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts","migrate:dbos":"bun run src/database/migrate-dbos.ts",test:"bun test src","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run --cwd=../.. build:studio"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1"},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","@inkjs/ui":"^2.0.0","@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","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12","posthog-node":"^5.0.0",react:"^19.2.6","react-dom":"^19.2.6"},devDependencies:{"@ai-sdk/provider":"^3.0.10","@better-auth/sso":"1.4.1","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/runtime":"workspace:*","@decocms/sandbox":"workspace:*","@decocms/shared":"workspace:*","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.29.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/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","@types/bun":"^1.3.1","@types/google.maps":"^3.65.2","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@vercel/nft":"^1.1.1",ai:"^6.0.208","better-auth":"1.4.22",croner:"^9.1.0",degit:"^2.8.4",hono:"^4.10.7",jose:"^6.0.11",nanoid:"^5.1.6",pg:"^8.16.3",typescript:"^7.0.2",typescript5:"npm:typescript@^5.9.3",zod:"4.3.6"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as va8,Text as Fa1}from"ink";import{jsx as xa8,jsxs as Na1}from"react/jsx-runtime";function Ua1({version:$}){return Na1(va8,{flexDirection:"column",marginTop:1,children:[vZ0.map((Z,X)=>xa8(Fa1,{color:xZ0[X],children:Z},X)),Na1(Fa1,{dimColor:!0,children:[" v",$]})]})}var Ba1=L(()=>{oi()});import{Box as xE,Text as sB}from"ink";import{Spinner as fa8}from"@inkjs/ui";import{jsx as eY,jsxs as Ky}from"react/jsx-runtime";function Oa1({status:$}){if($==="pending")return eY(fa8,{label:""});return eY(sB,{color:"green",children:"\u2713"})}function ba8($){return`${$.name}: ${$.port||"...."}`}function La1({services:$,migrationsStatus:Z,home:X,serverUrl:Q}){return Ky(xE,{flexDirection:"column",paddingBottom:1,children:[eY(Ua1,{version:J70.version}),eY(xE,{marginBottom:1,children:eY(sB,{dimColor:!0,children:"\u2500".repeat(80)})}),eY(xE,{children:Ky(sB,{dimColor:!0,children:["Home: ",X]})}),Ky(xE,{gap:2,children:[$.map((Y)=>Ky(xE,{gap:1,children:[eY(sB,{children:ba8(Y)}),eY(Oa1,{status:Y.status})]},Y.name)),Ky(xE,{gap:1,children:[eY(sB,{children:"Migrations"}),eY(Oa1,{status:Z})]})]}),eY(xE,{children:Q?Ky(sB,{children:["Open in browser: ",eY(sB,{color:"cyan",children:Q})]}):eY(sB,{dimColor:!0,children:"Starting..."})})]})}var Da1=L(()=>{Cp0();Ba1()});import{Box as ya8,Text as Fp}from"ink";import{jsx as _p0,jsxs as vp0}from"react/jsx-runtime";function ga8($){if($>=500)return"red";if($>=400)return"yellow";if($>=300)return"cyan";return"green"}function wa1({logs:$}){return _p0(ya8,{flexDirection:"column",children:$.map((Z,X)=>{if(Z.rawLine)return _p0(Fp,{dimColor:!0,children:Z.rawLine},X);let Q=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return vp0(Fp,{children:[vp0(Fp,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),_p0(Fp,{color:ga8(Z.status),children:Z.status}),vp0(Fp,{dimColor:!0,children:[" ",Q.padStart(8)]})]},X)})})}var Ea1=()=>{};var xp0={};Q0(xp0,{App:()=>ca8});import{Box as ha8}from"ink";import{useSyncExternalStore as ua8}from"react";import{jsx as ja1,jsxs as la8}from"react/jsx-runtime";function ca8({home:$}){let Z=ua8(qp0,Ip0);return la8(ha8,{flexDirection:"column",children:[ja1(La1,{services:Z.services,migrationsStatus:Z.migrationsStatus,home:$,serverUrl:Z.serverUrl}),ja1(wa1,{logs:Z.logs})]})}var fp0=L(()=>{Da1();Ea1();vE()});var h3="thread-gate",GN="decopilot-hosted-harness",JN="decopilot-hosted-harness-sandboxed",OJ="automations",eB="background-tools",fE="task-board-github-reads",bE="jira-push";var za1="9";function Pa1($){return{name:"decocms",systemDatabaseUrl:$.systemDatabaseUrl,systemDatabaseSchemaName:"dbos",systemDatabasePoolSize:$.poolSize,runAdminServer:!1,executorID:$.executorID,applicationVersion:za1,...$.listenQueues!==void 0?{listenQueues:$.listenQueues}:{}}}var Aa1=()=>{};import ma8 from"pg";async function Ra1($,Z){let{databaseUrl:X,lockTimeoutMs:Q=da8}=$,Y=$.log??((W)=>console.log(W)),G=new ma8.Client({connectionString:X});await G.connect();let J=Date.now(),K=!1;try{while(!K){if(K=(await G.query("SELECT pg_try_advisory_lock($1) AS locked",[Ta1.toString()])).rows[0]?.locked===!0,K)break;if(Date.now()-J>=Q)throw Error(`Timed out after ${Q}ms waiting for the DBOS migration lock. Another process is still migrating the dbos schema; this pod will restart and retry.`);await W$(ia8)}let W=Date.now()-J;if(W>1000)Y(`[dbos] waited ${W}ms for the migration lock; another process migrated first`);return await Z()}finally{if(K)try{await G.query("SELECT pg_advisory_unlock($1)",[Ta1.toString()])}catch{}await G.end().catch(()=>{})}}var Ta1=8314027461559302n,da8=600000,ia8=500;var Ia1=L(()=>{J4()});function pa8(){let $=(process.env.BUN_OPTIONS??"").split(/\s+/).filter(Boolean);return[...process.argv.slice(1),...$]}function bp0($,Z){for(let X=0;X<$.length;X++){let Q=$[X];if(Q===void 0)continue;if(Q===Z)return $[X+1];if(Q.startsWith(`${Z}=`))return Q.slice(Z.length+1)}return}function qa1(){let $=pa8();if($.includes("--cpu-prof")){console.log(JSON.stringify({msg:"cpu-profiling-active",dir:bp0($,"--cpu-prof-dir")??process.cwd(),name:bp0($,"--cpu-prof-name"),markdown:$.includes("--cpu-prof-md"),intervalUs:Number(bp0($,"--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.'}))}function Ma1(){if(process.env.HEAP_WATCH!=="1")return()=>{};let $=Number(process.env.HEAP_WATCH_INTERVAL_MS??60000),Z=async()=>{let X=VE();if(!X)return;let Q={};try{let{heapStats:Y}=await import("bun:jsc"),G=Y(),J=Object.entries(G.objectTypeCounts).sort((K,W)=>W[1]-K[1]).slice(0,20);Q={objectCount:G.objectCount,heapSize:G.heapSize,top:Object.fromEntries(J)}}catch{}console.log(JSON.stringify({msg:"heap-watch",ts:new Date().toISOString(),uptimeS:Math.round(process.uptime()),rss:X.rss,heapUsed:X.heapUsed,heapTotal:X.heapTotal,external:X.external,arrayBuffers:X.arrayBuffers,...Q}))};return Z().catch(()=>{}),K70=setInterval(()=>void Z().catch(()=>{}),$),K70.unref?.(),process.on("SIGUSR2",()=>{try{let X=Bun.generateHeapSnapshot("v8"),Q=typeof X==="string"?X:JSON.stringify(X),Y=`/tmp/heap-${process.pid}-${Date.now()}.heapsnapshot`;Bun.write(Y,Q),console.log(JSON.stringify({msg:"heap-snapshot-written",path:Y}))}catch(X){console.error("[heap-watch] snapshot failed:",X)}}),()=>{if(K70)clearInterval(K70)}}var K70;var Va1=()=>{};import*as na8 from"bun:jsc";function ka1(){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{ta8()}catch(G){return console.error("[stall-watchdog] failed to start sampling profiler:",G),()=>{}}let X,Q=performance.now()+Z,Y=()=>{let G=performance.now(),J=G-Q;Q=G+Z;let K=[];try{K=oa8()?.traces??[]}catch{}if(J>$&&K.length>0){let W=new Map;for(let F of K){let N=F.frames.find((O)=>O.sourceURL&&!/Unknown Executable/.test(O.category??""))??F.frames[0];if(!N)continue;let U=(N.sourceURL??"?").replace(/^.*\/node_modules\//,"node_modules/"),B=`${N.name??"?"} @ ${U}:${N.line??"?"}`;W.set(B,(W.get(B)??0)+1)}let H=[...W.entries()].sort((F,N)=>N[1]-F[1]).slice(0,8).map(([F,N])=>({frame:F,count:N}));console.warn(JSON.stringify({msg:"stall-stack",ts:new Date().toISOString(),lagMs:Math.round(J),samplesInWindow:K.length,top:H}))}X=setTimeout(Y,Z),X.unref?.()};return X=setTimeout(Y,Z),X.unref?.(),()=>{if(X)clearTimeout(X)}}var ta8,oa8;var Sa1=L(()=>{({startSamplingProfiler:ta8,samplingProfilerStackTraces:oa8}=na8)});function Ca1(){qa1();let $=[Ma1(),Qn1(),ka1()];return()=>{for(let Z of $)Z()}}var _a1=L(()=>{Dl0();Va1();Sa1()});var yE=v((va1)=>{Object.defineProperty(va1,"__esModule",{value:!0});va1.RepublishHeaders=va1.DirectMsgHeaders=va1.JsHeaders=va1.AdvisoryKind=void 0;va1.isOrderedPushConsumerOptions=ra8;va1.isPullConsumer=aa8;va1.isPushConsumer=sa8;va1.isBoundPushConsumerOptions=ea8;function ra8($){if($&&typeof $==="object")return"name_prefix"in $||"deliver_subject_prefix"in $||"filter_subjects"in $||"filter_subject"in $||"deliver_policy"in $||"opt_start_seq"in $||"opt_start_time"in $||"replay_policy"in $||"inactive_threshold"in $||"headers_only"in $||"deliver_prefix"in $;return!1}function aa8($){return $.isPullConsumer()}function sa8($){return $.isPushConsumer()}function ea8($){if($&&typeof $==="object")return"deliver_subject"in $||"deliver_group"in $||"idle_heartbeat"in $;return!1}va1.AdvisoryKind={API:"api_audit",StreamAction:"stream_action",ConsumerAction:"consumer_action",SnapshotCreate:"snapshot_create",SnapshotComplete:"snapshot_complete",RestoreCreate:"restore_create",RestoreComplete:"restore_complete",MaxDeliver:"max_deliver",Terminated:"terminated",Ack:"consumer_ack",StreamLeaderElected:"stream_leader_elected",StreamQuorumLost:"stream_quorum_lost",ConsumerLeaderElected:"consumer_leader_elected",ConsumerQuorumLost:"consumer_quorum_lost"};va1.JsHeaders={StreamSourceHdr:"Nats-Stream-Source",LastConsumerSeqHdr:"Nats-Last-Consumer",LastStreamSeqHdr:"Nats-Last-Stream",ConsumerStalledHdr:"Nats-Consumer-Stalled",MessageSizeHdr:"Nats-Msg-Size",RollupHdr:"Nats-Rollup",RollupValueSubject:"sub",RollupValueAll:"all",PendingMessagesHdr:"Nats-Pending-Messages",PendingBytesHdr:"Nats-Pending-Bytes",RequiredApiLevel:"Nats-Required-Api-Level"};va1.DirectMsgHeaders={Stream:"Nats-Stream",Sequence:"Nats-Sequence",TimeStamp:"Nats-Time-Stamp",Subject:"Nats-Subject",LastSequence:"Nats-Last-Sequence",NumPending:"Nats-Num-Pending"};va1.RepublishHeaders={Stream:"Nats-Stream",Subject:"Nats-Subject",Sequence:"Nats-Sequence",LastSequence:"Nats-Last-Sequence",Size:"Nats-Msg-Size"}});var $G=v((fa1)=>{Object.defineProperty(fa1,"__esModule",{value:!0});fa1.TD=fa1.TE=fa1.Empty=void 0;fa1.encode=Ws8;fa1.decode=Hs8;fa1.Empty=new Uint8Array(0);fa1.TE=new TextEncoder;fa1.TD=new TextDecoder;function Ks8(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}function Ws8(...$){let Z=[];for(let X=0;X<$.length;X++)Z.push(fa1.TE.encode($[X]));if(Z.length===0)return fa1.Empty;if(Z.length===1)return Z[0];return Ks8(...Z)}function Hs8($){if(!$||$.length===0)return"";return fa1.TD.decode($)}});var ZG=v((ga1)=>{Object.defineProperty(ga1,"__esModule",{value:!0});ga1.errors=ga1.PermissionViolationError=ga1.NoRespondersError=ga1.TimeoutError=ga1.RequestError=ga1.ProtocolError=ga1.ConnectionError=ga1.DrainingConnectionError=ga1.ClosedConnectionError=ga1.AuthorizationError=ga1.UserAuthenticationExpiredError=ga1.InvalidOperationError=ga1.InvalidArgumentError=ga1.InvalidSubjectError=void 0;class gp0 extends Error{constructor($,Z){super(`illegal subject: '${$}'`,Z);this.name="InvalidSubjectError"}}ga1.InvalidSubjectError=gp0;class W70 extends Error{constructor($,Z){super($,Z);this.name="InvalidArgumentError"}static format($,Z,X){if(Array.isArray(Z)&&Z.length>1)Z=Z[0];if(Array.isArray($))$=$.map((Q)=>`'${Q}'`),$=$.join(",");else $=`'${$}'`;return new W70(`${$} ${Z}`,X)}}ga1.InvalidArgumentError=W70;class hp0 extends Error{constructor($,Z){super($,Z);this.name="InvalidOperationError"}}ga1.InvalidOperationError=hp0;class H70 extends Error{constructor($,Z){super($,Z);this.name="UserAuthenticationExpiredError"}static parse($){if($.toLowerCase().indexOf("user authentication expired")!==-1)return new H70($);return null}}ga1.UserAuthenticationExpiredError=H70;class F70 extends Error{constructor($,Z){super($,Z);this.name="AuthorizationError"}static parse($){let Z=["authorization violation","account authentication expired","authentication timeout"],X=$.toLowerCase();for(let Q=0;Q<Z.length;Q++)if(X.indexOf(Z[Q])!==-1)return new F70($);return null}}ga1.AuthorizationError=F70;class up0 extends Error{constructor(){super("closed connection");this.name="ClosedConnectionError"}}ga1.ClosedConnectionError=up0;class cp0 extends Error{constructor(){super("connection draining");this.name="DrainingConnectionError"}}ga1.DrainingConnectionError=cp0;class lp0 extends Error{constructor($,Z){super($,Z);this.name="ConnectionError"}}ga1.ConnectionError=lp0;class mp0 extends Error{constructor($,Z){super($,Z);this.name="ProtocolError"}}ga1.ProtocolError=mp0;class dp0 extends Error{constructor($="",Z){super($,Z);this.name="RequestError"}isNoResponders(){return this.cause instanceof N70}}ga1.RequestError=dp0;class ip0 extends Error{constructor($){super("timeout",$);this.name="TimeoutError"}}ga1.TimeoutError=ip0;class N70 extends Error{subject;constructor($,Z){super(`no responders: '${$}'`,Z);this.subject=$,this.name="NoResponders"}}ga1.NoRespondersError=N70;class U70 extends Error{operation;subject;queue;constructor($,Z,X,Q,Y){super($,Y);this.name="PermissionViolationError",this.operation=Z,this.subject=X,this.queue=Q}static parse($){if(($?$.toLowerCase():"").indexOf("permissions violation")===-1)return null;let X="publish",Q="",Y=void 0,G=$.match(/(Publish|Subscription) to "(\S+)"/);if(G){if(X=G[1].toLowerCase(),Q=G[2],X==="subscription"){let J=$.match(/using queue "(\S+)"/);if(J)Y=J[1]}}return new U70($,X,Q,Y)}}ga1.PermissionViolationError=U70;ga1.errors={AuthorizationError:F70,ClosedConnectionError:up0,ConnectionError:lp0,DrainingConnectionError:cp0,InvalidArgumentError:W70,InvalidOperationError:hp0,InvalidSubjectError:gp0,NoRespondersError:N70,PermissionViolationError:U70,ProtocolError:mp0,RequestError:dp0,TimeoutError:ip0,UserAuthenticationExpiredError:H70}});var u3=v((ma1)=>{Object.defineProperty(ma1,"__esModule",{value:!0});ma1.SimpleMutex=ma1.Perf=void 0;ma1.extend=qs8;ma1.render=Ms8;ma1.timeout=Vs8;ma1.delay=ks8;ma1.deadline=Ss8;ma1.deferred=np0;ma1.debugDeferred=Cs8;ma1.shuffle=_s8;ma1.collect=vs8;ma1.jitter=la1;ma1.backoff=xs8;ma1.nanos=fs8;ma1.millis=bs8;ma1.randomToken=hs8;var Is8=$G(),pp0=ZG();function qs8($,...Z){for(let X=0;X<Z.length;X++){let Q=Z[X];Object.keys(Q).forEach(function(Y){$[Y]=Q[Y]})}return $}function Ms8($){return Is8.TD.decode($).replace(/\n/g,"\u240A").replace(/\r/g,"\u240D")}function Vs8($,Z=!0){let X=Z?new pp0.TimeoutError:null,Q,Y,G=new Promise((J,K)=>{Q={cancel:()=>{if(Y)clearTimeout(Y)}},Y=setTimeout(()=>{if(X===null)K(new pp0.TimeoutError);else K(X)},$)});return Object.assign(G,Q)}function ks8($=0){let Z,X=new Promise((Q)=>{let Y=setTimeout(()=>{Q()},$);Z={cancel:()=>{if(Y)clearTimeout(Y),Q()}}});return Object.assign(X,Z)}async function Ss8($,Z=1000){let X=np0(),Q=setTimeout(()=>{X.reject(new pp0.TimeoutError)},Z);try{return await Promise.race([$,X])}finally{clearTimeout(Q)}}function np0(){let $={},Z=new Promise((X,Q)=>{$={resolve:X,reject:Q}});return Object.assign(Z,$)}function Cs8(){let $={},Z=new Promise((X,Q)=>{$={resolve:(Y)=>{console.trace("resolve",Y),X(Y)},reject:(Y)=>{console.trace("reject"),Q(Y)}}});return Object.assign(Z,$)}function _s8($){for(let Z=$.length-1;Z>0;Z--){let X=Math.floor(Math.random()*(Z+1));[$[Z],$[X]]=[$[X],$[Z]]}return $}async function vs8($){let Z=[];for await(let X of $)Z.push(X);return Z}class ua1{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark($){this.timers.set($,performance.now())}measure($,Z,X){let Q=this.timers.get(Z);if(Q===void 0)throw Error(`${Z} is not defined`);let Y=this.timers.get(X);if(Y===void 0)throw Error(`${X} is not defined`);this.measures.set($,Y-Q)}getEntries(){let $=[];return this.measures.forEach((Z,X)=>{$.push({name:X,duration:Z})}),$}}ma1.Perf=ua1;class ca1{max;current;waiting;constructor($=1){this.max=$,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let $=np0();return this.waiting.push($),$}unlock(){this.current--,this.waiting.pop()?.resolve()}}ma1.SimpleMutex=ca1;function la1($){if($===0)return 0;return Math.floor($/2+Math.random()*$)}function xs8($=[0,250,250,500,500,3000,5000]){if(!Array.isArray($))$=[0,250,250,500,500,3000,5000];let Z=$.length-1;return{backoff(X){return la1(X>Z?$[Z]:$[X])}}}function fs8($){return $*1e6}function bs8($){return Math.floor($/1e6)}var ys8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",KN=new Uint8Array(62);for(let $=0;$<62;$++)KN[$]=ys8.charCodeAt($);var gs8=218340105584896;function hs8(){let $=Math.floor(Math.random()*gs8),Z=$%62,X=KN[Z];$=($-Z)/62,Z=$%62;let Q=KN[Z];$=($-Z)/62,Z=$%62;let Y=KN[Z];$=($-Z)/62,Z=$%62;let G=KN[Z];$=($-Z)/62,Z=$%62;let J=KN[Z];$=($-Z)/62,Z=$%62;let K=KN[Z];$=($-Z)/62,Z=$%62;let W=KN[Z];$=($-Z)/62;let H=KN[$];return String.fromCharCode(X,Q,Y,G,J,K,W,H)}});var aa1=v((oa1)=>{Object.defineProperty(oa1,"__esModule",{value:!0});oa1.nuid=oa1.NuidImpl=void 0;var Ze8="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",$O=62,O70=12,na1=10,ia1=33,Xe8=333,pa1=O70+na1,op0=new Uint8Array($O);for(let $=0;$<$O;$++)op0[$]=Ze8.charCodeAt($);var B70=4294967296,ta1=BigInt($O)**BigInt(na1),Np=Number(ta1/(1n<<32n)),tp0=Number(ta1%(1n<<32n));function Qe8($){for(let Z=0;Z<$.length;Z++)$[Z]=Math.floor(Math.random()*256)}function Ye8($){if(globalThis?.crypto?.getRandomValues)globalThis.crypto.getRandomValues($);else Qe8($)}class rp0{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(pa1),this.cbuf=new Uint8Array(O70),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let $=0;do this.seqHi=Math.floor(Math.random()*(Np+1)),this.seqLo=Math.floor(Math.random()*B70);while($++<8&&this.seqHi===Np&&this.seqLo>=tp0);if(this.seqHi===Np&&this.seqLo>=tp0)this.seqLo=0;this.inc=Math.random()*(Xe8-ia1)+ia1|0}setPre(){Ye8(this.cbuf);for(let $=0;$<O70;$++)this.buf[$]=op0[this.cbuf[$]%$O]}fillSeq(){let $=this.seqHi,Z=this.seqLo;for(let X=pa1-1;X>=O70;X--){let Q=Math.floor($/$O),G=($-Q*$O)*B70+Z,J=Math.floor(G/$O),K=G-J*$O;this.buf[X]=op0[K],$=Q,Z=J}}next(){if(!this.inited)this.init();if(this.seqLo+=this.inc,this.seqLo>=B70)this.seqLo-=B70,this.seqHi+=1;if(this.seqHi>Np||this.seqHi===Np&&this.seqLo>=tp0)this.setPre(),this.initSeqAndInc();this.fillSeq();let $=this.buf;return String.fromCharCode($[0],$[1],$[2],$[3],$[4],$[5],$[6],$[7],$[8],$[9],$[10],$[11],$[12],$[13],$[14],$[15],$[16],$[17],$[18],$[19],$[20],$[21])}reset(){this.init()}}oa1.NuidImpl=rp0;oa1.nuid=new rp0});var Zs1=v((ea1)=>{Object.defineProperty(ea1,"__esModule",{value:!0});ea1.nuid=ea1.Nuid=void 0;var sa1=aa1();ea1.Nuid=sa1.NuidImpl;ea1.nuid=sa1.nuid});var D70=v((L70)=>{Object.defineProperty(L70,"__esModule",{value:!0});L70.nuid=L70.Nuid=void 0;var Xs1=Zs1();Object.defineProperty(L70,"Nuid",{enumerable:!0,get:function(){return Xs1.Nuid}});Object.defineProperty(L70,"nuid",{enumerable:!0,get:function(){return Xs1.nuid}})});var ZO=v((Qs1)=>{Object.defineProperty(Qs1,"__esModule",{value:!0});Qs1.DEFAULT_HOST=Qs1.DEFAULT_PORT=Qs1.Match=void 0;Qs1.syncIterator=Fe8;Qs1.createInbox=Ne8;var We8=D70(),He8=ZG();Qs1.Match={Exact:"exact",CanonicalMIME:"canonical",IgnoreCase:"insensitive"};function Fe8($){let Z=$[Symbol.asyncIterator]();return{async next(){let X=await Z.next();if(X.done)return Promise.resolve(null);return Promise.resolve(X.value)}}}function Ne8($=""){if($=$||"_INBOX",typeof $!=="string")throw TypeError("prefix must be a string");return $.split(".").forEach((Z)=>{if(Z==="*"||Z===">")throw He8.InvalidArgumentError.format("prefix",`cannot have wildcards ('${$}')`)}),`${$}.${We8.nuid.next()}`}Qs1.DEFAULT_PORT=4222;Qs1.DEFAULT_HOST="127.0.0.1"});var Up=v((Ks1)=>{Object.defineProperty(Ks1,"__esModule",{value:!0});Ks1.DataBuffer=void 0;var Gs1=$G();class Js1{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...$){let Z=0;for(let Y=0;Y<$.length;Y++)Z+=$[Y].length;let X=new Uint8Array(Z),Q=0;for(let Y=0;Y<$.length;Y++)X.set($[Y],Q),Q+=$[Y].length;return X}static fromAscii($){if(!$)$="";return Gs1.TE.encode($)}static toAscii($){return Gs1.TD.decode($)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let $=new Uint8Array(this.byteLength),Z=0;for(let X=0;X<this.buffers.length;X++)$.set(this.buffers[X],Z),Z+=this.buffers[X].length;this.buffers.length=0,this.buffers.push($)}}shift(){if(this.buffers.length){let $=this.buffers.shift();if($)return this.byteLength-=$.length,$}return new Uint8Array(0)}drain($){if(this.buffers.length){this.pack();let Z=this.buffers.pop();if(Z){let X=this.byteLength;if($===void 0||$>X)$=X;let Q=Z.subarray(0,$);if(X>$)this.buffers.push(Z.subarray($));return this.byteLength=X-$,Q}}return new Uint8Array(0)}fill($,...Z){if($)this.buffers.push($),this.byteLength+=$.length;for(let X=0;X<Z.length;X++)if(Z[X]&&Z[X].length)this.buffers.push(Z[X]),this.byteLength+=Z[X].length}peek(){if(this.buffers.length)return this.pack(),this.buffers[0];return new Uint8Array(0)}size(){return this.byteLength}length(){return this.buffers.length}}Ks1.DataBuffer=Js1});var gE=v((Fs1)=>{Object.defineProperty(Fs1,"__esModule",{value:!0});Fs1.LF=Fs1.CR=Fs1.CRLF=Fs1.CR_LF_LEN=Fs1.CR_LF=void 0;Fs1.setTransportFactory=je8;Fs1.defaultPort=ze8;Fs1.getUrlParseFn=Pe8;Fs1.newTransport=Ae8;Fs1.getResolveFn=Te8;Fs1.protoLen=Hs1;Fs1.extractProtocolMessage=Re8;var De8=$G(),we8=ZO(),Ee8=Up(),XG;function je8($){XG=$}function ze8(){return XG!==void 0&&XG.defaultPort!==void 0?XG.defaultPort:we8.DEFAULT_PORT}function Pe8(){return XG!==void 0&&XG.urlParseFn?XG.urlParseFn:void 0}function Ae8(){if(!XG||typeof XG.factory!=="function")throw Error("transport fn is not set");return XG.factory()}function Te8(){return XG!==void 0&&XG.dnsResolveFn?XG.dnsResolveFn:void 0}Fs1.CR_LF=`\r
1445
1445
  `;Fs1.CR_LF_LEN=Fs1.CR_LF.length;Fs1.CRLF=Ee8.DataBuffer.fromAscii(Fs1.CR_LF);Fs1.CR=new Uint8Array(Fs1.CRLF)[0];Fs1.LF=new Uint8Array(Fs1.CRLF)[1];function Hs1($){for(let Z=0;Z<$.length;Z++){let X=Z+1;if($.byteLength>X&&$[Z]===Fs1.CR&&$[X]===Fs1.LF)return X+1}return 0}function Re8($){let Z=Hs1($);if(Z>0){let Q=new Uint8Array($).slice(0,Z);return De8.TD.decode(Q)}return""}});var Zn0=v((Es1)=>{Object.defineProperty(Es1,"__esModule",{value:!0});Es1.ipV4=Ls1;Es1.isIP=fe8;Es1.parseIP=Ds1;var Bp=4,hE=16,w70=48,Os1=57,Us1=65,ve8=70,Bs1=97,xe8=102,$n0=16777215;function Ls1($,Z,X,Q){let Y=new Uint8Array(hE);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((J,K)=>{Y[K]=J}),Y[12]=$,Y[13]=Z,Y[14]=X,Y[15]=Q,Y}function fe8($){return Ds1($)!==void 0}function Ds1($){for(let Z=0;Z<$.length;Z++)switch($[Z]){case".":return ws1($);case":":return be8($)}return}function ws1($){let Z=new Uint8Array(Bp);for(let X=0;X<Bp;X++){if($.length===0)return;if(X>0){if($[0]!==".")return;$=$.substring(1)}let{n:Q,c:Y,ok:G}=ye8($);if(!G||Q>255)return;$=$.substring(Y),Z[X]=Q}return Ls1(Z[0],Z[1],Z[2],Z[3])}function be8($){let Z=new Uint8Array(hE),X=-1;if($.length>=2&&$[0]===":"&&$[1]===":"){if(X=0,$=$.substring(2),$.length===0)return Z}let Q=0;while(Q<hE){let{n:Y,c:G,ok:J}=ge8($);if(!J||Y>65535)return;if(G<$.length&&$[G]==="."){if(X<0&&Q!=hE-Bp)return;if(Q+Bp>hE)return;let K=ws1($);if(K===void 0)return;Z[Q]=K[12],Z[Q+1]=K[13],Z[Q+2]=K[14],Z[Q+3]=K[15],$="",Q+=Bp;break}if(Z[Q]=Y>>8,Z[Q+1]=Y,Q+=2,$=$.substring(G),$.length===0)break;if($[0]!==":"||$.length==1)return;if($=$.substring(1),$[0]===":"){if(X>=0)return;if(X=Q,$=$.substring(1),$.length===0)break}}if($.length!==0)return;if(Q<hE){if(X<0)return;let Y=hE-Q;for(let G=Q-1;G>=X;G--)Z[G+Y]=Z[G];for(let G=X+Y-1;G>=X;G--)Z[G]=0}else if(X>=0)return;return Z}function ye8($){let Z=0,X=0;for(Z=0;Z<$.length&&w70<=$.charCodeAt(Z)&&$.charCodeAt(Z)<=Os1;Z++)if(X=X*10+($.charCodeAt(Z)-w70),X>=$n0)return{n:$n0,c:Z,ok:!1};if(Z===0)return{n:0,c:0,ok:!1};return{n:X,c:Z,ok:!0}}function ge8($){let Z=0,X=0;for(X=0;X<$.length;X++){if(w70<=$.charCodeAt(X)&&$.charCodeAt(X)<=Os1)Z*=16,Z+=$.charCodeAt(X)-w70;else if(Bs1<=$.charCodeAt(X)&&$.charCodeAt(X)<=xe8)Z*=16,Z+=$.charCodeAt(X)-Bs1+10;else if(Us1<=$.charCodeAt(X)&&$.charCodeAt(X)<=ve8)Z*=16,Z+=$.charCodeAt(X)-Us1+10;else break;if(Z>=$n0)return{n:0,c:X,ok:!1}}if(X===0)return{n:0,c:X,ok:!1};return{n:Z,c:X,ok:!0}}});var Kn0=v((zs1)=>{Object.defineProperty(zs1,"__esModule",{value:!0});zs1.Servers=zs1.ServerImpl=void 0;zs1.isIPV4OrHostname=js1;zs1.hostPort=Jn0;var Xn0=gE(),Qn0=u3(),Yn0=Zn0(),le8=ZO(),me8=ZG();function js1($){if($.indexOf("[")!==-1||$.indexOf("::")!==-1)return!1;if($.indexOf(".")!==-1)return!0;if($.split(":").length<=2)return!0;return!1}function Gn0($){return!js1($)}function de8($){let X=$.toUpperCase().indexOf("::FFFF:");if(X!==-1&&$.indexOf(".")!==-1){let Q=$.substring(X+7);return Q=Q.replace("[",""),Q.replace("]","")}return $}function Jn0($){if($=$.trim(),$.match(/^(.*:\/\/)(.*)/m))$=$.replace(/^(.*:\/\/)(.*)/gm,"$2");if($=de8($),Gn0($)&&$.indexOf("[")===-1)$=`[${$}]`;let Z=Gn0($)?$.match(/(]:)(\d+)/):$.match(/(:)(\d+)/),X=Z&&Z.length===3&&Z[1]&&Z[2]?parseInt(Z[2]):le8.DEFAULT_PORT,Y=new URL(`${X===80?"https":"http"}://${$}`);Y.port=`${X}`;let G=Y.hostname;if(G.charAt(0)==="[")G=G.substring(1,G.length-1);return{listen:Y.host,hostname:G,port:X}}class Wy{src;listen;hostname;port;didConnect;reconnects;lastConnect;gossiped;tlsName;resolves;constructor($,Z=!1){this.src=$,this.tlsName="";let X=Jn0($);this.listen=X.listen,this.hostname=X.hostname,this.port=X.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=Z}toString(){return this.listen}async resolve($){if(!$.fn||$.resolve===!1)return[this];let Z=[];if((0,Yn0.isIP)(this.hostname))return[this];else{let X=await $.fn(this.hostname);if($.debug)console.log(`resolve ${this.hostname} = ${X.join(",")}`);for(let Q of X){let Y=this.port===80?"https":"http",G=new URL(`${Y}://${Gn0(Q)?"["+Q+"]":Q}`);G.port=`${this.port}`;let J=new Wy(G.host,!1);J.tlsName=this.hostname,Z.push(J)}}if($.randomize)(0,Qn0.shuffle)(Z);return this.resolves=Z,Z}}zs1.ServerImpl=Wy;class E70{firstSelect;servers;currentServer;tlsName;randomize;constructor($={}){this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=$.randomize||!1}setServers($){if(!Array.isArray($)||$.length===0)throw me8.InvalidArgumentError.format("servers","cannot be empty");let Z=(0,Xn0.getUrlParseFn)(),X=new Map;for(let Y of this.servers)X.set(Y.listen,Y);let Q=[];for(let Y of $){Y=Z?Z(Y):Y;let{listen:G}=Jn0(Y),J=X.get(G);if(J)J.gossiped=!1,Q.push(J);else Q.push(new Wy(Y))}if(this.randomize)(0,Qn0.shuffle)(Q);if(this.servers=Q,this.currentServer===void 0||!Q.includes(this.currentServer))this.currentServer=Q[0],this.firstSelect=!0}clear(){this.servers.length=0}updateTLSName(){let $=this.getCurrentServer();if(!(0,Yn0.isIP)($.hostname))this.tlsName=$.hostname,this.servers.forEach((Z)=>{if(Z.gossiped)Z.tlsName=this.tlsName})}getCurrentServer(){return this.currentServer}addServer($,Z=!1){let X=(0,Xn0.getUrlParseFn)();$=X?X($):$;let Q=new Wy($,Z);if((0,Yn0.isIP)(Q.hostname))Q.tlsName=this.tlsName;this.servers.push(Q)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;let $=this.servers.shift();if($)this.servers.push($),this.currentServer=$;return $}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer($){if($){let Z=this.servers.indexOf($);this.servers.splice(Z,1)}}snapshot(){return E70.freezeAll(this.servers)}snapshotForHandler(){let $=this.currentServer;if(!$)return this.snapshot();let Z=this.servers.indexOf($);if(Z<=0)return this.snapshot();return E70.freezeAll([$,...this.servers.slice(0,Z),...this.servers.slice(Z+1)])}static freezeAll($){return $.map((Z)=>Object.freeze({hostname:Z.hostname,port:Z.port,listen:Z.listen,src:Z.src,tlsName:Z.tlsName,reconnects:Z.reconnects,lastConnect:Z.lastConnect,gossiped:Z.gossiped,didConnect:Z.didConnect}))}find($){return this.servers.find((Z)=>Z.listen===$.listen)}setCurrent($){this.currentServer=$}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update($,Z){let X=[],Q=[],Y=(0,Xn0.getUrlParseFn)(),G=new Map;if($.connect_urls&&$.connect_urls.length>0)$.connect_urls.forEach((K)=>{K=Y?Y(K,Z):K;let W=new Wy(K,!0);G.set(K,W)});let J=[];if(this.servers.forEach((K,W)=>{let H=K.listen;if(K.gossiped&&this.currentServer.listen!==H&&G.get(H)===void 0)J.push(W);G.delete(H)}),J.reverse(),J.forEach((K)=>{let W=this.servers.splice(K,1);Q=Q.concat(W[0].listen)}),G.forEach((K,W)=>{this.servers.push(K),X.push(W)}),this.randomize&&X.length>0){let K=this.currentServer,W=this.servers.filter((H)=>H!==K);(0,Qn0.shuffle)(W),this.servers=K?[K,...W]:W}return{added:X,deleted:Q}}}zs1.Servers=E70});var j70=v((Rs1)=>{Object.defineProperty(Rs1,"__esModule",{value:!0});Rs1.QueuedIteratorImpl=void 0;var Wn0=u3(),As1=ZG();class Ts1{inflight;processed;received;noIterator;iterClosed;done;signal;yields;filtered;pendingFiltered;ctx;_data;err;time;profile;yielding;didBreak;constructor(){this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=(0,Wn0.deferred)(),this.yields=[],this.iterClosed=(0,Wn0.deferred)(),this.time=0,this.yielding=!1,this.didBreak=!1,this.profile=!1}[Symbol.asyncIterator](){return this.iterate()}push($){if(this.done)return;if(this.didBreak){if(typeof $==="function"){let Z=$;try{Z()}catch(X){}}return}if(typeof $==="function")this.pendingFiltered++;this.yields.push($),this.signal.resolve()}async*iterate(){if(this.noIterator)throw new As1.InvalidOperationError("iterator cannot be used when a callback is registered");if(this.yielding)throw new As1.InvalidOperationError("iterator is already yielding");this.yielding=!0;try{while(!0){if(this.yields.length===0)await this.signal;if(this.err)throw this.err;let $=this.yields;this.inflight=$.length,this.yields=[];for(let Z=0;Z<$.length;Z++){if(typeof $[Z]==="function"){this.pendingFiltered--;let Q=$[Z];try{Q()}catch(Y){throw Y}if(this.err)throw this.err;continue}this.processed++,this.inflight--;let X=this.profile?Date.now():0;yield $[Z],this.time=this.profile?Date.now()-X:0}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,Wn0.deferred)()}}finally{this.didBreak=!0,this.stop()}}stop($){if(this.done)return;this.err=$,this.done=!0,this.signal.resolve(),this.iterClosed.resolve($)}getProcessed(){return this.noIterator?this.received:this.processed}getPending(){return this.yields.length+this.inflight-this.pendingFiltered}getReceived(){return this.received-this.filtered}}Rs1.QueuedIteratorImpl=Ts1});var Hn0=v((Vs1)=>{Object.defineProperty(Vs1,"__esModule",{value:!0});Vs1.MuxSubscription=void 0;var te8=ZO(),qs1=ZG();class Ms1{baseInbox;reqs;constructor(){this.reqs=new Map}size(){return this.reqs.size}init($){return this.baseInbox=`${(0,te8.createInbox)($)}.`,this.baseInbox}add($){if(!isNaN($.received))$.received=0;this.reqs.set($.token,$)}get($){return this.reqs.get($)}cancel($){this.reqs.delete($.token)}getToken($){let Z=$.subject||"";if(Z.indexOf(this.baseInbox)===0)return Z.substring(this.baseInbox.length);return null}all(){return Array.from(this.reqs.values())}handleError($,Z){if($)return this.all().forEach((X)=>{X.resolver(Z,{})}),!0;if(Z.operation==="publish"){let X=this.all().find((Q)=>{return Q.requestSubject===Z.subject});if(X)return X.resolver(Z,{}),!0}return!1}dispatcher(){return($,Z)=>{let X=this.getToken(Z);if(X){let Q=this.get(X);if(Q){if($===null)$=Z?.data?.length===0&&Z.headers?.code===503?new qs1.NoRespondersError(Q.requestSubject):null;Q.resolver($,Z)}}}}close(){let $=new qs1.RequestError("connection closed");this.reqs.forEach((Z)=>{Z.resolver($,{})})}}Vs1.MuxSubscription=Ms1});var Fn0=v((Cs1)=>{Object.defineProperty(Cs1,"__esModule",{value:!0});Cs1.Heartbeat=void 0;var oe8=u3();class Ss1{ph;interval;maxOut;timer;pendings;constructor($,Z,X){this.ph=$,this.interval=Z,this.maxOut=X,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel($){if(this.timer)clearTimeout(this.timer),this.timer=void 0;if(this._reset(),$)this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:"ping",pendingPings:this.pendings.length+1}),this.pendings.length===this.maxOut){this.cancel(!0);return}let $=(0,oe8.deferred)();this.ph.flush($).then(()=>{this._reset()}).catch(()=>{this.cancel()}),this.pendings.push($),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(($)=>{return $.resolve(),!1})}}Cs1.Heartbeat=Ss1});var Bn0=v((bs1)=>{Object.defineProperty(bs1,"__esModule",{value:!0});bs1.DenoBuffer=bs1.MAX_SIZE=bs1.AssertionError=void 0;bs1.assert=xs1;bs1.concat=fs1;bs1.append=ae8;bs1.readAll=se8;bs1.writeAll=ee8;var re8=$G();class Nn0 extends Error{constructor($){super($);this.name="AssertionError"}}bs1.AssertionError=Nn0;function xs1($,Z="Assertion failed."){if(!$)throw new Nn0(Z)}var vs1=32768;bs1.MAX_SIZE=4294967294;function z70($,Z,X=0){let Q=Z.byteLength-X;if($.byteLength>Q)$=$.subarray(0,Q);return Z.set($,X),$.byteLength}function fs1($,Z){if($===void 0&&Z===void 0)return new Uint8Array(0);if($===void 0)return Z;if(Z===void 0)return $;let X=new Uint8Array($.length+Z.length);return X.set($,0),X.set(Z,$.length),X}function ae8($,Z){return fs1($,Uint8Array.of(Z))}class Un0{_buf;_off;constructor($){if(this._off=0,$==null){this._buf=new Uint8Array(0);return}this._buf=new Uint8Array($)}bytes($={copy:!0}){if($.copy===!1)return this._buf.subarray(this._off);return this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate($){if($===0){this.reset();return}if($<0||$>this.length)throw Error("bytes.Buffer: truncation out of range");this._reslice(this._off+$)}reset(){this._reslice(0),this._off=0}_tryGrowByReslice($){let Z=this._buf.byteLength;if($<=this.capacity-Z)return this._reslice(Z+$),Z;return-1}_reslice($){xs1($<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,$)}readByte(){let $=new Uint8Array(1);if(this.read($))return $[0];return null}read($){if(this.empty()){if(this.reset(),$.byteLength===0)return 0;return null}let Z=z70(this._buf.subarray(this._off),$);return this._off+=Z,Z}writeByte($){return this.write(Uint8Array.of($))}writeString($){return this.write(re8.TE.encode($))}write($){let Z=this._grow($.byteLength);return z70($,this._buf,Z)}_grow($){let Z=this.length;if(Z===0&&this._off!==0)this.reset();let X=this._tryGrowByReslice($);if(X>=0)return X;let Q=this.capacity;if($<=Math.floor(Q/2)-Z)z70(this._buf.subarray(this._off),this._buf);else if(Q+$>bs1.MAX_SIZE)throw Error("The buffer cannot be grown beyond the maximum size.");else{let Y=new Uint8Array(Math.min(2*Q+$,bs1.MAX_SIZE));z70(this._buf.subarray(this._off),Y),this._buf=Y}return this._off=0,this._reslice(Math.min(Z+$,bs1.MAX_SIZE)),Z}grow($){if($<0)throw Error("Buffer._grow: negative count");let Z=this._grow($);this._reslice(Z)}readFrom($){let Z=0,X=new Uint8Array(vs1);while(!0){let Q=this.capacity-this.length<vs1,Y=Q?X:new Uint8Array(this._buf.buffer,this.length),G=$.read(Y);if(G===null)return Z;if(Q)this.write(Y.subarray(0,G));else this._reslice(this.length+G);Z+=G}}}bs1.DenoBuffer=Un0;function se8($){let Z=new Un0;return Z.readFrom($),Z.bytes()}function ee8($,Z){let X=0;while(X<Z.length)X+=$.write(Z.subarray(X))}});var Dn0=v((cs1)=>{Object.defineProperty(cs1,"__esModule",{value:!0});cs1.cc=cs1.State=cs1.Parser=cs1.Kind=void 0;cs1.describe=J04;var On0=Bn0(),Ln0=$G();cs1.Kind={OK:0,ERR:1,MSG:2,INFO:3,PING:4,PONG:5};function J04($){let Z,X="";switch($.kind){case cs1.Kind.MSG:Z="MSG";break;case cs1.Kind.OK:Z="OK";break;case cs1.Kind.ERR:Z="ERR",X=Ln0.TD.decode($.data);break;case cs1.Kind.PING:Z="PING";break;case cs1.Kind.PONG:Z="PONG";break;case cs1.Kind.INFO:Z="INFO",X=Ln0.TD.decode($.data)}return`${Z}: ${X}`}function gs1(){let $={};return $.sid=-1,$.hdr=-1,$.size=-1,$}var hs1=48,K04=57,Hy=67108864;class us1{dispatcher;state;as;drop;hdr;ma;argBuf;msgBuf;constructor($){this.dispatcher=$,this.state=cs1.State.OP_START,this.as=0,this.drop=0,this.hdr=0}parse($){let Z;for(Z=0;Z<$.length;Z++){let X=$[Z];switch(this.state){case cs1.State.OP_START:switch(X){case cs1.cc.M:case cs1.cc.m:this.state=cs1.State.OP_M,this.hdr=-1,this.ma=gs1();break;case cs1.cc.H:case cs1.cc.h:this.state=cs1.State.OP_H,this.hdr=0,this.ma=gs1();break;case cs1.cc.P:case cs1.cc.p:this.state=cs1.State.OP_P;break;case cs1.cc.PLUS:this.state=cs1.State.OP_PLUS;break;case cs1.cc.MINUS:this.state=cs1.State.OP_MINUS;break;case cs1.cc.I:case cs1.cc.i:this.state=cs1.State.OP_I;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_H:switch(X){case cs1.cc.M:case cs1.cc.m:this.state=cs1.State.OP_M;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_M:switch(X){case cs1.cc.S:case cs1.cc.s:this.state=cs1.State.OP_MS;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MS:switch(X){case cs1.cc.G:case cs1.cc.g:this.state=cs1.State.OP_MSG;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MSG:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:this.state=cs1.State.OP_MSG_SPC;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MSG_SPC:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:continue;default:this.state=cs1.State.MSG_ARG,this.as=Z}break;case cs1.State.MSG_ARG:switch(X){case cs1.cc.CR:this.drop=1;break;case cs1.cc.NL:{let Q=this.argBuf?this.argBuf.bytes():$.subarray(this.as,Z-this.drop);this.processMsgArgs(Q),this.drop=0,this.as=Z+1,this.state=cs1.State.MSG_PAYLOAD,Z=this.as+this.ma.size-1;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;case cs1.State.MSG_PAYLOAD:if(this.msgBuf)if(this.msgBuf.length>=this.ma.size){let Q=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:cs1.Kind.MSG,msg:this.ma,data:Q}),this.argBuf=void 0,this.msgBuf=void 0,this.state=cs1.State.MSG_END}else{let Q=this.ma.size-this.msgBuf.length,Y=$.length-Z;if(Y<Q)Q=Y;if(Q>0)this.msgBuf.write($.subarray(Z,Z+Q)),Z=Z+Q-1;else this.msgBuf.writeByte(X)}else if(Z-this.as>=this.ma.size)this.dispatcher.push({kind:cs1.Kind.MSG,msg:this.ma,data:$.subarray(this.as,Z)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=cs1.State.MSG_END;break;case cs1.State.MSG_END:switch(X){case cs1.cc.NL:this.drop=0,this.as=Z+1,this.state=cs1.State.OP_START;break;default:continue}break;case cs1.State.OP_PLUS:switch(X){case cs1.cc.O:case cs1.cc.o:this.state=cs1.State.OP_PLUS_O;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PLUS_O:switch(X){case cs1.cc.K:case cs1.cc.k:this.state=cs1.State.OP_PLUS_OK;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PLUS_OK:switch(X){case cs1.cc.NL:this.dispatcher.push({kind:cs1.Kind.OK}),this.drop=0,this.state=cs1.State.OP_START;break}break;case cs1.State.OP_MINUS:switch(X){case cs1.cc.E:case cs1.cc.e:this.state=cs1.State.OP_MINUS_E;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MINUS_E:switch(X){case cs1.cc.R:case cs1.cc.r:this.state=cs1.State.OP_MINUS_ER;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MINUS_ER:switch(X){case cs1.cc.R:case cs1.cc.r:this.state=cs1.State.OP_MINUS_ERR;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MINUS_ERR:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:this.state=cs1.State.OP_MINUS_ERR_SPC;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_MINUS_ERR_SPC:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:continue;default:this.state=cs1.State.MINUS_ERR_ARG,this.as=Z}break;case cs1.State.MINUS_ERR_ARG:switch(X){case cs1.cc.CR:this.drop=1;break;case cs1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:cs1.Kind.ERR,data:Q}),this.drop=0,this.as=Z+1,this.state=cs1.State.OP_START;break}default:if(this.argBuf)this.argBuf.write(Uint8Array.of(X))}break;case cs1.State.OP_P:switch(X){case cs1.cc.I:case cs1.cc.i:this.state=cs1.State.OP_PI;break;case cs1.cc.O:case cs1.cc.o:this.state=cs1.State.OP_PO;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PO:switch(X){case cs1.cc.N:case cs1.cc.n:this.state=cs1.State.OP_PON;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PON:switch(X){case cs1.cc.G:case cs1.cc.g:this.state=cs1.State.OP_PONG;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PONG:switch(X){case cs1.cc.NL:this.dispatcher.push({kind:cs1.Kind.PONG}),this.drop=0,this.state=cs1.State.OP_START;break}break;case cs1.State.OP_PI:switch(X){case cs1.cc.N:case cs1.cc.n:this.state=cs1.State.OP_PIN;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PIN:switch(X){case cs1.cc.G:case cs1.cc.g:this.state=cs1.State.OP_PING;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_PING:switch(X){case cs1.cc.NL:this.dispatcher.push({kind:cs1.Kind.PING}),this.drop=0,this.state=cs1.State.OP_START;break}break;case cs1.State.OP_I:switch(X){case cs1.cc.N:case cs1.cc.n:this.state=cs1.State.OP_IN;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_IN:switch(X){case cs1.cc.F:case cs1.cc.f:this.state=cs1.State.OP_INF;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_INF:switch(X){case cs1.cc.O:case cs1.cc.o:this.state=cs1.State.OP_INFO;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_INFO:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:this.state=cs1.State.OP_INFO_SPC;break;default:throw this.fail($.subarray(Z))}break;case cs1.State.OP_INFO_SPC:switch(X){case cs1.cc.SPACE:case cs1.cc.TAB:continue;default:this.state=cs1.State.INFO_ARG,this.as=Z}break;case cs1.State.INFO_ARG:switch(X){case cs1.cc.CR:this.drop=1;break;case cs1.cc.NL:{let Q;if(this.argBuf)Q=this.argBuf.bytes(),this.argBuf=void 0;else Q=$.subarray(this.as,Z-this.drop);this.dispatcher.push({kind:cs1.Kind.INFO,data:Q}),this.drop=0,this.as=Z+1,this.state=cs1.State.OP_START;break}default:if(this.argBuf)this.argBuf.writeByte(X)}break;default:throw this.fail($.subarray(Z))}}if((this.state===cs1.State.MSG_ARG||this.state===cs1.State.MINUS_ERR_ARG||this.state===cs1.State.INFO_ARG)&&!this.argBuf)this.argBuf=new On0.DenoBuffer($.subarray(this.as,Z-this.drop));if(this.state===cs1.State.MSG_PAYLOAD&&!this.msgBuf){if(!this.argBuf)this.cloneMsgArg();this.msgBuf=new On0.DenoBuffer($.subarray(this.as))}}cloneMsgArg(){let $=this.ma.subject.length,Z=this.ma.reply?this.ma.reply.length:0,X=new Uint8Array($+Z);if(X.set(this.ma.subject),this.ma.reply)X.set(this.ma.reply,$);if(this.argBuf=new On0.DenoBuffer(X),this.ma.subject=X.subarray(0,$),this.ma.reply)this.ma.reply=X.subarray($)}processMsgArgs($){if(this.hdr>=0)return this.processHeaderMsgArgs($);let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case cs1.cc.SPACE:case cs1.cc.TAB:case cs1.cc.CR:case cs1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 3:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(Z[2],Hy);break;case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.size=this.protoParseInt(Z[3],Hy);break;default:throw this.fail($,"processMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processMsgArgs Bad or Missing Sid Error");if(this.ma.size<0)throw this.fail($,"processMsgArgs Bad or Missing Size Error")}fail($,Z=""){if(!Z)Z=`parse error [${this.state}]`;else Z=`${Z} [${this.state}]`;return Error(`${Z}: ${Ln0.TD.decode($)}`)}processHeaderMsgArgs($){let Z=[],X=-1;for(let Q=0;Q<$.length;Q++)switch($[Q]){case cs1.cc.SPACE:case cs1.cc.TAB:case cs1.cc.CR:case cs1.cc.NL:if(X>=0)Z.push($.subarray(X,Q)),X=-1;break;default:if(X<0)X=Q}if(X>=0)Z.push($.subarray(X));switch(Z.length){case 4:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(Z[2],Hy),this.ma.size=this.protoParseInt(Z[3],Hy);break;case 5:this.ma.subject=Z[0],this.ma.sid=this.protoParseInt(Z[1]),this.ma.reply=Z[2],this.ma.hdr=this.protoParseInt(Z[3],Hy),this.ma.size=this.protoParseInt(Z[4],Hy);break;default:throw this.fail($,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail($,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail($,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt($,Z){if($.length===0||$.length>15)return-1;let X=0;for(let Q=0;Q<$.length;Q++){if($[Q]<hs1||$[Q]>K04)return-1;X=X*10+($[Q]-hs1)}return Z!==void 0&&X>Z?-1:X}}cs1.Parser=us1;cs1.State={OP_START:0,OP_PLUS:1,OP_PLUS_O:2,OP_PLUS_OK:3,OP_MINUS:4,OP_MINUS_E:5,OP_MINUS_ER:6,OP_MINUS_ERR:7,OP_MINUS_ERR_SPC:8,MINUS_ERR_ARG:9,OP_M:10,OP_MS:11,OP_MSG:12,OP_MSG_SPC:13,MSG_ARG:14,MSG_PAYLOAD:15,MSG_END:16,OP_H:17,OP_P:18,OP_PI:19,OP_PIN:20,OP_PING:21,OP_PO:22,OP_PON:23,OP_PONG:24,OP_I:25,OP_IN:26,OP_INF:27,OP_INFO:28,OP_INFO_SPC:29,INFO_ARG:30};cs1.cc={CR:13,E:69,e:101,F:70,f:102,G:71,g:103,H:72,h:104,I:73,i:105,K:75,k:107,M:77,m:109,MINUS:45,N:78,n:110,NL:10,O:79,o:111,P:80,p:112,PLUS:43,R:82,r:114,S:83,s:115,SPACE:32,TAB:9}});var T70=v((ms1)=>{Object.defineProperty(ms1,"__esModule",{value:!0});ms1.MsgHdrsImpl=void 0;ms1.canonicalMIMEHeaderKey=En0;ms1.headers=F04;var ls1=$G(),c3=ZO(),A70=ZG();function En0($){let F=!0,N=Array($.length);for(let U=0;U<$.length;U++){let B=$.charCodeAt(U);if(B===58||B<33||B>126)throw A70.InvalidArgumentError.format("header",`'${$[U]}' is not a valid character in a header name`);if(F&&97<=B&&B<=122)B-=32;else if(!F&&65<=B&&B<=90)B+=32;N[U]=B,F=B==45}return String.fromCharCode(...N)}function F04($=0,Z=""){if($===0&&Z!=="")throw A70.InvalidArgumentError.format("code","is required");else if($>0&&Z==="")throw A70.InvalidArgumentError.format("description","is required");return new Fy($,Z)}var wn0="NATS/1.0";class Fy{_code;headers;_description;constructor($=0,Z=""){this._code=$,this._description=Z,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals($){if($&&this.headers.size===$.headers.size&&this._code===$._code){for(let[Z,X]of this.headers){let Q=$.values(Z);if(X.length!==Q.length)return!1;let Y=[...X].sort(),G=[...Q].sort();for(let J=0;J<Y.length;J++)if(Y[J]!==G[J])return!1}return!0}return!1}static decode($){let Z=new Fy,Q=ls1.TD.decode($).split(`\r
1446
1446
  `),Y=Q[0];if(Y!==wn0){let G=Y.replace(wn0,"").trim();if(G.length>0){if(Z._code=parseInt(G,10),isNaN(Z._code))Z._code=0;let J=Z._code.toString();G=G.replace(J,""),Z._description=G.trim()}}if(Q.length>=1)Q.slice(1).map((G)=>{if(G){let J=G.indexOf(":");if(J>-1){let K=G.slice(0,J),W=G.slice(J+1).trim();Z.append(K,W)}}});return Z}toString(){if(this.headers.size===0&&this._code===0)return"";let $=wn0;if(this._code>0&&this._description!=="")$+=` ${this._code} ${this._description}`;for(let[Z,X]of this.headers)for(let Q=0;Q<X.length;Q++)$=`${$}\r
1447
1447
  ${Z}: ${X[Q]}`;return`${$}\r
@@ -2327,7 +2327,7 @@ ${H}`:H;return{...J,description:F,inputExamples:X?void 0:J.inputExamples}});retu
2327
2327
  `).filter((Z)=>!/^Co-authored-by:\s/i.test(Z)).join(`
2328
2328
  `).trimEnd()}function $_4($){let Z=$.userName.trim(),X=$.userEmail?.trim();if(X)return`Co-authored-by: ${Z} <${X}>`;return`Co-authored-by: ${Z}`}function y41($,Z){let X=Yu(Z);if(!X)return $;let Q=mz$($),Y=$_4(X);if(Q.includes(Y))return Q;let G=Q.trimEnd();return G.length>0?`${G}
2329
2329
 
2330
- ${Y}`:Y}var lz$,eC4;var g41=L(()=>{lz$=/[\r\n<>]/,eC4=/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/});function t30($){let Z=$.repo,X=Z?{repository:{cloneUrl:Z.cloneUrl,repoName:Z.displayName??Z_4(Z.cloneUrl),...Z.branch?{branch:Z.branch}:{},submoduleCredentials:Z.submoduleCredentials??[]},repositories:($.extraRepos??[]).filter((W)=>!!W.directoryName).map((W)=>({cloneUrl:W.cloneUrl,repoName:W.directoryName,...W.branch?{branch:W.branch}:{},submoduleCredentials:W.submoduleCredentials??[]})),...Z.userName.trim()||Z.userEmail.trim()?{identity:{userName:Z.userName,userEmail:Z.userEmail}}:{}}:void 0,Q=$.tenant,Y=Yu({userName:Q?.userName,userEmail:Q?.userEmail})??void 0,G=$.packageManager?{name:$.packageManager.name,...$.packageManager.path?{path:$.packageManager.path}:{}}:void 0,J=G?{packageManager:G,runtime:$.runtime,...$.port!==void 0?{port:$.port}:{}}:void 0,K=Q?.orgId;if(!X&&!J&&!Y&&$.cloneOnly===void 0&&!K)return null;return{...X?{git:X}:{},...Y?{operator:Y}:{},...K?{orgId:K}:{},...$.cloneOnly!==void 0?{cloneOnly:$.cloneOnly}:{},...J?{application:J}:{}}}function Z_4($){try{let Z=new URL($);return Z.pathname.replace(/^\/+/,"").replace(/\.git$/,"")||Z.hostname}catch{return $}}var dz$=L(()=>{g41()});function X_4($){try{return new URL($).username.length>0}catch{return!1}}function h41($){let Z=$.repo?.cloneUrl;if(!Z||!X_4(Z))return null;return{git:{repository:{cloneUrl:Z}}}}var u41=L(()=>{cz$();dz$()});function Q_4($){return(typeof $.timeout==="number"&&$.timeout>0?Math.min($.timeout,120000):30000)+15000}function Y_4($,Z){if($.aborted)return Z.catch(()=>{}),Promise.reject($.reason??Error("aborted"));return new Promise((X,Q)=>{let Y=()=>{Z.catch(()=>{}),Q($.reason??Error("aborted"))};$.addEventListener("abort",Y,{once:!0}),Z.then(X,Q).finally(()=>{$.removeEventListener("abort",Y)})})}async function G_4($,Z,X,Q,Y){let G=Y?.timeoutMs??Q_4(Q),J=AbortSignal.timeout(G),K=Y?.signal?AbortSignal.any([Y.signal,J]):J,W,H;try{let N=new Headers({"content-type":"application/json"});if(Y?.threadId)N.set("x-thread-id",Y.threadId);let U={method:"POST",headers:N,body:JSON.stringify(Q),signal:K};({res:W,rawText:H}=await Y_4(K,(async()=>{let B=await $.proxyDaemonRequest(Z,X,U);return{res:B,rawText:await B.text()}})()))}catch(N){if(Y?.signal?.aborted)throw N;if(J.aborted)throw Error(`Sandbox POST ${X} timed out after ${Math.round(G/1000)}s \u2014 the sandbox may be overloaded or its filesystem stalled. Retry, or use a smaller operation.`);throw new gr(N)}let F;try{F=JSON.parse(H)}catch{console.error("[sandbox-fs-hooks] Failed to parse JSON response provider=agent-sandbox path=%s status=%d rawText=%s",X,W.status,H.slice(0,2000));let N=W.status>=500?" (server error)":W.status===0?" (no response)":"";throw Error(`Daemon ${X} returned invalid JSON (HTTP ${W.status}${N}): ${H.slice(0,800)}`)}if(!W.ok){console.error("[sandbox-fs-hooks] Non-OK response provider=agent-sandbox path=%s status=%d body=%s",X,W.status,H.slice(0,2000));let N=F.error??`Daemon ${X} failed (${W.status})`;if(W.status===404&&N==="sandbox not found")throw new gr(Error(N),!0);throw Error(N)}return F}function c41($,Z){let{ensureHandle:X,invalidateHandle:Q,canAutoRestart:Y}=Z,G=0,J=(H)=>{let F=Date.now();if(F-G<300000)return;G=F,$.renewTtl(H).catch((N)=>{console.warn(`[sandbox-fs-hooks] TTL renew failed for ${H}: ${N instanceof Error?N.message:String(N)}`)})},K=(H)=>{let F=H instanceof Error?H.message:String(H);return Y?`Sandbox is unreachable and auto-restart did not recover it: ${F}`:"The sandbox is not running. Ask the user to start it by clicking the server button (left side of the header bar)."},W=async(H,F,N)=>{let U=async(O)=>G_4($,O,H,F,{signal:N,timeoutMs:Z.opTimeoutMs,threadId:Z.threadId}),B=await X();J(B);try{return await U(B)}catch(O){if(!(O instanceof gr))throw O;if(!Y&&!O.gone)throw Error(K(O.cause??O));console.warn(`[sandbox-fs-hooks] daemon ${H} unreachable \u2014 reaping sandbox and retrying once`,O.cause??O);try{await Q({force:O.gone})}catch(w){console.warn("[sandbox-fs-hooks] invalidateHandle failed",w)}let D;try{D=await X()}catch(w){throw Error(`Failed to restart sandbox: ${w instanceof Error?w.message:String(w)}`)}try{return await U(D)}catch(w){if(w instanceof gr)throw Error(K(w.cause??w));throw w}}};return{onProxy:(H,F,N)=>W(H,F,N),onBash:async(H,F)=>{return await W("/_sandbox/bash",{command:H,...F?.cwd!==void 0?{cwd:F.cwd}:{},...F?.timeoutMs!==void 0?{timeout:F.timeoutMs}:{}})}}}var gr;var iz$=L(()=>{gr=class gr extends Error{code="DAEMON_UNREACHABLE";gone;constructor($,Z=!1){super($ instanceof Error?$.message:"Daemon proxy failed");if(this.gone=Z,$ instanceof Error)this.cause=$}}});var hr=L(()=>{u41();iz$()});function ur($){let Z=new Set($.map((Y)=>Y.name.toLowerCase()).filter((Y,G,J)=>J.indexOf(Y)!==G)),X=$.map((Y)=>Z.has(Y.name.toLowerCase())),Q=(Y)=>{let G=$[Y];return pz$(X[Y]?`${G.owner}-${G.name}`:G.name).toLowerCase()};for(let Y=0;Y<$.length;Y++){let G=new Map,J=!1;for(let K=0;K<$.length;K++){let W=Q(K),H=G.get(W);if(H!==void 0){if(!X[K])X[K]=!0,J=!0;if(!X[H])X[H]=!0,J=!0}G.set(W,K)}if(!J)break}return $.map((Y,G)=>pz$(X[G]?`${Y.owner}-${Y.name}`:Y.name))}function nz$($,Z){let X=`${Z.owner}/${Z.name}`.toLowerCase(),Q=$.findIndex((Y)=>`${Y.owner}/${Y.name}`.toLowerCase()===X);return Q===-1?null:ur($)[Q]??null}function pz$($){return $.replace(/[^A-Za-z0-9._-]/g,"-").replace(/^[^A-Za-z0-9]+/,"")||"repo"}var cr;var l41=L(()=>{cr={npm:{install:"npm install",run:($)=>`npm run ${$}`,runtime:"node"},pnpm:{install:"pnpm install",run:($)=>`pnpm run ${$}`,runtime:"node"},yarn:{install:"yarn install",run:($)=>`yarn run ${$}`,runtime:"node"},bun:{install:"bun install",run:($)=>`bun run ${$}`,runtime:"bun"},deno:{install:"deno install",run:($)=>`deno task ${$}`,runtime:"deno"}}});function tN($,Z){return Z?`thread:${$}/${Z}`:`thread:${$}`}function oN($){return`sandbox/thread-${$.replace(/^thread:/,"").replace(/\//g,"-")}`}function uJ($){if(!$||!$.startsWith("thread:"))return null;return $.slice(7).split("/")[0]||null}async function Mz($,Z,X){return d41(await m41($,Z),X)}async function m41($,Z){let X=uJ(Z);if(!X)return null;return await $.storage.threads.get(X).catch(()=>null)}function d41($,Z){return $?.created_by??Z}async function tL($,Z){if(!Z)return null;let X=await $.storage.threads.get(Z).catch(()=>null);if(!X)return null;return X.metadata??{}}async function tz$($,Z){let Q=(await tL($,Z))?.headRef;return typeof Q==="string"&&Q.length>0?Q:null}async function oz$($,Z,X){let Q=await tL($,Z);if(!Q)return;if(Q.headRef===X)return;await $.storage.threads.update(Z,{metadata:{...Q,headRef:X}}).catch((Y)=>console.warn("[thread-repo] setThreadHeadRef failed",Y))}function J_4($,Z){let X=G30(Z,$.owner,$.name);if(!X||X.id===$.connectionId)return null;let Q=b5(X);return{...$,connectionId:X.id,...Q?.installationId?{installationId:Q.installationId}:{}}}async function i41($,Z){let Q=(await tL($,Z))?.githubRepos;return Array.isArray(Q)?Q.filter((Y)=>Y?.owner&&Y?.name):[]}async function oL($,Z){let X=await tL($,Z),Q=X?.githubRepo??null;if(!Z||!X||!Q?.connectionId)return Q;try{let Y=$.storage.threads.getOrganizationId();if(!Y)return Q;if(await $.storage.connections.findById(Q.connectionId,Y))return Q;let{items:G}=await $.storage.connections.list(Y),J=J_4(Q,G);if(!J)return Q;return await $.storage.threads.update(Z,{metadata:{...X,githubRepo:J}}),console.warn("[thread-repo] re-pointed thread at a live repo connection",{threadId:Z,from:Q.connectionId,to:J.connectionId}),J}catch(Y){return console.warn("[thread-repo] repoint check failed",Y),Q}}function p41($){if($.pinnedRef)return $.pinnedRef;if($.runBranch&&$.runBranch===tN($.threadId))return $.runBranch;if($.threadRepo)return tN($.threadId,$.threadRepo.connectionId);if(!$.agentRepo)return"ephemeral";return $.runBranch??`thread:${$.threadId}`}async function n41($,Z){let Q=(await tL($,Z))?.pinnedRef;return typeof Q==="string"&&Q.length>0?Q:null}async function o30($,Z){let[X,Q]=await Promise.all([oL($,Z.threadId),n41($,Z.threadId)]);return p41({...Z,threadRepo:X,pinnedRef:Q})}async function rz$($,Z,X,Q,Y){let G=await tL($,Z);if(!G)return;let J=br(b9(G),X,Q,Y);await $.storage.threads.update(Z,{metadata:{...G,sandboxMap:J}}).catch((K)=>console.warn("[thread-repo] setThreadSandboxMapEntry failed",K))}async function r30($,Z){return b9(await tL($,Z))}async function az$($,Z,X,Q){let Y=await tL($,Z);if(!Y)return;let G=b41(b9(Y),X,Q);if(!G)return;await $.storage.threads.update(Z,{metadata:{...Y,sandboxMap:G}}).catch((J)=>console.warn("[thread-repo] removeThreadSandboxMapEntry failed",J))}var VK=L(()=>{YY();wY()});function Gu($){if(!$)return null;let Z=$.runtime;if(!Z||typeof Z!=="object")return null;let X=Z.env;if(!Array.isArray(X))return null;let Q=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let G=Y;if(typeof G.key!=="string"||!AX0.test(G.key))continue;if(G.kind==="literal"&&typeof G.value==="string"){Q.push({key:G.key,kind:"literal",value:G.value});continue}if(G.kind==="secret"&&typeof G.secretId==="string"&&G.secretId.length>0)Q.push({key:G.key,kind:"secret",secretId:G.secretId})}return Q.length===0?null:Q}function sz$($){if(!$)return null;let Z=$.runtime;if(!Z||typeof Z!=="object")return null;let X=Z.submoduleCredentials;if(!Array.isArray(X))return null;let Q=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let G=Y;if(typeof G.host==="string"&&G.host.length>0&&typeof G.secretId==="string"&&G.secretId.length>0)Q.push({host:G.host,secretId:G.secretId})}return Q}async function ez$($,Z){s(Z);let X=a(Z);await Z.access.check();let Q=a0(Z);if(!Q)throw Error("User ID required");let Y=await Z.storage.virtualMcps.findById($.virtualMcpId);if(!Y||Y.organization_id!==X.id)throw Error("Virtual MCP not found");let G=Y.metadata??{},J=b9(G),K=await Mz(Z,$.branch,Q),W=RH(J,K,$.branch);return{virtualMcp:Y,metadata:G,userId:Q,sandboxUserId:K,entry:W,organization:X}}function K_4($){if($===null||!/^\d+$/.test($))return null;let Z=Number($);return Z>=1&&Z<=65535?$:null}function $P$($){let Z=$.runtime??null,Q=Z?.selected??null,Y=K_4(Z?.port??null),G=Z?.path??null;if(!Q||!(Q in cr))return{packageManager:null,runtime:null,port:Y,packageManagerPath:G,runtimeBinPath:null};let J=cr[Q].runtime;return{packageManager:Q,runtime:J,port:Y,packageManagerPath:G,runtimeBinPath:J==="deno"?"/opt/deno/bin":J==="bun"?"/opt/bun/bin":null}}var lr=L(()=>{g8();l41();wY();VK()});import{sql as W_4}from"kysely";function ZP$($){return $ instanceof Date?$.toISOString():String($)}class t41{db;vault;constructor($,Z){this.db=$;this.vault=Z}rowToInfo($){return{id:$.id,organizationId:$.organization_id,scope:$.scope,userId:$.user_id,name:$.name,description:$.description,createdBy:$.created_by,createdAt:ZP$($.created_at),updatedBy:$.updated_by,updatedAt:ZP$($.updated_at)}}assertVisible($,Z){if($.scope==="user"&&$.user_id!==Z)throw new rL($.id)}async create($){let Z=o$("sec"),X=await this.vault.encrypt($.value),Q=new Date,Y=await this.db.insertInto("secrets").values({id:Z,organization_id:$.organizationId,scope:$.scope.kind,user_id:$.scope.kind==="user"?$.scope.userId:null,name:$.name,encrypted_value:X,description:$.description??null,created_by:$.createdBy,created_at:Q,updated_by:$.createdBy,updated_at:Q}).returning(a30).executeTakeFirstOrThrow();return this.rowToInfo(Y)}async update($){let Z=await this.db.selectFrom("secrets").where("id","=",$.id).where("organization_id","=",$.organizationId).select(["id","scope","user_id"]).executeTakeFirst();if(!Z)throw new cJ($.id);this.assertVisible(Z,$.callerUserId);let X={updated_by:$.updatedBy,updated_at:new Date};if($.value!==void 0)X.encrypted_value=await this.vault.encrypt($.value);if($.description!==void 0)X.description=$.description;let Q=await this.db.updateTable("secrets").set(X).where("id","=",$.id).where("organization_id","=",$.organizationId).returning(a30).executeTakeFirstOrThrow();return this.rowToInfo(Q)}async delete($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).select(["id","scope","user_id"]).executeTakeFirst();if(!Q)throw new cJ($);this.assertVisible(Q,X),await this.db.deleteFrom("secrets").where("id","=",$).where("organization_id","=",Z).execute()}async list($){let Z=this.db.selectFrom("secrets").where("organization_id","=",$.organizationId).select(a30);if($.scope?.kind==="user")Z=Z.where("scope","=","user").where("user_id","=",$.scope.userId);else if($.scope?.kind==="organization")Z=Z.where("scope","=","organization");else Z=Z.where((Q)=>Q.or([Q("scope","=","organization"),Q.and([Q("scope","=","user"),Q("user_id","=",$.callerUserId)])]));return(await Z.orderBy("created_at","desc").execute()).map((Q)=>this.rowToInfo(Q))}async findById($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).select(a30).executeTakeFirst();if(!Q)throw new cJ($);return this.assertVisible(Q,X),this.rowToInfo(Q)}async resolveById($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).selectAll().executeTakeFirst();if(!Q)throw new cJ($);this.assertVisible(Q,X);let Y=await this.vault.decrypt(Q.encrypted_value);return{info:this.rowToInfo(Q),value:Y}}async resolveByName($){let Z=this.db.selectFrom("secrets").where("organization_id","=",$.organizationId).where("scope","=",$.scope.kind).where(W_4`lower(name) = lower(${$.name})`).selectAll();if($.scope.kind==="user")Z=Z.where("user_id","=",$.scope.userId);let X=await Z.executeTakeFirst();if(!X)throw new cJ(`${$.scope.kind}:${$.name}`);let Q=await this.vault.decrypt(X.encrypted_value);return{info:this.rowToInfo(X),value:Q}}}var a30,cJ,rL;var mr=L(()=>{mZ();a30=["id","organization_id","scope","user_id","name","description","created_by","created_at","updated_by","updated_at"];cJ=class cJ extends Error{constructor($){super(`Secret ${$} not found`);this.name="SecretNotFoundError"}};rL=class rL extends Error{constructor($){super(`Access denied for secret ${$}`);this.name="SecretAccessDeniedError"}}});async function aL($,Z){let X=$.body?.getReader();if(!X)return $.text();let Q=new TextDecoder,Y="",G=0;for(;;){let{done:J,value:K}=await X.read();if(J)break;if(G+=K.byteLength,G>Z)throw await X.cancel().catch(()=>{}),new XP$(`Upstream response exceeded ${Z} bytes`);Y+=Q.decode(K,{stream:!0})}return Y+=Q.decode(),Y}var XP$;var dr=L(()=>{XP$=class XP$ extends Error{}});async function s30({ctx:$,runner:Z,handle:X,orgId:Q,userId:Y,entries:G}){if(!G||G.length===0)return;let J={};for(let W of G){if(W.kind==="literal"){J[W.key]=W.value;continue}try{let{value:H}=await $.storage.secrets.resolveById(W.secretId,Q,Y);J[W.key]=H}catch(H){if(H instanceof cJ||H instanceof rL){console.warn(`[SANDBOX_START] skipping env ${W.key}: ${H.message}. Re-link or recreate the secret to restore.`);continue}throw H}}if(Object.keys(J).length===0)return;let K=await Z.proxyDaemonRequest(X,"/_sandbox/config",{method:"PUT",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({env:J})});if(!K.ok){let W=await aL(K,H_4).catch(()=>K.statusText);console.warn(`[SANDBOX_START] daemon rejected env patch (${K.status}): ${W}`)}}var H_4=10485760;var o41=L(()=>{mr();dr()});async function QP$({ctx:$,orgId:Z,userId:X,entries:Q}){if(!Q||Q.length===0)return[];let Y=[];for(let G of Q)try{let{value:J}=await $.storage.secrets.resolveById(G.secretId,Z,X);Y.push({host:G.host,token:J})}catch(J){if(J instanceof cJ||J instanceof rL){console.warn(`[SANDBOX_START] skipping submodule credential for ${G.host}: ${J.message}. Re-link or recreate the secret to restore.`);continue}throw J}return Y}var YP$=L(()=>{mr()});async function F_4($,Z){let X=$.organization?.id;if(!X)throw Error(D9);if(!Z.sourceConnectionId)throw Error(D9);let Q=await $.storage.connections.findById(Z.sourceConnectionId,X);if(!Q)throw Error(D9);let{clientFromConnection:Y}=await Promise.resolve().then(() => (mo(),KP$)),G=await Y(Q,$,!0);try{let{result:J}=await nB$((H)=>G.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:Z.installationId,owner:Z.owner,repo:Z.repo,permissions:H}}),pB$(Z.permissions)),K=J.structuredContent?.token;if(J.isError||!K)throw Error(D9);let W=J.structuredContent?.expiresAt;return{accessToken:K,expiresAt:W?new Date(W):null}}finally{await G.close().catch(()=>{})}}function N_4($,Z){return($?.getTime()??0)>Z?$:new Date(Z+JP$)}async function U_4($,Z,X,Q){let Y=Date.now(),G=await F_4($,X),J=N_4(G.expiresAt,Y);return await Q.upsert({connectionId:Z,accessToken:G.accessToken,refreshToken:null,scope:null,expiresAt:J,clientId:null,clientSecret:null,tokenEndpoint:null}),G.accessToken}async function ir($,Z,X){let Q=b5(Z);if(!Q)throw Error("Connection is not repo-scoped");if(!Q.sourceConnectionId)throw Error(D9);let Y=new r6($.db,$.vault),G=await Y.get(Z.id);if(!X?.forceRefresh&&G&&!Y.isExpired(G,pr))return G.accessToken;let J=r41.get(Z.id);if(J)return J;let K=U_4($,Z.id,Q,Y).finally(()=>{r41.delete(Z.id)});return r41.set(Z.id,K),K}function GP$($){return $.slug==="mcp-github"}async function Vz($,Z,X){if(b5(Z)?.sourceConnectionId)return ir($,Z,X);return(await AG({connectionId:Z.id,connectionUrl:Z.connection_url,tokenStorage:new r6($.db,$.vault),force:X?.forceRefresh})).accessToken}var r41;var Ju=L(()=>{lJ();YY();xJ();r41=new Map});function a41($,Z){return`${$}::${Z}`}function WP$($){let Z=$.indexOf("::");if(Z>0){let X=$.slice(0,Z);if(Object.values(e30).includes(X))return{code:X,message:$.slice(Z+2)}}return{code:null,message:$}}var e30;var s41=L(()=>{e30={githubNotAuthenticated:"GITHUB_NOT_AUTHENTICATED",githubConnectionMissing:"GITHUB_CONNECTION_MISSING"}});function HP$($,Z){return{cloneUrl:`https://github.com/${$}/${Z}.git`,gitUserName:$K0.name,gitUserEmail:$K0.email}}async function sL($){let Z=await $.ctx.storage.connections.findById($.connectionId,$.organizationId),X=Z?b5(Z):null;if(!Z||!X?.sourceConnectionId)return;try{await ir($.ctx,Z,{forceRefresh:$.forceRefresh})}catch(Q){$.onLegacyMintError?.(Q)}}async function IH($,Z,X,Q,Y,G){if(!await Q.selectFrom("connections").select("id").where("id","=",$).executeTakeFirst())throw Error(a41(e30.githubConnectionMissing,`GitHub connection ${$} no longer exists. Link ${Z}/${X} again.`));let K=new r6(Q,Y),W=await AG({connectionId:$,tokenStorage:K,bufferMs:G?.bufferMs});if(!W.accessToken)throw Error(a41(e30.githubNotAuthenticated,W.state==="refresh_failed"?D9:"No GitHub token found. Ensure the mcp-github connection is authenticated."));let H=W.accessToken,F=`https://x-access-token:${H}@github.com/${Z}/${X}.git`,N=$K0.name,U=$K0.email;if(!H.startsWith("ghs_"))try{let B=await fetch("https://api.github.com/user",{headers:{Authorization:`token ${H}`,Accept:"application/vnd.github+json"}});if(B.ok){let O=await B.json();N=O.name||O.login,U=O.email||`${O.login}@users.noreply.github.com`}}catch{}return{cloneUrl:F,gitUserName:N,gitUserEmail:U}}var $K0;var Ku=L(()=>{Ju();xJ();lJ();YY();s41();$K0={name:"Deco Bot",email:"114028756+decobot@users.noreply.github.com"}});async function UP$($,Z,X,Q,Y){let G=await AG({connectionId:$,tokenStorage:new r6(Q,Y)});if(!G.accessToken)return null;return OP$(Z,X,G.accessToken)}function BP$($,Z){return OP$($,Z,null)}async function OP$($,Z,X){let Q=new Map,Y=new Set(FP$.map((W)=>W.path));for(let W of Object.values(NP$))for(let H of W??[])Y.add(H);await Promise.all(Array.from(Y).map(async(W)=>{Q.set(W,await O_4($,Z,W,X))}));let G=FP$.find(({path:W})=>Q.get(W)!==null);if(!G)return null;let J=NP$[G.pm]??[],K=null;for(let W of J)if(K=L_4(Q.get(W)??null),K)break;return{packageManager:G.pm,devPort:K}}async function O_4($,Z,X,Q){let Y=`https://api.github.com/repos/${$}/${Z}/contents/${encodeURIComponent(X)}`;try{let G={Accept:"application/vnd.github+json","User-Agent":"studio-runtime-detect"};if(Q)G.Authorization=`token ${Q}`;let J=await fetch(Y,{headers:G,signal:AbortSignal.timeout(5000)});if(!J.ok)return null;let K=await J.json();if(!K.content||K.encoding!=="base64")return null;return Buffer.from(K.content,"base64").toString("utf8")}catch{return null}}function L_4($){if(!$)return null;try{let Z=JSON.parse($),X=Z.tasks??Z.scripts??{},Y=(X.dev??X.start??"").match(B_4)?.[1]??null;if(!Y)return null;let G=Number(Y);return G>=1&&G<=65535?Y:null}catch{return null}}var FP$,NP$,B_4;var LP$=L(()=>{lJ();xJ();FP$=[{path:"deno.json",pm:"deno"},{path:"deno.jsonc",pm:"deno"},{path:"bun.lock",pm:"bun"},{path:"bunfig.toml",pm:"bun"},{path:"pnpm-lock.yaml",pm:"pnpm"},{path:"yarn.lock",pm:"yarn"},{path:"package-lock.json",pm:"npm"},{path:"package.json",pm:"bun"}],NP$={deno:["deno.json","deno.jsonc"],bun:["package.json"],pnpm:["package.json"],yarn:["package.json"],npm:["package.json"]},B_4=/(?:--port|PORT=|:)(\d{4,5})/});function D_4($){return($??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function ZK0($){return $?.name||$?.email?.split("@")[0]||void 0}function XK0($){let Z=D_4($),X=Date.now().toString(36).split("").reverse().join("");return`${Z}-${X}`}import{hash as w_4}from"crypto";import{sql as QK0}from"kysely";function E_4($){return w_4("sha256",`${$.userId}\x00${$.projectRef}\x00${Wu}`,"buffer").readBigInt64BE(0)}async function wP$($,Z){let X=await $.selectFrom("sandbox_runner_state").select(["handle","state","updated_at"]).where("user_id","=",Z.userId).where("project_ref","=",Z.projectRef).where("sandbox_provider_kind","=",Wu).executeTakeFirst();if(!X)return null;return{handle:X.handle,state:X.state,updatedAt:X.updated_at}}async function EP$($,Z){let X=await $.selectFrom("sandbox_runner_state").select(["user_id","project_ref","handle","state","updated_at"]).where("sandbox_provider_kind","=",Wu).where("handle","=",Z).executeTakeFirst();if(!X)return null;return{id:{userId:X.user_id,projectRef:X.project_ref},handle:X.handle,state:X.state,updatedAt:X.updated_at}}async function jP$($,Z,X){let Q=JSON.stringify(X.state),Y=new Date().toISOString();await $.insertInto("sandbox_runner_state").values({user_id:Z.userId,project_ref:Z.projectRef,sandbox_provider_kind:Wu,handle:X.handle,state:Q,updated_at:Y}).onConflict((G)=>G.columns(["user_id","project_ref","sandbox_provider_kind"]).doUpdateSet({handle:X.handle,state:Q,updated_at:Y})).execute()}async function zP$($,Z){await $.deleteFrom("sandbox_runner_state").where("user_id","=",Z.userId).where("project_ref","=",Z.projectRef).where("sandbox_provider_kind","=",Wu).execute()}async function PP$($,Z){await $.deleteFrom("sandbox_runner_state").where("sandbox_provider_kind","=",Wu).where("handle","=",Z).execute()}function j_4($){return{get:(Z)=>wP$($,Z),getByHandle:(Z)=>EP$($,Z),put:(Z,X)=>jP$($,Z,X),delete:(Z)=>zP$($,Z),deleteByHandle:(Z)=>PP$($,Z)}}class nr{db;constructor($){this.db=$}get($){return wP$(this.db,$)}getByHandle($){return EP$(this.db,$)}put($,Z){return jP$(this.db,$,Z)}delete($){return zP$(this.db,$)}deleteByHandle($){return PP$(this.db,$)}async withLock($,Z){let X=E_4($);return this.db.transaction().execute(async(Q)=>{try{await QK0`set local statement_timeout = ${QK0.lit(DP$)}`.execute(Q),await QK0`select pg_advisory_xact_lock(${X}::bigint)`.execute(Q)}catch(Y){if(z_4(Y))throw Error(`sandbox advisory lock busy >${DP$}ms for user=${$.userId} projectRef=${$.projectRef} \u2014 provisioner is slow or stuck; retry shortly`);throw Y}return await QK0`set local statement_timeout = 0`.execute(Q),Z(j_4(Q))})}}function z_4($){if(!($ instanceof Error))return!1;return $.code==="57014"||/statement timeout/i.test($.message)}var Wu="agent-sandbox",DP$=90000;var e41=()=>{};function AP$($){try{let[Z,X]=new URL($).pathname.replace(/^\//,"").split("/"),Q=X?.replace(/\.git$/,"");return Z&&Q?{owner:Z,name:Q}:null}catch{return null}}var kz="home";var YK0=()=>{};function GK0($){if(!JO($))return`Invalid volume name ${JSON.stringify($)} \u2014 use 1-128 chars of letters, digits, "_", "-" or "."`;if(P_4.has($))return`Volume "${$}" is reserved`;if(yW($))return'Volume names starting with "public-" are reserved for shared skill sets';if($.startsWith("."))return'Volume names starting with "." are reserved';if(!/^[A-Za-z0-9]/.test($))return"Volume names must start with a letter or digit";return null}async function JK0($,Z){try{let X=await $.storage.connections.findById(Z.connectionId,Z.organizationId);if(!X)throw Error("sync connection not found in this organization");await sL({ctx:$,connectionId:X.id,organizationId:Z.organizationId,onLegacyMintError:(J)=>console.warn("[org-repo-sync] repo-scoped mint failed",{configId:Z.id,error:J instanceof Error?J.message:String(J)})});let Q=await AG({connectionId:X.id,tokenStorage:new r6($.db,$.vault)});if(!Q.accessToken)throw Error("No GitHub token for the sync connection \u2014 reconnect the mcp-github integration.");let Y=Q.accessToken,G=await Vt0($.db,{orgId:Z.organizationId,baseUrl:$.baseUrl,volume:Z.volume,source:{repo:`${Z.repoOwner}/${Z.repoName}`,ref:Z.ref,paths:Z.paths},authToken:Y,skipVolumeQuota:!1});return await $.storage.orgRepoSyncs.recordSyncResult(Z.id,{error:null}),{id:Z.id,volume:Z.volume,...G}}catch(X){let Q=X instanceof Error?X.message:String(X);return await $.storage.orgRepoSyncs.recordSyncResult(Z.id,{error:Q}).catch(()=>{}),{id:Z.id,volume:Z.volume,error:Q}}}var P_4,$61=10;var KK0=L(()=>{Ku();lJ();xJ();Py();oE();XX0();P_4=new Set(["home","outputs","uploads","public","output","upload"])});function eL($,Z){let X;if($==="home")X=`org/${kz}`;else if($==="outputs")X=`org/${TP$}`;else if($==="uploads")X=`org/${RP$}`;else if(yW($))X=`org/public/${$.slice(7)}`;else X=`org/${$}`;return Z?`${X}/${Z}`:X}function T_4($){return{baseUrl:$.baseUrl.replace(/\/+$/,""),orgSlug:$.orgSlug,token:$.token,mounts:[{volume:"home",path:kz},...A_4.map((Z)=>({...Z})),...($.publicSets??[]).map((Z)=>({volume:HO(Z),path:`public/${Z}`,readonly:!0})),...($.syncedVolumes??[]).filter((Z)=>GK0(Z)===null).map((Z)=>({volume:Z,path:Z,readonly:!0}))]}}async function WK0($,Z){try{let X=await $.boundAuth.apiKey.create({name:`orgfs-${Z.orgSlug}`,permissions:{self:["ORG_FS_READ","ORG_FS_WRITE"]},expiresIn:R_4,metadata:{organization:{id:Z.orgId,slug:Z.orgSlug}}}),Q=await $.storage.orgRepoSyncs.listEnabledVolumes(Z.orgId).catch(()=>[]);return JSON.stringify(T_4({baseUrl:Z.baseUrl,orgSlug:Z.orgSlug,token:X.key,publicSets:DJ().map((Y)=>Y.set),syncedVolumes:Q}))}catch(X){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",X);return}}var TP$=".outputs",RP$=".uploads",A_4,R_4=604800;var Hu=L(()=>{YK0();KK0();oE();A_4=[{volume:"outputs",path:TP$},{volume:"uploads",path:RP$}]});function Z61($){return $ instanceof Date?$.toISOString():String($)}function tr($){return{id:$.id,organizationId:$.organization_id,connectionId:$.connection_id,repoOwner:$.repo_owner,repoName:$.repo_name,ref:$.ref,paths:$.paths,volume:$.volume,enabled:$.enabled,lastSyncedAt:$.last_synced_at?Z61($.last_synced_at):null,lastSyncError:$.last_sync_error,createdBy:$.created_by,createdAt:Z61($.created_at),updatedAt:Z61($.updated_at)}}class Sz{db;constructor($){this.db=$}async create($){let Z=await this.db.insertInto("org_repo_sync").values({organization_id:$.organizationId,connection_id:$.connectionId,repo_owner:$.repoOwner,repo_name:$.repoName,ref:$.ref,paths:JSON.stringify($.paths),volume:$.volume,created_by:$.createdBy}).returningAll().executeTakeFirstOrThrow();return tr(Z)}async get($,Z){let X=await this.db.selectFrom("org_repo_sync").selectAll().where("id","=",$).where("organization_id","=",Z).executeTakeFirst();return X?tr(X):null}async listByOrg($){return(await this.db.selectFrom("org_repo_sync").selectAll().where("organization_id","=",$).orderBy("created_at","asc").execute()).map(tr)}async countByOrg($){let Z=await this.db.selectFrom("org_repo_sync").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",$).executeTakeFirstOrThrow();return Number(Z.count)}async listEnabled(){return(await this.db.selectFrom("org_repo_sync").selectAll().where("enabled","=",!0).orderBy("created_at","asc").execute()).map(tr)}async listEnabledVolumes($){return(await this.db.selectFrom("org_repo_sync").select("volume").where("organization_id","=",$).where("enabled","=",!0).orderBy("volume","asc").execute()).map((X)=>X.volume)}async isSyncVolume($,Z){return await this.db.selectFrom("org_repo_sync").select("id").where("organization_id","=",$).where("volume","=",Z).executeTakeFirst()!==void 0}async update($,Z,X){let Q=await this.db.updateTable("org_repo_sync").set({...X.enabled!==void 0?{enabled:X.enabled}:{},...X.ref!==void 0?{ref:X.ref}:{},...X.paths!==void 0?{paths:JSON.stringify(X.paths)}:{},updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirst();return Q?tr(Q):null}async delete($,Z){return(await this.db.deleteFrom("org_repo_sync").where("id","=",$).where("organization_id","=",Z).executeTakeFirst()).numDeletedRows>0n}async recordSyncResult($,Z){await this.db.updateTable("org_repo_sync").set({last_synced_at:new Date,last_sync_error:Z.error,updated_at:new Date}).where("id","=",$).execute()}}var w9,zZ,or,rr;var HK0=L(()=>{w9={CLAIM_API_GROUP:"extensions.agents.x-k8s.io",CLAIM_API_VERSION:"v1alpha1",CLAIM_PLURAL:"sandboxclaims",TEMPLATE_PLURAL:"sandboxtemplates",SANDBOX_API_GROUP:"agents.x-k8s.io",SANDBOX_API_VERSION:"v1alpha1",SANDBOX_PLURAL:"sandboxes",POD_NAME_ANNOTATION:"agents.x-k8s.io/pod-name",MAIN_CONTAINER_NAME:"sandbox"};zZ=class zZ extends Error{cause;constructor($,Z){super($);if(this.name="SandboxError",this.cause=Z,Z instanceof Error&&Z.stack)this.stack=`${this.stack}
2330
+ ${Y}`:Y}var lz$,eC4;var g41=L(()=>{lz$=/[\r\n<>]/,eC4=/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/});function t30($){let Z=$.repo,X=Z?{repository:{cloneUrl:Z.cloneUrl,repoName:Z.displayName??Z_4(Z.cloneUrl),...Z.branch?{branch:Z.branch}:{},submoduleCredentials:Z.submoduleCredentials??[]},repositories:($.extraRepos??[]).filter((W)=>!!W.directoryName).map((W)=>({cloneUrl:W.cloneUrl,repoName:W.directoryName,...W.branch?{branch:W.branch}:{},submoduleCredentials:W.submoduleCredentials??[]})),...Z.userName.trim()||Z.userEmail.trim()?{identity:{userName:Z.userName,userEmail:Z.userEmail}}:{}}:void 0,Q=$.tenant,Y=Yu({userName:Q?.userName,userEmail:Q?.userEmail})??void 0,G=$.packageManager?{name:$.packageManager.name,...$.packageManager.path?{path:$.packageManager.path}:{}}:void 0,J=G?{packageManager:G,runtime:$.runtime,...$.port!==void 0?{port:$.port}:{}}:void 0,K=Q?.orgId;if(!X&&!J&&!Y&&$.cloneOnly===void 0&&!K)return null;return{...X?{git:X}:{},...Y?{operator:Y}:{},...K?{orgId:K}:{},...$.cloneOnly!==void 0?{cloneOnly:$.cloneOnly}:{},...J?{application:J}:{}}}function Z_4($){try{let Z=new URL($);return Z.pathname.replace(/^\/+/,"").replace(/\.git$/,"")||Z.hostname}catch{return $}}var dz$=L(()=>{g41()});function X_4($){try{return new URL($).username.length>0}catch{return!1}}function h41($){let Z=$.repo?.cloneUrl;if(!Z||!X_4(Z))return null;return{git:{repository:{cloneUrl:Z}}}}var u41=L(()=>{cz$();dz$()});function Q_4($){return(typeof $.timeout==="number"&&$.timeout>0?Math.min($.timeout,120000):30000)+15000}function Y_4($,Z){if($.aborted)return Z.catch(()=>{}),Promise.reject($.reason??Error("aborted"));return new Promise((X,Q)=>{let Y=()=>{Z.catch(()=>{}),Q($.reason??Error("aborted"))};$.addEventListener("abort",Y,{once:!0}),Z.then(X,Q).finally(()=>{$.removeEventListener("abort",Y)})})}async function G_4($,Z,X,Q,Y){let G=Y?.timeoutMs??Q_4(Q),J=AbortSignal.timeout(G),K=Y?.signal?AbortSignal.any([Y.signal,J]):J,W,H;try{let N=new Headers({"content-type":"application/json"});if(Y?.threadId)N.set("x-thread-id",Y.threadId);let U={method:"POST",headers:N,body:JSON.stringify(Q),signal:K};({res:W,rawText:H}=await Y_4(K,(async()=>{let B=await $.proxyDaemonRequest(Z,X,U);return{res:B,rawText:await B.text()}})()))}catch(N){if(Y?.signal?.aborted)throw N;if(J.aborted)throw Error(`Sandbox POST ${X} timed out after ${Math.round(G/1000)}s \u2014 the sandbox may be overloaded or its filesystem stalled. Retry, or use a smaller operation.`);throw new gr(N)}let F;try{F=JSON.parse(H)}catch{console.error("[sandbox-fs-hooks] Failed to parse JSON response provider=agent-sandbox path=%s status=%d rawText=%s",X,W.status,H.slice(0,2000));let N=W.status>=500?" (server error)":W.status===0?" (no response)":"";throw Error(`Daemon ${X} returned invalid JSON (HTTP ${W.status}${N}): ${H.slice(0,800)}`)}if(!W.ok){console.error("[sandbox-fs-hooks] Non-OK response provider=agent-sandbox path=%s status=%d body=%s",X,W.status,H.slice(0,2000));let N=F.error??`Daemon ${X} failed (${W.status})`;if(W.status===404&&N==="sandbox not found")throw new gr(Error(N),!0);throw Error(N)}return F}function c41($,Z){let{ensureHandle:X,invalidateHandle:Q,canAutoRestart:Y}=Z,G=0,J=(H)=>{let F=Date.now();if(F-G<300000)return;G=F,$.renewTtl(H).catch((N)=>{console.warn(`[sandbox-fs-hooks] TTL renew failed for ${H}: ${N instanceof Error?N.message:String(N)}`)})},K=(H)=>{let F=H instanceof Error?H.message:String(H);return Y?`Sandbox is unreachable and auto-restart did not recover it: ${F}`:"The sandbox is not running. Ask the user to start it by clicking the server button (left side of the header bar)."},W=async(H,F,N)=>{let U=async(O)=>G_4($,O,H,F,{signal:N,timeoutMs:Z.opTimeoutMs,threadId:Z.threadId}),B=await X();J(B);try{return await U(B)}catch(O){if(!(O instanceof gr))throw O;if(!Y&&!O.gone)throw Error(K(O.cause??O));console.warn(`[sandbox-fs-hooks] daemon ${H} unreachable \u2014 reaping sandbox and retrying once`,O.cause??O);try{await Q({force:O.gone})}catch(w){console.warn("[sandbox-fs-hooks] invalidateHandle failed",w)}let D;try{D=await X()}catch(w){throw Error(`Failed to restart sandbox: ${w instanceof Error?w.message:String(w)}`)}try{return await U(D)}catch(w){if(w instanceof gr)throw Error(K(w.cause??w));throw w}}};return{onProxy:(H,F,N)=>W(H,F,N),onBash:async(H,F)=>{return await W("/_sandbox/bash",{command:H,...F?.cwd!==void 0?{cwd:F.cwd}:{},...F?.timeoutMs!==void 0?{timeout:F.timeoutMs}:{}})}}}var gr;var iz$=L(()=>{gr=class gr extends Error{code="DAEMON_UNREACHABLE";gone;constructor($,Z=!1){super($ instanceof Error?$.message:"Daemon proxy failed");if(this.gone=Z,$ instanceof Error)this.cause=$}}});var hr=L(()=>{u41();iz$()});function ur($){let Z=new Set($.map((Y)=>Y.name.toLowerCase()).filter((Y,G,J)=>J.indexOf(Y)!==G)),X=$.map((Y)=>Z.has(Y.name.toLowerCase())),Q=(Y)=>{let G=$[Y];return pz$(X[Y]?`${G.owner}-${G.name}`:G.name).toLowerCase()};for(let Y=0;Y<$.length;Y++){let G=new Map,J=!1;for(let K=0;K<$.length;K++){let W=Q(K),H=G.get(W);if(H!==void 0){if(!X[K])X[K]=!0,J=!0;if(!X[H])X[H]=!0,J=!0}G.set(W,K)}if(!J)break}return $.map((Y,G)=>pz$(X[G]?`${Y.owner}-${Y.name}`:Y.name))}function nz$($,Z){let X=`${Z.owner}/${Z.name}`.toLowerCase(),Q=$.findIndex((Y)=>`${Y.owner}/${Y.name}`.toLowerCase()===X);return Q===-1?null:ur($)[Q]??null}function pz$($){return $.replace(/[^A-Za-z0-9._-]/g,"-").replace(/^[^A-Za-z0-9]+/,"")||"repo"}var cr;var l41=L(()=>{cr={npm:{install:"npm install",run:($)=>`npm run ${$}`,runtime:"node"},pnpm:{install:"pnpm install",run:($)=>`pnpm run ${$}`,runtime:"node"},yarn:{install:"yarn install",run:($)=>`yarn run ${$}`,runtime:"node"},bun:{install:"bun install",run:($)=>`bun run ${$}`,runtime:"bun"},deno:{install:"deno install",run:($)=>`deno task ${$}`,runtime:"deno"}}});function tN($,Z){return Z?`thread:${$}/${Z}`:`thread:${$}`}function oN($){return`sandbox/thread-${$.replace(/^thread:/,"").replace(/\//g,"-")}`}function uJ($){if(!$||!$.startsWith("thread:"))return null;return $.slice(7).split("/")[0]||null}async function Mz($,Z,X){return d41(await m41($,Z),X)}async function m41($,Z){let X=uJ(Z);if(!X)return null;return await $.storage.threads.get(X).catch(()=>null)}function d41($,Z){return $?.created_by??Z}async function tL($,Z){if(!Z)return null;let X=await $.storage.threads.get(Z).catch(()=>null);if(!X)return null;return X.metadata??{}}async function tz$($,Z){let Q=(await tL($,Z))?.headRef;return typeof Q==="string"&&Q.length>0?Q:null}async function oz$($,Z,X){let Q=await tL($,Z);if(!Q)return;if(Q.headRef===X)return;await $.storage.threads.update(Z,{metadata:{...Q,headRef:X}}).catch((Y)=>console.warn("[thread-repo] setThreadHeadRef failed",Y))}function J_4($,Z){let X=G30(Z,$.owner,$.name);if(!X||X.id===$.connectionId)return null;let Q=b5(X);return{...$,connectionId:X.id,...Q?.installationId?{installationId:Q.installationId}:{}}}async function i41($,Z){let Q=(await tL($,Z))?.githubRepos;return Array.isArray(Q)?Q.filter((Y)=>Y?.owner&&Y?.name):[]}async function oL($,Z){let X=await tL($,Z),Q=X?.githubRepo??null;if(!Z||!X||!Q?.connectionId)return Q;try{let Y=$.storage.threads.getOrganizationId();if(!Y)return Q;if(await $.storage.connections.findById(Q.connectionId,Y))return Q;let{items:G}=await $.storage.connections.list(Y),J=J_4(Q,G);if(!J)return Q;return await $.storage.threads.update(Z,{metadata:{...X,githubRepo:J}}),console.warn("[thread-repo] re-pointed thread at a live repo connection",{threadId:Z,from:Q.connectionId,to:J.connectionId}),J}catch(Y){return console.warn("[thread-repo] repoint check failed",Y),Q}}function p41($){if($.pinnedRef)return $.pinnedRef;if($.runBranch&&$.runBranch===tN($.threadId))return $.runBranch;if($.threadRepo)return tN($.threadId,$.threadRepo.connectionId);if(!$.agentRepo)return"ephemeral";return $.runBranch??`thread:${$.threadId}`}async function n41($,Z){let Q=(await tL($,Z))?.pinnedRef;return typeof Q==="string"&&Q.length>0?Q:null}async function o30($,Z){let[X,Q]=await Promise.all([oL($,Z.threadId),n41($,Z.threadId)]);return p41({...Z,threadRepo:X,pinnedRef:Q})}async function rz$($,Z,X,Q,Y){let G=await tL($,Z);if(!G)return;let J=br(b9(G),X,Q,Y);await $.storage.threads.update(Z,{metadata:{...G,sandboxMap:J}}).catch((K)=>console.warn("[thread-repo] setThreadSandboxMapEntry failed",K))}async function r30($,Z){return b9(await tL($,Z))}async function az$($,Z,X,Q){let Y=await tL($,Z);if(!Y)return;let G=b41(b9(Y),X,Q);if(!G)return;await $.storage.threads.update(Z,{metadata:{...Y,sandboxMap:G}}).catch((J)=>console.warn("[thread-repo] removeThreadSandboxMapEntry failed",J))}var VK=L(()=>{YY();wY()});function Gu($){if(!$)return null;let Z=$.runtime;if(!Z||typeof Z!=="object")return null;let X=Z.env;if(!Array.isArray(X))return null;let Q=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let G=Y;if(typeof G.key!=="string"||!AX0.test(G.key))continue;if(G.kind==="literal"&&typeof G.value==="string"){Q.push({key:G.key,kind:"literal",value:G.value});continue}if(G.kind==="secret"&&typeof G.secretId==="string"&&G.secretId.length>0)Q.push({key:G.key,kind:"secret",secretId:G.secretId})}return Q.length===0?null:Q}function sz$($){if(!$)return null;let Z=$.runtime;if(!Z||typeof Z!=="object")return null;let X=Z.submoduleCredentials;if(!Array.isArray(X))return null;let Q=[];for(let Y of X){if(!Y||typeof Y!=="object")continue;let G=Y;if(typeof G.host==="string"&&G.host.length>0&&typeof G.secretId==="string"&&G.secretId.length>0)Q.push({host:G.host,secretId:G.secretId})}return Q}async function ez$($,Z){s(Z);let X=a(Z);await Z.access.check();let Q=a0(Z);if(!Q)throw Error("User ID required");let Y=await Z.storage.virtualMcps.findById($.virtualMcpId);if(!Y||Y.organization_id!==X.id)throw Error("Virtual MCP not found");let G=Y.metadata??{},J=b9(G),K=await Mz(Z,$.branch,Q),W=RH(J,K,$.branch);return{virtualMcp:Y,metadata:G,userId:Q,sandboxUserId:K,entry:W,organization:X}}function K_4($){if($===null||!/^\d+$/.test($))return null;let Z=Number($);return Z>=1&&Z<=65535?$:null}function $P$($){let Z=$.runtime??null,Q=Z?.selected??null,Y=K_4(Z?.port??null),G=Z?.path??null;if(!Q||!(Q in cr))return{packageManager:null,runtime:null,port:Y,packageManagerPath:G,runtimeBinPath:null};let J=cr[Q].runtime;return{packageManager:Q,runtime:J,port:Y,packageManagerPath:G,runtimeBinPath:J==="deno"?"/opt/deno/bin":J==="bun"?"/opt/bun/bin":null}}var lr=L(()=>{g8();l41();wY();VK()});import{sql as W_4}from"kysely";function ZP$($){return $ instanceof Date?$.toISOString():String($)}class t41{db;vault;constructor($,Z){this.db=$;this.vault=Z}rowToInfo($){return{id:$.id,organizationId:$.organization_id,scope:$.scope,userId:$.user_id,name:$.name,description:$.description,createdBy:$.created_by,createdAt:ZP$($.created_at),updatedBy:$.updated_by,updatedAt:ZP$($.updated_at)}}assertVisible($,Z){if($.scope==="user"&&$.user_id!==Z)throw new rL($.id)}async create($){let Z=o$("sec"),X=await this.vault.encrypt($.value),Q=new Date,Y=await this.db.insertInto("secrets").values({id:Z,organization_id:$.organizationId,scope:$.scope.kind,user_id:$.scope.kind==="user"?$.scope.userId:null,name:$.name,encrypted_value:X,description:$.description??null,created_by:$.createdBy,created_at:Q,updated_by:$.createdBy,updated_at:Q}).returning(a30).executeTakeFirstOrThrow();return this.rowToInfo(Y)}async update($){let Z=await this.db.selectFrom("secrets").where("id","=",$.id).where("organization_id","=",$.organizationId).select(["id","scope","user_id"]).executeTakeFirst();if(!Z)throw new cJ($.id);this.assertVisible(Z,$.callerUserId);let X={updated_by:$.updatedBy,updated_at:new Date};if($.value!==void 0)X.encrypted_value=await this.vault.encrypt($.value);if($.description!==void 0)X.description=$.description;let Q=await this.db.updateTable("secrets").set(X).where("id","=",$.id).where("organization_id","=",$.organizationId).returning(a30).executeTakeFirstOrThrow();return this.rowToInfo(Q)}async delete($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).select(["id","scope","user_id"]).executeTakeFirst();if(!Q)throw new cJ($);this.assertVisible(Q,X),await this.db.deleteFrom("secrets").where("id","=",$).where("organization_id","=",Z).execute()}async list($){let Z=this.db.selectFrom("secrets").where("organization_id","=",$.organizationId).select(a30);if($.scope?.kind==="user")Z=Z.where("scope","=","user").where("user_id","=",$.scope.userId);else if($.scope?.kind==="organization")Z=Z.where("scope","=","organization");else Z=Z.where((Q)=>Q.or([Q("scope","=","organization"),Q.and([Q("scope","=","user"),Q("user_id","=",$.callerUserId)])]));return(await Z.orderBy("created_at","desc").execute()).map((Q)=>this.rowToInfo(Q))}async findById($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).select(a30).executeTakeFirst();if(!Q)throw new cJ($);return this.assertVisible(Q,X),this.rowToInfo(Q)}async resolveById($,Z,X){let Q=await this.db.selectFrom("secrets").where("id","=",$).where("organization_id","=",Z).selectAll().executeTakeFirst();if(!Q)throw new cJ($);this.assertVisible(Q,X);let Y=await this.vault.decrypt(Q.encrypted_value);return{info:this.rowToInfo(Q),value:Y}}async resolveByName($){let Z=this.db.selectFrom("secrets").where("organization_id","=",$.organizationId).where("scope","=",$.scope.kind).where(W_4`lower(name) = lower(${$.name})`).selectAll();if($.scope.kind==="user")Z=Z.where("user_id","=",$.scope.userId);let X=await Z.executeTakeFirst();if(!X)throw new cJ(`${$.scope.kind}:${$.name}`);let Q=await this.vault.decrypt(X.encrypted_value);return{info:this.rowToInfo(X),value:Q}}}var a30,cJ,rL;var mr=L(()=>{mZ();a30=["id","organization_id","scope","user_id","name","description","created_by","created_at","updated_by","updated_at"];cJ=class cJ extends Error{constructor($){super(`Secret ${$} not found`);this.name="SecretNotFoundError"}};rL=class rL extends Error{constructor($){super(`Access denied for secret ${$}`);this.name="SecretAccessDeniedError"}}});async function aL($,Z){let X=$.body?.getReader();if(!X)return $.text();let Q=new TextDecoder,Y="",G=0;for(;;){let{done:J,value:K}=await X.read();if(J)break;if(G+=K.byteLength,G>Z)throw await X.cancel().catch(()=>{}),new XP$(`Upstream response exceeded ${Z} bytes`);Y+=Q.decode(K,{stream:!0})}return Y+=Q.decode(),Y}var XP$;var dr=L(()=>{XP$=class XP$ extends Error{}});async function s30({ctx:$,runner:Z,handle:X,orgId:Q,userId:Y,entries:G}){if(!G||G.length===0)return;let J={};for(let W of G){if(W.kind==="literal"){J[W.key]=W.value;continue}try{let{value:H}=await $.storage.secrets.resolveById(W.secretId,Q,Y);J[W.key]=H}catch(H){if(H instanceof cJ||H instanceof rL){console.warn(`[SANDBOX_START] skipping env ${W.key}: ${H.message}. Re-link or recreate the secret to restore.`);continue}throw H}}if(Object.keys(J).length===0)return;let K=await Z.proxyDaemonRequest(X,"/_sandbox/config",{method:"PUT",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({env:J})});if(!K.ok){let W=await aL(K,H_4).catch(()=>K.statusText);console.warn(`[SANDBOX_START] daemon rejected env patch (${K.status}): ${W}`)}}var H_4=10485760;var o41=L(()=>{mr();dr()});async function QP$({ctx:$,orgId:Z,userId:X,entries:Q}){if(!Q||Q.length===0)return[];let Y=[];for(let G of Q)try{let{value:J}=await $.storage.secrets.resolveById(G.secretId,Z,X);Y.push({host:G.host,token:J})}catch(J){if(J instanceof cJ||J instanceof rL){console.warn(`[SANDBOX_START] skipping submodule credential for ${G.host}: ${J.message}. Re-link or recreate the secret to restore.`);continue}throw J}return Y}var YP$=L(()=>{mr()});async function F_4($,Z){let X=$.organization?.id;if(!X)throw Error(D9);if(!Z.sourceConnectionId)throw Error(D9);let Q=await $.storage.connections.findById(Z.sourceConnectionId,X);if(!Q)throw Error(D9);let{clientFromConnection:Y}=await Promise.resolve().then(() => (mo(),KP$)),G=await Y(Q,$,!0);try{let{result:J}=await nB$((H)=>G.callTool({name:"MINT_REPO_TOKEN",arguments:{installationId:Z.installationId,owner:Z.owner,repo:Z.repo,permissions:H}}),pB$(Z.permissions)),K=J.structuredContent?.token;if(J.isError||!K)throw Error(D9);let W=J.structuredContent?.expiresAt;return{accessToken:K,expiresAt:W?new Date(W):null}}finally{await G.close().catch(()=>{})}}function N_4($,Z){return($?.getTime()??0)>Z?$:new Date(Z+JP$)}async function U_4($,Z,X,Q){let Y=Date.now(),G=await F_4($,X),J=N_4(G.expiresAt,Y);try{await Q.upsert({connectionId:Z,accessToken:G.accessToken,refreshToken:null,scope:null,expiresAt:J,clientId:null,clientSecret:null,tokenEndpoint:null})}catch(K){console.warn("[GithubMint] failed to persist minted token",{connectionId:Z,message:K instanceof Error?K.message:String(K)})}return G.accessToken}async function ir($,Z,X){let Q=b5(Z);if(!Q)throw Error("Connection is not repo-scoped");if(!Q.sourceConnectionId)throw Error(D9);let Y=new r6($.db,$.vault),G=await Y.get(Z.id);if(!X?.forceRefresh&&G&&!Y.isExpired(G,pr))return G.accessToken;let J=r41.get(Z.id);if(J)return J;let K=U_4($,Z.id,Q,Y).finally(()=>{r41.delete(Z.id)});return r41.set(Z.id,K),K}function GP$($){return $.slug==="mcp-github"}async function Vz($,Z,X){if(b5(Z)?.sourceConnectionId)return ir($,Z,X);return(await AG({connectionId:Z.id,connectionUrl:Z.connection_url,tokenStorage:new r6($.db,$.vault),force:X?.forceRefresh})).accessToken}var r41;var Ju=L(()=>{lJ();YY();xJ();r41=new Map});function a41($,Z){return`${$}::${Z}`}function WP$($){let Z=$.indexOf("::");if(Z>0){let X=$.slice(0,Z);if(Object.values(e30).includes(X))return{code:X,message:$.slice(Z+2)}}return{code:null,message:$}}var e30;var s41=L(()=>{e30={githubNotAuthenticated:"GITHUB_NOT_AUTHENTICATED",githubConnectionMissing:"GITHUB_CONNECTION_MISSING"}});function HP$($,Z){return{cloneUrl:`https://github.com/${$}/${Z}.git`,gitUserName:$K0.name,gitUserEmail:$K0.email}}async function sL($){let Z=await $.ctx.storage.connections.findById($.connectionId,$.organizationId),X=Z?b5(Z):null;if(!Z||!X?.sourceConnectionId)return;try{await ir($.ctx,Z,{forceRefresh:$.forceRefresh})}catch(Q){$.onLegacyMintError?.(Q)}}async function IH($,Z,X,Q,Y,G){if(!await Q.selectFrom("connections").select("id").where("id","=",$).executeTakeFirst())throw Error(a41(e30.githubConnectionMissing,`GitHub connection ${$} no longer exists. Link ${Z}/${X} again.`));let K=new r6(Q,Y),W=await AG({connectionId:$,tokenStorage:K,bufferMs:G?.bufferMs});if(!W.accessToken)throw Error(a41(e30.githubNotAuthenticated,W.state==="refresh_failed"?D9:"No GitHub token found. Ensure the mcp-github connection is authenticated."));let H=W.accessToken,F=`https://x-access-token:${H}@github.com/${Z}/${X}.git`,N=$K0.name,U=$K0.email;if(!H.startsWith("ghs_"))try{let B=await fetch("https://api.github.com/user",{headers:{Authorization:`token ${H}`,Accept:"application/vnd.github+json"}});if(B.ok){let O=await B.json();N=O.name||O.login,U=O.email||`${O.login}@users.noreply.github.com`}}catch{}return{cloneUrl:F,gitUserName:N,gitUserEmail:U}}var $K0;var Ku=L(()=>{Ju();xJ();lJ();YY();s41();$K0={name:"Deco Bot",email:"114028756+decobot@users.noreply.github.com"}});async function UP$($,Z,X,Q,Y){let G=await AG({connectionId:$,tokenStorage:new r6(Q,Y)});if(!G.accessToken)return null;return OP$(Z,X,G.accessToken)}function BP$($,Z){return OP$($,Z,null)}async function OP$($,Z,X){let Q=new Map,Y=new Set(FP$.map((W)=>W.path));for(let W of Object.values(NP$))for(let H of W??[])Y.add(H);await Promise.all(Array.from(Y).map(async(W)=>{Q.set(W,await O_4($,Z,W,X))}));let G=FP$.find(({path:W})=>Q.get(W)!==null);if(!G)return null;let J=NP$[G.pm]??[],K=null;for(let W of J)if(K=L_4(Q.get(W)??null),K)break;return{packageManager:G.pm,devPort:K}}async function O_4($,Z,X,Q){let Y=`https://api.github.com/repos/${$}/${Z}/contents/${encodeURIComponent(X)}`;try{let G={Accept:"application/vnd.github+json","User-Agent":"studio-runtime-detect"};if(Q)G.Authorization=`token ${Q}`;let J=await fetch(Y,{headers:G,signal:AbortSignal.timeout(5000)});if(!J.ok)return null;let K=await J.json();if(!K.content||K.encoding!=="base64")return null;return Buffer.from(K.content,"base64").toString("utf8")}catch{return null}}function L_4($){if(!$)return null;try{let Z=JSON.parse($),X=Z.tasks??Z.scripts??{},Y=(X.dev??X.start??"").match(B_4)?.[1]??null;if(!Y)return null;let G=Number(Y);return G>=1&&G<=65535?Y:null}catch{return null}}var FP$,NP$,B_4;var LP$=L(()=>{lJ();xJ();FP$=[{path:"deno.json",pm:"deno"},{path:"deno.jsonc",pm:"deno"},{path:"bun.lock",pm:"bun"},{path:"bunfig.toml",pm:"bun"},{path:"pnpm-lock.yaml",pm:"pnpm"},{path:"yarn.lock",pm:"yarn"},{path:"package-lock.json",pm:"npm"},{path:"package.json",pm:"bun"}],NP$={deno:["deno.json","deno.jsonc"],bun:["package.json"],pnpm:["package.json"],yarn:["package.json"],npm:["package.json"]},B_4=/(?:--port|PORT=|:)(\d{4,5})/});function D_4($){return($??"").normalize("NFKD").replace(/[\u0300-\u036F]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"user"}function ZK0($){return $?.name||$?.email?.split("@")[0]||void 0}function XK0($){let Z=D_4($),X=Date.now().toString(36).split("").reverse().join("");return`${Z}-${X}`}import{hash as w_4}from"crypto";import{sql as QK0}from"kysely";function E_4($){return w_4("sha256",`${$.userId}\x00${$.projectRef}\x00${Wu}`,"buffer").readBigInt64BE(0)}async function wP$($,Z){let X=await $.selectFrom("sandbox_runner_state").select(["handle","state","updated_at"]).where("user_id","=",Z.userId).where("project_ref","=",Z.projectRef).where("sandbox_provider_kind","=",Wu).executeTakeFirst();if(!X)return null;return{handle:X.handle,state:X.state,updatedAt:X.updated_at}}async function EP$($,Z){let X=await $.selectFrom("sandbox_runner_state").select(["user_id","project_ref","handle","state","updated_at"]).where("sandbox_provider_kind","=",Wu).where("handle","=",Z).executeTakeFirst();if(!X)return null;return{id:{userId:X.user_id,projectRef:X.project_ref},handle:X.handle,state:X.state,updatedAt:X.updated_at}}async function jP$($,Z,X){let Q=JSON.stringify(X.state),Y=new Date().toISOString();await $.insertInto("sandbox_runner_state").values({user_id:Z.userId,project_ref:Z.projectRef,sandbox_provider_kind:Wu,handle:X.handle,state:Q,updated_at:Y}).onConflict((G)=>G.columns(["user_id","project_ref","sandbox_provider_kind"]).doUpdateSet({handle:X.handle,state:Q,updated_at:Y})).execute()}async function zP$($,Z){await $.deleteFrom("sandbox_runner_state").where("user_id","=",Z.userId).where("project_ref","=",Z.projectRef).where("sandbox_provider_kind","=",Wu).execute()}async function PP$($,Z){await $.deleteFrom("sandbox_runner_state").where("sandbox_provider_kind","=",Wu).where("handle","=",Z).execute()}function j_4($){return{get:(Z)=>wP$($,Z),getByHandle:(Z)=>EP$($,Z),put:(Z,X)=>jP$($,Z,X),delete:(Z)=>zP$($,Z),deleteByHandle:(Z)=>PP$($,Z)}}class nr{db;constructor($){this.db=$}get($){return wP$(this.db,$)}getByHandle($){return EP$(this.db,$)}put($,Z){return jP$(this.db,$,Z)}delete($){return zP$(this.db,$)}deleteByHandle($){return PP$(this.db,$)}async withLock($,Z){let X=E_4($);return this.db.transaction().execute(async(Q)=>{try{await QK0`set local statement_timeout = ${QK0.lit(DP$)}`.execute(Q),await QK0`select pg_advisory_xact_lock(${X}::bigint)`.execute(Q)}catch(Y){if(z_4(Y))throw Error(`sandbox advisory lock busy >${DP$}ms for user=${$.userId} projectRef=${$.projectRef} \u2014 provisioner is slow or stuck; retry shortly`);throw Y}return await QK0`set local statement_timeout = 0`.execute(Q),Z(j_4(Q))})}}function z_4($){if(!($ instanceof Error))return!1;return $.code==="57014"||/statement timeout/i.test($.message)}var Wu="agent-sandbox",DP$=90000;var e41=()=>{};function AP$($){try{let[Z,X]=new URL($).pathname.replace(/^\//,"").split("/"),Q=X?.replace(/\.git$/,"");return Z&&Q?{owner:Z,name:Q}:null}catch{return null}}var kz="home";var YK0=()=>{};function GK0($){if(!JO($))return`Invalid volume name ${JSON.stringify($)} \u2014 use 1-128 chars of letters, digits, "_", "-" or "."`;if(P_4.has($))return`Volume "${$}" is reserved`;if(yW($))return'Volume names starting with "public-" are reserved for shared skill sets';if($.startsWith("."))return'Volume names starting with "." are reserved';if(!/^[A-Za-z0-9]/.test($))return"Volume names must start with a letter or digit";return null}async function JK0($,Z){try{let X=await $.storage.connections.findById(Z.connectionId,Z.organizationId);if(!X)throw Error("sync connection not found in this organization");await sL({ctx:$,connectionId:X.id,organizationId:Z.organizationId,onLegacyMintError:(J)=>console.warn("[org-repo-sync] repo-scoped mint failed",{configId:Z.id,error:J instanceof Error?J.message:String(J)})});let Q=await AG({connectionId:X.id,tokenStorage:new r6($.db,$.vault)});if(!Q.accessToken)throw Error("No GitHub token for the sync connection \u2014 reconnect the mcp-github integration.");let Y=Q.accessToken,G=await Vt0($.db,{orgId:Z.organizationId,baseUrl:$.baseUrl,volume:Z.volume,source:{repo:`${Z.repoOwner}/${Z.repoName}`,ref:Z.ref,paths:Z.paths},authToken:Y,skipVolumeQuota:!1});return await $.storage.orgRepoSyncs.recordSyncResult(Z.id,{error:null}),{id:Z.id,volume:Z.volume,...G}}catch(X){let Q=X instanceof Error?X.message:String(X);return await $.storage.orgRepoSyncs.recordSyncResult(Z.id,{error:Q}).catch(()=>{}),{id:Z.id,volume:Z.volume,error:Q}}}var P_4,$61=10;var KK0=L(()=>{Ku();lJ();xJ();Py();oE();XX0();P_4=new Set(["home","outputs","uploads","public","output","upload"])});function eL($,Z){let X;if($==="home")X=`org/${kz}`;else if($==="outputs")X=`org/${TP$}`;else if($==="uploads")X=`org/${RP$}`;else if(yW($))X=`org/public/${$.slice(7)}`;else X=`org/${$}`;return Z?`${X}/${Z}`:X}function T_4($){return{baseUrl:$.baseUrl.replace(/\/+$/,""),orgSlug:$.orgSlug,token:$.token,mounts:[{volume:"home",path:kz},...A_4.map((Z)=>({...Z})),...($.publicSets??[]).map((Z)=>({volume:HO(Z),path:`public/${Z}`,readonly:!0})),...($.syncedVolumes??[]).filter((Z)=>GK0(Z)===null).map((Z)=>({volume:Z,path:Z,readonly:!0}))]}}async function WK0($,Z){try{let X=await $.boundAuth.apiKey.create({name:`orgfs-${Z.orgSlug}`,permissions:{self:["ORG_FS_READ","ORG_FS_WRITE"]},expiresIn:R_4,metadata:{organization:{id:Z.orgId,slug:Z.orgSlug}}}),Q=await $.storage.orgRepoSyncs.listEnabledVolumes(Z.orgId).catch(()=>[]);return JSON.stringify(T_4({baseUrl:Z.baseUrl,orgSlug:Z.orgSlug,token:X.key,publicSets:DJ().map((Y)=>Y.set),syncedVolumes:Q}))}catch(X){console.warn("[org-fs] token mint failed; mounts disabled for this sandbox",X);return}}var TP$=".outputs",RP$=".uploads",A_4,R_4=604800;var Hu=L(()=>{YK0();KK0();oE();A_4=[{volume:"outputs",path:TP$},{volume:"uploads",path:RP$}]});function Z61($){return $ instanceof Date?$.toISOString():String($)}function tr($){return{id:$.id,organizationId:$.organization_id,connectionId:$.connection_id,repoOwner:$.repo_owner,repoName:$.repo_name,ref:$.ref,paths:$.paths,volume:$.volume,enabled:$.enabled,lastSyncedAt:$.last_synced_at?Z61($.last_synced_at):null,lastSyncError:$.last_sync_error,createdBy:$.created_by,createdAt:Z61($.created_at),updatedAt:Z61($.updated_at)}}class Sz{db;constructor($){this.db=$}async create($){let Z=await this.db.insertInto("org_repo_sync").values({organization_id:$.organizationId,connection_id:$.connectionId,repo_owner:$.repoOwner,repo_name:$.repoName,ref:$.ref,paths:JSON.stringify($.paths),volume:$.volume,created_by:$.createdBy}).returningAll().executeTakeFirstOrThrow();return tr(Z)}async get($,Z){let X=await this.db.selectFrom("org_repo_sync").selectAll().where("id","=",$).where("organization_id","=",Z).executeTakeFirst();return X?tr(X):null}async listByOrg($){return(await this.db.selectFrom("org_repo_sync").selectAll().where("organization_id","=",$).orderBy("created_at","asc").execute()).map(tr)}async countByOrg($){let Z=await this.db.selectFrom("org_repo_sync").select((X)=>X.fn.countAll().as("count")).where("organization_id","=",$).executeTakeFirstOrThrow();return Number(Z.count)}async listEnabled(){return(await this.db.selectFrom("org_repo_sync").selectAll().where("enabled","=",!0).orderBy("created_at","asc").execute()).map(tr)}async listEnabledVolumes($){return(await this.db.selectFrom("org_repo_sync").select("volume").where("organization_id","=",$).where("enabled","=",!0).orderBy("volume","asc").execute()).map((X)=>X.volume)}async isSyncVolume($,Z){return await this.db.selectFrom("org_repo_sync").select("id").where("organization_id","=",$).where("volume","=",Z).executeTakeFirst()!==void 0}async update($,Z,X){let Q=await this.db.updateTable("org_repo_sync").set({...X.enabled!==void 0?{enabled:X.enabled}:{},...X.ref!==void 0?{ref:X.ref}:{},...X.paths!==void 0?{paths:JSON.stringify(X.paths)}:{},updated_at:new Date}).where("id","=",$).where("organization_id","=",Z).returningAll().executeTakeFirst();return Q?tr(Q):null}async delete($,Z){return(await this.db.deleteFrom("org_repo_sync").where("id","=",$).where("organization_id","=",Z).executeTakeFirst()).numDeletedRows>0n}async recordSyncResult($,Z){await this.db.updateTable("org_repo_sync").set({last_synced_at:new Date,last_sync_error:Z.error,updated_at:new Date}).where("id","=",$).execute()}}var w9,zZ,or,rr;var HK0=L(()=>{w9={CLAIM_API_GROUP:"extensions.agents.x-k8s.io",CLAIM_API_VERSION:"v1alpha1",CLAIM_PLURAL:"sandboxclaims",TEMPLATE_PLURAL:"sandboxtemplates",SANDBOX_API_GROUP:"agents.x-k8s.io",SANDBOX_API_VERSION:"v1alpha1",SANDBOX_PLURAL:"sandboxes",POD_NAME_ANNOTATION:"agents.x-k8s.io/pod-name",MAIN_CONTAINER_NAME:"sandbox"};zZ=class zZ extends Error{cause;constructor($,Z){super($);if(this.name="SandboxError",this.cause=Z,Z instanceof Error&&Z.stack)this.stack=`${this.stack}
2331
2331
  Caused by: ${Z.stack}`}};or=class or extends zZ{constructor($,Z){super($,Z);this.name="SandboxTimeoutError"}};rr=class rr extends zZ{constructor($,Z){super($,Z);this.name="SandboxAlreadyExistsError"}}});async function I_4($){let Z=$.getCurrentCluster();if(!Z)throw new zZ("No active cluster in kubeconfig");let X={};await $.applyToHTTPSOptions(X);let Q={},Y=X.headers??{};for(let[G,J]of Object.entries(Y))if(Array.isArray(J))Q[G]=J.join(", ");else if(J!==void 0)Q[G]=String(J);if(typeof X.auth==="string"&&!Q.Authorization)Q.Authorization=`Basic ${Buffer.from(X.auth).toString("base64")}`;return{server:Z.server.replace(/\/+$/,""),headers:Q,tls:{cert:X61(X.cert),key:X61(X.key),ca:X61(X.ca),rejectUnauthorized:Z.skipTLSVerify?!1:void 0}}}function X61($){if($==null)return;if(typeof $==="string")return $;if(Buffer.isBuffer($))return $.toString("utf8");return String($)}async function TG($,Z){let X=await I_4($),Q={...X.headers,...Z.headers};if(Z.method==="PATCH")Q["content-type"]=Z.patchType==="apply"?"application/apply-patch+yaml":Z.patchType==="strategic-merge"?"application/strategic-merge-patch+json":"application/merge-patch+json";else if(Z.body!==void 0&&!("content-type"in Q))Q["content-type"]="application/json";let Y={method:Z.method,headers:Q,body:Z.body===void 0?void 0:JSON.stringify(Z.body),signal:Z.signal,tls:X.tls,...Z.stream?{timeout:!1}:{}};return fetch(`${X.server}${Z.path}`,Y)}async function Q61($){try{return await $.json()}catch{return null}}async function ar($,Z){if($.ok)return;let X=await Q61($),Q=X?.message??`${Z} failed: ${$.status} ${$.statusText}`;throw new IP$($.status,X,Q)}async function sr($,Z,X,Q,Y="none"){try{let G=await TG($,Z);if(G.status===404)return null;if(await ar(G,X),Y==="json")return await G.json();return null}catch(G){throw new zZ(Q,G)}}async function qP$($,Z,X){let Q=`${FK0}/${encodeURIComponent(Z)}/${w9.TEMPLATE_PLURAL}/${encodeURIComponent(X)}`;try{let Y=await TG($,{method:"GET",path:Q});if(Y.status===404||Y.status===403)return!1;return await ar(Y,"sandboxTemplateExists"),!0}catch(Y){throw new zZ(`Failed to get SandboxTemplate: ${X}`,Y)}}async function Y61($,Z,X){let Q=`${FK0}/${encodeURIComponent(Z)}/${w9.CLAIM_PLURAL}`,Y;try{Y=await TG($,{method:"POST",path:Q,body:X})}catch(H){let F=H instanceof Error?H.message:String(H);throw console.warn(`[agent-sandbox/client] createSandboxClaim ${X.metadata.name} transport error: ${F}`),new zZ(`Failed to create SandboxClaim: ${X.metadata.name} (transport error: ${F})`,H)}if(Y.ok)return;let G=await Q61(Y),J=G?.reason?` ${G.reason}`:"",K=G?.message??Y.statusText,W=`Failed to create SandboxClaim: ${X.metadata.name} (${Y.status}${J}: ${K})`;if(console.warn(`[agent-sandbox/client] createSandboxClaim ${X.metadata.name} rejected: status=${Y.status} reason=${G?.reason??"<none>"} message=${K}`),Y.status===409)throw new rr(W);throw new zZ(W)}async function NK0($,Z,X,Q=60000){let Y=Date.now()+Q,G=500,J;while(!0){let K=await rN($,Z,X).catch(()=>{return});if(!K)return;if(J=K,Date.now()>=Y){let W=J.metadata?.finalizers??[],H=J.metadata?.deletionTimestamp??"<unknown>";throw new or(`SandboxClaim ${X} still terminating after ${Q}ms (deletionTimestamp=${H}, finalizers=[${W.join(", ")}])`)}await W$(500)}}function G61($,Z){return`${FK0}/${encodeURIComponent($)}/${w9.CLAIM_PLURAL}/${encodeURIComponent(Z)}`}async function UK0($,Z,X,Q){await sr($,{method:"PATCH",path:G61(Z,X),patchType:"merge",body:{spec:{lifecycle:{shutdownPolicy:"Delete",shutdownTime:Q}}}},"patchSandboxClaimShutdown",`Failed to patch SandboxClaim shutdownTime: ${X}`)}async function Fu($,Z,X){await sr($,{method:"DELETE",path:G61(Z,X)},"deleteSandboxClaim",`Failed to delete SandboxClaim: ${X}`)}async function rN($,Z,X){return await sr($,{method:"GET",path:G61(Z,X)},"getSandboxClaim",`Failed to get SandboxClaim: ${X}`,"json")??void 0}async function MP$($,Z,X,Q=60){let Y=Date.now()+Q*1000,G=200;while(Date.now()<Y){let K=(await rN($,Z,X).catch(()=>{return}))?.status?.sandbox?.name;if(K)return K;await W$(200)}throw new or(`SandboxClaim ${X} did not record an adopted Sandbox (status.sandbox.name) within ${Q}s`)}async function VP$($,Z,X){let Y=(await sr($,{method:"GET",path:`${FK0}/${encodeURIComponent(Z)}/sandboxwarmpools/${encodeURIComponent(X)}`},"getSandboxWarmPool",`Failed to get SandboxWarmPool: ${X}`,"json"))?.status?.selector;if(!Y)return null;let G=await TG($,{method:"GET",path:`/api/v1/namespaces/${encodeURIComponent(Z)}/pods?labelSelector=${encodeURIComponent(Y)}`});return await ar(G,"listWarmPoolPods"),((await G.json()).items??[]).filter((K)=>K.status?.phase==="Running").flatMap((K)=>K.metadata?.name&&K.metadata.uid?[{name:K.metadata.name,uid:K.metadata.uid,labels:K.metadata.labels??{}}]:[])}async function kP$($,Z,X,Q){try{let Y=await TG($,{method:"GET",path:`/api/v1/namespaces/${encodeURIComponent(Z)}/pods/${encodeURIComponent(X)}`});if(!Y.ok)return!1;return!(await Y.json()).metadata?.labels?.[Q]}catch{return!1}}async function SP$($,Z,X,Q,Y){try{let G=await TG($,{method:"GET",path:`/api/v1/namespaces/${encodeURIComponent(Z)}/pods?labelSelector=${encodeURIComponent(`${X}=${Q}`)}`});if(!G.ok)return null;let K=((await G.json()).items??[]).reduce((W,H)=>W===null||(H.metadata?.creationTimestamp??"")>(W.metadata?.creationTimestamp??"")?H:W,null);return K?q_4(K,Y):null}catch{return null}}function q_4($,Z){let X=($.status?.containerStatuses??[]).find((G)=>G.name===Z),Q=X?.state?.terminated??X?.lastState?.terminated;if(!Q?.reason)return null;let Y=($.spec?.containers??[]).find((G)=>G.name===Z)?.resources?.limits?.memory;return{reason:Q.reason,oomKilled:Q.reason==="OOMKilled",...Q.exitCode===void 0?{}:{exitCode:Q.exitCode},...Y===void 0?{}:{memoryLimit:Y}}}function xP$($,Z){return`${M_4}/${encodeURIComponent($)}/${vP$}/${encodeURIComponent(Z)}`}async function fP$($,Z,X){let Q=new URLSearchParams({fieldManager:yP$,force:"true"}),Y=`${xP$(Z,X.metadata.name)}?${Q}`;try{let G=await TG($,{method:"PATCH",path:Y,patchType:"apply",body:X});await ar(G,"applyHttpRoute")}catch(G){throw new zZ(`Failed to apply HTTPRoute: ${X.metadata.name}`,G)}}async function bP$($,Z,X){await sr($,{method:"DELETE",path:xP$(Z,X)},"deleteHttpRoute",`Failed to delete HTTPRoute: ${X}`)}async function gP$($,Z,X,Q){let Y={apiVersion:"v1",kind:"Service",metadata:{name:X},spec:{ports:[{name:Q.name,port:Q.port,targetPort:Q.targetPort,protocol:Q.protocol??"TCP"}]}},G=new URLSearchParams({fieldManager:yP$,force:"true"}),J=`/api/v1/namespaces/${encodeURIComponent(Z)}/services/${encodeURIComponent(X)}?${G}`;try{let K=await TG($,{method:"PATCH",path:J,patchType:"apply",body:Y});await ar(K,"ensureServicePort")}catch(K){throw new zZ(`Failed to apply Service ports: ${X}`,K)}}function hP$($,Z,X,Q=180){let Y=`/apis/${w9.SANDBOX_API_GROUP}/${w9.SANDBOX_API_VERSION}/namespaces/${encodeURIComponent(Z)}/${w9.SANDBOX_PLURAL}?watch=true&fieldSelector=${encodeURIComponent(`metadata.name=${X}`)}`,{resolve:G,reject:J,promise:K}=Promise.withResolvers(),W=new AbortController,H=!1,F=setTimeout(()=>{if(H)return;H=!0,W.abort(),J(new or(`Sandbox did not become ready within ${Q} seconds`))},Q*1000),N=(U)=>{if(H)return;H=!0,clearTimeout(F),W.abort(),U()};return(async()=>{let U;try{U=await TG($,{method:"GET",path:Y,signal:W.signal,headers:{accept:"application/json"},stream:!0})}catch(B){N(()=>J(new zZ("Failed to start watch for sandbox readiness",B)));return}if(!U.ok||!U.body){let B=await Q61(U).catch(()=>null);N(()=>J(new zZ(`Watch handshake failed (${U.status}): ${B?.message??U.statusText}`)));return}try{for await(let B of K61(U.body)){if(H)return;if(B.type==="ERROR"){let j=B.object;N(()=>J(new zZ(`Watch stream error while waiting for sandbox: ${j.message??"unknown"}`)));return}if(B.type!=="ADDED"&&B.type!=="MODIFIED")continue;let O=B.object;if(!O.status?.conditions?.find((j)=>j.type==="Ready"&&j.status==="True"))continue;let w=O.metadata?.name;if(!w){N(()=>J(new zZ("Sandbox metadata or name is missing")));return}let E=O.metadata?.annotations?.[w9.POD_NAME_ANNOTATION]??w;N(()=>G({sandboxName:w,podName:E}));return}N(()=>J(new zZ("Watch stream closed before sandbox became ready")))}catch(B){if(H)return;if(B instanceof Error&&(B.name==="AbortError"||W.signal.aborted))return;N(()=>J(new zZ("Watch stream error while waiting for sandbox",B)))}})(),K}async function*K61($){let Z=$.getReader(),X=new TextDecoder,Q="";try{while(!0){let{value:G,done:J}=await Z.read();if(J)break;Q+=X.decode(G,{stream:!0});let K;while((K=Q.indexOf(`
2332
2332
  `))>=0){let W=Q.slice(0,K).trim();if(Q=Q.slice(K+1),!W)continue;yield JSON.parse(W)}}let Y=Q.trim();if(Y)yield JSON.parse(Y)}finally{Z.releaseLock()}}var IP$,FK0,CP$="gateway.networking.k8s.io",_P$="v1",vP$="httproutes",M_4,J61,yP$="mesh-sandbox-runner";var BK0=L(()=>{J4();HK0();IP$=class IP$ extends Error{status;body;constructor($,Z,X){super(X);this.status=$;this.body=Z;this.name="KubeHttpError"}};FK0=`/apis/${w9.CLAIM_API_GROUP}/${w9.CLAIM_API_VERSION}/namespaces`;M_4=`/apis/${CP$}/${_P$}/namespaces`;J61={API_GROUP:CP$,API_VERSION:_P$,PLURAL:vP$}});function k_4($){return($.items??[]).some((Z)=>{if(Z.status?.phase!=="Pending")return!1;return(Z.status?.conditions??[]).some((X)=>X.type==="PodScheduled"&&X.status==="False"&&X.reason==="Unschedulable")})}function cP$($,Z){let X=0,Q=!0,Y=null,G=async()=>{try{let J=await TG($,{method:"GET",path:`/api/v1/namespaces/${encodeURIComponent(Z)}/pods?fieldSelector=status.phase%3DPending`});if(!J.ok)return uP$;let K=await J.json();return!k_4(K)}catch{return uP$}};return async()=>{if(Date.now()-X<V_4)return Q;return Y??=G().finally(()=>{Y=null}),Q=await Y,X=Date.now(),Q}}var V_4=3000,uP$=!0;var lP$=L(()=>{BK0()});function YA$($){return typeof $>"u"||$===null}function S_4($){return typeof $==="object"&&$!==null}function C_4($){if(Array.isArray($))return $;else if(YA$($))return[];return[$]}function __4($,Z){var X,Q,Y,G;if(Z){G=Object.keys(Z);for(X=0,Q=G.length;X<Q;X+=1)Y=G[X],$[Y]=Z[Y]}return $}function v_4($,Z){var X="",Q;for(Q=0;Q<Z;Q+=1)X+=$;return X}function x_4($){return $===0&&Number.NEGATIVE_INFINITY===1/$}function GA$($,Z){var X="",Q=$.reason||"(unknown reason)";if(!$.mark)return Q;if($.mark.name)X+='in "'+$.mark.name+'" ';if(X+="("+($.mark.line+1)+":"+($.mark.column+1)+")",!Z&&$.mark.snippet)X+=`
2333
2333