decocms 4.286.4 → 4.286.6

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 (237) hide show
  1. package/dist/client/assets/{AlertCircle-CjPPe_Es.js → AlertCircle-DvlMJzvH.js} +1 -1
  2. package/dist/client/assets/{AreaChart-z-wKOY4Q.js → AreaChart-Co3sUl8Q.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-xVEL6Xri.js → ArrowLeft-RTJfGYqO.js} +1 -1
  4. package/dist/client/assets/{ArrowUp-B504DwzE.js → ArrowUp-C9GXuzBP.js} +1 -1
  5. package/dist/client/assets/{Check-D-tWl3Ph.js → Check-Bcnwcxbs.js} +1 -1
  6. package/dist/client/assets/{CheckCircle-1al5Y-iY.js → CheckCircle-CpE2gFL2.js} +1 -1
  7. package/dist/client/assets/{ChevronDown-B_ixPCTO.js → ChevronDown-CYG4QSfS.js} +1 -1
  8. package/dist/client/assets/{ChevronRight-C3-hRZ4f.js → ChevronRight-CpQ-XGWn.js} +1 -1
  9. package/dist/client/assets/{ChevronSelectorVertical-BhgvMMhD.js → ChevronSelectorVertical-CD6IG3xp.js} +1 -1
  10. package/dist/client/assets/{ChevronUp-CcbaTGNZ.js → ChevronUp-DmLHjlB8.js} +1 -1
  11. package/dist/client/assets/{Circle-BAeolOWX.js → Circle-DquOefUY.js} +1 -1
  12. package/dist/client/assets/{Copy01-neaxsIAM.js → Copy01-D1fa_vNZ.js} +1 -1
  13. package/dist/client/assets/{CreditCard01-ww7LUBF4.js → CreditCard01-CzXoH2_E.js} +1 -1
  14. package/dist/client/assets/{DotsVertical-CWvHeX6p.js → DotsVertical-CKqcdQY1.js} +1 -1
  15. package/dist/client/assets/{Download01-Cpj3pMZO.js → Download01-uHHa4lEe.js} +1 -1
  16. package/dist/client/assets/{Eye-DZppzI4K.js → Eye-DQbrUXqj.js} +1 -1
  17. package/dist/client/assets/{FilterLines-BoU3nKXE.js → FilterLines-FKz5JmaU.js} +1 -1
  18. package/dist/client/assets/{Flag01-Cks7Hcsj.js → Flag01-C7lX_ovT.js} +1 -1
  19. package/dist/client/assets/{Globe01-Blrb9QCE.js → Globe01-DUNAdl96.js} +1 -1
  20. package/dist/client/assets/{Globe04-nqeXJchO.js → Globe04-C8-Iz5Ob.js} +1 -1
  21. package/dist/client/assets/{HardDrive-AUMHLymc.js → HardDrive-CNNOA8X1.js} +1 -1
  22. package/dist/client/assets/{Key01-CBfmNloZ.js → Key01-CtlUEn-O.js} +1 -1
  23. package/dist/client/assets/{LinkExternal01-CSXhEw69.js → LinkExternal01-CYW5qBle.js} +1 -1
  24. package/dist/client/assets/{LockUnlocked01-Dp6LUDzs.js → LockUnlocked01-Camlq0iF.js} +1 -1
  25. package/dist/client/assets/{LogOut01-BwKRFWiv.js → LogOut01-C4vxkvjg.js} +1 -1
  26. package/dist/client/assets/{Monitor01-BmwzRY8Z.js → Monitor01-BztQffJ4.js} +1 -1
  27. package/dist/client/assets/{Palette-B_zZgvh3.js → Palette-7eulFGyg.js} +1 -1
  28. package/dist/client/assets/{Play-d1wMPqu_.js → Play-BBuTt-ww.js} +1 -1
  29. package/dist/client/assets/{Plus-CS3JRZHD.js → Plus-CNy9dH9H.js} +1 -1
  30. package/dist/client/assets/{SearchLg-Bgx75S-8.js → SearchLg-C50f6-iX.js} +1 -1
  31. package/dist/client/assets/{SearchMd-Bhs-AY-t.js → SearchMd-6NHlIJV9.js} +1 -1
  32. package/dist/client/assets/{Settings02-1WpCazPC.js → Settings02-Coch6I-s.js} +1 -1
  33. package/dist/client/assets/{Share07-C_MGXbKu.js → Share07-CxOQdduI.js} +1 -1
  34. package/dist/client/assets/{Shield01-hY2vXu_p.js → Shield01-Bx4JHFe_.js} +1 -1
  35. package/dist/client/assets/{Stars01-DrSh3zMF.js → Stars01-BN2vePFs.js} +1 -1
  36. package/dist/client/assets/{Stars02-BnPoIjHT.js → Stars02-C-goK6F_.js} +1 -1
  37. package/dist/client/assets/{Sun-BW56eukD.js → Sun-DrW-cZzP.js} +1 -1
  38. package/dist/client/assets/{SwitchHorizontal01-l1VxUcA6.js → SwitchHorizontal01-DfXXgPLT.js} +1 -1
  39. package/dist/client/assets/{Tag01-B7UGGBpr.js → Tag01-B6hNMJxH.js} +1 -1
  40. package/dist/client/assets/{ThumbsUp-CzeOya0s.js → ThumbsUp-Cd4kv7sI.js} +1 -1
  41. package/dist/client/assets/{Tool01-dqpaqZjV.js → Tool01-CS1WVbOe.js} +1 -1
  42. package/dist/client/assets/{Tool02-y2Kt_Mle.js → Tool02-jZCjY4_C.js} +1 -1
  43. package/dist/client/assets/{Trash01-DXi7qmjb.js → Trash01-Ctsi28Hg.js} +1 -1
  44. package/dist/client/assets/{TrendUp01-DlR3MMdY.js → TrendUp01-C_nOGhfv.js} +1 -1
  45. package/dist/client/assets/{Upload01-zXZzID1Z.js → Upload01-BEuKNUVM.js} +1 -1
  46. package/dist/client/assets/{User01-D5qvxe7_.js → User01-Ds6h02_-.js} +1 -1
  47. package/dist/client/assets/{UserSquare-BCsy6lPT.js → UserSquare-DVKafobf.js} +1 -1
  48. package/dist/client/assets/{Users01-BNl3O1xq.js → Users01-bpQBejCA.js} +1 -1
  49. package/dist/client/assets/{Users03-D4uJ1x7m.js → Users03-DlfmNcXb.js} +1 -1
  50. package/dist/client/assets/{XCircle-DP3o1KVc.js → XCircle-BWzp7_v9.js} +1 -1
  51. package/dist/client/assets/{XClose-DcJ8LsPY.js → XClose-BEkgs57b.js} +1 -1
  52. package/dist/client/assets/{YAxis-Bh0QJVqk.js → YAxis-D_jomfKr.js} +1 -1
  53. package/dist/client/assets/{Zap-QaC6OykZ.js → Zap-CxJvVyr1.js} +1 -1
  54. package/dist/client/assets/{ZapSquare-rS3NzNGE.js → ZapSquare-Cx2KzeH8.js} +1 -1
  55. package/dist/client/assets/{access-gate-Cxk9l6b9.js → access-gate-PCzEBWJ5.js} +1 -1
  56. package/dist/client/assets/{agent-icon-CQ4qTxJT.js → agent-icon-C0NUu0Dv.js} +1 -1
  57. package/dist/client/assets/{agents-list-BF8Sxquk.js → agents-list-id6I8nWX.js} +1 -1
  58. package/dist/client/assets/{ai-providers-0lVVwipt.js → ai-providers-C9LSA8l7.js} +1 -1
  59. package/dist/client/assets/{alert-dialog-C2gjYbmU.js → alert-dialog-B2L8zdte.js} +1 -1
  60. package/dist/client/assets/{alert-Di8wV19j.js → alert-rPfc5Gbc.js} +1 -1
  61. package/dist/client/assets/{api-keys-D-qkBRR0.js → api-keys-B5ah8-3a.js} +1 -1
  62. package/dist/client/assets/{app-editor-Dq0blITG.js → app-editor-DekxMnA4.js} +1 -1
  63. package/dist/client/assets/{auth-CR0_WHnM.js → auth-CyHwgdwm.js} +1 -1
  64. package/dist/client/assets/{auth-catchall-QvGPbVjd.js → auth-catchall-op8dXn2Q.js} +1 -1
  65. package/dist/client/assets/{auth-entry-CWY4gCWi.js → auth-entry-BoRsB15C.js} +1 -1
  66. package/dist/client/assets/{auth-split-layout-DzhkGA45.js → auth-split-layout-CFEAFbWe.js} +1 -1
  67. package/dist/client/assets/{authenticate-and-persist-oauth-DePShlsb.js → authenticate-and-persist-oauth-PAJ6c4DM.js} +1 -1
  68. package/dist/client/assets/{automation-list-row-Cj-qk1co.js → automation-list-row-z1ftMX8t.js} +1 -1
  69. package/dist/client/assets/{automation-runs-DGZfbF0y.js → automation-runs-BxtzDNBD.js} +1 -1
  70. package/dist/client/assets/{automations-CUtamPLl.js → automations-B75sZtqk.js} +1 -1
  71. package/dist/client/assets/{avatar-gygO8t0k.js → avatar-vk7RnokO.js} +1 -1
  72. package/dist/client/assets/{badge-CagNBc4U.js → badge-CkLXXL_T.js} +1 -1
  73. package/dist/client/assets/{block-document-CpLnMzDW.js → block-document-C4o6tCSR.js} +1 -1
  74. package/dist/client/assets/{breadcrumb-BLJkl04u.js → breadcrumb-C9h26hV1.js} +1 -1
  75. package/dist/client/assets/{buckets-CQX7ELNp.js → buckets--2vuTKGA.js} +1 -1
  76. package/dist/client/assets/{bulk-category-panel-pYKTv68z.js → bulk-category-panel-vm5kaf3N.js} +1 -1
  77. package/dist/client/assets/{capability-load-error-BbaDF84A.js → capability-load-error-C9xZENFM.js} +1 -1
  78. package/dist/client/assets/{cards-2NqNY4R9.js → cards-DQZf9oFU.js} +1 -1
  79. package/dist/client/assets/{category-editor-Cw-qgPeh.js → category-editor-CLzVrD3c.js} +1 -1
  80. package/dist/client/assets/{chart-DNRpbEQG.js → chart-D5ReNvVa.js} +1 -1
  81. package/dist/client/assets/{chat-context-DdGr3_g8.js → chat-context-Blvo4ZaA.js} +1 -1
  82. package/dist/client/assets/{checkbox-CvS4qhxI.js → checkbox-359BBv51.js} +1 -1
  83. package/dist/client/assets/{choose-editor-CRVToY1R.js → choose-editor-Bi6bQVoz.js} +1 -1
  84. package/dist/client/assets/{cli-auth-success-BxxY4YVS.js → cli-auth-success-BGMSslSY.js} +1 -1
  85. package/dist/client/assets/{collection-detail-DBFBDjmC.js → collection-detail-D3XTvjYX.js} +1 -1
  86. package/dist/client/assets/{collection-display-button-BeDXWwQw.js → collection-display-button-D7WXGP5-.js} +1 -1
  87. package/dist/client/assets/{collection-search-D3XcAdbv.js → collection-search-CmlhAF0q.js} +1 -1
  88. package/dist/client/assets/{collection-table-wrapper-DXgYFbn3.js → collection-table-wrapper-CtTEf-hj.js} +1 -1
  89. package/dist/client/assets/{collection-tabs-DqgsWWuc.js → collection-tabs-CQJ6FTtv.js} +1 -1
  90. package/dist/client/assets/{command-98mCceOP.js → command-B54aL3fS.js} +1 -1
  91. package/dist/client/assets/{commerce-onboarding-COoKJya8.js → commerce-onboarding-9F-L-Nkc.js} +1 -1
  92. package/dist/client/assets/{config-DY6hf3s8.js → config-BktrQTTP.js} +1 -1
  93. package/dist/client/assets/{connect-DP6XodOs.js → connect-BQ2Cd4U6.js} +1 -1
  94. package/dist/client/assets/{connection-BFaWbm0C.js → connection-BtMCcF76.js} +1 -1
  95. package/dist/client/assets/{connection-card-Cv0RsJJ_.js → connection-card-jdfVPdle.js} +1 -1
  96. package/dist/client/assets/{connection-detail-Dqb7DdBc.js → connection-detail-BDIsUsQx.js} +1 -1
  97. package/dist/client/assets/{connection-form-helpers-Df8e763X.js → connection-form-helpers-w35YzYkJ.js} +1 -1
  98. package/dist/client/assets/{connections-D5Ay3kJB.js → connections-DfQlN_PP.js} +1 -1
  99. package/dist/client/assets/{decopilot-sse-pool-DVw1gZjG.js → decopilot-sse-pool-D4oSA7X3.js} +1 -1
  100. package/dist/client/assets/{dialog-BuvuvAYC.js → dialog-BPAi9RC3.js} +1 -1
  101. package/dist/client/assets/{domain-settings-DSbKp6qA.js → domain-settings-B0ct-HDu.js} +1 -1
  102. package/dist/client/assets/{drawer-DmEn61SS.js → drawer-Rb3VMach.js} +1 -1
  103. package/dist/client/assets/{dropdown-menu-Czbd_AJy.js → dropdown-menu-DrLVp347.js} +1 -1
  104. package/dist/client/assets/{empty-state-_lAZnBi4.js → empty-state-B2wH44TC.js} +1 -1
  105. package/dist/client/assets/{extract-connection-data-CW9bBZne.js → extract-connection-data-Bdjb5ZXD.js} +1 -1
  106. package/dist/client/assets/{file-explorer-BbAtNM55.js → file-explorer-6_ZvOUKC.js} +1 -1
  107. package/dist/client/assets/{file-type-icon-BSfc7Wfg.js → file-type-icon-Hqh-VGqi.js} +1 -1
  108. package/dist/client/assets/{form-CHh_Bz9U.js → form-BEmxbAzw.js} +1 -1
  109. package/dist/client/assets/{general-Bwm-UhNq.js → general-BAt-Pp2H.js} +1 -1
  110. package/dist/client/assets/{github-icon-C4IsZh8Y.js → github-icon-DHRjGJq9.js} +1 -1
  111. package/dist/client/assets/{github-repo-picker-C9RaVBvS.js → github-repo-picker-BfQZfVQf.js} +1 -1
  112. package/dist/client/assets/{hooks-BBdeXd44.js → hooks-OOuw421f.js} +2 -2
  113. package/dist/client/assets/{index-C9hnclQJ.js → index-BL8fuaSm.js} +1 -1
  114. package/dist/client/assets/{index-4kWhKkvd.js → index-BV64OjK_.js} +1 -1
  115. package/dist/client/assets/{index-D297vbs1.js → index-CQOEZYxM.js} +1 -1
  116. package/dist/client/assets/{index-Bn1REJqN.js → index-D0lcxq-X.js} +1 -1
  117. package/dist/client/assets/{index-BqGmkqxx.js → index-D7uXKn4l.js} +1 -1
  118. package/dist/client/assets/{index-2iYjeWO7.js → index-DPGUtnwt.js} +4 -4
  119. package/dist/client/assets/index-REjt-P-r.js +1 -0
  120. package/dist/client/assets/{index-C5_rudyt.js → index-Y_1Y556f.js} +6 -6
  121. package/dist/client/assets/{index-DINrMtim.js → index-_ej3dgt5.js} +1 -1
  122. package/dist/client/assets/{index-redirect-DulA9_vk.js → index-redirect-CcT9RVhJ.js} +1 -1
  123. package/dist/client/assets/{index-DmDieVAU.js → index-u2QXPqsz.js} +1 -1
  124. package/dist/client/assets/{infra-billing-BhAeXe1T.js → infra-billing-bdrx4pLm.js} +1 -1
  125. package/dist/client/assets/{input-D8Zm47Jt.js → input-DKMZUsZA.js} +1 -1
  126. package/dist/client/assets/{integration-icon-DF5D8dzf.js → integration-icon-CRsthFhv.js} +1 -1
  127. package/dist/client/assets/{invite-member-dialog-DIFWrpMK.js → invite-member-dialog-xUE-gU0C.js} +1 -1
  128. package/dist/client/assets/{label-BXmVgc4R.js → label-BU9Jjv7s.js} +1 -1
  129. package/dist/client/assets/{layout-C2umEqat.js → layout-Be_9QfZ8.js} +1 -1
  130. package/dist/client/assets/{login-BA5Gn4nV.js → login-Qn_MjIG7.js} +1 -1
  131. package/dist/client/assets/{mcp-oauth-EIjqmOGW.js → mcp-oauth-DTLy_4G_.js} +1 -1
  132. package/dist/client/assets/{members-WEbYgK-E.js → members-DWhY3Kne.js} +1 -1
  133. package/dist/client/assets/{monaco-editor-CLceT9Kc.js → monaco-editor-uC0FBK2U.js} +1 -1
  134. package/dist/client/assets/{monitoring-stats-row-C1J4-yvD.js → monitoring-stats-row-BDgA_2Ej.js} +1 -1
  135. package/dist/client/assets/{multi-select-8nHOrqP6.js → multi-select-BQqJKDNj.js} +1 -1
  136. package/dist/client/assets/{oauth-callback-B1gi_QXh.js → oauth-callback-2vMri_0x.js} +1 -1
  137. package/dist/client/assets/{oauth-callback-ai-provider-BR3jc69B.js → oauth-callback-ai-provider-RZWFAs_V.js} +1 -1
  138. package/dist/client/assets/{onboarding-CJb7w2u2.js → onboarding-BNWf6TW3.js} +1 -1
  139. package/dist/client/assets/{org-layout-9As--daQ.js → org-layout-BDGMLzCE.js} +1 -1
  140. package/dist/client/assets/{organization-choice-Dk9tfw5m.js → organization-choice-CdvpiUH2.js} +1 -1
  141. package/dist/client/assets/{orgs-D04LOh9A.js → orgs-B2aDDMEf.js} +1 -1
  142. package/dist/client/assets/{page-seo-form-CPmgmD8Q.js → page-seo-form-B68YJZBJ.js} +1 -1
  143. package/dist/client/assets/{popover-pV1E5Yae.js → popover-C0it1EeO.js} +1 -1
  144. package/dist/client/assets/{post-calendar-BskyHDPL.js → post-calendar-B523IrUM.js} +1 -1
  145. package/dist/client/assets/{post-editor--Zt9kpwk.js → post-editor-eYS6wget.js} +1 -1
  146. package/dist/client/assets/{primitives-RaFkl2kw.js → primitives-DeoLy5zL.js} +1 -1
  147. package/dist/client/assets/{profile-DZM1TgC_.js → profile-U8XK2VXm.js} +1 -1
  148. package/dist/client/assets/{project-app-view-D9hKZwXZ.js → project-app-view-Dh8z705d.js} +1 -1
  149. package/dist/client/assets/{prompts-BC28h6-t.js → prompts-Dt_lXCbL.js} +1 -1
  150. package/dist/client/assets/record-editor-DtcqJs15.js +1 -0
  151. package/dist/client/assets/redirect-editor-CHSAyTcV.js +1 -0
  152. package/dist/client/assets/registry-TR-vIGxU.js +2 -0
  153. package/dist/client/assets/{registry-layout-CDi54rAy.js → registry-layout-CoVnvVUV.js} +1 -1
  154. package/dist/client/assets/{reports-BM4wctLR.js → reports-CybfHSA0.js} +1 -1
  155. package/dist/client/assets/{require-capability-B6_CSUE8.js → require-capability-BMInjTpq.js} +1 -1
  156. package/dist/client/assets/{required-auth-layout-CPH_QLZq.js → required-auth-layout-D1yWxUhZ.js} +1 -1
  157. package/dist/client/assets/{reset-password-CKTbNXE2.js → reset-password-DNNEbFuR.js} +1 -1
  158. package/dist/client/assets/{review-settings-CvDMhhLj.js → review-settings-CmCAUMRs.js} +1 -1
  159. package/dist/client/assets/{roles-BBbgP0OS.js → roles-D2xRYUv0.js} +1 -1
  160. package/dist/client/assets/{scroll-area-CrW7xE2P.js → scroll-area-B4T29_7m.js} +1 -1
  161. package/dist/client/assets/{search-input-CUhyYijt.js → search-input-Cs87u1XL.js} +1 -1
  162. package/dist/client/assets/{secrets-BS5YBU3b.js → secrets-B-ggfMua.js} +1 -1
  163. package/dist/client/assets/{sections-editor-B1dtTQTT.js → sections-editor-BZXQsXK6.js} +1 -1
  164. package/dist/client/assets/{select-BvLYuOCD.js → select-BY51Huw5.js} +1 -1
  165. package/dist/client/assets/{select-model-DSpI71RT.js → select-model-BzQbpsB5.js} +1 -1
  166. package/dist/client/assets/{self-tool-result-C15mzmUL.js → self-tool-result-CEMUyQFk.js} +1 -1
  167. package/dist/client/assets/{seo-editor-Drt9uDgy.js → seo-editor-X38ED2ap.js} +1 -1
  168. package/dist/client/assets/{settings-layout-Dw0kRTPi.js → settings-layout-CG0_SslF.js} +1 -1
  169. package/dist/client/assets/{shell-controls-DUuG6V04.js → shell-controls-D5GbCcfG.js} +1 -1
  170. package/dist/client/assets/{shell-layout-DEm7qxZk.js → shell-layout-4pJEKgjG.js} +1 -1
  171. package/dist/client/assets/{spinner-Wicci2m_.js → spinner-BaYSIBAI.js} +1 -1
  172. package/dist/client/assets/{sso-Dc5dEHUK.js → sso-x3mSKdeE.js} +1 -1
  173. package/dist/client/assets/{store-DbIF8Srw.js → store-pp1mNlyT.js} +1 -1
  174. package/dist/client/assets/store-registry-DyRwz3yf.js +2 -0
  175. package/dist/client/assets/{super-agent-icon-DqHrlyQ5.js → super-agent-icon-ChHyJxMq.js} +1 -1
  176. package/dist/client/assets/{switch-Bgl3Wxgz.js → switch-CL_wNuTg.js} +1 -1
  177. package/dist/client/assets/{synced-repos-CxD3U_ap.js → synced-repos-CNbFWEV0.js} +1 -1
  178. package/dist/client/assets/{tab-id-B343rgJA.js → tab-id-BJhTpcjb.js} +1 -1
  179. package/dist/client/assets/{table-DQye_KJa.js → table-Ch68zFSa.js} +1 -1
  180. package/dist/client/assets/{tabs-BD0mG09G.js → tabs-C_f6Viy6.js} +1 -1
  181. package/dist/client/assets/{task-board-BrhfV0Xn.js → task-board-DJY41XW8.js} +1 -1
  182. package/dist/client/assets/{task-filters-D8uPSMj4.js → task-filters-CM9aziD7.js} +1 -1
  183. package/dist/client/assets/{tasks-BccmO9V1.js → tasks-qIzDm87v.js} +1 -1
  184. package/dist/client/assets/{textarea-f884xv9A.js → textarea-CtFZfz7M.js} +1 -1
  185. package/dist/client/assets/{toggle-group-Bha-KoNy.js → toggle-group-CGVC-CKF.js} +1 -1
  186. package/dist/client/assets/{toolbar-BK5xyxK4.js → toolbar-BuFg3wIL.js} +1 -1
  187. package/dist/client/assets/{track-BdMpnoYO.js → track-B8lap1At.js} +1 -1
  188. package/dist/client/assets/{types-Dlbctr00.js → types-DoWTNUch.js} +1 -1
  189. package/dist/client/assets/{use-ai-providers-ApFi-RQM.js → use-ai-providers-X5gQ6Frj.js} +1 -1
  190. package/dist/client/assets/{use-api-keys-JXVd1lCZ.js → use-api-keys-FrDLuz54.js} +1 -1
  191. package/dist/client/assets/{use-automations-Cleu9yjO.js → use-automations-C3qK2rmP.js} +1 -1
  192. package/dist/client/assets/{use-autosave-BNILGimX.js → use-autosave-D0w2JlYV.js} +1 -1
  193. package/dist/client/assets/{use-commerce-diagnostic-whzF46SQ.js → use-commerce-diagnostic-E_UCqtaW.js} +1 -1
  194. package/dist/client/assets/{use-connection-C6hvABLD.js → use-connection-QgnscFuw.js} +1 -1
  195. package/dist/client/assets/{use-copy-C-tpPcSH.js → use-copy-D9URxb5f.js} +1 -1
  196. package/dist/client/assets/{use-create-virtual-mcp-BYzHv7h6.js → use-create-virtual-mcp-DiYvnCBd.js} +1 -1
  197. package/dist/client/assets/{use-debounced-autosave-upXMLcwd.js → use-debounced-autosave-BGhJv3cs.js} +1 -1
  198. package/dist/client/assets/{use-debounced-value-BZvqBs8z.js → use-debounced-value-C3rowxeM.js} +1 -1
  199. package/dist/client/assets/{use-decopilot-events-uN4mE2mp.js → use-decopilot-events-CU_83DHk.js} +1 -1
  200. package/dist/client/assets/{use-delete-connection-DdhDmPIr.js → use-delete-connection-C1KY0rKH.js} +1 -1
  201. package/dist/client/assets/{use-deployment-admin-b1b5Xb8Z.js → use-deployment-admin-CwbH87x9.js} +1 -1
  202. package/dist/client/assets/{use-file-configs-BTbQBv0E.js → use-file-configs-Ox49dnE1.js} +1 -1
  203. package/dist/client/assets/{use-infinite-scroll-ngbg-f4B.js → use-infinite-scroll-DC-w6br5.js} +1 -1
  204. package/dist/client/assets/{use-join-requests-BCF9SiKI.js → use-join-requests-ZsGlaroJ.js} +1 -1
  205. package/dist/client/assets/{use-mcp-auth-status-WmUL9ybR.js → use-mcp-auth-status-BuxyzgKj.js} +1 -1
  206. package/dist/client/assets/{use-mcp-client-DjvuKLjH.js → use-mcp-client-BNj8WwX8.js} +1 -1
  207. package/dist/client/assets/{use-mcp-tools-CxRnxARj.js → use-mcp-tools-6tuJyt0H.js} +1 -1
  208. package/dist/client/assets/{use-members-DYGPMjBz.js → use-members-Bg_K3VT6.js} +1 -1
  209. package/dist/client/assets/{use-navigate-to-agent-zMgG6J1K.js → use-navigate-to-agent-DT_1GDH5.js} +1 -1
  210. package/dist/client/assets/{use-org-auth-client-CDziQeOJ.js → use-org-auth-client-YSRXYZJk.js} +1 -1
  211. package/dist/client/assets/{use-org-repo-syncs-BJjI7-Fw.js → use-org-repo-syncs-hB2RbIfF.js} +1 -1
  212. package/dist/client/assets/{use-org-sso-DucjgbBl.js → use-org-sso-CRtwFqcf.js} +1 -1
  213. package/dist/client/assets/{use-organization-roles-DwfEId2H.js → use-organization-roles-DNf6aAuP.js} +1 -1
  214. package/dist/client/assets/{use-organization-settings-DjpZoScC.js → use-organization-settings-D_NMX4QF.js} +1 -1
  215. package/dist/client/assets/{use-registry-connections-25RcS4jV.js → use-registry-connections-BlS_T8ii.js} +1 -1
  216. package/dist/client/assets/{use-secrets-enFOK9gr.js → use-secrets-DF0Rg5Ke.js} +1 -1
  217. package/dist/client/assets/{use-section-preview-base-MCctBdnO.js → use-section-preview-base-Qgv1PNdK.js} +1 -1
  218. package/dist/client/assets/{use-status-sounds-Dks597jZ.js → use-status-sounds-DZu3oH6T.js} +1 -1
  219. package/dist/client/assets/{use-tags-CPkOatUi.js → use-tags-NRFc9Kma.js} +1 -1
  220. package/dist/client/assets/{use-view-mode-DmoKnHoh.js → use-view-mode-6EqQcurT.js} +1 -1
  221. package/dist/client/assets/{use-virtual-mcp-CcIco7Kt.js → use-virtual-mcp-ClsybENf.js} +1 -1
  222. package/dist/client/assets/useInfiniteQuery-BSIOCSh6.js +1 -0
  223. package/dist/client/assets/useSuspenseInfiniteQuery-BkFkcqA-.js +1 -0
  224. package/dist/client/assets/{users-D_1RV0_X.js → users-BSDqATBn.js} +1 -1
  225. package/dist/client/assets/{variant-calendar-CK-1Nkq7.js → variant-calendar-DFnlHYZD.js} +1 -1
  226. package/dist/client/assets/{view-mode-toggle-B-svGARb.js → view-mode-toggle-CPKFOFja.js} +1 -1
  227. package/dist/client/index.html +1 -1
  228. package/dist/server/cli.js +2 -2
  229. package/dist/server/server.js +2 -2
  230. package/package.json +1 -1
  231. package/dist/client/assets/index-B5o3n9Kb.js +0 -1
  232. package/dist/client/assets/record-editor-BK6RtSPc.js +0 -1
  233. package/dist/client/assets/redirect-editor-BMHZJK5a.js +0 -1
  234. package/dist/client/assets/registry-C-Y3lVMm.js +0 -2
  235. package/dist/client/assets/store-registry-B6ZdpEm_.js +0 -2
  236. package/dist/client/assets/useInfiniteQuery-C4QcHYKZ.js +0 -1
  237. package/dist/client/assets/useSuspenseInfiniteQuery-CwmI6XzH.js +0 -1
@@ -1464,7 +1464,7 @@ Usage notes:
1464
1464
  `+`- Every subtask call starts FRESH \u2014 no conversation history, no prior runs. Always include full context in the prompt and state exactly what to return (the specific answer/list/paths you need, not a raw dump); never use continuation phrases like 'continue' or 'as before'.
1465
1465
  `+`- Clearly tell the subagent whether you expect it to take action or just research.
1466
1466
  - To parallelize independent searches, launch multiple subtask calls in the same message.
