decocms 4.400.6 → 4.401.1

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 (417) hide show
  1. package/dist/client/assets/{AlertCircle-CiIF9Yxb.js → AlertCircle-CPEr23R9.js} +1 -1
  2. package/dist/client/assets/{AreaChart-CiScmeLa.js → AreaChart-BRp3tfJa.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft-Cw8zoASu.js → ArrowLeft-gHnXneZZ.js} +1 -1
  4. package/dist/client/assets/{ArrowRight-DXuJxv6z.js → ArrowRight-BRVmWkaB.js} +1 -1
  5. package/dist/client/assets/{ArrowUp-i7W4PLl8.js → ArrowUp-CNjJZghs.js} +1 -1
  6. package/dist/client/assets/{CartesianChart-CAtvwpDL.js → CartesianChart-D55BfjHL.js} +1 -1
  7. package/dist/client/assets/{Check-Cxn5ODoZ.js → Check-CVeTZNSw.js} +1 -1
  8. package/dist/client/assets/{CheckCircle-Cb0ohXc_.js → CheckCircle-B2OjIV2w.js} +1 -1
  9. package/dist/client/assets/{ChevronUp-B3Rmv2Rm.js → ChevronUp-BgbDGchl.js} +1 -1
  10. package/dist/client/assets/{Copy01-CDFMtB2-.js → Copy01-BrBAdqBW.js} +1 -1
  11. package/dist/client/assets/{CreditCard01-Bpp7DUE2.js → CreditCard01-BXJ6Scir.js} +1 -1
  12. package/dist/client/assets/{DotsVertical-CsphgVVa.js → DotsVertical-DgVfgwq5.js} +1 -1
  13. package/dist/client/assets/{ErrorBarContext-Cmgr12jK.js → ErrorBarContext-XTxohn4s.js} +1 -1
  14. package/dist/client/assets/{Eye-BaKrr1k0.js → Eye-CRAkr59H.js} +1 -1
  15. package/dist/client/assets/{Globe04-BjYimuB_.js → Globe04-kjveQbT-.js} +1 -1
  16. package/dist/client/assets/{Image01-BokX_Ygh.js → Image01-BBSpdC7P.js} +1 -1
  17. package/dist/client/assets/{Key01--iK_92aj.js → Key01-B-c3zcwk.js} +1 -1
  18. package/dist/client/assets/{LayoutLeft-DbmxTpPW.js → LayoutLeft-Cy2wqUJU.js} +1 -1
  19. package/dist/client/assets/{Line-CkGSu-B6.js → Line-C-JVEX3h.js} +1 -1
  20. package/dist/client/assets/{Link01-CwRVjiFm.js → Link01-C907Gz0z.js} +1 -1
  21. package/dist/client/assets/{LinkExternal01-C1LIoQUC.js → LinkExternal01-BeOpv0ks.js} +1 -1
  22. package/dist/client/assets/{Monitor01-B-jx6SlO.js → Monitor01-rI1gjgbD.js} +1 -1
  23. package/dist/client/assets/{Palette-BZ8zPcQQ.js → Palette-wj6TPRrn.js} +1 -1
  24. package/dist/client/assets/{Plus-BeOCeSsu.js → Plus-DQ8YbhOD.js} +1 -1
  25. package/dist/client/assets/{SearchMd-CmoIwdFD.js → SearchMd-BXQRredV.js} +1 -1
  26. package/dist/client/assets/{Sector-L9R2CZ3j.js → Sector-D8IM05fH.js} +1 -1
  27. package/dist/client/assets/{Share07-BQpOEypi.js → Share07-CzZU-0lX.js} +1 -1
  28. package/dist/client/assets/{Sun-BwQeSpzv.js → Sun-CAOmTl7T.js} +1 -1
  29. package/dist/client/assets/{Tool01-CFPgtTUB.js → Tool01-DVAmF9a6.js} +1 -1
  30. package/dist/client/assets/{Trash01-yjy5Djos.js → Trash01-B12FEgzf.js} +1 -1
  31. package/dist/client/assets/{Upload01-C3YaZ92x.js → Upload01-H1MTk3aw.js} +1 -1
  32. package/dist/client/assets/{User01-CxY9-OxA.js → User01-Bkdfq1xc.js} +1 -1
  33. package/dist/client/assets/{UserSquare-D1SexGLq.js → UserSquare-DO-wgAkN.js} +1 -1
  34. package/dist/client/assets/{Users01-C234jzz1.js → Users01-MNFi-bbv.js} +1 -1
  35. package/dist/client/assets/{X-C49OUFcX.js → X-C154AObr.js} +1 -1
  36. package/dist/client/assets/{XClose-CKQjrGZS.js → XClose-DKzsyGKV.js} +1 -1
  37. package/dist/client/assets/{Zap-GTFewWZO.js → Zap-B8e9ezRB.js} +1 -1
  38. package/dist/client/assets/{ZoomOut-BCbY44Eu.js → ZoomOut-B317hRVZ.js} +1 -1
  39. package/dist/client/assets/{access-gate-BWJ5-fyg.js → access-gate-D5Bp1cjT.js} +1 -1
  40. package/dist/client/assets/{add-connection-dialog-BRSOSKaa.js → add-connection-dialog-Bh5fO84W.js} +1 -1
  41. package/dist/client/assets/agent-analytics-BSYI19KE.js +2 -0
  42. package/dist/client/assets/agent-app-D_VI9cR9.js +1 -0
  43. package/dist/client/assets/agent-assets-BkLnegbg.js +1 -0
  44. package/dist/client/assets/agent-automation-D6GXdQU1.js +20 -0
  45. package/dist/client/assets/agent-automations-9cIkG6Ba.js +1 -0
  46. package/dist/client/assets/agent-connect-sources-B9UqZJBc.js +1 -0
  47. package/dist/client/assets/agent-deck-CqcGjdtS.js +1 -0
  48. package/dist/client/assets/agent-e2e-BOsArkL5.js +1 -0
  49. package/dist/client/assets/agent-experiments-ByDF_q1Q.js +1 -0
  50. package/dist/client/assets/agent-file-DofWWoQ4.js +1 -0
  51. package/dist/client/assets/{agent-git-CEsra0W5.js → agent-git-i-Gd50Vj.js} +2 -2
  52. package/dist/client/assets/agent-hosting-ByLf4mc1.js +1 -0
  53. package/dist/client/assets/{agent-icon-B4H17A-3.js → agent-icon-3at7GzsZ.js} +1 -1
  54. package/dist/client/assets/agent-library-file-Ca84W-pf.js +1 -0
  55. package/dist/client/assets/agent-monitor-CQI8uZzl.js +1 -0
  56. package/dist/client/assets/agent-overview-RCJH7JQG.js +1 -0
  57. package/dist/client/assets/agent-settings-BHLTTfW4.js +1 -0
  58. package/dist/client/assets/{agent-site-editor-DqHsR1Oa.js → agent-site-editor-CriokF3X.js} +13 -13
  59. package/dist/client/assets/agent-site-editor-code-BR_ncsV8.js +2 -0
  60. package/dist/client/assets/agent-site-editor-content-BEA7bjQD.js +9 -0
  61. package/dist/client/assets/agent-site-editor-preview-CMCL_dUV.js +518 -0
  62. package/dist/client/assets/agent-view-DS8QF4Ke.js +1 -0
  63. package/dist/client/assets/{agent-view-guard-AncI1H8B.js → agent-view-guard-D0ut5NAG.js} +1 -1
  64. package/dist/client/assets/agents-list-ChoQO1sp.js +1 -0
  65. package/dist/client/assets/{ai-providers-C91I1RIi.js → ai-providers-BkAsXdRd.js} +2 -2
  66. package/dist/client/assets/{alert-dialog-p_yxBHYu.js → alert-dialog-cqQYXzDf.js} +1 -1
  67. package/dist/client/assets/{alert-Vv8Gd72t.js → alert-x4X_GRO2.js} +1 -1
  68. package/dist/client/assets/{analytics-sections-CJlCPTTn.js → analytics-sections-EdibO0EZ.js} +1 -1
  69. package/dist/client/assets/api-keys-CHVawMec.js +1 -0
  70. package/dist/client/assets/api-keys-DD8G4v42.js +1 -0
  71. package/dist/client/assets/app-editor-Dd80JbK2.js +1 -0
  72. package/dist/client/assets/{asset-utils-brdDGay3.js → asset-utils-CC6F7-AZ.js} +1 -1
  73. package/dist/client/assets/{auth-DN1jUXQS.js → auth-CcjAo-4E.js} +1 -1
  74. package/dist/client/assets/{auth-catchall-B8jjuh3t.js → auth-catchall-0il6tXO-.js} +1 -1
  75. package/dist/client/assets/auth-entry-wG1k17iI.js +1 -0
  76. package/dist/client/assets/{auth-split-layout-9lXDS5uC.js → auth-split-layout-DivTJlRX.js} +1 -1
  77. package/dist/client/assets/{authenticate-and-persist-oauth-BS0KLtdr.js → authenticate-and-persist-oauth-D1uu4uNq.js} +1 -1
  78. package/dist/client/assets/{automation-list-row-Z-oEG96S.js → automation-list-row-Bj1Utp6g.js} +1 -1
  79. package/dist/client/assets/{automation-runs-BfoVhm3K.js → automation-runs-C065C-Em.js} +1 -1
  80. package/dist/client/assets/{automations-BPxNxlY1.js → automations-DfIqHWlj.js} +1 -1
  81. package/dist/client/assets/{autosend-C9lP7MMD.js → autosend-CnLg4iyu.js} +1 -1
  82. package/dist/client/assets/{avatar-CaSFUaWf.js → avatar-CLzlzqg-.js} +1 -1
  83. package/dist/client/assets/{badge-DO3CQ_LV.js → badge-5H6-8M2L.js} +1 -1
  84. package/dist/client/assets/block-document-Dhdi7KP2.js +3 -0
  85. package/dist/client/assets/{blocks-preview-workspace-context-Bsh7P3Oa.js → blocks-preview-workspace-context-BdK175Nf.js} +1 -1
  86. package/dist/client/assets/{buckets-DAqePqsj.js → buckets-Cs1-INj9.js} +1 -1
  87. package/dist/client/assets/{build-improve-prompt-doc-DKmCIRM5.js → build-improve-prompt-doc-9lf62EUm.js} +1 -1
  88. package/dist/client/assets/{calendar-v3rFo_Cq.js → calendar-BQHoAsd6.js} +1 -1
  89. package/dist/client/assets/{capability-load-error-nzBIi4Tr.js → capability-load-error-0Uc737LL.js} +1 -1
  90. package/dist/client/assets/{use-org-repo-syncs-BMiVfW6D.js → cards-DUvl76bf.js} +3 -3
  91. package/dist/client/assets/category-editor-DZ8v1VCJ.js +1 -0
  92. package/dist/client/assets/{chart-CXdIvQqa.js → chart-D2xGaBdH.js} +1 -1
  93. package/dist/client/assets/{chat-context-CypzFnUJ.js → chat-context-BNvT6rzW.js} +5 -5
  94. package/dist/client/assets/{chat-draft-bJa35Dyv.js → chat-draft-BXsvrA3U.js} +1 -1
  95. package/dist/client/assets/{checkbox-RuVP2KAD.js → checkbox-Dm-cOrC-.js} +1 -1
  96. package/dist/client/assets/{choose-editor-B6bnAbTO.js → choose-editor-K5zEI6gt.js} +1 -1
  97. package/dist/client/assets/{claim-phase-copy-IBG3Spfs.js → claim-phase-copy-CltSQpgg.js} +1 -1
  98. package/dist/client/assets/{cli-auth-success-Gnusnqeq.js → cli-auth-success-BLMRYwDh.js} +1 -1
  99. package/dist/client/assets/{client-icons-DeH3wN29.js → client-icons-CyfLLJ0i.js} +1 -1
  100. package/dist/client/assets/{collapsible-Bx8hZ5vv.js → collapsible-BIjP_loq.js} +1 -1
  101. package/dist/client/assets/collection-detail-DX5rgQom.js +1 -0
  102. package/dist/client/assets/{collection-display-button-B4JQi_wC.js → collection-display-button-Cysz3Xm0.js} +1 -1
  103. package/dist/client/assets/{collection-search-CPwy4oTQ.js → collection-search-DverrpuC.js} +1 -1
  104. package/dist/client/assets/{collection-table-wrapper-DzLC9Cad.js → collection-table-wrapper-DNg0nsQn.js} +1 -1
  105. package/dist/client/assets/collection-tabs-Uy6POvao.js +1 -0
  106. package/dist/client/assets/{combobox-bXWHxi5l.js → combobox-DypS57b1.js} +1 -1
  107. package/dist/client/assets/command-Dg2fnZVE.js +1 -0
  108. package/dist/client/assets/{companion-mcps-section-BiiIWMdJ.js → companion-mcps-section-BXh65CHH.js} +1 -1
  109. package/dist/client/assets/connect-MnY8n6nK.js +8 -0
  110. package/dist/client/assets/{connect-layout-C5m144rF.js → connect-layout-BmU4TTqG.js} +1 -1
  111. package/dist/client/assets/{connection-C1Cmv_sz.js → connection-C8bPFDEx.js} +1 -1
  112. package/dist/client/assets/{connection-card-lUin0zXZ.js → connection-card-CXVGIjkM.js} +1 -1
  113. package/dist/client/assets/connection-detail-xZF8BVF0.js +1 -0
  114. package/dist/client/assets/{connection-form-helpers-DiXUvzY1.js → connection-form-helpers-CEaaJsMg.js} +1 -1
  115. package/dist/client/assets/connections-CoxyeL-Q.js +1 -0
  116. package/dist/client/assets/{context-lYPc9MR3.js → context-CvdvtYuk.js} +1 -1
  117. package/dist/client/assets/{create-organization-dialog-CVGvbMrB.js → create-organization-dialog-CVF9Pkh5.js} +1 -1
  118. package/dist/client/assets/{decofile-api-D2rDGWIR.js → decofile-api-DqVrJn1_.js} +1 -1
  119. package/dist/client/assets/{decopilot-DZa7cUdc.js → decopilot-B9jAytRs.js} +2 -2
  120. package/dist/client/assets/dialog-BOggtOpT.js +1 -0
  121. package/dist/client/assets/discover-C9zqRJNp.js +1 -0
  122. package/dist/client/assets/{domain-settings-BoCWiWyd.js → domain-settings-qd7-1lSE.js} +1 -1
  123. package/dist/client/assets/{download-app-dialog-B8fu6N4W.js → download-app-dialog-PPhwBTH9.js} +1 -1
  124. package/dist/client/assets/{drawer-Dj7i5SNu.js → drawer-BclOIYt1.js} +1 -1
  125. package/dist/client/assets/{editor-CStKuO5E.js → editor-TpzHa_gf.js} +1 -1
  126. package/dist/client/assets/{empty-state-DuOhKQcg.js → empty-state-CL8wHgVo.js} +1 -1
  127. package/dist/client/assets/{empty-state-C8J78MMg.js → empty-state-R3nLlu9z.js} +1 -1
  128. package/dist/client/assets/{extract-connection-data-BN6Gn7S7.js → extract-connection-data-CmMVwBW2.js} +1 -1
  129. package/dist/client/assets/{feature-gate-BYtexfTr.js → feature-gate-DKNH_0kU.js} +1 -1
  130. package/dist/client/assets/{feature-paywall-Do9-TIse.js → feature-paywall-CPu4y-mi.js} +1 -1
  131. package/dist/client/assets/{file-explorer-sM87NUct.js → file-explorer-CleCPHx6.js} +2 -2
  132. package/dist/client/assets/{file-preview-Cctwbzua.js → file-preview-Mmi0KVgV.js} +1 -1
  133. package/dist/client/assets/file-share-button-DlQZmJHL.js +3 -0
  134. package/dist/client/assets/{file-type-icon-C--_TBMw.js → file-type-icon-BxC36yCu.js} +1 -1
  135. package/dist/client/assets/{folder-icon-Be-ry1Lo.js → folder-icon-BQsr0uf8.js} +1 -1
  136. package/dist/client/assets/{form-msoIoPH9.js → form-Bt-RSEHD.js} +1 -1
  137. package/dist/client/assets/{gateway-client-B7EtyAUZ.js → gateway-client-HEACnrX1.js} +1 -1
  138. package/dist/client/assets/{general-B5uAiOFe.js → general-ClcNIPBS.js} +1 -1
  139. package/dist/client/assets/{github-icon-Czf3JIe0.js → github-icon-O-IotW5p.js} +1 -1
  140. package/dist/client/assets/home-Bugw6f3C.js +1 -0
  141. package/dist/client/assets/{hooks-BunFzIMc.js → hooks-Bm1nlJeS.js} +4 -4
  142. package/dist/client/assets/{icon-button-TBoaqswf.js → icon-button-B5jy_lJx.js} +1 -1
  143. package/dist/client/assets/index---GpIbzw.js +26 -0
  144. package/dist/client/assets/index--RuMjVyN.js +5 -0
  145. package/dist/client/assets/{index-C4bcGTWO.js → index-0d4QXoG3.js} +27 -27
  146. package/dist/client/assets/{index-B4lO5kiB.js → index-BYL1evEv.js} +1 -1
  147. package/dist/client/assets/index-BeJdXzSv.css +1 -0
  148. package/dist/client/assets/index-BgP0qZnf.js +1 -0
  149. package/dist/client/assets/{index-Bv9cknRX.js → index-CPVB221H.js} +1 -1
  150. package/dist/client/assets/index-CoBWNh7w.js +1 -0
  151. package/dist/client/assets/{index-BO3WDGm0.js → index-D9L2r4MO.js} +1 -1
  152. package/dist/client/assets/{index-DNOKSPYL.js → index-DpYjANa-.js} +1 -1
  153. package/dist/client/assets/{index-DU8D4REs.js → index-beSzH801.js} +1 -1
  154. package/dist/client/assets/{index-B-RfjkQs.js → index-fVWt1lpr.js} +44 -44
  155. package/dist/client/assets/{index-CUoS9PHq.js → index-q1daWx8d.js} +1 -1
  156. package/dist/client/assets/index-redirect-CEIsML5U.js +1 -0
  157. package/dist/client/assets/{index-bU1o14-j.js → index-uJh8CcCU.js} +1 -1
  158. package/dist/client/assets/{index-haAT4fp-.js → index-yYa9zxlb.js} +1 -1
  159. package/dist/client/assets/{infiniteQueryObserver-CFFZE0G7.js → infiniteQueryObserver-CKFKhFnQ.js} +1 -1
  160. package/dist/client/assets/{infra-billing-CI3pPi6s.js → infra-billing-DVAV6v8p.js} +1 -1
  161. package/dist/client/assets/{input-CkBBlArz.js → input-BkH_3_lh.js} +1 -1
  162. package/dist/client/assets/{input-DgwTyBrI.js → input-D2u13NjF.js} +1 -1
  163. package/dist/client/assets/input-DnsrsTkC.js +8 -0
  164. package/dist/client/assets/{integration-icon-DuRUAYQY.js → integration-icon-lkI0afUy.js} +1 -1
  165. package/dist/client/assets/{label-COhaglCI.js → label-DDXjSo5b.js} +1 -1
  166. package/dist/client/assets/{last-preview-page-C2BRWzsU.js → last-preview-page-T4cWlWCz.js} +1 -1
  167. package/dist/client/assets/{layout-ezpRdHMe.js → layout-DCGQK6TC.js} +1 -1
  168. package/dist/client/assets/{legacy-agents-deep-7Ua9_FGE.js → legacy-agents-deep-Dk4Qwm22.js} +1 -1
  169. package/dist/client/assets/{legacy-main-redirect-CoKgMaf6.js → legacy-main-redirect-F2zSp5tI.js} +1 -1
  170. package/dist/client/assets/library-BtGokA8R.js +161 -0
  171. package/dist/client/assets/{login-zL3v_Zks.js → login-DrzevGVQ.js} +1 -1
  172. package/dist/client/assets/{markdown-CL_7eJfo.js → markdown-B0l4rHOR.js} +2 -2
  173. package/dist/client/assets/{mcp-app-renderer-BF1xjUD_.js → mcp-app-renderer-13c0HciG.js} +2 -2
  174. package/dist/client/assets/{mcp-oauth-CYUMx6Lt.js → mcp-oauth-siG_cfmV.js} +1 -1
  175. package/dist/client/assets/members-CGdWgjNK.js +1 -0
  176. package/dist/client/assets/message-templates-BoFSW2CI.js +1 -0
  177. package/dist/client/assets/{mini-report-page-D2G_6nvn.js → mini-report-page-BK_Pf9fe.js} +1 -1
  178. package/dist/client/assets/mock-board-BuZmwDhY.js +10 -0
  179. package/dist/client/assets/{monaco-editor-B-WPLOla.js → monaco-editor-BVoYbb1f.js} +2 -2
  180. package/dist/client/assets/{monitoring-stats-row-IwXyXgpg.js → monitoring-stats-row-7DELRlYs.js} +1 -1
  181. package/dist/client/assets/multi-select-QUvu0uCK.js +1 -0
  182. package/dist/client/assets/{mustache-D5b2aALH.js → mustache-BmovsuOr.js} +1 -1
  183. package/dist/client/assets/{oauth-callback-XaDe1ZVU.js → oauth-callback-DchJhst_.js} +1 -1
  184. package/dist/client/assets/{oauth-callback-ai-provider-CG6P6aWc.js → oauth-callback-ai-provider-Y227Oftd.js} +1 -1
  185. package/dist/client/assets/{onboarding-C0P9leUg.js → onboarding-HozZLV2N.js} +1 -1
  186. package/dist/client/assets/{optimistic-project-sidebar-views-BULTvoQH.js → optimistic-project-sidebar-views-BX7ZIz6B.js} +1 -1
  187. package/dist/client/assets/org-file-open-context-C0hgS1Jo.js +1 -0
  188. package/dist/client/assets/{organization-choice-5mEr1aKE.js → organization-choice-CXZ6gkyl.js} +1 -1
  189. package/dist/client/assets/{orgs-3MZWLo-q.js → orgs-Dy8AnRAd.js} +1 -1
  190. package/dist/client/assets/page-seo-form-Bt-KyLUW.js +1 -0
  191. package/dist/client/assets/{pair-CSXFDEIQ.js → pair-Dwhp-QkI.js} +5 -5
  192. package/dist/client/assets/{plan-ladder-B7xKH1KD.js → plan-ladder-BgoCZoId.js} +1 -1
  193. package/dist/client/assets/{popover-DFY37Yvw.js → popover-Bm2g2dKA.js} +1 -1
  194. package/dist/client/assets/{post-calendar-Jvfo43V-.js → post-calendar-Sul5NCPi.js} +1 -1
  195. package/dist/client/assets/{post-editor-D0HMXnr-.js → post-editor-v0sVuMmM.js} +1 -1
  196. package/dist/client/assets/{preview-content-DyylZdej.js → preview-content-BaaIpGIX.js} +1 -1
  197. package/dist/client/assets/{preview-dialog-GxP1iGgN.js → preview-dialog-D6gkPU-v.js} +1 -1
  198. package/dist/client/assets/profile-CfF9emxx.js +1 -0
  199. package/dist/client/assets/{project-app-view-C-S_SBUQ.js → project-app-view-7ytayuSK.js} +1 -1
  200. package/dist/client/assets/project-feed-boavVsZo.js +1 -0
  201. package/dist/client/assets/{project-icon-CsZAOQy_.js → project-icon-Caze2c7Z.js} +1 -1
  202. package/dist/client/assets/project-reports-1ZKKeXQL.js +1 -0
  203. package/dist/client/assets/project-tasks-KKNu291m.js +1 -0
  204. package/dist/client/assets/{prompts-CvgNBkYO.js → prompts-D6EJy36O.js} +1 -1
  205. package/dist/client/assets/record-editor-CnFqh3Vp.js +1 -0
  206. package/dist/client/assets/{redirect-editor-D2NLj98m.js → redirect-editor-DWJ_FImu.js} +1 -1
  207. package/dist/client/assets/reports-CMBemuV-.js +1 -0
  208. package/dist/client/assets/{reports-BCYtzeDa.js → reports-CoGtI9j_.js} +2 -2
  209. package/dist/client/assets/{reports-BnLE7A3p.css → reports-aVRaDDaG.css} +1 -1
  210. package/dist/client/assets/{reports-onboarding-BG7_PC6g.js → reports-onboarding-DinC9B-6.js} +1 -1
  211. package/dist/client/assets/reports-tab-SGlpgHqf.js +2 -0
  212. package/dist/client/assets/{repositories-C5RyL_z1.js → repositories-BS-bWA5-.js} +1 -1
  213. package/dist/client/assets/{repository-import-picker-ByioO6uG.js → repository-import-picker-_pAlFkhi.js} +1 -1
  214. package/dist/client/assets/{repository-picker-BPuZL7HO.js → repository-picker-DpEVKEDq.js} +1 -1
  215. package/dist/client/assets/require-capability-CcHoyYNu.js +1 -0
  216. package/dist/client/assets/{required-auth-layout-Duev8t_N.js → required-auth-layout-Br8-tZC8.js} +1 -1
  217. package/dist/client/assets/{reset-password-JANPJ9Jd.js → reset-password-ndXl1h8v.js} +1 -1
  218. package/dist/client/assets/{resizable-yTD1tEOl.js → resizable-CmU1UFW5.js} +1 -1
  219. package/dist/client/assets/{review-settings-vW0-yRPH.js → review-settings-BQT2e44E.js} +1 -1
  220. package/dist/client/assets/{rich-text-link-control-BUscMTY0.js → rich-text-link-control-BoRfGq9j.js} +1 -1
  221. package/dist/client/assets/roles-DZFiLJ9E.js +1 -0
  222. package/dist/client/assets/route-BGuagqOc.js +1 -0
  223. package/dist/client/assets/route-BeB47Wls.js +1 -0
  224. package/dist/client/assets/route-C9CtGxLX.js +1 -0
  225. package/dist/client/assets/route-page-header-sfG3hoJk.js +1 -0
  226. package/dist/client/assets/runnable-block-editor-D17D6ot6.js +17 -0
  227. package/dist/client/assets/{sandbox-lifecycle-context-BZ0OGbvt.js → sandbox-lifecycle-context-DbIoDfH_.js} +2 -2
  228. package/dist/client/assets/{schema-kN4UiUD7.js → schema-BSSNLZcx.js} +1 -1
  229. package/dist/client/assets/{scroll-area-DtmE_V3W.js → scroll-area-7yOUlGhi.js} +1 -1
  230. package/dist/client/assets/{search-input-5SNth6iW.js → search-input-BNaZ530e.js} +1 -1
  231. package/dist/client/assets/{search-toggle-BQLp0m3w.js → search-toggle-DFo2t2PR.js} +1 -1
  232. package/dist/client/assets/{secret-picker-CNRCwGgJ.js → secret-picker-wDs_PYaU.js} +1 -1
  233. package/dist/client/assets/secrets-CAUpWomS.js +1 -0
  234. package/dist/client/assets/sections-editor-DbtrkTJp.js +1 -0
  235. package/dist/client/assets/{select-lkzYgXdD.js → select-BVdY-oUw.js} +1 -1
  236. package/dist/client/assets/select-model-BG-np3eO.js +1 -0
  237. package/dist/client/assets/{seo-editor-C5sUOmWC.js → seo-editor-Dcu__lEc.js} +1 -1
  238. package/dist/client/assets/{separator-DIB2NY6d.js → separator-CEpsszRN.js} +1 -1
  239. package/dist/client/assets/settings-tab-CE-zP-s-.js +5 -0
  240. package/dist/client/assets/{sheet-B5VBlNbo.js → sheet-DF3R7FBJ.js} +1 -1
  241. package/dist/client/assets/shell-layout-2wAM2ksB.js +1 -0
  242. package/dist/client/assets/{skill-preview-_2hXoPIK.js → skill-preview-D6m4p1Wk.js} +1 -1
  243. package/dist/client/assets/skills-BTD2gZMF.js +1 -0
  244. package/dist/client/assets/{sso-kIq_TNP0.js → sso-DMLe81w3.js} +1 -1
  245. package/dist/client/assets/{suggestion-Bm5WiIMl.js → suggestion-D41p5Nlw.js} +1 -1
  246. package/dist/client/assets/{switch-C_Vj5_E0.js → switch-DsI_im2t.js} +1 -1
  247. package/dist/client/assets/synced-repos-Bgu2XcXF.js +1 -0
  248. package/dist/client/assets/{table-EewUoElk.js → table-C4hyTb2t.js} +1 -1
  249. package/dist/client/assets/{tabs-Dn00_KeP.js → tabs-VLV4jDm4.js} +1 -1
  250. package/dist/client/assets/{task-board-B1qWBX1A.js → task-board-BM0rSWlL.js} +1 -1
  251. package/dist/client/assets/{task-route-D--4JOl_.js → task-route-xwNk2dEf.js} +1 -1
  252. package/dist/client/assets/{task-status-Nj47Imo6.js → task-status-CnhcAbWB.js} +1 -1
  253. package/dist/client/assets/taskboard-analytics-BKvqd2Zb.js +1 -0
  254. package/dist/client/assets/{tasks-BKvSOVwi.js → tasks-B4NT7cCF.js} +2 -2
  255. package/dist/client/assets/tasks-DuaaDsqx.js +1 -0
  256. package/dist/client/assets/{textarea-BJstaU_4.js → textarea-6ExQYFkQ.js} +1 -1
  257. package/dist/client/assets/thread-analytics-3sSJIqAe.js +1 -0
  258. package/dist/client/assets/thread-button-DkmJxu_A.js +1 -0
  259. package/dist/client/assets/{thread-intent-Dv_ln6w2.js → thread-intent-g-PM5L5V.js} +1 -1
  260. package/dist/client/assets/{thread-route-C2QO3TRR.js → thread-route-Bjrbqzl8.js} +1 -1
  261. package/dist/client/assets/thread-route-DkC2CUZU.js +1 -0
  262. package/dist/client/assets/{thread-sheet-body-a-hPHT_-.js → thread-sheet-body-By3JPwYd.js} +1 -1
  263. package/dist/client/assets/toggle-group-CdX5yciZ.js +1 -0
  264. package/dist/client/assets/toolbar-icon-button-oAWnd74z.js +1 -0
  265. package/dist/client/assets/{tooltip-1YZ9_LEc.js → tooltip-ssFfyABz.js} +1 -1
  266. package/dist/client/assets/{track-BdOLl-rI.js → track-D3zn8u09.js} +1 -1
  267. package/dist/client/assets/{types-BcA15it5.js → types-BOURPUxt.js} +3 -3
  268. package/dist/client/assets/{usage-stats-BXm3jzMp.js → usage-stats-DSpOuTy_.js} +1 -1
  269. package/dist/client/assets/{use-ai-providers-OZaiJf_i.js → use-ai-providers-B4mNdfKq.js} +1 -1
  270. package/dist/client/assets/{use-automations-D-L8pJyH.js → use-automations-Bus3XZEG.js} +1 -1
  271. package/dist/client/assets/{use-autosave-WOg9IhGs.js → use-autosave-DBLXv5_D.js} +1 -1
  272. package/dist/client/assets/use-connect-companion-CGdWa7jz.js +1 -0
  273. package/dist/client/assets/{use-connection-B5_J2wP6.js → use-connection-CYJgCYqU.js} +1 -1
  274. package/dist/client/assets/{use-copy-B6plqh15.js → use-copy-CrB88O_V.js} +1 -1
  275. package/dist/client/assets/{use-create-virtual-mcp-BHGrzRmt.js → use-create-virtual-mcp-BNC4mnlO.js} +1 -1
  276. package/dist/client/assets/{use-date-fns-locale-giBeaSOM.js → use-date-fns-locale-D0utOkHu.js} +1 -1
  277. package/dist/client/assets/{use-debounced-autosave-B9G4Lz7n.js → use-debounced-autosave-Dan7rsIv.js} +1 -1
  278. package/dist/client/assets/{use-debounced-value-CUPne1nm.js → use-debounced-value-CH4MSTum.js} +1 -1
  279. package/dist/client/assets/{use-deco-credits-BhBg4qYv.js → use-deco-credits-BqWAy8ZX.js} +1 -1
  280. package/dist/client/assets/{use-decopilot-events-CrYWYj1F.js → use-decopilot-events-RRjEeCHU.js} +1 -1
  281. package/dist/client/assets/{use-delete-connection-XgJ1tVSe.js → use-delete-connection-Du5O_WnR.js} +1 -1
  282. package/dist/client/assets/{use-deployment-admin-DhLAmeuE.js → use-deployment-admin-DkX6QZM3.js} +1 -1
  283. package/dist/client/assets/{use-entitlements-Bk0dyRQ2.js → use-entitlements-ClCAPn-1.js} +1 -1
  284. package/dist/client/assets/{use-fast-preview-draft-url-BfzrR4he.js → use-fast-preview-draft-url-D5GFt7R1.js} +1 -1
  285. package/dist/client/assets/{use-file-configs-Q9mf6jQo.js → use-file-configs-DcspjE-T.js} +1 -1
  286. package/dist/client/assets/use-in-settings-D5UcgsST.js +1 -0
  287. package/dist/client/assets/{use-infinite-scroll-BAK1V_oQ.js → use-infinite-scroll-C9JuSLN2.js} +1 -1
  288. package/dist/client/assets/{use-join-requests-DbabBnEV.js → use-join-requests-D5hr7HFQ.js} +1 -1
  289. package/dist/client/assets/use-main-panel-tabs-6FUyPoV0.js +1 -0
  290. package/dist/client/assets/{use-mcp-auth-status-DetA28-g.js → use-mcp-auth-status-Ddw6PUoc.js} +1 -1
  291. package/dist/client/assets/{use-mcp-client-6HSoOGyN.js → use-mcp-client-C9kpna06.js} +1 -1
  292. package/dist/client/assets/{use-mcp-prompts-1aH_UXpe.js → use-mcp-prompts-BtGNVYiz.js} +1 -1
  293. package/dist/client/assets/{use-mcp-tools-yAkOUoVS.js → use-mcp-tools-BpbNRSCE.js} +1 -1
  294. package/dist/client/assets/{use-members-CNAxK8NG.js → use-members-CJT-2YAL.js} +1 -1
  295. package/dist/client/assets/{use-mobile-BA2OXMES.js → use-mobile-VK58ppXT.js} +1 -1
  296. package/dist/client/assets/{use-navigate-to-agent-B7J0geak.js → use-navigate-to-agent-BKGmkOVk.js} +1 -1
  297. package/dist/client/assets/{use-open-billing-url-CdE8qyDV.js → use-open-billing-url-Bvnx0BOM.js} +1 -1
  298. package/dist/client/assets/{use-org-auth-client-DJC4lcTZ.js → use-org-auth-client-CKZ58VC5.js} +1 -1
  299. package/dist/client/assets/{use-org-fs-DxNvtETC.js → use-org-fs-DPzG-whZ.js} +1 -1
  300. package/dist/client/assets/{use-org-sso-D0y0H-Wd.js → use-org-sso-B04Mxuuf.js} +1 -1
  301. package/dist/client/assets/{use-organization-roles-CTjyx7IB.js → use-organization-roles-DitLiCzh.js} +1 -1
  302. package/dist/client/assets/{use-organization-settings-fx1CniIO.js → use-organization-settings-BlcGUzK2.js} +1 -1
  303. package/dist/client/assets/{use-panel-navigate-ZqAXzPy8.js → use-panel-navigate-dyxR-DTC.js} +1 -1
  304. package/dist/client/assets/{use-project-native-view-presence-DU2K0Eyd.js → use-project-native-view-presence-DW-vXW8q.js} +1 -1
  305. package/dist/client/assets/{use-project-scope-Hp7aDrht.js → use-project-scope-BodZ2Y-N.js} +1 -1
  306. package/dist/client/assets/{use-releases-BXIf7cF0.js → use-releases-B4Q4KNAy.js} +1 -1
  307. package/dist/client/assets/{use-reports-diagnostic-D7jrD_HD.js → use-reports-diagnostic-D3WavNHe.js} +1 -1
  308. package/dist/client/assets/{use-route-default-main-DGbZPJrO.js → use-route-default-main-ZrMvaReT.js} +1 -1
  309. package/dist/client/assets/{use-secrets-C-Xp8b4K.js → use-secrets-CsokxVTz.js} +1 -1
  310. package/dist/client/assets/use-section-preview-base-_MEoft3G.js +1 -0
  311. package/dist/client/assets/{use-session-runtime-BGl1FWUp.js → use-session-runtime-Bt7lvBMi.js} +1 -1
  312. package/dist/client/assets/{use-tags-pwsJJDvy.js → use-tags-BDJReoHD.js} +1 -1
  313. package/dist/client/assets/{use-task-board-analytics-Dh7V7MPv.js → use-task-board-analytics-C3jMZU4N.js} +1 -1
  314. package/dist/client/assets/{use-task-metadata-DKjAQSZf.js → use-task-metadata-DZYdecWA.js} +1 -1
  315. package/dist/client/assets/{use-thread-analytics-CusHOOmZ.js → use-thread-analytics-Bt8K0M9o.js} +1 -1
  316. package/dist/client/assets/{use-thread-outputs-8akdlycY.js → use-thread-outputs-CyueLh5F.js} +1 -1
  317. package/dist/client/assets/{use-virtual-mcp-CbHEuH0C.js → use-virtual-mcp-DqshZ0HH.js} +1 -1
  318. package/dist/client/assets/useInfiniteQuery-BFkml8d7.js +1 -0
  319. package/dist/client/assets/{useQueries-B5DxQ3Sp.js → useQueries-vjRkxTV6.js} +1 -1
  320. package/dist/client/assets/useSuspenseInfiniteQuery-DtRGEtxl.js +1 -0
  321. package/dist/client/assets/{users-p9MUZzW1.js → users-8kGWPdIs.js} +1 -1
  322. package/dist/client/assets/{utils-BkPwCtYS.js → utils-BOGJ6QKf.js} +1 -1
  323. package/dist/client/assets/{variant-calendar-CcJNDqFN.js → variant-calendar-ZCqhGA5B.js} +1 -1
  324. package/dist/client/assets/{variant-matcher-override-CexHfhU3.js → variant-matcher-override-YSkLazsC.js} +1 -1
  325. package/dist/client/assets/view-mode-toggle-BR6xW0ar.js +1 -0
  326. package/dist/client/assets/{virtual-mcp-Dd5g9b73.js → virtual-mcp-I4dedXQ8.js} +1 -1
  327. package/dist/client/index.html +2 -2
  328. package/dist/server/cli.js +3 -3
  329. package/dist/server/server.js +2 -2
  330. package/package.json +1 -1
  331. package/dist/client/assets/agent-analytics-DvZELmro.js +0 -2
  332. package/dist/client/assets/agent-app-CR4dhbC3.js +0 -1
  333. package/dist/client/assets/agent-assets-CAIo2BGp.js +0 -1
  334. package/dist/client/assets/agent-automation-4_v-jQ62.js +0 -20
  335. package/dist/client/assets/agent-automations-DideyLR7.js +0 -1
  336. package/dist/client/assets/agent-connect-sources-C16mG4Vi.js +0 -1
  337. package/dist/client/assets/agent-deck-B2S-lir7.js +0 -1
  338. package/dist/client/assets/agent-e2e-CQ-lGjg-.js +0 -1
  339. package/dist/client/assets/agent-experiments-CXowDnMX.js +0 -1
  340. package/dist/client/assets/agent-file-DVtUKLrb.js +0 -1
  341. package/dist/client/assets/agent-hosting-B95vsATF.js +0 -1
  342. package/dist/client/assets/agent-library-file-c5FcaNLf.js +0 -1
  343. package/dist/client/assets/agent-monitor-DKyHOvd6.js +0 -1
  344. package/dist/client/assets/agent-overview-Dq7efx0u.js +0 -1
  345. package/dist/client/assets/agent-settings-tjDRwuVg.js +0 -1
  346. package/dist/client/assets/agent-site-editor-code-D1x0TO9d.js +0 -2
  347. package/dist/client/assets/agent-site-editor-content-C0C8gdKB.js +0 -9
  348. package/dist/client/assets/agent-site-editor-preview-BPAT7NTN.js +0 -518
  349. package/dist/client/assets/agent-view-DECRuUKv.js +0 -1
  350. package/dist/client/assets/agents-list-DdpIsQof.js +0 -1
  351. package/dist/client/assets/api-keys-CAMHVAF8.js +0 -1
  352. package/dist/client/assets/api-keys-Ct4yGdka.js +0 -1
  353. package/dist/client/assets/app-editor-BWuGvl0o.js +0 -1
  354. package/dist/client/assets/auth-entry-BZ-zlX-A.js +0 -1
  355. package/dist/client/assets/block-document-BQbcWy3F.js +0 -3
  356. package/dist/client/assets/breadcrumb-D3KLnh1b.js +0 -1
  357. package/dist/client/assets/category-editor-CLkY8j6x.js +0 -1
  358. package/dist/client/assets/collection-detail-Xqlt3OgU.js +0 -1
  359. package/dist/client/assets/collection-tabs-VZH79ort.js +0 -1
  360. package/dist/client/assets/command-C0IXiNme.js +0 -1
  361. package/dist/client/assets/connect-B9RtRyUW.js +0 -8
  362. package/dist/client/assets/connection-detail-Bgtg-egn.js +0 -1
  363. package/dist/client/assets/connections-CIFiKTz-.js +0 -1
  364. package/dist/client/assets/dialog-fTIcTyHb.js +0 -1
  365. package/dist/client/assets/discover-BZC8PmWN.js +0 -1
  366. package/dist/client/assets/file-share-button-Dcpl3tTi.js +0 -3
  367. package/dist/client/assets/home-nqrW03_D.js +0 -1
  368. package/dist/client/assets/index-B48I-F_s.js +0 -26
  369. package/dist/client/assets/index-CnM-XjMS.js +0 -1
  370. package/dist/client/assets/index-CnlnpiW9.js +0 -1
  371. package/dist/client/assets/index-Cnm8iPpl.js +0 -5
  372. package/dist/client/assets/index-DQQ8_5-n.css +0 -1
  373. package/dist/client/assets/index-redirect-lHlkLUpP.js +0 -1
  374. package/dist/client/assets/input-bCtnK_dS.js +0 -8
  375. package/dist/client/assets/library-nbbFy0YJ.js +0 -161
  376. package/dist/client/assets/members-Ci31aIzf.js +0 -1
  377. package/dist/client/assets/message-templates-Dievwyon.js +0 -1
  378. package/dist/client/assets/mock-board-MGFiZQqD.js +0 -10
  379. package/dist/client/assets/multi-select-B5cPO8Zc.js +0 -1
  380. package/dist/client/assets/org-file-open-context-C6mgZPAr.js +0 -1
  381. package/dist/client/assets/page-seo-form-BHc2C0F_.js +0 -1
  382. package/dist/client/assets/profile-Bl7SMbnv.js +0 -1
  383. package/dist/client/assets/project-feed-C9k9tVu9.js +0 -1
  384. package/dist/client/assets/project-reports-h9XKnGzZ.js +0 -1
  385. package/dist/client/assets/project-tasks-CvQsB5FR.js +0 -1
  386. package/dist/client/assets/record-editor-Dco1ladi.js +0 -1
  387. package/dist/client/assets/reports-KVVIwKGA.js +0 -1
  388. package/dist/client/assets/reports-tab-CZyY8SM6.js +0 -2
  389. package/dist/client/assets/require-capability-BlL45yDc.js +0 -1
  390. package/dist/client/assets/roles-B-T-wGt2.js +0 -1
  391. package/dist/client/assets/route-BoE0K809.js +0 -1
  392. package/dist/client/assets/route-Ciyyz2ig.js +0 -1
  393. package/dist/client/assets/route-X5r9RmD7.js +0 -1
  394. package/dist/client/assets/route-page-header-Ck32Z_z1.js +0 -1
  395. package/dist/client/assets/runnable-block-editor-DXtvF8jt.js +0 -17
  396. package/dist/client/assets/secrets-BUndq66A.js +0 -1
  397. package/dist/client/assets/sections-editor-BMGHgar4.js +0 -1
  398. package/dist/client/assets/select-model-L0RmAR5m.js +0 -1
  399. package/dist/client/assets/settings-tab-BQA673_Z.js +0 -5
  400. package/dist/client/assets/shell-layout-t1NP6lxk.js +0 -1
  401. package/dist/client/assets/sidebar-Bsj1oRm2.js +0 -1
  402. package/dist/client/assets/skills-D_mDF0TE.js +0 -1
  403. package/dist/client/assets/synced-repos-wPtrwk-M.js +0 -1
  404. package/dist/client/assets/taskboard-analytics-DlcZmFmP.js +0 -1
  405. package/dist/client/assets/tasks-DhBfoBLp.js +0 -1
  406. package/dist/client/assets/thread-analytics-CJvSEofm.js +0 -1
  407. package/dist/client/assets/thread-button-Dg0_8ATn.js +0 -1
  408. package/dist/client/assets/thread-route-BBwMAr4Q.js +0 -1
  409. package/dist/client/assets/toggle-group-n81OZ_Uu.js +0 -1
  410. package/dist/client/assets/toolbar-icon-button-G0ZB62BK.js +0 -1
  411. package/dist/client/assets/use-connect-companion-dh23z2e4.js +0 -1
  412. package/dist/client/assets/use-in-settings-_C3gW9Az.js +0 -1
  413. package/dist/client/assets/use-main-panel-tabs-rnsNQmUO.js +0 -1
  414. package/dist/client/assets/use-section-preview-base-BIeB_qzV.js +0 -1
  415. package/dist/client/assets/useInfiniteQuery-CEwPAAtp.js +0 -1
  416. package/dist/client/assets/useSuspenseInfiniteQuery-CC4BMd5I.js +0 -1
  417. package/dist/client/assets/view-mode-toggle-CJHrx4Q2.js +0 -1
