thursday-agent 0.1.2 → 0.2.0

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 (358) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +13 -13
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +1 -1
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +3 -0
  23. package/.next/server/app/api/bot/notes/route/build-manifest.json +12 -0
  24. package/.next/server/app/api/bot/notes/route/server-reference-manifest.json +4 -0
  25. package/.next/server/app/api/bot/notes/route.js +14 -0
  26. package/.next/server/app/api/bot/notes/route.js.map +5 -0
  27. package/.next/server/app/api/bot/notes/route.js.nft.json +1 -0
  28. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +3 -0
  29. package/.next/server/app/api/bot/route.js +4 -4
  30. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/task/[id]/route.js +6 -6
  32. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  33. package/.next/server/app/api/bot/task/route.js +6 -6
  34. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  35. package/.next/server/app/api/config/route.js +3 -3
  36. package/.next/server/app/api/config/route.js.nft.json +1 -1
  37. package/.next/server/app/api/events/route.js +1 -1
  38. package/.next/server/app/api/events/route.js.nft.json +1 -1
  39. package/.next/server/app/api/file/[...path]/route.js +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  41. package/.next/server/app/api/llm-model/catalog/route.js +6 -6
  42. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  43. package/.next/server/app/api/llm-model/route.js +3 -3
  44. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/[name]/route.js +3 -3
  46. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  47. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  48. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  49. package/.next/server/app/api/mcp/route.js +3 -3
  50. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  51. package/.next/server/app/api/mcp/tools/route.js +3 -3
  52. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  53. package/.next/server/app/api/memory/route.js +7 -7
  54. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  55. package/.next/server/app/api/memory/tidy/route.js +10 -11
  56. package/.next/server/app/api/memory/tidy/route.js.nft.json +1 -1
  57. package/.next/server/app/api/skills/[source]/[name]/route.js +1 -1
  58. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/skills/route.js +1 -1
  60. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  61. package/.next/server/app/api/thursday/call/route.js +8 -8
  62. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  63. package/.next/server/app/api/thursday/skills/route.js +8 -8
  64. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  65. package/.next/server/app/api/thursday/tool-call/route.js +11 -12
  66. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  67. package/.next/server/app/api/workspace/route.js +1 -1
  68. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  69. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  70. package/.next/server/app/artifact/[...path]/page.js +3 -3
  71. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  72. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  74. package/.next/server/app/page/server-reference-manifest.json +63 -41
  75. package/.next/server/app/page.js +7 -7
  76. package/.next/server/app/page.js.nft.json +1 -1
  77. package/.next/server/app/page_client-reference-manifest.js +1 -1
  78. package/.next/server/app-paths-manifest.json +1 -0
  79. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +3 -0
  80. package/.next/server/chunks/{[root-of-the-server]__0t_dqaj._.js → [root-of-the-server]__0-npkh_._.js} +1 -1
  81. package/.next/server/chunks/[root-of-the-server]__005var5._.js +3 -0
  82. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +2 -2
  83. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +3 -0
  84. package/.next/server/chunks/{[root-of-the-server]__1mzp_el._.js → [root-of-the-server]__04_8spk._.js} +2 -2
  85. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +1 -1
  86. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +4 -4
  87. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +5 -0
  88. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +3 -0
  89. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +1 -1
  90. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +5 -5
  91. package/.next/server/chunks/{[root-of-the-server]__113fqg5._.js → [root-of-the-server]__0p32jfz._.js} +3 -3
  92. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +4 -4
  93. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +1 -1
  94. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +5 -0
  95. package/.next/server/chunks/{[root-of-the-server]__0j_n5l3._.js → [root-of-the-server]__1692zrv._.js} +2 -2
  96. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +1 -1
  97. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +3 -3
  98. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +10 -0
  99. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +4 -4
  100. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +10 -0
  101. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +1 -1
  102. package/.next/server/chunks/{[root-of-the-server]__1u_qvc7._.js → [root-of-the-server]__1fboj2j._.js} +2 -2
  103. package/.next/server/chunks/{[root-of-the-server]__1dow0bz._.js → [root-of-the-server]__1oli73c._.js} +2 -2
  104. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +4 -4
  105. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +5 -0
  106. package/.next/server/chunks/_0-73of8._.js +55 -0
  107. package/.next/server/chunks/{_2050gwn._.js → _00_584r._.js} +66 -28
  108. package/.next/server/chunks/{_0y8is-s._.js → _03a0897._.js} +1 -1
  109. package/.next/server/chunks/_05h2cii._.js +1 -1
  110. package/.next/server/chunks/_06mxlgn._.js +1 -1
  111. package/.next/server/chunks/_0a351g7._.js +1 -1
  112. package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +5 -5
  113. package/.next/server/chunks/_0kjjmag._.js +1 -1
  114. package/.next/server/chunks/{_1t8fv7b._.js → _0n74zsf._.js} +5 -5
  115. package/.next/server/chunks/_0nn99o2._.js +3 -0
  116. package/.next/server/chunks/_0pppbb5._.js +10 -6
  117. package/.next/server/chunks/{_1icgbi8._.js → _0rnf-6n._.js} +5 -5
  118. package/.next/server/chunks/_0u10wmw._.js +55 -0
  119. package/.next/server/chunks/{_0kl37zl._.js → _0vnutv9._.js} +1 -1
  120. package/.next/server/chunks/_0wp4le3._.js +1 -1
  121. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  122. package/.next/server/chunks/_106co2o._.js +3 -0
  123. package/.next/server/chunks/_12bbv5i._.js +10 -6
  124. package/.next/server/chunks/_15hq89o._.js +1 -1
  125. package/.next/server/chunks/_15q1pig._.js +1 -1
  126. package/.next/server/chunks/_18-1wcc._.js +55 -0
  127. package/.next/server/chunks/_19wg5yn._.js +138 -0
  128. package/.next/server/chunks/_1_5mnq4._.js +18 -0
  129. package/.next/server/chunks/_1bt95p9._.js +55 -0
  130. package/.next/server/chunks/_1cbk7ms._.js +9 -9
  131. package/.next/server/chunks/_1drgfx4._.js +18 -0
  132. package/.next/server/chunks/_1drv2et._.js +10 -6
  133. package/.next/server/chunks/{_10qam6o._.js → _1e48czp._.js} +5 -5
  134. package/.next/server/chunks/{_1skgy7b._.js → _1kg70wc._.js} +5 -5
  135. package/.next/server/chunks/_1php4eq._.js +1 -1
  136. package/.next/server/chunks/_1rysr-r._.js +10 -0
  137. package/.next/server/chunks/_1u3rwbr._.js +3 -0
  138. package/.next/server/chunks/_1x7p319._.js +1 -1
  139. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  140. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +3 -0
  141. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  142. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +1 -1
  143. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0228f43._.js → node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js} +1 -1
  144. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0ir-vo2._.js → node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js} +1 -1
  145. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0otw8ef._.js → node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js} +1 -1
  146. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tf290y._.js → node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js} +1 -1
  147. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +3 -0
  148. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0j61-ma._.js +3 -0
  149. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js +3 -0
  150. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_11zjo-1._.js +3 -0
  151. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1pycqsq._.js +3 -0
  152. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +3 -0
  153. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +3 -0
  154. package/.next/server/chunks/ssr/[externals]__0dizgek._.js +3 -0
  155. package/.next/server/chunks/ssr/[root-of-the-server]__0f6s48x._.js +1 -1
  156. package/.next/server/chunks/ssr/[root-of-the-server]__0m1b5ky._.js +3 -0
  157. package/.next/server/chunks/ssr/{[root-of-the-server]__0dfwvr4._.js → [root-of-the-server]__0un-erv._.js} +2 -2
  158. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +5 -3
  159. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +3 -0
  160. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  161. package/.next/server/chunks/ssr/[root-of-the-server]__1qfqvmg._.js +3 -0
  162. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +3 -0
  163. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +3 -0
  164. package/.next/server/chunks/ssr/_03webdr._.js +3 -0
  165. package/.next/server/chunks/ssr/{_0gd4vaa._.js → _040sk32._.js} +71 -29
  166. package/.next/server/chunks/ssr/_077-g6s._.js +1 -1
  167. package/.next/server/chunks/ssr/{_0lc_7c8._.js → _09ja_w1._.js} +2 -2
  168. package/.next/server/chunks/ssr/{_1dcxzqe._.js → _0f_b_9s._.js} +2 -2
  169. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  170. package/.next/server/chunks/ssr/_0lu1n_x._.js +3 -0
  171. package/.next/server/chunks/ssr/_0sf1isi._.js +1 -1
  172. package/.next/server/chunks/ssr/_0su6_08._.js +3 -0
  173. package/.next/server/chunks/ssr/{_0nso8tp._.js → _0w5bgak._.js} +2 -2
  174. package/.next/server/chunks/ssr/{_19_o9d-._.js → _0x_nu5e._.js} +2 -2
  175. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  176. package/.next/server/chunks/ssr/_13punpm._.js +1 -1
  177. package/.next/server/chunks/ssr/{_0ay6b01._.js → _1ciyoo3._.js} +2 -2
  178. package/.next/server/chunks/ssr/_1e-dgz0._.js +1 -1
  179. package/.next/server/chunks/ssr/_1fq7zgb._.js +1 -1
  180. package/.next/server/chunks/ssr/{_0cvjbuz._.js → _1g6l4uj._.js} +2 -2
  181. package/.next/server/chunks/ssr/{_0q_2f2x._.js → _1lip4th._.js} +2 -2
  182. package/.next/server/chunks/ssr/_1m3bsfr._.js +3 -0
  183. package/.next/server/chunks/ssr/_1mznrxk._.js +1 -1
  184. package/.next/server/chunks/ssr/_1ruzehw._.js +3 -0
  185. package/.next/server/chunks/ssr/_1vyd1ji._.js +3 -0
  186. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  187. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +1 -1
  188. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  189. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  190. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  191. package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +27 -0
  192. package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +27 -0
  193. package/.next/server/chunks/ssr/{node_modules_108wd2o._.js → node_modules_004qlr4._.js} +1 -1
  194. package/.next/server/chunks/ssr/{node_modules_1ub40gk._.js → node_modules_01qnv-a._.js} +1 -1
  195. package/.next/server/chunks/ssr/{node_modules_1y8_3vg._.js → node_modules_04n7mjs._.js} +1 -1
  196. package/.next/server/chunks/ssr/{node_modules_0_j7-g4._.js → node_modules_08d8bke._.js} +1 -1
  197. package/.next/server/chunks/ssr/{node_modules_0y2-av4._.js → node_modules_09xhur7._.js} +1 -1
  198. package/.next/server/chunks/ssr/{node_modules_043-236._.js → node_modules_0_n241r._.js} +1 -1
  199. package/.next/server/chunks/ssr/{node_modules_0ls96je._.js → node_modules_0iz1rzd._.js} +1 -1
  200. package/.next/server/chunks/ssr/{node_modules_0xwx4u-._.js → node_modules_0kl7-tn._.js} +1 -1
  201. package/.next/server/chunks/ssr/{node_modules_1jatz7w._.js → node_modules_0kxz4gt._.js} +1 -1
  202. package/.next/server/chunks/ssr/{node_modules_1t0y5jt._.js → node_modules_0lrjk5t._.js} +1 -1
  203. package/.next/server/chunks/ssr/{node_modules_13f2md6._.js → node_modules_0m93zeg._.js} +1 -1
  204. package/.next/server/chunks/ssr/{node_modules_1nhw9qg._.js → node_modules_0n1kj4p._.js} +1 -1
  205. package/.next/server/chunks/ssr/{node_modules_1k29j1j._.js → node_modules_0ndvxub._.js} +1 -1
  206. package/.next/server/chunks/ssr/{node_modules_16i4o_3._.js → node_modules_13r44jq._.js} +1 -1
  207. package/.next/server/chunks/ssr/{node_modules_0fbw5-u._.js → node_modules_17lrt3y._.js} +1 -1
  208. package/.next/server/chunks/ssr/{node_modules_1d-is1o._.js → node_modules_18_dk7_._.js} +1 -1
  209. package/.next/server/chunks/ssr/{node_modules_1hn_sd5._.js → node_modules_19dp7ko._.js} +1 -1
  210. package/.next/server/chunks/ssr/{node_modules_20ynonm._.js → node_modules_1dwguw_._.js} +1 -1
  211. package/.next/server/chunks/ssr/{node_modules_00d6675._.js → node_modules_1hd-5tv._.js} +1 -1
  212. package/.next/server/chunks/ssr/{node_modules_1ee8gav._.js → node_modules_1hn8z1f._.js} +1 -1
  213. package/.next/server/chunks/ssr/{node_modules_0bue6gy._.js → node_modules_1n5ygqe._.js} +1 -1
  214. package/.next/server/chunks/ssr/{node_modules_1_588_4._.js → node_modules_1q0p85z._.js} +1 -1
  215. package/.next/server/chunks/ssr/{node_modules_0ipn1ho._.js → node_modules_1toafc-._.js} +1 -1
  216. package/.next/server/chunks/ssr/{node_modules_0_fvxnt._.js → node_modules_1xyd7ov._.js} +1 -1
  217. package/.next/server/chunks/ssr/{node_modules_1v0077l._.js → node_modules_1zu988w._.js} +1 -1
  218. package/.next/server/chunks/ssr/{node_modules_06kvvuo._.js → node_modules_20yebtj._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_092s8nx._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js} +1 -1
  220. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1nvexgu._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js} +1 -1
  221. package/.next/server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js +47 -0
  222. package/.next/server/middleware-build-manifest.js +3 -3
  223. package/.next/server/pages/404.html +1 -1
  224. package/.next/server/pages/500.html +1 -1
  225. package/.next/server/server-reference-manifest.js +1 -1
  226. package/.next/server/server-reference-manifest.json +64 -42
  227. package/.next/static/chunks/05b6nx_o3_f_n.js +1 -0
  228. package/.next/static/chunks/{3aquirz5h71da.js → 07kl352c-lvcz.js} +1 -1
  229. package/.next/static/chunks/0dmns-gi0raa4.js +1 -0
  230. package/.next/static/chunks/0oc4_xoia77dg.css +1 -0
  231. package/.next/static/chunks/0pheo8m3a-rzi.js +1 -0
  232. package/.next/static/chunks/{2ihkf6l2jowo9.js → 18vhba44l1fc9.js} +3 -3
  233. package/.next/static/chunks/19i8h2t-5evjx.js +1 -0
  234. package/.next/static/chunks/{1gy3bbv7usnjo.js → 1c5fcj473025q.js} +1 -1
  235. package/.next/static/chunks/1pi_hbmjw-f-z.js +1 -0
  236. package/.next/static/chunks/{0tydnn2kybibk.js → 1twt6k09vg4np.js} +1 -1
  237. package/.next/static/chunks/{21rk8w7bda-su.js → 28gotuisldmom.js} +1 -1
  238. package/.next/static/chunks/{3xxa2j56-f3nm.js → 2998p0y7k1c8z.js} +1 -1
  239. package/.next/static/chunks/2l233xfycjpd8.js +1 -0
  240. package/.next/static/chunks/2p5n7pa3c40t-.js +2 -0
  241. package/.next/static/chunks/2ru1q132af7h7.js +1 -0
  242. package/.next/static/chunks/{2fq_86jvq9ymq.js → 2t8wqycwg3y04.js} +2 -2
  243. package/.next/static/chunks/32z_ypgtchw48.js +1 -0
  244. package/.next/static/chunks/{247d-r95j8xs0.js → 33pyjb3xd1iez.js} +1 -1
  245. package/.next/static/chunks/3786h5vayt80-.js +28 -0
  246. package/.next/static/chunks/3_h9txt3tq8t8.js +28 -0
  247. package/.next/static/chunks/{1khakdu_iuedc.js → 3ard_noqapnw1.js} +1 -1
  248. package/.next/static/chunks/{1fr5m75pwtyic.js → 3omud5xunrk1f.js} +1 -1
  249. package/.next/static/chunks/42dnrkbph9e-1.js +1 -0
  250. package/app/api/events/app-event.client.ts +24 -0
  251. package/app/api/events/app-event.server.ts +45 -0
  252. package/app/api/events/app-event.ts +44 -0
  253. package/app/api/llm-model/catalog/route.ts +12 -0
  254. package/app/api/llm-model/route.ts +21 -0
  255. package/app/api/query-key.ts +144 -0
  256. package/app/api/thursday/tool-call/route.ts +67 -0
  257. package/components/ui/button-group.tsx +45 -0
  258. package/components/ui/custom-icon.tsx +259 -0
  259. package/components/ui/dropdown-menu.tsx +271 -0
  260. package/components/ui/folded-text.tsx +68 -0
  261. package/components/ui/input-group.tsx +157 -0
  262. package/components/ui/json-view.tsx +240 -0
  263. package/components/ui/shiny-text.tsx +141 -0
  264. package/components/ui/text-type.tsx +213 -0
  265. package/components/ui/theme-sync.tsx +9 -0
  266. package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/migration.sql +7 -0
  267. package/database/migrations/{20260908030742_rainy_marvel_zombies → 20260909060813_optimal_sabretooth}/snapshot.json +54 -1
  268. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +1 -0
  269. package/database/migrations/20260909063821_bitter_tenebrous/snapshot.json +1285 -0
  270. package/docs/how-it-works.md +59 -0
  271. package/docs/images/keeps-going.png +0 -0
  272. package/docs/images/task-thread.png +0 -0
  273. package/docs/images/two-minds.png +0 -0
  274. package/features/ai/load-tools.ts +55 -5
  275. package/features/ai/prompts/bot.prompt.ts +121 -26
  276. package/features/ai/prompts/memory-tidy.prompt.ts +7 -1
  277. package/features/ai/prompts/prompt-helper.ts +31 -5
  278. package/features/ai/prompts/thursday.prompt.ts +2 -0
  279. package/features/ai/tools/bot.tool.ts +37 -18
  280. package/features/ai/tools/mcp.tool.ts +5 -5
  281. package/features/ai/tools/memory.tool.ts +17 -10
  282. package/features/ai/tools/studio.tool.ts +5 -5
  283. package/features/ai/tools/tool-name.ts +2 -0
  284. package/features/ai/tools/workspace.tool.ts +33 -5
  285. package/features/bot/bot.action.ts +31 -4
  286. package/features/bot/bot.notes.ts +120 -0
  287. package/features/bot/bot.query.ts +56 -1
  288. package/features/bot/bot.run.ts +43 -3
  289. package/features/bot/bot.runner.ts +94 -20
  290. package/features/bot/bot.schema.ts +17 -0
  291. package/features/bot/components/bot-room.tsx +405 -306
  292. package/features/bot/components/bot-setting.tsx +123 -20
  293. package/features/bot/task.query.ts +18 -5
  294. package/features/memory/components/memory-setting.tsx +11 -2
  295. package/features/memory/memory.query.ts +9 -2
  296. package/features/memory/memory.schema.ts +30 -0
  297. package/features/skills/components/skills-setting.tsx +9 -1
  298. package/features/workspace/workspace.ts +136 -3
  299. package/hooks/use-draft.ts +37 -0
  300. package/hooks/use-hotkey.ts +105 -0
  301. package/hooks/use-object-state.ts +51 -0
  302. package/hooks/use-on-visible.ts +72 -0
  303. package/hooks/use-theme.ts +106 -0
  304. package/hooks/use-wake-word.ts +262 -0
  305. package/lib/realtime/realtime.driver.ts +34 -1
  306. package/lib/realtime/realtime.protocol.ts +6 -0
  307. package/lib/sandbox.ts +9 -1
  308. package/lib/tokens.ts +19 -0
  309. package/package.json +1 -1
  310. package/.next/server/chunks/[root-of-the-server]__02kt8yn._.js +0 -10
  311. package/.next/server/chunks/[root-of-the-server]__0h59di-._.js +0 -5
  312. package/.next/server/chunks/[root-of-the-server]__0qjqtwo._.js +0 -5
  313. package/.next/server/chunks/[root-of-the-server]__0yk6s3w._.js +0 -5
  314. package/.next/server/chunks/[root-of-the-server]__0z3gelv._.js +0 -3
  315. package/.next/server/chunks/[root-of-the-server]__11w_7_3._.js +0 -3
  316. package/.next/server/chunks/[root-of-the-server]__1_0q_9w._.js +0 -3
  317. package/.next/server/chunks/[root-of-the-server]__1gmn1cs._.js +0 -10
  318. package/.next/server/chunks/_0fzqt2y._.js +0 -100
  319. package/.next/server/chunks/_0jgm3b8._.js +0 -55
  320. package/.next/server/chunks/_0ks6_sg._.js +0 -55
  321. package/.next/server/chunks/_0tzfesa._.js +0 -3
  322. package/.next/server/chunks/_0zmestz._.js +0 -55
  323. package/.next/server/chunks/_12nr4xc._.js +0 -3
  324. package/.next/server/chunks/_1hzrsvg._.js +0 -55
  325. package/.next/server/chunks/_1uj4_io._.js +0 -10
  326. package/.next/server/chunks/_1yldgo4._.js +0 -55
  327. package/.next/server/chunks/features_0scmr4i._.js +0 -3
  328. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +0 -3
  329. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ykklj0._.js +0 -3
  330. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1ryg3wh._.js +0 -3
  331. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vwbnq_._.js +0 -3
  332. package/.next/server/chunks/ssr/[root-of-the-server]__01id-v3._.js +0 -3
  333. package/.next/server/chunks/ssr/[root-of-the-server]__0b-0i32._.js +0 -3
  334. package/.next/server/chunks/ssr/[root-of-the-server]__185grso._.js +0 -3
  335. package/.next/server/chunks/ssr/[root-of-the-server]__1minz8_._.js +0 -3
  336. package/.next/server/chunks/ssr/_0j4v8of._.js +0 -3
  337. package/.next/server/chunks/ssr/_0l81bzy._.js +0 -3
  338. package/.next/server/chunks/ssr/_10uvw3l._.js +0 -3
  339. package/.next/server/chunks/ssr/_1jbv7m1._.js +0 -3
  340. package/.next/server/chunks/ssr/lib_realtime_0aetuyp._.js +0 -24
  341. package/.next/server/chunks/ssr/lib_realtime_18k_aj-._.js +0 -24
  342. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_errors_05xv7vp.js +0 -3
  343. package/.next/static/chunks/0yysv1gzin17t.js +0 -1
  344. package/.next/static/chunks/1keib_gt066gc.js +0 -1
  345. package/.next/static/chunks/28g42tw8tsvhd.js +0 -1
  346. package/.next/static/chunks/2cwjgkt_hoyhj.js +0 -22
  347. package/.next/static/chunks/2rbf1fpd8n80-.js +0 -22
  348. package/.next/static/chunks/2ukj8k69y89um.js +0 -1
  349. package/.next/static/chunks/2wngeetfnzxkp.js +0 -2
  350. package/.next/static/chunks/388-t2v72jh39.css +0 -1
  351. package/.next/static/chunks/3fqvc0cg-atq_.js +0 -1
  352. package/.next/static/chunks/3p4egvfjxpatb.js +0 -1
  353. package/.next/static/chunks/3qe1w1ei-huhl.js +0 -1
  354. package/.next/static/chunks/3y40riycdip-i.js +0 -1
  355. package/.next/static/chunks/45a6zbtkelph9.js +0 -1
  356. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_buildManifest.js +0 -0
  357. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_clientMiddlewareManifest.js +0 -0
  358. /package/.next/static/{X34BUd9bfdH27ripuwwBm → YR4NWcDDuzwLbTTU7U7Vr}/_ssgManifest.js +0 -0
@@ -1,38 +1,58 @@
1
- module.exports=[738131,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(868468),f=a.i(938934),g=a.i(978876),h=a.i(375827),i=a.i(138902),j=a.i(345846),k=a.i(622547),l=a.i(451017),m=a.i(705881),n=a.i(762008),o=a.i(547613),p=a.i(446957),q=a.i(986743),r=a.i(138100),s=a.i(569549),t=a.i(821415),u=a.i(706210),v=a.i(182248),w=a.i(875931),x=b([i,j,q,s,w]);async function y(b){let{listTaskHistory:c}=await a.A(242808),d=await c({limit:5});if(!d.length)return"No jobs have been handed over yet.";let e=d.map(a=>`"${a.label}" (${a.bot}, ${a.status})`).join(", ");return`There is no job called "${b}". The latest are: ${e}. Call again with one of those names.`}async function z(b){let c=(0,j.createMemoryTools)();if("tidy"===b.target){let{[n.TOOL_NAMES.memory_show]:a,...b}=c;return{...b,[n.TOOL_NAMES.tidy_done]:m.tidyDoneTool}}let x=await (0,t.openWorkspace)();if("thursday"===b.target){var z;let{[n.TOOL_NAMES.memory_show]:i,...j}=c,{crowded:k,heavy:m}=(0,f.tidying)(await (0,q.listNoteIndex)()),t=await (0,s.readCallSkillsOn)()?(0,l.createSkillTools)({sandbox:x,skills:await (0,r.loadSkills)(x)}):{};return{...j,...k||m.length?{[n.TOOL_NAMES.memory_show]:i}:{},...t,...(0,o.createWorkspaceTools)(x,{write:!1}),...(z=b.callId,{[n.TOOL_NAMES.delegate]:(0,d.tool)({description:g.delegateSpec.description,inputSchema:g.delegateSpec.parameters,execute:async({bot:b,request:c,label:d})=>{let{findJobBot:e,listJobBots:f}=await a.A(276307),g=await e(b);if(!g){let a=(await f()).map(a=>a.name);return`There is no bot called "${b}". The bots are: ${a.join(", ")}. Nothing was handed over — call again with one of those.`}let{startTask:h}=await a.A(763543);return{taskId:await h({bot:g.name,request:c,label:d,callId:z}),note:`${g.name} has "${d}". Say so and keep talking — the result is put in front of you later. Everything further about it — an answer, a correction, carrying it on after it reports — is \`${n.TOOL_NAMES.task}\` with "${d}".`}}}),[n.TOOL_NAMES.task]:(0,d.tool)({description:g.taskSpec.description,inputSchema:g.taskSpec.parameters,execute:async({action:b,task:c,answer:d})=>{let{listTaskHistory:f,resolveTask:g}=await a.A(242808);if("status"===b){let a=d?.trim()?{note:"The text in `answer` was not passed on — `status` only reads. Send it again as `answer` if the bot is meant to hear it."}:{};if(c){let b=await g(c);return b?{...a,label:b.label,bot:b.bot,status:b.status,since:(0,e.formatDistanceToNowStrict)((0,u.toDate)(b.updatedAt),{addSuffix:!0}),outcome:b.outcome,..."waiting"===b.status&&b.pending?.options.length?{options:b.pending.options}:{}}:await y(c)}let b=await f({limit:8});return{...a,tasks:b.map(a=>({label:a.label,bot:a.bot,status:a.status,since:(0,e.formatDistanceToNowStrict)((0,u.toDate)(a.updatedAt),{addSuffix:!0}),...a.ask?{asking:a.ask.question,options:a.ask.options}:{},..."running"===a.status?{now:(0,p.taskActivity)(a.lines)}:{},...a.outcome&&"waiting"!==a.status?{outcome:(0,v.clip)(a.outcome,200)}:{}}))}}if(!c)return"Say which job — by its label. Call `status` with no job named to see them.";let h=await g(c);if(!h)return await y(c);let{answerTask:i,cancelTask:j}=await a.A(763543);return"cancel"===b?(await j(h.id),{label:h.label,status:"cancelled"}):d?.trim()?(await i(h.id,d.trim()),{label:h.label,status:"running",note:"running"===h.status?"The bot reads it before its next step.":"The bot picks the job back up from there."}):"Say what to pass on."}})}),...h.CALL_TOOLS}}let A=await (0,r.loadSkills)(x);return{[n.TOOL_NAMES.memory_recall]:c[n.TOOL_NAMES.memory_recall],[n.TOOL_NAMES.memory_remember]:j.botRememberTool,...(0,k.createSearchTool)(await (0,w.resolveSearchModel)(b.model),x),...(0,o.createWorkspaceTools)(x,{write:!0,env:(0,t.jobShellEnv)(b.taskId)}),...await (0,i.createMcpTools)(b.bot,x),...(0,l.createSkillTools)({sandbox:x,skills:A}),[n.TOOL_NAMES.ask_thursday]:g.askThursdayTool,[n.TOOL_NAMES.report]:g.reportTool}}[i,j,q,s,w]=x.then?(await x)():x,a.s(["loadTools",0,z]),c()}catch(a){c(a)}},!1),875931,a=>a.a(async(b,c)=>{try{var d=a.i(938537),e=a.i(140358),f=a.i(345364),g=a.i(655819),h=a.i(652685),i=a.i(438766),j=a.i(688034),k=a.i(725466),l=a.i(176668),m=a.i(293480),n=a.i(182248),o=a.i(689656),p=b([k]);function q(a,b){switch(a.provider){case"openai":{let c=(0,f.createOpenAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"anthropic":{let c=(0,d.createAnthropic)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch_20260209()}}}case"google":{let c=(0,e.createGoogleGenerativeAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.googleSearch({})}}}case"xai":{let c=(0,g.createXai)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"vercel-ai-gateway":{let c=(0,i.createGateway)({apiKey:b});return{ref:a,model:c(a.model),searchTools:null}}default:(0,m.publicError)(`Not supported provider: ${String(a.provider)}`)}}[k]=p.then?(await p)():p;let z=null;function r(a){if(null==a||""===a)return null;let b=Number(a);return Number.isFinite(b)?Math.round(1e6*b*1e4)/1e4:null}async function s(){if(z&&Date.now()-z.at<6e5)return z.models;let a=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(a=>{l.logger.warn({cause:a},"gateway catalog unreachable"),(0,m.publicError)("Could not reach the gateway")});a.ok||(0,m.publicError)(`The gateway answered ${a.status}`);let b=((await a.json()).data??[]).filter(a=>!!a.id).map(a=>{let b;return{id:a.id,label:a.name||a.id,owner:a.owned_by||a.id.slice(0,a.id.indexOf("/")),type:(b=a.type??null)===o.GATEWAY_TEXT&&(a.modalities?.output??[]).includes("image")?"image":b,tags:a.tags??[],price:function(a){let b=a.pricing??{},c=r(b.input),d=r(b.output);if((a.tags??[]).includes("free")||0===c)return{in:0,out:0,note:null,free:!0};let e=b.transcription_duration_cost_per_second??b.realtime_session_duration_cost_per_second;if(e)return{in:null,out:null,note:`$${e}/s`,free:!1};if(b.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let f=Array.isArray(b.video_duration_pricing)?b.video_duration_pricing[0]:null;if(f)return{in:null,out:null,note:`$${f.cost_per_second}/s ${f.resolution}`,free:!1};let g=b.image?`$${b.image}/image`:b.image_dimension_quality_pricing?"per image, by size":null;return null===c&&null===d?{in:null,out:null,note:g,free:!1}:{in:c,out:d,note:b.input_tiers?"tiered":b.varies_by_provider?"varies":g&&"+ per image",free:!1}}(a),retiring:!!a.deprecated_at}}).sort((a,b)=>a.id.localeCompare(b.id));return z={at:Date.now(),models:b},b}async function t(){return await s().then(a=>new Set(a.map(a=>a.id))).catch(()=>null)}async function u(a,b){if("vercel-ai-gateway"!==a)return b;let c=await t();if(!c)return b;let d=b.filter(a=>c.has(a.id));return d.length>0?d:b}async function v(a){let{label:b,apiKeyName:c}=o.TEXT_MODEL_PROVIDERS[a.provider],d=await (0,k.readConfig)(c);return d||(0,m.publicError)(`No ${b} key — add one in Config.`),q(a,d)}async function w(a){let b=async a=>(0,o.defaultModelOf)({suggestModels:await u(a.id,a.suggestModels)}),c=a?o.TEXT_MODEL_PROVIDER_LIST.find(b=>b.id===a):void 0,d=o.SPEACH_MODEL_PROVIDER_LIST.map(a=>({...o.TEXT_MODEL_PROVIDERS[a.id],id:a.id}));if(c){let a=await b(c);if(a)return{provider:c.id,model:a}}let e=(0,o.parseTextModel)(await (0,k.readConfig)(j.DEFAULT_MODEL_KEY)??void 0);if(e&&await (0,k.readConfig)(o.TEXT_MODEL_PROVIDERS[e.provider].apiKeyName))return e;for(let a of[...d,...o.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,k.readConfig)(a.apiKeyName))continue;let c=await b(a);if(c)return l.logger.info(`no model set, falling back to ${a.id}/${c}`),{provider:a.id,model:c}}(0,m.publicError)("No model key is set — add one in Config")}async function x(a){if(a?.searchTools)return a;for(let a of o.TEXT_MODEL_PROVIDER_LIST){let b=await (0,k.readConfig)(a.apiKeyName),c=(0,o.cheapestModelOf)(a);if(!b||!c)continue;let d=q({provider:a.id,model:c},b);if(d.searchTools)return d}return null}async function y(a){let b=(0,o.parseMediaModel)(await (0,k.readConfig)(j.MEDIA_MODEL_KEYS[a]));if(!b||!(0,o.canMakeKind)(b.provider,a))return null;let c=await (0,k.readConfig)(o.MEDIA_MODEL_PROVIDERS[b.provider].apiKeyName);return c?{ref:b,apiKey:c}:null}a.s(["buildImageModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).image(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).image(a.model);case"xai":return(0,g.createXai)({apiKey:b}).image(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).image(a.model);default:(0,m.publicError)(`Not supported image provider: ${String(a.provider)}`)}},"buildSpeechModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).speech(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).speech(a.model);case"xai":return(0,g.createXai)({apiKey:b}).speech();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).speech(a.model);default:(0,m.publicError)(`Not supported speech provider: ${String(a.provider)}`)}},"buildTranscriptionModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).transcription(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).transcription(a.model);case"xai":return(0,g.createXai)({apiKey:b}).transcription();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).transcription(a.model);default:(0,m.publicError)(`Not supported transcription provider: ${String(a.provider)}`)}},"buildVideoModel",0,function(a,b){switch(a.provider){case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).video(a.model);case"xai":return(0,g.createXai)({apiKey:b}).video(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).video(a.model);default:(0,m.publicError)(`${a.provider} has no video model`)}},"getTextModel",0,v,"modelErrorToString",0,function(a){if(!h.APICallError.isInstance(a))return(0,n.errorToString)(a);let b=a.statusCode?` (${a.statusCode})`:"",c=a.responseBody?.trim(),d=c&&!c.includes(a.message)?` ${(0,n.clip)(c,300)}`:"";return`${a.message}${b}${d}`},"resolveDefaultModel",0,w,"resolveMediaRef",0,y,"resolveSearchModel",0,x]),c()}catch(a){c(a)}},!1),735502,a=>a.a(async(b,c)=>{try{var d=a.i(569572),e=a.i(762008),f=a.i(221214),g=a.i(947950),h=a.i(986743),i=a.i(138100),j=a.i(821415),k=a.i(176668),l=a.i(182248),m=a.i(644468),n=a.i(938934),o=b([f,g,h,m]);async function p(a,b,c){var d,l,o,p,w;let z,A,B,C=await (0,j.openWorkspace)(),D=a.trim(),[E,F,G,H,I,J]=await Promise.all([(0,i.loadSkills)(C),(0,h.listNoteIndex)(),(0,h.listAlwaysLoaded)(),(0,m.listConnectedToolNames)(),(0,g.findPinnedTools)(D),(0,f.listJobBots)()]),K=c?[]:J.filter(a=>a.name!==D),L=[c?(d=c,[`You are a worker. ${d} is holding a job Thursday handed them and has handed one part of it to you. You never speak to the user: ${d} reports, and what you hand back goes into their report as-is. ${(0,n.nowLine)()}`,q,r].join("\n\n")):[`You are a worker. Thursday handed you a job while she keeps talking to the user; you are not in that conversation and never speak to the user directly. ${(0,n.nowLine)()}`,q,r].join("\n\n"),(l=F,o=G,z=`## Memory
1
+ module.exports=[738131,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(868468),f=a.i(569572),g=a.i(938934),h=a.i(978876),i=a.i(375827),j=a.i(138902),k=a.i(345846),l=a.i(622547),m=a.i(451017),n=a.i(705881),o=a.i(762008),p=a.i(547613),q=a.i(221214),r=a.i(446957),s=a.i(986743),t=a.i(138100),u=a.i(569549),v=a.i(821415),w=a.i(706210),x=a.i(176668),y=a.i(987674),z=a.i(182248),A=a.i(875931),B=b([j,k,q,s,u,A]);async function C(b){let{listTaskHistory:c}=await a.A(242808),d=await c({limit:5});if(!d.length)return"No jobs have been handed over yet.";let e=d.map(a=>`"${a.label}" (${a.bot}, ${a.status})`).join(", ");return`There is no job called "${b}". The latest are: ${e}. Call again with one of those names.`}async function D(a,b){let c=[];for(let[a,e]of Object.entries(b)){let b=await (0,d.asSchema)(e.inputSchema).jsonSchema,f="string"==typeof e.description?e.description:"";c.push({name:a,tokens:(0,y.estimateTokens)(f)+(0,y.estimateTokens)(JSON.stringify(b))})}c.sort((a,b)=>b.tokens-a.tokens);let e=c.reduce((a,b)=>a+b.tokens,0);x.logger.debug(`${a} tools ${e} tokens over ${c.length} — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`)}async function E(a){let b=await F(a);return f.IS_DEV&&await D(a.target,b),b}async function F(b){let c=(0,k.createMemoryTools)("tidy"===b.target?"tidy":"call");if("tidy"===b.target){let{[o.TOOL_NAMES.memory_show]:a,...b}=c;return{...b,[o.TOOL_NAMES.tidy_done]:n.tidyDoneTool}}let f=await (0,v.openWorkspace)();if("thursday"===b.target){var x;let{[o.TOOL_NAMES.memory_show]:j,...k}=c,{crowded:l,heavy:n}=(0,g.tidying)(await (0,s.listNoteIndex)()),q=await (0,u.readCallSkillsOn)()?(0,m.createSkillTools)({sandbox:f,skills:await (0,t.loadSkills)(f)}):{};return{...k,...l||n.length?{[o.TOOL_NAMES.memory_show]:j}:{},...q,...(0,p.createWorkspaceTools)(f,{write:!1}),...(x=b.callId,{[o.TOOL_NAMES.delegate]:(0,d.tool)({description:h.delegateSpec.description,inputSchema:h.delegateSpec.parameters,execute:async({bot:b,request:c,label:d})=>{let{findJobBot:e,listJobBots:f}=await a.A(276307),g=await e(b);if(!g){let a=(await f()).map(a=>a.name);return`There is no bot called "${b}". The bots are: ${a.join(", ")}. Nothing was handed over — call again with one of those.`}let{startTask:h}=await a.A(763543);return{taskId:await h({bot:g.name,request:c,label:d,callId:x}),note:`${g.name} has "${d}". Say so and keep talking — the result is put in front of you later. Everything further about it — an answer, a correction, carrying it on after it reports — is \`${o.TOOL_NAMES.task}\` with "${d}".`}}}),[o.TOOL_NAMES.task]:(0,d.tool)({description:h.taskSpec.description,inputSchema:h.taskSpec.parameters,execute:async({action:b,task:c,answer:d})=>{let{listTaskHistory:f,resolveTask:h}=await a.A(242808);if("status"===b){let a=d?.trim()?{note:"The text in `answer` was not passed on — `status` only reads. Send it again as `answer` if the bot is meant to hear it."}:{},b={now:(0,g.clockNow)()};if(c){let d=await h(c);return d?{...b,...a,label:d.label,bot:d.bot,status:d.status,since:(0,e.formatDistanceToNowStrict)((0,w.toDate)(d.updatedAt),{addSuffix:!0}),outcome:d.outcome,..."waiting"===d.status&&d.pending?.options.length?{options:d.pending.options}:{}}:await C(c)}let i=await f({limit:8});return{...b,...a,tasks:i.map(a=>({label:a.label,bot:a.bot,status:a.status,since:(0,e.formatDistanceToNowStrict)((0,w.toDate)(a.updatedAt),{addSuffix:!0}),...a.ask?{asking:a.ask.question,options:a.ask.options}:{},..."running"===a.status?{now:(0,r.taskActivity)(a.lines)}:{},...a.outcome&&"waiting"!==a.status?{outcome:(0,z.clip)(a.outcome,200)}:{}}))}}if(!c)return"Say which job — by its label. Call `status` with no job named to see them.";let i=await h(c);if(!i)return await C(c);let{answerTask:j,cancelTask:k}=await a.A(763543);return"cancel"===b?(await k(i.id),{label:i.label,status:"cancelled"}):d?.trim()?(await j(i.id,d.trim()),{label:i.label,status:"running",note:"running"===i.status?"The bot reads it before its next step.":"The bot picks the job back up from there."}):"Say what to pass on."}})}),...i.CALL_TOOLS}}let y=await (0,t.loadSkills)(f);return{[o.TOOL_NAMES.memory_recall]:c[o.TOOL_NAMES.memory_recall],[o.TOOL_NAMES.memory_remember]:k.botRememberTool,...(0,l.createSearchTool)(await (0,A.resolveSearchModel)(b.model),f),...(0,p.createWorkspaceTools)(f,{write:!0,env:(0,v.jobShellEnv)(b.taskId),guide:!0}),...await (0,j.createMcpTools)(b.bot,f),...(0,m.createSkillTools)({sandbox:f,skills:y}),[o.TOOL_NAMES.ask_thursday]:h.askThursdayTool,[o.TOOL_NAMES.report]:(0,h.createReportTool)(await (0,q.readBotNotesOn)())}}[j,k,q,s,u,A]=B.then?(await B)():B,a.s(["loadTools",0,E]),c()}catch(a){c(a)}},!1),875931,a=>a.a(async(b,c)=>{try{var d=a.i(938537),e=a.i(140358),f=a.i(345364),g=a.i(655819),h=a.i(652685),i=a.i(438766),j=a.i(688034),k=a.i(725466),l=a.i(176668),m=a.i(293480),n=a.i(182248),o=a.i(689656),p=b([k]);function q(a,b){switch(a.provider){case"openai":{let c=(0,f.createOpenAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"anthropic":{let c=(0,d.createAnthropic)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch_20260209()}}}case"google":{let c=(0,e.createGoogleGenerativeAI)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.googleSearch({})}}}case"xai":{let c=(0,g.createXai)({apiKey:b});return{ref:a,model:c(a.model),searchTools:{search:c.tools.webSearch()}}}case"vercel-ai-gateway":{let c=(0,i.createGateway)({apiKey:b});return{ref:a,model:c(a.model),searchTools:null}}default:(0,m.publicError)(`Not supported provider: ${String(a.provider)}`)}}[k]=p.then?(await p)():p;let z=null;function r(a){if(null==a||""===a)return null;let b=Number(a);return Number.isFinite(b)?Math.round(1e6*b*1e4)/1e4:null}async function s(){if(z&&Date.now()-z.at<6e5)return z.models;let a=await fetch("https://ai-gateway.vercel.sh/v1/models",{headers:{accept:"application/json"}}).catch(a=>{l.logger.warn({cause:a},"gateway catalog unreachable"),(0,m.publicError)("Could not reach the gateway")});a.ok||(0,m.publicError)(`The gateway answered ${a.status}`);let b=((await a.json()).data??[]).filter(a=>!!a.id).map(a=>{let b;return{id:a.id,label:a.name||a.id,owner:a.owned_by||a.id.slice(0,a.id.indexOf("/")),type:(b=a.type??null)===o.GATEWAY_TEXT&&(a.modalities?.output??[]).includes("image")?"image":b,tags:a.tags??[],price:function(a){let b=a.pricing??{},c=r(b.input),d=r(b.output);if((a.tags??[]).includes("free")||0===c)return{in:0,out:0,note:null,free:!0};let e=b.transcription_duration_cost_per_second??b.realtime_session_duration_cost_per_second;if(e)return{in:null,out:null,note:`$${e}/s`,free:!1};if(b.speech_input_character_cost)return{in:null,out:null,note:"per character",free:!1};let f=Array.isArray(b.video_duration_pricing)?b.video_duration_pricing[0]:null;if(f)return{in:null,out:null,note:`$${f.cost_per_second}/s ${f.resolution}`,free:!1};let g=b.image?`$${b.image}/image`:b.image_dimension_quality_pricing?"per image, by size":null;return null===c&&null===d?{in:null,out:null,note:g,free:!1}:{in:c,out:d,note:b.input_tiers?"tiered":b.varies_by_provider?"varies":g&&"+ per image",free:!1}}(a),retiring:!!a.deprecated_at}}).sort((a,b)=>a.id.localeCompare(b.id));return z={at:Date.now(),models:b},b}async function t(){return await s().then(a=>new Set(a.map(a=>a.id))).catch(()=>null)}async function u(a,b){if("vercel-ai-gateway"!==a)return b;let c=await t();if(!c)return b;let d=b.filter(a=>c.has(a.id));return d.length>0?d:b}async function v(a){let{label:b,apiKeyName:c}=o.TEXT_MODEL_PROVIDERS[a.provider],d=await (0,k.readConfig)(c);return d||(0,m.publicError)(`No ${b} key — add one in Config.`),q(a,d)}async function w(a){let b=async a=>(0,o.defaultModelOf)({suggestModels:await u(a.id,a.suggestModels)}),c=a?o.TEXT_MODEL_PROVIDER_LIST.find(b=>b.id===a):void 0,d=o.SPEACH_MODEL_PROVIDER_LIST.map(a=>({...o.TEXT_MODEL_PROVIDERS[a.id],id:a.id}));if(c){let a=await b(c);if(a)return{provider:c.id,model:a}}let e=(0,o.parseTextModel)(await (0,k.readConfig)(j.DEFAULT_MODEL_KEY)??void 0);if(e&&await (0,k.readConfig)(o.TEXT_MODEL_PROVIDERS[e.provider].apiKeyName))return e;for(let a of[...d,...o.TEXT_MODEL_PROVIDER_LIST]){if(!await (0,k.readConfig)(a.apiKeyName))continue;let c=await b(a);if(c)return l.logger.info(`no model set, falling back to ${a.id}/${c}`),{provider:a.id,model:c}}(0,m.publicError)("No model key is set — add one in Config")}async function x(a){if(a?.searchTools)return a;for(let a of o.TEXT_MODEL_PROVIDER_LIST){let b=await (0,k.readConfig)(a.apiKeyName),c=(0,o.cheapestModelOf)(a);if(!b||!c)continue;let d=q({provider:a.id,model:c},b);if(d.searchTools)return d}return null}async function y(a){let b=(0,o.parseMediaModel)(await (0,k.readConfig)(j.MEDIA_MODEL_KEYS[a]));if(!b||!(0,o.canMakeKind)(b.provider,a))return null;let c=await (0,k.readConfig)(o.MEDIA_MODEL_PROVIDERS[b.provider].apiKeyName);return c?{ref:b,apiKey:c}:null}a.s(["buildImageModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).image(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).image(a.model);case"xai":return(0,g.createXai)({apiKey:b}).image(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).image(a.model);default:(0,m.publicError)(`Not supported image provider: ${String(a.provider)}`)}},"buildSpeechModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).speech(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).speech(a.model);case"xai":return(0,g.createXai)({apiKey:b}).speech();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).speech(a.model);default:(0,m.publicError)(`Not supported speech provider: ${String(a.provider)}`)}},"buildTranscriptionModel",0,function(a,b){switch(a.provider){case"openai":return(0,f.createOpenAI)({apiKey:b}).transcription(a.model);case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).transcription(a.model);case"xai":return(0,g.createXai)({apiKey:b}).transcription();case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).transcription(a.model);default:(0,m.publicError)(`Not supported transcription provider: ${String(a.provider)}`)}},"buildVideoModel",0,function(a,b){switch(a.provider){case"google":return(0,e.createGoogleGenerativeAI)({apiKey:b}).video(a.model);case"xai":return(0,g.createXai)({apiKey:b}).video(a.model);case"vercel-ai-gateway":return(0,i.createGateway)({apiKey:b}).video(a.model);default:(0,m.publicError)(`${a.provider} has no video model`)}},"getTextModel",0,v,"modelErrorToString",0,function(a){if(!h.APICallError.isInstance(a))return(0,n.errorToString)(a);let b=a.statusCode?` (${a.statusCode})`:"",c=a.responseBody?.trim(),d=c&&!c.includes(a.message)?` ${(0,n.clip)(c,300)}`:"";return`${a.message}${b}${d}`},"resolveDefaultModel",0,w,"resolveMediaRef",0,y,"resolveSearchModel",0,x]),c()}catch(a){c(a)}},!1),735502,a=>a.a(async(b,c)=>{try{var d=a.i(569572),e=a.i(762008),f=a.i(221214),g=a.i(947950),h=a.i(986743),i=a.i(138100),j=a.i(821415),k=a.i(176668),l=a.i(182248),m=a.i(644468),n=a.i(938934),o=b([f,g,h,m]);async function p(a,b,c,l){var o,p,w,z,A,B,C,D;let E,F,G,H=await (0,j.openWorkspace)(),I=a.trim(),[J,K,L,M,N,O,P,Q,R]=await Promise.all([(0,i.loadSkills)(H),(0,h.listNoteIndex)(),(0,h.listAlwaysLoaded)(),(0,m.listConnectedToolNames)(),(0,g.findPinnedTools)(I),(0,f.listJobBots)(),(0,f.readBotNote)(I),(0,f.readBotNotesOn)(),(0,j.readMachineTools)(H)]),S=c?[]:O.filter(a=>a.name!==I),T=[c?(o=I,p=c,[`You are ${o}, a worker. ${p} is holding a job Thursday handed them and has handed one part of it to you. The user speaks to Thursday and to nobody else; you never address them, and what you hand back goes into ${p}'s report as-is. This thread is drawn on their screen while you work: not written to them, but not private either. ${(0,n.nowLine)()}`,q,r].join("\n\n")):(w=I,[`You are ${w}, a worker. Thursday handed you a job while she keeps talking to the user — they speak to her and to nobody else, and what she reads them out of your report is the only part of this that reaches them. You are not in that conversation and never address the user. This thread is drawn on their screen while you work, though: not written to them, but not private either. ${(0,n.nowLine)()}`,q,r].join("\n\n")),(z=K,A=L,E=`## Memory
2
2
 
3
- What the user's assistant knows about them — yours to read, and to add to when the work turns up something about them that outlives the job. What the job itself turned up goes in your report. It describes the user, not you: how they are named and spoken to is hers to use with them, not yours to borrow.`,A=o.length?`Already known:
3
+ What the user's assistant knows about them. Thursday keeps it as she talks with them, and everyone reads it.
4
4
 
5
- ${(0,n.carriedLines)(o)}`:"",B=`path what is under it (facts) "what the user calls it"
5
+ Yours to read, and to add to when the work turns up something about *them* that outlives the job; what the job itself turned up goes in your report. It describes the user, not you: how they are named and spoken to is hers to use with them, not yours to borrow. What you learn about this machine is not memory — that is your own instructions, below.`,F=A.length?`Already known:
6
6
 
7
- ${(0,n.noteLines)(l)}
7
+ ${(0,n.carriedLines)(A)}`:"",G=`path — what is under it (facts) "what the user calls it"
8
8
 
9
- A topic not listed is one nobody knows anything about.`,[z,A,B].filter(Boolean).join("\n\n")),function(a,b){let c=new Set(b.map(a=>`${a.server}/${a.name}`)),d=a.filter(a=>!c.has(`${a.server}/${a.name}`));if(0===d.length)return"";let f=c.size?" What is not listed above you are already holding — it is in your tools.":"";return`## Connected tools
9
+ ${(0,n.noteLines)(z)}
10
+
11
+ A topic not listed is one nobody knows anything about.`,[E,F,G].filter(Boolean).join("\n\n")),Q?(B=P,`## Your own instructions
12
+
13
+ What you wrote to yourself on earlier jobs here, to get better at this machine. Only you read it, and it is the one thing that reaches your next job. What belongs in it is what working here is like — the command that turns out to be the right one, the flag it needs, the tool this platform does not have. Not what the user is like: that is Memory, above, and everyone reads that one.
14
+
15
+ ${B??"Empty. What usually goes in first is whatever you had to find out before you could start."}
16
+
17
+ (${B?.length??0}/${d.BOT_NOTES.chars} characters)`):"",function(a,b){let c=new Set(b.map(a=>`${a.server}/${a.name}`)),d=a.filter(a=>!c.has(`${a.server}/${a.name}`));if(0===d.length)return"";let f=c.size?" What is not listed above you are already holding — it is in your tools.":"";return`## Connected tools
10
18
 
11
19
  ${(0,n.mcpToolLines)(d)}
12
20
 
13
- Names only: \`${e.TOOL_NAMES.tool_search}\` returns what each one takes, \`${e.TOOL_NAMES.tool_call}\` runs one.${f}`}(H,I),(p=E,0===p.length?"":`## Skills
21
+ Names only: \`${e.TOOL_NAMES.tool_search}\` returns what each one takes, \`${e.TOOL_NAMES.tool_call}\` runs one.${f}`}(M,N),(C=J,0===C.length?"":`## Skills
14
22
 
15
23
  Written-down methods. When the job is one of these, read it with \`${e.TOOL_NAMES.load_skill}\` before starting.
16
24
 
17
- ${(0,n.skillLines)(p)}`),t(C.cwd),(w=K,0===w.length?"":`## Bots
25
+ ${(0,n.skillLines)(C)}`),t(H.cwd,R,l),(D=S,0===D.length?"":`## Bots
26
+
27
+ ${D.map(a=>`- **${a.name}** — ${a.description}`).join("\n")}
18
28
 
19
- ${w.map(a=>`- **${a.name}** ${a.description}`).join("\n")}
29
+ These lines were written for the user, who reads them on their own screen: where one says "you" it means them, not you.
20
30
 
21
- A part of your job another bot is for goes to \`${e.TOOL_NAMES.ask_bot}\`, because their tools and their practice are the reason they exist. What you build is made of what they bring back, so send for it before you build. A part you could finish in a couple of commands is yours; one that would take a run of its own is theirs. The job stays yours and you report; they see only your brief — not the call, not this thread.`),c?v(c):u,c?y(c):x,s(b)].filter(Boolean).join("\n\n");return k.logger.debug(`bot prompt
22
- ${L}`),{text:L,peers:K.map(a=>a.name),opening:null}}[f,g,h,m]=o.then?(await o)():o;let q=`**You are on a real computer — the user's own.** You have a shell and a filesystem, and the job is done, not described: where there is no tool for something, write one — in \`node\` unless they asked for another language, the runtime this app itself runs on. Reach for \`${e.TOOL_NAMES.bash}\` before concluding that something cannot be done, but after the roster, not instead of it: a script you write to do another bot's job is the long way round.
31
+ A part of your job another bot is for goes to \`${e.TOOL_NAMES.ask_bot}\`, because their tools and their practice are the reason they exist. What you build is made of what they bring back, so send for it before you build. A part you could finish in a couple of commands is yours; one that would take a run of its own is theirs. The job stays yours and you report; they see only your brief — not the call, not this thread.`),c?v(c):u,c?y(c):x,s(b)].filter(Boolean).join("\n\n");return(0,n.logPromptSize)("bot",T),k.logger.debug(`bot prompt
32
+ ${T}`),{text:T,peers:S.map(a=>a.name),opening:null}}[f,g,h,m]=o.then?(await o)():o;let q=`**You are on a real computer — the user's own.** You have a shell and a filesystem, and the job is done, not described: where there is no tool for something, write one — in \`node\` unless they asked for another language, the runtime this app itself runs on. Reach for \`${e.TOOL_NAMES.bash}\` before concluding that something cannot be done, but after the roster, not instead of it: a script you write to do another bot's job is the long way round.
23
33
 
24
- **What is missing gets installed.** Inside the workspace, freely; onto the machine itself — \`python3\`, a \`brew\` package — once they say yes, so ask. What is already there is nobody's question.
34
+ **What is missing gets installed**, onto the machine once they say yes. What is already there is nobody's question — Environment says what this machine has.
25
35
 
26
36
  **Bring back the thing itself** — their own machine, their own accounts, their own copy of whatever they sent you for — not a smaller safer version of it, and not a note on why you did not.`,r="**Never present a guess as a result.** She says it out loud as fact. Say which part is unverified and why.",s=a=>a?.trim()?`## Owner's instructions
27
37
 
28
38
  Written by the person this bot works for. Where these and anything above disagree, these win.
29
39
 
30
- ${a.trim()}`:"",t=a=>`## Environment
40
+ ${a.trim()}`:"",t=(a,b,c)=>{var f;let g,h;return`## Environment
31
41
 
32
42
  Current Cwd: ${a}
33
43
  Platform: ${process.platform}
44
+ ${f=b,g=(a,b)=>`${a}: ${b.found.length?b.found.join(", "):"none"}.${b.missing.length?` Not here: ${b.missing.join(", ")}.`:""}`,h=f.managers.found.includes("pnpm")?" Use pnpm, not npm — this workspace is fenced for it (`pnpm-workspace.yaml`, `.npmrc`).":"",[g("Runtimes",f.runtimes),`${g("Package managers",f.managers)}${h}`,null===f.browser?"":f.browser?"Browser: installed.":"Browser: not installed — `playwright-cli install-browser chromium` puts one there."].filter(Boolean).join("\n")}
34
45
 
35
- Your workspace \`${e.TOOL_NAMES.bash}\` runs here. Everything you write goes in one of three folders: \`${d.PATHS.artifacts}/\` (finished work the user opens), \`${d.PATHS.projects}/\` (code you build), \`${d.PATHS.scratch}/\` (everything in progress). Never the directory above — that is the app you run in; outside the workspace, only where the user pointed you.`,u=`## Asking
46
+ Read off this machine as the job opened, so it is current: reach for what is here instead of checking for it.
47
+
48
+ Your workspace — \`${e.TOOL_NAMES.bash}\` runs here. Everything you write goes in one of these, and they are kept apart because what is in them lives for different lengths of time:
49
+
50
+ - \`${d.PATHS.artifacts}/\` — finished work the user opens, one entry per result. Theirs, and it stays.
51
+ - \`${d.PATHS.projects}/\` — code you build, one folder each. It outlives this job, and a project's dependencies install inside it, never at the workspace root.
52
+ - \`${c?.scratch??d.PATHS.scratch}/\` — this job's working material. It goes when the job does, so nothing here is worth keeping.
53
+ - \`${c?.own??d.PATHS.bots}/\` — yours, across every job you run here. A script you wrote once and will want again, a table you built. Your own instructions can name what is in it.
54
+
55
+ Never the directory above — that is the app you run in; outside the workspace, only where the user pointed you.`},u=`## Asking
36
56
 
37
57
  What you cannot get for yourself — a decision between real options, a detail only the conversation has, a go-ahead before deleting or sending — goes to \`${e.TOOL_NAMES.ask_thursday}\`, once, with everything in it. Ask before you start, not after an hour; never ask what one command would tell you.
38
58
 
@@ -52,18 +72,16 @@ Every part ends with \`${e.TOOL_NAMES.report}\`; what you hand back goes into ${
52
72
 
53
73
  A detail that is not in the request may be here — a name, a number, which one of two. The request wins where they disagree, with one exception: when they asked out loud for something to be *done* and the request only asks about it, the doing is the job.
54
74
 
55
- ${c.join("\n")}`},"loadBotPrompt",0,p]),c()}catch(a){c(a)}},!1),938934,a=>{"use strict";var b=a.i(12208),c=a.i(868468),d=a.i(569572),e=a.i(762008),f=a.i(661210),g=a.i(706210),h=a.i(987674),i=a.i(182248);function j(a,b=!1){return a.length?a.map(a=>{var c;let d,e=a.aliases?.length?` ${a.aliases.map(a=>`"${a}"`).join(" ")}`:"",f=b?` \xb7 ${c=a.lastSeenAt,(d=Math.floor((Date.now()-(0,g.toDate)(c).getTime())/864e5))>=365?`${Math.floor(d/365)}y`:d>=30?`${Math.floor(d/30)}mo`:`${Math.max(d,0)}d`}`:"";return`- ${a.path} — ${a.description?.trim()} (${a.factCount})${e}${f}`}).join("\n"):"(nothing saved yet)"}a.s(["carriedLines",0,a=>a.map(a=>`- ${a.text} \xb7 ${a.path} #${a.id}`).join("\n"),"mcpServerLines",0,function(a){let b=new Map;for(let c of a)b.set(c.server,(b.get(c.server)??0)+1);return[...b].map(([a,b])=>`- **${a}**: ${b} tool${1===b?"":"s"}`).join("\n")},"mcpToolLines",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.server);a?a.push(c.name):b.set(c.server,[c.name])}return[...b].map(([a,b])=>`- **${a}**: ${b.join(", ")}`).join("\n")},"noteLines",0,j,"nowLine",0,(a=new Date)=>`**Now**: ${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} ${Intl.DateTimeFormat().resolvedOptions().timeZone}`,"recentCallLines",0,function(a,b){let f=[],g=0;a:for(let c=a.length-1;c>=0;c--){let j=a[c];for(let a=j.turns.length-1;a>=0;a--){let c=function(a,b){if("tool"!==a.role)return`${"user"===a.role?"user":"you"}: ${a.text}`;let c=`you → ${a.tool??"tool"} ${(0,i.clip)(a.text,d.PROMPT_LINE.toolArgs)}`;if(a.tool!==e.TOOL_NAMES.delegate)return c;let f=(()=>{try{let b=JSON.parse(a.text);return"string"==typeof b.label?b.label:null}catch{return null}})(),g=f?b.jobs?.find(a=>a.label===f):void 0;if(!g)return c;let h=g.outcome?`: ${(0,i.clip)(g.outcome,160)}`:"";return`you → ${a.tool} "${g.label}" (${g.id}) — ${g.status}${h}`}(j.turns[a],j),k=(0,h.estimateTokens)(c)+3;if(g+k>b&&f.length)break a;g+=k,f.push({call:j,line:c})}}f.reverse();let j=[],k=null;for(let{call:a,line:b}of f){if(a!==k){k=a;let b=(0,c.formatDistanceToNowStrict)(a.startedAt,{addSuffix:!0});j.push(`### ${a.startedAt.toISOString().slice(0,16).replace("T"," ")} (${b})`)}j.push(b)}return j.join("\n")},"skillLines",0,(a,b={})=>a.map(a=>{var c;let e,f;return`- **${a.name}**: ${b.short?(c=a.description,e=d.PROMPT_LINE.skill,(f=c.trim().split(/(?<=[.。])\s|\n/)[0].trim()).length>e?`${f.slice(0,e).trim()}…`:f):a.description}`}).join("\n"),"tidying",0,a=>({crowded:(0,h.estimateTokens)(j(a))>d.MEMORY_LISTING_TOKENS,heavy:a.filter(a=>a.factCount>f.MANY_FACTS)})])},375827,a=>{"use strict";var b=a.i(527990),c=a.i(794219),d=a.i(762008);let e={name:d.TOOL_NAMES.end_call,description:`End the call.
75
+ ${c.join("\n")}`},"loadBotPrompt",0,p]),c()}catch(a){c(a)}},!1),938934,a=>{"use strict";var b=a.i(12208),c=a.i(868468),d=a.i(569572),e=a.i(762008),f=a.i(661210),g=a.i(706210),h=a.i(176668),i=a.i(987674),j=a.i(182248);let k=(a=new Date)=>`${(0,b.format)(a,"yyyy-MM-dd (EEE) HH:mm")} ${Intl.DateTimeFormat().resolvedOptions().timeZone}`;function l(a,b=!1){return a.length?a.map(a=>{var c;let d,e=a.aliases?.length?` ${a.aliases.map(a=>`"${a}"`).join(" ")}`:"",f=b?` \xb7 ${c=a.lastSeenAt,(d=Math.floor((Date.now()-(0,g.toDate)(c).getTime())/864e5))>=365?`${Math.floor(d/365)}y`:d>=30?`${Math.floor(d/30)}mo`:`${Math.max(d,0)}d`}`:"";return`- ${a.path} — ${a.description?.trim()} (${a.factCount})${e}${f}`}).join("\n"):"(nothing saved yet)"}a.s(["carriedLines",0,a=>a.map(a=>`- ${a.text} \xb7 ${a.path} #${a.id}`).join("\n"),"clockNow",0,k,"logPromptSize",0,function(a,b){let c=(0,i.sectionTokens)(b),e=c.reduce((a,b)=>a+b.tokens,0);h.logger.debug(`${a} prompt ${e} tokens — ${c.map(a=>`${a.name} ${a.tokens}`).join(", ")}`);let f=c[0];e>d.PROMPT_BUDGET&&f&&h.logger.warn(`${a} prompt is ${e} tokens, over ${d.PROMPT_BUDGET}: ${f.name} carries ${f.tokens} of it. Every call and every job pays this.`)},"mcpServerLines",0,function(a){let b=new Map;for(let c of a)b.set(c.server,(b.get(c.server)??0)+1);return[...b].map(([a,b])=>`- **${a}**: ${b} tool${1===b?"":"s"}`).join("\n")},"mcpToolLines",0,function(a){let b=new Map;for(let c of a){let a=b.get(c.server);a?a.push(c.name):b.set(c.server,[c.name])}return[...b].map(([a,b])=>`- **${a}**: ${b.join(", ")}`).join("\n")},"noteLines",0,l,"nowLine",0,(a=new Date)=>`**Now**: ${k(a)}`,"recentCallLines",0,function(a,b){let f=[],g=0;a:for(let c=a.length-1;c>=0;c--){let h=a[c];for(let a=h.turns.length-1;a>=0;a--){let c=function(a,b){if("tool"!==a.role)return`${"user"===a.role?"user":"you"}: ${a.text}`;let c=`you → ${a.tool??"tool"} ${(0,j.clip)(a.text,d.PROMPT_LINE.toolArgs)}`;if(a.tool!==e.TOOL_NAMES.delegate)return c;let f=(()=>{try{let b=JSON.parse(a.text);return"string"==typeof b.label?b.label:null}catch{return null}})(),g=f?b.jobs?.find(a=>a.label===f):void 0;if(!g)return c;let h=g.outcome?`: ${(0,j.clip)(g.outcome,160)}`:"";return`you → ${a.tool} "${g.label}" (${g.id}) — ${g.status}${h}`}(h.turns[a],h),k=(0,i.estimateTokens)(c)+3;if(g+k>b&&f.length)break a;g+=k,f.push({call:h,line:c})}}f.reverse();let h=[],k=null;for(let{call:a,line:b}of f){if(a!==k){k=a;let b=(0,c.formatDistanceToNowStrict)(a.startedAt,{addSuffix:!0});h.push(`### ${a.startedAt.toISOString().slice(0,16).replace("T"," ")} (${b})`)}h.push(b)}return h.join("\n")},"skillLines",0,(a,b={})=>a.map(a=>{var c;let e,f;return`- **${a.name}**: ${b.short?(c=a.description,e=d.PROMPT_LINE.skill,(f=c.trim().split(/(?<=[.。])\s|\n/)[0].trim()).length>e?`${f.slice(0,e).trim()}…`:f):a.description}`}).join("\n"),"tidying",0,a=>({crowded:(0,i.estimateTokens)(l(a))>d.MEMORY_LISTING_TOKENS,heavy:a.filter(a=>a.factCount>f.MANY_FACTS)})])},375827,a=>{"use strict";var b=a.i(527990),c=a.i(794219),d=a.i(762008);let e={name:d.TOOL_NAMES.end_call,description:`End the call.
56
76
 
57
- Say goodbye first — nothing said after this reaches the user.`,parameters:c.object({})},f=(0,b.tool)({description:e.description,inputSchema:e.parameters}),g={[d.TOOL_NAMES.end_call]:f};a.s(["CALL_TOOLS",0,g])},138902,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(762008),g=a.i(947950),h=a.i(644468),i=b([g,h]);[g,h]=i.then?(await i)():i;let l={[f.TOOL_NAMES.tool_search]:{name:f.TOOL_NAMES.tool_search,description:`Fetch what a connected server's tools take, so they can be called.
58
-
59
- The Connected tools section names every server and every tool on it, and that is all it names: there is no description and no parameter schema, so a tool cannot be invoked from that list alone. Name a server and the tools on it, and this returns each one's description and its exact inputSchema. Then run one with \`${f.TOOL_NAMES.tool_call}\`.`,parameters:e.object({server:e.string().describe("A server name, exactly as the Connected tools section writes it."),tools:e.string().array().describe("Tool names listed under that server. Only the ones you may actually call — schemas are large, and at most 8 come back.")})},[f.TOOL_NAMES.tool_call]:{name:f.TOOL_NAMES.tool_call,description:`Run one tool whose definition came back from \`${f.TOOL_NAMES.tool_search}\`.`,parameters:e.object({server:e.string().describe("The server the tool lives on."),tool:e.string().describe("Its name, as search returned it."),args:e.record(e.string(),e.unknown()).nullable().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:e.string().nullable().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},m=(a,b)=>`${a.replace(/[^a-zA-Z0-9]+/g,"_")}__${b.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function j(a,b){let[c,e]=await Promise.all([(0,h.listConnectedToolNames)(),(0,g.findPinnedTools)(a)]),f={};for(let a of e){let c=m(a.server,a.name);f[c]||(f[c]=(0,d.tool)({description:a.description??`${a.name} on the ${a.server} server.`,inputSchema:(0,d.jsonSchema)(a.inputSchema??{type:"object",properties:{}}),execute:(c,{abortSignal:d})=>(0,h.callConnectedTool)(b,a.server,a.name,c??void 0,d)}))}return c.length>e.length&&Object.assign(f,n(b)),f}async function k(a){let b=(await (0,h.listConnectedToolNames)(a)).map(a=>a.name);if(b.length)return`Tools on "${a}": ${b.join(", ")}.`;let c=await (0,h.listConnectedServerNames)();return c.length?`There is no server called "${a}". Connected: ${c.join(", ")}.`:"Nothing is connected."}let n=a=>({[f.TOOL_NAMES.tool_search]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_search].description,inputSchema:l[f.TOOL_NAMES.tool_search].parameters,execute:async({server:a,tools:b})=>{let c=[...new Set(b.map(a=>a.trim()).filter(Boolean))],d=c.slice(0,8),e=await (0,h.findConnectedSchemas)(a.trim(),d);if(!e.length)return{tools:[],note:await k(a)};let f=d.filter(a=>!e.some(b=>b.name===a)),g=c.slice(8),i=[f.length?`Not on "${a}": ${f.join(", ")}.`:"",g.length?`Only 8 at a time — ask again for: ${g.join(", ")}.`:""].filter(Boolean);return{tools:e,...i.length?{note:i.join(" ")}:{}}}}),[f.TOOL_NAMES.tool_call]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_call].description,inputSchema:l[f.TOOL_NAMES.tool_call].parameters,execute:async({server:b,tool:c,args:d},{abortSignal:e})=>(await (0,h.listConnectedToolNames)(b.trim())).some(a=>a.name===c.trim())?(0,h.callConnectedTool)(a,b.trim(),c.trim(),d??void 0,e):{status:"error",text:await k(b)}})});a.s(["createMcpTools",0,j]),c()}catch(a){c(a)}},!1),345846,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(203469),g=a.i(762008),h=a.i(986743),i=a.i(661210),j=b([h]);[h]=j.then?(await j)():j;let k="Deleted for good. The listing in your instructions is from when this session opened and still shows it that way until the next one.",l=(0,d.tool)({description:"Save a lasting fact about the user. Only for what outlives this job; what the job itself turned up goes in the report.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it, or a new path following the same convention."),facts:e.string().array().describe("One statement each, standing on its own later.")}),execute:async({path:a,facts:b})=>{let c=a.trim(),d=b.map(a=>a.trim()).filter(Boolean);if(!d.length)return{note:"Nothing to write: send a fact."};let e=await (0,h.resolveNotePath)(c),f=e||(0,i.isMemoryPath)(c)?e??c:i.MEMORY_INBOX;return await (0,h.writeNotes)([{path:f,facts:d.map(a=>({text:a}))}]),{note:f===c?`Saved to ${f}.`:`Saved to ${f}: "${c}" is not a path this listing can carry.`}}});a.s(["botRememberTool",0,l,"createMemoryTools",0,()=>({[g.TOOL_NAMES.memory_recall]:(0,d.tool)({description:"Open one note from the listing, whole.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it — the path, or one of the names in quotes after it.")}),execute:async({path:a})=>{let b,c,{notes:d}=await (0,h.readNotes)([a]),e=d[0];return e?e.facts.length>i.MANY_FACTS?{...e,note:(b=e.path,c=e.facts.length,` ${b} carries ${c} facts — enough that it is worth tidying. Put it on screen with \`${g.TOOL_NAMES.memory_show}\` and ask which of it they no longer need.`).trim()}:e:{note:`Nothing on the listing called ${a.trim()}.`}}}),[g.TOOL_NAMES.memory_remember]:(0,d.tool)({description:"Write to one note: facts, and the line the listing shows for it. The path is the key — a path not on the listing is created (with at least one fact), one that is gets amended.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it, or a new path following the same convention."),facts:e.object({text:e.string().describe("One statement that stands on its own later."),replaces:e.number().int().nullable().describe("The id of the fact this replaces — from this note as handed back here or by `memory_recall`. Null if this is new. A fact that stopped being true is replaced rather than deleted, and so is a note saying the same thing twice: replacing keeps what changed on the record, deleting does not."),alwaysLoad:e.boolean().nullable().describe(`True carries this line into every call's instructions without opening its note — for what to call them, their language and register, a standing rule. At most ${i.ALWAYS_LOADED_MAX}. Null leaves it; false makes a carried line an ordinary fact.`)}).array().nullable().describe("What to write under this note. Send everything that came up at once: one call is one pause in the conversation, three calls are three. Null when only naming it."),description:e.string().nullable().describe(`One line saying what this note is about, not what it currently says. Give it for a new note, or when the line no longer fits. Null leaves it; ${i.MEMORY_ALWAYS_LISTED.join(" and ")} keep their own line.`),aliases:e.string().array().nullable().describe('What the user calls this note out loud, in the language they say it — the words they would use to ask for it, not the facts inside. A note at people/yuri might be "Yuri" and "my wife". Replaces the set it has, so send the whole set. Null leaves it.')}),execute:async a=>{let b=a.path.trim(),c=await (0,h.resolveNotePath)(b),d=a.aliases??null,e=(0,i.isAlwaysListed)(c??b)?null:a.description?.trim()||null,f=a.facts??[];if(!f.length&&!e&&!d)return{note:"Nothing to write: send facts, a line, names, or any of them."};if(!c&&!f.length)return{note:`Nothing on the listing called ${b}. A note comes into being with a fact — send at least one.`};let g=c||(0,i.isMemoryPath)(b)?{path:c??b,description:e,aliases:d,facts:f}:{path:i.MEMORY_INBOX,description:"Facts with nowhere obvious to go",facts:f},j=await (0,h.writeNotes)([g]),k=g.path!==b?` Filed under ${g.path}: "${b}" is not a path this listing can carry. If that is not where it belongs, write it again under one that is.`:"",l=j.unnamed.length?` ${j.unnamed[0]} is new and has no line yet — the listing shows its first fact instead. Call again with \`description\` (one line about what it is) and \`aliases\` (the names they say for it).`:"",m=j.notLoaded.length?` All ${i.ALWAYS_LOADED_MAX} carried lines are taken, so ${j.notLoaded.map(a=>`"${a}"`).join(", ")} saved as an ordinary fact. Say which carried line you would drop for it and let them choose.`:"";return{...j.notes[0],note:`Saved. The listing in your instructions is from when this session opened and will not show this until the next one — the note below is current.${k}${l}${m}`}}}),[g.TOOL_NAMES.memory_show]:(0,d.tool)({description:`Put a note on the user's screen so they can see it while you
77
+ Say goodbye first — nothing said after this reaches the user.`,parameters:c.object({})},f=(0,b.tool)({description:e.description,inputSchema:e.parameters}),g={[d.TOOL_NAMES.end_call]:f};a.s(["CALL_TOOLS",0,g])},138902,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(762008),g=a.i(947950),h=a.i(644468),i=b([g,h]);[g,h]=i.then?(await i)():i;let l={[f.TOOL_NAMES.tool_search]:{name:f.TOOL_NAMES.tool_search,description:`Return the description and exact inputSchema of tools on a connected server, so they can be called with \`${f.TOOL_NAMES.tool_call}\`.`,parameters:e.object({server:e.string().describe("A server name, exactly as the Connected tools section writes it."),tools:e.string().array().describe("Tool names listed under that server. Only the ones you may actually call — schemas are large, and at most 8 come back.")})},[f.TOOL_NAMES.tool_call]:{name:f.TOOL_NAMES.tool_call,description:`Run one tool whose definition came back from \`${f.TOOL_NAMES.tool_search}\`.`,parameters:e.object({server:e.string().describe("The server the tool lives on."),tool:e.string().describe("Its name, as search returned it."),args:e.record(e.string(),e.unknown()).nullish().describe("Arguments matching the inputSchema search returned — do not guess. Null when it takes none."),description:e.string().nullish().describe("One short line for the user: what this call is for. Shown on their screen while it runs.")})}},m=(a,b)=>`${a.replace(/[^a-zA-Z0-9]+/g,"_")}__${b.replace(/[^a-zA-Z0-9_-]+/g,"_")}`.slice(0,64);async function j(a,b){let[c,e]=await Promise.all([(0,h.listConnectedToolNames)(),(0,g.findPinnedTools)(a)]),f={};for(let a of e){let c=m(a.server,a.name);f[c]||(f[c]=(0,d.tool)({description:a.description??`${a.name} on the ${a.server} server.`,inputSchema:(0,d.jsonSchema)(a.inputSchema??{type:"object",properties:{}}),execute:(c,{abortSignal:d})=>(0,h.callConnectedTool)(b,a.server,a.name,c??void 0,d)}))}return c.length>e.length&&Object.assign(f,n(b)),f}async function k(a){let b=(await (0,h.listConnectedToolNames)(a)).map(a=>a.name);if(b.length)return`Tools on "${a}": ${b.join(", ")}.`;let c=await (0,h.listConnectedServerNames)();return c.length?`There is no server called "${a}". Connected: ${c.join(", ")}.`:"Nothing is connected."}let n=a=>({[f.TOOL_NAMES.tool_search]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_search].description,inputSchema:l[f.TOOL_NAMES.tool_search].parameters,execute:async({server:a,tools:b})=>{let c=[...new Set(b.map(a=>a.trim()).filter(Boolean))],d=c.slice(0,8),e=await (0,h.findConnectedSchemas)(a.trim(),d);if(!e.length)return{tools:[],note:await k(a)};let f=d.filter(a=>!e.some(b=>b.name===a)),g=c.slice(8),i=[f.length?`Not on "${a}": ${f.join(", ")}.`:"",g.length?`Only 8 at a time — ask again for: ${g.join(", ")}.`:""].filter(Boolean);return{tools:e,...i.length?{note:i.join(" ")}:{}}}}),[f.TOOL_NAMES.tool_call]:(0,d.tool)({description:l[f.TOOL_NAMES.tool_call].description,inputSchema:l[f.TOOL_NAMES.tool_call].parameters,execute:async({server:b,tool:c,args:d},{abortSignal:e})=>(await (0,h.listConnectedToolNames)(b.trim())).some(a=>a.name===c.trim())?(0,h.callConnectedTool)(a,b.trim(),c.trim(),d??void 0,e):{status:"error",text:await k(b)}})});a.s(["createMcpTools",0,j]),c()}catch(a){c(a)}},!1),345846,a=>a.a(async(b,c)=>{try{var d=a.i(527990),e=a.i(794219),f=a.i(203469),g=a.i(762008),h=a.i(986743),i=a.i(661210),j=b([h]);[h]=j.then?(await j)():j;let k="Deleted for good. The listing in your instructions is from when this session opened and still shows it that way until the next one.",l=(0,d.tool)({description:"Save a lasting fact about the user. Only for what outlives this job; what the job itself turned up goes in the report.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it, or a new path following the same convention."),facts:e.string().array().describe("One statement each, standing on its own later.")}),execute:async({path:a,facts:b})=>{let c=a.trim(),d=b.map(a=>a.trim()).filter(Boolean);if(!d.length)return{note:"Nothing to write: send a fact."};let e=await (0,h.resolveNotePath)(c),f=e||(0,i.isMemoryPath)(c)?e??c:i.MEMORY_INBOX;return await (0,h.writeNotes)([{path:f,facts:d.map(a=>({text:a}))}],"bot"),{note:f===c?`Saved to ${f}.`:`Saved to ${f}: "${c}" is not a path this listing can carry.`}}});a.s(["botRememberTool",0,l,"createMemoryTools",0,a=>({[g.TOOL_NAMES.memory_recall]:(0,d.tool)({description:"Open one note from the listing, whole.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it — the path, or one of the names in quotes after it.")}),execute:async({path:a})=>{let b,c,{notes:d}=await (0,h.readNotes)([a]),e=d[0];return e?e.facts.length>i.MANY_FACTS?{...e,note:(b=e.path,c=e.facts.length,` ${b} carries ${c} facts — enough that it is worth tidying. Put it on screen with \`${g.TOOL_NAMES.memory_show}\` and ask which of it they no longer need.`).trim()}:e:{note:`Nothing on the listing called ${a.trim()}.`}}}),[g.TOOL_NAMES.memory_remember]:(0,d.tool)({description:"Write to one note: facts, and the line the listing shows for it. The path is the key — a path not on the listing is created (with at least one fact), one that is gets amended.",inputSchema:e.object({path:e.string().describe("Exactly as the listing writes it, or a new path following the same convention."),facts:e.object({text:e.string().describe("One statement that stands on its own later."),replaces:e.number().int().nullish().describe("The id of the fact this replaces — from this note as handed back here or by `memory_recall`. Null if this is new. A fact that stopped being true is replaced rather than deleted, and so is a note saying the same thing twice: replacing keeps what changed on the record, deleting does not."),alwaysLoad:e.boolean().nullish().describe(`True carries this line into every call's instructions without opening its note — for what to call them, their language and register, a standing rule. At most ${i.ALWAYS_LOADED_MAX}. Null leaves it; false makes a carried line an ordinary fact.`)}).array().nullish().describe("What to write under this note. Send everything that came up at once: one call is one pause in the conversation, three calls are three. Null when only naming it."),description:e.string().nullish().describe(`One line saying what this note is about, not what it currently says. Give it for a new note, or when the line no longer fits. Null leaves it; ${i.MEMORY_ALWAYS_LISTED.join(" and ")} keep their own line.`),aliases:e.string().array().nullish().describe('What the user calls this note out loud, in the language they say it — the words they would use to ask for it, not the facts inside. A note at people/yuri might be "Yuri" and "my wife". Replaces the set it has, so send the whole set. Null leaves it.')}),execute:async b=>{let c=b.path.trim(),d=await (0,h.resolveNotePath)(c),e=b.aliases??null,f=(0,i.isAlwaysListed)(d??c)?null:b.description?.trim()||null,g=b.facts??[];if(!g.length&&!f&&!e)return{note:"Nothing to write: send facts, a line, names, or any of them."};if(!d&&!g.length)return{note:`Nothing on the listing called ${c}. A note comes into being with a fact — send at least one.`};let j=d||(0,i.isMemoryPath)(c)?{path:d??c,description:f,aliases:e,facts:g}:{path:i.MEMORY_INBOX,description:"Facts with nowhere obvious to go",facts:g},k=await (0,h.writeNotes)([j],a),l=j.path!==c?` Filed under ${j.path}: "${c}" is not a path this listing can carry. If that is not where it belongs, write it again under one that is.`:"",m=k.unnamed.length?` ${k.unnamed[0]} is new and has no line yet — the listing shows its first fact instead. Call again with \`description\` (one line about what it is) and \`aliases\` (the names they say for it).`:"",n=k.notLoaded.length?` All ${i.ALWAYS_LOADED_MAX} carried lines are taken, so ${k.notLoaded.map(a=>`"${a}"`).join(", ")} saved as an ordinary fact. Say which carried line you would drop for it and let them choose.`:"";return{...k.notes[0],note:`Saved. The listing in your instructions is from when this session opened and will not show this until the next one — the note below is current.${l}${m}${n}`}}}),[g.TOOL_NAMES.memory_show]:(0,d.tool)({description:`Put a note on the user's screen so they can see it while you
60
78
  talk about it, and take it away again. They cannot edit it there — they say
61
79
  what to drop and you drop it.`,inputSchema:e.object({path:e.string().nullable().describe("The note to put on screen, exactly as the listing writes it. Null takes it away.")}),execute:async({path:a})=>{if(!a?.trim())return f.appEvents.emit({type:"memory-view",path:null}),{note:"Taken off the screen."};let{notes:b}=await (0,h.readNotes)([a],{touch:!1}),c=b[0];return c?(f.appEvents.emit({type:"memory-view",path:c.path}),{...c,note:"It is on their screen now, in this order. Ask what they no longer need, and forget only what they name."}):{note:`Nothing on the listing called ${a.trim()}.`}}}),[g.TOOL_NAMES.memory_forget]:(0,d.tool)({description:"Delete one fact for good.",inputSchema:e.object({factId:e.number().int().describe("The id that came with the fact when the note was opened.")}),execute:async({factId:a})=>{let b=await (0,h.forgetFactById)(a);if(!b)return{note:`No fact with id ${a}. Nothing was deleted.`};if(b.noteGone)return{note:`${k} That was the last fact under ${b.path}, so the note went with it.`};let{notes:c}=await (0,h.readNotes)([b.path],{touch:!1});return{...c[0],note:k}}})})]),c()}catch(a){c(a)}},!1),622547,a=>{"use strict";var b=a.i(47919),c=a.i(527990),d=a.i(723885),e=a.i(762008);let f=`Answer the question from the web. Lead with the answer, then
62
80
  what supports it. Say plainly what you could not find or confirm — do not fill
63
81
  the gap with a guess. Every number carries the date you saw it. Be brief: this
64
82
  is read by another model, not by a person.`;a.s(["createSearchTool",0,(a,g)=>{if(!a?.searchTools)return{};let{model:h,searchTools:i}=a;return{[e.TOOL_NAMES.web_search]:(0,c.tool)({description:"Search the web and get back an answer with its sources. For a fact, a price, a date, what a page says. Not for a page that has to be clicked, filled, or signed into — that is the browser.",inputSchema:d.default.object({query:d.default.string().describe("What you want to know, as one full question. Put the place and the time in when they matter — the searcher sees nothing but this line.")}),execute:async({query:a},{abortSignal:c})=>{let{text:d,sources:e}=await (0,b.generateText)({model:h,tools:i,system:f,prompt:a,abortSignal:c}),j=[...new Set(e.flatMap(a=>"url"===a.sourceType?[a.title?`${a.title} — ${a.url}`:a.url]:[]))].slice(0,8);return g.fold([d.trim(),j.length?`Sources:
65
83
  ${j.join("\n")}`:""].filter(Boolean).join("\n\n"),"web-search")}})}}])},451017,a=>{"use strict";var b=a.i(527990),c=a.i(723885),d=a.i(762008),e=a.i(762805);a.s(["createSkillTools",0,({skills:a,sandbox:f})=>{let g=new Set;return{[d.TOOL_NAMES.load_skill]:(0,b.tool)({description:"Load one skill: its instructions, and the files that ship with it.",inputSchema:c.default.object({name:c.default.string().describe("Exact name from the Skills list. Do not guess names that are not on it.")}),execute:async({name:b})=>{let c=a.find(a=>a.name.toLowerCase()===b.toLowerCase());if(!c)return{error:`No skill named '${b}'.`,available:a.map(a=>a.name)};let d=`${c.path}/SKILL.md`;if(g.has(c.path))return{skillDirectory:c.path,note:`You already loaded '${c.name}' in this run — its instructions are above, unchanged. Scroll back to that result rather than reading it again; if you need the file itself, read ${d} with the shell.`};let h=await f.readFile(d,"utf-8"),{body:i}=(0,e.splitFrontmatter)(h),j=await f.glob("**/*",{path:c.path,limit:50});return g.add(c.path),{skillDirectory:c.path,files:j,content:i}}})}}])},705881,a=>{"use strict";var b=a.i(527990),c=a.i(794219);let d={name:a.i(762008).TOOL_NAMES.tidy_done,description:"Finish. Calling this ends the read — nothing after it runs.",parameters:c.object({summary:c.string().describe("One or two lines on what changed and why, or that nothing needed to.")})},e=(0,b.tool)({description:d.description,inputSchema:d.parameters,execute:async({summary:a})=>({ok:!0,summary:a})});a.s(["tidyDoneTool",0,e])},500777,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(750227),f=a.i(47919),g=a.i(12208),h=a.i(723885),i=a.i(569572),j=a.i(875931),k=a.i(762008),l=a.i(176668),m=a.i(182248),n=b([j]);function o(a){return{...a,execute:(b,c)=>{let d=a.inputSchema.safeParse(b);if(!d.success)throw Error(h.default.prettifyError(d.error));return a.execute(d.data,c)}}}[j]=n.then?(await n)():n;let t={images:`${i.PATHS.artifacts}/images`,audio:`${i.PATHS.artifacts}/audio`,transcripts:`${i.PATHS.artifacts}/transcripts`,videos:`${i.PATHS.artifacts}/videos`};function p(a,b){let c=a.toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40),d=(0,g.format)(new Date,"yyyyMMdd-HHmmss");return`${d}${c?`-${c}`:""}.${b}`}async function q(a,b,c,d){let e=`${b}/${c}`;return await a.exec(`mkdir -p ${b}`),await a.writeFile(e,Buffer.from(d)),e}let u=a=>`${a}
66
- Saved. Give the user this path — the file opens from the task row. Do not describe it back to them; they can open it.`,v=(a,b)=>a?.split("/")[1]?.split(";")[0]||b,w=["1:1","16:9","9:16","4:3","3:4"],x=async()=>{let a=await (0,j.resolveMediaRef)("image");if(!a)return null;let b=(0,j.buildImageModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace. What comes back is its path.",inputSchema:h.default.object({prompt:h.default.string().describe("What to draw, described: subject, style, mood, what is in frame. The image model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:h.default.enum(w).nullable().describe("Aspect ratio. Null for square.")}),execute:async({prompt:a,aspectRatio:c},{sandbox:d,abortSignal:e})=>{let{image:g}=await (0,f.generateImage)({model:b,prompt:a,aspectRatio:c??"1:1",abortSignal:e}),h=await q(d,t.images,p(a,v(g.mediaType,"png")),g.uint8Array);return u(h)}})},y=async()=>{let a=await (0,j.resolveMediaRef)("speech");if(!a)return null;let b=(0,j.buildSpeechModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_speech,description:"Read text aloud into an audio file in the workspace — something the user listens to or sends, not Thursday's voice. What comes back is its path.",inputSchema:h.default.object({text:h.default.string().min(1).max(4e3).describe("The words to read, up to 4000 characters. Longer pieces are read in parts, one call each."),voice:h.default.string().nullable().describe("A voice name the provider knows. Null for its default."),instructions:h.default.string().nullable().describe('How to read it — "slowly", "warm", "like a news anchor". Null for plain.')}),execute:async({text:a,voice:c,instructions:d},{sandbox:e,abortSignal:g})=>{let{audio:h}=await (0,f.generateSpeech)({model:b,text:a,voice:c??void 0,instructions:d??void 0,outputFormat:"mp3",abortSignal:g}),i=await q(e,t.audio,p(a.slice(0,60),h.format||"mp3"),h.uint8Array);return u(i)}})},z=async()=>{let a=await (0,j.resolveMediaRef)("transcription");if(!a)return null;let b=(0,j.buildTranscriptionModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.transcribe,description:"Turn an audio file — a recording, a voice memo, a meeting — into text. The transcript is saved as a file in the workspace; what comes back is its path and the text.",inputSchema:h.default.object({path:h.default.string().min(1).describe("The audio file: a path relative to the workspace, or an absolute one anywhere on this machine.")}),execute:async({path:a},{sandbox:c,abortSignal:g})=>{let h=await (0,d.readFile)(c.resolve(a)),i=await (0,f.transcribe)({model:b,audio:h,abortSignal:g}),j=i.segments.length?`
84
+ Saved. Give the user this path — the file opens from the task row. Do not describe it back to them; they can open it.`,v=(a,b)=>a?.split("/")[1]?.split(";")[0]||b,w=["1:1","16:9","9:16","4:3","3:4"],x=async()=>{let a=await (0,j.resolveMediaRef)("image");if(!a)return null;let b=(0,j.buildImageModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_image,description:"Draw an image and save it as a file in the workspace. What comes back is its path.",inputSchema:h.default.object({prompt:h.default.string().describe("What to draw, described: subject, style, mood, what is in frame. The image model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:h.default.enum(w).nullish().describe("Aspect ratio. Null for square.")}),execute:async({prompt:a,aspectRatio:c},{sandbox:d,abortSignal:e})=>{let{image:g}=await (0,f.generateImage)({model:b,prompt:a,aspectRatio:c??"1:1",abortSignal:e}),h=await q(d,t.images,p(a,v(g.mediaType,"png")),g.uint8Array);return u(h)}})},y=async()=>{let a=await (0,j.resolveMediaRef)("speech");if(!a)return null;let b=(0,j.buildSpeechModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_speech,description:"Read text aloud into an audio file in the workspace — something the user listens to or sends, not Thursday's voice. What comes back is its path.",inputSchema:h.default.object({text:h.default.string().min(1).max(4e3).describe("The words to read, up to 4000 characters. Longer pieces are read in parts, one call each."),voice:h.default.string().nullish().describe("A voice name the provider knows. Null for its default."),instructions:h.default.string().nullish().describe('How to read it — "slowly", "warm", "like a news anchor". Null for plain.')}),execute:async({text:a,voice:c,instructions:d},{sandbox:e,abortSignal:g})=>{let{audio:h}=await (0,f.generateSpeech)({model:b,text:a,voice:c??void 0,instructions:d??void 0,outputFormat:"mp3",abortSignal:g}),i=await q(e,t.audio,p(a.slice(0,60),h.format||"mp3"),h.uint8Array);return u(i)}})},z=async()=>{let a=await (0,j.resolveMediaRef)("transcription");if(!a)return null;let b=(0,j.buildTranscriptionModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.transcribe,description:"Turn an audio file — a recording, a voice memo, a meeting — into text. The transcript is saved as a file in the workspace; what comes back is its path and the text.",inputSchema:h.default.object({path:h.default.string().min(1).describe("The audio file: a path relative to the workspace, or an absolute one anywhere on this machine.")}),execute:async({path:a},{sandbox:c,abortSignal:g})=>{let h=await (0,d.readFile)(c.resolve(a)),i=await (0,f.transcribe)({model:b,audio:h,abortSignal:g}),j=i.segments.length?`
67
85
 
68
86
  ## Timeline
69
87
 
@@ -72,15 +90,39 @@ ${i.segments.map(a=>{var b;let c,d;return`- ${b=a.startSecond,c=Math.floor(b/60)
72
90
  ${i.text.trim()}${j}
73
91
  `));return`${l}
74
92
 
75
- ${await c.fold(i.text,"transcript")}`}})},A=async()=>{let a=await (0,j.resolveMediaRef)("video");if(!a)return null;let b=(0,j.buildVideoModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_video,description:"Make a short video and save it as a file in the workspace. Takes minutes. What comes back is its path.",inputSchema:h.default.object({prompt:h.default.string().describe("What happens: the scene, the motion, the camera, the mood. The video model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:h.default.enum(["16:9","9:16"]).nullable().describe("Aspect ratio. Null for 16:9."),seconds:h.default.number().int().min(2).max(10).nullable().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:a,aspectRatio:c,seconds:d},{sandbox:e,abortSignal:g})=>{let{video:h}=await (0,f.experimental_generateVideo)({model:b,prompt:a,aspectRatio:c??"16:9",duration:d??void 0,abortSignal:g}),i=await q(e,t.videos,p(a,v(h.mediaType,"mp4")),h.uint8Array);return u(i)}})};async function r(){return(await Promise.all([s(x),s(y),s(z),s(A)])).filter(a=>null!==a)}async function s(a){try{return await a()}catch(a){return l.logger.warn(`studio: a tool could not be built — ${(0,m.errorToString)(a)}`),null}}a.s(["loadStudio",0,r]),c()}catch(a){c(a)}},!1),644468,a=>a.a(async(b,c)=>{try{var d=a.i(723885),e=a.i(569572),f=a.i(317844),g=a.i(947950),h=a.i(182248),i=a.i(500777),j=b([f,g,i]);async function k(a){let[b,c]=await Promise.all([!a||a===e.STUDIO_SERVER?(0,i.loadStudio)():[],a===e.STUDIO_SERVER?[]:(0,g.listToolNames)(a)]);return[...b.map(a=>({server:e.STUDIO_SERVER,name:a.name})),...c]}[f,g,i]=j.then?(await j)():j;let p=async()=>{let[a,b]=await Promise.all([(0,i.loadStudio)(),(0,g.listServerNames)()]);return[...a.length?[e.STUDIO_SERVER]:[],...b.map(a=>a.name)]};async function l(a,b){if(a===e.STUDIO_SERVER){let a=new Set(b);return(await (0,i.loadStudio)()).filter(b=>a.has(b.name)).map(a=>({name:a.name,description:a.description,inputSchema:d.default.toJSONSchema(a.inputSchema)}))}return(await (0,g.findToolSchemas)(a,b)).map(a=>({name:a.name,description:a.description??null,inputSchema:a.inputSchema??null}))}async function m(a,b,c,d,g){try{let f=b===e.STUDIO_SERVER?await n(a,c,d,g):await o(b,c,d);if("string"!=typeof f)return f;return{status:"ok",text:await a.fold(f,`${b}-${c}`)}}catch(a){if(a instanceof f.McpAuthRequiredError)return{status:"auth_required",server:b,authorizationUrl:a.authorizationUrl};return{status:"error",text:(0,h.errorToString)(a)}}}async function n(a,b,c,d){let f=(await (0,i.loadStudio)()).find(a=>a.name===b);if(!f)throw Error(`"${b}" is not in the ${e.STUDIO_SERVER} right now — the key that runs it is gone.`);return f.execute(c??{},{sandbox:a,abortSignal:d})}async function o(a,b,c){let d=function(a){let b=a??{},c=!0===b.isError;if(!Array.isArray(b.content)){let a=void 0===b.toolResult?"":"string"==typeof b.toolResult?b.toolResult:JSON.stringify(b.toolResult);return{status:c?"error":"ok",text:a||q(c)}}let d=b.content.map(a=>"text"===a.type&&"string"==typeof a.text?a.text:`[${a.type}${a.mimeType?` ${a.mimeType}`:""} — not shown]`).join("\n").trim();return{status:c?"error":"ok",text:d||q(c)}}(await f.mcpManager.callTool(a,b,c));return"ok"===d.status?d.text:d}let q=a=>a?"The tool failed without a message.":"Done.";a.s(["callConnectedTool",0,m,"findConnectedSchemas",0,l,"listConnectedServerNames",0,p,"listConnectedToolNames",0,k]),c()}catch(a){c(a)}},!1),547613,a=>{"use strict";var b=a.i(750227),c=a.i(527990),d=a.i(723885),e=a.i(762008),f=a.i(821415);a.s(["createWorkspaceTools",0,(a,g)=>{let h=(0,c.tool)({description:"Run a bash command.",inputSchema:d.default.object({command:d.default.string(),description:d.default.string().nullable().describe("One short line for the user: what this command does and why. Shown on their screen while it runs — not a restatement of the command.")}),execute:({command:b},{abortSignal:c})=>a.exec(b,{signal:c,env:g.env})});if(!g.write)return{[e.TOOL_NAMES.bash]:h};let i=(0,c.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:d.default.object({path:d.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:d.default.string(),description:d.default.string().nullable().describe("One short line for the user: what this file is. Shown on their screen next to the path.")}),execute:async({path:c,content:d})=>{let e,g=a.resolve(c),h=(0,f.writeRefusal)(g);return h?h:(await a.writeFile(c,d),`Wrote ${(e=(0,b.relative)(a.cwd,g))&&!e.startsWith("..")?e:g} (${d.split("\n").length} lines)`)}});return{[e.TOOL_NAMES.bash]:h,[e.TOOL_NAMES.write_file]:i}}])},654034,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(569572),g=a.i(738131),h=a.i(875931),i=a.i(735502),j=a.i(978876),k=a.i(762008),l=a.i(446957),m=a.i(821415),n=a.i(176668),o=a.i(293480),p=a.i(987674),q=a.i(182248),r=a.i(221214),s=a.i(84929),t=b([g,h,i,r,s]);[g,h,i,r,s]=t.then?(await t)():t;let z=f.BOT_RUN.steps,A=f.BOT_RUN.compactAt;async function u(a,b){var c,f;let l,o,q,t,u=b.depth??0,D=b.parent??null,E=a.bot.trim(),F=a=>b.emit({...a,bot:E,parent:D}),G=await (0,r.findJobBot)(E);if(!G)return void await F({type:"error",message:`No bot named "${a.bot}". Use a name from the list.`});let H=await ((c=G).provider&&c.model?(0,h.getTextModel)({provider:c.provider,model:c.model}):(0,h.resolveDefaultModel)().then(h.getTextModel)),[I,J]=await Promise.all([(0,i.loadBotPrompt)(E,G.systemPrompt,"askedBy"in a?a.askedBy:null),(0,g.loadTools)({target:"bot",bot:E,taskId:b.taskId,model:H})]),K="messages"in a?a.messages:[{role:"user",content:(f=a,(l=f.context?.trim())?`${f.request}
93
+ ${await c.fold(i.text,"transcript")}`}})},A=async()=>{let a=await (0,j.resolveMediaRef)("video");if(!a)return null;let b=(0,j.buildVideoModel)(a.ref,a.apiKey);return o({name:k.STUDIO_TOOLS.generate_video,description:"Make a short video and save it as a file in the workspace. Takes minutes. What comes back is its path.",inputSchema:h.default.object({prompt:h.default.string().describe("What happens: the scene, the motion, the camera, the mood. The video model does not see the job or the conversation, so nothing can be left implied."),aspectRatio:h.default.enum(["16:9","9:16"]).nullish().describe("Aspect ratio. Null for 16:9."),seconds:h.default.number().int().min(2).max(10).nullish().describe("Length in seconds, 2 to 10. Null for the provider's default.")}),execute:async({prompt:a,aspectRatio:c,seconds:d},{sandbox:e,abortSignal:g})=>{let{video:h}=await (0,f.experimental_generateVideo)({model:b,prompt:a,aspectRatio:c??"16:9",duration:d??void 0,abortSignal:g}),i=await q(e,t.videos,p(a,v(h.mediaType,"mp4")),h.uint8Array);return u(i)}})};async function r(){return(await Promise.all([s(x),s(y),s(z),s(A)])).filter(a=>null!==a)}async function s(a){try{return await a()}catch(a){return l.logger.warn(`studio: a tool could not be built — ${(0,m.errorToString)(a)}`),null}}a.s(["loadStudio",0,r]),c()}catch(a){c(a)}},!1),644468,a=>a.a(async(b,c)=>{try{var d=a.i(723885),e=a.i(569572),f=a.i(317844),g=a.i(947950),h=a.i(182248),i=a.i(500777),j=b([f,g,i]);async function k(a){let[b,c]=await Promise.all([!a||a===e.STUDIO_SERVER?(0,i.loadStudio)():[],a===e.STUDIO_SERVER?[]:(0,g.listToolNames)(a)]);return[...b.map(a=>({server:e.STUDIO_SERVER,name:a.name})),...c]}[f,g,i]=j.then?(await j)():j;let p=async()=>{let[a,b]=await Promise.all([(0,i.loadStudio)(),(0,g.listServerNames)()]);return[...a.length?[e.STUDIO_SERVER]:[],...b.map(a=>a.name)]};async function l(a,b){if(a===e.STUDIO_SERVER){let a=new Set(b);return(await (0,i.loadStudio)()).filter(b=>a.has(b.name)).map(a=>({name:a.name,description:a.description,inputSchema:d.default.toJSONSchema(a.inputSchema)}))}return(await (0,g.findToolSchemas)(a,b)).map(a=>({name:a.name,description:a.description??null,inputSchema:a.inputSchema??null}))}async function m(a,b,c,d,g){try{let f=b===e.STUDIO_SERVER?await n(a,c,d,g):await o(b,c,d);if("string"!=typeof f)return f;return{status:"ok",text:await a.fold(f,`${b}-${c}`)}}catch(a){if(a instanceof f.McpAuthRequiredError)return{status:"auth_required",server:b,authorizationUrl:a.authorizationUrl};return{status:"error",text:(0,h.errorToString)(a)}}}async function n(a,b,c,d){let f=(await (0,i.loadStudio)()).find(a=>a.name===b);if(!f)throw Error(`"${b}" is not in the ${e.STUDIO_SERVER} right now — the key that runs it is gone.`);return f.execute(c??{},{sandbox:a,abortSignal:d})}async function o(a,b,c){let d=function(a){let b=a??{},c=!0===b.isError;if(!Array.isArray(b.content)){let a=void 0===b.toolResult?"":"string"==typeof b.toolResult?b.toolResult:JSON.stringify(b.toolResult);return{status:c?"error":"ok",text:a||q(c)}}let d=b.content.map(a=>"text"===a.type&&"string"==typeof a.text?a.text:`[${a.type}${a.mimeType?` ${a.mimeType}`:""} — not shown]`).join("\n").trim();return{status:c?"error":"ok",text:d||q(c)}}(await f.mcpManager.callTool(a,b,c));return"ok"===d.status?d.text:d}let q=a=>a?"The tool failed without a message.":"Done.";a.s(["callConnectedTool",0,m,"findConnectedSchemas",0,l,"listConnectedServerNames",0,p,"listConnectedToolNames",0,k]),c()}catch(a){c(a)}},!1),547613,a=>{"use strict";var b=a.i(750227),c=a.i(527990),d=a.i(723885),e=a.i(762008),f=a.i(821415),g=a.i(389359);let h=`## The shell here
94
+
95
+ Every command is a new shell: \`cd\`, exported variables and an activated venv are gone by the next one — chain what depends on the last step into a single command.
96
+
97
+ Nothing is watching it. A command that stops to ask never gets an answer and is killed after ${g.EXEC_TIMEOUT_MS/1e3}s, so pass the flag that skips the question (\`-y\`, \`--yes\`, \`--no-input\`), and send anything genuinely long to the background with its output redirected to a file.
98
+
99
+ Keys are not in the environment: every variable named like a key, a token or a secret is removed before the shell starts. An empty one is not an unset one — say which it was, and ask for what a command needs.`;a.s(["createWorkspaceTools",0,(a,g)=>{let i=!0===g.guide,j=(0,c.tool)({description:"Run a bash command.",inputSchema:d.default.object({command:d.default.string(),description:d.default.string().nullish().describe("One short line for the user: what this command does and why. Shown on their screen while it runs — not a restatement of the command.")}),execute:async({command:b},{abortSignal:c})=>{let d=await a.exec(b,{signal:c,env:g.env});return i?(i=!1,{...d,guide:h}):d}});if(!g.write)return{[e.TOOL_NAMES.bash]:j};let k=(0,c.tool)({description:"Write a whole file — what was there is gone. Parent directories are created.",inputSchema:d.default.object({path:d.default.string().describe("Relative to the working directory — under one of its folders — or absolute"),content:d.default.string(),description:d.default.string().nullish().describe("One short line for the user: what this file is. Shown on their screen next to the path.")}),execute:async({path:c,content:d})=>{let e,g=a.resolve(c),h=(0,f.writeRefusal)(g);return h?h:(await a.writeFile(c,d),`Wrote ${(e=(0,b.relative)(a.cwd,g))&&!e.startsWith("..")?e:g} (${d.split("\n").length} lines)`)}});return{[e.TOOL_NAMES.bash]:j,[e.TOOL_NAMES.write_file]:k}}])},992497,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(794219),g=a.i(569572),h=a.i(762008),i=a.i(176668),j=a.i(8412),k=a.i(221214),l=b([k]);[k]=l.then?(await l)():l;let n=(0,j.createKeyedLock)();async function m(a){return n(a.bot,async()=>{let b=await (0,k.readBotNote)(a.bot),c=b;try{var j,l;await (0,d.generateText)({model:a.model,messages:[{role:"user",content:(j=b,l=a.want,`You keep one worker's notes. It is an agent with a shell on this machine; the notes are its own, read at the start of every job it runs and by nobody else. They hold what this machine has taught it — the command that works here, the flag without which something fails, the tool this platform does not have. Write what the worker found, never what it proposed.
100
+
101
+ Four things do not belong, however true today: what is in a folder right now, what a job produced, anything about the person the work is for, and how to satisfy the worker's own tools (\`report\`, \`write_file\`, \`bash\` — those belong to the app it runs inside and change with it). A program *on the machine* is the opposite and does belong.
102
+
103
+ Nor does how the worker should behave. Whoever owns it writes that separately and it outranks these, so a note about manner or language is either already said or about to be overruled.
104
+
105
+ The change is applied to what is already there, not written over it. Say the notes read \`Tests here run with npm.\` and then \`Chromium needs --no-sandbox or it exits.\` The worker asks for the npm line to be corrected to pnpm: both lines come back, the first now reading \`Tests here run with pnpm.\` and the second word for word as it was. Added, corrected or dropped is one line moving; everything the request did not name is untouched.
106
+
107
+ ${j?"The notes as they stand:":"There are no notes yet — the fence below is empty because nothing has been written, not because the notes say so."}
108
+
109
+ \`\`\`
110
+ ${j??""}
111
+ \`\`\`
112
+
113
+ The worker asks for this change:
114
+
115
+ ${l.trim()}
116
+
117
+ Hand back the whole thing as it should now read, keeping what the request does not touch. Only what belongs inside the fence, never a word about it, and nothing at all when the request holds nothing that belongs. At most ${g.BOT_NOTES.chars} characters, which is a ceiling and not a target.`)}],abortSignal:a.signal,tools:{[h.TOOL_NAMES.update_notes]:(0,e.tool)({description:"Hand back the updated prompt.",inputSchema:f.object({prompt:f.string().max(g.BOT_NOTES.chars).describe(`The whole prompt as it should now read, at most ${g.BOT_NOTES.chars} characters.`)}),execute:async({prompt:b})=>(await (0,k.writeBotNote)(a.bot,b),c=b.trim()||null,"Saved.")})},toolChoice:"required",stopWhen:[(0,d.stepCountIs)(3),(0,d.hasToolCall)(h.TOOL_NAMES.update_notes)]})}catch(b){i.logger.warn(`notes pass for ${a.bot} failed: ${b}`)}return c})}a.s(["hasNotesRequest",0,a=>!!a?.trim(),"keepNotes",0,m]),c()}catch(a){c(a)}},!1),654034,a=>a.a(async(b,c)=>{try{var d=a.i(47919),e=a.i(527990),f=a.i(569572),g=a.i(738131),h=a.i(875931),i=a.i(735502),j=a.i(978876),k=a.i(762008),l=a.i(446957),m=a.i(821415),n=a.i(176668),o=a.i(293480),p=a.i(987674),q=a.i(182248),r=a.i(992497),s=a.i(221214),t=a.i(84929),u=b([g,h,i,r,s,t]);[g,h,i,r,s,t]=u.then?(await u)():u;let A=f.BOT_RUN.steps,B=f.BOT_RUN.compactAt;async function v(a,b){var c,f;let l,o,q,u,v=b.depth??0,F=b.parent??null,G=a.bot.trim(),H=a=>b.emit({...a,bot:G,parent:F}),I=await (0,s.findJobBot)(G);if(!I)return void await H({type:"error",message:`No bot named "${a.bot}". Use a name from the list.`});let J=await ((c=I).provider&&c.model?(0,h.getTextModel)({provider:c.provider,model:c.model}):(0,h.resolveDefaultModel)().then(h.getTextModel)),[K,L]=await Promise.all([b.taskId?(0,m.openJobScratch)(b.taskId,(await (0,t.findTask)(b.taskId))?.label??"job"):null,(0,m.openBotFolder)(G)]),[M,N]=await Promise.all([(0,i.loadBotPrompt)(G,I.systemPrompt,"askedBy"in a?a.askedBy:null,{scratch:K,own:L}),(0,g.loadTools)({target:"bot",bot:G,taskId:b.taskId,model:J})]),O="messages"in a?a.messages:[{role:"user",content:(f=a,(l=f.context?.trim())?`${f.request}
76
118
 
77
119
  ## What ${f.askedBy} already knows
78
120
 
79
- ${l}`:f.request)}],L={left:3},M=u>=1?function(a,b,c){let d={...a};delete d[k.TOOL_NAMES.ask_thursday];let{answer:f}=c;return f?{...d,[k.TOOL_NAMES.ask_back]:(0,e.tool)({description:j.askBackSpec.description,inputSchema:j.askBackSpec.parameters,execute:async({question:a})=>(b.left-=1,f(a))})}:d}(J,L,b):function(a,b){if(0===b.peers.length)return a;let c={...a,[k.TOOL_NAMES.ask_bot]:(0,e.tool)({description:j.askBotSpec.description,inputSchema:j.askBotSpec.parameters,execute:async({bot:a,request:d,context:e},f)=>{let g=b.options.taskId?`${b.options.taskId}-${f.toolCallId.slice(0,8)}`:null,h=[],i=async e=>{let g=await x({model:b.model,instructions:b.instructions,tools:c,messages:f.messages,asked:{bot:a,request:d},question:e,signal:b.options.signal});return await b.emit({type:"answered",question:e,...g}),h.push({question:e,answer:g.text}),g.text};try{var j;let c=await w({bot:a,request:d,context:e,askedBy:b.name},{...b.options,depth:b.depth+1,parent:f.toolCallId,taskId:g,answer:i});return h.length?`${c}
121
+ ${l}`:f.request)}],P={left:3},Q=v>=1?function(a,b,c){let d={...a};delete d[k.TOOL_NAMES.ask_thursday];let{answer:f}=c;return f?{...d,[k.TOOL_NAMES.ask_back]:(0,e.tool)({description:j.askBackSpec.description,inputSchema:j.askBackSpec.parameters,execute:async({question:a})=>(b.left-=1,f(a))})}:d}(N,P,b):function(a,b){if(0===b.peers.length)return a;let c={...a,[k.TOOL_NAMES.ask_bot]:(0,e.tool)({description:j.askBotSpec.description,inputSchema:j.askBotSpec.parameters,execute:async({bot:a,request:d,context:e},f)=>{let g=b.options.taskId?`${b.options.taskId}-${f.toolCallId.slice(0,8)}`:null,h=[],i=async e=>{let g=await y({model:b.model,instructions:b.instructions,tools:c,messages:f.messages,asked:{bot:a,request:d},question:e,signal:b.options.signal});return await b.emit({type:"answered",question:e,...g}),h.push({question:e,answer:g.text}),g.text};try{var j;let c=await x({bot:a,request:d,context:e,askedBy:b.name},{...b.options,depth:b.depth+1,parent:f.toolCallId,taskId:g,answer:i});return h.length?`${c}
80
122
 
81
- ${j=a,h.map(({question:a,answer:b})=>`(On the way ${j} asked you: "${a}" — you answered: "${b}")`).join("\n")}`:c}finally{g&&(0,m.closeJobShell)(g)}}})};return c}(J,{name:E,model:H.model,instructions:I.text,peers:I.peers,depth:u,options:b,emit:F}),N={compact:null,interjections:[]},O=new d.ToolLoopAgent({model:H.model,instructions:I.text,tools:M,stopWhen:[(0,d.stepCountIs)(z),B,(0,d.hasToolCall)(k.TOOL_NAMES.ask_thursday)],prepareStep:async({stepNumber:a,steps:c,messages:d})=>{let e=a<z-1?{}:{activeTools:[k.TOOL_NAMES.report],toolChoice:{type:"tool",toolName:k.TOOL_NAMES.report}};!e.activeTools&&L.left<=0&&(e={...e,activeTools:Object.keys(M).filter(a=>a!==k.TOOL_NAMES.ask_back)});let f=c.at(-1)?.usage.inputTokens??0,g=Math.max(f,d.reduce((a,b)=>a+(0,p.estimateTokens)("string"==typeof b.content?b.content:JSON.stringify(b.content))+4,0)),h=d;if(g>A&&d.length>=2){let a=await v(H.model,M,d,{signal:b.signal,budget:A});n.logger.debug(`compacted ${d.length} messages at ${g} tokens (budget ${A})`),N.compact={type:"compact",text:a.text,usage:a.usage,messages:d.length,tokens:g},h=[{role:"user",content:a.text}]}let i=a>0?b.notes?.()??[]:[];return(i.length&&(N.interjections.push(...i),h=[...h,...i.map(a=>({role:"user",content:a}))]),h===d)?e:{...e,messages:h}}}),P=(o=[],q=[],t=!1,{push(a){let b=q.shift();b?b(a):o.push(a)},take(){let a=o.shift();return a?Promise.resolve(a):t?Promise.resolve(null):new Promise(a=>q.push(a))},end(){for(let a of(t=!0,q.splice(0)))a(null)}}),Q=await O.stream({messages:K,abortSignal:b.signal,onStepEnd:a=>P.push({messages:a.response.messages,usage:C(a.usage)})}),R="",S=null,T=null,U=null;b.signal?.addEventListener("abort",()=>P.end(),{once:!0});try{for await(let a of Q.fullStream)switch(a.type){case"start-step":for(let a of(N.compact&&(await F(N.compact),N.compact=null),N.interjections.splice(0)))await F({type:"interjection",text:a});break;case"text-delta":R+=a.text;break;case"text-end":{let a=R.trim();if(R="",!a)break;S=a,await F({type:"text",text:a});break}case"tool-call":if(a.toolName===k.TOOL_NAMES.ask_thursday){let b=a.input;T={id:a.toolCallId,question:String(b.question??""),options:(0,s.optionsOf)(b.options)}}else if(a.toolName===k.TOOL_NAMES.report){let b=a.input;U={text:String(b.result??"").trim(),complete:!1!==b.complete}}await F({type:"tool",id:a.toolCallId,name:a.toolName,input:a.input});break;case"tool-result":a.toolName===k.TOOL_NAMES.report&&U&&!(0,j.reportAccepted)(a.output)&&(U={text:`${U.text}
123
+ ${j=a,h.map(({question:a,answer:b})=>`(On the way ${j} asked you: "${a}" — you answered: "${b}")`).join("\n")}`:c}finally{g&&(0,m.closeJobShell)(g)}}})};return c}(N,{name:G,model:J.model,instructions:M.text,peers:M.peers,depth:v,options:b,emit:H}),R={compact:null,interjections:[]},S=new d.ToolLoopAgent({model:J.model,instructions:M.text,tools:Q,stopWhen:[(0,d.stepCountIs)(A),C,(0,d.hasToolCall)(k.TOOL_NAMES.ask_thursday)],prepareStep:async({stepNumber:a,steps:c,messages:d})=>{let e=a<A-1?{}:{activeTools:[k.TOOL_NAMES.report],toolChoice:{type:"tool",toolName:k.TOOL_NAMES.report}};!e.activeTools&&P.left<=0&&(e={...e,activeTools:Object.keys(Q).filter(a=>a!==k.TOOL_NAMES.ask_back)});let f=c.at(-1)?.usage.inputTokens??0,g=Math.max(f,d.reduce((a,b)=>a+(0,p.estimateTokens)("string"==typeof b.content?b.content:JSON.stringify(b.content))+4,0)),h=d;if(g>B&&d.length>=2){let a=await w(J.model,Q,d,{signal:b.signal,budget:B});n.logger.debug(`compacted ${d.length} messages at ${g} tokens (budget ${B})`),R.compact={type:"compact",text:a.text,usage:a.usage,messages:d.length,tokens:g},h=[{role:"user",content:a.text}]}let i=a>0?b.notes?.()??[]:[];return(i.length&&(R.interjections.push(...i),h=[...h,...i.map(a=>({role:"user",content:a}))]),h===d)?e:{...e,messages:h}}}),T=(o=[],q=[],u=!1,{push(a){let b=q.shift();b?b(a):o.push(a)},take(){let a=o.shift();return a?Promise.resolve(a):u?Promise.resolve(null):new Promise(a=>q.push(a))},end(){for(let a of(u=!0,q.splice(0)))a(null)}}),U=await S.stream({messages:O,abortSignal:b.signal,onStepEnd:a=>T.push({messages:a.response.messages,usage:E(a.usage)})}),V="",W=null,X=null,Y=null,Z=null;b.signal?.addEventListener("abort",()=>T.end(),{once:!0});try{for await(let a of U.fullStream)switch(a.type){case"start-step":for(let a of(R.compact&&(await H(R.compact),R.compact=null),R.interjections.splice(0)))await H({type:"interjection",text:a});break;case"text-delta":V+=a.text;break;case"text-end":{let a=V.trim();if(V="",!a)break;W=a,await H({type:"text",text:a});break}case"tool-call":if(a.toolName===k.TOOL_NAMES.ask_thursday){let b=a.input;X={id:a.toolCallId,question:String(b.question??""),options:(0,t.optionsOf)(b.options)}}else if(a.toolName===k.TOOL_NAMES.report){let b=a.input;Y={text:String(b.result??"").trim(),complete:!1!==b.complete},Z=function(a){let b=a?.notes,c="string"==typeof b?b.trim():"";return c&&!D.has(c.toLowerCase())?c:null}(a.input)}await H({type:"tool",id:a.toolCallId,name:a.toolName,input:a.input});break;case"tool-result":a.toolName===k.TOOL_NAMES.report&&Y&&!(0,j.reportAccepted)(a.output)&&(Y={text:`${Y.text}
82
124
 
83
- ${y(a.output)}`,complete:!1}),await F({type:"tool-result",id:a.toolCallId,name:a.toolName,output:a.output});break;case"finish-step":{let a=await P.take();a&&await F({type:"step",...a,budget:A});break}case"error":await F({type:"error",message:(0,h.modelErrorToString)(a.error)});return}}finally{P.end()}try{await Q.response}catch(a){await F({type:"error",message:(0,h.modelErrorToString)(a)});return}T?await F({type:"waiting",...T}):U?await F({type:"report",...U}):await F({type:"report",text:S??"Stopped without handing anything back.",complete:!1})}let B=({steps:a})=>a.at(-1)?.toolResults.some(a=>a.toolName===k.TOOL_NAMES.report&&(0,j.reportAccepted)(a.output))??!1;async function v(a,b,c,e){try{let g,{text:h,usage:i}=await (0,d.generateText)({model:a,tools:b,toolChoice:"none",messages:[...c,{role:"user",content:(g=(a=>{let{min:b,max:c,perTokens:d}=f.BOT_RUN.summaryWords;return Math.min(c,Math.max(b,Math.round(a/d)))})(e.budget),`Compact your context. Everything above is your own work on this job so far; after this message it is replaced by what you write now, and you carry on from that alone. Write what a fresh copy of you needs to continue without re-reading anything:
125
+ ${z(a.output)}`,complete:!1}),await H({type:"tool-result",id:a.toolCallId,name:a.toolName,output:a.output});break;case"finish-step":{let a=await T.take();a&&await H({type:"step",...a,budget:B});break}case"error":await H({type:"error",message:(0,h.modelErrorToString)(a.error)});return}}finally{T.end()}try{await U.response}catch(a){await H({type:"error",message:(0,h.modelErrorToString)(a)});return}if(X)return void await H({type:"waiting",...X});if(Y){await H({type:"report",...Y}),(0,r.hasNotesRequest)(Z)&&await (0,s.readBotNotesOn)()&&await (0,r.keepNotes)({bot:G,model:J.model,want:Z,signal:b.signal});return}await H({type:"report",text:W??"Stopped without handing anything back.",complete:!1})}let C=({steps:a})=>a.at(-1)?.toolResults.some(a=>a.toolName===k.TOOL_NAMES.report&&(0,j.reportAccepted)(a.output))??!1,D=new Set(["null","none","n/a","-","없음"]);async function w(a,b,c,e){try{let g,{text:h,usage:i}=await (0,d.generateText)({model:a,tools:b,toolChoice:"none",messages:[...c,{role:"user",content:(g=(a=>{let{min:b,max:c,perTokens:d}=f.BOT_RUN.summaryWords;return Math.min(c,Math.max(b,Math.round(a/d)))})(e.budget),`Compact your context. Everything above is your own work on this job so far; after this message it is replaced by what you write now, and you carry on from that alone. Write what a fresh copy of you needs to continue without re-reading anything:
84
126
 
85
127
  - The job as it was given — the request, quoted, and the details from the call that matter.
86
128
  - What you have done and what you found, with the exact values: numbers, names, urls, dates, ids, error messages.
@@ -90,9 +132,9 @@ ${y(a.output)}`,complete:!1}),await F({type:"tool-result",id:a.toolCallId,name:a
90
132
 
91
133
  Plain text, under ${g} words. No preamble and no headings about the summary itself — start with the job.`)}],abortSignal:e.signal}),j=h.trim();if(j)return{text:`The context was compacted here. Below is your own summary of the job up to this point; continue from it.
92
134
 
93
- ${j}`,usage:C(i)}}catch(a){if(e.signal?.aborted)throw a;throw Error(`Could not compact the context (${(0,h.modelErrorToString)(a)}).`)}throw Error("The summary of the context came back empty, so there is nothing to carry on from.")}let C=a=>({input:a.inputTokens??0,output:a.outputTokens??0});async function w(a,b){let c="",d=null;return await u(a,{...b,emit:async a=>{"report"===a.type&&(c=a.complete?a.text:`${a.text}
135
+ ${j}`,usage:E(i)}}catch(a){if(e.signal?.aborted)throw a;throw Error(`Could not compact the context (${(0,h.modelErrorToString)(a)}).`)}throw Error("The summary of the context came back empty, so there is nothing to carry on from.")}let E=a=>({input:a.inputTokens??0,output:a.outputTokens??0});async function x(a,b){let c="",d=null;return await v(a,{...b,emit:async a=>{"report"===a.type&&(c=a.complete?a.text:`${a.text}
94
136
 
95
- (As far as they got — they ran out of steps.)`),"error"===a.type&&(d=a.message),await b.emit(a)}}),d&&(0,o.publicError)(d),c}async function x(a){try{let b,c,{text:e,usage:f}=await (0,d.generateText)({model:a.model,system:a.instructions,tools:a.tools,toolChoice:"none",messages:[...a.messages,{role:"user",content:(b=a.asked,c=a.question,`You handed one part of your job to ${b.bot}:
137
+ (As far as they got — they ran out of steps.)`),"error"===a.type&&(d=a.message),await b.emit(a)}}),d&&(0,o.publicError)(d),c}async function y(a){try{let b,c,{text:e,usage:f}=await (0,d.generateText)({model:a.model,system:a.instructions,tools:a.tools,toolChoice:"none",messages:[...a.messages,{role:"user",content:(b=a.asked,c=a.question,`You handed one part of your job to ${b.bot}:
96
138
 
97
139
  > ${b.request.trim()}
98
140
 
@@ -100,11 +142,11 @@ Before going on, they ask you:
100
142
 
101
143
  > ${c.trim()}
102
144
 
103
- Answer from what you already have — the request as it reached you, the call it came out of, what you found before asking them. A few lines, plain text, and nothing else: no tools run here. If it is not in what you have, say so rather than guess, and say which way to go without it.`)}],abortSignal:a.signal});return{text:e.trim()||"They had nothing to add. Go on with your best reading, and say what you assumed in what you hand back.",usage:C(f)}}catch(b){if(a.signal?.aborted)throw b;return n.logger.warn(`ask_back: ${(0,h.modelErrorToString)(b)}`),{text:`No answer came back (${(0,h.modelErrorToString)(b)}). Go on with your best reading, and say what you assumed in what you hand back.`,usage:l.NO_TOKENS}}}function y(a){return"string"==typeof a?a:a&&"object"==typeof a&&"value"in a?"string"==typeof a.value?a.value:JSON.stringify(a.value??""):JSON.stringify(a??"")}a.s(["condenseThread",0,function(a,b=f.BOT_RUN.resumeMessages){let[c,...d]=a,e=[],g=(a,b)=>{let c=b.trim();if(!c)return;let d=e.at(-1);d?.role===a?d.content=`${d.content}
145
+ Answer from what you already have — the request as it reached you, the call it came out of, what you found before asking them. A few lines, plain text, and nothing else: no tools run here. If it is not in what you have, say so rather than guess, and say which way to go without it.`)}],abortSignal:a.signal});return{text:e.trim()||"They had nothing to add. Go on with your best reading, and say what you assumed in what you hand back.",usage:E(f)}}catch(b){if(a.signal?.aborted)throw b;return n.logger.warn(`ask_back: ${(0,h.modelErrorToString)(b)}`),{text:`No answer came back (${(0,h.modelErrorToString)(b)}). Go on with your best reading, and say what you assumed in what you hand back.`,usage:l.NO_TOKENS}}}function z(a){return"string"==typeof a?a:a&&"object"==typeof a&&"value"in a?"string"==typeof a.value?a.value:JSON.stringify(a.value??""):JSON.stringify(a??"")}a.s(["condenseThread",0,function(a,b=f.BOT_RUN.resumeMessages){let[c,...d]=a,e=[],g=(a,b)=>{let c=b.trim();if(!c)return;let d=e.at(-1);d?.role===a?d.content=`${d.content}
104
146
 
105
- ${c}`:e.push({role:a,content:c})};for(let a of d)if("user"===a.role)g("user","string"==typeof a.content?a.content:a.content.flatMap(a=>"text"===a.type?[a.text]:[]).join("\n"));else if("assistant"===a.role){if("string"==typeof a.content){g("assistant",a.content);continue}for(let b of a.content)"text"===b.type?g("assistant",b.text):"tool-call"===b.type&&g("assistant",function(a){let b=a.input??{};return a.toolName===k.TOOL_NAMES.ask_thursday?`(asked Thursday: ${String(b.question??"")})`:a.toolName===k.TOOL_NAMES.ask_back?`(asked back: ${String(b.question??"")})`:a.toolName===k.TOOL_NAMES.ask_bot?`(asked ${String(b.bot??"")} for: ${String(b.request??"")})`:a.toolName===k.TOOL_NAMES.report?`(handed back: ${(0,q.clip)(String(b.result??""),300)})`:`[${a.toolName} ${(0,s.toolLine)(a.toolName,b)}]`}(b))}else if("tool"===a.role)for(let b of a.content)"tool-result"===b.type&&(b.toolName===k.TOOL_NAMES.ask_thursday||b.toolName===k.TOOL_NAMES.ask_back?g("user",y(b.output)):b.toolName===k.TOOL_NAMES.ask_bot&&g("assistant",`(they answered: ${(0,q.clip)(y(b.output),600)})`));let h=e.slice(-b);return c?[c,...h]:h},"runBot",0,u]),c()}catch(a){c(a)}},!1),674986,a=>a.a(async(b,c)=>{try{var d=a.i(843405),e=a.i(203469),f=a.i(569572),g=a.i(875931),h=a.i(735502),i=a.i(762008),j=a.i(569549),k=a.i(684321),l=a.i(821415),m=a.i(956802),n=a.i(176668),o=a.i(293480),p=a.i(8412),q=a.i(654034),r=a.i(446957),s=a.i(84929),t=b([g,h,j,q,s]);[g,h,j,q,s]=t.then?(await t)():t;let C=globalThis.__botRuns??=new Map,D=globalThis.__botTaskLock??=(0,p.createKeyedLock)();async function u(a){let b=a.callId?await (0,j.listCallTurns)(a.callId,h.OPENING_TURNS):[],c=(0,h.buildTaskOpening)({request:a.request,conversation:b}),d=await (0,s.insertTask)({...a,opening:c});return y(d.id,{bot:a.bot,messages:[{role:"user",content:c}]}),d.id}async function v(a,b){return D(a,async()=>{var c,d;let e,f=await (0,s.findTask)(a);f||(0,o.publicError)("No such job.");let g=C.get(a);if(g&&"running"===f.status&&g.note(b))return void n.logger.debug(`task ${a}: interjection queued`);g&&(g.stop.abort(),await g.done);let{reply:h,as:j}=(c=f,d=b,e="waiting"===c.status?c.pending:null,e?.toolCallId?{as:"answer",reply:{role:"tool",content:[{type:"tool-result",toolCallId:e.toolCallId,toolName:i.TOOL_NAMES.ask_thursday,output:{type:"text",value:d}}]}}:{as:"running"===c.status?"interruption":"waiting"===c.status?"answer":"follow-up",reply:{role:"user",content:d}});n.logger.debug(`task ${a}: ${j}`);let k=await (0,s.listThread)(a);await (0,s.upsertMessage)(a,await (0,s.lastSeq)(a)+1,{bot:null,parent:null,...h}),await (0,s.updateTask)(a,{status:"running",outcome:null,pending:null,reported:!1,endedAt:null}),y(a,{bot:f.bot,messages:(0,q.condenseThread)([...k,h])})})}async function w(a){return D(a,async()=>{await (0,s.findTask)(a)||(0,o.publicError)("No such job."),C.get(a)?.stop.abort(),await (0,s.updateTask)(a,{status:"failed",outcome:"Cancelled.",pending:null,reported:!0,endedAt:new Date}),(0,l.closeJobShell)(a)})}async function x(a){return D(a,async()=>(C.get(a)?.stop.abort(),C.delete(a),(0,l.closeJobShell)(a),(0,s.deleteTask)(a)))}function y(a,b){let c=new AbortController,e=()=>{},f=new Promise(a=>{e=a}),g=[];C.set(a,{stop:c,done:f,note:b=>!!C.has(a)&&(g.push(b),!0)}),(0,d.after)(()=>z(a,b,c.signal,g).catch(b=>{n.logger.error(`task ${a}`,b)}).finally(e))}class E{taskId;seq;steps;constructor(a,b){this.taskId=a,this.steps=new Map,this.seq=b}step(a){let b=`${a.bot} ${a.parent??""}`,c=this.steps.get(b);return c||(c={assistant:null,tool:null,parts:{assistant:[],tool:[]}},this.steps.set(b,c)),c}write(a,b,c,d={}){let e={bot:b.bot,parent:b.parent,role:c.role,content:c.content,compact:d.compact??!1};return(0,s.upsertMessage)(this.taskId,a,e)}async on(a){let b=this.step(a);switch(a.type){case"text":return b.assistant??=++this.seq,b.parts.assistant.push({type:"text",text:a.text}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool":return b.assistant??=++this.seq,b.parts.assistant.push({type:"tool-call",toolCallId:a.id,toolName:a.name,input:a.input}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool-result":return b.assistant??=++this.seq,b.tool??=++this.seq,b.parts.tool.push({type:"tool-result",toolCallId:a.id,toolName:a.name,output:"string"==typeof a.output?{type:"text",value:a.output}:{type:"json",value:a.output}}),this.write(b.tool,a,{role:"tool",content:b.parts.tool});case"step":{let c=[b.assistant,b.tool];this.steps.delete(`${a.bot} ${a.parent??""}`);let d=new Set;for(let[b,e]of a.messages.entries()){let f=c[b]??++this.seq;d.add(f),await this.write(f,a,e)}let e=c.filter(a=>null!==a&&!d.has(a));e.length&&await (0,s.deleteMessages)(this.taskId,e);return}case"compact":return this.write(++this.seq,a,{role:"user",content:a.text},{compact:!0});case"interjection":return this.write(++this.seq,a,{role:"user",content:a.text});default:return}}}async function z(a,b,c,d){let h=new E(a,await (0,s.lastSeq)(a)),i=null;try{await (0,q.runBot)(b,{signal:c,taskId:a,notes:()=>d.splice(0),emit:async b=>{await h.on(b),"step"===b.type&&await (0,s.addTaskUsage)(a,b.usage,b.parent?null:{tokens:b.usage.input,budget:b.budget}),("compact"===b.type||"answered"===b.type)&&await (0,s.addTaskUsage)(a,b.usage),b.parent||("waiting"===b.type?i={status:"waiting",outcome:b.question,pending:{toolCallId:b.id,options:b.options}}:"report"===b.type?i={status:b.complete?"done":"waiting",outcome:b.text,pending:b.complete?null:{toolCallId:null,options:[r.TASK_CONTINUE]}}:"error"===b.type&&(i={status:"failed",outcome:A(b.message),pending:null}))}})}catch(a){i={status:"failed",outcome:A((0,g.modelErrorToString)(a)),pending:null}}finally{C.delete(a)}if(c.aborted)return;let j=i??{status:"failed",outcome:"Stopped without handing anything back.",pending:null};await (0,s.updateTask)(a,{...j,reported:!1,endedAt:"waiting"===j.status?null:new Date}),"waiting"!==j.status&&(0,l.closeJobShell)(a);let m=await (0,s.findTask)(a);if(m){if(d.length){let b=d.splice(0).join("\n\n");n.logger.debug(`task ${a}: interjection after the run ended — resuming`),v(a,b).catch(b=>{n.logger.error(`task ${a}: late interjection`,b)});return}if(await B(m.label,j),"done"===j.status){var o;let b,c=(o=j.outcome,(b=(0,k.pathsIn)(o)).find(a=>a.startsWith(`${f.PATHS.artifacts}/`))??b[0]??null);c&&e.appEvents.emit({type:"artifact",taskId:a,label:m.label,path:c})}}}function A(a){return`The run broke: ${a}
147
+ ${c}`:e.push({role:a,content:c})};for(let a of d)if("user"===a.role)g("user","string"==typeof a.content?a.content:a.content.flatMap(a=>"text"===a.type?[a.text]:[]).join("\n"));else if("assistant"===a.role){if("string"==typeof a.content){g("assistant",a.content);continue}for(let b of a.content)"text"===b.type?g("assistant",b.text):"tool-call"===b.type&&g("assistant",function(a){let b=a.input??{};return a.toolName===k.TOOL_NAMES.ask_thursday?`(asked Thursday: ${String(b.question??"")})`:a.toolName===k.TOOL_NAMES.ask_back?`(asked back: ${String(b.question??"")})`:a.toolName===k.TOOL_NAMES.ask_bot?`(asked ${String(b.bot??"")} for: ${String(b.request??"")})`:a.toolName===k.TOOL_NAMES.report?`(handed back: ${(0,q.clip)(String(b.result??""),300)})`:`[${a.toolName} ${(0,t.toolLine)(a.toolName,b)}]`}(b))}else if("tool"===a.role)for(let b of a.content)"tool-result"===b.type&&(b.toolName===k.TOOL_NAMES.ask_thursday||b.toolName===k.TOOL_NAMES.ask_back?g("user",z(b.output)):b.toolName===k.TOOL_NAMES.ask_bot&&g("assistant",`(they answered: ${(0,q.clip)(z(b.output),600)})`));let h=e.slice(-b);return c?[c,...h]:h},"runBot",0,v]),c()}catch(a){c(a)}},!1),674986,a=>a.a(async(b,c)=>{try{var d=a.i(843405),e=a.i(203469),f=a.i(569572),g=a.i(875931),h=a.i(735502),i=a.i(762008),j=a.i(569549),k=a.i(684321),l=a.i(821415),m=a.i(956802),n=a.i(176668),o=a.i(293480),p=a.i(8412),q=a.i(654034),r=a.i(446957),s=a.i(84929),t=b([g,h,j,q,s]);[g,h,j,q,s]=t.then?(await t)():t;let D=globalThis.__botRuns??=new Map,E=globalThis.__botTaskLock??=(0,p.createKeyedLock)();async function u(a){let b=a.callId?await (0,j.listCallTurns)(a.callId,h.OPENING_TURNS):[],c=(0,h.buildTaskOpening)({request:a.request,conversation:b}),d=await (0,s.insertTask)({...a,opening:c});return z(d.id,{bot:a.bot,messages:[{role:"user",content:c}]}),d.id}async function v(a,b){return E(a,async()=>{var c,d;let e,f=await (0,s.findTask)(a);f||(0,o.publicError)("No such job.");let g=D.get(a);if(g&&"running"===f.status&&g.note(b))return void n.logger.debug(`task ${a}: interjection queued`);g&&(g.stop.abort(),await g.done);let{reply:h,as:j}=(c=f,d=b,e="waiting"===c.status?c.pending:null,e?.toolCallId?{as:"answer",reply:{role:"tool",content:[{type:"tool-result",toolCallId:e.toolCallId,toolName:i.TOOL_NAMES.ask_thursday,output:{type:"text",value:d}}]}}:{as:"running"===c.status?"interruption":"waiting"===c.status?"answer":"follow-up",reply:{role:"user",content:d}});n.logger.debug(`task ${a}: ${j}`);let k=await (0,s.listThread)(a);await (0,s.upsertMessage)(a,await (0,s.lastSeq)(a)+1,{bot:null,parent:null,...h}),await (0,s.updateTask)(a,{status:"running",outcome:null,pending:null,reported:!1,endedAt:null}),z(a,{bot:f.bot,messages:(0,q.condenseThread)([...k,h])})})}async function w(a){return E(a,async()=>{await (0,s.findTask)(a)||(0,o.publicError)("No such job."),D.get(a)?.stop.abort(),await (0,s.updateTask)(a,{status:"failed",outcome:"Cancelled.",pending:null,reported:!0,endedAt:new Date}),(0,l.closeJobShell)(a)})}async function x(a){return E(a,async()=>{let b=await (0,s.findTask)(a);D.get(a)?.stop.abort(),D.delete(a),(0,l.closeJobShell)(a);let c=await (0,s.deleteTask)(a);return c&&b&&await (0,l.removeJobScratch)(a,b.label),c})}async function y(){let a=await (0,s.deleteFinishedTasks)();for(let b of a)await (0,l.removeJobScratch)(b.id,b.label);return a.length}function z(a,b){let c=new AbortController,e=()=>{},f=new Promise(a=>{e=a}),g=[];D.set(a,{stop:c,done:f,note:b=>!!D.has(a)&&(g.push(b),!0)}),(0,d.after)(()=>A(a,b,c.signal,g).catch(b=>{n.logger.error(`task ${a}`,b)}).finally(e))}class F{taskId;seq;steps;constructor(a,b){this.taskId=a,this.steps=new Map,this.seq=b}async note(a){await (0,s.upsertMessage)(this.taskId,++this.seq,{bot:null,parent:null,role:"user",content:a,note:!0})}step(a){let b=`${a.bot} ${a.parent??""}`,c=this.steps.get(b);return c||(c={assistant:null,tool:null,parts:{assistant:[],tool:[]}},this.steps.set(b,c)),c}write(a,b,c,d={}){let e={bot:b.bot,parent:b.parent,role:c.role,content:c.content,compact:d.compact??!1,note:d.note??!1};return(0,s.upsertMessage)(this.taskId,a,e)}async on(a){let b=this.step(a);switch(a.type){case"text":return b.assistant??=++this.seq,b.parts.assistant.push({type:"text",text:a.text}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool":return b.assistant??=++this.seq,b.parts.assistant.push({type:"tool-call",toolCallId:a.id,toolName:a.name,input:a.input}),this.write(b.assistant,a,{role:"assistant",content:b.parts.assistant});case"tool-result":return b.assistant??=++this.seq,b.tool??=++this.seq,b.parts.tool.push({type:"tool-result",toolCallId:a.id,toolName:a.name,output:"string"==typeof a.output?{type:"text",value:a.output}:{type:"json",value:a.output}}),this.write(b.tool,a,{role:"tool",content:b.parts.tool});case"step":{let c=[b.assistant,b.tool];this.steps.delete(`${a.bot} ${a.parent??""}`);let d=new Set;for(let[b,e]of a.messages.entries()){let f=c[b]??++this.seq;d.add(f),await this.write(f,a,e)}let e=c.filter(a=>null!==a&&!d.has(a));e.length&&await (0,s.deleteMessages)(this.taskId,e);return}case"compact":return this.write(++this.seq,a,{role:"user",content:a.text},{compact:!0,note:!0});case"interjection":return this.write(++this.seq,a,{role:"user",content:a.text});default:return}}}async function A(a,b,c,d){let h=new F(a,await (0,s.lastSeq)(a)),i=null,j=null;try{await (0,q.runBot)(b,{signal:c,taskId:a,notes:()=>d.splice(0),emit:async b=>{await h.on(b),"step"===b.type&&await (0,s.addTaskUsage)(a,b.usage,b.parent?null:{tokens:b.usage.input,budget:b.budget}),("compact"===b.type||"answered"===b.type)&&await (0,s.addTaskUsage)(a,b.usage),b.parent||("waiting"===b.type?i={status:"waiting",outcome:b.question,pending:{toolCallId:b.id,options:b.options}}:"report"===b.type?i={status:b.complete?"done":"waiting",outcome:b.text,pending:b.complete?null:{toolCallId:null,options:[r.TASK_CONTINUE]}}:"error"===b.type&&(j=b.message,i={status:"failed",outcome:B(b.message),pending:null}))}})}catch(a){j=(0,g.modelErrorToString)(a),i={status:"failed",outcome:B(j),pending:null}}finally{D.delete(a)}if(c.aborted)return;let m=i??{status:"failed",outcome:"Stopped without handing anything back.",pending:null};"failed"===m.status&&await h.note(`The run stopped here: ${j??m.outcome}`).catch(b=>n.logger.warn(`task ${a}: break not written`,b));try{await (0,s.updateTask)(a,{...m,reported:!1,endedAt:"waiting"===m.status?null:new Date})}catch(b){n.logger.error(`task ${a}: could not record how it ended`,b);return}"waiting"!==m.status&&(0,l.closeJobShell)(a);let o=await (0,s.findTask)(a);if(o){if(d.length){let b=d.splice(0).join("\n\n");n.logger.debug(`task ${a}: interjection after the run ended — resuming`),v(a,b).catch(b=>{n.logger.error(`task ${a}: late interjection`,b)});return}if(await C(o.label,m),"done"===m.status){var p;let b,c=(p=m.outcome,(b=(0,k.pathsIn)(p)).find(a=>a.startsWith(`${f.PATHS.artifacts}/`))??b[0]??null);c&&e.appEvents.emit({type:"artifact",taskId:a,label:o.label,path:c})}}}function B(a){return`The run broke: ${a}
106
148
 
107
- Everything it had done is still here — answer to pick it back up.`}async function B(a,b){if(0!==e.appEventStream.watchers&&await (0,j.isAnyCallLive)())return;let c="waiting"===b.status?`${a} — needs you`:a;(0,m.desktopNotify)(c,b.outcome)}a.s(["answerTask",0,v,"cancelTask",0,w,"removeTask",0,x,"startTask",0,u]),c()}catch(a){c(a)}},!1),317844,a=>a.a(async(b,c)=>{try{var d,e=a.i(106450),f=a.i(64203),g=a.i(569572),h=a.i(176668),i=a.i(182248),j=a.i(947950),k=a.i(899284),l=b([j]);[j]=l.then?(await l)():l;class m extends Error{serverName;authorizationUrl;constructor(a,b){super(`MCP server "${a}" requires authorization`),this.serverName=a,this.authorizationUrl=b,this.name="McpAuthRequiredError"}}class n{store;serverName;oauth;callbackUrl;clientName;staticClient;lastAuthorizationUrl;constructor(a,b,c,d,e,f){this.store=a,this.serverName=b,this.oauth=c,this.callbackUrl=d,this.clientName=e,this.staticClient=f}get redirectUrl(){return this.callbackUrl}get clientMetadata(){return{client_name:this.clientName,redirect_uris:[this.callbackUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post"}}async persist(a){this.oauth={...this.oauth,...a},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.staticClient??this.oauth.clientInformation}async saveClientInformation(a){await this.persist({clientInformation:a})}tokens(){return this.oauth.tokens}async saveTokens(a){await this.persist({tokens:a})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(a){await this.persist({authorizationServer:a})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(a){await this.persist({codeVerifier:a})}state(){return crypto.randomUUID()}async saveState(a){await this.persist({state:a})}storedState(){return this.oauth.state}redirectToAuthorization(a){this.lastAuthorizationUrl=a}async invalidateCredentials(a){let b={...this.oauth};("all"===a||"client"===a)&&(b.clientInformation=void 0),("all"===a||"tokens"===a)&&(b.tokens=void 0),("all"===a||"verifier"===a)&&(b.codeVerifier=void 0),this.oauth=b,await this.store.saveOAuth(this.serverName,b)}}let o=globalThis;o.__thursdayMcpManager&&o.__thursdayMcpManager.dispose(),d={callbackUrl:new URL("/api/mcp/oauth/callback",g.APP_URL).href,clientName:g.APP_NAME},o.__thursdayMcpManager=new class a{store;sessions;connecting;idleTtlMs;callbackUrl;clientName;constructor(a,b){this.store=a,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=b.callbackUrl,this.idleTtlMs=b.idleTtlMs??18e5,this.clientName=b.clientName??g.APP_NAME}async connect(a){let b=this.connecting.get(a);if(b)return b;let c=this.doConnect(a).finally(()=>this.connecting.delete(a));return this.connecting.set(a,c),c}async callTool(a,b,c){let d=await this.ensureClient(a);try{let e=await d.callTool({name:b,arguments:c});return this.touch(a),e}catch(b){if(b instanceof e.UnauthorizedError)throw await this.closeSession(a),new m(a);throw b}}async finishAuthorization(a){let b=a.get("state"),c=a.get("code");if(!b||!c)throw Error("OAuth callback is missing code or state");let d=await this.store.findByOAuthState(b);if(!d||!(0,k.isRemoteConfig)(d.config))throw Error("No server is waiting for this authorization");let f=this.providerFor(d),g=await (0,e.auth)(f,{serverUrl:d.config.url,authorizationCode:c,callbackState:b});if("AUTHORIZED"!==g)throw Error(`Token exchange ended in "${g}"`);return await f.invalidateCredentials("verifier"),await this.connect(d.name),d.name}async disconnect(a){await this.closeSession(a)}async dispose(){await Promise.all([...this.sessions.keys()].map(a=>this.closeSession(a)))}async doConnect(a){await this.closeSession(a);let b=await this.store.load(a);if(!b)throw Error(`Unknown MCP server "${a}"`);let c={};try{let d=await this.openClient(b,c),e=(await d.listTools()).tools.map(a=>({name:a.name,description:a.description,inputSchema:a.inputSchema,outputSchema:a.outputSchema}));return this.adopt(a,d),await this.store.saveConnectionResult(a,{toolInfo:e,lastError:null}),h.logger.info(`mcp "${a}" connected — ${e.length} tools`),{status:"connected",tools:e}}catch(l){var d,f;let g;if(l instanceof e.UnauthorizedError||l?.cause instanceof e.UnauthorizedError){let b=c.href;if(b)return await this.store.saveConnectionResult(a,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:b}}let j=(d=l,f=b,g=(0,i.errorToString)(d),/\b40[13]\b/.test(g)&&/OAuth|register/i.test(g)&&(0,k.isRemoteConfig)(f.config)&&!f.config.oauthClient?"This server does not allow automatic client registration. Register an OAuth app with the provider and add its client ID and secret.":g);throw await this.store.saveConnectionResult(a,{toolInfo:[],lastError:j}),h.logger.warn(`mcp "${a}" failed — ${j}`),Error(j,{cause:l})}}async openClient(a,b={}){if((0,k.isRemoteConfig)(a.config)){let c=this.providerFor(a);try{return await (0,e.createMCPClient)({name:this.clientName,transport:{type:"http",url:a.config.url,headers:a.config.headers,authProvider:c,redirect:"follow"}})}finally{b.href=c.lastAuthorizationUrl?.href}}return(0,e.createMCPClient)({name:this.clientName,transport:new f.Experimental_StdioMCPTransport({command:a.config.command,args:a.config.args,env:a.config.env})})}providerFor(a){let b=(0,k.isRemoteConfig)(a.config)?a.config.oauthClient:void 0;return new n(this.store,a.name,a.oauth??{},this.callbackUrl,this.clientName,b&&{client_id:b.clientId,client_secret:b.clientSecret})}async ensureClient(a){let b=this.sessions.get(a);if(b)return b.client;let c=await this.connect(a);if("auth_required"===c.status)throw new m(a,c.authorizationUrl);let d=this.sessions.get(a);if(!d)throw Error(`Session for "${a}" vanished mid-connect`);return d.client}adopt(a,b){this.sessions.set(a,{client:b,idleTimer:this.armIdleTimer(a)})}touch(a){let b=this.sessions.get(a);b&&(clearTimeout(b.idleTimer),b.idleTimer=this.armIdleTimer(a))}armIdleTimer(a){let b=setTimeout(()=>{this.closeSession(a)},this.idleTtlMs);return b.unref?.(),b}async closeSession(a){let b=this.sessions.get(a);b&&(this.sessions.delete(a),clearTimeout(b.idleTimer),await b.client.close().catch(()=>{}))}}({load:a=>(0,j.findServer)(a),saveOAuth:(a,b)=>(0,j.saveOAuthData)(a,b),saveConnectionResult:(a,b)=>null===b.lastError?(0,j.syncServerTools)(a,b.toolInfo):(0,j.saveConnectionError)(a,b.lastError),findByOAuthState:a=>(0,j.findServerByOAuthState)(a)},d);let p=o.__thursdayMcpManager;a.s(["McpAuthRequiredError",0,m,"mcpManager",0,p]),c()}catch(a){c(a)}},!1),947950,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(351674),f=a.i(203469),g=a.i(184838),h=a.i(714428),i=a.i(899284),j=b([g]);async function k(a){var b;let[c]=await g.database.select({name:h.mcpServerTable.name,config:h.mcpServerTable.config,lastError:h.mcpServerTable.lastError,toolsSyncedAt:h.mcpServerTable.toolsSyncedAt}).from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return c?{...c,config:(b=c.config,(0,i.isRemoteConfig)(b)?{url:b.url}:{command:b.command,args:b.args}),tools:await l(a)}:null}async function l(a){return g.database.select({id:h.mcpToolTable.id,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema,outputSchema:h.mcpToolTable.outputSchema}).from(h.mcpToolTable).where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name)}async function m(a){let[b]=await g.database.select().from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return b??null}[g]=j.then?(await j)():j;let u=()=>f.appEvents.emit({type:"mcp"});async function n(a){let[b]=await g.database.insert(h.mcpServerTable).values({...a,lastError:null}).onConflictDoUpdate({target:h.mcpServerTable.name,set:{config:a.config,lastError:null}}).returning();return u(),b}async function o(a,b){await g.database.transaction(async c=>{b.length&&await c.insert(h.mcpToolTable).values(b.map(b=>({...b,serverName:a}))).onConflictDoUpdate({target:[h.mcpToolTable.serverName,h.mcpToolTable.name],set:{description:p(h.mcpToolTable.description),inputSchema:p(h.mcpToolTable.inputSchema),outputSchema:p(h.mcpToolTable.outputSchema)}}),await c.delete(h.mcpToolTable).where(b.length?(0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.notInArray)(h.mcpToolTable.name,b.map(a=>a.name))):(0,d.eq)(h.mcpToolTable.serverName,a)),await c.update(h.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,d.eq)(h.mcpServerTable.name,a))}),u()}function p(a){return e.sql.raw(`excluded."${a.name}"`)}async function q(a,b){await g.database.update(h.mcpServerTable).set({lastError:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function r(a,b){await g.database.update(h.mcpServerTable).set({oauth:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function s(a){let[b]=await g.database.select().from(h.mcpServerTable).where(e.sql`json_extract(${h.mcpServerTable.oauth}, '$.state') = ${a}`);return b??null}async function t(a){let b=await g.database.delete(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a)).returning();return b.length>0&&u(),b.length>0}a.s(["deleteServer",0,t,"findPinnedTools",0,function(a){return g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.botMcpToolTable).innerJoin(h.mcpToolTable,(0,d.eq)(h.botMcpToolTable.toolId,h.mcpToolTable.id)).where((0,d.eq)(h.botMcpToolTable.botName,a)).orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"findServer",0,m,"findServerByOAuthState",0,s,"findServerDetail",0,k,"findToolSchemas",0,function(a,b){return b.length?g.database.select({name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.mcpToolTable).where((0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.inArray)(h.mcpToolTable.name,b))).orderBy(h.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return g.database.select({name:h.mcpServerTable.name}).from(h.mcpServerTable).orderBy(h.mcpServerTable.name)},"listToolNames",0,function(a){let b=g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name}).from(h.mcpToolTable);return a?b.where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name):b.orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"saveConnectionError",0,q,"saveOAuthData",0,r,"syncServerTools",0,o,"upsertServer",0,n]),c()}catch(a){c(a)}},!1),899284,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.object({url:b.z.url(),headers:b.z.record(b.z.string(),b.z.string()).optional(),oauthClient:b.z.object({clientId:b.z.string().min(1),clientSecret:b.z.string().optional()}).optional()}),e=b.z.object({command:b.z.string().min(1),args:b.z.array(b.z.string()).optional(),env:b.z.record(b.z.string(),b.z.string()).optional()}),f=b.z.union([d,e]),g=b.z.object({name:b.z.string(),description:b.z.string().optional(),inputSchema:b.z.looseObject({}).optional(),outputSchema:b.z.looseObject({}).optional()});b.z.object({clientInformation:b.z.looseObject({}).optional(),tokens:b.z.looseObject({}).optional(),authorizationServer:b.z.looseObject({}).optional(),codeVerifier:b.z.string().optional(),state:b.z.string().optional()});let h=b.z.object({name:b.z.string().min(1).max(40),config:f,toolCount:b.z.number().int(),lastError:b.z.string().nullish()}),i=g.extend({id:b.z.number().int(),description:b.z.string().nullish()});h.omit({toolCount:!0}).extend({tools:i.array().default([]),toolsSyncedAt:c.DateLikeSchema});let j=b.z.object({name:b.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:f});b.z.union([b.z.object({mcpServers:b.z.record(b.z.string(),f)}),b.z.record(b.z.string(),f)]),a.s(["MCPServerFormSchema",0,j,"isRemoteConfig",0,function(a){return"url"in a}])},986743,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469);a.i(569572);var h=a.i(184838),i=a.i(714428),j=a.i(8412),k=a.i(661210),l=b([h]);[h]=l.then?(await l)():l;let F=(0,j.createKeyedLock)(),G=()=>g.appEvents.emit({type:"memory"});function m(a){return h.database.select({id:i.memoryFactTable.id,noteId:i.memoryFactTable.noteId,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad,createdAt:i.memoryFactTable.createdAt}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.isLatest,!0),(0,d.inArray)(i.memoryFactTable.noteId,a))).orderBy((0,e.asc)(i.memoryFactTable.id))}async function n(a,b,c={}){let[d]=await h.database.insert(i.memoryNoteTable).values({path:a,description:b,ownedByUser:c.ownedByUser??!1}).onConflictDoNothing({target:i.memoryNoteTable.path}).returning();return d&&G(),d??null}async function o(a){let[b]=await h.database.select().from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.path,a.trim()));if(!b)return null;let c=await m([b.id]);return{...b,factCount:c.length,facts:c}}async function p(a,b){let[c]=await h.database.update(i.memoryNoteTable).set({...b,updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a)).returning();return c&&G(),c??null}async function q(a){let b=await h.database.delete(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,a)).returning({id:i.memoryNoteTable.id});return b.length>0&&G(),b.length>0}async function r(a,b){let[c]=await h.database.insert(i.memoryFactTable).values({noteId:a,text:b}).returning();return await u(a),G(),c}async function s(a,b,c){let e,f=await (e=()=>h.database.transaction(async e=>{let f=await e.update(i.memoryFactTable).set({isLatest:!1}).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))).returning({id:i.memoryFactTable.id});if(0===f.length)return null;let[g]=await e.insert(i.memoryFactTable).values({noteId:a,text:c}).returning();return await e.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a)),g}),F("memory",e));return f&&G(),f}async function t(a,b){let c=await h.database.delete(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a))).returning({id:i.memoryFactTable.id});return c.length>0&&(await u(a),G()),c.length>0}function u(a){return h.database.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a))}async function v(){for(let a of k.MEMORY_ALWAYS_LISTED){let b=k.MEMORY_PATHS.find(b=>b.path===a)?.of??a;await h.database.insert(i.memoryNoteTable).values({path:a,description:b}).onConflictDoUpdate({target:i.memoryNoteTable.path,set:{description:b}})}}async function w(a){let b=a.map(a=>a.trim()).filter(Boolean),c=[],e=[];if(!b.length)return{found:c,missing:e};let f={id:i.memoryNoteTable.id,path:i.memoryNoteTable.path,description:i.memoryNoteTable.description},g=await h.database.select(f).from(i.memoryNoteTable).where((0,d.inArray)(i.memoryNoteTable.path,b)),j=new Map(g.map(a=>[a.path.toLowerCase(),a]));if(b.some(a=>!j.has(a.toLowerCase()))){let a=await h.database.select({...f,aliases:i.memoryNoteTable.aliases}).from(i.memoryNoteTable),b=(a,b)=>{let c=a.trim().toLowerCase();c&&!j.has(c)&&j.set(c,b)};for(let c of a)b(c.path,c);for(let c of a)for(let a of(b(c.path.slice(c.path.indexOf("/")+1),c),c.aliases??[]))b(a,c)}let k=new Set;for(let a of b){let b=j.get(a.toLowerCase());if(!b){e.push(a);continue}k.has(b.id)||(k.add(b.id),c.push(b))}return{found:c,missing:e}}async function x(a){let{found:b}=await w([a]);return b[0]?.path??null}async function y(a,b={}){let{found:c,missing:e}=await w(a);if(!c.length)return{notes:[],missing:e};let g=c.map(a=>a.id),j=await m(g);return!1!==b.touch&&await h.database.update(i.memoryNoteTable).set({hits:f.sql`${i.memoryNoteTable.hits} + 1`,lastReadAt:new Date}).where((0,d.inArray)(i.memoryNoteTable.id,g)),{notes:c.map(a=>({path:a.path,description:a.description,facts:j.filter(b=>b.noteId===a.id).map(a=>({id:a.id,text:a.text}))})),missing:e}}(0,d.inArray)(i.memoryNoteTable.path,k.MEMORY_ALWAYS_LISTED);let H=a=>a.toLowerCase().replace(/[\s.,!?…·'"`]/g,"");async function z(a){let b,c=[],e=[],g=[];await (b=()=>h.database.transaction(async b=>{let[h]=await b.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0))),j=k.ALWAYS_LOADED_MAX-Number(h?.count??0),l=(a,b)=>!!a&&(j>0?(j-=1,!0):(g.push(b),!1));for(let f of a){let a,g=f.path.trim();if(!g)continue;e.push(g);let h=f.description?.trim(),k=f.aliases?.map(a=>a.trim()).filter(Boolean),m=(f.facts??[]).map(a=>({...a,text:a.text.trim()})).filter(a=>a.text),[n]=await b.select({id:i.memoryNoteTable.id}).from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.path,g));if(n)a=n.id,(h||k)&&await b.update(i.memoryNoteTable).set({...h?{description:h}:{},...k?{aliases:k}:{},updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a));else{let[d]=await b.insert(i.memoryNoteTable).values({path:g,description:h??m[0]?.text.slice(0,80)??g,...k?{aliases:k}:{}}).returning({id:i.memoryNoteTable.id});a=d.id,h||c.push(g)}if(!m.length)continue;let o=await b.select({id:i.memoryFactTable.id,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))),p=new Map(o.map(a=>[H(a.text),a])),q=async(a,c,e)=>{if(c===a.alwaysLoad)return;let f=c?l(!0,e):(j+=1,!1);f!==a.alwaysLoad&&(await b.update(i.memoryFactTable).set({alwaysLoad:f}).where((0,d.eq)(i.memoryFactTable.id,a.id)),a.alwaysLoad=f)};for(let c of m){if(null!=c.replaces){let[e]=await b.select({id:i.memoryFactTable.id,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,c.replaces),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0)));if(e){if(H(e.text)===H(c.text)){await q(e,c.alwaysLoad??e.alwaysLoad,c.text),p.set(H(e.text),e);continue}await b.update(i.memoryFactTable).set({isLatest:!1}).where((0,d.eq)(i.memoryFactTable.id,e.id)),p.delete(H(e.text)),e.alwaysLoad&&(j+=1);let[f]=await b.insert(i.memoryFactTable).values({noteId:a,text:c.text,alwaysLoad:l(c.alwaysLoad??e.alwaysLoad,c.text)}).returning({id:i.memoryFactTable.id,alwaysLoad:i.memoryFactTable.alwaysLoad});p.set(H(c.text),{...f,text:c.text});continue}}let e=p.get(H(c.text));if(e){null!=c.alwaysLoad&&await q(e,c.alwaysLoad,c.text);continue}let[f]=await b.insert(i.memoryFactTable).values({noteId:a,text:c.text,alwaysLoad:l(!0===c.alwaysLoad,c.text)}).returning({id:i.memoryFactTable.id,alwaysLoad:i.memoryFactTable.alwaysLoad});p.set(H(c.text),{...f,text:c.text})}await b.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a))}}),F("memory",b));let{notes:j}=await y(e,{touch:!1});return G(),{notes:j,unnamed:c,notLoaded:g}}async function A(a,b,c){let e,g=await (e=()=>h.database.transaction(async e=>{if(c){let[a]=await e.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0)));if(Number(a?.count??0)>=k.ALWAYS_LOADED_MAX)return"full"}let[g]=await e.update(i.memoryFactTable).set({alwaysLoad:c}).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))).returning({id:i.memoryFactTable.id});return g?"ok":"missing"}),F("memory",e));return"ok"===g&&G(),g}async function B(){let[a,b]=await Promise.all([h.database.select({id:i.memoryNoteTable.id,path:i.memoryNoteTable.path,description:i.memoryNoteTable.description,aliases:i.memoryNoteTable.aliases,hits:i.memoryNoteTable.hits,lastReadAt:i.memoryNoteTable.lastReadAt,createdAt:i.memoryNoteTable.createdAt}).from(i.memoryNoteTable),h.database.select({noteId:i.memoryFactTable.noteId,count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.eq)(i.memoryFactTable.isLatest,!0)).groupBy(i.memoryFactTable.noteId)]),c=new Map(b.map(a=>[a.noteId,a.count]));return a.filter(a=>(0,k.isAlwaysListed)(a.path)||(c.get(a.id)??0)>0).sort((a,b)=>Number((0,k.isAlwaysListed)(b.path))-Number((0,k.isAlwaysListed)(a.path))||(0,k.recallScore)(b)-(0,k.recallScore)(a)).map(a=>({path:a.path,description:a.description,aliases:a.aliases,factCount:c.get(a.id)??0,lastSeenAt:a.lastReadAt??a.createdAt}))}async function C(a){let b,c=await (b=()=>h.database.transaction(async b=>{let c=await b.delete(i.memoryFactTable).where((0,d.eq)(i.memoryFactTable.id,a)).returning({noteId:i.memoryFactTable.noteId});if(0===c.length)return null;let e=c[0].noteId,[g]=await b.select({path:i.memoryNoteTable.path,ownedByUser:i.memoryNoteTable.ownedByUser}).from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,e)),[h]=await b.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.noteId,e),(0,d.eq)(i.memoryFactTable.isLatest,!0)));return h?.count!==0||!g||g.ownedByUser||(0,k.isAlwaysListed)(g.path)?(await b.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,e)),{path:g?.path??"",noteGone:!1}):(await b.delete(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,e)),{path:g.path,noteGone:!0})}),F("memory",b));return c&&G(),c}async function D(a){let[b]=await h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,a),(0,d.eq)(i.memoryFactTable.isLatest,!0)));return b??null}async function E(){let a=await h.database.delete(i.memoryNoteTable).returning({id:i.memoryNoteTable.id});return await v(),a.length>0&&G(),a.length}a.s(["addFact",0,r,"createNote",0,n,"deleteAllNotes",0,E,"deleteNote",0,q,"findFactById",0,D,"findNoteByPath",0,o,"forgetFact",0,t,"forgetFactById",0,C,"listAlwaysLoaded",0,function(){return h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0))).orderBy((0,e.asc)(i.memoryNoteTable.path),(0,e.asc)(i.memoryFactTable.id)).limit(k.ALWAYS_LOADED_MAX)},"listFactsWrittenBetween",0,function(a,b){return h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.isLatest,!0),(0,d.between)(i.memoryFactTable.createdAt,a,b))).orderBy((0,e.asc)(i.memoryFactTable.id))},"listNoteIndex",0,B,"readNotes",0,y,"resolveNotePath",0,x,"reviseFact",0,s,"sameFact",0,H,"setFactAlwaysLoad",0,A,"updateNote",0,p,"writeNotes",0,z]),c()}catch(a){c(a)}},!1),661210,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.object({id:b.z.number(),text:b.z.string(),alwaysLoad:b.z.boolean(),createdAt:c.DateLikeSchema});b.z.object({id:b.z.number(),path:b.z.string(),description:b.z.string(),aliases:b.z.string().array().nullish(),ownedByUser:b.z.boolean(),hits:b.z.number(),lastReadAt:c.DateLikeSchema.nullable(),createdAt:c.DateLikeSchema,updatedAt:c.DateLikeSchema,factCount:b.z.number(),facts:d.array()});let e=[{path:"profile",of:"The user themselves — who they are, what they do, where, how they live"},{path:"preferences",of:"How they like things done, and said"},{path:"people/",of:"Who someone is to them, and what matters about them"},{path:"projects/",of:"Something they are building or running"},{path:"plans/",of:"A trip, an appointment, a purchase, a deadline"},{path:"topics/",of:"Anything else worth its own note"},{path:"inbox",of:"Nowhere obvious to go"}],f=e.filter(a=>!a.path.endsWith("/")).map(a=>a.path),g=e.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1)),h=RegExp(`^(?:${f.join("|")}|(?:${g.join("|")})/.+)$`),i=["profile","preferences"],j=b.z.object({op:b.z.enum(["add","replace","forget","carry","uncarry"]),path:b.z.string(),text:b.z.string()});b.z.object({id:b.z.string(),status:b.z.enum(["running","done","stopped","failed"]),provider:b.z.string(),model:b.z.string(),callIds:b.z.string().array(),messages:b.z.number(),changes:j.array(),error:b.z.string().nullable(),inputTokens:b.z.number(),outputTokens:b.z.number(),startedAt:c.DateLikeSchema,endedAt:c.DateLikeSchema.nullable()}),a.s(["ALWAYS_LOADED_MAX",0,14,"MANY_FACTS",0,100,"MEMORY_ALWAYS_LISTED",0,i,"MEMORY_INBOX",0,"inbox","MEMORY_PATHS",0,e,"MEMORY_TIDY_KEYS",0,{on:"MEMORY_TIDY",model:"MEMORY_TIDY_MODEL"},"isAlwaysListed",0,a=>i.includes(a),"isMemoryPath",0,a=>h.test(a),"isTidyOn",0,a=>a?.trim()==="on","recallScore",0,function(a){let b=(0,c.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-b.getTime())/864e5);return(a.hits+1)/(1+d)},"tidyTally",0,function(a){let b=b=>a.filter(a=>a.op===b).length,c=[[b("add"),"added"],[b("replace"),"revised"],[b("forget"),"dropped"],[b("carry"),"carried"],[b("uncarry"),"uncarried"]].filter(([a])=>a>0).map(([a,b])=>`${a} ${b}`);return c.length?c.join(", "):"nothing to change"}])},138100,a=>{"use strict";var b=a.i(750227),c=a.i(569572),d=a.i(176668),e=a.i(182248),f=a.i(762805);let g=[(0,b.join)(c.APP_DIR,c.PATHS.skills.default),(0,b.join)(c.DATA_DIR,c.PATHS.skills.custom)];async function h(a,b){let c=[],g=new Set;for(let h of b){let b;try{b=await a.readdir(h,{withFileTypes:!0})}catch{continue}for(let i of b){let b,j;if(!i.isDirectory())continue;let k=`${h}/${i.name}`,l=`${k}/SKILL.md`;try{b=await a.readFile(l,"utf-8")}catch{continue}try{j=(0,f.parseFrontmatter)(b)}catch(a){d.logger.warn(`skill ${k}: SKILL.md front matter did not load — ${(0,e.errorToString)(a)}`);continue}!g.has(j.name)&&(g.add(j.name),j.disabled||c.push({name:j.name,description:j.description,path:k}))}}return c}a.s(["loadSkills",0,a=>h(a,g)])},762805,951941,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(622650),e=a.i(569572),f=a.i(53112);let g=f.z.enum(["custom","default"]),h=f.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),i=f.z.object({name:h,description:f.z.string().trim().min(1,"Description is required"),disabled:f.z.boolean().optional()}),j=i.extend({content:f.z.string().trim().min(1,"Content is required")}),k=f.z.object({fileName:f.z.string().trim().min(1),base64:f.z.string().min(1)});a.s(["SkillDraftSchema",0,j,"SkillFrontmatterSchema",0,i,"SkillNameSchema",0,h,"SkillSourceSchema",0,g,"SkillUploadSchema",0,k],951941);var l=a.i(293480);let m={default:(0,c.resolve)(e.APP_DIR,e.PATHS.skills.default),custom:(0,c.resolve)(e.DATA_DIR,e.PATHS.skills.custom)};function n(a,b){let d=m[a],e=(0,c.resolve)(d,b),f=(0,c.relative)(d,e);return(!f||f.startsWith("..")||f.includes(c.sep)||"."===f)&&(0,l.publicError)("Skill not found"),e}function o(a){let b=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!b)return{head:null,body:a.trim(),rest:a,fence:""};let c=a.slice(b[0].length);return{head:b[1]??null,body:c.trim(),rest:c,fence:b[0]}}function p(a){let b,{head:c}=o(a);c||(0,l.publicError)("SKILL.md needs a YAML block with name and description");try{b=(0,d.parse)(c)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}let e=i.safeParse(b);return e.success||(0,l.publicError)(`SKILL.md frontmatter: ${e.error.issues[0]?.message??"invalid"}`),e.data}let q=/^disabled[ \t]*:[^\n]*(\r?\n|$)/m;async function r(a,e,f){let g,h,i=(0,c.join)(n(a,e),"SKILL.md");try{g=await (0,b.readFile)(i,"utf-8")}catch{(0,l.publicError)("Skill not found")}let{head:j,rest:k,fence:m}=o(g);j||(0,l.publicError)("This SKILL.md has no frontmatter to write to");try{h=(0,d.parse)(j)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}(!h||"object"!=typeof h||Array.isArray(h))&&(0,l.publicError)("SKILL.md frontmatter is not a YAML mapping");let p=m.includes("\r\n")?"\r\n":"\n",r=f?q.test(j)?j.replace(q,"disabled: true$1"):`${j.replace(/\s+$/,"")}${p}disabled: true`:j.replace(q,"").replace(/\s+$/,"");await (0,b.writeFile)(i,`---${p}${r}${p}---${p}${k}`)}async function s(a,d){try{let e=await (0,b.readFile)((0,c.join)(m[a],d,"SKILL.md"),"utf-8");return{...p(e),source:a,dir:d}}catch{return null}}async function t(a,d){let e=n("custom",a),f=async a=>(0,b.stat)(a).then(()=>!0,()=>!1);await f(e)&&(0,l.publicError)(`A skill named "${a}" already exists`),await f(n("default",a))&&(0,l.publicError)(`"${a}" is a built-in skill — pick another name`),await (0,b.mkdir)(e,{recursive:!0});try{for(let[a,f]of d){let d=function(a,b){let d=(0,c.resolve)(a,b);return((0,c.relative)(a,d).startsWith("..")||(0,c.resolve)(d)!==d)&&(0,l.publicError)("File not found"),d}(e,a);await (0,b.mkdir)((0,c.resolve)(d,".."),{recursive:!0}),await (0,b.writeFile)(d,f)}}catch(a){throw await (0,b.rm)(e,{recursive:!0,force:!0}),a}let g=await s("custom",a);return g||(await (0,b.rm)(e,{recursive:!0,force:!0}),(0,l.publicError)("SKILL.md could not be read back")),g}async function u(a){let c=n("custom",a);await (0,b.stat)(c).then(()=>!0,()=>!1)||(0,l.publicError)("Skill not found"),await (0,b.rm)(c,{recursive:!0,force:!0})}a.s(["deleteCustomSkill",0,u,"parseFrontmatter",0,p,"renderSkillMarkdown",0,function(a,b){return`---
149
+ Everything it had done is still here — answer to pick it back up.`}async function C(a,b){if(0!==e.appEventStream.watchers&&await (0,j.isAnyCallLive)())return;let c="waiting"===b.status?`${a} — needs you`:a;(0,m.desktopNotify)(c,b.outcome)}a.s(["answerTask",0,v,"cancelTask",0,w,"removeFinishedTasks",0,y,"removeTask",0,x,"startTask",0,u]),c()}catch(a){c(a)}},!1),317844,a=>a.a(async(b,c)=>{try{var d,e=a.i(106450),f=a.i(64203),g=a.i(569572),h=a.i(176668),i=a.i(182248),j=a.i(947950),k=a.i(899284),l=b([j]);[j]=l.then?(await l)():l;class m extends Error{serverName;authorizationUrl;constructor(a,b){super(`MCP server "${a}" requires authorization`),this.serverName=a,this.authorizationUrl=b,this.name="McpAuthRequiredError"}}class n{store;serverName;oauth;callbackUrl;clientName;staticClient;lastAuthorizationUrl;constructor(a,b,c,d,e,f){this.store=a,this.serverName=b,this.oauth=c,this.callbackUrl=d,this.clientName=e,this.staticClient=f}get redirectUrl(){return this.callbackUrl}get clientMetadata(){return{client_name:this.clientName,redirect_uris:[this.callbackUrl],grant_types:["authorization_code","refresh_token"],response_types:["code"],token_endpoint_auth_method:"client_secret_post"}}async persist(a){this.oauth={...this.oauth,...a},await this.store.saveOAuth(this.serverName,this.oauth)}clientInformation(){return this.staticClient??this.oauth.clientInformation}async saveClientInformation(a){await this.persist({clientInformation:a})}tokens(){return this.oauth.tokens}async saveTokens(a){await this.persist({tokens:a})}authorizationServerInformation(){return this.oauth.authorizationServer}async saveAuthorizationServerInformation(a){await this.persist({authorizationServer:a})}codeVerifier(){if(!this.oauth.codeVerifier)throw Error("No code verifier saved");return this.oauth.codeVerifier}async saveCodeVerifier(a){await this.persist({codeVerifier:a})}state(){return crypto.randomUUID()}async saveState(a){await this.persist({state:a})}storedState(){return this.oauth.state}redirectToAuthorization(a){this.lastAuthorizationUrl=a}async invalidateCredentials(a){let b={...this.oauth};("all"===a||"client"===a)&&(b.clientInformation=void 0),("all"===a||"tokens"===a)&&(b.tokens=void 0),("all"===a||"verifier"===a)&&(b.codeVerifier=void 0),this.oauth=b,await this.store.saveOAuth(this.serverName,b)}}let o=globalThis;o.__thursdayMcpManager&&o.__thursdayMcpManager.dispose(),d={callbackUrl:new URL("/api/mcp/oauth/callback",g.APP_URL).href,clientName:g.APP_NAME},o.__thursdayMcpManager=new class a{store;sessions;connecting;idleTtlMs;callbackUrl;clientName;constructor(a,b){this.store=a,this.sessions=new Map,this.connecting=new Map,this.callbackUrl=b.callbackUrl,this.idleTtlMs=b.idleTtlMs??18e5,this.clientName=b.clientName??g.APP_NAME}async connect(a){let b=this.connecting.get(a);if(b)return b;let c=this.doConnect(a).finally(()=>this.connecting.delete(a));return this.connecting.set(a,c),c}async callTool(a,b,c){let d=await this.ensureClient(a);try{let e=await d.callTool({name:b,arguments:c});return this.touch(a),e}catch(b){if(b instanceof e.UnauthorizedError)throw await this.closeSession(a),new m(a);throw b}}async finishAuthorization(a){let b=a.get("state"),c=a.get("code");if(!b||!c)throw Error("OAuth callback is missing code or state");let d=await this.store.findByOAuthState(b);if(!d||!(0,k.isRemoteConfig)(d.config))throw Error("No server is waiting for this authorization");let f=this.providerFor(d),g=await (0,e.auth)(f,{serverUrl:d.config.url,authorizationCode:c,callbackState:b});if("AUTHORIZED"!==g)throw Error(`Token exchange ended in "${g}"`);return await f.invalidateCredentials("verifier"),await this.connect(d.name),d.name}async disconnect(a){await this.closeSession(a)}async dispose(){await Promise.all([...this.sessions.keys()].map(a=>this.closeSession(a)))}async doConnect(a){await this.closeSession(a);let b=await this.store.load(a);if(!b)throw Error(`Unknown MCP server "${a}"`);let c={};try{let d=await this.openClient(b,c),e=(await d.listTools()).tools.map(a=>({name:a.name,description:a.description,inputSchema:a.inputSchema,outputSchema:a.outputSchema}));return this.adopt(a,d),await this.store.saveConnectionResult(a,{toolInfo:e,lastError:null}),h.logger.info(`mcp "${a}" connected — ${e.length} tools`),{status:"connected",tools:e}}catch(l){var d,f;let g;if(l instanceof e.UnauthorizedError||l?.cause instanceof e.UnauthorizedError){let b=c.href;if(b)return await this.store.saveConnectionResult(a,{toolInfo:[],lastError:"Authorization required — finish sign-in in the opened tab"}),{status:"auth_required",authorizationUrl:b}}let j=(d=l,f=b,g=(0,i.errorToString)(d),/\b40[13]\b/.test(g)&&/OAuth|register/i.test(g)&&(0,k.isRemoteConfig)(f.config)&&!f.config.oauthClient?"This server does not allow automatic client registration. Register an OAuth app with the provider and add its client ID and secret.":g);throw await this.store.saveConnectionResult(a,{toolInfo:[],lastError:j}),h.logger.warn(`mcp "${a}" failed — ${j}`),Error(j,{cause:l})}}async openClient(a,b={}){if((0,k.isRemoteConfig)(a.config)){let c=this.providerFor(a);try{return await (0,e.createMCPClient)({name:this.clientName,transport:{type:"http",url:a.config.url,headers:a.config.headers,authProvider:c,redirect:"follow"}})}finally{b.href=c.lastAuthorizationUrl?.href}}return(0,e.createMCPClient)({name:this.clientName,transport:new f.Experimental_StdioMCPTransport({command:a.config.command,args:a.config.args,env:a.config.env})})}providerFor(a){let b=(0,k.isRemoteConfig)(a.config)?a.config.oauthClient:void 0;return new n(this.store,a.name,a.oauth??{},this.callbackUrl,this.clientName,b&&{client_id:b.clientId,client_secret:b.clientSecret})}async ensureClient(a){let b=this.sessions.get(a);if(b)return b.client;let c=await this.connect(a);if("auth_required"===c.status)throw new m(a,c.authorizationUrl);let d=this.sessions.get(a);if(!d)throw Error(`Session for "${a}" vanished mid-connect`);return d.client}adopt(a,b){this.sessions.set(a,{client:b,idleTimer:this.armIdleTimer(a)})}touch(a){let b=this.sessions.get(a);b&&(clearTimeout(b.idleTimer),b.idleTimer=this.armIdleTimer(a))}armIdleTimer(a){let b=setTimeout(()=>{this.closeSession(a)},this.idleTtlMs);return b.unref?.(),b}async closeSession(a){let b=this.sessions.get(a);b&&(this.sessions.delete(a),clearTimeout(b.idleTimer),await b.client.close().catch(()=>{}))}}({load:a=>(0,j.findServer)(a),saveOAuth:(a,b)=>(0,j.saveOAuthData)(a,b),saveConnectionResult:(a,b)=>null===b.lastError?(0,j.syncServerTools)(a,b.toolInfo):(0,j.saveConnectionError)(a,b.lastError),findByOAuthState:a=>(0,j.findServerByOAuthState)(a)},d);let p=o.__thursdayMcpManager;a.s(["McpAuthRequiredError",0,m,"mcpManager",0,p]),c()}catch(a){c(a)}},!1),947950,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(351674),f=a.i(203469),g=a.i(184838),h=a.i(714428),i=a.i(899284),j=b([g]);async function k(a){var b;let[c]=await g.database.select({name:h.mcpServerTable.name,config:h.mcpServerTable.config,lastError:h.mcpServerTable.lastError,toolsSyncedAt:h.mcpServerTable.toolsSyncedAt}).from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return c?{...c,config:(b=c.config,(0,i.isRemoteConfig)(b)?{url:b.url}:{command:b.command,args:b.args}),tools:await l(a)}:null}async function l(a){return g.database.select({id:h.mcpToolTable.id,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema,outputSchema:h.mcpToolTable.outputSchema}).from(h.mcpToolTable).where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name)}async function m(a){let[b]=await g.database.select().from(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a));return b??null}[g]=j.then?(await j)():j;let u=()=>f.appEvents.emit({type:"mcp"});async function n(a){let[b]=await g.database.insert(h.mcpServerTable).values({...a,lastError:null}).onConflictDoUpdate({target:h.mcpServerTable.name,set:{config:a.config,lastError:null}}).returning();return u(),b}async function o(a,b){await g.database.transaction(async c=>{b.length&&await c.insert(h.mcpToolTable).values(b.map(b=>({...b,serverName:a}))).onConflictDoUpdate({target:[h.mcpToolTable.serverName,h.mcpToolTable.name],set:{description:p(h.mcpToolTable.description),inputSchema:p(h.mcpToolTable.inputSchema),outputSchema:p(h.mcpToolTable.outputSchema)}}),await c.delete(h.mcpToolTable).where(b.length?(0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.notInArray)(h.mcpToolTable.name,b.map(a=>a.name))):(0,d.eq)(h.mcpToolTable.serverName,a)),await c.update(h.mcpServerTable).set({lastError:null,toolsSyncedAt:new Date}).where((0,d.eq)(h.mcpServerTable.name,a))}),u()}function p(a){return e.sql.raw(`excluded."${a.name}"`)}async function q(a,b){await g.database.update(h.mcpServerTable).set({lastError:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function r(a,b){await g.database.update(h.mcpServerTable).set({oauth:b}).where((0,d.eq)(h.mcpServerTable.name,a)),u()}async function s(a){let[b]=await g.database.select().from(h.mcpServerTable).where(e.sql`json_extract(${h.mcpServerTable.oauth}, '$.state') = ${a}`);return b??null}async function t(a){let b=await g.database.delete(h.mcpServerTable).where((0,d.eq)(h.mcpServerTable.name,a)).returning();return b.length>0&&u(),b.length>0}a.s(["deleteServer",0,t,"findPinnedTools",0,function(a){return g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.botMcpToolTable).innerJoin(h.mcpToolTable,(0,d.eq)(h.botMcpToolTable.toolId,h.mcpToolTable.id)).where((0,d.eq)(h.botMcpToolTable.botName,a)).orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"findServer",0,m,"findServerByOAuthState",0,s,"findServerDetail",0,k,"findToolSchemas",0,function(a,b){return b.length?g.database.select({name:h.mcpToolTable.name,description:h.mcpToolTable.description,inputSchema:h.mcpToolTable.inputSchema}).from(h.mcpToolTable).where((0,d.and)((0,d.eq)(h.mcpToolTable.serverName,a),(0,d.inArray)(h.mcpToolTable.name,b))).orderBy(h.mcpToolTable.name):Promise.resolve([])},"listServerNames",0,function(){return g.database.select({name:h.mcpServerTable.name}).from(h.mcpServerTable).orderBy(h.mcpServerTable.name)},"listToolNames",0,function(a){let b=g.database.select({server:h.mcpToolTable.serverName,name:h.mcpToolTable.name}).from(h.mcpToolTable);return a?b.where((0,d.eq)(h.mcpToolTable.serverName,a)).orderBy(h.mcpToolTable.name):b.orderBy(h.mcpToolTable.serverName,h.mcpToolTable.name)},"saveConnectionError",0,q,"saveOAuthData",0,r,"syncServerTools",0,o,"upsertServer",0,n]),c()}catch(a){c(a)}},!1),899284,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.object({url:b.z.url(),headers:b.z.record(b.z.string(),b.z.string()).optional(),oauthClient:b.z.object({clientId:b.z.string().min(1),clientSecret:b.z.string().optional()}).optional()}),e=b.z.object({command:b.z.string().min(1),args:b.z.array(b.z.string()).optional(),env:b.z.record(b.z.string(),b.z.string()).optional()}),f=b.z.union([d,e]),g=b.z.object({name:b.z.string(),description:b.z.string().optional(),inputSchema:b.z.looseObject({}).optional(),outputSchema:b.z.looseObject({}).optional()});b.z.object({clientInformation:b.z.looseObject({}).optional(),tokens:b.z.looseObject({}).optional(),authorizationServer:b.z.looseObject({}).optional(),codeVerifier:b.z.string().optional(),state:b.z.string().optional()});let h=b.z.object({name:b.z.string().min(1).max(40),config:f,toolCount:b.z.number().int(),lastError:b.z.string().nullish()}),i=g.extend({id:b.z.number().int(),description:b.z.string().nullish()});h.omit({toolCount:!0}).extend({tools:i.array().default([]),toolsSyncedAt:c.DateLikeSchema});let j=b.z.object({name:b.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:f});b.z.union([b.z.object({mcpServers:b.z.record(b.z.string(),f)}),b.z.record(b.z.string(),f)]),a.s(["MCPServerFormSchema",0,j,"isRemoteConfig",0,function(a){return"url"in a}])},986743,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469);a.i(569572);var h=a.i(184838),i=a.i(714428),j=a.i(8412),k=a.i(661210),l=b([h]);[h]=l.then?(await l)():l;let F=(0,j.createKeyedLock)(),G=()=>g.appEvents.emit({type:"memory"});function m(a){return h.database.select({id:i.memoryFactTable.id,noteId:i.memoryFactTable.noteId,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad,source:i.memoryFactTable.source,createdAt:i.memoryFactTable.createdAt}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.isLatest,!0),(0,d.inArray)(i.memoryFactTable.noteId,a))).orderBy((0,e.asc)(i.memoryFactTable.id))}async function n(a,b,c={}){let[d]=await h.database.insert(i.memoryNoteTable).values({path:a,description:b,ownedByUser:c.ownedByUser??!1}).onConflictDoNothing({target:i.memoryNoteTable.path}).returning();return d&&G(),d??null}async function o(a){let[b]=await h.database.select().from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.path,a.trim()));if(!b)return null;let c=await m([b.id]);return{...b,factCount:c.length,facts:c}}async function p(a,b){let[c]=await h.database.update(i.memoryNoteTable).set({...b,updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a)).returning();return c&&G(),c??null}async function q(a){let b=await h.database.delete(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,a)).returning({id:i.memoryNoteTable.id});return b.length>0&&G(),b.length>0}async function r(a,b){let[c]=await h.database.insert(i.memoryFactTable).values({noteId:a,text:b,source:"user"}).returning();return await u(a),G(),c}async function s(a,b,c){let e,f=await (e=()=>h.database.transaction(async e=>{let f=await e.update(i.memoryFactTable).set({isLatest:!1}).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))).returning({id:i.memoryFactTable.id});if(0===f.length)return null;let[g]=await e.insert(i.memoryFactTable).values({noteId:a,text:c,source:"user"}).returning();return await e.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a)),g}),F("memory",e));return f&&G(),f}async function t(a,b){let c=await h.database.delete(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a))).returning({id:i.memoryFactTable.id});return c.length>0&&(await u(a),G()),c.length>0}function u(a){return h.database.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a))}async function v(){for(let a of k.MEMORY_ALWAYS_LISTED){let b=k.MEMORY_PATHS.find(b=>b.path===a)?.of??a;await h.database.insert(i.memoryNoteTable).values({path:a,description:b}).onConflictDoUpdate({target:i.memoryNoteTable.path,set:{description:b}})}}async function w(a){let b=a.map(a=>a.trim()).filter(Boolean),c=[],e=[];if(!b.length)return{found:c,missing:e};let f={id:i.memoryNoteTable.id,path:i.memoryNoteTable.path,description:i.memoryNoteTable.description},g=await h.database.select(f).from(i.memoryNoteTable).where((0,d.inArray)(i.memoryNoteTable.path,b)),j=new Map(g.map(a=>[a.path.toLowerCase(),a]));if(b.some(a=>!j.has(a.toLowerCase()))){let a=await h.database.select({...f,aliases:i.memoryNoteTable.aliases}).from(i.memoryNoteTable),b=(a,b)=>{let c=a.trim().toLowerCase();c&&!j.has(c)&&j.set(c,b)};for(let c of a)b(c.path,c);for(let c of a)for(let a of(b(c.path.slice(c.path.indexOf("/")+1),c),c.aliases??[]))b(a,c)}let k=new Set;for(let a of b){let b=j.get(a.toLowerCase());if(!b){e.push(a);continue}k.has(b.id)||(k.add(b.id),c.push(b))}return{found:c,missing:e}}async function x(a){let{found:b}=await w([a]);return b[0]?.path??null}async function y(a,b={}){let{found:c,missing:e}=await w(a);if(!c.length)return{notes:[],missing:e};let g=c.map(a=>a.id),j=await m(g);return!1!==b.touch&&await h.database.update(i.memoryNoteTable).set({hits:f.sql`${i.memoryNoteTable.hits} + 1`,lastReadAt:new Date}).where((0,d.inArray)(i.memoryNoteTable.id,g)),{notes:c.map(a=>({path:a.path,description:a.description,facts:j.filter(b=>b.noteId===a.id).map(a=>({id:a.id,text:a.text}))})),missing:e}}(0,d.inArray)(i.memoryNoteTable.path,k.MEMORY_ALWAYS_LISTED);let H=a=>a.toLowerCase().replace(/[\s.,!?…·'"`]/g,"");async function z(a,b){let c,e=[],g=[],j=[];await (c=()=>h.database.transaction(async c=>{let[h]=await c.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0))),l=k.ALWAYS_LOADED_MAX-Number(h?.count??0),m=(a,b)=>!!a&&(l>0?(l-=1,!0):(j.push(b),!1));for(let f of a){let a,h=f.path.trim();if(!h)continue;g.push(h);let j=f.description?.trim(),k=f.aliases?.map(a=>a.trim()).filter(Boolean),n=(f.facts??[]).map(a=>({...a,text:a.text.trim()})).filter(a=>a.text),[o]=await c.select({id:i.memoryNoteTable.id}).from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.path,h));if(o)a=o.id,(j||k)&&await c.update(i.memoryNoteTable).set({...j?{description:j}:{},...k?{aliases:k}:{},updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a));else{let[b]=await c.insert(i.memoryNoteTable).values({path:h,description:j??n[0]?.text.slice(0,80)??h,...k?{aliases:k}:{}}).returning({id:i.memoryNoteTable.id});a=b.id,j||e.push(h)}if(!n.length)continue;let p=await c.select({id:i.memoryFactTable.id,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))),q=new Map(p.map(a=>[H(a.text),a])),r=async(a,b,e)=>{if(b===a.alwaysLoad)return;let f=b?m(!0,e):(l+=1,!1);f!==a.alwaysLoad&&(await c.update(i.memoryFactTable).set({alwaysLoad:f}).where((0,d.eq)(i.memoryFactTable.id,a.id)),a.alwaysLoad=f)};for(let e of n){if(null!=e.replaces){let[f]=await c.select({id:i.memoryFactTable.id,text:i.memoryFactTable.text,alwaysLoad:i.memoryFactTable.alwaysLoad}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,e.replaces),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0)));if(f){if(H(f.text)===H(e.text)){await r(f,e.alwaysLoad??f.alwaysLoad,e.text),q.set(H(f.text),f);continue}await c.update(i.memoryFactTable).set({isLatest:!1}).where((0,d.eq)(i.memoryFactTable.id,f.id)),q.delete(H(f.text)),f.alwaysLoad&&(l+=1);let[g]=await c.insert(i.memoryFactTable).values({noteId:a,text:e.text,source:b,alwaysLoad:m(e.alwaysLoad??f.alwaysLoad,e.text)}).returning({id:i.memoryFactTable.id,alwaysLoad:i.memoryFactTable.alwaysLoad});q.set(H(e.text),{...g,text:e.text});continue}}let f=q.get(H(e.text));if(f){null!=e.alwaysLoad&&await r(f,e.alwaysLoad,e.text);continue}let[g]=await c.insert(i.memoryFactTable).values({noteId:a,text:e.text,source:b,alwaysLoad:m(!0===e.alwaysLoad,e.text)}).returning({id:i.memoryFactTable.id,alwaysLoad:i.memoryFactTable.alwaysLoad});q.set(H(e.text),{...g,text:e.text})}await c.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,a))}}),F("memory",c));let{notes:l}=await y(g,{touch:!1});return G(),{notes:l,unnamed:e,notLoaded:j}}async function A(a,b,c){let e,g=await (e=()=>h.database.transaction(async e=>{if(c){let[a]=await e.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0)));if(Number(a?.count??0)>=k.ALWAYS_LOADED_MAX)return"full"}let[g]=await e.update(i.memoryFactTable).set({alwaysLoad:c}).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,b),(0,d.eq)(i.memoryFactTable.noteId,a),(0,d.eq)(i.memoryFactTable.isLatest,!0))).returning({id:i.memoryFactTable.id});return g?"ok":"missing"}),F("memory",e));return"ok"===g&&G(),g}async function B(){let[a,b]=await Promise.all([h.database.select({id:i.memoryNoteTable.id,path:i.memoryNoteTable.path,description:i.memoryNoteTable.description,aliases:i.memoryNoteTable.aliases,hits:i.memoryNoteTable.hits,lastReadAt:i.memoryNoteTable.lastReadAt,createdAt:i.memoryNoteTable.createdAt}).from(i.memoryNoteTable),h.database.select({noteId:i.memoryFactTable.noteId,count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.eq)(i.memoryFactTable.isLatest,!0)).groupBy(i.memoryFactTable.noteId)]),c=new Map(b.map(a=>[a.noteId,a.count]));return a.filter(a=>(0,k.isAlwaysListed)(a.path)||(c.get(a.id)??0)>0).sort((a,b)=>Number((0,k.isAlwaysListed)(b.path))-Number((0,k.isAlwaysListed)(a.path))||(0,k.recallScore)(b)-(0,k.recallScore)(a)).map(a=>({path:a.path,description:a.description,aliases:a.aliases,factCount:c.get(a.id)??0,lastSeenAt:a.lastReadAt??a.createdAt}))}async function C(a){let b,c=await (b=()=>h.database.transaction(async b=>{let c=await b.delete(i.memoryFactTable).where((0,d.eq)(i.memoryFactTable.id,a)).returning({noteId:i.memoryFactTable.noteId});if(0===c.length)return null;let e=c[0].noteId,[g]=await b.select({path:i.memoryNoteTable.path,ownedByUser:i.memoryNoteTable.ownedByUser}).from(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,e)),[h]=await b.select({count:f.sql`count(*)`}).from(i.memoryFactTable).where((0,d.and)((0,d.eq)(i.memoryFactTable.noteId,e),(0,d.eq)(i.memoryFactTable.isLatest,!0)));return h?.count!==0||!g||g.ownedByUser||(0,k.isAlwaysListed)(g.path)?(await b.update(i.memoryNoteTable).set({updatedAt:new Date}).where((0,d.eq)(i.memoryNoteTable.id,e)),{path:g?.path??"",noteGone:!1}):(await b.delete(i.memoryNoteTable).where((0,d.eq)(i.memoryNoteTable.id,e)),{path:g.path,noteGone:!0})}),F("memory",b));return c&&G(),c}async function D(a){let[b]=await h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.id,a),(0,d.eq)(i.memoryFactTable.isLatest,!0)));return b??null}async function E(){let a=await h.database.delete(i.memoryNoteTable).returning({id:i.memoryNoteTable.id});return await v(),a.length>0&&G(),a.length}a.s(["addFact",0,r,"createNote",0,n,"deleteAllNotes",0,E,"deleteNote",0,q,"findFactById",0,D,"findNoteByPath",0,o,"forgetFact",0,t,"forgetFactById",0,C,"listAlwaysLoaded",0,function(){return h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.alwaysLoad,!0),(0,d.eq)(i.memoryFactTable.isLatest,!0))).orderBy((0,e.asc)(i.memoryNoteTable.path),(0,e.asc)(i.memoryFactTable.id)).limit(k.ALWAYS_LOADED_MAX)},"listFactsWrittenBetween",0,function(a,b){return h.database.select({id:i.memoryFactTable.id,path:i.memoryNoteTable.path,text:i.memoryFactTable.text}).from(i.memoryFactTable).innerJoin(i.memoryNoteTable,(0,d.eq)(i.memoryFactTable.noteId,i.memoryNoteTable.id)).where((0,d.and)((0,d.eq)(i.memoryFactTable.isLatest,!0),(0,d.between)(i.memoryFactTable.createdAt,a,b))).orderBy((0,e.asc)(i.memoryFactTable.id))},"listNoteIndex",0,B,"readNotes",0,y,"resolveNotePath",0,x,"reviseFact",0,s,"sameFact",0,H,"setFactAlwaysLoad",0,A,"updateNote",0,p,"writeNotes",0,z]),c()}catch(a){c(a)}},!1),661210,a=>{"use strict";var b=a.i(53112),c=a.i(706210);let d=b.z.enum(["user","call","bot","tidy"]),e=b.z.object({id:b.z.number(),text:b.z.string(),alwaysLoad:b.z.boolean(),source:d.nullish(),createdAt:c.DateLikeSchema});b.z.object({id:b.z.number(),path:b.z.string(),description:b.z.string(),aliases:b.z.string().array().nullish(),ownedByUser:b.z.boolean(),hits:b.z.number(),lastReadAt:c.DateLikeSchema.nullable(),createdAt:c.DateLikeSchema,updatedAt:c.DateLikeSchema,factCount:b.z.number(),facts:e.array()});let f=[{path:"profile",of:"The user themselves — who they are, what they do, where, how they live"},{path:"preferences",of:"How they like things done, and said"},{path:"people/",of:"Who someone is to them, and what matters about them"},{path:"projects/",of:"Something they are building or running"},{path:"plans/",of:"A trip, an appointment, a purchase, a deadline"},{path:"topics/",of:"Anything else worth its own note"},{path:"inbox",of:"Nowhere obvious to go"}],g=f.filter(a=>!a.path.endsWith("/")).map(a=>a.path),h=f.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1)),i=RegExp(`^(?:${g.join("|")}|(?:${h.join("|")})/.+)$`),j=["profile","preferences"],k=b.z.object({op:b.z.enum(["add","replace","forget","carry","uncarry"]),path:b.z.string(),text:b.z.string()});b.z.object({id:b.z.string(),status:b.z.enum(["running","done","stopped","failed"]),provider:b.z.string(),model:b.z.string(),callIds:b.z.string().array(),messages:b.z.number(),changes:k.array(),error:b.z.string().nullable(),inputTokens:b.z.number(),outputTokens:b.z.number(),startedAt:c.DateLikeSchema,endedAt:c.DateLikeSchema.nullable()}),a.s(["ALWAYS_LOADED_MAX",0,14,"MANY_FACTS",0,100,"MEMORY_ALWAYS_LISTED",0,j,"MEMORY_INBOX",0,"inbox","MEMORY_PATHS",0,f,"MEMORY_TIDY_KEYS",0,{on:"MEMORY_TIDY",model:"MEMORY_TIDY_MODEL"},"isAlwaysListed",0,a=>j.includes(a),"isMemoryPath",0,a=>i.test(a),"isTidyOn",0,a=>a?.trim()==="on","recallScore",0,function(a){let b=(0,c.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-b.getTime())/864e5);return(a.hits+1)/(1+d)},"tidyTally",0,function(a){let b=b=>a.filter(a=>a.op===b).length,c=[[b("add"),"added"],[b("replace"),"revised"],[b("forget"),"dropped"],[b("carry"),"carried"],[b("uncarry"),"uncarried"]].filter(([a])=>a>0).map(([a,b])=>`${a} ${b}`);return c.length?c.join(", "):"nothing to change"}])},138100,a=>{"use strict";var b=a.i(750227),c=a.i(569572),d=a.i(176668),e=a.i(182248),f=a.i(762805);let g=[(0,b.join)(c.APP_DIR,c.PATHS.skills.default),(0,b.join)(c.DATA_DIR,c.PATHS.skills.custom)];async function h(a,b){let c=[],g=new Set;for(let h of b){let b;try{b=await a.readdir(h,{withFileTypes:!0})}catch{continue}for(let i of b){let b,j;if(!i.isDirectory())continue;let k=`${h}/${i.name}`,l=`${k}/SKILL.md`;try{b=await a.readFile(l,"utf-8")}catch{continue}try{j=(0,f.parseFrontmatter)(b)}catch(a){d.logger.warn(`skill ${k}: SKILL.md front matter did not load — ${(0,e.errorToString)(a)}`);continue}!g.has(j.name)&&(g.add(j.name),j.disabled||c.push({name:j.name,description:j.description,path:k}))}}return c}a.s(["loadSkills",0,a=>h(a,g)])},762805,951941,a=>{"use strict";var b=a.i(912714),c=a.i(750227),d=a.i(622650),e=a.i(569572),f=a.i(53112);let g=f.z.enum(["custom","default"]),h=f.z.string().trim().min(1,"Skill name is required").max(64,"Skill name is too long").regex(/^[a-z0-9][a-z0-9_-]*$/i,"Use letters, numbers, dashes and underscores only"),i=f.z.object({name:h,description:f.z.string().trim().min(1,"Description is required"),disabled:f.z.boolean().optional()}),j=i.extend({content:f.z.string().trim().min(1,"Content is required")}),k=f.z.object({fileName:f.z.string().trim().min(1),base64:f.z.string().min(1)});a.s(["SkillDraftSchema",0,j,"SkillFrontmatterSchema",0,i,"SkillNameSchema",0,h,"SkillSourceSchema",0,g,"SkillUploadSchema",0,k],951941);var l=a.i(293480);let m={default:(0,c.resolve)(e.APP_DIR,e.PATHS.skills.default),custom:(0,c.resolve)(e.DATA_DIR,e.PATHS.skills.custom)};function n(a,b){let d=m[a],e=(0,c.resolve)(d,b),f=(0,c.relative)(d,e);return(!f||f.startsWith("..")||f.includes(c.sep)||"."===f)&&(0,l.publicError)("Skill not found"),e}function o(a){let b=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/);if(!b)return{head:null,body:a.trim(),rest:a,fence:""};let c=a.slice(b[0].length);return{head:b[1]??null,body:c.trim(),rest:c,fence:b[0]}}function p(a){let b,{head:c}=o(a);c||(0,l.publicError)("SKILL.md needs a YAML block with name and description");try{b=(0,d.parse)(c)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}let e=i.safeParse(b);return e.success||(0,l.publicError)(`SKILL.md frontmatter: ${e.error.issues[0]?.message??"invalid"}`),e.data}let q=/^disabled[ \t]*:[^\n]*(\r?\n|$)/m;async function r(a,e,f){let g,h,i=(0,c.join)(n(a,e),"SKILL.md");try{g=await (0,b.readFile)(i,"utf-8")}catch{(0,l.publicError)("Skill not found")}let{head:j,rest:k,fence:m}=o(g);j||(0,l.publicError)("This SKILL.md has no frontmatter to write to");try{h=(0,d.parse)(j)}catch{(0,l.publicError)("SKILL.md frontmatter is not valid YAML")}(!h||"object"!=typeof h||Array.isArray(h))&&(0,l.publicError)("SKILL.md frontmatter is not a YAML mapping");let p=m.includes("\r\n")?"\r\n":"\n",r=f?q.test(j)?j.replace(q,"disabled: true$1"):`${j.replace(/\s+$/,"")}${p}disabled: true`:j.replace(q,"").replace(/\s+$/,"");await (0,b.writeFile)(i,`---${p}${r}${p}---${p}${k}`)}async function s(a,d){try{let e=await (0,b.readFile)((0,c.join)(m[a],d,"SKILL.md"),"utf-8");return{...p(e),source:a,dir:d}}catch{return null}}async function t(a,d){let e=n("custom",a),f=async a=>(0,b.stat)(a).then(()=>!0,()=>!1);await f(e)&&(0,l.publicError)(`A skill named "${a}" already exists`),await f(n("default",a))&&(0,l.publicError)(`"${a}" is a built-in skill — pick another name`),await (0,b.mkdir)(e,{recursive:!0});try{for(let[a,f]of d){let d=function(a,b){let d=(0,c.resolve)(a,b);return((0,c.relative)(a,d).startsWith("..")||(0,c.resolve)(d)!==d)&&(0,l.publicError)("File not found"),d}(e,a);await (0,b.mkdir)((0,c.resolve)(d,".."),{recursive:!0}),await (0,b.writeFile)(d,f)}}catch(a){throw await (0,b.rm)(e,{recursive:!0,force:!0}),a}let g=await s("custom",a);return g||(await (0,b.rm)(e,{recursive:!0,force:!0}),(0,l.publicError)("SKILL.md could not be read back")),g}async function u(a){let c=n("custom",a);await (0,b.stat)(c).then(()=>!0,()=>!1)||(0,l.publicError)("Skill not found"),await (0,b.rm)(c,{recursive:!0,force:!0})}a.s(["deleteCustomSkill",0,u,"parseFrontmatter",0,p,"renderSkillMarkdown",0,function(a,b){return`---
108
150
  ${(0,d.stringify)(a).trim()}
109
151
  ---
110
152
 
@@ -120,7 +162,7 @@ $text = $xml.GetElementsByTagName('text')
120
162
  [void]$text.Item(1).AppendChild($xml.CreateTextNode($env:NOTIFY_BODY))
121
163
  $id = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\WindowsPowerShell\\v1.0\\powershell.exe'
122
164
  [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($id).Show([Windows.UI.Notifications.ToastNotification]::new($xml))
123
- `,f={darwin:(a,b)=>["osascript",["-e",d,"--",a,b]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",e]],linux:(a,b)=>["notify-send",["--app-name",c.APP_NAME,"--",a,b]]};a.s(["desktopNotify",0,function(a,c){let d=a.slice(0,80),e=c.slice(0,200),g=f[process.platform]?.(d,e);if(!g)return;let[h,i]=g;(0,b.execFile)(h,i,{env:{...process.env,NOTIFY_TITLE:d,NOTIFY_BODY:e},timeout:1e4,windowsHide:!0},()=>{})}])},8412,a=>{"use strict";var b=a.i(182248);a.s(["createKeyedLock",0,function(){let a=new Map,c=new Map;return function(d,e){let f=a.get(d);f||(f=(0,b.PromiseChain)(),a.set(d,f)),c.set(d,(c.get(d)??0)+1);let g=()=>{let b=(c.get(d)??1)-1;b>0?c.set(d,b):(c.delete(d),a.delete(d))};return f(e).then(a=>(g(),a),a=>{throw g(),a})}}])},987674,a=>{"use strict";let b=/[\u1100-\u11ff\u3040-\u30ff\u3130-\u318f\u4e00-\u9fff\uac00-\ud7af]/;a.s(["estimateTokens",0,function(a){let c=0,d=0;for(let e of a)b.test(e)?c+=1:d+=1;return Math.ceil(c/1.3+d/4)}])},938537,a=>{"use strict";var b=a.i(652685),c=a.i(527990),d=a.i(53112),e=a.i(912735),f=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("error"),error:d.z.object({type:d.z.string(),message:d.z.string()})}))),g=(0,c.createJsonErrorResponseHandler)({errorSchema:f,errorToMessage:a=>a.error.message}),h=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({id:d.z.string(),type:d.z.literal("file"),filename:d.z.string(),mime_type:d.z.string(),size_bytes:d.z.number(),created_at:d.z.string(),downloadable:d.z.boolean().nullish()}))),i=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile({data:a,mediaType:b,filename:d,abortSignal:e,headers:f}){var i,j;let k=new Blob([(0,c.convertInlineFileDataToUint8Array)(a)],{type:b}),l=new FormData;null!=d?l.append("file",k,d):l.append("file",k);let{value:m}=await (0,c.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,c.combineHeaders)(this.config.headers(),{"anthropic-beta":"files-api-2025-04-14"},f),formData:l,failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(h),abortSignal:e,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:m.id},mediaType:null!=(i=m.mime_type)?i:b,filename:null!=(j=m.filename)?j:d,providerMetadata:{anthropic:{filename:m.filename,mimeType:m.mime_type,sizeBytes:m.size_bytes,createdAt:m.created_at,...null!=m.downloadable?{downloadable:m.downloadable}:{}}}}}},j=d.z.object({type:d.z.string(),category:d.z.string().nullish(),explanation:d.z.string().nullish(),recommended_model:d.z.string().nullish()}),k=d.z.union([d.z.object({type:d.z.literal("code_execution_20250825"),tool_id:d.z.string()}),d.z.object({type:d.z.literal("code_execution_20260120"),tool_id:d.z.string()}),d.z.object({type:d.z.literal("direct")})]),l=d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("web_search_result_location"),cited_text:d.z.string(),url:d.z.string(),title:d.z.string().nullable(),encrypted_index:d.z.string()}),d.z.object({type:d.z.literal("page_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_page_number:d.z.number(),end_page_number:d.z.number(),file_id:d.z.string().nullish()}),d.z.object({type:d.z.literal("char_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_char_index:d.z.number(),end_char_index:d.z.number(),file_id:d.z.string().nullish()}),d.z.object({type:d.z.literal("content_block_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_block_index:d.z.number(),end_block_index:d.z.number(),file_id:d.z.string().nullable()}),d.z.object({type:d.z.literal("search_result_location"),cited_text:d.z.string(),search_result_index:d.z.number(),source:d.z.string(),title:d.z.string().nullable(),start_block_index:d.z.number(),end_block_index:d.z.number()})]),m=d.z.union([d.z.string(),d.z.array(d.z.union([d.z.string(),d.z.object({type:d.z.literal("text"),text:d.z.string(),citations:d.z.array(d.z.json()).nullable().optional()})]))]),n=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("message"),id:d.z.string().nullish(),model:d.z.string().nullish(),content:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text"),text:d.z.string(),citations:d.z.array(l).nullable().optional()}),d.z.object({type:d.z.literal("thinking"),thinking:d.z.string(),signature:d.z.string()}),d.z.object({type:d.z.literal("redacted_thinking"),data:d.z.string()}),d.z.object({type:d.z.literal("compaction"),content:d.z.string()}),d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),caller:k.optional()}),d.z.object({type:d.z.literal("server_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).nullish(),caller:k.optional()}),d.z.object({type:d.z.literal("mcp_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),server_name:d.z.string()}),d.z.object({type:d.z.literal("mcp_tool_result"),tool_use_id:d.z.string(),is_error:d.z.boolean(),content:m}),d.z.object({type:d.z.literal("web_fetch_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),retrieved_at:d.z.string().nullable(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),media_type:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),media_type:d.z.literal("text/plain"),data:d.z.string()})])})}),d.z.object({type:d.z.literal("web_fetch_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("web_search_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.array(d.z.object({type:d.z.literal("web_search_result"),url:d.z.string(),title:d.z.string().nullable(),encrypted_content:d.z.string(),page_age:d.z.string().nullish()})),d.z.object({type:d.z.literal("web_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("bash_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})])}),d.z.object({type:d.z.literal("tool_search_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("tool_search_tool_search_result"),tool_references:d.z.array(d.z.object({type:d.z.literal("tool_reference"),tool_name:d.z.string()}))}),d.z.object({type:d.z.literal("tool_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("container_upload"),file_id:d.z.string()}),d.z.object({type:d.z.literal("advisor_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encrypted_content:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("fallback")})])),stop_reason:d.z.string().nullish(),stop_sequence:d.z.string().nullish(),stop_details:j.nullish(),usage:d.z.looseObject({input_tokens:d.z.number(),output_tokens:d.z.number(),output_tokens_details:d.z.object({thinking_tokens:d.z.number().nullish()}).nullish(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish(),iterations:d.z.array(d.z.object({type:d.z.union([d.z.literal("compaction"),d.z.literal("message"),d.z.literal("advisor_message"),d.z.literal("fallback_message")]),model:d.z.string().nullish(),input_tokens:d.z.number(),output_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()})).nullish()}),container:d.z.object({expires_at:d.z.string(),id:d.z.string(),skills:d.z.array(d.z.object({type:d.z.union([d.z.literal("anthropic"),d.z.literal("custom")]),skill_id:d.z.string(),version:d.z.string()})).nullish()}).nullish(),context_management:d.z.object({applied_edits:d.z.array(d.z.union([d.z.object({type:d.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),cleared_thinking_turns:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("compact_20260112")})]))}).nullish()}))),o=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("message_start"),message:d.z.object({id:d.z.string().nullish(),model:d.z.string().nullish(),role:d.z.string().nullish(),usage:d.z.looseObject({input_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()}),content:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),caller:k.optional()})])).nullish(),stop_reason:d.z.string().nullish(),container:d.z.object({expires_at:d.z.string(),id:d.z.string()}).nullish()})}),d.z.object({type:d.z.literal("content_block_start"),index:d.z.number(),content_block:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text"),text:d.z.string()}),d.z.object({type:d.z.literal("thinking"),thinking:d.z.string()}),d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).optional(),caller:k.optional()}),d.z.object({type:d.z.literal("redacted_thinking"),data:d.z.string()}),d.z.object({type:d.z.literal("compaction"),content:d.z.string().nullish()}),d.z.object({type:d.z.literal("server_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).nullish(),caller:k.optional()}),d.z.object({type:d.z.literal("mcp_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),server_name:d.z.string()}),d.z.object({type:d.z.literal("mcp_tool_result"),tool_use_id:d.z.string(),is_error:d.z.boolean(),content:m}),d.z.object({type:d.z.literal("web_fetch_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),retrieved_at:d.z.string().nullable(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),media_type:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),media_type:d.z.literal("text/plain"),data:d.z.string()})])})}),d.z.object({type:d.z.literal("web_fetch_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("web_search_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.array(d.z.object({type:d.z.literal("web_search_result"),url:d.z.string(),title:d.z.string().nullable(),encrypted_content:d.z.string(),page_age:d.z.string().nullish()})),d.z.object({type:d.z.literal("web_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("bash_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})])}),d.z.object({type:d.z.literal("tool_search_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("tool_search_tool_search_result"),tool_references:d.z.array(d.z.object({type:d.z.literal("tool_reference"),tool_name:d.z.string()}))}),d.z.object({type:d.z.literal("tool_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("advisor_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encrypted_content:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("fallback")})])}),d.z.object({type:d.z.literal("content_block_delta"),index:d.z.number(),delta:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("input_json_delta"),partial_json:d.z.string()}),d.z.object({type:d.z.literal("text_delta"),text:d.z.string()}),d.z.object({type:d.z.literal("thinking_delta"),thinking:d.z.string()}),d.z.object({type:d.z.literal("signature_delta"),signature:d.z.string()}),d.z.object({type:d.z.literal("compaction_delta"),content:d.z.string().nullish()}),d.z.object({type:d.z.literal("citations_delta"),citation:l})])}),d.z.object({type:d.z.literal("content_block_stop"),index:d.z.number()}),d.z.object({type:d.z.literal("error"),error:d.z.object({type:d.z.string(),message:d.z.string(),code:d.z.union([d.z.string(),d.z.number()]).nullish(),statusCode:d.z.number().nullish(),isRetryable:d.z.boolean().nullish(),data:d.z.unknown().nullish()})}),d.z.object({type:d.z.literal("message_delta"),delta:d.z.object({stop_reason:d.z.string().nullish(),stop_sequence:d.z.string().nullish(),stop_details:j.nullish(),container:d.z.object({expires_at:d.z.string(),id:d.z.string(),skills:d.z.array(d.z.object({type:d.z.union([d.z.literal("anthropic"),d.z.literal("custom")]),skill_id:d.z.string(),version:d.z.string()})).nullish()}).nullish()}),usage:d.z.looseObject({input_tokens:d.z.number().nullish(),output_tokens:d.z.number(),output_tokens_details:d.z.object({thinking_tokens:d.z.number().nullish()}).nullish(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish(),iterations:d.z.array(d.z.object({type:d.z.union([d.z.literal("compaction"),d.z.literal("message"),d.z.literal("advisor_message"),d.z.literal("fallback_message")]),model:d.z.string().nullish(),input_tokens:d.z.number(),output_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()})).nullish()}),context_management:d.z.object({applied_edits:d.z.array(d.z.union([d.z.object({type:d.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),cleared_thinking_turns:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("compact_20260112")})]))}).nullish()}),d.z.object({type:d.z.literal("message_stop")}),d.z.object({type:d.z.literal("ping")})]))),p=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({signature:d.z.string().optional(),redactedData:d.z.string().optional()}))),q=d.z.object({containerUpload:d.z.boolean().optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),title:d.z.string().optional(),context:d.z.string().optional()}),r=d.z.object({clearAt:d.z.literal("next_user_message").optional(),effort:d.z.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("tool_addition"),toolName:d.z.string()}),d.z.object({type:d.z.literal("tool_removal"),toolName:d.z.string()})])).optional()}),s=d.z.object({sendReasoning:d.z.boolean().optional(),structuredOutputMode:d.z.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:d.z.union([d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("adaptive"),display:d.z.enum(["omitted","summarized","updates"]).optional(),blockBinding:d.z.object({prefixMismatchBehavior:d.z.literal("drop_block")}).optional()}),d.z.object({type:d.z.literal("enabled"),budgetTokens:d.z.number().optional()}),d.z.object({type:d.z.literal("disabled")})]),d.z.object({type:d.z.never().optional(),blockBinding:d.z.object({prefixMismatchBehavior:d.z.literal("drop_block")})})]).optional(),disableParallelToolUse:d.z.boolean().optional(),cacheControl:d.z.object({type:d.z.literal("ephemeral"),ttl:d.z.union([d.z.literal("5m"),d.z.literal("1h")]).optional()}).optional(),metadata:d.z.object({userId:d.z.string().optional()}).optional(),mcpServers:d.z.array(d.z.object({type:d.z.literal("url"),name:d.z.string(),url:d.z.string(),authorizationToken:d.z.string().nullish(),toolConfiguration:d.z.object({enabled:d.z.boolean().nullish(),allowedTools:d.z.array(d.z.string()).nullish()}).nullish()})).optional(),container:d.z.object({id:d.z.string().optional(),skills:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("anthropic"),skillId:d.z.string(),version:d.z.string().optional()}),d.z.object({type:d.z.literal("custom"),providerReference:d.z.record(d.z.string(),d.z.string()),version:d.z.string().optional()})])).optional()}).optional(),toolStreaming:d.z.boolean().optional(),effort:d.z.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:d.z.object({type:d.z.literal("tokens"),total:d.z.number().int().min(2e4),remaining:d.z.number().int().min(0).optional()}).optional(),speed:d.z.enum(["fast","standard"]).optional(),serviceTier:d.z.enum(["auto","standard_only"]).optional(),inferenceGeo:d.z.enum(["us","global"]).optional(),fallbacks:d.z.union([d.z.literal("default"),d.z.array(d.z.object({model:d.z.string(),max_tokens:d.z.number().int().optional(),thinking:d.z.record(d.z.string(),d.z.unknown()).optional(),output_config:d.z.record(d.z.string(),d.z.unknown()).optional(),speed:d.z.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:d.z.array(d.z.string()).optional(),contextManagement:d.z.object({edits:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("clear_tool_uses_20250919"),trigger:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}),d.z.object({type:d.z.literal("tool_uses"),value:d.z.number()})]).optional(),keep:d.z.object({type:d.z.literal("tool_uses"),value:d.z.number()}).optional(),clearAtLeast:d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}).optional(),clearToolInputs:d.z.boolean().optional(),excludeTools:d.z.array(d.z.string()).optional()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),keep:d.z.union([d.z.literal("all"),d.z.object({type:d.z.literal("thinking_turns"),value:d.z.number()})]).optional()}),d.z.object({type:d.z.literal("compact_20260112"),trigger:d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}).optional(),pauseAfterCompaction:d.z.boolean().optional(),instructions:d.z.string().optional()})]))}).optional()}),t=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(a,b){var c;let d,e=null!=(c=null==(d=null==a?void 0:a.anthropic)?void 0:d.cacheControl)?c:null==d?void 0:d.cache_control;if(e)return b.canCache?(this.breakpointCount++,this.breakpointCount>4)?void this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum 4 cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`}):e:void this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${b.type}. It will be ignored.`})}getWarnings(){return this.warnings}},u=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({model:d.z.string(),maxUses:d.z.number().optional(),maxTokens:d.z.number().int().min(1024).optional(),caching:d.z.object({type:d.z.literal("ephemeral"),ttl:d.z.union([d.z.literal("5m"),d.z.literal("1h")])}).optional()}))),v=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stopReason:d.z.string().optional()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encryptedContent:d.z.string(),stopReason:d.z.string().optional()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),errorCode:d.z.string()})]))),w=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({}).strict())),x=(0,c.createProviderExecutedToolFactory)({id:"anthropic.advisor_20260301",inputSchema:w,outputSchema:v,supportsDeferredResults:!0}),y=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxCharacters:d.z.number().optional()}))),z=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.enum(["view","create","str_replace","insert"]),path:d.z.string(),file_text:d.z.string().optional(),insert_line:d.z.number().int().optional(),new_str:d.z.string().optional(),insert_text:d.z.string().optional(),old_str:d.z.string().optional(),view_range:d.z.array(d.z.number().int()).optional()}))),A=(0,c.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250728",inputSchema:z}),B=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),userLocation:d.z.object({type:d.z.literal("approximate"),city:d.z.string().optional(),region:d.z.string().optional(),country:d.z.string().optional(),timezone:d.z.string().optional()}).optional()}))),C=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({url:d.z.string(),title:d.z.string().nullable(),pageAge:d.z.string().nullable(),encryptedContent:d.z.string(),type:d.z.literal("web_search_result")})))),D=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({query:d.z.string()}))),E=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260209",inputSchema:D,outputSchema:C,supportsDeferredResults:!0}),F=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),userLocation:d.z.object({type:d.z.literal("approximate"),city:d.z.string().optional(),region:d.z.string().optional(),country:d.z.string().optional(),timezone:d.z.string().optional()}).optional()}))),G=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({url:d.z.string(),title:d.z.string().nullable(),pageAge:d.z.string().nullable(),encryptedContent:d.z.string(),type:d.z.literal("web_search_result")})))),H=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({query:d.z.string()}))),I=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_search_20250305",inputSchema:H,outputSchema:G,supportsDeferredResults:!0}),J=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),maxContentTokens:d.z.number().optional()}))),K=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),mediaType:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),mediaType:d.z.literal("text/plain"),data:d.z.string()})])}),retrievedAt:d.z.string().nullable()}))),L=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({url:d.z.string()}))),M=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260209",inputSchema:L,outputSchema:K,supportsDeferredResults:!0}),N=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),maxContentTokens:d.z.number().optional()}))),O=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),mediaType:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),mediaType:d.z.literal("text/plain"),data:d.z.string()})])}),retrievedAt:d.z.string().nullable()}))),P=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({url:d.z.string()}))),Q=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20250910",inputSchema:P,outputSchema:O,supportsDeferredResults:!0});async function R({tools:a,toolChoice:d,disableParallelToolUse:e,cacheControlValidator:f,supportsStructuredOutput:g,supportsStrictTools:h,defaultEagerInputStreaming:i=!1}){var j,k;a=(null==a?void 0:a.length)?a:void 0;let l=[],m=new Set,n=f||new t;if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:l,betas:m};let o=[];for(let b of a)switch(b.type){case"function":{let a=n.getCacheControl(b.providerOptions,{type:"tool definition",canCache:!0}),c=null==(j=b.providerOptions)?void 0:j.anthropic,d=null!=(k=null==c?void 0:c.eagerInputStreaming)?k:i,e=null==c?void 0:c.deferLoading,f=null==c?void 0:c.allowedCallers;h||null==b.strict||l.push({type:"unsupported",feature:"strict",details:`Tool '${b.name}' has strict: ${b.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`}),o.push({name:b.name,description:b.description,input_schema:b.inputSchema,cache_control:a,...d?{eager_input_streaming:!0}:{},...!0===h&&null!=b.strict?{strict:b.strict}:{},...null!=e?{defer_loading:e}:{},...null!=f?{allowed_callers:f}:{},...null!=b.inputExamples?{input_examples:b.inputExamples.map(a=>a.input)}:{}}),!0===g&&m.add("structured-outputs-2025-11-13"),(null!=b.inputExamples||null!=f)&&m.add("advanced-tool-use-2025-11-20");break}case"provider":switch(b.id){case"anthropic.code_execution_20250522":m.add("code-execution-2025-05-22"),o.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":m.add("code-execution-2025-08-25"),o.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":o.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":m.add("computer-use-2025-01-24"),o.push({name:"computer",type:"computer_20250124",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":m.add("computer-use-2025-11-24"),o.push({name:"computer",type:"computer_20251124",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,enable_zoom:b.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_20241022":m.add("computer-use-2024-10-22"),o.push({name:"computer",type:"computer_20241022",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":m.add("computer-use-2025-01-24"),o.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":m.add("computer-use-2024-10-22"),o.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":m.add("computer-use-2025-01-24"),o.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let a=await (0,c.validateTypes)({value:b.args,schema:y});o.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:a.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":m.add("computer-use-2025-01-24"),o.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":m.add("computer-use-2024-10-22"),o.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":m.add("context-management-2025-06-27"),o.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{m.add("web-fetch-2025-09-10");let a=await (0,c.validateTypes)({value:b.args,schema:N});o.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,citations:a.citations,max_content_tokens:a.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{m.add("code-execution-web-tools-2026-02-09");let a=await (0,c.validateTypes)({value:b.args,schema:J});o.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,citations:a.citations,max_content_tokens:a.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let a=await (0,c.validateTypes)({value:b.args,schema:F});o.push({type:"web_search_20250305",name:"web_search",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,user_location:a.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{m.add("code-execution-web-tools-2026-02-09");let a=await (0,c.validateTypes)({value:b.args,schema:B});o.push({type:"web_search_20260209",name:"web_search",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,user_location:a.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":o.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":o.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{m.add("advisor-tool-2026-03-01");let a=await (0,c.validateTypes)({value:b.args,schema:u});o.push({type:"advisor_20260301",name:"advisor",model:a.model,...void 0!==a.maxUses&&{max_uses:a.maxUses},...void 0!==a.maxTokens&&{max_tokens:a.maxTokens},...void 0!==a.caching&&{caching:a.caching}});break}default:l.push({type:"unsupported",feature:`provider-defined tool ${b.id}`})}break;default:l.push({type:"unsupported",feature:`tool ${b}`})}if(null==d)return{tools:o,toolChoice:e?{type:"auto",disable_parallel_tool_use:e}:void 0,toolWarnings:l,betas:m};let p=d.type;switch(p){case"auto":return{tools:o,toolChoice:{type:"auto",disable_parallel_tool_use:e},toolWarnings:l,betas:m};case"required":return{tools:o,toolChoice:{type:"any",disable_parallel_tool_use:e},toolWarnings:l,betas:m};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:l,betas:m};case"tool":return{tools:o,toolChoice:{type:"tool",name:d.toolName,disable_parallel_tool_use:e},toolWarnings:l,betas:m};default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${p}`})}}function S({usage:a,rawUsage:b}){var c,d,e,f,g;let h,i,j=null!=(c=a.cache_creation_input_tokens)?c:0,k=null!=(d=a.cache_read_input_tokens)?d:0,l=null!=(f=null==(e=a.output_tokens_details)?void 0:e.thinking_tokens)?f:void 0,m=null==(g=a.iterations)?void 0:g.some(a=>"fallback_message"===a.type);if(a.iterations&&a.iterations.length>0&&!m){let b=a.iterations.filter(a=>"compaction"===a.type||"message"===a.type);if(b.length>0){let a=b.reduce((a,b)=>({input:a.input+b.input_tokens,output:a.output+b.output_tokens}),{input:0,output:0});h=a.input,i=a.output}else h=a.input_tokens,i=a.output_tokens}else h=a.input_tokens,i=a.output_tokens;return{inputTokens:{total:h+j+k,noCache:h,cacheRead:k,cacheWrite:j},outputTokens:{total:i,text:null==l?void 0:i-l,reasoning:l},raw:null!=b?b:a}}var T=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}))),U=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({code:d.z.string()}))),V=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250522",inputSchema:U,outputSchema:T}),W=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})]))),X=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("programmatic-tool-call"),code:d.z.string()}),d.z.object({type:d.z.literal("bash_code_execution"),command:d.z.string()}),d.z.discriminatedUnion("command",[d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("view"),path:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("create"),path:d.z.string(),file_text:d.z.string().nullish()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("str_replace"),path:d.z.string(),old_str:d.z.string(),new_str:d.z.string()})])]))),Y=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250825",inputSchema:X,outputSchema:W,supportsDeferredResults:!0}),Z=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})]))),$=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("programmatic-tool-call"),code:d.z.string()}),d.z.object({type:d.z.literal("bash_code_execution"),command:d.z.string()}),d.z.discriminatedUnion("command",[d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("view"),path:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("create"),path:d.z.string(),file_text:d.z.string().nullish()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("str_replace"),path:d.z.string(),old_str:d.z.string(),new_str:d.z.string()})])]))),_=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20260120",inputSchema:$,outputSchema:Z,supportsDeferredResults:!0}),aa=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({type:d.z.literal("tool_reference"),toolName:d.z.string()})))),ab=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({pattern:d.z.string(),limit:d.z.number().optional()}))),ac=(0,c.createProviderExecutedToolFactory)({id:"anthropic.tool_search_regex_20251119",inputSchema:ab,outputSchema:aa,supportsDeferredResults:!0});function ad(a){try{if("string"==typeof a)return(0,c.secureJsonParse)(a);if("object"==typeof a&&null!==a)return a}catch(c){let b=null==a?void 0:a.errorCode;return{errorCode:"string"==typeof b?b:"unavailable"}}return{}}async function ae({prompt:a,sendReasoning:d,warnings:e,cacheControlValidator:f,toolNameMapping:g}){var h,i,j,k,l,m,n,o,s,u,w,x,y,z,A,B,C,D,E,F,H,I,J,K;let L,M=new Set,N=function(a){let b,c=[];for(let d of a){let{role:a}=d;switch(a){case"system":(null==b?void 0:b.type)!=="system"&&(b={type:"system",messages:[]},c.push(b)),b.messages.push(d);break;case"assistant":(null==b?void 0:b.type)!=="assistant"&&(b={type:"assistant",messages:[]},c.push(b)),b.messages.push(d);break;case"user":case"tool":(null==b?void 0:b.type)!=="user"&&(b={type:"user",messages:[]},c.push(b)),b.messages.push(d);break;default:throw Error(`Unsupported role: ${a}`)}}return c}(a),P=f||new t,Q=[];async function R(a){var b,d;let e=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return null!=(d=null==(b=null==e?void 0:e.citations)?void 0:b.enabled)&&d}async function S(a){var b;let d=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return null!=(b=null==d?void 0:d.containerUpload)&&b}async function U(a){let b=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return{title:null==b?void 0:b.title,context:null==b?void 0:b.context}}for(let a=0;a<N.length;a++){let f=N[a],q=a===N.length-1,t=f.type;switch(t){case"system":{let b=[];for(let{content:a,providerOptions:d}of f.messages){let e=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:d,schema:r}),f=null!=(h=null==e?void 0:e.toolChanges)?h:[],i=[];for(let b of((""!==a||0===f.length&&(null==e?void 0:e.clearAt)==null&&(null==e?void 0:e.effort)==null)&&i.push({type:"text",text:a,cache_control:P.getCacheControl(d,{type:"system message",canCache:!0})}),f))i.push({type:b.type,tool:{type:"tool_reference",name:g.toProviderToolName(b.toolName)}});b.push({content:i,clearAt:null==e?void 0:e.clearAt,effort:null==e?void 0:e.effort,toolChangeCount:f.length})}let d=b.reduce((a,b)=>a+b.toolChangeCount,0),i=b.some(a=>null!=a.clearAt||null!=a.effort);if(0!==a&&(null!=L||0!==d||i))for(let a of(M.add("mid-conversation-system-2026-04-07"),b))Q.push({role:"system",content:a.content,...null!=a.clearAt&&{clear_at:a.clearAt},...null!=a.effort&&{output_config:{effort:a.effort}}}),a.toolChangeCount>0&&M.add("mid-conversation-tool-changes-2026-07-01"),null!=a.clearAt&&M.add("mid-conversation-system-clear-at-2026-08-21"),null!=a.effort&&M.add("mid-conversation-effort-2026-08-01");else{for(let a of(d>0&&e.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."}),b))(null!=a.clearAt||null!=a.effort)&&e.push({type:"other",message:"clearAt and effort on the initial system message are not supported by Anthropic. These options have been ignored."});L=b.flatMap(a=>a.content.filter(a=>"text"===a.type))}break}case"user":{let a=[];for(let d of f.messages){let{role:f,content:g}=d;switch(f){case"user":for(let e=0;e<g.length;e++){let f=g[e],h=e===g.length-1,m=null!=(i=P.getCacheControl(f.providerOptions,{type:"user message part",canCache:!0}))?i:h?P.getCacheControl(d.providerOptions,{type:"user message",canCache:!0}):void 0;switch(f.type){case"text":a.push({type:"text",text:f.text,cache_control:m});break;case"file":switch(f.data.type){case"reference":{let b=(0,c.resolveProviderReference)({reference:f.data.reference,provider:"anthropic"});M.add("files-api-2025-04-14"),await S(f.providerOptions)?a.push({type:"container_upload",file_id:b}):"image"===(0,c.getTopLevelMediaType)(f.mediaType)?a.push({type:"image",source:{type:"file",file_id:b},cache_control:m}):a.push({type:"document",source:{type:"file",file_id:b},cache_control:m});break}case"text":{let b=await R(f.providerOptions),c=await U(f.providerOptions);a.push({type:"document",source:{type:"text",media_type:"text/plain",data:f.data.text},title:null!=(j=c.title)?j:f.filename,...c.context&&{context:c.context},...b&&{citations:{enabled:!0}},cache_control:m});break}case"url":case"data":{let d=(0,c.getTopLevelMediaType)(f.mediaType);if("image"===d)a.push({type:"image",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"base64",media_type:(0,c.resolveFullMediaType)({part:f}),data:(0,c.convertToBase64)(f.data.data)},cache_control:m});else if("application"===d&&("url"===f.data.type?"application/pdf"===f.mediaType:"application/pdf"===(0,c.resolveFullMediaType)({part:f}))){M.add("pdfs-2024-09-25");let b=await R(f.providerOptions),d=await U(f.providerOptions);a.push({type:"document",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:(0,c.convertToBase64)(f.data.data)},title:null!=(k=d.title)?k:f.filename,...d.context&&{context:d.context},...b&&{citations:{enabled:!0}},cache_control:m})}else if("text/plain"===f.mediaType){let b=await R(f.providerOptions),d=await U(f.providerOptions);a.push({type:"document",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"text",media_type:"text/plain",data:"string"==typeof(J=f.data.data)?new TextDecoder().decode((0,c.convertBase64ToUint8Array)(J)):new TextDecoder().decode(J)},title:null!=(l=d.title)?l:f.filename,...d.context&&{context:d.context},...b&&{citations:{enabled:!0}},cache_control:m})}else throw new b.UnsupportedFunctionalityError({functionality:`media type: ${f.mediaType}`})}}}}break;case"tool":for(let b=0;b<g.length;b++){let f,h=g[b];if("tool-approval-response"===h.type)continue;let i=h.output,j="providerOptions"in i?i.providerOptions:"content"===i.type?null==(m=i.value.find(a=>null!=a.providerOptions))?void 0:m.providerOptions:void 0,k=b===g.length-1,l=null!=(o=null!=(n=P.getCacheControl(h.providerOptions,{type:"tool result part",canCache:!0}))?n:P.getCacheControl(j,{type:"tool result output",canCache:!0}))?o:k?P.getCacheControl(d.providerOptions,{type:"tool result message",canCache:!0}):void 0;switch(i.type){case"content":f=i.value.map(a=>{var b;switch(a.type){case"text":return{type:"text",text:a.text};case"file":{let b=(0,c.getTopLevelMediaType)(a.mediaType);if("url"===a.data.type){if("image"===b)return{type:"image",source:{type:"url",url:a.data.url.toString()}};return{type:"document",source:{type:"url",url:a.data.url.toString()}}}if("data"===a.data.type){if("image"===b)return{type:"image",source:{type:"base64",media_type:(0,c.resolveFullMediaType)({part:a}),data:(0,c.convertToBase64)(a.data.data)}};if("application/pdf"===(0,c.resolveFullMediaType)({part:a}))return M.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:(0,c.convertToBase64)(a.data.data)}};e.push({type:"other",message:`unsupported tool content part type: ${a.type} with media type: ${a.mediaType}`});return}e.push({type:"other",message:`unsupported tool content part type: ${a.type} with data type: ${a.data.type}`});return}case"custom":{let c=null==(b=a.providerOptions)?void 0:b.anthropic;if((null==c?void 0:c.type)==="tool-reference")return{type:"tool_reference",tool_name:c.toolName};e.push({type:"other",message:"unsupported custom tool content part"});return}default:return void e.push({type:"other",message:`unsupported tool content part type: ${a.type}`})}}).filter(c.isNonNullable);break;case"text":case"error-text":f=i.value;break;case"execution-denied":f=null!=(s=i.reason)?s:"Tool call execution denied.";break;default:f=JSON.stringify(i.value)}a.push({type:"tool_result",tool_use_id:h.toolCallId,content:f,is_error:"error-text"===i.type||"error-json"===i.type||void 0,cache_control:l})}break;default:throw Error(`Unsupported role: ${f}`)}}Q.push({role:"user",content:a});break}case"assistant":{let a=[],b=new Set;for(let h=0;h<f.messages.length;h++){let i=f.messages[h],j=h===f.messages.length-1,{content:k}=i;for(let f=0;f<k.length;f++){let h=k[f],l=f===k.length-1,m=null!=(u=P.getCacheControl(h.providerOptions,{type:"assistant message part",canCache:!0}))?u:l?P.getCacheControl(i.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(h.type){case"text":{let b=null==(w=h.providerOptions)?void 0:w.anthropic;(null==b?void 0:b.type)==="compaction"?a.push({type:"compaction",content:h.text,cache_control:m}):a.push({type:"text",text:q&&j&&l?h.text.trim():h.text,...(null==b?void 0:b.citations)!=null&&{citations:b.citations},cache_control:m});break}case"reasoning":if(d){let b=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:h.providerOptions,schema:p});null!=b?null!=b.signature?(P.getCacheControl(h.providerOptions,{type:"thinking block",canCache:!1}),a.push({type:"thinking",thinking:h.text,signature:b.signature})):null!=b.redactedData?(P.getCacheControl(h.providerOptions,{type:"redacted thinking block",canCache:!1}),a.push({type:"redacted_thinking",data:b.redactedData})):e.push({type:"other",message:"unsupported reasoning metadata"}):e.push({type:"other",message:"unsupported reasoning metadata"})}else e.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"tool-call":{let c=af(h.providerOptions);if(h.providerExecuted){let d=g.toProviderToolName(h.toolName);if((null==(y=null==(x=h.providerOptions)?void 0:x.anthropic)?void 0:y.type)==="mcp-tool-use"){b.add(h.toolCallId);let c=null==(A=null==(z=h.providerOptions)?void 0:z.anthropic)?void 0:A.serverName;if(null==c||"string"!=typeof c){e.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}a.push({type:"mcp_tool_use",id:h.toolCallId,name:h.toolName,input:h.input,server_name:c,cache_control:m})}else if("code_execution"===d&&null!=h.input&&"object"==typeof h.input&&"type"in h.input&&"string"==typeof h.input.type&&("bash_code_execution"===h.input.type||"text_editor_code_execution"===h.input.type)){let{type:b,...d}=h.input;a.push({type:"server_tool_use",id:h.toolCallId,name:b,input:d,...c&&{caller:c},cache_control:m})}else if("code_execution"===d&&null!=h.input&&"object"==typeof h.input&&"type"in h.input&&"programmatic-tool-call"===h.input.type){let{type:b,...d}=h.input;a.push({type:"server_tool_use",id:h.toolCallId,name:"code_execution",input:d,...c&&{caller:c},cache_control:m})}else"code_execution"===d||"web_fetch"===d||"web_search"===d||"tool_search_tool_regex"===d||"tool_search_tool_bm25"===d?a.push({type:"server_tool_use",id:h.toolCallId,name:d,input:h.input,...c&&{caller:c},cache_control:m}):"advisor"===d?a.push({type:"server_tool_use",id:h.toolCallId,name:"advisor",input:{},...c&&{caller:c},cache_control:m}):e.push({type:"other",message:`provider executed tool call for tool ${h.toolName} is not supported`});break}a.push({type:"tool_use",id:h.toolCallId,name:h.toolName,input:"object"!=typeof(K=h.input)||null===K||Array.isArray(K)?{rawInvalidInput:K}:K,...c&&{caller:c},cache_control:m});break}case"tool-result":{let d=g.toProviderToolName(h.toolName),f=af(h.providerOptions);if(b.has(h.toolCallId)){let b=h.output;if("json"!==b.type&&"error-json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}a.push({type:"mcp_tool_result",tool_use_id:h.toolCallId,is_error:"error-json"===b.type,content:b.value,cache_control:m})}else if("code_execution"===d){let b=h.output;if("error-text"===b.type||"error-json"===b.type){let d={};try{"string"==typeof b.value?d=(0,c.secureJsonParse)(b.value):"object"==typeof b.value&&null!==b.value&&(d=b.value)}catch(a){}"code_execution_tool_result_error"===d.type?a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:"code_execution_tool_result_error",error_code:null!=(B=d.errorCode)?B:"unknown"},cache_control:m}):a.push({type:"bash_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:{type:"bash_code_execution_tool_result_error",error_code:null!=(C=d.errorCode)?C:"unknown"}});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}if(null==b.value||"object"!=typeof b.value||!("type"in b.value)||"string"!=typeof b.value.type){e.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${h.toolName}`});break}if("code_execution_result"===b.value.type){let d=await (0,c.validateTypes)({value:b.value,schema:T});a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(D=d.content)?D:[]},cache_control:m})}else if("encrypted_code_execution_result"===b.value.type){let d=await (0,c.validateTypes)({value:b.value,schema:Z});"encrypted_code_execution_result"===d.type&&a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,encrypted_stdout:d.encrypted_stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(E=d.content)?E:[]},cache_control:m})}else{let d=await (0,c.validateTypes)({value:b.value,schema:W});"code_execution_result"===d.type?a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(F=d.content)?F:[]},cache_control:m}):"bash_code_execution_result"===d.type||"bash_code_execution_tool_result_error"===d.type?a.push({type:"bash_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:"bash_code_execution_result"===d.type?{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:d.content}:d}):a.push({type:"text_editor_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:d})}break}if("web_fetch"===d){let b=h.output;if("error-json"===b.type){a.push({type:"web_fetch_tool_result",tool_use_id:h.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:null!=(H=ad(b.value).errorCode)?H:"unavailable"},...f&&{caller:f},cache_control:m});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:O});a.push({type:"web_fetch_tool_result",tool_use_id:h.toolCallId,content:{type:"web_fetch_result",url:d.url,retrieved_at:d.retrievedAt,content:{type:"document",title:d.content.title,citations:d.content.citations,source:{type:d.content.source.type,media_type:d.content.source.mediaType,data:d.content.source.data}}},...f&&{caller:f},cache_control:m});break}if("web_search"===d){let b=h.output;if("error-json"===b.type){a.push({type:"web_search_tool_result",tool_use_id:h.toolCallId,content:{type:"web_search_tool_result_error",error_code:null!=(I=ad(b.value).errorCode)?I:"unavailable"},...f&&{caller:f},cache_control:m});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:G});a.push({type:"web_search_tool_result",tool_use_id:h.toolCallId,content:d.map(a=>({url:a.url,title:a.title,page_age:a.pageAge,encrypted_content:a.encryptedContent,type:a.type})),...f&&{caller:f},cache_control:m});break}if("tool_search_tool_regex"===d||"tool_search_tool_bm25"===d){let b=h.output;if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=(await (0,c.validateTypes)({value:b.value,schema:aa})).map(a=>({type:"tool_reference",tool_name:a.toolName}));a.push({type:"tool_search_tool_result",tool_use_id:h.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:d},cache_control:m});break}if("advisor"===d){let b=h.output;if("json"!==b.type&&"error-json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:v});"advisor_result"===d.type?a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_result",text:d.text,...void 0!==d.stopReason&&{stop_reason:d.stopReason}},cache_control:m}):"advisor_redacted_result"===d.type?a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:d.encryptedContent,...void 0!==d.stopReason&&{stop_reason:d.stopReason}},cache_control:m}):a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_tool_result_error",error_code:d.errorCode},cache_control:m});break}e.push({type:"other",message:`provider executed tool result for tool ${h.toolName} is not supported`})}}}}Q.push({role:"assistant",content:function(a){let b=[],c=[];function d(){b.push(...c.filter(a=>"tool_use"!==a.type),...c.filter(a=>"tool_use"===a.type)),c=[]}for(let e of a)"thinking"===e.type||"redacted_thinking"===e.type?(d(),b.push(e)):c.push(e);return d(),b}(a)});break}default:throw Error(`content type: ${t}`)}}return{prompt:{system:L,messages:Q},betas:M}}function af(a){var b;let c=null==(b=null==a?void 0:a.anthropic)?void 0:b.caller;return((null==c?void 0:c.type)==="code_execution_20250825"||(null==c?void 0:c.type)==="code_execution_20260120")&&c.toolId?{type:c.type,tool_id:c.toolId}:(null==c?void 0:c.type)==="direct"?{type:"direct"}:void 0}function ag({finishReason:a,isJsonResponseFromTool:b}){switch(a){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return b?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";default:return"other"}}var ah=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),ai=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function aj(a){return"boolean"!=typeof a&&(0,c.isRecord)(a)?ak(a):a}function ak(a){var b;let c,d={};if(null!=a.$ref)return{$ref:a.$ref};null!=a.$schema&&(d.$schema=a.$schema),null!=a.$id&&(d.$id=a.$id),null!=a.title&&(d.title=a.title),null!=a.description&&(d.description=a.description),void 0!==a.default&&(d.default=a.default),void 0!==a.const&&(d.const=a.const),null!=a.enum&&(d.enum=a.enum),null!=a.type&&(d.type=a.type),null!=a.anyOf?d.anyOf=a.anyOf.map(aj):null!=a.oneOf&&(d.anyOf=a.oneOf.map(aj)),null!=a.allOf&&(d.allOf=a.allOf.map(aj)),null!=a.definitions&&(d.definitions=Object.fromEntries(Object.entries(a.definitions).map(([a,b])=>[a,aj(b)]))),null!=a.$defs&&(d.$defs=Object.fromEntries(Object.entries(a.$defs).map(([a,b])=>[a,aj(b)]))),("object"===a.type||null!=a.properties)&&(null!=a.properties&&(d.properties=Object.fromEntries(Object.entries(a.properties).map(([a,b])=>[a,aj(b)]))),d.additionalProperties=!1,null!=a.required&&(d.required=a.required)),null!=a.items&&(d.items=Array.isArray(a.items)?a.items.map(aj):aj(a.items)),"string"==typeof a.format&&ah.has(a.format)&&(d.format=a.format);let e=(b=a,c=ai.flatMap(a=>{var c;let d=b[a];return null==d||!1===d?[]:`${a.replace(/[A-Z]/g,a=>` ${a.toLowerCase()}`)}: ${"string"==typeof(c=d)?c:JSON.stringify(c)}`}),"string"!=typeof b.format||ah.has(b.format)||c.push(`format: ${b.format}`),0===c.length?void 0:`${c.join("; ")}.`);return null!=e&&(d.description=null==d.description?e:`${d.description}
165
+ `,f={darwin:(a,b)=>["osascript",["-e",d,"--",a,b]],win32:()=>["powershell.exe",["-NoProfile","-NonInteractive","-Command",e]],linux:(a,b)=>["notify-send",["--app-name",c.APP_NAME,"--",a,b]]};a.s(["desktopNotify",0,function(a,c){let d=a.slice(0,80),e=c.slice(0,200),g=f[process.platform]?.(d,e);if(!g)return;let[h,i]=g;(0,b.execFile)(h,i,{env:{...process.env,NOTIFY_TITLE:d,NOTIFY_BODY:e},timeout:1e4,windowsHide:!0},()=>{})}])},8412,a=>{"use strict";var b=a.i(182248);a.s(["createKeyedLock",0,function(){let a=new Map,c=new Map;return function(d,e){let f=a.get(d);f||(f=(0,b.PromiseChain)(),a.set(d,f)),c.set(d,(c.get(d)??0)+1);let g=()=>{let b=(c.get(d)??1)-1;b>0?c.set(d,b):(c.delete(d),a.delete(d))};return f(e).then(a=>(g(),a),a=>{throw g(),a})}}])},987674,a=>{"use strict";let b=/[\u1100-\u11ff\u3040-\u30ff\u3130-\u318f\u4e00-\u9fff\uac00-\ud7af]/;function c(a){let c=0,d=0;for(let e of a)b.test(e)?c+=1:d+=1;return Math.ceil(c/1.3+d/4)}a.s(["estimateTokens",0,c,"sectionTokens",0,function(a){return a.split(/\n(?=## )/).map(a=>({name:a.startsWith("## ")?a.slice(3,a.indexOf("\n")):"identity",tokens:c(a)})).sort((a,b)=>b.tokens-a.tokens)}])},938537,a=>{"use strict";var b=a.i(652685),c=a.i(527990),d=a.i(53112),e=a.i(912735),f=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("error"),error:d.z.object({type:d.z.string(),message:d.z.string()})}))),g=(0,c.createJsonErrorResponseHandler)({errorSchema:f,errorToMessage:a=>a.error.message}),h=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({id:d.z.string(),type:d.z.literal("file"),filename:d.z.string(),mime_type:d.z.string(),size_bytes:d.z.number(),created_at:d.z.string(),downloadable:d.z.boolean().nullish()}))),i=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile({data:a,mediaType:b,filename:d,abortSignal:e,headers:f}){var i,j;let k=new Blob([(0,c.convertInlineFileDataToUint8Array)(a)],{type:b}),l=new FormData;null!=d?l.append("file",k,d):l.append("file",k);let{value:m}=await (0,c.postFormDataToApi)({url:`${this.config.baseURL}/files`,headers:(0,c.combineHeaders)(this.config.headers(),{"anthropic-beta":"files-api-2025-04-14"},f),formData:l,failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(h),abortSignal:e,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:m.id},mediaType:null!=(i=m.mime_type)?i:b,filename:null!=(j=m.filename)?j:d,providerMetadata:{anthropic:{filename:m.filename,mimeType:m.mime_type,sizeBytes:m.size_bytes,createdAt:m.created_at,...null!=m.downloadable?{downloadable:m.downloadable}:{}}}}}},j=d.z.object({type:d.z.string(),category:d.z.string().nullish(),explanation:d.z.string().nullish(),recommended_model:d.z.string().nullish()}),k=d.z.union([d.z.object({type:d.z.literal("code_execution_20250825"),tool_id:d.z.string()}),d.z.object({type:d.z.literal("code_execution_20260120"),tool_id:d.z.string()}),d.z.object({type:d.z.literal("direct")})]),l=d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("web_search_result_location"),cited_text:d.z.string(),url:d.z.string(),title:d.z.string().nullable(),encrypted_index:d.z.string()}),d.z.object({type:d.z.literal("page_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_page_number:d.z.number(),end_page_number:d.z.number(),file_id:d.z.string().nullish()}),d.z.object({type:d.z.literal("char_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_char_index:d.z.number(),end_char_index:d.z.number(),file_id:d.z.string().nullish()}),d.z.object({type:d.z.literal("content_block_location"),cited_text:d.z.string(),document_index:d.z.number(),document_title:d.z.string().nullable(),start_block_index:d.z.number(),end_block_index:d.z.number(),file_id:d.z.string().nullable()}),d.z.object({type:d.z.literal("search_result_location"),cited_text:d.z.string(),search_result_index:d.z.number(),source:d.z.string(),title:d.z.string().nullable(),start_block_index:d.z.number(),end_block_index:d.z.number()})]),m=d.z.union([d.z.string(),d.z.array(d.z.union([d.z.string(),d.z.object({type:d.z.literal("text"),text:d.z.string(),citations:d.z.array(d.z.json()).nullable().optional()})]))]),n=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("message"),id:d.z.string().nullish(),model:d.z.string().nullish(),content:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text"),text:d.z.string(),citations:d.z.array(l).nullable().optional()}),d.z.object({type:d.z.literal("thinking"),thinking:d.z.string(),signature:d.z.string()}),d.z.object({type:d.z.literal("redacted_thinking"),data:d.z.string()}),d.z.object({type:d.z.literal("compaction"),content:d.z.string()}),d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),caller:k.optional()}),d.z.object({type:d.z.literal("server_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).nullish(),caller:k.optional()}),d.z.object({type:d.z.literal("mcp_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),server_name:d.z.string()}),d.z.object({type:d.z.literal("mcp_tool_result"),tool_use_id:d.z.string(),is_error:d.z.boolean(),content:m}),d.z.object({type:d.z.literal("web_fetch_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),retrieved_at:d.z.string().nullable(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),media_type:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),media_type:d.z.literal("text/plain"),data:d.z.string()})])})}),d.z.object({type:d.z.literal("web_fetch_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("web_search_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.array(d.z.object({type:d.z.literal("web_search_result"),url:d.z.string(),title:d.z.string().nullable(),encrypted_content:d.z.string(),page_age:d.z.string().nullish()})),d.z.object({type:d.z.literal("web_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("bash_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})])}),d.z.object({type:d.z.literal("tool_search_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("tool_search_tool_search_result"),tool_references:d.z.array(d.z.object({type:d.z.literal("tool_reference"),tool_name:d.z.string()}))}),d.z.object({type:d.z.literal("tool_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("container_upload"),file_id:d.z.string()}),d.z.object({type:d.z.literal("advisor_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encrypted_content:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("fallback")})])),stop_reason:d.z.string().nullish(),stop_sequence:d.z.string().nullish(),stop_details:j.nullish(),usage:d.z.looseObject({input_tokens:d.z.number(),output_tokens:d.z.number(),output_tokens_details:d.z.object({thinking_tokens:d.z.number().nullish()}).nullish(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish(),iterations:d.z.array(d.z.object({type:d.z.union([d.z.literal("compaction"),d.z.literal("message"),d.z.literal("advisor_message"),d.z.literal("fallback_message")]),model:d.z.string().nullish(),input_tokens:d.z.number(),output_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()})).nullish()}),container:d.z.object({expires_at:d.z.string(),id:d.z.string(),skills:d.z.array(d.z.object({type:d.z.union([d.z.literal("anthropic"),d.z.literal("custom")]),skill_id:d.z.string(),version:d.z.string()})).nullish()}).nullish(),context_management:d.z.object({applied_edits:d.z.array(d.z.union([d.z.object({type:d.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),cleared_thinking_turns:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("compact_20260112")})]))}).nullish()}))),o=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("message_start"),message:d.z.object({id:d.z.string().nullish(),model:d.z.string().nullish(),role:d.z.string().nullish(),usage:d.z.looseObject({input_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()}),content:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),caller:k.optional()})])).nullish(),stop_reason:d.z.string().nullish(),container:d.z.object({expires_at:d.z.string(),id:d.z.string()}).nullish()})}),d.z.object({type:d.z.literal("content_block_start"),index:d.z.number(),content_block:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text"),text:d.z.string()}),d.z.object({type:d.z.literal("thinking"),thinking:d.z.string()}),d.z.object({type:d.z.literal("tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).optional(),caller:k.optional()}),d.z.object({type:d.z.literal("redacted_thinking"),data:d.z.string()}),d.z.object({type:d.z.literal("compaction"),content:d.z.string().nullish()}),d.z.object({type:d.z.literal("server_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.record(d.z.string(),d.z.unknown()).nullish(),caller:k.optional()}),d.z.object({type:d.z.literal("mcp_tool_use"),id:d.z.string(),name:d.z.string(),input:d.z.unknown(),server_name:d.z.string()}),d.z.object({type:d.z.literal("mcp_tool_result"),tool_use_id:d.z.string(),is_error:d.z.boolean(),content:m}),d.z.object({type:d.z.literal("web_fetch_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),retrieved_at:d.z.string().nullable(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),media_type:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),media_type:d.z.literal("text/plain"),data:d.z.string()})])})}),d.z.object({type:d.z.literal("web_fetch_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("web_search_tool_result"),tool_use_id:d.z.string(),caller:k.optional(),content:d.z.union([d.z.array(d.z.object({type:d.z.literal("web_search_result"),url:d.z.string(),title:d.z.string().nullable(),encrypted_content:d.z.string(),page_age:d.z.string().nullish()})),d.z.object({type:d.z.literal("web_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("bash_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})])}),d.z.object({type:d.z.literal("tool_search_tool_result"),tool_use_id:d.z.string(),content:d.z.union([d.z.object({type:d.z.literal("tool_search_tool_search_result"),tool_references:d.z.array(d.z.object({type:d.z.literal("tool_reference"),tool_name:d.z.string()}))}),d.z.object({type:d.z.literal("tool_search_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("advisor_tool_result"),tool_use_id:d.z.string(),content:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encrypted_content:d.z.string(),stop_reason:d.z.string().nullish()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),error_code:d.z.string()})])}),d.z.object({type:d.z.literal("fallback")})])}),d.z.object({type:d.z.literal("content_block_delta"),index:d.z.number(),delta:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("input_json_delta"),partial_json:d.z.string()}),d.z.object({type:d.z.literal("text_delta"),text:d.z.string()}),d.z.object({type:d.z.literal("thinking_delta"),thinking:d.z.string()}),d.z.object({type:d.z.literal("signature_delta"),signature:d.z.string()}),d.z.object({type:d.z.literal("compaction_delta"),content:d.z.string().nullish()}),d.z.object({type:d.z.literal("citations_delta"),citation:l})])}),d.z.object({type:d.z.literal("content_block_stop"),index:d.z.number()}),d.z.object({type:d.z.literal("error"),error:d.z.object({type:d.z.string(),message:d.z.string(),code:d.z.union([d.z.string(),d.z.number()]).nullish(),statusCode:d.z.number().nullish(),isRetryable:d.z.boolean().nullish(),data:d.z.unknown().nullish()})}),d.z.object({type:d.z.literal("message_delta"),delta:d.z.object({stop_reason:d.z.string().nullish(),stop_sequence:d.z.string().nullish(),stop_details:j.nullish(),container:d.z.object({expires_at:d.z.string(),id:d.z.string(),skills:d.z.array(d.z.object({type:d.z.union([d.z.literal("anthropic"),d.z.literal("custom")]),skill_id:d.z.string(),version:d.z.string()})).nullish()}).nullish()}),usage:d.z.looseObject({input_tokens:d.z.number().nullish(),output_tokens:d.z.number(),output_tokens_details:d.z.object({thinking_tokens:d.z.number().nullish()}).nullish(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish(),iterations:d.z.array(d.z.object({type:d.z.union([d.z.literal("compaction"),d.z.literal("message"),d.z.literal("advisor_message"),d.z.literal("fallback_message")]),model:d.z.string().nullish(),input_tokens:d.z.number(),output_tokens:d.z.number(),cache_creation_input_tokens:d.z.number().nullish(),cache_read_input_tokens:d.z.number().nullish()})).nullish()}),context_management:d.z.object({applied_edits:d.z.array(d.z.union([d.z.object({type:d.z.literal("clear_tool_uses_20250919"),cleared_tool_uses:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),cleared_thinking_turns:d.z.number(),cleared_input_tokens:d.z.number()}),d.z.object({type:d.z.literal("compact_20260112")})]))}).nullish()}),d.z.object({type:d.z.literal("message_stop")}),d.z.object({type:d.z.literal("ping")})]))),p=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({signature:d.z.string().optional(),redactedData:d.z.string().optional()}))),q=d.z.object({containerUpload:d.z.boolean().optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),title:d.z.string().optional(),context:d.z.string().optional()}),r=d.z.object({clearAt:d.z.literal("next_user_message").optional(),effort:d.z.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("tool_addition"),toolName:d.z.string()}),d.z.object({type:d.z.literal("tool_removal"),toolName:d.z.string()})])).optional()}),s=d.z.object({sendReasoning:d.z.boolean().optional(),structuredOutputMode:d.z.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:d.z.union([d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("adaptive"),display:d.z.enum(["omitted","summarized","updates"]).optional(),blockBinding:d.z.object({prefixMismatchBehavior:d.z.literal("drop_block")}).optional()}),d.z.object({type:d.z.literal("enabled"),budgetTokens:d.z.number().optional()}),d.z.object({type:d.z.literal("disabled")})]),d.z.object({type:d.z.never().optional(),blockBinding:d.z.object({prefixMismatchBehavior:d.z.literal("drop_block")})})]).optional(),disableParallelToolUse:d.z.boolean().optional(),cacheControl:d.z.object({type:d.z.literal("ephemeral"),ttl:d.z.union([d.z.literal("5m"),d.z.literal("1h")]).optional()}).optional(),metadata:d.z.object({userId:d.z.string().optional()}).optional(),mcpServers:d.z.array(d.z.object({type:d.z.literal("url"),name:d.z.string(),url:d.z.string(),authorizationToken:d.z.string().nullish(),toolConfiguration:d.z.object({enabled:d.z.boolean().nullish(),allowedTools:d.z.array(d.z.string()).nullish()}).nullish()})).optional(),container:d.z.object({id:d.z.string().optional(),skills:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("anthropic"),skillId:d.z.string(),version:d.z.string().optional()}),d.z.object({type:d.z.literal("custom"),providerReference:d.z.record(d.z.string(),d.z.string()),version:d.z.string().optional()})])).optional()}).optional(),toolStreaming:d.z.boolean().optional(),effort:d.z.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:d.z.object({type:d.z.literal("tokens"),total:d.z.number().int().min(2e4),remaining:d.z.number().int().min(0).optional()}).optional(),speed:d.z.enum(["fast","standard"]).optional(),serviceTier:d.z.enum(["auto","standard_only"]).optional(),inferenceGeo:d.z.enum(["us","global"]).optional(),fallbacks:d.z.union([d.z.literal("default"),d.z.array(d.z.object({model:d.z.string(),max_tokens:d.z.number().int().optional(),thinking:d.z.record(d.z.string(),d.z.unknown()).optional(),output_config:d.z.record(d.z.string(),d.z.unknown()).optional(),speed:d.z.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:d.z.array(d.z.string()).optional(),contextManagement:d.z.object({edits:d.z.array(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("clear_tool_uses_20250919"),trigger:d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}),d.z.object({type:d.z.literal("tool_uses"),value:d.z.number()})]).optional(),keep:d.z.object({type:d.z.literal("tool_uses"),value:d.z.number()}).optional(),clearAtLeast:d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}).optional(),clearToolInputs:d.z.boolean().optional(),excludeTools:d.z.array(d.z.string()).optional()}),d.z.object({type:d.z.literal("clear_thinking_20251015"),keep:d.z.union([d.z.literal("all"),d.z.object({type:d.z.literal("thinking_turns"),value:d.z.number()})]).optional()}),d.z.object({type:d.z.literal("compact_20260112"),trigger:d.z.object({type:d.z.literal("input_tokens"),value:d.z.number()}).optional(),pauseAfterCompaction:d.z.boolean().optional(),instructions:d.z.string().optional()})]))}).optional()}),t=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(a,b){var c;let d,e=null!=(c=null==(d=null==a?void 0:a.anthropic)?void 0:d.cacheControl)?c:null==d?void 0:d.cache_control;if(e)return b.canCache?(this.breakpointCount++,this.breakpointCount>4)?void this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum 4 cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`}):e:void this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${b.type}. It will be ignored.`})}getWarnings(){return this.warnings}},u=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({model:d.z.string(),maxUses:d.z.number().optional(),maxTokens:d.z.number().int().min(1024).optional(),caching:d.z.object({type:d.z.literal("ephemeral"),ttl:d.z.union([d.z.literal("5m"),d.z.literal("1h")])}).optional()}))),v=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("advisor_result"),text:d.z.string(),stopReason:d.z.string().optional()}),d.z.object({type:d.z.literal("advisor_redacted_result"),encryptedContent:d.z.string(),stopReason:d.z.string().optional()}),d.z.object({type:d.z.literal("advisor_tool_result_error"),errorCode:d.z.string()})]))),w=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({}).strict())),x=(0,c.createProviderExecutedToolFactory)({id:"anthropic.advisor_20260301",inputSchema:w,outputSchema:v,supportsDeferredResults:!0}),y=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxCharacters:d.z.number().optional()}))),z=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.enum(["view","create","str_replace","insert"]),path:d.z.string(),file_text:d.z.string().optional(),insert_line:d.z.number().int().optional(),new_str:d.z.string().optional(),insert_text:d.z.string().optional(),old_str:d.z.string().optional(),view_range:d.z.array(d.z.number().int()).optional()}))),A=(0,c.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250728",inputSchema:z}),B=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),userLocation:d.z.object({type:d.z.literal("approximate"),city:d.z.string().optional(),region:d.z.string().optional(),country:d.z.string().optional(),timezone:d.z.string().optional()}).optional()}))),C=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({url:d.z.string(),title:d.z.string().nullable(),pageAge:d.z.string().nullable(),encryptedContent:d.z.string(),type:d.z.literal("web_search_result")})))),D=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({query:d.z.string()}))),E=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_search_20260209",inputSchema:D,outputSchema:C,supportsDeferredResults:!0}),F=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),userLocation:d.z.object({type:d.z.literal("approximate"),city:d.z.string().optional(),region:d.z.string().optional(),country:d.z.string().optional(),timezone:d.z.string().optional()}).optional()}))),G=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({url:d.z.string(),title:d.z.string().nullable(),pageAge:d.z.string().nullable(),encryptedContent:d.z.string(),type:d.z.literal("web_search_result")})))),H=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({query:d.z.string()}))),I=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_search_20250305",inputSchema:H,outputSchema:G,supportsDeferredResults:!0}),J=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),maxContentTokens:d.z.number().optional()}))),K=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),mediaType:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),mediaType:d.z.literal("text/plain"),data:d.z.string()})])}),retrievedAt:d.z.string().nullable()}))),L=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({url:d.z.string()}))),M=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20260209",inputSchema:L,outputSchema:K,supportsDeferredResults:!0}),N=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({maxUses:d.z.number().optional(),allowedDomains:d.z.array(d.z.string()).optional(),blockedDomains:d.z.array(d.z.string()).optional(),citations:d.z.object({enabled:d.z.boolean()}).optional(),maxContentTokens:d.z.number().optional()}))),O=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("web_fetch_result"),url:d.z.string(),content:d.z.object({type:d.z.literal("document"),title:d.z.string().nullable(),citations:d.z.object({enabled:d.z.boolean()}).optional(),source:d.z.union([d.z.object({type:d.z.literal("base64"),mediaType:d.z.literal("application/pdf"),data:d.z.string()}),d.z.object({type:d.z.literal("text"),mediaType:d.z.literal("text/plain"),data:d.z.string()})])}),retrievedAt:d.z.string().nullable()}))),P=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({url:d.z.string()}))),Q=(0,c.createProviderExecutedToolFactory)({id:"anthropic.web_fetch_20250910",inputSchema:P,outputSchema:O,supportsDeferredResults:!0});async function R({tools:a,toolChoice:d,disableParallelToolUse:e,cacheControlValidator:f,supportsStructuredOutput:g,supportsStrictTools:h,defaultEagerInputStreaming:i=!1}){var j,k;a=(null==a?void 0:a.length)?a:void 0;let l=[],m=new Set,n=f||new t;if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:l,betas:m};let o=[];for(let b of a)switch(b.type){case"function":{let a=n.getCacheControl(b.providerOptions,{type:"tool definition",canCache:!0}),c=null==(j=b.providerOptions)?void 0:j.anthropic,d=null!=(k=null==c?void 0:c.eagerInputStreaming)?k:i,e=null==c?void 0:c.deferLoading,f=null==c?void 0:c.allowedCallers;h||null==b.strict||l.push({type:"unsupported",feature:"strict",details:`Tool '${b.name}' has strict: ${b.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`}),o.push({name:b.name,description:b.description,input_schema:b.inputSchema,cache_control:a,...d?{eager_input_streaming:!0}:{},...!0===h&&null!=b.strict?{strict:b.strict}:{},...null!=e?{defer_loading:e}:{},...null!=f?{allowed_callers:f}:{},...null!=b.inputExamples?{input_examples:b.inputExamples.map(a=>a.input)}:{}}),!0===g&&m.add("structured-outputs-2025-11-13"),(null!=b.inputExamples||null!=f)&&m.add("advanced-tool-use-2025-11-20");break}case"provider":switch(b.id){case"anthropic.code_execution_20250522":m.add("code-execution-2025-05-22"),o.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":m.add("code-execution-2025-08-25"),o.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":o.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":m.add("computer-use-2025-01-24"),o.push({name:"computer",type:"computer_20250124",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":m.add("computer-use-2025-11-24"),o.push({name:"computer",type:"computer_20251124",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,enable_zoom:b.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_20241022":m.add("computer-use-2024-10-22"),o.push({name:"computer",type:"computer_20241022",display_width_px:b.args.displayWidthPx,display_height_px:b.args.displayHeightPx,display_number:b.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":m.add("computer-use-2025-01-24"),o.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":m.add("computer-use-2024-10-22"),o.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":m.add("computer-use-2025-01-24"),o.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let a=await (0,c.validateTypes)({value:b.args,schema:y});o.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:a.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":m.add("computer-use-2025-01-24"),o.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":m.add("computer-use-2024-10-22"),o.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":m.add("context-management-2025-06-27"),o.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{m.add("web-fetch-2025-09-10");let a=await (0,c.validateTypes)({value:b.args,schema:N});o.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,citations:a.citations,max_content_tokens:a.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{m.add("code-execution-web-tools-2026-02-09");let a=await (0,c.validateTypes)({value:b.args,schema:J});o.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,citations:a.citations,max_content_tokens:a.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let a=await (0,c.validateTypes)({value:b.args,schema:F});o.push({type:"web_search_20250305",name:"web_search",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,user_location:a.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{m.add("code-execution-web-tools-2026-02-09");let a=await (0,c.validateTypes)({value:b.args,schema:B});o.push({type:"web_search_20260209",name:"web_search",max_uses:a.maxUses,allowed_domains:a.allowedDomains,blocked_domains:a.blockedDomains,user_location:a.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":o.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":o.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{m.add("advisor-tool-2026-03-01");let a=await (0,c.validateTypes)({value:b.args,schema:u});o.push({type:"advisor_20260301",name:"advisor",model:a.model,...void 0!==a.maxUses&&{max_uses:a.maxUses},...void 0!==a.maxTokens&&{max_tokens:a.maxTokens},...void 0!==a.caching&&{caching:a.caching}});break}default:l.push({type:"unsupported",feature:`provider-defined tool ${b.id}`})}break;default:l.push({type:"unsupported",feature:`tool ${b}`})}if(null==d)return{tools:o,toolChoice:e?{type:"auto",disable_parallel_tool_use:e}:void 0,toolWarnings:l,betas:m};let p=d.type;switch(p){case"auto":return{tools:o,toolChoice:{type:"auto",disable_parallel_tool_use:e},toolWarnings:l,betas:m};case"required":return{tools:o,toolChoice:{type:"any",disable_parallel_tool_use:e},toolWarnings:l,betas:m};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:l,betas:m};case"tool":return{tools:o,toolChoice:{type:"tool",name:d.toolName,disable_parallel_tool_use:e},toolWarnings:l,betas:m};default:throw new b.UnsupportedFunctionalityError({functionality:`tool choice type: ${p}`})}}function S({usage:a,rawUsage:b}){var c,d,e,f,g;let h,i,j=null!=(c=a.cache_creation_input_tokens)?c:0,k=null!=(d=a.cache_read_input_tokens)?d:0,l=null!=(f=null==(e=a.output_tokens_details)?void 0:e.thinking_tokens)?f:void 0,m=null==(g=a.iterations)?void 0:g.some(a=>"fallback_message"===a.type);if(a.iterations&&a.iterations.length>0&&!m){let b=a.iterations.filter(a=>"compaction"===a.type||"message"===a.type);if(b.length>0){let a=b.reduce((a,b)=>({input:a.input+b.input_tokens,output:a.output+b.output_tokens}),{input:0,output:0});h=a.input,i=a.output}else h=a.input_tokens,i=a.output_tokens}else h=a.input_tokens,i=a.output_tokens;return{inputTokens:{total:h+j+k,noCache:h,cacheRead:k,cacheWrite:j},outputTokens:{total:i,text:null==l?void 0:i-l,reasoning:l},raw:null!=b?b:a}}var T=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}))),U=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({code:d.z.string()}))),V=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250522",inputSchema:U,outputSchema:T}),W=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})]))),X=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("programmatic-tool-call"),code:d.z.string()}),d.z.object({type:d.z.literal("bash_code_execution"),command:d.z.string()}),d.z.discriminatedUnion("command",[d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("view"),path:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("create"),path:d.z.string(),file_text:d.z.string().nullish()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("str_replace"),path:d.z.string(),old_str:d.z.string(),new_str:d.z.string()})])]))),Y=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20250825",inputSchema:X,outputSchema:W,supportsDeferredResults:!0}),Z=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("code_execution_result"),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("encrypted_code_execution_result"),encrypted_stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number(),content:d.z.array(d.z.object({type:d.z.literal("code_execution_output"),file_id:d.z.string()})).optional().default([])}),d.z.object({type:d.z.literal("bash_code_execution_result"),content:d.z.array(d.z.object({type:d.z.literal("bash_code_execution_output"),file_id:d.z.string()})),stdout:d.z.string(),stderr:d.z.string(),return_code:d.z.number()}),d.z.object({type:d.z.literal("bash_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_tool_result_error"),error_code:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution_view_result"),content:d.z.string(),file_type:d.z.string(),num_lines:d.z.number().nullable(),start_line:d.z.number().nullable(),total_lines:d.z.number().nullable()}),d.z.object({type:d.z.literal("text_editor_code_execution_create_result"),is_file_update:d.z.boolean()}),d.z.object({type:d.z.literal("text_editor_code_execution_str_replace_result"),lines:d.z.array(d.z.string()).nullable(),new_lines:d.z.number().nullable(),new_start:d.z.number().nullable(),old_lines:d.z.number().nullable(),old_start:d.z.number().nullable()})]))),$=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("programmatic-tool-call"),code:d.z.string()}),d.z.object({type:d.z.literal("bash_code_execution"),command:d.z.string()}),d.z.discriminatedUnion("command",[d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("view"),path:d.z.string()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("create"),path:d.z.string(),file_text:d.z.string().nullish()}),d.z.object({type:d.z.literal("text_editor_code_execution"),command:d.z.literal("str_replace"),path:d.z.string(),old_str:d.z.string(),new_str:d.z.string()})])]))),_=(0,c.createProviderExecutedToolFactory)({id:"anthropic.code_execution_20260120",inputSchema:$,outputSchema:Z,supportsDeferredResults:!0}),aa=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({type:d.z.literal("tool_reference"),toolName:d.z.string()})))),ab=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({pattern:d.z.string(),limit:d.z.number().optional()}))),ac=(0,c.createProviderExecutedToolFactory)({id:"anthropic.tool_search_regex_20251119",inputSchema:ab,outputSchema:aa,supportsDeferredResults:!0});function ad(a){try{if("string"==typeof a)return(0,c.secureJsonParse)(a);if("object"==typeof a&&null!==a)return a}catch(c){let b=null==a?void 0:a.errorCode;return{errorCode:"string"==typeof b?b:"unavailable"}}return{}}async function ae({prompt:a,sendReasoning:d,warnings:e,cacheControlValidator:f,toolNameMapping:g}){var h,i,j,k,l,m,n,o,s,u,w,x,y,z,A,B,C,D,E,F,H,I,J,K;let L,M=new Set,N=function(a){let b,c=[];for(let d of a){let{role:a}=d;switch(a){case"system":(null==b?void 0:b.type)!=="system"&&(b={type:"system",messages:[]},c.push(b)),b.messages.push(d);break;case"assistant":(null==b?void 0:b.type)!=="assistant"&&(b={type:"assistant",messages:[]},c.push(b)),b.messages.push(d);break;case"user":case"tool":(null==b?void 0:b.type)!=="user"&&(b={type:"user",messages:[]},c.push(b)),b.messages.push(d);break;default:throw Error(`Unsupported role: ${a}`)}}return c}(a),P=f||new t,Q=[];async function R(a){var b,d;let e=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return null!=(d=null==(b=null==e?void 0:e.citations)?void 0:b.enabled)&&d}async function S(a){var b;let d=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return null!=(b=null==d?void 0:d.containerUpload)&&b}async function U(a){let b=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:a,schema:q});return{title:null==b?void 0:b.title,context:null==b?void 0:b.context}}for(let a=0;a<N.length;a++){let f=N[a],q=a===N.length-1,t=f.type;switch(t){case"system":{let b=[];for(let{content:a,providerOptions:d}of f.messages){let e=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:d,schema:r}),f=null!=(h=null==e?void 0:e.toolChanges)?h:[],i=[];for(let b of((""!==a||0===f.length&&(null==e?void 0:e.clearAt)==null&&(null==e?void 0:e.effort)==null)&&i.push({type:"text",text:a,cache_control:P.getCacheControl(d,{type:"system message",canCache:!0})}),f))i.push({type:b.type,tool:{type:"tool_reference",name:g.toProviderToolName(b.toolName)}});b.push({content:i,clearAt:null==e?void 0:e.clearAt,effort:null==e?void 0:e.effort,toolChangeCount:f.length})}let d=b.reduce((a,b)=>a+b.toolChangeCount,0),i=b.some(a=>null!=a.clearAt||null!=a.effort);if(0!==a&&(null!=L||0!==d||i))for(let a of(M.add("mid-conversation-system-2026-04-07"),b))Q.push({role:"system",content:a.content,...null!=a.clearAt&&{clear_at:a.clearAt},...null!=a.effort&&{output_config:{effort:a.effort}}}),a.toolChangeCount>0&&M.add("mid-conversation-tool-changes-2026-07-01"),null!=a.clearAt&&M.add("mid-conversation-system-clear-at-2026-08-21"),null!=a.effort&&M.add("mid-conversation-effort-2026-08-01");else{for(let a of(d>0&&e.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."}),b))(null!=a.clearAt||null!=a.effort)&&e.push({type:"other",message:"clearAt and effort on the initial system message are not supported by Anthropic. These options have been ignored."});L=b.flatMap(a=>a.content.filter(a=>"text"===a.type))}break}case"user":{let a=[];for(let d of f.messages){let{role:f,content:g}=d;switch(f){case"user":for(let e=0;e<g.length;e++){let f=g[e],h=e===g.length-1,m=null!=(i=P.getCacheControl(f.providerOptions,{type:"user message part",canCache:!0}))?i:h?P.getCacheControl(d.providerOptions,{type:"user message",canCache:!0}):void 0;switch(f.type){case"text":a.push({type:"text",text:f.text,cache_control:m});break;case"file":switch(f.data.type){case"reference":{let b=(0,c.resolveProviderReference)({reference:f.data.reference,provider:"anthropic"});M.add("files-api-2025-04-14"),await S(f.providerOptions)?a.push({type:"container_upload",file_id:b}):"image"===(0,c.getTopLevelMediaType)(f.mediaType)?a.push({type:"image",source:{type:"file",file_id:b},cache_control:m}):a.push({type:"document",source:{type:"file",file_id:b},cache_control:m});break}case"text":{let b=await R(f.providerOptions),c=await U(f.providerOptions);a.push({type:"document",source:{type:"text",media_type:"text/plain",data:f.data.text},title:null!=(j=c.title)?j:f.filename,...c.context&&{context:c.context},...b&&{citations:{enabled:!0}},cache_control:m});break}case"url":case"data":{let d=(0,c.getTopLevelMediaType)(f.mediaType);if("image"===d)a.push({type:"image",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"base64",media_type:(0,c.resolveFullMediaType)({part:f}),data:(0,c.convertToBase64)(f.data.data)},cache_control:m});else if("application"===d&&("url"===f.data.type?"application/pdf"===f.mediaType:"application/pdf"===(0,c.resolveFullMediaType)({part:f}))){M.add("pdfs-2024-09-25");let b=await R(f.providerOptions),d=await U(f.providerOptions);a.push({type:"document",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:(0,c.convertToBase64)(f.data.data)},title:null!=(k=d.title)?k:f.filename,...d.context&&{context:d.context},...b&&{citations:{enabled:!0}},cache_control:m})}else if("text/plain"===f.mediaType){let b=await R(f.providerOptions),d=await U(f.providerOptions);a.push({type:"document",source:"url"===f.data.type?{type:"url",url:f.data.url.toString()}:{type:"text",media_type:"text/plain",data:"string"==typeof(J=f.data.data)?new TextDecoder().decode((0,c.convertBase64ToUint8Array)(J)):new TextDecoder().decode(J)},title:null!=(l=d.title)?l:f.filename,...d.context&&{context:d.context},...b&&{citations:{enabled:!0}},cache_control:m})}else throw new b.UnsupportedFunctionalityError({functionality:`media type: ${f.mediaType}`})}}}}break;case"tool":for(let b=0;b<g.length;b++){let f,h=g[b];if("tool-approval-response"===h.type)continue;let i=h.output,j="providerOptions"in i?i.providerOptions:"content"===i.type?null==(m=i.value.find(a=>null!=a.providerOptions))?void 0:m.providerOptions:void 0,k=b===g.length-1,l=null!=(o=null!=(n=P.getCacheControl(h.providerOptions,{type:"tool result part",canCache:!0}))?n:P.getCacheControl(j,{type:"tool result output",canCache:!0}))?o:k?P.getCacheControl(d.providerOptions,{type:"tool result message",canCache:!0}):void 0;switch(i.type){case"content":f=i.value.map(a=>{var b;switch(a.type){case"text":return{type:"text",text:a.text};case"file":{let b=(0,c.getTopLevelMediaType)(a.mediaType);if("url"===a.data.type){if("image"===b)return{type:"image",source:{type:"url",url:a.data.url.toString()}};return{type:"document",source:{type:"url",url:a.data.url.toString()}}}if("data"===a.data.type){if("image"===b)return{type:"image",source:{type:"base64",media_type:(0,c.resolveFullMediaType)({part:a}),data:(0,c.convertToBase64)(a.data.data)}};if("application/pdf"===(0,c.resolveFullMediaType)({part:a}))return M.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:(0,c.convertToBase64)(a.data.data)}};e.push({type:"other",message:`unsupported tool content part type: ${a.type} with media type: ${a.mediaType}`});return}e.push({type:"other",message:`unsupported tool content part type: ${a.type} with data type: ${a.data.type}`});return}case"custom":{let c=null==(b=a.providerOptions)?void 0:b.anthropic;if((null==c?void 0:c.type)==="tool-reference")return{type:"tool_reference",tool_name:c.toolName};e.push({type:"other",message:"unsupported custom tool content part"});return}default:return void e.push({type:"other",message:`unsupported tool content part type: ${a.type}`})}}).filter(c.isNonNullable);break;case"text":case"error-text":f=i.value;break;case"execution-denied":f=null!=(s=i.reason)?s:"Tool call execution denied.";break;default:f=JSON.stringify(i.value)}a.push({type:"tool_result",tool_use_id:h.toolCallId,content:f,is_error:"error-text"===i.type||"error-json"===i.type||void 0,cache_control:l})}break;default:throw Error(`Unsupported role: ${f}`)}}Q.push({role:"user",content:a});break}case"assistant":{let a=[],b=new Set;for(let h=0;h<f.messages.length;h++){let i=f.messages[h],j=h===f.messages.length-1,{content:k}=i;for(let f=0;f<k.length;f++){let h=k[f],l=f===k.length-1,m=null!=(u=P.getCacheControl(h.providerOptions,{type:"assistant message part",canCache:!0}))?u:l?P.getCacheControl(i.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(h.type){case"text":{let b=null==(w=h.providerOptions)?void 0:w.anthropic;(null==b?void 0:b.type)==="compaction"?a.push({type:"compaction",content:h.text,cache_control:m}):a.push({type:"text",text:q&&j&&l?h.text.trim():h.text,...(null==b?void 0:b.citations)!=null&&{citations:b.citations},cache_control:m});break}case"reasoning":if(d){let b=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:h.providerOptions,schema:p});null!=b?null!=b.signature?(P.getCacheControl(h.providerOptions,{type:"thinking block",canCache:!1}),a.push({type:"thinking",thinking:h.text,signature:b.signature})):null!=b.redactedData?(P.getCacheControl(h.providerOptions,{type:"redacted thinking block",canCache:!1}),a.push({type:"redacted_thinking",data:b.redactedData})):e.push({type:"other",message:"unsupported reasoning metadata"}):e.push({type:"other",message:"unsupported reasoning metadata"})}else e.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"tool-call":{let c=af(h.providerOptions);if(h.providerExecuted){let d=g.toProviderToolName(h.toolName);if((null==(y=null==(x=h.providerOptions)?void 0:x.anthropic)?void 0:y.type)==="mcp-tool-use"){b.add(h.toolCallId);let c=null==(A=null==(z=h.providerOptions)?void 0:z.anthropic)?void 0:A.serverName;if(null==c||"string"!=typeof c){e.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}a.push({type:"mcp_tool_use",id:h.toolCallId,name:h.toolName,input:h.input,server_name:c,cache_control:m})}else if("code_execution"===d&&null!=h.input&&"object"==typeof h.input&&"type"in h.input&&"string"==typeof h.input.type&&("bash_code_execution"===h.input.type||"text_editor_code_execution"===h.input.type)){let{type:b,...d}=h.input;a.push({type:"server_tool_use",id:h.toolCallId,name:b,input:d,...c&&{caller:c},cache_control:m})}else if("code_execution"===d&&null!=h.input&&"object"==typeof h.input&&"type"in h.input&&"programmatic-tool-call"===h.input.type){let{type:b,...d}=h.input;a.push({type:"server_tool_use",id:h.toolCallId,name:"code_execution",input:d,...c&&{caller:c},cache_control:m})}else"code_execution"===d||"web_fetch"===d||"web_search"===d||"tool_search_tool_regex"===d||"tool_search_tool_bm25"===d?a.push({type:"server_tool_use",id:h.toolCallId,name:d,input:h.input,...c&&{caller:c},cache_control:m}):"advisor"===d?a.push({type:"server_tool_use",id:h.toolCallId,name:"advisor",input:{},...c&&{caller:c},cache_control:m}):e.push({type:"other",message:`provider executed tool call for tool ${h.toolName} is not supported`});break}a.push({type:"tool_use",id:h.toolCallId,name:h.toolName,input:"object"!=typeof(K=h.input)||null===K||Array.isArray(K)?{rawInvalidInput:K}:K,...c&&{caller:c},cache_control:m});break}case"tool-result":{let d=g.toProviderToolName(h.toolName),f=af(h.providerOptions);if(b.has(h.toolCallId)){let b=h.output;if("json"!==b.type&&"error-json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}a.push({type:"mcp_tool_result",tool_use_id:h.toolCallId,is_error:"error-json"===b.type,content:b.value,cache_control:m})}else if("code_execution"===d){let b=h.output;if("error-text"===b.type||"error-json"===b.type){let d={};try{"string"==typeof b.value?d=(0,c.secureJsonParse)(b.value):"object"==typeof b.value&&null!==b.value&&(d=b.value)}catch(a){}"code_execution_tool_result_error"===d.type?a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:"code_execution_tool_result_error",error_code:null!=(B=d.errorCode)?B:"unknown"},cache_control:m}):a.push({type:"bash_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:{type:"bash_code_execution_tool_result_error",error_code:null!=(C=d.errorCode)?C:"unknown"}});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}if(null==b.value||"object"!=typeof b.value||!("type"in b.value)||"string"!=typeof b.value.type){e.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${h.toolName}`});break}if("code_execution_result"===b.value.type){let d=await (0,c.validateTypes)({value:b.value,schema:T});a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(D=d.content)?D:[]},cache_control:m})}else if("encrypted_code_execution_result"===b.value.type){let d=await (0,c.validateTypes)({value:b.value,schema:Z});"encrypted_code_execution_result"===d.type&&a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,encrypted_stdout:d.encrypted_stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(E=d.content)?E:[]},cache_control:m})}else{let d=await (0,c.validateTypes)({value:b.value,schema:W});"code_execution_result"===d.type?a.push({type:"code_execution_tool_result",tool_use_id:h.toolCallId,content:{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:null!=(F=d.content)?F:[]},cache_control:m}):"bash_code_execution_result"===d.type||"bash_code_execution_tool_result_error"===d.type?a.push({type:"bash_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:"bash_code_execution_result"===d.type?{type:d.type,stdout:d.stdout,stderr:d.stderr,return_code:d.return_code,content:d.content}:d}):a.push({type:"text_editor_code_execution_tool_result",tool_use_id:h.toolCallId,cache_control:m,content:d})}break}if("web_fetch"===d){let b=h.output;if("error-json"===b.type){a.push({type:"web_fetch_tool_result",tool_use_id:h.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:null!=(H=ad(b.value).errorCode)?H:"unavailable"},...f&&{caller:f},cache_control:m});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:O});a.push({type:"web_fetch_tool_result",tool_use_id:h.toolCallId,content:{type:"web_fetch_result",url:d.url,retrieved_at:d.retrievedAt,content:{type:"document",title:d.content.title,citations:d.content.citations,source:{type:d.content.source.type,media_type:d.content.source.mediaType,data:d.content.source.data}}},...f&&{caller:f},cache_control:m});break}if("web_search"===d){let b=h.output;if("error-json"===b.type){a.push({type:"web_search_tool_result",tool_use_id:h.toolCallId,content:{type:"web_search_tool_result_error",error_code:null!=(I=ad(b.value).errorCode)?I:"unavailable"},...f&&{caller:f},cache_control:m});break}if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:G});a.push({type:"web_search_tool_result",tool_use_id:h.toolCallId,content:d.map(a=>({url:a.url,title:a.title,page_age:a.pageAge,encrypted_content:a.encryptedContent,type:a.type})),...f&&{caller:f},cache_control:m});break}if("tool_search_tool_regex"===d||"tool_search_tool_bm25"===d){let b=h.output;if("json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=(await (0,c.validateTypes)({value:b.value,schema:aa})).map(a=>({type:"tool_reference",tool_name:a.toolName}));a.push({type:"tool_search_tool_result",tool_use_id:h.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:d},cache_control:m});break}if("advisor"===d){let b=h.output;if("json"!==b.type&&"error-json"!==b.type){e.push({type:"other",message:`provider executed tool result output type ${b.type} for tool ${h.toolName} is not supported`});break}let d=await (0,c.validateTypes)({value:b.value,schema:v});"advisor_result"===d.type?a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_result",text:d.text,...void 0!==d.stopReason&&{stop_reason:d.stopReason}},cache_control:m}):"advisor_redacted_result"===d.type?a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:d.encryptedContent,...void 0!==d.stopReason&&{stop_reason:d.stopReason}},cache_control:m}):a.push({type:"advisor_tool_result",tool_use_id:h.toolCallId,content:{type:"advisor_tool_result_error",error_code:d.errorCode},cache_control:m});break}e.push({type:"other",message:`provider executed tool result for tool ${h.toolName} is not supported`})}}}}Q.push({role:"assistant",content:function(a){let b=[],c=[];function d(){b.push(...c.filter(a=>"tool_use"!==a.type),...c.filter(a=>"tool_use"===a.type)),c=[]}for(let e of a)"thinking"===e.type||"redacted_thinking"===e.type?(d(),b.push(e)):c.push(e);return d(),b}(a)});break}default:throw Error(`content type: ${t}`)}}return{prompt:{system:L,messages:Q},betas:M}}function af(a){var b;let c=null==(b=null==a?void 0:a.anthropic)?void 0:b.caller;return((null==c?void 0:c.type)==="code_execution_20250825"||(null==c?void 0:c.type)==="code_execution_20260120")&&c.toolId?{type:c.type,tool_id:c.toolId}:(null==c?void 0:c.type)==="direct"?{type:"direct"}:void 0}function ag({finishReason:a,isJsonResponseFromTool:b}){switch(a){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return b?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";default:return"other"}}var ah=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),ai=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function aj(a){return"boolean"!=typeof a&&(0,c.isRecord)(a)?ak(a):a}function ak(a){var b;let c,d={};if(null!=a.$ref)return{$ref:a.$ref};null!=a.$schema&&(d.$schema=a.$schema),null!=a.$id&&(d.$id=a.$id),null!=a.title&&(d.title=a.title),null!=a.description&&(d.description=a.description),void 0!==a.default&&(d.default=a.default),void 0!==a.const&&(d.const=a.const),null!=a.enum&&(d.enum=a.enum),null!=a.type&&(d.type=a.type),null!=a.anyOf?d.anyOf=a.anyOf.map(aj):null!=a.oneOf&&(d.anyOf=a.oneOf.map(aj)),null!=a.allOf&&(d.allOf=a.allOf.map(aj)),null!=a.definitions&&(d.definitions=Object.fromEntries(Object.entries(a.definitions).map(([a,b])=>[a,aj(b)]))),null!=a.$defs&&(d.$defs=Object.fromEntries(Object.entries(a.$defs).map(([a,b])=>[a,aj(b)]))),("object"===a.type||null!=a.properties)&&(null!=a.properties&&(d.properties=Object.fromEntries(Object.entries(a.properties).map(([a,b])=>[a,aj(b)]))),d.additionalProperties=!1,null!=a.required&&(d.required=a.required)),null!=a.items&&(d.items=Array.isArray(a.items)?a.items.map(aj):aj(a.items)),"string"==typeof a.format&&ah.has(a.format)&&(d.format=a.format);let e=(b=a,c=ai.flatMap(a=>{var c;let d=b[a];return null==d||!1===d?[]:`${a.replace(/[A-Z]/g,a=>` ${a.toLowerCase()}`)}: ${"string"==typeof(c=d)?c:JSON.stringify(c)}`}),"string"!=typeof b.format||ah.has(b.format)||c.push(`format: ${b.format}`),0===c.length?void 0:`${c.join("; ")}.`);return null!=e&&(d.description=null==d.description?e:`${d.description}
124
166
  ${e}`),d}function al(a,b,c){var d,e;if("web_search_result_location"===a.type)return{type:"source",sourceType:"url",id:c(),url:a.url,title:null!=(d=a.title)?d:void 0,providerMetadata:{anthropic:{citedText:a.cited_text,encryptedIndex:a.encrypted_index}}};if("page_location"!==a.type&&"char_location"!==a.type)return;let f=b[a.document_index];if(f)return{type:"source",sourceType:"document",id:c(),mediaType:f.mediaType,title:null!=(e=a.document_title)?e:f.title,filename:f.filename,providerMetadata:{anthropic:"page_location"===a.type?{citedText:a.cited_text,startPageNumber:a.start_page_number,endPageNumber:a.end_page_number}:{citedText:a.cited_text,startCharIndex:a.start_char_index,endCharIndex:a.end_char_index}}}}function am(a){return null==a?void 0:{type:a.type,toolId:"tool_id"in a?a.tool_id:void 0}}function an(a){let b=am(a);return null==b?{}:{providerMetadata:{anthropic:{caller:b}}}}var ao=class a{constructor(a,b){var d;this.specificationVersion="v4",this.modelId=a,this.config=b,this.generateId=null!=(d=b.generateId)?d:c.generateId}static[e.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[e.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}supportsUrl(a){return"https:"===a.protocol}get provider(){return this.config.provider}get providerOptionsName(){let a=this.config.provider,b=a.indexOf(".");return -1===b?a:a.substring(0,b)}get supportedUrls(){var a,b,c;return null!=(c=null==(b=(a=this.config).supportedUrls)?void 0:b.call(a))?c:{}}async getArgs({userSuppliedBetas:a,prompt:b,maxOutputTokens:d,temperature:e,topP:f,topK:g,frequencyPenalty:h,presencePenalty:i,stopSequences:j,responseFormat:k,seed:l,tools:m,toolChoice:n,reasoning:o,providerOptions:p,stream:q}){var r,u,v,w,x,y,z,A,B,C,D,E;let F=[];null!=h&&F.push({type:"unsupported",feature:"frequencyPenalty"}),null!=i&&F.push({type:"unsupported",feature:"presencePenalty"}),null!=l&&F.push({type:"unsupported",feature:"seed"}),null!=e&&e>1?(F.push({type:"unsupported",feature:"temperature",details:`${e} exceeds anthropic maximum of 1.0. clamped to 1.0`}),e=1):null!=e&&e<0&&(F.push({type:"unsupported",feature:"temperature",details:`${e} is below anthropic minimum of 0. clamped to 0`}),e=0),(null==k?void 0:k.type)==="json"&&null==k.schema&&F.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."});let G=this.providerOptionsName,H=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:p,schema:s}),I="anthropic"!==G?await (0,c.parseProviderOptions)({provider:G,providerOptions:p,schema:s}):null,J=null!=I,K=Object.assign({},null!=H?H:{},null!=I?I:{}),{maxOutputTokens:L,supportsStructuredOutput:M,supportsAdaptiveThinking:N,rejectsSamplingParameters:O,supportsXhighEffort:P,rejectsThinkingDisabledAboveHighEffort:Q,isKnownModel:S}=function(a){if(a.includes("claude-opus-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,isKnownModel:!0};if(a.includes("claude-opus-4-8")||a.includes("claude-opus-4-7")||a.includes("claude-fable-5")||a.includes("claude-sonnet-5"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(a.includes("claude-sonnet-4-6")||a.includes("claude-opus-4-6"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(a.includes("claude-sonnet-4-5")||a.includes("claude-opus-4-5")||a.includes("claude-haiku-4-5"))return{maxOutputTokens:64e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};if(a.includes("claude-opus-4-1"))return{maxOutputTokens:32e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-sonnet-4(?:-|@)/.test(a))return{maxOutputTokens:64e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-opus-4(?:-|@)/.test(a))return{maxOutputTokens:32e3,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(a.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(a))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!1};else if(a.includes("claude-"))return{maxOutputTokens:128e3,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,isKnownModel:!1}}(this.modelId);S||null!=d||F.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${this.modelId}" is unknown. The max output tokens have been limited to ${L}. Set maxOutputTokens explicitly to override this limit.`}),O&&(null!=e&&(F.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${this.modelId} and will be ignored`}),e=void 0),null!=g&&(F.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${this.modelId} and will be ignored`}),g=void 0),null!=f&&(F.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${this.modelId} and will be ignored`}),f=void 0));let T=S||this.modelId.includes("claude-"),U=(null==(r=this.config.supportsNativeStructuredOutput)||r)&&M,V=(null==(u=this.config.supportsStrictTools)||u)&&M,W=null!=(v=null==K?void 0:K.structuredOutputMode)?v:"auto",X="outputFormat"===W||"auto"===W&&U,Y=(null==k?void 0:k.type)!=="json"||null==k.schema||X?void 0:{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:k.schema};null!=Y&&(null==K?void 0:K.disableParallelToolUse)===!1&&F.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let Z=null==K?void 0:K.contextManagement,$=new t,_=(0,c.createToolNameMapping)({tools:m,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),{prompt:aa,betas:ab}=await ae({prompt:b,sendReasoning:null==(w=null==K?void 0:K.sendReasoning)||w,warnings:F,cacheControlValidator:$,toolNameMapping:_});if((0,c.isCustomReasoning)(o)&&(null==K?void 0:K.effort)==null){let a=function({reasoning:a,supportsAdaptiveThinking:b,supportsXhighEffort:d,maxOutputTokensForModel:e,warnings:f}){if(!(0,c.isCustomReasoning)(a))return;if("none"===a)return{thinking:{type:"disabled"}};if(b)return{thinking:{type:"adaptive",display:"summarized"},effort:(0,c.mapReasoningToProviderEffort)({reasoning:a,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:d?"xhigh":"max"},warnings:f})};let g=(0,c.mapReasoningToProviderBudget)({reasoning:a,maxOutputTokens:e,maxReasoningBudget:e,warnings:f});if(null!=g)return{thinking:{type:"enabled",budgetTokens:g}}}({reasoning:o,supportsAdaptiveThinking:N,supportsXhighEffort:P,maxOutputTokensForModel:L,warnings:F});null!=a&&(null==K.thinking&&(K.thinking=a.thinking),null!=a.effort&&(null==(x=K.thinking)?void 0:x.type)!=="disabled"&&(K.effort=a.effort))}Q&&(null==(y=null==K?void 0:K.thinking)?void 0:y.type)==="disabled"&&("xhigh"===K.effort||"max"===K.effort)&&(F.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${K.effort}' is not supported by ${this.modelId} when thinking is disabled. The effort has been lowered to 'high'.`}),K.effort="high");let ac=null==(z=null==K?void 0:K.thinking)?void 0:z.type,ad="enabled"===ac||"adaptive"===ac,af=(null==K?void 0:K.thinking)!=null&&"blockBinding"in K.thinking?K.thinking.blockBinding:void 0,ag=ad||"disabled"===ac||null!=af,ah="enabled"===ac?null==(A=null==K?void 0:K.thinking)?void 0:A.budgetTokens:void 0,ai="adaptive"===ac?null==(B=null==K?void 0:K.thinking)?void 0:B.display:void 0,aj=null!=d?d:L,al={model:this.modelId,max_tokens:aj,temperature:e,top_k:g,top_p:f,stop_sequences:j,...ag&&{thinking:{...null!=ac&&{type:ac},...null!=ah&&{budget_tokens:ah},...null!=ai&&{display:ai},...null!=af&&{block_binding:{prefix_mismatch_behavior:af.prefixMismatchBehavior}}}},...((null==K?void 0:K.effort)||(null==K?void 0:K.taskBudget)||X&&(null==k?void 0:k.type)==="json"&&null!=k.schema)&&{output_config:{...(null==K?void 0:K.effort)&&{effort:K.effort},...(null==K?void 0:K.taskBudget)&&{task_budget:{type:K.taskBudget.type,total:K.taskBudget.total,...null!=K.taskBudget.remaining&&{remaining:K.taskBudget.remaining}}},...X&&(null==k?void 0:k.type)==="json"&&null!=k.schema&&{format:{type:"json_schema",schema:ak(k.schema)}}}},...(null==K?void 0:K.speed)&&{speed:K.speed},...(null==K?void 0:K.serviceTier)&&{service_tier:K.serviceTier},...(null==K?void 0:K.inferenceGeo)&&{inference_geo:K.inferenceGeo},...(null==K?void 0:K.fallbacks)!=null&&("default"===K.fallbacks||K.fallbacks.length>0)&&{fallbacks:K.fallbacks},...(null==K?void 0:K.cacheControl)&&{cache_control:K.cacheControl},...(null==(C=null==K?void 0:K.metadata)?void 0:C.userId)!=null&&{metadata:{user_id:K.metadata.userId}},...(null==K?void 0:K.mcpServers)&&K.mcpServers.length>0&&{mcp_servers:K.mcpServers.map(a=>({type:a.type,name:a.name,url:a.url,authorization_token:a.authorizationToken,tool_configuration:a.toolConfiguration?{allowed_tools:a.toolConfiguration.allowedTools,enabled:a.toolConfiguration.enabled}:void 0}))},...(null==K?void 0:K.container)&&{container:K.container.skills&&K.container.skills.length>0?{id:K.container.id,skills:K.container.skills.map(a=>({type:a.type,skill_id:"custom"===a.type?(0,c.resolveProviderReference)({reference:a.providerReference,provider:"anthropic"}):a.skillId,version:a.version}))}:K.container.id},system:aa.system,messages:aa.messages,...Z&&{context_management:{edits:Z.edits.map(a=>{let b=a.type;switch(b){case"clear_tool_uses_20250919":return{type:a.type,...void 0!==a.trigger&&{trigger:a.trigger},...void 0!==a.keep&&{keep:a.keep},...void 0!==a.clearAtLeast&&{clear_at_least:a.clearAtLeast},...void 0!==a.clearToolInputs&&{clear_tool_inputs:a.clearToolInputs},...void 0!==a.excludeTools&&{exclude_tools:a.excludeTools}};case"clear_thinking_20251015":return{type:a.type,...void 0!==a.keep&&{keep:a.keep}};case"compact_20260112":return{type:a.type,...void 0!==a.trigger&&{trigger:a.trigger},...void 0!==a.pauseAfterCompaction&&{pause_after_compaction:a.pauseAfterCompaction},...void 0!==a.instructions&&{instructions:a.instructions}};default:F.push({type:"other",message:`Unknown context management strategy: ${b}`});return}}).filter(a=>void 0!==a)}}};ad?("enabled"===ac&&null==ah&&(F.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),al.thinking={type:"enabled",budget_tokens:1024},ah=1024),null!=al.temperature&&(al.temperature=void 0,F.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"})),null!=g&&(al.top_k=void 0,F.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"})),null!=f&&(al.top_p=void 0,F.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"})),al.max_tokens=aj+(null!=ah?ah:0)):T&&null!=f&&null!=e&&(F.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),al.top_p=void 0),S&&al.max_tokens>L&&(null!=d&&F.push({type:"unsupported",feature:"maxOutputTokens",details:`${al.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${this.modelId} ${L} max output tokens. The max output tokens have been limited to ${L}.`}),al.max_tokens=L),(null==K?void 0:K.mcpServers)&&K.mcpServers.length>0&&ab.add("mcp-client-2025-04-04"),Z&&(ab.add("context-management-2025-06-27"),Z.edits.some(a=>"compact_20260112"===a.type)&&ab.add("compact-2026-01-12")),(null==K?void 0:K.container)&&K.container.skills&&K.container.skills.length>0&&(ab.add("code-execution-2025-08-25"),ab.add("skills-2025-10-02"),ab.add("files-api-2025-04-14"),(null==m?void 0:m.some(a=>"provider"===a.type&&("anthropic.code_execution_20250825"===a.id||"anthropic.code_execution_20260120"===a.id)))||F.push({type:"other",message:"code execution tool is required when using skills"})),(null==K?void 0:K.taskBudget)&&ab.add("task-budgets-2026-03-13"),(null==K?void 0:K.speed)==="fast"&&ab.add("fast-mode-2026-02-01"),"updates"===ai&&ab.add("thinking-display-updates-2026-08-18"),null!=af&&ab.add("thinking-binding-controls-2026-08-01"),(null==K?void 0:K.fallbacks)==="default"?ab.add("server-side-fallback-2026-07-01"):(null==K?void 0:K.fallbacks)&&K.fallbacks.length>0&&ab.add("server-side-fallback-2026-06-01");let am=q&&(null==(D=null==K?void 0:K.toolStreaming)||D),{tools:an,toolChoice:ao,toolWarnings:ap,betas:aq}=await R(null!=Y?{tools:[...null!=m?m:[],Y],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:$,supportsStructuredOutput:!1,supportsStrictTools:V,defaultEagerInputStreaming:am}:{tools:null!=m?m:[],toolChoice:n,disableParallelToolUse:null==K?void 0:K.disableParallelToolUse,cacheControlValidator:$,supportsStructuredOutput:U,supportsStrictTools:V,defaultEagerInputStreaming:am}),ar=$.getWarnings();return{args:{...al,tools:an,tool_choice:ao,stream:!0===q||void 0},warnings:[...F,...ap,...ar],betas:new Set([...ab,...aq,...a,...null!=(E=null==K?void 0:K.anthropicBeta)?E:[]]),usesJsonResponseTool:null!=Y,toolNameMapping:_,providerOptionsName:G,usedCustomProviderKey:J}}async getHeaders({betas:a,headers:b}){return(0,c.combineHeaders)(this.config.headers?await (0,c.resolve)(this.config.headers):void 0,b,a.size>0?{"anthropic-beta":Array.from(a).join(",")}:{})}async getBetasFromHeaders(a){var b,d;let e=this.config.headers?await (0,c.resolve)(this.config.headers):void 0,f=null!=(b=null==e?void 0:e["anthropic-beta"])?b:"",g=null!=(d=null==a?void 0:a["anthropic-beta"])?d:"";return new Set([...f.toLowerCase().split(","),...g.toLowerCase().split(",")].map(a=>a.trim()).filter(a=>""!==a))}buildRequestUrl(a){var b,c,d;return null!=(d=null==(c=(b=this.config).buildRequestUrl)?void 0:c.call(b,this.config.baseURL,a))?d:`${this.config.baseURL}/messages`}transformRequestBody(a,b){var c,d,e;return null!=(e=null==(d=(c=this.config).transformRequestBody)?void 0:d.call(c,a,b))?e:a}extractCitationDocuments(a){return a.filter(a=>"user"===a.role).flatMap(a=>a.content).filter(a=>{var b,c;if("file"!==a.type||"application/pdf"!==a.mediaType&&"text/plain"!==a.mediaType)return!1;let d=null==(b=a.providerOptions)?void 0:b.anthropic,e=null==d?void 0:d.citations;return null!=(c=null==e?void 0:e.enabled)&&c}).map(a=>{var b;return{title:null!=(b=a.filename)?b:"Untitled Document",filename:a.filename,mediaType:a.mediaType}})}async doGenerate(a){var b,d,e,f,h,i,j,k,l,m,o,p;let q,r,s,{args:t,warnings:u,betas:v,usesJsonResponseTool:w,toolNameMapping:x,providerOptionsName:y,usedCustomProviderKey:z}=await this.getArgs({...a,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders(a.headers)}),A=[...this.extractCitationDocuments(a.prompt)],B=ap(t.tools),{responseHeaders:C,value:D,rawValue:E}=await (0,c.postJsonToApi)({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:v,headers:a.headers}),body:this.transformRequestBody(t,v),failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(n),abortSignal:a.abortSignal,fetch:this.config.fetch}),F=[],G={},H={},I=!1;for(let a of D.content)switch(a.type){case"text":if(!w){let c=null==(b=a.citations)?void 0:b.filter(a=>"web_search_result_location"===a.type);if(F.push({type:"text",text:a.text,...null!=c&&c.length>0&&{providerMetadata:{anthropic:{citations:c}}}}),a.citations)for(let b of a.citations){let a=al(b,A,this.generateId);a&&F.push(a)}}break;case"thinking":F.push({type:"reasoning",text:a.thinking,providerMetadata:{anthropic:{signature:a.signature}}});break;case"redacted_thinking":F.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:a.data}}});break;case"container_upload":F.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:a.file_id}}});break;case"compaction":F.push({type:"text",text:a.content,providerMetadata:{anthropic:{type:"compaction"}}});break;case"tool_use":w&&"json"===a.name?(I=!0,F.push({type:"text",text:JSON.stringify(a.input)})):F.push({type:"tool-call",toolCallId:a.id,toolName:a.name,input:JSON.stringify(a.input),...an(a.caller)});break;case"server_tool_use":if("text_editor_code_execution"===a.name||"bash_code_execution"===a.name)F.push({type:"tool-call",toolCallId:a.id,toolName:x.toCustomToolName("code_execution"),input:JSON.stringify({type:a.name,...a.input}),providerExecuted:!0,...B&&1?{dynamic:!0}:{},...an(a.caller)});else if("web_search"===a.name||"code_execution"===a.name||"web_fetch"===a.name){let b="code_execution"===a.name&&null!=a.input&&"object"==typeof a.input&&"code"in a.input&&!("type"in a.input)?{type:"programmatic-tool-call",...a.input}:a.input;F.push({type:"tool-call",toolCallId:a.id,toolName:x.toCustomToolName(a.name),input:JSON.stringify(b),providerExecuted:!0,...B&&"code_execution"===a.name?{dynamic:!0}:{},...an(a.caller)})}else"tool_search_tool_regex"===a.name||"tool_search_tool_bm25"===a.name?(H[a.id]=a.name,F.push({type:"tool-call",toolCallId:a.id,toolName:x.toCustomToolName(a.name),input:JSON.stringify(a.input),providerExecuted:!0,...an(a.caller)})):"advisor"===a.name&&F.push({type:"tool-call",toolCallId:a.id,toolName:x.toCustomToolName("advisor"),input:JSON.stringify(a.input),providerExecuted:!0,...an(a.caller)});break;case"mcp_tool_use":G[a.id]={type:"tool-call",toolCallId:a.id,toolName:a.name,input:JSON.stringify(a.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:a.server_name}}},F.push(G[a.id]);break;case"mcp_tool_result":F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:G[a.tool_use_id].toolName,isError:a.is_error,result:a.content,dynamic:!0,providerMetadata:G[a.tool_use_id].providerMetadata});break;case"web_fetch_tool_result":"web_fetch_result"===a.content.type?(A.push({title:null!=(d=a.content.content.title)?d:a.content.url,mediaType:a.content.content.source.media_type}),F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:a.content.url,retrievedAt:a.content.retrieved_at,content:{type:a.content.content.type,title:a.content.content.title,citations:a.content.content.citations,source:{type:a.content.content.source.type,mediaType:a.content.content.source.media_type,data:a.content.content.source.data}}},...an(a.caller)})):"web_fetch_tool_result_error"===a.content.type&&F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:a.content.error_code},...an(a.caller)});break;case"web_search_tool_result":if(Array.isArray(a.content))for(let b of(F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("web_search"),result:a.content.map(a=>{var b;return{url:a.url,...null!=a.title?{title:a.title}:{},pageAge:null!=(b=a.page_age)?b:null,encryptedContent:a.encrypted_content,type:a.type}}),...an(a.caller)}),a.content))F.push({type:"source",sourceType:"url",id:this.generateId(),url:b.url,...null!=b.title?{title:b.title}:{},providerMetadata:{anthropic:{pageAge:null!=(e=b.page_age)?e:null}}});else F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:a.content.error_code},...an(a.caller)});break;case"code_execution_tool_result":"code_execution_result"===a.content.type?F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:{type:a.content.type,stdout:a.content.stdout,stderr:a.content.stderr,return_code:a.content.return_code,content:null!=(f=a.content.content)?f:[]}}):"encrypted_code_execution_result"===a.content.type?F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:{type:a.content.type,encrypted_stdout:a.content.encrypted_stdout,stderr:a.content.stderr,return_code:a.content.return_code,content:null!=(h=a.content.content)?h:[]}}):"code_execution_tool_result_error"===a.content.type&&F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:a.content.error_code}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName("code_execution"),result:a.content});break;case"tool_search_tool_result":{let b=H[a.tool_use_id];if(null==b){let a=x.toCustomToolName("tool_search_tool_bm25");x.toCustomToolName("tool_search_tool_regex"),b="tool_search_tool_bm25"!==a?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===a.content.type?F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName(b),result:a.content.tool_references.map(a=>({type:a.type,toolName:a.tool_name}))}):F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:x.toCustomToolName(b),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:a.content.error_code}});break}case"advisor_tool_result":{let b=x.toCustomToolName("advisor");"advisor_result"===a.content.type?F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,result:{type:"advisor_result",text:a.content.text,...null!=a.content.stop_reason&&{stopReason:a.content.stop_reason}}}):"advisor_redacted_result"===a.content.type?F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,result:{type:"advisor_redacted_result",encryptedContent:a.content.encrypted_content,...null!=a.content.stop_reason&&{stopReason:a.content.stop_reason}}}):F.push({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,isError:!0,result:{type:"advisor_tool_result_error",errorCode:a.content.error_code}})}}return{content:F,finishReason:{unified:ag({finishReason:D.stop_reason,isJsonResponseFromTool:I}),raw:null!=(i=D.stop_reason)?i:void 0},usage:S({usage:D.usage}),request:{body:t},response:{id:null!=(j=D.id)?j:void 0,modelId:null!=(k=D.model)?k:void 0,headers:C,body:E},warnings:u,providerMetadata:(q=ar(D.stop_details),s={anthropic:r={usage:D.usage,stopSequence:null!=(l=D.stop_sequence)?l:null,...null!=q?{stopDetails:q}:{},iterations:D.usage.iterations?D.usage.iterations.map(a=>({type:a.type,...null!=a.model?{model:a.model}:{},inputTokens:a.input_tokens,outputTokens:a.output_tokens,...a.cache_creation_input_tokens?{cacheCreationInputTokens:a.cache_creation_input_tokens}:{},...a.cache_read_input_tokens?{cacheReadInputTokens:a.cache_read_input_tokens}:{}})):null,container:D.container?{expiresAt:D.container.expires_at,id:D.container.id,skills:null!=(o=null==(m=D.container.skills)?void 0:m.map(a=>({type:a.type,skillId:a.skill_id,version:a.version})))?o:null}:null,contextManagement:null!=(p=aq(D.context_management))?p:null}},z&&"anthropic"!==y&&(s[y]=r),s)}}async doStream(a){var d,e,f,h;let i,j,k,l,{args:m,warnings:n,betas:p,usesJsonResponseTool:q,toolNameMapping:r,providerOptionsName:s,usedCustomProviderKey:t}=await this.getArgs({...a,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders(a.headers)}),u=[...this.extractCitationDocuments(a.prompt)],v=ap(m.tools),w=this.buildRequestUrl(!0),{responseHeaders:x,value:y}=await (0,c.postJsonToApi)({url:w,headers:await this.getHeaders({betas:p,headers:a.headers}),body:this.transformRequestBody(m,p),failedResponseHandler:g,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(o),abortSignal:a.abortSignal,fetch:this.config.fetch}),z={unified:"other",raw:void 0},A={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},B={},C={},D={},E=null,F=null,G=null,H=!1,I=!1,J=!1,K=this.generateId,[L,M]=y.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:n})},transform(d,e){var f,g,h,m,n,o,p,w,x,y,L,M,N,O,P,Q,R;if(J)return;if(a.includeRawChunks&&e.enqueue({type:"raw",rawValue:d.rawValue}),!d.success)return void e.enqueue({type:"error",error:d.error});let T=d.value;switch(T.type){case"ping":return;case"content_block_start":{let a=T.content_block,b=a.type;if("fallback"===b)return;switch(l=b,b){case"text":if(q)return;B[T.index]={type:"text",citations:[]},e.enqueue({type:"text-start",id:String(T.index)});return;case"thinking":B[T.index]={type:"reasoning"},e.enqueue({type:"reasoning-start",id:String(T.index)});return;case"redacted_thinking":B[T.index]={type:"reasoning"},e.enqueue({type:"reasoning-start",id:String(T.index),providerMetadata:{anthropic:{redactedData:a.data}}});return;case"compaction":B[T.index]={type:"text",citations:[]},e.enqueue({type:"text-start",id:String(T.index),providerMetadata:{anthropic:{type:"compaction"}}});return;case"tool_use":if(q&&"json"===a.name)H=!0,B[T.index]={type:"text",citations:[]},e.enqueue({type:"text-start",id:String(T.index)});else{let b=am(a.caller),c=a.input&&Object.keys(a.input).length>0?JSON.stringify(a.input):"";B[T.index]={type:"tool-call",toolCallId:a.id,toolName:a.name,input:c,firstDelta:0===c.length,...b&&{caller:b}},e.enqueue({type:"tool-input-start",id:a.id,toolName:a.name})}return;case"server_tool_use":{let b=am(a.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(a.name)){let c="text_editor_code_execution"===a.name||"bash_code_execution"===a.name?"code_execution":a.name,d="text_editor_code_execution"===a.name||"bash_code_execution"===a.name?a.name:"code_execution"===a.name?"programmatic-tool-call":void 0,f=r.toCustomToolName(c),g=null!=a.input&&"object"==typeof a.input&&Object.keys(a.input).length>0?JSON.stringify(a.input):"";B[T.index]={type:"tool-call",toolCallId:a.id,toolName:f,input:g,providerExecuted:!0,...v&&"code_execution"===c?{dynamic:!0}:{},firstDelta:0===g.length,providerToolName:c,providerToolInputType:d,...b&&{caller:b}},e.enqueue({type:"tool-input-start",id:a.id,toolName:f,providerExecuted:!0,...v&&"code_execution"===c?{dynamic:!0}:{}})}else if("tool_search_tool_regex"===a.name||"tool_search_tool_bm25"===a.name){D[a.id]=a.name;let c=r.toCustomToolName(a.name);B[T.index]={type:"tool-call",toolCallId:a.id,toolName:c,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:a.name,...b&&{caller:b}},e.enqueue({type:"tool-input-start",id:a.id,toolName:c,providerExecuted:!0})}else if("advisor"===a.name){let c=r.toCustomToolName("advisor");B[T.index]={type:"tool-call",toolCallId:a.id,toolName:c,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:a.name,...b&&{caller:b}},e.enqueue({type:"tool-input-start",id:a.id,toolName:c,providerExecuted:!0})}return}case"web_fetch_tool_result":"web_fetch_result"===a.content.type?(u.push({title:null!=(f=a.content.content.title)?f:a.content.url,mediaType:a.content.content.source.media_type}),e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:a.content.url,retrievedAt:a.content.retrieved_at,content:{type:a.content.content.type,title:a.content.content.title,citations:a.content.content.citations,source:{type:a.content.content.source.type,mediaType:a.content.content.source.media_type,data:a.content.content.source.data}}},...an(a.caller)})):"web_fetch_tool_result_error"===a.content.type&&e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:a.content.error_code},...an(a.caller)});return;case"web_search_tool_result":if(Array.isArray(a.content))for(let b of(e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("web_search"),result:a.content.map(a=>{var b;return{url:a.url,...null!=a.title?{title:a.title}:{},pageAge:null!=(b=a.page_age)?b:null,encryptedContent:a.encrypted_content,type:a.type}}),...an(a.caller)}),a.content))e.enqueue({type:"source",sourceType:"url",id:K(),url:b.url,...null!=b.title?{title:b.title}:{},providerMetadata:{anthropic:{pageAge:null!=(g=b.page_age)?g:null}}});else e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:a.content.error_code},...an(a.caller)});return;case"code_execution_tool_result":"code_execution_result"===a.content.type?e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("code_execution"),result:{type:a.content.type,stdout:a.content.stdout,stderr:a.content.stderr,return_code:a.content.return_code,content:null!=(h=a.content.content)?h:[]}}):"encrypted_code_execution_result"===a.content.type?e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("code_execution"),result:{type:a.content.type,encrypted_stdout:a.content.encrypted_stdout,stderr:a.content.stderr,return_code:a.content.return_code,content:null!=(m=a.content.content)?m:[]}}):"code_execution_tool_result_error"===a.content.type&&e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:a.content.error_code}});return;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":return void e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName("code_execution"),result:a.content});case"tool_search_tool_result":{let b=D[a.tool_use_id];if(null==b){let a=r.toCustomToolName("tool_search_tool_bm25");r.toCustomToolName("tool_search_tool_regex"),b="tool_search_tool_bm25"!==a?"tool_search_tool_bm25":"tool_search_tool_regex"}"tool_search_tool_search_result"===a.content.type?e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName(b),result:a.content.tool_references.map(a=>({type:a.type,toolName:a.tool_name}))}):e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:r.toCustomToolName(b),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:a.content.error_code}});return}case"advisor_tool_result":{let b=r.toCustomToolName("advisor");"advisor_result"===a.content.type?e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,result:{type:"advisor_result",text:a.content.text,...null!=a.content.stop_reason&&{stopReason:a.content.stop_reason}}}):"advisor_redacted_result"===a.content.type?e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,result:{type:"advisor_redacted_result",encryptedContent:a.content.encrypted_content,...null!=a.content.stop_reason&&{stopReason:a.content.stop_reason}}}):e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:b,isError:!0,result:{type:"advisor_tool_result_error",errorCode:a.content.error_code}});return}case"mcp_tool_use":C[a.id]={type:"tool-call",toolCallId:a.id,toolName:a.name,input:JSON.stringify(a.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:a.server_name}}},e.enqueue(C[a.id]);return;case"mcp_tool_result":return void e.enqueue({type:"tool-result",toolCallId:a.tool_use_id,toolName:C[a.tool_use_id].toolName,isError:a.is_error,result:a.content,dynamic:!0,providerMetadata:C[a.tool_use_id].providerMetadata});default:throw Error(`Unsupported content block type: ${b}`)}}case"content_block_stop":if(null!=B[T.index]){let a=B[T.index];switch(a.type){case"text":e.enqueue({type:"text-end",id:String(T.index),...a.citations.length>0&&{providerMetadata:{anthropic:{citations:a.citations}}}});break;case"reasoning":e.enqueue({type:"reasoning-end",id:String(T.index)});break;case"tool-call":if(!(q&&"json"===a.toolName)){e.enqueue({type:"tool-input-end",id:a.toolCallId});let b=""===a.input?"{}":a.input;if("code_execution"===a.providerToolName)try{let a=(0,c.secureJsonParse)(b);null!=a&&"object"==typeof a&&"code"in a&&!("type"in a)&&(b=JSON.stringify({type:"programmatic-tool-call",...a}))}catch(a){}e.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:b,providerExecuted:a.providerExecuted,...v&&"code_execution"===a.providerToolName?{dynamic:!0}:{},...a.caller&&{providerMetadata:{anthropic:{caller:a.caller}}}})}}delete B[T.index]}l=void 0;return;case"content_block_delta":{let a=T.delta.type;switch(a){case"text_delta":if(q)return;e.enqueue({type:"text-delta",id:String(T.index),delta:T.delta.text});return;case"thinking_delta":return void e.enqueue({type:"reasoning-delta",id:String(T.index),delta:T.delta.thinking});case"signature_delta":"thinking"===l&&e.enqueue({type:"reasoning-delta",id:String(T.index),delta:"",providerMetadata:{anthropic:{signature:T.delta.signature}}});return;case"compaction_delta":null!=T.delta.content&&e.enqueue({type:"text-delta",id:String(T.index),delta:T.delta.content});return;case"input_json_delta":{let a=B[T.index],b=T.delta.partial_json;if(0===b.length)return;if(H){if((null==a?void 0:a.type)!=="text")return;e.enqueue({type:"text-delta",id:String(T.index),delta:b})}else{if((null==a?void 0:a.type)!=="tool-call")return;a.firstDelta&&null!=a.providerToolInputType&&(b=`{"type": "${a.providerToolInputType}",${b.substring(1)}`),e.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:b}),a.input+=b,a.firstDelta=!1}return}case"citations_delta":{let a=T.delta.citation,b=B[T.index];(null==b?void 0:b.type)==="text"&&"web_search_result_location"===a.type&&b.citations.push(a);let c=al(a,u,K);c&&e.enqueue(c);return}default:throw Error(`Unsupported delta type: ${a}`)}}case"message_start":if(I){if(i===T.message.id)return;J=!0,e.enqueue({type:"error",error:new b.InvalidResponseDataError({data:T,message:`Received message_start for message ${JSON.stringify(T.message.id)} while message ${JSON.stringify(i)} is still open.`})});return}if(I=!0,i=T.message.id,A.input_tokens=T.message.usage.input_tokens,A.cache_read_input_tokens=null!=(n=T.message.usage.cache_read_input_tokens)?n:0,A.cache_creation_input_tokens=null!=(o=T.message.usage.cache_creation_input_tokens)?o:0,j={...T.message.usage},null!=T.message.container&&(G={expiresAt:T.message.container.expires_at,id:T.message.container.id,skills:null}),null!=T.message.stop_reason&&(z={unified:ag({finishReason:T.message.stop_reason,isJsonResponseFromTool:H}),raw:T.message.stop_reason}),e.enqueue({type:"response-metadata",id:null!=(p=T.message.id)?p:void 0,modelId:null!=(w=T.message.model)?w:void 0}),null!=T.message.content)for(let a=0;a<T.message.content.length;a++){let b=T.message.content[a];if("tool_use"===b.type){let a=am(b.caller);e.enqueue({type:"tool-input-start",id:b.id,toolName:b.name});let c=JSON.stringify(null!=(x=b.input)?x:{});e.enqueue({type:"tool-input-delta",id:b.id,delta:c}),e.enqueue({type:"tool-input-end",id:b.id}),e.enqueue({type:"tool-call",toolCallId:b.id,toolName:b.name,input:c,...a&&{providerMetadata:{anthropic:{caller:a}}}})}}return;case"message_delta":null!=T.usage.input_tokens&&A.input_tokens!==T.usage.input_tokens&&(A.input_tokens=T.usage.input_tokens),A.output_tokens=T.usage.output_tokens,null!=T.usage.output_tokens_details&&(A.output_tokens_details=T.usage.output_tokens_details),null!=T.usage.cache_read_input_tokens&&(A.cache_read_input_tokens=T.usage.cache_read_input_tokens),null!=T.usage.cache_creation_input_tokens&&(A.cache_creation_input_tokens=T.usage.cache_creation_input_tokens),null!=T.usage.iterations&&(A.iterations=T.usage.iterations),z={unified:ag({finishReason:T.delta.stop_reason,isJsonResponseFromTool:H}),raw:null!=(y=T.delta.stop_reason)?y:void 0},F=null!=(L=T.delta.stop_sequence)?L:null,k=ar(T.delta.stop_details),G=null!=T.delta.container?{expiresAt:T.delta.container.expires_at,id:T.delta.container.id,skills:null!=(N=null==(M=T.delta.container.skills)?void 0:M.map(a=>({type:a.type,skillId:a.skill_id,version:a.version})))?N:null}:null,T.context_management&&(E=aq(T.context_management)),j={...j,...T.usage};return;case"message_stop":{I=!1,i=void 0;let a={usage:null!=j?j:null,stopSequence:F,...null!=k?{stopDetails:k}:{},iterations:A.iterations?A.iterations.map(a=>({type:a.type,...null!=a.model?{model:a.model}:{},inputTokens:a.input_tokens,outputTokens:a.output_tokens,...a.cache_creation_input_tokens?{cacheCreationInputTokens:a.cache_creation_input_tokens}:{},...a.cache_read_input_tokens?{cacheReadInputTokens:a.cache_read_input_tokens}:{}})):null,container:G,contextManagement:E},b={anthropic:a};t&&"anthropic"!==s&&(b[s]=a),e.enqueue({type:"finish",finishReason:z,usage:S({usage:A,rawUsage:j}),providerMetadata:b});return}case"error":let U;return void e.enqueue({type:"error",error:(U=function(a){switch(a){case"api_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":return{statusCode:529,isRetryable:!0};case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"request_too_large":return{statusCode:413,isRetryable:!1};case"authentication_error":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":return{statusCode:404,isRetryable:!1};case"billing_error":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}((O=T.error).type),(0,c.createProviderStreamError)({message:O.message,type:O.type,code:null!=(P=O.code)?P:void 0,statusCode:null!=(Q=O.statusCode)?Q:U.statusCode,isRetryable:null!=(R=O.isRetryable)?R:U.isRetryable,data:"data"in O?O.data:O}))});default:throw Error(`Unsupported chunk type: ${T}`)}}})).tee(),N=L.getReader();try{await N.read();let a=await N.read();if((null==(d=a.value)?void 0:d.type)==="raw"&&(a=await N.read()),(null==(e=a.value)?void 0:e.type)==="error"){let d=a.value.error;if(!(0,c.isProviderStreamError)(d))throw Error("Expected a normalized Anthropic stream error");throw new b.APICallError({message:d.message,url:w,requestBodyValues:m,statusCode:null!=(f=d.statusCode)?f:500,responseHeaders:x,responseBody:JSON.stringify(d.data),isRetryable:null!=(h=d.isRetryable)&&h})}}finally{N.cancel().catch(()=>{}),N.releaseLock()}return{stream:M,request:{body:m},response:{headers:x}}}};function ap(a){if(!a)return!1;let b=!1,c=!1;for(let d of a){if("type"in d&&("web_fetch_20260209"===d.type||"web_search_20260209"===d.type)){b=!0;continue}if("type"in d&&("code_execution_20250522"===d.type||"code_execution_20250825"===d.type||"code_execution_20260120"===d.type)){c=!0;break}}return b&&!c}function aq(a){return a?{appliedEdits:a.applied_edits.map(a=>{switch(a.type){case"clear_tool_uses_20250919":return{type:a.type,clearedToolUses:a.cleared_tool_uses,clearedInputTokens:a.cleared_input_tokens};case"clear_thinking_20251015":return{type:a.type,clearedThinkingTurns:a.cleared_thinking_turns,clearedInputTokens:a.cleared_input_tokens};case"compact_20260112":return{type:a.type}}}).filter(a=>void 0!==a)}:null}function ar(a){if(null!=a)return{type:a.type,...null!=a.category?{category:a.category}:{},...null!=a.explanation?{explanation:a.explanation}:{},...null!=a.recommended_model?{recommendedModel:a.recommended_model}:{}}}var as=/^[A-Za-z0-9_-]{1,64}$/,at=s.pick({anthropicBeta:!0}),au=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({id:d.z.string(),type:d.z.literal("message_batch"),processing_status:d.z.string(),request_counts:d.z.object({processing:d.z.number(),succeeded:d.z.number(),errored:d.z.number(),canceled:d.z.number(),expired:d.z.number()}),created_at:d.z.string(),expires_at:d.z.string(),archived_at:d.z.string().nullish(),cancel_initiated_at:d.z.string().nullish(),ended_at:d.z.string().nullish(),results_url:d.z.string().nullish()}))),av=new Set(["advisor_tool_result","bash_code_execution_tool_result","code_execution_tool_result","compaction","container_upload","fallback","mcp_tool_result","mcp_tool_use","redacted_thinking","server_tool_use","text","text_editor_code_execution_tool_result","thinking","tool_search_tool_result","tool_use","web_fetch_tool_result","web_search_tool_result"]),aw=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("type",[d.z.object({type:d.z.literal("succeeded"),message:d.z.unknown()}),d.z.object({type:d.z.literal("errored"),error:d.z.object({type:d.z.literal("error"),error:d.z.object({type:d.z.string(),message:d.z.string()}),request_id:d.z.string().nullish()})}),d.z.object({type:d.z.literal("canceled")}),d.z.object({type:d.z.literal("expired")})]))),ax=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({custom_id:d.z.string(),result:d.z.unknown()}))),ay=class a extends ao{static[e.WORKFLOW_SERIALIZE](a){return ao[e.WORKFLOW_SERIALIZE](a)}static[e.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:d,headers:e,abortSignal:f,webhookUrl:h}){var i,j=a;let k=new Set;for(let a of j){if(!as.test(a.id))throw new b.InvalidArgumentError({argument:"requests",message:`Anthropic batch request ID "${a.id}" must match ^[A-Za-z0-9_-]{1,64}$.`});if(k.has(a.id))throw new b.InvalidArgumentError({argument:"requests",message:`Anthropic batch request IDs must be unique; duplicate ID "${a.id}".`});k.add(a.id)}let l=new Set(await az({provider:this.config.provider,providerOptions:d})),m=new Set(l),n=[],o=null==h?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The Anthropic Message Batches API does not support completion webhooks."}}];for(let c of a){if((await az({provider:this.config.provider,providerOptions:c.options.providerOptions})).length>0)throw new b.UnsupportedFunctionalityError({functionality:"per-request providerOptions.anthropic.anthropicBeta",message:`Anthropic Message Batches do not support per-request betas (request "${c.id}"). Set providerOptions.anthropic.anthropicBeta on startTextBatch instead.`});let a=await this.getArgs({...c.options,stream:!1,userSuppliedBetas:new Set(l)});if(a.usesJsonResponseTool)throw new b.UnsupportedFunctionalityError({functionality:"batch responseFormat JSON-tool fallback",message:`Anthropic Message Batches cannot decode the JSON-tool structured-output fallback (request "${c.id}") because batch results are retrieved independently of the start call. Use a model that supports native output_format structured outputs.`});let d=null==(i=c.options.tools)?void 0:i.find(b=>"provider"===b.type&&a.toolNameMapping.toProviderToolName(b.name)!==b.name);if(null!=d)throw new b.UnsupportedFunctionalityError({functionality:"aliased provider tool names in batches",message:`Anthropic Message Batches cannot restore the custom provider-tool name "${d.name}" when results are retrieved independently of the start call (request "${c.id}"). Use the provider's canonical tool name.`});let e=this.transformRequestBody(a.args,a.betas);for(let d of(function({body:a,requestId:c}){if(null!=a.speed)throw new b.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.speed",message:`Anthropic Message Batches do not support speed (request "${c}").`});if(Array.isArray(a.fallbacks)&&a.fallbacks.some(a=>null!=a&&"object"==typeof a&&"speed"in a&&null!=a.speed))throw new b.UnsupportedFunctionalityError({functionality:"providerOptions.anthropic.fallbacks[].speed",message:`Anthropic Message Batches do not support fallback speed (request "${c}").`})}({body:e,requestId:c.id}),n.push({custom_id:c.id,params:e}),a.betas))m.add(d);for(let b of a.warnings)o.push({requestId:c.id,warning:b})}let{value:p}=await (0,c.postJsonToApi)({url:this.getBatchUrl(""),headers:await this.getStartBatchHeaders({betas:m,headers:e}),body:{requests:n},failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(au),abortSignal:f,fetch:this.config.fetch});return{batchId:p.id,...aA(p),warnings:o}}async experimental_doGetBatchStatus(a){return aA(await this.retrieveBatch(a))}async experimental_doGetBatchResults(a){let d=await this.retrieveBatch(a);if("pending"===aA(d).status)throw new b.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${a.batchId}" is not complete.`});if(null!=d.archived_at)throw new b.InvalidArgumentError({argument:"batchId",message:`Anthropic batch "${a.batchId}" results are no longer available.`});if(null==d.results_url)throw new b.InvalidResponseDataError({data:d,message:`Anthropic batch "${a.batchId}" completed without batch output.`});let{value:e}=await (0,c.getFromApi)({url:d.results_url,validateUrl:!0,credentialedOrigin:this.config.baseURL,trustedOrigin:this.config.baseURL,headers:await this.getBatchHeaders(a.headers),failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonLinesResponseHandler)(ax),abortSignal:a.abortSignal,fetch:this.config.fetch});return(0,c.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(e))}async retrieveBatch(a){let{value:b}=await (0,c.getFromApi)({url:this.getBatchUrl(`/${encodeURIComponent(a.batchId)}`),validateUrl:!1,headers:await this.getBatchHeaders(a.headers),failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(au),abortSignal:a.abortSignal,fetch:this.config.fetch});return b}async *iterateBatchResults(a){for await(let b of a)yield await aB(b,this.generateId)}getBatchUrl(a){return`${this.config.baseURL}/messages/batches${a}`}async getStartBatchHeaders({betas:a,headers:b}){return(0,c.combineHeaders)((0,c.normalizeHeaders)(await this.getBatchHeaders(b)),{"anthropic-beta":a.size>0?Array.from(a).join(","):void 0})}async getBatchHeaders(a){return(0,c.combineHeaders)(this.config.headers?await (0,c.resolve)(this.config.headers):void 0,a)}};async function az({provider:a,providerOptions:b}){var d;let e=a.split(".")[0],f=await (0,c.parseProviderOptions)({provider:"anthropic",providerOptions:b,schema:at}),g="anthropic"!==e?await (0,c.parseProviderOptions)({provider:e,providerOptions:b,schema:at}):void 0;return null!=(d=Object.assign({},null!=f?f:{},null!=g?g:{}).anthropicBeta)?d:[]}function aA(a){var b,d,e,f,g;let h=(g=a.request_counts,(0,c.normalizeBatchRequestCounts)({total:g.processing+g.succeeded+g.errored+g.canceled+g.expired,pending:g.processing,completed:g.succeeded,failed:g.errored+g.canceled+g.expired}));return{status:"ended"===a.processing_status?"completed":"pending",rawStatus:a.processing_status,...null!=h?{requestCounts:h}:{},createdAt:a.created_at,expiresAt:a.expires_at,providerMetadata:{anthropic:{archivedAt:null!=(b=a.archived_at)?b:null,cancelInitiatedAt:null!=(d=a.cancel_initiated_at)?d:null,endedAt:null!=(e=a.ended_at)?e:null,requestCounts:a.request_counts,resultsUrl:null!=(f=a.results_url)?f:null}}}}async function aB(a,b){let d=await (0,c.safeValidateTypes)({value:a.result,schema:aw});if(!d.success)return aC(a.custom_id);let e=d.value;switch(e.type){case"canceled":return{id:a.custom_id,status:"cancelled"};case"expired":return{id:a.custom_id,status:"expired"};case"errored":{let b=e.error.request_id;return{id:a.custom_id,status:"failed",error:{message:e.error.error.message,type:e.error.error.type},...null!=b?{providerMetadata:{anthropic:{requestId:b}}}:{}}}case"succeeded":{let c=await aD(e.message);if(null==c)return aC(a.custom_id);return{id:a.custom_id,status:"succeeded",result:function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;let p,q=[],r={},s={};for(let h of a.content)switch(h.type){case"text":let a=h.citations;for(let d of(q.push({type:"text",text:h.text,...null!=a&&a.length>0&&{providerMetadata:{anthropic:{citations:a}}}}),null!=(c=h.citations)?c:[])){let a=al(d,[],b);null!=a&&q.push(a)}break;case"thinking":q.push({type:"reasoning",text:h.thinking,providerMetadata:{anthropic:{signature:h.signature}}});break;case"redacted_thinking":q.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:h.data}}});break;case"container_upload":q.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:h.file_id}}});break;case"compaction":q.push({type:"text",text:h.content,providerMetadata:{anthropic:{type:"compaction"}}});break;case"tool_use":q.push({type:"tool-call",toolCallId:h.id,toolName:h.name,input:JSON.stringify(h.input),...aE(h.caller)});break;case"server_tool_use":{let a="bash_code_execution"===h.name||"text_editor_code_execution"===h.name,b=a||"code_execution"===h.name,c=a?"code_execution":h.name;("tool_search_tool_bm25"===h.name||"tool_search_tool_regex"===h.name)&&(s[h.id]=h.name),q.push({type:"tool-call",toolCallId:h.id,toolName:c,input:JSON.stringify(a?{type:h.name,...null!=(d=h.input)?d:{}}:"code_execution"===h.name&&null!=h.input&&"code"in h.input&&!("type"in h.input)?{type:"programmatic-tool-call",...h.input}:h.input),providerExecuted:!0,...b?{dynamic:!0}:{},...aE(h.caller)});break}case"mcp_tool_use":{let a={type:"tool-call",toolCallId:h.id,toolName:h.name,input:JSON.stringify(h.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{serverName:h.server_name,type:"mcp-tool-use"}}};r[h.id]=a,q.push(a);break}case"mcp_tool_result":{let a=r[h.tool_use_id];q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:null!=(e=null==a?void 0:a.toolName)?e:"mcp",isError:h.is_error,result:h.content,dynamic:!0,...(null==a?void 0:a.providerMetadata)!=null&&{providerMetadata:a.providerMetadata}});break}case"web_fetch_tool_result":q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"web_fetch",..."web_fetch_tool_result_error"===h.content.type?{isError:!0,result:{errorCode:h.content.error_code,type:h.content.type}}:{result:{content:{citations:h.content.content.citations,source:{data:h.content.content.source.data,mediaType:h.content.content.source.media_type,type:h.content.content.source.type},title:h.content.content.title,type:h.content.content.type},retrievedAt:h.content.retrieved_at,type:h.content.type,url:h.content.url}},...aE(h.caller)});break;case"web_search_tool_result":if(q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"web_search",...Array.isArray(h.content)?{result:h.content.map(a=>{var b;return{encryptedContent:a.encrypted_content,pageAge:null!=(b=a.page_age)?b:null,...null!=a.title?{title:a.title}:{},type:a.type,url:a.url}})}:{isError:!0,result:{errorCode:h.content.error_code,type:h.content.type}},...aE(h.caller)}),Array.isArray(h.content))for(let a of h.content)q.push({type:"source",sourceType:"url",id:b(),url:a.url,...null!=a.title?{title:a.title}:{},providerMetadata:{anthropic:{pageAge:null!=(f=a.page_age)?f:null}}});break;case"code_execution_tool_result":q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"code_execution",..."code_execution_tool_result_error"===h.content.type?{isError:!0,result:{errorCode:h.content.error_code,type:h.content.type}}:{result:h.content}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"code_execution",result:h.content});break;case"tool_search_tool_result":{let a=null!=(g=s[h.tool_use_id])?g:"tool_search_tool_regex";q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:a,..."tool_search_tool_result_error"===h.content.type?{isError:!0,result:{errorCode:h.content.error_code,type:h.content.type}}:{result:h.content.tool_references.map(a=>({toolName:a.tool_name,type:a.type}))}});break}case"advisor_tool_result":"advisor_result"===h.content.type?q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"advisor",result:{type:h.content.type,text:h.content.text,...null!=h.content.stop_reason?{stopReason:h.content.stop_reason}:{}}}):"advisor_redacted_result"===h.content.type?q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"advisor",result:{type:h.content.type,encryptedContent:h.content.encrypted_content,...null!=h.content.stop_reason?{stopReason:h.content.stop_reason}:{}}}):q.push({type:"tool-result",toolCallId:h.tool_use_id,toolName:"advisor",isError:!0,result:{errorCode:h.content.error_code,type:h.content.type}})}return{content:q,finishReason:{unified:ag({finishReason:a.stop_reason}),raw:null!=(h=a.stop_reason)?h:void 0},usage:S({usage:a.usage}),response:{id:null!=(i=a.id)?i:void 0,modelId:null!=(j=a.model)?j:void 0},warnings:[],providerMetadata:{anthropic:(p=function(a){if(null!=a)return{type:a.type,...null!=a.category?{category:a.category}:{},...null!=a.explanation?{explanation:a.explanation}:{},...null!=a.recommended_model?{recommendedModel:a.recommended_model}:{}}}((k=a).stop_details),{usage:k.usage,stopSequence:null!=(l=k.stop_sequence)?l:null,...null!=p?{stopDetails:p}:{},iterations:k.usage.iterations?k.usage.iterations.map(a=>({type:a.type,...null!=a.model?{model:a.model}:{},inputTokens:a.input_tokens,outputTokens:a.output_tokens,...a.cache_creation_input_tokens?{cacheCreationInputTokens:a.cache_creation_input_tokens}:{},...a.cache_read_input_tokens?{cacheReadInputTokens:a.cache_read_input_tokens}:{}})):null,container:k.container?{expiresAt:k.container.expires_at,id:k.container.id,skills:null!=(n=null==(m=k.container.skills)?void 0:m.map(a=>({type:a.type,skillId:a.skill_id,version:a.version})))?n:null}:null,contextManagement:(o=k.context_management)?{appliedEdits:o.applied_edits.map(a=>{switch(a.type){case"clear_tool_uses_20250919":return{type:a.type,clearedToolUses:a.cleared_tool_uses,clearedInputTokens:a.cleared_input_tokens};case"clear_thinking_20251015":return{type:a.type,clearedThinkingTurns:a.cleared_thinking_turns,clearedInputTokens:a.cleared_input_tokens};case"compact_20260112":return{type:a.type}}})}:null})}}}(c,b)}}}}function aC(a){return{id:a,status:"failed",error:{message:"Anthropic returned an invalid Message batch result.",code:"invalid_response"}}}async function aD(a){let b=await (0,c.safeValidateTypes)({value:a,schema:n});if(b.success)return b.value;if(!(0,c.isRecord)(a)||!Array.isArray(a.content))return;let d=[];for(let b of a.content){let e=await (0,c.safeValidateTypes)({value:{...a,content:[b]},schema:n});if(e.success){let[a]=e.value.content;null!=a&&d.push(a)}else if(!(0,c.isRecord)(b)||"string"!=typeof b.type||av.has(b.type))return}let e=await (0,c.safeValidateTypes)({value:{...a,content:d},schema:n});return e.success?e.value:void 0}function aE(a){return null==a?{}:{providerMetadata:{anthropic:{caller:{type:a.type,toolId:a.tool_id}}}}}var aF=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.string(),restart:d.z.boolean().optional()}))),aG=(0,c.createProviderDefinedToolFactory)({id:"anthropic.bash_20241022",inputSchema:aF}),aH=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.string(),restart:d.z.boolean().optional()}))),aI=(0,c.createProviderDefinedToolFactory)({id:"anthropic.bash_20250124",inputSchema:aH}),aJ=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({action:d.z.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:d.z.array(d.z.number().int()).optional(),text:d.z.string().optional()}))),aK=(0,c.createProviderDefinedToolFactory)({id:"anthropic.computer_20241022",inputSchema:aJ}),aL=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({action:d.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:d.z.tuple([d.z.number().int(),d.z.number().int()]).optional(),duration:d.z.number().optional(),scroll_amount:d.z.number().optional(),scroll_direction:d.z.enum(["up","down","left","right"]).optional(),start_coordinate:d.z.tuple([d.z.number().int(),d.z.number().int()]).optional(),text:d.z.string().optional()}))),aM=(0,c.createProviderDefinedToolFactory)({id:"anthropic.computer_20250124",inputSchema:aL}),aN=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({action:d.z.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:d.z.tuple([d.z.number().int(),d.z.number().int()]).optional(),duration:d.z.number().optional(),region:d.z.tuple([d.z.number().int(),d.z.number().int(),d.z.number().int(),d.z.number().int()]).optional(),scroll_amount:d.z.number().optional(),scroll_direction:d.z.enum(["up","down","left","right"]).optional(),start_coordinate:d.z.tuple([d.z.number().int(),d.z.number().int()]).optional(),text:d.z.string().optional()}))),aO=(0,c.createProviderDefinedToolFactory)({id:"anthropic.computer_20251124",inputSchema:aN}),aP=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.discriminatedUnion("command",[d.z.object({command:d.z.literal("view"),path:d.z.string(),view_range:d.z.tuple([d.z.number(),d.z.number()]).optional()}),d.z.object({command:d.z.literal("create"),path:d.z.string(),file_text:d.z.string()}),d.z.object({command:d.z.literal("str_replace"),path:d.z.string(),old_str:d.z.string(),new_str:d.z.string()}),d.z.object({command:d.z.literal("insert"),path:d.z.string(),insert_line:d.z.number(),insert_text:d.z.string()}),d.z.object({command:d.z.literal("delete"),path:d.z.string()}),d.z.object({command:d.z.literal("rename"),old_path:d.z.string(),new_path:d.z.string()})]))),aQ=(0,c.createProviderDefinedToolFactory)({id:"anthropic.memory_20250818",inputSchema:aP}),aR=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.enum(["view","create","str_replace","insert","undo_edit"]),path:d.z.string(),file_text:d.z.string().optional(),insert_line:d.z.number().int().optional(),new_str:d.z.string().optional(),insert_text:d.z.string().optional(),old_str:d.z.string().optional(),view_range:d.z.array(d.z.number().int()).optional()}))),aS=(0,c.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20241022",inputSchema:aR}),aT=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.enum(["view","create","str_replace","insert","undo_edit"]),path:d.z.string(),file_text:d.z.string().optional(),insert_line:d.z.number().int().optional(),new_str:d.z.string().optional(),insert_text:d.z.string().optional(),old_str:d.z.string().optional(),view_range:d.z.array(d.z.number().int()).optional()}))),aU=(0,c.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250124",inputSchema:aT}),aV=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({command:d.z.enum(["view","create","str_replace","insert"]),path:d.z.string(),file_text:d.z.string().optional(),insert_line:d.z.number().int().optional(),new_str:d.z.string().optional(),insert_text:d.z.string().optional(),old_str:d.z.string().optional(),view_range:d.z.array(d.z.number().int()).optional()}))),aW=(0,c.createProviderDefinedToolFactory)({id:"anthropic.text_editor_20250429",inputSchema:aV}),aX=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.array(d.z.object({type:d.z.literal("tool_reference"),toolName:d.z.string()})))),aY=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({query:d.z.string(),limit:d.z.number().optional()}))),aZ=(0,c.createProviderExecutedToolFactory)({id:"anthropic.tool_search_bm25_20251119",inputSchema:aY,outputSchema:aX,supportsDeferredResults:!0}),a$={advisor_20260301:a=>x(a),bash_20241022:function(a={}){let{execute:b,...c}=a;return void 0===b?aG({...c,execute:async({command:a},{abortSignal:b,experimental_sandbox:c})=>{if(!c)throw Error("Sandbox session is not available");return await c.run({command:a,abortSignal:b})}}):aG({...c,...null===b?{}:{execute:b}})},bash_20250124:function(a={}){let{execute:b,...c}=a;return void 0===b?aI({...c,execute:async({command:a},{abortSignal:b,experimental_sandbox:c})=>{if(!c)throw Error("Sandbox session is not available");return await c.run({command:a,abortSignal:b})}}):aI({...c,...null===b?{}:{execute:b}})},codeExecution_20250522:(a={})=>V(a),codeExecution_20250825:(a={})=>(0,c.experimental_toolCaller)(Y(a),{type:"provider",prepareProviderOptions:a=>{var b;let c=null==a?void 0:a.anthropic;return{...a,anthropic:{...c,allowedCallers:[...new Set([...null!=(b=null==c?void 0:c.allowedCallers)?b:[],"code_execution_20250825"])]}}}}),codeExecution_20260120:(a={})=>(0,c.experimental_toolCaller)(_(a),{type:"provider",prepareProviderOptions:a=>{var b;let c=null==a?void 0:a.anthropic;return{...a,anthropic:{...c,allowedCallers:[...new Set([...null!=(b=null==c?void 0:c.allowedCallers)?b:[],"code_execution_20260120"])]}}}}),computer_20241022:aK,computer_20250124:aM,computer_20251124:aO,memory_20250818:aQ,textEditor_20241022:aS,textEditor_20250124:aU,textEditor_20250429:aW,textEditor_20250728:(a={})=>A(a),webFetch_20250910:(a={})=>Q(a),webFetch_20260209:(a={})=>M(a),webSearch_20250305:(a={})=>I(a),webSearch_20260209:(a={})=>E(a),toolSearchRegex_20251119:(a={})=>ac(a),toolSearchBm25_20251119:(a={})=>aZ(a)},a_=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({id:d.z.string(),display_title:d.z.string().nullish(),name:d.z.string().nullish(),description:d.z.string().nullish(),latest_version:d.z.string().nullish(),source:d.z.string(),created_at:d.z.string(),updated_at:d.z.string()})));(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({data:d.z.array(d.z.object({version:d.z.string()}))})));var a0=(0,c.lazySchema)(()=>(0,c.zodSchema)(d.z.object({type:d.z.string(),skill_id:d.z.string(),name:d.z.string().nullish(),description:d.z.string().nullish()})));function a1(a){let b=encodeURIComponent(a);return"."===b?"%252E":".."===b?"%252E%252E":b}var a2=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async getHeaders(){return(0,c.combineHeaders)(await (0,c.resolve)(this.config.headers),{"anthropic-beta":"skills-2025-10-02"})}async fetchVersionMetadata({skillId:a,version:b,headers:d}){let{value:e}=await (0,c.getFromApi)({url:`${this.config.baseURL}/skills/${a1(a)}/versions/${a1(b)}`,validateUrl:!1,headers:d,failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(a0),fetch:this.config.fetch});return{...null!=e.name?{name:e.name}:{},...null!=e.description?{description:e.description}:{}}}async uploadSkill(a){var b,d;let e=new FormData;for(let b of(null!=a.displayTitle&&e.append("display_title",a.displayTitle),a.files)){let a=(0,c.convertInlineFileDataToUint8Array)(b.data);e.append("files[]",new Blob([a]),b.path)}let f=await this.getHeaders(),{value:h}=await (0,c.postFormDataToApi)({url:`${this.config.baseURL}/skills`,headers:f,formData:e,failedResponseHandler:g,successfulResponseHandler:(0,c.createJsonResponseHandler)(a_),fetch:this.config.fetch}),i=null!=h.latest_version?await this.fetchVersionMetadata({skillId:h.id,version:h.latest_version,headers:f}):{},j=null!=(b=i.name)?b:h.name,k=null!=(d=i.description)?d:h.description;return{providerReference:{anthropic:h.id},...null!=h.display_title?{displayTitle:h.display_title}:{},...null!=j?{name:j}:{},...null!=k?{description:k}:{},...null!=h.latest_version?{latestVersion:h.latest_version}:{},providerMetadata:{anthropic:{...null!=h.source?{source:h.source}:{},...null!=h.created_at?{createdAt:h.created_at}:{},...null!=h.updated_at?{updatedAt:h.updated_at}:{}}},warnings:[]}}},a3="https://api.anthropic.com",a4=`${a3}/v1`;function a5(a={}){var d,e,f;let g,h=null!=(f=(0,c.loadOptionalSetting)({settingValue:a.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"}),d=(g=(0,c.withoutTrailingSlash)((0,c.validateBaseURL)(f)))===a3?a4:g)?d:a4,j=null!=(e=a.name)?e:"anthropic.messages";if(a.apiKey&&a.authToken)throw new b.InvalidArgumentError({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let k=()=>{let b=a.authToken?{Authorization:`Bearer ${a.authToken}`}:{"x-api-key":(0,c.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return(0,c.withUserAgentSuffix)({"anthropic-version":"2023-06-01",...b,...a.headers},"ai-sdk/anthropic/4.0.49")},l=b=>{var d;return new ay(b,{provider:j,baseURL:h,headers:k,fetch:a.fetch,generateId:null!=(d=a.generateId)?d:c.generateId,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]})})},m=function(a){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return l(a)};return m.specificationVersion="v4",m.languageModel=l,m.chat=l,m.messages=l,m.embeddingModel=a=>{throw new b.NoSuchModelError({modelId:a,modelType:"embeddingModel"})},m.textEmbeddingModel=m.embeddingModel,m.imageModel=a=>{throw new b.NoSuchModelError({modelId:a,modelType:"imageModel"})},m.files=()=>new i({provider:j,baseURL:h,headers:k,fetch:a.fetch}),m.skills=()=>new a2({provider:`${j.replace(".messages","")}.skills`,baseURL:h,headers:k,fetch:a.fetch}),m.tools=a$,m}a5(),a.s(["createAnthropic",0,a5])},140358,a=>{"use strict";var b=a.i(527990),c=a.i(652685),d=a.i(912735),e=a.i(53112),f=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({error:e.z.object({code:e.z.number().nullable(),message:e.z.string(),status:e.z.string(),details:e.z.array(e.z.unknown()).nullish()})}))),g=(0,b.createJsonErrorResponseHandler)({errorSchema:f,errorToMessage:a=>a.error.message}),h=e.z.union([e.z.object({text:e.z.string()}),e.z.object({inlineData:e.z.object({mimeType:e.z.string(),data:e.z.string()})}),e.z.object({fileData:e.z.object({fileUri:e.z.string(),mimeType:e.z.string()})})]),i=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({outputDimensionality:e.z.number().optional(),taskType:e.z.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:e.z.array(e.z.array(h).min(1).nullable()).optional()}))),j=class a{constructor(a,b){this.specificationVersion="v4",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:d,abortSignal:e,providerOptions:f}){let h=await (0,b.parseProviderOptions)({provider:"google",providerOptions:f,schema:i});if(a.length>this.maxEmbeddingsPerCall)throw new c.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:a});let j=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,d),m=null==h?void 0:h.content;if(null!=m&&m.length!==a.length)throw Error(`The number of multimodal content entries (${m.length}) must match the number of values (${a.length}).`);if(1===a.length){let c=null==m?void 0:m[0],d=a[0]?[{text:a[0]}]:[],f=null!=c?[...d,...c]:[{text:a[0]}],{responseHeaders:i,value:k,rawValue:n}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:j,body:{model:`models/${this.modelId}`,content:{parts:f},outputDimensionality:null==h?void 0:h.outputDimensionality,taskType:null==h?void 0:h.taskType},failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(l),abortSignal:e,fetch:this.config.fetch});return{warnings:[],embeddings:[k.embedding.values],usage:void 0,response:{headers:i,body:n}}}let{responseHeaders:n,value:o,rawValue:p}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:j,body:{requests:a.map((a,b)=>{let c=null==m?void 0:m[b];return{model:`models/${this.modelId}`,content:{role:"user",parts:null!=c?[...a?[{text:a}]:[],...c]:[{text:a}]},outputDimensionality:null==h?void 0:h.outputDimensionality,taskType:null==h?void 0:h.taskType}})},failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(k),abortSignal:e,fetch:this.config.fetch});return{warnings:[],embeddings:o.embeddings.map(a=>a.values),usage:void 0,response:{headers:n,body:p}}}},k=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({embeddings:e.z.array(e.z.object({values:e.z.array(e.z.number())}))}))),l=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({embedding:e.z.object({values:e.z.array(e.z.number())})})));function m(a){return a.includes("/")?a:`models/${a}`}function n(a){var c,d,e,f;if(null==a)return(0,b.createNullLanguageModelUsage)();let g=null!=(c=a.promptTokenCount)?c:0,h=null!=(d=a.candidatesTokenCount)?d:0,i=null!=(e=a.cachedContentTokenCount)?e:0,j=null!=(f=a.thoughtsTokenCount)?f:0;return{inputTokens:{total:g,noCache:g-i,cacheRead:i,cacheWrite:void 0},outputTokens:{total:h+j,text:h,reasoning:j},raw:a}}var o="recursive JSON Schema reference:";function p(a,b=!0){let d="object"==typeof a?a:void 0;return function a(b,d,e){var f;if(null==b)return;if("boolean"==typeof b)return{type:"boolean",properties:{}};if(null!=b.$ref)return function({jsonSchema:b,reference:d,isRoot:e,referenceContext:f}){let{definition:g,referenceKey:h}=function(a,b){let c,d=[{prefix:"#/$defs/",definitions:b.dollarDefinitions},{prefix:"#/definitions/",definitions:b.definitions}].find(({prefix:b})=>a.startsWith(b)),e=d?a.slice(d.prefix.length):void 0;(null==d||null==e||0===e.length||e.includes("/"))&&q(a);try{c=decodeURIComponent(e)}catch(b){q(a)}(c.includes("/")||/~(?![01])/u.test(c)||null==d.definitions)&&q(a);let f=c.replace(/~[01]/g,a=>"~1"===a?"/":"~");return Object.prototype.hasOwnProperty.call(d.definitions,f)||q(a),{definition:d.definitions[f],referenceKey:`${d.prefix}${f}`}}(d,f);if(f.resolvingReferences.has(h))throw new c.UnsupportedFunctionalityError({functionality:`${o} ${d}`,message:"Google schema conversion does not support recursive JSON Schema references."});let i=new Set(f.resolvingReferences);i.add(h);let{$ref:j,...k}=b;return a("boolean"==typeof g?!!g&&k:{...g,...k},e,{...f,resolvingReferences:i})}({jsonSchema:b,reference:b.$ref,isRoot:d,referenceContext:e});if(null!=(f=b)&&"object"==typeof f&&"object"===f.type&&(null==f.properties||0===Object.keys(f.properties).length)&&!f.additionalProperties)return d?void 0:b.description?{type:"object",description:b.description}:{type:"object"};let{type:g,description:h,required:i,properties:j,items:k,allOf:l,anyOf:m,oneOf:n,format:p,const:r,minLength:s,minItems:t,maxItems:u,enum:v}=b,w={};if(h&&(w.description=h),i&&(w.required=i),p&&(w.format=p),g)if(Array.isArray(g)){let a=g.includes("null"),b=g.filter(a=>"null"!==a);0===b.length?w.type="null":(w.anyOf=b.map(a=>({type:a})),a&&(w.nullable=!0))}else w.type=g;let x=null!=v?v:void 0!==r?[r]:void 0;if(void 0!==x&&function({values:a,type:b,result:d}){let e=Array.isArray(b)&&b.includes("null")||void 0===b&&a.includes(null),f=e?a.filter(a=>null!==a):a;if(a.length>0&&a.every(a=>null===a)&&(void 0===b||"null"===b||Array.isArray(b)&&b.includes("null"))){d.type="null",Array.isArray(b)&&delete d.anyOf;return}let g=function({values:a,type:b}){if(0===a.length)return;let c=a=>void 0===b||b===a||Array.isArray(b)&&b.includes(a);if(c("string")&&a.every(a=>"string"==typeof a))return"string";if((c("number")||c("integer"))&&a.every(a=>"number"==typeof a&&Number.isFinite(a))){if(c("number"))return"number";if(a.every(a=>Number.isInteger(a)))return"integer"}if(c("boolean")&&a.every(a=>"boolean"==typeof a))return"boolean"}({values:f,type:b});if(void 0===g)throw new c.UnsupportedFunctionalityError({functionality:"JSON Schema enum with mixed or unsupported values",message:"Google does not support this JSON Schema enum. Enum values must share one supported primitive type and match the schema type."});d.type=g,Array.isArray(b)&&delete d.anyOf,e&&(d.nullable=!0),"string"===g?d.enum=f:(d.format="enum",d.enum=f.map(String))}({values:x,type:g,result:w}),null!=j&&(w.properties=Object.entries(j).reduce((b,[c,d])=>(b[c]=a(d,!1,e),b),{})),k&&(w.items=Array.isArray(k)?k.map(b=>a(b,!1,e)):a(k,!1,e)),l&&(w.allOf=l.map(b=>a(b,!1,e))),m)if(m.some(a=>"object"==typeof a&&(null==a?void 0:a.type)==="null")){let b=m.filter(a=>"object"!=typeof a||(null==a?void 0:a.type)!=="null");if(1===b.length){let c=a(b[0],!1,e);"object"==typeof c&&(w.nullable=!0,Object.assign(w,c))}else w.anyOf=b.map(b=>a(b,!1,e)),w.nullable=!0}else w.anyOf=m.map(b=>a(b,!1,e));return n&&(w.oneOf=n.map(b=>a(b,!1,e))),void 0!==s&&(w.minLength=s),void 0!==t&&(w.minItems=t),void 0!==u&&(w.maxItems=u),w}(a,b,{definitions:null==d?void 0:d.definitions,dollarDefinitions:null==d?void 0:d.$defs,resolvingReferences:new Set})}function q(a){throw new c.UnsupportedFunctionalityError({functionality:`JSON Schema reference: ${a}`,message:"Google schema conversion only supports references to direct children of root-level $defs or definitions."})}var r=/^data:([^;,]+);base64,(.+)$/s,s=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({responseModalities:e.z.array(e.z.enum(["TEXT","IMAGE"])).optional(),thinkingConfig:e.z.object({thinkingBudget:e.z.number().optional(),includeThoughts:e.z.boolean().optional(),thinkingLevel:e.z.enum(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:e.z.string().optional(),structuredOutputs:e.z.boolean().optional(),safetySettings:e.z.array(e.z.object({category:e.z.enum(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:e.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:e.z.enum(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:e.z.boolean().optional(),labels:e.z.record(e.z.string(),e.z.string()).optional(),mediaResolution:e.z.enum(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:e.z.object({aspectRatio:e.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).optional(),imageSize:e.z.enum(["1K","2K","4K","512"]).optional(),personGeneration:e.z.enum(["PERSON_GENERATION_UNSPECIFIED","ALLOW_ALL","ALLOW_ADULT","ALLOW_NONE"]).optional(),prominentPeople:e.z.enum(["PROMINENT_PEOPLE_UNSPECIFIED","ALLOW_PROMINENT_PEOPLE","BLOCK_PROMINENT_PEOPLE"]).optional(),imageOutputOptions:e.z.object({mimeType:e.z.enum(["image/jpeg","image/png"]).optional(),compressionQuality:e.z.number().optional()}).optional()}).optional(),retrievalConfig:e.z.object({latLng:e.z.object({latitude:e.z.number(),longitude:e.z.number()}).optional()}).optional(),streamFunctionCallArguments:e.z.boolean().optional(),serviceTier:e.z.enum(["standard","flex","priority"]).optional(),sharedRequestType:e.z.enum(["priority","flex","standard"]).optional(),requestType:e.z.enum(["shared"]).optional()}))),t=/(^|\/)gemini-1(?:[.-]|$)/i,u=/(^|\/)gemini-2(?:[.-]|$)/i,v=/(^|\/)gemini-2\.5(?:[.-]|$)/i,w=/(^|\/)gemini-/i;function x(a){let b=w.test(a),c=u.test(a),d=t.test(a)||/(^|\/)gemini-pro(?:-vision)?$/i.test(a)||/(^|\/)gemini-robotics-er-1\.5(?:[.-]|$)/i.test(a),e=b&&!(d||c);return{supportsGemini2Tools:b&&!d||a.toLowerCase().includes("nano-banana"),supportsFileSearch:v.test(a)||e,usesGemini3Features:e}}function y(a){var b;let d={name:a.name,description:null!=(b=a.description)?b:""};try{return{...d,parameters:p(a.inputSchema)}}catch(b){if(!(c.UnsupportedFunctionalityError.isInstance(b)&&b.functionality.startsWith(o)))throw b;return{...d,parametersJsonSchema:a.inputSchema}}}var z=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(a){let b="";for(let c of a){let a=c.jsonPath.replace(/^\$\./,"");if(!a)continue;let d=function(a){let b=[];for(let c of a.split(".")){let a=c.indexOf("[");if(-1===a)b.push(c);else for(let d of(a>0&&b.push(c.slice(0,a)),c.matchAll(/\[(\d+)\]/g)))b.push(parseInt(d[1],10))}return b}(a),e=function(a,b){let c=a;for(let a of b){if(null==c||"object"!=typeof c)return;let b=c;if(!A.call(b,a))return;c=b[a]}return c}(this.accumulatedArgs,d);if(null!=c.stringValue&&void 0!==e){let a=JSON.stringify(c.stringValue).slice(1,-1);C(this.accumulatedArgs,d,e+c.stringValue),b+=a;continue}let f=function(a){var b,c;let d=null!=(c=null!=(b=a.stringValue)?b:a.numberValue)?c:a.boolValue;return null!=d?{value:d,json:JSON.stringify(d)}:"nullValue"in a?{value:null,json:"null"}:void 0}(c);null!=f&&(C(this.accumulatedArgs,d,f.value),b+=this.emitNavigationTo(d,c,f.json))}return this.jsonText+=b,{currentJSON:this.accumulatedArgs,textDelta:b}}finalize(){let a=JSON.stringify(this.accumulatedArgs),b=a.slice(this.jsonText.length);return{finalJSON:a,closingDelta:b}}ensureRoot(){return 0===this.pathStack.length?(this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{"):""}emitNavigationTo(a,b,c){let d="";this.stringOpen&&(d+='"',this.stringOpen=!1),d+=this.ensureRoot();let e=a.slice(0,-1),f=a[a.length-1],g=this.findCommonStackDepth(e);return d+=this.closeDownTo(g),d+=this.openDownTo(e,f),d+=this.emitLeaf(f,b,c)}findCommonStackDepth(a){let b=Math.min(this.pathStack.length-1,a.length),c=0;for(let d=0;d<b;d++)if(this.pathStack[d+1].segment===a[d])c++;else break;return c+1}closeDownTo(a){let b="";for(;this.pathStack.length>a;)b+=this.pathStack.pop().isArray?"]":"}";return b}openDownTo(a,b){let c="",d=this.pathStack.length-1;for(let e=d;e<a.length;e++){let d=a[e],f=this.pathStack[this.pathStack.length-1];f.childCount>0&&(c+=","),f.childCount++,"string"==typeof d&&(c+=`${JSON.stringify(d)}:`);let g="number"==typeof(e+1<a.length?a[e+1]:b);c+=g?"[":"{",this.pathStack.push({segment:d,isArray:g,childCount:0})}return c}emitLeaf(a,b,c){let d="",e=this.pathStack[this.pathStack.length-1];return e.childCount>0&&(d+=","),e.childCount++,"string"==typeof a&&(d+=`${JSON.stringify(a)}:`),null!=b.stringValue&&b.willContinue?(d+=c.slice(0,-1),this.stringOpen=!0):d+=c,d}},A=Object.prototype.hasOwnProperty;function B(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0})}function C(a,b,c){let d=a;for(let a=0;a<b.length-1;a++){var e;let c=b[a],f=b[a+1];e=d,A.call(e,c)&&null!=d[c]||B(d,c,"number"==typeof f?[]:{}),d=d[c]}B(d,b[b.length-1],c)}function D({finishReason:a,hasToolCalls:b}){switch(a){case"STOP":return b?"tool-calls":"stop";case"MAX_TOKENS":return"length";case"IMAGE_SAFETY":case"RECITATION":case"SAFETY":case"BLOCKLIST":case"PROHIBITED_CONTENT":case"SPII":return"content-filter";case"MALFORMED_FUNCTION_CALL":return"error";default:return"other"}}var E=["HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT"],F=/(^|\/)gemini-2\.5(?:[.-]|$)/i,G=class a{constructor(a,c){var d;this.specificationVersion="v4",this.modelId=a,this.config=c,this.generateId=null!=(d=c.generateId)?d:b.generateId}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}get supportedUrls(){var a,b,c;return null!=(c=null==(b=(a=this.config).supportedUrls)?void 0:b.call(a))?c:{}}async getArgs({prompt:a,maxOutputTokens:d,temperature:e,topP:f,topK:g,frequencyPenalty:h,presencePenalty:i,stopSequences:j,responseFormat:k,seed:l,tools:m,toolChoice:n,reasoning:o,providerOptions:q},{isStreaming:t=!1}={}){var u,v,w;let z,A=[],B=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let a of B)if(null!=(z=await (0,b.parseProviderOptions)({provider:a,providerOptions:q,schema:s})))break;null!=z||B.includes("google")||(z=await (0,b.parseProviderOptions)({provider:"google",providerOptions:q,schema:s}));let C=this.config.provider.startsWith("google.vertex.");(null==m?void 0:m.some(a=>"provider"===a.type&&"google.vertex_rag_store"===a.id))&&!C&&A.push({type:"other",message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`}),(null==z?void 0:z.streamFunctionCallArguments)&&!C&&A.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${this.config.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`}),(null==z?void 0:z.serviceTier)&&C&&A.push({type:"other",message:"'serviceTier' is a Gemini API option and is not supported on Vertex AI. Use 'sharedRequestType' (and optionally 'requestType') instead. See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo"}),((null==z?void 0:z.sharedRequestType)||(null==z?void 0:z.requestType))&&!C&&A.push({type:"other",message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${this.config.provider}).`});let D=C&&((null==z?void 0:z.sharedRequestType)||(null==z?void 0:z.requestType))?{...z.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":z.sharedRequestType},...z.requestType&&{"X-Vertex-AI-LLM-Request-Type":z.requestType}}:void 0,G=C||null==z?void 0:z.serviceTier,H=null==z?void 0:z.imageConfig;if(null!=H&&!C){let{personGeneration:a,prominentPeople:b,imageOutputOptions:c,...d}=H,e=Object.entries({personGeneration:a,prominentPeople:b,imageOutputOptions:c}).filter(([,a])=>null!=a).map(([a])=>`'imageConfig.${a}'`);e.length>0&&(A.push({type:"other",message:`${e.join(", ")} ${1===e.length?"is a Vertex AI option and is":"are Vertex AI options and are"} ignored with the current Google provider (${this.config.provider}).`}),H=d)}let I=this.modelId.toLowerCase().startsWith("gemma-"),J=!C&&F.test(this.modelId);J&&null!=h&&A.push({type:"unsupported",feature:"frequencyPenalty"}),J&&null!=i&&A.push({type:"unsupported",feature:"presencePenalty"});let{usesGemini3Features:K}=x(this.modelId),{contents:L,systemInstruction:M}=function(a,d){var e,f,g,h,i,j;let k=[],l=[],m=!0,n=null!=(e=null==d?void 0:d.isGemmaModel)&&e,o=null!=(f=null==d?void 0:d.isGemini3Model)&&f,p=null==d?void 0:d.onWarning,q=null!=(g=null==d?void 0:d.providerOptionsNames)?g:["google"],s=!q.includes("google"),t=null==(h=null==d?void 0:d.supportsFunctionResponseParts)||h,u=null==(i=null==d?void 0:d.includeFunctionCallIds)||i,v=!1,w=[],x=a=>(w.push(a),v=!0,"skip_thought_signature_validator"),y=a=>{var b,c,d,e,f;for(let c of q){let d=null==(b=a.providerOptions)?void 0:b[c];if(null!=d)return d}return s?null==(c=a.providerOptions)?void 0:c.google:null!=(f=null==(d=a.providerOptions)?void 0:d.googleVertex)?f:null==(e=a.providerOptions)?void 0:e.vertex};for(let{role:d,content:e}of a)switch(d){case"system":if(!m)throw new c.UnsupportedFunctionalityError({functionality:"system messages are only supported at the beginning of the conversation"});k.push({text:e});break;case"user":{m=!1;let a=[];for(let d of e)switch(d.type){case"text":a.push({text:d.text});break;case"file":switch(d.data.type){case"url":a.push({fileData:{mimeType:(0,b.resolveFullMediaType)({part:d}),fileUri:d.data.url.toString()}});break;case"reference":if(s)throw new c.UnsupportedFunctionalityError({functionality:"file parts with provider references"});a.push({fileData:{mimeType:(0,b.resolveFullMediaType)({part:d}),fileUri:(0,b.resolveProviderReference)({reference:d.data.reference,provider:"google"})}});break;case"text":a.push({inlineData:{mimeType:(0,b.isFullMediaType)(d.mediaType)?d.mediaType:"text/plain",data:(0,b.convertToBase64)(new TextEncoder().encode(d.data.text))}});break;case"data":a.push({inlineData:{mimeType:(0,b.resolveFullMediaType)({part:d}),data:(0,b.convertToBase64)(d.data.data)}})}}l.push({role:"user",parts:a});break}case"assistant":{m=!1;let a=!1;l.push({role:"model",parts:e.map(d=>{let e=y(d),f=(null==e?void 0:e.thoughtSignature)!=null?String(e.thoughtSignature):void 0;switch(d.type){case"text":return 0===d.text.length?void 0:{text:d.text,thoughtSignature:f};case"reasoning":return 0===d.text.length?void 0:{text:d.text,thought:!0,thoughtSignature:f};case"reasoning-file":switch(d.data.type){case"url":throw new c.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:d.mediaType,data:(0,b.convertToBase64)(d.data.data)},thought:!0,thoughtSignature:f}}break;case"file":switch(d.data.type){case"url":throw new c.UnsupportedFunctionalityError({functionality:"File data URLs in assistant messages are not supported"});case"reference":if(s)throw new c.UnsupportedFunctionalityError({functionality:"file parts with provider references"});return{fileData:{mimeType:d.mediaType,fileUri:(0,b.resolveProviderReference)({reference:d.data.reference,provider:"google"})},...(null==e?void 0:e.thought)===!0?{thought:!0}:{},thoughtSignature:f};case"text":return{inlineData:{mimeType:(0,b.isFullMediaType)(d.mediaType)?d.mediaType:"text/plain",data:(0,b.convertToBase64)(new TextEncoder().encode(d.data.text))},...(null==e?void 0:e.thought)===!0?{thought:!0}:{},thoughtSignature:f};case"data":return{inlineData:{mimeType:d.mediaType,data:(0,b.convertToBase64)(d.data.data)},...(null==e?void 0:e.thought)===!0?{thought:!0}:{},thoughtSignature:f}}break;case"tool-call":{let c=(null==e?void 0:e.serverToolCallId)!=null?String(e.serverToolCallId):void 0,g=(null==e?void 0:e.serverToolType)!=null?String(e.serverToolType):void 0,h=null!=c&&null!=g,i=!h&&null==f&&a,j=null!=f?f:o&&!i?x(d.toolName):void 0;if(h||null==f||(a=!0),h)return{toolCall:{toolType:g,args:"string"==typeof d.input?(0,b.secureJsonParse)(d.input):d.input,id:c},thoughtSignature:j};return{functionCall:{...u&&null!=d.toolCallId?{id:d.toolCallId}:{},name:d.toolName,args:d.input},thoughtSignature:j}}case"tool-result":{let a=(null==e?void 0:e.serverToolCallId)!=null?String(e.serverToolCallId):void 0,b=(null==e?void 0:e.serverToolType)!=null?String(e.serverToolType):void 0;if(a&&b)return{toolResponse:{toolType:b,response:"json"===d.output.type?d.output.value:{},id:a},thoughtSignature:f};return}}}).filter(a=>void 0!==a)});break}case"tool":{m=!1;let a=[];for(let c of e){if("tool-approval-response"===c.type)continue;let d=y(c),e=(null==d?void 0:d.serverToolCallId)!=null?String(d.serverToolCallId):void 0,f=(null==d?void 0:d.serverToolType)!=null?String(d.serverToolType):void 0;if(e&&f){let a=(null==d?void 0:d.thoughtSignature)!=null?String(d.thoughtSignature):void 0;if(l.length>0){let b=l[l.length-1];if("model"===b.role){b.parts.push({toolResponse:{toolType:f,response:"json"===c.output.type?c.output.value:{},id:e},thoughtSignature:a});continue}}}let g=c.output;"content"===g.type?t?function(a,c,d,e,f=!0){let g=[],h=[];for(let a of d)switch(a.type){case"text":h.push(a.text);break;case"file":if("data"===a.data.type)g.push({inlineData:{mimeType:(0,b.resolveFullMediaType)({part:a}),data:(0,b.convertToBase64)(a.data.data)}});else if("url"===a.data.type){let b=function(a){let b=function(a){let b=r.exec(a);if(null!=b)return{mediaType:b[1],data:b[2]}}(a);if(null!=b)return{inlineData:{mimeType:b.mediaType,data:b.data}}}(a.data.url.toString());null!=b?g.push(b):h.push(JSON.stringify(a))}else h.push(JSON.stringify(a));break;default:h.push(JSON.stringify(a))}a.push({functionResponse:{...f&&null!=e?{id:e}:{},name:c,response:{name:c,content:h.length>0?h.join("\n"):"Tool executed successfully."},...g.length>0?{parts:g}:{}}})}(a,c.toolName,g.value,c.toolCallId,u):function(a,c,d,e,f=!0){for(let g of d)switch(g.type){case"text":a.push({functionResponse:{...f&&null!=e?{id:e}:{},name:c,response:{name:c,content:g.text}}});break;case"file":if("data"===g.data.type){let c=(0,b.getTopLevelMediaType)(g.mediaType);a.push({inlineData:{mimeType:(0,b.resolveFullMediaType)({part:g}),data:(0,b.convertToBase64)(g.data.data)}},{text:`Tool executed successfully and returned this ${"image"===c?"image":"file"} as a response`})}else a.push({text:JSON.stringify(g)});break;default:a.push({text:JSON.stringify(g)})}}(a,c.toolName,g.value,c.toolCallId,u):a.push({functionResponse:{...u&&null!=c.toolCallId?{id:c.toolCallId}:{},name:c.toolName,response:{name:c.toolName,content:"execution-denied"===g.type?null!=(j=g.reason)?j:"Tool call execution denied.":g.value}}})}l.push({role:"user",parts:a})}}if(n&&k.length>0&&l.length>0&&"user"===l[0].role){let a=k.map(a=>a.text).join("\n\n");l[0].parts.unshift({text:a+"\n\n"})}if(v&&null!=p){let a=Array.from(new Set(w));p({type:"other",message:`Replayed ${w.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${a.map(a=>`\`${a}\``).join(", ")}). Injected the documented \`skip_thought_signature_validator\` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops \`providerOptions.google.thoughtSignature\` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures.`})}return{systemInstruction:k.length>0&&!n?{parts:k}:void 0,contents:l}}(a,{isGemmaModel:I,isGemini3Model:K,onWarning:a=>A.push(a),providerOptionsNames:B,supportsFunctionResponseParts:K,includeFunctionCallIds:!C}),{tools:N,toolConfig:O,toolWarnings:P}=function({tools:a,toolChoice:b,modelId:d,isVertexProvider:e=!1}){a=(null==a?void 0:a.length)?a:void 0;let f=[],{supportsGemini2Tools:g,supportsFileSearch:h,usesGemini3Features:i}=x(d);if(null==a)return{tools:void 0,toolConfig:void 0,toolWarnings:f};let j=a.some(a=>"function"===a.type),k=a.some(a=>"provider"===a.type);if(j&&k&&!i&&f.push({type:"unsupported",feature:"combination of function and provider-defined tools"}),k){let c=[];if(a.filter(a=>"provider"===a.type).forEach(a=>{switch(a.id){case"google.google_search":g?c.push({googleSearch:{...a.args}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":g?c.push({enterpriseWebSearch:{}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":g?c.push({urlContext:{}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":g?c.push({codeExecution:{}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":h?c.push({fileSearch:{...a.args}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":g?c.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:a.args.ragCorpus},similarity_top_k:a.args.topK}}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":g?c.push({googleMaps:{}}):f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:f.push({type:"unsupported",feature:`provider-defined tool ${a.id}`})}}),j&&i&&c.length>0){let d=[];for(let b of a)"function"===b.type&&d.push(y(b));let g={functionCallingConfig:{mode:"VALIDATED"},...!e&&{includeServerSideToolInvocations:!0}};if(null!=b)switch(b.type){case"auto":break;case"none":g.functionCallingConfig={mode:"NONE"};break;case"required":g.functionCallingConfig={mode:"ANY"};break;case"tool":g.functionCallingConfig={mode:"ANY",allowedFunctionNames:[b.toolName]}}return{tools:[...c,{functionDeclarations:d}],toolConfig:g,toolWarnings:f}}return{tools:c.length>0?c:void 0,toolConfig:void 0,toolWarnings:f}}let l=[],m=!1;for(let b of a)"function"===b.type?(l.push(y(b)),!0===b.strict&&(m=!0)):f.push({type:"unsupported",feature:`function tool ${b.name}`});if(null==b)return{tools:[{functionDeclarations:l}],toolConfig:m?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:f};let n=b.type;switch(n){case"auto":return{tools:[{functionDeclarations:l}],toolConfig:{functionCallingConfig:{mode:m?"VALIDATED":"AUTO"}},toolWarnings:f};case"none":return{tools:[{functionDeclarations:l}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:f};case"required":return{tools:[{functionDeclarations:l}],toolConfig:{functionCallingConfig:{mode:"ANY"}},toolWarnings:f};case"tool":return{tools:[{functionDeclarations:l}],toolConfig:{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[b.toolName]}},toolWarnings:f};default:throw new c.UnsupportedFunctionalityError({functionality:`tool choice type: ${n}`})}}({tools:m,toolChoice:n,modelId:this.modelId,isVertexProvider:C}),Q=(0,b.createToolNameMapping)({tools:m,providerToolNames:{"google.code_execution":"code_execution"}}),R=function({reasoning:a,modelId:c,warnings:d}){if((0,b.isCustomReasoning)(a))return x(c).usesGemini3Features&&!c.includes("gemini-3-pro-image")?function({reasoning:a,modelId:c,warnings:d}){let e=function(a){var b;let c=null==(b=a.split("/").at(-1))?void 0:b.toLowerCase();if("gemini-flash-latest"===c)return"low";let d=/^gemini-(\d+)\.(\d+)-flash(?:$|-(?!lite(?:-|$)))/.exec(null!=c?c:"");if(null==d)return"minimal";let e=Number(d[1]),f=Number(d[2]);return e>3||3===e&&f>=7?"low":"minimal"}(c);if("none"===a)return{thinkingLevel:e};let f=(0,b.mapReasoningToProviderEffort)({reasoning:a,effortMap:{minimal:e,low:"low",medium:"medium",high:"high",xhigh:"high"},warnings:d});if(null!=f)return{thinkingLevel:f}}({reasoning:a,modelId:c,warnings:d}):function({reasoning:a,modelId:c,warnings:d}){let e;if("none"===a)return{thinkingBudget:0};let f=(0,b.mapReasoningToProviderBudget)({reasoning:a,maxOutputTokens:65536,maxReasoningBudget:(e=c.toLowerCase()).includes("2.5-pro")||e.includes("gemini-3-pro-image")?32768:24576,minReasoningBudget:0,warnings:d});if(null!=f)return{thinkingBudget:f}}({reasoning:a,modelId:c,warnings:d})}({reasoning:o,modelId:this.modelId,warnings:A}),S=(null==z?void 0:z.thinkingConfig)||R?{...R,...null==z?void 0:z.thinkingConfig}:void 0,T=t&&C?null!=(u=null==z?void 0:z.streamFunctionCallArguments)&&u:void 0,U=null==z?void 0:z.threshold,V=null!=(v=null==z?void 0:z.safetySettings)?v:null!=U?E.map(a=>({category:a,threshold:U})):void 0,W=O||T||(null==z?void 0:z.retrievalConfig)?{...O,...T&&{functionCallingConfig:{...null==O?void 0:O.functionCallingConfig,streamFunctionCallArguments:!0}},...(null==z?void 0:z.retrievalConfig)&&{retrievalConfig:z.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:d,temperature:e,topK:g,topP:f,frequencyPenalty:J?void 0:h,presencePenalty:J?void 0:i,stopSequences:j,seed:l,responseMimeType:(null==k?void 0:k.type)==="json"?"application/json":void 0,responseSchema:(null==k?void 0:k.type)==="json"&&null!=k.schema&&(null==(w=null==z?void 0:z.structuredOutputs)||w)?p(k.schema):void 0,...(null==z?void 0:z.audioTimestamp)&&{audioTimestamp:z.audioTimestamp},responseModalities:null==z?void 0:z.responseModalities,thinkingConfig:S,...(null==z?void 0:z.mediaResolution)&&{mediaResolution:z.mediaResolution},...H&&{imageConfig:H}},contents:L,systemInstruction:I?void 0:M,safetySettings:V,tools:N,toolConfig:W,cachedContent:null==z?void 0:z.cachedContent,labels:null==z?void 0:z.labels,serviceTier:G},warnings:[...A,...P],providerOptionsNames:B,extraHeaders:D,toolNameMapping:Q}}convertGenerateContentResponse({response:a,warnings:b,providerOptionsNames:c,toolNameMapping:d}){var e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z;let A,B,C=a=>Object.fromEntries(c.map(b=>[b,a])),E=null==(e=a.candidates)?void 0:e[0],F=null==(f=a.promptFeedback)?void 0:f.blockReason,G=(null==E?void 0:E.finishReason)==null&&null!=F,I=null!=(h=null!=(g=null==E?void 0:E.finishReason)?g:F)?h:void 0,J=[],K=null!=(j=null==(i=null==E?void 0:E.content)?void 0:i.parts)?j:[],L=a.usageMetadata;for(let a of K)if("executableCode"in a&&(null==(k=a.executableCode)?void 0:k.code)){let b=this.config.generateId();A=b,J.push({type:"tool-call",toolCallId:b,toolName:null!=(l=null==d?void 0:d.toCustomToolName("code_execution"))?l:"code_execution",input:JSON.stringify(a.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in a&&a.codeExecutionResult)J.push({type:"tool-result",toolCallId:A,toolName:null!=(m=null==d?void 0:d.toCustomToolName("code_execution"))?m:"code_execution",result:{outcome:a.codeExecutionResult.outcome,output:null!=(o=a.codeExecutionResult.output)?o:""}});else if("text"in a&&null!=a.text){let b=a.thoughtSignature?C({thoughtSignature:a.thoughtSignature}):void 0;0===a.text.length?null!=b&&J.length>0&&(J[J.length-1].providerMetadata=b):J.push({type:!0===a.thought?"reasoning":"text",text:a.text,providerMetadata:b})}else if("functionCall"in a&&null!=a.functionCall.name)J.push({type:"tool-call",toolCallId:a.functionCall.id||this.config.generateId(),toolName:a.functionCall.name,input:JSON.stringify(null!=(p=a.functionCall.args)?p:{}),providerMetadata:a.thoughtSignature?C({thoughtSignature:a.thoughtSignature}):void 0});else if("inlineData"in a){let b=!0===a.thought,c=!!a.thoughtSignature;J.push({type:b?"reasoning-file":"file",data:{type:"data",data:a.inlineData.data},mediaType:a.inlineData.mimeType,providerMetadata:c?C({thoughtSignature:a.thoughtSignature}):void 0})}else if("toolCall"in a&&a.toolCall){let b=a.toolCall.id||this.config.generateId();B=b,J.push({type:"tool-call",toolCallId:b,toolName:`server:${a.toolCall.toolType}`,input:JSON.stringify(null!=(q=a.toolCall.args)?q:{}),providerExecuted:!0,dynamic:!0,providerMetadata:C(a.thoughtSignature?{thoughtSignature:a.thoughtSignature,serverToolCallId:b,serverToolType:a.toolCall.toolType}:{serverToolCallId:b,serverToolType:a.toolCall.toolType})})}else if("toolResponse"in a&&a.toolResponse){let b=B||a.toolResponse.id||this.config.generateId();J.push({type:"tool-result",toolCallId:b,toolName:`server:${a.toolResponse.toolType}`,result:null!=(r=a.toolResponse.response)?r:{},providerMetadata:C(a.thoughtSignature?{thoughtSignature:a.thoughtSignature,serverToolCallId:b,serverToolType:a.toolResponse.toolType}:{serverToolCallId:b,serverToolType:a.toolResponse.toolType})}),B=void 0}for(let a of null!=(s=H({groundingMetadata:null==E?void 0:E.groundingMetadata,generateId:this.config.generateId}))?s:[])J.push(a);return{content:J,finishReason:{unified:G?"content-filter":D({finishReason:I,hasToolCalls:J.some(a=>"tool-call"===a.type&&!a.providerExecuted)}),raw:I},usage:n(L),warnings:b,providerMetadata:C({promptFeedback:null!=(t=a.promptFeedback)?t:null,groundingMetadata:null!=(u=null==E?void 0:E.groundingMetadata)?u:null,urlContextMetadata:null!=(v=null==E?void 0:E.urlContextMetadata)?v:null,safetyRatings:null!=(w=null==E?void 0:E.safetyRatings)?w:null,usageMetadata:null!=L?L:null,finishMessage:null!=(x=null==E?void 0:E.finishMessage)?x:null,serviceTier:null!=(y=null==L?void 0:L.serviceTier)?y:null}),response:{id:null!=(z=a.responseId)?z:void 0}}}async doGenerate(a){let{args:c,warnings:d,providerOptionsNames:e,extraHeaders:f,toolNameMapping:h}=await this.getArgs(a),i=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers,f),{responseHeaders:j,value:k,rawValue:l}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/${m(this.modelId)}:generateContent`,headers:i,body:c,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(P),abortSignal:a.abortSignal,fetch:this.config.fetch}),n=this.convertGenerateContentResponse({response:k,warnings:d,providerOptionsNames:e,toolNameMapping:h});return{...n,request:{body:c},response:{...n.response,headers:j,body:l}}}async doStream(a){let c,d,e,f,{args:h,warnings:i,providerOptionsNames:j,extraHeaders:k,toolNameMapping:l}=await this.getArgs(a,{isStreaming:!0}),o=a=>Object.fromEntries(j.map(b=>[b,a])),p=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers,k),{responseHeaders:q,value:r}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/${m(this.modelId)}:streamGenerateContent?alt=sse`,headers:p,body:h,failedResponseHandler:g,successfulResponseHandler:(0,b.createEventSourceResponseHandler)(Q),abortSignal:a.abortSignal,fetch:this.config.fetch}),s={unified:"other",raw:void 0},t=null,u=null,v=this.config.generateId,w=!1,x=!1,y=null,A=null,B=0,C=new Set,E=[],F=a=>{let b=E.pop();if(null==b)return;let{finalJSON:c,closingDelta:d}=b.accumulator.finalize();d.length>0&&a.enqueue({type:"tool-input-delta",id:b.toolCallId,delta:d,providerMetadata:b.providerMetadata}),a.enqueue({type:"tool-input-end",id:b.toolCallId,providerMetadata:b.providerMetadata}),a.enqueue({type:"tool-call",toolCallId:b.toolCallId,toolName:b.toolName,input:c,providerMetadata:b.providerMetadata}),w=!0};return{stream:r.pipeThrough(new TransformStream({start(a){a.enqueue({type:"stream-start",warnings:i})},transform(b,g){var h,i,j,k,m,n,p,q,r,G,I,J,K,L,M,N,O;if(a.includeRawChunks&&g.enqueue({type:"raw",rawValue:b.rawValue}),!b.success)return void g.enqueue({type:"error",error:b.error});let P=b.value;x||null==P.responseId||(x=!0,g.enqueue({type:"response-metadata",id:P.responseId}));let Q=P.usageMetadata;null!=Q&&(e=Q);let R=null==(h=P.candidates)?void 0:h[0];if(null==R){let a=null==(i=P.promptFeedback)?void 0:i.blockReason;null!=a&&(s={unified:"content-filter",raw:a},f=o({promptFeedback:null!=(j=P.promptFeedback)?j:null,groundingMetadata:t,urlContextMetadata:u,safetyRatings:null,usageMetadata:null!=Q?Q:null,finishMessage:null,serviceTier:null!=(k=null==e?void 0:e.serviceTier)?k:null}));return}let S=R.content;null!=R.groundingMetadata&&(t=R.groundingMetadata),null!=R.urlContextMetadata&&(u=R.urlContextMetadata);let T=H({groundingMetadata:R.groundingMetadata,generateId:v});if(null!=T)for(let a of T)"url"!==a.sourceType||C.has(a.url)||(C.add(a.url),g.enqueue(a));if(null!=S){let a=null!=(m=S.parts)?m:[];for(let b of a)if("executableCode"in b&&(null==(n=b.executableCode)?void 0:n.code)){let a=v();c=a,g.enqueue({type:"tool-call",toolCallId:a,toolName:l.toCustomToolName("code_execution"),input:JSON.stringify(b.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in b&&b.codeExecutionResult){let a=c;a&&g.enqueue({type:"tool-result",toolCallId:a,toolName:l.toCustomToolName("code_execution"),result:{outcome:b.codeExecutionResult.outcome,output:null!=(p=b.codeExecutionResult.output)?p:""}})}else if("text"in b&&null!=b.text){let a=b.thoughtSignature?o({thoughtSignature:b.thoughtSignature}):void 0;0===b.text.length?null!=a&&null!==y&&g.enqueue({type:"text-delta",id:y,delta:"",providerMetadata:a}):!0===b.thought?(null!==y&&(g.enqueue({type:"text-end",id:y}),y=null),null===A&&(A=String(B++),g.enqueue({type:"reasoning-start",id:A,providerMetadata:a})),g.enqueue({type:"reasoning-delta",id:A,delta:b.text,providerMetadata:a})):(null!==A&&(g.enqueue({type:"reasoning-end",id:A}),A=null),null===y&&(y=String(B++),g.enqueue({type:"text-start",id:y,providerMetadata:a})),g.enqueue({type:"text-delta",id:y,delta:b.text,providerMetadata:a}))}else if("inlineData"in b){null!==y&&(g.enqueue({type:"text-end",id:y}),y=null),null!==A&&(g.enqueue({type:"reasoning-end",id:A}),A=null);let a=!0===b.thought,c=b.thoughtSignature?o({thoughtSignature:b.thoughtSignature}):void 0;g.enqueue({type:a?"reasoning-file":"file",mediaType:b.inlineData.mimeType,data:{type:"data",data:b.inlineData.data},providerMetadata:c})}else if("toolCall"in b&&b.toolCall){let a=b.toolCall.id||v();d=a;let c=o({...b.thoughtSignature?{thoughtSignature:b.thoughtSignature}:{},serverToolCallId:a,serverToolType:b.toolCall.toolType});g.enqueue({type:"tool-call",toolCallId:a,toolName:`server:${b.toolCall.toolType}`,input:JSON.stringify(null!=(q=b.toolCall.args)?q:{}),providerExecuted:!0,dynamic:!0,providerMetadata:c})}else if("toolResponse"in b&&b.toolResponse){let a=d||b.toolResponse.id||v(),c=o({...b.thoughtSignature?{thoughtSignature:b.thoughtSignature}:{},serverToolCallId:a,serverToolType:b.toolResponse.toolType});g.enqueue({type:"tool-result",toolCallId:a,toolName:`server:${b.toolResponse.toolType}`,result:null!=(r=b.toolResponse.response)?r:{},providerMetadata:c}),d=void 0}for(let b of a){if(!("functionCall"in b))continue;let a=b.thoughtSignature?o({thoughtSignature:b.thoughtSignature}):void 0,c=null!=b.functionCall.partialArgs||null!=b.functionCall.name&&!0===b.functionCall.willContinue,d=null==b.functionCall.name&&null==b.functionCall.args&&null==b.functionCall.partialArgs&&null==b.functionCall.willContinue,e=null!=b.functionCall.name&&null!=b.functionCall.args&&null==b.functionCall.partialArgs,f=null!=b.functionCall.name&&null==b.functionCall.args&&null==b.functionCall.partialArgs&&!0!==b.functionCall.willContinue;if(c){if(null!=b.functionCall.name){let c=b.functionCall.id||v(),d=new z;if(E.push({toolCallId:c,toolName:b.functionCall.name,accumulator:d,providerMetadata:a}),g.enqueue({type:"tool-input-start",id:c,toolName:b.functionCall.name,providerMetadata:a}),null!=b.functionCall.partialArgs){let e=b.functionCall.partialArgs,{textDelta:f}=d.processPartialArgs(e);f.length>0&&g.enqueue({type:"tool-input-delta",id:c,delta:f,providerMetadata:a}),!0!==b.functionCall.willContinue&&e.every(a=>!0!==a.willContinue)&&F(g)}}else if(null!=b.functionCall.partialArgs&&E.length>0){let c=E[E.length-1],d=b.functionCall.partialArgs,{textDelta:e}=c.accumulator.processPartialArgs(d);e.length>0&&g.enqueue({type:"tool-input-delta",id:c.toolCallId,delta:e,providerMetadata:a}),!0!==b.functionCall.willContinue&&d.every(a=>!0!==a.willContinue)&&F(g)}}else if(d&&E.length>0)F(g);else if(e){let c=b.functionCall.id||v(),d=b.functionCall.name,e="string"==typeof b.functionCall.args?b.functionCall.args:JSON.stringify(null!=(G=b.functionCall.args)?G:{});g.enqueue({type:"tool-input-start",id:c,toolName:d,providerMetadata:a}),g.enqueue({type:"tool-input-delta",id:c,delta:e,providerMetadata:a}),g.enqueue({type:"tool-input-end",id:c,providerMetadata:a}),g.enqueue({type:"tool-call",toolCallId:c,toolName:d,input:e,providerMetadata:a}),w=!0}else if(f){let c=b.functionCall.id||v(),d=b.functionCall.name;g.enqueue({type:"tool-input-start",id:c,toolName:d,providerMetadata:a}),g.enqueue({type:"tool-input-end",id:c,providerMetadata:a}),g.enqueue({type:"tool-call",toolCallId:c,toolName:d,input:"{}",providerMetadata:a}),w=!0}}}let U=null==(I=P.promptFeedback)?void 0:I.blockReason,V=null==R.finishReason&&null!=U,W=null!=(K=null!=(J=R.finishReason)?J:U)?K:void 0;null!=W&&(s={unified:V?"content-filter":D({finishReason:W,hasToolCalls:w}),raw:W},f=o({promptFeedback:null!=(L=P.promptFeedback)?L:null,groundingMetadata:t,urlContextMetadata:u,safetyRatings:null!=(M=R.safetyRatings)?M:null,usageMetadata:null!=Q?Q:null,finishMessage:null!=(N=R.finishMessage)?N:null,serviceTier:null!=(O=null==e?void 0:e.serviceTier)?O:null}))},flush(a){null!==y&&a.enqueue({type:"text-end",id:y}),null!==A&&a.enqueue({type:"reasoning-end",id:A}),a.enqueue({type:"finish",finishReason:s,usage:n(e),providerMetadata:f})}})),response:{headers:q},request:{body:h}}}};function H({groundingMetadata:a,generateId:b}){var c,d,e,f,g,h;if(!(null==a?void 0:a.groundingChunks))return;let i=[];for(let j of a.groundingChunks)if(null!=j.web)i.push({type:"source",sourceType:"url",id:b(),url:j.web.uri,title:null!=(c=j.web.title)?c:void 0});else if(null!=j.image)i.push({type:"source",sourceType:"url",id:b(),url:j.image.sourceUri,title:null!=(d=j.image.title)?d:void 0});else if(null!=j.retrievedContext){let a=j.retrievedContext.uri,c=j.retrievedContext.fileSearchStore;if(a&&(a.startsWith("http://")||a.startsWith("https://")))i.push({type:"source",sourceType:"url",id:b(),url:a,title:null!=(e=j.retrievedContext.title)?e:void 0});else if(a){let c,d=null!=(f=j.retrievedContext.title)?f:"Unknown Document",e="application/octet-stream";a.endsWith(".pdf")?e="application/pdf":a.endsWith(".txt")?e="text/plain":a.endsWith(".docx")?e="application/vnd.openxmlformats-officedocument.wordprocessingml.document":a.endsWith(".doc")?e="application/msword":a.match(/\.(md|markdown)$/)&&(e="text/markdown"),c=a.split("/").pop(),i.push({type:"source",sourceType:"document",id:b(),mediaType:e,title:d,filename:c})}else if(c){let a=null!=(g=j.retrievedContext.title)?g:"Unknown Document";i.push({type:"source",sourceType:"document",id:b(),mediaType:"application/octet-stream",title:a,filename:c.split("/").pop()})}}else null!=j.maps&&j.maps.uri&&i.push({type:"source",sourceType:"url",id:b(),url:j.maps.uri,title:null!=(h=j.maps.title)?h:void 0});return i.length>0?i:void 0}var I=()=>e.z.object({webSearchQueries:e.z.array(e.z.string()).nullish(),imageSearchQueries:e.z.array(e.z.string()).nullish(),retrievalQueries:e.z.array(e.z.string()).nullish(),searchEntryPoint:e.z.object({renderedContent:e.z.string()}).nullish(),groundingChunks:e.z.array(e.z.object({web:e.z.object({uri:e.z.string(),title:e.z.string().nullish()}).nullish(),image:e.z.object({sourceUri:e.z.string(),imageUri:e.z.string(),title:e.z.string().nullish(),domain:e.z.string().nullish()}).nullish(),retrievedContext:e.z.object({uri:e.z.string().nullish(),title:e.z.string().nullish(),text:e.z.string().nullish(),fileSearchStore:e.z.string().nullish()}).nullish(),maps:e.z.object({uri:e.z.string().nullish(),title:e.z.string().nullish(),text:e.z.string().nullish(),placeId:e.z.string().nullish()}).nullish()})).nullish(),groundingSupports:e.z.array(e.z.object({segment:e.z.object({startIndex:e.z.number().nullish(),endIndex:e.z.number().nullish(),text:e.z.string().nullish()}).nullish(),segment_text:e.z.string().nullish(),groundingChunkIndices:e.z.array(e.z.number()).nullish(),supportChunkIndices:e.z.array(e.z.number()).nullish(),confidenceScores:e.z.array(e.z.number()).nullish(),confidenceScore:e.z.array(e.z.number()).nullish()})).nullish(),retrievalMetadata:e.z.union([e.z.object({webDynamicRetrievalScore:e.z.number()}),e.z.object({})]).nullish()}),J=e.z.object({jsonPath:e.z.string(),stringValue:e.z.string().nullish(),numberValue:e.z.number().nullish(),boolValue:e.z.boolean().nullish(),nullValue:e.z.unknown().nullish(),willContinue:e.z.boolean().nullish()}),K=()=>e.z.object({parts:e.z.array(e.z.union([e.z.object({functionCall:e.z.object({id:e.z.string().nullish(),name:e.z.string().nullish(),args:e.z.unknown().nullish(),partialArgs:e.z.array(J).nullish(),willContinue:e.z.boolean().nullish()}),thoughtSignature:e.z.string().nullish()}),e.z.object({inlineData:e.z.object({mimeType:e.z.string(),data:e.z.string()}),thought:e.z.boolean().nullish(),thoughtSignature:e.z.string().nullish()}),e.z.object({toolCall:e.z.object({toolType:e.z.string(),args:e.z.unknown().nullish(),id:e.z.string()}),thoughtSignature:e.z.string().nullish()}),e.z.object({toolResponse:e.z.object({toolType:e.z.string(),response:e.z.unknown().nullish(),id:e.z.string()}),thoughtSignature:e.z.string().nullish()}),e.z.object({executableCode:e.z.object({language:e.z.string(),code:e.z.string()}).nullish(),codeExecutionResult:e.z.object({outcome:e.z.string(),output:e.z.string().nullish()}).nullish(),text:e.z.string().nullish(),thought:e.z.boolean().nullish(),thoughtSignature:e.z.string().nullish()})])).nullish()}),L=()=>e.z.object({category:e.z.string().nullish(),probability:e.z.string().nullish(),probabilityScore:e.z.number().nullish(),severity:e.z.string().nullish(),severityScore:e.z.number().nullish(),blocked:e.z.boolean().nullish()}),M=e.z.array(e.z.object({modality:e.z.string(),tokenCount:e.z.number()}).loose()).nullish(),N=e.z.object({cachedContentTokenCount:e.z.number().nullish(),thoughtsTokenCount:e.z.number().nullish(),promptTokenCount:e.z.number().nullish(),candidatesTokenCount:e.z.number().nullish(),toolUsePromptTokenCount:e.z.number().nullish(),totalTokenCount:e.z.number().nullish(),trafficType:e.z.string().nullish(),serviceTier:e.z.string().nullish(),promptTokensDetails:M,cacheTokensDetails:M,candidatesTokensDetails:M,toolUsePromptTokensDetails:M}).loose(),O=()=>e.z.object({urlMetadata:e.z.array(e.z.object({retrievedUrl:e.z.string(),urlRetrievalStatus:e.z.string()})).nullish()}),P=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({responseId:e.z.string().nullish(),candidates:e.z.array(e.z.object({content:K().nullish().or(e.z.object({}).strict()),finishReason:e.z.string().nullish(),finishMessage:e.z.string().nullish(),safetyRatings:e.z.array(L()).nullish(),groundingMetadata:I().nullish(),urlContextMetadata:O().nullish()})).nullish(),usageMetadata:N.nullish(),promptFeedback:e.z.object({blockReason:e.z.string().nullish(),safetyRatings:e.z.array(L()).nullish()}).nullish()}))),Q=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({responseId:e.z.string().nullish(),candidates:e.z.array(e.z.object({content:K().nullish(),finishReason:e.z.string().nullish(),finishMessage:e.z.string().nullish(),safetyRatings:e.z.array(L()).nullish(),groundingMetadata:I().nullish(),urlContextMetadata:O().nullish()})).nullish(),usageMetadata:N.nullish(),promptFeedback:e.z.object({blockReason:e.z.string().nullish(),safetyRatings:e.z.array(L()).nullish()}).nullish()}))),R=new Set(["text","reasoning","source","tool-call","tool-result"]),S=e.z.object({code:e.z.union([e.z.number(),e.z.string()]).nullish(),message:e.z.string().nullish(),status:e.z.string().nullish()}),T=e.z.object({requestCount:e.z.union([e.z.string(),e.z.number()]).nullish(),successfulRequestCount:e.z.union([e.z.string(),e.z.number()]).nullish(),failedRequestCount:e.z.union([e.z.string(),e.z.number()]).nullish(),pendingRequestCount:e.z.union([e.z.string(),e.z.number()]).nullish()}),U=e.z.object({responsesFile:e.z.string().nullish(),inlinedResponses:e.z.object({inlinedResponses:e.z.array(e.z.object({metadata:e.z.object({key:e.z.string()}),response:e.z.unknown().nullish(),error:S.nullish()}))}).nullish()}),V=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({name:e.z.string(),metadata:e.z.object({state:e.z.string().nullish(),createTime:e.z.string().nullish(),batchStats:T.nullish(),output:U.nullish()}).nullish(),done:e.z.boolean().nullish(),error:S.nullish(),response:U.nullish()}))),W=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({file:e.z.object({name:e.z.string(),expirationTime:e.z.string().nullish()})}))),X=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({key:e.z.string(),response:e.z.unknown().nullish(),error:S.nullish()}))),Y=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({candidates:e.z.array(e.z.unknown()).nullish(),promptFeedback:e.z.object({blockReason:e.z.string().nullish()}).nullish()}))),Z=class a extends G{static[d.WORKFLOW_SERIALIZE](a){return G[d.WORKFLOW_SERIALIZE](a)}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}constructor(a,c){var d;super(a,c),this.batchConfig=c,this.batchGenerateId=null!=(d=c.generateId)?d:b.generateId}async experimental_doStartBatch(a){let d,e=[],f=`ai-sdk-batch-${this.batchGenerateId()}`,h=[],i={batch:{displayName:f,...null!=a.webhookUrl&&{webhookConfig:{uris:[a.webhookUrl]}},inputConfig:{requests:{requests:h}}}},j=new TextEncoder,k=j.encode(JSON.stringify(i)).byteLength;for(let b of a.requests){let a=await this.getArgs(b.options),c={request:a.args,metadata:{key:b.id}};if(null==d){let e=k+j.encode(JSON.stringify(c)).byteLength+ +(h.length>0);if(e<2e7)h.push(c),k=e;else{for(let a of(d=[],h))d.push(JSON.stringify({key:a.metadata.key,request:a.request}),"\n");h.length=0,d.push(JSON.stringify({key:b.id,request:a.args}),"\n")}}else d.push(JSON.stringify({key:b.id,request:a.args}),"\n");for(let c of a.warnings)e.push({requestId:b.id,warning:c})}let l=await this.getHeaders(a.headers),n=`${this.batchConfig.baseURL}/${m(this.modelId)}:batchGenerateContent`;if(null==d){let{value:c}=await (0,b.postJsonToApi)({url:n,headers:l,body:i,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(V),abortSignal:a.abortSignal,fetch:this.batchConfig.fetch});return{batchId:c.name,...$(c),warnings:e}}let o=new Blob(d,{type:"application/jsonl"});if(d.length=0,o.size>0x80000000)throw new c.InvalidArgumentError({argument:"requests",message:"Google batch input files must not exceed 2 GB."});let{value:p}=await (0,b.postJsonToApi)({url:`${this.getBaseOrigin()}/upload/v1beta/files`,headers:(0,b.combineHeaders)(l,{"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(o.size),"X-Goog-Upload-Header-Content-Type":"application/jsonl"}),body:{file:{display_name:`${f}-input`}},failedResponseHandler:g,successfulResponseHandler:ab,abortSignal:a.abortSignal,fetch:this.batchConfig.fetch}),{value:q}=await (0,b.postToApi)({url:p,headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize","Content-Type":"application/jsonl"},body:{content:o,values:{byteLength:o.size,mediaType:"application/jsonl"}},failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(W),abortSignal:a.abortSignal,fetch:this.batchConfig.fetch}),{value:r}=await (0,b.postJsonToApi)({url:n,headers:l,body:{batch:{displayName:f,...null!=a.webhookUrl&&{webhookConfig:{uris:[a.webhookUrl]}},inputConfig:{fileName:q.file.name}}},failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(V),abortSignal:a.abortSignal,fetch:this.batchConfig.fetch});return{batchId:r.name,...$(r),providerMetadata:{google:{inputFileId:q.file.name,...null!=q.file.expirationTime?{inputFileExpiresAt:q.file.expirationTime}:{}}},warnings:e}}async experimental_doGetBatchStatus(a){return $(await this.retrieveBatch(a))}async experimental_doGetBatchResults(a){var d,e,f,h,i,j,k,l,m,n;let o=await this.retrieveBatch(a),p=$(o);if("pending"===p.status)throw new c.InvalidArgumentError({argument:"batchId",message:`Google batch "${a.batchId}" is not complete.`});let q=null!=(j=null==(f=null==(e=null==(d=o.metadata)?void 0:d.output)?void 0:e.inlinedResponses)?void 0:f.inlinedResponses)?j:null==(i=null==(h=o.response)?void 0:h.inlinedResponses)?void 0:i.inlinedResponses;if(null!=q)return(0,b.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(q.map(a=>({key:a.metadata.key,response:a.response,error:a.error}))));let r=null!=(n=null==(l=null==(k=o.metadata)?void 0:k.output)?void 0:l.responsesFile)?n:null==(m=o.response)?void 0:m.responsesFile;if(null==r){if("completed"===p.status)throw new c.InvalidResponseDataError({data:o,message:`Google batch "${a.batchId}" completed without batch output.`});return new ReadableStream({start(a){a.close()}})}let s=r.split("/").map(a=>encodeURIComponent(a)).join("/"),{value:t}=await (0,b.getFromApi)({url:`${this.getBaseOrigin()}/download/v1beta/${s}:download?alt=media`,headers:await this.getHeaders(a.headers),failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonLinesResponseHandler)(X),abortSignal:a.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return(0,b.convertAsyncIteratorToReadableStream)(this.iterateBatchResults(t))}async retrieveBatch(a){let{value:c}=await (0,b.getFromApi)({url:`${this.batchConfig.baseURL}/${a.batchId}`,headers:await this.getHeaders(a.headers),failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(V),abortSignal:a.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return c}async *iterateBatchResults(a){var c,d,e;for await(let f of a){if(null!=f.error){let a=aa(f.error,"Google batch request failed."),b="CANCELLED"===f.error.status||"1"===String(f.error.code)?"cancelled":"failed";yield{id:f.key,status:b,error:a};continue}if(null==f.response){yield{id:f.key,status:"failed",error:{message:"Google returned a batch result without a response or error.",code:"invalid_batch_result"}};continue}let a=await (0,b.safeValidateTypes)({value:f.response,schema:Y});if(a.success&&(null==a.value.candidates||0===a.value.candidates.length)){let b=null!=(c=a.value.promptFeedback)?c:void 0,g=null!=(d=null==b?void 0:b.blockReason)?d:void 0;yield{id:f.key,status:"failed",error:{message:null==g?"Google returned a batch response without any candidates.":`Google blocked the batch request (${g}).`,code:null==g?"invalid_response":"prompt_blocked",...null!=g?{type:g}:{}},...null!=b?{providerMetadata:{google:{promptFeedback:{blockReason:null!=(e=b.blockReason)?e:null}}}}:{}};continue}let g=await (0,b.safeValidateTypes)({value:f.response,schema:P});if(!g.success){yield{id:f.key,status:"failed",error:{message:"Google returned an invalid GenerateContent batch result.",code:"invalid_response"}};continue}let h=this.convertGenerateContentResponse({response:g.value,warnings:[],providerOptionsNames:["google"]}),i=h.content.find(a=>!R.has(a.type));if(null!=i){yield{id:f.key,status:"failed",error:{message:`Google returned a "${i.type}" content block, but that content is not supported in AI SDK text batches.`,code:"unsupported_content"}};continue}yield{id:f.key,status:"succeeded",result:h}}}async getHeaders(a){return(0,b.combineHeaders)(this.batchConfig.headers?await (0,b.resolve)(this.batchConfig.headers):void 0,a)}getBaseOrigin(){return this.batchConfig.baseURL.replace(/\/v1beta$/,"")}};function $(a){var c,d,e,f,g,h,i,j,k,l;let m,n,o,p,q=null!=(d=null==(c=a.metadata)?void 0:c.state)?d:void 0,r=(m=_(null==(i=null==(e=a.metadata)?void 0:e.batchStats)?void 0:i.requestCount),n=_(null!=(j=null==i?void 0:i.successfulRequestCount)?j:0),o=_(null!=(k=null==i?void 0:i.failedRequestCount)?k:0),p=_(null!=(l=null==i?void 0:i.pendingRequestCount)?l:0),(0,b.normalizeBatchRequestCounts)({total:m,pending:p,completed:n,failed:o})),s=null!=(g=null==(f=a.metadata)?void 0:f.createTime)?g:void 0,t=null!=a.error?aa(a.error,"Google batch failed."):void 0;return{status:function({rawStatus:a,done:b,hasError:c}){if(c)return"failed";if(null==a)return b?"completed":"pending";switch(a.replace(/^(?:BATCH|JOB)_STATE_/,"")){case"SUCCEEDED":return"completed";case"FAILED":case"CANCELLED":case"EXPIRED":return"failed";default:return"pending"}}({rawStatus:q,done:null!=(h=a.done)?h:void 0,hasError:null!=t}),...null!=q?{rawStatus:q}:{},...null!=r?{requestCounts:r}:{},...null!=t?{error:t}:{},...null!=s?{createdAt:s}:{}}}function _(a){let b="string"==typeof a&&/^\d+$/.test(a)?Number(a):a;return"number"==typeof b&&Number.isSafeInteger(b)&&b>=0?b:void 0}function aa(a,b){var c;return{message:null!=(c=a.message)?c:b,...null!=a.status?{type:a.status}:{},...null!=a.code?{code:String(a.code)}:{}}}var ab=async({response:a})=>{let b=a.headers.get("x-goog-upload-url");if(null==b)throw new c.InvalidResponseDataError({data:a.headers,message:"Google did not return a resumable upload URL."});return{value:b}},ac=(0,b.createProviderExecutedToolFactory)({id:"google.code_execution",inputSchema:e.z.object({language:e.z.string().describe("The programming language of the code."),code:e.z.string().describe("The code to be executed.")}),outputSchema:e.z.object({outcome:e.z.string().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:e.z.string().describe("The output from the code execution.")})}),ad=(0,b.createProviderExecutedToolFactory)({id:"google.enterprise_web_search",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))});e.z.looseObject({fileSearchStoreNames:e.z.array(e.z.string()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:e.z.number().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:e.z.string().describe("Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.").optional()});var ae=(0,b.createProviderExecutedToolFactory)({id:"google.file_search",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))}),af=(0,b.createProviderExecutedToolFactory)({id:"google.google_maps",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))}),ag=e.z.looseObject({searchTypes:e.z.object({webSearch:e.z.object({}).optional(),imageSearch:e.z.object({}).optional()}).optional(),timeRangeFilter:e.z.object({startTime:e.z.string(),endTime:e.z.string()}).optional()}),ah=(0,b.createProviderExecutedToolFactory)({id:"google.google_search",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))}),ai={googleSearch:ah,enterpriseWebSearch:ad,googleMaps:af,urlContext:(0,b.createProviderExecutedToolFactory)({id:"google.url_context",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))}),fileSearch:ae,codeExecution:ac,vertexRagStore:(0,b.createProviderExecutedToolFactory)({id:"google.vertex_rag_store",inputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({}))),outputSchema:(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({})))})},aj=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({googleSearch:ag.optional()}))),ak=class a{constructor(a,b,c){this.modelId=a,this.settings=b,this.config=c,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,{},b.config)}get maxImagesPerCall(){return null!=this.settings.maxImagesPerCall?this.settings.maxImagesPerCall:10}get provider(){return this.config.provider}async doGenerate(a){var c,d,e,f,g,h,i,j,k,l,m;if(!this.modelId.startsWith("gemini-"))throw Error("Google image models other than Gemini are no longer supported. Use a model ID that starts with `gemini-`.");let{prompt:n,n:o,size:p,aspectRatio:q,seed:r,providerOptions:s,headers:t,abortSignal:u,files:v,mask:w}=a,x=[];if(null!=w)throw Error("Gemini image models do not support mask-based image editing.");if(null!=o&&o>1)throw Error("Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.");null!=p&&x.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let y=[];if(null!=n&&y.push({type:"text",text:n}),null!=v&&v.length>0)for(let a of v)"url"===a.type?y.push({type:"file",data:{type:"url",url:new URL(a.url)},mediaType:"image/*"}):y.push({type:"file",data:{type:"data",data:"string"==typeof a.data?a.data:new Uint8Array(a.data)},mediaType:a.mediaType});let z=[{role:"user",content:y}],A=await (0,b.parseProviderOptions)({provider:"google",providerOptions:s,schema:aj}),{googleSearch:B,responseModalities:C,imageConfig:D,...E}=null!=(c=null==s?void 0:s.google)?c:{},F=new G(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:null!=(d=this.config.headers)?d:{},fetch:this.config.fetch,generateId:null!=(e=this.config.generateId)?e:b.generateId}),H=await F.doGenerate({prompt:z,seed:r,providerOptions:{google:{...E,responseModalities:["IMAGE"],imageConfig:null!=q||null!=D?{...D,...null!=q?{aspectRatio:q}:{}}:void 0}},tools:(null==A?void 0:A.googleSearch)!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:A.googleSearch}]:void 0,headers:t,abortSignal:u}),I=null!=(h=null==(g=null==(f=this.config._internal)?void 0:f.currentDate)?void 0:g.call(f))?h:new Date,J=[];for(let a of H.content)"file"===a.type&&a.mediaType.startsWith("image/")&&"data"===a.data.type&&J.push((0,b.convertToBase64)(a.data.data));return{images:J,warnings:x,providerMetadata:{google:{...null!=(j=null==(i=H.providerMetadata)?void 0:i.google)?j:{},images:J.map(()=>({}))}},response:{timestamp:I,modelId:this.modelId,headers:null==(k=H.response)?void 0:k.headers},usage:H.usage?{inputTokens:H.usage.inputTokens.total,outputTokens:H.usage.outputTokens.total,totalTokens:(null!=(l=H.usage.inputTokens.total)?l:0)+(null!=(m=H.usage.outputTokens.total)?m:0)}:void 0}}};function al(a){let b=encodeURIComponent(a);return"."===b?"%252E":".."===b?"%252E%252E":b}var am=class{constructor(a){this.config=a,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadFile(a){var d,e,f,h,i;let j=await (0,b.parseProviderOptions)({provider:"google",providerOptions:a.providerOptions,schema:ao}),k=(0,b.combineHeaders)(this.config.headers(),a.headers),l=null!=(d=this.config.fetch)?d:globalThis.fetch,m=[];null!=a.filename&&m.push({type:"unsupported",feature:"filename"});let n=(0,b.convertInlineFileDataToUint8Array)(a.data),o=a.mediaType,p=null==j?void 0:j.displayName,q=this.config.baseURL.replace(/\/v1beta$/,""),r=await l(`${q}/upload/v1beta/files`,{method:"POST",headers:{...k,"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(n.length),"X-Goog-Upload-Header-Content-Type":o,"Content-Type":"application/json"},body:JSON.stringify({file:{...null!=p?{display_name:p}:{}}}),signal:a.abortSignal});if(!r.ok){let a=await r.text();throw new c.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to initiate resumable upload: ${r.status} ${a}`})}let s=r.headers.get("x-goog-upload-url");if(!s)throw new c.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:"No upload URL returned from initiation request"});let t=await l(s,{method:"POST",headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize"},body:(i=n).buffer instanceof ArrayBuffer?i:new Uint8Array(i),signal:a.abortSignal});if(!t.ok){let a=await t.text();throw new c.AISDKError({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to upload file data: ${t.status} ${a}`})}let u=(await t.json()).file,v=null!=(e=null==j?void 0:j.pollIntervalMs)?e:2e3,w=null!=(f=null==j?void 0:j.pollTimeoutMs)?f:3e5,x=Date.now();for(;"PROCESSING"===u.state;){if(Date.now()-x>w)throw new c.AISDKError({name:"GOOGLE_FILES_UPLOAD_TIMEOUT",message:`File processing timed out after ${w}ms`});await (0,b.delay)(v,{abortSignal:a.abortSignal});let d=/^files\/([^/]+)$/.exec(u.name),e=null!=d?`files/${al(d[1])}`:al(u.name),{value:f}=await (0,b.getFromApi)({url:`${this.config.baseURL}/${e}`,validateUrl:!1,headers:(0,b.combineHeaders)(k),successfulResponseHandler:(0,b.createJsonResponseHandler)(an),failedResponseHandler:g,abortSignal:a.abortSignal,fetch:this.config.fetch});u=f}if("FAILED"===u.state)throw new c.AISDKError({name:"GOOGLE_FILES_UPLOAD_FAILED",message:`File processing failed for ${u.name}`});return{warnings:m,providerReference:{google:u.uri},mediaType:null!=(h=u.mimeType)?h:a.mediaType,providerMetadata:{google:{name:u.name,displayName:u.displayName,mimeType:u.mimeType,sizeBytes:u.sizeBytes,state:u.state,uri:u.uri,...null!=u.createTime?{createTime:u.createTime}:{},...null!=u.updateTime?{updateTime:u.updateTime}:{},...null!=u.expirationTime?{expirationTime:u.expirationTime}:{},...null!=u.sha256Hash?{sha256Hash:u.sha256Hash}:{}}}}}},an=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({name:e.z.string(),displayName:e.z.string().nullish(),mimeType:e.z.string(),sizeBytes:e.z.string().nullish(),createTime:e.z.string().nullish(),updateTime:e.z.string().nullish(),expirationTime:e.z.string().nullish(),sha256Hash:e.z.string().nullish(),uri:e.z.string(),state:e.z.string()}))),ao=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.looseObject({displayName:e.z.string().nullish(),pollIntervalMs:e.z.number().positive().nullish(),pollTimeoutMs:e.z.number().positive().nullish()}))),ap=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.looseObject({pollIntervalMs:e.z.number().positive().nullish(),pollTimeoutMs:e.z.number().positive().nullish(),personGeneration:e.z.enum(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:e.z.string().nullish(),referenceImages:e.z.array(e.z.object({bytesBase64Encoded:e.z.string().nullish(),gcsUri:e.z.string().nullish()})).nullish()})));function aq(a,c){return"url"===a.type?a.url.startsWith("gs://")?{gcsUri:a.url,mimeType:"image/png"}:void c.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored."}):{bytesBase64Encoded:"string"==typeof a.data?a.data:(0,b.convertUint8ArrayToBase64)(a.data),mimeType:a.mediaType||"image/png"}}var ar=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async buildRequest(a){var c,d,e,f,g,h;let i=[],j=await (0,b.parseProviderOptions)({provider:"google",providerOptions:a.providerOptions,schema:ap}),k=[{}],l=k[0];null!=a.prompt&&(l.prompt=a.prompt);let m=null!=(f=null==(h=null==(g=(e=a).frameImages)?void 0:g.find(a=>"first_frame"===a.frameType))?void 0:h.image)?f:e.image;if(null!=m){let a=aq(m,i);null!=a&&(l.image=a)}let n=null==(d=null==(c=a.frameImages)?void 0:c.find(a=>"last_frame"===a.frameType))?void 0:d.image;if(null!=n){let a=aq(n,i);null!=a&&(l.lastFrame=a)}let o=function(a){if(null==a.frameImages||!(a.frameImages.length>0))return null!=a.inputReferences&&a.inputReferences.length>0?a.inputReferences:void 0}(a);null!=o?l.referenceImages=o.flatMap(a=>{let b,c=null!=(b=aq(a,i))?{image:b,referenceType:"asset"}:void 0;return null!=c?[c]:[]}):(null==j?void 0:j.referenceImages)!=null&&(l.referenceImages=j.referenceImages.map(a=>a.bytesBase64Encoded?{image:{bytesBase64Encoded:a.bytesBase64Encoded,mimeType:"image/png"},referenceType:"asset"}:a.gcsUri?{image:{gcsUri:a.gcsUri,mimeType:"image/png"},referenceType:"asset"}:a));let p={sampleCount:a.n};if(a.aspectRatio&&(p.aspectRatio=a.aspectRatio),a.resolution&&(p.resolution=({"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"})[a.resolution]||a.resolution),a.duration&&(p.durationSeconds=a.duration),a.seed&&(p.seed=a.seed),null!=j)for(let[a,b]of(void 0!==j.personGeneration&&null!==j.personGeneration&&(p.personGeneration=j.personGeneration),void 0!==j.negativePrompt&&null!==j.negativePrompt&&(p.negativePrompt=j.negativePrompt),Object.entries(j)))["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(a)||(p[a]=b);return{instances:k,parameters:p,warnings:i,googleOptions:j}}async buildCompletedResult(a,d,e,f){var g,h;let i=a.response;if(!(null==(g=null==i?void 0:i.generateVideoResponse)?void 0:g.generatedSamples)||0===i.generateVideoResponse.generatedSamples.length)throw new c.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(a)}`});let j=[],k=[],l=await (0,b.resolve)(this.config.headers),m=null==l?void 0:l["x-goog-api-key"];for(let a of i.generateVideoResponse.generatedSamples)if(null==(h=a.video)?void 0:h.uri){let c=m&&(0,b.isSameOrigin)(a.video.uri,this.config.baseURL)?`${a.video.uri}${a.video.uri.includes("?")?"&":"?"}key=${m}`:a.video.uri;j.push({type:"url",url:c,mediaType:"video/mp4"}),k.push({uri:a.video.uri})}if(0===j.length)throw new c.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{status:"completed",videos:j,warnings:e,response:{timestamp:f,modelId:this.modelId,headers:d},providerMetadata:{google:{videos:k}}}}async doStart(a){var d,e,f;let h=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,{instances:i,parameters:j,warnings:k}=await this.buildRequest(a),{value:l,responseHeaders:m}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:(0,b.combineHeaders)(await (0,b.resolve)(this.config.headers),a.headers),body:{instances:i,parameters:j},successfulResponseHandler:(0,b.createJsonResponseHandler)(as),failedResponseHandler:g,abortSignal:a.abortSignal,fetch:this.config.fetch}),n=l.name;if(!n)throw new c.AISDKError({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});return{operation:{operationName:n},warnings:k,response:{timestamp:h,modelId:this.modelId,headers:m}}}async doStatus(a){var c,d,e;let f=null!=(e=null==(d=null==(c=this.config._internal)?void 0:c.currentDate)?void 0:d.call(c))?e:new Date,{operationName:h}=a.operation,{value:i,responseHeaders:j}=await (0,b.getFromApi)({url:`${this.config.baseURL}/${h}`,validateUrl:!1,headers:(0,b.combineHeaders)(await (0,b.resolve)(this.config.headers),a.headers),successfulResponseHandler:(0,b.createJsonResponseHandler)(as),failedResponseHandler:g,abortSignal:a.abortSignal,fetch:this.config.fetch});return i.done?i.error?{status:"error",error:`Video generation failed: ${i.error.message}`,response:{timestamp:f,modelId:this.modelId,headers:j}}:this.buildCompletedResult(i,j,[],f):{status:"pending",response:{timestamp:f,modelId:this.modelId,headers:j}}}},as=e.z.object({name:e.z.string().nullish(),done:e.z.boolean().nullish(),error:e.z.object({code:e.z.number().nullish(),message:e.z.string(),status:e.z.string().nullish()}).nullish(),response:e.z.object({generateVideoResponse:e.z.object({generatedSamples:e.z.array(e.z.object({video:e.z.object({uri:e.z.string().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),at=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({candidates:e.z.array(e.z.object({content:e.z.object({parts:e.z.array(e.z.object({inlineData:e.z.object({mimeType:e.z.string().nullish(),data:e.z.string().nullish()}).nullish()})).nullish()}).nullish()})).nullish()}))),au=e.z.object({voiceName:e.z.string()}),av=e.z.object({prebuiltVoiceConfig:au}),aw=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({multiSpeakerVoiceConfig:e.z.object({speakerVoiceConfigs:e.z.array(e.z.object({speaker:e.z.string(),voiceConfig:av}))}).optional()}))),ax="Kore",ay=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({text:a,voice:c=ax,outputFormat:d,instructions:e,speed:f,language:g,providerOptions:h}){let i,j=[],k=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"];for(let a of k)if(null!=(i=await (0,b.parseProviderOptions)({provider:a,providerOptions:h,schema:aw})))break;null!=i||k.includes("google")||(i=await (0,b.parseProviderOptions)({provider:"google",providerOptions:h,schema:aw}));let l=null==i?void 0:i.multiSpeakerVoiceConfig,m=a;null!=e&&(l?j.push({type:"unsupported",feature:"instructions",details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."}):m=`${e}: ${a}`),null!=f&&j.push({type:"unsupported",feature:"speed",details:"Google Gemini TTS models do not support the `speed` option. It was ignored."}),null!=g&&j.push({type:"unsupported",feature:"language",details:"Google Gemini TTS models do not support the `language` option. Language is detected automatically from the input text."});let n="wav";return"pcm"===d?n="pcm":null!=d&&"wav"!==d&&j.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${d}. Using wav instead.`}),{requestBody:{contents:[{role:"user",parts:[{text:m}]}],generationConfig:{responseModalities:["AUDIO"],speechConfig:l?{multiSpeakerVoiceConfig:l}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:c}}}}},warnings:j,outputFormat:n}}async doGenerate(a){var c,d,e,f,h,i,j,k,l,m,n;let o,p,q,r,s,t,u=null!=(e=null==(d=null==(c=this.config._internal)?void 0:c.currentDate)?void 0:d.call(c))?e:new Date,{requestBody:v,warnings:w,outputFormat:x}=await this.getArgs(a),{value:y,responseHeaders:z,rawValue:A}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers),body:v,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(at),abortSignal:a.abortSignal,fetch:this.config.fetch});for(let a of null!=(f=y.candidates)?f:[]){for(let b of null!=(i=null==(h=a.content)?void 0:h.parts)?i:[])if(null==(j=b.inlineData)?void 0:j.data){s=b.inlineData.data,t=null!=(k=b.inlineData.mimeType)?k:void 0;break}if(null!=s)break}let B=null!=(l=function(a){if(null==a)return;let b=/rate=(\d+)/.exec(a);return b?Number.parseInt(b[1],10):void 0}(t))?l:24e3,C=null!=s?(0,b.convertBase64ToUint8Array)(s):new Uint8Array(0),D="pcm"===x||0===C.length?C:(m=C,n=B,az(q=new DataView(p=new ArrayBuffer(44+(o=m.length))),0,"RIFF"),q.setUint32(4,36+o,!0),az(q,8,"WAVE"),az(q,12,"fmt "),q.setUint32(16,16,!0),q.setUint16(20,1,!0),q.setUint16(22,1,!0),q.setUint32(24,n,!0),q.setUint32(28,2*n,!0),q.setUint16(32,2,!0),q.setUint16(34,16,!0),az(q,36,"data"),q.setUint32(40,o,!0),(r=new Uint8Array(p)).set(m,44),r);return"pcm"===x&&C.length>0&&w.push({type:"unsupported",feature:"outputFormat",details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${B} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`}),{audio:D,warnings:w,request:{body:JSON.stringify(v)},response:{timestamp:u,modelId:this.modelId,headers:z,body:A},providerMetadata:{google:{sampleRate:B,mimeType:null!=t?t:null}}}}};function az(a,b,c){for(let d=0;d<c.length;d++)a.setUint8(b+d,c.charCodeAt(d))}function aA(a){var c,d,e,f,g,h,i,j;if(null==a)return(0,b.createNullLanguageModelUsage)();let k=null!=(c=a.total_input_tokens)?c:0,l=null!=(d=a.total_output_tokens)?d:0,m=null!=(e=a.total_thought_tokens)?e:0,n=null!=(f=a.total_cached_tokens)?f:0;return{inputTokens:{total:null!=(g=a.total_input_tokens)?g:void 0,noCache:null==a.total_input_tokens?void 0:k-n,cacheRead:null!=(h=a.total_cached_tokens)?h:void 0,cacheWrite:void 0},outputTokens:{total:null==a.total_output_tokens&&null==a.total_thought_tokens?void 0:l+m,text:null!=(i=a.total_output_tokens)?i:void 0,reasoning:null!=(j=a.total_thought_tokens)?j:void 0},raw:a}}function aB(a){let b=null==a?void 0:a.output_tokens_by_modality;if(null==b)return;let c={};for(let a of b)(null==a?void 0:a.modality)!=null&&null!=a.tokens&&(c[a.modality]=a.tokens);return Object.keys(c).length>0?c:void 0}var aC={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function aD(a){let b=a.toLowerCase();for(let[a,c]of Object.entries(aC))if(b.endsWith(`.${a}`))return c;return"application/octet-stream"}function aE(a){let b=a.split("/"),c=b[b.length-1];return c&&c.length>0?c:void 0}function aF({block:a,generateId:b}){var c,d,e,f,g,h,i,j,k,l,m;let n=[];switch(a.type){case"url_context_result":for(let d of null!=(c=a.result)?c:[])(null==d?void 0:d.url)!=null&&0!==d.url.length&&(null==d.status||"success"===d.status)&&n.push({type:"source",sourceType:"url",id:b(),url:d.url});break;case"google_search_result":for(let c of null!=(d=a.result)?d:[]){let a=null==c?void 0:c.url;null!=a&&0!==a.length&&n.push({type:"source",sourceType:"url",id:b(),url:a,...null!=c.title?{title:c.title}:{}})}break;case"google_maps_result":for(let c of null!=(e=a.result)?e:[])for(let a of null!=(f=c.places)?f:[])null!=a.url&&0!==a.url.length&&n.push({type:"source",sourceType:"url",id:b(),url:a.url,...null!=a.name?{title:a.name}:{}});break;case"file_search_result":for(let c of null!=(g=a.result)?g:[]){if(null==c||"object"!=typeof c)continue;let a=null!=(i=null!=(h=c.url)?h:c.document_uri)?i:c.file_name;if(null==a||0===a.length)continue;if(a.startsWith("http://")||a.startsWith("https://")){n.push({type:"source",sourceType:"url",id:b(),url:a,...null!=c.title?{title:c.title}:{}});continue}let d=null!=(j=c.file_name)?j:aE(a),e=aD(a);n.push({type:"source",sourceType:"document",id:b(),mediaType:e,title:null!=(m=null!=(l=null!=(k=c.title)?k:c.file_name)?l:d)?m:a,...null!=d?{filename:d}:{}})}}return n}function aG({annotations:a,generateId:b}){var c;if(null==a)return[];let d=new Set,e=[];for(let f of a){let a=function({annotation:a,generateId:b}){var c,d,e,f,g;switch(a.type){case"url_citation":if(null==a.url||0===a.url.length)return;return{type:"source",sourceType:"url",id:b(),url:a.url,...null!=a.title?{title:a.title}:{}};case"file_citation":{let h=null!=(d=null!=(c=a.url)?c:a.document_uri)?d:a.file_name;if(null==h||0===h.length)return;if(h.startsWith("http://")||h.startsWith("https://"))return{type:"source",sourceType:"url",id:b(),url:h,...null!=a.file_name?{title:a.file_name}:{}};let i=null!=(e=a.file_name)?e:aE(h),j=aD(h);return{type:"source",sourceType:"document",id:b(),mediaType:j,title:null!=(g=null!=(f=a.file_name)?f:i)?g:h,...null!=i?{filename:i}:{}}}case"place_citation":if(null==a.url||0===a.url.length)return;return{type:"source",sourceType:"url",id:b(),url:a.url,...null!=a.name?{title:a.name}:{}};default:return}}({annotation:f,generateId:b});if(null==a)continue;let g="url"===a.sourceType?`url:${a.url}`:`doc:${null!=(c=a.filename)?c:a.title}`;d.has(g)||(d.add(g),e.push(a))}return e}function aH({status:a,hasFunctionCall:b}){switch(a){case"completed":return b?"tool-calls":"stop";case"requires_action":return"tool-calls";case"failed":return"error";case"incomplete":return"length";default:return"other"}}var aI=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),aJ=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function aK({warnings:a,generateId:c,includeRawChunks:d,serviceTier:e}){let f,g,h,i=e,j=!1,k=new Map,l=new Set;function m(a){var b;return"url"===a.sourceType?`url:${a.url}`:`doc:${null!=(b=a.filename)?b:a.title}`}return new TransformStream({start(b){b.enqueue({type:"stream-start",warnings:a})},transform(a,e){var n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G;if(d&&e.enqueue({type:"raw",rawValue:a.rawValue}),!a.success){h="failed",e.enqueue({type:"error",error:a.error});return}let H=a.value,I=H.event_type;switch(I){case"interaction.created":{let a,b=H.interaction;f=(null==b?void 0:b.id)!=null&&b.id.length>0?b.id:void 0;let c=null==b?void 0:b.created;if("string"==typeof c){let b=new Date(c);Number.isNaN(b.getTime())||(a=b)}e.enqueue({type:"response-metadata",...null!=f?{id:f}:{},modelId:null==b?void 0:b.model,...a?{timestamp:a}:{}});break}case"step.start":{let a=H.step,b=H.index,d=`${null!=f?f:"interaction"}:${b}`,g=null==a?void 0:a.type;if("model_output"===g){let f=null==(n=null==a?void 0:a.content)?void 0:n[0];if((null==f?void 0:f.type)==="text")for(let a of(k.set(b,{kind:"text",id:d,emittedSourceKeys:new Set}),e.enqueue({type:"text-start",id:d}),aG({annotations:f.annotations,generateId:c}))){let b=m(a);l.has(b)||(l.add(b),e.enqueue(a))}else(null==f?void 0:f.type)==="image"?k.set(b,{kind:"image",id:d,...null!=f.data?{data:f.data}:{},...null!=f.mime_type?{mimeType:f.mime_type}:{},...null!=f.uri?{uri:f.uri}:{}}):k.set(b,{kind:"pending_model_output",id:d})}else if("thought"===g){let c=null==a?void 0:a.signature;if(k.set(b,{kind:"reasoning",id:d,...null!=c?{signature:c}:{}}),e.enqueue({type:"reasoning-start",id:d}),Array.isArray(null==a?void 0:a.summary))for(let b of a.summary)(null==b?void 0:b.type)==="text"&&"string"==typeof b.text&&e.enqueue({type:"reasoning-delta",id:d,delta:b.text})}else if("processing_call"===g||"processing_result"===g){let c={};(null==a?void 0:a.signature)!=null&&(c.signature=a.signature),null!=f&&(c.interactionId=f),"processing_call"===g?c.processingId=(null==a?void 0:a.id)||d:c.processingCallId=(null==a?void 0:a.call_id)||d,k.set(b,{kind:"custom",id:d,customKind:`google.${g}`,google:c})}else if("function_call"===g){let c=(null==a?void 0:a.id)||d,f=null!=(o=null==a?void 0:a.name)?o:"unknown";j=!0;let g={kind:"function_call",id:d,toolCallId:c,toolName:f,argumentsAccum:"",...(null==a?void 0:a.signature)!=null?{signature:a.signature}:{}};k.set(b,g),e.enqueue({type:"tool-input-start",id:c,toolName:f})}else if(null!=g&&aI.has(g)){let c="mcp_server_tool_call"===g?null!=(p=null==a?void 0:a.name)?p:"mcp_server_tool":g.replace(/_call$/,""),e=(null==a?void 0:a.id)||d,f={kind:"builtin_tool_call",id:d,blockType:g,toolCallId:e,toolName:c,arguments:null!=(q=null==a?void 0:a.arguments)?q:{},callEmitted:!1};k.set(b,f)}else if(null!=g&&aJ.has(g)){let c="mcp_server_tool_result"===g?null!=(r=null==a?void 0:a.name)?r:"mcp_server_tool":g.replace(/_result$/,""),e=(null==a?void 0:a.call_id)||d,f={kind:"builtin_tool_result",id:d,blockType:g,callId:e,toolName:c,result:null!=(s=null==a?void 0:a.result)?s:null,...(null==a?void 0:a.is_error)!=null?{isError:a.is_error}:{},resultEmitted:!1};k.set(b,f)}else k.set(b,{kind:"unknown",id:d});break}case"step.delta":{let a=k.get(H.index);if(null==a)break;let b=null==(t=H.delta)?void 0:t.type;if("pending_model_output"===a.kind&&("text"===b||"text_annotation"===b||"text_annotation_delta"===b)){let b={kind:"text",id:a.id,emittedSourceKeys:new Set};k.set(H.index,b),a=b,e.enqueue({type:"text-start",id:b.id})}if("image"===b&&("pending_model_output"===a.kind||"text"===a.kind||"image"===a.kind)){let b=H.delta,c={};null!=f&&(c.interactionId=f);let d=Object.keys(c).length>0?{google:c}:void 0;(null==b?void 0:b.data)!=null&&b.data.length>0?e.enqueue({type:"file",mediaType:null!=(u=b.mime_type)?u:"image/png",data:{type:"data",data:b.data},...d?{providerMetadata:d}:{}}):(null==b?void 0:b.uri)!=null&&b.uri.length>0&&e.enqueue({type:"file",mediaType:null!=(v=b.mime_type)?v:"image/png",data:{type:"url",url:new URL(b.uri)},...d?{providerMetadata:d}:{}}),"image"===a.kind&&(a.data=void 0,a.uri=void 0);break}if("video"===b&&("pending_model_output"===a.kind||"text"===a.kind)){let a=H.delta,b={};null!=f&&(b.interactionId=f);let c=Object.keys(b).length>0?{google:b}:void 0;(null==a?void 0:a.data)!=null&&a.data.length>0?e.enqueue({type:"file",mediaType:null!=(w=a.mime_type)?w:"video/mp4",data:{type:"data",data:a.data},...c?{providerMetadata:c}:{}}):(null==a?void 0:a.uri)!=null&&a.uri.length>0&&e.enqueue({type:"file",mediaType:null!=(x=a.mime_type)?x:"video/mp4",data:{type:"url",url:new URL(a.uri)},...c?{providerMetadata:c}:{}});break}let d=H.delta;if("custom"===a.kind&&((null==d?void 0:d.type)==="processing_call"||(null==d?void 0:d.type)==="processing_result"))null!=d.signature&&(a.google.signature=d.signature),"processing_call"===d.type&&null!=d.id&&d.id.length>0&&(a.google.processingId=d.id),"processing_result"===d.type&&null!=d.call_id&&d.call_id.length>0&&(a.google.processingCallId=d.call_id);else if("text"===a.kind&&(null==d?void 0:d.type)==="text"){let b=null!=(y=d.text)?y:"";b.length>0&&e.enqueue({type:"text-delta",id:a.id,delta:b})}else if("text"===a.kind&&((null==d?void 0:d.type)==="text_annotation"||(null==d?void 0:d.type)==="text_annotation_delta"))for(let b of aG({annotations:d.annotations,generateId:c})){let c=m(b);l.has(c)||(l.add(c),a.emittedSourceKeys.add(c),e.enqueue(b))}else if("image"===a.kind&&(null==d?void 0:d.type)==="image")null!=d.data&&(a.data=d.data),null!=d.mime_type&&(a.mimeType=d.mime_type),null!=d.uri&&(a.uri=d.uri);else if("reasoning"===a.kind){if((null==d?void 0:d.type)==="thought_summary"){let b=d.content;(null==b?void 0:b.type)==="text"&&"string"==typeof b.text&&e.enqueue({type:"reasoning-delta",id:a.id,delta:b.text})}else if((null==d?void 0:d.type)==="thought_signature"){let b=d.signature;null!=b&&(a.signature=b)}}else if("function_call"===a.kind&&(null==d?void 0:d.type)==="arguments_delta"){let b="string"==typeof d.arguments?d.arguments:"";b.length>0&&(a.argumentsAccum+=b,e.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:b})),null!=d.id&&d.id.length>0&&(a.toolCallId=d.id),null!=d.signature&&(a.signature=d.signature),j=!0}else"builtin_tool_call"===a.kind&&(null==d?void 0:d.type)===a.blockType?(null!=d.id&&d.id.length>0&&(a.toolCallId=d.id),null!=d.arguments&&"object"==typeof d.arguments&&(a.arguments=d.arguments),null!=d.name&&"mcp_server_tool_call"===a.blockType&&(a.toolName=d.name)):"builtin_tool_result"===a.kind&&(null==d?void 0:d.type)===a.blockType&&(null!=d.call_id&&d.call_id.length>0&&(a.callId=d.call_id),void 0!==d.result&&(a.result=d.result),null!=d.is_error&&(a.isError=d.is_error),null!=d.name&&"mcp_server_tool_result"===a.blockType&&(a.toolName=d.name));break}case"step.stop":{let a=k.get(H.index);if(null==a)break;if("text"===a.kind){let b=null!=f?{google:{interactionId:f}}:void 0;e.enqueue({type:"text-end",id:a.id,...b?{providerMetadata:b}:{}})}else if("reasoning"===a.kind){let b={};null!=a.signature&&(b.signature=a.signature),null!=f&&(b.interactionId=f);let c=Object.keys(b).length>0?{google:b}:void 0;e.enqueue({type:"reasoning-end",id:a.id,...c?{providerMetadata:c}:{}})}else if("image"===a.kind){let b={};null!=f&&(b.interactionId=f);let c=Object.keys(b).length>0?{google:b}:void 0;null!=a.data&&a.data.length>0?e.enqueue({type:"file",mediaType:null!=(z=a.mimeType)?z:"image/png",data:{type:"data",data:a.data},...c?{providerMetadata:c}:{}}):null!=a.uri&&a.uri.length>0&&e.enqueue({type:"file",mediaType:null!=(A=a.mimeType)?A:"image/png",data:{type:"url",url:new URL(a.uri)},...c?{providerMetadata:c}:{}})}else if("function_call"===a.kind){let b=a.argumentsAccum.length>0?a.argumentsAccum:"{}";e.enqueue({type:"tool-input-end",id:a.toolCallId});let c={};null!=a.signature&&(c.signature=a.signature),null!=f&&(c.interactionId=f);let d=Object.keys(c).length>0?{google:c}:void 0;e.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:b,...d?{providerMetadata:d}:{}})}else if("custom"===a.kind)e.enqueue({type:"custom",kind:a.customKind,providerMetadata:{google:a.google}});else if("builtin_tool_call"!==a.kind||a.callEmitted){if("builtin_tool_result"===a.kind&&!a.resultEmitted)for(let b of(e.enqueue({type:"tool-result",toolCallId:a.callId,toolName:a.toolName,result:null!=(C=a.result)?C:null}),a.resultEmitted=!0,aF({block:{type:a.blockType,call_id:a.callId,result:a.result},generateId:c}))){let a=m(b);l.has(a)||(l.add(a),e.enqueue(b))}}else e.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:JSON.stringify(null!=(B=a.arguments)?B:{}),providerExecuted:!0}),a.callEmitted=!0;k.delete(H.index);break}case"interaction.status_update":case"interaction.in_progress":case"interaction.requires_action":h=null!=H.status?H.status:"interaction.requires_action"===I?"requires_action":"in_progress";break;case"interaction.completed":{let a=H.interaction;(null==a?void 0:a.id)!=null&&a.id.length>0&&(f=a.id),(null==a?void 0:a.status)!=null&&(h=a.status),(null==a?void 0:a.usage)!=null&&(g=a.usage),(null==a?void 0:a.service_tier)!=null&&(i=a.service_tier);break}case"error":h="failed",e.enqueue({type:"error",error:(0,b.createProviderStreamError)({message:null!=(E=null==(D=H.error)?void 0:D.message)?E:"Unknown interaction error",type:H.event_type,code:null!=(G=null==(F=H.error)?void 0:F.code)?G:void 0,data:H})})}},flush(a){let b={unified:aH({status:h,hasFunctionCall:j}),raw:h},c=aB(g),d={google:{...null!=f?{interactionId:f}:{},...null!=i?{serviceTier:i}:{},...null!=c?{outputTokensByModality:c}:{}}};a.enqueue({type:"finish",finishReason:b,usage:aA(g),providerMetadata:d})}})}function aL({part:a,warnings:c,mediaResolution:d}){let e;if("text"===a.data.type)return{type:"text",text:a.data.text};switch((0,b.getTopLevelMediaType)(a.mediaType)){case"image":e="image";break;case"audio":e="audio";break;case"video":e="video";break;case"application":case"text":e="document";break;default:e=void 0}if(null==e)return void c.push({type:"other",message:`google.interactions: unsupported file media type "${a.mediaType}"; part dropped.`});let f=null!=d&&("image"===e||"video"===e)?{resolution:d}:{},g="video"===e?function({part:a,warnings:b}){var c,d;let e=null==(d=null==(c=a.providerOptions)?void 0:c.google)?void 0:d.processing;return null==e?{}:"agentic"===e||"static"===e?{processing:e}:"object"!=typeof e||Array.isArray(e)||"static"!==e.type?(b.push({type:"other",message:'google.interactions: invalid providerOptions.google.processing on video file part; expected "agentic", "static", or a static processing configuration. Option dropped.'}),{}):{processing:{type:"static",..."number"==typeof e.startOffset?{start_offset:e.startOffset}:{},..."number"==typeof e.endOffset?{end_offset:e.endOffset}:{},..."number"==typeof e.fps?{fps:e.fps}:{}}}}({part:a,warnings:c}):{};switch(a.data.type){case"data":{let c=(0,b.resolveFullMediaType)({part:a});return{type:e,data:(0,b.convertToBase64)(a.data.data),mime_type:c,...f,...g}}case"url":return{type:e,uri:a.data.url.toString(),...(0,b.isFullMediaType)(a.mediaType)?{mime_type:a.mediaType}:{},...f,...g};case"reference":return{type:e,uri:(0,b.resolveProviderReference)({reference:a.data.reference,provider:"google"}),...(0,b.isFullMediaType)(a.mediaType)?{mime_type:a.mediaType}:{},...f,...g}}}var aM=()=>e.z.object({modality:e.z.string().nullish(),tokens:e.z.number().nullish()}).loose(),aN=()=>e.z.object({total_input_tokens:e.z.number().nullish(),total_output_tokens:e.z.number().nullish(),total_thought_tokens:e.z.number().nullish(),total_cached_tokens:e.z.number().nullish(),total_tool_use_tokens:e.z.number().nullish(),total_tokens:e.z.number().nullish(),input_tokens_by_modality:e.z.array(aM()).nullish(),output_tokens_by_modality:e.z.array(aM()).nullish(),cached_tokens_by_modality:e.z.array(aM()).nullish(),tool_use_tokens_by_modality:e.z.array(aM()).nullish(),grounding_tool_count:e.z.array(e.z.object({type:e.z.string().nullish(),count:e.z.number().nullish()}).loose()).nullish()}).loose(),aO=()=>e.z.enum(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),aP=()=>{let a=e.z.object({type:e.z.literal("url_citation"),url:e.z.string().nullish(),title:e.z.string().nullish(),start_index:e.z.number().nullish(),end_index:e.z.number().nullish()}).loose(),b=e.z.object({type:e.z.literal("file_citation"),file_name:e.z.string().nullish(),document_uri:e.z.string().nullish(),url:e.z.string().nullish(),page_number:e.z.number().nullish(),media_id:e.z.string().nullish(),start_index:e.z.number().nullish(),end_index:e.z.number().nullish(),custom_metadata:e.z.record(e.z.string(),e.z.unknown()).nullish()}).loose(),c=e.z.object({type:e.z.literal("place_citation"),name:e.z.string().nullish(),url:e.z.string().nullish(),place_id:e.z.string().nullish(),start_index:e.z.number().nullish(),end_index:e.z.number().nullish()}).loose();return e.z.union([a,b,c,e.z.object({type:e.z.string()}).loose()])},aQ=()=>e.z.object({type:e.z.string(),text:e.z.string().nullish(),data:e.z.string().nullish(),mime_type:e.z.string().nullish()}).loose(),aR=()=>{let a=e.z.object({type:e.z.literal("text"),text:e.z.string(),annotations:e.z.array(aP()).nullish()}).loose(),b=e.z.object({type:e.z.literal("image"),data:e.z.string().nullish(),mime_type:e.z.string().nullish(),resolution:e.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:e.z.string().nullish()}).loose(),c=e.z.object({type:e.z.literal("video"),data:e.z.string().nullish(),mime_type:e.z.string().nullish(),uri:e.z.string().nullish()}).loose();return e.z.union([a,b,c,e.z.object({type:e.z.string()}).loose()])},aS=["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"],aT=["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"],aU=()=>{let a=e.z.object({type:e.z.literal("user_input"),content:e.z.array(aR()).nullish()}).loose(),b=e.z.object({type:e.z.literal("model_output"),content:e.z.array(aR()).nullish()}).loose(),c=e.z.object({type:e.z.literal("function_call"),id:e.z.string(),name:e.z.string(),arguments:e.z.record(e.z.string(),e.z.unknown()).nullish(),signature:e.z.string().nullish()}).loose(),d=e.z.object({type:e.z.literal("thought"),signature:e.z.string().nullish(),summary:e.z.array(aQ()).nullish()}).loose(),f=e.z.object({type:e.z.literal("processing_call"),id:e.z.string(),signature:e.z.string().nullish()}).loose(),g=e.z.object({type:e.z.literal("processing_result"),call_id:e.z.string(),signature:e.z.string().nullish()}).loose(),h=e.z.object({type:e.z.enum(aS),id:e.z.string(),arguments:e.z.record(e.z.string(),e.z.unknown()).nullish(),name:e.z.string().nullish(),server_name:e.z.string().nullish(),search_type:e.z.string().nullish(),signature:e.z.string().nullish()}).loose(),i=e.z.object({type:e.z.enum(aT),call_id:e.z.string(),result:e.z.unknown().nullish(),is_error:e.z.boolean().nullish(),name:e.z.string().nullish(),server_name:e.z.string().nullish(),signature:e.z.string().nullish()}).loose();return e.z.union([a,b,c,d,f,g,h,i,e.z.object({type:e.z.string()}).loose()])},aV=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({id:e.z.string().nullish(),created:e.z.string().nullish(),updated:e.z.string().nullish(),status:aO(),model:e.z.string().nullish(),agent:e.z.string().nullish(),steps:e.z.array(aU()).nullish(),usage:aN().nullish(),service_tier:e.z.string().nullish(),previous_interaction_id:e.z.string().nullish(),response_modalities:e.z.array(e.z.string()).nullish()}).loose())),aW=(0,b.lazySchema)(()=>{let a,c,d,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;return(0,b.zodSchema)((a=aO(),c=aP(),d=aQ(),f=e.z.object({event_type:e.z.literal("interaction.created"),event_id:e.z.string().nullish(),interaction:e.z.object({id:e.z.string().nullish(),created:e.z.string().nullish(),model:e.z.string().nullish(),agent:e.z.string().nullish(),status:a.nullish()}).loose()}).loose(),g=e.z.object({event_type:e.z.literal("step.start"),event_id:e.z.string().nullish(),index:e.z.number(),step:aU()}).loose(),h=e.z.object({type:e.z.literal("text"),text:e.z.string()}).loose(),i=e.z.object({type:e.z.literal("thought_summary"),content:d.nullish()}).loose(),j=e.z.object({type:e.z.literal("thought_signature"),signature:e.z.string().nullish()}).loose(),k=e.z.object({type:e.z.literal("arguments_delta"),arguments:e.z.string().nullish(),id:e.z.string().nullish(),signature:e.z.string().nullish()}).loose(),l=e.z.object({type:e.z.enum(["text_annotation_delta","text_annotation"]),annotations:e.z.array(c).nullish()}).loose(),m=e.z.object({type:e.z.literal("image"),data:e.z.string().nullish(),mime_type:e.z.string().nullish(),resolution:e.z.enum(["low","medium","high","ultra_high"]).nullish(),uri:e.z.string().nullish()}).loose(),n=e.z.object({type:e.z.literal("video"),data:e.z.string().nullish(),mime_type:e.z.string().nullish(),uri:e.z.string().nullish()}).loose(),o=e.z.object({type:e.z.enum(aS),id:e.z.string().nullish(),arguments:e.z.record(e.z.string(),e.z.unknown()).nullish(),name:e.z.string().nullish(),server_name:e.z.string().nullish(),search_type:e.z.string().nullish(),signature:e.z.string().nullish()}).loose(),p=e.z.object({type:e.z.enum(aT),call_id:e.z.string().nullish(),result:e.z.unknown().nullish(),is_error:e.z.boolean().nullish(),name:e.z.string().nullish(),server_name:e.z.string().nullish(),signature:e.z.string().nullish()}).loose(),q=e.z.object({type:e.z.string()}).loose(),r=e.z.union([h,m,n,i,j,k,l,o,p,q]),s=e.z.object({event_type:e.z.literal("step.delta"),event_id:e.z.string().nullish(),index:e.z.number(),delta:r}).loose(),t=e.z.object({event_type:e.z.literal("step.stop"),event_id:e.z.string().nullish(),index:e.z.number()}).loose(),u=e.z.object({event_type:e.z.literal("interaction.status_update"),event_id:e.z.string().nullish(),interaction_id:e.z.string().nullish(),status:a.nullish()}).loose(),v=e.z.object({event_type:e.z.literal("interaction.in_progress"),event_id:e.z.string().nullish(),interaction_id:e.z.string().nullish(),status:a.nullish()}).loose(),w=e.z.object({event_type:e.z.literal("interaction.requires_action"),event_id:e.z.string().nullish(),interaction_id:e.z.string().nullish(),status:a.nullish()}).loose(),x=e.z.object({event_type:e.z.literal("interaction.completed"),event_id:e.z.string().nullish(),interaction:e.z.object({id:e.z.string().nullish(),status:a.nullish(),usage:aN().nullish(),service_tier:e.z.string().nullish()}).loose()}).loose(),y=e.z.object({event_type:e.z.literal("error"),event_id:e.z.string().nullish(),error:e.z.object({code:e.z.string().nullish(),message:e.z.string().nullish()}).loose().nullish()}).loose(),z=e.z.object({event_type:e.z.string()}).loose(),e.z.union([f,g,s,t,u,v,w,x,y,z])))}),aX=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({previousInteractionId:e.z.string().nullish(),store:e.z.boolean().nullish(),agent:e.z.string().nullish(),agentConfig:e.z.union([e.z.object({type:e.z.literal("dynamic")}).loose(),e.z.object({type:e.z.literal("deep-research"),thinkingSummaries:e.z.enum(["auto","none"]).nullish(),visualization:e.z.enum(["off","auto"]).nullish(),collaborativePlanning:e.z.boolean().nullish()})]).nullish(),thinkingLevel:e.z.enum(["minimal","low","medium","high"]).nullish(),thinkingSummaries:e.z.enum(["auto","none"]).nullish(),responseFormat:e.z.array(e.z.union([e.z.object({type:e.z.literal("text"),mimeType:e.z.string().nullish(),schema:e.z.unknown().nullish()}).loose(),e.z.object({type:e.z.literal("image"),mimeType:e.z.string().nullish(),aspectRatio:e.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:e.z.enum(["1K","2K","4K","512"]).nullish()}).loose(),e.z.object({type:e.z.literal("audio"),mimeType:e.z.string().nullish()}).loose(),e.z.object({type:e.z.literal("video"),aspectRatio:e.z.enum(["16:9","9:16"]).nullish(),resolution:e.z.enum(["360p","720p","1080p","4k"]).nullish(),duration:e.z.string().nullish(),delivery:e.z.enum(["inline","uri"]).nullish(),gcsUri:e.z.string().nullish()}).loose()])).nullish(),imageConfig:e.z.object({aspectRatio:e.z.enum(["1:1","2:3","3:2","3:4","4:3","4:5","5:4","9:16","16:9","21:9","1:8","8:1","1:4","4:1"]).nullish(),imageSize:e.z.enum(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:e.z.enum(["low","medium","high","ultra_high"]).nullish(),responseModalities:e.z.array(e.z.enum(["text","image","audio","video","document"])).nullish(),serviceTier:e.z.enum(["flex","standard","priority"]).nullish(),systemInstruction:e.z.string().nullish(),signature:e.z.string().nullish(),interactionId:e.z.string().nullish(),pollingTimeoutMs:e.z.number().int().positive().nullish(),background:e.z.boolean().nullish(),environment:e.z.union([e.z.string(),e.z.object({type:e.z.literal("remote"),sources:e.z.array(e.z.union([e.z.object({type:e.z.literal("gcs"),source:e.z.string(),target:e.z.string().nullish()}),e.z.object({type:e.z.literal("repository"),source:e.z.string(),target:e.z.string().nullish()}),e.z.object({type:e.z.literal("inline"),content:e.z.string(),target:e.z.string()})])).nullish(),network:e.z.union([e.z.literal("disabled"),e.z.object({allowlist:e.z.array(e.z.object({domain:e.z.string(),transform:e.z.array(e.z.record(e.z.string(),e.z.string())).nullish()}))})]).nullish()})]).nullish()})));function aY({signature:a,interactionId:b,processingId:c,processingCallId:d}){let e={};return null!=a&&(e.signature=a),null!=b&&(e.interactionId=b),null!=c&&(e.processingId=c),null!=d&&(e.processingCallId=d),Object.keys(e).length>0?{providerMetadata:{google:e}}:{}}var aZ=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),a$=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function a_({steps:a,generateId:b,interactionId:c}){var d,e,f,g,h,i,j,k,l,m,n;let o=[],p=!1;if(null==a)return{content:o,hasFunctionCall:p};for(let q of a){if(null==q||"object"!=typeof q)continue;let a=q.type;if("string"==typeof a)switch(a){case"user_input":break;case"model_output":for(let a of null!=(d=q.content)?d:[]){if(null==a||"object"!=typeof a)continue;let d=a.type;if("text"===d){let d=null!=(e=a.text)?e:"",f=a.annotations;for(let a of(o.push({type:"text",text:d,...aY({interactionId:c})}),aG({annotations:f,generateId:b})))o.push(a)}else"image"===d?null!=a.data&&a.data.length>0?o.push({type:"file",mediaType:null!=(f=a.mime_type)?f:"image/png",data:{type:"data",data:a.data},...aY({interactionId:c})}):null!=a.uri&&a.uri.length>0&&o.push({type:"file",mediaType:null!=(g=a.mime_type)?g:"image/png",data:{type:"url",url:new URL(a.uri)},...aY({interactionId:c})}):"video"===d&&(null!=a.data&&a.data.length>0?o.push({type:"file",mediaType:null!=(h=a.mime_type)?h:"video/mp4",data:{type:"data",data:a.data},...aY({interactionId:c})}):null!=a.uri&&a.uri.length>0&&o.push({type:"file",mediaType:null!=(i=a.mime_type)?i:"video/mp4",data:{type:"url",url:new URL(a.uri)},...aY({interactionId:c})}))}break;case"thought":{let a=(Array.isArray(q.summary)?q.summary:[]).filter(a=>(null==a?void 0:a.type)==="text"&&"string"==typeof a.text).map(a=>a.text).join("\n");o.push({type:"reasoning",text:a,...aY({signature:q.signature,interactionId:c})});break}case"processing_call":{let a=q.id||b();o.push({type:"custom",kind:"google.processing_call",...aY({signature:q.signature,interactionId:c,processingId:a})});break}case"processing_result":{let a=q.call_id||b();o.push({type:"custom",kind:"google.processing_result",...aY({signature:q.signature,interactionId:c,processingCallId:a})});break}case"function_call":p=!0,o.push({type:"tool-call",toolCallId:q.id,toolName:q.name,input:JSON.stringify(null!=(j=q.arguments)?j:{}),...aY({signature:q.signature,interactionId:c})});break;default:if(aZ.has(a)){let c="mcp_server_tool_call"===a?null!=(k=q.name)?k:"mcp_server_tool":a.replace(/_call$/,""),d=JSON.stringify(null!=(l=q.arguments)?l:{});o.push({type:"tool-call",toolCallId:q.id||b(),toolName:c,input:d,providerExecuted:!0})}else if(a$.has(a)){let c="mcp_server_tool_result"===a?null!=(m=q.name)?m:"mcp_server_tool":a.replace(/_result$/,"");for(let a of(o.push({type:"tool-result",toolCallId:q.call_id||b(),toolName:c,result:null!=(n=q.result)?n:null}),aF({block:q,generateId:b})))o.push(a)}}}return{content:o,hasFunctionCall:p}}async function a0({baseURL:a,interactionId:c,headers:d,fetch:e=globalThis.fetch}){if(null==c||0===c.length)return;let f=`${a}/interactions/${encodeURIComponent(c)}/cancel`;try{let a=await e(f,{method:"POST",headers:(0,b.withUserAgentSuffix)((0,b.combineHeaders)({"Content-Type":"application/json"},d),(0,b.getRuntimeEnvironmentUserAgent)()),body:"{}"});try{await a.text()}catch(a){}}catch(a){}}var a1=new Set(["completed","failed","cancelled","incomplete"]);function a2(a){return null!=a&&a1.has(a)}async function a3({baseURL:a,interactionId:c,headers:d,fetch:e,abortSignal:f,initialDelayMs:h=1e3,maxDelayMs:i=1e4,timeoutMs:j=18e5}){if(null==c||0===c.length)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let k=Date.now(),l=h,m=`${a}/interactions/${encodeURIComponent(c)}`,n=()=>a0({baseURL:a,interactionId:c,headers:d,fetch:e});try{for(;;){if(null==f?void 0:f.aborted)throw await n(),new DOMException("Polling was aborted","AbortError");if(Date.now()-k>j)throw Error(`google.interactions: timed out polling interaction ${c} after ${j}ms.`);await (0,b.delay)(l,{abortSignal:f});let{value:a,rawValue:h,responseHeaders:o}=await (0,b.getFromApi)({url:m,validateUrl:!1,headers:d,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(aV),abortSignal:f,fetch:e});if(a2(a.status))return{response:a,rawResponse:h,responseHeaders:o};l=Math.min(2*l,i)}}catch(a){throw(0,b.isAbortError)(a)&&await n(),a}}var a4=class a{constructor(a,b){this.specificationVersion="v4","string"==typeof a?(this.modelId=a,this.agent=void 0):"managedAgent"in a?(this.modelId=a.managedAgent,this.agent=a.managedAgent):(this.modelId=a.agent,this.agent=a.agent),this.config=b}static[d.WORKFLOW_SERIALIZE](a){return{...(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config}),agent:a.agent}}static[d.WORKFLOW_DESERIALIZE](b){return new a(null!=b.agent?{agent:b.agent}:b.modelId,b.config)}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?this.config.supportedUrls():{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H;let I,J,K,L,M,N=[],O=await (0,b.parseProviderOptions)({provider:"google",providerOptions:a.providerOptions,schema:aX}),P=null!=this.agent;if(P||(null!=a.frequencyPenalty&&N.push({type:"unsupported",feature:"frequencyPenalty"}),null!=a.presencePenalty&&N.push({type:"unsupported",feature:"presencePenalty"})),null!=a.tools&&a.tools.length>0){let b=function({tools:a,toolChoice:b}){var c,d,e,f;let g,h=[],i=(null==a?void 0:a.length)?a:void 0;if(null==i)return{tools:void 0,toolChoice:void 0,toolWarnings:h};let j=[];for(let a of i){if("function"===a.type){j.push({type:"function",name:a.name,description:null!=(c=a.description)?c:"",parameters:a.inputSchema});continue}if("provider"===a.type){let b=null!=(d=a.args)?d:{};switch(a.id){case"google.google_search":{let a,c=b.searchTypes;if(null!=c&&"object"==typeof c){let b=[];null!=c.webSearch&&b.push("web_search"),null!=c.imageSearch&&b.push("image_search"),b.length>0&&(a=b)}j.push({type:"google_search",...null!=a?{search_types:a}:{}});break}case"google.code_execution":j.push({type:"code_execution"});break;case"google.url_context":j.push({type:"url_context"});break;case"google.file_search":j.push({type:"file_search",...null!=b.fileSearchStoreNames?{file_search_store_names:b.fileSearchStoreNames}:{},...null!=b.topK?{top_k:b.topK}:{},...null!=b.metadataFilter?{metadata_filter:b.metadataFilter}:{}});break;case"google.google_maps":j.push({type:"google_maps",...null!=b.latitude?{latitude:b.latitude}:{},...null!=b.longitude?{longitude:b.longitude}:{},...null!=b.enableWidget?{enable_widget:b.enableWidget}:{}});break;case"google.computer_use":j.push({type:"computer_use",environment:null!=(e=b.environment)?e:"browser",...null!=b.excludedPredefinedFunctions?{excludedPredefinedFunctions:b.excludedPredefinedFunctions}:{}});break;case"google.mcp_server":j.push({type:"mcp_server",...null!=b.name?{name:b.name}:{},...null!=b.url?{url:b.url}:{},...null!=b.headers?{headers:b.headers}:{},...null!=b.allowedTools?{allowed_tools:b.allowedTools}:{}});break;case"google.retrieval":{let a=null!=(f=b.vertexAiSearchConfig)?f:void 0;j.push({type:"retrieval",...null!=b.retrievalTypes?{retrieval_types:b.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...null!=a?{vertex_ai_search_config:a}:{}});break}default:h.push({type:"unsupported",feature:`provider-defined tool ${a.id}`,details:`provider-defined tool ${a.id} is not supported by google.interactions; tool dropped.`})}continue}h.push({type:"unsupported",feature:`tool of type ${a.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let k=j.some(a=>"function"===a.type);if(null!=b&&k)switch(b.type){case"auto":g="auto";break;case"required":g="any";break;case"none":g="none";break;case"tool":g={allowed_tools:{mode:"validated",tools:[b.toolName]}}}return{tools:j.length>0?j:void 0,toolChoice:g,toolWarnings:h}}({tools:a.tools,toolChoice:a.toolChoice});I=b.tools,J=b.toolChoice,N.push(...b.toolWarnings)}let Q=[];if((null==(c=a.responseFormat)?void 0:c.type)==="json")if(P)N.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else{let b={type:"text",mime_type:"application/json",...null!=a.responseFormat.schema?{schema:a.responseFormat.schema}:{}};Q.push(b)}if((null==O?void 0:O.responseFormat)!=null)for(let a of O.responseFormat)"text"===a.type?Q.push(a5({type:"text",mime_type:null!=(d=a.mimeType)?d:void 0,schema:null!=(e=a.schema)?e:void 0})):"image"===a.type?Q.push(a5({type:"image",mime_type:null!=(f=a.mimeType)?f:void 0,aspect_ratio:null!=(g=a.aspectRatio)?g:void 0,image_size:null!=(h=a.imageSize)?h:void 0})):"audio"===a.type?Q.push(a5({type:"audio",mime_type:null!=(i=a.mimeType)?i:void 0})):"video"===a.type&&Q.push(a5({type:"video",aspect_ratio:null!=(j=a.aspectRatio)?j:void 0,resolution:null!=(k=a.resolution)?k:void 0,duration:null!=(l=a.duration)?l:void 0,delivery:null!=(m=a.delivery)?m:void 0,gcs_uri:null!=(n=a.gcsUri)?n:void 0}));let{input:R,systemInstruction:S,warnings:T}=function({prompt:a,previousInteractionId:c,store:d,mediaResolution:e}){var f,g,h,i,j,k,l,m;let n=[],o=null!=c&&!1===d,p=null!=c&&!1!==d;o&&n.push({type:"other",message:"google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted."});let q=p?function({prompt:a,previousInteractionId:b}){let c=[],d=new Set;for(let e of a){if("assistant"===e.role){if(e.content.some(a=>{var c,d;return(null==(d=null==(c=a.providerOptions)?void 0:c.google)?void 0:d.interactionId)===b})){for(let a of e.content)"tool-call"===a.type&&d.add(a.toolCallId);continue}c.push(e);continue}if("tool"===e.role){let a=e.content.filter(a=>"tool-result"!==a.type||!d.has(a.toolCallId));if(0===a.length)continue;c.push({...e,content:a});continue}c.push(e)}return c}({prompt:a,previousInteractionId:c}):a,r=[],s=[];for(let a of q)switch(a.role){case"system":r.push(a.content);break;case"user":{let b=[];for(let c of a.content)if("text"===c.type)b.push({type:"text",text:c.text});else if("file"===c.type){let a=aL({part:c,warnings:n,mediaResolution:e});null!=a&&b.push(a)}let c=function(a){if(a.length<2)return a;let b=[];for(let c of a){let a=b[b.length-1];if("text"===c.type&&null!=a&&"text"===a.type&&null==a.annotations&&null==c.annotations){let d={type:"text",text:`${a.text}
125
167
 
126
168
  ${c.text}`};b[b.length-1]=d;continue}b.push(c)}return b}(b);c.length>0&&s.push({type:"user_input",content:c});break}case"assistant":{let c=[],d=()=>{c.length>0&&(s.push({type:"model_output",content:c}),c=[])};for(let l of a.content)if("text"===l.type)c.push({type:"text",text:l.text});else if("reasoning"===l.type){d();let a=null==(g=null==(f=l.providerOptions)?void 0:f.google)?void 0:g.signature;s.push({type:"thought",...null!=a?{signature:a}:{},summary:l.text.length>0?[{type:"text",text:l.text}]:void 0})}else if("file"===l.type){let a=aL({part:l,warnings:n,mediaResolution:e});null!=a&&c.push(a)}else if("custom"===l.type){d();let a=null==(h=l.providerOptions)?void 0:h.google,b="string"==typeof(null==a?void 0:a.signature)?a.signature:void 0;"google.processing_call"===l.kind&&"string"==typeof(null==a?void 0:a.processingId)?s.push({type:"processing_call",id:a.processingId,...null!=b?{signature:b}:{}}):"google.processing_result"===l.kind&&"string"==typeof(null==a?void 0:a.processingCallId)?s.push({type:"processing_result",call_id:a.processingCallId,...null!=b?{signature:b}:{}}):n.push({type:"other",message:`google.interactions: unsupported or invalid custom assistant content part "${l.kind}"; part dropped.`})}else if("tool-call"===l.type){d();let a=null==(j=null==(i=l.providerOptions)?void 0:i.google)?void 0:j.signature,c="string"==typeof l.input?function(a){try{let c=(0,b.secureJsonParse)(a);if(null!=c&&"object"==typeof c&&!Array.isArray(c))return c;return{value:c}}catch(b){return{value:a}}}(l.input):null!=(k=l.input)?k:{};s.push({type:"function_call",id:l.toolCallId,name:l.toolName,arguments:c,...null!=a?{signature:a}:{}})}else n.push({type:"other",message:`google.interactions: unsupported assistant content part type "${l.type}"; part dropped.`});d();break}case"tool":{let c=[];for(let d of a.content){if("tool-result"!==d.type){n.push({type:"other",message:`google.interactions: unsupported tool message part type "${d.type}"; part dropped.`});continue}let a=function({toolCallId:a,toolName:c,output:d,signature:e,warnings:f}){var g;let h={type:"function_result",call_id:a,name:c,...null!=e?{signature:e}:{}};switch(d.type){case"text":return{...h,result:d.value};case"json":return{...h,result:JSON.stringify(d.value)};case"error-text":return{...h,is_error:!0,result:d.value};case"error-json":return{...h,is_error:!0,result:JSON.stringify(d.value)};case"execution-denied":return{...h,is_error:!0,result:null!=(g=d.reason)?g:"Tool execution denied by user."};case"content":{let a=[];for(let c of d.value)if("text"===c.type)a.push({type:"text",text:c.text});else if("file"===c.type){if("image"!==(0,b.getTopLevelMediaType)(c.mediaType)){f.push({type:"other",message:`google.interactions: tool-result file with mediaType "${c.mediaType}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let d=function({part:a,warnings:c}){switch(a.data.type){case"data":{let c=(0,b.isFullMediaType)(a.mediaType)?a.mediaType:(0,b.resolveFullMediaType)({part:{type:"file",mediaType:a.mediaType,data:a.data}});return{type:"image",data:(0,b.convertToBase64)(a.data.data),mime_type:c}}case"url":return{type:"image",uri:a.data.url.toString(),...(0,b.isFullMediaType)(a.mediaType)?{mime_type:a.mediaType}:{}};case"reference":return{type:"image",uri:(0,b.resolveProviderReference)({reference:a.data.reference,provider:"google"}),...(0,b.isFullMediaType)(a.mediaType)?{mime_type:a.mediaType}:{}};case"text":return void c.push({type:"other",message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'})}}({part:c,warnings:f});null!=d&&a.push(d)}else f.push({type:"other",message:`google.interactions: tool-result content part type "${c.type}" is not supported; part dropped.`});return{...h,result:a}}}}({toolCallId:d.toolCallId,toolName:d.toolName,output:d.output,signature:null==(m=null==(l=d.providerOptions)?void 0:l.google)?void 0:m.signature,warnings:n});c.push(a)}c.length>0&&s.push({type:"user_input",content:c})}}return{input:s,systemInstruction:r.length>0?r.join("\n\n"):void 0,warnings:n}}({prompt:a.prompt,previousInteractionId:null!=(o=null==O?void 0:O.previousInteractionId)?o:void 0,store:null!=(p=null==O?void 0:O.store)?p:void 0,mediaResolution:null!=(q=null==O?void 0:O.mediaResolution)?q:void 0});N.push(...T);let U=S,V=null!=(r=null==O?void 0:O.systemInstruction)?r:void 0;if(null!=U&&null!=V?N.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."}):null==U&&null!=V&&(U=V),P){let b=[];null!=a.temperature&&b.push("temperature"),null!=a.topP&&b.push("topP"),null!=a.topK&&b.push("topK"),null!=a.frequencyPenalty&&b.push("frequencyPenalty"),null!=a.presencePenalty&&b.push("presencePenalty"),null!=a.seed&&b.push("seed"),null!=a.stopSequences&&a.stopSequences.length>0&&b.push("stopSequences"),null!=a.maxOutputTokens&&b.push("maxOutputTokens"),(null==O?void 0:O.thinkingLevel)!=null&&b.push("thinkingLevel"),(null==O?void 0:O.thinkingSummaries)!=null&&b.push("thinkingSummaries"),(null==O?void 0:O.imageConfig)!=null&&b.push("imageConfig"),b.length>0&&N.push({type:"other",message:`google.interactions: ${b.join(", ")} ${1===b.length?"is":"are"} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),K=void 0}else if(K=a5({temperature:null!=(s=a.temperature)?s:void 0,top_p:null!=(t=a.topP)?t:void 0,top_k:null!=(u=a.topK)?u:void 0,seed:null!=(v=a.seed)?v:void 0,stop_sequences:null!=a.stopSequences&&a.stopSequences.length>0?a.stopSequences:void 0,max_output_tokens:null!=(w=a.maxOutputTokens)?w:void 0,thinking_level:null!=(x=null==O?void 0:O.thinkingLevel)?x:void 0,thinking_summaries:null!=(y=null==O?void 0:O.thinkingSummaries)?y:void 0,tool_choice:J}),(null==O?void 0:O.imageConfig)!=null){let a=Q.some(a=>"image"===a.type);N.push({type:"other",message:a?"google.interactions: providerOptions.google.imageConfig is deprecated and was ignored because providerOptions.google.responseFormat already supplies an image entry. Use responseFormat exclusively.":'google.interactions: providerOptions.google.imageConfig is deprecated. Use providerOptions.google.responseFormat with a { type: "image", ... } entry instead.'}),a||Q.push({type:"image",mime_type:"image/png",...null!=O.imageConfig.aspectRatio?{aspect_ratio:O.imageConfig.aspectRatio}:{},...null!=O.imageConfig.imageSize?{image_size:O.imageConfig.imageSize}:{}})}if(P&&(null==O?void 0:O.agentConfig)!=null){let a=O.agentConfig;"deep-research"===a.type?L=a5({type:"deep-research",thinking_summaries:null!=(z=a.thinkingSummaries)?z:void 0,visualization:null!=(A=a.visualization)?A:void 0,collaborative_planning:null!=(B=a.collaborativePlanning)?B:void 0}):"dynamic"===a.type&&(L={type:"dynamic"})}if((null==O?void 0:O.environment)!=null)if(P)if("string"==typeof O.environment)M=O.environment;else{let a,b=O.environment,c=null==(C=b.sources)?void 0:C.map(a=>{var b;return"inline"===a.type?{type:"inline",content:a.content,target:a.target}:a5({type:a.type,source:a.source,target:null!=(b=a.target)?b:void 0})});"disabled"===b.network?a="disabled":null!=b.network&&(a={allowlist:b.network.allowlist.map(a=>{var b;return a5({domain:a.domain,transform:null!=(b=a.transform)?b:void 0})})}),M=a5({type:"remote",sources:null!=c&&c.length>0?c:void 0,network:a})}else N.push({type:"other",message:"google.interactions: environment is only supported when an agent is set; environment will be omitted from the request body."});return{args:a5({...P?{agent:this.agent}:{model:this.modelId},input:R,system_instruction:U,tools:I,response_format:Q.length>0?Q:void 0,response_modalities:(null==O?void 0:O.responseModalities)!=null?O.responseModalities:void 0,previous_interaction_id:null!=(D=null==O?void 0:O.previousInteractionId)?D:void 0,service_tier:null!=(E=null==O?void 0:O.serviceTier)?E:void 0,store:null!=(F=null==O?void 0:O.store)?F:void 0,generation_config:null!=K&&Object.keys(K).length>0?K:void 0,agent_config:L,environment:M,background:null!=(G=null==O?void 0:O.background)?G:void 0}),warnings:N,isAgent:P,isBackground:(null==O?void 0:O.background)===!0,pollingTimeoutMs:null!=(H=null==O?void 0:O.pollingTimeoutMs)?H:void 0}}async doGenerate(a){var c,d,e,f,h,i;let j,{args:k,warnings:l,isAgent:m,pollingTimeoutMs:n}=await this.getArgs(a),o=`${this.config.baseURL}/interactions`,p=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers),{responseHeaders:q,value:r,rawValue:s}=await (0,b.postJsonToApi)({url:o,headers:p,body:k,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(aV),abortSignal:a.abortSignal,fetch:this.config.fetch});if(m&&!a2(r.status)){let b=await a3({baseURL:this.config.baseURL,interactionId:r.id,headers:p,fetch:this.config.fetch,abortSignal:a.abortSignal,timeoutMs:n});r=b.response,s=b.rawResponse,q=null!=(c=b.responseHeaders)?c:q}let t="string"==typeof r.id&&r.id.length>0?r.id:void 0,{content:u,hasFunctionCall:v}=a_({steps:null!=(d=r.steps)?d:null,generateId:null!=(e=this.config.generateId)?e:b.generateId,interactionId:t}),w={unified:aH({status:r.status,hasFunctionCall:v}),raw:r.status},x=null!=(h=null!=(f=r.service_tier)?f:null==q?void 0:q["x-gemini-service-tier"])?h:void 0,y=aB(r.usage),z={google:{...null!=t?{interactionId:t}:{},...null!=x?{serviceTier:x}:{},...null!=y?{outputTokensByModality:y}:{}}};if("string"==typeof r.created){let a=new Date(r.created);Number.isNaN(a.getTime())||(j=a)}return{content:u,finishReason:w,usage:aA(r.usage),warnings:l,providerMetadata:z,request:{body:k},response:{headers:q,body:s,...null!=t?{id:t}:{},...j?{timestamp:j}:{},modelId:null!=(i=r.model)?i:void 0}}}async doStream(a){var c;let{args:d,warnings:e,isBackground:f,pollingTimeoutMs:h}=await this.getArgs(a),i=`${this.config.baseURL}/interactions`,j=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers);if(f)return this.doStreamBackground({args:d,warnings:e,url:i,mergedHeaders:j,options:a,pollingTimeoutMs:h});let k={...d,stream:!0},{responseHeaders:l,value:m}=await (0,b.postJsonToApi)({url:i,headers:j,body:k,failedResponseHandler:g,successfulResponseHandler:(0,b.createEventSourceResponseHandler)(aW),abortSignal:a.abortSignal,fetch:this.config.fetch}),n=null==l?void 0:l["x-gemini-service-tier"],o=aK({warnings:e,generateId:null!=(c=this.config.generateId)?c:b.generateId,includeRawChunks:a.includeRawChunks,serviceTier:n});return{stream:m.pipeThrough(o),request:{body:k},response:{headers:l}}}async doStreamBackground({args:a,warnings:c,url:d,mergedHeaders:e,options:f,pollingTimeoutMs:h}){var i,j;let{responseHeaders:k,value:l}=await (0,b.postJsonToApi)({url:d,headers:e,body:a,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(aV),abortSignal:f.abortSignal,fetch:this.config.fetch}),m=l.id;if(null==m||0===m.length)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let n=null==k?void 0:k["x-gemini-service-tier"];if(a2(l.status))return{stream:function({response:a,warnings:b,generateId:c,includeRawChunks:d,headerServiceTier:e}){return new ReadableStream({start(f){var g,h,i;let j;f.enqueue({type:"stream-start",warnings:b});let k="string"==typeof a.id&&a.id.length>0?a.id:void 0,l=a.created;if("string"==typeof l){let a=new Date(l);Number.isNaN(a.getTime())||(j=a)}f.enqueue({type:"response-metadata",...null!=k?{id:k}:{},modelId:null!=(g=a.model)?g:void 0,...j?{timestamp:j}:{}}),d&&f.enqueue({type:"raw",rawValue:a});let{content:m,hasFunctionCall:n}=a_({steps:null!=(h=a.steps)?h:null,generateId:c,interactionId:k}),o=0,p=()=>`${null!=k?k:"agent"}:${o++}`;for(let a of m)switch(a.type){case"text":{let b=p(),c=a.providerMetadata;f.enqueue({type:"text-start",id:b}),a.text.length>0&&f.enqueue({type:"text-delta",id:b,delta:a.text}),f.enqueue({type:"text-end",id:b,...c?{providerMetadata:c}:{}});break}case"reasoning":{let b=p(),c=a.providerMetadata;f.enqueue({type:"reasoning-start",id:b}),a.text.length>0&&f.enqueue({type:"reasoning-delta",id:b,delta:a.text}),f.enqueue({type:"reasoning-end",id:b,...c?{providerMetadata:c}:{}});break}case"tool-call":{let b=a.providerMetadata;f.enqueue({type:"tool-input-start",id:a.toolCallId,toolName:a.toolName,...a.providerExecuted?{providerExecuted:a.providerExecuted}:{}}),f.enqueue({type:"tool-input-delta",id:a.toolCallId,delta:a.input}),f.enqueue({type:"tool-input-end",id:a.toolCallId}),f.enqueue({type:"tool-call",toolCallId:a.toolCallId,toolName:a.toolName,input:a.input,...a.providerExecuted?{providerExecuted:a.providerExecuted}:{},...b?{providerMetadata:b}:{}});break}case"tool-result":f.enqueue({type:"tool-result",toolCallId:a.toolCallId,toolName:a.toolName,result:a.result});break;case"source":case"file":f.enqueue(a)}let q=null!=(i=a.service_tier)?i:e,r={unified:aH({status:a.status,hasFunctionCall:n}),raw:a.status},s={google:{...null!=k?{interactionId:k}:{},...null!=q?{serviceTier:q}:{}}};f.enqueue({type:"finish",finishReason:r,usage:aA(a.usage),providerMetadata:s}),f.close()}})}({response:l,warnings:c,generateId:null!=(i=this.config.generateId)?i:b.generateId,includeRawChunks:f.includeRawChunks,headerServiceTier:n}),request:{body:a},response:{headers:k}};let o=function({baseURL:a,interactionId:c,headers:d,fetch:e,abortSignal:f,maxRetries:h=3,retryDelayMs:i=500}){let j,k;if(0===c.length)throw Error("google.interactions: cannot stream a background interaction without an id.");let l={...d,accept:"text/event-stream"},m=!1,n=0,o=!1,p=new AbortController,q=()=>p.abort();null!=f&&(f.aborted?p.abort():f.addEventListener("abort",q,{once:!0}));let r=p.signal;async function s(){let d,f,{value:h}=await (0,b.getFromApi)({url:(d=`${a}/interactions/${encodeURIComponent(c)}`,f=new URLSearchParams({stream:"true"}),null!=j&&f.set("last_event_id",j),`${d}?${f.toString()}`),validateUrl:!1,headers:l,failedResponseHandler:g,successfulResponseHandler:(0,b.createEventSourceResponseHandler)(aW),abortSignal:r,fetch:e});return h.getReader()}return new ReadableStream({async start(g){try{for(;!m&&!r.aborted;){if(null==k)try{k=await s(),o=!1}catch(a){if((0,b.isAbortError)(a)||r.aborted||++n>=h)return void g.error(a);await (0,b.delay)(i*n,{abortSignal:r});continue}try{let{done:a,value:c}=await k.read();if(a){if(k=void 0,m)break;if(o)n=0;else{if(++n>=h)return void g.error(Error("google.interactions: SSE stream closed without producing any events."));await (0,b.delay)(i*n,{abortSignal:r})}continue}if(o=!0,c.success){let a=c.value;"string"==typeof a.event_id&&a.event_id.length>0&&(j=a.event_id),("interaction.completed"===a.event_type||"error"===a.event_type)&&(m=!0)}g.enqueue(c)}catch(a){if((0,b.isAbortError)(a)||r.aborted||(k=void 0,++n>=h))return void g.error(a);await (0,b.delay)(i*n,{abortSignal:r})}}g.close()}catch(a){g.error(a)}finally{null!=f&&f.removeEventListener("abort",q),null==k||k.cancel().catch(()=>{}),k=void 0,r.aborted&&!m&&await a0({baseURL:a,interactionId:c,headers:d,fetch:e})}},cancel(){p.abort(),null==k||k.cancel().catch(()=>{}),k=void 0}})}({baseURL:this.config.baseURL,interactionId:m,headers:e,fetch:this.config.fetch,abortSignal:f.abortSignal}),p=aK({warnings:c,generateId:null!=(j=this.config.generateId)?j:b.generateId,includeRawChunks:f.includeRawChunks,serviceTier:n});return{stream:o.pipeThrough(p),request:{body:a},response:{headers:k}}}};function a5(a){let b={};for(let[c,d]of Object.entries(a))void 0!==d&&(b[c]=d);return b}function a6(a){let b=new URL(a),c=b.pathname.split("/"),d=c.at(-1);return("v1beta"===d||"v1alpha"===d)&&(c.pop(),b.pathname=c.join("/")||"/"),b}function a7(a,b){let c=a6(a);return c.protocol="https:"===c.protocol?"wss:":"ws:",c.pathname=`${c.pathname.replace(/\/$/,"")}/ws/${b}`,c}var a8=class{constructor(){this.turnCounter=0,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16e3}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){this.turnClosed&&(this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1)}parseServerEvent(a){var b,c;return null!=a.setupComplete?{type:"session-created",raw:a}:null!=a.toolCall?(this.beginTurnIfClosed(),(null!=(b=a.toolCall.functionCalls)?b:[]).flatMap(b=>{var c;let d=JSON.stringify(null!=(c=b.args)?c:{});return[{type:"function-call-arguments-delta",responseId:this.responseId,itemId:this.itemId,callId:b.id,delta:d,raw:a},{type:"function-call-arguments-done",responseId:this.responseId,itemId:this.itemId,callId:b.id,name:b.name,arguments:d,raw:a}]})):null!=a.toolCallCancellation?{type:"custom",rawType:"toolCallCancellation",raw:a}:null!=a.goAway?{type:"custom",rawType:"goAway",raw:a}:null!=a.sessionResumptionUpdate?{type:"custom",rawType:"sessionResumptionUpdate",raw:a}:null!=a.serverContent?this.parseServerContent(a.serverContent,a):(null==(c=a.inputTranscription)?void 0:c.text)!=null?{type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:a.inputTranscription.text,raw:a}:{type:"custom",rawType:String(Object.keys(a)[0]),raw:a}}parseServerContent(a,b){var c,d,e,f;let g=[];if(a.interrupted&&g.push({type:"speech-started",raw:b}),null==(c=a.modelTurn)?void 0:c.parts)for(let c of(this.beginTurnIfClosed(),a.modelTurn.parts))(null==(d=c.inlineData)?void 0:d.data)&&(this.hasAudio=!0,g.push({type:"audio-delta",responseId:this.responseId,itemId:this.itemId,delta:c.inlineData.data,raw:b})),c.text&&(this.hasText=!0,g.push({type:"text-delta",responseId:this.responseId,itemId:this.itemId,delta:c.text,raw:b}));return((null==(e=a.outputTranscription)?void 0:e.text)&&(this.hasTranscript=!0,g.push({type:"audio-transcript-delta",responseId:this.responseId,itemId:this.itemId,delta:a.outputTranscription.text,raw:b})),(null==(f=a.inputTranscription)?void 0:f.text)&&g.push({type:"input-transcription-completed",itemId:`google-input-${this.turnCounter}`,transcript:a.inputTranscription.text,raw:b}),a.generationComplete&&g.push({type:"custom",rawType:"generationComplete",raw:b}),a.turnComplete&&(this.hasAudio&&g.push({type:"audio-done",responseId:this.responseId,itemId:this.itemId,raw:b}),this.hasText&&g.push({type:"text-done",responseId:this.responseId,itemId:this.itemId,raw:b}),this.hasTranscript&&g.push({type:"audio-transcript-done",responseId:this.responseId,itemId:this.itemId,raw:b}),g.push({type:"response-done",responseId:this.responseId,status:"completed",raw:b}),this.turnClosed=!0),0===g.length)?{type:"custom",rawType:"serverContent",raw:b}:1===g.length?g[0]:g}serializeClientEvent(a,b){var c;switch(a.type){case"session-update":return(null==(c=a.config.inputAudioFormat)?void 0:c.rate)!=null&&(this.inputAudioRate=a.config.inputAudioFormat.rate),{setup:ba(a.config,b)};case"input-audio-append":return{realtimeInput:{audio:{data:a.audio,mimeType:`audio/pcm;rate=${this.inputAudioRate}`}}};case"input-audio-commit":return{realtimeInput:{audioStreamEnd:!0}};case"input-audio-clear":case"response-create":case"response-cancel":case"conversation-item-truncate":break;case"conversation-item-create":{let b=a.item;switch(b.type){case"text-message":return{realtimeInput:{text:b.text}};case"function-call-output":return a9(b);case"audio-message":return null}}}return null}};async function a9(a){let c=await (0,b.safeParseJSON)({text:a.output}),d=c.success?c.value:{};return{toolResponse:{functionResponses:[{id:a.callId,name:a.name,response:d}]}}}function ba(a,c){let d={model:m(c)},e={};if((null==a?void 0:a.outputModalities)!=null?e.responseModalities=a.outputModalities.map(a=>a.toUpperCase()):e.responseModalities=["AUDIO"],(null==a?void 0:a.voice)!=null&&(e.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:a.voice}}}),d.generationConfig=e,(null==a?void 0:a.instructions)!=null&&(d.systemInstruction={parts:[{text:a.instructions}]}),(null==a?void 0:a.tools)!=null&&a.tools.length>0&&(d.tools=[{functionDeclarations:a.tools.map(a=>({name:a.name,description:a.description,parameters:p(a.parameters)}))}]),(null==a?void 0:a.inputAudioTranscription)!=null&&(d.inputAudioTranscription={}),(null==a?void 0:a.outputAudioTranscription)!=null&&(d.outputAudioTranscription={}),(null==a?void 0:a.providerOptions)==null)return d;let{google:f,...g}=a.providerOptions;Object.assign(d,g);let h=(0,b.isRecord)(f)?f:void 0;if((null==h?void 0:h.translationConfig)!=null){let a=(0,b.isRecord)(d.generationConfig)?d.generationConfig:e;d.generationConfig={...a,translationConfig:h.translationConfig}}return d}var bb=class{constructor(a,b){this.specificationVersion="v4",this.mapper=new a8,this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=null!=(b=this.config.fetch)?b:fetch,f=this.config.headers()["x-goog-api-key"];if(!f)throw Error("Google Generative AI API key is required for realtime token creation.");let g=Date.now(),h=(null!=(c=a.expiresAfterSeconds)?c:60)*1e3,i=new Date(g+h).toISOString(),j=new Date(g+h+18e5).toISOString(),k=ba(a.sessionConfig,this.modelId),l=await e(`${((d=a6(this.config.baseURL)).pathname=`${d.pathname.replace(/\/$/,"")}/v1alpha/auth_tokens`,d.toString())}?key=${encodeURIComponent(f)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uses:0,expireTime:j,newSessionExpireTime:i,bidiGenerateContentSetup:k})});if(!l.ok){let a=await l.text();throw Error(`Google realtime auth token request failed: ${l.status} ${a}`)}let m=await l.json();return{token:m.name,url:a7(this.config.baseURL,"google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained").toString(),expiresAt:m.expireTime?Math.floor(new Date(m.expireTime).getTime()/1e3):void 0}}getWebSocketConfig(a){return{url:`${a.url}?access_token=${encodeURIComponent(a.token)}`}}parseServerEvent(a){return this.mapper.parseServerEvent(a)}serializeClientEvent(a){return this.mapper.serializeClientEvent(a,this.modelId)}buildSessionConfig(a){return ba(a,this.modelId)}},bc=e.z.object({languageCodes:e.z.array(e.z.string()).optional(),customVocabulary:e.z.array(e.z.string()).optional(),wordTimestamp:e.z.boolean().optional(),diarization:e.z.boolean().optional(),mode:e.z.enum(["SMART","VERBATIM"]).optional()});function bd(a){return a.includes("-live")}var be=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async parseOptions(a){return(0,b.parseProviderOptions)({provider:"google",providerOptions:a,schema:bc})}async doGenerate(a){var d,e,f,h,i,j;if(bd(this.modelId))throw new c.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription. Use experimental_streamTranscribe, or a unary model such as 'gemini-3.5-transcribe'.`});let k=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,l=function(a){var b;if(null==a)return;let c={};return null!=a.languageCodes&&(c.language_codes=a.languageCodes),null!=a.customVocabulary&&(c.custom_vocabulary=a.customVocabulary),(null!=a.mode||!0===a.diarization||!0===a.wordTimestamp)&&(c.mode={type:(null!=(b=a.mode)?b:"VERBATIM").toLowerCase(),...!0===a.diarization?{diarization_mode:"speaker"}:{},...!0===a.wordTimestamp?{timestamp_granularities:["word"]}:{}}),Object.keys(c).length>0?c:void 0}(await this.parseOptions(a.providerOptions)),m={model:this.modelId,input:[{type:"audio",data:(0,b.convertToBase64)(a.audio),mime_type:a.mediaType}],...null!=l?{generation_config:{transcription_config:l}}:{}},{value:n,responseHeaders:o,rawValue:p}=await (0,b.postJsonToApi)({url:`${this.config.baseURL}/interactions`,headers:(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers),body:m,failedResponseHandler:g,successfulResponseHandler:(0,b.createJsonResponseHandler)(bh),abortSignal:a.abortSignal,fetch:this.config.fetch}),q="",r=[];for(let a of null!=(h=n.steps)?h:[])for(let b of null!=(i=a.content)?i:[])if("text"===b.type&&null!=b.text)for(let a of(q+=b.text,null!=(j=b.annotations)?j:[])){if("word_info"!==a.type)continue;let b=bf(a.start_offset),c=bf(a.end_offset);null!=a.text&&null!=b&&null!=c&&r.push({text:a.text,startSecond:b,endSecond:c})}return{text:q,segments:r,language:void 0,durationInSeconds:void 0,warnings:[],response:{timestamp:k,modelId:this.modelId,headers:o,body:p},...null!=n.usage?{providerMetadata:{google:{usage:n.usage}}}:{}}}async doStream(a){let d,e;if(!bd(this.modelId))throw new c.InvalidArgumentError({argument:"modelId",message:`Model '${this.modelId}' does not support streaming transcription. Use a live model such as 'gemini-3.5-transcribe-live'.`});let f=null!=(j=null==(i=null==(h=this.config._internal)?void 0:h.currentDate)?void 0:i.call(h))?j:new Date,g=await this.parseOptions(a.providerOptions);var h,i,j,k,l,n,o,p,q,r=a.inputAudioFormat;if("audio/pcm"!==r.type||null!=r.rate&&16e3!==r.rate)throw new c.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live transcription API only supports 16kHz 16-bit PCM input audio."});let s=(0,b.combineHeaders)(this.config.headers?await (0,b.resolve)(this.config.headers):void 0,a.headers);for(let[a,b]of Object.entries(s))"x-goog-api-key"===a.toLowerCase()&&null!=b&&(d=b);if(null==d)throw Error("Google Generative AI API key is required for streaming transcription.");let t=Object.fromEntries(Object.entries(s).filter(([a])=>"x-goog-api-key"!==a.toLowerCase())),u={model:m(this.modelId),inputAudioTranscription:null!=(k=function(a){if(null==a)return;let b={};return null!=a.languageCodes&&(b.languageCodes=a.languageCodes),null!=a.customVocabulary&&(b.customVocabulary=a.customVocabulary),null!=a.wordTimestamp&&(b.wordTimestamp=a.wordTimestamp),null!=a.diarization&&(b.diarization=a.diarization),null!=a.mode&&(b.mode=a.mode),Object.keys(b).length>0?b:void 0}(g))?k:{}};return{request:{body:u},response:{timestamp:f,modelId:this.modelId},stream:function({webSocket:a,url:c,headers:d,setup:e,inputAudioRate:f,finishGraceMs:g,warnings:h,audio:i,abortSignal:j,includeRawChunks:k}){let l=!1,m=()=>{};return new ReadableStream({start:n=>{let o,p,q,r,s,t,u=new Promise(a=>{q=a}),v=0,w="",x="",y="",z=!1,A=()=>`google-segment-${v}`,B=()=>{null!=t&&(clearTimeout(t),t=void 0)},C=()=>{!l&&z&&(B(),t=setTimeout(()=>{t=void 0,F()},g))};m=a=>{B(),null!=o?o.cancel().catch(()=>{}):i.cancel().catch(()=>{}),null==p||p.close(a)};let D=a=>{l||(l=!0,m(),n.error(a))},E=()=>{if(""===w){if(""===y)return;w=y}y="",n.enqueue({type:"transcript-final",id:A(),text:w}),x+=""===x?w:` ${w}`,w="",v++},F=()=>{l||(E(),l=!0,n.enqueue({type:"finish",text:x,segments:[],language:r,durationInSeconds:void 0,...null!=s?{providerMetadata:{google:{usageMetadata:s}}}:{}}),n.close(),m(1e3))},G=async a=>{o=i.getReader();try{for(;;){let{done:c,value:d}=await o.read();if(c||l)break;a.send(JSON.stringify({realtimeInput:{audio:{data:(0,b.convertToBase64)(d),mimeType:`audio/pcm;rate=${f}`}}})),await (0,b.waitForWebSocketBufferDrain)(a)}}finally{o.releaseLock(),o=void 0}l||(a.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),z=!0,C())};p=(0,b.connectToWebSocket)({url:c,headers:d,webSocket:a,abortSignal:j,onAbort:D,onProcessingError:D,onOpen:a=>{n.enqueue({type:"stream-start",warnings:h}),a.send(JSON.stringify({setup:e})),u.then(()=>l?void 0:G(a)).catch(D)},onMessageText:async a=>{var c,d;if(l)return;let e=await (0,b.safeParseJSON)({text:a});if(!e.success)return;let f=e.value;if(k&&n.enqueue({type:"raw",rawValue:f}),null!=f.setupComplete&&q(),null!=f.usageMetadata&&(s=f.usageMetadata),null!=f.error)return void D(Error(null!=(c=f.error.message)?c:"Google Live API error"));let g=f.serverContent,h=null==g?void 0:g.interimInputTranscription;(null==h?void 0:h.text)&&(C(),y=h.text,n.enqueue({type:"transcript-partial",id:A(),text:h.text}));let i=null!=(d=null==g?void 0:g.inputTranscription)?d:f.inputTranscription;null!=i&&(null!=i.languageCode&&(r=i.languageCode),i.text&&(C(),y="",w+=i.text,n.enqueue({type:"transcript-delta",id:A(),delta:i.text})),!0===i.finished&&E()),(null==g?void 0:g.turnComplete)&&E();let j=null==g?void 0:g.interactionStatus;z&&("IDLE"===j||"REQUIRES_ACTION"===j||(null==g?void 0:g.turnComplete)===!0&&null==j)&&F()},onSocketError:()=>{D(Error("Google Live transcription error"))},onClose:({code:a,reason:b})=>{if(!l){if(z)return void F();D(Error(`Google Live transcription WebSocket closed unexpectedly before finishing (code ${null!=a?a:"unknown"}${b?`, reason: ${b}`:""}).`))}}})},cancel:()=>{l||(l=!0,m())}})}({webSocket:this.config.webSocket,url:(p=this.config.baseURL,q=d,(e=a7(p,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",q),e),headers:t,setup:u,inputAudioRate:null!=(l=a.inputAudioFormat.rate)?l:16e3,finishGraceMs:null!=(o=null==(n=this.config._internal)?void 0:n.finishGraceMs)?o:3e3,warnings:[],audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}};function bf(a){if(null==a)return;let b=Number.parseFloat(a);return Number.isFinite(b)?b:void 0}var bg=e.z.object({type:e.z.string().nullish(),text:e.z.string().nullish(),speaker:e.z.string().nullish(),start_offset:e.z.string().nullish(),end_offset:e.z.string().nullish()}),bh=e.z.object({status:e.z.string().nullish(),steps:e.z.array(e.z.object({type:e.z.string().nullish(),content:e.z.array(e.z.object({type:e.z.string().nullish(),text:e.z.string().nullish(),annotations:e.z.array(bg).nullish()})).nullish()})).nullish(),usage:e.z.record(e.z.string(),e.z.unknown()).nullish()}),bi=(0,b.lazySchema)(()=>(0,b.zodSchema)(e.z.object({echoTargetLanguage:e.z.boolean().optional()}))),bj=class a{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,b.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doStream(a){var d,e,f,g,h,i,j,k;let l,n;if(null==a.targetLanguage)throw new c.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let o=null!=(f=null==(e=null==(d=this.config._internal)?void 0:d.currentDate)?void 0:e.call(d))?f:new Date,p=await (0,b.parseProviderOptions)({provider:"google",providerOptions:a.providerOptions,schema:bi}),q=[];(function(a){if("audio/pcm"!==a.type||null!=a.rate&&16e3!==a.rate)throw new c.InvalidArgumentError({argument:"inputAudioFormat",message:"The Gemini Live translation API only supports 16kHz 16-bit PCM input audio."})})(a.inputAudioFormat),null!=a.sourceLanguage&&q.push({type:"unsupported",feature:"sourceLanguage",details:"The Gemini Live translation API auto-detects the source language and does not accept a source language."}),null!=a.outputAudioFormat&&q.push({type:"unsupported",feature:"outputAudioFormat",details:"The Gemini Live API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let r=(0,b.combineHeaders)(this.config.headers(),a.headers);for(let[a,b]of Object.entries(r))"x-goog-api-key"===a.toLowerCase()&&null!=b&&(l=b);if(null==l)throw Error("Google Generative AI API key is required for streaming translation.");let s=Object.fromEntries(Object.entries(r).filter(([a])=>"x-goog-api-key"!==a.toLowerCase())),t=function({modelId:a,targetLanguage:b,providerOptions:c}){return{model:m(a),generationConfig:{responseModalities:["AUDIO"],translationConfig:{targetLanguageCode:b,...(null==c?void 0:c.echoTargetLanguage)!=null?{echoTargetLanguage:c.echoTargetLanguage}:{}}},inputAudioTranscription:{},outputAudioTranscription:{}}}({modelId:this.modelId,targetLanguage:a.targetLanguage,providerOptions:p});return{request:{body:t},response:{timestamp:o,modelId:this.modelId},stream:function({webSocket:a,url:c,headers:d,setup:e,inputAudioRate:f,finishGraceMs:g,warnings:h,audio:i,abortSignal:j,includeRawChunks:k}){let l=!1,m=()=>{};return new ReadableStream({start:n=>{let o,p,q,r,s,t=new Promise(a=>{q=a}),u=0,v="",w="",x="",y="",z=!1,A=!1,B=!1,C=0,D=()=>`google-item-${u}`,E=()=>{null!=s&&(clearTimeout(s),s=void 0)},F=()=>{l||null!=s||(s=setTimeout(()=>{s=void 0,I()},g))},G=()=>{A=!0,C=0,E()};m=a=>{E(),null!=o?o.cancel().catch(()=>{}):i.cancel().catch(()=>{}),null==p||p.close(a)};let H=a=>{l||(l=!0,m(),n.error(a))},I=()=>{l||((""!==w||""!==y)&&J(),l=!0,n.enqueue({type:"finish",sourceText:v,outputText:x,usage:r}),n.close(),m(1e3))},J=()=>{""!==w&&(n.enqueue({type:"source-transcript-final",id:D(),text:w}),v+=w,w=""),""!==y&&(n.enqueue({type:"output-text-final",id:D(),text:y}),x+=y,y=""),u++},K=async a=>{o=i.getReader();try{for(;;){let{done:c,value:d}=await o.read();if(c||l)break;a.send(JSON.stringify({realtimeInput:{audio:{data:(0,b.convertToBase64)(d),mimeType:`audio/pcm;rate=${f}`}}})),await (0,b.waitForWebSocketBufferDrain)(a)}}finally{o.releaseLock(),o=void 0}l||(a.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),z=!0,B&&!A&&F())};p=(0,b.connectToWebSocket)({url:c,headers:d,webSocket:a,abortSignal:j,onAbort:H,onProcessingError:H,onOpen:a=>{n.enqueue({type:"stream-start",warnings:h}),a.send(JSON.stringify({setup:e})),t.then(()=>l?void 0:K(a)).catch(H)},onMessageText:async a=>{var c,d,e,f,h,i,j,m,o;if(l)return;let p=await (0,b.safeParseJSON)({text:a});if(!p.success)return;let s=p.value;if(k&&n.enqueue({type:"raw",rawValue:s}),null!=s.setupComplete&&q(),null!=s.usageMetadata&&(r=function(a,b){var c,d;let e=null==a?void 0:a.inputAudioTokens,f=null==a?void 0:a.outputAudioTokens;for(let a of null!=(c=b.promptTokensDetails)?c:[])"AUDIO"===a.modality&&null!=a.tokenCount&&(e=(null!=e?e:0)+a.tokenCount);for(let a of null!=(d=b.responseTokensDetails)?d:[])"AUDIO"===a.modality&&null!=a.tokenCount&&(f=(null!=f?f:0)+a.tokenCount);return null==e&&null==f?a:{...a,...null!=e?{inputAudioTokens:e}:{},...null!=f?{outputAudioTokens:f}:{}}}(r,s.usageMetadata)),null!=s.error)return void H(Error(null!=(c=s.error.message)?c:"Google Live API error"));let t=null!=(h=null==(e=null==(d=s.serverContent)?void 0:d.inputTranscription)?void 0:e.text)?h:null==(f=s.inputTranscription)?void 0:f.text;t&&(G(),w+=t,n.enqueue({type:"source-transcript-delta",id:D(),delta:t}));let u=s.serverContent;if(null!=u){for(let a of null!=(j=null==(i=u.modelTurn)?void 0:i.parts)?j:[])if(null==(m=a.inlineData)?void 0:m.data){n.enqueue({type:"audio",id:D(),audio:a.inlineData.data});let c=function(a){let c;try{c=(0,b.convertBase64ToUint8Array)(a)}catch(a){return}if(c.byteLength<2)return;let d=new DataView(c.buffer,c.byteOffset,c.byteLength),e=Math.floor(c.byteLength/2);for(let a=0;a<e;a++)if(Math.abs(d.getInt16(2*a,!0))>128)return;return e/24e3*1e3}(a.inlineData.data);if(z&&null!=c){if((C+=c)>=g)return void I()}else G()}(null==(o=u.outputTranscription)?void 0:o.text)&&(G(),y+=u.outputTranscription.text,n.enqueue({type:"output-text-delta",id:D(),delta:u.outputTranscription.text})),u.turnComplete&&(J(),A=!1,B=!0,z&&F())}},onSocketError:()=>{H(Error("Google Live translation error"))},onClose:({code:a,reason:b})=>{if(!l){if(null!=s)return void I();H(Error(`Google Live translation WebSocket closed unexpectedly before finishing (code ${null!=a?a:"unknown"}${b?`, reason: ${b}`:""}).`))}}})},cancel:()=>{l||(l=!0,m())}})}({webSocket:this.config.webSocket,url:(j=this.config.baseURL,k=l,(n=a7(j,"google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent")).searchParams.set("key",k),n),headers:s,setup:t,inputAudioRate:null!=(g=a.inputAudioFormat.rate)?g:16e3,finishGraceMs:null!=(i=null==(h=this.config._internal)?void 0:h.finishGraceMs)?i:1e3,warnings:q,audio:a.audio,abortSignal:a.abortSignal,includeRawChunks:a.includeRawChunks})}}},bk=/^https:\/\/generativelanguage\.googleapis\.com\/v1beta\/files\/.*$/,bl=["text/html","text/css","text/plain","text/xml","text/csv","text/rtf","text/javascript","application/json","application/pdf","image/bmp","image/jpeg","image/png","image/webp","video/mp4","video/mpeg","video/quicktime","video/avi","video/x-flv","video/mpg","video/webm","video/wmv","video/3gpp"],bm=/^https:\/\/.*$/;function bn(a={}){var c,d;let e=null!=(c=(0,b.withoutTrailingSlash)(a.baseURL))?c:"https://generativelanguage.googleapis.com/v1beta",f=null!=(d=a.name)?d:"google.generative-ai",g=()=>(0,b.withUserAgentSuffix)({"x-goog-api-key":(0,b.loadApiKey)({apiKey:a.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...a.headers},"ai-sdk/google/4.0.64"),h=c=>{var d;return new Z(c,{provider:f,baseURL:e,headers:g,generateId:null!=(d=a.generateId)?d:b.generateId,supportedUrls:()=>({"*":[bk,RegExp(`^${e}/files/.*$`),RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")],.../(^|\/)gemini-/.test(c)&&!/(^|\/)gemini-2\.0/.test(c)?Object.fromEntries(bl.map(a=>[a,[bm]])):{}}),fetch:a.fetch})},i=b=>new j(b,{provider:f,baseURL:e,headers:g,fetch:a.fetch}),k=(b,c={})=>new ak(b,c,{provider:f,baseURL:e,headers:g,fetch:a.fetch}),l=c=>{var d;return new ar(c,{provider:f,baseURL:e,headers:g,fetch:a.fetch,generateId:null!=(d=a.generateId)?d:b.generateId})},m=b=>new bb(b,{provider:`${f}.realtime`,baseURL:e,headers:g,fetch:a.fetch}),n=b=>new bj(b,{provider:`${f}.speech-translation`,baseURL:e,headers:g,webSocket:a.webSocket}),o=b=>new ay(b,{provider:`${f}.speech`,baseURL:e,headers:g,fetch:a.fetch}),p=b=>new be(b,{provider:`${f}.transcription`,baseURL:e,headers:g,fetch:a.fetch,webSocket:a.webSocket}),q=Object.assign(a=>m(a),{getToken:async a=>{let b=m(a.model),c=await b.doCreateClientSecret({sessionConfig:a.sessionConfig,expiresAfterSeconds:a.expiresAfterSeconds});return{token:c.token,url:c.url,expiresAt:c.expiresAt}}}),r=function(a){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return h(a)};return r.specificationVersion="v4",r.languageModel=h,r.chat=h,r.generativeAI=h,r.embedding=i,r.embeddingModel=i,r.textEmbedding=i,r.textEmbeddingModel=i,r.image=k,r.imageModel=k,r.video=l,r.videoModel=l,r.experimental_realtime=q,r.files=()=>new am({provider:f,baseURL:e,headers:g,fetch:a.fetch}),r.speech=o,r.speechModel=o,r.transcription=p,r.transcriptionModel=p,r.translation=n,r.speechTranslationModel=n,r.interactions=c=>{var d;return new a4(c,{provider:`${f}.interactions`,baseURL:e,headers:g,generateId:null!=(d=a.generateId)?d:b.generateId,fetch:a.fetch})},r.tools=ai,r}bn(),a.s(["createGoogleGenerativeAI",0,bn])},345364,a=>{"use strict";var b,c=a.i(527990),d=a.i(912735),e=a.i(53112),f=a.i(652685),g=e.z.object({error:e.z.object({message:e.z.string(),type:e.z.string().nullish(),param:e.z.any().nullish(),code:e.z.union([e.z.string(),e.z.number()]).nullish()})}),h=(0,c.createJsonErrorResponseHandler)({errorSchema:g,errorToMessage:a=>a.error.message});function i(a){var b,c,d,e,f,g;let h,i=(g=a,null==(h=/^o(\d+)(?:-|$)/.exec(g))?void 0:Number(h[1])),j=function(a){let b=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(a);if(null!=b)return{major:Number(b[1]),minor:null==b[2]?void 0:Number(b[2]),variant:b[3]}}(a),k=(null==j?void 0:j.minor)==null&&null!=(c=null==(b=null==j?void 0:j.variant)?void 0:b.startsWith("chat"))&&c,l=null!=(e=null==(d=null==j?void 0:j.variant)?void 0:d.startsWith("nano"))&&e,m=null!=j&&j.major>=6,n=null!=i&&i>=3||null!=j&&j.major>=5&&!k,o=a.startsWith("gpt-4")||null!=j&&j.major>=5&&!l&&!k||null!=i&&i>=3,p=null!=i||null!=j&&j.major>=5&&!k,q=!m&&null!=j&&(j.major>5||5===j.major&&(null!=(f=j.minor)?f:0)>=1);return{supportsFlexProcessing:n,supportsPriorityProcessing:o,supportsConfigurationUpdate:m,supportedReasoningEfforts:m?["low","medium","high","xhigh","max"]:void 0,isReasoningModel:p,systemMessageMode:p?"developer":"system",supportsNonReasoningParameters:q}}function j(a){var b,d;let e=function(a){var b;let c=n(a);if(null==c)return;if("response.failed"===c.type){let a=n(c.response),b=n(null==a?void 0:a.error);return"string"==typeof(null==b?void 0:b.message)?{message:b.message,code:o(b.code),type:"response.failed"}:void 0}let d=null!=(b=n(c.error))?b:c;return"string"==typeof d.message&&(null!=n(c.error)||"string"==typeof d.type||"code"in d||"param"in d)?{message:d.message,code:o(d.code),type:"string"==typeof d.type?d.type:void 0}:void 0}(a);if(null==e)return;let f=function(a){var b,c;let d,e="number"==typeof(d="string"==typeof(b=a.code)&&/^\d{3}$/.test(b)?Number(b):b)&&Number.isInteger(c=d)&&c>=400&&c<=599?d:void 0;if(null!=e)return e;let f=[a.code,a.type].filter(a=>"string"==typeof a||"number"==typeof a).join(" ").toLowerCase();return["insufficient_quota","rate_limit"].some(a=>f.includes(a))?429:f.includes("authentication")?401:f.includes("permission")?403:f.includes("not_found")?404:["invalid","bad_request","context_length"].some(a=>f.includes(a))?400:f.includes("overload")?503:f.includes("timeout")?504:500}(e);return(0,c.createProviderStreamError)({message:e.message,type:null!=(b=e.type)?b:void 0,code:null!=(d=e.code)?d:void 0,statusCode:f,isRetryable:function(a,b){return"insufficient_quota"!==a.code&&"insufficient_quota"!==a.type&&(408===b||409===b||429===b||b>=500)}(e,f),data:a})}async function k({stream:a,getError:b,isOutputChunk:c,isAcceptedChunk:d,acceptedGraceMs:e=50,url:g,requestBodyValues:h,responseHeaders:i}){let[n,o]=a.tee(),p=n.getReader(),q=!1;try{let a=!1;for(;;){let k;if(a){let a=await m(p.read(),e);if(a.timedOut)return o;k=a.value}else k=await p.read();if(k.done)return o;let n=k.value;if(!n.success)return o;let r=b(n.value);if(null!=r)throw q=!0,l(p).catch(()=>{}),l(o.getReader()).catch(()=>{}),function({frame:a,url:b,requestBodyValues:c,responseHeaders:d}){var e,g;let h=j(a);return new f.APICallError({message:null!=(e=null==h?void 0:h.message)?e:"OpenAI stream failed before any output was generated",url:b,requestBodyValues:c,statusCode:null!=(g=null==h?void 0:h.statusCode)?g:500,responseHeaders:d,responseBody:JSON.stringify(a),data:a,isRetryable:null==h?void 0:h.isRetryable})}({frame:r,url:g,requestBodyValues:h,responseHeaders:i});if(c(n.value))return o;a||(null==d?void 0:d(n.value))!==!0||(a=!0)}}finally{q||(p.cancel().catch(()=>{}),p.releaseLock())}}async function l(a){try{for(;!(await a.read()).done;);}catch(a){}finally{a.releaseLock()}}async function m(a,b){let c,d=a.then(a=>({timedOut:!1,value:a}));try{let a=await Promise.race([d,new Promise(a=>{c=setTimeout(()=>a({timedOut:!0}),b)})]);return a.timedOut&&d.catch(()=>{}),a}finally{clearTimeout(c)}}function n(a){return"object"==typeof a&&null!=a?a:void 0}function o(a){return"string"==typeof a||"number"==typeof a?a:void 0}function p(a){var b,d,e,f,g,h,i,j;if(null==a)return(0,c.createNullLanguageModelUsage)();let k=null!=(b=a.prompt_tokens)?b:0,l=null!=(d=a.completion_tokens)?d:0,m=null!=(f=null==(e=a.prompt_tokens_details)?void 0:e.cached_tokens)?f:0,n=null!=(h=null==(g=a.prompt_tokens_details)?void 0:g.cache_write_tokens)?h:void 0,o=null!=(j=null==(i=a.completion_tokens_details)?void 0:i.reasoning_tokens)?j:0;return{inputTokens:{total:k,noCache:k-m-(null!=n?n:0),cacheRead:m,cacheWrite:n},outputTokens:{total:l,text:Math.max(0,l-o),reasoning:o},raw:a}}function q(a){var b;return null==(b=null==a?void 0:a.openai)?void 0:b.promptCacheBreakpoint}function r({id:a,model:b,created:d}){return(0,c.createLanguageModelResponseMetadata)({id:a,model:b,created:d||void 0})}function s(a){switch(a){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var t=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({message:e.z.object({role:e.z.literal("assistant").nullish(),content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({id:e.z.string().nullish(),type:e.z.literal("function"),function:e.z.object({name:e.z.string(),arguments:e.z.string()})})).nullish(),annotations:e.z.array(e.z.object({type:e.z.literal("url_citation"),url_citation:e.z.object({start_index:e.z.number(),end_index:e.z.number(),url:e.z.string(),title:e.z.string()})})).nullish()}),index:e.z.number(),logprobs:e.z.object({content:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number(),top_logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number()}))})).nullish()}).nullish(),finish_reason:e.z.string().nullish()})),usage:e.z.object({prompt_tokens:e.z.number().nullish(),completion_tokens:e.z.number().nullish(),total_tokens:e.z.number().nullish(),prompt_tokens_details:e.z.object({cached_tokens:e.z.number().nullish(),cache_write_tokens:e.z.number().nullish()}).nullish(),completion_tokens_details:e.z.object({reasoning_tokens:e.z.number().nullish(),accepted_prediction_tokens:e.z.number().nullish(),rejected_prediction_tokens:e.z.number().nullish()}).nullish()}).nullish()}))),u=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.union([e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({delta:e.z.object({role:e.z.enum(["assistant"]).nullish(),content:e.z.string().nullish(),tool_calls:e.z.array(e.z.object({index:e.z.number(),id:e.z.string().nullish(),type:e.z.literal("function").nullish(),function:e.z.object({name:e.z.string().nullish(),arguments:e.z.string().nullish()})})).nullish(),annotations:e.z.array(e.z.object({type:e.z.literal("url_citation"),url_citation:e.z.object({start_index:e.z.number(),end_index:e.z.number(),url:e.z.string(),title:e.z.string()})})).nullish()}).nullish(),logprobs:e.z.object({content:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number(),top_logprobs:e.z.array(e.z.object({token:e.z.string(),logprob:e.z.number()}))})).nullish()}).nullish(),finish_reason:e.z.string().nullish(),index:e.z.number()})),usage:e.z.object({prompt_tokens:e.z.number().nullish(),completion_tokens:e.z.number().nullish(),total_tokens:e.z.number().nullish(),prompt_tokens_details:e.z.object({cached_tokens:e.z.number().nullish(),cache_write_tokens:e.z.number().nullish()}).nullish(),completion_tokens_details:e.z.object({reasoning_tokens:e.z.number().nullish(),accepted_prediction_tokens:e.z.number().nullish(),rejected_prediction_tokens:e.z.number().nullish()}).nullish()}).nullish()}),g]))),v=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({logitBias:e.z.record(e.z.coerce.number(),e.z.number()).optional(),logprobs:e.z.union([e.z.boolean(),e.z.number()]).optional(),parallelToolCalls:e.z.boolean().optional(),user:e.z.string().optional(),reasoningEffort:e.z.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:e.z.number().optional(),store:e.z.boolean().optional(),metadata:e.z.record(e.z.string().max(64),e.z.string().max(512)).optional(),prediction:e.z.record(e.z.string(),e.z.any()).optional(),serviceTier:e.z.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:e.z.boolean().optional(),textVerbosity:e.z.enum(["low","medium","high"]).optional(),promptCacheKey:e.z.string().optional(),promptCacheOptions:e.z.object({mode:e.z.enum(["implicit","explicit"]).optional(),ttl:e.z.literal("30m").optional()}).optional(),promptCacheRetention:e.z.enum(["in_memory","24h"]).optional(),safetyIdentifier:e.z.string().optional(),systemMessageMode:e.z.enum(["system","developer","remove"]).optional(),forceReasoning:e.z.boolean().optional()}))),w=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=a,this.config=b}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:b,temperature:d,topP:e,topK:g,frequencyPenalty:h,presencePenalty:j,stopSequences:k,responseFormat:l,seed:m,tools:n,toolChoice:o,reasoning:p,providerOptions:r}){var s,t,u,w,x,y;let z=[],A=null!=(s=await (0,c.parseProviderOptions)({provider:"openai",providerOptions:r,schema:v}))?s:{},B=i(this.modelId),C=null!=(t=A.reasoningEffort)?t:(0,c.isCustomReasoning)(p)?p:void 0;null==C||null==B.supportedReasoningEfforts||B.supportedReasoningEfforts.includes(C)||(z.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${B.supportedReasoningEfforts.join(", ")}`}),C=void 0);let D=null!=(u=A.forceReasoning)?u:B.isReasoningModel;null!=g&&z.push({type:"unsupported",feature:"topK"});let{messages:E,warnings:F}=function({prompt:a,systemMessageMode:b="system"}){var d,e,g;let h=[],i=[];for(let{role:j,content:k,providerOptions:l}of a)switch(j){case"system":switch(b){case"system":{let a=q(l);h.push({role:"system",content:null==a?k:[{type:"text",text:k,prompt_cache_breakpoint:a}]});break}case"developer":{let a=q(l);h.push({role:"developer",content:null==a?k:[{type:"text",text:k,prompt_cache_breakpoint:a}]});break}case"remove":i.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${b}`)}break;case"user":if(1===k.length&&"text"===k[0].type&&null==q(k[0].providerOptions)){h.push({role:"user",content:k[0].text});break}h.push({role:"user",content:k.map((a,b)=>{var d,e,g;switch(a.type){case"text":{let b=q(a.providerOptions);return{type:"text",text:a.text,...null!=b&&{prompt_cache_breakpoint:b}}}case"file":{let h=q(a.providerOptions);switch(a.data.type){case"reference":return{type:"file",file:{file_id:(0,c.resolveProviderReference)({reference:a.data.reference,provider:"openai"})},...null!=h&&{prompt_cache_breakpoint:h}};case"text":throw new f.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":{let i=(0,c.getTopLevelMediaType)(a.mediaType);if("image"===i)return{type:"image_url",image_url:{url:"url"===a.data.type?a.data.url.toString():`data:${(0,c.resolveFullMediaType)({part:a})};base64,${(0,c.convertToBase64)(a.data.data)}`,detail:null==(e=null==(d=a.providerOptions)?void 0:d.openai)?void 0:e.imageDetail},...null!=h&&{prompt_cache_breakpoint:h}};if("audio"===i){if("url"===a.data.type)throw new f.UnsupportedFunctionalityError({functionality:"audio file parts with URLs"});let b=(0,c.resolveFullMediaType)({part:a});switch(b){case"audio/wav":return{type:"input_audio",input_audio:{data:(0,c.convertToBase64)(a.data.data),format:"wav"},...null!=h&&{prompt_cache_breakpoint:h}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:(0,c.convertToBase64)(a.data.data),format:"mp3"},...null!=h&&{prompt_cache_breakpoint:h}};default:throw new f.UnsupportedFunctionalityError({functionality:`audio content parts with media type ${b}`})}}{let d=(0,c.resolveFullMediaType)({part:a});if("application/pdf"!==d)throw new f.UnsupportedFunctionalityError({functionality:`file part media type ${d}`});if("url"===a.data.type)throw new f.UnsupportedFunctionalityError({functionality:"PDF file parts with URLs"});return{type:"file",file:{filename:null!=(g=a.filename)?g:`part-${b}.pdf`,file_data:`data:application/pdf;base64,${(0,c.convertToBase64)(a.data.data)}`},...null!=h&&{prompt_cache_breakpoint:h}}}}}}}})});break;case"assistant":{let a="",b=[],c=!1,d=[];for(let e of k)switch(e.type){case"text":{let d=q(e.providerOptions);a+=e.text,b.push({type:"text",text:e.text,...null!=d&&{prompt_cache_breakpoint:d}}),c||(c=null!=d);break}case"tool-call":d.push({id:e.toolCallId,type:"function",function:{name:e.toolName,arguments:JSON.stringify("object"!=typeof(g=e.input)||null===g||Array.isArray(g)?{}:g)}})}h.push({role:"assistant",content:c?b:d.length>0?a||null:a,tool_calls:d.length>0?d:void 0});break}case"tool":for(let a of k){let b;if("tool-approval-response"===a.type)continue;let c=a.output,f=null!=(d="content"===c.type?c.value.map(a=>q(a.providerOptions)).find(a=>null!=a):q(c.providerOptions))?d:q(a.providerOptions);switch(c.type){case"text":case"error-text":b=c.value;break;case"execution-denied":b=null!=(e=c.reason)?e:"Tool call execution denied.";break;case"content":case"json":case"error-json":b=JSON.stringify(c.value)}h.push({role:"tool",tool_call_id:a.toolCallId,content:null==f?b:[{type:"text",text:b,prompt_cache_breakpoint:f}]})}break;default:throw Error(`Unsupported role: ${j}`)}return{messages:h,warnings:i}}({prompt:a,systemMessageMode:null!=(w=A.systemMessageMode)?w:D?"developer":B.systemMessageMode});z.push(...F);let G=null==(x=A.strictJsonSchema)||x,H={model:this.modelId,logit_bias:A.logitBias,logprobs:!0===A.logprobs||"number"==typeof A.logprobs||void 0,top_logprobs:"number"==typeof A.logprobs?A.logprobs:"boolean"==typeof A.logprobs&&A.logprobs?0:void 0,user:A.user,parallel_tool_calls:A.parallelToolCalls,max_tokens:b,temperature:d,top_p:e,frequency_penalty:h,presence_penalty:j,response_format:(null==l?void 0:l.type)==="json"?null!=l.schema?{type:"json_schema",json_schema:{schema:l.schema,strict:G,name:null!=(y=l.name)?y:"response",description:l.description}}:{type:"json_object"}:void 0,stop:k,seed:m,verbosity:A.textVerbosity,max_completion_tokens:A.maxCompletionTokens,store:A.store,metadata:A.metadata,prediction:A.prediction,reasoning_effort:C,service_tier:A.serviceTier,prompt_cache_key:A.promptCacheKey,prompt_cache_options:A.promptCacheOptions,prompt_cache_retention:A.promptCacheRetention,safety_identifier:A.safetyIdentifier,messages:E};null!=B.supportedReasoningEfforts&&null!=H.prompt_cache_retention&&(H.prompt_cache_retention=void 0,z.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),D?("none"===C&&B.supportsNonReasoningParameters||(null!=H.temperature&&(H.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=H.top_p&&(H.top_p=void 0,z.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=H.logprobs&&(H.logprobs=void 0,z.push({type:"other",message:"logprobs is not supported for reasoning models"}))),null!=H.frequency_penalty&&(H.frequency_penalty=void 0,z.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"})),null!=H.presence_penalty&&(H.presence_penalty=void 0,z.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"})),null!=H.logit_bias&&(H.logit_bias=void 0,z.push({type:"other",message:"logitBias is not supported for reasoning models"})),null!=H.top_logprobs&&(H.top_logprobs=void 0,z.push({type:"other",message:"topLogprobs is not supported for reasoning models"})),null!=H.max_tokens&&(null==H.max_completion_tokens&&(H.max_completion_tokens=H.max_tokens),H.max_tokens=void 0)):(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview"))&&null!=H.temperature&&(H.temperature=void 0,z.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})),"flex"!==A.serviceTier||B.supportsFlexProcessing||(z.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),H.service_tier=void 0),"priority"!==A.serviceTier&&"fast"!==A.serviceTier||B.supportsPriorityProcessing||(z.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),H.service_tier=void 0);let{tools:I,toolChoice:J,toolWarnings:K}=function({tools:a,toolChoice:b}){a=(null==a?void 0:a.length)?a:void 0;let c=[];if(null==a)return{tools:void 0,toolChoice:void 0,toolWarnings:c};let d=[];for(let b of a)"function"===b.type?d.push({type:"function",function:{name:b.name,description:b.description,parameters:b.inputSchema,...null!=b.strict?{strict:b.strict}:{}}}):c.push({type:"unsupported",feature:`tool type: ${b.type}`});if(null==b)return{tools:d,toolChoice:void 0,toolWarnings:c};let e=b.type;switch(e){case"auto":case"none":case"required":return{tools:d,toolChoice:e,toolWarnings:c};case"tool":return{tools:d,toolChoice:{type:"function",function:{name:b.toolName}},toolWarnings:c};default:throw new f.UnsupportedFunctionalityError({functionality:`tool choice type: ${e}`})}}({tools:n,toolChoice:o});return{args:{...H,tools:I,tool_choice:J},warnings:[...z,...K]}}async doGenerate(a){var b,d,e,f,g,i,j;let{args:k,warnings:l}=await this.getArgs(a),{responseHeaders:m,value:n,rawValue:o}=await (0,c.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:k,failedResponseHandler:h,successfulResponseHandler:(0,c.createJsonResponseHandler)(t),abortSignal:a.abortSignal,fetch:this.config.fetch}),q=n.choices[0],u=[],v=q.message.content;for(let a of(null!=v&&v.length>0&&u.push({type:"text",text:v}),null!=(e=q.message.tool_calls)?e:[]))u.push({type:"tool-call",toolCallId:a.id||(0,c.generateId)(),toolName:a.function.name,input:a.function.arguments});for(let a of null!=(f=q.message.annotations)?f:[])u.push({type:"source",sourceType:"url",id:(0,c.generateId)(),url:a.url_citation.url,title:a.url_citation.title});let w=null==(g=n.usage)?void 0:g.completion_tokens_details,x={openai:{}};return(null==w?void 0:w.accepted_prediction_tokens)!=null&&(x.openai.acceptedPredictionTokens=null==w?void 0:w.accepted_prediction_tokens),(null==w?void 0:w.rejected_prediction_tokens)!=null&&(x.openai.rejectedPredictionTokens=null==w?void 0:w.rejected_prediction_tokens),(null==(i=q.logprobs)?void 0:i.content)!=null&&(x.openai.logprobs=q.logprobs.content),{content:u,finishReason:{unified:s(q.finish_reason),raw:null!=(j=q.finish_reason)?j:void 0},usage:p(n.usage),request:{body:k},response:{...r(n),headers:m,body:o},warnings:l,providerMetadata:x}}async doStream(a){var b,d;let e,f,{args:g,warnings:i}=await this.getArgs(a),l={...g,stream:!0,stream_options:{include_usage:!0}},m=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:n,value:o}=await (0,c.postJsonToApi)({url:m,headers:(0,c.combineHeaders)(null==(d=(b=this.config).headers)?void 0:d.call(b),a.headers),body:l,failedResponseHandler:h,successfulResponseHandler:(0,c.createEventSourceResponseHandler)(u),abortSignal:a.abortSignal,fetch:this.config.fetch}),q=await k({stream:o,getError:a=>"error"in a?a.error:void 0,isOutputChunk:x,url:m,requestBodyValues:l,responseHeaders:n}),t={unified:"other",raw:void 0},v=!1,w=!1,y={openai:{}};return{stream:q.pipeThrough(new TransformStream({start(a){e=new c.StreamingToolCallTracker(a,{generateId:c.generateId,typeValidation:"if-present"}),a.enqueue({type:"stream-start",warnings:i})},transform(b,d){var g,h,i,k,l,m;if(a.includeRawChunks&&d.enqueue({type:"raw",rawValue:b.rawValue}),!b.success){t={unified:"error",raw:void 0},d.enqueue({type:"error",error:b.error});return}let n=b.value;if("error"in n){t={unified:"error",raw:void 0},d.enqueue({type:"error",error:null!=(g=j(n.error))?g:n.error});return}!v&&Object.values(r(n)).some(Boolean)&&(v=!0,d.enqueue({type:"response-metadata",...r(n)})),null!=n.usage&&(f=n.usage,(null==(h=n.usage.completion_tokens_details)?void 0:h.accepted_prediction_tokens)!=null&&(y.openai.acceptedPredictionTokens=null==(i=n.usage.completion_tokens_details)?void 0:i.accepted_prediction_tokens),(null==(k=n.usage.completion_tokens_details)?void 0:k.rejected_prediction_tokens)!=null&&(y.openai.rejectedPredictionTokens=null==(l=n.usage.completion_tokens_details)?void 0:l.rejected_prediction_tokens));let o=n.choices[0];if((null==o?void 0:o.finish_reason)!=null&&(t={unified:s(o.finish_reason),raw:o.finish_reason}),(null==(m=null==o?void 0:o.logprobs)?void 0:m.content)!=null&&(y.openai.logprobs=o.logprobs.content),(null==o?void 0:o.delta)==null)return;let p=o.delta;if(null!=p.content&&(w||(d.enqueue({type:"text-start",id:"0"}),w=!0),d.enqueue({type:"text-delta",id:"0",delta:p.content})),null!=p.tool_calls)for(let a of p.tool_calls)e.processDelta(a);if(null!=p.annotations)for(let a of p.annotations)d.enqueue({type:"source",sourceType:"url",id:(0,c.generateId)(),url:a.url_citation.url,title:a.url_citation.title})},flush(a){w&&a.enqueue({type:"text-end",id:"0"}),e.flush(),a.enqueue({type:"finish",finishReason:t,usage:p(f),...null!=y?{providerMetadata:y}:{}})}})),request:{body:l},response:{headers:n}}}};function x(a){return!("error"in a)&&a.choices.some(a=>{let b=a.delta;return(null==b?void 0:b.content)!=null&&b.content.length>0||(null==b?void 0:b.tool_calls)!=null&&b.tool_calls.length>0||(null==b?void 0:b.annotations)!=null&&b.annotations.length>0})}function y(a){var b,d,e,f;if(null==a)return(0,c.createNullLanguageModelUsage)();let g=null!=(b=a.prompt_tokens)?b:0,h=null!=(d=a.completion_tokens)?d:0;return{inputTokens:{total:null!=(e=a.prompt_tokens)?e:void 0,noCache:g,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:null!=(f=a.completion_tokens)?f:void 0,text:h,reasoning:void 0},raw:a}}function z(a){switch(a){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var A=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({text:e.z.string(),finish_reason:e.z.string(),logprobs:e.z.object({tokens:e.z.array(e.z.string()),token_logprobs:e.z.array(e.z.number()),top_logprobs:e.z.array(e.z.record(e.z.string(),e.z.number())).nullish()}).nullish()})),usage:e.z.object({prompt_tokens:e.z.number(),completion_tokens:e.z.number(),total_tokens:e.z.number()}).nullish()}))),B=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.union([e.z.object({id:e.z.string().nullish(),created:e.z.number().nullish(),model:e.z.string().nullish(),choices:e.z.array(e.z.object({text:e.z.string(),finish_reason:e.z.string().nullish(),index:e.z.number(),logprobs:e.z.object({tokens:e.z.array(e.z.string()),token_logprobs:e.z.array(e.z.number()),top_logprobs:e.z.array(e.z.record(e.z.string(),e.z.number())).nullish()}).nullish()})),usage:e.z.object({prompt_tokens:e.z.number(),completion_tokens:e.z.number(),total_tokens:e.z.number()}).nullish()}),g]))),C=(0,c.lazySchema)(()=>(0,c.zodSchema)(e.z.object({echo:e.z.boolean().optional(),logitBias:e.z.record(e.z.string(),e.z.number()).optional(),suffix:e.z.string().optional(),user:e.z.string().optional(),logprobs:e.z.union([e.z.boolean(),e.z.number()]).optional()}))),D=class a{constructor(a,b){this.specificationVersion="v4",this.supportedUrls={},this.modelId=a,this.config=b}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[d.WORKFLOW_SERIALIZE](a){return(0,c.serializeModelOptions)({modelId:a.modelId,config:a.config})}static[d.WORKFLOW_DESERIALIZE](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs({prompt:a,maxOutputTokens:b,temperature:d,topP:e,topK:g,frequencyPenalty:h,presencePenalty:i,stopSequences:j,responseFormat:k,tools:l,toolChoice:m,seed:n,providerOptions:o}){let p=[],q={...await (0,c.parseProviderOptions)({provider:"openai",providerOptions:o,schema:C}),...await (0,c.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:o,schema:C})};null!=g&&p.push({type:"unsupported",feature:"topK"}),(null==l?void 0:l.length)&&p.push({type:"unsupported",feature:"tools"}),null!=m&&p.push({type:"unsupported",feature:"toolChoice"}),null!=k&&"text"!==k.type&&p.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:r,stopSequences:s}=function({prompt:a,user:b="user",assistant:c="assistant"}){let d="";for(let{role:e,content:g}of("system"===a[0].role&&(d+=`${a[0].content}
@@ -202,4 +244,4 @@ ${b}`:c}else{let a=e.commentBefore;e.commentBefore=a?`${c}
202
244
  ${a}`:c}}if(b){for(let b=0;b<this.errors.length;++b)a.errors.push(this.errors[b]);for(let b=0;b<this.warnings.length;++b)a.warnings.push(this.warnings[b])}else a.errors=this.errors,a.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:l(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(a,b=!1,c=-1){for(let b of a)yield*this.next(b);yield*this.end(b,c)}*next(a){switch(d.env.LOG_STREAM&&console.dir(a,{depth:null}),a.type){case"directive":this.directives.add(a.source,(b,c,d)=>{let e=k(a);e[0]+=b,this.onError(e,"BAD_DIRECTIVE",c,d)}),this.prelude.push(a.source),this.atDirectives=!0;break;case"document":{let b=i.composeDoc(this.options,this.directives,a,this.onError);this.atDirectives&&!b.directives.docStart&&this.onError(a,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(b,!1),this.doc&&(yield this.doc),this.doc=b,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(a.source);break;case"error":{let b=a.source?`${a.message}: ${JSON.stringify(a.source)}`:a.message,c=new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",b);this.atDirectives||!this.doc?this.errors.push(c):this.doc.errors.push(c);break}case"doc-end":{if(!this.doc){this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let b=j.resolveEnd(a.end,a.offset+a.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),b.comment){let a=this.doc.comment;this.doc.comment=a?`${a}
203
245
  ${b.comment}`:b.comment}this.doc.range[2]=b.offset;break}default:this.errors.push(new g.YAMLParseError(k(a),"UNEXPECTED_TOKEN",`Unsupported token ${a.type}`))}}*end(a=!1,b=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(a){let a=Object.assign({_directives:this.directives},this.options),c=new f.Document(void 0,a);this.atDirectives&&this.onError(b,"MISSING_CHAR","Missing directives-end indicator line"),c.range=[0,b,b],this.decorate(c,!1),yield c}}}},286888,(a,b,c)=>{"use strict";var d=a.r(871014),e=a.r(121525),f=a.r(725717),g=a.r(688583);function h(a,b){if(b)for(let c of b)switch(c.type){case"space":case"comment":a.push(c);break;case"newline":return a.push(c),!0}return!1}function i(a,b,c){switch(a.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":a.type=c,a.source=b;break;case"block-scalar":{let d=a.props.slice(1),e=b.length;for(let b of("block-scalar-header"===a.props[0].type&&(e-=a.props[0].source.length),d))b.offset+=e;delete a.props,Object.assign(a,{type:c,source:b,end:d});break}case"block-map":case"block-seq":{let d={type:"newline",offset:a.offset+b.length,indent:a.indent,source:"\n"};delete a.items,Object.assign(a,{type:c,source:b,end:[d]});break}default:{let d="indent"in a?a.indent:-1,e="end"in a&&Array.isArray(a.end)?a.end.filter(a=>"space"===a.type||"comment"===a.type||"newline"===a.type):[];for(let b of Object.keys(a))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:c,indent:d,source:b,end:e})}}}c.createScalarToken=function(a,b){let{implicitKey:c=!1,indent:d,inFlow:e=!1,offset:f=-1,type:i="PLAIN"}=b,j=g.stringifyString({type:i,value:a},{implicitKey:c,indent:d>0?" ".repeat(d):"",inFlow:e,options:{blockQuote:!0,lineWidth:-1}}),k=b.end??[{type:"newline",offset:-1,indent:d,source:"\n"}];switch(j[0]){case"|":case">":{let a=j.indexOf("\n"),b=j.substring(0,a),c=j.substring(a+1)+"\n",e=[{type:"block-scalar-header",offset:f,indent:d,source:b}];return h(e,k)||e.push({type:"newline",offset:-1,indent:d,source:"\n"}),{type:"block-scalar",offset:f,indent:d,props:e,source:c}}case'"':return{type:"double-quoted-scalar",offset:f,indent:d,source:j,end:k};case"'":return{type:"single-quoted-scalar",offset:f,indent:d,source:j,end:k};default:return{type:"scalar",offset:f,indent:d,source:j,end:k}}},c.resolveAsScalar=function(a,b=!0,c){if(a){let g=(a,b,d)=>{let e="number"==typeof a?a:Array.isArray(a)?a[0]:a.offset;if(c)c(e,b,d);else throw new f.YAMLParseError([e,e+1],b,d)};switch(a.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return e.resolveFlowScalar(a,b,g);case"block-scalar":return d.resolveBlockScalar({options:{strict:b}},a,g)}}return null},c.setScalarValue=function(a,b,c={}){let{afterKey:d=!1,implicitKey:e=!1,inFlow:f=!1,type:j}=c,k="indent"in a?a.indent:null;if(d&&"number"==typeof k&&(k+=2),!j)switch(a.type){case"single-quoted-scalar":j="QUOTE_SINGLE";break;case"double-quoted-scalar":j="QUOTE_DOUBLE";break;case"block-scalar":{let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");j=">"===b.source[0]?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:j="PLAIN"}let l=g.stringifyString({type:j,value:b},{implicitKey:e||null===k,indent:null!==k&&k>0?" ".repeat(k):"",inFlow:f,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":!function(a,b){let c=b.indexOf("\n"),d=b.substring(0,c),e=b.substring(c+1)+"\n";if("block-scalar"===a.type){let b=a.props[0];if("block-scalar-header"!==b.type)throw Error("Invalid block scalar header");b.source=d,a.source=e}else{let{offset:b}=a,c="indent"in a?a.indent:-1,f=[{type:"block-scalar-header",offset:b,indent:c,source:d}];for(let b of(h(f,"end"in a?a.end:void 0)||f.push({type:"newline",offset:-1,indent:c,source:"\n"}),Object.keys(a)))"type"!==b&&"offset"!==b&&delete a[b];Object.assign(a,{type:"block-scalar",indent:c,props:f,source:e})}}(a,l);break;case'"':i(a,l,"double-quoted-scalar");break;case"'":i(a,l,"single-quoted-scalar");break;default:i(a,l,"scalar")}}},825449,(a,b,c)=>{"use strict";function d(a){switch(a.type){case"block-scalar":{let b="";for(let c of a.props)b+=d(c);return b+a.source}case"block-map":case"block-seq":{let b="";for(let c of a.items)b+=e(c);return b}case"flow-collection":{let b=a.start.source;for(let c of a.items)b+=e(c);for(let c of a.end)b+=c.source;return b}case"document":{let b=e(a);if(a.end)for(let c of a.end)b+=c.source;return b}default:{let b=a.source;if("end"in a&&a.end)for(let c of a.end)b+=c.source;return b}}}function e({start:a,key:b,sep:c,value:f}){let g="";for(let b of a)g+=b.source;if(b&&(g+=d(b)),c)for(let a of c)g+=a.source;return f&&(g+=d(f)),g}c.stringify=a=>"type"in a?d(a):e(a)},402135,(a,b,c)=>{"use strict";let d=Symbol("break visit"),e=Symbol("skip children"),f=Symbol("remove item");function g(a,b){"type"in a&&"document"===a.type&&(a={start:a.start,value:a.value}),function a(b,c,e){let g=e(c,b);if("symbol"==typeof g)return g;for(let h of["key","value"]){let i=c[h];if(i&&"items"in i){for(let c=0;c<i.items.length;++c){let g=a(Object.freeze(b.concat([[h,c]])),i.items[c],e);if("number"==typeof g)c=g-1;else{if(g===d)return d;g===f&&(i.items.splice(c,1),c-=1)}}"function"==typeof g&&"key"===h&&(g=g(c,b))}}return"function"==typeof g?g(c,b):g}(Object.freeze([]),a,b)}g.BREAK=d,g.SKIP=e,g.REMOVE=f,g.itemAtPath=(a,b)=>{let c=a;for(let[a,d]of b){let b=c?.[a];if(!b||!("items"in b))return;c=b.items[d]}return c},g.parentCollection=(a,b)=>{let c=g.itemAtPath(a,b.slice(0,-1)),d=b[b.length-1][0],e=c?.[d];if(e&&"items"in e)return e;throw Error("Parent collection not found")},c.visit=g},2704,(a,b,c)=>{"use strict";var d=a.r(286888),e=a.r(825449),f=a.r(402135);c.createScalarToken=d.createScalarToken,c.resolveAsScalar=d.resolveAsScalar,c.setScalarValue=d.setScalarValue,c.stringify=e.stringify,c.visit=f.visit,c.BOM="\uFEFF",c.DOCUMENT="\x02",c.FLOW_END="\x18",c.SCALAR="\x1f",c.isCollection=a=>!!a&&"items"in a,c.isScalar=a=>!!a&&("scalar"===a.type||"single-quoted-scalar"===a.type||"double-quoted-scalar"===a.type||"block-scalar"===a.type),c.prettyToken=function(a){switch(a){case"\uFEFF":return"<BOM>";case"\x02":return"<DOC>";case"\x18":return"<FLOW_END>";case"\x1f":return"<SCALAR>";default:return JSON.stringify(a)}},c.tokenType=function(a){switch(a){case"\uFEFF":return"byte-order-mark";case"\x02":return"doc-mode";case"\x18":return"flow-error-end";case"\x1f":return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(a[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}},66326,(a,b,c)=>{"use strict";var d=a.r(2704);function e(a){switch(a){case void 0:case" ":case"\n":case"\r":case" ":return!0;default:return!1}}let f=new Set("0123456789ABCDEFabcdef"),g=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),h=new Set(",[]{}"),i=new Set(" ,[]{}\n\r "),j=a=>!a||i.has(a);c.Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(a,b=!1){if(a){if("string"!=typeof a)throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+a:a,this.lineEndPos=null}this.atEnd=!b;let c=this.next??"stream";for(;c&&(b||this.hasChars(1));)c=yield*this.parseNext(c)}atLineEnd(){let a=this.pos,b=this.buffer[a];for(;" "===b||" "===b;)b=this.buffer[++a];return!b||"#"===b||"\n"===b||"\r"===b&&"\n"===this.buffer[a+1]}charAt(a){return this.buffer[this.pos+a]}continueScalar(a){let b=this.buffer[a];if(this.indentNext>0){let c=0;for(;" "===b;)b=this.buffer[++c+a];if("\r"===b){let b=this.buffer[c+a+1];if("\n"===b||!b&&!this.atEnd)return a+c+1}return"\n"!==b&&!(c>=this.indentNext)&&(b||this.atEnd)?-1:a+c}if("-"===b||"."===b){let b=this.buffer.substr(a,3);if(("---"===b||"..."===b)&&e(this.buffer[a+3]))return -1}return a}getLine(){let a=this.lineEndPos;return(("number"!=typeof a||-1!==a&&a<this.pos)&&(a=this.buffer.indexOf("\n",this.pos),this.lineEndPos=a),-1===a)?this.atEnd?this.buffer.substring(this.pos):null:("\r"===this.buffer[a-1]&&(a-=1),this.buffer.substring(this.pos,a))}hasChars(a){return this.pos+a<=this.buffer.length}setNext(a){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=a,null}peek(a){return this.buffer.substr(this.pos,a)}*parseNext(a){switch(a){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let a=this.getLine();if(null===a)return this.setNext("stream");if(a[0]===d.BOM&&(yield*this.pushCount(1),a=a.substring(1)),"%"===a[0]){let b=a.length,c=a.indexOf("#");for(;-1!==c;){let d=a[c-1];if(" "===d||" "===d){b=c-1;break}c=a.indexOf("#",c+1)}for(;;){let c=a[b-1];if(" "===c||" "===c)b-=1;else break}let d=(yield*this.pushCount(b))+(yield*this.pushSpaces(!0));return yield*this.pushCount(a.length-d),this.pushNewline(),"stream"}if(this.atLineEnd()){let b=yield*this.pushSpaces(!0);return yield*this.pushCount(a.length-b),yield*this.pushNewline(),"stream"}return yield d.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let a=this.charAt(0);if(!a&&!this.atEnd)return this.setNext("line-start");if("-"===a||"."===a){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let a=this.peek(3);if(("---"===a||"..."===a)&&e(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,"---"===a?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!e(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[a,b]=this.peek(2);if(!b&&!this.atEnd)return this.setNext("block-start");if(("-"===a||"?"===a||":"===a)&&e(b)){let a=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=a,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let a=this.getLine();if(null===a)return this.setNext("doc");let b=yield*this.pushIndicators();switch(a[b]){case"#":yield*this.pushCount(a.length-b);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(j),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return b+=yield*this.parseBlockScalarHeader(),b+=yield*this.pushSpaces(!0),yield*this.pushCount(a.length-b),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let a,b,c=-1;do(a=yield*this.pushNewline())>0?(b=yield*this.pushSpaces(!1),this.indentValue=c=b):b=0,b+=yield*this.pushSpaces(!0);while(a+b>0)let f=this.getLine();if(null===f)return this.setNext("flow");if((-1!==c&&c<this.indentNext&&"#"!==f[0]||0===c&&(f.startsWith("---")||f.startsWith("..."))&&e(f[3]))&&(c!==this.indentNext-1||1!==this.flowLevel||"]"!==f[0]&&"}"!==f[0]))return this.flowLevel=0,yield d.FLOW_END,yield*this.parseLineStart();let g=0;for(;","===f[g];)g+=yield*this.pushCount(1),g+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(f[g+=yield*this.pushIndicators()]){case void 0:return"flow";case"#":return yield*this.pushCount(f.length-g),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(j),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let a=this.charAt(1);if(this.flowKey||e(a)||","===a)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let a=this.charAt(0),b=this.buffer.indexOf(a,this.pos+1);if("'"===a)for(;-1!==b&&"'"===this.buffer[b+1];)b=this.buffer.indexOf("'",b+2);else for(;-1!==b;){let a=0;for(;"\\"===this.buffer[b-1-a];)a+=1;if(a%2==0)break;b=this.buffer.indexOf('"',b+1)}let c=this.buffer.substring(0,b),d=c.indexOf("\n",this.pos);if(-1!==d){for(;-1!==d;){let a=this.continueScalar(d+1);if(-1===a)break;d=c.indexOf("\n",a)}-1!==d&&(b=d-("\r"===c[d-1]?2:1))}if(-1===b){if(!this.atEnd)return this.setNext("quoted-scalar");b=this.buffer.length}return yield*this.pushToIndex(b+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let a=this.pos;for(;;){let b=this.buffer[++a];if("+"===b)this.blockScalarKeep=!0;else if(b>"0"&&b<="9")this.blockScalarIndent=Number(b)-1;else if("-"!==b)break}return yield*this.pushUntil(a=>e(a)||"#"===a)}*parseBlockScalar(){let a,b=this.pos-1,c=0;b:for(let d=this.pos;a=this.buffer[d];++d)switch(a){case" ":c+=1;break;case"\n":b=d,c=0;break;case"\r":{let a=this.buffer[d+1];if(!a&&!this.atEnd)return this.setNext("block-scalar");if("\n"===a)break}default:break b}if(!a&&!this.atEnd)return this.setNext("block-scalar");if(c>=this.indentNext){-1===this.blockScalarIndent?this.indentNext=c:this.indentNext=this.blockScalarIndent+(0===this.indentNext?1:this.indentNext);do{let a=this.continueScalar(b+1);if(-1===a)break;b=this.buffer.indexOf("\n",a)}while(-1!==b)if(-1===b){if(!this.atEnd)return this.setNext("block-scalar");b=this.buffer.length}}let e=b+1;for(a=this.buffer[e];" "===a;)a=this.buffer[++e];if(" "===a){for(;" "===a||" "===a||"\r"===a||"\n"===a;)a=this.buffer[++e];b=e-1}else if(!this.blockScalarKeep)for(;;){let a=b-1,d=this.buffer[a];"\r"===d&&(d=this.buffer[--a]);let e=a;for(;" "===d;)d=this.buffer[--a];if("\n"===d&&a>=this.pos&&a+1+c>e)b=a;else break}return yield d.SCALAR,yield*this.pushToIndex(b+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let a,b=this.flowLevel>0,c=this.pos-1,f=this.pos-1;for(;a=this.buffer[++f];)if(":"===a){let a=this.buffer[f+1];if(e(a)||b&&h.has(a))break;c=f}else if(e(a)){let d=this.buffer[f+1];if("\r"===a&&("\n"===d?(f+=1,a="\n",d=this.buffer[f+1]):c=f),"#"===d||b&&h.has(d))break;if("\n"===a){let a=this.continueScalar(f+1);if(-1===a)break;f=Math.max(f,a-2)}}else{if(b&&h.has(a))break;c=f}return a||this.atEnd?(yield d.SCALAR,yield*this.pushToIndex(c+1,!0),b?"flow":"doc"):this.setNext("plain-scalar")}*pushCount(a){return a>0?(yield this.buffer.substr(this.pos,a),this.pos+=a,a):0}*pushToIndex(a,b){let c=this.buffer.slice(this.pos,a);return c?(yield c,this.pos+=c.length,c.length):(b&&(yield""),0)}*pushIndicators(){let a=0;for(;;){switch(this.charAt(0)){case"!":a+=yield*this.pushTag(),a+=yield*this.pushSpaces(!0);continue;case"&":a+=yield*this.pushUntil(j),a+=yield*this.pushSpaces(!0);continue;case"-":case"?":case":":{let b=this.flowLevel>0,c=this.charAt(1);if(e(c)||b&&h.has(c)){b?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0);continue}}}break}return a}*pushTag(){if("<"===this.charAt(1)){let a=this.pos+2,b=this.buffer[a];for(;!e(b)&&">"!==b;)b=this.buffer[++a];return yield*this.pushToIndex(">"===b?a+1:a,!1)}{let a=this.pos+1,b=this.buffer[a];for(;b;)if(g.has(b))b=this.buffer[++a];else if("%"===b&&f.has(this.buffer[a+1])&&f.has(this.buffer[a+2]))b=this.buffer[a+=3];else break;return yield*this.pushToIndex(a,!1)}}*pushNewline(){let a=this.buffer[this.pos];return"\n"===a?yield*this.pushCount(1):"\r"===a&&"\n"===this.charAt(1)?yield*this.pushCount(2):0}*pushSpaces(a){let b,c=this.pos-1;do b=this.buffer[++c];while(" "===b||a&&" "===b)let d=c-this.pos;return d>0&&(yield this.buffer.substr(this.pos,d),this.pos=c),d}*pushUntil(a){let b=this.pos,c=this.buffer[b];for(;!a(c);)c=this.buffer[++b];return yield*this.pushToIndex(b,!1)}}},746987,(a,b,c)=>{"use strict";c.LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=a=>this.lineStarts.push(a),this.linePos=a=>{let b=0,c=this.lineStarts.length;for(;b<c;){let d=b+c>>1;this.lineStarts[d]<a?b=d+1:c=d}if(this.lineStarts[b]===a)return{line:b+1,col:1};if(0===b)return{line:0,col:a};let d=this.lineStarts[b-1];return{line:b,col:a-d+1}}}}},309575,(a,b,c)=>{"use strict";var d=a.r(605365),e=a.r(2704),f=a.r(66326);function g(a,b){for(let c=0;c<a.length;++c)if(a[c].type===b)return!0;return!1}function h(a){for(let b=0;b<a.length;++b)switch(a[b].type){case"space":case"comment":case"newline":break;default:return b}return -1}function i(a){switch(a?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j(a){switch(a.type){case"document":return a.start;case"block-map":{let b=a.items[a.items.length-1];return b.sep??b.start}case"block-seq":return a.items[a.items.length-1].start;default:return[]}}function k(a){if(0===a.length)return[];let b=a.length;b:for(;--b>=0;)switch(a[b].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break b}for(;a[++b]?.type==="space";);return a.splice(b,a.length)}function l(a,b){if(b.length<1e5)Array.prototype.push.apply(a,b);else for(let c=0;c<b.length;++c)a.push(b[c])}function m(a){if("flow-seq-start"===a.start.type)for(let b of a.items)!b.sep||b.value||g(b.start,"explicit-key-ind")||g(b.sep,"map-value-ind")||(b.key&&(b.value=b.key),delete b.key,i(b.value)?b.value.end?l(b.value.end,b.sep):b.value.end=b.sep:l(b.start,b.sep),delete b.sep)}c.Parser=class{constructor(a){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new f.Lexer,this.onNewLine=a}*parse(a,b=!1){for(let c of(this.onNewLine&&0===this.offset&&this.onNewLine(0),this.lexer.lex(a,b)))yield*this.next(c);b||(yield*this.end())}*next(a){if(this.source=a,d.env.LOG_TOKENS&&console.log("|",e.prettyToken(a)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=a.length;return}let b=e.tokenType(a);if(b)if("scalar"===b)this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=b,yield*this.step(),b){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+a.length);break;case"space":this.atNewLine&&" "===a[0]&&(this.indent+=a.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=a.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=a.length}else{let b=`Not a YAML token: ${a}`;yield*this.pop({type:"error",offset:this.offset,message:b,source:a}),this.offset+=a.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let a=this.peek(1);if("doc-end"===this.type&&a?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!a)return yield*this.stream();switch(a.type){case"document":return yield*this.document(a);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(a);case"block-scalar":return yield*this.blockScalar(a);case"block-map":return yield*this.blockMap(a);case"block-seq":return yield*this.blockSequence(a);case"flow-collection":return yield*this.flowCollection(a);case"doc-end":return yield*this.documentEnd(a)}yield*this.pop()}peek(a){return this.stack[this.stack.length-a]}*pop(a){let b=a??this.stack.pop();if(b)if(0===this.stack.length)yield b;else{let a=this.peek(1);switch("block-scalar"===b.type?b.indent="indent"in a?a.indent:0:"flow-collection"===b.type&&"document"===a.type&&(b.indent=0),"flow-collection"===b.type&&m(b),a.type){case"document":a.value=b;break;case"block-scalar":a.props.push(b);break;case"block-map":{let c=a.items[a.items.length-1];if(c.value){a.items.push({start:[],key:b,sep:[]}),this.onKeyLine=!0;return}if(c.sep)c.value=b;else{Object.assign(c,{key:b,sep:[]}),this.onKeyLine=!c.explicitKey;return}break}case"block-seq":{let c=a.items[a.items.length-1];c.value?a.items.push({start:[],value:b}):c.value=b;break}case"flow-collection":{let c=a.items[a.items.length-1];!c||c.value?a.items.push({start:[],key:b,sep:[]}):c.sep?c.value=b:Object.assign(c,{key:b,sep:[]});return}default:yield*this.pop(),yield*this.pop(b)}if(("document"===a.type||"block-map"===a.type||"block-seq"===a.type)&&("block-map"===b.type||"block-seq"===b.type)){let c=b.items[b.items.length-1];c&&!c.sep&&!c.value&&c.start.length>0&&-1===h(c.start)&&(0===b.indent||c.start.every(a=>"comment"!==a.type||a.indent<b.indent))&&("document"===a.type?a.end=c.start:a.items.push({start:c.start}),b.items.splice(-1,1))}}else yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let a={type:"document",offset:this.offset,start:[]};"doc-start"===this.type&&a.start.push(this.sourceToken),this.stack.push(a);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(a){if(a.value)return yield*this.lineEnd(a);switch(this.type){case"doc-start":-1!==h(a.start)?(yield*this.pop(),yield*this.step()):a.start.push(this.sourceToken);return;case"anchor":case"tag":case"space":case"comment":case"newline":a.start.push(this.sourceToken);return}let b=this.startBlockValue(a);b?this.stack.push(b):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(a){if("map-value-ind"===this.type){let b,c=k(j(this.peek(2)));a.end?((b=a.end).push(this.sourceToken),delete a.end):b=[this.sourceToken];let d={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:b}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(a)}*blockScalar(a){switch(this.type){case"space":case"comment":case"newline":a.props.push(this.sourceToken);return;case"scalar":if(a.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else if(b.sep)b.sep.push(this.sourceToken);else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return}if(this.indent>=a.indent){let c=!this.onKeyLine&&this.indent===a.indent,d=c&&(b.sep||b.explicitKey)&&"seq-item-ind"!==this.type,e=[];if(d&&b.sep&&!b.value){let c=[];for(let d=0;d<b.sep.length;++d){let e=b.sep[d];switch(e.type){case"newline":c.push(d);break;case"space":break;case"comment":e.indent>a.indent&&(c.length=0);break;default:c.length=0}}c.length>=2&&(e=b.sep.splice(c[1]))}switch(this.type){case"anchor":case"tag":d||b.value?(e.push(this.sourceToken),a.items.push({start:e}),this.onKeyLine=!0):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"explicit-key-ind":b.sep||b.explicitKey?d||b.value?(e.push(this.sourceToken),a.items.push({start:e,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}):(b.start.push(this.sourceToken),b.explicitKey=!0),this.onKeyLine=!0;return;case"map-value-ind":if(b.explicitKey)if(b.sep)if(b.value)a.items.push({start:[],key:null,sep:[this.sourceToken]});else if(g(b.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]});else if(i(b.key)&&!g(b.sep,"newline")){let a=k(b.start),c=b.key,d=b.sep;d.push(this.sourceToken),delete b.key,delete b.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:c,sep:d}]})}else e.length>0?b.sep=b.sep.concat(e,this.sourceToken):b.sep.push(this.sourceToken);else if(g(b.start,"newline"))Object.assign(b,{key:null,sep:[this.sourceToken]});else{let a=k(b.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]})}else b.sep?b.value||d?a.items.push({start:e,key:null,sep:[this.sourceToken]}):g(b.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);d||b.value?(a.items.push({start:e,key:c,sep:[]}),this.onKeyLine=!0):b.sep?this.stack.push(c):(Object.assign(b,{key:c,sep:[]}),this.onKeyLine=!0);return}default:{let d=this.startBlockValue(a);if(d){if("block-seq"===d.type){if(!b.explicitKey&&b.sep&&!g(b.sep,"newline"))return void(yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source}))}else c&&a.items.push({start:e});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(a){let b=a.items[a.items.length-1];switch(this.type){case"newline":if(b.value){let c="end"in b.value?b.value.end:void 0,d=Array.isArray(c)?c[c.length-1]:void 0;d?.type==="comment"?c?.push(this.sourceToken):a.items.push({start:[this.sourceToken]})}else b.start.push(this.sourceToken);return;case"space":case"comment":if(b.value)a.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(b.start,a.indent)){let c=a.items[a.items.length-2],d=c?.value?.end;if(Array.isArray(d)){l(d,b.start),d.push(this.sourceToken),a.items.pop();return}}b.start.push(this.sourceToken)}return;case"anchor":case"tag":if(b.value||this.indent<=a.indent)break;b.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==a.indent)break;b.value||g(b.start,"seq-item-ind")?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return}if(this.indent>a.indent){let b=this.startBlockValue(a);if(b)return void this.stack.push(b)}yield*this.pop(),yield*this.step()}*flowCollection(a){let b=a.items[a.items.length-1];if("flow-error-end"===this.type){let a;do yield*this.pop(),a=this.peek(1);while(a?.type==="flow-collection")}else if(0===a.end.length){switch(this.type){case"comma":case"explicit-key-ind":!b||b.sep?a.items.push({start:[this.sourceToken]}):b.start.push(this.sourceToken);return;case"map-value-ind":!b||b.value?a.items.push({start:[],key:null,sep:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):Object.assign(b,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!b||b.value?a.items.push({start:[this.sourceToken]}):b.sep?b.sep.push(this.sourceToken):b.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let c=this.flowScalar(this.type);!b||b.value?a.items.push({start:[],key:c,sep:[]}):b.sep?this.stack.push(c):Object.assign(b,{key:c,sep:[]});return}case"flow-map-end":case"flow-seq-end":a.end.push(this.sourceToken);return}let c=this.startBlockValue(a);c?this.stack.push(c):(yield*this.pop(),yield*this.step())}else{let b=this.peek(2);if("block-map"!==b.type||("map-value-ind"!==this.type||b.indent!==a.indent)&&("newline"!==this.type||b.items[b.items.length-1].sep))if("map-value-ind"===this.type&&"flow-collection"!==b.type){let c=k(j(b));m(a);let d=a.end.splice(1,a.end.length);d.push(this.sourceToken);let e={type:"block-map",offset:a.offset,indent:a.indent,items:[{start:c,key:a,sep:d}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=e}else yield*this.lineEnd(a);else yield*this.pop(),yield*this.step()}}flowScalar(a){if(this.onNewLine){let a=this.source.indexOf("\n")+1;for(;0!==a;)this.onNewLine(this.offset+a),a=this.source.indexOf("\n",a)+1}return{type:a,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(a){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let b=k(j(a));return b.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let b=k(j(a));return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:b,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(a,b){return"comment"===this.type&&!(this.indent<=b)&&a.every(a=>"newline"===a.type||"space"===a.type)}*documentEnd(a){"doc-mode"!==this.type&&(a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop()))}*lineEnd(a){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:a.end?a.end.push(this.sourceToken):a.end=[this.sourceToken],"newline"===this.type&&(yield*this.pop())}}}},5013,(a,b,c)=>{"use strict";var d=a.r(719662),e=a.r(885774),f=a.r(725717),g=a.r(918114),h=a.r(927267),i=a.r(746987),j=a.r(309575);function k(a){let b=!1!==a.prettyErrors;return{lineCounter:a.lineCounter||b&&new i.LineCounter||null,prettyErrors:b}}function l(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=null;for(let b of h.compose(g.parse(a),!0,a.length))if(i){if("silent"!==i.options.logLevel){i.errors.push(new f.YAMLParseError(b.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}else i=b;return e&&c&&(i.errors.forEach(f.prettifyError(a,c)),i.warnings.forEach(f.prettifyError(a,c))),i}c.parse=function(a,b,c){let d;"function"==typeof b?d=b:void 0===c&&b&&"object"==typeof b&&(c=b);let e=l(a,c);if(!e)return null;if(e.warnings.forEach(a=>g.warn(e.options.logLevel,a)),e.errors.length>0)if("silent"!==e.options.logLevel)throw e.errors[0];else e.errors=[];return e.toJS(Object.assign({reviver:d},c))},c.parseAllDocuments=function(a,b={}){let{lineCounter:c,prettyErrors:e}=k(b),g=new j.Parser(c?.addNewLine),h=new d.Composer(b),i=Array.from(h.compose(g.parse(a)));if(e&&c)for(let b of i)b.errors.forEach(f.prettifyError(a,c)),b.warnings.forEach(f.prettifyError(a,c));return i.length>0?i:Object.assign([],{empty:!0},h.streamInfo())},c.parseDocument=l,c.stringify=function(a,b,c){let d=null;if("function"==typeof b||Array.isArray(b)?d=b:void 0===c&&b&&(c=b),"string"==typeof c&&(c=c.length),"number"==typeof c){let a=Math.round(c);c=a<1?void 0:a>8?{indent:8}:{indent:a}}if(void 0===a){let{keepUndefined:a}=c??b??{};if(!a)return}return h.isDocument(a)&&!d?a.toString(c):new e.Document(a,d,c).toString(c)}},622650,(a,b,c)=>{"use strict";var d=a.r(719662),e=a.r(885774),f=a.r(798027),g=a.r(725717),h=a.r(421562),i=a.r(927267),j=a.r(417602),k=a.r(427853),l=a.r(147544),m=a.r(907621),n=a.r(2704),o=a.r(66326),p=a.r(746987),q=a.r(309575),r=a.r(5013),s=a.r(685927);c.Composer=d.Composer,c.Document=e.Document,c.Schema=f.Schema,c.YAMLError=g.YAMLError,c.YAMLParseError=g.YAMLParseError,c.YAMLWarning=g.YAMLWarning,c.Alias=h.Alias,c.isAlias=i.isAlias,c.isCollection=i.isCollection,c.isDocument=i.isDocument,c.isMap=i.isMap,c.isNode=i.isNode,c.isPair=i.isPair,c.isScalar=i.isScalar,c.isSeq=i.isSeq,c.Pair=j.Pair,c.Scalar=k.Scalar,c.YAMLMap=l.YAMLMap,c.YAMLSeq=m.YAMLSeq,c.CST=n,c.Lexer=o.Lexer,c.LineCounter=p.LineCounter,c.Parser=q.Parser,c.parse=r.parse,c.parseAllDocuments=r.parseAllDocuments,c.parseDocument=r.parseDocument,c.stringify=r.stringify,c.visit=s.visit,c.visitAsync=s.visitAsync}];
204
246
 
205
- //# sourceMappingURL=_0gd4vaa._.js.map
247
+ //# sourceMappingURL=_040sk32._.js.map