1467
- - The subagent's output should generally be trusted.`;bD4={readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}});function FH$($){let Z={},X=$.split(/\r?\n/);for(let Q=0;Q<X.length;Q++){let Y=(X[Q]??"").trim();if(!Y||Y.startsWith("#"))continue;if(Y.startsWith("export "))Y=Y.slice(7).trim();let G=Y.indexOf("=");if(G<0)throw Error(`Line ${Q+1}: missing '='`);let J=Y.slice(0,G).trim();if(!xD4.test(J))throw Error(`Line ${Q+1}: invalid key "${J}"`);let K=Y.slice(G+1).trim();if(K.length>=2&&(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'")))K=K.slice(1,-1);Z[J]=K}return Z}var xD4;var HH$=D(()=>{xD4=/^[A-Za-z_][A-Za-z0-9_]*$/});async function UH$($){let Z=$.organization?.id;if(!Z)return{};try{let{value:X}=await $.storage.secrets.resolveByName({organizationId:Z,scope:{kind:"organization"},name:NH$});return FH$(X)}catch(X){if(X?.name!=="SecretNotFoundError")console.warn(`[org-run-env] ignoring the ${NH$} secret: ${X instanceof Error?X.message:String(X)}`);return{}}}function BH$($,Z){return{...$,...Z}}var NH$="TASK_RUN_ENV";var OH$=D(()=>{HH$()});async function*DH$($,Z,X){let Q=!1;for await(let Y of $){if(yield Y,Q||!Z)continue;if(Y.type!=="start")continue;Q=!0,yield{type:"message-metadata",messageMetadata:{models:{thinking:{id:Z,title:Z,provider:X}}}}}}function LH$($){let{role:Z,roleStatements:X,connectionIds:Q}=$;if(n7(Z??void 0))return Object.fromEntries(Q.map((G)=>[G,["*"]]));let Y={};for(let G of Q){let J=new Set;for(let K of X)for(let W of K[G]??[])J.add(W);if(J.size===0)continue;Y[G]=J.has("*")?["*"]:[...J]}return Y}function wH$($){return($??"").split(",").map((Z)=>Z.trim()).filter(Boolean)}var EH$=D(()=>{VQ()});function CC($){return $==="decopilot"||$==="claude-code"}function gD4($){return{type:"data-run-status",id:"run-status",data:{stage:$}}}function jH$($){if(!$||typeof $!=="object")return!1;return $.type==="data-run-status"}async function $G($){let{streamBuffer:Z,harnessId:X,taskId:Q,stage:Y}=$;if(!Z||!CC(X))return;try{await Z.publishRawChunk(Q,gD4(Y))}catch{}}var yD4,Nt,g_9;var _C=D(()=>{yD4=["waiting-runner","starting-run","starting-sandbox","waiting-capacity","gathering-context","preparing-tools","starting-assistant","analyzing-scope"],Nt=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],g_9=new Set(yD4)});function Ut($){return $ instanceof Error&&$.superseded===!0}function RH$($){return $===404||$===410||$>=500}function Dg($){return $===vC}class ao0{ctx;virtualMcpId;branch;credential;resume;interactive;streamBuffer;constructor($){this.ctx=$.ctx,this.virtualMcpId=$.virtualMcpId,this.branch=$.branch,this.credential=$.credential,this.resume=$.resume??null,this.interactive=$.interactive??!1,this.streamBuffer=$.streamBuffer}dispatch($){return this.stream($)}async resolveWorkspace($){let Z=await LO(this.ctx,$);if(!Z)return this.branch===yH($)?{cwd:zH$,branch:gH(this.branch)}:{cwd:null};return{cwd:zH$,repo:{owner:Z.owner,name:Z.name,connectedGithub:Boolean(Z.connectionId)},branch:this.branch.startsWith("thread:")?gH(this.branch):this.branch}}async mcpForRun($,Z,X){let Q=await this.orgMcpConnections($),Y=await this.dispatcherConnectionGrants($.id,X,Q.map((W)=>W.id)),G=Q.filter((W)=>(W.id in Y)),J=await dO0(this.ctx,this.virtualMcpId,$,`${vC}-run`,"task-run",Z,eG$({toolNames:vn0,grants:Y}));if(G.length===0||!$.slug)return{mcp:J};let K=sG$({publicUrl:f9(),organizationSlug:$.slug,headers:J.headers,connections:G});return console.log(`[${vC}] org mcps: ${K.map((W)=>W.name).join(" ")||"none"}${Q.length===G.length?"":` (${Q.length-G.length} withheld \u2014 the `+"dispatching user has no grant for them)"}`),{mcp:J,orgMcps:K}}async dispatcherConnectionGrants($,Z,X){if(X.length===0)return{};let Y=(await this.ctx.db.selectFrom("member").select(["role"]).where("organizationId","=",$).where("userId","=",Z).executeTakeFirst())?.role,G=n7(Y??void 0)?[]:(await Promise.all(wH$(Y).map((J)=>Bt(this.ctx.db,$,J)))).filter((J)=>Boolean(J));return LH$({role:Y,roleStatements:G,connectionIds:X})}async orgMcpConnections($){if(!$.slug)return[];let[Z,X]=await Promise.all([this.ctx.storage.organizationSettings.get($.id),this.ctx.storage.virtualMcps.findById(this.virtualMcpId).catch(()=>null)]),Q=gY(Z?.flags,"coding_agent_org_mcps"),Y=new Set((X?.connections??[]).map((J)=>J.connection_id));if(!Q&&Y.size===0)return[];let{items:G}=await this.ctx.storage.connections.list($.id);return eD4({organizationId:$.id,orgWide:Q,ownIds:Y,connections:G})}async*stream($){if(!this.credential)throw Error(`the ${vC} harness needs a resolved model credential; this run has none (check the agent's thinking model)`);let Z=SJ$(this.credential,kJ$(this.ctx.metadata?.runMetadata?.[$D0])),X=this.ctx.organization;if(!X)throw Error(`the ${vC} harness needs an organization on the context to mint its MCP endpoint; this run has none`);let Q=BH$(await UH$(this.ctx),Z),Y=await $Q(this.ctx),G={...$,...await this.mcpForRun(X,$.threadId,$.user.id),workspace:await this.resolveWorkspace($.threadId)},J=$.threadId,{ctx:K,virtualMcpId:W,branch:F,interactive:H,streamBuffer:N}=this,U=this.credential.providerId,B=null,O=(L)=>async function*(){await $G({streamBuffer:N,harnessId:vC,taskId:J,stage:"starting-sandbox"});let w=await hy({virtualMcpId:W,branch:F,purpose:H?"interactive":"harness-run"},K);B=w.sandboxHandle,await pD4(Y,w.sandboxHandle,Q),yield*DH$(rD4({provider:Y,handle:w.sandboxHandle,input:L?{...G,resume:L}:G,runId:J,signal:$.signal}),L?null:Z.CLAUDE_CODE_MODEL,U)}();try{yield*lD4({runId:J,resume:this.resume,aborted:()=>$.signal?.aborted===!0,dispatchOnce:O,lastHandle:()=>B,describeTermination:async(L)=>L===null?null:mD4(await Y.lastTermination(L))})}finally{if(B&&!this.interactive&&b0().sandboxReleaseOnRunEndEnabled)await Y.releaseAfter(B,b0().sandboxReleaseGraceMs).catch(()=>{})}}}async function*lD4($){let Z=$.maxAttempts??hD4,X=$.maxTotalAttempts??uD4,Q=$.resume,Y=Q!==null,G=0;for(let J=1;;J++){let K=!1;try{for await(let W of $.dispatchOnce(Q)){if(K=!0,W.type==="start"){if(Y)continue;Y=!0}yield W}return}catch(W){if($.aborted())throw W;G=K?0:G+1;let F=W instanceof rQ?await $.describeTermination?.($.lastHandle?.()??null).catch(()=>null)??null:null;if(Ut(W)||!(W instanceof rQ)||G>=Z||J>=X){if(F&&W instanceof rQ)throw new rQ(W.reason,F);throw W}console.warn("[sandbox-dispatch] sandbox lost mid-run; continuing",{runId:$.runId,attempt:J,progressed:K,reason:W.message,termination:F}),Q={reason:dD4(W.message,F)}}}}function dD4($,Z){let X=`the sandbox running the previous attempt stopped answering (${$})`;if(!Z)return X;return`${X}. ${Z}. A replacement sandbox has been started from the last state pushed to the branch. Tell the user this happened, re-read the files you had been editing rather than trusting your memory of them, and if a step needs more memory than the sandbox has, split it instead of repeating what was killed`}function mD4($){if(!$)return null;if($.oomKilled)return`it was killed by the kernel for exceeding its memory limit${$.memoryLimit?` (memory limit ${$.memoryLimit})`:""} \u2014 OOMKilled`;if($.reason==="Completed")return null;let Z=$.exitCode===void 0?"":` (exit code ${$.exitCode})`;return`the sandbox container terminated with reason ${$.reason}${Z}`}async function pD4($,Z,X){let Q;try{Q=await $.proxyDaemonRequest(Z,"/_sandbox/config",{method:"PUT",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({env:X}),signal:AbortSignal.timeout(iD4)})}catch(Y){throw new rQ(`could not push the model env to the sandbox: ${Y instanceof Error?Y.message:String(Y)}`)}if(!Q.ok){let Y=`failed to push model env to the sandbox (${Q.status} ${Q.statusText})`;if(RH$(Q.status))throw new rQ(Y);throw Error(Y)}}function nD4($){let{signal:Z,...X}=$;return X}function oD4($,Z){let X=()=>void $.renewTtl(Z).catch((Y)=>console.warn(`[sandbox-dispatch] TTL renew failed for ${Z}: ${Y instanceof Error?Y.message:String(Y)}`));X();let Q=setInterval(X,tD4);return Q.unref?.(),()=>clearInterval(Q)}async function*rD4($){let Z=Date.now(),X=nD4($.input),Q=(F=!1)=>$.provider.proxyDaemonRequest($.handle,"/_sandbox/dispatch",{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({...F?{harnessId:vC}:{},runId:$.runId,input:X}),...$.signal?{signal:$.signal}:{}}),Y;try{if(Y=await Q(),Y.status===400){let F=await Y.clone().json().catch(()=>null);if(typeof F==="object"&&F!==null&&"error"in F&&F.error==="missing_harness_id")Y=await Q(!0)}}catch(F){if($.signal?.aborted)throw F;throw new rQ(`could not reach the sandbox daemon: ${F instanceof Error?F.message:String(F)}`)}if(!Y.ok){let F=await Y.text().catch(()=>Y.statusText),H=`sandbox dispatch failed (${Y.status}): ${F.slice(0,512)}`;if(RH$(Y.status))throw new rQ(H);throw Error(H)}if(!Y.body)throw new rQ("dispatch returned no body");let G=oD4($.provider,$.handle),J=0,K=null,W=!1;try{for await(let F of sD4(Y.body,$.signal)){let H=CJ$.safeParse(F);if(!H.success)throw Error(`sandbox dispatch returned a malformed frame: ${H.error.message}`);if(J+=H.data.chunks.length,yield*H.data.chunks,K??=H.data.error,H.data.done)W=!0}}finally{G()}if(console.log("[sandbox-dispatch] run ended",{runId:$.runId,handle:$.handle,chunks:J,elapsedMs:Date.now()-Z,done:W,error:K?.code??null}),!W&&!K)throw new rQ(`the sandbox stopped streaming after ${J} chunks without finishing the run`);if(K)throw aD4(K.code,K.message)}function aD4($,Z){if($===cD4)return new TH$(Z);if($===vJ$)return new rQ(Z);return Error(`${$}: ${Z}`)}async function*sD4($,Z){let X=new TextDecoder,Q="",Y=function*(J){let K=Q.split(`
1467
+ - The subagent's output should generally be trusted.`;bD4={readOnlyHint:!1,destructiveHint:!1,idempotentHint:!1,openWorldHint:!0}});function FH$($){let Z={},X=$.split(/\r?\n/);for(let Q=0;Q<X.length;Q++){let Y=(X[Q]??"").trim();if(!Y||Y.startsWith("#"))continue;if(Y.startsWith("export "))Y=Y.slice(7).trim();let G=Y.indexOf("=");if(G<0)throw Error(`Line ${Q+1}: missing '='`);let J=Y.slice(0,G).trim();if(!xD4.test(J))throw Error(`Line ${Q+1}: invalid key "${J}"`);let K=Y.slice(G+1).trim();if(K.length>=2&&(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'")))K=K.slice(1,-1);Z[J]=K}return Z}var xD4;var HH$=D(()=>{xD4=/^[A-Za-z_][A-Za-z0-9_]*$/});async function UH$($){let Z=$.organization?.id;if(!Z)return{};try{let{value:X}=await $.storage.secrets.resolveByName({organizationId:Z,scope:{kind:"organization"},name:NH$});return FH$(X)}catch(X){if(X?.name!=="SecretNotFoundError")console.warn(`[org-run-env] ignoring the ${NH$} secret: ${X instanceof Error?X.message:String(X)}`);return{}}}function BH$($,Z){return{...$,...Z}}var NH$="TASK_RUN_ENV";var OH$=D(()=>{HH$()});async function*DH$($,Z,X){let Q=!1;for await(let Y of $){if(yield Y,Q||!Z)continue;if(Y.type!=="start")continue;Q=!0,yield{type:"message-metadata",messageMetadata:{models:{thinking:{id:Z,title:Z,provider:X}}}}}}function LH$($){let{role:Z,roleStatements:X,connectionIds:Q}=$;if(n7(Z??void 0))return Object.fromEntries(Q.map((G)=>[G,["*"]]));let Y={};for(let G of Q){let J=new Set;for(let K of X)for(let W of K[G]??[])J.add(W);if(J.size===0)continue;Y[G]=J.has("*")?["*"]:[...J]}return Y}function wH$($){return($??"").split(",").map((Z)=>Z.trim()).filter(Boolean)}var EH$=D(()=>{VQ()});function CC($){return $==="decopilot"||$==="claude-code"}function gD4($){return{type:"data-run-status",id:"run-status",data:{stage:$}}}function jH$($){if(!$||typeof $!=="object")return!1;return $.type==="data-run-status"}async function $G($){let{streamBuffer:Z,harnessId:X,taskId:Q,stage:Y}=$;if(!Z||!CC(X))return;try{await Z.publishRawChunk(Q,gD4(Y))}catch{}}var yD4,Nt,g_9;var _C=D(()=>{yD4=["waiting-runner","starting-run","starting-sandbox","waiting-capacity","gathering-context","preparing-tools","starting-assistant","analyzing-scope","retrying-provider"],Nt=["gathering-context","preparing-tools","starting-assistant","analyzing-scope"],g_9=new Set(yD4)});function Ut($){return $ instanceof Error&&$.superseded===!0}function RH$($){return $===404||$===410||$>=500}function Dg($){return $===vC}class ao0{ctx;virtualMcpId;branch;credential;resume;interactive;streamBuffer;constructor($){this.ctx=$.ctx,this.virtualMcpId=$.virtualMcpId,this.branch=$.branch,this.credential=$.credential,this.resume=$.resume??null,this.interactive=$.interactive??!1,this.streamBuffer=$.streamBuffer}dispatch($){return this.stream($)}async resolveWorkspace($){let Z=await LO(this.ctx,$);if(!Z)return this.branch===yH($)?{cwd:zH$,branch:gH(this.branch)}:{cwd:null};return{cwd:zH$,repo:{owner:Z.owner,name:Z.name,connectedGithub:Boolean(Z.connectionId)},branch:this.branch.startsWith("thread:")?gH(this.branch):this.branch}}async mcpForRun($,Z,X){let Q=await this.orgMcpConnections($),Y=await this.dispatcherConnectionGrants($.id,X,Q.map((W)=>W.id)),G=Q.filter((W)=>(W.id in Y)),J=await dO0(this.ctx,this.virtualMcpId,$,`${vC}-run`,"task-run",Z,eG$({toolNames:vn0,grants:Y}));if(G.length===0||!$.slug)return{mcp:J};let K=sG$({publicUrl:f9(),organizationSlug:$.slug,headers:J.headers,connections:G});return console.log(`[${vC}] org mcps: ${K.map((W)=>W.name).join(" ")||"none"}${Q.length===G.length?"":` (${Q.length-G.length} withheld \u2014 the `+"dispatching user has no grant for them)"}`),{mcp:J,orgMcps:K}}async dispatcherConnectionGrants($,Z,X){if(X.length===0)return{};let Y=(await this.ctx.db.selectFrom("member").select(["role"]).where("organizationId","=",$).where("userId","=",Z).executeTakeFirst())?.role,G=n7(Y??void 0)?[]:(await Promise.all(wH$(Y).map((J)=>Bt(this.ctx.db,$,J)))).filter((J)=>Boolean(J));return LH$({role:Y,roleStatements:G,connectionIds:X})}async orgMcpConnections($){if(!$.slug)return[];let[Z,X]=await Promise.all([this.ctx.storage.organizationSettings.get($.id),this.ctx.storage.virtualMcps.findById(this.virtualMcpId).catch(()=>null)]),Q=gY(Z?.flags,"coding_agent_org_mcps"),Y=new Set((X?.connections??[]).map((J)=>J.connection_id));if(!Q&&Y.size===0)return[];let{items:G}=await this.ctx.storage.connections.list($.id);return eD4({organizationId:$.id,orgWide:Q,ownIds:Y,connections:G})}async*stream($){if(!this.credential)throw Error(`the ${vC} harness needs a resolved model credential; this run has none (check the agent's thinking model)`);let Z=SJ$(this.credential,kJ$(this.ctx.metadata?.runMetadata?.[$D0])),X=this.ctx.organization;if(!X)throw Error(`the ${vC} harness needs an organization on the context to mint its MCP endpoint; this run has none`);let Q=BH$(await UH$(this.ctx),Z),Y=await $Q(this.ctx),G={...$,...await this.mcpForRun(X,$.threadId,$.user.id),workspace:await this.resolveWorkspace($.threadId)},J=$.threadId,{ctx:K,virtualMcpId:W,branch:F,interactive:H,streamBuffer:N}=this,U=this.credential.providerId,B=null,O=(L)=>async function*(){await $G({streamBuffer:N,harnessId:vC,taskId:J,stage:"starting-sandbox"});let w=await hy({virtualMcpId:W,branch:F,purpose:H?"interactive":"harness-run"},K);B=w.sandboxHandle,await pD4(Y,w.sandboxHandle,Q),yield*DH$(rD4({provider:Y,handle:w.sandboxHandle,input:L?{...G,resume:L}:G,runId:J,signal:$.signal}),L?null:Z.CLAUDE_CODE_MODEL,U)}();try{yield*lD4({runId:J,resume:this.resume,aborted:()=>$.signal?.aborted===!0,dispatchOnce:O,lastHandle:()=>B,describeTermination:async(L)=>L===null?null:mD4(await Y.lastTermination(L))})}finally{if(B&&!this.interactive&&b0().sandboxReleaseOnRunEndEnabled)await Y.releaseAfter(B,b0().sandboxReleaseGraceMs).catch(()=>{})}}}async function*lD4($){let Z=$.maxAttempts??hD4,X=$.maxTotalAttempts??uD4,Q=$.resume,Y=Q!==null,G=0;for(let J=1;;J++){let K=!1;try{for await(let W of $.dispatchOnce(Q)){if(K=!0,W.type==="start"){if(Y)continue;Y=!0}yield W}return}catch(W){if($.aborted())throw W;G=K?0:G+1;let F=W instanceof rQ?await $.describeTermination?.($.lastHandle?.()??null).catch(()=>null)??null:null;if(Ut(W)||!(W instanceof rQ)||G>=Z||J>=X){if(F&&W instanceof rQ)throw new rQ(W.reason,F);throw W}console.warn("[sandbox-dispatch] sandbox lost mid-run; continuing",{runId:$.runId,attempt:J,progressed:K,reason:W.message,termination:F}),Q={reason:dD4(W.message,F)}}}}function dD4($,Z){let X=`the sandbox running the previous attempt stopped answering (${$})`;if(!Z)return X;return`${X}. ${Z}. A replacement sandbox has been started from the last state pushed to the branch. Tell the user this happened, re-read the files you had been editing rather than trusting your memory of them, and if a step needs more memory than the sandbox has, split it instead of repeating what was killed`}function mD4($){if(!$)return null;if($.oomKilled)return`it was killed by the kernel for exceeding its memory limit${$.memoryLimit?` (memory limit ${$.memoryLimit})`:""} \u2014 OOMKilled`;if($.reason==="Completed")return null;let Z=$.exitCode===void 0?"":` (exit code ${$.exitCode})`;return`the sandbox container terminated with reason ${$.reason}${Z}`}async function pD4($,Z,X){let Q;try{Q=await $.proxyDaemonRequest(Z,"/_sandbox/config",{method:"PUT",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({env:X}),signal:AbortSignal.timeout(iD4)})}catch(Y){throw new rQ(`could not push the model env to the sandbox: ${Y instanceof Error?Y.message:String(Y)}`)}if(!Q.ok){let Y=`failed to push model env to the sandbox (${Q.status} ${Q.statusText})`;if(RH$(Q.status))throw new rQ(Y);throw Error(Y)}}function nD4($){let{signal:Z,...X}=$;return X}function oD4($,Z){let X=()=>void $.renewTtl(Z).catch((Y)=>console.warn(`[sandbox-dispatch] TTL renew failed for ${Z}: ${Y instanceof Error?Y.message:String(Y)}`));X();let Q=setInterval(X,tD4);return Q.unref?.(),()=>clearInterval(Q)}async function*rD4($){let Z=Date.now(),X=nD4($.input),Q=(F=!1)=>$.provider.proxyDaemonRequest($.handle,"/_sandbox/dispatch",{method:"POST",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({...F?{harnessId:vC}:{},runId:$.runId,input:X}),...$.signal?{signal:$.signal}:{}}),Y;try{if(Y=await Q(),Y.status===400){let F=await Y.clone().json().catch(()=>null);if(typeof F==="object"&&F!==null&&"error"in F&&F.error==="missing_harness_id")Y=await Q(!0)}}catch(F){if($.signal?.aborted)throw F;throw new rQ(`could not reach the sandbox daemon: ${F instanceof Error?F.message:String(F)}`)}if(!Y.ok){let F=await Y.text().catch(()=>Y.statusText),H=`sandbox dispatch failed (${Y.status}): ${F.slice(0,512)}`;if(RH$(Y.status))throw new rQ(H);throw Error(H)}if(!Y.body)throw new rQ("dispatch returned no body");let G=oD4($.provider,$.handle),J=0,K=null,W=!1;try{for await(let F of sD4(Y.body,$.signal)){let H=CJ$.safeParse(F);if(!H.success)throw Error(`sandbox dispatch returned a malformed frame: ${H.error.message}`);if(J+=H.data.chunks.length,yield*H.data.chunks,K??=H.data.error,H.data.done)W=!0}}finally{G()}if(console.log("[sandbox-dispatch] run ended",{runId:$.runId,handle:$.handle,chunks:J,elapsedMs:Date.now()-Z,done:W,error:K?.code??null}),!W&&!K)throw new rQ(`the sandbox stopped streaming after ${J} chunks without finishing the run`);if(K)throw aD4(K.code,K.message)}function aD4($,Z){if($===cD4)return new TH$(Z);if($===vJ$)return new rQ(Z);return Error(`${$}: ${Z}`)}async function*sD4($,Z){let X=new TextDecoder,Q="",Y=function*(J){let K=Q.split(`
1468
1468
  `);Q=J?K.pop()??"":"";for(let W of K){if(W.trim().length===0)continue;try{yield JSON.parse(W)}catch(F){throw Error(`sandbox dispatch produced a non-JSON line: ${F instanceof Error?F.message:String(F)} (line: ${W.slice(0,256)})`)}}},G=$[Symbol.asyncIterator]();try{for(;;){let J=new AbortController,K=G.next().then((H)=>{return J.abort(),H}),W=L$(PH$,{signal:J.signal}).then(()=>"silent").catch(()=>"read-won"),F=await Promise.race([K,W]).catch((H)=>{if(Z?.aborted)throw H;let N=H instanceof Error?H.message:String(H);if(!ro0(N))throw H;throw new rQ(`the sandbox stream broke mid-run: ${N}`)});if(F==="silent"){if(Z?.aborted)return;throw new rQ(`no output from the sandbox for ${PH$/1000}s (its keepalive is every 15s, so the pod is gone)`)}if(F==="read-won")continue;if(F.done)break;if(Q+=X.decode(F.value,{stream:!0}),yield*Y(!0),Q.length>AH$)throw Error(`sandbox dispatch produced a line over ${AH$} chars without a newline \u2014 refusing to buffer it further`)}Q+=X.decode(),yield*Y(!1)}finally{await G.return?.().catch(()=>{})}}function eD4($){return $.connections.filter((Z)=>($.orgWide||$.ownIds.has(Z.id))&&Z.status==="active"&&!$L4($.organizationId,Z.id))}function $L4($,Z){return[C8.SELF,C8.REGISTRY,C8.COMMUNITY_REGISTRY,C8.DEV_ASSETS,C8.COMMERCE_DISCOVERY].some((X)=>X($)===Z)}var zH$="/repo",vC="claude-code",hD4=2,uD4=5,PH$=90000,AH$=67108864,rQ,TH$,cD4="superseded",iD4=30000,tD4=300000;var EL0=D(()=>{K4();_J$();uo0();ZD0();OH$();_n0();xZ();_8();VQ();lO();EH$();_O();$9();u3();R$();vn();_C();b3();rQ=class rQ extends Error{reason;constructor($,Z){super(`${XD0} ${$}${Z?` \u2014 ${Z}`:""}`);this.name="SandboxUnreachableError",this.reason=$}};TH$=class TH$ extends Error{superseded=!0;constructor($){super($);this.name="RunSupersededError"}}});function so0($){if($.providerId==="openai-compatible")try{let Z=JSON.parse($.apiKey);return{kind:"secret",providerId:$.providerId,apiKey:Z.apiKey??"",modelId:$.modelId,...Z.baseUrl?{baseUrl:Z.baseUrl}:{}}}catch{return{kind:"secret",providerId:$.providerId,apiKey:$.apiKey,modelId:$.modelId}}return{kind:"secret",providerId:$.providerId,apiKey:$.apiKey,modelId:$.modelId}}var IH$=D(()=>{mK();Ub()});var qH$=D(()=>{IH$()});import{z as Ot}from"zod/v4";import{z as M}from"zod/v4";import{z as W1}from"zod/v4";import{z as NZ}from"zod/v4";import{z as UJ}from"zod/v4";import{z as q9}from"zod/v4";import{z as M9}from"zod/v4";import{z as P6}from"zod/v4";import{z as A6}from"zod/v4";import{z as n3}from"zod/v4";import{z as e1}from"zod/v4";import{z as f1}from"zod/v4";import{z as fC}from"zod/v4";import{z as Xr0}from"zod/v4";import{z as Qr0}from"zod/v4";import{z as Dt}from"zod/v4";import{z as NJ}from"zod/v4";import{z as L7}from"zod/v4";import{z as v6}from"zod/v4";import{z as xW}from"zod/v4";import{z as yW}from"zod/v4";import{z as gW}from"zod/v4";import{z as bC}from"zod/v4";function JL4($){var Z;let X=$==null?void 0:$.anthropic;return(Z=X==null?void 0:X.cacheControl)!=null?Z:X==null?void 0:X.cache_control}async function vL4({tools:$,toolChoice:Z,disableParallelToolUse:X,cacheControlValidator:Q,supportsStructuredOutput:Y,supportsStrictTools:G,defaultEagerInputStreaming:J=!1}){var K,W;$=($==null?void 0:$.length)?$:void 0;let F=[],H=new Set,N=Q||new Yr0;if($==null)return{tools:void 0,toolChoice:void 0,toolWarnings:F,betas:H};let U=[];for(let O of $)switch(O.type){case"function":{let L=N.getCacheControl(O.providerOptions,{type:"tool definition",canCache:!0}),w=(K=O.providerOptions)==null?void 0:K.anthropic,E=(W=w==null?void 0:w.eagerInputStreaming)!=null?W:J,j=w==null?void 0:w.deferLoading,z=w==null?void 0:w.allowedCallers;if(!G&&O.strict!=null)F.push({type:"unsupported",feature:"strict",details:`Tool '${O.name}' has strict: ${O.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`});if(U.push({name:O.name,description:O.description,input_schema:O.inputSchema,cache_control:L,...E?{eager_input_streaming:!0}:{},...G===!0&&O.strict!=null?{strict:O.strict}:{},...j!=null?{defer_loading:j}:{},...z!=null?{allowed_callers:z}:{},...O.inputExamples!=null?{input_examples:O.inputExamples.map((A)=>A.input)}:{}}),Y===!0)H.add("structured-outputs-2025-11-13");if(O.inputExamples!=null||z!=null)H.add("advanced-tool-use-2025-11-20");break}case"provider":{switch(O.id){case"anthropic.code_execution_20250522":{H.add("code-execution-2025-05-22"),U.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break}case"anthropic.code_execution_20250825":{H.add("code-execution-2025-08-25"),U.push({type:"code_execution_20250825",name:"code_execution"});break}case"anthropic.code_execution_20260120":{U.push({type:"code_execution_20260120",name:"code_execution"});break}case"anthropic.computer_20250124":{H.add("computer-use-2025-01-24"),U.push({name:"computer",type:"computer_20250124",display_width_px:O.args.displayWidthPx,display_height_px:O.args.displayHeightPx,display_number:O.args.displayNumber,cache_control:void 0});break}case"anthropic.computer_20251124":{H.add("computer-use-2025-11-24"),U.push({name:"computer",type:"computer_20251124",display_width_px:O.args.displayWidthPx,display_height_px:O.args.displayHeightPx,display_number:O.args.displayNumber,enable_zoom:O.args.enableZoom,cache_control:void 0});break}case"anthropic.computer_20241022":{H.add("computer-use-2024-10-22"),U.push({name:"computer",type:"computer_20241022",display_width_px:O.args.displayWidthPx,display_height_px:O.args.displayHeightPx,display_number:O.args.displayNumber,cache_control:void 0});break}case"anthropic.text_editor_20250124":{H.add("computer-use-2025-01-24"),U.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break}case"anthropic.text_editor_20241022":{H.add("computer-use-2024-10-22"),U.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break}case"anthropic.text_editor_20250429":{H.add("computer-use-2025-01-24"),U.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break}case"anthropic.text_editor_20250728":{let L=await g$({value:O.args,schema:NL4});U.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:L.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":{H.add("computer-use-2025-01-24"),U.push({name:"bash",type:"bash_20250124",cache_control:void 0});break}case"anthropic.bash_20241022":{H.add("computer-use-2024-10-22"),U.push({name:"bash",type:"bash_20241022",cache_control:void 0});break}case"anthropic.memory_20250818":{H.add("context-management-2025-06-27"),U.push({name:"memory",type:"memory_20250818"});break}case"anthropic.web_fetch_20250910":{H.add("web-fetch-2025-09-10");let L=await g$({value:O.args,schema:VL4});U.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:L.maxUses,allowed_domains:L.allowedDomains,blocked_domains:L.blockedDomains,citations:L.citations,max_content_tokens:L.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{H.add("code-execution-web-tools-2026-02-09");let L=await g$({value:O.args,schema:RL4});U.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:L.maxUses,allowed_domains:L.allowedDomains,blocked_domains:L.blockedDomains,citations:L.citations,max_content_tokens:L.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let L=await g$({value:O.args,schema:zL4});U.push({type:"web_search_20250305",name:"web_search",max_uses:L.maxUses,allowed_domains:L.allowedDomains,blocked_domains:L.blockedDomains,user_location:L.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{H.add("code-execution-web-tools-2026-02-09");let L=await g$({value:O.args,schema:DL4});U.push({type:"web_search_20260209",name:"web_search",max_uses:L.maxUses,allowed_domains:L.allowedDomains,blocked_domains:L.blockedDomains,user_location:L.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":{U.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break}case"anthropic.tool_search_bm25_20251119":{U.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break}case"anthropic.advisor_20260301":{H.add("advisor-tool-2026-03-01");let L=await g$({value:O.args,schema:KL4});U.push({type:"advisor_20260301",name:"advisor",model:L.model,...L.maxUses!==void 0&&{max_uses:L.maxUses},...L.caching!==void 0&&{caching:L.caching}});break}default:{F.push({type:"unsupported",feature:`provider-defined tool ${O.id}`});break}}break}default:{F.push({type:"unsupported",feature:`tool ${O}`});break}}if(Z==null)return{tools:U,toolChoice:X?{type:"auto",disable_parallel_tool_use:X}:void 0,toolWarnings:F,betas:H};let B=Z.type;switch(B){case"auto":return{tools:U,toolChoice:{type:"auto",disable_parallel_tool_use:X},toolWarnings:F,betas:H};case"required":return{tools:U,toolChoice:{type:"any",disable_parallel_tool_use:X},toolWarnings:F,betas:H};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:F,betas:H};case"tool":return{tools:U,toolChoice:{type:"tool",name:Z.toolName,disable_parallel_tool_use:X},toolWarnings:F,betas:H};default:throw new v4({functionality:`tool choice type: ${B}`})}}function CH$({usage:$,rawUsage:Z}){var X,Q,Y;let G=(X=$.cache_creation_input_tokens)!=null?X:0,J=(Q=$.cache_read_input_tokens)!=null?Q:0,K,W,F=(Y=$.iterations)==null?void 0:Y.some((H)=>H.type==="fallback_message");if($.iterations&&$.iterations.length>0&&!F){let H=$.iterations.filter((N)=>N.type==="compaction"||N.type==="message");if(H.length>0){let N=H.reduce((U,B)=>({input:U.input+B.input_tokens,output:U.output+B.output_tokens}),{input:0,output:0});K=N.input,W=N.output}else K=$.input_tokens,W=$.output_tokens}else K=$.input_tokens,W=$.output_tokens;return{inputTokens:{total:K+G+J,noCache:K,cacheRead:J,cacheWrite:G},outputTokens:{total:W,text:void 0,reasoning:void 0},raw:Z!=null?Z:$}}function pL4($){if(typeof $==="string")return new TextDecoder().decode(P9($));if($ instanceof Uint8Array)return new TextDecoder().decode($);if($ instanceof URL)throw new v4({functionality:"URL-based text documents are not supported for citations"});throw new v4({functionality:`unsupported data type for text documents: ${typeof $}`})}function eo0($){return $ instanceof URL||nL4($)}function nL4($){return typeof $==="string"&&/^https?:\/\//i.test($)}function $r0($){return $ instanceof URL?$.toString():$}async function _H$($){if(typeof $==="string"){let Z=await gZ({text:$});if(Z.success&&typeof Z.value==="object"&&Z.value!==null)return Z.value;return{errorCode:"unavailable"}}if(typeof $==="object"&&$!==null)return $;return{}}async function tL4({prompt:$,sendReasoning:Z,warnings:X,cacheControlValidator:Q,toolNameMapping:Y}){var G,J,K,W,F,H,N,U,B,O,L,w,E,j,z,A,P,I,q,k,S;let m=new Set,f=oL4($),b=Q||new Yr0,i=void 0,u=[];async function o(E0){var s,a;let z0=await a8({provider:"anthropic",providerOptions:E0,schema:kH$});return(a=(s=z0==null?void 0:z0.citations)==null?void 0:s.enabled)!=null?a:!1}async function U0(E0){let s=await a8({provider:"anthropic",providerOptions:E0,schema:kH$});return{title:s==null?void 0:s.title,context:s==null?void 0:s.context}}for(let E0=0;E0<f.length;E0++){let s=f[E0],a=E0===f.length-1,z0=s.type;switch(z0){case"system":{let X0=s.messages.map(({content:P0,providerOptions:g0})=>({type:"text",text:P0,cache_control:b.getCacheControl(g0,{type:"system message",canCache:!0})}));if(i==null)i=X0;else u.push({role:"system",content:X0}),m.add("mid-conversation-system-2026-04-07");break}case"user":{let X0=[];for(let P0 of s.messages){let{role:g0,content:R0}=P0;switch(g0){case"user":{for(let c0=0;c0<R0.length;c0++){let Y0=R0[c0],O0=c0===R0.length-1,L0=(G=b.getCacheControl(Y0.providerOptions,{type:"user message part",canCache:!0}))!=null?G:O0?b.getCacheControl(P0.providerOptions,{type:"user message",canCache:!0}):void 0;switch(Y0.type){case"text":{X0.push({type:"text",text:Y0.text,cache_control:L0});break}case"file":{if(Y0.mediaType.startsWith("image/"))X0.push({type:"image",source:eo0(Y0.data)?{type:"url",url:$r0(Y0.data)}:{type:"base64",media_type:Y0.mediaType==="image/*"?"image/jpeg":Y0.mediaType,data:KZ(Y0.data)},cache_control:L0});else if(Y0.mediaType==="application/pdf"){m.add("pdfs-2024-09-25");let I0=await o(Y0.providerOptions),Z0=await U0(Y0.providerOptions);X0.push({type:"document",source:eo0(Y0.data)?{type:"url",url:$r0(Y0.data)}:{type:"base64",media_type:"application/pdf",data:KZ(Y0.data)},title:(J=Z0.title)!=null?J:Y0.filename,...Z0.context&&{context:Z0.context},...I0&&{citations:{enabled:!0}},cache_control:L0})}else if(Y0.mediaType==="text/plain"){let I0=await o(Y0.providerOptions),Z0=await U0(Y0.providerOptions);X0.push({type:"document",source:eo0(Y0.data)?{type:"url",url:$r0(Y0.data)}:{type:"text",media_type:"text/plain",data:pL4(Y0.data)},title:(K=Z0.title)!=null?K:Y0.filename,...Z0.context&&{context:Z0.context},...I0&&{citations:{enabled:!0}},cache_control:L0})}else throw new v4({functionality:`media type: ${Y0.mediaType}`});break}}}break}case"tool":{for(let c0=0;c0<R0.length;c0++){let Y0=R0[c0];if(Y0.type==="tool-approval-response")continue;let O0=Y0.output,L0="providerOptions"in O0?O0.providerOptions:O0.type==="content"?(W=O0.value.find((q0)=>q0.providerOptions!=null))==null?void 0:W.providerOptions:void 0,I0=c0===R0.length-1,Z0=(H=(F=b.getCacheControl(Y0.providerOptions,{type:"tool result part",canCache:!0}))!=null?F:b.getCacheControl(L0,{type:"tool result output",canCache:!0}))!=null?H:I0?b.getCacheControl(P0.providerOptions,{type:"tool result message",canCache:!0}):void 0,Q0;switch(O0.type){case"content":Q0=O0.value.map((q0)=>{var W0;switch(q0.type){case"text":return{type:"text",text:q0.text};case"image-data":return{type:"image",source:{type:"base64",media_type:q0.mediaType,data:q0.data}};case"image-url":return{type:"image",source:{type:"url",url:q0.url}};case"file-url":return{type:"document",source:{type:"url",url:q0.url}};case"file-data":{if(q0.mediaType==="application/pdf")return m.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:q0.mediaType,data:q0.data}};X.push({type:"other",message:`unsupported tool content part type: ${q0.type} with media type: ${q0.mediaType}`});return}case"custom":{let N0=(W0=q0.providerOptions)==null?void 0:W0.anthropic;if((N0==null?void 0:N0.type)==="tool-reference")return{type:"tool_reference",tool_name:N0.toolName};X.push({type:"other",message:"unsupported custom tool content part"});return}default:{X.push({type:"other",message:`unsupported tool content part type: ${q0.type}`});return}}}).filter(wE);break;case"text":case"error-text":Q0=O0.value;break;case"execution-denied":Q0=(N=O0.reason)!=null?N:"Tool execution denied.";break;case"json":case"error-json":default:Q0=JSON.stringify(O0.value);break}X0.push({type:"tool_result",tool_use_id:Y0.toolCallId,content:Q0,is_error:O0.type==="error-text"||O0.type==="error-json"?!0:void 0,cache_control:Z0})}break}default:throw Error(`Unsupported role: ${g0}`)}}u.push({role:"user",content:X0});break}case"assistant":{let X0=[],P0=new Set;for(let g0=0;g0<s.messages.length;g0++){let R0=s.messages[g0],c0=g0===s.messages.length-1,{content:Y0}=R0;for(let O0=0;O0<Y0.length;O0++){let L0=Y0[O0],I0=O0===Y0.length-1,Z0=(U=b.getCacheControl(L0.providerOptions,{type:"assistant message part",canCache:!0}))!=null?U:I0?b.getCacheControl(R0.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(L0.type){case"text":{let Q0=(B=L0.providerOptions)==null?void 0:B.anthropic;if((Q0==null?void 0:Q0.type)==="compaction")X0.push({type:"compaction",content:L0.text,cache_control:Z0});else X0.push({type:"text",text:a&&c0&&I0?L0.text.trim():L0.text,cache_control:Z0});break}case"reasoning":{if(Z){let Q0=await a8({provider:"anthropic",providerOptions:L0.providerOptions,schema:GL4});if(Q0!=null)if(Q0.signature!=null)b.getCacheControl(L0.providerOptions,{type:"thinking block",canCache:!1}),X0.push({type:"thinking",thinking:L0.text,signature:Q0.signature});else if(Q0.redactedData!=null)b.getCacheControl(L0.providerOptions,{type:"redacted thinking block",canCache:!1}),X0.push({type:"redacted_thinking",data:Q0.redactedData});else X.push({type:"other",message:"unsupported reasoning metadata"});else X.push({type:"other",message:"unsupported reasoning metadata"})}else X.push({type:"other",message:"sending reasoning content is disabled for this model"});break}case"tool-call":{if(L0.providerExecuted){let W0=Y.toProviderToolName(L0.toolName);if(((L=(O=L0.providerOptions)==null?void 0:O.anthropic)==null?void 0:L.type)==="mcp-tool-use"){P0.add(L0.toolCallId);let E1=(E=(w=L0.providerOptions)==null?void 0:w.anthropic)==null?void 0:E.serverName;if(E1==null||typeof E1!=="string"){X.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}X0.push({type:"mcp_tool_use",id:L0.toolCallId,name:L0.toolName,input:L0.input,server_name:E1,cache_control:Z0})}else if(W0==="code_execution"&&L0.input!=null&&typeof L0.input==="object"&&"type"in L0.input&&typeof L0.input.type==="string"&&(L0.input.type==="bash_code_execution"||L0.input.type==="text_editor_code_execution"))X0.push({type:"server_tool_use",id:L0.toolCallId,name:L0.input.type,input:L0.input,cache_control:Z0});else if(W0==="code_execution"&&L0.input!=null&&typeof L0.input==="object"&&"type"in L0.input&&L0.input.type==="programmatic-tool-call"){let{type:E1,...C0}=L0.input;X0.push({type:"server_tool_use",id:L0.toolCallId,name:"code_execution",input:C0,cache_control:Z0})}else if(W0==="code_execution"||W0==="web_fetch"||W0==="web_search")X0.push({type:"server_tool_use",id:L0.toolCallId,name:W0,input:L0.input,cache_control:Z0});else if(W0==="tool_search_tool_regex"||W0==="tool_search_tool_bm25")X0.push({type:"server_tool_use",id:L0.toolCallId,name:W0,input:L0.input,cache_control:Z0});else if(W0==="advisor")X0.push({type:"server_tool_use",id:L0.toolCallId,name:"advisor",input:{},cache_control:Z0});else X.push({type:"other",message:`provider executed tool call for tool ${L0.toolName} is not supported`});break}let Q0=(j=L0.providerOptions)==null?void 0:j.anthropic,q0=(Q0==null?void 0:Q0.caller)?(Q0.caller.type==="code_execution_20250825"||Q0.caller.type==="code_execution_20260120")&&Q0.caller.toolId?{type:Q0.caller.type,tool_id:Q0.caller.toolId}:Q0.caller.type==="direct"?{type:"direct"}:void 0:void 0;X0.push({type:"tool_use",id:L0.toolCallId,name:L0.toolName,input:L0.input,...q0&&{caller:q0},cache_control:Z0});break}case"tool-result":{let Q0=Y.toProviderToolName(L0.toolName);if(P0.has(L0.toolCallId)){let q0=L0.output;if(q0.type!=="json"&&q0.type!=="error-json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}X0.push({type:"mcp_tool_result",tool_use_id:L0.toolCallId,is_error:q0.type==="error-json",content:q0.value,cache_control:Z0})}else if(Q0==="code_execution"){let q0=L0.output;if(q0.type==="error-text"||q0.type==="error-json"){let W0={};try{if(typeof q0.value==="string")W0=JSON.parse(q0.value);else if(typeof q0.value==="object"&&q0.value!==null)W0=q0.value}catch(N0){}if(W0.type==="code_execution_tool_result_error")X0.push({type:"code_execution_tool_result",tool_use_id:L0.toolCallId,content:{type:"code_execution_tool_result_error",error_code:(z=W0.errorCode)!=null?z:"unknown"},cache_control:Z0});else X0.push({type:"bash_code_execution_tool_result",tool_use_id:L0.toolCallId,cache_control:Z0,content:{type:"bash_code_execution_tool_result_error",error_code:(A=W0.errorCode)!=null?A:"unknown"}});break}if(q0.type!=="json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}if(q0.value==null||typeof q0.value!=="object"||!("type"in q0.value)||typeof q0.value.type!=="string"){X.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${L0.toolName}`});break}if(q0.value.type==="code_execution_result"){let W0=await g$({value:q0.value,schema:cH$});X0.push({type:"code_execution_tool_result",tool_use_id:L0.toolCallId,content:{type:W0.type,stdout:W0.stdout,stderr:W0.stderr,return_code:W0.return_code,content:(P=W0.content)!=null?P:[]},cache_control:Z0})}else if(q0.value.type==="encrypted_code_execution_result"){let W0=await g$({value:q0.value,schema:dH$});if(W0.type==="encrypted_code_execution_result")X0.push({type:"code_execution_tool_result",tool_use_id:L0.toolCallId,content:{type:W0.type,encrypted_stdout:W0.encrypted_stdout,stderr:W0.stderr,return_code:W0.return_code,content:(I=W0.content)!=null?I:[]},cache_control:Z0})}else{let W0=await g$({value:q0.value,schema:lH$});if(W0.type==="code_execution_result")X0.push({type:"code_execution_tool_result",tool_use_id:L0.toolCallId,content:{type:W0.type,stdout:W0.stdout,stderr:W0.stderr,return_code:W0.return_code,content:(q=W0.content)!=null?q:[]},cache_control:Z0});else if(W0.type==="bash_code_execution_result"||W0.type==="bash_code_execution_tool_result_error")X0.push({type:"bash_code_execution_tool_result",tool_use_id:L0.toolCallId,cache_control:Z0,content:W0});else X0.push({type:"text_editor_code_execution_tool_result",tool_use_id:L0.toolCallId,cache_control:Z0,content:W0})}break}if(Q0==="web_fetch"){let q0=L0.output;if(q0.type==="error-json"){X0.push({type:"web_fetch_tool_result",tool_use_id:L0.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:(k=(await _H$(q0.value)).errorCode)!=null?k:"unavailable"},cache_control:Z0});break}if(q0.type!=="json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}let W0=await g$({value:q0.value,schema:uH$});X0.push({type:"web_fetch_tool_result",tool_use_id:L0.toolCallId,content:{type:"web_fetch_result",url:W0.url,retrieved_at:W0.retrievedAt,content:{type:"document",title:W0.content.title,citations:W0.content.citations,source:{type:W0.content.source.type,media_type:W0.content.source.mediaType,data:W0.content.source.data}}},cache_control:Z0});break}if(Q0==="web_search"){let q0=L0.output;if(q0.type==="error-json"){X0.push({type:"web_search_tool_result",tool_use_id:L0.toolCallId,content:{type:"web_search_tool_result_error",error_code:(S=(await _H$(q0.value)).errorCode)!=null?S:"unavailable"},cache_control:Z0});break}if(q0.type!=="json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}let W0=await g$({value:q0.value,schema:hH$});X0.push({type:"web_search_tool_result",tool_use_id:L0.toolCallId,content:W0.map((N0)=>({url:N0.url,title:N0.title,page_age:N0.pageAge,encrypted_content:N0.encryptedContent,type:N0.type})),cache_control:Z0});break}if(Q0==="tool_search_tool_regex"||Q0==="tool_search_tool_bm25"){let q0=L0.output;if(q0.type!=="json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}let N0=(await g$({value:q0.value,schema:mH$})).map((E1)=>({type:"tool_reference",tool_name:E1.toolName}));X0.push({type:"tool_search_tool_result",tool_use_id:L0.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:N0},cache_control:Z0});break}if(Q0==="advisor"){let q0=L0.output;if(q0.type!=="json"&&q0.type!=="error-json"){X.push({type:"other",message:`provider executed tool result output type ${q0.type} for tool ${L0.toolName} is not supported`});break}let W0=await g$({value:q0.value,schema:gH$});if(W0.type==="advisor_result")X0.push({type:"advisor_tool_result",tool_use_id:L0.toolCallId,content:{type:"advisor_result",text:W0.text},cache_control:Z0});else if(W0.type==="advisor_redacted_result")X0.push({type:"advisor_tool_result",tool_use_id:L0.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:W0.encryptedContent},cache_control:Z0});else X0.push({type:"advisor_tool_result",tool_use_id:L0.toolCallId,content:{type:"advisor_tool_result_error",error_code:W0.errorCode},cache_control:Z0});break}X.push({type:"other",message:`provider executed tool result for tool ${L0.toolName} is not supported`});break}}}}u.push({role:"assistant",content:X0});break}default:throw Error(`content type: ${z0}`)}}return{prompt:{system:i,messages:u},betas:m}}function oL4($){let Z=[],X=void 0;for(let Q of $){let{role:Y}=Q;switch(Y){case"system":{if((X==null?void 0:X.type)!=="system")X={type:"system",messages:[]},Z.push(X);X.messages.push(Q);break}case"assistant":{if((X==null?void 0:X.type)!=="assistant")X={type:"assistant",messages:[]},Z.push(X);X.messages.push(Q);break}case"user":{if((X==null?void 0:X.type)!=="user")X={type:"user",messages:[]},Z.push(X);X.messages.push(Q);break}case"tool":{if((X==null?void 0:X.type)!=="user")X={type:"user",messages:[]},Z.push(X);X.messages.push(Q);break}default:throw Error(`Unsupported role: ${Y}`)}}return Z}function Zr0({finishReason:$,isJsonResponseFromTool:Z}){switch($){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return Z?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"compaction":return"other";default:return"other"}}function aL4($){return pH$($)}function pO($){if(typeof $==="boolean"||!Zw4($))return $;return pH$($)}function pH$($){let Z={},X=$;if($.$ref!=null)return{$ref:$.$ref};if($.$schema!=null)Z.$schema=$.$schema;if($.$id!=null)Z.$id=$.$id;if($.title!=null)Z.title=$.title;if($.description!=null)Z.description=$.description;if($.default!==void 0)Z.default=$.default;if($.const!==void 0)Z.const=$.const;if($.enum!=null)Z.enum=$.enum;if($.type!=null)Z.type=$.type;if($.anyOf!=null)Z.anyOf=$.anyOf.map(pO);else if($.oneOf!=null)Z.anyOf=$.oneOf.map(pO);if($.allOf!=null)Z.allOf=$.allOf.map(pO);if($.definitions!=null)Z.definitions=Object.fromEntries(Object.entries($.definitions).map(([Y,G])=>[Y,pO(G)]));if(X.$defs!=null){let Y=Z;Y.$defs=Object.fromEntries(Object.entries(X.$defs).map(([G,J])=>[G,pO(J)]))}if($.type==="object"||$.properties!=null){if($.properties!=null)Z.properties=Object.fromEntries(Object.entries($.properties).map(([Y,G])=>[Y,pO(G)]));if(Z.additionalProperties=!1,$.required!=null)Z.required=$.required}if($.items!=null)Z.items=Array.isArray($.items)?$.items.map(pO):pO($.items);if(typeof $.format==="string"&&iH$.has($.format))Z.format=$.format;let Q=sL4($);if(Q!=null)Z.description=Z.description==null?Q:`${Z.description}
1469
1469
  ${Q}`;return Z}function sL4($){let Z=rL4.flatMap((X)=>{let Q=$[X];if(Q==null||Q===!1)return[];return`${eL4(X)}: ${$w4(Q)}`});if(typeof $.format==="string"&&!iH$.has($.format))Z.push(`format: ${$.format}`);return Z.length===0?void 0:`${Z.join("; ")}.`}function eL4($){return $.replace(/[A-Z]/g,(Z)=>` ${Z.toLowerCase()}`)}function $w4($){if(typeof $==="string")return $;return JSON.stringify($)}function Zw4($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function vH$($,Z,X){var Q;if($.type==="web_search_result_location")return{type:"source",sourceType:"url",id:X(),url:$.url,title:$.title,providerMetadata:{anthropic:{citedText:$.cited_text,encryptedIndex:$.encrypted_index}}};if($.type!=="page_location"&&$.type!=="char_location")return;let Y=Z[$.document_index];if(!Y)return;return{type:"source",sourceType:"document",id:X(),mediaType:Y.mediaType,title:(Q=$.document_title)!=null?Q:Y.title,filename:Y.filename,providerMetadata:{anthropic:$.type==="page_location"?{citedText:$.cited_text,startPageNumber:$.start_page_number,endPageNumber:$.end_page_number}:{citedText:$.cited_text,startCharIndex:$.start_char_index,endCharIndex:$.end_char_index}}}}function Qw4($){if($.includes("claude-opus-4-8")||$.includes("claude-opus-4-7")||$.includes("claude-fable-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,isKnownModel:!0};else if($.includes("claude-sonnet-4-6")||$.includes("claude-opus-4-6"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,isKnownModel:!0};else if($.includes("claude-sonnet-4-5")||$.includes("claude-opus-4-5")||$.includes("claude-haiku-4-5"))return{maxOutputTokens:64000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,isKnownModel:!0};else if($.includes("claude-opus-4-1"))return{maxOutputTokens:32000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,isKnownModel:!0};else if($.includes("claude-sonnet-4-"))return{maxOutputTokens:64000,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,isKnownModel:!0};else if($.includes("claude-opus-4-"))return{maxOutputTokens:32000,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,isKnownModel:!0};else if($.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,isKnownModel:!0};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,isKnownModel:!1}}function fH$($){if(!$)return!1;let Z=!1,X=!1;for(let Q of $){if("type"in Q&&(Q.type==="web_fetch_20260209"||Q.type==="web_search_20260209")){Z=!0;continue}if(Q.name==="code_execution"){X=!0;break}}return Z&&!X}function bH$($){return $?{appliedEdits:$.applied_edits.map((Z)=>{switch(Z.type){case"clear_tool_uses_20250919":return{type:Z.type,clearedToolUses:Z.cleared_tool_uses,clearedInputTokens:Z.cleared_input_tokens};case"clear_thinking_20251015":return{type:Z.type,clearedThinkingTurns:Z.cleared_thinking_turns,clearedInputTokens:Z.cleared_input_tokens};case"compact_20260112":return{type:Z.type}}}).filter((Z)=>Z!==void 0)}:null}function xH$($){if($==null)return;return{type:$.type,...$.category!=null?{category:$.category}:{},...$.explanation!=null?{explanation:$.explanation}:{},...$.recommended_model!=null?{recommendedModel:$.recommended_model}:{}}}function Lt($={}){var Z,X;let Q=(Z=JO(LW({settingValue:$.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"})))!=null?Z:"https://api.anthropic.com/v1",Y=(X=$.name)!=null?X:"anthropic.messages";if($.apiKey&&$.authToken)throw new QO({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let G=()=>{let W=$.authToken?{Authorization:`Bearer ${$.authToken}`}:{"x-api-key":Wy({apiKey:$.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return t4({"anthropic-version":"2023-06-01",...W,...$.headers},`ai-sdk/anthropic/${ZL4}`)},J=(W)=>{var F;return new Xw4(W,{provider:Y,baseURL:Q,headers:G,fetch:$.fetch,generateId:(F=$.generateId)!=null?F:g8,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]})})},K=function(W){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return J(W)};return K.specificationVersion="v3",K.languageModel=J,K.chat=J,K.messages=J,K.embeddingModel=(W)=>{throw new c5({modelId:W,modelType:"embeddingModel"})},K.textEmbeddingModel=K.embeddingModel,K.imageModel=(W)=>{throw new c5({modelId:W,modelType:"imageModel"})},K.tools=qw4,K}var ZL4="3.0.85",XL4,MH$,yH$,QL4,YL4,GL4,kH$,VH$,SH$=4,Yr0=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl($,Z){let X=JL4($);if(!X)return;if(!Z.canCache){this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${Z.type}. It will be ignored.`});return}if(this.breakpointCount++,this.breakpointCount>SH$){this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum ${SH$} cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`});return}return X}getWarnings(){return this.warnings}},KL4,gH$,WL4,FL4,HL4=($)=>{return FL4($)},NL4,UL4,BL4,OL4=($={})=>{return BL4($)},DL4,LL4,wL4,EL4,jL4=($={})=>{return EL4($)},zL4,hH$,PL4,AL4,TL4=($={})=>{return AL4($)},RL4,IL4,qL4,ML4,kL4=($={})=>{return ML4($)},VL4,uH$,SL4,CL4,_L4=($={})=>{return CL4($)},cH$,fL4,bL4,xL4=($={})=>{return bL4($)},lH$,yL4,gL4,hL4=($={})=>{return gL4($)},dH$,uL4,cL4,lL4=($={})=>{return cL4($)},mH$,dL4,mL4,iL4=($={})=>{return mL4($)},iH$,rL4,Xw4=class{constructor($,Z){this.specificationVersion="v3";var X;this.modelId=$,this.config=Z,this.generateId=(X=Z.generateId)!=null?X:g8}supportsUrl($){return $.protocol==="https:"}get provider(){return this.config.provider}get providerOptionsName(){let $=this.config.provider,Z=$.indexOf(".");return Z===-1?$:$.substring(0,Z)}get supportedUrls(){var $,Z,X;return(X=(Z=($=this.config).supportedUrls)==null?void 0:Z.call($))!=null?X:{}}async getArgs({userSuppliedBetas:$,prompt:Z,maxOutputTokens:X,temperature:Q,topP:Y,topK:G,frequencyPenalty:J,presencePenalty:K,stopSequences:W,responseFormat:F,seed:H,tools:N,toolChoice:U,providerOptions:B,stream:O}){var L,w,E,j,z,A,P,I,q,k;let S=[];if(J!=null)S.push({type:"unsupported",feature:"frequencyPenalty"});if(K!=null)S.push({type:"unsupported",feature:"presencePenalty"});if(H!=null)S.push({type:"unsupported",feature:"seed"});if(Q!=null&&Q>1)S.push({type:"unsupported",feature:"temperature",details:`${Q} exceeds anthropic maximum of 1.0. clamped to 1.0`}),Q=1;else if(Q!=null&&Q<0)S.push({type:"unsupported",feature:"temperature",details:`${Q} is below anthropic minimum of 0. clamped to 0`}),Q=0;if((F==null?void 0:F.type)==="json"){if(F.schema==null)S.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."})}let m=this.providerOptionsName,f=await a8({provider:"anthropic",providerOptions:B,schema:VH$}),b=m!=="anthropic"?await a8({provider:m,providerOptions:B,schema:VH$}):null,i=b!=null,u=Object.assign({},f!=null?f:{},b!=null?b:{}),{maxOutputTokens:o,supportsStructuredOutput:U0,rejectsSamplingParameters:E0,isKnownModel:s}=Qw4(this.modelId);if(E0){if(Q!=null)S.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${this.modelId} and will be ignored`}),Q=void 0;if(G!=null)S.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${this.modelId} and will be ignored`}),G=void 0;if(Y!=null)S.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${this.modelId} and will be ignored`}),Y=void 0}let a=s||this.modelId.startsWith("claude-"),z0=((L=this.config.supportsNativeStructuredOutput)!=null?L:!0)&&U0,X0=((w=this.config.supportsStrictTools)!=null?w:!0)&&U0,P0=(E=u==null?void 0:u.structuredOutputMode)!=null?E:"auto",g0=P0==="outputFormat"||P0==="auto"&&z0,R0=(F==null?void 0:F.type)==="json"&&F.schema!=null&&!g0?{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:F.schema}:void 0,c0=u==null?void 0:u.contextManagement,Y0=new Yr0,O0=PZ0({tools:N,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),{prompt:L0,betas:I0}=await tL4({prompt:Z,sendReasoning:(j=u==null?void 0:u.sendReasoning)!=null?j:!0,warnings:S,cacheControlValidator:Y0,toolNameMapping:O0}),Z0=(z=u==null?void 0:u.thinking)==null?void 0:z.type,Q0=Z0==="enabled"||Z0==="adaptive",q0=Z0==="enabled"?(A=u==null?void 0:u.thinking)==null?void 0:A.budgetTokens:void 0,W0=Z0==="adaptive"?(P=u==null?void 0:u.thinking)==null?void 0:P.display:void 0,N0=X!=null?X:o,E1={model:this.modelId,max_tokens:N0,temperature:Q,top_k:G,top_p:Y,stop_sequences:W,...Q0&&{thinking:{type:Z0,...q0!=null&&{budget_tokens:q0},...W0!=null&&{display:W0}}},...((u==null?void 0:u.effort)||(u==null?void 0:u.taskBudget)||g0&&(F==null?void 0:F.type)==="json"&&F.schema!=null)&&{output_config:{...(u==null?void 0:u.effort)&&{effort:u.effort},...(u==null?void 0:u.taskBudget)&&{task_budget:{type:u.taskBudget.type,total:u.taskBudget.total,...u.taskBudget.remaining!=null&&{remaining:u.taskBudget.remaining}}},...g0&&(F==null?void 0:F.type)==="json"&&F.schema!=null&&{format:{type:"json_schema",schema:aL4(F.schema)}}}},...(u==null?void 0:u.speed)&&{speed:u.speed},...(u==null?void 0:u.inferenceGeo)&&{inference_geo:u.inferenceGeo},...(u==null?void 0:u.fallbacks)&&u.fallbacks.length>0&&{fallbacks:u.fallbacks},...(u==null?void 0:u.cacheControl)&&{cache_control:u.cacheControl},...((I=u==null?void 0:u.metadata)==null?void 0:I.userId)!=null&&{metadata:{user_id:u.metadata.userId}},...(u==null?void 0:u.mcpServers)&&u.mcpServers.length>0&&{mcp_servers:u.mcpServers.map((S0)=>({type:S0.type,name:S0.name,url:S0.url,authorization_token:S0.authorizationToken,tool_configuration:S0.toolConfiguration?{allowed_tools:S0.toolConfiguration.allowedTools,enabled:S0.toolConfiguration.enabled}:void 0}))},...(u==null?void 0:u.container)&&{container:u.container.skills&&u.container.skills.length>0?{id:u.container.id,skills:u.container.skills.map((S0)=>({type:S0.type,skill_id:S0.skillId,version:S0.version}))}:u.container.id},system:L0.system,messages:L0.messages,...c0&&{context_management:{edits:c0.edits.map((S0)=>{let g1=S0.type;switch(g1){case"clear_tool_uses_20250919":return{type:S0.type,...S0.trigger!==void 0&&{trigger:S0.trigger},...S0.keep!==void 0&&{keep:S0.keep},...S0.clearAtLeast!==void 0&&{clear_at_least:S0.clearAtLeast},...S0.clearToolInputs!==void 0&&{clear_tool_inputs:S0.clearToolInputs},...S0.excludeTools!==void 0&&{exclude_tools:S0.excludeTools}};case"clear_thinking_20251015":return{type:S0.type,...S0.keep!==void 0&&{keep:S0.keep}};case"compact_20260112":return{type:S0.type,...S0.trigger!==void 0&&{trigger:S0.trigger},...S0.pauseAfterCompaction!==void 0&&{pause_after_compaction:S0.pauseAfterCompaction},...S0.instructions!==void 0&&{instructions:S0.instructions}};default:S.push({type:"other",message:`Unknown context management strategy: ${g1}`});return}}).filter((S0)=>S0!==void 0)}}};if(Q0){if(Z0==="enabled"&&q0==null)S.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),E1.thinking={type:"enabled",budget_tokens:1024},q0=1024;if(E1.temperature!=null)E1.temperature=void 0,S.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"});if(G!=null)E1.top_k=void 0,S.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"});if(Y!=null)E1.top_p=void 0,S.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"});E1.max_tokens=N0+(q0!=null?q0:0)}else if(a&&Y!=null&&Q!=null)S.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),E1.top_p=void 0;if(s&&E1.max_tokens>o){if(X!=null)S.push({type:"unsupported",feature:"maxOutputTokens",details:`${E1.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${this.modelId} ${o} max output tokens. The max output tokens have been limited to ${o}.`});E1.max_tokens=o}if((u==null?void 0:u.mcpServers)&&u.mcpServers.length>0)I0.add("mcp-client-2025-04-04");if(c0){if(I0.add("context-management-2025-06-27"),c0.edits.some((S0)=>S0.type==="compact_20260112"))I0.add("compact-2026-01-12")}if((u==null?void 0:u.container)&&u.container.skills&&u.container.skills.length>0){if(I0.add("code-execution-2025-08-25"),I0.add("skills-2025-10-02"),I0.add("files-api-2025-04-14"),!(N==null?void 0:N.some((S0)=>S0.type==="provider"&&(S0.id==="anthropic.code_execution_20250825"||S0.id==="anthropic.code_execution_20260120"))))S.push({type:"other",message:"code execution tool is required when using skills"})}if(u==null?void 0:u.taskBudget)I0.add("task-budgets-2026-03-13");if((u==null?void 0:u.speed)==="fast")I0.add("fast-mode-2026-02-01");if((u==null?void 0:u.fallbacks)&&u.fallbacks.length>0)I0.add("server-side-fallback-2026-06-01");let C0=O&&((q=u==null?void 0:u.toolStreaming)!=null?q:!0),{tools:i0,toolChoice:n,toolWarnings:v0,betas:$1}=await vL4(R0!=null?{tools:[...N!=null?N:[],R0],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:Y0,supportsStructuredOutput:!1,supportsStrictTools:X0,defaultEagerInputStreaming:C0}:{tools:N!=null?N:[],toolChoice:U,disableParallelToolUse:u==null?void 0:u.disableParallelToolUse,cacheControlValidator:Y0,supportsStructuredOutput:z0,supportsStrictTools:X0,defaultEagerInputStreaming:C0}),q1=Y0.getWarnings();return{args:{...E1,tools:i0,tool_choice:n,stream:O===!0?!0:void 0},warnings:[...S,...v0,...q1],betas:new Set([...I0,...$1,...$,...(k=u==null?void 0:u.anthropicBeta)!=null?k:[]]),usesJsonResponseTool:R0!=null,toolNameMapping:O0,providerOptionsName:m,usedCustomProviderKey:i}}async getHeaders({betas:$,headers:Z}){return r$(await f$(this.config.headers),Z,$.size>0?{"anthropic-beta":Array.from($).join(",")}:{})}async getBetasFromHeaders($){var Z,X;let Y=(Z=(await f$(this.config.headers))["anthropic-beta"])!=null?Z:"",G=(X=$==null?void 0:$["anthropic-beta"])!=null?X:"";return new Set([...Y.toLowerCase().split(","),...G.toLowerCase().split(",")].map((J)=>J.trim()).filter((J)=>J!==""))}buildRequestUrl($){var Z,X,Q;return(Q=(X=(Z=this.config).buildRequestUrl)==null?void 0:X.call(Z,this.config.baseURL,$))!=null?Q:`${this.config.baseURL}/messages`}transformRequestBody($,Z){var X,Q,Y;return(Y=(Q=(X=this.config).transformRequestBody)==null?void 0:Q.call(X,$,Z))!=null?Y:$}extractCitationDocuments($){let Z=(X)=>{var Q,Y;if(X.type!=="file")return!1;if(X.mediaType!=="application/pdf"&&X.mediaType!=="text/plain")return!1;let G=(Q=X.providerOptions)==null?void 0:Q.anthropic,J=G==null?void 0:G.citations;return(Y=J==null?void 0:J.enabled)!=null?Y:!1};return $.filter((X)=>X.role==="user").flatMap((X)=>X.content).filter(Z).map((X)=>{var Q;let Y=X;return{title:(Q=Y.filename)!=null?Q:"Untitled Document",filename:Y.filename,mediaType:Y.mediaType}})}async doGenerate($){var Z,X,Q,Y,G,J,K;let{args:W,warnings:F,betas:H,usesJsonResponseTool:N,toolNameMapping:U,providerOptionsName:B,usedCustomProviderKey:O}=await this.getArgs({...$,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders($.headers)}),L=[...this.extractCitationDocuments($.prompt)],w=fH$(W.tools),{responseHeaders:E,value:j,rawValue:z}=await O8({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:H,headers:$.headers}),body:this.transformRequestBody(W,H),failedResponseHandler:MH$,successfulResponseHandler:Z8(QL4),abortSignal:$.abortSignal,fetch:this.config.fetch}),A=[],P={},I={},q=!1;for(let k of j.content)switch(k.type){case"text":{if(!N){if(A.push({type:"text",text:k.text}),k.citations)for(let S of k.citations){let m=vH$(S,L,this.generateId);if(m)A.push(m)}}break}case"thinking":{A.push({type:"reasoning",text:k.thinking,providerMetadata:{anthropic:{signature:k.signature}}});break}case"redacted_thinking":{A.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:k.data}}});break}case"compaction":{A.push({type:"text",text:k.content,providerMetadata:{anthropic:{type:"compaction"}}});break}case"tool_use":{if(N&&k.name==="json")q=!0,A.push({type:"text",text:JSON.stringify(k.input)});else{let m=k.caller,f=m?{type:m.type,toolId:"tool_id"in m?m.tool_id:void 0}:void 0;A.push({type:"tool-call",toolCallId:k.id,toolName:k.name,input:JSON.stringify(k.input),...f&&{providerMetadata:{anthropic:{caller:f}}}})}break}case"server_tool_use":{if(k.name==="text_editor_code_execution"||k.name==="bash_code_execution")A.push({type:"tool-call",toolCallId:k.id,toolName:U.toCustomToolName("code_execution"),input:JSON.stringify({type:k.name,...k.input}),providerExecuted:!0,...w?{dynamic:!0}:{}});else if(k.name==="web_search"||k.name==="code_execution"||k.name==="web_fetch"){let S=k.name==="code_execution"&&k.input!=null&&typeof k.input==="object"&&"code"in k.input&&!("type"in k.input)?{type:"programmatic-tool-call",...k.input}:k.input;A.push({type:"tool-call",toolCallId:k.id,toolName:U.toCustomToolName(k.name),input:JSON.stringify(S),providerExecuted:!0,...w&&k.name==="code_execution"?{dynamic:!0}:{}})}else if(k.name==="tool_search_tool_regex"||k.name==="tool_search_tool_bm25")I[k.id]=k.name,A.push({type:"tool-call",toolCallId:k.id,toolName:U.toCustomToolName(k.name),input:JSON.stringify(k.input),providerExecuted:!0});else if(k.name==="advisor")A.push({type:"tool-call",toolCallId:k.id,toolName:U.toCustomToolName("advisor"),input:JSON.stringify(k.input),providerExecuted:!0});break}case"mcp_tool_use":{P[k.id]={type:"tool-call",toolCallId:k.id,toolName:k.name,input:JSON.stringify(k.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:k.server_name}}},A.push(P[k.id]);break}case"mcp_tool_result":{A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:P[k.tool_use_id].toolName,isError:k.is_error,result:k.content,dynamic:!0,providerMetadata:P[k.tool_use_id].providerMetadata});break}case"web_fetch_tool_result":{if(k.content.type==="web_fetch_result")L.push({title:(Z=k.content.content.title)!=null?Z:k.content.url,mediaType:k.content.content.source.media_type}),A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:k.content.url,retrievedAt:k.content.retrieved_at,content:{type:k.content.content.type,title:k.content.content.title,citations:k.content.content.citations,source:{type:k.content.content.source.type,mediaType:k.content.content.source.media_type,data:k.content.content.source.data}}}});else if(k.content.type==="web_fetch_tool_result_error")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:k.content.error_code}});break}case"web_search_tool_result":{if(Array.isArray(k.content)){A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("web_search"),result:k.content.map((S)=>{var m;return{url:S.url,title:S.title,pageAge:(m=S.page_age)!=null?m:null,encryptedContent:S.encrypted_content,type:S.type}})});for(let S of k.content)A.push({type:"source",sourceType:"url",id:this.generateId(),url:S.url,title:S.title,providerMetadata:{anthropic:{pageAge:(X=S.page_age)!=null?X:null}}})}else A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:k.content.error_code}});break}case"code_execution_tool_result":{if(k.content.type==="code_execution_result")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("code_execution"),result:{type:k.content.type,stdout:k.content.stdout,stderr:k.content.stderr,return_code:k.content.return_code,content:(Q=k.content.content)!=null?Q:[]}});else if(k.content.type==="encrypted_code_execution_result")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("code_execution"),result:{type:k.content.type,encrypted_stdout:k.content.encrypted_stdout,stderr:k.content.stderr,return_code:k.content.return_code,content:(Y=k.content.content)!=null?Y:[]}});else if(k.content.type==="code_execution_tool_result_error")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:k.content.error_code}});break}case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":{A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName("code_execution"),result:k.content});break}case"tool_search_tool_result":{let S=I[k.tool_use_id];if(S==null){let m=U.toCustomToolName("tool_search_tool_bm25"),f=U.toCustomToolName("tool_search_tool_regex");if(m!=="tool_search_tool_bm25")S="tool_search_tool_bm25";else if(f!=="tool_search_tool_regex")S="tool_search_tool_regex";else S="tool_search_tool_regex"}if(k.content.type==="tool_search_tool_search_result")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName(S),result:k.content.tool_references.map((m)=>({type:m.type,toolName:m.tool_name}))});else A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:U.toCustomToolName(S),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:k.content.error_code}});break}case"advisor_tool_result":{let S=U.toCustomToolName("advisor");if(k.content.type==="advisor_result")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:S,result:{type:"advisor_result",text:k.content.text}});else if(k.content.type==="advisor_redacted_result")A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:S,result:{type:"advisor_redacted_result",encryptedContent:k.content.encrypted_content}});else A.push({type:"tool-result",toolCallId:k.tool_use_id,toolName:S,isError:!0,result:{type:"advisor_tool_result_error",errorCode:k.content.error_code}});break}case"fallback":break}return{content:A,finishReason:{unified:Zr0({finishReason:j.stop_reason,isJsonResponseFromTool:q}),raw:(G=j.stop_reason)!=null?G:void 0},usage:CH$({usage:j.usage}),request:{body:W},response:{id:(J=j.id)!=null?J:void 0,modelId:(K=j.model)!=null?K:void 0,headers:E,body:z},warnings:F,providerMetadata:(()=>{var k,S,m,f,b;let i=xH$(j.stop_details),u={usage:j.usage,cacheCreationInputTokens:(k=j.usage.cache_creation_input_tokens)!=null?k:null,stopSequence:(S=j.stop_sequence)!=null?S:null,...i!=null?{stopDetails:i}:{},iterations:j.usage.iterations?j.usage.iterations.map((U0)=>({type:U0.type,...U0.model!=null?{model:U0.model}:{},inputTokens:U0.input_tokens,outputTokens:U0.output_tokens,...U0.cache_creation_input_tokens?{cacheCreationInputTokens:U0.cache_creation_input_tokens}:{},...U0.cache_read_input_tokens?{cacheReadInputTokens:U0.cache_read_input_tokens}:{}})):null,container:j.container?{expiresAt:j.container.expires_at,id:j.container.id,skills:(f=(m=j.container.skills)==null?void 0:m.map((U0)=>({type:U0.type,skillId:U0.skill_id,version:U0.version})))!=null?f:null}:null,contextManagement:(b=bH$(j.context_management))!=null?b:null},o={anthropic:u};if(O&&B!=="anthropic")o[B]=u;return o})()}}async doStream($){var Z,X;let{args:Q,warnings:Y,betas:G,usesJsonResponseTool:J,toolNameMapping:K,providerOptionsName:W,usedCustomProviderKey:F}=await this.getArgs({...$,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders($.headers)}),H=[...this.extractCitationDocuments($.prompt)],N=fH$(Q.tools),U=this.buildRequestUrl(!0),{responseHeaders:B,value:O}=await O8({url:U,headers:await this.getHeaders({betas:G,headers:$.headers}),body:this.transformRequestBody(Q,G),failedResponseHandler:MH$,successfulResponseHandler:e7(YL4),abortSignal:$.abortSignal,fetch:this.config.fetch}),L={unified:"other",raw:void 0},w={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},E={},j={},z={},A=null,P=void 0,I=null,q=null,k=void 0,S=null,m=!1,f=void 0,b=this.generateId,i=O.pipeThrough(new TransformStream({start(E0){E0.enqueue({type:"stream-start",warnings:Y})},transform(E0,s){var a,z0,X0,P0,g0,R0,c0,Y0,O0,L0,I0,Z0,Q0,q0;if($.includeRawChunks)s.enqueue({type:"raw",rawValue:E0.rawValue});if(!E0.success){s.enqueue({type:"error",error:E0.error});return}let W0=E0.value;switch(W0.type){case"ping":return;case"content_block_start":{let N0=W0.content_block,E1=N0.type;if(E1==="fallback")return;switch(f=E1,E1){case"text":{if(J)return;E[W0.index]={type:"text"},s.enqueue({type:"text-start",id:String(W0.index)});return}case"thinking":{E[W0.index]={type:"reasoning"},s.enqueue({type:"reasoning-start",id:String(W0.index)});return}case"redacted_thinking":{E[W0.index]={type:"reasoning"},s.enqueue({type:"reasoning-start",id:String(W0.index),providerMetadata:{anthropic:{redactedData:N0.data}}});return}case"compaction":{E[W0.index]={type:"text"},s.enqueue({type:"text-start",id:String(W0.index),providerMetadata:{anthropic:{type:"compaction"}}});return}case"tool_use":{if(J&&N0.name==="json")m=!0,E[W0.index]={type:"text"},s.enqueue({type:"text-start",id:String(W0.index)});else{let i0=N0.caller,n=i0?{type:i0.type,toolId:"tool_id"in i0?i0.tool_id:void 0}:void 0,$1=N0.input&&Object.keys(N0.input).length>0?JSON.stringify(N0.input):"";E[W0.index]={type:"tool-call",toolCallId:N0.id,toolName:N0.name,input:$1,firstDelta:$1.length===0,...n&&{caller:n}},s.enqueue({type:"tool-input-start",id:N0.id,toolName:N0.name})}return}case"server_tool_use":{if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(N0.name)){let C0=N0.name==="text_editor_code_execution"||N0.name==="bash_code_execution"?"code_execution":N0.name,i0=K.toCustomToolName(C0),n=N0.input!=null&&typeof N0.input==="object"&&Object.keys(N0.input).length>0?JSON.stringify(N0.input):"";E[W0.index]={type:"tool-call",toolCallId:N0.id,toolName:i0,input:n,providerExecuted:!0,...N&&C0==="code_execution"?{dynamic:!0}:{},firstDelta:!0,providerToolName:C0},s.enqueue({type:"tool-input-start",id:N0.id,toolName:i0,providerExecuted:!0,...N&&C0==="code_execution"?{dynamic:!0}:{}})}else if(N0.name==="tool_search_tool_regex"||N0.name==="tool_search_tool_bm25"){z[N0.id]=N0.name;let C0=K.toCustomToolName(N0.name);E[W0.index]={type:"tool-call",toolCallId:N0.id,toolName:C0,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:N0.name},s.enqueue({type:"tool-input-start",id:N0.id,toolName:C0,providerExecuted:!0})}else if(N0.name==="advisor"){let C0=K.toCustomToolName("advisor");E[W0.index]={type:"tool-call",toolCallId:N0.id,toolName:C0,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:N0.name},s.enqueue({type:"tool-input-start",id:N0.id,toolName:C0,providerExecuted:!0})}return}case"web_fetch_tool_result":{if(N0.content.type==="web_fetch_result")H.push({title:(a=N0.content.content.title)!=null?a:N0.content.url,mediaType:N0.content.content.source.media_type}),s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:N0.content.url,retrievedAt:N0.content.retrieved_at,content:{type:N0.content.content.type,title:N0.content.content.title,citations:N0.content.content.citations,source:{type:N0.content.content.source.type,mediaType:N0.content.content.source.media_type,data:N0.content.content.source.data}}}});else if(N0.content.type==="web_fetch_tool_result_error")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:N0.content.error_code}});return}case"web_search_tool_result":{if(Array.isArray(N0.content)){s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("web_search"),result:N0.content.map((C0)=>{var i0;return{url:C0.url,title:C0.title,pageAge:(i0=C0.page_age)!=null?i0:null,encryptedContent:C0.encrypted_content,type:C0.type}})});for(let C0 of N0.content)s.enqueue({type:"source",sourceType:"url",id:b(),url:C0.url,title:C0.title,providerMetadata:{anthropic:{pageAge:(z0=C0.page_age)!=null?z0:null}}})}else s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:N0.content.error_code}});return}case"code_execution_tool_result":{if(N0.content.type==="code_execution_result")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("code_execution"),result:{type:N0.content.type,stdout:N0.content.stdout,stderr:N0.content.stderr,return_code:N0.content.return_code,content:(X0=N0.content.content)!=null?X0:[]}});else if(N0.content.type==="encrypted_code_execution_result")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("code_execution"),result:{type:N0.content.type,encrypted_stdout:N0.content.encrypted_stdout,stderr:N0.content.stderr,return_code:N0.content.return_code,content:(P0=N0.content.content)!=null?P0:[]}});else if(N0.content.type==="code_execution_tool_result_error")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:N0.content.error_code}});return}case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":{s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName("code_execution"),result:N0.content});return}case"tool_search_tool_result":{let C0=z[N0.tool_use_id];if(C0==null){let i0=K.toCustomToolName("tool_search_tool_bm25"),n=K.toCustomToolName("tool_search_tool_regex");if(i0!=="tool_search_tool_bm25")C0="tool_search_tool_bm25";else if(n!=="tool_search_tool_regex")C0="tool_search_tool_regex";else C0="tool_search_tool_regex"}if(N0.content.type==="tool_search_tool_search_result")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName(C0),result:N0.content.tool_references.map((i0)=>({type:i0.type,toolName:i0.tool_name}))});else s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:K.toCustomToolName(C0),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:N0.content.error_code}});return}case"advisor_tool_result":{let C0=K.toCustomToolName("advisor");if(N0.content.type==="advisor_result")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:C0,result:{type:"advisor_result",text:N0.content.text}});else if(N0.content.type==="advisor_redacted_result")s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:C0,result:{type:"advisor_redacted_result",encryptedContent:N0.content.encrypted_content}});else s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:C0,isError:!0,result:{type:"advisor_tool_result_error",errorCode:N0.content.error_code}});return}case"mcp_tool_use":{j[N0.id]={type:"tool-call",toolCallId:N0.id,toolName:N0.name,input:JSON.stringify(N0.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:N0.server_name}}},s.enqueue(j[N0.id]);return}case"mcp_tool_result":{s.enqueue({type:"tool-result",toolCallId:N0.tool_use_id,toolName:j[N0.tool_use_id].toolName,isError:N0.is_error,result:N0.content,dynamic:!0,providerMetadata:j[N0.tool_use_id].providerMetadata});return}default:throw Error(`Unsupported content block type: ${E1}`)}}case"content_block_stop":{if(E[W0.index]!=null){let N0=E[W0.index];switch(N0.type){case"text":{s.enqueue({type:"text-end",id:String(W0.index)});break}case"reasoning":{s.enqueue({type:"reasoning-end",id:String(W0.index)});break}case"tool-call":if(!(J&&N0.toolName==="json")){s.enqueue({type:"tool-input-end",id:N0.toolCallId});let C0=N0.input===""?"{}":N0.input;if(N0.providerToolName==="code_execution")try{let i0=JSON.parse(C0);if(i0!=null&&typeof i0==="object"&&"code"in i0&&!("type"in i0))C0=JSON.stringify({type:"programmatic-tool-call",...i0})}catch(i0){}s.enqueue({type:"tool-call",toolCallId:N0.toolCallId,toolName:N0.toolName,input:C0,providerExecuted:N0.providerExecuted,...N&&N0.providerToolName==="code_execution"?{dynamic:!0}:{},...N0.caller&&{providerMetadata:{anthropic:{caller:N0.caller}}}})}break}delete E[W0.index]}f=void 0;return}case"content_block_delta":{let N0=W0.delta.type;switch(N0){case"text_delta":{if(J)return;s.enqueue({type:"text-delta",id:String(W0.index),delta:W0.delta.text});return}case"thinking_delta":{s.enqueue({type:"reasoning-delta",id:String(W0.index),delta:W0.delta.thinking});return}case"signature_delta":{if(f==="thinking")s.enqueue({type:"reasoning-delta",id:String(W0.index),delta:"",providerMetadata:{anthropic:{signature:W0.delta.signature}}});return}case"compaction_delta":{if(W0.delta.content!=null)s.enqueue({type:"text-delta",id:String(W0.index),delta:W0.delta.content});return}case"input_json_delta":{let E1=E[W0.index],C0=W0.delta.partial_json;if(C0.length===0)return;if(m){if((E1==null?void 0:E1.type)!=="text")return;s.enqueue({type:"text-delta",id:String(W0.index),delta:C0})}else{if((E1==null?void 0:E1.type)!=="tool-call")return;if(E1.firstDelta&&E1.providerToolName==="code_execution")C0=`{"type": "programmatic-tool-call",${C0.substring(1)}`;s.enqueue({type:"tool-input-delta",id:E1.toolCallId,delta:C0}),E1.input+=C0,E1.firstDelta=!1}return}case"citations_delta":{let E1=W0.delta.citation,C0=vH$(E1,H,b);if(C0)s.enqueue(C0);return}default:throw Error(`Unsupported delta type: ${N0}`)}}case"message_start":{if(w.input_tokens=W0.message.usage.input_tokens,w.cache_read_input_tokens=(g0=W0.message.usage.cache_read_input_tokens)!=null?g0:0,w.cache_creation_input_tokens=(R0=W0.message.usage.cache_creation_input_tokens)!=null?R0:0,P={...W0.message.usage},I=(c0=W0.message.usage.cache_creation_input_tokens)!=null?c0:null,W0.message.container!=null)S={expiresAt:W0.message.container.expires_at,id:W0.message.container.id,skills:null};if(W0.message.stop_reason!=null)L={unified:Zr0({finishReason:W0.message.stop_reason,isJsonResponseFromTool:m}),raw:W0.message.stop_reason};if(s.enqueue({type:"response-metadata",id:(Y0=W0.message.id)!=null?Y0:void 0,modelId:(O0=W0.message.model)!=null?O0:void 0}),W0.message.content!=null)for(let N0=0;N0<W0.message.content.length;N0++){let E1=W0.message.content[N0];if(E1.type==="tool_use"){let C0=E1.caller,i0=C0?{type:C0.type,toolId:"tool_id"in C0?C0.tool_id:void 0}:void 0;s.enqueue({type:"tool-input-start",id:E1.id,toolName:E1.name});let n=JSON.stringify((L0=E1.input)!=null?L0:{});s.enqueue({type:"tool-input-delta",id:E1.id,delta:n}),s.enqueue({type:"tool-input-end",id:E1.id}),s.enqueue({type:"tool-call",toolCallId:E1.id,toolName:E1.name,input:n,...i0&&{providerMetadata:{anthropic:{caller:i0}}}})}}return}case"message_delta":{if(W0.usage.input_tokens!=null&&w.input_tokens!==W0.usage.input_tokens)w.input_tokens=W0.usage.input_tokens;if(w.output_tokens=W0.usage.output_tokens,W0.usage.cache_read_input_tokens!=null)w.cache_read_input_tokens=W0.usage.cache_read_input_tokens;if(W0.usage.cache_creation_input_tokens!=null)w.cache_creation_input_tokens=W0.usage.cache_creation_input_tokens,I=W0.usage.cache_creation_input_tokens;if(W0.usage.iterations!=null)w.iterations=W0.usage.iterations;if(L={unified:Zr0({finishReason:W0.delta.stop_reason,isJsonResponseFromTool:m}),raw:(I0=W0.delta.stop_reason)!=null?I0:void 0},q=(Z0=W0.delta.stop_sequence)!=null?Z0:null,k=xH$(W0.delta.stop_details),S=W0.delta.container!=null?{expiresAt:W0.delta.container.expires_at,id:W0.delta.container.id,skills:(q0=(Q0=W0.delta.container.skills)==null?void 0:Q0.map((N0)=>({type:N0.type,skillId:N0.skill_id,version:N0.version})))!=null?q0:null}:null,W0.context_management)A=bH$(W0.context_management);P={...P,...W0.usage};return}case"message_stop":{let N0={usage:P!=null?P:null,cacheCreationInputTokens:I,stopSequence:q,...k!=null?{stopDetails:k}:{},iterations:w.iterations?w.iterations.map((C0)=>({type:C0.type,...C0.model!=null?{model:C0.model}:{},inputTokens:C0.input_tokens,outputTokens:C0.output_tokens,...C0.cache_creation_input_tokens?{cacheCreationInputTokens:C0.cache_creation_input_tokens}:{},...C0.cache_read_input_tokens?{cacheReadInputTokens:C0.cache_read_input_tokens}:{}})):null,container:S,contextManagement:A},E1={anthropic:N0};if(F&&W!=="anthropic")E1[W]=N0;s.enqueue({type:"finish",finishReason:L,usage:CH$({usage:w,rawUsage:P}),providerMetadata:E1});return}case"error":{s.enqueue({type:"error",error:W0.error});return}default:throw Error(`Unsupported chunk type: ${W0}`)}}})),[u,o]=i.tee(),U0=u.getReader();try{await U0.read();let E0=await U0.read();if(((Z=E0.value)==null?void 0:Z.type)==="raw")E0=await U0.read();if(((X=E0.value)==null?void 0:X.type)==="error"){let s=E0.value.error;throw new Q4({message:s.message,url:U,requestBodyValues:Q,statusCode:s.type==="overloaded_error"?529:500,responseHeaders:B,responseBody:JSON.stringify(s),isRetryable:s.type==="overloaded_error"})}}finally{U0.cancel().catch(()=>{}),U0.releaseLock()}return{stream:o,request:{body:Q},response:{headers:B}}}},Yw4,Gw4,Jw4,Kw4,Ww4,Fw4,Hw4,Nw4,Uw4,Bw4,Ow4,Dw4,Lw4,ww4,Ew4,jw4,zw4,Pw4,Aw4,Tw4,Rw4,Iw4=($={})=>{return Rw4($)},qw4,Uf9;var Gr0=D(()=>{a1();y0();a1();y0();y0();y0();a1();y0();y0();y0();y0();y0();y0();y0();a1();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();y0();XL4=B0(()=>$0(Ot.object({type:Ot.literal("error"),error:Ot.object({type:Ot.string(),message:Ot.string()})}))),MH$=V5({errorSchema:XL4,errorToMessage:($)=>$.error.message}),yH$=M.object({type:M.string(),category:M.string().nullish(),explanation:M.string().nullish(),recommended_model:M.string().nullish()}),QL4=B0(()=>$0(M.object({type:M.literal("message"),id:M.string().nullish(),model:M.string().nullish(),content:M.array(M.discriminatedUnion("type",[M.object({type:M.literal("text"),text:M.string(),citations:M.array(M.discriminatedUnion("type",[M.object({type:M.literal("web_search_result_location"),cited_text:M.string(),url:M.string(),title:M.string(),encrypted_index:M.string()}),M.object({type:M.literal("page_location"),cited_text:M.string(),document_index:M.number(),document_title:M.string().nullable(),start_page_number:M.number(),end_page_number:M.number()}),M.object({type:M.literal("char_location"),cited_text:M.string(),document_index:M.number(),document_title:M.string().nullable(),start_char_index:M.number(),end_char_index:M.number()})])).optional()}),M.object({type:M.literal("thinking"),thinking:M.string(),signature:M.string()}),M.object({type:M.literal("redacted_thinking"),data:M.string()}),M.object({type:M.literal("compaction"),content:M.string()}),M.object({type:M.literal("tool_use"),id:M.string(),name:M.string(),input:M.unknown(),caller:M.union([M.object({type:M.literal("code_execution_20250825"),tool_id:M.string()}),M.object({type:M.literal("code_execution_20260120"),tool_id:M.string()}),M.object({type:M.literal("direct")})]).optional()}),M.object({type:M.literal("server_tool_use"),id:M.string(),name:M.string(),input:M.record(M.string(),M.unknown()).nullish(),caller:M.union([M.object({type:M.literal("code_execution_20260120"),tool_id:M.string()}),M.object({type:M.literal("direct")})]).optional()}),M.object({type:M.literal("mcp_tool_use"),id:M.string(),name:M.string(),input:M.unknown(),server_name:M.string()}),M.object({type:M.literal("mcp_tool_result"),tool_use_id:M.string(),is_error:M.boolean(),content:M.array(M.union([M.string(),M.object({type:M.literal("text"),text:M.string()})]))}),M.object({type:M.literal("web_fetch_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("web_fetch_result"),url:M.string(),retrieved_at:M.string(),content:M.object({type:M.literal("document"),title:M.string().nullable(),citations:M.object({enabled:M.boolean()}).optional(),source:M.union([M.object({type:M.literal("base64"),media_type:M.literal("application/pdf"),data:M.string()}),M.object({type:M.literal("text"),media_type:M.literal("text/plain"),data:M.string()})])})}),M.object({type:M.literal("web_fetch_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("web_search_tool_result"),tool_use_id:M.string(),content:M.union([M.array(M.object({type:M.literal("web_search_result"),url:M.string(),title:M.string(),encrypted_content:M.string(),page_age:M.string().nullish()})),M.object({type:M.literal("web_search_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("code_execution_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("code_execution_result"),stdout:M.string(),stderr:M.string(),return_code:M.number(),content:M.array(M.object({type:M.literal("code_execution_output"),file_id:M.string()})).optional().default([])}),M.object({type:M.literal("encrypted_code_execution_result"),encrypted_stdout:M.string(),stderr:M.string(),return_code:M.number(),content:M.array(M.object({type:M.literal("code_execution_output"),file_id:M.string()})).optional().default([])}),M.object({type:M.literal("code_execution_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("bash_code_execution_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("bash_code_execution_result"),content:M.array(M.object({type:M.literal("bash_code_execution_output"),file_id:M.string()})),stdout:M.string(),stderr:M.string(),return_code:M.number()}),M.object({type:M.literal("bash_code_execution_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("text_editor_code_execution_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("text_editor_code_execution_tool_result_error"),error_code:M.string()}),M.object({type:M.literal("text_editor_code_execution_view_result"),content:M.string(),file_type:M.string(),num_lines:M.number().nullable(),start_line:M.number().nullable(),total_lines:M.number().nullable()}),M.object({type:M.literal("text_editor_code_execution_create_result"),is_file_update:M.boolean()}),M.object({type:M.literal("text_editor_code_execution_str_replace_result"),lines:M.array(M.string()).nullable(),new_lines:M.number().nullable(),new_start:M.number().nullable(),old_lines:M.number().nullable(),old_start:M.number().nullable()})])}),M.object({type:M.literal("tool_search_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("tool_search_tool_search_result"),tool_references:M.array(M.object({type:M.literal("tool_reference"),tool_name:M.string()}))}),M.object({type:M.literal("tool_search_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("advisor_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("advisor_result"),text:M.string()}),M.object({type:M.literal("advisor_redacted_result"),encrypted_content:M.string()}),M.object({type:M.literal("advisor_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("fallback")})])),stop_reason:M.string().nullish(),stop_sequence:M.string().nullish(),stop_details:yH$.nullish(),usage:M.looseObject({input_tokens:M.number(),output_tokens:M.number(),cache_creation_input_tokens:M.number().nullish(),cache_read_input_tokens:M.number().nullish(),iterations:M.array(M.object({type:M.union([M.literal("compaction"),M.literal("message"),M.literal("advisor_message"),M.literal("fallback_message")]),model:M.string().nullish(),input_tokens:M.number(),output_tokens:M.number(),cache_creation_input_tokens:M.number().nullish(),cache_read_input_tokens:M.number().nullish()})).nullish()}),container:M.object({expires_at:M.string(),id:M.string(),skills:M.array(M.object({type:M.union([M.literal("anthropic"),M.literal("custom")]),skill_id:M.string(),version:M.string()})).nullish()}).nullish(),context_management:M.object({applied_edits:M.array(M.union([M.object({type:M.literal("clear_tool_uses_20250919"),cleared_tool_uses:M.number(),cleared_input_tokens:M.number()}),M.object({type:M.literal("clear_thinking_20251015"),cleared_thinking_turns:M.number(),cleared_input_tokens:M.number()}),M.object({type:M.literal("compact_20260112")})]))}).nullish()}))),YL4=B0(()=>$0(M.discriminatedUnion("type",[M.object({type:M.literal("message_start"),message:M.object({id:M.string().nullish(),model:M.string().nullish(),role:M.string().nullish(),usage:M.looseObject({input_tokens:M.number(),cache_creation_input_tokens:M.number().nullish(),cache_read_input_tokens:M.number().nullish()}),content:M.array(M.discriminatedUnion("type",[M.object({type:M.literal("tool_use"),id:M.string(),name:M.string(),input:M.unknown(),caller:M.union([M.object({type:M.literal("code_execution_20250825"),tool_id:M.string()}),M.object({type:M.literal("code_execution_20260120"),tool_id:M.string()}),M.object({type:M.literal("direct")})]).optional()})])).nullish(),stop_reason:M.string().nullish(),container:M.object({expires_at:M.string(),id:M.string()}).nullish()})}),M.object({type:M.literal("content_block_start"),index:M.number(),content_block:M.discriminatedUnion("type",[M.object({type:M.literal("text"),text:M.string()}),M.object({type:M.literal("thinking"),thinking:M.string()}),M.object({type:M.literal("tool_use"),id:M.string(),name:M.string(),input:M.record(M.string(),M.unknown()).optional(),caller:M.union([M.object({type:M.literal("code_execution_20250825"),tool_id:M.string()}),M.object({type:M.literal("code_execution_20260120"),tool_id:M.string()}),M.object({type:M.literal("direct")})]).optional()}),M.object({type:M.literal("redacted_thinking"),data:M.string()}),M.object({type:M.literal("compaction"),content:M.string().nullish()}),M.object({type:M.literal("server_tool_use"),id:M.string(),name:M.string(),input:M.record(M.string(),M.unknown()).nullish(),caller:M.union([M.object({type:M.literal("code_execution_20260120"),tool_id:M.string()}),M.object({type:M.literal("direct")})]).optional()}),M.object({type:M.literal("mcp_tool_use"),id:M.string(),name:M.string(),input:M.unknown(),server_name:M.string()}),M.object({type:M.literal("mcp_tool_result"),tool_use_id:M.string(),is_error:M.boolean(),content:M.array(M.union([M.string(),M.object({type:M.literal("text"),text:M.string()})]))}),M.object({type:M.literal("web_fetch_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("web_fetch_result"),url:M.string(),retrieved_at:M.string(),content:M.object({type:M.literal("document"),title:M.string().nullable(),citations:M.object({enabled:M.boolean()}).optional(),source:M.union([M.object({type:M.literal("base64"),media_type:M.literal("application/pdf"),data:M.string()}),M.object({type:M.literal("text"),media_type:M.literal("text/plain"),data:M.string()})])})}),M.object({type:M.literal("web_fetch_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("web_search_tool_result"),tool_use_id:M.string(),content:M.union([M.array(M.object({type:M.literal("web_search_result"),url:M.string(),title:M.string(),encrypted_content:M.string(),page_age:M.string().nullish()})),M.object({type:M.literal("web_search_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("code_execution_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("code_execution_result"),stdout:M.string(),stderr:M.string(),return_code:M.number(),content:M.array(M.object({type:M.literal("code_execution_output"),file_id:M.string()})).optional().default([])}),M.object({type:M.literal("encrypted_code_execution_result"),encrypted_stdout:M.string(),stderr:M.string(),return_code:M.number(),content:M.array(M.object({type:M.literal("code_execution_output"),file_id:M.string()})).optional().default([])}),M.object({type:M.literal("code_execution_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("bash_code_execution_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("bash_code_execution_result"),content:M.array(M.object({type:M.literal("bash_code_execution_output"),file_id:M.string()})),stdout:M.string(),stderr:M.string(),return_code:M.number()}),M.object({type:M.literal("bash_code_execution_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("text_editor_code_execution_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("text_editor_code_execution_tool_result_error"),error_code:M.string()}),M.object({type:M.literal("text_editor_code_execution_view_result"),content:M.string(),file_type:M.string(),num_lines:M.number().nullable(),start_line:M.number().nullable(),total_lines:M.number().nullable()}),M.object({type:M.literal("text_editor_code_execution_create_result"),is_file_update:M.boolean()}),M.object({type:M.literal("text_editor_code_execution_str_replace_result"),lines:M.array(M.string()).nullable(),new_lines:M.number().nullable(),new_start:M.number().nullable(),old_lines:M.number().nullable(),old_start:M.number().nullable()})])}),M.object({type:M.literal("tool_search_tool_result"),tool_use_id:M.string(),content:M.union([M.object({type:M.literal("tool_search_tool_search_result"),tool_references:M.array(M.object({type:M.literal("tool_reference"),tool_name:M.string()}))}),M.object({type:M.literal("tool_search_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("advisor_tool_result"),tool_use_id:M.string(),content:M.discriminatedUnion("type",[M.object({type:M.literal("advisor_result"),text:M.string()}),M.object({type:M.literal("advisor_redacted_result"),encrypted_content:M.string()}),M.object({type:M.literal("advisor_tool_result_error"),error_code:M.string()})])}),M.object({type:M.literal("fallback")})])}),M.object({type:M.literal("content_block_delta"),index:M.number(),delta:M.discriminatedUnion("type",[M.object({type:M.literal("input_json_delta"),partial_json:M.string()}),M.object({type:M.literal("text_delta"),text:M.string()}),M.object({type:M.literal("thinking_delta"),thinking:M.string()}),M.object({type:M.literal("signature_delta"),signature:M.string()}),M.object({type:M.literal("compaction_delta"),content:M.string().nullish()}),M.object({type:M.literal("citations_delta"),citation:M.discriminatedUnion("type",[M.object({type:M.literal("web_search_result_location"),cited_text:M.string(),url:M.string(),title:M.string(),encrypted_index:M.string()}),M.object({type:M.literal("page_location"),cited_text:M.string(),document_index:M.number(),document_title:M.string().nullable(),start_page_number:M.number(),end_page_number:M.number()}),M.object({type:M.literal("char_location"),cited_text:M.string(),document_index:M.number(),document_title:M.string().nullable(),start_char_index:M.number(),end_char_index:M.number()})])})])}),M.object({type:M.literal("content_block_stop"),index:M.number()}),M.object({type:M.literal("error"),error:M.object({type:M.string(),message:M.string()})}),M.object({type:M.literal("message_delta"),delta:M.object({stop_reason:M.string().nullish(),stop_sequence:M.string().nullish(),stop_details:yH$.nullish(),container:M.object({expires_at:M.string(),id:M.string(),skills:M.array(M.object({type:M.union([M.literal("anthropic"),M.literal("custom")]),skill_id:M.string(),version:M.string()})).nullish()}).nullish()}),usage:M.looseObject({input_tokens:M.number().nullish(),output_tokens:M.number(),cache_creation_input_tokens:M.number().nullish(),cache_read_input_tokens:M.number().nullish(),iterations:M.array(M.object({type:M.union([M.literal("compaction"),M.literal("message"),M.literal("advisor_message"),M.literal("fallback_message")]),model:M.string().nullish(),input_tokens:M.number(),output_tokens:M.number(),cache_creation_input_tokens:M.number().nullish(),cache_read_input_tokens:M.number().nullish()})).nullish()}),context_management:M.object({applied_edits:M.array(M.union([M.object({type:M.literal("clear_tool_uses_20250919"),cleared_tool_uses:M.number(),cleared_input_tokens:M.number()}),M.object({type:M.literal("clear_thinking_20251015"),cleared_thinking_turns:M.number(),cleared_input_tokens:M.number()}),M.object({type:M.literal("compact_20260112")})]))}).nullish()}),M.object({type:M.literal("message_stop")}),M.object({type:M.literal("ping")})]))),GL4=B0(()=>$0(M.object({signature:M.string().optional(),redactedData:M.string().optional()}))),kH$=W1.object({citations:W1.object({enabled:W1.boolean()}).optional(),title:W1.string().optional(),context:W1.string().optional()}),VH$=W1.object({sendReasoning:W1.boolean().optional(),structuredOutputMode:W1.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:W1.discriminatedUnion("type",[W1.object({type:W1.literal("adaptive"),display:W1.enum(["omitted","summarized"]).optional()}),W1.object({type:W1.literal("enabled"),budgetTokens:W1.number().optional()}),W1.object({type:W1.literal("disabled")})]).optional(),disableParallelToolUse:W1.boolean().optional(),cacheControl:W1.object({type:W1.literal("ephemeral"),ttl:W1.union([W1.literal("5m"),W1.literal("1h")]).optional()}).optional(),metadata:W1.object({userId:W1.string().optional()}).optional(),mcpServers:W1.array(W1.object({type:W1.literal("url"),name:W1.string(),url:W1.string(),authorizationToken:W1.string().nullish(),toolConfiguration:W1.object({enabled:W1.boolean().nullish(),allowedTools:W1.array(W1.string()).nullish()}).nullish()})).optional(),container:W1.object({id:W1.string().optional(),skills:W1.array(W1.object({type:W1.union([W1.literal("anthropic"),W1.literal("custom")]),skillId:W1.string(),version:W1.string().optional()})).optional()}).optional(),toolStreaming:W1.boolean().optional(),effort:W1.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:W1.object({type:W1.literal("tokens"),total:W1.number().int().min(20000),remaining:W1.number().int().min(0).optional()}).optional(),speed:W1.enum(["fast","standard"]).optional(),inferenceGeo:W1.enum(["us","global"]).optional(),fallbacks:W1.array(W1.object({model:W1.string(),max_tokens:W1.number().int().optional(),thinking:W1.record(W1.string(),W1.unknown()).optional(),output_config:W1.record(W1.string(),W1.unknown()).optional(),speed:W1.enum(["fast","standard"]).optional()})).optional(),anthropicBeta:W1.array(W1.string()).optional(),contextManagement:W1.object({edits:W1.array(W1.discriminatedUnion("type",[W1.object({type:W1.literal("clear_tool_uses_20250919"),trigger:W1.discriminatedUnion("type",[W1.object({type:W1.literal("input_tokens"),value:W1.number()}),W1.object({type:W1.literal("tool_uses"),value:W1.number()})]).optional(),keep:W1.object({type:W1.literal("tool_uses"),value:W1.number()}).optional(),clearAtLeast:W1.object({type:W1.literal("input_tokens"),value:W1.number()}).optional(),clearToolInputs:W1.boolean().optional(),excludeTools:W1.array(W1.string()).optional()}),W1.object({type:W1.literal("clear_thinking_20251015"),keep:W1.union([W1.literal("all"),W1.object({type:W1.literal("thinking_turns"),value:W1.number()})]).optional()}),W1.object({type:W1.literal("compact_20260112"),trigger:W1.object({type:W1.literal("input_tokens"),value:W1.number()}).optional(),pauseAfterCompaction:W1.boolean().optional(),instructions:W1.string().optional()})]))}).optional()});KL4=B0(()=>$0(NZ.object({model:NZ.string(),maxUses:NZ.number().optional(),caching:NZ.object({type:NZ.literal("ephemeral"),ttl:NZ.union([NZ.literal("5m"),NZ.literal("1h")])}).optional()}))),gH$=B0(()=>$0(NZ.discriminatedUnion("type",[NZ.object({type:NZ.literal("advisor_result"),text:NZ.string()}),NZ.object({type:NZ.literal("advisor_redacted_result"),encryptedContent:NZ.string()}),NZ.object({type:NZ.literal("advisor_tool_result_error"),errorCode:NZ.string()})]))),WL4=B0(()=>$0(NZ.object({}).strict())),FL4=a$({id:"anthropic.advisor_20260301",inputSchema:WL4,outputSchema:gH$,supportsDeferredResults:!0}),NL4=B0(()=>$0(UJ.object({maxCharacters:UJ.number().optional()}))),UL4=B0(()=>$0(UJ.object({command:UJ.enum(["view","create","str_replace","insert"]),path:UJ.string(),file_text:UJ.string().optional(),insert_line:UJ.number().int().optional(),new_str:UJ.string().optional(),insert_text:UJ.string().optional(),old_str:UJ.string().optional(),view_range:UJ.array(UJ.number().int()).optional()}))),BL4=f4({id:"anthropic.text_editor_20250728",inputSchema:UL4}),DL4=B0(()=>$0(q9.object({maxUses:q9.number().optional(),allowedDomains:q9.array(q9.string()).optional(),blockedDomains:q9.array(q9.string()).optional(),userLocation:q9.object({type:q9.literal("approximate"),city:q9.string().optional(),region:q9.string().optional(),country:q9.string().optional(),timezone:q9.string().optional()}).optional()}))),LL4=B0(()=>$0(q9.array(q9.object({url:q9.string(),title:q9.string().nullable(),pageAge:q9.string().nullable(),encryptedContent:q9.string(),type:q9.literal("web_search_result")})))),wL4=B0(()=>$0(q9.object({query:q9.string()}))),EL4=a$({id:"anthropic.web_search_20260209",inputSchema:wL4,outputSchema:LL4,supportsDeferredResults:!0}),zL4=B0(()=>$0(M9.object({maxUses:M9.number().optional(),allowedDomains:M9.array(M9.string()).optional(),blockedDomains:M9.array(M9.string()).optional(),userLocation:M9.object({type:M9.literal("approximate"),city:M9.string().optional(),region:M9.string().optional(),country:M9.string().optional(),timezone:M9.string().optional()}).optional()}))),hH$=B0(()=>$0(M9.array(M9.object({url:M9.string(),title:M9.string().nullable(),pageAge:M9.string().nullable(),encryptedContent:M9.string(),type:M9.literal("web_search_result")})))),PL4=B0(()=>$0(M9.object({query:M9.string()}))),AL4=a$({id:"anthropic.web_search_20250305",inputSchema:PL4,outputSchema:hH$,supportsDeferredResults:!0}),RL4=B0(()=>$0(P6.object({maxUses:P6.number().optional(),allowedDomains:P6.array(P6.string()).optional(),blockedDomains:P6.array(P6.string()).optional(),citations:P6.object({enabled:P6.boolean()}).optional(),maxContentTokens:P6.number().optional()}))),IL4=B0(()=>$0(P6.object({type:P6.literal("web_fetch_result"),url:P6.string(),content:P6.object({type:P6.literal("document"),title:P6.string().nullable(),citations:P6.object({enabled:P6.boolean()}).optional(),source:P6.union([P6.object({type:P6.literal("base64"),mediaType:P6.literal("application/pdf"),data:P6.string()}),P6.object({type:P6.literal("text"),mediaType:P6.literal("text/plain"),data:P6.string()})])}),retrievedAt:P6.string().nullable()}))),qL4=B0(()=>$0(P6.object({url:P6.string()}))),ML4=a$({id:"anthropic.web_fetch_20260209",inputSchema:qL4,outputSchema:IL4,supportsDeferredResults:!0}),VL4=B0(()=>$0(A6.object({maxUses:A6.number().optional(),allowedDomains:A6.array(A6.string()).optional(),blockedDomains:A6.array(A6.string()).optional(),citations:A6.object({enabled:A6.boolean()}).optional(),maxContentTokens:A6.number().optional()}))),uH$=B0(()=>$0(A6.object({type:A6.literal("web_fetch_result"),url:A6.string(),content:A6.object({type:A6.literal("document"),title:A6.string().nullable(),citations:A6.object({enabled:A6.boolean()}).optional(),source:A6.union([A6.object({type:A6.literal("base64"),mediaType:A6.literal("application/pdf"),data:A6.string()}),A6.object({type:A6.literal("text"),mediaType:A6.literal("text/plain"),data:A6.string()})])}),retrievedAt:A6.string().nullable()}))),SL4=B0(()=>$0(A6.object({url:A6.string()}))),CL4=a$({id:"anthropic.web_fetch_20250910",inputSchema:SL4,outputSchema:uH$,supportsDeferredResults:!0});cH$=B0(()=>$0(n3.object({type:n3.literal("code_execution_result"),stdout:n3.string(),stderr:n3.string(),return_code:n3.number(),content:n3.array(n3.object({type:n3.literal("code_execution_output"),file_id:n3.string()})).optional().default([])}))),fL4=B0(()=>$0(n3.object({code:n3.string()}))),bL4=a$({id:"anthropic.code_execution_20250522",inputSchema:fL4,outputSchema:cH$}),lH$=B0(()=>$0(e1.discriminatedUnion("type",[e1.object({type:e1.literal("code_execution_result"),stdout:e1.string(),stderr:e1.string(),return_code:e1.number(),content:e1.array(e1.object({type:e1.literal("code_execution_output"),file_id:e1.string()})).optional().default([])}),e1.object({type:e1.literal("bash_code_execution_result"),content:e1.array(e1.object({type:e1.literal("bash_code_execution_output"),file_id:e1.string()})),stdout:e1.string(),stderr:e1.string(),return_code:e1.number()}),e1.object({type:e1.literal("bash_code_execution_tool_result_error"),error_code:e1.string()}),e1.object({type:e1.literal("text_editor_code_execution_tool_result_error"),error_code:e1.string()}),e1.object({type:e1.literal("text_editor_code_execution_view_result"),content:e1.string(),file_type:e1.string(),num_lines:e1.number().nullable(),start_line:e1.number().nullable(),total_lines:e1.number().nullable()}),e1.object({type:e1.literal("text_editor_code_execution_create_result"),is_file_update:e1.boolean()}),e1.object({type:e1.literal("text_editor_code_execution_str_replace_result"),lines:e1.array(e1.string()).nullable(),new_lines:e1.number().nullable(),new_start:e1.number().nullable(),old_lines:e1.number().nullable(),old_start:e1.number().nullable()})]))),yL4=B0(()=>$0(e1.discriminatedUnion("type",[e1.object({type:e1.literal("programmatic-tool-call"),code:e1.string()}),e1.object({type:e1.literal("bash_code_execution"),command:e1.string()}),e1.discriminatedUnion("command",[e1.object({type:e1.literal("text_editor_code_execution"),command:e1.literal("view"),path:e1.string()}),e1.object({type:e1.literal("text_editor_code_execution"),command:e1.literal("create"),path:e1.string(),file_text:e1.string().nullish()}),e1.object({type:e1.literal("text_editor_code_execution"),command:e1.literal("str_replace"),path:e1.string(),old_str:e1.string(),new_str:e1.string()})])]))),gL4=a$({id:"anthropic.code_execution_20250825",inputSchema:yL4,outputSchema:lH$,supportsDeferredResults:!0}),dH$=B0(()=>$0(f1.discriminatedUnion("type",[f1.object({type:f1.literal("code_execution_result"),stdout:f1.string(),stderr:f1.string(),return_code:f1.number(),content:f1.array(f1.object({type:f1.literal("code_execution_output"),file_id:f1.string()})).optional().default([])}),f1.object({type:f1.literal("encrypted_code_execution_result"),encrypted_stdout:f1.string(),stderr:f1.string(),return_code:f1.number(),content:f1.array(f1.object({type:f1.literal("code_execution_output"),file_id:f1.string()})).optional().default([])}),f1.object({type:f1.literal("bash_code_execution_result"),content:f1.array(f1.object({type:f1.literal("bash_code_execution_output"),file_id:f1.string()})),stdout:f1.string(),stderr:f1.string(),return_code:f1.number()}),f1.object({type:f1.literal("bash_code_execution_tool_result_error"),error_code:f1.string()}),f1.object({type:f1.literal("text_editor_code_execution_tool_result_error"),error_code:f1.string()}),f1.object({type:f1.literal("text_editor_code_execution_view_result"),content:f1.string(),file_type:f1.string(),num_lines:f1.number().nullable(),start_line:f1.number().nullable(),total_lines:f1.number().nullable()}),f1.object({type:f1.literal("text_editor_code_execution_create_result"),is_file_update:f1.boolean()}),f1.object({type:f1.literal("text_editor_code_execution_str_replace_result"),lines:f1.array(f1.string()).nullable(),new_lines:f1.number().nullable(),new_start:f1.number().nullable(),old_lines:f1.number().nullable(),old_start:f1.number().nullable()})]))),uL4=B0(()=>$0(f1.discriminatedUnion("type",[f1.object({type:f1.literal("programmatic-tool-call"),code:f1.string()}),f1.object({type:f1.literal("bash_code_execution"),command:f1.string()}),f1.discriminatedUnion("command",[f1.object({type:f1.literal("text_editor_code_execution"),command:f1.literal("view"),path:f1.string()}),f1.object({type:f1.literal("text_editor_code_execution"),command:f1.literal("create"),path:f1.string(),file_text:f1.string().nullish()}),f1.object({type:f1.literal("text_editor_code_execution"),command:f1.literal("str_replace"),path:f1.string(),old_str:f1.string(),new_str:f1.string()})])]))),cL4=a$({id:"anthropic.code_execution_20260120",inputSchema:uL4,outputSchema:dH$,supportsDeferredResults:!0}),mH$=B0(()=>$0(fC.array(fC.object({type:fC.literal("tool_reference"),toolName:fC.string()})))),dL4=B0(()=>$0(fC.object({pattern:fC.string(),limit:fC.number().optional()}))),mL4=a$({id:"anthropic.tool_search_regex_20251119",inputSchema:dL4,outputSchema:mH$,supportsDeferredResults:!0});iH$=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),rL4=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];Yw4=B0(()=>$0(Xr0.object({command:Xr0.string(),restart:Xr0.boolean().optional()}))),Gw4=f4({id:"anthropic.bash_20241022",inputSchema:Yw4}),Jw4=B0(()=>$0(Qr0.object({command:Qr0.string(),restart:Qr0.boolean().optional()}))),Kw4=f4({id:"anthropic.bash_20250124",inputSchema:Jw4}),Ww4=B0(()=>$0(Dt.object({action:Dt.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:Dt.array(Dt.number().int()).optional(),text:Dt.string().optional()}))),Fw4=f4({id:"anthropic.computer_20241022",inputSchema:Ww4}),Hw4=B0(()=>$0(NJ.object({action:NJ.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:NJ.tuple([NJ.number().int(),NJ.number().int()]).optional(),duration:NJ.number().optional(),scroll_amount:NJ.number().optional(),scroll_direction:NJ.enum(["up","down","left","right"]).optional(),start_coordinate:NJ.tuple([NJ.number().int(),NJ.number().int()]).optional(),text:NJ.string().optional()}))),Nw4=f4({id:"anthropic.computer_20250124",inputSchema:Hw4}),Uw4=B0(()=>$0(L7.object({action:L7.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:L7.tuple([L7.number().int(),L7.number().int()]).optional(),duration:L7.number().optional(),region:L7.tuple([L7.number().int(),L7.number().int(),L7.number().int(),L7.number().int()]).optional(),scroll_amount:L7.number().optional(),scroll_direction:L7.enum(["up","down","left","right"]).optional(),start_coordinate:L7.tuple([L7.number().int(),L7.number().int()]).optional(),text:L7.string().optional()}))),Bw4=f4({id:"anthropic.computer_20251124",inputSchema:Uw4}),Ow4=B0(()=>$0(v6.discriminatedUnion("command",[v6.object({command:v6.literal("view"),path:v6.string(),view_range:v6.tuple([v6.number(),v6.number()]).optional()}),v6.object({command:v6.literal("create"),path:v6.string(),file_text:v6.string()}),v6.object({command:v6.literal("str_replace"),path:v6.string(),old_str:v6.string(),new_str:v6.string()}),v6.object({command:v6.literal("insert"),path:v6.string(),insert_line:v6.number(),insert_text:v6.string()}),v6.object({command:v6.literal("delete"),path:v6.string()}),v6.object({command:v6.literal("rename"),old_path:v6.string(),new_path:v6.string()})]))),Dw4=f4({id:"anthropic.memory_20250818",inputSchema:Ow4}),Lw4=B0(()=>$0(xW.object({command:xW.enum(["view","create","str_replace","insert","undo_edit"]),path:xW.string(),file_text:xW.string().optional(),insert_line:xW.number().int().optional(),new_str:xW.string().optional(),insert_text:xW.string().optional(),old_str:xW.string().optional(),view_range:xW.array(xW.number().int()).optional()}))),ww4=f4({id:"anthropic.text_editor_20241022",inputSchema:Lw4}),Ew4=B0(()=>$0(yW.object({command:yW.enum(["view","create","str_replace","insert","undo_edit"]),path:yW.string(),file_text:yW.string().optional(),insert_line:yW.number().int().optional(),new_str:yW.string().optional(),insert_text:yW.string().optional(),old_str:yW.string().optional(),view_range:yW.array(yW.number().int()).optional()}))),jw4=f4({id:"anthropic.text_editor_20250124",inputSchema:Ew4}),zw4=B0(()=>$0(gW.object({command:gW.enum(["view","create","str_replace","insert"]),path:gW.string(),file_text:gW.string().optional(),insert_line:gW.number().int().optional(),new_str:gW.string().optional(),insert_text:gW.string().optional(),old_str:gW.string().optional(),view_range:gW.array(gW.number().int()).optional()}))),Pw4=f4({id:"anthropic.text_editor_20250429",inputSchema:zw4}),Aw4=B0(()=>$0(bC.array(bC.object({type:bC.literal("tool_reference"),toolName:bC.string()})))),Tw4=B0(()=>$0(bC.object({query:bC.string(),limit:bC.number().optional()}))),Rw4=a$({id:"anthropic.tool_search_bm25_20251119",inputSchema:Tw4,outputSchema:Aw4,supportsDeferredResults:!0}),qw4={advisor_20260301:HL4,bash_20241022:Gw4,bash_20250124:Kw4,codeExecution_20250522:xL4,codeExecution_20250825:hL4,codeExecution_20260120:lL4,computer_20241022:Fw4,computer_20250124:Nw4,computer_20251124:Bw4,memory_20250818:Dw4,textEditor_20241022:ww4,textEditor_20250124:jw4,textEditor_20250429:Pw4,textEditor_20250728:OL4,webFetch_20250910:_L4,webFetch_20260209:kL4,webSearch_20250305:TL4,webSearch_20260209:jL4,toolSearchRegex_20251119:iL4,toolSearchBm25_20251119:Iw4};Uf9=Lt()});import{z as KN}from"zod/v4";import{z as wt}from"zod/v4";import{z as WX}from"zod/v4";import{z as h0}from"zod/v4";import{z as W6}from"zod/v4";import{z as Lg}from"zod/v4";import{z as sw4}from"zod/v4";import{z as Et}from"zod/v4";import{z as QE4}from"zod/v4";import{z as xC}from"zod/v4";import{z as KE4}from"zod/v4";import{z as Jr0}from"zod/v4";import{z as yC}from"zod/v4";import{z as W9}from"zod/v4";import{z as H0}from"zod/v4";import{z as i1}from"zod/v4";function nH$($){var Z,X,Q,Y;if($==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let G=(Z=$.promptTokenCount)!=null?Z:0,J=(X=$.candidatesTokenCount)!=null?X:0,K=(Q=$.cachedContentTokenCount)!=null?Q:0,W=(Y=$.thoughtsTokenCount)!=null?Y:0;return{inputTokens:{total:G,noCache:G-K,cacheRead:K,cacheWrite:void 0},outputTokens:{total:J+W,text:J,reasoning:W},raw:$}}function t3($,Z=!0){if($==null)return;if(fw4($)){if(Z)return;if(typeof $==="object"&&$.description)return{type:"object",description:$.description};return{type:"object"}}if(typeof $==="boolean")return{type:"boolean",properties:{}};let{type:X,description:Q,required:Y,properties:G,items:J,allOf:K,anyOf:W,oneOf:F,format:H,const:N,minLength:U,enum:B}=$,O={};if(Q)O.description=Q;if(Y)O.required=Y;if(H)O.format=H;if(N!==void 0)O.enum=[N];if(X)if(Array.isArray(X)){let L=X.includes("null"),w=X.filter((E)=>E!=="null");if(w.length===0)O.type="null";else if(O.anyOf=w.map((E)=>({type:E})),L)O.nullable=!0}else O.type=X;if(B!==void 0)O.enum=B;if(G!=null)O.properties=Object.entries(G).reduce((L,[w,E])=>{return L[w]=t3(E,!1),L},{});if(J)O.items=Array.isArray(J)?J.map((L)=>t3(L,!1)):t3(J,!1);if(K)O.allOf=K.map((L)=>t3(L,!1));if(W)if(W.some((L)=>typeof L==="object"&&(L==null?void 0:L.type)==="null")){let L=W.filter((w)=>!(typeof w==="object"&&(w==null?void 0:w.type)==="null"));if(L.length===1){let w=t3(L[0],!1);if(typeof w==="object")O.nullable=!0,Object.assign(O,w)}else O.anyOf=L.map((w)=>t3(w,!1)),O.nullable=!0}else O.anyOf=W.map((L)=>t3(L,!1));if(F)O.oneOf=F.map((L)=>t3(L,!1));if(U!==void 0)O.minLength=U;return O}function fw4($){return $!=null&&typeof $==="object"&&$.type==="object"&&($.properties==null||Object.keys($.properties).length===0)&&!$.additionalProperties}function tH$($,Z){let X=[Z,"google","googleVertex","vertex"].filter((Q,Y,G)=>{return G.indexOf(Q)===Y});for(let Q of X){let Y=$==null?void 0:$[Q];if(Y!=null)return Y}}function yw4($){let Z=xw4.exec($);if(Z==null)return;return{mediaType:Z[1],data:Z[2]}}function gw4($){let Z=yw4($);if(Z==null)return;return{inlineData:{mimeType:Z.mediaType,data:Z.data}}}function hw4($,Z,X,Q){let Y=[],G=[];for(let J of X)switch(J.type){case"text":{G.push(J.text);break}case"image-data":case"file-data":{Y.push({inlineData:{mimeType:J.mediaType,data:J.data}});break}case"image-url":case"file-url":{let K=gw4(J.url);if(K!=null)Y.push(K);else G.push(JSON.stringify(J));break}default:{G.push(JSON.stringify(J));break}}$.push({functionResponse:{...Q!=null?{id:Q}:{},name:Z,response:{name:Z,content:G.length>0?G.join(`
1470
1470
  `):"Tool executed successfully."},...Y.length>0?{parts:Y}:{}}})}function uw4($,Z,X,Q){for(let Y of X)switch(Y.type){case"text":$.push({functionResponse:{...Q!=null?{id:Q}:{},name:Z,response:{name:Z,content:Y.text}}});break;case"image-data":$.push({inlineData:{mimeType:String(Y.mediaType),data:String(Y.data)}},{text:"Tool executed successfully and returned this image as a response"});break;default:$.push({text:JSON.stringify(Y)});break}}function cw4($,Z){var X,Q,Y,G,J;let K=[],W=[],F=!0,H=(X=Z==null?void 0:Z.isGemmaModel)!=null?X:!1,N=(Q=Z==null?void 0:Z.isGemini3Model)!=null?Q:!1,U=(Y=Z==null?void 0:Z.providerOptionsName)!=null?Y:"google",B=(G=Z==null?void 0:Z.supportsFunctionResponseParts)!=null?G:!0,O=Z==null?void 0:Z.onWarning,L=!1,w=[],E=(j)=>{return w.push(j),L=!0,bw4};for(let{role:j,content:z}of $)switch(j){case"system":{if(!F)throw new v4({functionality:"system messages are only supported at the beginning of the conversation"});K.push({text:z});break}case"user":{F=!1;let A=[];for(let P of z)switch(P.type){case"text":{A.push({text:P.text});break}case"file":{let I=P.mediaType==="image/*"?"image/jpeg":P.mediaType;A.push(P.data instanceof URL?{fileData:{mimeType:I,fileUri:P.data.toString()}}:{inlineData:{mimeType:I,data:KZ(P.data)}});break}}W.push({role:"user",parts:A});break}case"assistant":{F=!1,W.push({role:"model",parts:z.map((A)=>{let P=tH$(A.providerOptions,U),I=(P==null?void 0:P.thoughtSignature)!=null?String(P.thoughtSignature):void 0;switch(A.type){case"text":return A.text.length===0?void 0:{text:A.text,thoughtSignature:I};case"reasoning":return A.text.length===0?void 0:{text:A.text,thought:!0,thoughtSignature:I};case"file":{if(A.data instanceof URL)throw new v4({functionality:"File data URLs in assistant messages are not supported"});return{inlineData:{mimeType:A.mediaType,data:KZ(A.data)},...(P==null?void 0:P.thought)===!0?{thought:!0}:{},thoughtSignature:I}}case"tool-call":{let q=(P==null?void 0:P.serverToolCallId)!=null?String(P.serverToolCallId):void 0,k=(P==null?void 0:P.serverToolType)!=null?String(P.serverToolType):void 0,S=I!=null?I:N?E(A.toolName):void 0;if(q&&k)return{toolCall:{toolType:k,args:typeof A.input==="string"?JSON.parse(A.input):A.input,id:q},thoughtSignature:S};return{functionCall:{...A.toolCallId!=null?{id:A.toolCallId}:{},name:A.toolName,args:A.input},thoughtSignature:S}}case"tool-result":{let q=(P==null?void 0:P.serverToolCallId)!=null?String(P.serverToolCallId):void 0,k=(P==null?void 0:P.serverToolType)!=null?String(P.serverToolType):void 0;if(q&&k)return{toolResponse:{toolType:k,response:A.output.type==="json"?A.output.value:{},id:q},thoughtSignature:I};return}}}).filter((A)=>A!==void 0)});break}case"tool":{F=!1;let A=[];for(let P of z){if(P.type==="tool-approval-response")continue;let I=tH$(P.providerOptions,U),q=(I==null?void 0:I.serverToolCallId)!=null?String(I.serverToolCallId):void 0,k=(I==null?void 0:I.serverToolType)!=null?String(I.serverToolType):void 0;if(q&&k){let m=(I==null?void 0:I.thoughtSignature)!=null?String(I.thoughtSignature):void 0;if(W.length>0){let f=W[W.length-1];if(f.role==="model"){f.parts.push({toolResponse:{toolType:k,response:P.output.type==="json"?P.output.value:{},id:q},thoughtSignature:m});continue}}}let S=P.output;if(S.type==="content")if(B)hw4(A,P.toolName,S.value,P.toolCallId);else uw4(A,P.toolName,S.value,P.toolCallId);else A.push({functionResponse:{...P.toolCallId!=null?{id:P.toolCallId}:{},name:P.toolName,response:{name:P.toolName,content:S.type==="execution-denied"?(J=S.reason)!=null?J:"Tool execution denied.":S.value}}})}W.push({role:"user",parts:A});break}}if(H&&K.length>0&&W.length>0&&W[0].role==="user"){let j=K.map((z)=>z.text).join(`
@@ -2920,7 +2920,7 @@ Respond with the structured verdict and a short reason.`,_c$;var fc$=D(()=>{D4()
2920
2920
  ${G.join(`
2921
2921
  `)}`:Y}function oH6($){let Z=new Set;for(let X of $)for(let Q of X.split(`
2922
2922
  `)){let Y=Q.trim();if(/^Co-authored-by:\s/i.test(Y))Z.add(Y)}return[...Z]}var Dl$=200,uH6=12,lH6,mH6=300,F71=3;var H71=D(()=>{xD();YT0();lH6={aheadBy:0,behindBy:0,files:[]}});function aH6($){if(!$||$.includes(".."))return!1;return rH6.test($)}function wl$($){let Z=typeof $.__resolveType==="string"?$.__resolveType:null;if(!Z||!aH6(Z))return null;let{__resolveType:X,...Q}=$;return{resolveType:Z,payload:Q}}function El$($,Z){return`${$.replace(/\/+$/,"")}/deco/invoke/${Z}`}var rH6;var jl$=D(()=>{rH6=/^[\w./@-]+$/});function Fs($,Z){let X=$?.githubRepo;if(!X?.owner||!X?.name)return null;if(!X.connectionId)return X;if(!Z.includes(X.connectionId))return null;return X}async function zl$($,Z,X,Q){if(!Q.connectionId)throw new Gv("Push requires a connected GitHub account. Connect mcp-github for this project and restart the sandbox.");let Y=$.organization?.id;if(!Y)throw new Gv(G9);await jO({ctx:$,connectionId:Q.connectionId,organizationId:Y,forceRefresh:!0,onLegacyMintError:(H)=>{let N=H instanceof Error?H.message:G9;throw new Gv(N)}});let{cloneUrl:G,gitUserName:J,gitUserEmail:K}=await TW(Q.connectionId,Q.owner,Q.name,$.db,$.vault).catch((H)=>{let{code:N,message:U}=H5$(H instanceof Error?H.message:String(H));throw N?new Gv(U):H}),W=hu($),F=await Z.proxyDaemonRequest(X,"/_sandbox/config",{method:"PUT",headers:new Headers({"content-type":"application/json"}),body:JSON.stringify({git:{repository:{cloneUrl:G},identity:{userName:J,userEmail:K}},...W?{operator:W}:{}})});if(!F.ok){let H=await EO(F,sH6).catch(()=>F.statusText);throw Error(`Failed to refresh sandbox git credentials (${F.status}): ${H}`)}}var sH6=10485760,Gv;var N71=D(()=>{ZJ();nA0();Qn();Fi0();zy();Gv=class Gv extends Error{constructor($){super($);this.name="GitPushAuthError"}}});function $N6($){let Z=$.startsWith("thread:")?$.slice(7):$;if(!Z||Z.length>255||Z.includes("..")||Z.startsWith("/")||Z.endsWith("/")||Z.endsWith(".lock")||!eH6.test(Z))throw Error(`Invalid branch name: ${$}`)}function Jv($){return AbortSignal.any([$.req.raw.signal,AbortSignal.timeout(XN6)])}async function YN6($,Z){let X=$.var.studioContext,Q=eG(Z.branch),Y=$.req.query("thread")??Q,G=Y&&Y===Q?Z.branchThread:Y?await X.storage.threads.get(Y).catch(()=>null):null,J=G?.virtual_mcp_id===Z.virtualMcpId?G:null,K=FC(J?.metadata?.runtime);if(K)return K;let W=uO0(Z.virtualMcpMetadata),F=W==="cms"?await pZ1(X,{claimName:Z.claimName}):"alive",H=W==="cms"&&F!=="alive"?"cms":"sandbox",N=!!J&&(F==="gone"||F==="alive"&&W==="cms");if(N&&J)_n(X,J.id,H);if(W==="cms")console.log("sandbox proxy: no runtime stamp",{route:$.req.path,method:$.req.method,reason:J?"unstamped":"threadless",liveness:F,resolved:H,stamped:N});return H}async function GN6($){let Z=$.get("vmClaim");if(Z.runner)return Z.runner;try{return await $Q($.var.studioContext)}catch{return null}}function Kv($){let{runner:Z}=$.get("vmClaim");if(!Z)return $.json({error:"No sandbox runner configured"},503);return Z}async function mu($){let{virtualMcpMetadata:Z,connectionIds:X}=$.get("vmClaim"),Q=$.var.studioContext,Y=Fs(Z,X);if(!Y)throw new u4(404,"AUTH","repo","Project has no GitHub repository");let G=t(Q);return tA0(Q,G.id,Y)}function U71($,Z){if(Z instanceof eP0)return $.json({error:Z.message},429,{...P5,...Z.retryAfterMs===null?{}:{"Retry-After":String(Math.ceil(Z.retryAfterMs/1000))}});if(Z instanceof u4){let Q=Z.status===404?404:Z.status===409||Z.status===422?409:502;return $.json({error:Z.message},Q,P5)}let X=Z instanceof Error?Z.message:String(Z);return $.json({error:X},502,P5)}async function Tl$($,Z,X){let Q;try{Q=await fetch(Z,X)}catch{return $.json({error:"Preview unreachable"},502)}let Y;try{Y=await Q.text()}catch{return $.json({error:"Preview unreachable"},502)}return new Response(Y,{status:Q.status,headers:{"content-type":Q.headers.get("content-type")??"application/json"}})}async function Rl$($){try{let Z=await mu($),X=await GT0(Z,$.get("vmClaim").branch);return $.json(X,200,P5)}catch(Z){return U71($,Z)}}function Hs($,Z){let Q=(WT0.get($)??Promise.resolve()).catch(()=>{}).then(Z),Y=Q.catch(()=>{});return WT0.set($,Y),Y.finally(()=>{if(WT0.get($)===Y)WT0.delete($)}),Q}async function tZ($,Z,X){if(!X?.runner&&$.get("vmClaim").runtime==="cms")return $.json({error:"sandbox not found: this session is sandbox-less"},404,P5);let Q=X?.runner??Kv($);if(Q instanceof Response)return Q;let{claimName:Y,userId:G,projectRef:J}=$.get("vmClaim"),K=X?.method??"POST",W=null,F=new Headers;if(X?.jsonBody!==void 0)W=X.jsonBody,F.set("content-type","application/json");else if(X?.forwardJsonBody)W=await $.req.text(),F.set("content-type","application/json");let H=X?.signal,N={method:K,headers:F,body:W,...H?{signal:H}:{}},U=async()=>{let B=await Q.proxyDaemonRequest(Y,Z,N);if(X?.map404to410&&B.status===404){try{await B.body?.cancel()}catch{}if(await Q.adoptLiveClaim({userId:G,projectRef:J},Y))B=await Q.proxyDaemonRequest(Y,Z,N);if(B.status===404){try{await B.body?.cancel()}catch{}return new Response(JSON.stringify({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."}),{status:410,headers:{"content-type":"application/json",...P5}})}}let O=await B.text(),L=X?.redactRepoDir?JN6(O):O,w=B.headers.get("content-type")??"application/json";return new Response(L,{status:B.status,headers:{"content-type":w,...P5}})};try{if(H){let B=U();return B.catch(()=>{}),await Promise.race([B,new Promise((L,w)=>{if(H.aborted)return w(H.reason);H.addEventListener("abort",()=>w(H.reason),{once:!0})})])}return await U()}catch(B){let O=B instanceof Error?B.message:String(B);return $.json({error:`Daemon unreachable: ${O}`},502)}}function JN6($){try{let Z=JSON.parse($);if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&"repoDir"in Z)return JSON.stringify({...Z,repoDir:null})}catch{}return $}async function FT0($,Z,X,Q="GET",Y){let G=await $.proxyDaemonRequest(Z,X,{method:Q,headers:new Headers,body:null});if(G.status===404&&Y){try{await G.body?.cancel()}catch{}if(await $.adoptLiveClaim(Y,Z))G=await $.proxyDaemonRequest(Z,X,{method:Q,headers:new Headers,body:null})}if(G.status===404){try{await G.body?.cancel()}catch{}throw Error("SANDBOX_GONE")}let J=await G.text();if(!G.ok){let K=`Daemon error (${G.status})`;try{K=JSON.parse(J).error??K}catch{}throw Error(K)}return JSON.parse(J)}function KN6($){return Il$.includes($)}var eH6,Pl$=524288,ZN6=65536,XN6=1e4,Al$=2000,QN6,WT0,P5,Il$,ql$=()=>{let $=new H1;$.use("/:virtualMcpId/:branch/*",QN6),$.post("/:virtualMcpId/:branch/write",(X)=>tZ(X,"/_sandbox/write",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/unlink",(X)=>tZ(X,"/_sandbox/unlink",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/mkdir",(X)=>tZ(X,"/_sandbox/mkdir",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/rename",(X)=>tZ(X,"/_sandbox/rename",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/read",(X)=>tZ(X,"/_sandbox/read",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/glob",(X)=>tZ(X,"/_sandbox/glob",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/grep",(X)=>tZ(X,"/_sandbox/grep",{forwardJsonBody:!0,signal:Jv(X)})),$.post("/:virtualMcpId/:branch/exec/:script",async(X)=>{let Q=X.req.param("script");if(!Q)return X.json({error:"missing script name"},400);return tZ(X,`/_sandbox/exec/${encodeURIComponent(Q)}`)}),$.post("/:virtualMcpId/:branch/exec/:script/kill",async(X)=>{let Q=X.req.param("script");if(!Q)return X.json({error:"missing script name"},400);return tZ(X,`/_sandbox/exec/${encodeURIComponent(Q)}/kill`)}),$.get("/:virtualMcpId/:branch/config",(X)=>tZ(X,"/_sandbox/config",{method:"GET",map404to410:!0,redactRepoDir:!0})),$.put("/:virtualMcpId/:branch/config",(X)=>tZ(X,"/_sandbox/config",{method:"PUT",forwardJsonBody:!0,map404to410:!0})),$.post("/:virtualMcpId/:branch/setup/:step",async(X)=>{let Q=X.req.param("step");if(!Q||!KN6(Q))return X.json({error:`step must be one of: ${Il$.join(", ")}`},400);let Y=X.get("vmClaim"),G=await pZ1(X.var.studioContext,{claimName:Y.claimName})==="gone"?null:await GN6(X);if(!G)return X.json({error:"sandbox not found: nothing is running at this ref"},404,P5);if(Q==="start"){let J=t(X.var.studioContext),K=Ey(Y.virtualMcpMetadata);try{await X70({ctx:X.var.studioContext,runner:G,handle:Y.claimName,orgId:J.id,userId:Y.callerUserId,entries:K})}catch(W){let F=W instanceof Error?W.message:String(W);return X.json({error:`Failed to push env to daemon: ${F}`},502)}}return tZ(X,`/_sandbox/setup/${Q}`,{signal:X.req.raw.signal,map404to410:!0,runner:G})}),$.get("/:virtualMcpId/:branch/events",(X)=>{let Q=X.get("vmClaim");if(!Q.runner)return hN(X,async(Y)=>{await Y.writeSSE({event:"phase",data:JSON.stringify({kind:"failed",reason:"unknown",message:"No sandbox runner configured on this studio instance."})})});return qc$(X,{ctx:X.var.studioContext,claimName:Q.claimName,runner:Q.runner,virtualMcpId:Q.virtualMcpId,branch:Q.branch,userId:Q.userId,projectRef:Q.projectRef,virtualMcpMetadata:Q.virtualMcpMetadata})}),$.get("/:virtualMcpId/:branch/git/status",(X)=>{if(X.get("vmClaim").runtime==="cms")return Rl$(X);return Z(X)});let Z=(X)=>tZ(X,"/_sandbox/git/status",{method:"GET",map404to410:!0,signal:AbortSignal.any([X.req.raw.signal,AbortSignal.timeout(Al$)])});return $.post("/:virtualMcpId/:branch/git/status",(X)=>{if(X.get("vmClaim").runtime==="cms")return Rl$(X);return tZ(X,"/_sandbox/git/status",{map404to410:!0,signal:AbortSignal.any([X.req.raw.signal,AbortSignal.timeout(Al$)])})}),$.post("/:virtualMcpId/:branch/git/diff",async(X)=>{let Q=X.get("vmClaim");if(Q.runtime==="cms")try{let Y=await X.req.json().catch(()=>({})),G=await mu(X),J=await JT0(G,Q.branch,Y.base);return X.json(J,200,P5)}catch(Y){return U71(X,Y)}return tZ(X,"/_sandbox/git/diff",{forwardJsonBody:!0,map404to410:!0})}),$.post("/:virtualMcpId/:branch/git/publish",async(X)=>{if(X.get("vmClaim").runtime==="cms")return X.json({ok:!0},200,P5);let Q=Kv(X);if(Q instanceof Response)return Q;let{claimName:Y,virtualMcpMetadata:G,connectionIds:J}=X.get("vmClaim"),K=X.var.studioContext;return Hs(Y,async()=>{try{await nZ1(K,Q,Y);let W=Fs(G,J);if(W)await zl$(K,Q,Y,W)}catch(W){if(W instanceof Gv)return X.json({error:W.message},403,P5);let F=W instanceof Error?W.message:String(W);return X.json({error:F},502,P5)}return tZ(X,"/_sandbox/git/publish",{forwardJsonBody:!0,map404to410:!0})})}),$.post("/:virtualMcpId/:branch/git/discard",async(X)=>{let Q=X.get("vmClaim");if(Q.runtime==="cms")return Hs(Q.claimName,async()=>{let Y=await X.req.json().catch(()=>({})),G=Array.isArray(Y.filepaths)?Y.filepaths.filter((J)=>typeof J==="string"):[];if(G.length===0)return X.json({error:"filepaths is required"},400,P5);try{let J=await mu(X);return await Ll$(J,Q.branch,G),X.json({ok:!0},200,P5)}catch(J){let K=J instanceof u4&&J.status===409?409:502,W=J instanceof Error?J.message:String(J);return X.json({error:W},K,P5)}});return Hs(Q.claimName,()=>tZ(X,"/_sandbox/git/discard",{forwardJsonBody:!0,map404to410:!0}))}),$.post("/:virtualMcpId/:branch/git/rebase",async(X)=>{let Q=X.get("vmClaim");if(Q.runtime==="cms")return Hs(Q.claimName,async()=>{try{let K=await X.req.json().catch(()=>({})),W=await mu(X),F=K.base??await W.getDefaultBranch();return await KT0(W,Q.branch,F),X.json({ok:!0},200,P5)}catch(K){return U71(X,K)}});let Y=Kv(X);if(Y instanceof Response)return Y;let{claimName:G}=X.get("vmClaim"),J=X.var.studioContext;return Hs(G,async()=>{try{await nZ1(J,Y,G)}catch(K){let W=K instanceof Error?K.message:String(K);return X.json({error:W},502,P5)}return tZ(X,"/_sandbox/git/rebase",{forwardJsonBody:!0,map404to410:!0})})}),$.post("/:virtualMcpId/:branch/git/suggest-commit",p5({maxSize:Pl$,onError:(X)=>X.json({error:"Payload too large"},413,P5)}),async(X)=>{let Q=X.get("vmClaim"),Y=null;if(Q.runtime!=="cms"){let F=Kv(X);if(F instanceof Response)return F;Y=F}let{claimName:G,userId:J,projectRef:K}=Q,W=X.var.studioContext;try{let F=await X.req.json().catch(()=>({})),H=F.status,N=F.diff,U=N!=null&&typeof N.diffs==="object"&&N.diffs!==null,[B,O]=rZ1(H)&&U?[H,N]:Y?await Promise.all([FT0(Y,G,"/_sandbox/git/status","GET",{userId:J,projectRef:K}),FT0(Y,G,"/_sandbox/git/diff","GET",{userId:J,projectRef:K})]):await(async()=>{let w=await mu(X);return Promise.all([GT0(w,Q.branch),JT0(w,Q.branch)])})(),L=await Cc$(W,B,O);return X.json(L,200,P5)}catch(F){let H=F instanceof Error?F.message:String(F);if(H==="SANDBOX_GONE")return X.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,P5);return X.json({error:H},502,P5)}}),$.post("/:virtualMcpId/:branch/git/judge-review",p5({maxSize:Pl$,onError:(X)=>X.json({error:"Payload too large"},413,P5)}),async(X)=>{let Q=X.get("vmClaim"),Y=null;if(Q.runtime!=="cms"){let F=Kv(X);if(F instanceof Response)return F;Y=F}let{claimName:G,userId:J,projectRef:K}=Q,W=X.var.studioContext;try{let F=await X.req.json().catch(()=>({})),H=F.status,N=F.diff,U=N!=null&&typeof N.diffs==="object"&&N.diffs!==null,[B,O]=rZ1(H)&&U?[H,N]:Y?await Promise.all([FT0(Y,G,"/_sandbox/git/status","GET",{userId:J,projectRef:K}),FT0(Y,G,"/_sandbox/git/diff","GET",{userId:J,projectRef:K})]):await(async()=>{let w=await mu(X);return Promise.all([GT0(w,Q.branch),JT0(w,Q.branch)])})(),L=await vc$(W,B,O,typeof F.language==="string"?F.language:void 0);return X.json(L,200,P5)}catch(F){let H=F instanceof Error?F.message:String(F);if(H==="SANDBOX_GONE")return X.json({error:"Sandbox handle is gone. The sandbox needs to be re-provisioned."},410,P5);return X.json({error:H},502,P5)}}),$.get("/:virtualMcpId/:branch/preview-fetch",async(X)=>{let Q=Kv(X);if(Q instanceof Response)return Q;let{claimName:Y}=X.get("vmClaim"),G=X.req.query("path");if(!G||!G.startsWith("/")||G.startsWith("//")||G.includes("..")||G.includes("\\"))return X.json({error:"Path not allowed"},403);let J;try{J=await Q.getPreviewUrl(Y)}catch{return X.json({error:"Preview not available"},502)}if(!J)return X.json({error:"Preview not available"},502);let K=J.replace(/\/+$/,"");return Tl$(X,`${K}${G}`)}),$.post("/:virtualMcpId/:branch/preview-invoke",p5({maxSize:ZN6,onError:(X)=>X.json({error:"Payload too large"},413)}),async(X)=>{let Q=Kv(X);if(Q instanceof Response)return Q;let{claimName:Y}=X.get("vmClaim"),G;try{G=await Q.getPreviewUrl(Y)}catch{return X.json({error:"Preview not available"},502)}if(!G)return X.json({error:"Preview not available"},502);let J;try{J=await X.req.json()}catch{return X.json({error:"Invalid JSON body"},400)}if(!J||typeof J!=="object"||Array.isArray(J))return X.json({error:"Invalid JSON body"},400);let K=wl$(J);if(!K)return X.json({error:"Invalid or missing __resolveType"},400);let W=El$(G,K.resolveType);return Tl$(X,W,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(K.payload),signal:AbortSignal.timeout(30000)})}),$};var Ml$=D(()=>{U8();BF();gu();iZ1();sp();Tc$();b3();gy();Rc$();u3();Ic$();Mc$();Ji0();Zn();eZ1();fc$();Z71();xD();H71();jl$();N71();eH6=/^[a-zA-Z0-9][a-zA-Z0-9/._-]*$/;QN6=pA0(async($,Z)=>{let X=$.var.studioContext;try{r(X)}catch{return $.json({error:"Unauthorized"},401)}let Q=o0(X);if(!Q)return $.json({error:"Unauthorized"},401);let Y;try{Y=t(X)}catch{return $.json({error:"Organization scope required"},403)}let G=$.req.param("virtualMcpId"),J=$.req.param("branch");if(!G||!J)return $.json({error:"virtualMcpId and branch are required"},400);try{$N6(J)}catch(L){let w=L instanceof Error?L.message:String(L);return $.json({error:w},400)}let K=await X.storage.virtualMcps.findById(G);if(!K||K.organization_id!==Y.id)return $.json({error:"Virtual MCP not found"},404);let W=rp({orgId:Y.id,virtualMcpId:G,branch:J}),F=await $i0(X,J),H=Zi0(F,Q),N=Ac$({userId:H,projectRef:W}),U=K.metadata??null,B=await YN6($,{claimName:N,branch:J,virtualMcpId:G,sandboxUserId:H,virtualMcpMetadata:U,branchThread:F});if(B==="cms")return $.set("vmClaim",{claimName:N,callerUserId:Q,runner:null,virtualMcpId:G,branch:J,userId:H,projectRef:W,virtualMcpMetadata:U,connectionIds:K.connections?.map((L)=>L.connection_id)??[],runtime:B}),Z();let O;try{O=await $Q(X)}catch{O=null}if(!O)return $.json({error:"No sandbox runner found"},404);return $.set("vmClaim",{claimName:N,callerUserId:Q,runner:O,virtualMcpId:G,branch:J,userId:H,projectRef:W,virtualMcpMetadata:U,connectionIds:K.connections?.map((L)=>L.connection_id)??[],runtime:B}),Z()});WT0=new Map;P5={"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache"};Il$=["clone","install","start"]});function kl$($,Z,X){let Q=B71.get($);if(!Q)Q={pending:null,running:!1},B71.set($,Q);if(!Q.pending)Q.pending={set:new Map,del:new Set,deps:Z,resolvers:[],rejecters:[]};let Y=Q.pending;Y.deps=Z;for(let[J,K]of Object.entries(X.set??{}))Y.set.set(J,K),Y.del.delete(J);for(let J of X.delete??[])Y.del.add(J),Y.set.delete(J);let G=new Promise((J,K)=>{Y.resolvers.push(J),Y.rejecters.push(K)});if(!Q.running)FN6($,Q);return G}async function FN6($,Z){Z.running=!0;try{while(Z.pending){let X=Z.pending;Z.pending=null;try{let Q=await HN6(X);for(let Y of X.resolvers)Y(Q)}catch(Q){for(let Y of X.rejecters)Y(Q)}}}finally{if(Z.running=!1,!Z.pending)B71.delete($)}}async function HN6($){let{client:Z,branch:X,packagePath:Q}=$.deps;for(let Y=0;;Y++){let G=await du(Z,X),J=await Z.getCommitTreeSha(G),K=await Z.getTreeRecursive(J),W=K71(K,Q),F=[],H=new Map(W.map((O)=>[O.path,{stem:O.stem,sha:O.sha}]));for(let[O,L]of $.set){let w=W71(W,O),E=`${JSON.stringify(L,null,2)}
2923
- `,j=await Z.createBlob(E);await Ul$(Z.owner,Z.repo,j,E);let z=w[0]??`${QT0(Q)}/${X71(O)}.json`;F.push({path:z,mode:"100644",type:"blob",sha:j});let A=z.slice(z.lastIndexOf("/")+1,-5);H.set(z,{stem:A,sha:j,content:E});for(let P of w.slice(1))F.push({path:P,mode:"100644",type:"blob",sha:null}),H.delete(P)}for(let O of $.del)for(let L of W71(W,O))F.push({path:L,mode:"100644",type:"blob",sha:null}),H.delete(L);if(F.length===0)return G;let N=Q?`${Q}/.deco/blocks.gen.json`:".deco/blocks.gen.json";if(K.some((O)=>O.type==="blob"&&O.path===N)){let O=await Promise.all([...H.values()].map(async(j)=>({stem:j.stem,content:j.content??await Z.getBlobText(j.sha)}))),{decofile:L,skipped:w}=Gs(O);if(w.length>0)console.warn("decofile gen: dropped blocks that were not valid JSON",{repo:`${Z.owner}/${Z.repo}`,branch:X,packagePath:Q,blocks:w.map((j)=>j.key)});let E=await Z.createBlob(L);F.push({path:N,mode:"100644",type:"blob",sha:E})}let U=await Z.createTree(J,F),B=await Z.createCommit({message:NN6($),treeSha:U,parentShas:[G]});try{return await Z.updateRef(X,B),B}catch(O){if(!(O instanceof u4&&O.status===422)||Y>=WN6-1)throw O;await L$(aZ(2000,200,Y,2,0.5))}}}function NN6($){let Z=(Y)=>{let G=Y.slice(0,3).join(", ");return Y.length>3?`${G} (+${Y.length-3} more)`:G},X=[];if($.set.size>0)X.push(`update ${Z([...$.set.keys()])}`);if($.del.size>0)X.push(`delete ${Z([...$.del])}`);let Q=`chore(decofile): ${X.join("; ")}`;return tm0(Q,$.deps.coAuthor)}var WN6=3,B71;var Vl$=D(()=>{fO0();rA0();K4();xD();YT0();B71=new Map});import{createHmac as Sl$,randomBytes as UN6,timingSafeEqual as BN6}from"crypto";function Cl$(){if(HT0)return HT0;let $;try{let Z=b0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return HT0=$?Buffer.from($):UN6(32),HT0}function O71($){let Z=$.nowMs??Date.now(),X={o:$.organizationId,m:$.virtualMcpId,b:$.branch,e:Math.floor((Z+ON6)/1000)},Q=Buffer.from(JSON.stringify(X)).toString("base64url"),Y=Sl$("sha256",Cl$()).update(Q).digest("base64url");return`${Q}.${Y}`}function _l$($,Z){let X=$.indexOf(".");if(X<0)return!1;let Q=$.slice(0,X),Y=Buffer.from($.slice(X+1)),G=Buffer.from(Sl$("sha256",Cl$()).update(Q).digest("base64url"));if(Y.length!==G.length||!BN6(Y,G))return!1;let J;try{J=JSON.parse(Buffer.from(Q,"base64url").toString())}catch{return!1}let K=Math.floor((Z.nowMs??Date.now())/1000);return J.o===Z.organizationId&&J.m===Z.virtualMcpId&&J.b===Z.branch&&typeof J.e==="number"&&J.e>=K}var ON6=21600000,HT0=null;var vl$=D(()=>{R$()});import{z as iu}from"zod";function LN6($){return $.length>0&&$.length<=255&&!$.includes("..")&&!$.endsWith("/")&&!$.endsWith(".lock")&&DN6.test($)}function gl$($){return $.req.header("x-forwarded-host")??new URL($.req.url).host}async function Ns($){let Z=$.get("decofileScope");return tA0($.var.studioContext,Z.organizationId,Z.githubRepo)}function Us($,Z){if(Z instanceof u4){let Q=Z.status===404?404:Z.status===409?409:Z.status===422?409:502;return $.json({error:Z.message},Q)}let X=Z instanceof Error?Z.message:String(Z);return $.json({error:X},500)}function hl$(){let $=new H1;return $.use("/:virtualMcpId/:branch",yl$),$.use("/:virtualMcpId/:branch/*",yl$),$.get("/:virtualMcpId/:branch",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Bl$(Q,X.branch,X.packagePath,{createBranchIfMissing:!!X.userId}),G={ETag:`"${Y.sha}"`,"Cache-Control":"no-store","Access-Control-Allow-Origin":"*"};if(Z.req.header("if-none-match")===`"${Y.sha}"`)return Z.body(null,304,G);if(!X.userId)return Z.body(Y.decofile,200,{...G,"content-type":"application/json"});let J=O71({organizationId:X.organizationId,virtualMcpId:X.virtualMcpId,branch:X.branch});return Z.body(`{"version":${JSON.stringify(Y.sha)},"token":${JSON.stringify(J)},"apiHost":${JSON.stringify(gl$(Z))},"decofile":${Y.decofile}}`,200,{...G,"content-type":"application/json"})}catch(Q){return Us(Z,Q)}}),$.get("/:virtualMcpId/:branch/meta",async(Z)=>{let X=Z.get("decofileScope"),Q=X.packagePath?`${X.packagePath}/.deco/meta.gen.json`:".deco/meta.gen.json";try{let Y=await Ns(Z),G=await Y.getFileTextAtRef(X.branch,Q);if(G===null){let J=await Y.getDefaultBranch();if(J!==X.branch)G=await Y.getFileTextAtRef(J,Q)}if(G===null)return Z.json({error:"meta.gen.json not committed"},404);return Z.body(G,200,{"content-type":"application/json","Cache-Control":"no-store","Access-Control-Allow-Origin":"*"})}catch(Y){return Us(Z,Y)}}),$.patch("/:virtualMcpId/:branch",EN6,async(Z)=>{let X=Z.get("decofileScope"),Q=Z.var.studioContext,Y=jN6.safeParse(await Z.req.json().catch(()=>null));if(!Y.success)return Z.json({error:"Invalid body",details:Y.error.issues},400);let G=Y.data;for(let J of[...Object.keys(G.set??{}),...G.delete??[]])try{oA0(J)}catch(K){let W=K instanceof Error?K.message:String(K);return Z.json({error:W},400)}for(let[J,K]of Object.entries(G.set??{}))if(typeof K!=="object"||K===null||Array.isArray(K))return Z.json({error:`Block "${J}" must be a JSON object`},400);try{let J=await Ns(Z),K=await kl$(`${X.organizationId}/${X.virtualMcpId}/${X.branch}`,{client:J,branch:X.branch,packagePath:X.packagePath,coAuthor:hu(Q)},G),W=O71({organizationId:X.organizationId,virtualMcpId:X.virtualMcpId,branch:X.branch});return Z.json({version:K,token:W,apiHost:gl$(Z)})}catch(J){return Us(Z,J)}}),$.post("/:virtualMcpId/:branch/publish",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Q.getDefaultBranch();if(Y===X.branch)return Z.json({error:"Branch is already the default branch"},400);let G=`chore(decofile): publish ${X.branch}`;try{let J;try{J=await Q.mergeBranch(Y,X.branch,G)}catch(K){if(!(K instanceof u4&&K.status===409))throw K;await KT0(Q,X.branch,Y),J=await Q.mergeBranch(Y,X.branch,G)}return J?Z.json({result:"merged",sha:J}):Z.json({result:"up-to-date"})}catch(J){if(J instanceof u4&&J.status===409)return Z.json({error:"merge-conflict"},409);if(J instanceof u4&&J.status===405){let W=await Q.findOpenPullRequest(Y,X.branch)??await Q.createPullRequest({base:Y,head:X.branch,title:`Publish ${X.branch}`});return Z.json({result:"pull-request",number:W.number,url:W.html_url})}throw J}}catch(Q){return Us(Z,Q)}}),$.get("/:virtualMcpId/:branch/status",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Q.getDefaultBranch();if(Y===X.branch)return Z.json({baseBranch:Y,aheadBy:0,behindBy:0});try{let{aheadBy:G,behindBy:J}=await Q.compare(Y,X.branch);return Z.json({baseBranch:Y,aheadBy:G,behindBy:J})}catch(G){if(G instanceof u4&&G.status===404)return Z.json({baseBranch:Y,aheadBy:0,behindBy:0});throw G}}catch(Q){return Us(Z,Q)}}),$}var DN6,fl$=500,bl$=1048576,xl$=1024,wN6=8388608,EN6,jN6,yl$;var ul$=D(()=>{rA0();U8();BF();iZ1();nA0();N71();Z71();Vl$();vl$();H71();xD();YT0();DN6=/^[a-zA-Z0-9][a-zA-Z0-9/._-]*$/;EN6=p5({maxSize:wN6,onError:($)=>$.json({error:"Payload too large"},413)}),jN6=iu.object({set:iu.record(iu.string(),iu.unknown()).optional(),delete:iu.array(iu.string()).optional()}).refine(($)=>Object.keys($.set??{}).length>0||($.delete?.length??0)>0,{message:"Patch must set or delete at least one block"}).refine(($)=>Object.keys($.set??{}).length+($.delete?.length??0)<=fl$,{message:`Patch cannot touch more than ${fl$} blocks`}).refine(($)=>Object.values($.set??{}).every((Z)=>JSON.stringify(Z).length<=bl$),{message:`Each block must be at most ${bl$} bytes`}).refine(($)=>[...Object.keys($.set??{}),...$.delete??[]].every((Z)=>Z.length<=xl$),{message:`Each block key must be at most ${xl$} characters`}),yl$=pA0(async($,Z)=>{let X=$.var.studioContext,Q=X.organization;if(!Q)return $.json({error:"Organization scope required"},500);let Y=$.req.param("virtualMcpId"),G=$.req.param("branch");if(!Y||!G)return $.json({error:"virtualMcpId and branch are required"},400);if(!LN6(G))return $.json({error:`Invalid branch name: ${G}`},400);let J=X.auth?.user?.id??null;if(!J){let B=$.req.query("token");if(!($.req.method==="GET"&&!$.req.path.match(/\/(publish|status)$/)))return $.json({error:"Unauthorized"},401);if(!B||!_l$(B,{organizationId:Q.id,virtualMcpId:Y,branch:G}))return $.json({error:"Unauthorized"},401)}let K=await X.storage.virtualMcps.findById(Y);if(!K||K.organization_id!==Q.id)return $.json({error:"Virtual MCP not found"},404);let W=K.metadata??null;if(!hO0(W))return $.json({error:"Project has no preview server configured"},404);let H=K.connections?.map((B)=>B.connection_id)??[],N=Fs(W,H);if(!N)return $.json({error:"Project has no GitHub repository"},404);let U=W?.runtime;return $.set("decofileScope",{organizationId:Q.id,virtualMcpId:Y,branch:G,packagePath:U?.path?.replace(/^\/+|\/+$/g,"")||null,githubRepo:N,userId:J}),Z()})});var cl$=($)=>{let Z=new H1;if(Z.use("*",o_),Z.route("/",FA0()),Z.route("/",Qg$()),Z.route("/",Fc$()),Z.route("/",Jc$()),Z.route("/",dA0()),Z.route("/tools",Lc$()),Z.route("/",Bc$()),Z.route("/",hu$({kvStorage:$.kvStorage})),Z.route("/",yu$()),Z.route("/fs",eu$({getConnection:$.getNatsConnection})),Z.route("/sandbox",ql$()),Z.route("/decofile",hl$()),Z.route("/",Qc$()),Z.route("/deco-sites",NA0()),Z.route("/sso",QA0()),Z.route("/",mA0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",oy$()),$.mountDevAssets)Z.route("/dev-assets",UA0({orgFromPath:!0}));return Z.use("/mcp/:connectionId?",$.mcpAuth),Z.use("/mcp/:connectionId/ui-resource",$.mcpAuth),Z.use("/mcp/gateway/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/virtual-mcp/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/self",$.mcpAuth),Z.use("/mcp/task-run/:threadId",$.mcpAuth),Z.route("/",Db$()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler),Z.route("/mcp/task-run",Zc$()),Z.route("/mcp",Bw0()),Z.route("/mcp/self",lA0()),Z.route("/mcp",Lw0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var ll$=D(()=>{U8();B91();ry$();w91();BA0();Ca();N91();gu$();uu$();$c$();gt();G91();ww0();gZ1();Xc$();Yc$();Kc$();Hc$();Oc$();uZ1();wc$();cZ1();Ow0();Ml$();ul$()});function zN6($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}var PN6=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},dl$=()=>{let $=new H1;return $.use("*",PN6),$.get("/",async(Z)=>{let X=b0(),Q=X.decoSupabaseUrl,Y=X.decoSupabaseServiceKey;if(!Q||!Y)return Z.json({apps:[]});try{let G=await nZ(Q,Y,"apps?select=name,title,description,logo,category,vendors(alias,url)");return Z.json({apps:zN6(G)})}catch(G){return console.error("[deco-apps] GET error:",G),Z.json({error:"Failed to fetch apps"},502)}}),$};var ml$=D(()=>{U8();R$();KP0()});import{z as M1}from"zod";function EF($,Z="invalid_request_error",X=null,Q=null){return{error:{message:$,type:Z,param:X,code:Q}}}function CN6($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let X=$.substring(0,Z),Q=$.substring(Z+1);if(!X||!Q)return null;return{credentialId:X,modelId:Q}}function _N6($,Z,X){try{return JSON.parse($)}catch{throw new nl$(`Invalid JSON in tool call arguments for function '${X}' (tool_call_id: ${Z}): ${$}`)}}function vN6($){let Z={};for(let X of $)if(X.role==="assistant"&&X.tool_calls)for(let Q of X.tool_calls)Z[Q.id]=Q.function.name;return $.map((X)=>{switch(X.role){case"system":return{role:"system",content:X.content};case"user":if(typeof X.content==="string")return{role:"user",content:X.content};return{role:"user",content:X.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(X.tool_calls&&X.tool_calls.length>0)return{role:"assistant",content:X.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:_N6(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:X.content??""};case"tool":let Q=Z[X.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:X.tool_call_id,toolName:Q,output:{type:"text",value:X.content}}]}}})}function fN6($){let Z=$.map((X)=>{let Q=X.function.parameters?dY(X.function.parameters):dY({type:"object",properties:{}});return[X.function.name,I$({description:X.function.description,inputSchema:Q})]});return Object.fromEntries(Z)}function bN6($){if(!$)return;return{openai:{response_format:$}}}function xN6(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function il$($,Z,X,Q,Y,G){let J={model:$,messages:Z,tools:X,temperature:Q.temperature,maxTokens:Q.max_tokens,topP:Q.top_p,frequencyPenalty:Q.frequency_penalty,presencePenalty:Q.presence_penalty,stopSequences:Q.stop?Array.isArray(Q.stop)?Q.stop:[Q.stop]:void 0,abortSignal:G};return Y?{...J,providerOptions:Y}:J}function pl$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var AN6=256,TN6,RN6,IN6,qN6,MN6,kN6,VN6,SN6,nl$,tl$,ol$;var rl$=D(()=>{D4();U8();gu();jN();TN6=M1.object({type:M1.literal("function"),function:M1.object({name:M1.string(),description:M1.string().optional(),parameters:M1.record(M1.string(),M1.unknown()).optional()})}),RN6=M1.object({id:M1.string(),type:M1.literal("function"),function:M1.object({name:M1.string(),arguments:M1.string()})}),IN6=M1.discriminatedUnion("role",[M1.object({role:M1.literal("system"),content:M1.string(),name:M1.string().optional()}),M1.object({role:M1.literal("user"),content:M1.union([M1.string(),M1.array(M1.union([M1.object({type:M1.literal("text"),text:M1.string()}),M1.object({type:M1.literal("image_url"),image_url:M1.object({url:M1.string(),detail:M1.string().optional()})})]))]),name:M1.string().optional()}),M1.object({role:M1.literal("assistant"),content:M1.string().nullable().optional(),name:M1.string().optional(),tool_calls:M1.array(RN6).optional()}),M1.object({role:M1.literal("tool"),content:M1.string(),tool_call_id:M1.string()})]),qN6=M1.object({type:M1.literal("text")}),MN6=M1.object({type:M1.literal("json_object")}),kN6=M1.object({type:M1.literal("json_schema"),json_schema:M1.object({name:M1.string(),description:M1.string().optional(),schema:M1.record(M1.string(),M1.unknown()),strict:M1.boolean().optional()})}),VN6=M1.union([qN6,MN6,kN6]),SN6=M1.object({model:M1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:M1.array(IN6),stream:M1.boolean().optional().default(!1),temperature:M1.number().min(0).max(2).optional(),max_tokens:M1.number().positive().optional(),top_p:M1.number().min(0).max(1).optional(),frequency_penalty:M1.number().min(-2).max(2).optional(),presence_penalty:M1.number().min(-2).max(2).optional(),stop:M1.union([M1.string(),M1.array(M1.string())]).optional(),tools:M1.array(TN6).optional(),tool_choice:M1.union([M1.literal("auto"),M1.literal("none"),M1.literal("required"),M1.object({type:M1.literal("function"),function:M1.object({name:M1.string()})})]).optional(),response_format:VN6.optional(),user:M1.string().optional()});nl$=class nl$ extends Error{constructor($){super($);this.name="MessageConversionError"}};tl$=new H1;tl$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),X=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(EF("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(EF("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==X)return $.json(EF("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Q=await $.req.json(),Y=SN6.safeParse(Q);if(!Y.success){let w=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(EF(`Invalid request: ${w.message}`,"invalid_request_error",w.path.length>0?w.path.join("."):null),400)}let G=Y.data,J=CN6(G.model);if(!J)return $.json(EF("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:K}=J,{modelId:W}=J;if(!K){let E=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((j)=>$w(j.providerId));if(!E)return $.json(EF("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);K=E.id}let F;try{F=await Z.aiProviders.activate(K,Z.organization.id)}catch{return $.json(EF(`AI provider credential not found or inaccessible: ${K}`,"invalid_request_error","model"),404)}let H=F.aiSdk.languageModel(W),N=vN6(G.messages),U=G.tools?fN6(G.tools):void 0,B=bN6(G.response_format),O=xN6(),L=Math.floor(Date.now()/1000);if(G.stream)return hN($,async(w)=>{let E=il$(H,N,U,G,B,$.req.raw.signal);try{let j=BO(E),z=!1,A=0,P="",I=async()=>{if(P.length===0)return;let q=P;P="",await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{content:q},finish_reason:null}]})})};for await(let q of j.fullStream){if(!z&&(q.type==="text-delta"||q.type==="tool-call"))await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),z=!0;if(q.type==="text-delta"){if(P+=q.text,P.length>=AN6)await I()}else if(q.type==="tool-call"){await I();let k=A++;await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{tool_calls:[{index:k,id:q.toolCallId,type:"function",function:{name:q.toolName,arguments:JSON.stringify(q.input)}}]},finish_reason:null}]})})}else if(q.type==="finish")await I(),await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{},finish_reason:pl$(q.finishReason)}],usage:q.totalUsage?{prompt_tokens:q.totalUsage.inputTokens??0,completion_tokens:q.totalUsage.outputTokens??0,total_tokens:q.totalUsage.totalTokens??0}:void 0})})}await I(),await w.writeSSE({data:"[DONE]"})}catch(j){let z=j;console.error("[openai-compat:stream] Error:",z.message),await w.writeSSE({data:JSON.stringify({error:{message:z.message,type:"server_error"}})})}});else{let w=il$(H,N,U,G,B,$.req.raw.signal),E=await NO(w),j={role:"assistant",content:E.text||null};if(E.toolCalls&&E.toolCalls.length>0)j.tool_calls=E.toolCalls.map((z)=>({id:z.toolCallId,type:"function",function:{name:z.toolName,arguments:JSON.stringify("input"in z?z.input:{})}})),j.content=null;return $.json({id:O,object:"chat.completion",created:L,model:G.model,choices:[{index:0,message:j,finish_reason:pl$(E.finishReason)}],usage:{prompt_tokens:E.usage?.inputTokens??0,completion_tokens:E.usage?.outputTokens??0,total_tokens:E.usage?.totalTokens??0}})}}catch(Q){let Y=Q;if(Y.name==="AbortError")return $.json(EF("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(EF(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(EF(Y.message,"server_error"),500)}});ol$=tl$});function yN6($){if(typeof $!=="object"||$===null)return!1;let X=$.githubRepo?.url;return typeof X==="string"&&X.length>0}function al$(){let $=new H1;return $.use("*",async(Z,X)=>{await X(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let X=Z.get("studioContext"),Q=o0(X);if(!Q)return Z.json({error:"Authentication required"},401);let G=(Z.req.query("site")??"").trim().toLowerCase();if(!tG(G))return Z.json({error:"Invalid site slug"},400);let J=await X.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.id as id","organization.slug as slug","organization.name as name","organization.metadata as metadata"]).where("member.userId","=",Q).execute(),K=[];for(let F of J){if(!F.slug||_Z(F))continue;let H=await X.storage.virtualMcps.list(F.id);for(let N of H){if(ds1(N)!==G)continue;if(!yN6(N.metadata))continue;K.push({orgSlug:F.slug,orgName:F.name??F.slug,project:{id:N.id,title:N.title,icon:N.icon??null}})}}let W={matches:K};return Z.json(W)}),$}var sl$=D(()=>{U8();rB()});var $d$;var el$=D(()=>{$d$={name:"decocms",version:"4.286.4",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"}}});function uN6(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??hN6}}var Zd$,hN6="https://ph.studio.decocms.com",Xd$;var Qd$=D(()=>{U8();x50();SC();$9();R$();r51();el$();Zd$=new H1;Zd$.get("/",($)=>{let Z={version:$d$.version,theme:Bi1(),...jH().logo&&{logo:jH().logo},...GN()&&{internalUrl:dC1()},...b0().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!b0().firecrawlApiKey,auth:Gy$(),posthog:uN6(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:zs()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});Xd$=Zd$});function pu($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function D71($){return(pu($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join(" ")}function Gd$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(pu($))}&sz=${Z}`}function Yd$($,Z){let X=$.trim();if(X.length<=Z)return X;let Q=X.slice(0,Z-1),Y=Q.lastIndexOf(" ");return`${(Y>Z*0.6?Q.slice(0,Y):Q).trimEnd()}\u2026`}function Jd$($){let{brand:Z,domain:X,score:Q,verdict:Y}=$,G=typeof Q==="number"?`${Z} commerce report \u2014 ${Math.round(Q)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,K=Y?.trim()?Yd$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):Yd$(`How does ${X} really perform? ${J}`,200);return{title:G,description:K}}import{z as l0}from"zod";var Wv,cN6,lN6,dN6,mN6,Kd$;var Wd$=D(()=>{Wv=l0.enum(["good","bad","neutral"]),cN6=l0.preprocess(($)=>{if(Array.isArray($))return{kind:"text",value:$.find((X)=>X!==null&&typeof X!=="object")??""};return $!==null&&typeof $==="object"?$:{kind:"text",value:$}},l0.object({kind:l0.enum(["text","number","sparkline","badge","score"]).catch("text"),value:l0.coerce.string().optional(),tone:Wv.optional(),muted:l0.boolean().optional(),delta:l0.coerce.string().optional(),deltaDir:l0.enum(["up","down","neutral"]).optional(),points:l0.array(l0.coerce.number()).optional(),label:l0.coerce.string().optional()}).transform(($)=>{if($.kind==="badge"&&$.label==null)$.label=$.value??"";if($.kind==="score"){let Z=Number($.value);if(Number.isNaN(Z))return{...$,kind:"text"}}return $})),lN6=l0.preprocess(($)=>{let Z=$;if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&Array.isArray(Z.cells))Z=Z.cells;if(Array.isArray(Z)&&Z.length===1&&Array.isArray(Z[0]))Z=Z[0];if(Array.isArray(Z))return Z;if(Z&&typeof Z==="object")return Object.values(Z);return Z},l0.array(cN6)),dN6={key:l0.coerce.string(),title:l0.coerce.string(),eyebrow:l0.coerce.string().optional(),headline:l0.coerce.string(),annotation:l0.coerce.string().optional(),methodology:l0.coerce.string().optional(),sources:l0.array(l0.object({name:l0.coerce.string(),logoUrl:l0.coerce.string()})).optional()},mN6=l0.discriminatedUnion("template",[l0.object({template:l0.literal("cover"),score:l0.object({value:l0.coerce.number(),max:l0.coerce.number().optional(),grade:l0.coerce.string().optional(),label:l0.coerce.string().optional()}).optional(),brandImage:l0.coerce.string().optional(),screenshot:l0.coerce.string().optional(),mobileScreenshot:l0.coerce.string().optional()}),l0.object({template:l0.literal("cta"),ctaUrl:l0.coerce.string().optional(),ctaLabel:l0.coerce.string().optional(),bullets:l0.array(l0.coerce.string()).optional()}),l0.object({template:l0.literal("series"),points:l0.array(l0.coerce.number()).min(2),xLabels:l0.array(l0.coerce.string()).min(1),unit:l0.coerce.string().optional(),callout:l0.object({index:l0.coerce.number(),value:l0.coerce.string(),tone:Wv.optional()})}),l0.object({template:l0.literal("threshold"),value:l0.coerce.string().default(""),metricLabel:l0.coerce.string().optional(),ratio:l0.coerce.number(),thresholdRatio:l0.coerce.number().optional(),thresholdLabel:l0.coerce.string().default(""),tone:Wv.optional()}),l0.object({template:l0.literal("stats"),stats:l0.array(l0.object({value:l0.coerce.string(),label:l0.coerce.string(),tone:Wv.optional()})).min(1)}),l0.object({template:l0.literal("bars"),items:l0.array(l0.object({value:l0.coerce.string(),label:l0.coerce.string(),ratio:l0.coerce.number(),tone:Wv.optional()})).min(1)}),l0.object({template:l0.literal("gauges"),gauges:l0.array(l0.object({label:l0.coerce.string(),value:l0.coerce.string(),status:l0.enum(["good","warn","bad"]).catch("warn"),caption:l0.coerce.string().optional(),ratio:l0.coerce.number().optional()})).min(1)}),l0.object({template:l0.literal("checklist"),checks:l0.array(l0.object({label:l0.coerce.string(),status:l0.enum(["pass","fail","warn"]).catch("fail"),value:l0.coerce.string().optional()})).min(1)}),l0.object({template:l0.literal("table"),columns:l0.array(l0.object({label:l0.coerce.string(),align:l0.enum(["left","right"]).optional()})).min(1),rows:l0.array(lN6).min(1),highlightRow:l0.coerce.number().optional()}),l0.object({template:l0.literal("products"),products:l0.array(l0.object({name:l0.coerce.string(),price:l0.coerce.string().optional(),image:l0.coerce.string().optional(),url:l0.coerce.string().optional()})).min(1)}),l0.object({template:l0.literal("list"),entries:l0.array(l0.object({label:l0.coerce.string(),severity:l0.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:l0.coerce.number().optional()}),l0.object({template:l0.literal("keywords"),volumeLabel:l0.coerce.string().optional(),keywords:l0.array(l0.object({term:l0.coerce.string(),volume:l0.coerce.string(),position:l0.coerce.number().catch(0)})).min(1)}),l0.object({template:l0.literal("competitor"),metricLabel:l0.coerce.string().optional(),competitors:l0.array(l0.object({name:l0.coerce.string(),value:l0.coerce.string(),tone:Wv.optional(),isYou:l0.boolean().optional()})).min(1)}),l0.object({template:l0.literal("scorecard"),rivalLabel:l0.coerce.string().optional(),dimensions:l0.array(l0.object({label:l0.coerce.string(),you:l0.coerce.string(),rival:l0.coerce.string().optional(),rivalName:l0.coerce.string().optional(),tone:Wv.optional()})).min(1)})]),Kd$=l0.object({...dN6,template:mN6})});function NT0($){let Z=[],X=[...$.sections].sort((Y,G)=>Y.position-G.position).map((Y)=>{let G=Kd$.safeParse(Y.props);if(G.success)return G.data;let J=G.error.issues[0];return Z.push({section_type:Y.section_type,position:Y.position,reason:J?`${J.path.join(".")||"(root)"}: ${J.message}`:"contract violation"}),null}).filter((Y)=>Y!==null),Q=X.filter((Y)=>Y.template.template!=="cover"&&Y.template.template!=="cta").map((Y)=>({key:Y.key,title:Y.title}));return{deck:{meta:{...$.meta,scores:$.summary?.scores,scannedAt:$.scanned_at,toc:Q},slides:X},drops:Z}}var L71=D(()=>{Wd$()});import{join as Fd$}from"path";async function pN6($){try{let Z=await fetch(`${GW({})}/api/v2/public/diagnostics/${encodeURIComponent($)}`,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(iN6)});if(!Z.ok)return null;let X=await Z.json(),{deck:Q}=NT0(X);if(!Q.slides.length)return null;let Y=Q.slides.find((K)=>K.template.template==="cover"),G=Y?.template,J=G&&G.template==="cover"?G:void 0;return{brand:Q.meta.brand?.trim()||D71($),score:Q.meta.scores?.cover??J?.score?.value,verdict:Y?.annotation?.trim()||Y?.headline?.trim()||void 0}}catch{return null}}function OG($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function nN6($,Z){let X=pu($),Q=Z?.brand?.trim()||D71(X),Y=Gd$(X,128),J=`${(b0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(X)}`,{title:K,description:W}=Jd$({brand:Q,domain:X,score:Z?.score,verdict:Z?.verdict}),F=`${J}/og.png`,H=`${Q} commerce report by decocms`;return[`<title>${OG(K)}</title>`,`<meta name="description" content="${OG(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${OG(K)}" />`,`<meta property="og:description" content="${OG(W)}" />`,`<meta property="og:url" content="${OG(J)}" />`,`<meta property="og:image" content="${OG(F)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${OG(H)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${OG(K)}" />`,`<meta name="twitter:description" content="${OG(W)}" />`,`<meta name="twitter:image" content="${OG(F)}" />`,`<meta name="twitter:image:alt" content="${OG(H)}" />`,`<link rel="canonical" href="${OG(J)}" />`,`<link rel="icon" href="${OG(Y)}" sizes="any" />`].join(`
2923
+ `,j=await Z.createBlob(E);await Ul$(Z.owner,Z.repo,j,E);let z=w[0]??`${QT0(Q)}/${X71(O)}.json`;F.push({path:z,mode:"100644",type:"blob",sha:j});let A=z.slice(z.lastIndexOf("/")+1,-5);H.set(z,{stem:A,sha:j,content:E});for(let P of w.slice(1))F.push({path:P,mode:"100644",type:"blob",sha:null}),H.delete(P)}for(let O of $.del)for(let L of W71(W,O))F.push({path:L,mode:"100644",type:"blob",sha:null}),H.delete(L);if(F.length===0)return G;let N=Q?`${Q}/.deco/blocks.gen.json`:".deco/blocks.gen.json";if(K.some((O)=>O.type==="blob"&&O.path===N)){let O=await Promise.all([...H.values()].map(async(j)=>({stem:j.stem,content:j.content??await Z.getBlobText(j.sha)}))),{decofile:L,skipped:w}=Gs(O);if(w.length>0)console.warn("decofile gen: dropped blocks that were not valid JSON",{repo:`${Z.owner}/${Z.repo}`,branch:X,packagePath:Q,blocks:w.map((j)=>j.key)});let E=await Z.createBlob(L);F.push({path:N,mode:"100644",type:"blob",sha:E})}let U=await Z.createTree(J,F),B=await Z.createCommit({message:NN6($),treeSha:U,parentShas:[G]});try{return await Z.updateRef(X,B),B}catch(O){if(!(O instanceof u4&&O.status===422)||Y>=WN6-1)throw O;await L$(aZ(2000,200,Y,2,0.5))}}}function NN6($){let Z=(Y)=>{let G=Y.slice(0,3).join(", ");return Y.length>3?`${G} (+${Y.length-3} more)`:G},X=[];if($.set.size>0)X.push(`update ${Z([...$.set.keys()])}`);if($.del.size>0)X.push(`delete ${Z([...$.del])}`);let Q=`chore(decofile): ${X.join("; ")}`;return tm0(Q,$.deps.coAuthor)}var WN6=3,B71;var Vl$=D(()=>{fO0();rA0();K4();xD();YT0();B71=new Map});import{createHmac as Sl$,randomBytes as UN6,timingSafeEqual as BN6}from"crypto";function Cl$(){if(HT0)return HT0;let $;try{let Z=b0();$=Z.studioJwtSecret??Z.betterAuthSecret}catch{$=void 0}return HT0=$?Buffer.from($):UN6(32),HT0}function O71($){let Z=$.nowMs??Date.now(),X={o:$.organizationId,m:$.virtualMcpId,b:$.branch,e:Math.floor((Z+ON6)/1000)},Q=Buffer.from(JSON.stringify(X)).toString("base64url"),Y=Sl$("sha256",Cl$()).update(Q).digest("base64url");return`${Q}.${Y}`}function _l$($,Z){let X=$.indexOf(".");if(X<0)return!1;let Q=$.slice(0,X),Y=Buffer.from($.slice(X+1)),G=Buffer.from(Sl$("sha256",Cl$()).update(Q).digest("base64url"));if(Y.length!==G.length||!BN6(Y,G))return!1;let J;try{J=JSON.parse(Buffer.from(Q,"base64url").toString())}catch{return!1}let K=Math.floor((Z.nowMs??Date.now())/1000);return J.o===Z.organizationId&&J.m===Z.virtualMcpId&&J.b===Z.branch&&typeof J.e==="number"&&J.e>=K}var ON6=21600000,HT0=null;var vl$=D(()=>{R$()});import{z as iu}from"zod";function LN6($){return $.length>0&&$.length<=255&&!$.includes("..")&&!$.endsWith("/")&&!$.endsWith(".lock")&&DN6.test($)}function gl$($){return $.req.header("x-forwarded-host")??new URL($.req.url).host}async function Ns($){let Z=$.get("decofileScope");return tA0($.var.studioContext,Z.organizationId,Z.githubRepo)}function Us($,Z){if(Z instanceof u4){let Q=Z.status===404?404:Z.status===409?409:Z.status===422?409:502;return $.json({error:Z.message},Q)}let X=Z instanceof Error?Z.message:String(Z);return $.json({error:X},500)}function hl$(){let $=new H1;return $.use("/:virtualMcpId/:branch",yl$),$.use("/:virtualMcpId/:branch/*",yl$),$.get("/:virtualMcpId/:branch",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Bl$(Q,X.branch,X.packagePath,{createBranchIfMissing:!!X.userId}),G={ETag:`"${Y.sha}"`,"Cache-Control":"no-store","Access-Control-Allow-Origin":"*"};if(Z.req.header("if-none-match")===`"${Y.sha}"`)return Z.body(null,304,G);if(!X.userId)return Z.body(Y.decofile,200,{...G,"content-type":"application/json"});let J=O71({organizationId:X.organizationId,virtualMcpId:X.virtualMcpId,branch:X.branch});return Z.body(`{"version":${JSON.stringify(Y.sha)},"token":${JSON.stringify(J)},"apiHost":${JSON.stringify(gl$(Z))},"decofile":${Y.decofile}}`,200,{...G,"content-type":"application/json"})}catch(Q){return Us(Z,Q)}}),$.get("/:virtualMcpId/:branch/meta",async(Z)=>{let X=Z.get("decofileScope"),Q=X.packagePath?`${X.packagePath}/.deco/meta.gen.json`:".deco/meta.gen.json";try{let Y=await Ns(Z),G=await Y.getFileTextAtRef(X.branch,Q);if(G===null){let J=await Y.getDefaultBranch();if(J!==X.branch)G=await Y.getFileTextAtRef(J,Q)}if(G===null)return Z.json({error:"meta.gen.json not committed"},404);return Z.body(G,200,{"content-type":"application/json","Cache-Control":"no-store","Access-Control-Allow-Origin":"*"})}catch(Y){return Us(Z,Y)}}),$.patch("/:virtualMcpId/:branch",EN6,async(Z)=>{let X=Z.get("decofileScope"),Q=Z.var.studioContext,Y=jN6.safeParse(await Z.req.json().catch(()=>null));if(!Y.success)return Z.json({error:"Invalid body",details:Y.error.issues},400);let G=Y.data;for(let J of[...Object.keys(G.set??{}),...G.delete??[]])try{oA0(J)}catch(K){let W=K instanceof Error?K.message:String(K);return Z.json({error:W},400)}for(let[J,K]of Object.entries(G.set??{}))if(typeof K!=="object"||K===null||Array.isArray(K))return Z.json({error:`Block "${J}" must be a JSON object`},400);try{let J=await Ns(Z),K=await kl$(`${X.organizationId}/${X.virtualMcpId}/${X.branch}`,{client:J,branch:X.branch,packagePath:X.packagePath,coAuthor:hu(Q)},G),W=O71({organizationId:X.organizationId,virtualMcpId:X.virtualMcpId,branch:X.branch});return Z.json({version:K,token:W,apiHost:gl$(Z)})}catch(J){return Us(Z,J)}}),$.post("/:virtualMcpId/:branch/publish",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Q.getDefaultBranch();if(Y===X.branch)return Z.json({error:"Branch is already the default branch"},400);let G=`chore(decofile): publish ${X.branch}`;try{let J;try{J=await Q.mergeBranch(Y,X.branch,G)}catch(K){if(!(K instanceof u4&&K.status===409))throw K;await KT0(Q,X.branch,Y),J=await Q.mergeBranch(Y,X.branch,G)}return J?Z.json({result:"merged",sha:J}):Z.json({result:"up-to-date"})}catch(J){if(J instanceof u4&&J.status===409)return Z.json({error:"merge-conflict"},409);if(J instanceof u4&&J.status===405){let W=await Q.findOpenPullRequest(Y,X.branch)??await Q.createPullRequest({base:Y,head:X.branch,title:`Publish ${X.branch}`});return Z.json({result:"pull-request",number:W.number,url:W.html_url})}throw J}}catch(Q){return Us(Z,Q)}}),$.get("/:virtualMcpId/:branch/status",async(Z)=>{let X=Z.get("decofileScope");try{let Q=await Ns(Z),Y=await Q.getDefaultBranch();if(Y===X.branch)return Z.json({baseBranch:Y,aheadBy:0,behindBy:0});try{let{aheadBy:G,behindBy:J}=await Q.compare(Y,X.branch);return Z.json({baseBranch:Y,aheadBy:G,behindBy:J})}catch(G){if(G instanceof u4&&G.status===404)return Z.json({baseBranch:Y,aheadBy:0,behindBy:0});throw G}}catch(Q){return Us(Z,Q)}}),$}var DN6,fl$=500,bl$=1048576,xl$=1024,wN6=8388608,EN6,jN6,yl$;var ul$=D(()=>{rA0();U8();BF();iZ1();nA0();N71();Z71();Vl$();vl$();H71();xD();YT0();DN6=/^[a-zA-Z0-9][a-zA-Z0-9/._-]*$/;EN6=p5({maxSize:wN6,onError:($)=>$.json({error:"Payload too large"},413)}),jN6=iu.object({set:iu.record(iu.string(),iu.unknown()).optional(),delete:iu.array(iu.string()).optional()}).refine(($)=>Object.keys($.set??{}).length>0||($.delete?.length??0)>0,{message:"Patch must set or delete at least one block"}).refine(($)=>Object.keys($.set??{}).length+($.delete?.length??0)<=fl$,{message:`Patch cannot touch more than ${fl$} blocks`}).refine(($)=>Object.values($.set??{}).every((Z)=>JSON.stringify(Z).length<=bl$),{message:`Each block must be at most ${bl$} bytes`}).refine(($)=>[...Object.keys($.set??{}),...$.delete??[]].every((Z)=>Z.length<=xl$),{message:`Each block key must be at most ${xl$} characters`}),yl$=pA0(async($,Z)=>{let X=$.var.studioContext,Q=X.organization;if(!Q)return $.json({error:"Organization scope required"},500);let Y=$.req.param("virtualMcpId"),G=$.req.param("branch");if(!Y||!G)return $.json({error:"virtualMcpId and branch are required"},400);if(!LN6(G))return $.json({error:`Invalid branch name: ${G}`},400);let J=X.auth?.user?.id??null;if(!J){let B=$.req.query("token");if(!($.req.method==="GET"&&!$.req.path.match(/\/(publish|status)$/)))return $.json({error:"Unauthorized"},401);if(!B||!_l$(B,{organizationId:Q.id,virtualMcpId:Y,branch:G}))return $.json({error:"Unauthorized"},401)}let K=await X.storage.virtualMcps.findById(Y);if(!K||K.organization_id!==Q.id)return $.json({error:"Virtual MCP not found"},404);let W=K.metadata??null;if(!hO0(W))return $.json({error:"Project has no preview server configured"},404);let H=K.connections?.map((B)=>B.connection_id)??[],N=Fs(W,H);if(!N)return $.json({error:"Project has no GitHub repository"},404);let U=W?.runtime;return $.set("decofileScope",{organizationId:Q.id,virtualMcpId:Y,branch:G,packagePath:U?.path?.replace(/^\/+|\/+$/g,"")||null,githubRepo:N,userId:J}),Z()})});var cl$=($)=>{let Z=new H1;if(Z.use("*",o_),Z.route("/",FA0()),Z.route("/",Qg$()),Z.route("/",Fc$()),Z.route("/",Jc$()),Z.route("/",dA0()),Z.route("/tools",Lc$()),Z.route("/",Bc$()),Z.route("/",hu$({kvStorage:$.kvStorage})),Z.route("/",yu$()),Z.route("/fs",eu$({getConnection:$.getNatsConnection})),Z.route("/sandbox",ql$()),Z.route("/decofile",hl$()),Z.route("/",Qc$()),Z.route("/deco-sites",NA0()),Z.route("/sso",QA0()),Z.route("/",mA0({tokenStorage:$.tokenStorage,automationEventDispatcher:$.automationEventDispatcher})),Z.route("/webhooks",oy$()),$.mountDevAssets)Z.route("/dev-assets",UA0({orgFromPath:!0}));return Z.use("/mcp/:connectionId?",$.mcpAuth),Z.use("/mcp/:connectionId/ui-resource",$.mcpAuth),Z.use("/mcp/gateway/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/virtual-mcp/:virtualMcpId?",$.mcpAuth),Z.use("/mcp/self",$.mcpAuth),Z.use("/mcp/task-run/:threadId",$.mcpAuth),Z.route("/",Db$()),Z.get("/mcp/:gateway?/:connectionId/.well-known/oauth-protected-resource/*",$.betterAuthProtectedResourceHandler),Z.get("/mcp/.well-known/oauth-protected-resource",$.betterAuthProtectedResourceHandler),Z.route("/mcp/task-run",Zc$()),Z.route("/mcp",Bw0()),Z.route("/mcp/self",lA0()),Z.route("/mcp",Lw0()),Z.all("/oauth-proxy/:connectionId/*",$.oauthProxyHandler),Z.get("/watch",$.watchHandler),Z};var ll$=D(()=>{U8();B91();ry$();w91();BA0();Ca();N91();gu$();uu$();$c$();gt();G91();ww0();gZ1();Xc$();Yc$();Kc$();Hc$();Oc$();uZ1();wc$();cZ1();Ow0();Ml$();ul$()});function zN6($){return $.filter((Z)=>Z.vendors?.alias).map((Z)=>({name:Z.name,title:Z.title,description:Z.description,logo:Z.logo,category:Z.category,vendor:{alias:Z.vendors.alias,url:Z.vendors.url}}))}var PN6=async($,Z)=>{if(!$.get("studioContext").auth.user?.id)return $.json({error:"Unauthorized"},401);return Z()},dl$=()=>{let $=new H1;return $.use("*",PN6),$.get("/",async(Z)=>{let X=b0(),Q=X.decoSupabaseUrl,Y=X.decoSupabaseServiceKey;if(!Q||!Y)return Z.json({apps:[]});try{let G=await nZ(Q,Y,"apps?select=name,title,description,logo,category,vendors(alias,url)");return Z.json({apps:zN6(G)})}catch(G){return console.error("[deco-apps] GET error:",G),Z.json({error:"Failed to fetch apps"},502)}}),$};var ml$=D(()=>{U8();R$();KP0()});import{z as M1}from"zod";function EF($,Z="invalid_request_error",X=null,Q=null){return{error:{message:$,type:Z,param:X,code:Q}}}function CN6($){if(!$)return null;let Z=$.indexOf(":");if(Z===-1)return{credentialId:null,modelId:$};let X=$.substring(0,Z),Q=$.substring(Z+1);if(!X||!Q)return null;return{credentialId:X,modelId:Q}}function _N6($,Z,X){try{return JSON.parse($)}catch{throw new nl$(`Invalid JSON in tool call arguments for function '${X}' (tool_call_id: ${Z}): ${$}`)}}function vN6($){let Z={};for(let X of $)if(X.role==="assistant"&&X.tool_calls)for(let Q of X.tool_calls)Z[Q.id]=Q.function.name;return $.map((X)=>{switch(X.role){case"system":return{role:"system",content:X.content};case"user":if(typeof X.content==="string")return{role:"user",content:X.content};return{role:"user",content:X.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:Y.text};return{type:"image",image:Y.image_url.url}})};case"assistant":if(X.tool_calls&&X.tool_calls.length>0)return{role:"assistant",content:X.tool_calls.map((Y)=>({type:"tool-call",toolCallId:Y.id,toolName:Y.function.name,input:_N6(Y.function.arguments,Y.id,Y.function.name)}))};return{role:"assistant",content:X.content??""};case"tool":let Q=Z[X.tool_call_id]??"unknown";return{role:"tool",content:[{type:"tool-result",toolCallId:X.tool_call_id,toolName:Q,output:{type:"text",value:X.content}}]}}})}function fN6($){let Z=$.map((X)=>{let Q=X.function.parameters?dY(X.function.parameters):dY({type:"object",properties:{}});return[X.function.name,I$({description:X.function.description,inputSchema:Q})]});return Object.fromEntries(Z)}function bN6($){if(!$)return;return{openai:{response_format:$}}}function xN6(){return`chatcmpl-${crypto.randomUUID().replace(/-/g,"").substring(0,29)}`}function il$($,Z,X,Q,Y,G){let J={model:$,messages:Z,tools:X,temperature:Q.temperature,maxTokens:Q.max_tokens,topP:Q.top_p,frequencyPenalty:Q.frequency_penalty,presencePenalty:Q.presence_penalty,stopSequences:Q.stop?Array.isArray(Q.stop)?Q.stop:[Q.stop]:void 0,abortSignal:G};return Y?{...J,providerOptions:Y}:J}function pl$($){if($==="tool-calls")return"tool_calls";if($==="length")return"length";return"stop"}var AN6=256,TN6,RN6,IN6,qN6,MN6,kN6,VN6,SN6,nl$,tl$,ol$;var rl$=D(()=>{D4();U8();gu();jN();TN6=M1.object({type:M1.literal("function"),function:M1.object({name:M1.string(),description:M1.string().optional(),parameters:M1.record(M1.string(),M1.unknown()).optional()})}),RN6=M1.object({id:M1.string(),type:M1.literal("function"),function:M1.object({name:M1.string(),arguments:M1.string()})}),IN6=M1.discriminatedUnion("role",[M1.object({role:M1.literal("system"),content:M1.string(),name:M1.string().optional()}),M1.object({role:M1.literal("user"),content:M1.union([M1.string(),M1.array(M1.union([M1.object({type:M1.literal("text"),text:M1.string()}),M1.object({type:M1.literal("image_url"),image_url:M1.object({url:M1.string(),detail:M1.string().optional()})})]))]),name:M1.string().optional()}),M1.object({role:M1.literal("assistant"),content:M1.string().nullable().optional(),name:M1.string().optional(),tool_calls:M1.array(RN6).optional()}),M1.object({role:M1.literal("tool"),content:M1.string(),tool_call_id:M1.string()})]),qN6=M1.object({type:M1.literal("text")}),MN6=M1.object({type:M1.literal("json_object")}),kN6=M1.object({type:M1.literal("json_schema"),json_schema:M1.object({name:M1.string(),description:M1.string().optional(),schema:M1.record(M1.string(),M1.unknown()),strict:M1.boolean().optional()})}),VN6=M1.union([qN6,MN6,kN6]),SN6=M1.object({model:M1.string().describe("Format: 'model_id' or 'credential_id:model_id'"),messages:M1.array(IN6),stream:M1.boolean().optional().default(!1),temperature:M1.number().min(0).max(2).optional(),max_tokens:M1.number().positive().optional(),top_p:M1.number().min(0).max(1).optional(),frequency_penalty:M1.number().min(-2).max(2).optional(),presence_penalty:M1.number().min(-2).max(2).optional(),stop:M1.union([M1.string(),M1.array(M1.string())]).optional(),tools:M1.array(TN6).optional(),tool_choice:M1.union([M1.literal("auto"),M1.literal("none"),M1.literal("required"),M1.object({type:M1.literal("function"),function:M1.object({name:M1.string()})})]).optional(),response_format:VN6.optional(),user:M1.string().optional()});nl$=class nl$ extends Error{constructor($){super($);this.name="MessageConversionError"}};tl$=new H1;tl$.post("/:org/v1/chat/completions",async($)=>{let Z=$.get("studioContext"),X=$.req.param("org");try{if(!Z.auth.apiKey?.id)return $.json(EF("API key authentication required. Provide a valid API key via Authorization header.","authentication_error"),401);if(!Z.organization)return $.json(EF("Organization context is required. Ensure your API key has organization metadata.","invalid_request_error","organization"),400);if((Z.organization.slug??Z.organization.id)!==X)return $.json(EF("Organization mismatch. The API key's organization does not match the requested organization.","invalid_request_error","organization"),403);let Q=await $.req.json(),Y=SN6.safeParse(Q);if(!Y.success){let w=Y.error.issues[0]??{message:"Invalid request",path:[]};return $.json(EF(`Invalid request: ${w.message}`,"invalid_request_error",w.path.length>0?w.path.join("."):null),400)}let G=Y.data,J=CN6(G.model);if(!J)return $.json(EF("Invalid model format. Expected 'model_id' or 'credential_id:model_id' (e.g., 'claude-sonnet-4-6' or 'key_abc123:claude-sonnet-4-6')","invalid_request_error","model"),400);let{credentialId:K}=J,{modelId:W}=J;if(!K){let E=(await Z.storage.aiProviderKeys.list({organizationId:Z.organization.id})).find((j)=>$w(j.providerId));if(!E)return $.json(EF("No AI provider credentials configured for this organization. Add a credential in settings or specify one explicitly via 'credential_id:model_id'.","invalid_request_error","model"),400);K=E.id}let F;try{F=await Z.aiProviders.activate(K,Z.organization.id)}catch{return $.json(EF(`AI provider credential not found or inaccessible: ${K}`,"invalid_request_error","model"),404)}let H=F.aiSdk.languageModel(W),N=vN6(G.messages),U=G.tools?fN6(G.tools):void 0,B=bN6(G.response_format),O=xN6(),L=Math.floor(Date.now()/1000);if(G.stream)return hN($,async(w)=>{let E=il$(H,N,U,G,B,$.req.raw.signal);try{let j=BO(E),z=!1,A=0,P="",I=async()=>{if(P.length===0)return;let q=P;P="",await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{content:q},finish_reason:null}]})})};for await(let q of j.fullStream){if(!z&&(q.type==="text-delta"||q.type==="tool-call"))await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}),z=!0;if(q.type==="text-delta"){if(P+=q.text,P.length>=AN6)await I()}else if(q.type==="tool-call"){await I();let k=A++;await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{tool_calls:[{index:k,id:q.toolCallId,type:"function",function:{name:q.toolName,arguments:JSON.stringify(q.input)}}]},finish_reason:null}]})})}else if(q.type==="finish")await I(),await w.writeSSE({data:JSON.stringify({id:O,object:"chat.completion.chunk",created:L,model:G.model,choices:[{index:0,delta:{},finish_reason:pl$(q.finishReason)}],usage:q.totalUsage?{prompt_tokens:q.totalUsage.inputTokens??0,completion_tokens:q.totalUsage.outputTokens??0,total_tokens:q.totalUsage.totalTokens??0}:void 0})})}await I(),await w.writeSSE({data:"[DONE]"})}catch(j){let z=j;console.error("[openai-compat:stream] Error:",z.message),await w.writeSSE({data:JSON.stringify({error:{message:z.message,type:"server_error"}})})}});else{let w=il$(H,N,U,G,B,$.req.raw.signal),E=await NO(w),j={role:"assistant",content:E.text||null};if(E.toolCalls&&E.toolCalls.length>0)j.tool_calls=E.toolCalls.map((z)=>({id:z.toolCallId,type:"function",function:{name:z.toolName,arguments:JSON.stringify("input"in z?z.input:{})}})),j.content=null;return $.json({id:O,object:"chat.completion",created:L,model:G.model,choices:[{index:0,message:j,finish_reason:pl$(E.finishReason)}],usage:{prompt_tokens:E.usage?.inputTokens??0,completion_tokens:E.usage?.outputTokens??0,total_tokens:E.usage?.totalTokens??0}})}}catch(Q){let Y=Q;if(Y.name==="AbortError")return $.json(EF("Request aborted","invalid_request_error"),400);if(Y.name==="MessageConversionError")return $.json(EF(Y.message,"invalid_request_error","messages"),400);return console.error("[openai-compat] Error:",Y.message,Y.stack),$.json(EF(Y.message,"server_error"),500)}});ol$=tl$});function yN6($){if(typeof $!=="object"||$===null)return!1;let X=$.githubRepo?.url;return typeof X==="string"&&X.length>0}function al$(){let $=new H1;return $.use("*",async(Z,X)=>{await X(),Z.header("Cache-Control","private, no-store"),Z.header("Vary","Cookie")}),$.get("/",async(Z)=>{let X=Z.get("studioContext"),Q=o0(X);if(!Q)return Z.json({error:"Authentication required"},401);let G=(Z.req.query("site")??"").trim().toLowerCase();if(!tG(G))return Z.json({error:"Invalid site slug"},400);let J=await X.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["organization.id as id","organization.slug as slug","organization.name as name","organization.metadata as metadata"]).where("member.userId","=",Q).execute(),K=[];for(let F of J){if(!F.slug||_Z(F))continue;let H=await X.storage.virtualMcps.list(F.id);for(let N of H){if(ds1(N)!==G)continue;if(!yN6(N.metadata))continue;K.push({orgSlug:F.slug,orgName:F.name??F.slug,project:{id:N.id,title:N.title,icon:N.icon??null}})}}let W={matches:K};return Z.json(W)}),$}var sl$=D(()=>{U8();rB()});var $d$;var el$=D(()=>{$d$={name:"decocms",version:"4.286.6",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"}}});function uN6(){let $=process.env.POSTHOG_KEY;if(!$)return null;return{key:$,host:process.env.POSTHOG_HOST??hN6}}var Zd$,hN6="https://ph.studio.decocms.com",Xd$;var Qd$=D(()=>{U8();x50();SC();$9();R$();r51();el$();Zd$=new H1;Zd$.get("/",($)=>{let Z={version:$d$.version,theme:Bi1(),...jH().logo&&{logo:jH().logo},...GN()&&{internalUrl:dC1()},...b0().enableDecoImport&&{enableDecoImport:!0},brandExtractEnabled:!!b0().firecrawlApiKey,auth:Gy$(),posthog:uN6(),googleMapsApiKey:process.env.GOOGLE_MAPS_API_KEY?.trim()||null,runtime:{agentSandbox:zs()}};return $.header("Cache-Control","no-store"),$.json({success:!0,config:Z})});Xd$=Zd$});function pu($){let Z=($??"").trim().toLowerCase();return Z=Z.replace(/^https?:\/\//,""),Z=Z.replace(/^www\./,""),Z=Z.split(/[/?#]/)[0]??"",Z.replace(/\/+$/,"")}function D71($){return(pu($).split(".")[0]||$).replace(/[-_]/g," ").split(" ").filter(Boolean).map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join(" ")}function Gd$($,Z=64){return`https://www.google.com/s2/favicons?domain=${encodeURIComponent(pu($))}&sz=${Z}`}function Yd$($,Z){let X=$.trim();if(X.length<=Z)return X;let Q=X.slice(0,Z-1),Y=Q.lastIndexOf(" ");return`${(Y>Z*0.6?Q.slice(0,Y):Q).trimEnd()}\u2026`}function Jd$($){let{brand:Z,domain:X,score:Q,verdict:Y}=$,G=typeof Q==="number"?`${Z} commerce report \u2014 ${Math.round(Q)}/100 \xB7 decocms`:`${Z} commerce report \xB7 decocms`,J=`See the full ${Z} scorecard \u2014 SEO, performance, conversion & AEO signals scored by decocms.`,K=Y?.trim()?Yd$(`${Y.trim().replace(/\s+/g," ")} \u2014 ${J}`,200):Yd$(`How does ${X} really perform? ${J}`,200);return{title:G,description:K}}import{z as l0}from"zod";var Wv,cN6,lN6,dN6,mN6,Kd$;var Wd$=D(()=>{Wv=l0.enum(["good","bad","neutral"]),cN6=l0.preprocess(($)=>{if(Array.isArray($))return{kind:"text",value:$.find((X)=>X!==null&&typeof X!=="object")??""};return $!==null&&typeof $==="object"?$:{kind:"text",value:$}},l0.object({kind:l0.enum(["text","number","sparkline","badge","score"]).catch("text"),value:l0.coerce.string().optional(),tone:Wv.optional(),muted:l0.boolean().optional(),delta:l0.coerce.string().optional(),deltaDir:l0.enum(["up","down","neutral"]).optional(),points:l0.array(l0.coerce.number()).optional(),label:l0.coerce.string().optional()}).transform(($)=>{if($.kind==="badge"&&$.label==null)$.label=$.value??"";if($.kind==="score"){let Z=Number($.value);if(Number.isNaN(Z))return{...$,kind:"text"}}return $})),lN6=l0.preprocess(($)=>{let Z=$;if(Z&&typeof Z==="object"&&!Array.isArray(Z)&&Array.isArray(Z.cells))Z=Z.cells;if(Array.isArray(Z)&&Z.length===1&&Array.isArray(Z[0]))Z=Z[0];if(Array.isArray(Z))return Z;if(Z&&typeof Z==="object")return Object.values(Z);return Z},l0.array(cN6)),dN6={key:l0.coerce.string(),title:l0.coerce.string(),eyebrow:l0.coerce.string().optional(),headline:l0.coerce.string(),annotation:l0.coerce.string().optional(),methodology:l0.coerce.string().optional(),sources:l0.array(l0.object({name:l0.coerce.string(),logoUrl:l0.coerce.string()})).optional()},mN6=l0.discriminatedUnion("template",[l0.object({template:l0.literal("cover"),score:l0.object({value:l0.coerce.number(),max:l0.coerce.number().optional(),grade:l0.coerce.string().optional(),label:l0.coerce.string().optional()}).optional(),brandImage:l0.coerce.string().optional(),screenshot:l0.coerce.string().optional(),mobileScreenshot:l0.coerce.string().optional()}),l0.object({template:l0.literal("cta"),ctaUrl:l0.coerce.string().optional(),ctaLabel:l0.coerce.string().optional(),bullets:l0.array(l0.coerce.string()).optional()}),l0.object({template:l0.literal("series"),points:l0.array(l0.coerce.number()).min(2),xLabels:l0.array(l0.coerce.string()).min(1),unit:l0.coerce.string().optional(),callout:l0.object({index:l0.coerce.number(),value:l0.coerce.string(),tone:Wv.optional()})}),l0.object({template:l0.literal("threshold"),value:l0.coerce.string().default(""),metricLabel:l0.coerce.string().optional(),ratio:l0.coerce.number(),thresholdRatio:l0.coerce.number().optional(),thresholdLabel:l0.coerce.string().default(""),tone:Wv.optional()}),l0.object({template:l0.literal("stats"),stats:l0.array(l0.object({value:l0.coerce.string(),label:l0.coerce.string(),tone:Wv.optional()})).min(1)}),l0.object({template:l0.literal("bars"),items:l0.array(l0.object({value:l0.coerce.string(),label:l0.coerce.string(),ratio:l0.coerce.number(),tone:Wv.optional()})).min(1)}),l0.object({template:l0.literal("gauges"),gauges:l0.array(l0.object({label:l0.coerce.string(),value:l0.coerce.string(),status:l0.enum(["good","warn","bad"]).catch("warn"),caption:l0.coerce.string().optional(),ratio:l0.coerce.number().optional()})).min(1)}),l0.object({template:l0.literal("checklist"),checks:l0.array(l0.object({label:l0.coerce.string(),status:l0.enum(["pass","fail","warn"]).catch("fail"),value:l0.coerce.string().optional()})).min(1)}),l0.object({template:l0.literal("table"),columns:l0.array(l0.object({label:l0.coerce.string(),align:l0.enum(["left","right"]).optional()})).min(1),rows:l0.array(lN6).min(1),highlightRow:l0.coerce.number().optional()}),l0.object({template:l0.literal("products"),products:l0.array(l0.object({name:l0.coerce.string(),price:l0.coerce.string().optional(),image:l0.coerce.string().optional(),url:l0.coerce.string().optional()})).min(1)}),l0.object({template:l0.literal("list"),entries:l0.array(l0.object({label:l0.coerce.string(),severity:l0.enum(["error","warning","notice"]).catch("notice")})).min(1),moreCount:l0.coerce.number().optional()}),l0.object({template:l0.literal("keywords"),volumeLabel:l0.coerce.string().optional(),keywords:l0.array(l0.object({term:l0.coerce.string(),volume:l0.coerce.string(),position:l0.coerce.number().catch(0)})).min(1)}),l0.object({template:l0.literal("competitor"),metricLabel:l0.coerce.string().optional(),competitors:l0.array(l0.object({name:l0.coerce.string(),value:l0.coerce.string(),tone:Wv.optional(),isYou:l0.boolean().optional()})).min(1)}),l0.object({template:l0.literal("scorecard"),rivalLabel:l0.coerce.string().optional(),dimensions:l0.array(l0.object({label:l0.coerce.string(),you:l0.coerce.string(),rival:l0.coerce.string().optional(),rivalName:l0.coerce.string().optional(),tone:Wv.optional()})).min(1)})]),Kd$=l0.object({...dN6,template:mN6})});function NT0($){let Z=[],X=[...$.sections].sort((Y,G)=>Y.position-G.position).map((Y)=>{let G=Kd$.safeParse(Y.props);if(G.success)return G.data;let J=G.error.issues[0];return Z.push({section_type:Y.section_type,position:Y.position,reason:J?`${J.path.join(".")||"(root)"}: ${J.message}`:"contract violation"}),null}).filter((Y)=>Y!==null),Q=X.filter((Y)=>Y.template.template!=="cover"&&Y.template.template!=="cta").map((Y)=>({key:Y.key,title:Y.title}));return{deck:{meta:{...$.meta,scores:$.summary?.scores,scannedAt:$.scanned_at,toc:Q},slides:X},drops:Z}}var L71=D(()=>{Wd$()});import{join as Fd$}from"path";async function pN6($){try{let Z=await fetch(`${GW({})}/api/v2/public/diagnostics/${encodeURIComponent($)}`,{headers:{Accept:"application/json"},signal:AbortSignal.timeout(iN6)});if(!Z.ok)return null;let X=await Z.json(),{deck:Q}=NT0(X);if(!Q.slides.length)return null;let Y=Q.slides.find((K)=>K.template.template==="cover"),G=Y?.template,J=G&&G.template==="cover"?G:void 0;return{brand:Q.meta.brand?.trim()||D71($),score:Q.meta.scores?.cover??J?.score?.value,verdict:Y?.annotation?.trim()||Y?.headline?.trim()||void 0}}catch{return null}}function OG($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function nN6($,Z){let X=pu($),Q=Z?.brand?.trim()||D71(X),Y=Gd$(X,128),J=`${(b0().baseUrl??"https://studio.decocms.com").replace(/\/+$/,"")}/report/${encodeURIComponent(X)}`,{title:K,description:W}=Jd$({brand:Q,domain:X,score:Z?.score,verdict:Z?.verdict}),F=`${J}/og.png`,H=`${Q} commerce report by decocms`;return[`<title>${OG(K)}</title>`,`<meta name="description" content="${OG(W)}" />`,'<meta name="robots" content="noindex, follow" />','<meta property="og:type" content="website" />','<meta property="og:site_name" content="decocms" />',`<meta property="og:title" content="${OG(K)}" />`,`<meta property="og:description" content="${OG(W)}" />`,`<meta property="og:url" content="${OG(J)}" />`,`<meta property="og:image" content="${OG(F)}" />`,'<meta property="og:image:width" content="1200" />','<meta property="og:image:height" content="630" />',`<meta property="og:image:alt" content="${OG(H)}" />`,'<meta name="twitter:card" content="summary_large_image" />',`<meta name="twitter:title" content="${OG(K)}" />`,`<meta name="twitter:description" content="${OG(W)}" />`,`<meta name="twitter:image" content="${OG(F)}" />`,`<meta name="twitter:image:alt" content="${OG(H)}" />`,`<link rel="canonical" href="${OG(J)}" />`,`<link rel="icon" href="${OG(Y)}" sizes="any" />`].join(`
2924
2924
  `)}function tN6($,Z){return $.replace(/<title>[\s\S]*?<\/title>\s*/i,"").replace(/<meta\s+name="(?:description|twitter:[^"]*)"[^>]*>\s*/gi,"").replace(/<meta\s+property="og:[^"]*"[^>]*>\s*/gi,"").replace(/<link\s+rel="icon"[^>]*>\s*/gi,"").replace("</head>",` ${Z}
2925
2925
  </head>`)}function Hd$($){let Z=new H1;return Z.get("/:domain/og.png",async(X)=>{let Q=pu(X.req.param("domain")),Y=async()=>{let G=$?Bun.file(Fd$($,"report-og-fallback.png")):null;if(!G||!await G.exists())return X.notFound();return X.body(new Uint8Array(await G.arrayBuffer()),200,{"Content-Type":"image/png","Cache-Control":"public, max-age=0, s-maxage=3600"})};try{let G=await fetch(`${GW({})}/api/v2/public/diagnostics/${encodeURIComponent(Q)}/og.png`,{signal:AbortSignal.timeout(oN6)}),J=G.headers.get("content-type")??"";if(!G.ok||!J.startsWith("image/")||!G.body)return Y();return X.body(G.body,200,{"Content-Type":J,"Cache-Control":"public, max-age=0, s-maxage=604800"})}catch{return Y()}}),Z.get("/:domain",async(X)=>{let Q=X.req.param("domain"),Y=$?Fd$($,"index.html"):null,G=Y?Bun.file(Y):null;if(!G||!await G.exists())return X.notFound();let J=await G.text();try{let K=await pN6(pu(Q)),W=nN6(Q,K);return X.html(tN6(J,W),200,{"Cache-Control":"public, max-age=0, s-maxage=300"})}catch{return X.html(J)}}),Z}var iN6=2500,oN6=1e4;var Nd$=D(()=>{U8();L71();YE();R$()});function Bs($,Z){return fetch(`${GW({})}${$}`,Z)}async function rN6($,Z,X){let Q=new URLSearchParams;if(Z)Q.set("pw",Z);if(X)Q.set("lang",X);let Y=Q.toString()?`?${Q.toString()}`:"",G=await Bs(`/api/v2/public/diagnostics/${encodeURIComponent($)}${Y}`,{headers:{Accept:"application/json"}});if(G.status===404)return{status:"not_found",deck:null,scanned_at:null,drops:[]};if(!G.ok)throw Error(`report read HTTP ${G.status}`);let J=await G.json(),{deck:K,drops:W}=NT0(J);return{status:K.slides.length?"ready":"empty",deck:K,scanned_at:J.scanned_at,drops:W}}var aN6,cN,Ud$=async($,Z)=>{if(!$.get("reportUser"))return $.json({error:"Authentication required"},401);await Z();return},Bd$;var Od$=D(()=>{U8();hY();YE();L71();aN6=new Set(["complete","errored","terminated","unknown"]),cN=new H1;cN.use("*",async($,Z)=>{let X=await X8.api.getSession({headers:$.req.raw.headers});$.set("reportUser",X?.user?.id?{email:X.user.email}:void 0),await Z(),$.header("Cache-Control","private, no-store"),$.header("Vary","Cookie");return});cN.use("/link-token/*",Ud$);cN.use("/suggest",Ud$);cN.get("/site/:domain",async($)=>{let Z=$.req.param("domain").trim();if(!Z)return $.json({error:"domain is required"},400);let X=$.get("reportUser"),Q=$.req.query("key")?.trim()||void 0,Y=$.req.query("lang")?.trim()||void 0;try{let G=await rN6(Z,Q,Y);if($.header("Cache-Control","private, no-store"),X||!G.deck)return $.json(G);return $.json({...G,deck:{...G.deck,slides:G.deck.slides.slice(0,1)},truncated:G.status==="ready"})}catch{return $.json({error:"report read failed"},502)}});cN.post("/run",async($)=>{let Z=$.get("reportUser"),X;try{X=await $.req.json()}catch{return $.json({error:"invalid JSON"},400)}let Q=typeof X.domain==="string"?X.domain.trim():"";if(!Q)return $.json({error:"domain is required"},400);let Y=Z?.email,G=typeof X.distinctId==="string"&&X.distinctId.trim()&&X.distinctId.length<=200?X.distinctId.trim():void 0;try{let J=await Bs("/api/v2/diagnostics/run",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${QE({})}`},body:JSON.stringify({url:Q,...Y?{email:Y}:{},distinct_id:G})});if(!J.ok)return $.json({error:`run HTTP ${J.status}`},502);let K=await J.json(),W=K.blocked?{state:"blocked"}:K.status==="fresh"?{state:"fresh"}:K.mode==="sync"?{state:"sync"}:{state:"running",id:K.id??null};return $.json(W)}catch{return $.json({error:"run failed"},502)}});cN.get("/status",async($)=>{let Z=$.req.query("id");if(!Z)return $.json({error:"id is required"},400);try{let X=await Bs(`/api/v2/diagnostics/status?id=${encodeURIComponent(Z)}`,{headers:{Authorization:`Bearer ${QE({})}`}});if(!X.ok)return $.json({error:`status HTTP ${X.status}`},502);let Y=(await X.json()).status??"unknown",G={done:aN6.has(Y),status:Y};return $.json(G)}catch{return $.json({error:"status failed"},502)}});cN.get("/link-token/:id",async($)=>{let Z=$.req.param("id");try{let X=await Bs(`/api/v2/public/link-tokens/${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(X.status===404)return $.json(null);if(!X.ok)return $.json({error:`link token HTTP ${X.status}`},502);return $.json(await X.json())}catch{return $.json({error:"link token resolve failed"},502)}});cN.get("/suggest",async($)=>{let Z=($.req.query("q")??"").trim().slice(0,64);if(Z.length<2)return $.json({suggestions:[]});try{let X=await Bs(`/api/v2/public/suggest?q=${encodeURIComponent(Z)}`,{headers:{Accept:"application/json"}});if(!X.ok)return $.json({suggestions:[]});let Q=await X.json();return $.json({suggestions:Array.isArray(Q.suggestions)?Q.suggestions:[]})}catch{return $.json({suggestions:[]})}});Bd$=cN});import{createHmac as sN6,timingSafeEqual as eN6}from"crypto";function Ld$($,Z,X,Q=Date.now()){if(!Z||!X)return!1;let Y,G=[];for(let F of Z.split(",")){let H=F.indexOf("=");if(H<=0)continue;let N=F.slice(0,H).trim(),U=F.slice(H+1).trim();if(N==="t")Y=U;else if(N==="v1")G.push(U)}if(!Y||G.length===0)return!1;let J=Number(Y);if(!Number.isFinite(J)||Math.abs(Q/1000-J)>$U6)return!1;let K=sN6("sha256",X).update(`${Y}.${$}`).digest("hex"),W=Buffer.from(K,"hex");return G.some((F)=>{let H=Buffer.from(F,"hex");return W.length===H.length&&eN6(W,H)})}function wd$($){let Z;try{Z=JSON.parse($)}catch{return null}let X=fJ(Z),Q=fJ(fJ(X?.data)?.object);if(!X||typeof X.type!=="string"||!Q)return null;return{id:jF(X.id),type:X.type,created:typeof X.created==="number"?X.created:void 0,livemode:typeof X.livemode==="boolean"?X.livemode:void 0,data:{object:Q}}}function Ed$($){switch($){case"active":case"trialing":return"active";case"past_due":return"past_due";default:return"canceled"}}function jF($){return typeof $==="string"?$:void 0}function fJ($){return typeof $==="object"&&$!==null?$:void 0}function UT0($){return typeof $==="number"?new Date($*1000):null}function j71($){return jF($)??jF(fJ($)?.id)}function ZU6($){return j71($.subscription)??jF(fJ(fJ($.parent)?.subscription_details)?.subscription)}function XU6($){let Z=UT0($.current_period_end);if(Z)return Z;let X=fJ($.items)?.data;if(!Array.isArray(X))return null;let Q=0;for(let Y of X){let G=fJ(Y)?.current_period_end;if(typeof G==="number"&&G>Q)Q=G}return Q>0?new Date(Q*1000):null}function w71($,Z){let X=UT0($.created);return!!X&&!!Z.lastStripeEventAt&&X<Z.lastStripeEventAt}function E71($,Z){let X=UT0($.created);if(!X)return;return Z.lastStripeEventAt&&Z.lastStripeEventAt>X?void 0:X}async function QU6($,Z){let X=Z.data.object;switch(Z.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":{let Q=jF(fJ(X.metadata)?.orgId);if(!Q)return{handled:!1,reason:"no orgId"};if(jF(fJ(X.metadata)?.kind)==="topup"){if(X.mode!=="payment")return{handled:!1,reason:"topup with wrong mode"};if(jF(X.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let J=jF(X.id);if(!J)return console.error("stripe webhook: topup session without id",{eventId:Z.id,organizationId:Q}),{handled:!1,reason:"topup session without id"};let K=Number(fJ(X.metadata)?.creditCents);if(!Number.isInteger(K)||K<=0)return console.error("stripe webhook: paid topup with bad metadata \u2014 credit NOT applied",{eventId:Z.id,organizationId:Q,creditCents:fJ(X.metadata)?.creditCents}),{handled:!1,reason:"bad topup metadata"};return{handled:!0,organizationId:Q,topUp:{creditCents:K,referenceId:`stripe-topup:${J}`}}}if(X.mode!=="subscription")return{handled:!1,reason:"not a subscription checkout"};if(jF(X.payment_status)!=="paid")return{handled:!1,reason:"payment not confirmed"};let Y=await $.getBilling(Q);if(!Y)return{handled:!1,reason:"unknown org"};let G=j71(X.subscription);if(Y.stripeSubscriptionId&&G&&Y.stripeSubscriptionId!==G)return console.error("stripe webhook: refused checkout rebind",{organizationId:Q,eventId:Z.id}),{handled:!1,reason:"org already bound to another subscription",orphanSubscriptionId:G};if(w71(Z,Y))return{handled:!1,reason:"stale event"};return await $.updateStripeState(Q,{stripeCustomerId:j71(X.customer),stripeSubscriptionId:G,status:"active",lastStripeEventAt:E71(Z,Y)}),{handled:!0,organizationId:Q}}case"customer.subscription.updated":case"customer.subscription.deleted":{let Q=jF(X.id);if(!Q)return{handled:!1,reason:"no sub id"};let Y=await $.getBillingByStripeSubscriptionId(Q);if(!Y)return{handled:!1,reason:"unknown subscription"};let G=Z.type==="customer.subscription.deleted";if(!G&&w71(Z,Y))return{handled:!1,reason:"stale event"};let J=G?"canceled":Ed$(X.status);return await $.updateStripeState(Y.organizationId,{status:J,currentPeriodEnd:XU6(X),...G&&{stripeSubscriptionId:null},lastStripeEventAt:E71(Z,Y)}),{handled:!0,organizationId:Y.organizationId}}case"invoice.paid":{let Q=ZU6(X);if(!Q)return{handled:!1,reason:"no sub id"};let Y=await $.getBillingByStripeSubscriptionId(Q);if(!Y)return{handled:!1,reason:"unknown subscription"};if(w71(Z,Y))return{handled:!1,reason:"stale event"};return await $.updateStripeState(Y.organizationId,{status:"active",currentPeriodEnd:UT0(X.period_end),lastStripeEventAt:E71(Z,Y)}),{handled:!0,organizationId:Y.organizationId}}default:return{handled:!1,reason:`unhandled event ${Z.type}`}}}function YU6($,Z){if(!Z.handled||$.livemode===!1)return null;let X=$.data.object;if(Z.topUp)return{name:"credits_topup_succeeded",organizationId:Z.organizationId,properties:{credit_cents:Z.topUp.creditCents}};switch($.type){case"checkout.session.completed":case"checkout.session.async_payment_succeeded":return{name:"subscription_started",organizationId:Z.organizationId,properties:{}};case"customer.subscription.deleted":return{name:"subscription_canceled",organizationId:Z.organizationId,properties:{}};case"customer.subscription.updated":return{name:"subscription_updated",organizationId:Z.organizationId,properties:{status:Ed$(X.status),...typeof X.cancel_at_period_end==="boolean"?{cancel_at_period_end:X.cancel_at_period_end}:{}}};case"invoice.paid":if(X.billing_reason==="subscription_create")return null;return{name:"subscription_renewed",organizationId:Z.organizationId,properties:{}};default:return null}}function Dd$($,Z){let X=YU6($,Z);if(!X)return;vY({event:X.name,organizationId:X.organizationId,...$.id?{uuid:Pn1(`stripe:${$.id}:${X.name}`)}:{},...$.created?{timestamp:new Date($.created*1000)}:{},properties:X.properties})}async function jd$($){let Z=new ZW(r8().db),X=await QU6(Z,$);if(!(X.handled&&X.topUp))Dd$($,X);if(X.handled&&X.topUp)await gE$({organizationId:X.organizationId,amountCents:X.topUp.creditCents,referenceId:X.topUp.referenceId}),Dd$($,X);if(!X.handled&&X.orphanSubscriptionId)try{await ue1(X.orphanSubscriptionId),console.error("stripe webhook: canceled orphan subscription",{subscriptionId:X.orphanSubscriptionId,eventId:$.id})}catch(Q){if(!(Q instanceof uY&&(Q.status===400||Q.status===404)))throw Q}return X}var $U6=300;var zd$=D(()=>{lG();C4();D50();BE();C01()});var GU6=1048576,z71;var Pd$=D(()=>{U8();BF();R$();zd$();z71=new H1;z71.post("/webhook",p5({maxSize:GU6,onError:($)=>$.json({error:"payload too large"},413)}),async($)=>{let Z=b0().stripeWebhookSecret;if(!Z)return $.json({error:"stripe billing not configured"},503);let X=await $.req.text();if(!Ld$(X,$.req.header("stripe-signature"),Z))return $.json({error:"invalid signature"},400);let Y=wd$(X);if(!Y)return $.json({error:"invalid payload"},400);let G=await jd$(Y);return console.log("stripe webhook",{eventId:Y.id,type:Y.type,livemode:Y.livemode,...G}),$.json({received:!0})})});import{timingSafeEqual as JU6}from"crypto";function WU6($,Z,X){if(!Z?.startsWith("sha256="))return!1;let Q=new Bun.CryptoHasher("sha256",X).update($).digest("hex"),Y=Z.slice(7);if(Y.length!==Q.length)return!1;return JU6(Buffer.from(Y),Buffer.from(Q))}var KU6=5242880,P71;var Ad$=D(()=>{U8();BF();u3();P71=new H1;P71.post("/webhook",p5({maxSize:KU6,onError:($)=>$.json({error:"payload too large"},413)}),async($)=>{let Z=process.env.GITHUB_WEBHOOK_SECRET;if(!Z)return $.json({error:"github webhook not configured"},503);let X=await $.req.text();if(!WU6(X,$.req.header("x-hub-signature-256"),Z))return $.json({error:"invalid signature"},400);if($.req.header("x-github-event")!=="push")return $.json({ok:!0,ignored:"event"});let Q;try{Q=JSON.parse(X)}catch{return $.json({error:"invalid payload"},400)}let Y=Q.ref,G=Q.repository?.full_name;if(!Y||!G)return $.json({ok:!0,ignored:"shape"});let K=(await kn0())?.markTenantPoolsDirty(G,Y)??[];return $.json({ok:!0,pools:K})})});function Td$($,Z){if(Z.startsWith("text/html")||Z.startsWith("image/svg"))$.set("Content-Security-Policy","sandbox allow-scripts allow-modals allow-same-origin")}var Rd$,FU6,HU6,Id$;var qd$=D(()=>{U8();E3();Bg();ox();Rd$=new H1,FU6=["range","if-none-match","if-modified-since"],HU6=["content-type","content-length","content-range","accept-ranges","etag","last-modified"];Rd$.get("/:org/files/*",async($)=>{let Z=$.get("studioContext"),X=Z.organization?.id;if(!Z.auth?.user?.id){if(ju($))return $.redirect(`/login?next=${encodeURIComponent($.req.path)}`,302);throw new $$(401,{message:"Authentication required"})}if(!X)throw new $$(401,{message:"Organization context required"});let Q=$.req.path.replace(/^.*\/files\//,"");if(!Q)throw new $$(400,{message:"Missing file key"});let Y=await Ft(Q,Z);if(!Y)throw new $$(503,{message:"Object storage not configured"});if(Y.startsWith("data:")&&pG()){let W=Y.match(/^data:([^;]+);base64,(.+)$/s);if(!W)throw new $$(500,{message:"Invalid data URL from storage"});let[,F,H]=W,N=Buffer.from(H,"base64"),U=new Headers({"Content-Type":F,"Cache-Control":"private, max-age=86400"});return Td$(U,F),new Response(N,{status:200,headers:U})}let G=new Headers;for(let W of FU6){let F=$.req.header(W);if(F)G.set(W,F)}let J=await fetch(Y,{headers:G});if(J.status===403||J.status===404)throw new $$(404,{message:"File not found"});if(!J.ok&&J.status!==304&&J.status!==416)throw console.error(`[files] upstream storage error ${J.status} for key:`,Q),new $$(502,{message:"Upstream storage error"});let K=new Headers;for(let W of HU6){let F=J.headers.get(W);if(F)K.set(W,F)}return K.set("Cache-Control","private, max-age=86400"),Td$(K,K.get("content-type")??""),new Response(J.body,{status:J.status,headers:K})});Id$=Rd$});var Os=_((Fv)=>{var NU6=Fv&&Fv.__createBinding||(Object.create?function($,Z,X,Q){if(Q===void 0)Q=X;var Y=Object.getOwnPropertyDescriptor(Z,X);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[X]}};Object.defineProperty($,Q,Y)}:function($,Z,X,Q){if(Q===void 0)Q=X;$[Q]=Z[X]}),UU6=Fv&&Fv.__exportStar||function($,Z){for(var X in $)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Z,X))NU6(Z,$,X)};Object.defineProperty(Fv,"__esModule",{value:!0});UU6(EY(),Fv)});var Vd$=_((Md$)=>{Object.defineProperty(Md$,"__esModule",{value:!0});Md$.version=void 0;Md$.version="3.4.0"});var _d$=_((zF)=>{var BU6=zF&&zF.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(zF,"__esModule",{value:!0});zF.NodeTransport=zF.VERSION=void 0;zF.nodeResolveHost=jU6;var s6=Os(),OU6=j0("net"),A71=j0("tls"),DU6=j0("path"),Sd$=j0("fs"),LU6=BU6(j0("dns")),wU6=Vd$();zF.VERSION=wU6.version;var EU6="nats.js";class Cd${socket;version;lang;yields=[];signal=(0,s6.deferred)();closedNotification=(0,s6.deferred)();options;connected=!1;tlsName="";done=!1;closeError;constructor(){this.lang=EU6,this.version=zF.VERSION}async connect($,Z){this.tlsName=$.tlsName,this.options=Z;let{tls:X}=this.options,{handshakeFirst:Q}=X||{};try{if(Q===!0)this.socket=await this.tlsFirst($);else this.socket=await this.dial($);if(this.done)this.socket?.destroy();let Y=await this.peekInfo();(0,s6.checkOptions)(Y,Z);let{tls_required:G,tls_available:J}=Y,K=J===!0&&Z.tls!==null;if(!Q&&(G||K))this.socket=await this.startTLS();if(this.done)this.socket?.destroy();if(G&&this.socket.encrypted!==!0)throw s6.errors.InvalidArgumentError.format("tls","is not available on this server");return this.connected=!0,this.setupHandlers(),this.signal.resolve(),Promise.resolve()}catch(Y){let G=Y;if(!G)G=new s6.errors.ConnectionError("error connecting - node provided an undefined error");let{code:J}=G,K=J==="ECONNREFUSED"?new s6.errors.ConnectionError("connection refused",{cause:G}):G;throw this.socket?.destroy(),K}}dial($){let Z=(0,s6.deferred)(),X,Q=(0,OU6.createConnection)($.port,$.hostname,()=>{Z.resolve(Q),Q.removeAllListeners()});return Q.on("error",(Y)=>{X=Y}),Q.on("close",()=>{Q.removeAllListeners(),Z.reject(X)}),Q.setNoDelay(!0),Z}get isClosed(){return this.done}close($){return this._closed($,!1)}peekInfo(){let $=(0,s6.deferred)(),Z;return this.socket.on("data",(X)=>{this.yields.push(X);let Q=s6.DataBuffer.concat(...this.yields),Y=(0,s6.extractProtocolMessage)(Q);if(Y!=="")try{let G=s6.INFO.exec(Y);if(!G)throw Error("unexpected response from server");let J=JSON.parse(G[1]);$.resolve(J)}catch(G){$.reject(G)}finally{this.socket.removeAllListeners()}}),this.socket.on("error",(X)=>{Z=X}),this.socket.on("close",()=>{this.socket.removeAllListeners(),$.reject(Z)}),$}loadFile($){if(!$)return Promise.resolve();let Z=(0,s6.deferred)();try{if($=(0,DU6.resolve)($),!(0,Sd$.existsSync)($))Z.reject(Error(`${$} doesn't exist`));(0,Sd$.readFile)($,(X,Q)=>{if(X)return Z.reject(X);Z.resolve(Q)})}catch(X){Z.reject(X)}return Z}async loadClientCerts(){let $={},{certFile:Z,cert:X,caFile:Q,ca:Y,keyFile:G,key:J}=this.options.tls;try{if(Z){let K=await this.loadFile(Z);if(K)$.cert=K}else if(X)$.cert=X;if(G){let K=await this.loadFile(G);if(K)$.key=K}else if(J)$.key=J;if(Q){let K=await this.loadFile(Q);if(K)$.ca=[K]}else if(Y)$.ca=Y;return Promise.resolve($)}catch(K){return Promise.reject(K)}}async tlsFirst($){let Z,X={servername:this.tlsName,rejectUnauthorized:!0};if(this.socket)X.socket=this.socket;if(typeof this.options.tls==="object")try{let Y=await this.loadClientCerts()||{};X=(0,s6.extend)(X,this.options.tls,Y)}catch(Y){return Promise.reject(new s6.errors.ConnectionError(Y.message,{cause:Y}))}let Q=(0,s6.deferred)();try{let Y=(0,A71.connect)($.port,$.hostname,X,()=>{Y.removeAllListeners(),Q.resolve(Y)});Y.on("error",(G)=>{Z=G}),Y.on("secureConnect",()=>{if(X.rejectUnauthorized===!1)return;if(!Y.authorized)throw Y.authorizationError}),Y.on("close",()=>{Q.reject(Z),Y.removeAllListeners()}),Y.setNoDelay(!0)}catch(Y){Q.reject(new s6.errors.ConnectionError(Y.message,{cause:Y}))}return Q}async startTLS(){let $,Z={socket:this.socket,servername:this.tlsName,rejectUnauthorized:!0};if(typeof this.options.tls==="object")try{let Q=await this.loadClientCerts()||{};Z=(0,s6.extend)(Z,this.options.tls,Q)}catch(Q){return Promise.reject(new s6.errors.ConnectionError(Q.message,{cause:Q}))}let X=(0,s6.deferred)();try{let Q=(0,A71.connect)(Z,()=>{Q.removeAllListeners(),X.resolve(Q)});Q.on("error",(Y)=>{$=Y}),Q.on("secureConnect",()=>{if(Z.rejectUnauthorized===!1)return;if(!Q.authorized)throw Q.authorizationError}),Q.on("close",()=>{X.reject($),Q.removeAllListeners()})}catch(Q){X.reject(new s6.errors.ConnectionError(Q.message,{cause:Q}))}return X}setupHandlers(){let $;this.socket.on("data",(Z)=>{return this.yields.push(Z),this.signal.resolve()}),this.socket.on("error",(Z)=>{$=Z}),this.socket.on("end",()=>{if(this.socket?.destroyed)return;this.socket?.write(new Uint8Array(0),()=>{this.socket?.end()})}),this.socket.on("close",()=>{this._closed($,!1)})}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){while(!0){if(this.yields.length===0)await this.signal;let $=this.yields;this.yields=[];for(let Z=0;Z<$.length;Z++){if(this.options.debug)console.info(`> ${(0,s6.render)($[Z])}`);yield $[Z]}if(this.done)break;else if(this.yields.length===0)$.length=0,this.yields=$,this.signal=(0,s6.deferred)()}}discard(){if(this.done=!0,this.socket)try{this.socket.removeAllListeners(),this.socket.destroy()}catch{}}disconnect(){this._closed(void 0,!0).then().catch()}isEncrypted(){return this.socket instanceof A71.TLSSocket}_send($){if(this.isClosed||this.socket===void 0)return Promise.resolve();if(this.options.debug)console.info(`< ${(0,s6.render)($)}`);let Z=(0,s6.deferred)();try{this.socket.write($,(X)=>{if(X){if(this.options.debug)console.error(`!!! ${(0,s6.render)($)}: ${X}`);return Z.reject(X)}return Z.resolve()})}catch(X){if(this.options.debug)console.error(`!!! ${(0,s6.render)($)}: ${X}`);Z.reject(X)}return Z}send($){this._send($).catch((X)=>{})}async _closed($,Z=!0){if(!this.connected)return;if(this.done){this.socket?.destroy();return}if(this.closeError=$,!$&&this.socket&&Z)try{await this._send(new TextEncoder().encode(""))}catch(X){if(this.options.debug)console.log("transport close terminated with an error",X)}try{if(this.socket)this.socket.removeAllListeners(),this.socket?.destroy(),this.socket=void 0}catch(X){console.log(X)}this.done=!0,this.closedNotification.resolve(this.closeError)}closed(){return this.closedNotification}}zF.NodeTransport=Cd$;function jU6($){let Z=(0,s6.deferred)();return LU6.default.lookup($,{all:!0},(X,Q)=>{if(X){Z.reject(X);return}let Y=[];for(let G of Q)Y.push(G.address);if(Y.length===0)Y.push($);Z.resolve(Y)}),Z}});var yd$=_((xd$)=>{Object.defineProperty(xd$,"__esModule",{value:!0});xd$.connect=zU6;var vd$=_d$(),fd$=Os(),bd$=Os();function zU6($={}){if((0,bd$.hasWsProtocol)($))return Promise.reject(bd$.errors.InvalidArgumentError.format("servers","node client doesn't support websockets, use the 'wsconnect' function instead"));return(0,fd$.setTransportFactory)({factory:()=>{return new vd$.NodeTransport},dnsResolveFn:vd$.nodeResolveHost}),fd$.NatsConnectionImpl.connect($)}});var gd$=_((lN)=>{var AU6=lN&&lN.__createBinding||(Object.create?function($,Z,X,Q){if(Q===void 0)Q=X;var Y=Object.getOwnPropertyDescriptor(Z,X);if(!Y||("get"in Y?!Z.__esModule:Y.writable||Y.configurable))Y={enumerable:!0,get:function(){return Z[X]}};Object.defineProperty($,Q,Y)}:function($,Z,X,Q){if(Q===void 0)Q=X;$[Q]=Z[X]}),TU6=lN&&lN.__exportStar||function($,Z){for(var X in $)if(X!=="default"&&!Object.prototype.hasOwnProperty.call(Z,X))AU6(Z,$,X)};Object.defineProperty(lN,"__esModule",{value:!0});lN.connect=void 0;var RU6=yd$();Object.defineProperty(lN,"connect",{enumerable:!0,get:function(){return RU6.connect}});TU6(Os(),lN)});function ld$($){let Z=$?.connectFn??kU6,X=null,Q=null,Y=!1,G=!1,J=!1,K=[];function W(){return X!==null&&!X.isClosed()&&!X.isDraining()&&!J}function F(){console.log(`[NatsProvider] fireReady: ${K.length} callbacks`);for(let U of K)try{U()}catch{}}function H(U){(async()=>{for await(let B of U.status())if(B.type==="disconnect")console.log("[NatsProvider] Disconnected"),J=!0;else if(B.type==="reconnect")console.log("[NatsProvider] Reconnected, re-firing ready callbacks"),J=!1,Q=null,F()})().catch(()=>{})}async function N(U,B){let O=0;while(!G)try{X=await Z({servers:U,timeout:MU6,reconnect:!0,maxReconnectAttempts:-1,...B?{authenticator:B}:{}}),console.log(`[NatsProvider] Connected to ${X.getServer()} after ${O} attempt(s)`),Q=null,J=!1,H(X),F();return}catch{O++;let L=aZ(qU6,IU6,O-1,2,0.5);await L$(L)}}return{init(U,B){if(Y)return;Y=!0,G=!1;let O=B?.creds?hd$.credsAuthenticator(new TextEncoder().encode(B.creds)):void 0;N(U,O).catch(()=>{})},isConnected(){return W()},getConnection(){return W()?X:null},getJetStream(){if(!W())return null;if(!Q)Q=cd$.jetstream(X);return Q},onReady(U){if(K.push(U),W())try{U()}catch{}},async drain(){if(G=!0,Y=!1,Q=null,J=!1,X){let U=X;X=null,await U.drain().catch(()=>{})}}}}function kU6($){return ud$.connect($)}var hd$,ud$,cd$,IU6=100,qU6=3000,MU6=3000;var dd$=D(()=>{K4();hd$=V(wc(),1),ud$=V(gd$(),1),cd$=V(KL(),1)});function T71($,Z){return`${$}.${Z}`}class R71{cache;constructor($){this.cache=$u({ttlMs:$?.ttlMs??VU6,maxSize:$?.maxSize??SU6})}async get($,Z){return this.cache.get(T71($,Z))??null}async set($,Z,X){this.cache.set(T71($,Z),X)}async invalidate($,Z){this.cache.delete(T71($,Z))}teardown(){this.cache.clear()}}var VU6=600000,SU6=5000;var md$=()=>{};function BT0($,Z){return`${$}:${Z}`}function I71($){let Z=$u({ttlMs:$?.ttlMs??CU6,maxSize:$?.maxSize??_U6}),X=$?.getConnection,Q=crypto.randomUUID(),Y=new TextEncoder,G=new TextDecoder,J=null;function K(W,F){let H=X?.();if(!H)return;try{H.publish(id$,Y.encode(JSON.stringify({organizationId:W,keyId:F,originId:Q})))}catch(N){console.warn("[ProviderKeyCache] Publish failed (non-critical):",N)}}return{get(W,F){return Z.get(BT0(W,F))},set(W,F,H){Z.set(BT0(W,F),H)},invalidate(W,F){Z.delete(BT0(W,F)),K(W,F)},start(){if(J)return;let W=X?.();if(!W)return;J=W.subscribe(id$),(async()=>{for await(let F of J)try{let H=JSON.parse(G.decode(F.data));if(H.originId===Q)continue;Z.delete(BT0(H.organizationId,H.keyId))}catch{}})().catch(console.error)},teardown(){J?.unsubscribe(),J=null,Z.clear()}}}var id$="studio.ai-provider-keys.invalidate",CU6=30000,_U6=5000;var pd$=()=>{};class q71{options;subscription=null;onCancel=null;encoder=new TextEncoder;originId=crypto.randomUUID();constructor($){this.options=$}async start($){if($)this.onCancel=$;if(this.subscription)return;if(!this.onCancel)return;let Z=this.options.getConnection();if(!Z)return;let X=new TextDecoder,Q=Z.subscribe("studio.decopilot.cancel");this.subscription=Q,(async()=>{for await(let Y of Q)try{let G=JSON.parse(X.decode(Y.data));if(G.originId===this.originId)continue;this.onCancel?.(G.taskId)}catch{}})().catch(console.error)}broadcast($){if(/[.*>\s]/.test($)){console.warn("[NatsCancelBroadcast] Invalid threadId, skipping broadcast");return}this.onCancel?.($);try{let Z=this.options.getConnection();if(!Z)return;let X=this.encoder.encode(JSON.stringify({taskId:$,originId:this.originId}));Z.publish("studio.decopilot.cancel",X)}catch(Z){console.warn("[NatsCancelBroadcast] Publish failed (non-critical):",Z)}}async stop(){this.subscription?.unsubscribe(),this.subscription=null,this.onCancel=null}}var nd$=($)=>{let Z;return()=>Z??=$()},M71,k71;var td$=D(()=>{I6();M71=nd$(()=>w$.createHistogram("decopilot.stream.encode_ms",{description:"Per-chunk JSON.stringify+encode time for decopilot stream",unit:"ms"})),k71=nd$(()=>w$.createCounter("decopilot.stream.published_chunks",{description:"Logical decopilot stream chunks published to JetStream",unit:"{chunks}"}))});function hU6($=OT0){return{name:FN,subjects:[`${or0}.>`],storage:DK.StorageType.File,max_age:bU6,max_bytes:yU6,max_msgs_per_subject:gU6,discard:DK.DiscardPolicy.Old,retention:DK.RetentionPolicy.Limits,duplicate_window:xU6,num_replicas:$}}class ad${chunks=0;encodeMs=0;maxMs=0;bytes=0;windowStart=performance.now();constructor(){setInterval(()=>this.flush(),1e4).unref?.()}record($,Z){if(this.chunks++,this.encodeMs+=$,$>this.maxMs)this.maxMs=$;this.bytes+=Z}flush(){let $=performance.now(),Z=$-this.windowStart;if(this.chunks>0&&Z>0)console.warn(JSON.stringify({msg:"stream-encode-trace",windowMs:Math.round(Z),chunks:this.chunks,encodeMs:Math.round(this.encodeMs),pctOfLoop:+(this.encodeMs/Z*100).toFixed(1),maxChunkMs:+this.maxMs.toFixed(2),mbEncoded:+(this.bytes/1048576).toFixed(2)}));this.chunks=0,this.encodeMs=0,this.maxMs=0,this.bytes=0,this.windowStart=$}}function od$($){let Z=rd$.headers();for(let[X,Q]of Object.entries($))Z.set(X,Q);return Z}function dU6($,Z){let X=0;return{publish(Q,Y,G,J){Q.publish(Y,G,J?{headers:J}:void 0).catch((K)=>{if(X++,fU6().add(1,{"org.id":Z??"unknown"}),X===1||X%100===0)console.warn(`[Decopilot] JetStream publish failed for thread ${$} (${X} total):`,K)})},get errorCount(){return X}}}function mU6($){if(!($ instanceof Error))return!1;if(/non-clustered/i.test($.message))return!0;return/replicas?\b/i.test($.message)&&/not supported|can ?not|exceed|insufficient|greater than/i.test($.message)}class V71{options;js=null;jsm=null;constructor($){this.options=$}async init(){let $=this.options.getConnection();if(!$){console.log("[Decopilot] StreamBuffer.init skipped: NATS not connected yet");return}let Z=async(Q,Y)=>{let G=hU6(Y);try{await Q.streams.info(FN),await Q.streams.update(FN,G)}catch(J){if(J instanceof Error&&J.message.includes("stream not found"))await Q.streams.add(G);else if(J instanceof Error&&/can ?not change.*storage|storage type/i.test(J.message))await Q.streams.delete(FN),await Q.streams.add(G);else throw J}},X=await y6(async()=>{let Q=this.options.getJetStreamManager?await this.options.getJetStreamManager():await DK.jetstreamManager($);try{await Z(Q,OT0)}catch(Y){if(OT0<=1||!mU6(Y))throw Y;console.warn(`[Decopilot] StreamBuffer: NATS rejected num_replicas=${OT0} (${Y.message}); falling back to an unreplicated stream`),await Z(Q,1)}return Q},{maxAttempts:5,minTimeout:250,maxTimeout:4000,jitter:0.5,isRetriable:Rg});this.js=this.options.getJetStream(),this.jsm=X,console.log(`[Decopilot] StreamBuffer.init ${this.js?"ready":"degraded (js=null)"}`)}pump($,Z,X,Q){let Y=this.js;if(!Y)return console.warn(`[Decopilot] pump: JetStream client unavailable for thread ${Z}; chunks NOT published to NATS`),Promise.resolve();let G=dU6(Z,Q),J=!1,K=()=>{if(J)return;J=!0;let F=VB$(Z);Y.publish(F.subject,F.data).catch(()=>{})};X.addEventListener("abort",K,{once:!0});let W=(F)=>{let H=performance.now(),N=ar0(F,{runId:Z}),U=performance.now()-H;M71().record(U),k71().add(1,{"org.id":Q??"unknown"}),lU6?.record(U,N.reduce((B,O)=>B+O.data.length,0));for(let B of N)G.publish(Y,B.subject,B.data,B.headers?od$(B.headers):void 0)};return(async()=>{let F=$.getReader(),H=0,N=0,U;try{while(!0){let{done:B,value:O}=await F.read();if(B)break;if(W(O),N++,++H>=64)H=0,await new Promise((L)=>setImmediate(L))}}catch(B){U=B,console.warn(`[Decopilot] stream pump error for thread ${Z}:`,B?.message??B)}finally{if(F.releaseLock(),K(),cU6)console.warn(JSON.stringify({msg:"decopilot-stream-diag",event:"pump-done",taskId:Z,publishedChunks:N,publishErrors:G.errorCount}))}if(U!==void 0)throw U})()}async publishSerialized($,Z){try{return await y6(()=>$.publish(Z.subject,Z.data,{...Z.headers?{headers:od$(Z.headers)}:{},...Z.msgId?{msgID:Z.msgId}:{}}),{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Rg}),!0}catch(X){return console.error(`[Decopilot] publish failed after retries subject=${Z.subject}`,X),!1}}async publishRawChunk($,Z,X){let Q=this.js;if(!Q)return!1;let Y=performance.now(),G=ar0(Z,{runId:$,dedup:X});M71().record(performance.now()-Y),k71().add(1);for(let J of G)if(!await this.publishSerialized(Q,J))return!1;return!0}async publishDone($,Z,X){let Q=this.js;if(!Q)return!1;let Y=kB$({runId:$,fenceToken:Z,finalSeq:X});return await this.publishSerialized(Q,Y)}async createTailStream($,Z,X){let Q=this.js;if(!Q)return console.warn(`[Decopilot] createTailStream: JetStream client unavailable for thread ${$}; no live tail`),null;let Y=X?.deliverPolicy==="new"?DK.DeliverPolicy.New:DK.DeliverPolicy.All,G=X?.closeOnDone??!1,J=aO($),K;try{K=await y6(async()=>{return(await Q.consumers.get(FN,{filter_subjects:J,deliver_policy:Y})).consume()},{maxAttempts:6,minTimeout:250,maxTimeout:5000,jitter:0.5,isRetriable:Rg})}catch(L){return console.warn("[Decopilot] JetStream tail unavailable (non-critical):",L?.message??L),null}let H=nL0({messages:async function*(){try{for await(let L of K)yield{subject:L.subject,data:L.data,headers:L.headers}}finally{K.stop()}}(),onCancel:()=>K.stop()}).pipeThrough(dL0()).pipeThrough(mL0()).getReader(),N=!1,U=()=>{if(N)return;N=!0;try{H.releaseLock()}catch{}},B=!1,O=()=>{if(B)return;B=!0,K.stop(),H.cancel().catch(()=>{}),U()};return Z?.addEventListener("abort",O,{once:!0}),new ReadableStream({async pull(L){for(;;){let{done:w,value:E}=await H.read();if(w){O(),L.close();return}let j=E;if(j.kind==="done"){if(G){O(),L.close();return}continue}L.enqueue(j.chunk);return}},cancel(){O()}})}purge($){if(!this.jsm)return;this.jsm.streams.purge(FN,{filter:aO($)}).catch(()=>{})}teardown(){this.js=null,this.jsm=null}}var DK,rd$,vU6=($)=>{let Z;return()=>Z??=$()},fU6,bU6=86400000000000,xU6=120000000000,yU6=4294967296,OT0,gU6=500000,uU6,cU6,lU6;var sd$=D(()=>{K4();sr0();tL0();iL0();I6();td$();DK=V(KL(),1),rd$=V(wc(),1),fU6=vU6(()=>w$.createCounter("decopilot.stream.publish_errors",{description:"Number of JetStream publish failures for decopilot stream chunks",unit:"{errors}"})),OT0=Math.max(1,Number(process.env.DECOPILOT_STREAM_REPLICAS??3)||3);uU6=process.env.STREAM_ENCODE_TRACE==="1",cU6=process.env.DECOPILOT_STREAM_TRACE==="1";lU6=uU6?new ad$:null});function DT0($,Z,X,Q){if(!Q)return!1;return $.emit(Z,gK(X,Q.status,{title:Q.title??void 0,virtualMcpId:Q.virtual_mcp_id??void 0,createdBy:Q.created_by??void 0,triggerId:Q.trigger_id??null,branch:Q.branch??null,harnessId:Q.harness_id??void 0,createdAt:Q.created_at,updatedAt:Q.updated_at})),!0}var ed$=D(()=>{_8()});class S71{storage;options;timer=null;constructor($,Z={}){this.storage=$;this.options=Z}start(){if(this.timer)return;let $=this.options.intervalMs??300000;this.timer=setInterval(()=>{this.runOnce()},$)}async runOnce(){let $=this.options.staleAfterMs??3600000;try{let Z=await this.storage.sweepAbandoned($);if(Z>0)console.log(`[async-research-sweeper] marked ${Z} stale jobs as abandoned`);return Z}catch(Z){return console.error("[async-research-sweeper] sweep failed",Z),0}}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}async function $m$($,Z,X){let Q=Z.organizationId;if(Z.status!=="in_review")return!1;if(!qC(X))return!1;if(await $.storage.taskBoard.hasHumanRejectedDone(Z.id,Q))return!1;let Y=await $.storage.organizationSettings.get(Q),G=OW(Y?.flags),J=await $.storage.taskBoard.update(Z.id,Q,{status:G},Z.updatedBy);return await z6($,{taskBoardItemId:Z.id,action:"status_changed",actorId:null,data:{from:Z.status,to:G,reason:"pr_merged"}}),u$(Q,J),console.log(`[task-board-review-sweeper] ${Z.id}: linked PR already merged \u2014 moved to ${G}`),!0}var Zm$=D(()=>{m6();KX();Hg();E5()});function aU6($){return $ instanceof nX}function sU6($,Z){return Z-$>=oU6}class C71{taskBoard;contextFactory;billing;options;timer=null;running=!1;cursor=null;constructor($,Z,X,Q={}){this.taskBoard=$;this.contextFactory=Z;this.billing=X;this.options=Q}start(){if(this.timer)return;let $=this.options.intervalMs??iU6;this.timer=setInterval(()=>{this.runOnce()},$),this.timer.unref()}async runOnce(){if(this.running)return 0;this.running=!0;let $=0;try{let Z=this.options.batchSize??nU6,X=this.options.itemIntervalMs??pU6,Q=new Date(Date.now()-X),Y=await this.taskBoard.listItemsPendingReview(Z,this.cursor,Q),G=Y.at(-1);this.cursor=Y.length===Z&&G?{updatedAt:G.updatedAt,id:G.id}:null;for(let{id:J,organizationId:K}of Y)try{if(await this.reconcileItem(J,K,Q))$++}catch(W){console.error(`[task-board-review-sweeper] ${J} failed`,W)}await this.reapNeverStartedThreads(Z),$+=await this.dispatchDueRetries(Z),await this.reactToUnhandledFailures(Z)}catch(Z){console.error("[task-board-review-sweeper] sweep failed",Z)}finally{this.running=!1}return $}async reapNeverStartedThreads($){try{let Z=await this.taskBoard.failNeverStartedLinkedThreads($,new Date(Date.now()-Lt0),Do0);for(let X of Z)console.warn(`[task-board-review-sweeper] failed never-started thread ${X.threadId} on ${X.itemId}`)}catch(Z){console.error("[task-board-review-sweeper] reaping failed",Z)}}async reactToUnhandledFailures($){let Z=await this.taskBoard.listItemsStuckAfterFailure($,new Date(Date.now()-rU6));for(let{id:X,organizationId:Q,threadId:Y}of Z)try{console.warn(`[task-board-review-sweeper] reacting to an unhandled failure on ${X}`),await Bo0(this.taskBoard,Y,Q),await Oo0(this.taskBoard,this.billing,Y,Q)}catch(G){console.error(`[task-board-review-sweeper] unhandled-failure reaction for ${X} failed`,G)}}async dispatchDueRetries($){let Z=0,X=await this.taskBoard.listItemsDueForRetry($,new Date);for(let{id:Q,organizationId:Y,attempts:G}of X)try{if(!await this.taskBoard.claimDueRetry(Q,Y,new Date))continue;let J=await this.taskBoard.getById(Q,Y);if(!J||J.status!=="in_progress"||J.assigneeId!==Y8)continue;let K=await this.contextFactory(Y,J.assignedBy??J.createdBy);if(!K)continue;await QN(K,J,{runClass:"retry"}),Z++,console.warn(`[task-board-review-sweeper] re-dispatched ${Q} after a failure (attempt ${G})`)}catch(J){if(console.error(`[task-board-review-sweeper] retry dispatch for ${Q} failed`,J),aU6(J)){await this.returnToTodo(Q,Y,J instanceof Error?J.message:String(J));continue}await this.taskBoard.scheduleRunRetry(Q,Y,G,new Date(Date.now()+tU6)).catch((K)=>console.error(`[task-board-review-sweeper] re-arming ${Q} failed`,K))}return Z}async returnToTodo($,Z,X){try{let Q=await this.taskBoard.getById($,Z);if(!Q||Q.status!=="in_progress")return;let Y=await this.taskBoard.returnToTodoAfterFailure($,Z,Q.updatedBy);if(!Y)return;await this.taskBoard.recordActivity({taskBoardItemId:$,action:"status_changed",actorId:null,data:{from:"in_progress",to:"todo",reason:X}}).catch(()=>{}),u$(Z,Y)}catch(Q){console.error(`[task-board-review-sweeper] returning ${$} to todo failed`,Q)}}async handOffReviewWithoutPr($,Z){let X=await this.taskBoard.listActivity(Z.id,Z.organizationId);if(!sU6(CH(X),Date.now()))return;await bW($,Z,"no pull request is linked to this task \u2014 there is nothing for a "+"reviewer to review")}async reconcileItem($,Z,X){if(!await this.taskBoard.claimSweep($,Z,X))return!1;let Q=await this.taskBoard.getById($,Z);if(!Q)return!1;if(Q.status!=="in_review")return!1;let Y=Q.assigneeId===Y8,G=await this.taskBoard.listPrs($,Z),J=await this.contextFactory(Z,Q.assignedBy??Q.createdBy);if(!J)return!1;if(G.length===0){if(Y)await this.handOffReviewWithoutPr(J,Q);return!1}let K=await Promise.all(G.map(async(W)=>({...W,...await Ug(Z,W)})));if(K.every((W)=>W.state===null))console.warn(`[task-board-review-sweeper] ${$}: no live PR state from GitHub (${K.length} PR(s)) \u2014 proceeding on unknown`);if(await $m$(J,Q,K))return!0;if(await DO$(J,Q))return!0;if(!Y)return!1;if(!fo0(K))return!1;return await GL0(J,Q,{previewMatchesHead:bo0(K)}),!0}dispose(){if(this.timer)clearInterval(this.timer),this.timer=null}}var iU6=60000,pU6=300000,nU6=50,tU6=60000,oU6=900000,rU6=120000;var Xm$=D(()=>{m6();Io0();ZN();St();Zm$();E5();rG();Lo0();eY();Gt()});import{readdir as eU6,rm as LT0}from"fs/promises";import{join as wT0}from"path";async function ET0($){let Z=new Date;Z.setUTCDate(Z.getUTCDate()-$B6),Z.setUTCHours(0,0,0,0);let X=0;try{let Q=await Hv($);for(let Y of Q)if(/^\d{4}$/.test(Y))X+=await Qm$($,Y,Z);else if(!Y.startsWith(".")){let G=wT0($,Y),J=await Hv(G);for(let W of J){if(!/^\d{4}$/.test(W))continue;X+=await Qm$(G,W,Z)}if((await Hv(G)).length===0)await LT0(G,{recursive:!0,force:!0})}}catch(Q){console.warn("monitoring retention cleanup failed:",Q)}return X}async function Qm$($,Z,X){let Q=0,Y=wT0($,Z),G=await Hv(Y);for(let K of G){if(!/^\d{2}$/.test(K))continue;let W=wT0(Y,K),F=await Hv(W);for(let N of F){if(!/^\d{2}$/.test(N))continue;let U=new Date(`${Z}-${K}-${N}T00:00:00Z`);if(isNaN(U.getTime()))continue;if(U<X){let B=wT0(W,N);await LT0(B,{recursive:!0,force:!0}),Q++}}if((await Hv(W)).length===0)await LT0(W,{recursive:!0,force:!0})}if((await Hv(Y)).length===0)await LT0(Y,{recursive:!0,force:!0});return Q}async function Hv($){try{return(await eU6($)).filter((X)=>!X.startsWith("."))}catch{return[]}}var $B6=30;var _71=()=>{};import{DBOS as v71,SchedulerMode as ZB6}from"@dbos-inc/dbos-sdk";async function QB6(){let $=[xJ(),Nv(),RF()],Z=0;for(let X of $)try{Z+=await ET0(X)}catch(Q){console.error("[monitoring-retention] cleanup failed:",Q)}return console.log(`[monitoring-retention] deleted ${Z} day-dir(s) across ${$.length} signal dir(s)`),{deleted:Z,dirs:$.length}}async function YB6($,Z){await v71.runStep(()=>QB6(),{name:"monitoringRetention"})}function Gm$(){if(Ym$)return;Ym$=!0;let $=v71.registerWorkflow(YB6,{name:"monitoringRetentionWorkflow"});v71.registerScheduled($,{name:"monitoringRetentionWorkflow",crontab:XB6,mode:ZB6.ExactlyOncePerIntervalWhenActive})}var XB6="23 4 * * *",Ym$=!1;var Jm$=D(()=>{OY();_71()});function Km$($){return async(Z,X)=>{let Q=await $.db.selectFrom("member").innerJoin("organization","organization.id","member.organizationId").select(["member.role","organization.id as orgId","organization.slug as orgSlug","organization.name as orgName"]).where("member.userId","=",X).where("member.organizationId","=",Z).executeTakeFirst();if(!Q)return console.warn(`[automationContextFactory] User ${X} not found in org ${Z} \u2014 returning null`),null;let Y=await FJ.create();Y.auth.user={id:X,role:Q.role},Y.organization={id:Q.orgId,slug:Q.orgSlug,name:Q.orgName};let G=await Bt($.db,Z,Q.role);return Y.boundAuth=v51({auth:Y.authInstance,headers:new Headers,role:Q.role,permissions:G,userId:X}),Y.access=new cw(X,void 0,Y.boundAuth,Q.role,"self"),cO(Y,{id:Q.orgId,slug:Q.orgSlug}),Y}}var Wm$=D(()=>{lw();lO()});function GB6(){return[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}]}function JB6(){return{services:GB6(),migrationsStatus:"pending",serverUrl:null,logs:[]}}function WB6(){for(let $ of KB6)$()}function Fm$($){let Z=[...f71.logs,$];f71={...f71,logs:Z.length>500?Z.slice(-500):Z},WB6()}function b71(){return FB6}var f71,KB6,FB6=!1;var x71=D(()=>{f71=JB6(),KB6=new Set});import{EventEmitter as HB6}from"events";var y71;var Hm$=D(()=>{x71();y71=new HB6;y71.on("request",($)=>{Fm$($)})});function Nm$(){return async($,Z)=>{let X=Date.now(),Q=$.req.method,Y=$.req.path;if(Y==="/api/auth/get-session"||Y.includes("favicon")){await Z();return}let G="",J=!1;if(Y.startsWith("/mcp")&&Q==="POST"){J=!0;try{if($.req.header("Content-Type")?.includes("application/json")){let U=await $.req.raw.clone().json();if(U.method==="tools/call"&&U.params?.name){let B=nu(U.params.name),O=U.params.arguments||{},L=Object.keys(O).map((E)=>nu(E)),w=L.length>0?L.slice(0,3).join(",")+(L.length>3?"\u2026":""):"";G=`${J5.tool}${B}${J5.dim}(${w})${J5.reset}`}else if(U.method)G=`${J5.dim}${nu(U.method)}${J5.reset}`}}catch{}}let K=nu(Y);if(Y.startsWith("/mcp/conn_")){let H=Y.split("/")[2]??"";K=`/mcp/${J5.mcp}${nu(H.slice(0,12))}\u2026${J5.reset}`}else if(Y==="/mcp")K=`${J5.mcp}/mcp${J5.reset}`;else if(Y==="/mcp/registry")K=`${J5.mcp}/mcp/registry${J5.reset}`;let W=UB6(Q),F=J?"\u25C0":"\u2190";if(!b71())console.log(`${J5.dim}${F}${J5.reset} ${W}${Q}${J5.reset} ${K}${G?` ${G}`:""}`);try{await Z()}finally{let H=Date.now()-X,N=$.res.status,U=NB6(N),B=H<1000?`${H}ms`:`${(H/1000).toFixed(1)}s`,O=J?"\u25B6":"\u2192";if(!b71())console.log(`${J5.dim}${O}${J5.reset} ${W}${Q}${J5.reset} ${K}${G?` ${G}`:""} ${U}${N}${J5.reset} ${J5.duration}${B}${J5.reset}`);y71.emit("request",{method:Q,path:nu(Y),status:N,duration:H,timestamp:new Date})}}}var J5,NB6=($)=>{if($>=500)return J5.serverError;if($>=400)return J5.clientError;if($>=300)return J5.redirect;return J5.ok},UB6=($)=>{return J5[$]||J5.reset},nu=($)=>{return $.replace(/\r/g,"").replace(/\n/g,"").replace(/\x1b\[[0-9;]*m/g,"").replace(/[\x00-\x1f\x7f-\x9f]/g,"")};var Um$=D(()=>{x71();Hm$();J5={reset:"\x1B[0m",dim:"\x1B[2m",bold:"\x1B[1m",GET:"\x1B[36m",POST:"\x1B[33m",PUT:"\x1B[35m",DELETE:"\x1B[31m",ok:"\x1B[32m",redirect:"\x1B[36m",clientError:"\x1B[33m",serverError:"\x1B[31m",mcp:"\x1B[35m",tool:"\x1B[96m",duration:"\x1B[90m"}});import{createHmac as Lm$}from"crypto";import{mkdir as BB6,readdir as OB6,rm as Bm$,stat as wm$}from"fs/promises";import{join as h71,relative as DB6}from"path";import{z as P$}from"zod";function jm$($){let Z=$.replace(/[^a-zA-Z0-9_-]/g,"_");return h71(LB6,Z)}function zm$($){return $.replace(/^\/+/,"").replace(/\.\./g,"")}function g71($,Z){let X=jm$($),Q=zm$(Z);return h71(X,Q)}function wB6($,Z,X,Q){let Y=b0().encryptionKey||"dev-secret",G=`${$}:${Z}:${X}:${Q}`;return Lm$("sha256",Y).update(G).digest("hex")}function Dm$($,Z,X,Q,Y){let G=Math.floor(Date.now()/1000)+Q,J=wB6(Z,X,G,Y),K=new URL(`/api/dev-assets/${Z}/${zm$(X)}`,$);return K.searchParams.set("expires",G.toString()),K.searchParams.set("signature",J),K.searchParams.set("method",Y),K.toString()}function Pm$($,Z,X){let Q=`${$}:${Z.getTime()}:${X}`;return`"${Lm$("md5","etag").update(Q).digest("hex")}"`}async function Am$($,Z,X,Q,Y){try{let G=await OB6($,{withFileTypes:!0});for(let J of G){let K=h71($,J.name),F=DB6(Z,K).replace(/\\/g,"/");if(X&&!F.startsWith(X))continue;if(J.isDirectory())if(Q){let H=F+"/";if(!X||H.startsWith(X)){if(!(X?F.slice(X.length):F).includes("/"))Y.commonPrefixes.add(H)}}else await Am$(K,Z,X,Q,Y);else if(J.isFile()){if(Q&&X){let H=F.slice(X.length);if(H.includes(Q)){let N=H.indexOf(Q),U=X+H.slice(0,N+1);Y.commonPrefixes.add(U);continue}}try{let H=await wm$(K);Y.objects.push({key:F,size:H.size,lastModified:H.mtime.toISOString(),etag:Pm$(K,H.mtime,H.size)})}catch{}}}}catch{}}function Tm$($,Z){let Q=t($).id;return[{name:"LIST_OBJECTS",description:"List objects in the local assets directory with pagination support",inputSchema:P$.object({prefix:P$.string().optional(),maxKeys:P$.number().optional().default(1000),continuationToken:P$.string().optional(),delimiter:P$.string().optional()}),outputSchema:P$.object({objects:P$.array(P$.object({key:P$.string(),size:P$.number(),lastModified:P$.string(),etag:P$.string()})),nextContinuationToken:P$.string().optional(),isTruncated:P$.boolean(),commonPrefixes:P$.array(P$.string()).optional()}),handler:async(Y)=>{let G=Y,J=G.prefix||"",K=G.maxKeys??1000,W=G.delimiter,F=G.continuationToken,H=jm$(Q);await BB6(H,{recursive:!0});let N={objects:[],commonPrefixes:new Set};await Am$(H,H,J,W,N),N.objects.sort((w,E)=>w.key.localeCompare(E.key));let U=0;if(F){if(U=N.objects.findIndex((w)=>w.key>F),U===-1)U=N.objects.length}let B=N.objects.slice(U,U+K),O=U+K<N.objects.length,L=O?B[B.length-1]?.key:void 0;return{objects:B,isTruncated:O,nextContinuationToken:L,commonPrefixes:Array.from(N.commonPrefixes).sort()}}},{name:"GET_OBJECT_METADATA",description:"Get metadata for a file in the local assets directory",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({contentType:P$.string().optional(),contentLength:P$.number(),lastModified:P$.string(),etag:P$.string(),metadata:P$.record(P$.string(),P$.string()).optional()}),handler:async(Y)=>{let G=Y,J=g71(Q,G.key),K=await wm$(J);return{contentType:j91(G.key),contentLength:K.size,lastModified:K.mtime.toISOString(),etag:Pm$(J,K.mtime,K.size)}}},{name:"GET_PRESIGNED_URL",description:"Generate a presigned URL for downloading a file from local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let G=Y,J=G.expiresIn??Om$;return{url:Dm$(Z,Q,G.key,J,"GET"),expiresIn:J}}},{name:"PUT_PRESIGNED_URL",description:"Generate a presigned URL for uploading a file to local storage",inputSchema:P$.object({key:P$.string(),expiresIn:P$.number().optional(),contentType:P$.string().optional()}),outputSchema:P$.object({url:P$.string(),expiresIn:P$.number()}),handler:async(Y)=>{let G=Y,J=G.expiresIn??Om$;return{url:Dm$(Z,Q,G.key,J,"PUT"),expiresIn:J}}},{name:"DELETE_OBJECT",description:"Delete a single file from local storage",inputSchema:P$.object({key:P$.string()}),outputSchema:P$.object({success:P$.boolean(),key:P$.string()}),handler:async(Y)=>{let G=Y,J=g71(Q,G.key);try{return await Bm$(J),{success:!0,key:G.key}}catch{return{success:!1,key:G.key}}}},{name:"DELETE_OBJECTS",description:"Delete multiple files from local storage",inputSchema:P$.object({keys:P$.array(P$.string()).max(1000)}),outputSchema:P$.object({deleted:P$.array(P$.string()),errors:P$.array(P$.object({key:P$.string(),message:P$.string()}))}),handler:async(Y)=>{let G=Y,J=[],K=[];return await Promise.all(G.keys.map(async(W)=>{let F=g71(Q,W);try{await Bm$(F),J.push(W)}catch(H){K.push({key:W,message:H instanceof Error?H.message:"Unknown error"})}})),{deleted:J,errors:K}}}]}async function u71($,Z,X){let Q=Tm$(Z,X),Y=new iK({name:"dev-assets-mcp",version:"1.0.0"},{capabilities:{tools:{}},jsonSchemaValidator:N5});for(let J of Q){let K="shape"in J.inputSchema?J.inputSchema.shape:P$.object({}).shape,W=J.outputSchema&&"shape"in J.outputSchema?J.outputSchema.shape:P$.object({}).shape;Y.registerTool(J.name,{description:J.description??"",inputSchema:K,outputSchema:W,annotations:J.annotations,_meta:J._meta},async(F)=>{try{let H=await J.handler(F);return{content:[{type:"text",text:JSON.stringify(H)}],structuredContent:H}}catch(H){return{content:[{type:"text",text:`Error: ${H.message}`}],isError:!0}}})}let G=new YQ({enableJsonResponse:$.headers.get("Accept")?.includes("application/json")??!1});return await Y.connect(G),EJ(Y,G,$,"mcp:dev-assets")}async function Rm$($,Z,X,Q){let G=Tm$(X,Q).find((J)=>J.name===$);if(!G)return{content:[{type:"text",text:`Tool not found: ${$}`}],isError:!0};try{let J=await G.handler(Z);return{content:[{type:"text",text:JSON.stringify(J)}]}}catch(J){return{content:[{type:"text",text:J instanceof Error?J.message:String(J)}],isError:!0}}}var LB6="./data/assets",Om$=3600,Em$,Im$;var qm$=D(()=>{R$();Sg();U8();ud();tC();gX();BA0();Em$=new H1;Em$.all("/",async($)=>{let Z=$.get("studioContext"),X=new URL($.req.url),Q=`${X.protocol}//${X.host}`;return u71($.req.raw,Z,Q)});Im$=Em$});var Mm$={};J4(Mm$,{mountDevRoutes:()=>EB6});function EB6($,Z){$.all("/mcp/:connectionId{.*_dev-assets$}",Z,async(Q)=>{let Y=Q.get("studioContext"),G=new URL(Q.req.url),J=`${G.protocol}//${G.host}`;return u71(Q.req.raw,Y,J)}),$.all("/mcp/:connectionId{.*_dev-assets$}/call-tool/:toolName",Z,async(Q)=>{let Y=Q.get("studioContext"),G=new URL(Q.req.url),J=`${G.protocol}//${G.host}`,K=Q.req.param("toolName");if(!K)return Q.json({error:"Missing tool name"},400);let W=await Q.req.json(),F=await Rm$(K,W,Y,J);if(F.isError)return Q.json(F.content,500);return Q.json(F.content)}),$.use("/mcp/dev-assets",Z),$.route("/mcp/dev-assets",Im$);let X=new H1;X.use("*",BK({mountPath:"/api/dev-assets"})),X.route("/",UA0({orgFromPath:!1})),$.route("/api/dev-assets",X)}var km$=D(()=>{U8();U91();BA0();qm$()});import{sql as jB6}from"kysely";import{randomUUID as Vm$}from"crypto";import{z as zB6}from"zod";async function AB6($){let Z=new Date().toISOString(),X=Vm$(),Q=C8.SELF($.organizationId),Y="registry.publish_request.created",G={requestId:$.request.id,requestedId:$.request.requested_id,title:$.request.title,status:$.request.status,createdAt:$.request.created_at,requester:{name:$.request.requester_name,email:$.request.requester_email}};await $.db.insertInto("events").values({id:X,organization_id:$.organizationId,type:"registry.publish_request.created",source:Q,specversion:"1.0",subject:$.request.id,time:Z,datacontenttype:"application/json",dataschema:null,data:JSON.stringify(G),cron:null,status:"pending",attempts:0,last_error:null,next_retry_at:null,created_at:Z,updated_at:Z}).execute();let J=await $.db.selectFrom("event_subscriptions").select(["id"]).where("organization_id","=",$.organizationId).where("enabled","=",1).where("event_type","=","registry.publish_request.created").where((K)=>K.or([K("publisher","is",null),K("publisher","=",Q)])).execute();if(J.length>0)await $.db.insertInto("event_deliveries").values(J.map((K)=>({id:Vm$(),event_id:X,subscription_id:K.id,status:"pending",attempts:0,last_error:null,delivered_at:null,next_retry_at:null,created_at:Z}))).execute();try{await jB6`SELECT
2926
2926
  pg_notify('studio_events', ${X}),