@@ -1,15 +1,15 @@
1
- import{cP as Lt,cQ as $t,cR as kt,bQ as Ft,cS as Ut,ap as Bt,bP as Zt,ao as Vt,aG as zt,cT as Wt,cU as Jt,cV as Gt,cW as Ht,cX as Yt,bN as qt,cY as Kt,cZ as Xt,bM as Qt,bO as ea,t as pe,r as W,c as Se,Y as ta,z as aa,j as ra}from"./index-B-RfjkQs.js";import{u as na}from"./use-mcp-client-6HSoOGyN.js";import{d as sa,e as Ke}from"./backoff-8mStPHYB.js";import{T as Xe,a as Qe,b as et}from"./task-board-B1qWBX1A.js";const oe={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},tt=Object.values(oe);class ${constructor(e){this.value=e}value;subs=new Set;get=()=>this.value;set=e=>{Object.is(e,this.value)||(this.value=e,this.subs.forEach(a=>a()))};update=e=>{this.set(e(this.value))};subscribe=e=>(this.subs.add(e),()=>{this.subs.delete(e)})}var at="vercel.ai.error",oa=Symbol.for(at),we,Ae,x=class rt extends(Ae=Error,we=oa,Ae){constructor({name:e,message:a,cause:r}){super(a),this[we]=!0,this.name=e,this.cause=r}static isInstance(e){return rt.hasMarker(e,at)}static hasMarker(e,a){const r=Symbol.for(a);return e!=null&&typeof e=="object"&&r in e&&typeof e[r]=="boolean"&&e[r]===!0}};function nt(t){return t==null?"unknown error":typeof t=="string"?t:t instanceof Error?t.toString():JSON.stringify(t)}var st="AI_InvalidArgumentError",ot=`vercel.ai.error.${st}`,ia=Symbol.for(ot),Oe,Me,la=class extends(Me=x,Oe=ia,Me){constructor({message:e,cause:a,argument:r}){super({name:st,message:e,cause:a}),this[Oe]=!0,this.argument=r}static isInstance(e){return x.hasMarker(e,ot)}},it="AI_JSONParseError",lt=`vercel.ai.error.${it}`,ua=Symbol.for(lt),Ce,Re,Ne=class extends(Re=x,Ce=ua,Re){constructor({text:t,cause:e}){super({name:it,message:`JSON parsing failed: Text: ${t}.
1
+ import{cO as Lt,cP as $t,cQ as kt,bP as Ft,cR as Ut,ao as Bt,bO as Zt,an as Vt,aE as zt,cS as Wt,cT as Jt,cU as Ht,cV as Gt,cW as Yt,bM as qt,cX as Kt,cY as Xt,bL as Qt,bN as ea,t as pe,r as W,c as Se,X as ta,z as aa,j as ra}from"./index-fVWt1lpr.js";import{u as na}from"./use-mcp-client-C9kpna06.js";import{d as sa,e as Ke}from"./backoff-8mStPHYB.js";import{T as Xe,a as Qe,b as et}from"./task-board-BM0rSWlL.js";const oe={STEP:"decopilot.step",FINISH:"decopilot.finish",THREAD_STATUS:"decopilot.thread.status"},tt=Object.values(oe);class ${constructor(e){this.value=e}value;subs=new Set;get=()=>this.value;set=e=>{Object.is(e,this.value)||(this.value=e,this.subs.forEach(a=>a()))};update=e=>{this.set(e(this.value))};subscribe=e=>(this.subs.add(e),()=>{this.subs.delete(e)})}var at="vercel.ai.error",oa=Symbol.for(at),we,Ae,x=class rt extends(Ae=Error,we=oa,Ae){constructor({name:e,message:a,cause:r}){super(a),this[we]=!0,this.name=e,this.cause=r}static isInstance(e){return rt.hasMarker(e,at)}static hasMarker(e,a){const r=Symbol.for(a);return e!=null&&typeof e=="object"&&r in e&&typeof e[r]=="boolean"&&e[r]===!0}};function nt(t){return t==null?"unknown error":typeof t=="string"?t:t instanceof Error?t.toString():JSON.stringify(t)}var st="AI_InvalidArgumentError",ot=`vercel.ai.error.${st}`,ia=Symbol.for(ot),Oe,Me,la=class extends(Me=x,Oe=ia,Me){constructor({message:e,cause:a,argument:r}){super({name:st,message:e,cause:a}),this[Oe]=!0,this.argument=r}static isInstance(e){return x.hasMarker(e,ot)}},it="AI_JSONParseError",lt=`vercel.ai.error.${it}`,ua=Symbol.for(lt),Ce,Re,Ne=class extends(Re=x,Ce=ua,Re){constructor({text:t,cause:e}){super({name:it,message:`JSON parsing failed: Text: ${t}.
2
2
  Error message: ${nt(e)}`,cause:e}),this[Ce]=!0,this.text=t}static isInstance(t){return x.hasMarker(t,lt)}},ut="AI_TypeValidationError",ct=`vercel.ai.error.${ut}`,ca=Symbol.for(ct),Pe,xe,Z=class fe extends(xe=x,Pe=ca,xe){constructor({value:e,cause:a,context:r}){let n="Type validation failed";if(r?.field&&(n+=` for ${r.field}`),r?.entityName||r?.entityId){n+=" (";const i=[];r.entityName&&i.push(r.entityName),r.entityId&&i.push(`id: "${r.entityId}"`),n+=i.join(", "),n+=")"}super({name:ut,message:`${n}: Value: ${JSON.stringify(e)}.
3
3
  Error message: ${nt(a)}`,cause:a}),this[Pe]=!0,this.value=e,this.context=r}static isInstance(e){return x.hasMarker(e,ct)}static wrap({value:e,cause:a,context:r}){var n,i,l;return fe.isInstance(a)&&a.value===e&&((n=a.context)==null?void 0:n.field)===r?.field&&((i=a.context)==null?void 0:i.entityName)===r?.entityName&&((l=a.context)==null?void 0:l.entityId)===r?.entityId?a:new fe({value:e,cause:a,context:r})}};new TextDecoder;var D=({prefix:t,size:e=16,alphabet:a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{const n=()=>{const i=a.length,l=new Array(e);for(let o=0;o<e;o++)l[o]=a[Math.random()*i|0];return l.join("")};if(t==null)return n;if(a.includes(r))throw new la({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${a}".`});return()=>`${t}${r}${n()}`};D();function da(t){var e,a;return(a=(e=globalThis.Buffer)==null?void 0:e.isBuffer(t))!=null?a:!1}var pa=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,fa=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function De(t){const e=JSON.parse(t);return e===null||typeof e!="object"||pa.test(t)===!1&&fa.test(t)===!1?e:ha(e)}function ha(t){let e=[t];for(;e.length;){const a=e;e=[];for(const r of a){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const n in r){const i=r[n];i&&typeof i=="object"&&e.push(i)}}}return t}function ma(t){const{stackTraceLimit:e}=Error;try{Error.stackTraceLimit=0}catch{return De(t)}try{return De(t)}finally{Error.stackTraceLimit=e}}function _e(t){if(t.type==="object"||Array.isArray(t.type)&&t.type.includes("object")){const{additionalProperties:a}=t;t.additionalProperties=a!=null&&typeof a!="boolean"?B(a):!1;const{properties:r}=t;if(r!=null)for(const n of Object.keys(r))r[n]=B(r[n])}t.items!=null&&(t.items=Array.isArray(t.items)?t.items.map(B):B(t.items)),t.anyOf!=null&&(t.anyOf=t.anyOf.map(B)),t.allOf!=null&&(t.allOf=t.allOf.map(B)),t.oneOf!=null&&(t.oneOf=t.oneOf.map(B));const{definitions:e}=t;if(e!=null)for(const a of Object.keys(e))e[a]=B(e[a]);return t}function B(t){return typeof t=="boolean"?t:_e(t)}var ga=Symbol("Let zodToJsonSchema decide on which parser to use"),je={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},va=t=>typeof t=="string"?{...je,name:t}:{...je,...t};function P(){return{}}function ya(t,e){var a,r,n;const i={type:"array"};return(a=t.type)!=null&&a._def&&((n=(r=t.type)==null?void 0:r._def)==null?void 0:n.typeName)!=="ZodAny"&&(i.items=S(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&(i.minItems=t.minLength.value),t.maxLength&&(i.maxItems=t.maxLength.value),t.exactLength&&(i.minItems=t.exactLength.value,i.maxItems=t.exactLength.value),i}function ba(t){const e={type:"integer",format:"int64"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function Sa(){return{type:"boolean"}}function dt(t,e){return S(t.type._def,e)}var _a=(t,e)=>S(t.innerType._def,e);function pt(t,e,a){const r=a??e.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(n=>pt(t,e,n))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Ea(t)}}var Ea=t=>{const e={type:"integer",format:"unix-time"};for(const a of t.checks)switch(a.kind){case"min":e.minimum=a.value;break;case"max":e.maximum=a.value;break}return e};function Ia(t,e){return{...S(t.innerType._def,e),default:t.defaultValue()}}function Ta(t,e){return e.effectStrategy==="input"?S(t.schema._def,e):P()}function wa(t){return{type:"string",enum:Array.from(t.values)}}var Aa=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function Oa(t,e){const a=[S(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),S(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(n=>!!n),r=[];return a.forEach(n=>{if(Aa(n))r.push(...n.allOf);else{let i=n;if("additionalProperties"in n&&n.additionalProperties===!1){const{additionalProperties:l,...o}=n;i=o}r.push(i)}}),r.length?{allOf:r}:void 0}function Ma(t){const e=typeof t.value;return e!=="bigint"&&e!=="number"&&e!=="boolean"&&e!=="string"?{type:Array.isArray(t.value)?"array":"object"}:{type:e==="bigint"?"integer":e,const:t.value}}var ce=void 0,j={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(ce===void 0&&(ce=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),ce),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function ft(t,e){const a={type:"string"};if(t.checks)for(const r of t.checks)switch(r.kind){case"min":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value;break;case"max":a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"email":switch(e.emailStrategy){case"format:email":L(a,"email",r.message,e);break;case"format:idn-email":L(a,"idn-email",r.message,e);break;case"pattern:zod":N(a,j.email,r.message,e);break}break;case"url":L(a,"uri",r.message,e);break;case"uuid":L(a,"uuid",r.message,e);break;case"regex":N(a,r.regex,r.message,e);break;case"cuid":N(a,j.cuid,r.message,e);break;case"cuid2":N(a,j.cuid2,r.message,e);break;case"startsWith":N(a,RegExp(`^${de(r.value,e)}`),r.message,e);break;case"endsWith":N(a,RegExp(`${de(r.value,e)}$`),r.message,e);break;case"datetime":L(a,"date-time",r.message,e);break;case"date":L(a,"date",r.message,e);break;case"time":L(a,"time",r.message,e);break;case"duration":L(a,"duration",r.message,e);break;case"length":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value,a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"includes":{N(a,RegExp(de(r.value,e)),r.message,e);break}case"ip":{r.version!=="v6"&&L(a,"ipv4",r.message,e),r.version!=="v4"&&L(a,"ipv6",r.message,e);break}case"base64url":N(a,j.base64url,r.message,e);break;case"jwt":N(a,j.jwt,r.message,e);break;case"cidr":{r.version!=="v6"&&N(a,j.ipv4Cidr,r.message,e),r.version!=="v4"&&N(a,j.ipv6Cidr,r.message,e);break}case"emoji":N(a,j.emoji(),r.message,e);break;case"ulid":{N(a,j.ulid,r.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{L(a,"binary",r.message,e);break}case"contentEncoding:base64":{a.contentEncoding="base64";break}case"pattern:zod":{N(a,j.base64,r.message,e);break}}break}case"nanoid":N(a,j.nanoid,r.message,e)}return a}function de(t,e){return e.patternStrategy==="escape"?Ra(t):t}var Ca=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Ra(t){let e="";for(let a=0;a<t.length;a++)Ca.has(t[a])||(e+="\\"),e+=t[a];return e}function L(t,e,a,r){var n;t.format||(n=t.anyOf)!=null&&n.some(i=>i.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format}),delete t.format),t.anyOf.push({format:e,...a&&r.errorMessages&&{errorMessage:{format:a}}})):t.format=e}function N(t,e,a,r){var n;t.pattern||(n=t.allOf)!=null&&n.some(i=>i.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern}),delete t.pattern),t.allOf.push({pattern:Le(e,r),...a&&r.errorMessages&&{errorMessage:{pattern:a}}})):t.pattern=Le(e,r)}function Le(t,e){var a;if(!e.applyRegexFlags||!t.flags)return t.source;const r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.source;let i="",l=!1,o=!1,p=!1;for(let c=0;c<n.length;c++){if(l){i+=n[c],l=!1;continue}if(r.i){if(o){if(n[c].match(/[a-z]/)){p?(i+=n[c],i+=`${n[c-2]}-${n[c]}`.toUpperCase(),p=!1):n[c+1]==="-"&&((a=n[c+2])!=null&&a.match(/[a-z]/))?(i+=n[c],p=!0):i+=`${n[c]}${n[c].toUpperCase()}`;continue}}else if(n[c].match(/[a-z]/)){i+=`[${n[c]}${n[c].toUpperCase()}]`;continue}}if(r.m){if(n[c]==="^"){i+=`(^|(?<=[\r
4
4
  ]))`;continue}else if(n[c]==="$"){i+=`($|(?=[\r
5
5
  ]))`;continue}}if(r.s&&n[c]==="."){i+=o?`${n[c]}\r
6
6
  `:`[${n[c]}\r
7
- ]`;continue}i+=n[c],n[c]==="\\"?l=!0:o&&n[c]==="]"?o=!1:!o&&n[c]==="["&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return i}function ht(t,e){var a,r,n,i,l,o;const p={type:"object",additionalProperties:(a=S(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]}))!=null?a:e.allowedAdditionalProperties};if(((r=t.keyType)==null?void 0:r._def.typeName)==="ZodString"&&((n=t.keyType._def.checks)!=null&&n.length)){const{type:c,...d}=ft(t.keyType._def,e);return{...p,propertyNames:d}}else{if(((i=t.keyType)==null?void 0:i._def.typeName)==="ZodEnum")return{...p,propertyNames:{enum:t.keyType._def.values}};if(((l=t.keyType)==null?void 0:l._def.typeName)==="ZodBranded"&&t.keyType._def.type._def.typeName==="ZodString"&&((o=t.keyType._def.type._def.checks)!=null&&o.length)){const{type:c,...d}=dt(t.keyType._def,e);return{...p,propertyNames:d}}}return p}function Na(t,e){if(e.mapStrategy==="record")return ht(t,e);const a=S(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||P(),r=S(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||P();return{type:"array",maxItems:125,items:{type:"array",items:[a,r],minItems:2,maxItems:2}}}function Pa(t){const e=t.values,r=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),n=Array.from(new Set(r.map(i=>typeof i)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:r}}function xa(){return{not:P()}}function Da(){return{type:"null"}}var he={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ja(t,e){const a=t.options instanceof Map?Array.from(t.options.values()):t.options;if(a.every(r=>r._def.typeName in he&&(!r._def.checks||!r._def.checks.length))){const r=a.reduce((n,i)=>{const l=he[i._def.typeName];return l&&!n.includes(l)?[...n,l]:n},[]);return{type:r.length>1?r:r[0]}}else if(a.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=a.reduce((n,i)=>{const l=typeof i._def.value;switch(l){case"string":case"number":case"boolean":return[...n,l];case"bigint":return[...n,"integer"];case"object":if(i._def.value===null)return[...n,"null"];default:return n}},[]);if(r.length===a.length){const n=r.filter((i,l,o)=>o.indexOf(i)===l);return{type:n.length>1?n:n[0],enum:a.reduce((i,l)=>i.includes(l._def.value)?i:[...i,l._def.value],[])}}}else if(a.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:a.reduce((r,n)=>[...r,...n._def.values.filter(i=>!r.includes(i))],[])};return La(t,e)}var La=(t,e)=>{const a=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((r,n)=>S(r._def,{...e,currentPath:[...e.currentPath,"anyOf",`${n}`]})).filter(r=>!!r&&(!e.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return a.length?{anyOf:a}:void 0};function $a(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return{type:[he[t.innerType._def.typeName],"null"]};const a=S(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return a&&{anyOf:[a,{type:"null"}]}}function ka(t){const e={type:"number"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"int":e.type="integer";break;case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function Fa(t,e){const a={type:"object",properties:{}},r=[],n=t.shape();for(const l in n){let o=n[l];if(o===void 0||o._def===void 0)continue;const p=Ba(o),c=S(o._def,{...e,currentPath:[...e.currentPath,"properties",l],propertyPath:[...e.currentPath,"properties",l]});c!==void 0&&(a.properties[l]=c,p||r.push(l))}r.length&&(a.required=r);const i=Ua(t,e);return i!==void 0&&(a.additionalProperties=i),a}function Ua(t,e){if(t.catchall._def.typeName!=="ZodNever")return S(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Ba(t){try{return t.isOptional()}catch{return!0}}var Za=(t,e)=>{var a;if(e.currentPath.toString()===((a=e.propertyPath)==null?void 0:a.toString()))return S(t.innerType._def,e);const r=S(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:P()},r]}:P()},Va=(t,e)=>{if(e.pipeStrategy==="input")return S(t.in._def,e);if(e.pipeStrategy==="output")return S(t.out._def,e);const a=S(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),r=S(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",a?"1":"0"]});return{allOf:[a,r].filter(n=>n!==void 0)}};function za(t,e){return S(t.type._def,e)}function Wa(t,e){const r={type:"array",uniqueItems:!0,items:S(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&(r.minItems=t.minSize.value),t.maxSize&&(r.maxItems=t.maxSize.value),r}function Ja(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((a,r)=>S(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[]),additionalItems:S(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((a,r)=>S(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[])}}function Ga(){return{not:P()}}function Ha(){return P()}var Ya=(t,e)=>S(t.innerType._def,e),qa=(t,e,a)=>{switch(e){case"ZodString":return ft(t,a);case"ZodNumber":return ka(t);case"ZodObject":return Fa(t,a);case"ZodBigInt":return ba(t);case"ZodBoolean":return Sa();case"ZodDate":return pt(t,a);case"ZodUndefined":return Ga();case"ZodNull":return Da();case"ZodArray":return ya(t,a);case"ZodUnion":case"ZodDiscriminatedUnion":return ja(t,a);case"ZodIntersection":return Oa(t,a);case"ZodTuple":return Ja(t,a);case"ZodRecord":return ht(t,a);case"ZodLiteral":return Ma(t);case"ZodEnum":return wa(t);case"ZodNativeEnum":return Pa(t);case"ZodNullable":return $a(t,a);case"ZodOptional":return Za(t,a);case"ZodMap":return Na(t,a);case"ZodSet":return Wa(t,a);case"ZodLazy":return()=>t.getter()._def;case"ZodPromise":return za(t,a);case"ZodNaN":case"ZodNever":return xa();case"ZodEffects":return Ta(t,a);case"ZodAny":return P();case"ZodUnknown":return Ha();case"ZodDefault":return Ia(t,a);case"ZodBranded":return dt(t,a);case"ZodReadonly":return Ya(t,a);case"ZodCatch":return _a(t,a);case"ZodPipeline":return Va(t,a);case"ZodFunction":case"ZodVoid":case"ZodSymbol":return;default:return(r=>{})()}},Ka=(t,e)=>{let a=0;for(;a<t.length&&a<e.length&&t[a]===e[a];a++);return[(t.length-a).toString(),...e.slice(a)].join("/")};function S(t,e,a=!1){var r;const n=e.seen.get(t);if(e.override){const p=(r=e.override)==null?void 0:r.call(e,t,e,n,a);if(p!==ga)return p}if(n&&!a){const p=Xa(n,e);if(p!==void 0)return p}const i={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,i);const l=qa(t,t.typeName,e),o=typeof l=="function"?S(l(),e):l;if(o&&Qa(t,e,o),e.postProcess){const p=e.postProcess(o,t,e);return i.jsonSchema=o,p}return i.jsonSchema=o,o}var Xa=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ka(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((a,r)=>e.currentPath[r]===a)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),P()):e.$refStrategy==="seen"?P():void 0}},Qa=(t,e,a)=>(t.description&&(a.description=t.description),a),er=t=>{const e=va(t),a=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([r,n])=>[n._def,{def:n._def,path:[...e.basePath,e.definitionPath,r],jsonSchema:void 0}]))}},tr=(t,e)=>{var a;const r=er(e);let n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[d,h])=>{var g;return{...c,[d]:(g=S(h._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?g:P()}},{}):void 0;const i=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,l=(a=S(t._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1))!=null?a:P(),o=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;o!==void 0&&(l.title=o);const p=i===void 0?n?{...l,[r.definitionPath]:n}:l:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:l}};return p.$schema="http://json-schema.org/draft-07/schema#",p},me=Symbol.for("vercel.ai.schema");function ar(t){let e;return()=>(e==null&&(e=t()),e)}function ie(t,{validate:e}={}){return{[me]:!0,_type:void 0,get jsonSchema(){return typeof t=="function"&&(t=t()),t},validate:e}}function rr(t){return typeof t=="object"&&t!==null&&me in t&&t[me]===!0&&"jsonSchema"in t&&"validate"in t}function Ee(t){return t==null?ie({type:"object",properties:{},additionalProperties:!1}):rr(t)?t:"~standard"in t?t["~standard"].vendor==="zod"?mt(t):nr(t):t()}function nr(t){return ie(()=>{if(!sr(t))throw new Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return _e(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{const a=await t["~standard"].validate(e);return"value"in a?{success:!0,value:a.value}:{success:!1,error:new Z({value:e,cause:a.issues})}}})}function sr(t){return t["~standard"].jsonSchema!=null}function or(t,e){var a;const r=(a=void 0)!=null?a:!1;return ie(()=>tr(t,{$refStrategy:r?"root":"none"}),{validate:async n=>{const i=await t.safeParseAsync(n);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function ir(t,e){var a;const r=(a=void 0)!=null?a:!1;return ie(()=>_e($t(t,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async n=>{const i=await Lt(t,n);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function lr(t){return"_zod"in t}function mt(t,e){return lr(t)?ir(t):or(t)}async function $e({value:t,schema:e,context:a}){const r=await te({value:t,schema:e,context:a});if(!r.success)throw Z.wrap({value:t,cause:r.error,context:a});return r.value}async function te({value:t,schema:e,context:a}){const r=Ee(e);try{if(r.validate==null)return{success:!0,value:t,rawValue:t};const n=await r.validate(t);return n.success?{success:!0,value:n.value,rawValue:t}:{success:!1,error:Z.wrap({value:t,cause:n.error,context:a}),rawValue:t}}catch(n){return{success:!1,error:Z.wrap({value:t,cause:n,context:a}),rawValue:t}}}async function q({text:t,schema:e}){try{const a=ma(t);return e==null?{success:!0,value:a,rawValue:a}:await te({value:a,schema:e})}catch(a){return{success:!1,error:Ne.isInstance(a)?a:new Ne({text:t,cause:a}),rawValue:void 0}}}function Zn(t){return t}async function gt(t){return typeof t=="function"&&(t=t()),Promise.resolve(t)}new TextDecoder;var ur=Object.defineProperty,cr=(t,e)=>{for(var a in e)ur(t,a,{get:e[a],enumerable:!0})},vt="AI_InvalidArgumentError",yt=`vercel.ai.error.${vt}`,dr=Symbol.for(yt),ke,Fe,ge=class extends(Fe=x,ke=dr,Fe){constructor({parameter:t,value:e,message:a}){super({name:vt,message:`Invalid argument for parameter ${t}: ${a}`}),this[ke]=!0,this.parameter=t,this.value=e}static isInstance(t){return x.hasMarker(t,yt)}},bt="AI_NoObjectGeneratedError",St=`vercel.ai.error.${bt}`,pr=Symbol.for(St),Ue,Be,F=class extends(Be=x,Ue=pr,Be){constructor({message:t="No object generated.",cause:e,text:a,response:r,usage:n,finishReason:i}){super({name:bt,message:t,cause:e}),this[Ue]=!0,this.text=a,this.response=r,this.usage=n,this.finishReason=i}static isInstance(t){return x.hasMarker(t,St)}},_t="AI_UIMessageStreamError",Et=`vercel.ai.error.${_t}`,fr=Symbol.for(Et),Ze,Ve,V=class extends(Ve=x,Ze=fr,Ve){constructor({chunkType:t,chunkId:e,message:a}){super({name:_t,message:a}),this[Ze]=!0,this.chunkType=t,this.chunkId=e}static isInstance(t){return x.hasMarker(t,Et)}};function hr({warning:t,provider:e,model:a}){const n=`AI SDK Warning${e!=null&&a!=null?` (${e} / ${a})`:""}:`;switch(t.type){case"unsupported":{let i=`${n} The feature "${t.feature}" is not supported.`;return t.details&&(i+=` ${t.details}`),i}case"compatibility":{let i=`${n} The feature "${t.feature}" is used in a compatibility mode.`;return t.details&&(i+=` ${t.details}`),i}case"deprecated":return`${n} Deprecated: "${t.setting}". ${t.message}`;case"other":return`${n} ${t.message}`;default:return`${n} ${JSON.stringify(t,null,2)}`}}var mr="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",ze=!1;function We({message:t,type:e}){typeof process<"u"&&typeof process.emitWarning=="function"?process.emitWarning(t,{type:e}):console.warn(t)}var gr=t=>{if(t.warnings.length===0)return;const e=globalThis.AI_SDK_LOG_WARNINGS;if(e!==!1){if(typeof e=="function"){e(t);return}ze||(ze=!0,We({message:mr,type:"Warning"}));for(const a of t.warnings){const r=hr({warning:a,provider:t.provider,model:t.model});We({message:r,type:a.type==="deprecated"?"DeprecationWarning":"Warning"})}}};function It(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;const a={...t};for(const r in e)if(!(r==="__proto__"||r==="constructor"||r==="prototype")&&Object.prototype.hasOwnProperty.call(e,r)){const n=e[r];if(n===void 0)continue;const i=r in t?t[r]:void 0,l=n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp),o=i!=null&&typeof i=="object"&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);l&&o?a[r]=It(i,n):a[r]=n}return a}var s={array:ea,boolean:Qt,custom:Xt,discriminatedUnion:Kt,enum:qt,instanceof:Yt,lazy:kt,literal:Ht,looseObject:Gt,never:Jt,null:Wt,number:zt,object:Vt,record:Zt,string:Bt,union:Ut,unknown:Ft},J=s.lazy(()=>s.union([s.null(),s.string(),s.number(),s.boolean(),s.record(s.string(),J.optional()),s.array(J)])),m=s.record(s.string(),s.record(s.string(),J.optional())),re=s.union([s.string(),s.instanceof(Uint8Array),s.instanceof(ArrayBuffer),s.custom(da,{message:"Must be a Buffer"})]),Ie=s.record(s.string(),s.string()),Tt=s.object({type:s.literal("text"),text:s.string(),providerOptions:m.optional()}),vr=s.object({type:s.literal("image"),image:s.union([re,s.instanceof(URL),Ie]),mediaType:s.string().optional(),providerOptions:m.optional()}),wt=s.discriminatedUnion("type",[s.object({type:s.literal("data"),data:re}),s.object({type:s.literal("url"),url:s.instanceof(URL)}),s.object({type:s.literal("reference"),reference:Ie}),s.object({type:s.literal("text"),text:s.string()})]),yr=s.discriminatedUnion("type",[s.object({type:s.literal("data"),data:re}),s.object({type:s.literal("url"),url:s.instanceof(URL)})]),At=s.object({type:s.literal("file"),data:s.union([wt,re,s.instanceof(URL),Ie]),filename:s.string().optional(),mediaType:s.string(),providerOptions:m.optional()}),br=s.object({type:s.literal("reasoning"),text:s.string(),providerOptions:m.optional()}),Sr=s.object({type:s.literal("custom"),kind:s.string().transform(t=>t),providerOptions:m.optional()}),_r=s.object({type:s.literal("reasoning-file"),data:s.union([yr,re,s.instanceof(URL)]),mediaType:s.string(),providerOptions:m.optional()}),Er=s.object({type:s.literal("tool-call"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerOptions:m.optional(),providerExecuted:s.boolean().optional()}),Ir=s.discriminatedUnion("type",[s.object({type:s.literal("text"),value:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("json"),value:J,providerOptions:m.optional()}),s.object({type:s.literal("execution-denied"),reason:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("error-text"),value:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("error-json"),value:J,providerOptions:m.optional()}),s.object({type:s.literal("content"),value:s.array(s.union([s.object({type:s.literal("text"),text:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("file"),data:wt,mediaType:s.string(),filename:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-data"),data:s.string(),mediaType:s.string(),filename:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-url"),url:s.string(),mediaType:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-id"),fileId:s.union([s.string(),s.record(s.string(),s.string())]),providerOptions:m.optional()}),s.object({type:s.literal("file-reference"),providerReference:s.record(s.string(),s.string()),providerOptions:m.optional()}),s.object({type:s.literal("image-data"),data:s.string(),mediaType:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("image-url"),url:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("image-file-id"),fileId:s.union([s.string(),s.record(s.string(),s.string())]),providerOptions:m.optional()}),s.object({type:s.literal("image-file-reference"),providerReference:s.record(s.string(),s.string()),providerOptions:m.optional()}),s.object({type:s.literal("custom"),providerOptions:m.optional()})]))})]),Ot=s.object({type:s.literal("tool-result"),toolCallId:s.string(),toolName:s.string(),output:Ir,providerOptions:m.optional()}),Tr=s.object({type:s.literal("tool-approval-request"),approvalId:s.string(),toolCallId:s.string(),reason:s.string().optional()}),wr=s.object({type:s.literal("tool-approval-response"),approvalId:s.string(),approved:s.boolean(),reason:s.string().optional()}),Ar=s.object({role:s.literal("system"),content:s.string(),providerOptions:m.optional()}),Or=s.object({role:s.literal("user"),content:s.union([s.string(),s.array(s.union([Tt,vr,At]))]),providerOptions:m.optional()}),Mr=s.object({role:s.literal("assistant"),content:s.union([s.string(),s.array(s.union([Tt,Sr,At,br,_r,Er,Ot,Tr]))]),providerOptions:m.optional()}),Cr=s.object({role:s.literal("tool"),content:s.array(s.union([Ot,wr])),providerOptions:m.optional()});s.union([Ar,Or,Mr,Cr]);var Rr={};cr(Rr,{array:()=>Dr,choice:()=>jr,json:()=>Lr,object:()=>xr,text:()=>Pr});function Nr(t){const e=["ROOT"];let a=-1,r=null,n=0;function i(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function l(d,h,g){switch(d){case'"':{a=h,e.pop(),e.push(g),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{a=h,r=h,e.pop(),e.push(g),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(g),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=h,e.pop(),e.push(g),e.push("INSIDE_NUMBER");break}case"{":{a=h,e.pop(),e.push(g),e.push("INSIDE_OBJECT_START");break}case"[":{a=h,e.pop(),e.push(g),e.push("INSIDE_ARRAY_START");break}}}function o(d,h){switch(d){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{a=h,e.pop();break}}}function p(d,h){switch(d){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=h,e.pop();break}}}for(let d=0;d<t.length;d++){const h=t[d];switch(e[e.length-1]){case"ROOT":l(h,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(h){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{a=d,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{h==='"'&&(e.pop(),e.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{h==='"'&&(e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{h===":"&&(e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{l(h,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(h,d);break}case"INSIDE_STRING":{switch(h){case'"':{e.pop(),a=d;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:a=d}break}case"INSIDE_ARRAY_START":{h==="]"?(a=d,e.pop()):(a=d,l(h,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(h){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=d,e.pop();break}default:{a=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{l(h,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),h==="u"?(n=0,e.push("INSIDE_STRING_UNICODE_ESCAPE")):a=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{i(h)&&(n++,n===4&&(e.pop(),a=d));break}case"INSIDE_NUMBER":{switch(h){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=d;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(h,d);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(h,d);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{const T=t.substring(r,d+1);!"false".startsWith(T)&&!"true".startsWith(T)&&!"null".startsWith(T)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(h,d):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d)):a=d;break}}}let c=t.slice(0,a+1);for(let d=e.length-1;d>=0;d--)switch(e[d]){case"INSIDE_STRING":{c+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{c+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{c+="]";break}case"INSIDE_LITERAL":{const g=t.substring(r,t.length);"true".startsWith(g)?c+="true".slice(g.length):"false".startsWith(g)?c+="false".slice(g.length):"null".startsWith(g)&&(c+="null".slice(g.length))}}return c}async function ne(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await q({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await q({text:Nr(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Pr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:t}){return t},async parsePartialOutput({text:t}){return{partial:t}},createElementStreamTransform(){}}),xr=({schema:t,name:e,description:a})=>{const r=Ee(t);return{name:"object",responseFormat:gt(r.jsonSchema).then(n=>({type:"json",schema:n,...e!=null&&{name:e},...a!=null&&{description:a}})),async parseCompleteOutput({text:n},i){const l=await q({text:n});if(!l.success)throw new F({message:"No object generated: could not parse the response.",cause:l.error,text:n,response:i.response,usage:i.usage,finishReason:i.finishReason});const o=await te({value:l.value,schema:r});if(!o.success)throw new F({message:"No object generated: response did not match schema.",cause:o.error,text:n,response:i.response,usage:i.usage,finishReason:i.finishReason});return o.value},async parsePartialOutput({text:n}){const i=await ne(n);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:i.value}}},createElementStreamTransform(){}}},Dr=({element:t,minItems:e,maxItems:a,name:r,description:n})=>{if(Je({name:"minItems",value:e}),Je({name:"maxItems",value:a}),e!=null&&a!=null&&e>a)throw new ge({parameter:"minItems",value:e,message:"minItems must be less than or equal to maxItems"});const i=Ee(t);return{name:"array",responseFormat:gt(i.jsonSchema).then(l=>{const{$schema:o,definitions:p,$defs:c,...d}=l;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...p!=null&&{definitions:p},...c!=null&&{$defs:c},type:"object",properties:{elements:{type:"array",items:d,...e!=null&&{minItems:e},...a!=null&&{maxItems:a}}},required:["elements"],additionalProperties:!1},...r!=null&&{name:r},...n!=null&&{description:n}}}),async parseCompleteOutput({text:l},o){const p=await q({text:l});if(!p.success)throw new F({message:"No object generated: could not parse the response.",cause:p.error,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const c=p.value;if(c==null||typeof c!="object"||!("elements"in c)||!Array.isArray(c.elements))throw new F({message:"No object generated: response did not match schema.",cause:new Z({value:c,cause:"response must be an object with an elements array"}),text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const d=Ge({value:c.elements,minItems:e,maxItems:a});if(d!=null)throw new F({message:"No object generated: response did not match schema.",cause:d,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const h=[];for(const g of c.elements){const T=await te({value:g,schema:i});if(!T.success)throw new F({message:"No object generated: response did not match schema.",cause:T.error,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});h.push(T.value)}return h},async parsePartialOutput({text:l}){const o=await ne(l);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const p=o.value;if(p==null||typeof p!="object"||!("elements"in p)||!Array.isArray(p.elements))return;const c=o.state==="repaired-parse"&&p.elements.length>0?p.elements.slice(0,-1):p.elements,d=[];for(const h of c){const g=await te({value:h,schema:i});g.success&&d.push(g.value)}return{partial:d}}}},createElementStreamTransform(){let l=0;return new TransformStream({transform({partialOutput:o},p){if(o!=null)for(;l<o.length;l++){if(a!=null&&l>=a){p.error(Ge({value:o,maxItems:a}));return}p.enqueue(o[l])}}})}}};function Je({name:t,value:e}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:t,value:e,message:`${t} must be an integer`});if(e<0)throw new ge({parameter:t,value:e,message:`${t} must be greater than or equal to 0`})}}function Ge({value:t,minItems:e,maxItems:a}){if(e!=null&&t.length<e)return new Z({value:t,cause:`elements array must contain at least ${e} items`});if(a!=null&&t.length>a)return new Z({value:t,cause:`elements array must contain at most ${a} items`})}var jr=({options:t,name:e,description:a})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:t}},required:["result"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}),async parseCompleteOutput({text:r},n){const i=await q({text:r});if(!i.success)throw new F({message:"No object generated: could not parse the response.",cause:i.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});const l=i.value;if(l==null||typeof l!="object"||!("result"in l)||typeof l.result!="string"||!t.includes(l.result))throw new F({message:"No object generated: response did not match schema.",cause:new Z({value:l,cause:"response must be an object that contains a choice value."}),text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return l.result},async parsePartialOutput({text:r}){const n=await ne(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const i=n.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string")return;const l=t.filter(o=>o.startsWith(i.result));return n.state==="successful-parse"?l.includes(i.result)?{partial:i.result}:void 0:l.length===1?{partial:l[0]}:void 0}}},createElementStreamTransform(){}}),Lr=({name:t,description:e}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...t!=null&&{name:t},...e!=null&&{description:e}}),async parseCompleteOutput({text:a},r){const n=await q({text:a});if(!n.success)throw new F({message:"No object generated: could not parse the response.",cause:n.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.value},async parsePartialOutput({text:a}){const r=await ne(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){}});new TextEncoder;new TextEncoder;D({prefix:"aitxt",size:24});D({prefix:"call",size:24});(class extends TransformStream{constructor(){super({transform(t,e){e.enqueue(`data: ${JSON.stringify(t)}
7
+ ]`;continue}i+=n[c],n[c]==="\\"?l=!0:o&&n[c]==="]"?o=!1:!o&&n[c]==="["&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return i}function ht(t,e){var a,r,n,i,l,o;const p={type:"object",additionalProperties:(a=S(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]}))!=null?a:e.allowedAdditionalProperties};if(((r=t.keyType)==null?void 0:r._def.typeName)==="ZodString"&&((n=t.keyType._def.checks)!=null&&n.length)){const{type:c,...d}=ft(t.keyType._def,e);return{...p,propertyNames:d}}else{if(((i=t.keyType)==null?void 0:i._def.typeName)==="ZodEnum")return{...p,propertyNames:{enum:t.keyType._def.values}};if(((l=t.keyType)==null?void 0:l._def.typeName)==="ZodBranded"&&t.keyType._def.type._def.typeName==="ZodString"&&((o=t.keyType._def.type._def.checks)!=null&&o.length)){const{type:c,...d}=dt(t.keyType._def,e);return{...p,propertyNames:d}}}return p}function Na(t,e){if(e.mapStrategy==="record")return ht(t,e);const a=S(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||P(),r=S(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||P();return{type:"array",maxItems:125,items:{type:"array",items:[a,r],minItems:2,maxItems:2}}}function Pa(t){const e=t.values,r=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),n=Array.from(new Set(r.map(i=>typeof i)));return{type:n.length===1?n[0]==="string"?"string":"number":["string","number"],enum:r}}function xa(){return{not:P()}}function Da(){return{type:"null"}}var he={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ja(t,e){const a=t.options instanceof Map?Array.from(t.options.values()):t.options;if(a.every(r=>r._def.typeName in he&&(!r._def.checks||!r._def.checks.length))){const r=a.reduce((n,i)=>{const l=he[i._def.typeName];return l&&!n.includes(l)?[...n,l]:n},[]);return{type:r.length>1?r:r[0]}}else if(a.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=a.reduce((n,i)=>{const l=typeof i._def.value;switch(l){case"string":case"number":case"boolean":return[...n,l];case"bigint":return[...n,"integer"];case"object":if(i._def.value===null)return[...n,"null"];default:return n}},[]);if(r.length===a.length){const n=r.filter((i,l,o)=>o.indexOf(i)===l);return{type:n.length>1?n:n[0],enum:a.reduce((i,l)=>i.includes(l._def.value)?i:[...i,l._def.value],[])}}}else if(a.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:a.reduce((r,n)=>[...r,...n._def.values.filter(i=>!r.includes(i))],[])};return La(t,e)}var La=(t,e)=>{const a=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((r,n)=>S(r._def,{...e,currentPath:[...e.currentPath,"anyOf",`${n}`]})).filter(r=>!!r&&(!e.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return a.length?{anyOf:a}:void 0};function $a(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return{type:[he[t.innerType._def.typeName],"null"]};const a=S(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return a&&{anyOf:[a,{type:"null"}]}}function ka(t){const e={type:"number"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"int":e.type="integer";break;case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function Fa(t,e){const a={type:"object",properties:{}},r=[],n=t.shape();for(const l in n){let o=n[l];if(o===void 0||o._def===void 0)continue;const p=Ba(o),c=S(o._def,{...e,currentPath:[...e.currentPath,"properties",l],propertyPath:[...e.currentPath,"properties",l]});c!==void 0&&(a.properties[l]=c,p||r.push(l))}r.length&&(a.required=r);const i=Ua(t,e);return i!==void 0&&(a.additionalProperties=i),a}function Ua(t,e){if(t.catchall._def.typeName!=="ZodNever")return S(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Ba(t){try{return t.isOptional()}catch{return!0}}var Za=(t,e)=>{var a;if(e.currentPath.toString()===((a=e.propertyPath)==null?void 0:a.toString()))return S(t.innerType._def,e);const r=S(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:P()},r]}:P()},Va=(t,e)=>{if(e.pipeStrategy==="input")return S(t.in._def,e);if(e.pipeStrategy==="output")return S(t.out._def,e);const a=S(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),r=S(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",a?"1":"0"]});return{allOf:[a,r].filter(n=>n!==void 0)}};function za(t,e){return S(t.type._def,e)}function Wa(t,e){const r={type:"array",uniqueItems:!0,items:S(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&(r.minItems=t.minSize.value),t.maxSize&&(r.maxItems=t.maxSize.value),r}function Ja(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((a,r)=>S(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[]),additionalItems:S(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((a,r)=>S(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[])}}function Ha(){return{not:P()}}function Ga(){return P()}var Ya=(t,e)=>S(t.innerType._def,e),qa=(t,e,a)=>{switch(e){case"ZodString":return ft(t,a);case"ZodNumber":return ka(t);case"ZodObject":return Fa(t,a);case"ZodBigInt":return ba(t);case"ZodBoolean":return Sa();case"ZodDate":return pt(t,a);case"ZodUndefined":return Ha();case"ZodNull":return Da();case"ZodArray":return ya(t,a);case"ZodUnion":case"ZodDiscriminatedUnion":return ja(t,a);case"ZodIntersection":return Oa(t,a);case"ZodTuple":return Ja(t,a);case"ZodRecord":return ht(t,a);case"ZodLiteral":return Ma(t);case"ZodEnum":return wa(t);case"ZodNativeEnum":return Pa(t);case"ZodNullable":return $a(t,a);case"ZodOptional":return Za(t,a);case"ZodMap":return Na(t,a);case"ZodSet":return Wa(t,a);case"ZodLazy":return()=>t.getter()._def;case"ZodPromise":return za(t,a);case"ZodNaN":case"ZodNever":return xa();case"ZodEffects":return Ta(t,a);case"ZodAny":return P();case"ZodUnknown":return Ga();case"ZodDefault":return Ia(t,a);case"ZodBranded":return dt(t,a);case"ZodReadonly":return Ya(t,a);case"ZodCatch":return _a(t,a);case"ZodPipeline":return Va(t,a);case"ZodFunction":case"ZodVoid":case"ZodSymbol":return;default:return(r=>{})()}},Ka=(t,e)=>{let a=0;for(;a<t.length&&a<e.length&&t[a]===e[a];a++);return[(t.length-a).toString(),...e.slice(a)].join("/")};function S(t,e,a=!1){var r;const n=e.seen.get(t);if(e.override){const p=(r=e.override)==null?void 0:r.call(e,t,e,n,a);if(p!==ga)return p}if(n&&!a){const p=Xa(n,e);if(p!==void 0)return p}const i={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,i);const l=qa(t,t.typeName,e),o=typeof l=="function"?S(l(),e):l;if(o&&Qa(t,e,o),e.postProcess){const p=e.postProcess(o,t,e);return i.jsonSchema=o,p}return i.jsonSchema=o,o}var Xa=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Ka(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((a,r)=>e.currentPath[r]===a)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),P()):e.$refStrategy==="seen"?P():void 0}},Qa=(t,e,a)=>(t.description&&(a.description=t.description),a),er=t=>{const e=va(t),a=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([r,n])=>[n._def,{def:n._def,path:[...e.basePath,e.definitionPath,r],jsonSchema:void 0}]))}},tr=(t,e)=>{var a;const r=er(e);let n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((c,[d,h])=>{var g;return{...c,[d]:(g=S(h._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?g:P()}},{}):void 0;const i=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,l=(a=S(t._def,i===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,i]},!1))!=null?a:P(),o=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;o!==void 0&&(l.title=o);const p=i===void 0?n?{...l,[r.definitionPath]:n}:l:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,i].join("/"),[r.definitionPath]:{...n,[i]:l}};return p.$schema="http://json-schema.org/draft-07/schema#",p},me=Symbol.for("vercel.ai.schema");function ar(t){let e;return()=>(e==null&&(e=t()),e)}function ie(t,{validate:e}={}){return{[me]:!0,_type:void 0,get jsonSchema(){return typeof t=="function"&&(t=t()),t},validate:e}}function rr(t){return typeof t=="object"&&t!==null&&me in t&&t[me]===!0&&"jsonSchema"in t&&"validate"in t}function Ee(t){return t==null?ie({type:"object",properties:{},additionalProperties:!1}):rr(t)?t:"~standard"in t?t["~standard"].vendor==="zod"?mt(t):nr(t):t()}function nr(t){return ie(()=>{if(!sr(t))throw new Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return _e(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{const a=await t["~standard"].validate(e);return"value"in a?{success:!0,value:a.value}:{success:!1,error:new Z({value:e,cause:a.issues})}}})}function sr(t){return t["~standard"].jsonSchema!=null}function or(t,e){var a;const r=(a=void 0)!=null?a:!1;return ie(()=>tr(t,{$refStrategy:r?"root":"none"}),{validate:async n=>{const i=await t.safeParseAsync(n);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function ir(t,e){var a;const r=(a=void 0)!=null?a:!1;return ie(()=>_e($t(t,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async n=>{const i=await Lt(t,n);return i.success?{success:!0,value:i.data}:{success:!1,error:i.error}}})}function lr(t){return"_zod"in t}function mt(t,e){return lr(t)?ir(t):or(t)}async function $e({value:t,schema:e,context:a}){const r=await te({value:t,schema:e,context:a});if(!r.success)throw Z.wrap({value:t,cause:r.error,context:a});return r.value}async function te({value:t,schema:e,context:a}){const r=Ee(e);try{if(r.validate==null)return{success:!0,value:t,rawValue:t};const n=await r.validate(t);return n.success?{success:!0,value:n.value,rawValue:t}:{success:!1,error:Z.wrap({value:t,cause:n.error,context:a}),rawValue:t}}catch(n){return{success:!1,error:Z.wrap({value:t,cause:n,context:a}),rawValue:t}}}async function q({text:t,schema:e}){try{const a=ma(t);return e==null?{success:!0,value:a,rawValue:a}:await te({value:a,schema:e})}catch(a){return{success:!1,error:Ne.isInstance(a)?a:new Ne({text:t,cause:a}),rawValue:void 0}}}function Zn(t){return t}async function gt(t){return typeof t=="function"&&(t=t()),Promise.resolve(t)}new TextDecoder;var ur=Object.defineProperty,cr=(t,e)=>{for(var a in e)ur(t,a,{get:e[a],enumerable:!0})},vt="AI_InvalidArgumentError",yt=`vercel.ai.error.${vt}`,dr=Symbol.for(yt),ke,Fe,ge=class extends(Fe=x,ke=dr,Fe){constructor({parameter:t,value:e,message:a}){super({name:vt,message:`Invalid argument for parameter ${t}: ${a}`}),this[ke]=!0,this.parameter=t,this.value=e}static isInstance(t){return x.hasMarker(t,yt)}},bt="AI_NoObjectGeneratedError",St=`vercel.ai.error.${bt}`,pr=Symbol.for(St),Ue,Be,F=class extends(Be=x,Ue=pr,Be){constructor({message:t="No object generated.",cause:e,text:a,response:r,usage:n,finishReason:i}){super({name:bt,message:t,cause:e}),this[Ue]=!0,this.text=a,this.response=r,this.usage=n,this.finishReason=i}static isInstance(t){return x.hasMarker(t,St)}},_t="AI_UIMessageStreamError",Et=`vercel.ai.error.${_t}`,fr=Symbol.for(Et),Ze,Ve,V=class extends(Ve=x,Ze=fr,Ve){constructor({chunkType:t,chunkId:e,message:a}){super({name:_t,message:a}),this[Ze]=!0,this.chunkType=t,this.chunkId=e}static isInstance(t){return x.hasMarker(t,Et)}};function hr({warning:t,provider:e,model:a}){const n=`AI SDK Warning${e!=null&&a!=null?` (${e} / ${a})`:""}:`;switch(t.type){case"unsupported":{let i=`${n} The feature "${t.feature}" is not supported.`;return t.details&&(i+=` ${t.details}`),i}case"compatibility":{let i=`${n} The feature "${t.feature}" is used in a compatibility mode.`;return t.details&&(i+=` ${t.details}`),i}case"deprecated":return`${n} Deprecated: "${t.setting}". ${t.message}`;case"other":return`${n} ${t.message}`;default:return`${n} ${JSON.stringify(t,null,2)}`}}var mr="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",ze=!1;function We({message:t,type:e}){typeof process<"u"&&typeof process.emitWarning=="function"?process.emitWarning(t,{type:e}):console.warn(t)}var gr=t=>{if(t.warnings.length===0)return;const e=globalThis.AI_SDK_LOG_WARNINGS;if(e!==!1){if(typeof e=="function"){e(t);return}ze||(ze=!0,We({message:mr,type:"Warning"}));for(const a of t.warnings){const r=hr({warning:a,provider:t.provider,model:t.model});We({message:r,type:a.type==="deprecated"?"DeprecationWarning":"Warning"})}}};function It(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;const a={...t};for(const r in e)if(!(r==="__proto__"||r==="constructor"||r==="prototype")&&Object.prototype.hasOwnProperty.call(e,r)){const n=e[r];if(n===void 0)continue;const i=r in t?t[r]:void 0,l=n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp),o=i!=null&&typeof i=="object"&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);l&&o?a[r]=It(i,n):a[r]=n}return a}var s={array:ea,boolean:Qt,custom:Xt,discriminatedUnion:Kt,enum:qt,instanceof:Yt,lazy:kt,literal:Gt,looseObject:Ht,never:Jt,null:Wt,number:zt,object:Vt,record:Zt,string:Bt,union:Ut,unknown:Ft},J=s.lazy(()=>s.union([s.null(),s.string(),s.number(),s.boolean(),s.record(s.string(),J.optional()),s.array(J)])),m=s.record(s.string(),s.record(s.string(),J.optional())),re=s.union([s.string(),s.instanceof(Uint8Array),s.instanceof(ArrayBuffer),s.custom(da,{message:"Must be a Buffer"})]),Ie=s.record(s.string(),s.string()),Tt=s.object({type:s.literal("text"),text:s.string(),providerOptions:m.optional()}),vr=s.object({type:s.literal("image"),image:s.union([re,s.instanceof(URL),Ie]),mediaType:s.string().optional(),providerOptions:m.optional()}),wt=s.discriminatedUnion("type",[s.object({type:s.literal("data"),data:re}),s.object({type:s.literal("url"),url:s.instanceof(URL)}),s.object({type:s.literal("reference"),reference:Ie}),s.object({type:s.literal("text"),text:s.string()})]),yr=s.discriminatedUnion("type",[s.object({type:s.literal("data"),data:re}),s.object({type:s.literal("url"),url:s.instanceof(URL)})]),At=s.object({type:s.literal("file"),data:s.union([wt,re,s.instanceof(URL),Ie]),filename:s.string().optional(),mediaType:s.string(),providerOptions:m.optional()}),br=s.object({type:s.literal("reasoning"),text:s.string(),providerOptions:m.optional()}),Sr=s.object({type:s.literal("custom"),kind:s.string().transform(t=>t),providerOptions:m.optional()}),_r=s.object({type:s.literal("reasoning-file"),data:s.union([yr,re,s.instanceof(URL)]),mediaType:s.string(),providerOptions:m.optional()}),Er=s.object({type:s.literal("tool-call"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerOptions:m.optional(),providerExecuted:s.boolean().optional()}),Ir=s.discriminatedUnion("type",[s.object({type:s.literal("text"),value:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("json"),value:J,providerOptions:m.optional()}),s.object({type:s.literal("execution-denied"),reason:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("error-text"),value:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("error-json"),value:J,providerOptions:m.optional()}),s.object({type:s.literal("content"),value:s.array(s.union([s.object({type:s.literal("text"),text:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("file"),data:wt,mediaType:s.string(),filename:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-data"),data:s.string(),mediaType:s.string(),filename:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-url"),url:s.string(),mediaType:s.string().optional(),providerOptions:m.optional()}),s.object({type:s.literal("file-id"),fileId:s.union([s.string(),s.record(s.string(),s.string())]),providerOptions:m.optional()}),s.object({type:s.literal("file-reference"),providerReference:s.record(s.string(),s.string()),providerOptions:m.optional()}),s.object({type:s.literal("image-data"),data:s.string(),mediaType:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("image-url"),url:s.string(),providerOptions:m.optional()}),s.object({type:s.literal("image-file-id"),fileId:s.union([s.string(),s.record(s.string(),s.string())]),providerOptions:m.optional()}),s.object({type:s.literal("image-file-reference"),providerReference:s.record(s.string(),s.string()),providerOptions:m.optional()}),s.object({type:s.literal("custom"),providerOptions:m.optional()})]))})]),Ot=s.object({type:s.literal("tool-result"),toolCallId:s.string(),toolName:s.string(),output:Ir,providerOptions:m.optional()}),Tr=s.object({type:s.literal("tool-approval-request"),approvalId:s.string(),toolCallId:s.string(),reason:s.string().optional()}),wr=s.object({type:s.literal("tool-approval-response"),approvalId:s.string(),approved:s.boolean(),reason:s.string().optional()}),Ar=s.object({role:s.literal("system"),content:s.string(),providerOptions:m.optional()}),Or=s.object({role:s.literal("user"),content:s.union([s.string(),s.array(s.union([Tt,vr,At]))]),providerOptions:m.optional()}),Mr=s.object({role:s.literal("assistant"),content:s.union([s.string(),s.array(s.union([Tt,Sr,At,br,_r,Er,Ot,Tr]))]),providerOptions:m.optional()}),Cr=s.object({role:s.literal("tool"),content:s.array(s.union([Ot,wr])),providerOptions:m.optional()});s.union([Ar,Or,Mr,Cr]);var Rr={};cr(Rr,{array:()=>Dr,choice:()=>jr,json:()=>Lr,object:()=>xr,text:()=>Pr});function Nr(t){const e=["ROOT"];let a=-1,r=null,n=0;function i(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function l(d,h,g){switch(d){case'"':{a=h,e.pop(),e.push(g),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{a=h,r=h,e.pop(),e.push(g),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(g),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=h,e.pop(),e.push(g),e.push("INSIDE_NUMBER");break}case"{":{a=h,e.pop(),e.push(g),e.push("INSIDE_OBJECT_START");break}case"[":{a=h,e.pop(),e.push(g),e.push("INSIDE_ARRAY_START");break}}}function o(d,h){switch(d){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{a=h,e.pop();break}}}function p(d,h){switch(d){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=h,e.pop();break}}}for(let d=0;d<t.length;d++){const h=t[d];switch(e[e.length-1]){case"ROOT":l(h,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(h){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{a=d,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{h==='"'&&(e.pop(),e.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{h==='"'&&(e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{h===":"&&(e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{l(h,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{o(h,d);break}case"INSIDE_STRING":{switch(h){case'"':{e.pop(),a=d;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:a=d}break}case"INSIDE_ARRAY_START":{h==="]"?(a=d,e.pop()):(a=d,l(h,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(h){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=d,e.pop();break}default:{a=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{l(h,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),h==="u"?(n=0,e.push("INSIDE_STRING_UNICODE_ESCAPE")):a=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{i(h)&&(n++,n===4&&(e.pop(),a=d));break}case"INSIDE_NUMBER":{switch(h){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=d;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(h,d);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&o(h,d);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{const T=t.substring(r,d+1);!"false".startsWith(T)&&!"true".startsWith(T)&&!"null".startsWith(T)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?o(h,d):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(h,d)):a=d;break}}}let c=t.slice(0,a+1);for(let d=e.length-1;d>=0;d--)switch(e[d]){case"INSIDE_STRING":{c+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{c+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{c+="]";break}case"INSIDE_LITERAL":{const g=t.substring(r,t.length);"true".startsWith(g)?c+="true".slice(g.length):"false".startsWith(g)?c+="false".slice(g.length):"null".startsWith(g)&&(c+="null".slice(g.length))}}return c}async function ne(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await q({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await q({text:Nr(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Pr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:t}){return t},async parsePartialOutput({text:t}){return{partial:t}},createElementStreamTransform(){}}),xr=({schema:t,name:e,description:a})=>{const r=Ee(t);return{name:"object",responseFormat:gt(r.jsonSchema).then(n=>({type:"json",schema:n,...e!=null&&{name:e},...a!=null&&{description:a}})),async parseCompleteOutput({text:n},i){const l=await q({text:n});if(!l.success)throw new F({message:"No object generated: could not parse the response.",cause:l.error,text:n,response:i.response,usage:i.usage,finishReason:i.finishReason});const o=await te({value:l.value,schema:r});if(!o.success)throw new F({message:"No object generated: response did not match schema.",cause:o.error,text:n,response:i.response,usage:i.usage,finishReason:i.finishReason});return o.value},async parsePartialOutput({text:n}){const i=await ne(n);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:i.value}}},createElementStreamTransform(){}}},Dr=({element:t,minItems:e,maxItems:a,name:r,description:n})=>{if(Je({name:"minItems",value:e}),Je({name:"maxItems",value:a}),e!=null&&a!=null&&e>a)throw new ge({parameter:"minItems",value:e,message:"minItems must be less than or equal to maxItems"});const i=Ee(t);return{name:"array",responseFormat:gt(i.jsonSchema).then(l=>{const{$schema:o,definitions:p,$defs:c,...d}=l;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...p!=null&&{definitions:p},...c!=null&&{$defs:c},type:"object",properties:{elements:{type:"array",items:d,...e!=null&&{minItems:e},...a!=null&&{maxItems:a}}},required:["elements"],additionalProperties:!1},...r!=null&&{name:r},...n!=null&&{description:n}}}),async parseCompleteOutput({text:l},o){const p=await q({text:l});if(!p.success)throw new F({message:"No object generated: could not parse the response.",cause:p.error,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const c=p.value;if(c==null||typeof c!="object"||!("elements"in c)||!Array.isArray(c.elements))throw new F({message:"No object generated: response did not match schema.",cause:new Z({value:c,cause:"response must be an object with an elements array"}),text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const d=He({value:c.elements,minItems:e,maxItems:a});if(d!=null)throw new F({message:"No object generated: response did not match schema.",cause:d,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});const h=[];for(const g of c.elements){const T=await te({value:g,schema:i});if(!T.success)throw new F({message:"No object generated: response did not match schema.",cause:T.error,text:l,response:o.response,usage:o.usage,finishReason:o.finishReason});h.push(T.value)}return h},async parsePartialOutput({text:l}){const o=await ne(l);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const p=o.value;if(p==null||typeof p!="object"||!("elements"in p)||!Array.isArray(p.elements))return;const c=o.state==="repaired-parse"&&p.elements.length>0?p.elements.slice(0,-1):p.elements,d=[];for(const h of c){const g=await te({value:h,schema:i});g.success&&d.push(g.value)}return{partial:d}}}},createElementStreamTransform(){let l=0;return new TransformStream({transform({partialOutput:o},p){if(o!=null)for(;l<o.length;l++){if(a!=null&&l>=a){p.error(He({value:o,maxItems:a}));return}p.enqueue(o[l])}}})}}};function Je({name:t,value:e}){if(e!=null){if(!Number.isInteger(e))throw new ge({parameter:t,value:e,message:`${t} must be an integer`});if(e<0)throw new ge({parameter:t,value:e,message:`${t} must be greater than or equal to 0`})}}function He({value:t,minItems:e,maxItems:a}){if(e!=null&&t.length<e)return new Z({value:t,cause:`elements array must contain at least ${e} items`});if(a!=null&&t.length>a)return new Z({value:t,cause:`elements array must contain at most ${a} items`})}var jr=({options:t,name:e,description:a})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:t}},required:["result"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}),async parseCompleteOutput({text:r},n){const i=await q({text:r});if(!i.success)throw new F({message:"No object generated: could not parse the response.",cause:i.error,text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});const l=i.value;if(l==null||typeof l!="object"||!("result"in l)||typeof l.result!="string"||!t.includes(l.result))throw new F({message:"No object generated: response did not match schema.",cause:new Z({value:l,cause:"response must be an object that contains a choice value."}),text:r,response:n.response,usage:n.usage,finishReason:n.finishReason});return l.result},async parsePartialOutput({text:r}){const n=await ne(r);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const i=n.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string")return;const l=t.filter(o=>o.startsWith(i.result));return n.state==="successful-parse"?l.includes(i.result)?{partial:i.result}:void 0:l.length===1?{partial:l[0]}:void 0}}},createElementStreamTransform(){}}),Lr=({name:t,description:e}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...t!=null&&{name:t},...e!=null&&{description:e}}),async parseCompleteOutput({text:a},r){const n=await q({text:a});if(!n.success)throw new F({message:"No object generated: could not parse the response.",cause:n.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.value},async parsePartialOutput({text:a}){const r=await ne(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){}});new TextEncoder;new TextEncoder;D({prefix:"aitxt",size:24});D({prefix:"call",size:24});(class extends TransformStream{constructor(){super({transform(t,e){e.enqueue(`data: ${JSON.stringify(t)}
8
8
 
9
9
  `)},flush(t){t.enqueue(`data: [DONE]
10
10
 
11
- `)}})}});var K=s.record(s.string(),J.optional()),$r=ar(()=>mt(s.union([s.looseObject({type:s.literal("text-start"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("text-delta"),id:s.string(),delta:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("text-end"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("error"),errorText:s.string()}),s.looseObject({type:s.literal("tool-input-start"),toolCallId:s.string(),toolName:s.string(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-input-delta"),toolCallId:s.string(),inputTextDelta:s.string()}),s.looseObject({type:s.literal("tool-input-available"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-input-error"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),errorText:s.string(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-approval-request"),approvalId:s.string(),toolCallId:s.string(),approvalDescriptor:s.unknown().optional(),reason:s.string().optional(),isAutomatic:s.boolean().optional(),signature:s.string().optional()}),s.looseObject({type:s.literal("tool-approval-response"),approvalId:s.string(),approved:s.boolean(),reason:s.string().optional(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("tool-output-available"),toolCallId:s.string(),output:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),preliminary:s.boolean().optional()}),s.looseObject({type:s.literal("tool-output-error"),toolCallId:s.string(),errorText:s.string(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional()}),s.looseObject({type:s.literal("tool-output-denied"),toolCallId:s.string()}),s.looseObject({type:s.literal("reasoning-start"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-delta"),id:s.string(),delta:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-end"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("custom"),kind:s.string().transform(t=>t),providerMetadata:m.optional()}),s.looseObject({type:s.literal("source-url"),sourceId:s.string(),url:s.string(),title:s.string().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("source-document"),sourceId:s.string(),mediaType:s.string(),title:s.string(),filename:s.string().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("file"),url:s.string(),mediaType:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-file"),url:s.string(),mediaType:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.custom(t=>typeof t=="string"&&t.startsWith("data-"),{message:'Type must start with "data-"'}),id:s.string().optional(),data:s.unknown(),transient:s.boolean().optional()}),s.looseObject({type:s.literal("start-step")}),s.looseObject({type:s.literal("finish-step")}),s.looseObject({type:s.literal("reset-step")}),s.looseObject({type:s.literal("start"),messageId:s.string().optional(),messageMetadata:s.unknown().optional()}),s.looseObject({type:s.literal("finish"),finishReason:s.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:s.unknown().optional()}),s.looseObject({type:s.literal("abort"),reason:s.string().optional()}),s.looseObject({type:s.literal("message-metadata"),messageMetadata:s.unknown()})])));function kr(t){return t.type.startsWith("data-")}function Y(){return Object.create(null)}function ve(t){return t.type.startsWith("tool-")}function Fr(t){return t.type==="dynamic-tool"}function H(t){return ve(t)||Fr(t)}function He(t){return t.type.split("-").slice(1).join("-")}var Ur={type:"deprecated",setting:"rawInput in output-error UI message parts",message:'Use the "input" field instead. The "rawInput" field will be removed in the next major version.'};function Br(t){t.some(a=>a.parts.some(r=>r!=null&&typeof r=="object"&&"type"in r&&typeof r.type=="string"&&(r.type==="dynamic-tool"||r.type.startsWith("tool-"))&&"state"in r&&r.state==="output-error"&&Object.prototype.hasOwnProperty.call(r,"rawInput")&&"rawInput"in r&&r.rawInput!==void 0))&&gr({warnings:[Ur]})}function Zr({lastMessage:t,messageId:e}){return{message:t?.role==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:Y(),activeReasoningParts:Y(),partialToolCalls:Y()}}function Vr({stream:t,messageMetadataSchema:e,dataPartSchemas:a,runUpdateMessageJob:r,onError:n,onToolCall:i,onData:l}){return t.pipeThrough(new TransformStream({async transform(o,p){await r(async({state:c,write:d})=>{var h,g,T,E;function R(){const u=c.message.parts;let _=u.length-1;for(;_>=0&&u[_].type!=="step-start";)_--;return u.slice(_+1)}function f(){return R().filter(H)}function y(u){let I=f().find(M=>M.toolCallId===u);if(I==null){const M=c.message.parts;for(let v=M.length-1;v>=0;v--){const b=M[v];if(H(b)&&b.toolCallId===u){I=b;break}}}if(I==null)throw new V({chunkType:"tool-invocation",chunkId:u,message:`No tool invocation found for tool call ID "${u}".`});return I}function O(u){const I=c.message.parts.filter(H).find(M=>{var v;return((v=M.approval)==null?void 0:v.id)===u});if(I==null)throw new V({chunkType:"tool-approval-response",chunkId:u,message:`No tool invocation found for approval ID "${u}".`});return I}function w(u,_){var I;const M=_??R().find(C=>ve(C)&&C.toolCallId===u.toolCallId),v=u,b=M;if(M!=null){M.state=u.state,b.input=v.input,b.output=v.output,b.errorText=v.errorText,b.rawInput=v.rawInput,b.preliminary=v.preliminary,u.title!==void 0&&(b.title=u.title),u.toolMetadata!==void 0&&(b.toolMetadata=u.toolMetadata),b.providerExecuted=(I=v.providerExecuted)!=null?I:M.providerExecuted;const C=v.providerMetadata;if(C!=null)if(u.state==="output-available"||u.state==="output-error"){const U=M;U.resultProviderMetadata=C}else M.callProviderMetadata=C}else c.message.parts.push({type:`tool-${u.toolName}`,toolCallId:u.toolCallId,state:u.state,title:u.title,...u.toolMetadata!==void 0?{toolMetadata:u.toolMetadata}:{},input:v.input,output:v.output,rawInput:v.rawInput,errorText:v.errorText,providerExecuted:v.providerExecuted,preliminary:v.preliminary,...v.providerMetadata!=null&&(u.state==="output-available"||u.state==="output-error")?{resultProviderMetadata:v.providerMetadata}:{},...v.providerMetadata!=null&&!(u.state==="output-available"||u.state==="output-error")?{callProviderMetadata:v.providerMetadata}:{}})}function A(u,_){var I,M;const v=_??R().find(U=>U.type==="dynamic-tool"&&U.toolCallId===u.toolCallId),b=u,C=v;if(v!=null){v.state=u.state,C.toolName=u.toolName,C.input=b.input,C.output=b.output,C.errorText=b.errorText,C.rawInput=(I=b.rawInput)!=null?I:C.rawInput,C.preliminary=b.preliminary,u.title!==void 0&&(C.title=u.title),u.toolMetadata!==void 0&&(C.toolMetadata=u.toolMetadata),C.providerExecuted=(M=b.providerExecuted)!=null?M:v.providerExecuted;const U=b.providerMetadata;if(U!=null)if(u.state==="output-available"||u.state==="output-error"){const jt=v;jt.resultProviderMetadata=U}else v.callProviderMetadata=U}else c.message.parts.push({type:"dynamic-tool",toolName:u.toolName,toolCallId:u.toolCallId,state:u.state,input:b.input,output:b.output,errorText:b.errorText,preliminary:b.preliminary,providerExecuted:b.providerExecuted,title:u.title,...u.toolMetadata!==void 0?{toolMetadata:u.toolMetadata}:{},...b.providerMetadata!=null&&(u.state==="output-available"||u.state==="output-error")?{resultProviderMetadata:b.providerMetadata}:{},...b.providerMetadata!=null&&!(u.state==="output-available"||u.state==="output-error")?{callProviderMetadata:b.providerMetadata}:{}})}async function k(u){if(u!=null){const _=c.message.metadata!=null?It(c.message.metadata,u):u;e!=null&&await $e({value:_,schema:e,context:{field:"message.metadata",entityId:c.message.id}}),c.message.metadata=_}}switch(o.type){case"text-start":{const u={type:"text",text:"",providerMetadata:o.providerMetadata,state:"streaming"};c.activeTextParts[o.id]=u,c.message.parts.push(u),d();break}case"text-delta":{const u=c.activeTextParts[o.id];if(u==null)throw new V({chunkType:"text-delta",chunkId:o.id,message:`Received text-delta for missing text part with ID "${o.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});u.text+=o.delta,u.providerMetadata=(h=o.providerMetadata)!=null?h:u.providerMetadata,d();break}case"text-end":{const u=c.activeTextParts[o.id];if(u==null)throw new V({chunkType:"text-end",chunkId:o.id,message:`Received text-end for missing text part with ID "${o.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});u.state="done",u.providerMetadata=(g=o.providerMetadata)!=null?g:u.providerMetadata,delete c.activeTextParts[o.id],d();break}case"custom":{const u={type:"custom",kind:o.kind,providerMetadata:o.providerMetadata};c.message.parts.push(u),d();break}case"reasoning-start":{const u={type:"reasoning",id:o.id,text:"",providerMetadata:o.providerMetadata,state:"streaming"};c.activeReasoningParts[o.id]=u,c.message.parts.push(u),d();break}case"reasoning-delta":{const u=c.activeReasoningParts[o.id];if(u==null)throw new V({chunkType:"reasoning-delta",chunkId:o.id,message:`Received reasoning-delta for missing reasoning part with ID "${o.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});u.text+=o.delta,u.providerMetadata=(T=o.providerMetadata)!=null?T:u.providerMetadata,d();break}case"reasoning-end":{const u=c.activeReasoningParts[o.id];if(u==null)throw new V({chunkType:"reasoning-end",chunkId:o.id,message:`Received reasoning-end for missing reasoning part with ID "${o.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});u.providerMetadata=(E=o.providerMetadata)!=null?E:u.providerMetadata,u.state="done",delete c.activeReasoningParts[o.id],d();break}case"file":case"reasoning-file":{c.message.parts.push({type:o.type,mediaType:o.mediaType,url:o.url,...o.providerMetadata!=null?{providerMetadata:o.providerMetadata}:{}}),d();break}case"source-url":{c.message.parts.push({type:"source-url",sourceId:o.sourceId,url:o.url,title:o.title,providerMetadata:o.providerMetadata}),d();break}case"source-document":{c.message.parts.push({type:"source-document",sourceId:o.sourceId,mediaType:o.mediaType,title:o.title,filename:o.filename,providerMetadata:o.providerMetadata}),d();break}case"tool-input-start":{const u=R().filter(ve);c.partialToolCalls[o.toolCallId]={text:"",toolName:o.toolName,index:u.length,dynamic:o.dynamic,title:o.title,toolMetadata:o.toolMetadata},o.dynamic?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-streaming",input:void 0,providerExecuted:o.providerExecuted,title:o.title,toolMetadata:o.toolMetadata,providerMetadata:o.providerMetadata}):w({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-streaming",input:void 0,providerExecuted:o.providerExecuted,title:o.title,toolMetadata:o.toolMetadata,providerMetadata:o.providerMetadata}),d();break}case"tool-input-delta":{const u=c.partialToolCalls[o.toolCallId];if(u==null)throw new V({chunkType:"tool-input-delta",chunkId:o.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${o.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});u.text+=o.inputTextDelta;const{value:_}=await ne(u.text);u.dynamic?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"input-streaming",input:_,title:u.title,toolMetadata:u.toolMetadata}):w({toolCallId:o.toolCallId,toolName:u.toolName,state:"input-streaming",input:_,title:u.title,toolMetadata:u.toolMetadata}),d();break}case"tool-input-available":{o.dynamic?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-available",input:o.input,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:o.title,toolMetadata:o.toolMetadata}):w({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-available",input:o.input,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:o.title,toolMetadata:o.toolMetadata}),d(),i&&!o.providerExecuted&&await i({toolCall:o});break}case"tool-input-error":{const u=R().filter(H).find(I=>I.toolCallId===o.toolCallId);(u!=null?u.type==="dynamic-tool":!!o.dynamic)?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"output-error",input:o.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,toolMetadata:o.toolMetadata}):(w({toolCallId:o.toolCallId,toolName:o.toolName,state:"output-error",input:void 0,rawInput:o.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,toolMetadata:o.toolMetadata}),Br([c.message])),d();break}case"tool-approval-request":{const u=y(o.toolCallId);u.state="approval-requested",u.approval={id:o.approvalId,...o.approvalDescriptor!=null?{descriptor:o.approvalDescriptor}:{},...o.reason!=null?{requestReason:o.reason}:{},...o.isAutomatic===!0?{isAutomatic:!0}:{},...o.signature!=null?{signature:o.signature}:{}},d();break}case"tool-approval-response":{const u=O(o.approvalId),_=u.approval==null?{id:o.approvalId}:u.approval;u.state="approval-responded",u.approval={..._,id:o.approvalId,approved:o.approved,...o.reason!=null?{reason:o.reason}:{}},o.providerExecuted!=null&&(u.providerExecuted=o.providerExecuted),o.providerMetadata!=null&&(u.callProviderMetadata=o.providerMetadata),d();break}case"tool-output-denied":{const u=y(o.toolCallId);u.state="output-denied",d();break}case"tool-output-available":{const u=y(o.toolCallId);u.type==="dynamic-tool"?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"output-available",input:u.input,output:o.output,preliminary:o.preliminary,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u):w({toolCallId:o.toolCallId,toolName:He(u),state:"output-available",input:u.input,output:o.output,providerExecuted:o.providerExecuted,preliminary:o.preliminary,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u),d();break}case"tool-output-error":{const u=y(o.toolCallId);u.type==="dynamic-tool"?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"output-error",input:u.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u):w({toolCallId:o.toolCallId,toolName:He(u),state:"output-error",input:u.input,rawInput:u.rawInput,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u),d();break}case"start-step":{c.message.parts.push({type:"step-start"});break}case"finish-step":break;case"reset-step":{const u=R();c.activeTextParts=Y(),c.activeReasoningParts=Y(),c.partialToolCalls=Y(),u.length>0&&(c.message.parts.splice(c.message.parts.length-u.length,u.length),d());break}case"start":{o.messageId!=null&&(c.message.id=o.messageId),await k(o.messageMetadata),(o.messageId!=null||o.messageMetadata!=null)&&d({updateStatus:!1});break}case"finish":{o.finishReason!=null&&(c.finishReason=o.finishReason),await k(o.messageMetadata),o.messageMetadata!=null&&d();break}case"message-metadata":{await k(o.messageMetadata),o.messageMetadata!=null&&d();break}case"error":{n?.(new Error(o.errorText));break}default:if(kr(o)){if(a?.[o.type]!=null){const I=c.message.parts.findIndex(v=>"id"in v&&"data"in v&&v.id===o.id&&v.type===o.type),M=I>=0?I:c.message.parts.length;await $e({value:o.data,schema:a[o.type],context:{field:`message.parts[${M}].data`,entityName:o.type,entityId:o.id}})}const u=o;if(u.transient){l?.(u);break}const _=u.id!=null?c.message.parts.find(I=>u.type===I.type&&u.id===I.id):void 0;_!=null?_.data=u.data:c.message.parts.push(u),l?.(u),d()}}p.enqueue(o)})}}))}function zr(t){return Wr(t.pipeThrough(new TransformStream))}function Wr(t){return t[Symbol.asyncIterator]=function(){const e=this.getReader();let a=!1;async function r(n){var i;if(!a){a=!0;try{n&&await((i=e.cancel)==null?void 0:i.call(e))}finally{try{e.releaseLock()}catch{}}}}return{async next(){if(a)return{done:!0,value:void 0};let n;try{n=await e.read()}catch(o){throw await r(!1),o}const{done:i,value:l}=n;return i?(await r(!0),{done:!0,value:void 0}):{done:!1,value:l}},async return(){return await r(!0),{done:!0,value:void 0}},async throw(n){throw await r(!0),n}}},t}async function Jr({stream:t,onError:e,abortSignal:a}){const r=t.getReader(),n=()=>{r.cancel().catch(()=>{})};a?.aborted?n():a?.addEventListener("abort",n,{once:!0});try{for(;;){const{done:i}=await r.read();if(i)break}}catch(i){e?.(i)}finally{a?.removeEventListener("abort",n),r.releaseLock()}}D({prefix:"aitxt",size:24});D({prefix:"call",size:24});D({prefix:"aitxt",size:24});D({prefix:"call",size:24});function Gr(t){const e=new Map,a={...t,parts:t.parts.map((n,i)=>n.type==="text"||n.type==="reasoning"?(e.set(i,n.text),{...n,text:""}):n)},r=structuredClone(a);for(const[n,i]of e){const l=r.parts[n];(l.type==="text"||l.type==="reasoning")&&(l.text=i)}return r}function Hr({message:t,stream:e,onError:a,terminateOnError:r=!1}){var n;let i,l=!1,o=!1;const p=new AbortController,c=new ReadableStream({start(g){i=g},cancel(){o=!0,p.abort()}}),d=Zr({messageId:(n=t?.id)!=null?n:"",lastMessage:t}),h=g=>{a?.(g),!l&&r&&(l=!0,i?.error(g))};return Jr({stream:Vr({stream:e,runUpdateMessageJob(g){return g({state:d,write:()=>{o||i?.enqueue(Gr(d.message))}})},onError:h}),onError:h,abortSignal:p.signal}).finally(()=>{!l&&!o&&i?.close()}),zr(c)}s.record(s.string(),J.optional());s.record(s.string(),s.string());D({prefix:"call",size:24});D({prefix:"call",size:24});new TextEncoder;D({prefix:"aiobj",size:24});D({prefix:"aiobj",size:24});s.object({token:s.string().refine(t=>t.trim().length>0),url:s.string().refine(t=>{try{const e=new URL(t);return(e.protocol==="ws:"||e.protocol==="wss:")&&e.hostname!==""}catch{return!1}}),expiresAt:s.number().positive().max(Number.MAX_SAFE_INTEGER).optional(),tools:s.array(s.object({type:s.literal("function"),name:s.string().min(1),description:s.string().optional(),parameters:s.record(s.string(),s.unknown())})).optional()});D({prefix:"call",size:24});function Yr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((n,i,l)=>i.type==="step-start"?l:n,-1),r=e.parts.slice(a+1).filter(H);return r.filter(n=>n.state==="approval-responded").length>0&&r.every(n=>n.state==="output-available"&&n.preliminary!==!0||n.state==="output-error"||n.state==="output-denied"||n.state==="approval-responded")}function qr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((n,i,l)=>i.type==="step-start"?l:n,-1),r=e.parts.slice(a+1).filter(H).filter(n=>!n.providerExecuted);return r.length>0&&r.every(n=>n.state==="output-available"&&n.preliminary!==!0||n.state==="output-error")}function ee(t,e){const a=t.content;if(Array.isArray(a)){const r=a[0];if(r&&typeof r=="object"){const n=r.text;if(n)return n}}return e}const Kr=new Set(["tool-input-start","tool-input-available"]),Xr=new Set(["tool-output-available","tool-output-error","tool-approval-request","tool-output-denied"]),Qr="unknown";function en(t){const e=[];for(const a of t?.parts??[]){const r=a.toolCallId;typeof r=="string"&&e.push(r)}return e}function tn(t=[]){const e=new Set(t),a=new Set;return r=>{const{type:n}=r,i=r.toolCallId;return typeof i!="string"?[r]:Kr.has(n)?(e.add(i),n==="tool-input-start"&&a.add(i),[r]):n==="tool-input-delta"?a.has(i)?[r]:[]:Xr.has(n)&&!e.has(i)?(e.add(i),[{type:"tool-input-available",toolCallId:i,toolName:r.toolName??Qr,input:{}},r]):[r]}}function an(t,e){const a=tn(en(e));return t.pipeThrough(new TransformStream({transform(r,n){for(const i of a(r))n.enqueue(i)}}))}const rn=["sending","received","waiting-runner","starting-run","waiting-capacity","gathering-context","preparing-tools","starting-assistant","analyzing-scope","starting-sandbox","choosing-next-steps","retrying-provider"],nn={sending:{label:"chat.runStatus.sendingLabel",detail:"chat.runStatus.sendingDetail"},received:{label:"chat.runStatus.receivedLabel",detail:"chat.runStatus.receivedDetail"},"waiting-runner":{label:"chat.runStatus.waitingRunnerLabel",detail:"chat.runStatus.waitingRunnerDetail"},"starting-run":{label:"chat.runStatus.startingRunLabel",detail:"chat.runStatus.startingRunDetail"},"waiting-capacity":{label:"chat.runStatus.waitingCapacityLabel",detail:"chat.runStatus.waitingCapacityDetail"},"gathering-context":{label:"chat.runStatus.gatheringContextLabel",detail:"chat.runStatus.gatheringContextDetail"},"preparing-tools":{label:"chat.runStatus.preparingToolsLabel",detail:"chat.runStatus.preparingToolsDetail"},"starting-assistant":{label:"chat.runStatus.startingAssistantLabel",detail:"chat.runStatus.startingAssistantDetail"},"analyzing-scope":{label:"chat.runStatus.analyzingScopeLabel",detail:"chat.runStatus.analyzingScopeDetail"},"starting-sandbox":{label:"chat.runStatus.startingSandboxLabel",detail:"chat.runStatus.startingSandboxDetail"},"choosing-next-steps":{label:"chat.runStatus.choosingNextStepsLabel",detail:"chat.runStatus.choosingNextStepsDetail"},"retrying-provider":{label:"chat.runStatus.retryingProviderLabel",detail:"chat.runStatus.retryingProviderDetail"}};function Vn(t,e){const a=nn[e];return{label:t(a.label),detail:t(a.detail)}}const ye=new Map(rn.map((t,e)=>[t,e]));function sn(t){return typeof t=="string"&&ye.has(t)}function on(t){if(!t||typeof t!="object")return null;const e=t;if(e.type!=="data-run-status")return null;const a=e.data?.stage;return sn(a)?a:null}function ln(t){return!t||typeof t!="object"?!1:t.type==="data-run-status"}function un(t,e){if(t===null)return e;const a=ye.get(t)??-1;return(ye.get(e)??-1)>=a?e:t}const Mt={ai_budget_exhausted:"[PLAN_BUDGET]",feature_not_in_plan:"[PLAN_FEATURE]"};function cn(t,e){const a=dn(t);if(!a)return t||`POST /messages failed (${e})`;const r=Mt[a.code];return r?`${r} ${a.message}`:a.message}function zn(t){const e=t?.message;if(!e)return null;for(const[a,r]of Object.entries(Mt))if(e.startsWith(r))return a;return null}function dn(t){if(!t.trimStart().startsWith("{"))return null;let e;try{e=JSON.parse(t)}catch{return null}if(!e||typeof e!="object")return null;const{error:a,message:r,code:n}=e,i=typeof a=="string"?a:r;return typeof i!="string"||!i?null:{message:i,...typeof n=="string"?{code:n}:{}}}const pn=1e3,fn=3e4,hn=50,mn=6e4,gn=typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0),vn=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:t=>clearTimeout(t);function Ye(t,e){if(e.kind==="message"){const a=e.message;if(a.created_at!=null)return[...t,a];const r=a.metadata?.created_at;if(r!=null)return[...t,{...a,created_at:r}];let n=0;for(const l of t){const o=l.created_at;if(o==null)continue;const p=new Date(o).getTime();Number.isFinite(p)&&p>n&&(n=p)}const i=Math.max(Date.now(),n+1);return[...t,{...a,created_at:new Date(i).toISOString()}]}for(let a=t.length-1;a>=0;a--){const r=t[a];if(!r||r.role!=="assistant")continue;const n=yn(r.parts,e);if(n===-1)continue;const i=r.parts[n];if(!i)continue;const l=bn(i,e);if(!l)continue;const o=[...r.parts];o[n]=l;const p=[...t];return p[a]={...r,parts:o},p}return null}function be(t){return t.type==="dynamic-tool"||t.type.startsWith("tool-")}function yn(t,e){return e.kind==="toolOutput"?t.findIndex(a=>be(a)&&a.toolCallId===e.toolCallId):t.findIndex(a=>be(a)&&a.state==="approval-requested"&&a.approval?.id===e.approvalId)}function bn(t,e){return be(t)?e.kind==="toolOutput"?{...t,state:e.state??"output-available",output:e.output,errorText:e.errorText}:{...t,state:"approval-responded",approval:{id:e.approvalId,approved:e.approved,...e.reason?{reason:e.reason}:{}}}:null}function Sn(t){return t.kind==="message"?`message id=${t.message.id}`:t.kind==="toolOutput"?`toolOutput toolCallId=${t.toolCallId}`:`approval approvalId=${t.approvalId}`}class _n{constructor(e,a,r={}){this.orgSlug=e,this.threadId=a,this.key=`${e}::${a}`,this.client=r.client??null,this.ready=new Promise(n=>{this.resolveReady=n}),this.bootstrap()}orgSlug;threadId;key;messages=new $([]);status=new $({kind:"loading"});finishReason=new $(null);runStatusStage=new $(null);hasMoreOlder=new $(!1);isFetchingOlder=new $(!1);observer=null;abort=new AbortController;subController=null;pendingFinishReason=void 0;discardOnClose=!1;inflightPost=null;waitingForNewRun=!1;acceptPreStartRunStatus=!0;freshRunSubstream=!1;client;serverFetchedCount=0;pageSize=5;chunkBuffer=[];ready;resolveReady;dispose(){this.abort.abort()}async submit(e,a){this.finishReason.set(null);const r=Ye(this.messages.get(),e);if(!r)throw new Error(`submit: target not found for ${Sn(e)}`);if(this.messages.set(z(r,[])),this.acceptPreStartRunStatus=!0,!(e.kind==="message"||Yr({messages:r})||qr({messages:r})))return;const i=r.at(-1);if(!i){this.status.set({kind:"ready"});return}this.runStatusStage.set("sending"),this.status.set({kind:"submitted"});const l=new AbortController;this.inflightPost=l;try{await this.post(i,a,l.signal)}catch(o){if(this.clearRunStatusStage(),l.signal.aborted)return;const p=o instanceof Error?o:new Error(String(o));this.failTo(p)}finally{this.inflightPost===l&&(this.inflightPost=null)}}async enqueue(e,a){await this.post(e,a,void 0,!0)}applyLocalMessage(e){this.messages.update(a=>{const r=Ye(a,{kind:"message",message:e})??a;return z(r,[])})}removeLocalMessage(e){this.messages.update(a=>a.filter(r=>r.id!==e))}stop(){this.inflightPost?.abort();const e=this.status.get();(e.kind==="submitted"||e.kind==="streaming")&&this.status.set({kind:"ready"}),this.clearRunStatusStage(),this.acceptPreStartRunStatus=!1,this.subController&&this.forceCloseSubStream(!0),this.messages.update(a=>{const r=a.at(-1);if(r?.role!=="assistant"||r.created_at!=null)return a;const i={...r,created_at:new Date().toISOString()};return[...a.slice(0,-1),i]}),this.waitingForNewRun=!0}clearError(){this.status.get().kind==="error"&&this.status.set({kind:"ready"})}async bootstrap(){this.loadInitialPage(),await this.runSseLoop()}async loadInitialPage(){if(await Promise.resolve(),!this.client){this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer(),this.resolveReady();return}try{const e=await this.fetchLatestPage("COLLECTION_THREAD_MESSAGES_LIST failed");if(e.kind==="aborted"){this.resolveReady();return}if(e.kind==="error")throw new Error(e.message);const a=e.items;if(this.messages.update(r=>z(r,a)),this.finishReason.get()===null){const r=this.messages.get().at(-1),n=r?.role==="assistant"?r.metadata?.finishReason:void 0;n&&this.finishReason.set(n)}this.serverFetchedCount=a.length,this.hasMoreOlder.set(e.hasMore??!1),this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer()}catch(e){this.failTo(e instanceof Error?e:new Error(String(e))),this.drainChunkBuffer()}finally{this.resolveReady()}}async fetchLatestPage(e){if(!this.client)return{kind:"aborted"};const a=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:0,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return{kind:"aborted"};if(a.isError)return{kind:"error",message:ee(a,e)};const r=a.structuredContent??a;return{kind:"ok",items:r.items??[],hasMore:r.hasMore}}async refetchLatestPage(){if(this.client)try{const e=await this.fetchLatestPage("tool error");if(e.kind==="aborted")return;if(e.kind==="error"){console.warn("[chat-store] refetchLatestPage:",e.message);return}this.messages.update(a=>z(a,e.items)),e.hasMore!==void 0&&this.hasMoreOlder.set(e.hasMore)}catch(e){console.warn("[chat-store] refetchLatestPage failed:",e)}}async reconcileFromServer(){if(!this.client)return!1;try{const e=await this.fetchLatestPage("tool error");return e.kind==="aborted"?!1:e.kind==="error"?(console.warn("[chat-store] reconcileFromServer:",e.message),!1):this.applyReconcile(e.items,e.hasMore)}catch(e){return console.warn("[chat-store] reconcileFromServer failed:",e),!1}}applyReconcile(e,a){const r=this.status.get().kind;return r==="submitted"||r==="streaming"?!1:(this.messages.update(n=>wn(n,e)),a!==void 0&&this.hasMoreOlder.set(a),!0)}async fetchOlderMessages(){if(this.client&&this.hasMoreOlder.get()&&!this.isFetchingOlder.get()){this.isFetchingOlder.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:this.serverFetchedCount,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return;if(e.isError)throw new Error(ee(e,"COLLECTION_THREAD_MESSAGES_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.messages.update(n=>z(n,r)),this.serverFetchedCount+=r.length,this.hasMoreOlder.set(a.hasMore??!1)}catch(e){const a=e instanceof Error?e.message:String(e);console.warn("[chat-store] fetchOlderMessages failed:",a),pe.error(`Could not load older messages: ${a}`)}finally{this.isFetchingOlder.set(!1)}}}async post(e,a,r,n=!1){const{system:i,...l}=a,o=i&&e.role==="user"?{id:crypto.randomUUID(),role:"system",parts:[{type:"text",text:i}]}:null,c={messages:o?[o,e]:[e],...l},d=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/messages`,h=AbortSignal.timeout(mn),g=r?AbortSignal.any([r,h]):h;let T;try{T=await fetch(d,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify(c),signal:g})}catch(E){throw h.aborted&&!r?.aborted?new Error("request timed out — retry"):E}if(!T.ok){const E=await T.text().catch(()=>"");throw new Error(cn(E,T.status))}!n&&this.runStatusStage.get()!==null&&this.setRunStatusStage("received")}async runSseLoop(){const e=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/stream`;let a=0,r=!0;for(;!this.abort.signal.aborted;){r||this.forceCloseSubStream(!0);let n=!1;try{const l=await fetch(e,{method:"GET",credentials:"include",headers:{accept:"text/event-stream"},signal:this.abort.signal});if(l.status===204||!l.body)return;if(!l.ok){const o=await l.text().catch(()=>"");this.failTo(new Error(o||`GET /stream failed (${l.status})`));return}if(a=0,r||await this.refetchLatestPage(),r=!1,n=await this.consumeStreamSse(l.body),!n&&this.status.get().kind==="error")return}catch{if(this.abort.signal.aborted)return}if(this.abort.signal.aborted)return;const i=n?hn:Ke(fn,pn,a,2,.5);a++,i>0&&await sa(i,{signal:this.abort.signal}).catch(()=>{})}}async consumeStreamSse(e){const a=e.getReader(),r=new TextDecoder;let n="";for(;;){const{done:i,value:l}=await a.read();if(i)return!0;n+=r.decode(l,{stream:!0});let o;for(;(o=n.indexOf(`
11
+ `)}})}});var K=s.record(s.string(),J.optional()),$r=ar(()=>mt(s.union([s.looseObject({type:s.literal("text-start"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("text-delta"),id:s.string(),delta:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("text-end"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("error"),errorText:s.string()}),s.looseObject({type:s.literal("tool-input-start"),toolCallId:s.string(),toolName:s.string(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-input-delta"),toolCallId:s.string(),inputTextDelta:s.string()}),s.looseObject({type:s.literal("tool-input-available"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-input-error"),toolCallId:s.string(),toolName:s.string(),input:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),errorText:s.string(),title:s.string().optional()}),s.looseObject({type:s.literal("tool-approval-request"),approvalId:s.string(),toolCallId:s.string(),approvalDescriptor:s.unknown().optional(),reason:s.string().optional(),isAutomatic:s.boolean().optional(),signature:s.string().optional()}),s.looseObject({type:s.literal("tool-approval-response"),approvalId:s.string(),approved:s.boolean(),reason:s.string().optional(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("tool-output-available"),toolCallId:s.string(),output:s.unknown(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional(),preliminary:s.boolean().optional()}),s.looseObject({type:s.literal("tool-output-error"),toolCallId:s.string(),errorText:s.string(),providerExecuted:s.boolean().optional(),providerMetadata:m.optional(),toolMetadata:K.optional(),dynamic:s.boolean().optional()}),s.looseObject({type:s.literal("tool-output-denied"),toolCallId:s.string()}),s.looseObject({type:s.literal("reasoning-start"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-delta"),id:s.string(),delta:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-end"),id:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("custom"),kind:s.string().transform(t=>t),providerMetadata:m.optional()}),s.looseObject({type:s.literal("source-url"),sourceId:s.string(),url:s.string(),title:s.string().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("source-document"),sourceId:s.string(),mediaType:s.string(),title:s.string(),filename:s.string().optional(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("file"),url:s.string(),mediaType:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.literal("reasoning-file"),url:s.string(),mediaType:s.string(),providerMetadata:m.optional()}),s.looseObject({type:s.custom(t=>typeof t=="string"&&t.startsWith("data-"),{message:'Type must start with "data-"'}),id:s.string().optional(),data:s.unknown(),transient:s.boolean().optional()}),s.looseObject({type:s.literal("start-step")}),s.looseObject({type:s.literal("finish-step")}),s.looseObject({type:s.literal("reset-step")}),s.looseObject({type:s.literal("start"),messageId:s.string().optional(),messageMetadata:s.unknown().optional()}),s.looseObject({type:s.literal("finish"),finishReason:s.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:s.unknown().optional()}),s.looseObject({type:s.literal("abort"),reason:s.string().optional()}),s.looseObject({type:s.literal("message-metadata"),messageMetadata:s.unknown()})])));function kr(t){return t.type.startsWith("data-")}function Y(){return Object.create(null)}function ve(t){return t.type.startsWith("tool-")}function Fr(t){return t.type==="dynamic-tool"}function G(t){return ve(t)||Fr(t)}function Ge(t){return t.type.split("-").slice(1).join("-")}var Ur={type:"deprecated",setting:"rawInput in output-error UI message parts",message:'Use the "input" field instead. The "rawInput" field will be removed in the next major version.'};function Br(t){t.some(a=>a.parts.some(r=>r!=null&&typeof r=="object"&&"type"in r&&typeof r.type=="string"&&(r.type==="dynamic-tool"||r.type.startsWith("tool-"))&&"state"in r&&r.state==="output-error"&&Object.prototype.hasOwnProperty.call(r,"rawInput")&&"rawInput"in r&&r.rawInput!==void 0))&&gr({warnings:[Ur]})}function Zr({lastMessage:t,messageId:e}){return{message:t?.role==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:Y(),activeReasoningParts:Y(),partialToolCalls:Y()}}function Vr({stream:t,messageMetadataSchema:e,dataPartSchemas:a,runUpdateMessageJob:r,onError:n,onToolCall:i,onData:l}){return t.pipeThrough(new TransformStream({async transform(o,p){await r(async({state:c,write:d})=>{var h,g,T,E;function R(){const u=c.message.parts;let _=u.length-1;for(;_>=0&&u[_].type!=="step-start";)_--;return u.slice(_+1)}function f(){return R().filter(G)}function y(u){let I=f().find(M=>M.toolCallId===u);if(I==null){const M=c.message.parts;for(let v=M.length-1;v>=0;v--){const b=M[v];if(G(b)&&b.toolCallId===u){I=b;break}}}if(I==null)throw new V({chunkType:"tool-invocation",chunkId:u,message:`No tool invocation found for tool call ID "${u}".`});return I}function O(u){const I=c.message.parts.filter(G).find(M=>{var v;return((v=M.approval)==null?void 0:v.id)===u});if(I==null)throw new V({chunkType:"tool-approval-response",chunkId:u,message:`No tool invocation found for approval ID "${u}".`});return I}function w(u,_){var I;const M=_??R().find(C=>ve(C)&&C.toolCallId===u.toolCallId),v=u,b=M;if(M!=null){M.state=u.state,b.input=v.input,b.output=v.output,b.errorText=v.errorText,b.rawInput=v.rawInput,b.preliminary=v.preliminary,u.title!==void 0&&(b.title=u.title),u.toolMetadata!==void 0&&(b.toolMetadata=u.toolMetadata),b.providerExecuted=(I=v.providerExecuted)!=null?I:M.providerExecuted;const C=v.providerMetadata;if(C!=null)if(u.state==="output-available"||u.state==="output-error"){const U=M;U.resultProviderMetadata=C}else M.callProviderMetadata=C}else c.message.parts.push({type:`tool-${u.toolName}`,toolCallId:u.toolCallId,state:u.state,title:u.title,...u.toolMetadata!==void 0?{toolMetadata:u.toolMetadata}:{},input:v.input,output:v.output,rawInput:v.rawInput,errorText:v.errorText,providerExecuted:v.providerExecuted,preliminary:v.preliminary,...v.providerMetadata!=null&&(u.state==="output-available"||u.state==="output-error")?{resultProviderMetadata:v.providerMetadata}:{},...v.providerMetadata!=null&&!(u.state==="output-available"||u.state==="output-error")?{callProviderMetadata:v.providerMetadata}:{}})}function A(u,_){var I,M;const v=_??R().find(U=>U.type==="dynamic-tool"&&U.toolCallId===u.toolCallId),b=u,C=v;if(v!=null){v.state=u.state,C.toolName=u.toolName,C.input=b.input,C.output=b.output,C.errorText=b.errorText,C.rawInput=(I=b.rawInput)!=null?I:C.rawInput,C.preliminary=b.preliminary,u.title!==void 0&&(C.title=u.title),u.toolMetadata!==void 0&&(C.toolMetadata=u.toolMetadata),C.providerExecuted=(M=b.providerExecuted)!=null?M:v.providerExecuted;const U=b.providerMetadata;if(U!=null)if(u.state==="output-available"||u.state==="output-error"){const jt=v;jt.resultProviderMetadata=U}else v.callProviderMetadata=U}else c.message.parts.push({type:"dynamic-tool",toolName:u.toolName,toolCallId:u.toolCallId,state:u.state,input:b.input,output:b.output,errorText:b.errorText,preliminary:b.preliminary,providerExecuted:b.providerExecuted,title:u.title,...u.toolMetadata!==void 0?{toolMetadata:u.toolMetadata}:{},...b.providerMetadata!=null&&(u.state==="output-available"||u.state==="output-error")?{resultProviderMetadata:b.providerMetadata}:{},...b.providerMetadata!=null&&!(u.state==="output-available"||u.state==="output-error")?{callProviderMetadata:b.providerMetadata}:{}})}async function k(u){if(u!=null){const _=c.message.metadata!=null?It(c.message.metadata,u):u;e!=null&&await $e({value:_,schema:e,context:{field:"message.metadata",entityId:c.message.id}}),c.message.metadata=_}}switch(o.type){case"text-start":{const u={type:"text",text:"",providerMetadata:o.providerMetadata,state:"streaming"};c.activeTextParts[o.id]=u,c.message.parts.push(u),d();break}case"text-delta":{const u=c.activeTextParts[o.id];if(u==null)throw new V({chunkType:"text-delta",chunkId:o.id,message:`Received text-delta for missing text part with ID "${o.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});u.text+=o.delta,u.providerMetadata=(h=o.providerMetadata)!=null?h:u.providerMetadata,d();break}case"text-end":{const u=c.activeTextParts[o.id];if(u==null)throw new V({chunkType:"text-end",chunkId:o.id,message:`Received text-end for missing text part with ID "${o.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});u.state="done",u.providerMetadata=(g=o.providerMetadata)!=null?g:u.providerMetadata,delete c.activeTextParts[o.id],d();break}case"custom":{const u={type:"custom",kind:o.kind,providerMetadata:o.providerMetadata};c.message.parts.push(u),d();break}case"reasoning-start":{const u={type:"reasoning",id:o.id,text:"",providerMetadata:o.providerMetadata,state:"streaming"};c.activeReasoningParts[o.id]=u,c.message.parts.push(u),d();break}case"reasoning-delta":{const u=c.activeReasoningParts[o.id];if(u==null)throw new V({chunkType:"reasoning-delta",chunkId:o.id,message:`Received reasoning-delta for missing reasoning part with ID "${o.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});u.text+=o.delta,u.providerMetadata=(T=o.providerMetadata)!=null?T:u.providerMetadata,d();break}case"reasoning-end":{const u=c.activeReasoningParts[o.id];if(u==null)throw new V({chunkType:"reasoning-end",chunkId:o.id,message:`Received reasoning-end for missing reasoning part with ID "${o.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});u.providerMetadata=(E=o.providerMetadata)!=null?E:u.providerMetadata,u.state="done",delete c.activeReasoningParts[o.id],d();break}case"file":case"reasoning-file":{c.message.parts.push({type:o.type,mediaType:o.mediaType,url:o.url,...o.providerMetadata!=null?{providerMetadata:o.providerMetadata}:{}}),d();break}case"source-url":{c.message.parts.push({type:"source-url",sourceId:o.sourceId,url:o.url,title:o.title,providerMetadata:o.providerMetadata}),d();break}case"source-document":{c.message.parts.push({type:"source-document",sourceId:o.sourceId,mediaType:o.mediaType,title:o.title,filename:o.filename,providerMetadata:o.providerMetadata}),d();break}case"tool-input-start":{const u=R().filter(ve);c.partialToolCalls[o.toolCallId]={text:"",toolName:o.toolName,index:u.length,dynamic:o.dynamic,title:o.title,toolMetadata:o.toolMetadata},o.dynamic?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-streaming",input:void 0,providerExecuted:o.providerExecuted,title:o.title,toolMetadata:o.toolMetadata,providerMetadata:o.providerMetadata}):w({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-streaming",input:void 0,providerExecuted:o.providerExecuted,title:o.title,toolMetadata:o.toolMetadata,providerMetadata:o.providerMetadata}),d();break}case"tool-input-delta":{const u=c.partialToolCalls[o.toolCallId];if(u==null)throw new V({chunkType:"tool-input-delta",chunkId:o.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${o.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});u.text+=o.inputTextDelta;const{value:_}=await ne(u.text);u.dynamic?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"input-streaming",input:_,title:u.title,toolMetadata:u.toolMetadata}):w({toolCallId:o.toolCallId,toolName:u.toolName,state:"input-streaming",input:_,title:u.title,toolMetadata:u.toolMetadata}),d();break}case"tool-input-available":{o.dynamic?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-available",input:o.input,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:o.title,toolMetadata:o.toolMetadata}):w({toolCallId:o.toolCallId,toolName:o.toolName,state:"input-available",input:o.input,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:o.title,toolMetadata:o.toolMetadata}),d(),i&&!o.providerExecuted&&await i({toolCall:o});break}case"tool-input-error":{const u=R().filter(G).find(I=>I.toolCallId===o.toolCallId);(u!=null?u.type==="dynamic-tool":!!o.dynamic)?A({toolCallId:o.toolCallId,toolName:o.toolName,state:"output-error",input:o.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,toolMetadata:o.toolMetadata}):(w({toolCallId:o.toolCallId,toolName:o.toolName,state:"output-error",input:void 0,rawInput:o.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,toolMetadata:o.toolMetadata}),Br([c.message])),d();break}case"tool-approval-request":{const u=y(o.toolCallId);u.state="approval-requested",u.approval={id:o.approvalId,...o.approvalDescriptor!=null?{descriptor:o.approvalDescriptor}:{},...o.reason!=null?{requestReason:o.reason}:{},...o.isAutomatic===!0?{isAutomatic:!0}:{},...o.signature!=null?{signature:o.signature}:{}},d();break}case"tool-approval-response":{const u=O(o.approvalId),_=u.approval==null?{id:o.approvalId}:u.approval;u.state="approval-responded",u.approval={..._,id:o.approvalId,approved:o.approved,...o.reason!=null?{reason:o.reason}:{}},o.providerExecuted!=null&&(u.providerExecuted=o.providerExecuted),o.providerMetadata!=null&&(u.callProviderMetadata=o.providerMetadata),d();break}case"tool-output-denied":{const u=y(o.toolCallId);u.state="output-denied",d();break}case"tool-output-available":{const u=y(o.toolCallId);u.type==="dynamic-tool"?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"output-available",input:u.input,output:o.output,preliminary:o.preliminary,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u):w({toolCallId:o.toolCallId,toolName:Ge(u),state:"output-available",input:u.input,output:o.output,providerExecuted:o.providerExecuted,preliminary:o.preliminary,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u),d();break}case"tool-output-error":{const u=y(o.toolCallId);u.type==="dynamic-tool"?A({toolCallId:o.toolCallId,toolName:u.toolName,state:"output-error",input:u.input,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u):w({toolCallId:o.toolCallId,toolName:Ge(u),state:"output-error",input:u.input,rawInput:u.rawInput,errorText:o.errorText,providerExecuted:o.providerExecuted,providerMetadata:o.providerMetadata,title:u.title,toolMetadata:u.toolMetadata},u),d();break}case"start-step":{c.message.parts.push({type:"step-start"});break}case"finish-step":break;case"reset-step":{const u=R();c.activeTextParts=Y(),c.activeReasoningParts=Y(),c.partialToolCalls=Y(),u.length>0&&(c.message.parts.splice(c.message.parts.length-u.length,u.length),d());break}case"start":{o.messageId!=null&&(c.message.id=o.messageId),await k(o.messageMetadata),(o.messageId!=null||o.messageMetadata!=null)&&d({updateStatus:!1});break}case"finish":{o.finishReason!=null&&(c.finishReason=o.finishReason),await k(o.messageMetadata),o.messageMetadata!=null&&d();break}case"message-metadata":{await k(o.messageMetadata),o.messageMetadata!=null&&d();break}case"error":{n?.(new Error(o.errorText));break}default:if(kr(o)){if(a?.[o.type]!=null){const I=c.message.parts.findIndex(v=>"id"in v&&"data"in v&&v.id===o.id&&v.type===o.type),M=I>=0?I:c.message.parts.length;await $e({value:o.data,schema:a[o.type],context:{field:`message.parts[${M}].data`,entityName:o.type,entityId:o.id}})}const u=o;if(u.transient){l?.(u);break}const _=u.id!=null?c.message.parts.find(I=>u.type===I.type&&u.id===I.id):void 0;_!=null?_.data=u.data:c.message.parts.push(u),l?.(u),d()}}p.enqueue(o)})}}))}function zr(t){return Wr(t.pipeThrough(new TransformStream))}function Wr(t){return t[Symbol.asyncIterator]=function(){const e=this.getReader();let a=!1;async function r(n){var i;if(!a){a=!0;try{n&&await((i=e.cancel)==null?void 0:i.call(e))}finally{try{e.releaseLock()}catch{}}}}return{async next(){if(a)return{done:!0,value:void 0};let n;try{n=await e.read()}catch(o){throw await r(!1),o}const{done:i,value:l}=n;return i?(await r(!0),{done:!0,value:void 0}):{done:!1,value:l}},async return(){return await r(!0),{done:!0,value:void 0}},async throw(n){throw await r(!0),n}}},t}async function Jr({stream:t,onError:e,abortSignal:a}){const r=t.getReader(),n=()=>{r.cancel().catch(()=>{})};a?.aborted?n():a?.addEventListener("abort",n,{once:!0});try{for(;;){const{done:i}=await r.read();if(i)break}}catch(i){e?.(i)}finally{a?.removeEventListener("abort",n),r.releaseLock()}}D({prefix:"aitxt",size:24});D({prefix:"call",size:24});D({prefix:"aitxt",size:24});D({prefix:"call",size:24});function Hr(t){const e=new Map,a={...t,parts:t.parts.map((n,i)=>n.type==="text"||n.type==="reasoning"?(e.set(i,n.text),{...n,text:""}):n)},r=structuredClone(a);for(const[n,i]of e){const l=r.parts[n];(l.type==="text"||l.type==="reasoning")&&(l.text=i)}return r}function Gr({message:t,stream:e,onError:a,terminateOnError:r=!1}){var n;let i,l=!1,o=!1;const p=new AbortController,c=new ReadableStream({start(g){i=g},cancel(){o=!0,p.abort()}}),d=Zr({messageId:(n=t?.id)!=null?n:"",lastMessage:t}),h=g=>{a?.(g),!l&&r&&(l=!0,i?.error(g))};return Jr({stream:Vr({stream:e,runUpdateMessageJob(g){return g({state:d,write:()=>{o||i?.enqueue(Hr(d.message))}})},onError:h}),onError:h,abortSignal:p.signal}).finally(()=>{!l&&!o&&i?.close()}),zr(c)}s.record(s.string(),J.optional());s.record(s.string(),s.string());D({prefix:"call",size:24});D({prefix:"call",size:24});new TextEncoder;D({prefix:"aiobj",size:24});D({prefix:"aiobj",size:24});s.object({token:s.string().refine(t=>t.trim().length>0),url:s.string().refine(t=>{try{const e=new URL(t);return(e.protocol==="ws:"||e.protocol==="wss:")&&e.hostname!==""}catch{return!1}}),expiresAt:s.number().positive().max(Number.MAX_SAFE_INTEGER).optional(),tools:s.array(s.object({type:s.literal("function"),name:s.string().min(1),description:s.string().optional(),parameters:s.record(s.string(),s.unknown())})).optional()});D({prefix:"call",size:24});function Yr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((n,i,l)=>i.type==="step-start"?l:n,-1),r=e.parts.slice(a+1).filter(G);return r.filter(n=>n.state==="approval-responded").length>0&&r.every(n=>n.state==="output-available"&&n.preliminary!==!0||n.state==="output-error"||n.state==="output-denied"||n.state==="approval-responded")}function qr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((n,i,l)=>i.type==="step-start"?l:n,-1),r=e.parts.slice(a+1).filter(G).filter(n=>!n.providerExecuted);return r.length>0&&r.every(n=>n.state==="output-available"&&n.preliminary!==!0||n.state==="output-error")}function ee(t,e){const a=t.content;if(Array.isArray(a)){const r=a[0];if(r&&typeof r=="object"){const n=r.text;if(n)return n}}return e}const Kr=new Set(["tool-input-start","tool-input-available"]),Xr=new Set(["tool-output-available","tool-output-error","tool-approval-request","tool-output-denied"]),Qr="unknown";function en(t){const e=[];for(const a of t?.parts??[]){const r=a.toolCallId;typeof r=="string"&&e.push(r)}return e}function tn(t=[]){const e=new Set(t),a=new Set;return r=>{const{type:n}=r,i=r.toolCallId;return typeof i!="string"?[r]:Kr.has(n)?(e.add(i),n==="tool-input-start"&&a.add(i),[r]):n==="tool-input-delta"?a.has(i)?[r]:[]:Xr.has(n)&&!e.has(i)?(e.add(i),[{type:"tool-input-available",toolCallId:i,toolName:r.toolName??Qr,input:{}},r]):[r]}}function an(t,e){const a=tn(en(e));return t.pipeThrough(new TransformStream({transform(r,n){for(const i of a(r))n.enqueue(i)}}))}const rn=["sending","received","waiting-runner","starting-run","waiting-capacity","gathering-context","preparing-tools","starting-assistant","analyzing-scope","starting-sandbox","choosing-next-steps","retrying-provider"],nn={sending:{label:"chat.runStatus.sendingLabel",detail:"chat.runStatus.sendingDetail"},received:{label:"chat.runStatus.receivedLabel",detail:"chat.runStatus.receivedDetail"},"waiting-runner":{label:"chat.runStatus.waitingRunnerLabel",detail:"chat.runStatus.waitingRunnerDetail"},"starting-run":{label:"chat.runStatus.startingRunLabel",detail:"chat.runStatus.startingRunDetail"},"waiting-capacity":{label:"chat.runStatus.waitingCapacityLabel",detail:"chat.runStatus.waitingCapacityDetail"},"gathering-context":{label:"chat.runStatus.gatheringContextLabel",detail:"chat.runStatus.gatheringContextDetail"},"preparing-tools":{label:"chat.runStatus.preparingToolsLabel",detail:"chat.runStatus.preparingToolsDetail"},"starting-assistant":{label:"chat.runStatus.startingAssistantLabel",detail:"chat.runStatus.startingAssistantDetail"},"analyzing-scope":{label:"chat.runStatus.analyzingScopeLabel",detail:"chat.runStatus.analyzingScopeDetail"},"starting-sandbox":{label:"chat.runStatus.startingSandboxLabel",detail:"chat.runStatus.startingSandboxDetail"},"choosing-next-steps":{label:"chat.runStatus.choosingNextStepsLabel",detail:"chat.runStatus.choosingNextStepsDetail"},"retrying-provider":{label:"chat.runStatus.retryingProviderLabel",detail:"chat.runStatus.retryingProviderDetail"}};function Vn(t,e){const a=nn[e];return{label:t(a.label),detail:t(a.detail)}}const ye=new Map(rn.map((t,e)=>[t,e]));function sn(t){return typeof t=="string"&&ye.has(t)}function on(t){if(!t||typeof t!="object")return null;const e=t;if(e.type!=="data-run-status")return null;const a=e.data?.stage;return sn(a)?a:null}function ln(t){return!t||typeof t!="object"?!1:t.type==="data-run-status"}function un(t,e){if(t===null)return e;const a=ye.get(t)??-1;return(ye.get(e)??-1)>=a?e:t}const Mt={ai_budget_exhausted:"[PLAN_BUDGET]",feature_not_in_plan:"[PLAN_FEATURE]"};function cn(t,e){const a=dn(t);if(!a)return t||`POST /messages failed (${e})`;const r=Mt[a.code];return r?`${r} ${a.message}`:a.message}function zn(t){const e=t?.message;if(!e)return null;for(const[a,r]of Object.entries(Mt))if(e.startsWith(r))return a;return null}function dn(t){if(!t.trimStart().startsWith("{"))return null;let e;try{e=JSON.parse(t)}catch{return null}if(!e||typeof e!="object")return null;const{error:a,message:r,code:n}=e,i=typeof a=="string"?a:r;return typeof i!="string"||!i?null:{message:i,...typeof n=="string"?{code:n}:{}}}const pn=1e3,fn=3e4,hn=50,mn=6e4,gn=typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0),vn=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:t=>clearTimeout(t);function Ye(t,e){if(e.kind==="message"){const a=e.message;if(a.created_at!=null)return[...t,a];const r=a.metadata?.created_at;if(r!=null)return[...t,{...a,created_at:r}];let n=0;for(const l of t){const o=l.created_at;if(o==null)continue;const p=new Date(o).getTime();Number.isFinite(p)&&p>n&&(n=p)}const i=Math.max(Date.now(),n+1);return[...t,{...a,created_at:new Date(i).toISOString()}]}for(let a=t.length-1;a>=0;a--){const r=t[a];if(!r||r.role!=="assistant")continue;const n=yn(r.parts,e);if(n===-1)continue;const i=r.parts[n];if(!i)continue;const l=bn(i,e);if(!l)continue;const o=[...r.parts];o[n]=l;const p=[...t];return p[a]={...r,parts:o},p}return null}function be(t){return t.type==="dynamic-tool"||t.type.startsWith("tool-")}function yn(t,e){return e.kind==="toolOutput"?t.findIndex(a=>be(a)&&a.toolCallId===e.toolCallId):t.findIndex(a=>be(a)&&a.state==="approval-requested"&&a.approval?.id===e.approvalId)}function bn(t,e){return be(t)?e.kind==="toolOutput"?{...t,state:e.state??"output-available",output:e.output,errorText:e.errorText}:{...t,state:"approval-responded",approval:{id:e.approvalId,approved:e.approved,...e.reason?{reason:e.reason}:{}}}:null}function Sn(t){return t.kind==="message"?`message id=${t.message.id}`:t.kind==="toolOutput"?`toolOutput toolCallId=${t.toolCallId}`:`approval approvalId=${t.approvalId}`}class _n{constructor(e,a,r={}){this.orgSlug=e,this.threadId=a,this.key=`${e}::${a}`,this.client=r.client??null,this.ready=new Promise(n=>{this.resolveReady=n}),this.bootstrap()}orgSlug;threadId;key;messages=new $([]);status=new $({kind:"loading"});finishReason=new $(null);runStatusStage=new $(null);hasMoreOlder=new $(!1);isFetchingOlder=new $(!1);observer=null;abort=new AbortController;subController=null;pendingFinishReason=void 0;discardOnClose=!1;inflightPost=null;waitingForNewRun=!1;acceptPreStartRunStatus=!0;freshRunSubstream=!1;client;serverFetchedCount=0;pageSize=5;chunkBuffer=[];ready;resolveReady;dispose(){this.abort.abort()}async submit(e,a){this.finishReason.set(null);const r=Ye(this.messages.get(),e);if(!r)throw new Error(`submit: target not found for ${Sn(e)}`);if(this.messages.set(z(r,[])),this.acceptPreStartRunStatus=!0,!(e.kind==="message"||Yr({messages:r})||qr({messages:r})))return;const i=r.at(-1);if(!i){this.status.set({kind:"ready"});return}this.runStatusStage.set("sending"),this.status.set({kind:"submitted"});const l=new AbortController;this.inflightPost=l;try{await this.post(i,a,l.signal)}catch(o){if(this.clearRunStatusStage(),l.signal.aborted)return;const p=o instanceof Error?o:new Error(String(o));this.failTo(p)}finally{this.inflightPost===l&&(this.inflightPost=null)}}async enqueue(e,a){await this.post(e,a,void 0,!0)}applyLocalMessage(e){this.messages.update(a=>{const r=Ye(a,{kind:"message",message:e})??a;return z(r,[])})}removeLocalMessage(e){this.messages.update(a=>a.filter(r=>r.id!==e))}stop(){this.inflightPost?.abort();const e=this.status.get();(e.kind==="submitted"||e.kind==="streaming")&&this.status.set({kind:"ready"}),this.clearRunStatusStage(),this.acceptPreStartRunStatus=!1,this.subController&&this.forceCloseSubStream(!0),this.messages.update(a=>{const r=a.at(-1);if(r?.role!=="assistant"||r.created_at!=null)return a;const i={...r,created_at:new Date().toISOString()};return[...a.slice(0,-1),i]}),this.waitingForNewRun=!0}clearError(){this.status.get().kind==="error"&&this.status.set({kind:"ready"})}async bootstrap(){this.loadInitialPage(),await this.runSseLoop()}async loadInitialPage(){if(await Promise.resolve(),!this.client){this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer(),this.resolveReady();return}try{const e=await this.fetchLatestPage("COLLECTION_THREAD_MESSAGES_LIST failed");if(e.kind==="aborted"){this.resolveReady();return}if(e.kind==="error")throw new Error(e.message);const a=e.items;if(this.messages.update(r=>z(r,a)),this.finishReason.get()===null){const r=this.messages.get().at(-1),n=r?.role==="assistant"?r.metadata?.finishReason:void 0;n&&this.finishReason.set(n)}this.serverFetchedCount=a.length,this.hasMoreOlder.set(e.hasMore??!1),this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer()}catch(e){this.failTo(e instanceof Error?e:new Error(String(e))),this.drainChunkBuffer()}finally{this.resolveReady()}}async fetchLatestPage(e){if(!this.client)return{kind:"aborted"};const a=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:0,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return{kind:"aborted"};if(a.isError)return{kind:"error",message:ee(a,e)};const r=a.structuredContent??a;return{kind:"ok",items:r.items??[],hasMore:r.hasMore}}async refetchLatestPage(){if(this.client)try{const e=await this.fetchLatestPage("tool error");if(e.kind==="aborted")return;if(e.kind==="error"){console.warn("[chat-store] refetchLatestPage:",e.message);return}this.messages.update(a=>z(a,e.items)),e.hasMore!==void 0&&this.hasMoreOlder.set(e.hasMore)}catch(e){console.warn("[chat-store] refetchLatestPage failed:",e)}}async reconcileFromServer(){if(!this.client)return!1;try{const e=await this.fetchLatestPage("tool error");return e.kind==="aborted"?!1:e.kind==="error"?(console.warn("[chat-store] reconcileFromServer:",e.message),!1):this.applyReconcile(e.items,e.hasMore)}catch(e){return console.warn("[chat-store] reconcileFromServer failed:",e),!1}}applyReconcile(e,a){const r=this.status.get().kind;return r==="submitted"||r==="streaming"?!1:(this.messages.update(n=>wn(n,e)),a!==void 0&&this.hasMoreOlder.set(a),!0)}async fetchOlderMessages(){if(this.client&&this.hasMoreOlder.get()&&!this.isFetchingOlder.get()){this.isFetchingOlder.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:this.serverFetchedCount,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return;if(e.isError)throw new Error(ee(e,"COLLECTION_THREAD_MESSAGES_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.messages.update(n=>z(n,r)),this.serverFetchedCount+=r.length,this.hasMoreOlder.set(a.hasMore??!1)}catch(e){const a=e instanceof Error?e.message:String(e);console.warn("[chat-store] fetchOlderMessages failed:",a),pe.error(`Could not load older messages: ${a}`)}finally{this.isFetchingOlder.set(!1)}}}async post(e,a,r,n=!1){const{system:i,...l}=a,o=i&&e.role==="user"?{id:crypto.randomUUID(),role:"system",parts:[{type:"text",text:i}]}:null,c={messages:o?[o,e]:[e],...l},d=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/messages`,h=AbortSignal.timeout(mn),g=r?AbortSignal.any([r,h]):h;let T;try{T=await fetch(d,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify(c),signal:g})}catch(E){throw h.aborted&&!r?.aborted?new Error("request timed out — retry"):E}if(!T.ok){const E=await T.text().catch(()=>"");throw new Error(cn(E,T.status))}!n&&this.runStatusStage.get()!==null&&this.setRunStatusStage("received")}async runSseLoop(){const e=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/stream`;let a=0,r=!0;for(;!this.abort.signal.aborted;){r||this.forceCloseSubStream(!0);let n=!1;try{const l=await fetch(e,{method:"GET",credentials:"include",headers:{accept:"text/event-stream"},signal:this.abort.signal});if(l.status===204||!l.body)return;if(!l.ok){const o=await l.text().catch(()=>"");this.failTo(new Error(o||`GET /stream failed (${l.status})`));return}if(a=0,r||await this.refetchLatestPage(),r=!1,n=await this.consumeStreamSse(l.body),!n&&this.status.get().kind==="error")return}catch{if(this.abort.signal.aborted)return}if(this.abort.signal.aborted)return;const i=n?hn:Ke(fn,pn,a,2,.5);a++,i>0&&await sa(i,{signal:this.abort.signal}).catch(()=>{})}}async consumeStreamSse(e){const a=e.getReader(),r=new TextDecoder;let n="";for(;;){const{done:i,value:l}=await a.read();if(i)return!0;n+=r.decode(l,{stream:!0});let o;for(;(o=n.indexOf(`
12
12
 
13
13
  `))!==-1;){const p=n.slice(0,o);if(n=n.slice(o+2),await this.handleStreamFrame(p),this.status.get().kind==="error")return!1}}}async handleStreamFrame(e){const a=e.split(`
14
14
  `);let r="message";const n=[];for(const o of a)o.startsWith("event:")?r=o.slice(6).trim():o.startsWith("data:")&&n.push(o.slice(5).trim());if(n.length===0)return;const i=n.join(`
15
- `);if(r!=="message")return;let l;try{l=JSON.parse(i)}catch(o){this.failTo(o instanceof Error?o:new Error(String(o)));return}await this.validateAndHandleChunk(l)}async validateAndHandleChunk(e){try{const a=$r(),r=a.validate?await a.validate(e):{success:!0,value:e};if(!r.success){this.failTo(r.error instanceof Error?r.error:new Error(String(r.error)));return}this.handleChunk(r.value)}catch(a){this.failTo(a instanceof Error?a:new Error(String(a)))}}drainChunkBuffer(){const e=this.chunkBuffer??[];this.chunkBuffer=null;for(const a of e)this.handleChunk(a)}setRunStatusStage(e){this.runStatusStage.update(a=>un(a,e))}clearRunStatusStage(){this.runStatusStage.get()!==null&&this.runStatusStage.set(null)}handleChunk(e){if(this.chunkBuffer!==null){this.chunkBuffer.push(e);return}if(e.type==="data-user-message"){const i=e.data;i&&this.applyLocalMessage(i);return}const a=ln(e),r=on(e);if(this.waitingForNewRun){if(a){this.acceptPreStartRunStatus&&r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start")return;this.waitingForNewRun=!1,this.acceptPreStartRunStatus=!0}if(a){r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start"&&e.type!=="finish"&&!e.type.startsWith("data-")&&e.type!=="start-step"&&this.clearRunStatusStage(),e.type.startsWith("data-")&&this.observer?.onData?.(e),e.type==="tool-input-available"){const i=e;this.observer?.onToolCall?.({toolCall:{toolCallId:i.toolCallId,toolName:i.toolName,input:i.input}})}e.type==="start"&&(this.freshRunSubstream=!0);const n=this.ensureSubStream();if(n.enqueue(e),e.type==="finish"){const i=e;this.pendingFinishReason=i.finishReason,this.clearRunStatusStage(),this.subController=null,n.close()}}forceCloseSubStream(e=!1){const a=this.subController;if(a){this.discardOnClose=e,this.subController=null;try{a.close()}catch{}}}ensureSubStream(){if(this.subController)return this.subController;this.pendingFinishReason=void 0;let e;const a=new ReadableStream({start(r){e=r}});return this.subController=e,this.foldSubStream(a),e}async foldSubStream(e){const a=this.messages.get(),r=a.at(-1),n=this.freshRunSubstream&&r?.role==="assistant"&&(r.parts??[]).some(E=>"state"in E&&(E.state==="approval-requested"||E.state==="approval-responded")),i=n?structuredClone(r):!this.freshRunSubstream&&a.length>0&&r?.role==="assistant"?r:void 0,l=n?r?.id:void 0;this.freshRunSubstream=!1;const o=Hr({message:i,stream:an(e,i),onError:E=>{const R=E instanceof Error?E:new Error(String(E));this.failTo(R)}});let p=null,c=null,d=null;const h=()=>{if(d=null,!c)return;const E=l&&c.id!==l?{...c,id:l}:c;c=null,this.messages.update(R=>z(Rt(In(R,An(R,E))),[]))};for await(const E of o)p=E,c=E,d===null&&(d=gn(h)),this.status.get().kind!=="streaming"&&this.status.set({kind:"streaming"});d!==null&&(vn(d),d=null),c&&h();const g=this.pendingFinishReason,T=this.discardOnClose;if(this.subController=null,this.pendingFinishReason=void 0,this.discardOnClose=!1,T||(this.finishReason.set(g??null),this.status.set({kind:"ready"})),p&&!T){const E=l??p.id;this.messages.update(f=>{const y=f.findIndex(u=>u.id===E);if(y===-1)return f;const O=f[y];if(O.created_at!=null)return f;const w=O.metadata?.created_at,A=w!=null?new Date(w).toISOString():new Date().toISOString(),k=[...f];return k[y]={...O,created_at:A},k}),this.observer?.onFinish?.(p,this.messages.get(),g),p.metadata?.resumedFromBackground&&this.refetchLatestPage()}}failTo(e){this.abort.signal.aborted||(this.clearRunStatusStage(),this.status.set({kind:"error",error:e}),this.observer?.onError?.(e))}}function En(t,e){const a=new Map;for(const r of t.parts)r&&typeof r=="object"&&"toolCallId"in r&&"created_at"in r&&typeof r.toolCallId=="string"&&a.set(r.toolCallId,r.created_at);return a.size===0?e.parts:e.parts.map(r=>{if(r&&typeof r=="object"&&"toolCallId"in r&&!("created_at"in r)&&typeof r.toolCallId=="string"){const n=a.get(r.toolCallId);if(n!=null)return{...r,created_at:n}}return r})}function Ct(t,e){if(!t)return e;const a=t.created_at,r=e.created_at,n=En(t,e);let i=n===e.parts?e:{...e,parts:n};return r==null&&a!=null&&(i={...i,created_at:a}),i}function In(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1)return[...t,e];const r=[...t];return r[a]=Ct(r[a],e),r}const se="msg_async_stub_";function Rt(t){let e=!1;for(const r of t)if(r.id.startsWith(se)){e=!0;break}if(!e)return t;const a=new Set;for(const r of t)if(r.role==="assistant"&&!r.id.startsWith(se))for(const n of r.parts)n&&typeof n=="object"&&"type"in n&&n.type==="tool-web_search"&&"toolCallId"in n&&a.add(n.toolCallId);return a.size===0?t:t.filter(r=>{if(!r.id.startsWith(se))return!0;const n=Tn(r)??r.id.slice(se.length);return!a.has(n)})}function Tn(t){for(const e of t.parts)if(e&&typeof e=="object"&&"type"in e&&e.type==="tool-web_search"&&"toolCallId"in e&&typeof e.toolCallId=="string")return e.toolCallId}function z(t,e){const a=new Map(t.map(n=>[n.id,n]));for(const n of e)a.set(n.id,Ct(a.get(n.id),n));const r=[...a.values()];return r.sort((n,i)=>{const l=ae(n),o=ae(i);if(l!==o)return l-o;const p=h=>h.role==="user"?0:h.role==="assistant"?1:2,c=p(n),d=p(i);return c!==d?c-d:n.id<i.id?-1:n.id>i.id?1:0}),Rt(r)}function wn(t,e){if(e.length===0)return t;const a=new Set(e.map(i=>i.id));let r=Number.POSITIVE_INFINITY;for(const i of e){const l=ae(i);l<r&&(r=l)}const n=t.filter(i=>{if(i.role!=="assistant"||a.has(i.id))return!0;const l=ae(i);return Number.isFinite(l)&&l<=r});return z(n,e)}function An(t,e){if(e.created_at!=null||t.find(n=>n.id===e.id)?.created_at!=null)return e;let r=0;for(const n of t){const i=ae(n);Number.isFinite(i)&&i>r&&(r=i)}return r===0?e:{...e,created_at:new Date(r+1).toISOString()}}function ae(t){const e=t;if(e.created_at!=null)return new Date(e.created_at).getTime();const a=t.metadata;return a?.created_at!=null?new Date(a.created_at).getTime():Number.POSITIVE_INFINITY}let X=null;function On(t,e,a={}){const r=`${t}::${e}`;return X?.key===r||(X?.dispose(),X=new _n(t,e,a)),X}const Nt="notification.created",Mn=3e4,Cn=1e3;function Pt(t){const{buildUrl:e,eventTypes:a,name:r,crossTab:n=!1}=t,i=new Map,l=n&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(l&&!r)throw new Error("createSSESubscription: `name` is required when crossTab");function o(f,y){f.bootDone=!0;for(const O of f.handlers)try{O(y)}catch{}}function p(f){for(const y of f.reconnectHandlers)try{y()}catch{}}function c(f){const y=new EventSource(e(f.key));f.es=y,y.onopen=()=>{f.reconnectAttempt=0,f.bootDone&&(p(f),f.channel?.postMessage({kind:"reconnect"})),f.bootDone=!0},y.onerror=()=>{f.es===y&&y.readyState===EventSource.CLOSED&&d(f)};const O=w=>{f.channel?.postMessage({kind:"event",type:w.type,data:w.data}),o(f,w)};for(const w of a)y.addEventListener(w,O)}function d(f){if(f.refCount<=0||f.reconnectTimer)return;const y=Ke(Mn,Cn,f.reconnectAttempt,2,0);f.reconnectAttempt++,f.reconnectTimer=setTimeout(()=>{f.reconnectTimer=null,!(f.refCount<=0||!f.isLeader)&&(f.es?.close(),c(f))},y)}function h(f){if(f.refCount<=0){f.releaseLeadership?.(),f.releaseLeadership=null;return}f.isLeader=!0,c(f)}function g(f){if(!l){h(f);return}f.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${r}:${f.key}`,{signal:f.lockAbort.signal},()=>new Promise(y=>{f.releaseLeadership=y,h(f)})).catch(()=>{})}function T(f,y){y.kind==="event"?o(f,new MessageEvent(y.type,{data:y.data})):y.kind==="reconnect"&&p(f)}function E(f){const y=i.get(f);if(y)return y;const O={key:f,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(i.set(f,O),l){const w=new BroadcastChannel(`sse:${r}:${f}`);w.onmessage=A=>T(O,A.data),O.channel=w}return O}function R(f){f.reconnectTimer&&(clearTimeout(f.reconnectTimer),f.reconnectTimer=null),f.es?.close(),f.es=null,f.releaseLeadership?.(),f.releaseLeadership=null,f.lockAbort?.abort(),f.lockAbort=null,f.channel?.close(),f.channel=null,i.delete(f.key)}return{dispose(){for(const f of[...i.values()])R(f)},subscribe(f,y,O){const w=!i.has(f),A=E(f);A.refCount++,A.handlers.add(y),O&&A.reconnectHandlers.add(O),w&&g(A);let k=!1;return()=>{k||(k=!0,A.handlers.delete(y),O&&A.reconnectHandlers.delete(O),A.refCount--,A.refCount<=0&&R(A))}}}}function le(t,e){const a=new Set(e);return{dispose:()=>t.dispose(),subscribe(r,n,i){const l=o=>{a.has(o.type)&&n(o)};return t.subscribe(r,l,i)}}}const xt=[...tt,Xe,Qe,et,Nt],Rn=xt,Nn=xt,ue=Pt({name:"watch",buildUrl:t=>`/api/${encodeURIComponent(t)}/watch?types=${Rn.join(",")}`,eventTypes:Nn,crossTab:!0}),Pn=le(ue,[...tt]),Wn=le(ue,[Xe,Qe]),Jn=le(ue,[et]),Gn=le(ue,[Nt]),Hn=Pt({buildUrl:t=>`/api/${encodeURIComponent(t)}/watch?scope=all&types=${oe.THREAD_STATUS}`,eventTypes:[oe.THREAD_STATUS]}),xn=Pn,Dn=6e4;function Q(t,e,a=!0){const r=t.findIndex(p=>p.id===e.id);if(r===-1){const p=new Date().toISOString();return[{created_at:e.created_at??e.updated_at??p,updated_at:e.updated_at??p,...e,title:e.title??"New chat",branch:e.branch??null,...a?{partial:!0}:{}},...t]}const n=[...t],i=n[r],l=i.updated_at?new Date(i.updated_at).getTime():Number.NEGATIVE_INFINITY;return(e.updated_at?new Date(e.updated_at).getTime():Number.POSITIVE_INFINITY)<l?t:(n[r]={...n[r],...e},n)}function qe(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1)return[e,...t];const r=[...t];return r[a]={...r[a],...e,partial:void 0},r}class jn{constructor(e,a,r={}){this.orgSlug=e,this.locator=a,this.key=`${e}::${a}`,this.client=r.client??null;const n=r.sse??xn;this.watchUnsubscribe=n.subscribe(this.orgSlug,i=>this.handleWatchEvent(i),()=>this.onWatchReconnect()),this.loadInitialPage()}orgSlug;locator;threads=new $([]);threadsStatus=new $({kind:"loading"});active=new $(null);key;hasMore=new $(!1);isFetchingMore=new $(!1);archivedTombstones=new Map;client;nextOffset=0;pageSize=10;scopeWhere={created_by:"me"};scopeKey=JSON.stringify({created_by:"me"});loadGeneration=0;eventBuffer=[];watchUnsubscribe=null;dispose(){this.watchUnsubscribe?.(),this.watchUnsubscribe=null,this.active.set(null)}setActive(e){const a=On(this.orgSlug,e,{client:this.client});return this.active.get()!==a&&this.active.set(a),a}closeActive(){this.active.get()!==null&&this.active.set(null)}async create(e){try{if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=await this.client.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:e}});if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_CREATE failed"));const r=a.structuredContent?.item;if(!r)throw new Error("create: no item returned");return this.threads.update(n=>qe(n,r)),r}catch(a){const r=a instanceof Error?a.message:String(a);throw pe.error(`Could not create chat: ${r}`),a}}rename(e,a){return this.optimisticUpdate(e,{title:a})}hide(e){return this.optimisticHide(e)}setStatus(e,a){return this.optimisticUpdate(e,{status:a})}setBranch(e,a){return this.optimisticUpdate(e,{branch:a})}setAgent(e,a){return this.optimisticUpdate(e,{virtual_mcp_id:a})}patchThread(e){this.isTombstoned(e.id)||this.threads.update(a=>Q(a,e))}mergeThreads(e){e.length!==0&&this.threads.update(a=>e.reduce((r,n)=>this.isTombstoned(n.id)?r:Q(r,n,!1),a))}async optimisticUpdate(e,a){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const r=this.threads.get();this.threads.update(n=>Q(n,{...a,id:e,updated_at:new Date().toISOString()},!1));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:a}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(n){throw this.threads.set(r),n}}async optimisticHide(e){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=this.threads.get();this.archivedTombstones.set(e,Date.now()),this.threads.update(r=>r.filter(n=>n.id!==e));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:{hidden:!0}}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(r){throw this.threads.set(a),this.archivedTombstones.delete(e),r}}pruneArchivedTombstones(){if(this.archivedTombstones.size===0)return;const e=Date.now()-Dn;for(const[a,r]of this.archivedTombstones)r<e&&this.archivedTombstones.delete(a)}isTombstoned(e){return this.pruneArchivedTombstones(),this.archivedTombstones.has(e)}async loadInitialPage(){const e=++this.loadGeneration;if(!this.client){this.drainEventBuffer();return}try{const a=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:0,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1,...this.scopeWhere}}});if(e!==this.loadGeneration)return;if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_LIST failed"));const r=a.structuredContent??a,n=r.items??[];this.threads.set(n),this.hasMore.set(r.hasMore??!1),this.nextOffset=n.length,this.threadsStatus.set({kind:"ready"}),this.drainEventBuffer()}catch(a){if(e!==this.loadGeneration)return;this.threadsStatus.set({kind:"error",error:a instanceof Error?a:new Error(String(a))}),this.drainEventBuffer()}}setScope(e){const a=JSON.stringify(e);a!==this.scopeKey&&(this.scopeKey=a,this.scopeWhere=e,this.nextOffset=0,this.loadInitialPage())}drainEventBuffer(){const e=this.eventBuffer??[];this.eventBuffer=null;for(const a of e)this.isTombstoned(a.id)||this.threads.update(r=>Q(r,a))}async fetchNextPage(){if(!this.client||!this.hasMore.get()||this.isFetchingMore.get())return;this.isFetchingMore.set(!0);const e=this.loadGeneration;try{const a=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:this.nextOffset,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1,...this.scopeWhere}}});if(e!==this.loadGeneration)return;if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_LIST failed"));const r=a.structuredContent??a,n=r.items??[];this.threads.update(i=>{const l=new Set(i.map(o=>o.id));return[...i,...n.filter(o=>!l.has(o.id))]}),this.hasMore.set(r.hasMore??!1),this.nextOffset+=n.length}catch(a){const r=a instanceof Error?a.message:String(a);pe.error(`Could not load more chats: ${r}`)}finally{this.isFetchingMore.set(!1)}}async fetchThread(e){if(!e)return null;const a=this.threads.get().find(r=>r.id===e);return a||this.getThreadRemote(e)}async getThreadRemote(e){if(!e||!this.client)return null;try{const a=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});return a.isError?null:(a.structuredContent??a).item??null}catch{return null}}async refreshThreadMetadata(e){if(!(!e||!this.client)&&this.threads.get().some(a=>a.id===e))try{const a=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});if(a.isError)return;const n=(a.structuredContent??a).item;if(!n)return;this.patchThread({id:n.id,metadata:n.metadata,virtual_mcp_id:n.virtual_mcp_id,branch:n.branch,updated_at:n.updated_at})}catch{}}async fetchThreadIntoSlot(e){const a=await this.getThreadRemote(e);return a&&!a.hidden&&!this.isTombstoned(a.id)&&this.threads.update(r=>qe(r,a)),a??this.threads.get().find(r=>r.id===e)??null}handleWatchEvent(e){if(e.type!==oe.THREAD_STATUS)return;let a;try{a=JSON.parse(e.data)}catch{return}if(this.isTombstoned(a.subject))return;const r={id:a.subject,updated_at:a.data.updated_at??a.time,...a.data.status!==void 0&&{status:a.data.status},...a.data.created_by!==void 0&&{created_by:a.data.created_by},...a.data.trigger_id!==void 0&&{trigger_id:a.data.trigger_id},...a.data.virtual_mcp_id!==void 0&&{virtual_mcp_id:a.data.virtual_mcp_id},...a.data.title!==void 0&&{title:a.data.title},...a.data.branch!==void 0&&{branch:a.data.branch},...a.data.harness_id!==void 0&&{harness_id:a.data.harness_id},...a.data.created_at!==void 0&&{created_at:a.data.created_at},...a.data.metadata!==void 0&&{metadata:a.data.metadata}};if(this.eventBuffer!==null){this.eventBuffer.push(r);return}this.threads.update(n=>Q(n,r))}onWatchReconnect(){this.eventBuffer=[],this.loadInitialPage()}}let G=null;function Ln(t,e,a={}){const r=`${t}::${e}`;return G&&G.key===r||(G?.dispose(),G=new jn(t,e,a)),G}const Te=W.createContext(null);function Yn(t){const e=Se.c(10),{children:a}=t,{org:r,locator:n}=ta();let i;e[0]!==r.id||e[1]!==r.slug?(i={connectionId:aa,orgId:r.id,orgSlug:r.slug},e[0]=r.id,e[1]=r.slug,e[2]=i):i=e[2];const l=na(i);let o;e[3]!==l||e[4]!==n||e[5]!==r.slug?(o=Ln(r.slug,n,{client:l}),e[3]=l,e[4]=n,e[5]=r.slug,e[6]=o):o=e[6];const p=o;let c;return e[7]!==a||e[8]!==p?(c=ra.jsx(Te.Provider,{value:p,children:a}),e[7]=a,e[8]=p,e[9]=c):c=e[9],c}function Dt(){const t=W.useContext(Te);if(!t)throw new Error("useThreadManager: missing ThreadManagerProvider");return t}function qn(){return W.useContext(Te)}function Kn(){const t=Se.c(8),e=Dt(),a=W.useSyncExternalStore(e.threads.subscribe,e.threads.get),r=W.useSyncExternalStore(e.threadsStatus.subscribe,e.threadsStatus.get),n=W.useSyncExternalStore(e.hasMore.subscribe,e.hasMore.get),i=W.useSyncExternalStore(e.isFetchingMore.subscribe,e.isFetchingMore.get);let l;t[0]!==e?(l=e.fetchNextPage.bind(e),t[0]=e,t[1]=l):l=t[1];let o;return t[2]!==n||t[3]!==i||t[4]!==r||t[5]!==l||t[6]!==a?(o={threads:a,status:r,hasMore:n,isFetchingMore:i,fetchNextPage:l},t[2]=n,t[3]=i,t[4]=r,t[5]=l,t[6]=a,t[7]=o):o=t[7],o}function Xn(){const t=Se.c(28),e=Dt();let a;t[0]!==e?(a=e.create.bind(e),t[0]=e,t[1]=a):a=t[1];let r;t[2]!==e?(r=e.rename.bind(e),t[2]=e,t[3]=r):r=t[3];let n;t[4]!==e?(n=e.hide.bind(e),t[4]=e,t[5]=n):n=t[5];let i;t[6]!==e?(i=e.setStatus.bind(e),t[6]=e,t[7]=i):i=t[7];let l;t[8]!==e?(l=e.setBranch.bind(e),t[8]=e,t[9]=l):l=t[9];let o;t[10]!==e?(o=e.setAgent.bind(e),t[10]=e,t[11]=o):o=t[11];let p;t[12]!==e?(p=e.setScope.bind(e),t[12]=e,t[13]=p):p=t[13];let c;t[14]!==e?(c=e.setActive.bind(e),t[14]=e,t[15]=c):c=t[15];let d;t[16]!==e?(d=e.closeActive.bind(e),t[16]=e,t[17]=d):d=t[17];let h;return t[18]!==a||t[19]!==r||t[20]!==n||t[21]!==i||t[22]!==l||t[23]!==o||t[24]!==p||t[25]!==c||t[26]!==d?(h={create:a,rename:r,hide:n,setStatus:i,setBranch:l,setAgent:o,setScope:p,setActive:c,closeActive:d},t[18]=a,t[19]=r,t[20]=n,t[21]=i,t[22]=l,t[23]=o,t[24]=p,t[25]=c,t[26]=d,t[27]=h):h=t[27],h}export{oe as D,$ as S,Yn as T,Dt as a,Kn as b,Xn as c,xn as d,Hn as e,Zn as f,On as g,Vn as h,an as i,Jn as j,Gn as n,zn as p,Hr as r,Wn as t,qn as u,mt as z};
15
+ `);if(r!=="message")return;let l;try{l=JSON.parse(i)}catch(o){this.failTo(o instanceof Error?o:new Error(String(o)));return}await this.validateAndHandleChunk(l)}async validateAndHandleChunk(e){try{const a=$r(),r=a.validate?await a.validate(e):{success:!0,value:e};if(!r.success){this.failTo(r.error instanceof Error?r.error:new Error(String(r.error)));return}this.handleChunk(r.value)}catch(a){this.failTo(a instanceof Error?a:new Error(String(a)))}}drainChunkBuffer(){const e=this.chunkBuffer??[];this.chunkBuffer=null;for(const a of e)this.handleChunk(a)}setRunStatusStage(e){this.runStatusStage.update(a=>un(a,e))}clearRunStatusStage(){this.runStatusStage.get()!==null&&this.runStatusStage.set(null)}handleChunk(e){if(this.chunkBuffer!==null){this.chunkBuffer.push(e);return}if(e.type==="data-user-message"){const i=e.data;i&&this.applyLocalMessage(i);return}const a=ln(e),r=on(e);if(this.waitingForNewRun){if(a){this.acceptPreStartRunStatus&&r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start")return;this.waitingForNewRun=!1,this.acceptPreStartRunStatus=!0}if(a){r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start"&&e.type!=="finish"&&!e.type.startsWith("data-")&&e.type!=="start-step"&&this.clearRunStatusStage(),e.type.startsWith("data-")&&this.observer?.onData?.(e),e.type==="tool-input-available"){const i=e;this.observer?.onToolCall?.({toolCall:{toolCallId:i.toolCallId,toolName:i.toolName,input:i.input}})}e.type==="start"&&(this.freshRunSubstream=!0);const n=this.ensureSubStream();if(n.enqueue(e),e.type==="finish"){const i=e;this.pendingFinishReason=i.finishReason,this.clearRunStatusStage(),this.subController=null,n.close()}}forceCloseSubStream(e=!1){const a=this.subController;if(a){this.discardOnClose=e,this.subController=null;try{a.close()}catch{}}}ensureSubStream(){if(this.subController)return this.subController;this.pendingFinishReason=void 0;let e;const a=new ReadableStream({start(r){e=r}});return this.subController=e,this.foldSubStream(a),e}async foldSubStream(e){const a=this.messages.get(),r=a.at(-1),n=this.freshRunSubstream&&r?.role==="assistant"&&(r.parts??[]).some(E=>"state"in E&&(E.state==="approval-requested"||E.state==="approval-responded")),i=n?structuredClone(r):!this.freshRunSubstream&&a.length>0&&r?.role==="assistant"?r:void 0,l=n?r?.id:void 0;this.freshRunSubstream=!1;const o=Gr({message:i,stream:an(e,i),onError:E=>{const R=E instanceof Error?E:new Error(String(E));this.failTo(R)}});let p=null,c=null,d=null;const h=()=>{if(d=null,!c)return;const E=l&&c.id!==l?{...c,id:l}:c;c=null,this.messages.update(R=>z(Rt(In(R,An(R,E))),[]))};for await(const E of o)p=E,c=E,d===null&&(d=gn(h)),this.status.get().kind!=="streaming"&&this.status.set({kind:"streaming"});d!==null&&(vn(d),d=null),c&&h();const g=this.pendingFinishReason,T=this.discardOnClose;if(this.subController=null,this.pendingFinishReason=void 0,this.discardOnClose=!1,T||(this.finishReason.set(g??null),this.status.set({kind:"ready"})),p&&!T){const E=l??p.id;this.messages.update(f=>{const y=f.findIndex(u=>u.id===E);if(y===-1)return f;const O=f[y];if(O.created_at!=null)return f;const w=O.metadata?.created_at,A=w!=null?new Date(w).toISOString():new Date().toISOString(),k=[...f];return k[y]={...O,created_at:A},k}),this.observer?.onFinish?.(p,this.messages.get(),g),p.metadata?.resumedFromBackground&&this.refetchLatestPage()}}failTo(e){this.abort.signal.aborted||(this.clearRunStatusStage(),this.status.set({kind:"error",error:e}),this.observer?.onError?.(e))}}function En(t,e){const a=new Map;for(const r of t.parts)r&&typeof r=="object"&&"toolCallId"in r&&"created_at"in r&&typeof r.toolCallId=="string"&&a.set(r.toolCallId,r.created_at);return a.size===0?e.parts:e.parts.map(r=>{if(r&&typeof r=="object"&&"toolCallId"in r&&!("created_at"in r)&&typeof r.toolCallId=="string"){const n=a.get(r.toolCallId);if(n!=null)return{...r,created_at:n}}return r})}function Ct(t,e){if(!t)return e;const a=t.created_at,r=e.created_at,n=En(t,e);let i=n===e.parts?e:{...e,parts:n};return r==null&&a!=null&&(i={...i,created_at:a}),i}function In(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1)return[...t,e];const r=[...t];return r[a]=Ct(r[a],e),r}const se="msg_async_stub_";function Rt(t){let e=!1;for(const r of t)if(r.id.startsWith(se)){e=!0;break}if(!e)return t;const a=new Set;for(const r of t)if(r.role==="assistant"&&!r.id.startsWith(se))for(const n of r.parts)n&&typeof n=="object"&&"type"in n&&n.type==="tool-web_search"&&"toolCallId"in n&&a.add(n.toolCallId);return a.size===0?t:t.filter(r=>{if(!r.id.startsWith(se))return!0;const n=Tn(r)??r.id.slice(se.length);return!a.has(n)})}function Tn(t){for(const e of t.parts)if(e&&typeof e=="object"&&"type"in e&&e.type==="tool-web_search"&&"toolCallId"in e&&typeof e.toolCallId=="string")return e.toolCallId}function z(t,e){const a=new Map(t.map(n=>[n.id,n]));for(const n of e)a.set(n.id,Ct(a.get(n.id),n));const r=[...a.values()];return r.sort((n,i)=>{const l=ae(n),o=ae(i);if(l!==o)return l-o;const p=h=>h.role==="user"?0:h.role==="assistant"?1:2,c=p(n),d=p(i);return c!==d?c-d:n.id<i.id?-1:n.id>i.id?1:0}),Rt(r)}function wn(t,e){if(e.length===0)return t;const a=new Set(e.map(i=>i.id));let r=Number.POSITIVE_INFINITY;for(const i of e){const l=ae(i);l<r&&(r=l)}const n=t.filter(i=>{if(i.role!=="assistant"||a.has(i.id))return!0;const l=ae(i);return Number.isFinite(l)&&l<=r});return z(n,e)}function An(t,e){if(e.created_at!=null||t.find(n=>n.id===e.id)?.created_at!=null)return e;let r=0;for(const n of t){const i=ae(n);Number.isFinite(i)&&i>r&&(r=i)}return r===0?e:{...e,created_at:new Date(r+1).toISOString()}}function ae(t){const e=t;if(e.created_at!=null)return new Date(e.created_at).getTime();const a=t.metadata;return a?.created_at!=null?new Date(a.created_at).getTime():Number.POSITIVE_INFINITY}let X=null;function On(t,e,a={}){const r=`${t}::${e}`;return X?.key===r||(X?.dispose(),X=new _n(t,e,a)),X}const Nt="notification.created",Mn=3e4,Cn=1e3;function Pt(t){const{buildUrl:e,eventTypes:a,name:r,crossTab:n=!1}=t,i=new Map,l=n&&typeof BroadcastChannel<"u"&&typeof navigator<"u"&&typeof navigator.locks<"u";if(l&&!r)throw new Error("createSSESubscription: `name` is required when crossTab");function o(f,y){f.bootDone=!0;for(const O of f.handlers)try{O(y)}catch{}}function p(f){for(const y of f.reconnectHandlers)try{y()}catch{}}function c(f){const y=new EventSource(e(f.key));f.es=y,y.onopen=()=>{f.reconnectAttempt=0,f.bootDone&&(p(f),f.channel?.postMessage({kind:"reconnect"})),f.bootDone=!0},y.onerror=()=>{f.es===y&&y.readyState===EventSource.CLOSED&&d(f)};const O=w=>{f.channel?.postMessage({kind:"event",type:w.type,data:w.data}),o(f,w)};for(const w of a)y.addEventListener(w,O)}function d(f){if(f.refCount<=0||f.reconnectTimer)return;const y=Ke(Mn,Cn,f.reconnectAttempt,2,0);f.reconnectAttempt++,f.reconnectTimer=setTimeout(()=>{f.reconnectTimer=null,!(f.refCount<=0||!f.isLeader)&&(f.es?.close(),c(f))},y)}function h(f){if(f.refCount<=0){f.releaseLeadership?.(),f.releaseLeadership=null;return}f.isLeader=!0,c(f)}function g(f){if(!l){h(f);return}f.lockAbort=new AbortController,navigator.locks.request(`sse-leader:${r}:${f.key}`,{signal:f.lockAbort.signal},()=>new Promise(y=>{f.releaseLeadership=y,h(f)})).catch(()=>{})}function T(f,y){y.kind==="event"?o(f,new MessageEvent(y.type,{data:y.data})):y.kind==="reconnect"&&p(f)}function E(f){const y=i.get(f);if(y)return y;const O={key:f,refCount:0,handlers:new Set,reconnectHandlers:new Set,bootDone:!1,es:null,isLeader:!1,reconnectAttempt:0,reconnectTimer:null,channel:null,lockAbort:null,releaseLeadership:null};if(i.set(f,O),l){const w=new BroadcastChannel(`sse:${r}:${f}`);w.onmessage=A=>T(O,A.data),O.channel=w}return O}function R(f){f.reconnectTimer&&(clearTimeout(f.reconnectTimer),f.reconnectTimer=null),f.es?.close(),f.es=null,f.releaseLeadership?.(),f.releaseLeadership=null,f.lockAbort?.abort(),f.lockAbort=null,f.channel?.close(),f.channel=null,i.delete(f.key)}return{dispose(){for(const f of[...i.values()])R(f)},subscribe(f,y,O){const w=!i.has(f),A=E(f);A.refCount++,A.handlers.add(y),O&&A.reconnectHandlers.add(O),w&&g(A);let k=!1;return()=>{k||(k=!0,A.handlers.delete(y),O&&A.reconnectHandlers.delete(O),A.refCount--,A.refCount<=0&&R(A))}}}}function le(t,e){const a=new Set(e);return{dispose:()=>t.dispose(),subscribe(r,n,i){const l=o=>{a.has(o.type)&&n(o)};return t.subscribe(r,l,i)}}}const xt=[...tt,Xe,Qe,et,Nt],Rn=xt,Nn=xt,ue=Pt({name:"watch",buildUrl:t=>`/api/${encodeURIComponent(t)}/watch?types=${Rn.join(",")}`,eventTypes:Nn,crossTab:!0}),Pn=le(ue,[...tt]),Wn=le(ue,[Xe,Qe]),Jn=le(ue,[et]),Hn=le(ue,[Nt]),Gn=Pt({buildUrl:t=>`/api/${encodeURIComponent(t)}/watch?scope=all&types=${oe.THREAD_STATUS}`,eventTypes:[oe.THREAD_STATUS]}),xn=Pn,Dn=6e4;function Q(t,e,a=!0){const r=t.findIndex(p=>p.id===e.id);if(r===-1){const p=new Date().toISOString();return[{created_at:e.created_at??e.updated_at??p,updated_at:e.updated_at??p,...e,title:e.title??"New chat",branch:e.branch??null,...a?{partial:!0}:{}},...t]}const n=[...t],i=n[r],l=i.updated_at?new Date(i.updated_at).getTime():Number.NEGATIVE_INFINITY;return(e.updated_at?new Date(e.updated_at).getTime():Number.POSITIVE_INFINITY)<l?t:(n[r]={...n[r],...e},n)}function qe(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1)return[e,...t];const r=[...t];return r[a]={...r[a],...e,partial:void 0},r}class jn{constructor(e,a,r={}){this.orgSlug=e,this.locator=a,this.key=`${e}::${a}`,this.client=r.client??null;const n=r.sse??xn;this.watchUnsubscribe=n.subscribe(this.orgSlug,i=>this.handleWatchEvent(i),()=>this.onWatchReconnect()),this.loadInitialPage()}orgSlug;locator;threads=new $([]);threadsStatus=new $({kind:"loading"});active=new $(null);key;hasMore=new $(!1);isFetchingMore=new $(!1);archivedTombstones=new Map;client;nextOffset=0;pageSize=10;scopeWhere={created_by:"me"};scopeKey=JSON.stringify({created_by:"me"});loadGeneration=0;eventBuffer=[];watchUnsubscribe=null;dispose(){this.watchUnsubscribe?.(),this.watchUnsubscribe=null,this.active.set(null)}setActive(e){const a=On(this.orgSlug,e,{client:this.client});return this.active.get()!==a&&this.active.set(a),a}closeActive(){this.active.get()!==null&&this.active.set(null)}async create(e){try{if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=await this.client.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:e}});if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_CREATE failed"));const r=a.structuredContent?.item;if(!r)throw new Error("create: no item returned");return this.threads.update(n=>qe(n,r)),r}catch(a){const r=a instanceof Error?a.message:String(a);throw pe.error(`Could not create chat: ${r}`),a}}rename(e,a){return this.optimisticUpdate(e,{title:a})}hide(e){return this.optimisticHide(e)}setStatus(e,a){return this.optimisticUpdate(e,{status:a})}setBranch(e,a){return this.optimisticUpdate(e,{branch:a})}setAgent(e,a){return this.optimisticUpdate(e,{virtual_mcp_id:a})}patchThread(e){this.isTombstoned(e.id)||this.threads.update(a=>Q(a,e))}mergeThreads(e){e.length!==0&&this.threads.update(a=>e.reduce((r,n)=>this.isTombstoned(n.id)?r:Q(r,n,!1),a))}async optimisticUpdate(e,a){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const r=this.threads.get();this.threads.update(n=>Q(n,{...a,id:e,updated_at:new Date().toISOString()},!1));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:a}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(n){throw this.threads.set(r),n}}async optimisticHide(e){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=this.threads.get();this.archivedTombstones.set(e,Date.now()),this.threads.update(r=>r.filter(n=>n.id!==e));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:{hidden:!0}}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(r){throw this.threads.set(a),this.archivedTombstones.delete(e),r}}pruneArchivedTombstones(){if(this.archivedTombstones.size===0)return;const e=Date.now()-Dn;for(const[a,r]of this.archivedTombstones)r<e&&this.archivedTombstones.delete(a)}isTombstoned(e){return this.pruneArchivedTombstones(),this.archivedTombstones.has(e)}async loadInitialPage(){const e=++this.loadGeneration;if(!this.client){this.drainEventBuffer();return}try{const a=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:0,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1,...this.scopeWhere}}});if(e!==this.loadGeneration)return;if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_LIST failed"));const r=a.structuredContent??a,n=r.items??[];this.threads.set(n),this.hasMore.set(r.hasMore??!1),this.nextOffset=n.length,this.threadsStatus.set({kind:"ready"}),this.drainEventBuffer()}catch(a){if(e!==this.loadGeneration)return;this.threadsStatus.set({kind:"error",error:a instanceof Error?a:new Error(String(a))}),this.drainEventBuffer()}}setScope(e){const a=JSON.stringify(e);a!==this.scopeKey&&(this.scopeKey=a,this.scopeWhere=e,this.nextOffset=0,this.loadInitialPage())}drainEventBuffer(){const e=this.eventBuffer??[];this.eventBuffer=null;for(const a of e)this.isTombstoned(a.id)||this.threads.update(r=>Q(r,a))}async fetchNextPage(){if(!this.client||!this.hasMore.get()||this.isFetchingMore.get())return;this.isFetchingMore.set(!0);const e=this.loadGeneration;try{const a=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:this.nextOffset,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1,...this.scopeWhere}}});if(e!==this.loadGeneration)return;if(a.isError)throw new Error(ee(a,"COLLECTION_THREADS_LIST failed"));const r=a.structuredContent??a,n=r.items??[];this.threads.update(i=>{const l=new Set(i.map(o=>o.id));return[...i,...n.filter(o=>!l.has(o.id))]}),this.hasMore.set(r.hasMore??!1),this.nextOffset+=n.length}catch(a){const r=a instanceof Error?a.message:String(a);pe.error(`Could not load more chats: ${r}`)}finally{this.isFetchingMore.set(!1)}}async fetchThread(e){if(!e)return null;const a=this.threads.get().find(r=>r.id===e);return a||this.getThreadRemote(e)}async getThreadRemote(e){if(!e||!this.client)return null;try{const a=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});return a.isError?null:(a.structuredContent??a).item??null}catch{return null}}async refreshThreadMetadata(e){if(!(!e||!this.client)&&this.threads.get().some(a=>a.id===e))try{const a=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});if(a.isError)return;const n=(a.structuredContent??a).item;if(!n)return;this.patchThread({id:n.id,metadata:n.metadata,virtual_mcp_id:n.virtual_mcp_id,branch:n.branch,updated_at:n.updated_at})}catch{}}async fetchThreadIntoSlot(e){const a=await this.getThreadRemote(e);return a&&!a.hidden&&!this.isTombstoned(a.id)&&this.threads.update(r=>qe(r,a)),a??this.threads.get().find(r=>r.id===e)??null}handleWatchEvent(e){if(e.type!==oe.THREAD_STATUS)return;let a;try{a=JSON.parse(e.data)}catch{return}if(this.isTombstoned(a.subject))return;const r={id:a.subject,updated_at:a.data.updated_at??a.time,...a.data.status!==void 0&&{status:a.data.status},...a.data.created_by!==void 0&&{created_by:a.data.created_by},...a.data.trigger_id!==void 0&&{trigger_id:a.data.trigger_id},...a.data.virtual_mcp_id!==void 0&&{virtual_mcp_id:a.data.virtual_mcp_id},...a.data.title!==void 0&&{title:a.data.title},...a.data.branch!==void 0&&{branch:a.data.branch},...a.data.harness_id!==void 0&&{harness_id:a.data.harness_id},...a.data.created_at!==void 0&&{created_at:a.data.created_at},...a.data.metadata!==void 0&&{metadata:a.data.metadata}};if(this.eventBuffer!==null){this.eventBuffer.push(r);return}this.threads.update(n=>Q(n,r))}onWatchReconnect(){this.eventBuffer=[],this.loadInitialPage()}}let H=null;function Ln(t,e,a={}){const r=`${t}::${e}`;return H&&H.key===r||(H?.dispose(),H=new jn(t,e,a)),H}const Te=W.createContext(null);function Yn(t){const e=Se.c(10),{children:a}=t,{org:r,locator:n}=ta();let i;e[0]!==r.id||e[1]!==r.slug?(i={connectionId:aa,orgId:r.id,orgSlug:r.slug},e[0]=r.id,e[1]=r.slug,e[2]=i):i=e[2];const l=na(i);let o;e[3]!==l||e[4]!==n||e[5]!==r.slug?(o=Ln(r.slug,n,{client:l}),e[3]=l,e[4]=n,e[5]=r.slug,e[6]=o):o=e[6];const p=o;let c;return e[7]!==a||e[8]!==p?(c=ra.jsx(Te.Provider,{value:p,children:a}),e[7]=a,e[8]=p,e[9]=c):c=e[9],c}function Dt(){const t=W.useContext(Te);if(!t)throw new Error("useThreadManager: missing ThreadManagerProvider");return t}function qn(){return W.useContext(Te)}function Kn(){const t=Se.c(8),e=Dt(),a=W.useSyncExternalStore(e.threads.subscribe,e.threads.get),r=W.useSyncExternalStore(e.threadsStatus.subscribe,e.threadsStatus.get),n=W.useSyncExternalStore(e.hasMore.subscribe,e.hasMore.get),i=W.useSyncExternalStore(e.isFetchingMore.subscribe,e.isFetchingMore.get);let l;t[0]!==e?(l=e.fetchNextPage.bind(e),t[0]=e,t[1]=l):l=t[1];let o;return t[2]!==n||t[3]!==i||t[4]!==r||t[5]!==l||t[6]!==a?(o={threads:a,status:r,hasMore:n,isFetchingMore:i,fetchNextPage:l},t[2]=n,t[3]=i,t[4]=r,t[5]=l,t[6]=a,t[7]=o):o=t[7],o}function Xn(){const t=Se.c(28),e=Dt();let a;t[0]!==e?(a=e.create.bind(e),t[0]=e,t[1]=a):a=t[1];let r;t[2]!==e?(r=e.rename.bind(e),t[2]=e,t[3]=r):r=t[3];let n;t[4]!==e?(n=e.hide.bind(e),t[4]=e,t[5]=n):n=t[5];let i;t[6]!==e?(i=e.setStatus.bind(e),t[6]=e,t[7]=i):i=t[7];let l;t[8]!==e?(l=e.setBranch.bind(e),t[8]=e,t[9]=l):l=t[9];let o;t[10]!==e?(o=e.setAgent.bind(e),t[10]=e,t[11]=o):o=t[11];let p;t[12]!==e?(p=e.setScope.bind(e),t[12]=e,t[13]=p):p=t[13];let c;t[14]!==e?(c=e.setActive.bind(e),t[14]=e,t[15]=c):c=t[15];let d;t[16]!==e?(d=e.closeActive.bind(e),t[16]=e,t[17]=d):d=t[17];let h;return t[18]!==a||t[19]!==r||t[20]!==n||t[21]!==i||t[22]!==l||t[23]!==o||t[24]!==p||t[25]!==c||t[26]!==d?(h={create:a,rename:r,hide:n,setStatus:i,setBranch:l,setAgent:o,setScope:p,setActive:c,closeActive:d},t[18]=a,t[19]=r,t[20]=n,t[21]=i,t[22]=l,t[23]=o,t[24]=p,t[25]=c,t[26]=d,t[27]=h):h=t[27],h}export{oe as D,$ as S,Yn as T,Dt as a,Kn as b,Xn as c,xn as d,Gn as e,Zn as f,On as g,Vn as h,an as i,Jn as j,Hn as n,zn as p,Gr as r,Wn as t,qn as u,mt as z};
@@ -1 +1 @@
1
- import{c as f,j as p,B as h}from"./index-B-RfjkQs.js";import{T as j,a as v,c as T}from"./tooltip-1YZ9_LEc.js";function B(d){const t=f.c(19);let e,o,i,n,r,a;t[0]!==d?({label:o,tooltipSide:n,variant:r,size:a,children:e,...i}=d,t[0]=d,t[1]=e,t[2]=o,t[3]=i,t[4]=n,t[5]=r,t[6]=a):(e=t[1],o=t[2],i=t[3],n=t[4],r=t[5],a=t[6]);const m=n===void 0?"top":n,u=r===void 0?"ghost":r,x=a===void 0?"icon-sm":a;let s;t[7]!==e||t[8]!==o||t[9]!==i||t[10]!==x||t[11]!==u?(s=p.jsx(j,{asChild:!0,children:p.jsx(h,{"data-slot":"icon-button","aria-label":o,variant:u,size:x,...i,children:e})}),t[7]=e,t[8]=o,t[9]=i,t[10]=x,t[11]=u,t[12]=s):s=t[12];let l;t[13]!==o||t[14]!==m?(l=p.jsx(v,{side:m,children:o}),t[13]=o,t[14]=m,t[15]=l):l=t[15];let c;return t[16]!==s||t[17]!==l?(c=p.jsxs(T,{children:[s,l]}),t[16]=s,t[17]=l,t[18]=c):c=t[18],c}export{B as I};
1
+ import{c as f,j as p,B as h}from"./index-fVWt1lpr.js";import{T as j,a as v,c as T}from"./tooltip-ssFfyABz.js";function B(d){const t=f.c(19);let e,o,i,n,r,a;t[0]!==d?({label:o,tooltipSide:n,variant:r,size:a,children:e,...i}=d,t[0]=d,t[1]=e,t[2]=o,t[3]=i,t[4]=n,t[5]=r,t[6]=a):(e=t[1],o=t[2],i=t[3],n=t[4],r=t[5],a=t[6]);const m=n===void 0?"top":n,u=r===void 0?"ghost":r,x=a===void 0?"icon-sm":a;let s;t[7]!==e||t[8]!==o||t[9]!==i||t[10]!==x||t[11]!==u?(s=p.jsx(j,{asChild:!0,children:p.jsx(h,{"data-slot":"icon-button","aria-label":o,variant:u,size:x,...i,children:e})}),t[7]=e,t[8]=o,t[9]=i,t[10]=x,t[11]=u,t[12]=s):s=t[12];let l;t[13]!==o||t[14]!==m?(l=p.jsx(v,{side:m,children:o}),t[13]=o,t[14]=m,t[15]=l):l=t[15];let c;return t[16]!==s||t[17]!==l?(c=p.jsxs(T,{children:[s,l]}),t[16]=s,t[17]=l,t[18]=c):c=t[18],c}export{B as I};