thursday-agent 0.3.0 → 0.4.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 (197) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  16. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  17. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  18. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  22. package/.next/server/app/api/config/route.js.nft.json +1 -1
  23. package/.next/server/app/api/events/route.js.nft.json +1 -1
  24. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  26. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  27. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  28. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  29. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  31. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  32. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  33. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  34. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  35. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  37. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  38. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  39. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  40. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  41. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  42. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  43. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/page/server-reference-manifest.json +40 -40
  45. package/.next/server/app/page.js +2 -2
  46. package/.next/server/app/page.js.nft.json +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  49. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +4 -4
  50. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  51. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +2 -2
  52. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  53. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +1 -1
  54. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +3 -3
  55. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +4 -3
  56. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +3 -3
  57. package/.next/server/chunks/_0-fjql4._.js +5 -5
  58. package/.next/server/chunks/_00xh_q0._.js +3 -5
  59. package/.next/server/chunks/_05h2cii._.js +1 -1
  60. package/.next/server/chunks/_0fzqt2y._.js +48 -44
  61. package/.next/server/chunks/_0mecv0f._.js +5 -5
  62. package/.next/server/chunks/_0mh8j4m._.js +1 -1
  63. package/.next/server/chunks/_0wp4le3._.js +1 -1
  64. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  65. package/.next/server/chunks/_1230wbx._.js +3 -3
  66. package/.next/server/chunks/_15hq89o._.js +1 -1
  67. package/.next/server/chunks/{_03kp0jp._.js → _1c78vw5._.js} +58 -56
  68. package/.next/server/chunks/_1j8k_j5._.js +1 -1
  69. package/.next/server/chunks/_1krd9rf._.js +1 -1
  70. package/.next/server/chunks/_1php4eq._.js +1 -1
  71. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  72. package/.next/server/chunks/features_1qf3cei._.js +1 -1
  73. package/.next/server/chunks/features_memory_1uqvksn._.js +2 -2
  74. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +3 -0
  75. package/.next/server/chunks/ssr/{[root-of-the-server]__1eh7hid._.js → [root-of-the-server]__0s9dq5u._.js} +1 -1
  76. package/.next/server/chunks/ssr/{[root-of-the-server]__1cyjywu._.js → [root-of-the-server]__0s9l2sv._.js} +1 -1
  77. package/.next/server/chunks/ssr/{[root-of-the-server]__0zkv7z_._.js → [root-of-the-server]__0xsog8n._.js} +2 -2
  78. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +13 -9
  79. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +2 -2
  80. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  81. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +1 -1
  82. package/.next/server/chunks/ssr/{[root-of-the-server]__0_69wqr._.js → [root-of-the-server]__202p40z._.js} +1 -1
  83. package/.next/server/chunks/ssr/_001_ms1._.js +1 -1
  84. package/.next/server/chunks/ssr/{_0c-ql2m._.js → _0fz4mf_._.js} +2 -2
  85. package/.next/server/chunks/ssr/{_07uchnc._.js → _0gb4gmf._.js} +2 -2
  86. package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
  87. package/.next/server/chunks/ssr/{_20kd_n0._.js → _0ilna52._.js} +3 -3
  88. package/.next/server/chunks/ssr/{_0mo2w06._.js → _0n3toaw._.js} +2 -2
  89. package/.next/server/chunks/ssr/{_0mb8zc8._.js → _0s99bgb._.js} +2 -2
  90. package/.next/server/chunks/ssr/_0zcjrbg._.js +3 -0
  91. package/.next/server/chunks/ssr/{_13z3f85._.js → _1-_etts._.js} +2 -2
  92. package/.next/server/chunks/ssr/_13fke0x._.js +1 -1
  93. package/.next/server/chunks/ssr/{_01_6m32._.js → _1b2mjwr._.js} +2 -2
  94. package/.next/server/chunks/ssr/{_1eoqg_g._.js → _1f-dg-6._.js} +2 -2
  95. package/.next/server/chunks/ssr/{_0y0tiht._.js → _1fojd41._.js} +3 -3
  96. package/.next/server/chunks/ssr/_1gd8q8l._.js +3 -0
  97. package/.next/server/chunks/ssr/{_1xvgn77._.js → _1h0rw11._.js} +2 -2
  98. package/.next/server/chunks/ssr/_1jhd09t._.js +3 -0
  99. package/.next/server/chunks/ssr/{_0u2jv_x._.js → _1lz_cq2._.js} +46 -44
  100. package/.next/server/chunks/ssr/{_0kbkmar._.js → _1nnsk7z._.js} +2 -2
  101. package/.next/server/chunks/ssr/_1sji22n._.js +1 -1
  102. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  103. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  104. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  105. package/.next/server/chunks/ssr/{node_modules_0z5tsu8._.js → node_modules_00etblx._.js} +1 -1
  106. package/.next/server/chunks/ssr/{node_modules_1h4a4pp._.js → node_modules_04jf_m8._.js} +1 -1
  107. package/.next/server/chunks/ssr/{node_modules_0h5hnr1._.js → node_modules_08dhkiq._.js} +1 -1
  108. package/.next/server/chunks/ssr/{node_modules_1vqb6po._.js → node_modules_0940ns5._.js} +1 -1
  109. package/.next/server/chunks/ssr/{node_modules_1i7u1ia._.js → node_modules_09q35v_._.js} +1 -1
  110. package/.next/server/chunks/ssr/{node_modules_124bue5._.js → node_modules_0_-_a--._.js} +1 -1
  111. package/.next/server/chunks/ssr/{node_modules_0h7u60n._.js → node_modules_0arus10._.js} +1 -1
  112. package/.next/server/chunks/ssr/{node_modules_0rjg6t1._.js → node_modules_0b__sgl._.js} +1 -1
  113. package/.next/server/chunks/ssr/{node_modules_113tz0l._.js → node_modules_0cxaxk9._.js} +1 -1
  114. package/.next/server/chunks/ssr/{node_modules_0lm7_vm._.js → node_modules_0g7fzk3._.js} +1 -1
  115. package/.next/server/chunks/ssr/{node_modules_0h50b8n._.js → node_modules_0had7xd._.js} +1 -1
  116. package/.next/server/chunks/ssr/{node_modules_1-hc6uv._.js → node_modules_0pvd7q-._.js} +1 -1
  117. package/.next/server/chunks/ssr/{node_modules_1bc7gu8._.js → node_modules_0yugy6m._.js} +1 -1
  118. package/.next/server/chunks/ssr/{node_modules_0y_cded._.js → node_modules_14om4ar._.js} +1 -1
  119. package/.next/server/chunks/ssr/{node_modules_0zp9r92._.js → node_modules_14q6g4n._.js} +1 -1
  120. package/.next/server/chunks/ssr/{node_modules_0eu1va6._.js → node_modules_198nmll._.js} +1 -1
  121. package/.next/server/chunks/ssr/{node_modules_1t9cyee._.js → node_modules_1_pc9kq._.js} +1 -1
  122. package/.next/server/chunks/ssr/{node_modules_063xwpp._.js → node_modules_1aaxuef._.js} +1 -1
  123. package/.next/server/chunks/ssr/{node_modules_0bvraul._.js → node_modules_1cx_ql6._.js} +1 -1
  124. package/.next/server/chunks/ssr/{node_modules_1xx28h1._.js → node_modules_1cz2hle._.js} +1 -1
  125. package/.next/server/chunks/ssr/{node_modules_1l0qtdu._.js → node_modules_1efrqxi._.js} +1 -1
  126. package/.next/server/chunks/ssr/{node_modules_1juq3hs._.js → node_modules_1eg7m6c._.js} +1 -1
  127. package/.next/server/chunks/ssr/{node_modules_1_n3ztw._.js → node_modules_1gdh31p._.js} +1 -1
  128. package/.next/server/chunks/ssr/{node_modules_0mwym0g._.js → node_modules_1hpopmo._.js} +1 -1
  129. package/.next/server/chunks/ssr/{node_modules_1bgb6-f._.js → node_modules_1qpjvy5._.js} +1 -1
  130. package/.next/server/chunks/ssr/{node_modules_1uuj9x1._.js → node_modules_1vh5ntv._.js} +1 -1
  131. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js} +1 -1
  132. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js} +1 -1
  133. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_0qe30a_._.js → node_modules_@vercel_oidc_dist_06mk8id._.js} +1 -1
  134. package/.next/server/middleware-build-manifest.js +3 -3
  135. package/.next/server/pages/404.html +1 -1
  136. package/.next/server/pages/500.html +1 -1
  137. package/.next/server/server-reference-manifest.js +1 -1
  138. package/.next/server/server-reference-manifest.json +41 -41
  139. package/.next/static/chunks/00rd4-v8r7axp.js +1 -0
  140. package/.next/static/chunks/{0tmgrnlje14-s.js → 08qe4as2q428z.js} +2 -2
  141. package/.next/static/chunks/{3ok9_x74rip3v.js → 0fl3gwe4-l6tz.js} +1 -1
  142. package/.next/static/chunks/{2a0k6jlq0_v1u.js → 0gnqdjn2lvdad.js} +2 -2
  143. package/.next/static/chunks/{1okqiww3pnwka.js → 0hwap1-p0m5sa.js} +1 -1
  144. package/.next/static/chunks/{1ekc7ul556kbl.js → 0w52rrrmuj9r9.js} +1 -1
  145. package/.next/static/chunks/{3agpgkwaa321p.js → 0wcprt5ot5she.js} +1 -1
  146. package/.next/static/chunks/{3xpbkl66ssib5.js → 15m575979un5f.js} +6 -6
  147. package/.next/static/chunks/{2fzs9fm8yarvq.js → 17p6tk6k88dq6.js} +1 -1
  148. package/.next/static/chunks/{26-pr2c9ro222.js → 1jd09sxcjddu1.js} +1 -1
  149. package/.next/static/chunks/{280t0_e99i276.js → 1w73ece_6bheu.js} +1 -1
  150. package/.next/static/chunks/{1grhjo7a5a0_-.js → 214ya3n5gxeih.js} +1 -1
  151. package/.next/static/chunks/22_zkas21rpna.js +1 -0
  152. package/.next/static/chunks/{0x79tx04dxbpp.js → 2u7xt6mxg44lf.js} +1 -1
  153. package/.next/static/chunks/{17donp69y4do7.js → 39j0fvpybzabl.js} +8 -8
  154. package/.next/static/chunks/{28cizcdaabd4h.js → 3akmqm77muj4-.js} +1 -1
  155. package/.next/static/chunks/3cq5g494yuke8.css +1 -0
  156. package/.next/static/chunks/3woj-xd7ki5_i.js +1 -0
  157. package/.next/static/chunks/{3cfi_q6d_wtci.js → 3zmcsnuo25zvq.js} +1 -1
  158. package/README.md +46 -23
  159. package/app/api/events/app-event.ts +0 -2
  160. package/bin/port.mjs +65 -0
  161. package/bin/thursday.mjs +2 -33
  162. package/docs/how-it-works.md +11 -7
  163. package/docs/images/face-dark.png +0 -0
  164. package/docs/images/face-light.png +0 -0
  165. package/docs/images/keeps-going.png +0 -0
  166. package/features/ai/chatgpt.ts +42 -20
  167. package/features/ai/load-tools.ts +20 -14
  168. package/features/ai/prompts/bot.prompt.ts +90 -88
  169. package/features/ai/prompts/thursday.prompt.ts +48 -41
  170. package/features/ai/tools/memory.tool.ts +65 -62
  171. package/features/ai/tools/tool-name.ts +0 -1
  172. package/features/ai/tools/workspace.tool.ts +3 -0
  173. package/features/bot/bot.action.ts +6 -1
  174. package/features/bot/bot.run.ts +11 -7
  175. package/features/bot/bot.runner.ts +34 -16
  176. package/features/bot/bot.schema.ts +25 -0
  177. package/features/bot/components/bot-room.tsx +57 -4
  178. package/features/bot/components/bot-tool.tsx +0 -1
  179. package/features/bot/task.query.ts +25 -6
  180. package/features/bot/task.store.ts +23 -4
  181. package/features/memory/components/memory-edit.tsx +7 -5
  182. package/features/thursday/components/thursday.tsx +0 -3
  183. package/features/thursday/tool-line.ts +0 -1
  184. package/features/thursday/use-thursday.ts +1 -1
  185. package/package.json +1 -1
  186. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +0 -3
  187. package/.next/server/chunks/ssr/_14_lw10._.js +0 -3
  188. package/.next/server/chunks/ssr/_1spzm8z._.js +0 -3
  189. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +0 -3
  190. package/.next/static/chunks/0xzgvc0fkdb6t.js +0 -1
  191. package/.next/static/chunks/14hgtsjg-kael.css +0 -1
  192. package/.next/static/chunks/2hw2f6zmt7fmt.js +0 -1
  193. package/.next/static/chunks/3111pj5wnjgos.js +0 -1
  194. package/features/memory/components/memory-view.tsx +0 -84
  195. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_buildManifest.js +0 -0
  196. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_clientMiddlewareManifest.js +0 -0
  197. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_ssgManifest.js +0 -0
@@ -34,8 +34,8 @@ Pass a Vercel personal access token or Vercel app access token via the 'apiKey'
34
34
  Option 3 - OIDC token:
35
35
  Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:d,cause:e,generationId:f})}},c0="GatewayInvalidRequestError",c1=Symbol.for(`vercel.ai.gateway.error.${c0}`),c2=class extends(z=cY,y=c1,z){constructor({message:a="Invalid request",statusCode:b=400,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[y]=!0,this.name=c0,this.type="invalid_request_error"}static isInstance(a){return cY.hasMarker(a)&&c1 in a}},c3="GatewayRateLimitError",c4=Symbol.for(`vercel.ai.gateway.error.${c3}`),c5=class extends(B=cY,A=c4,B){constructor({message:a="Rate limit exceeded",statusCode:b=429,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[A]=!0,this.name=c3,this.type="rate_limit_exceeded"}static isInstance(a){return cY.hasMarker(a)&&c4 in a}},c6="GatewayModelNotFoundError",c7=Symbol.for(`vercel.ai.gateway.error.${c6}`),c8=co(()=>cr(cW.object({modelId:cW.string()}))),c9=class extends(D=cY,C=c7,D){constructor({message:a="Model not found",statusCode:b=404,modelId:c,cause:d,generationId:e}={}){super({message:a,statusCode:b,cause:d,generationId:e}),this[C]=!0,this.name=c6,this.type="model_not_found",this.modelId=c}static isInstance(a){return cY.hasMarker(a)&&c7 in a}},da="GatewayNotFoundError",db=Symbol.for(`vercel.ai.gateway.error.${da}`),dc=class extends(F=cY,E=db,F){constructor({message:a="Resource not found",statusCode:b=404,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[E]=!0,this.name=da,this.type="not_found"}static isInstance(a){return cY.hasMarker(a)&&db in a}},dd="GatewayInternalServerError",de=Symbol.for(`vercel.ai.gateway.error.${dd}`),df=class extends(H=cY,G=de,H){constructor({message:a="Internal server error",statusCode:b=500,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[G]=!0,this.name=dd,this.type="internal_server_error"}static isInstance(a){return cY.hasMarker(a)&&de in a}},dg="GatewayFailedDependencyError",dh=Symbol.for(`vercel.ai.gateway.error.${dg}`),di=class extends(J=cY,I=dh,J){constructor({message:a="Failed dependency",statusCode:b=424,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[I]=!0,this.name=dg,this.type="failed_dependency"}static isInstance(a){return cY.hasMarker(a)&&dh in a}},dj="GatewayForbiddenError",dk=Symbol.for(`vercel.ai.gateway.error.${dj}`),dl=co(()=>cr(cW.object({ruleId:cW.string()}))),dm=class extends(L=cY,K=dk,L){constructor({message:a="Forbidden",statusCode:b=403,cause:c,generationId:d,ruleId:e}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[K]=!0,this.name=dj,this.type="forbidden",this.ruleId=e}static isInstance(a){return cY.hasMarker(a)&&dk in a}},dn="GatewayResponseError",dp=Symbol.for(`vercel.ai.gateway.error.${dn}`),dq=class extends(N=cY,M=dp,N){constructor({message:a="Invalid response from Gateway",statusCode:b=502,response:c,validationError:d,cause:e,generationId:f,isRetryable:g}={}){super({message:a,statusCode:b,cause:e,generationId:f,isRetryable:g}),this[M]=!0,this.name=dn,this.type="response_error",this.response=c,this.validationError=d}static isInstance(a){return cY.hasMarker(a)&&dp in a}};async function dr({response:a,statusCode:b,defaultMessage:c="Gateway request failed",cause:d,authMethod:e,isRetryable:f}){var g;let h=await ct({value:a,schema:ds});if(!h.success){let e="object"==typeof a&&null!==a&&"generationId"in a?a.generationId:void 0;return new dq({message:`Invalid error response format: ${c}`,statusCode:b,response:a,validationError:h.error,cause:d,generationId:e,isRetryable:f})}let i=h.value,j=i.error.type,k=i.error.message,l=null!=(g=i.generationId)?g:void 0;switch(j){case"authentication_error":return c_.createContextualError({apiKeyProvided:"api-key"===e,oidcTokenProvided:"oidc"===e,statusCode:b,cause:d,generationId:l});case"invalid_request_error":return new c2({message:k,statusCode:b,cause:d,generationId:l});case"rate_limit_exceeded":return new c5({message:k,statusCode:b,cause:d,generationId:l});case"model_not_found":{let a=await ct({value:i.error.param,schema:c8});return new c9({message:k,statusCode:b,modelId:a.success?a.value.modelId:void 0,cause:d,generationId:l})}case"not_found":return new dc({message:k,statusCode:b,cause:d,generationId:l});case"internal_server_error":default:return new df({message:k,statusCode:b,cause:d,generationId:l});case"failed_dependency":return new di({message:k,statusCode:b,cause:d,generationId:l});case"forbidden":{let a=await ct({value:i.error.param,schema:dl});return new dm({message:k,statusCode:b,cause:d,generationId:l,ruleId:a.success?a.value.ruleId:void 0})}}}var ds=co(()=>cr(cW.object({error:cW.object({message:cW.string(),type:cW.string().nullish(),param:cW.unknown().nullish(),code:cW.union([cW.string(),cW.number()]).nullish()}),generationId:cW.string().nullish()}))),dt="GatewayTimeoutError",du=Symbol.for(`vercel.ai.gateway.error.${dt}`),dv=class a extends(P=cY,O=du,P){constructor({message:a="Request timed out",statusCode:b=408,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[O]=!0,this.name=dt,this.type="timeout_error"}static isInstance(a){return cY.hasMarker(a)&&du in a}static createTimeoutError({originalMessage:b,statusCode:c=408,cause:d,generationId:e}){return new a({message:`Gateway request timed out: ${b}
36
36
 
37
- This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:c,cause:d,generationId:e})}};function dw(a){if(!(a instanceof Error))return!1;let b=a.code;return"string"==typeof b&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(b)}async function dx(a,b){var c;return cY.isInstance(a)?a:dw(a)?dv.createTimeoutError({originalMessage:a instanceof Error?a.message:"Unknown error",cause:a}):aG.isInstance(a)?a.cause&&dw(a.cause)?dv.createTimeoutError({originalMessage:a.message,cause:a}):await dr({response:function(a){if(void 0!==a.data)return a.data;if(null!=a.responseBody)try{return bW(a.responseBody)}catch(b){return a.responseBody}return{}}(a),statusCode:null!=(c=a.statusCode)?c:500,defaultMessage:"Gateway request failed",cause:a,authMethod:b,isRetryable:!!a.isRetryable&&(null==a.statusCode||a.statusCode<400)||void 0}):await dr({response:{},statusCode:500,defaultMessage:a instanceof Error?`Gateway request failed: ${a.message}`:"Unknown Gateway error",cause:a,authMethod:b})}var dy="ai-gateway-auth-method",dz="x-vercel-ai-gateway-team";async function dA(a){let b=await ct({value:a[dy],schema:dB});return b.success?b.value:void 0}var dB=co(()=>cr(cW.union([cW.literal("api-key"),cW.literal("oidc")]))),dC=["embedding","image","language","realtime","reranking","speech","transcription","video"],dD=class{constructor(a){this.config=a}async getAvailableModels(){try{let{value:a}=await bP({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dE),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return a}catch(a){throw await dx(a)}}async getCredits(){try{let a=new URL(this.config.baseURL),{value:b}=await bP({url:`${a.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return b}catch(a){throw await dx(a)}}},dE=co(()=>cr(cW.object({models:cW.array(cW.object({id:cW.string(),name:cW.string(),description:cW.string().nullish(),pricing:cW.object({input:cW.string(),output:cW.string(),input_cache_read:cW.string().nullish(),input_cache_write:cW.string().nullish()}).transform(({input:a,output:b,input_cache_read:c,input_cache_write:d})=>({input:a,output:b,...c?{cachedInputTokens:c}:{},...d?{cacheCreationInputTokens:d}:{}})).nullish(),specification:cW.object({specificationVersion:cW.literal("v4"),provider:cW.string(),modelId:cW.string()}),modelType:cW.string().nullish()})).transform(a=>a.filter(a=>null==a.modelType||dC.includes(a.modelType)))}))),dF=co(()=>cr(cW.object({balance:cW.string(),total_used:cW.string()}).transform(({balance:a,total_used:b})=>({balance:a,totalUsed:b})))),dG=class{constructor(a){this.config=a}async getSpendReport(a){try{let b=new URL(this.config.baseURL),c=new URLSearchParams;c.set("start_date",a.startDate),c.set("end_date",a.endDate),a.groupBy&&c.set("group_by",a.groupBy),a.datePart&&c.set("date_part",a.datePart),a.userId&&c.set("user_id",a.userId),a.model&&c.set("model",a.model),a.provider&&c.set("provider",a.provider),a.credentialType&&c.set("credential_type",a.credentialType),a.tags&&a.tags.length>0&&c.set("tags",a.tags.join(","));let{value:d}=await bP({url:`${b.origin}/v1/report?${c.toString()}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dH),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return d}catch(a){throw await dx(a)}}},dH=co(()=>cr(cW.object({results:cW.array(cW.object({day:cW.string().optional(),hour:cW.string().optional(),user:cW.string().optional(),model:cW.string().optional(),tag:cW.string().optional(),provider:cW.string().optional(),credential_type:cW.enum(["byok","system"]).optional(),total_cost:cW.number(),market_cost:cW.number().optional(),input_tokens:cW.number().optional(),output_tokens:cW.number().optional(),cached_input_tokens:cW.number().optional(),cache_creation_input_tokens:cW.number().optional(),reasoning_tokens:cW.number().optional(),request_count:cW.number().optional()}).transform(({credential_type:a,total_cost:b,market_cost:c,input_tokens:d,output_tokens:e,cached_input_tokens:f,cache_creation_input_tokens:g,reasoning_tokens:h,request_count:i,...j})=>({...j,...void 0!==a?{credentialType:a}:{},totalCost:b,...void 0!==c?{marketCost:c}:{},...void 0!==d?{inputTokens:d}:{},...void 0!==e?{outputTokens:e}:{},...void 0!==f?{cachedInputTokens:f}:{},...void 0!==g?{cacheCreationInputTokens:g}:{},...void 0!==h?{reasoningTokens:h}:{},...void 0!==i?{requestCount:i}:{}})))}))),dI=class{constructor(a){this.config=a}async getGenerationInfo(a){try{let b=new URL(this.config.baseURL),{value:c}=await bP({url:`${b.origin}/v1/generation?id=${encodeURIComponent(a.id)}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dJ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return c}catch(a){throw await dx(a)}}},dJ=co(()=>cr(cW.object({data:cW.object({id:cW.string(),total_cost:cW.number(),upstream_inference_cost:cW.number(),usage:cW.number(),created_at:cW.string(),model:cW.string(),is_byok:cW.boolean(),provider_name:cW.string(),streamed:cW.boolean(),finish_reason:cW.string(),latency:cW.number(),generation_time:cW.number(),native_tokens_prompt:cW.number(),native_tokens_completion:cW.number(),native_tokens_reasoning:cW.number(),native_tokens_cached:cW.number(),native_tokens_cache_creation:cW.number(),billable_web_search_calls:cW.number()}).transform(({total_cost:a,upstream_inference_cost:b,created_at:c,is_byok:d,provider_name:e,finish_reason:f,generation_time:g,native_tokens_prompt:h,native_tokens_completion:i,native_tokens_reasoning:j,native_tokens_cached:k,native_tokens_cache_creation:l,billable_web_search_calls:m,...n})=>({...n,totalCost:a,upstreamInferenceCost:b,createdAt:c,isByok:d,providerName:e,finishReason:f,generationTime:g,promptTokens:h,completionTokens:i,reasoningTokens:j,cachedTokens:k,cacheCreationTokens:l,billableWebSearchCalls:m}))}).transform(({data:a})=>a))),dK=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs(a){let{abortSignal:b,...c}=a;return{args:this.maybeEncodeFileParts(c),warnings:[]}}async doGenerate(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:f,value:g,rawValue:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!1),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:cF(cW.any()),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{...g,request:{body:b},response:{headers:f,body:h},warnings:c}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}async doStream(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let f,{value:g,responseHeaders:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!0),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:(f=cW.any(),async({response:a,url:b,requestBodyValues:c})=>{let d=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:d,value:cw({stream:function({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),g=!1,h=()=>{g||(f.releaseLock(),g=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(h(),a.close()):a.enqueue(c)}catch(f){if(h(),bo(f))return void a.error(f);a.error(br({error:new aG({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{h()}}})}({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d}),schema:f})}}),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{stream:g.pipeThrough(new TransformStream({start(a){c.length>0&&a.enqueue({type:"stream-start",warnings:c})},transform(b,c){if(b.success){let d=b.value;("raw"!==d.type||a.includeRawChunks)&&("response-metadata"===d.type&&d.timestamp&&"string"==typeof d.timestamp&&(d.timestamp=new Date(d.timestamp)),c.enqueue(d))}else c.error(b.error)}})),request:{body:b},response:{headers:h}}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}maybeEncodeFileParts(a){for(let b of a.prompt)if(Array.isArray(b.content)){for(let a of b.content)if("file"===a.type||"reasoning-file"===a.type)a.data=dL(a.data);else if("tool-result"===a.type&&"content"===a.output.type)for(let b of a.output.value)"file"===b.type&&(b.data=dL(b.data))}return a}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(a,b){return{"ai-language-model-specification-version":"4","ai-language-model-id":a,"ai-language-model-streaming":String(b)}}};function dL(a){if("data"===a.type){let b=a.data;if(b instanceof Uint8Array)return{...a,data:Buffer.from(b).toString("base64")}}return a}var dM=class a extends dK{static[bb](a){return dK[bb](a)}static[bc](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:b,headers:c,abortSignal:d,webhookUrl:e}){var f;let g=this.config.headers?await cB(this.config.headers):void 0,h=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b.idempotencyKey;return"string"==typeof c&&c.length>0?c:void 0}(b),i=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b)||!("idempotencyKey"in b))return a;let{idempotencyKey:c,...d}=b,e={...a};if(0===Object.keys(d).length?delete e.gateway:e.gateway=d,0!==Object.keys(e).length)return e}(b);try{let{value:b}=await cy({url:this.getBatchUrl("start"),headers:bd(g,c,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders),null!=h?{"idempotency-key":h}:void 0),body:{...null!=e&&{callbackUrl:e},modelId:this.modelId,requests:a.map(a=>({id:a.id,options:this.maybeEncodeFileParts(a.options)})),...null!=i&&{providerOptions:i}},successfulResponseHandler:cF(dV),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{batchId:b.batchId,...dO(b),warnings:null!=(f=b.warnings)?f:[]}}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=g?g:{}))}}async experimental_doGetBatchStatus({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{let{value:e}=await cy({url:this.getBatchUrl("status"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:cF(dW),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return dO(e)}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}async experimental_doGetBatchResults({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{var e;let f,{value:g}=await cy({url:this.getBatchUrl("results"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:async({response:a})=>{let b=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:b,value:cG({stream:a.body,schema:dQ})}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return e=dP(g),f=!1,new ReadableStream({async pull(a){if(!f)try{let{value:b,done:c}=await e.next();c?a.close():a.enqueue(b)}catch(b){a.error(b)}},async cancel(a){if(f=!0,e.return)try{await e.return(a)}catch(a){}}})}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}getBatchUrl(a){return`${this.config.baseURL}/batch/${a}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function dN(a){return!!(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"TimeoutError"===a.name)}function dO(a){var b,c,d,e;let f=function({total:a,pending:b,completed:c,failed:d}){if(bS(a)&&bS(b)&&bS(c)&&bS(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}}({total:null==(b=a.requestCounts)?void 0:b.total,pending:null==(c=a.requestCounts)?void 0:c.pending,completed:null==(d=a.requestCounts)?void 0:d.completed,failed:null==(e=a.requestCounts)?void 0:e.failed});return{status:a.status,...null!=a.rawStatus&&{rawStatus:a.rawStatus},...null!=f&&{requestCounts:f},...null!=a.error&&{error:{message:a.error.message,...null!=a.error.type&&{type:a.error.type},...null!=a.error.code&&{code:a.error.code},...null!=a.error.statusCode&&{statusCode:a.error.statusCode}}},...null!=a.createdAt&&{createdAt:a.createdAt},...null!=a.expiresAt&&{expiresAt:a.expiresAt},...null!=a.providerMetadata&&{providerMetadata:a.providerMetadata}}}async function*dP(a){var b;for await(let c of a){if("succeeded"===c.status){let a=null==(b=c.result)?void 0:b.response;void 0!==a&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp))}yield c}}var dQ=cW.object({id:cW.string(),status:cW.enum(["cancelled","expired","failed","succeeded"])}).catchall(cW.unknown()),dR=cW.object({message:cW.string(),type:cW.string().nullish(),code:cW.string().nullish(),statusCode:cW.number().nullish()}),dS=cW.object({total:cW.number().nullish(),pending:cW.number().nullish(),completed:cW.number().nullish(),failed:cW.number().nullish()}),dT=cW.record(cW.string(),cW.record(cW.string(),cW.unknown())),dU=cW.object({status:cW.enum(["completed","failed","pending"]),rawStatus:cW.string().nullish(),requestCounts:dS.nullish(),error:dR.nullish(),createdAt:cW.string().nullish(),expiresAt:cW.string().nullish(),providerMetadata:dT.nullish()}),dV=dU.extend({batchId:cW.string(),warnings:cW.array(cW.object({requestId:cW.string().nullish(),warning:cW.unknown()}).catchall(cW.unknown())).nullish()}),dW=dU,dX=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:c,providerOptions:d}){var e,f;let g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i,rawValue:j}=await cy({url:this.getUrl(),headers:bd(g,null!=b?b:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{values:a,...d?{providerOptions:d}:{}},successfulResponseHandler:cF(dZ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(e=i.usage)?e:void 0,providerMetadata:i.providerMetadata,response:{headers:h,body:j},warnings:null!=(f=i.warnings)?f:[]}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},dY=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),dZ=co(()=>cr(cW.object({embeddings:cW.array(cW.array(cW.number())),usage:cW.object({tokens:cW.number()}).nullish(),warnings:cW.array(dY).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),d$=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,files:f,mask:g,providerOptions:h,headers:i,abortSignal:j}){var k,l,m,n;let o=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:p,value:q}=await cy({url:this.getUrl(),headers:bd(o,null!=i?i:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{prompt:a,n:b,...c&&{size:c},...d&&{aspectRatio:d},...e&&{seed:e},...h&&{providerOptions:h},...f&&{files:f.map(a=>d_(a))},...g&&{mask:d_(g)}},successfulResponseHandler:cF(d3),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...j&&{abortSignal:j},fetch:this.config.fetch});return{images:q.images,warnings:null!=(k=q.warnings)?k:[],providerMetadata:q.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p},...null!=q.usage&&{usage:{inputTokens:null!=(l=q.usage.inputTokens)?l:void 0,outputTokens:null!=(m=q.usage.outputTokens)?m:void 0,totalTokens:null!=(n=q.usage.totalTokens)?n:void 0}}}}catch(a){throw await dx(a,await dA(null!=o?o:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function d_(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d0=cW.object({images:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d1=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d2=cW.object({inputTokens:cW.number().nullish(),outputTokens:cW.number().nullish(),totalTokens:cW.number().nullish()}),d3=cW.object({images:cW.array(cW.string()),warnings:cW.array(d1).optional(),providerMetadata:cW.record(cW.string(),d0).optional(),usage:d2.optional()}),d4=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(a){var b,c;let{headers:d,abortSignal:e}=a,f=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:g,value:h}=await cy({url:this.getUrl(),headers:bd(f,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(a),successfulResponseHandler:async({response:a,url:b,requestBodyValues:c})=>{if(null==a.body)throw new aG({message:"SSE response body is empty",url:b,requestBodyValues:c,statusCode:a.status});let d=cw({stream:a.body,schema:d9}).getReader(),{done:e,value:f}=await d.read();if(d.releaseLock(),e||!f)throw new aG({message:"SSE stream ended without a data event",url:b,requestBodyValues:c,statusCode:a.status});if(!f.success)throw new aG({message:"Failed to parse video SSE event",cause:f.error,url:b,requestBodyValues:c,statusCode:a.status});let g=f.value;if("error"===g.type)throw new aG({message:g.message,statusCode:g.statusCode,url:b,requestBodyValues:c,responseHeaders:Object.fromEntries([...a.headers]),responseBody:JSON.stringify(g),data:{error:{message:g.message,type:g.errorType,param:g.param}}});return{value:{videos:g.videos,warnings:g.warnings,providerMetadata:g.providerMetadata},responseHeaders:Object.fromEntries([...a.headers])}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{videos:h.videos,warnings:null!=(b=h.warnings)?b:[],providerMetadata:null!=(c=h.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:g}}}catch(a){throw await dx(a,await dA(null!=f?f:{}))}}async handleWebhookOption({webhook:a}){let{url:b,received:c}=await a();return{webhookUrl:b,received:c}}async doStart(a){var b,c;let{headers:d,abortSignal:e,webhookUrl:f}=a,g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i}=await cy({url:this.getStartUrl(),headers:bd(g,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{...this.buildRequestBody(a),...f&&{callbackUrl:f}},successfulResponseHandler:cF(ea),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{operation:i.operation,warnings:null!=(b=i.warnings)?b:[],providerMetadata:null!=(c=i.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}async doStatus({operation:a,abortSignal:b,headers:c}){var d,e,f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l}=await cy({url:this.getStatusUrl(),headers:bd(j,null!=c?c:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{operation:a},successfulResponseHandler:cF(eb),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...b&&{abortSignal:b},fetch:this.config.fetch}),m={timestamp:new Date,modelId:this.modelId,headers:k};if("completed"===l.status)return{status:"completed",videos:l.videos,warnings:null!=(d=l.warnings)?d:[],providerMetadata:null!=(e=l.providerMetadata)?e:void 0,response:m};if("error"===l.status)return{status:"error",error:l.error,providerMetadata:null!=(f=l.providerMetadata)?f:void 0,response:m};if("cancelled"===l.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(g=l.providerMetadata)?g:void 0,response:m};return{status:"pending",warnings:null!=(h=l.warnings)?h:[],providerMetadata:null!=(i=l.providerMetadata)?i:void 0,response:m}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}buildRequestBody({prompt:a,n:b,aspectRatio:c,resolution:d,duration:e,fps:f,seed:g,generateAudio:h,image:i,frameImages:j,inputReferences:k,providerOptions:l}){return{prompt:a,n:b,...c&&{aspectRatio:c},...d&&{resolution:d},...e&&{duration:e},...f&&{fps:f},...g&&{seed:g},...void 0!==h&&{generateAudio:h},...l&&{providerOptions:l},...i&&{image:d5(i)},...j&&{frameImages:j.map(a=>({...a,image:d5(a.image)}))},...k&&{inputReferences:k.map(a=>d5(a))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function d5(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d6=cW.object({videos:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d7=cW.union([cW.object({type:cW.literal("url"),url:cW.string(),mediaType:cW.string()}),cW.object({type:cW.literal("base64"),data:cW.string(),mediaType:cW.string()})]),d8=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d9=cW.discriminatedUnion("type",[cW.object({type:cW.literal("result"),videos:cW.array(d7),warnings:cW.array(d8).optional(),providerMetadata:cW.record(cW.string(),d6).optional()}),cW.object({type:cW.literal("error"),message:cW.string(),errorType:cW.string(),statusCode:cW.number(),param:cW.unknown().nullable()})]),ea=cW.object({operation:cW.unknown(),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),eb=cW.discriminatedUnion("status",[cW.object({status:cW.literal("pending"),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("completed"),videos:cW.array(d7),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("error"),error:cW.string(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("cancelled"),providerMetadata:cW.record(cW.string(),d6).nullish()})]),ec=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:a,query:b,topN:c,headers:d,abortSignal:e,providerOptions:f}){var g;let h=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:i,value:j,rawValue:k}=await cy({url:this.getUrl(),headers:bd(h,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{documents:a,query:b,...null!=c?{topN:c}:{},...f?{providerOptions:f}:{}},successfulResponseHandler:cF(ee),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{ranking:j.ranking,providerMetadata:j.providerMetadata,response:{headers:i,body:k},warnings:null!=(g=j.warnings)?g:[]}}catch(a){throw await dx(a,await dA(null!=h?h:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},ed=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ee=co(()=>cr(cW.object({ranking:cW.array(cW.object({index:cW.number(),relevanceScore:cW.number()})),warnings:cW.array(ed).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),ef=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:a,voice:b,outputFormat:c,instructions:d,speed:e,language:f,providerOptions:g,headers:h,abortSignal:i}){var j;let k=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:l,value:m,rawValue:n}=await cy({url:this.getUrl(),headers:bd(k,null!=h?h:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{text:a,...b&&{voice:b},...c&&{outputFormat:c},...d&&{instructions:d},...null!=e&&{speed:e},...f&&{language:f},...g&&{providerOptions:g}},successfulResponseHandler:cF(ei),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{audio:m.audio,warnings:null!=(j=m.warnings)?j:[],providerMetadata:m.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:l,body:n}}}catch(a){throw await dx(a,await dA(null!=k?k:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},eg=cW.object({}).catchall(cW.unknown()),eh=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ei=cW.object({audio:cW.string(),warnings:cW.array(eh).optional(),providerMetadata:cW.record(cW.string(),eg).optional()}),ej=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:a,mediaType:b,providerOptions:c,headers:d,abortSignal:e}){var f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l,rawValue:m}=await cy({url:this.getUrl(),headers:bd(j,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{audio:a instanceof Uint8Array?bl(a):a,mediaType:b,...c&&{providerOptions:c}},successfulResponseHandler:cF(en),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{text:l.text,segments:null!=(f=l.segments)?f:[],language:null!=(g=l.language)?g:void 0,durationInSeconds:null!=(h=l.durationInSeconds)?h:void 0,warnings:null!=(i=l.warnings)?i:[],providerMetadata:l.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:k,body:m}}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}async doStream(a){var b,c,d,e,f;let g,h,i,j=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,k=bd(await cB(null!=(e=this.config.headers)?e:{}),null!=(f=a.headers)?f:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),l=await dA(k),m={type:"transcription-stream.start",inputAudioFormat:a.inputAudioFormat,...null!=a.providerOptions&&{providerOptions:a.providerOptions},...null!=a.includeRawChunks&&{includeRawChunks:a.includeRawChunks}};return{stream:function({webSocket:a,url:b,protocols:c,headers:d,startFrame:e,audio:f,abortSignal:g,authMethod:h}){let i=!1,j=()=>{};return new ReadableStream({start:k=>{let l,m,n,o=!1,p=!1;j=a=>{null!=l?l.cancel().catch(()=>{}):f.cancel().catch(()=>{}),null==n||n.close(a)};let q=a=>{i||(i=!0,j(),eo(k,a,h))},r=async a=>{let b=f.getReader();l=b;try{for(;;){let{done:c,value:d}=await b.read();if(c||i)break;let e="string"==typeof d?function(a){let b=bk(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}(d):d;for(let b=0;b<e.length&&!i;b+=65536)a.send(e.subarray(b,b+65536)),await bi(a)}}finally{b.releaseLock(),l===b&&(l=void 0)}i||p||a.send(JSON.stringify({type:"transcription-stream.audio-done"}))};n=function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>bh(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}}({url:b,protocols:c,headers:d,webSocket:a,abortSignal:g,onAbort:a=>{i||(i=!0,j(),k.error(a))},onProcessingError:q,onOpen:a=>{a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:a=>{if(i)return;let b=function(a){let b;try{b=bW(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(cQ)?c:void 0;case"transcript-delta":return cN(c.delta)&&cP(c.id,cN)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-partial":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.durationInSeconds,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-final":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.endSecond,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"finish":return cN(c.text)&&Array.isArray(c.segments)&&c.segments.every(cR)&&cP(c.language,cN)&&cP(c.durationInSeconds,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"response-metadata":{if(!(cP(c.modelId,cN)&&cP(c.headers,bQ)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}}(a);if(null!=b){if("finish"===b.type){i=!0,k.enqueue(b),k.close(),j(1e3);return}"error"===b.type&&(o=!0,m=b.error,p=!0,null!=l?(l.cancel().catch(()=>{}),l=void 0):f.cancel().catch(()=>{})),k.enqueue(b)}},onSocketError:()=>{q(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(o){if(i)return;eq(m,h).then(q);return}q(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{i||(i=!0,j())}})}({webSocket:this.config.webSocket,url:ek(this.config.baseURL,this.modelId),protocols:null==(i=(null==(h=(g=bt(k)).authorization)?void 0:h.startsWith("Bearer "))?h.slice(7):void 0)?[cU]:cV(cU,i,{teamIdOrSlug:g[dz]}),headers:k,startFrame:m,audio:a.audio,abortSignal:a.abortSignal,authMethod:l}),request:{body:m},response:{timestamp:j,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function ek(a,b){let c=new URL(`${a.replace(/^http/,"ws")}/transcription-model`);return c.searchParams.set("ai-model-id",b),c.toString()}var el=cW.object({}).catchall(cW.unknown()),em=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),en=cW.object({text:cW.string(),segments:cW.array(cW.object({text:cW.string(),startSecond:cW.number(),endSecond:cW.number()})).optional(),language:cW.string().nullish(),durationInSeconds:cW.number().nullish(),warnings:cW.array(em).optional(),providerMetadata:cW.record(cW.string(),el).optional()});async function eo(a,b,c){a.error(await dx(b,c))}var ep={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function eq(a,b){return"object"==typeof a&&null!=a&&"message"in a&&"string"==typeof a.message&&"type"in a&&"string"==typeof a.type&&a.type in ep?dr({response:{error:{message:a.message,type:a.type}},statusCode:ep[a.type],authMethod:b}):Error(`AI Gateway transcription stream failed: ${null!=a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:aL(a)}`)}var er=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=await this.config.createClientSecret({modelId:this.modelId,...(null==a?void 0:a.expiresAfterSeconds)!=null&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:e.token,url:(b=this.config.baseURL,c=this.modelId,(d=new URL(`${b.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",c),d.toString()),...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}getWebSocketConfig(a){return{url:a.url,protocols:cV("ai-gateway-realtime.v1",a.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(a){return a}serializeClientEvent(a){return a}buildSessionConfig(a){return a}},es=cA({id:"gateway.exa_search",inputSchema:co(()=>cr(cW.object({query:cW.string().describe("Natural-language web search query. This is required."),type:cW.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:cW.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:cW.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:cW.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains."),start_published_date:cW.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:cW.string().optional().describe("Only return links published before this ISO 8601 date."),contents:cW.object({text:cW.union([cW.boolean(),cW.object({max_characters:cW.number().optional(),include_html_tags:cW.boolean().optional(),verbosity:cW.enum(["compact","standard","full"]).optional(),include_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:cW.union([cW.boolean(),cW.object({query:cW.string().optional(),max_characters:cW.number().optional()})]).optional(),max_age_hours:cW.number().optional(),livecrawl_timeout:cW.number().optional(),subpages:cW.number().optional(),subpage_target:cW.union([cW.string(),cW.array(cW.string())]).optional(),extras:cW.object({links:cW.number().optional(),image_links:cW.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({requestId:cW.string(),searchType:cW.string().optional(),resolvedSearchType:cW.string().optional(),results:cW.array(cW.object({title:cW.string(),url:cW.string(),id:cW.string(),publishedDate:cW.string().nullable().optional(),author:cW.string().nullable().optional(),image:cW.string().nullable().optional(),favicon:cW.string().nullable().optional(),text:cW.string().optional(),highlights:cW.array(cW.string()).optional(),highlightScores:cW.array(cW.number()).optional(),summary:cW.string().optional(),subpages:cW.array(cW.any()).optional(),extras:cW.object({links:cW.array(cW.string()).optional(),imageLinks:cW.array(cW.string()).optional()}).optional()})),costDollars:cW.object({total:cW.number().optional(),search:cW.record(cW.string(),cW.number()).optional()}).optional()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),et=cA({id:"gateway.parallel_search",inputSchema:co(()=>cr(cW.object({objective:cW.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:cW.array(cW.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:cW.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:cW.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:cW.object({include_domains:cW.array(cW.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:cW.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:cW.object({max_chars_per_result:cW.number().optional().describe("Maximum characters per result."),max_chars_total:cW.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:cW.object({max_age_seconds:cW.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({searchId:cW.string(),results:cW.array(cW.object({url:cW.string(),title:cW.string(),excerpt:cW.string(),publishDate:cW.string().nullable().optional(),relevanceScore:cW.number().optional()}))}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eu=cA({id:"gateway.perplexity_search",inputSchema:co(()=>cr(cW.object({query:cW.union([cW.string(),cW.array(cW.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:cW.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:cW.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:cW.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:cW.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:cW.array(cW.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:cW.array(cW.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:cW.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:cW.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:cW.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:cW.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:cW.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:co(()=>cr(cW.union([cW.object({results:cW.array(cW.object({title:cW.string(),url:cW.string(),snippet:cW.string(),date:cW.string().optional(),lastUpdated:cW.string().optional()})),id:cW.string()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),ev=cW.object({count:cW.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:cW.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:cW.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:cW.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:cW.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:cW.array(cW.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:cW.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),ew=cW.object({count:cW.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:cW.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:cW.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these bare domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:cW.number().optional().describe("Maximum characters in each web-result snippet."),highlights:cW.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:cW.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:cW.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:cW.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ex=co(()=>cr(cW.object({query:cW.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:cW.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:cW.object({data:ev.optional(),web:ew.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:cW.object({latitude:cW.number().describe("Latitude between -90 and 90."),longitude:cW.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:cW.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:cW.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:cW.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:cW.object({image_dark_mode:cW.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:cW.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:cW.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),ey=cW.union([cW.boolean(),cW.number(),cW.string()]).nullable(),ez=cW.object({content_format:cW.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:cW.number().optional(),data:cW.string().nullish(),records:cW.array(cW.record(cW.string(),ey)).nullish(),dataset:cW.object({columns:cW.array(cW.object({name:cW.string(),type:cW.enum(["boolean","date","datetime","number","string"]),unit:cW.string().nullish()})),rows:cW.array(cW.array(ey)),total_rows:cW.number(),truncated:cW.boolean(),ref:cW.string(),sources:cW.array(cW.object({name:cW.string(),index:cW.enum(["data","web"]).optional()})),provenance:cW.enum(["query","web_extraction"]).optional()}).nullish(),card_data:cW.object({}).passthrough().nullish(),card_data_schema:cW.object({}).passthrough().nullish(),url:cW.string().nullish(),expires_at:cW.string().nullish(),total_rows:cW.number().nullish(),truncated:cW.boolean().optional(),export_pricing:cW.object({baseline_usd:cW.number(),free_rows:cW.number(),max_rows_ceiling:cW.number(),row_cpm_usd:cW.number()}).nullish(),manifest:cW.array(cW.object({dtype:cW.enum(["boolean","date","datetime","number","string"]).nullish(),entity:cW.string().nullish(),metric:cW.string().nullish(),name:cW.string().nullish(),unit:cW.string().nullish()})).nullish()}).passthrough(),eA=cW.object({card_id:cW.string().nullish(),title:cW.string().nullish(),description:cW.string().nullish(),semantic_description:cW.string().nullish(),webpage_url:cW.string().nullish(),image_url:cW.string().nullish(),embed_url:cW.string().nullish(),sources:cW.array(cW.object({source_name:cW.string().nullish(),source_description:cW.string().nullish(),source_index:cW.enum(["data","web"]),source_text:cW.string().nullish(),url:cW.string().nullish()})).nullish(),methodologies:cW.array(cW.object({methodology_name:cW.string().nullable(),methodology_description:cW.string().nullable()})).nullish(),source_indexes:cW.array(cW.enum(["data","web"])).nullish(),card_type:cW.string().nullish(),relevance:cW.enum(["High","Low","Medium"]).nullish(),content:ez.nullish(),exportable:cW.boolean().optional(),nodes:cW.array(cW.object({id:cW.string(),type:cW.enum(["entity","metric"]),name:cW.string(),description:cW.string().nullish()})).nullish(),metric_definitions:cW.array(cW.object({name:cW.string(),definition:cW.string()})).nullish(),data_freshness:cW.object({coverage_end:cW.string().nullish(),data_as_of:cW.string().nullish(),last_updated:cW.string().nullish()}).nullish()}).passthrough(),eB=cW.object({title:cW.string(),url:cW.string(),snippet:cW.string().nullish(),source_name:cW.string().nullish(),publish_date:cW.string().nullish(),content:ez.nullish()}).passthrough(),eC=cA({id:"gateway.tako_search",inputSchema:ex,outputSchema:co(()=>cr(cW.union([cW.object({request_id:cW.string(),cards:cW.array(eA).optional(),web_results:cW.array(eB).optional(),usage:cW.object({total_cost_usd:cW.number(),compute:cW.object({cost_usd:cW.number()}).nullish(),data:cW.object({cost_usd:cW.number(),datasets:cW.number()}).nullish()}).nullish(),related:cW.array(cW.object({}).passthrough()).nullish()}).passthrough(),cW.object({error:cW.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eD={exaSearch:(a={})=>es(a),parallelSearch:(a={})=>et(a),perplexitySearch:(a={})=>eu(a),takoSearch:(a={})=>eC(a)};async function eE(){var a;return null==(a=(0,cT.getContext)().headers)?void 0:a["x-vercel-id"]}var eF=cW.object({token:cW.string(),expiresAt:cW.number().nullish()});async function eG(a){let b=bR({settingValue:a.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return b?{token:b,authMethod:"api-key"}:{token:await (0,cT.getVercelOidcToken)(),authMethod:"oidc"}}!function(a={}){var b,c,d;let e=null,f=null,g=null!=(b=a.metadataCacheRefreshMillis)?b:3e5,h=0,i=null!=(c=null==(d=a.baseURL)?void 0:d.replace(/\/$/,""))?c:"https://ai-gateway.vercel.sh/v4/ai",j=b=>bu({Authorization:`Bearer ${b.token}`,"ai-gateway-protocol-version":"0.0.1",[dy]:b.authMethod,...null!=a.teamIdOrSlug?{[dz]:a.teamIdOrSlug}:{},...a.headers},"ai-sdk/gateway/4.0.75"),k=async()=>{try{return j(await eG(a))}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},l=async()=>{try{return await eG(a)}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},m=async b=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let c=j(await l()),d=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:e}=await cy({url:d,headers:c,body:{model:b.modelId,...null!=b.routeKind&&{routeKind:b.routeKind},...null!=b.expiresAfterSeconds&&{expiresIn:b.expiresAfterSeconds}},successfulResponseHandler:cF(eF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:a.fetch});return{token:e.token,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}catch(a){throw await dx(a,await dA(c))}},n=()=>{let a=bR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),b=bR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),c=bR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),d=bR({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let e=await eE();return{...a&&{"ai-o11y-deployment-id":a},...b&&{"ai-o11y-environment":b},...c&&{"ai-o11y-region":c},...e&&{"ai-o11y-request-id":e},...d&&{"ai-o11y-project-id":d}}}},o=b=>new dM(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),p=async()=>{var b,c,d;let j=null!=(d=null==(c=null==(b=a._internal)?void 0:b.currentDate)?void 0:c.call(b).getTime())?d:Date.now();return(!e||j-h>g)&&(h=j,e=new dD({baseURL:i,headers:k,fetch:a.fetch}).getAvailableModels().then(a=>(f=a,a)).catch(async a=>{throw await dx(a,await dA(await k()))})),f?Promise.resolve(f):e},q=async()=>new dD({baseURL:i,headers:k,fetch:a.fetch}).getCredits().catch(async a=>{throw await dx(a,await dA(await k()))}),r=async b=>new dG({baseURL:i,headers:k,fetch:a.fetch}).getSpendReport(b).catch(async a=>{throw await dx(a,await dA(await k()))}),s=async b=>new dI({baseURL:i,headers:k,fetch:a.fetch}).getGenerationInfo(b).catch(async a=>{throw await dx(a,await dA(await k()))}),t=function(a){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return o(a)};t.specificationVersion="v4",t.getAvailableModels=p,t.getCredits=q,t.getSpendReport=r,t.getGenerationInfo=s,t.imageModel=b=>new d$(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),t.languageModel=o;let u=b=>new dX(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.embeddingModel=u,t.textEmbeddingModel=u,t.videoModel=b=>new d4(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});let v=b=>new ec(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.rerankingModel=v,t.reranking=v;let w=b=>new ef(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.speechModel=w,t.speech=w;let x=b=>new ej(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n(),webSocket:a.webSocket});t.transcriptionModel=x,t.transcription=x,t.experimental_transcription=Object.assign(a=>x(a),{getToken:async a=>{let b=await m({modelId:a.model,routeKind:"transcription",...null!=a.expiresAfterSeconds&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:b.token,url:ek(i,a.model),...null!=b.expiresAt&&{expiresAt:b.expiresAt}}}});let y=b=>new er(b,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:a.teamIdOrSlug,createClientSecret:m});t.experimental_realtime=Object.assign(a=>y(a),{getToken:async a=>{let{model:b,...c}=a,d=y(b),e=await d.doCreateClientSecret(c);return{token:e.token,url:e.url,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}}),t.chat=t.languageModel,t.embedding=t.embeddingModel,t.image=t.imageModel,t.video=t.videoModel,t.tools=eD}();var eH=Object.defineProperty,eI="AI_InvalidArgumentError",eJ=`vercel.ai.error.${eI}`,eK=Symbol.for(eJ),eL=class extends(R=aC,Q=eK,R){constructor({parameter:a,value:b,message:c}){super({name:eI,message:`Invalid argument for parameter ${a}: ${c}`}),this[Q]=!0,this.parameter=a,this.value=b}static isInstance(a){return aC.hasMarker(a,eJ)}},eM=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var eN="AI_NoObjectGeneratedError",eO=`vercel.ai.error.${eN}`,eP=Symbol.for(eO),eQ=class extends(T=aC,S=eP,T){constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:eN,message:a,cause:b}),this[S]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return aC.hasMarker(a,eO)}},eR=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var eS="AI_UIMessageStreamError",eT=`vercel.ai.error.${eS}`,eU=Symbol.for(eT),eV=class extends(V=aC,U=eU,V){constructor({chunkType:a,chunkId:b,message:c}){super({name:eS,message:c}),this[U]=!0,this.chunkType=a,this.chunkId=b}static isInstance(a){return aC.hasMarker(a,eT)}},eW=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var eX=async({url:a,maxBytes:b,abortSignal:c})=>{var d;let e=a.toString();try{let a=bu({},"ai-sdk/7.0.93",bn()),f=await bL({url:e,headers:a,abortSignal:c});if(!f.ok)throw await bv(f),new bz({url:e,statusCode:f.status,statusText:f.statusText});return{data:await bM({response:f,url:e,maxBytes:null!=b?b:0x80000000}),mediaType:null!=(d=f.headers.get("content-type"))?d:void 0}}catch(a){if(bz.isInstance(a))throw a;throw new bz({url:e,cause:a})}},eY={array:cS.array,boolean:cS.boolean,custom:cS.custom,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,instanceof:cS.instanceof,lazy:cS.lazy,literal:cS.literal,looseObject:cS.looseObject,never:cS.never,null:cS.null,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},eZ=eY.lazy(()=>eY.union([eY.null(),eY.string(),eY.number(),eY.boolean(),eY.record(eY.string(),eZ.optional()),eY.array(eZ)])),e$=eY.record(eY.string(),eY.record(eY.string(),eZ.optional())),e_=eY.union([eY.string(),eY.instanceof(Uint8Array),eY.instanceof(ArrayBuffer),eY.custom(function(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]),e0=eY.record(eY.string(),eY.string()),e1=eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),e2=eY.object({type:eY.literal("image"),image:eY.union([e_,eY.instanceof(URL),e0]),mediaType:eY.string().optional(),providerOptions:e$.optional()}),e3=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)}),eY.object({type:eY.literal("reference"),reference:e0}),eY.object({type:eY.literal("text"),text:eY.string()})]),e4=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)})]),e5=eY.object({type:eY.literal("file"),data:eY.union([e3,e_,eY.instanceof(URL),e0]),filename:eY.string().optional(),mediaType:eY.string(),providerOptions:e$.optional()}),e6=eY.object({type:eY.literal("reasoning"),text:eY.string(),providerOptions:e$.optional()}),e7=eY.object({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerOptions:e$.optional()}),e8=eY.object({type:eY.literal("reasoning-file"),data:eY.union([e4,e_,eY.instanceof(URL)]),mediaType:eY.string(),providerOptions:e$.optional()}),e9=eY.object({type:eY.literal("tool-call"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerOptions:e$.optional(),providerExecuted:eY.boolean().optional()}),fa=eY.discriminatedUnion("type",[eY.object({type:eY.literal("text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("execution-denied"),reason:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("content"),value:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file"),data:e3,mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-data"),data:eY.string(),mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-url"),url:eY.string(),mediaType:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-data"),data:eY.string(),mediaType:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-url"),url:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("custom"),providerOptions:e$.optional()})]))})]),fb=eY.object({type:eY.literal("tool-result"),toolCallId:eY.string(),toolName:eY.string(),output:fa,providerOptions:e$.optional()}),fc=eY.object({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),reason:eY.string().optional()}),fd=eY.object({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional()}),fe=eY.object({role:eY.literal("system"),content:eY.string(),providerOptions:e$.optional()}),ff=eY.object({role:eY.literal("user"),content:eY.union([eY.string(),eY.array(eY.union([e1,e2,e5]))]),providerOptions:e$.optional()}),fg=eY.object({role:eY.literal("assistant"),content:eY.union([eY.string(),eY.array(eY.union([e1,e7,e5,e6,e8,e9,fb,fc]))]),providerOptions:e$.optional()}),fh=eY.object({role:eY.literal("tool"),content:eY.array(eY.union([fb,fd])),providerOptions:e$.optional()});eY.union([fe,ff,fg,fh]);var fi={},fj={array:()=>fo,choice:()=>fr,json:()=>fs,object:()=>fn,text:()=>fm};for(var fk in fj)eH(fi,fk,{get:fj[fk],enumerable:!0});async function fl(a){if(void 0===a)return{value:void 0,state:"undefined-input"};let b=await cv({text:a});return b.success?{value:b.value,state:"successful-parse"}:(b=await cv({text:function(a){let b=["ROOT"],c=-1,d=null,e=0;function f(a,e,f){switch(a){case'"':c=e,b.pop(),b.push(f),b.push("INSIDE_STRING");break;case"f":case"t":case"n":c=e,d=e,b.pop(),b.push(f),b.push("INSIDE_LITERAL");break;case"-":b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=e,b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"{":c=e,b.pop(),b.push(f),b.push("INSIDE_OBJECT_START");break;case"[":c=e,b.pop(),b.push(f),b.push("INSIDE_ARRAY_START")}}function g(a,d){switch(a){case",":b.pop(),b.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":c=d,b.pop()}}function h(a,d){switch(a){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=d,b.pop()}}for(let i=0;i<a.length;i++){let j=a[i];switch(b[b.length-1]){case"ROOT":f(j,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(j){case'"':b.pop(),b.push("INSIDE_OBJECT_KEY");break;case"}":c=i,b.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===j&&(b.pop(),b.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":f(j,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":g(j,i);break;case"INSIDE_STRING":switch(j){case'"':b.pop(),c=i;break;case"\\":b.push("INSIDE_STRING_ESCAPE");break;default:c=i}break;case"INSIDE_ARRAY_START":"]"===j?(c=i,b.pop()):(c=i,f(j,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(j){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=i,b.pop();break;default:c=i}break;case"INSIDE_ARRAY_AFTER_COMMA":f(j,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":b.pop(),"u"===j?(e=0,b.push("INSIDE_STRING_UNICODE_ESCAPE")):c=i;break;case"INSIDE_STRING_UNICODE_ESCAPE":(j>="0"&&j<="9"||j>="A"&&j<="F"||j>="a"&&j<="f")&&4==++e&&(b.pop(),c=i);break;case"INSIDE_NUMBER":switch(j){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=i;break;case"e":case"E":case"-":case".":break;case",":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"}":b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"]":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i);break;default:b.pop()}break;case"INSIDE_LITERAL":{let e=a.substring(d,i+1);"false".startsWith(e)||"true".startsWith(e)||"null".startsWith(e)?c=i:(b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]?g(j,i):"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i))}}}let i=a.slice(0,c+1);for(let c=b.length-1;c>=0;c--)switch(b[c]){case"INSIDE_STRING":i+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let b=a.substring(d,a.length);"true".startsWith(b)?i+="true".slice(b.length):"false".startsWith(b)?i+="false".slice(b.length):"null".startsWith(b)&&(i+="null".slice(b.length))}}return i}(a)})).success?{value:b.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var fm=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:a})=>a,parsePartialOutput:async({text:a})=>({partial:a}),createElementStreamTransform(){}}),fn=({schema:a,name:b,description:c})=>{let d=cq(a);return{name:"object",responseFormat:cB(d.jsonSchema).then(a=>({type:"json",schema:a,...null!=b&&{name:b},...null!=c&&{description:c}})),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});let e=await ct({value:c.value,schema:d});if(!e.success)throw new eQ({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return e.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value}}},createElementStreamTransform(){}}},fo=({element:a,minItems:b,maxItems:c,name:d,description:e})=>{if(fp({name:"minItems",value:b}),fp({name:"maxItems",value:c}),null!=b&&null!=c&&b>c)throw new eL({parameter:"minItems",value:b,message:"minItems must be less than or equal to maxItems"});let f=cq(a);return{name:"array",responseFormat:cB(f.jsonSchema).then(a=>{let{$schema:f,definitions:g,$defs:h,...i}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=g&&{definitions:g},...null!=h&&{$defs:h},type:"object",properties:{elements:{type:"array",items:i,...null!=b&&{minItems:b},...null!=c&&{maxItems:c}}},required:["elements"],additionalProperties:!1},...null!=d&&{name:d},...null!=e&&{description:e}}}),async parseCompleteOutput({text:a},d){let e=await cv({text:a});if(!e.success)throw new eQ({message:"No object generated: could not parse the response.",cause:e.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let g=e.value;if(null==g||"object"!=typeof g||!("elements"in g)||!Array.isArray(g.elements))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:g,cause:"response must be an object with an elements array"}),text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let h=fq({value:g.elements,minItems:b,maxItems:c});if(null!=h)throw new eQ({message:"No object generated: response did not match schema.",cause:h,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let i=[];for(let b of g.elements){let c=await ct({value:b,schema:f});if(!c.success)throw new eQ({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});i.push(c.value)}return i},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=b.value;if(null==a||"object"!=typeof a||!("elements"in a)||!Array.isArray(a.elements))return;let c="repaired-parse"===b.state&&a.elements.length>0?a.elements.slice(0,-1):a.elements,d=[];for(let a of c){let b=await ct({value:a,schema:f});b.success&&d.push(b.value)}return{partial:d}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:b},d){if(null!=b)for(;a<b.length;a++){if(null!=c&&a>=c)return void d.error(fq({value:b,maxItems:c}));d.enqueue(b[a])}}})}}};function fp({name:a,value:b}){if(null!=b){if(!Number.isInteger(b))throw new eL({parameter:a,value:b,message:`${a} must be an integer`});if(b<0)throw new eL({parameter:a,value:b,message:`${a} must be greater than or equal to 0`})}}function fq({value:a,minItems:b,maxItems:c}){return null!=b&&a.length<b?new a2({value:a,cause:`elements array must contain at least ${b} items`}):null!=c&&a.length>c?new a2({value:a,cause:`elements array must contain at most ${c} items`}):void 0}var fr=({options:a,name:b,description:c})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:a}},required:["result"],additionalProperties:!1},...null!=b&&{name:b},...null!=c&&{description:c}}),async parseCompleteOutput({text:b},c){let d=await cv({text:b});if(!d.success)throw new eQ({message:"No object generated: could not parse the response.",cause:d.error,text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=d.value;if(null==e||"object"!=typeof e||!("result"in e)||"string"!=typeof e.result||!a.includes(e.result))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:e,cause:"response must be an object that contains a choice value."}),text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.result},async parsePartialOutput({text:b}){let c=await fl(b);switch(c.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let b=c.value;if(null==b||"object"!=typeof b||!("result"in b)||"string"!=typeof b.result)return;let d=a.filter(a=>a.startsWith(b.result));if("successful-parse"===c.state)return d.includes(b.result)?{partial:b.result}:void 0;return 1===d.length?{partial:d[0]}:void 0}}},createElementStreamTransform(){}}),fs=({name:a,description:b}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=a&&{name:a},...null!=b&&{description:b}}),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return c.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===b.value?void 0:{partial:b.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),TransformStream;var ft=eY.record(eY.string(),eZ.optional()),fu=co(()=>cr(eY.union([eY.looseObject({type:eY.literal("text-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("error"),errorText:eY.string()}),eY.looseObject({type:eY.literal("tool-input-start"),toolCallId:eY.string(),toolName:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-delta"),toolCallId:eY.string(),inputTextDelta:eY.string()}),eY.looseObject({type:eY.literal("tool-input-available"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-error"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),errorText:eY.string(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),approvalDescriptor:eY.unknown().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("tool-output-available"),toolCallId:eY.string(),output:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),preliminary:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-error"),toolCallId:eY.string(),errorText:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-denied"),toolCallId:eY.string()}),eY.looseObject({type:eY.literal("reasoning-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:eY.string().optional(),data:eY.unknown(),transient:eY.boolean().optional()}),eY.looseObject({type:eY.literal("start-step")}),eY.looseObject({type:eY.literal("finish-step")}),eY.looseObject({type:eY.literal("reset-step")}),eY.looseObject({type:eY.literal("start"),messageId:eY.string().optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("finish"),finishReason:eY.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("abort"),reason:eY.string().optional()}),eY.looseObject({type:eY.literal("message-metadata"),messageMetadata:eY.unknown()})])));function fv(){return Object.create(null)}function fw(a){return a.type.startsWith("tool-")}function fx(a){return"dynamic-tool"===a.type}function fy(a){return fw(a)||fx(a)}function fz(a){return a.type.split("-").slice(1).join("-")}function fA(a){return fx(a)?a.toolName:fz(a)}async function fB({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24});var fC=eY.record(eY.string(),eZ.optional()),fD=eY.record(eY.string(),eY.string());function fE(a){return({url:b,abortSignal:c})=>eX({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}co(()=>cr(eY.array(eY.object({id:eY.string(),role:eY.enum(["system","user","assistant"]),metadata:eY.unknown().optional(),parts:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning"),id:eY.string().optional(),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("custom"),kind:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("file"),mediaType:eY.string(),filename:eY.string().optional(),url:eY.string(),providerReference:fD.optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning-file"),mediaType:eY.string(),url:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("step-start")}),eY.object({type:eY.string().startsWith("data-"),id:eY.string().optional(),data:eY.unknown()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),input:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),input:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),providerExecuted:eY.boolean().optional(),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),bN({prefix:"call",size:24}),bN({prefix:"call",size:24}),new TextEncoder,bN({prefix:"aiobj",size:24});var fF=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(a){return new Promise((b,c)=>{this.queue.push(async()=>{try{await a(),b()}catch(a){c(a)}}),this.processQueue()})}};bN({prefix:"aiobj",size:24}),fE();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function fG(a){if(null==a)return[];if(!globalThis.FileList||!(a instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(a).map(async a=>{let{name:b,type:c}=a;return{type:"file",mediaType:c,filename:b,url:await new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{var c;b(null==(c=a.target)?void 0:c.result)},d.onerror=a=>c(a),d.readAsDataURL(a)})}}))}bN({prefix:"call",size:24}),fE();var fH=class{constructor({api:a="/api/chat",credentials:b,headers:c,body:d,fetch:e,prepareSendMessagesRequest:f,prepareReconnectToStreamRequest:g}){this.api=a,this.credentials=b,this.headers=c,this.body=d,this.fetch=e,this.prepareSendMessagesRequest=f,this.prepareReconnectToStreamRequest=g}async sendMessages({abortSignal:a,...b}){var c,d,e,f;let g=await cB(this.body),h=await cB(this.headers),i=await cB(this.credentials),j={...bt(h),...bt(b.headers)},k=await (null==(c=this.prepareSendMessagesRequest)?void 0:c.call(this,{api:this.api,id:b.chatId,messages:b.messages,body:{...g,...b.body},headers:j,credentials:i,requestMetadata:b.metadata,trigger:b.trigger,messageId:b.messageId})),l=null!=(d=null==k?void 0:k.api)?d:this.api,m=(null==k?void 0:k.headers)!==void 0?bt(k.headers):j,n=(null==k?void 0:k.body)!==void 0?k.body:{...g,...b.body,id:b.chatId,messages:b.messages,trigger:b.trigger,messageId:b.messageId},o=null!=(e=null==k?void 0:k.credentials)?e:i,p=null!=(f=this.fetch)?f:globalThis.fetch,q=await p(l,{method:"POST",headers:{"Content-Type":"application/json",...m},body:JSON.stringify(n),credentials:o,signal:a});if(!q.ok)throw Error(await q.text()||"Failed to fetch the chat response.");if(!q.body)throw Error("The response body is empty.");return this.processResponseStream(q.body)}async reconnectToStream(a){var b,c,d,e;let f=await cB(this.body),g=await cB(this.headers),h=await cB(this.credentials),i={...bt(g),...bt(a.headers)},j=await (null==(b=this.prepareReconnectToStreamRequest)?void 0:b.call(this,{api:this.api,id:a.chatId,body:{...f,...a.body},headers:i,credentials:h,requestMetadata:a.metadata})),k=null!=(c=null==j?void 0:j.api)?c:`${this.api}/${a.chatId}/stream`,l=(null==j?void 0:j.headers)!==void 0?bt(j.headers):i,m=null!=(d=null==j?void 0:j.credentials)?d:h,n=null!=(e=this.fetch)?e:globalThis.fetch,o=await n(k,{method:"GET",headers:l,credentials:m,signal:a.abortSignal});if(204===o.status)return null;if(!o.ok)throw Error(await o.text()||"Failed to fetch the chat response.");if(!o.body)throw Error("The response body is empty.");return this.processResponseStream(o.body)}},fI=class extends fH{constructor(a={}){super(a)}processResponseStream(a){return cw({stream:a,schema:fu}).pipeThrough(new TransformStream({async transform(a,b){if(!a.success)throw a.error;b.enqueue(a.value)}}))}},fJ=class{constructor({generateId:a=bO,id:b=a(),transport:c=new fI,messageMetadataSchema:d,dataPartSchemas:e,state:f,onError:g,onToolCall:h,onFinish:i,onData:j,sendAutomaticallyWhen:k}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new fF,this.sendMessage=async(a,b)=>{var c,d,e,f;let g;if(null==a)return void await this.makeRequest({trigger:"submit-message",messageId:null==(c=this.lastMessage)?void 0:c.id,...b});if("text"in a||"files"in a){let b,c=new AbortController;this.pendingMessagePreparations.add(c);try{b=Array.isArray(a.files)?a.files:await fG(a.files)}finally{this.pendingMessagePreparations.delete(c)}if(c.signal.aborted)return;g={parts:[...b,..."text"in a&&null!=a.text?[{type:"text",text:a.text}]:[]]}}else g=a;if(null!=a.messageId){let b=this.state.messages.findIndex(b=>b.id===a.messageId);if(-1===b)throw Error(`message with id ${a.messageId} not found`);if("user"!==this.state.messages[b].role)throw Error(`message with id ${a.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,b+1),this.state.replaceMessage(b,{id:a.messageId,...g,role:null!=(d=g.role)?d:"user",metadata:a.metadata})}else this.state.pushMessage({...g,id:null!=(e=g.id)?e:this.generateId(),role:null!=(f=g.role)?f:"user",metadata:a.metadata});await this.makeRequest({trigger:"submit-message",messageId:a.messageId,...b})},this.regenerate=async({messageId:a,...b}={})=>{let c=null==a?this.state.messages.length-1:this.state.messages.findIndex(b=>b.id===a);if(-1===c)throw Error(`message ${a} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[c].role?c:c+1),await this.makeRequest({trigger:"regenerate-message",messageId:a,...b})},this.resumeStream=async(a={})=>{await this.makeRequest({trigger:"resume-stream",...a})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:a,approved:b,reason:c,options:d})=>this.jobExecutor.run(async()=>{let e=this.state.messages,f=e[e.length-1],g=d=>fy(d)&&"approval-requested"===d.state&&d.approval.id===a?{...d,state:"approval-responded",approval:{...d.approval,id:a,approved:b,reason:c}}:d;this.state.replaceMessage(e.length-1,{...f,parts:f.parts.map(g)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(g)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...d})})}),this.addToolOutput=async({state:a="output-available",toolCallId:b,output:c,errorText:d,options:e})=>this.jobExecutor.run(async()=>{let f=this.state.messages,g=f[f.length-1],h=e=>fy(e)&&e.toolCallId===b?{...e,state:a,output:c,errorText:d}:e;this.state.replaceMessage(f.length-1,{...g,parts:g.parts.map(h)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(h)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...e})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var a,b;for(let a of this.pendingMessagePreparations)a.abort();null==(a=this.activeResumeRequest)||a.abortController.abort(),null==(b=this.activeResponse)||b.abortController.abort()},this.id=b,this.transport=c,this.generateId=a,this.messageMetadataSchema=d,this.dataPartSchemas=e,this.state=f,this.onError=g,this.onToolCall=h,this.onFinish=i,this.onData=j,this.sendAutomaticallyWhen=k}get status(){return this.state.status}setStatus({status:a,error:b}){this.status!==a&&(this.state.status=a,this.state.error=b)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(a){this.state.messages=a}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let a=this.sendAutomaticallyWhen({messages:this.state.messages});return a&&"object"==typeof a&&"then"in a?await a:a}async makeRequest({trigger:a,metadata:b,headers:c,body:d,messageId:e}){var f,g,h;let i,j,k=new AbortController,l="resume-stream"===a?{abortController:k}:void 0;l&&(null==(f=this.activeResumeRequest)||f.abortController.abort(),this.activeResumeRequest=l);let m=()=>null==l||this.activeResumeRequest===l,n=()=>{this.activeResumeRequest===l&&(this.activeResumeRequest=void 0)};if("resume-stream"===a)try{let a=await this.transport.reconnectToStream({chatId:this.id,abortSignal:k.signal,metadata:b,headers:c,body:d});if(k.signal.aborted||!m()){await (null==a?void 0:a.cancel().catch(()=>{})),m()&&this.setStatus({status:"ready"}),n();return}if(null==a){this.setStatus({status:"ready"}),n();return}i=a}catch(a){if(k.signal.aborted||"AbortError"===a.name){m()&&this.setStatus({status:"ready"}),n();return}if(!m())return;this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a}),n();return}this.setStatus({status:"submitted",error:void 0});let o=this.lastMessage,p=!1,q=!1,r=!1;try{let f,g={state:function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:fv(),activeReasoningParts:fv(),partialToolCalls:fv()}}({lastMessage:"resume-stream"===a||"regenerate-message"===a?void 0:this.state.snapshot(o),messageId:this.generateId()}),abortController:k};j=g,g.abortController.signal.addEventListener("abort",()=>{p=!0}),this.activeResponse=g,f="resume-stream"===a?i:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:g.abortController.signal,metadata:b,headers:c,body:d,trigger:a,messageId:e});let h=a=>this.jobExecutor.run(()=>g.abortController.signal.aborted?Promise.resolve():a({state:g.state,write:({updateStatus:a=!0}={})=>{var b;g.abortController.signal.aborted||(a&&this.setStatus({status:"streaming"}),g.state.message.id===(null==(b=this.lastMessage)?void 0:b.id)?this.state.replaceMessage(this.state.messages.length-1,g.state.message):this.state.pushMessage(g.state.message))}}));if(await fB({stream:function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(fy).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(fy(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new eV({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>fw(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?function a(b,c){if(void 0===b&&void 0===c)return;if(void 0===b)return c;if(void 0===c)return b;let d={...b};for(let e in c)if("__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&Object.prototype.hasOwnProperty.call(c,e)){let f=c[e];if(void 0===f)continue;let g=e in b?b[e]:void 0,h=null!==f&&"object"==typeof f&&!Array.isArray(f)&&!(f instanceof Date)&&!(f instanceof RegExp),i=null!=g&&"object"==typeof g&&!Array.isArray(g)&&!(g instanceof Date)&&!(g instanceof RegExp);h&&i?d[e]=a(g,f):d[e]=f}return d}(d.message.metadata,a):a;null!=b&&await cs({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(fw);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new eV({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await fl(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(fy).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(fy).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new eV({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=fv(),d.activeReasoningParts=fv(),d.partialToolCalls=fv(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await cs({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))}({stream:f,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:h,onError:a=>{throw a}}),abortSignal:g.abortController.signal,onError:a=>{throw a}}),p)return m()&&this.setStatus({status:"ready"}),null;m()&&this.setStatus({status:"ready"})}catch(a){if(p||"AbortError"===a.name)return p=!0,m()&&this.setStatus({status:"ready"}),null;if(!m())return null;r=!0,a instanceof TypeError&&(a.message.toLowerCase().includes("fetch")||a.message.toLowerCase().includes("network"))&&(q=!0),this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a})}finally{try{j&&(null==(g=this.onFinish)||g.call(this,{message:j.state.message,messages:this.state.messages,isAbort:p,isDisconnect:q,isError:r,finishReason:j.state.finishReason}))}finally{this.activeResponse===j&&(this.activeResponse=void 0),n()}}!r&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(h=this.lastMessage)?void 0:h.id,metadata:b,headers:c,body:d})}};a.i(393931);var fK=a.i(313350),fL=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)},fM=(a,b,c)=>(fL(a,b,"read from private field"),c?c.call(a):b.get(a)),fN=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c)},fO=(a,b,c,d)=>(fL(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),fP=class{constructor(a=[]){fN(this,W,void 0),fN(this,X,"ready"),fN(this,Y,void 0),fN(this,Z,new Set),fN(this,$,new Set),fN(this,_,new Set),this.pushMessage=a=>{fO(this,W,fM(this,W).concat(a)),fM(this,aa).call(this)},this.popMessage=()=>{fO(this,W,fM(this,W).slice(0,-1)),fM(this,aa).call(this)},this.replaceMessage=(a,b)=>{fO(this,W,[...fM(this,W).slice(0,a),this.snapshot(b),...fM(this,W).slice(a+1)]),fM(this,aa).call(this)},this.snapshot=a=>{var b;if(null==a||"object"!=typeof a||!("parts"in a)||!Array.isArray(a.parts))return a;let c={...a,parts:a.parts.map(a=>({...a}))};return"metadata"in a&&(c.metadata=Array.isArray(b=a.metadata)?[...b]:null!=b&&"object"==typeof b&&(Object.getPrototypeOf(b)===Object.prototype||null===Object.getPrototypeOf(b))?{...b}:b),c},this["~registerMessagesCallback"]=(a,b)=>{let c=b?null!=b?(0,fK.default)(a,b):a:a;return fM(this,Z).add(c),()=>{fM(this,Z).delete(c)}},this["~registerStatusCallback"]=a=>(fM(this,$).add(a),()=>{fM(this,$).delete(a)}),this["~registerErrorCallback"]=a=>(fM(this,_).add(a),()=>{fM(this,_).delete(a)}),fN(this,aa,()=>{fM(this,Z).forEach(a=>a())}),fN(this,ab,()=>{fM(this,$).forEach(a=>a())}),fN(this,ac,()=>{fM(this,_).forEach(a=>a())}),fO(this,W,a)}get status(){return fM(this,X)}set status(a){fO(this,X,a),fM(this,ab).call(this)}get error(){return fM(this,Y)}set error(a){fO(this,Y,a),fM(this,ac).call(this)}get messages(){return fM(this,W)}set messages(a){fO(this,W,[...a]),fM(this,aa).call(this)}};W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap;var fQ=class extends fJ{constructor({messages:a,...b}){const c=new fP(a);super({...b,state:c}),fN(this,ad,void 0),this["~registerMessagesCallback"]=(a,b)=>fM(this,ad)["~registerMessagesCallback"](a,b),this["~registerStatusCallback"]=a=>fM(this,ad)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>fM(this,ad)["~registerErrorCallback"](a),fO(this,ad,c)}};ad=new WeakMap;var fR=a.i(327598);let fS={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};fS.node;let fT=(0,ai.default)(fS);var fU=a.i(589027),fV=a.i(875160);let fW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};fW.node;let fX=(0,ai.default)(fW);var fY=a.i(545097),fZ=a.i(608902),f$=a.i(379630),f_=a.i(421042),f0=a.i(497895);let f1=new fI({api:ar.queryKey.memoryEdit});function f2({notes:a}){let[b,c]=(0,aq.useState)(""),[d,e]=(0,aq.useState)({provider:null,model:""}),[f,g]=(0,aq.useState)(!1),{messages:h,sendMessage:i,setMessages:j,status:k,stop:l,error:m,clearError:n}=function({throttle:a,experimental_throttle:b,resume:c=!1,...d}={}){let e,f=null!=a?a:b,g=(0,aq.useRef)({});"chat"in d||(g.current={onToolCall:d.onToolCall,onData:d.onData,onFinish:d.onFinish,onError:d.onError,sendAutomaticallyWhen:d.sendAutomaticallyWhen,transport:d.transport});let h=()=>{var a;return null!=(a=g.current.transport)?a:null!=e?e:e=new fI},i={...d,transport:{sendMessages:a=>h().sendMessages(a),reconnectToStream:a=>h().reconnectToStream(a)},onToolCall:a=>{var b,c;return null==(c=(b=g.current).onToolCall)?void 0:c.call(b,a)},onData:a=>{var b,c;return null==(c=(b=g.current).onData)?void 0:c.call(b,a)},onFinish:a=>{var b,c;return null==(c=(b=g.current).onFinish)?void 0:c.call(b,a)},onError:a=>{var b,c;return null==(c=(b=g.current).onError)?void 0:c.call(b,a)},sendAutomaticallyWhen:a=>{var b,c,d;return null!=(d=null==(c=(b=g.current).sendAutomaticallyWhen)?void 0:c.call(b,a))&&d}},j=(0,aq.useRef)("chat"in d?d.chat:new fQ(i));("chat"in d&&d.chat!==j.current||"id"in d&&null!=d.id&&j.current.id!==d.id)&&(j.current="chat"in d?d.chat:new fQ(i));let k=j.current,l=(0,aq.useRef)({chat:k,messages:k.messages});l.current.chat!==k&&(l.current={chat:k,messages:k.messages});let m=(0,aq.useCallback)(a=>{let b=!0,c=k["~registerMessagesCallback"](()=>{b&&l.current.chat===k&&(l.current={chat:k,messages:k.messages},a())},f);return l.current={chat:k,messages:k.messages},()=>{b=!1,c()}},[k,f]),n=(0,aq.useCallback)(()=>l.current.messages,[]),o=(0,aq.useSyncExternalStore)(m,n,n),p=(0,aq.useCallback)(a=>k["~registerStatusCallback"](()=>{l.current.chat===k&&(("ready"===k.status||"error"===k.status)&&(l.current={chat:k,messages:k.messages}),a())}),[k]),q=(0,aq.useCallback)(()=>k.status,[k]),r=(0,aq.useSyncExternalStore)(p,q,q),s=(0,aq.useSyncExternalStore)(j.current["~registerErrorCallback"],()=>j.current.error,()=>j.current.error),t=(0,aq.useCallback)(a=>{"function"==typeof a&&(a=a(j.current.messages)),j.current.messages=a},[j]);return(0,aq.useEffect)(()=>{c&&j.current.resumeStream()},[c,j]),{id:j.current.id,messages:o,setMessages:t,sendMessage:j.current.sendMessage,regenerate:j.current.regenerate,clearError:j.current.clearError,stop:j.current.stop,error:s,resumeStream:j.current.resumeStream,status:r,addToolResult:j.current.addToolOutput,addToolOutput:j.current.addToolOutput,addToolApprovalResponse:j.current.addToolApprovalResponse}}({transport:f1}),o=(0,aq.useRef)(l);o.current=l,(0,aq.useEffect)(()=>()=>{o.current()},[]);let p=(0,aq.useRef)(new Map);for(let b of a)for(let a of b.facts)p.current.set(a.id,{text:a.text,path:b.path});let q="submitted"===k||"streaming"===k,r=!!(d.provider&&d.model.trim()),s=[...h].reverse().find(a=>"assistant"===a.role),t=s?.parts??[],u=t.filter(fy),v=t.flatMap(a=>"text"===a.type?[a.text]:[]).join(" ").trim(),w=!!m||u.some(a=>"output-error"===a.state),x=u.filter(a=>"output-available"===a.state&&fA(a)!==f_.TOOL_NAMES.memory_recall).length;(0,aq.useEffect)(()=>{if("ready"!==k||w||0===h.length)return;let a=setTimeout(()=>j([]),4e3);return()=>clearTimeout(a)},[k,w,h.length,j]);let y=q?(0,ae.jsx)(fY.ShinyText,{text:"Working on memory",className:"text-xs"}):m?(0,ae.jsx)("span",{className:"text-xs text-destructive",children:m.message}):s?(0,ae.jsx)("span",{className:"text-xs text-muted-foreground",children:v||(0===x?"Nothing to change":1===x?"1 change saved":`${x} changes saved`)}):null;return(0,ae.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,ae.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[f&&(0,ae.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,ae.jsx)(fZ.ModelPicker,{provider:d.provider,model:d.model,unset:"Provider",onChange:e})}),u.length>0&&(0,ae.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:u.map(a=>(0,ae.jsx)(f4,{name:fA(a),input:a.input,state:a.state,errorText:"output-error"===a.state?a.errorText:void 0,known:p.current},a.toolCallId))}),y&&(0,ae.jsx)("p",{className:"max-w-full truncate px-1",children:y}),(0,ae.jsxs)("form",{onSubmit:a=>{a.preventDefault();let e=b.trim();e&&r&&!q&&(c(""),g(!1),n(),j([]),i({text:e},{body:{model:d}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,ae.jsx)("input",{value:b,onChange:a=>c(a.target.value),disabled:q,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,ae.jsxs)(as.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>g(!f),className:(0,f0.cn)("max-w-44",!r&&"text-muted-foreground"),children:[r&&d.provider?(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(f$.ProviderIcon,{provider:d.provider,className:"size-3"}),(0,ae.jsx)("span",{className:"truncate",children:d.model})]}):"Model",(0,ae.jsx)(fU.ChevronDown,{className:"text-muted-foreground"})]}),(0,ae.jsx)(as.Button,{type:"submit",size:"icon-sm",loading:q,disabled:!b.trim()||!r||q,"aria-label":"Send",children:!q&&(0,ae.jsx)(fR.ArrowUp,{})})]})]})})}let f3={Remember:an.Plus,Replace:ak,Forget:fX,Rename:ak,Opened:fT};function f4({name:a,input:b,state:c,errorText:d,known:e}){let f=function(a,b,c){let d=b??{};if(a===f_.TOOL_NAMES.memory_recall)return{kind:"Opened",path:d.path??"",lines:[],carried:!1};if(a===f_.TOOL_NAMES.memory_forget){let a=null!=d.factId?c.get(d.factId):void 0,b=null!=d.factId?`Fact #${d.factId}`:"";return{kind:"Forget",path:a?.path??"",lines:[{before:a?.text??b}],carried:!1}}let e=(d.facts??[]).filter(a=>null!=a),f=e.map(a=>null!=a.replaces?{before:c.get(a.replaces)?.text??`Fact #${a.replaces}`,after:a.text}:{after:a.text});d.description&&f.push({after:`“${d.description}”`});let g=(d.aliases??[]).filter(Boolean);return g.length&&f.push({after:`Called ${g.map(a=>`“${a}”`).join(", ")}`}),{kind:e.some(a=>null!=a.replaces)?"Replace":e.length?"Remember":"Rename",path:d.path??"",lines:f,carried:e.some(a=>a.alwaysLoad)}}(a,b,e),g=f3[f.kind],h="output-error"===c;return(0,ae.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,ae.jsx)(g,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,ae.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[f.lines.map((a,b)=>(0,ae.jsxs)("div",{children:[a.before&&(0,ae.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:a.before}),a.after&&(0,ae.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:a.after})]},`${f.kind}-${b}`)),(0,ae.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[f.kind,f.path&&` \xb7 ${f.path}`,f.carried&&" · carried into every call"]}),h&&d&&(0,ae.jsx)("p",{className:"text-xs text-destructive",children:d})]}),(0,ae.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:h?(0,ae.jsx)(ap.X,{className:"size-3.5 text-destructive"}):"output-available"===c?(0,ae.jsx)(ah.Check,{className:"size-3.5"}):(0,ae.jsx)(fV.Loader2,{className:"size-3.5 animate-spin"})})]})}var f5=a.i(405050);let f6=(0,f5.createServerReference)("7fda69a255fb7c5c5fd5401dd0430ccfc6d9ebd601",f5.callServer,void 0,f5.findSourceMapURL,"addFactsAction"),f7=(0,f5.createServerReference)("7f238d60ec0427ba89cff15934ff099cbe1044619c",f5.callServer,void 0,f5.findSourceMapURL,"createNoteAction"),f8=(0,f5.createServerReference)("7fc31f84110d23b621f3e25a91911ccd4664d8643e",f5.callServer,void 0,f5.findSourceMapURL,"deleteNoteAction"),f9=(0,f5.createServerReference)("7f9a2b254168fd5502160348c9e187bc9a1f582de4",f5.callServer,void 0,f5.findSourceMapURL,"forgetFactAction"),ga=(0,f5.createServerReference)("7f147159e492165c6f3e725b6fb1e5b607e98e646a",f5.callServer,void 0,f5.findSourceMapURL,"reviseFactAction"),gb=(0,f5.createServerReference)("7f77eeed8de53bdd8bc4cea5fa47d4df68a64ffef9",f5.callServer,void 0,f5.findSourceMapURL,"setFactAlwaysLoadAction"),gc=(0,f5.createServerReference)("7f02e7db8b28f260e8681ddc98e73321c154495252",f5.callServer,void 0,f5.findSourceMapURL,"updateNoteAction");var gd=a.i(139329),ge=a.i(619477),gf=a.i(888396),gg=a.i(313237),gh=a.i(862966),gi=a.i(759497);let gj=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function gk({note:a}){let b=a.facts.filter(a=>a.alwaysLoad).length;return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[a.path," · ",a.hits," ",1===a.hits?"read":"reads"," ·"," ",a.lastReadAt?`last read ${(0,ag.formatDistanceToNowStrict)(a.lastReadAt,{addSuffix:!0})}`:"never read back"]}),b>0&&(0,ae.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[b," carried into every call"]})]})}function gl({note:a,active:b,onPick:c}){return(0,ae.jsxs)("button",{type:"button",onClick:c,className:(0,f0.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",(0,gd.isFading)(a)&&!b&&"opacity-55"),children:[(0,ae.jsx)("span",{className:(0,f0.cn)("min-w-0 flex-1 truncate text-[13px]",b&&"font-medium"),children:(0,gd.noteTitle)(a.path)}),(0,ae.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:a.factCount})]})}function gm({note:a}){let[b,c]=(0,aq.useState)(!1),[d,e]=(0,aq.useState)(""),f={onOk:()=>(0,gi.revalidate)(ar.queryKey.memory)},[g]=(0,gg.useServerAction)(gc,f),[h]=(0,gg.useServerAction)(f6,f),[i]=(0,gg.useServerAction)(ga,f),[j]=(0,gg.useServerAction)(f9,f),[k]=(0,gg.useServerAction)(gb,f),[l,m]=(0,gg.useServerAction)(f8,f),n=async()=>{let b=d.split("\n").map(a=>a.trim()).filter(Boolean);0!==b.length&&(await h(a.id,b),e(""))},o=async()=>{await av.notify.confirm({title:`Forget ${a.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&l(a.id)};return(0,ae.jsxs)("div",{className:(0,f0.cn)("flex min-h-full flex-col",(0,gd.isFading)(a)&&"opacity-55"),children:[(0,ae.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,ae.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.path}),(0,ae.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,ae.jsx)(as.Button,{size:"icon-sm",variant:b?"secondary":"ghost","aria-label":b?"Done editing":"Edit this note",onClick:()=>c(!b),children:b?(0,ae.jsx)(ah.Check,{}):(0,ae.jsx)(ak,{})}),(0,ae.jsx)(as.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:m,onClick:o,children:(0,ae.jsx)(ao.Trash2,{})})]})]}),(0,ae.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,ae.jsxs)("div",{className:"space-y-1.5",children:[(0,ae.jsx)("p",{className:"text-xl font-semibold",children:(0,gd.noteTitle)(a.path)}),b?(0,ae.jsx)(gn,{text:a.description,onCommit:async b=>{await g(a.id,{description:b})}}):(0,ae.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:a.description})]}),b?(0,ae.jsxs)("div",{className:"space-y-2",children:[a.facts.map(b=>(0,ae.jsx)(go,{text:b.text,alwaysLoad:b.alwaysLoad,onRevise:async c=>{await i(a.id,b.id,c)},onCarry:async c=>{await k(a.id,b.id,c)},onForget:async()=>{await j(a.id,b.id)}},b.id)),(0,ae.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,ae.jsx)(ay.Textarea,{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),n())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:"outline",disabled:!d.trim(),onClick:n,children:(0,ae.jsx)(an.Plus,{})})]})]}):0===a.facts.length?(0,ae.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,ae.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:a.facts.map(a=>(0,ae.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,ae.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:a.alwaysLoad?(0,ae.jsx)(am,{className:"size-3 text-foreground"}):(0,ae.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,ae.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:a.text}),(0,ae.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,ae.jsx)("span",{className:"block font-mono",children:(0,af.format)(a.createdAt,"yyyy.MM.dd")}),(0,gd.memorySourceLabel)(a.source)&&(0,ae.jsx)("span",{className:"block",children:(0,gd.memorySourceLabel)(a.source)})]})]},a.id))})]})]})}function gn({text:a,onCommit:b}){let c=(0,gf.useDraft)(a,b);return(0,ae.jsx)(au.Input,{value:c.value,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function go({text:a,alwaysLoad:b,onRevise:c,onCarry:d,onForget:e}){let f=(0,gf.useDraft)(a,c);return(0,ae.jsxs)("div",{className:"flex gap-2",children:[(0,ae.jsx)(au.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,className:"text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:b?"secondary":"ghost","aria-label":b?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>d(!b),children:(0,ae.jsx)(am,{className:(0,f0.cn)(!b&&"text-muted-foreground/60")})}),(0,ae.jsx)(as.Button,{size:"icon",variant:"ghost",onClick:e,children:(0,ae.jsx)(ap.X,{})})]})}let gp=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function gq(){return av.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,ae.jsx)(gr,{onDone:a})})}function gr({onDone:a}){let[b,c]=(0,aq.useState)("people"),[d,e]=(0,aq.useState)(""),[f,g]=(0,aq.useState)(""),[h,i]=(0,aq.useState)(""),[j,k,,l]=(0,gg.useServerAction)(f7,{errorMessage:!1,onOk:()=>{(0,gi.revalidate)(ar.queryKey.memory),a()}}),m=gp.find(a=>a.key===b),n=d.trim()&&f.trim()&&!k,o=()=>{n&&j(`${b}/${d.trim()}`,f.trim(),h.split("\n").map(a=>a.trim()).filter(Boolean))};return(0,ae.jsxs)(ge.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(as.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,ae.jsxs)(as.Button,{disabled:!n,loading:k,onClick:o,children:[!k&&(0,ae.jsx)(an.Plus,{}),"Create"]})]}),children:[(0,ae.jsxs)("div",{className:"space-y-6",children:[(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{children:"Kind"}),(0,ae.jsx)(ax.Tabs,{value:b,onValueChange:a=>c(a),children:(0,ae.jsx)(ax.TabsList,{className:"w-full",children:gp.map(a=>(0,ae.jsx)(ax.TabsTrigger,{value:a.key,children:a.label},a.key))})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,ae.jsxs)(at.FieldContent,{children:[(0,ae.jsx)(au.Input,{id:"note-name",value:d,onChange:a=>e(a.target.value),placeholder:m?.placeholder,spellCheck:!1,required:!0}),(0,ae.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[b,"/",d.trim()||"…"]})]})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,ae.jsx)(at.FieldContent,{children:(0,ae.jsx)(au.Input,{id:"note-summary",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&o(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,ae.jsx)(ay.Textarea,{id:"note-facts",value:h,onChange:a=>i(a.target.value),placeholder:`One per line
38
- ${m?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),l&&(0,ae.jsx)("p",{className:"font-mono text-xs text-destructive",children:l})]})}a.s(["MemorySetting",0,function(){let{items:a,isLoading:b,isLoadingMore:c,error:d,hasMore:e,sentinelRef:f}=(0,gh.useServerPages)({key:a=>ar.queryKey.memoryPage(a*az.PAGE_SIZE)}),[g,h]=(0,aq.useState)(null),i=a.find(a=>a.id===g)??a[0]??null;return b?(0,ae.jsx)(ge.SettingPanesSkeleton,{}):d?(0,ae.jsx)(ge.SettingError,{message:d.message}):(0,ae.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,ae.jsx)(ge.SettingPanes,{footer:i&&(0,ae.jsx)(gk,{note:i}),left:(0,ae.jsxs)("div",{className:"flex flex-col py-2",children:[(0,ae.jsxs)("button",{type:"button",onClick:gq,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,ae.jsx)(an.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),gj.map(({key:b,label:c})=>{let d=a.filter(a=>(0,gd.sectionOf)(a.path)===b);return 0===d.length?null:(0,ae.jsxs)(aq.Fragment,{children:[(0,ae.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[c,"inbox"===b&&(0,ae.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),d.map(a=>(0,ae.jsx)(gl,{note:a,active:a.id===i?.id,onPick:()=>h(a.id)},a.id))]},b)}),(0,ae.jsx)(ge.SettingMore,{hasMore:e,loading:c,sentinelRef:f,count:3,ghost:(0,ae.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,ae.jsx)(aw.Skeleton,{className:"h-3 w-28"}),(0,ae.jsx)("span",{className:"flex-1"}),(0,ae.jsx)(aw.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:i?(0,ae.jsx)(gm,{note:i},i.id):(0,ae.jsxs)("div",{className:"space-y-4 p-8",children:[(0,ae.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,ae.jsxs)(as.Button,{variant:"outline",onClick:gq,children:[(0,ae.jsx)(an.Plus,{}),"Add note"]})]})}),(0,ae.jsx)(f2,{notes:a})]})},"openMemoryCreate",0,gq],857022)},951991,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},599708,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(951991),l=a.r(325279);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(72597),await a.A(628472)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
37
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:c,cause:d,generationId:e})}};function dw(a){if(!(a instanceof Error))return!1;let b=a.code;return"string"==typeof b&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(b)}async function dx(a,b){var c;return cY.isInstance(a)?a:dw(a)?dv.createTimeoutError({originalMessage:a instanceof Error?a.message:"Unknown error",cause:a}):aG.isInstance(a)?a.cause&&dw(a.cause)?dv.createTimeoutError({originalMessage:a.message,cause:a}):await dr({response:function(a){if(void 0!==a.data)return a.data;if(null!=a.responseBody)try{return bW(a.responseBody)}catch(b){return a.responseBody}return{}}(a),statusCode:null!=(c=a.statusCode)?c:500,defaultMessage:"Gateway request failed",cause:a,authMethod:b,isRetryable:!!a.isRetryable&&(null==a.statusCode||a.statusCode<400)||void 0}):await dr({response:{},statusCode:500,defaultMessage:a instanceof Error?`Gateway request failed: ${a.message}`:"Unknown Gateway error",cause:a,authMethod:b})}var dy="ai-gateway-auth-method",dz="x-vercel-ai-gateway-team";async function dA(a){let b=await ct({value:a[dy],schema:dB});return b.success?b.value:void 0}var dB=co(()=>cr(cW.union([cW.literal("api-key"),cW.literal("oidc")]))),dC=["embedding","image","language","realtime","reranking","speech","transcription","video"],dD=class{constructor(a){this.config=a}async getAvailableModels(){try{let{value:a}=await bP({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dE),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return a}catch(a){throw await dx(a)}}async getCredits(){try{let a=new URL(this.config.baseURL),{value:b}=await bP({url:`${a.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return b}catch(a){throw await dx(a)}}},dE=co(()=>cr(cW.object({models:cW.array(cW.object({id:cW.string(),name:cW.string(),description:cW.string().nullish(),pricing:cW.object({input:cW.string(),output:cW.string(),input_cache_read:cW.string().nullish(),input_cache_write:cW.string().nullish()}).transform(({input:a,output:b,input_cache_read:c,input_cache_write:d})=>({input:a,output:b,...c?{cachedInputTokens:c}:{},...d?{cacheCreationInputTokens:d}:{}})).nullish(),specification:cW.object({specificationVersion:cW.literal("v4"),provider:cW.string(),modelId:cW.string()}),modelType:cW.string().nullish()})).transform(a=>a.filter(a=>null==a.modelType||dC.includes(a.modelType)))}))),dF=co(()=>cr(cW.object({balance:cW.string(),total_used:cW.string()}).transform(({balance:a,total_used:b})=>({balance:a,totalUsed:b})))),dG=class{constructor(a){this.config=a}async getSpendReport(a){try{let b=new URL(this.config.baseURL),c=new URLSearchParams;c.set("start_date",a.startDate),c.set("end_date",a.endDate),a.groupBy&&c.set("group_by",a.groupBy),a.datePart&&c.set("date_part",a.datePart),a.userId&&c.set("user_id",a.userId),a.model&&c.set("model",a.model),a.provider&&c.set("provider",a.provider),a.credentialType&&c.set("credential_type",a.credentialType),a.tags&&a.tags.length>0&&c.set("tags",a.tags.join(","));let{value:d}=await bP({url:`${b.origin}/v1/report?${c.toString()}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dH),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return d}catch(a){throw await dx(a)}}},dH=co(()=>cr(cW.object({results:cW.array(cW.object({day:cW.string().optional(),hour:cW.string().optional(),user:cW.string().optional(),model:cW.string().optional(),tag:cW.string().optional(),provider:cW.string().optional(),credential_type:cW.enum(["byok","system"]).optional(),total_cost:cW.number(),market_cost:cW.number().optional(),input_tokens:cW.number().optional(),output_tokens:cW.number().optional(),cached_input_tokens:cW.number().optional(),cache_creation_input_tokens:cW.number().optional(),reasoning_tokens:cW.number().optional(),request_count:cW.number().optional()}).transform(({credential_type:a,total_cost:b,market_cost:c,input_tokens:d,output_tokens:e,cached_input_tokens:f,cache_creation_input_tokens:g,reasoning_tokens:h,request_count:i,...j})=>({...j,...void 0!==a?{credentialType:a}:{},totalCost:b,...void 0!==c?{marketCost:c}:{},...void 0!==d?{inputTokens:d}:{},...void 0!==e?{outputTokens:e}:{},...void 0!==f?{cachedInputTokens:f}:{},...void 0!==g?{cacheCreationInputTokens:g}:{},...void 0!==h?{reasoningTokens:h}:{},...void 0!==i?{requestCount:i}:{}})))}))),dI=class{constructor(a){this.config=a}async getGenerationInfo(a){try{let b=new URL(this.config.baseURL),{value:c}=await bP({url:`${b.origin}/v1/generation?id=${encodeURIComponent(a.id)}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dJ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return c}catch(a){throw await dx(a)}}},dJ=co(()=>cr(cW.object({data:cW.object({id:cW.string(),total_cost:cW.number(),upstream_inference_cost:cW.number(),usage:cW.number(),created_at:cW.string(),model:cW.string(),is_byok:cW.boolean(),provider_name:cW.string(),streamed:cW.boolean(),finish_reason:cW.string(),latency:cW.number(),generation_time:cW.number(),native_tokens_prompt:cW.number(),native_tokens_completion:cW.number(),native_tokens_reasoning:cW.number(),native_tokens_cached:cW.number(),native_tokens_cache_creation:cW.number(),billable_web_search_calls:cW.number()}).transform(({total_cost:a,upstream_inference_cost:b,created_at:c,is_byok:d,provider_name:e,finish_reason:f,generation_time:g,native_tokens_prompt:h,native_tokens_completion:i,native_tokens_reasoning:j,native_tokens_cached:k,native_tokens_cache_creation:l,billable_web_search_calls:m,...n})=>({...n,totalCost:a,upstreamInferenceCost:b,createdAt:c,isByok:d,providerName:e,finishReason:f,generationTime:g,promptTokens:h,completionTokens:i,reasoningTokens:j,cachedTokens:k,cacheCreationTokens:l,billableWebSearchCalls:m}))}).transform(({data:a})=>a))),dK=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs(a){let{abortSignal:b,...c}=a;return{args:this.maybeEncodeFileParts(c),warnings:[]}}async doGenerate(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:f,value:g,rawValue:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!1),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:cF(cW.any()),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{...g,request:{body:b},response:{headers:f,body:h},warnings:c}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}async doStream(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let f,{value:g,responseHeaders:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!0),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:(f=cW.any(),async({response:a,url:b,requestBodyValues:c})=>{let d=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:d,value:cw({stream:function({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),g=!1,h=()=>{g||(f.releaseLock(),g=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(h(),a.close()):a.enqueue(c)}catch(f){if(h(),bo(f))return void a.error(f);a.error(br({error:new aG({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{h()}}})}({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d}),schema:f})}}),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{stream:g.pipeThrough(new TransformStream({start(a){c.length>0&&a.enqueue({type:"stream-start",warnings:c})},transform(b,c){if(b.success){let d=b.value;("raw"!==d.type||a.includeRawChunks)&&("response-metadata"===d.type&&d.timestamp&&"string"==typeof d.timestamp&&(d.timestamp=new Date(d.timestamp)),c.enqueue(d))}else c.error(b.error)}})),request:{body:b},response:{headers:h}}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}maybeEncodeFileParts(a){for(let b of a.prompt)if(Array.isArray(b.content)){for(let a of b.content)if("file"===a.type||"reasoning-file"===a.type)a.data=dL(a.data);else if("tool-result"===a.type&&"content"===a.output.type)for(let b of a.output.value)"file"===b.type&&(b.data=dL(b.data))}return a}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(a,b){return{"ai-language-model-specification-version":"4","ai-language-model-id":a,"ai-language-model-streaming":String(b)}}};function dL(a){if("data"===a.type){let b=a.data;if(b instanceof Uint8Array)return{...a,data:Buffer.from(b).toString("base64")}}return a}var dM=class a extends dK{static[bb](a){return dK[bb](a)}static[bc](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:b,headers:c,abortSignal:d,webhookUrl:e}){var f;let g=this.config.headers?await cB(this.config.headers):void 0,h=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b.idempotencyKey;return"string"==typeof c&&c.length>0?c:void 0}(b),i=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b)||!("idempotencyKey"in b))return a;let{idempotencyKey:c,...d}=b,e={...a};if(0===Object.keys(d).length?delete e.gateway:e.gateway=d,0!==Object.keys(e).length)return e}(b);try{let{value:b}=await cy({url:this.getBatchUrl("start"),headers:bd(g,c,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders),null!=h?{"idempotency-key":h}:void 0),body:{...null!=e&&{callbackUrl:e},modelId:this.modelId,requests:a.map(a=>({id:a.id,options:this.maybeEncodeFileParts(a.options)})),...null!=i&&{providerOptions:i}},successfulResponseHandler:cF(dV),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{batchId:b.batchId,...dO(b),warnings:null!=(f=b.warnings)?f:[]}}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=g?g:{}))}}async experimental_doGetBatchStatus({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{let{value:e}=await cy({url:this.getBatchUrl("status"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:cF(dW),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return dO(e)}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}async experimental_doGetBatchResults({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{var e;let f,{value:g}=await cy({url:this.getBatchUrl("results"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:async({response:a})=>{let b=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:b,value:cG({stream:a.body,schema:dQ})}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return e=dP(g),f=!1,new ReadableStream({async pull(a){if(!f)try{let{value:b,done:c}=await e.next();c?a.close():a.enqueue(b)}catch(b){a.error(b)}},async cancel(a){if(f=!0,e.return)try{await e.return(a)}catch(a){}}})}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}getBatchUrl(a){return`${this.config.baseURL}/batch/${a}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function dN(a){return!!(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"TimeoutError"===a.name)}function dO(a){var b,c,d,e;let f=function({total:a,pending:b,completed:c,failed:d}){if(bS(a)&&bS(b)&&bS(c)&&bS(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}}({total:null==(b=a.requestCounts)?void 0:b.total,pending:null==(c=a.requestCounts)?void 0:c.pending,completed:null==(d=a.requestCounts)?void 0:d.completed,failed:null==(e=a.requestCounts)?void 0:e.failed});return{status:a.status,...null!=a.rawStatus&&{rawStatus:a.rawStatus},...null!=f&&{requestCounts:f},...null!=a.error&&{error:{message:a.error.message,...null!=a.error.type&&{type:a.error.type},...null!=a.error.code&&{code:a.error.code},...null!=a.error.statusCode&&{statusCode:a.error.statusCode}}},...null!=a.createdAt&&{createdAt:a.createdAt},...null!=a.expiresAt&&{expiresAt:a.expiresAt},...null!=a.providerMetadata&&{providerMetadata:a.providerMetadata}}}async function*dP(a){var b;for await(let c of a){if("succeeded"===c.status){let a=null==(b=c.result)?void 0:b.response;void 0!==a&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp))}yield c}}var dQ=cW.object({id:cW.string(),status:cW.enum(["cancelled","expired","failed","succeeded"])}).catchall(cW.unknown()),dR=cW.object({message:cW.string(),type:cW.string().nullish(),code:cW.string().nullish(),statusCode:cW.number().nullish()}),dS=cW.object({total:cW.number().nullish(),pending:cW.number().nullish(),completed:cW.number().nullish(),failed:cW.number().nullish()}),dT=cW.record(cW.string(),cW.record(cW.string(),cW.unknown())),dU=cW.object({status:cW.enum(["completed","failed","pending"]),rawStatus:cW.string().nullish(),requestCounts:dS.nullish(),error:dR.nullish(),createdAt:cW.string().nullish(),expiresAt:cW.string().nullish(),providerMetadata:dT.nullish()}),dV=dU.extend({batchId:cW.string(),warnings:cW.array(cW.object({requestId:cW.string().nullish(),warning:cW.unknown()}).catchall(cW.unknown())).nullish()}),dW=dU,dX=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:c,providerOptions:d}){var e,f;let g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i,rawValue:j}=await cy({url:this.getUrl(),headers:bd(g,null!=b?b:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{values:a,...d?{providerOptions:d}:{}},successfulResponseHandler:cF(dZ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(e=i.usage)?e:void 0,providerMetadata:i.providerMetadata,response:{headers:h,body:j},warnings:null!=(f=i.warnings)?f:[]}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},dY=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),dZ=co(()=>cr(cW.object({embeddings:cW.array(cW.array(cW.number())),usage:cW.object({tokens:cW.number()}).nullish(),warnings:cW.array(dY).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),d$=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,files:f,mask:g,providerOptions:h,headers:i,abortSignal:j}){var k,l,m,n;let o=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:p,value:q}=await cy({url:this.getUrl(),headers:bd(o,null!=i?i:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{prompt:a,n:b,...c&&{size:c},...d&&{aspectRatio:d},...e&&{seed:e},...h&&{providerOptions:h},...f&&{files:f.map(a=>d_(a))},...g&&{mask:d_(g)}},successfulResponseHandler:cF(d3),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...j&&{abortSignal:j},fetch:this.config.fetch});return{images:q.images,warnings:null!=(k=q.warnings)?k:[],providerMetadata:q.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p},...null!=q.usage&&{usage:{inputTokens:null!=(l=q.usage.inputTokens)?l:void 0,outputTokens:null!=(m=q.usage.outputTokens)?m:void 0,totalTokens:null!=(n=q.usage.totalTokens)?n:void 0}}}}catch(a){throw await dx(a,await dA(null!=o?o:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function d_(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d0=cW.object({images:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d1=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d2=cW.object({inputTokens:cW.number().nullish(),outputTokens:cW.number().nullish(),totalTokens:cW.number().nullish()}),d3=cW.object({images:cW.array(cW.string()),warnings:cW.array(d1).optional(),providerMetadata:cW.record(cW.string(),d0).optional(),usage:d2.optional()}),d4=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(a){var b,c;let{headers:d,abortSignal:e}=a,f=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:g,value:h}=await cy({url:this.getUrl(),headers:bd(f,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(a),successfulResponseHandler:async({response:a,url:b,requestBodyValues:c})=>{if(null==a.body)throw new aG({message:"SSE response body is empty",url:b,requestBodyValues:c,statusCode:a.status});let d=cw({stream:a.body,schema:d9}).getReader(),{done:e,value:f}=await d.read();if(d.releaseLock(),e||!f)throw new aG({message:"SSE stream ended without a data event",url:b,requestBodyValues:c,statusCode:a.status});if(!f.success)throw new aG({message:"Failed to parse video SSE event",cause:f.error,url:b,requestBodyValues:c,statusCode:a.status});let g=f.value;if("error"===g.type)throw new aG({message:g.message,statusCode:g.statusCode,url:b,requestBodyValues:c,responseHeaders:Object.fromEntries([...a.headers]),responseBody:JSON.stringify(g),data:{error:{message:g.message,type:g.errorType,param:g.param}}});return{value:{videos:g.videos,warnings:g.warnings,providerMetadata:g.providerMetadata},responseHeaders:Object.fromEntries([...a.headers])}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{videos:h.videos,warnings:null!=(b=h.warnings)?b:[],providerMetadata:null!=(c=h.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:g}}}catch(a){throw await dx(a,await dA(null!=f?f:{}))}}async handleWebhookOption({webhook:a}){let{url:b,received:c}=await a();return{webhookUrl:b,received:c}}async doStart(a){var b,c;let{headers:d,abortSignal:e,webhookUrl:f}=a,g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i}=await cy({url:this.getStartUrl(),headers:bd(g,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{...this.buildRequestBody(a),...f&&{callbackUrl:f}},successfulResponseHandler:cF(ea),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{operation:i.operation,warnings:null!=(b=i.warnings)?b:[],providerMetadata:null!=(c=i.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}async doStatus({operation:a,abortSignal:b,headers:c}){var d,e,f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l}=await cy({url:this.getStatusUrl(),headers:bd(j,null!=c?c:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{operation:a},successfulResponseHandler:cF(eb),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...b&&{abortSignal:b},fetch:this.config.fetch}),m={timestamp:new Date,modelId:this.modelId,headers:k};if("completed"===l.status)return{status:"completed",videos:l.videos,warnings:null!=(d=l.warnings)?d:[],providerMetadata:null!=(e=l.providerMetadata)?e:void 0,response:m};if("error"===l.status)return{status:"error",error:l.error,providerMetadata:null!=(f=l.providerMetadata)?f:void 0,response:m};if("cancelled"===l.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(g=l.providerMetadata)?g:void 0,response:m};return{status:"pending",warnings:null!=(h=l.warnings)?h:[],providerMetadata:null!=(i=l.providerMetadata)?i:void 0,response:m}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}buildRequestBody({prompt:a,n:b,aspectRatio:c,resolution:d,duration:e,fps:f,seed:g,generateAudio:h,image:i,frameImages:j,inputReferences:k,providerOptions:l}){return{prompt:a,n:b,...c&&{aspectRatio:c},...d&&{resolution:d},...e&&{duration:e},...f&&{fps:f},...g&&{seed:g},...void 0!==h&&{generateAudio:h},...l&&{providerOptions:l},...i&&{image:d5(i)},...j&&{frameImages:j.map(a=>({...a,image:d5(a.image)}))},...k&&{inputReferences:k.map(a=>d5(a))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function d5(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d6=cW.object({videos:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d7=cW.union([cW.object({type:cW.literal("url"),url:cW.string(),mediaType:cW.string()}),cW.object({type:cW.literal("base64"),data:cW.string(),mediaType:cW.string()})]),d8=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d9=cW.discriminatedUnion("type",[cW.object({type:cW.literal("result"),videos:cW.array(d7),warnings:cW.array(d8).optional(),providerMetadata:cW.record(cW.string(),d6).optional()}),cW.object({type:cW.literal("error"),message:cW.string(),errorType:cW.string(),statusCode:cW.number(),param:cW.unknown().nullable()})]),ea=cW.object({operation:cW.unknown(),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),eb=cW.discriminatedUnion("status",[cW.object({status:cW.literal("pending"),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("completed"),videos:cW.array(d7),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("error"),error:cW.string(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("cancelled"),providerMetadata:cW.record(cW.string(),d6).nullish()})]),ec=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:a,query:b,topN:c,headers:d,abortSignal:e,providerOptions:f}){var g;let h=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:i,value:j,rawValue:k}=await cy({url:this.getUrl(),headers:bd(h,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{documents:a,query:b,...null!=c?{topN:c}:{},...f?{providerOptions:f}:{}},successfulResponseHandler:cF(ee),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{ranking:j.ranking,providerMetadata:j.providerMetadata,response:{headers:i,body:k},warnings:null!=(g=j.warnings)?g:[]}}catch(a){throw await dx(a,await dA(null!=h?h:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},ed=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ee=co(()=>cr(cW.object({ranking:cW.array(cW.object({index:cW.number(),relevanceScore:cW.number()})),warnings:cW.array(ed).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),ef=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:a,voice:b,outputFormat:c,instructions:d,speed:e,language:f,providerOptions:g,headers:h,abortSignal:i}){var j;let k=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:l,value:m,rawValue:n}=await cy({url:this.getUrl(),headers:bd(k,null!=h?h:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{text:a,...b&&{voice:b},...c&&{outputFormat:c},...d&&{instructions:d},...null!=e&&{speed:e},...f&&{language:f},...g&&{providerOptions:g}},successfulResponseHandler:cF(ei),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{audio:m.audio,warnings:null!=(j=m.warnings)?j:[],providerMetadata:m.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:l,body:n}}}catch(a){throw await dx(a,await dA(null!=k?k:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},eg=cW.object({}).catchall(cW.unknown()),eh=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ei=cW.object({audio:cW.string(),warnings:cW.array(eh).optional(),providerMetadata:cW.record(cW.string(),eg).optional()}),ej=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:a,mediaType:b,providerOptions:c,headers:d,abortSignal:e}){var f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l,rawValue:m}=await cy({url:this.getUrl(),headers:bd(j,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{audio:a instanceof Uint8Array?bl(a):a,mediaType:b,...c&&{providerOptions:c}},successfulResponseHandler:cF(en),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{text:l.text,segments:null!=(f=l.segments)?f:[],language:null!=(g=l.language)?g:void 0,durationInSeconds:null!=(h=l.durationInSeconds)?h:void 0,warnings:null!=(i=l.warnings)?i:[],providerMetadata:l.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:k,body:m}}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}async doStream(a){var b,c,d,e,f;let g,h,i,j=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,k=bd(await cB(null!=(e=this.config.headers)?e:{}),null!=(f=a.headers)?f:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),l=await dA(k),m={type:"transcription-stream.start",inputAudioFormat:a.inputAudioFormat,...null!=a.providerOptions&&{providerOptions:a.providerOptions},...null!=a.includeRawChunks&&{includeRawChunks:a.includeRawChunks}};return{stream:function({webSocket:a,url:b,protocols:c,headers:d,startFrame:e,audio:f,abortSignal:g,authMethod:h}){let i=!1,j=()=>{};return new ReadableStream({start:k=>{let l,m,n,o=!1,p=!1;j=a=>{null!=l?l.cancel().catch(()=>{}):f.cancel().catch(()=>{}),null==n||n.close(a)};let q=a=>{i||(i=!0,j(),eo(k,a,h))},r=async a=>{let b=f.getReader();l=b;try{for(;;){let{done:c,value:d}=await b.read();if(c||i)break;let e="string"==typeof d?function(a){let b=bk(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}(d):d;for(let b=0;b<e.length&&!i;b+=65536)a.send(e.subarray(b,b+65536)),await bi(a)}}finally{b.releaseLock(),l===b&&(l=void 0)}i||p||a.send(JSON.stringify({type:"transcription-stream.audio-done"}))};n=function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>bh(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}}({url:b,protocols:c,headers:d,webSocket:a,abortSignal:g,onAbort:a=>{i||(i=!0,j(),k.error(a))},onProcessingError:q,onOpen:a=>{a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:a=>{if(i)return;let b=function(a){let b;try{b=bW(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(cQ)?c:void 0;case"transcript-delta":return cN(c.delta)&&cP(c.id,cN)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-partial":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.durationInSeconds,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-final":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.endSecond,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"finish":return cN(c.text)&&Array.isArray(c.segments)&&c.segments.every(cR)&&cP(c.language,cN)&&cP(c.durationInSeconds,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"response-metadata":{if(!(cP(c.modelId,cN)&&cP(c.headers,bQ)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}}(a);if(null!=b){if("finish"===b.type){i=!0,k.enqueue(b),k.close(),j(1e3);return}"error"===b.type&&(o=!0,m=b.error,p=!0,null!=l?(l.cancel().catch(()=>{}),l=void 0):f.cancel().catch(()=>{})),k.enqueue(b)}},onSocketError:()=>{q(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(o){if(i)return;eq(m,h).then(q);return}q(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{i||(i=!0,j())}})}({webSocket:this.config.webSocket,url:ek(this.config.baseURL,this.modelId),protocols:null==(i=(null==(h=(g=bt(k)).authorization)?void 0:h.startsWith("Bearer "))?h.slice(7):void 0)?[cU]:cV(cU,i,{teamIdOrSlug:g[dz]}),headers:k,startFrame:m,audio:a.audio,abortSignal:a.abortSignal,authMethod:l}),request:{body:m},response:{timestamp:j,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function ek(a,b){let c=new URL(`${a.replace(/^http/,"ws")}/transcription-model`);return c.searchParams.set("ai-model-id",b),c.toString()}var el=cW.object({}).catchall(cW.unknown()),em=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),en=cW.object({text:cW.string(),segments:cW.array(cW.object({text:cW.string(),startSecond:cW.number(),endSecond:cW.number()})).optional(),language:cW.string().nullish(),durationInSeconds:cW.number().nullish(),warnings:cW.array(em).optional(),providerMetadata:cW.record(cW.string(),el).optional()});async function eo(a,b,c){a.error(await dx(b,c))}var ep={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function eq(a,b){return"object"==typeof a&&null!=a&&"message"in a&&"string"==typeof a.message&&"type"in a&&"string"==typeof a.type&&a.type in ep?dr({response:{error:{message:a.message,type:a.type}},statusCode:ep[a.type],authMethod:b}):Error(`AI Gateway transcription stream failed: ${null!=a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:aL(a)}`)}var er=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=await this.config.createClientSecret({modelId:this.modelId,...(null==a?void 0:a.expiresAfterSeconds)!=null&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:e.token,url:(b=this.config.baseURL,c=this.modelId,(d=new URL(`${b.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",c),d.toString()),...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}getWebSocketConfig(a){return{url:a.url,protocols:cV("ai-gateway-realtime.v1",a.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(a){return a}serializeClientEvent(a){return a}buildSessionConfig(a){return a}},es=cA({id:"gateway.exa_search",inputSchema:co(()=>cr(cW.object({query:cW.string().describe("Natural-language web search query. This is required."),type:cW.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:cW.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:cW.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:cW.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains."),start_published_date:cW.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:cW.string().optional().describe("Only return links published before this ISO 8601 date."),contents:cW.object({text:cW.union([cW.boolean(),cW.object({max_characters:cW.number().optional(),include_html_tags:cW.boolean().optional(),verbosity:cW.enum(["compact","standard","full"]).optional(),include_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:cW.union([cW.boolean(),cW.object({query:cW.string().optional(),max_characters:cW.number().optional()})]).optional(),max_age_hours:cW.number().optional(),livecrawl_timeout:cW.number().optional(),subpages:cW.number().optional(),subpage_target:cW.union([cW.string(),cW.array(cW.string())]).optional(),extras:cW.object({links:cW.number().optional(),image_links:cW.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({requestId:cW.string(),searchType:cW.string().optional(),resolvedSearchType:cW.string().optional(),results:cW.array(cW.object({title:cW.string(),url:cW.string(),id:cW.string(),publishedDate:cW.string().nullable().optional(),author:cW.string().nullable().optional(),image:cW.string().nullable().optional(),favicon:cW.string().nullable().optional(),text:cW.string().optional(),highlights:cW.array(cW.string()).optional(),highlightScores:cW.array(cW.number()).optional(),summary:cW.string().optional(),subpages:cW.array(cW.any()).optional(),extras:cW.object({links:cW.array(cW.string()).optional(),imageLinks:cW.array(cW.string()).optional()}).optional()})),costDollars:cW.object({total:cW.number().optional(),search:cW.record(cW.string(),cW.number()).optional()}).optional()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),et=cA({id:"gateway.parallel_search",inputSchema:co(()=>cr(cW.object({objective:cW.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:cW.array(cW.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:cW.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:cW.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:cW.object({include_domains:cW.array(cW.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:cW.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:cW.object({max_chars_per_result:cW.number().optional().describe("Maximum characters per result."),max_chars_total:cW.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:cW.object({max_age_seconds:cW.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({searchId:cW.string(),results:cW.array(cW.object({url:cW.string(),title:cW.string(),excerpt:cW.string(),publishDate:cW.string().nullable().optional(),relevanceScore:cW.number().optional()}))}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eu=cA({id:"gateway.perplexity_search",inputSchema:co(()=>cr(cW.object({query:cW.union([cW.string(),cW.array(cW.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:cW.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:cW.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:cW.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:cW.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:cW.array(cW.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:cW.array(cW.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:cW.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:cW.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:cW.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:cW.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:cW.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:co(()=>cr(cW.union([cW.object({results:cW.array(cW.object({title:cW.string(),url:cW.string(),snippet:cW.string(),date:cW.string().optional(),lastUpdated:cW.string().optional()})),id:cW.string()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),ev=cW.object({count:cW.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:cW.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:cW.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:cW.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:cW.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:cW.array(cW.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:cW.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),ew=cW.object({count:cW.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:cW.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:cW.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these bare domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:cW.number().optional().describe("Maximum characters in each web-result snippet."),highlights:cW.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:cW.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:cW.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:cW.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ex=co(()=>cr(cW.object({query:cW.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:cW.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:cW.object({data:ev.optional(),web:ew.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:cW.object({latitude:cW.number().describe("Latitude between -90 and 90."),longitude:cW.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:cW.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:cW.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:cW.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:cW.object({image_dark_mode:cW.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:cW.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:cW.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),ey=cW.union([cW.boolean(),cW.number(),cW.string()]).nullable(),ez=cW.object({content_format:cW.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:cW.number().optional(),data:cW.string().nullish(),records:cW.array(cW.record(cW.string(),ey)).nullish(),dataset:cW.object({columns:cW.array(cW.object({name:cW.string(),type:cW.enum(["boolean","date","datetime","number","string"]),unit:cW.string().nullish()})),rows:cW.array(cW.array(ey)),total_rows:cW.number(),truncated:cW.boolean(),ref:cW.string(),sources:cW.array(cW.object({name:cW.string(),index:cW.enum(["data","web"]).optional()})),provenance:cW.enum(["query","web_extraction"]).optional()}).nullish(),card_data:cW.object({}).passthrough().nullish(),card_data_schema:cW.object({}).passthrough().nullish(),url:cW.string().nullish(),expires_at:cW.string().nullish(),total_rows:cW.number().nullish(),truncated:cW.boolean().optional(),export_pricing:cW.object({baseline_usd:cW.number(),free_rows:cW.number(),max_rows_ceiling:cW.number(),row_cpm_usd:cW.number()}).nullish(),manifest:cW.array(cW.object({dtype:cW.enum(["boolean","date","datetime","number","string"]).nullish(),entity:cW.string().nullish(),metric:cW.string().nullish(),name:cW.string().nullish(),unit:cW.string().nullish()})).nullish()}).passthrough(),eA=cW.object({card_id:cW.string().nullish(),title:cW.string().nullish(),description:cW.string().nullish(),semantic_description:cW.string().nullish(),webpage_url:cW.string().nullish(),image_url:cW.string().nullish(),embed_url:cW.string().nullish(),sources:cW.array(cW.object({source_name:cW.string().nullish(),source_description:cW.string().nullish(),source_index:cW.enum(["data","web"]),source_text:cW.string().nullish(),url:cW.string().nullish()})).nullish(),methodologies:cW.array(cW.object({methodology_name:cW.string().nullable(),methodology_description:cW.string().nullable()})).nullish(),source_indexes:cW.array(cW.enum(["data","web"])).nullish(),card_type:cW.string().nullish(),relevance:cW.enum(["High","Low","Medium"]).nullish(),content:ez.nullish(),exportable:cW.boolean().optional(),nodes:cW.array(cW.object({id:cW.string(),type:cW.enum(["entity","metric"]),name:cW.string(),description:cW.string().nullish()})).nullish(),metric_definitions:cW.array(cW.object({name:cW.string(),definition:cW.string()})).nullish(),data_freshness:cW.object({coverage_end:cW.string().nullish(),data_as_of:cW.string().nullish(),last_updated:cW.string().nullish()}).nullish()}).passthrough(),eB=cW.object({title:cW.string(),url:cW.string(),snippet:cW.string().nullish(),source_name:cW.string().nullish(),publish_date:cW.string().nullish(),content:ez.nullish()}).passthrough(),eC=cA({id:"gateway.tako_search",inputSchema:ex,outputSchema:co(()=>cr(cW.union([cW.object({request_id:cW.string(),cards:cW.array(eA).optional(),web_results:cW.array(eB).optional(),usage:cW.object({total_cost_usd:cW.number(),compute:cW.object({cost_usd:cW.number()}).nullish(),data:cW.object({cost_usd:cW.number(),datasets:cW.number()}).nullish()}).nullish(),related:cW.array(cW.object({}).passthrough()).nullish()}).passthrough(),cW.object({error:cW.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eD={exaSearch:(a={})=>es(a),parallelSearch:(a={})=>et(a),perplexitySearch:(a={})=>eu(a),takoSearch:(a={})=>eC(a)};async function eE(){var a;return null==(a=(0,cT.getContext)().headers)?void 0:a["x-vercel-id"]}var eF=cW.object({token:cW.string(),expiresAt:cW.number().nullish()});async function eG(a){let b=bR({settingValue:a.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return b?{token:b,authMethod:"api-key"}:{token:await (0,cT.getVercelOidcToken)(),authMethod:"oidc"}}!function(a={}){var b,c,d;let e=null,f=null,g=null!=(b=a.metadataCacheRefreshMillis)?b:3e5,h=0,i=null!=(c=null==(d=a.baseURL)?void 0:d.replace(/\/$/,""))?c:"https://ai-gateway.vercel.sh/v4/ai",j=b=>bu({Authorization:`Bearer ${b.token}`,"ai-gateway-protocol-version":"0.0.1",[dy]:b.authMethod,...null!=a.teamIdOrSlug?{[dz]:a.teamIdOrSlug}:{},...a.headers},"ai-sdk/gateway/4.0.75"),k=async()=>{try{return j(await eG(a))}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},l=async()=>{try{return await eG(a)}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},m=async b=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let c=j(await l()),d=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:e}=await cy({url:d,headers:c,body:{model:b.modelId,...null!=b.routeKind&&{routeKind:b.routeKind},...null!=b.expiresAfterSeconds&&{expiresIn:b.expiresAfterSeconds}},successfulResponseHandler:cF(eF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:a.fetch});return{token:e.token,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}catch(a){throw await dx(a,await dA(c))}},n=()=>{let a=bR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),b=bR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),c=bR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),d=bR({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let e=await eE();return{...a&&{"ai-o11y-deployment-id":a},...b&&{"ai-o11y-environment":b},...c&&{"ai-o11y-region":c},...e&&{"ai-o11y-request-id":e},...d&&{"ai-o11y-project-id":d}}}},o=b=>new dM(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),p=async()=>{var b,c,d;let j=null!=(d=null==(c=null==(b=a._internal)?void 0:b.currentDate)?void 0:c.call(b).getTime())?d:Date.now();return(!e||j-h>g)&&(h=j,e=new dD({baseURL:i,headers:k,fetch:a.fetch}).getAvailableModels().then(a=>(f=a,a)).catch(async a=>{throw await dx(a,await dA(await k()))})),f?Promise.resolve(f):e},q=async()=>new dD({baseURL:i,headers:k,fetch:a.fetch}).getCredits().catch(async a=>{throw await dx(a,await dA(await k()))}),r=async b=>new dG({baseURL:i,headers:k,fetch:a.fetch}).getSpendReport(b).catch(async a=>{throw await dx(a,await dA(await k()))}),s=async b=>new dI({baseURL:i,headers:k,fetch:a.fetch}).getGenerationInfo(b).catch(async a=>{throw await dx(a,await dA(await k()))}),t=function(a){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return o(a)};t.specificationVersion="v4",t.getAvailableModels=p,t.getCredits=q,t.getSpendReport=r,t.getGenerationInfo=s,t.imageModel=b=>new d$(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),t.languageModel=o;let u=b=>new dX(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.embeddingModel=u,t.textEmbeddingModel=u,t.videoModel=b=>new d4(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});let v=b=>new ec(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.rerankingModel=v,t.reranking=v;let w=b=>new ef(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.speechModel=w,t.speech=w;let x=b=>new ej(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n(),webSocket:a.webSocket});t.transcriptionModel=x,t.transcription=x,t.experimental_transcription=Object.assign(a=>x(a),{getToken:async a=>{let b=await m({modelId:a.model,routeKind:"transcription",...null!=a.expiresAfterSeconds&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:b.token,url:ek(i,a.model),...null!=b.expiresAt&&{expiresAt:b.expiresAt}}}});let y=b=>new er(b,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:a.teamIdOrSlug,createClientSecret:m});t.experimental_realtime=Object.assign(a=>y(a),{getToken:async a=>{let{model:b,...c}=a,d=y(b),e=await d.doCreateClientSecret(c);return{token:e.token,url:e.url,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}}),t.chat=t.languageModel,t.embedding=t.embeddingModel,t.image=t.imageModel,t.video=t.videoModel,t.tools=eD}();var eH=Object.defineProperty,eI="AI_InvalidArgumentError",eJ=`vercel.ai.error.${eI}`,eK=Symbol.for(eJ),eL=class extends(R=aC,Q=eK,R){constructor({parameter:a,value:b,message:c}){super({name:eI,message:`Invalid argument for parameter ${a}: ${c}`}),this[Q]=!0,this.parameter=a,this.value=b}static isInstance(a){return aC.hasMarker(a,eJ)}},eM=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var eN="AI_NoObjectGeneratedError",eO=`vercel.ai.error.${eN}`,eP=Symbol.for(eO),eQ=class extends(T=aC,S=eP,T){constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:eN,message:a,cause:b}),this[S]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return aC.hasMarker(a,eO)}},eR=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var eS="AI_UIMessageStreamError",eT=`vercel.ai.error.${eS}`,eU=Symbol.for(eT),eV=class extends(V=aC,U=eU,V){constructor({chunkType:a,chunkId:b,message:c}){super({name:eS,message:c}),this[U]=!0,this.chunkType=a,this.chunkId=b}static isInstance(a){return aC.hasMarker(a,eT)}},eW=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var eX=async({url:a,maxBytes:b,abortSignal:c})=>{var d;let e=a.toString();try{let a=bu({},"ai-sdk/7.0.93",bn()),f=await bL({url:e,headers:a,abortSignal:c});if(!f.ok)throw await bv(f),new bz({url:e,statusCode:f.status,statusText:f.statusText});return{data:await bM({response:f,url:e,maxBytes:null!=b?b:0x80000000}),mediaType:null!=(d=f.headers.get("content-type"))?d:void 0}}catch(a){if(bz.isInstance(a))throw a;throw new bz({url:e,cause:a})}},eY={array:cS.array,boolean:cS.boolean,custom:cS.custom,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,instanceof:cS.instanceof,lazy:cS.lazy,literal:cS.literal,looseObject:cS.looseObject,never:cS.never,null:cS.null,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},eZ=eY.lazy(()=>eY.union([eY.null(),eY.string(),eY.number(),eY.boolean(),eY.record(eY.string(),eZ.optional()),eY.array(eZ)])),e$=eY.record(eY.string(),eY.record(eY.string(),eZ.optional())),e_=eY.union([eY.string(),eY.instanceof(Uint8Array),eY.instanceof(ArrayBuffer),eY.custom(function(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]),e0=eY.record(eY.string(),eY.string()),e1=eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),e2=eY.object({type:eY.literal("image"),image:eY.union([e_,eY.instanceof(URL),e0]),mediaType:eY.string().optional(),providerOptions:e$.optional()}),e3=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)}),eY.object({type:eY.literal("reference"),reference:e0}),eY.object({type:eY.literal("text"),text:eY.string()})]),e4=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)})]),e5=eY.object({type:eY.literal("file"),data:eY.union([e3,e_,eY.instanceof(URL),e0]),filename:eY.string().optional(),mediaType:eY.string(),providerOptions:e$.optional()}),e6=eY.object({type:eY.literal("reasoning"),text:eY.string(),providerOptions:e$.optional()}),e7=eY.object({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerOptions:e$.optional()}),e8=eY.object({type:eY.literal("reasoning-file"),data:eY.union([e4,e_,eY.instanceof(URL)]),mediaType:eY.string(),providerOptions:e$.optional()}),e9=eY.object({type:eY.literal("tool-call"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerOptions:e$.optional(),providerExecuted:eY.boolean().optional()}),fa=eY.discriminatedUnion("type",[eY.object({type:eY.literal("text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("execution-denied"),reason:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("content"),value:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file"),data:e3,mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-data"),data:eY.string(),mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-url"),url:eY.string(),mediaType:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-data"),data:eY.string(),mediaType:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-url"),url:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("custom"),providerOptions:e$.optional()})]))})]),fb=eY.object({type:eY.literal("tool-result"),toolCallId:eY.string(),toolName:eY.string(),output:fa,providerOptions:e$.optional()}),fc=eY.object({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),reason:eY.string().optional()}),fd=eY.object({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional()}),fe=eY.object({role:eY.literal("system"),content:eY.string(),providerOptions:e$.optional()}),ff=eY.object({role:eY.literal("user"),content:eY.union([eY.string(),eY.array(eY.union([e1,e2,e5]))]),providerOptions:e$.optional()}),fg=eY.object({role:eY.literal("assistant"),content:eY.union([eY.string(),eY.array(eY.union([e1,e7,e5,e6,e8,e9,fb,fc]))]),providerOptions:e$.optional()}),fh=eY.object({role:eY.literal("tool"),content:eY.array(eY.union([fb,fd])),providerOptions:e$.optional()});eY.union([fe,ff,fg,fh]);var fi={},fj={array:()=>fo,choice:()=>fr,json:()=>fs,object:()=>fn,text:()=>fm};for(var fk in fj)eH(fi,fk,{get:fj[fk],enumerable:!0});async function fl(a){if(void 0===a)return{value:void 0,state:"undefined-input"};let b=await cv({text:a});return b.success?{value:b.value,state:"successful-parse"}:(b=await cv({text:function(a){let b=["ROOT"],c=-1,d=null,e=0;function f(a,e,f){switch(a){case'"':c=e,b.pop(),b.push(f),b.push("INSIDE_STRING");break;case"f":case"t":case"n":c=e,d=e,b.pop(),b.push(f),b.push("INSIDE_LITERAL");break;case"-":b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=e,b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"{":c=e,b.pop(),b.push(f),b.push("INSIDE_OBJECT_START");break;case"[":c=e,b.pop(),b.push(f),b.push("INSIDE_ARRAY_START")}}function g(a,d){switch(a){case",":b.pop(),b.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":c=d,b.pop()}}function h(a,d){switch(a){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=d,b.pop()}}for(let i=0;i<a.length;i++){let j=a[i];switch(b[b.length-1]){case"ROOT":f(j,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(j){case'"':b.pop(),b.push("INSIDE_OBJECT_KEY");break;case"}":c=i,b.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===j&&(b.pop(),b.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":f(j,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":g(j,i);break;case"INSIDE_STRING":switch(j){case'"':b.pop(),c=i;break;case"\\":b.push("INSIDE_STRING_ESCAPE");break;default:c=i}break;case"INSIDE_ARRAY_START":"]"===j?(c=i,b.pop()):(c=i,f(j,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(j){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=i,b.pop();break;default:c=i}break;case"INSIDE_ARRAY_AFTER_COMMA":f(j,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":b.pop(),"u"===j?(e=0,b.push("INSIDE_STRING_UNICODE_ESCAPE")):c=i;break;case"INSIDE_STRING_UNICODE_ESCAPE":(j>="0"&&j<="9"||j>="A"&&j<="F"||j>="a"&&j<="f")&&4==++e&&(b.pop(),c=i);break;case"INSIDE_NUMBER":switch(j){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=i;break;case"e":case"E":case"-":case".":break;case",":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"}":b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"]":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i);break;default:b.pop()}break;case"INSIDE_LITERAL":{let e=a.substring(d,i+1);"false".startsWith(e)||"true".startsWith(e)||"null".startsWith(e)?c=i:(b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]?g(j,i):"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i))}}}let i=a.slice(0,c+1);for(let c=b.length-1;c>=0;c--)switch(b[c]){case"INSIDE_STRING":i+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let b=a.substring(d,a.length);"true".startsWith(b)?i+="true".slice(b.length):"false".startsWith(b)?i+="false".slice(b.length):"null".startsWith(b)&&(i+="null".slice(b.length))}}return i}(a)})).success?{value:b.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var fm=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:a})=>a,parsePartialOutput:async({text:a})=>({partial:a}),createElementStreamTransform(){}}),fn=({schema:a,name:b,description:c})=>{let d=cq(a);return{name:"object",responseFormat:cB(d.jsonSchema).then(a=>({type:"json",schema:a,...null!=b&&{name:b},...null!=c&&{description:c}})),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});let e=await ct({value:c.value,schema:d});if(!e.success)throw new eQ({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return e.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value}}},createElementStreamTransform(){}}},fo=({element:a,minItems:b,maxItems:c,name:d,description:e})=>{if(fp({name:"minItems",value:b}),fp({name:"maxItems",value:c}),null!=b&&null!=c&&b>c)throw new eL({parameter:"minItems",value:b,message:"minItems must be less than or equal to maxItems"});let f=cq(a);return{name:"array",responseFormat:cB(f.jsonSchema).then(a=>{let{$schema:f,definitions:g,$defs:h,...i}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=g&&{definitions:g},...null!=h&&{$defs:h},type:"object",properties:{elements:{type:"array",items:i,...null!=b&&{minItems:b},...null!=c&&{maxItems:c}}},required:["elements"],additionalProperties:!1},...null!=d&&{name:d},...null!=e&&{description:e}}}),async parseCompleteOutput({text:a},d){let e=await cv({text:a});if(!e.success)throw new eQ({message:"No object generated: could not parse the response.",cause:e.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let g=e.value;if(null==g||"object"!=typeof g||!("elements"in g)||!Array.isArray(g.elements))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:g,cause:"response must be an object with an elements array"}),text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let h=fq({value:g.elements,minItems:b,maxItems:c});if(null!=h)throw new eQ({message:"No object generated: response did not match schema.",cause:h,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let i=[];for(let b of g.elements){let c=await ct({value:b,schema:f});if(!c.success)throw new eQ({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});i.push(c.value)}return i},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=b.value;if(null==a||"object"!=typeof a||!("elements"in a)||!Array.isArray(a.elements))return;let c="repaired-parse"===b.state&&a.elements.length>0?a.elements.slice(0,-1):a.elements,d=[];for(let a of c){let b=await ct({value:a,schema:f});b.success&&d.push(b.value)}return{partial:d}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:b},d){if(null!=b)for(;a<b.length;a++){if(null!=c&&a>=c)return void d.error(fq({value:b,maxItems:c}));d.enqueue(b[a])}}})}}};function fp({name:a,value:b}){if(null!=b){if(!Number.isInteger(b))throw new eL({parameter:a,value:b,message:`${a} must be an integer`});if(b<0)throw new eL({parameter:a,value:b,message:`${a} must be greater than or equal to 0`})}}function fq({value:a,minItems:b,maxItems:c}){return null!=b&&a.length<b?new a2({value:a,cause:`elements array must contain at least ${b} items`}):null!=c&&a.length>c?new a2({value:a,cause:`elements array must contain at most ${c} items`}):void 0}var fr=({options:a,name:b,description:c})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:a}},required:["result"],additionalProperties:!1},...null!=b&&{name:b},...null!=c&&{description:c}}),async parseCompleteOutput({text:b},c){let d=await cv({text:b});if(!d.success)throw new eQ({message:"No object generated: could not parse the response.",cause:d.error,text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=d.value;if(null==e||"object"!=typeof e||!("result"in e)||"string"!=typeof e.result||!a.includes(e.result))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:e,cause:"response must be an object that contains a choice value."}),text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.result},async parsePartialOutput({text:b}){let c=await fl(b);switch(c.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let b=c.value;if(null==b||"object"!=typeof b||!("result"in b)||"string"!=typeof b.result)return;let d=a.filter(a=>a.startsWith(b.result));if("successful-parse"===c.state)return d.includes(b.result)?{partial:b.result}:void 0;return 1===d.length?{partial:d[0]}:void 0}}},createElementStreamTransform(){}}),fs=({name:a,description:b}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=a&&{name:a},...null!=b&&{description:b}}),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return c.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===b.value?void 0:{partial:b.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),TransformStream;var ft=eY.record(eY.string(),eZ.optional()),fu=co(()=>cr(eY.union([eY.looseObject({type:eY.literal("text-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("error"),errorText:eY.string()}),eY.looseObject({type:eY.literal("tool-input-start"),toolCallId:eY.string(),toolName:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-delta"),toolCallId:eY.string(),inputTextDelta:eY.string()}),eY.looseObject({type:eY.literal("tool-input-available"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-error"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),errorText:eY.string(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),approvalDescriptor:eY.unknown().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("tool-output-available"),toolCallId:eY.string(),output:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),preliminary:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-error"),toolCallId:eY.string(),errorText:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-denied"),toolCallId:eY.string()}),eY.looseObject({type:eY.literal("reasoning-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:eY.string().optional(),data:eY.unknown(),transient:eY.boolean().optional()}),eY.looseObject({type:eY.literal("start-step")}),eY.looseObject({type:eY.literal("finish-step")}),eY.looseObject({type:eY.literal("reset-step")}),eY.looseObject({type:eY.literal("start"),messageId:eY.string().optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("finish"),finishReason:eY.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("abort"),reason:eY.string().optional()}),eY.looseObject({type:eY.literal("message-metadata"),messageMetadata:eY.unknown()})])));function fv(){return Object.create(null)}function fw(a){return a.type.startsWith("tool-")}function fx(a){return"dynamic-tool"===a.type}function fy(a){return fw(a)||fx(a)}function fz(a){return a.type.split("-").slice(1).join("-")}function fA(a){return fx(a)?a.toolName:fz(a)}async function fB({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24});var fC=eY.record(eY.string(),eZ.optional()),fD=eY.record(eY.string(),eY.string());function fE(a){return({url:b,abortSignal:c})=>eX({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}co(()=>cr(eY.array(eY.object({id:eY.string(),role:eY.enum(["system","user","assistant"]),metadata:eY.unknown().optional(),parts:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning"),id:eY.string().optional(),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("custom"),kind:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("file"),mediaType:eY.string(),filename:eY.string().optional(),url:eY.string(),providerReference:fD.optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning-file"),mediaType:eY.string(),url:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("step-start")}),eY.object({type:eY.string().startsWith("data-"),id:eY.string().optional(),data:eY.unknown()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),input:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),input:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),providerExecuted:eY.boolean().optional(),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),bN({prefix:"call",size:24}),bN({prefix:"call",size:24}),new TextEncoder,bN({prefix:"aiobj",size:24});var fF=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(a){return new Promise((b,c)=>{this.queue.push(async()=>{try{await a(),b()}catch(a){c(a)}}),this.processQueue()})}};bN({prefix:"aiobj",size:24}),fE();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function fG(a){if(null==a)return[];if(!globalThis.FileList||!(a instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(a).map(async a=>{let{name:b,type:c}=a;return{type:"file",mediaType:c,filename:b,url:await new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{var c;b(null==(c=a.target)?void 0:c.result)},d.onerror=a=>c(a),d.readAsDataURL(a)})}}))}bN({prefix:"call",size:24}),fE();var fH=class{constructor({api:a="/api/chat",credentials:b,headers:c,body:d,fetch:e,prepareSendMessagesRequest:f,prepareReconnectToStreamRequest:g}){this.api=a,this.credentials=b,this.headers=c,this.body=d,this.fetch=e,this.prepareSendMessagesRequest=f,this.prepareReconnectToStreamRequest=g}async sendMessages({abortSignal:a,...b}){var c,d,e,f;let g=await cB(this.body),h=await cB(this.headers),i=await cB(this.credentials),j={...bt(h),...bt(b.headers)},k=await (null==(c=this.prepareSendMessagesRequest)?void 0:c.call(this,{api:this.api,id:b.chatId,messages:b.messages,body:{...g,...b.body},headers:j,credentials:i,requestMetadata:b.metadata,trigger:b.trigger,messageId:b.messageId})),l=null!=(d=null==k?void 0:k.api)?d:this.api,m=(null==k?void 0:k.headers)!==void 0?bt(k.headers):j,n=(null==k?void 0:k.body)!==void 0?k.body:{...g,...b.body,id:b.chatId,messages:b.messages,trigger:b.trigger,messageId:b.messageId},o=null!=(e=null==k?void 0:k.credentials)?e:i,p=null!=(f=this.fetch)?f:globalThis.fetch,q=await p(l,{method:"POST",headers:{"Content-Type":"application/json",...m},body:JSON.stringify(n),credentials:o,signal:a});if(!q.ok)throw Error(await q.text()||"Failed to fetch the chat response.");if(!q.body)throw Error("The response body is empty.");return this.processResponseStream(q.body)}async reconnectToStream(a){var b,c,d,e;let f=await cB(this.body),g=await cB(this.headers),h=await cB(this.credentials),i={...bt(g),...bt(a.headers)},j=await (null==(b=this.prepareReconnectToStreamRequest)?void 0:b.call(this,{api:this.api,id:a.chatId,body:{...f,...a.body},headers:i,credentials:h,requestMetadata:a.metadata})),k=null!=(c=null==j?void 0:j.api)?c:`${this.api}/${a.chatId}/stream`,l=(null==j?void 0:j.headers)!==void 0?bt(j.headers):i,m=null!=(d=null==j?void 0:j.credentials)?d:h,n=null!=(e=this.fetch)?e:globalThis.fetch,o=await n(k,{method:"GET",headers:l,credentials:m,signal:a.abortSignal});if(204===o.status)return null;if(!o.ok)throw Error(await o.text()||"Failed to fetch the chat response.");if(!o.body)throw Error("The response body is empty.");return this.processResponseStream(o.body)}},fI=class extends fH{constructor(a={}){super(a)}processResponseStream(a){return cw({stream:a,schema:fu}).pipeThrough(new TransformStream({async transform(a,b){if(!a.success)throw a.error;b.enqueue(a.value)}}))}},fJ=class{constructor({generateId:a=bO,id:b=a(),transport:c=new fI,messageMetadataSchema:d,dataPartSchemas:e,state:f,onError:g,onToolCall:h,onFinish:i,onData:j,sendAutomaticallyWhen:k}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new fF,this.sendMessage=async(a,b)=>{var c,d,e,f;let g;if(null==a)return void await this.makeRequest({trigger:"submit-message",messageId:null==(c=this.lastMessage)?void 0:c.id,...b});if("text"in a||"files"in a){let b,c=new AbortController;this.pendingMessagePreparations.add(c);try{b=Array.isArray(a.files)?a.files:await fG(a.files)}finally{this.pendingMessagePreparations.delete(c)}if(c.signal.aborted)return;g={parts:[...b,..."text"in a&&null!=a.text?[{type:"text",text:a.text}]:[]]}}else g=a;if(null!=a.messageId){let b=this.state.messages.findIndex(b=>b.id===a.messageId);if(-1===b)throw Error(`message with id ${a.messageId} not found`);if("user"!==this.state.messages[b].role)throw Error(`message with id ${a.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,b+1),this.state.replaceMessage(b,{id:a.messageId,...g,role:null!=(d=g.role)?d:"user",metadata:a.metadata})}else this.state.pushMessage({...g,id:null!=(e=g.id)?e:this.generateId(),role:null!=(f=g.role)?f:"user",metadata:a.metadata});await this.makeRequest({trigger:"submit-message",messageId:a.messageId,...b})},this.regenerate=async({messageId:a,...b}={})=>{let c=null==a?this.state.messages.length-1:this.state.messages.findIndex(b=>b.id===a);if(-1===c)throw Error(`message ${a} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[c].role?c:c+1),await this.makeRequest({trigger:"regenerate-message",messageId:a,...b})},this.resumeStream=async(a={})=>{await this.makeRequest({trigger:"resume-stream",...a})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:a,approved:b,reason:c,options:d})=>this.jobExecutor.run(async()=>{let e=this.state.messages,f=e[e.length-1],g=d=>fy(d)&&"approval-requested"===d.state&&d.approval.id===a?{...d,state:"approval-responded",approval:{...d.approval,id:a,approved:b,reason:c}}:d;this.state.replaceMessage(e.length-1,{...f,parts:f.parts.map(g)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(g)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...d})})}),this.addToolOutput=async({state:a="output-available",toolCallId:b,output:c,errorText:d,options:e})=>this.jobExecutor.run(async()=>{let f=this.state.messages,g=f[f.length-1],h=e=>fy(e)&&e.toolCallId===b?{...e,state:a,output:c,errorText:d}:e;this.state.replaceMessage(f.length-1,{...g,parts:g.parts.map(h)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(h)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...e})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var a,b;for(let a of this.pendingMessagePreparations)a.abort();null==(a=this.activeResumeRequest)||a.abortController.abort(),null==(b=this.activeResponse)||b.abortController.abort()},this.id=b,this.transport=c,this.generateId=a,this.messageMetadataSchema=d,this.dataPartSchemas=e,this.state=f,this.onError=g,this.onToolCall=h,this.onFinish=i,this.onData=j,this.sendAutomaticallyWhen=k}get status(){return this.state.status}setStatus({status:a,error:b}){this.status!==a&&(this.state.status=a,this.state.error=b)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(a){this.state.messages=a}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let a=this.sendAutomaticallyWhen({messages:this.state.messages});return a&&"object"==typeof a&&"then"in a?await a:a}async makeRequest({trigger:a,metadata:b,headers:c,body:d,messageId:e}){var f,g,h;let i,j,k=new AbortController,l="resume-stream"===a?{abortController:k}:void 0;l&&(null==(f=this.activeResumeRequest)||f.abortController.abort(),this.activeResumeRequest=l);let m=()=>null==l||this.activeResumeRequest===l,n=()=>{this.activeResumeRequest===l&&(this.activeResumeRequest=void 0)};if("resume-stream"===a)try{let a=await this.transport.reconnectToStream({chatId:this.id,abortSignal:k.signal,metadata:b,headers:c,body:d});if(k.signal.aborted||!m()){await (null==a?void 0:a.cancel().catch(()=>{})),m()&&this.setStatus({status:"ready"}),n();return}if(null==a){this.setStatus({status:"ready"}),n();return}i=a}catch(a){if(k.signal.aborted||"AbortError"===a.name){m()&&this.setStatus({status:"ready"}),n();return}if(!m())return;this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a}),n();return}this.setStatus({status:"submitted",error:void 0});let o=this.lastMessage,p=!1,q=!1,r=!1;try{let f,g={state:function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:fv(),activeReasoningParts:fv(),partialToolCalls:fv()}}({lastMessage:"resume-stream"===a||"regenerate-message"===a?void 0:this.state.snapshot(o),messageId:this.generateId()}),abortController:k};j=g,g.abortController.signal.addEventListener("abort",()=>{p=!0}),this.activeResponse=g,f="resume-stream"===a?i:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:g.abortController.signal,metadata:b,headers:c,body:d,trigger:a,messageId:e});let h=a=>this.jobExecutor.run(()=>g.abortController.signal.aborted?Promise.resolve():a({state:g.state,write:({updateStatus:a=!0}={})=>{var b;g.abortController.signal.aborted||(a&&this.setStatus({status:"streaming"}),g.state.message.id===(null==(b=this.lastMessage)?void 0:b.id)?this.state.replaceMessage(this.state.messages.length-1,g.state.message):this.state.pushMessage(g.state.message))}}));if(await fB({stream:function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(fy).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(fy(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new eV({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>fw(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?function a(b,c){if(void 0===b&&void 0===c)return;if(void 0===b)return c;if(void 0===c)return b;let d={...b};for(let e in c)if("__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&Object.prototype.hasOwnProperty.call(c,e)){let f=c[e];if(void 0===f)continue;let g=e in b?b[e]:void 0,h=null!==f&&"object"==typeof f&&!Array.isArray(f)&&!(f instanceof Date)&&!(f instanceof RegExp),i=null!=g&&"object"==typeof g&&!Array.isArray(g)&&!(g instanceof Date)&&!(g instanceof RegExp);h&&i?d[e]=a(g,f):d[e]=f}return d}(d.message.metadata,a):a;null!=b&&await cs({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(fw);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new eV({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await fl(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(fy).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(fy).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new eV({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=fv(),d.activeReasoningParts=fv(),d.partialToolCalls=fv(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await cs({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))}({stream:f,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:h,onError:a=>{throw a}}),abortSignal:g.abortController.signal,onError:a=>{throw a}}),p)return m()&&this.setStatus({status:"ready"}),null;m()&&this.setStatus({status:"ready"})}catch(a){if(p||"AbortError"===a.name)return p=!0,m()&&this.setStatus({status:"ready"}),null;if(!m())return null;r=!0,a instanceof TypeError&&(a.message.toLowerCase().includes("fetch")||a.message.toLowerCase().includes("network"))&&(q=!0),this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a})}finally{try{j&&(null==(g=this.onFinish)||g.call(this,{message:j.state.message,messages:this.state.messages,isAbort:p,isDisconnect:q,isError:r,finishReason:j.state.finishReason}))}finally{this.activeResponse===j&&(this.activeResponse=void 0),n()}}!r&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(h=this.lastMessage)?void 0:h.id,metadata:b,headers:c,body:d})}};a.i(393931);var fK=a.i(313350),fL=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)},fM=(a,b,c)=>(fL(a,b,"read from private field"),c?c.call(a):b.get(a)),fN=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c)},fO=(a,b,c,d)=>(fL(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),fP=class{constructor(a=[]){fN(this,W,void 0),fN(this,X,"ready"),fN(this,Y,void 0),fN(this,Z,new Set),fN(this,$,new Set),fN(this,_,new Set),this.pushMessage=a=>{fO(this,W,fM(this,W).concat(a)),fM(this,aa).call(this)},this.popMessage=()=>{fO(this,W,fM(this,W).slice(0,-1)),fM(this,aa).call(this)},this.replaceMessage=(a,b)=>{fO(this,W,[...fM(this,W).slice(0,a),this.snapshot(b),...fM(this,W).slice(a+1)]),fM(this,aa).call(this)},this.snapshot=a=>{var b;if(null==a||"object"!=typeof a||!("parts"in a)||!Array.isArray(a.parts))return a;let c={...a,parts:a.parts.map(a=>({...a}))};return"metadata"in a&&(c.metadata=Array.isArray(b=a.metadata)?[...b]:null!=b&&"object"==typeof b&&(Object.getPrototypeOf(b)===Object.prototype||null===Object.getPrototypeOf(b))?{...b}:b),c},this["~registerMessagesCallback"]=(a,b)=>{let c=b?null!=b?(0,fK.default)(a,b):a:a;return fM(this,Z).add(c),()=>{fM(this,Z).delete(c)}},this["~registerStatusCallback"]=a=>(fM(this,$).add(a),()=>{fM(this,$).delete(a)}),this["~registerErrorCallback"]=a=>(fM(this,_).add(a),()=>{fM(this,_).delete(a)}),fN(this,aa,()=>{fM(this,Z).forEach(a=>a())}),fN(this,ab,()=>{fM(this,$).forEach(a=>a())}),fN(this,ac,()=>{fM(this,_).forEach(a=>a())}),fO(this,W,a)}get status(){return fM(this,X)}set status(a){fO(this,X,a),fM(this,ab).call(this)}get error(){return fM(this,Y)}set error(a){fO(this,Y,a),fM(this,ac).call(this)}get messages(){return fM(this,W)}set messages(a){fO(this,W,[...a]),fM(this,aa).call(this)}};W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap;var fQ=class extends fJ{constructor({messages:a,...b}){const c=new fP(a);super({...b,state:c}),fN(this,ad,void 0),this["~registerMessagesCallback"]=(a,b)=>fM(this,ad)["~registerMessagesCallback"](a,b),this["~registerStatusCallback"]=a=>fM(this,ad)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>fM(this,ad)["~registerErrorCallback"](a),fO(this,ad,c)}};ad=new WeakMap;var fR=a.i(327598);let fS={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};fS.node;let fT=(0,ai.default)(fS);var fU=a.i(589027),fV=a.i(875160);let fW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};fW.node;let fX=(0,ai.default)(fW);var fY=a.i(545097),fZ=a.i(608902),f$=a.i(379630),f_=a.i(421042),f0=a.i(497895);let f1=new fI({api:ar.queryKey.memoryEdit});function f2({notes:a}){let[b,c]=(0,aq.useState)(""),[d,e]=(0,aq.useState)({provider:null,model:""}),[f,g]=(0,aq.useState)(!1),{messages:h,sendMessage:i,setMessages:j,status:k,stop:l,error:m,clearError:n}=function({throttle:a,experimental_throttle:b,resume:c=!1,...d}={}){let e,f=null!=a?a:b,g=(0,aq.useRef)({});"chat"in d||(g.current={onToolCall:d.onToolCall,onData:d.onData,onFinish:d.onFinish,onError:d.onError,sendAutomaticallyWhen:d.sendAutomaticallyWhen,transport:d.transport});let h=()=>{var a;return null!=(a=g.current.transport)?a:null!=e?e:e=new fI},i={...d,transport:{sendMessages:a=>h().sendMessages(a),reconnectToStream:a=>h().reconnectToStream(a)},onToolCall:a=>{var b,c;return null==(c=(b=g.current).onToolCall)?void 0:c.call(b,a)},onData:a=>{var b,c;return null==(c=(b=g.current).onData)?void 0:c.call(b,a)},onFinish:a=>{var b,c;return null==(c=(b=g.current).onFinish)?void 0:c.call(b,a)},onError:a=>{var b,c;return null==(c=(b=g.current).onError)?void 0:c.call(b,a)},sendAutomaticallyWhen:a=>{var b,c,d;return null!=(d=null==(c=(b=g.current).sendAutomaticallyWhen)?void 0:c.call(b,a))&&d}},j=(0,aq.useRef)("chat"in d?d.chat:new fQ(i));("chat"in d&&d.chat!==j.current||"id"in d&&null!=d.id&&j.current.id!==d.id)&&(j.current="chat"in d?d.chat:new fQ(i));let k=j.current,l=(0,aq.useRef)({chat:k,messages:k.messages});l.current.chat!==k&&(l.current={chat:k,messages:k.messages});let m=(0,aq.useCallback)(a=>{let b=!0,c=k["~registerMessagesCallback"](()=>{b&&l.current.chat===k&&(l.current={chat:k,messages:k.messages},a())},f);return l.current={chat:k,messages:k.messages},()=>{b=!1,c()}},[k,f]),n=(0,aq.useCallback)(()=>l.current.messages,[]),o=(0,aq.useSyncExternalStore)(m,n,n),p=(0,aq.useCallback)(a=>k["~registerStatusCallback"](()=>{l.current.chat===k&&(("ready"===k.status||"error"===k.status)&&(l.current={chat:k,messages:k.messages}),a())}),[k]),q=(0,aq.useCallback)(()=>k.status,[k]),r=(0,aq.useSyncExternalStore)(p,q,q),s=(0,aq.useSyncExternalStore)(j.current["~registerErrorCallback"],()=>j.current.error,()=>j.current.error),t=(0,aq.useCallback)(a=>{"function"==typeof a&&(a=a(j.current.messages)),j.current.messages=a},[j]);return(0,aq.useEffect)(()=>{c&&j.current.resumeStream()},[c,j]),{id:j.current.id,messages:o,setMessages:t,sendMessage:j.current.sendMessage,regenerate:j.current.regenerate,clearError:j.current.clearError,stop:j.current.stop,error:s,resumeStream:j.current.resumeStream,status:r,addToolResult:j.current.addToolOutput,addToolOutput:j.current.addToolOutput,addToolApprovalResponse:j.current.addToolApprovalResponse}}({transport:f1}),o=(0,aq.useRef)(l);o.current=l,(0,aq.useEffect)(()=>()=>{o.current()},[]);let p=(0,aq.useRef)(new Map);for(let b of a)for(let a of b.facts)p.current.set(a.id,{text:a.text,path:b.path});let q="submitted"===k||"streaming"===k,r=!!(d.provider&&d.model.trim()),s=[...h].reverse().find(a=>"assistant"===a.role),t=s?.parts??[],u=t.filter(fy),v=t.flatMap(a=>"text"===a.type?[a.text]:[]).join(" ").trim(),w=!!m||u.some(a=>"output-error"===a.state),x=u.filter(a=>"output-available"===a.state&&fA(a)!==f_.TOOL_NAMES.memory_recall).length;(0,aq.useEffect)(()=>{if("ready"!==k||w||0===h.length)return;let a=setTimeout(()=>j([]),4e3);return()=>clearTimeout(a)},[k,w,h.length,j]);let y=q?(0,ae.jsx)(fY.ShinyText,{text:"Working on memory",className:"text-xs"}):m?(0,ae.jsx)("span",{className:"text-xs text-destructive",children:m.message}):s?(0,ae.jsx)("span",{className:"text-xs text-muted-foreground",children:v||(0===x?"Nothing to change":1===x?"1 change saved":`${x} changes saved`)}):null;return(0,ae.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,ae.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[f&&(0,ae.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,ae.jsx)(fZ.ModelPicker,{provider:d.provider,model:d.model,unset:"Provider",onChange:e})}),u.length>0&&(0,ae.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:u.map(a=>(0,ae.jsx)(f4,{name:fA(a),input:a.input,state:a.state,errorText:"output-error"===a.state?a.errorText:void 0,known:p.current},a.toolCallId))}),y&&(0,ae.jsx)("p",{className:"max-w-full truncate px-1",children:y}),(0,ae.jsxs)("form",{onSubmit:a=>{a.preventDefault();let e=b.trim();e&&r&&!q&&(c(""),g(!1),n(),j([]),i({text:e},{body:{model:d}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,ae.jsx)("input",{value:b,onChange:a=>c(a.target.value),disabled:q,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,ae.jsxs)(as.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>g(!f),className:(0,f0.cn)("max-w-44",!r&&"text-muted-foreground"),children:[r&&d.provider?(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(f$.ProviderIcon,{provider:d.provider,className:"size-3"}),(0,ae.jsx)("span",{className:"truncate",children:d.model})]}):"Model",(0,ae.jsx)(fU.ChevronDown,{className:"text-muted-foreground"})]}),(0,ae.jsx)(as.Button,{type:"submit",size:"icon-sm",loading:q,disabled:!b.trim()||!r||q,"aria-label":"Send",children:!q&&(0,ae.jsx)(fR.ArrowUp,{})})]})]})})}let f3={Remember:an.Plus,Replace:ak,Forget:fX,Rename:ak,Opened:fT};function f4({name:a,input:b,state:c,errorText:d,known:e}){let f=function(a,b,c){let d=b??{};if(a===f_.TOOL_NAMES.memory_recall)return{kind:"Opened",path:d.path??"",lines:[],carried:!1};if(a===f_.TOOL_NAMES.memory_forget){let a=(d.factIds??[]).filter(a=>null!=a),b=a.map(a=>c.get(a));return{kind:"Forget",path:b.find(a=>a)?.path??"",lines:a.map((a,c)=>({before:b[c]?.text??`Fact #${a}`})),carried:!1}}let e=(d.facts??[]).filter(a=>null!=a),f=e.map(a=>null!=a.replaces?{before:c.get(a.replaces)?.text??`Fact #${a.replaces}`,after:a.text}:{after:a.text});d.description&&f.push({after:`“${d.description}”`});let g=(d.aliases??[]).filter(Boolean);return g.length&&f.push({after:`Called ${g.map(a=>`“${a}”`).join(", ")}`}),{kind:e.some(a=>null!=a.replaces)?"Replace":e.length?"Remember":"Rename",path:d.path??"",lines:f,carried:e.some(a=>a.alwaysLoad)}}(a,b,e),g=f3[f.kind],h="output-error"===c;return(0,ae.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,ae.jsx)(g,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,ae.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[f.lines.map((a,b)=>(0,ae.jsxs)("div",{children:[a.before&&(0,ae.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:a.before}),a.after&&(0,ae.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:a.after})]},`${f.kind}-${b}`)),(0,ae.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[f.kind,f.path&&` \xb7 ${f.path}`,f.carried&&" · carried into every call"]}),h&&d&&(0,ae.jsx)("p",{className:"text-xs text-destructive",children:d})]}),(0,ae.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:h?(0,ae.jsx)(ap.X,{className:"size-3.5 text-destructive"}):"output-available"===c?(0,ae.jsx)(ah.Check,{className:"size-3.5"}):(0,ae.jsx)(fV.Loader2,{className:"size-3.5 animate-spin"})})]})}var f5=a.i(405050);let f6=(0,f5.createServerReference)("7f6646bb4ffc74bae401ad2f790ecb1c2b73aea0d3",f5.callServer,void 0,f5.findSourceMapURL,"addFactsAction"),f7=(0,f5.createServerReference)("7f3f09b549ff0f552c5fe9b285263706f0257fb4f2",f5.callServer,void 0,f5.findSourceMapURL,"createNoteAction"),f8=(0,f5.createServerReference)("7feaf6b673da50f141abb3ed2ab6e9b5411f45dc19",f5.callServer,void 0,f5.findSourceMapURL,"deleteNoteAction"),f9=(0,f5.createServerReference)("7fa24d7892488547b32c0dd4fcb3dd7149af93c349",f5.callServer,void 0,f5.findSourceMapURL,"forgetFactAction"),ga=(0,f5.createServerReference)("7f27d6f67bb232f052b2123054d00eae85d9879274",f5.callServer,void 0,f5.findSourceMapURL,"reviseFactAction"),gb=(0,f5.createServerReference)("7f6b3929a34f6228b7c1a78faf061dd705a7ceecee",f5.callServer,void 0,f5.findSourceMapURL,"setFactAlwaysLoadAction"),gc=(0,f5.createServerReference)("7f705757a8deddfaecfaa2f5413b6c61e129f0c684",f5.callServer,void 0,f5.findSourceMapURL,"updateNoteAction");var gd=a.i(156757),ge=a.i(199169);let gf=gd.z.enum(["user","call","bot"]),gg=a=>"user"===a?"you":"call"===a?"on a call":"bot"===a?"a bot":"",gh=gd.z.object({id:gd.z.number(),text:gd.z.string(),alwaysLoad:gd.z.boolean(),source:gf.nullish(),createdAt:ge.DateLikeSchema});gd.z.object({id:gd.z.number(),path:gd.z.string(),description:gd.z.string(),aliases:gd.z.string().array().nullish(),ownedByUser:gd.z.boolean(),hits:gd.z.number(),lastReadAt:ge.DateLikeSchema.nullable(),createdAt:ge.DateLikeSchema,updatedAt:ge.DateLikeSchema,factCount:gd.z.number(),facts:gh.array()});let gi=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"},{path:"inbox",of:"Nowhere obvious yet"}],gj=gi.filter(a=>!a.path.endsWith("/")).map(a=>a.path),gk=gi.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1));RegExp(`^(?:${gj.join("|")}|(?:${gk.join("|")})/.+)$`);let gl=["profile","preferences"];function gm(a){let b=a.indexOf("/");return -1===b?a:a.slice(b+1)}function gn(a){let b,c,d;return b=a.path,!gl.includes(b)&&.15>(c=(0,ge.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-c.getTime())/864e5),(a.hits+1)/(1+d))}[...gl];var go=a.i(619477),gp=a.i(888396),gq=a.i(313237),gr=a.i(862966),gs=a.i(759497);let gt=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function gu({note:a}){let b=a.facts.filter(a=>a.alwaysLoad).length;return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[a.path," · ",a.hits," ",1===a.hits?"read":"reads"," ·"," ",a.lastReadAt?`last read ${(0,ag.formatDistanceToNowStrict)(a.lastReadAt,{addSuffix:!0})}`:"never read back"]}),b>0&&(0,ae.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[b," carried into every call"]})]})}function gv({note:a,active:b,onPick:c}){return(0,ae.jsxs)("button",{type:"button",onClick:c,className:(0,f0.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",gn(a)&&!b&&"opacity-55"),children:[(0,ae.jsx)("span",{className:(0,f0.cn)("min-w-0 flex-1 truncate text-[13px]",b&&"font-medium"),children:gm(a.path)}),(0,ae.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:a.factCount})]})}function gw({note:a}){let[b,c]=(0,aq.useState)(!1),[d,e]=(0,aq.useState)(""),f={onOk:()=>(0,gs.revalidate)(ar.queryKey.memory)},[g]=(0,gq.useServerAction)(gc,f),[h]=(0,gq.useServerAction)(f6,f),[i]=(0,gq.useServerAction)(ga,f),[j]=(0,gq.useServerAction)(f9,f),[k]=(0,gq.useServerAction)(gb,f),[l,m]=(0,gq.useServerAction)(f8,f),n=async()=>{let b=d.split("\n").map(a=>a.trim()).filter(Boolean);0!==b.length&&(await h(a.id,b),e(""))},o=async()=>{await av.notify.confirm({title:`Forget ${a.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&l(a.id)};return(0,ae.jsxs)("div",{className:(0,f0.cn)("flex min-h-full flex-col",gn(a)&&"opacity-55"),children:[(0,ae.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,ae.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.path}),(0,ae.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,ae.jsx)(as.Button,{size:"icon-sm",variant:b?"secondary":"ghost","aria-label":b?"Done editing":"Edit this note",onClick:()=>c(!b),children:b?(0,ae.jsx)(ah.Check,{}):(0,ae.jsx)(ak,{})}),(0,ae.jsx)(as.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:m,onClick:o,children:(0,ae.jsx)(ao.Trash2,{})})]})]}),(0,ae.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,ae.jsxs)("div",{className:"space-y-1.5",children:[(0,ae.jsx)("p",{className:"text-xl font-semibold",children:gm(a.path)}),b?(0,ae.jsx)(gx,{text:a.description,onCommit:async b=>{await g(a.id,{description:b})}}):(0,ae.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:a.description})]}),b?(0,ae.jsxs)("div",{className:"space-y-2",children:[a.facts.map(b=>(0,ae.jsx)(gy,{text:b.text,alwaysLoad:b.alwaysLoad,onRevise:async c=>{await i(a.id,b.id,c)},onCarry:async c=>{await k(a.id,b.id,c)},onForget:async()=>{await j(a.id,b.id)}},b.id)),(0,ae.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,ae.jsx)(ay.Textarea,{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),n())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:"outline",disabled:!d.trim(),onClick:n,children:(0,ae.jsx)(an.Plus,{})})]})]}):0===a.facts.length?(0,ae.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,ae.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:a.facts.map(a=>(0,ae.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,ae.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:a.alwaysLoad?(0,ae.jsx)(am,{className:"size-3 text-foreground"}):(0,ae.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,ae.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:a.text}),(0,ae.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,ae.jsx)("span",{className:"block font-mono",children:(0,af.format)(a.createdAt,"yyyy.MM.dd")}),gg(a.source)&&(0,ae.jsx)("span",{className:"block",children:gg(a.source)})]})]},a.id))})]})]})}function gx({text:a,onCommit:b}){let c=(0,gp.useDraft)(a,b);return(0,ae.jsx)(au.Input,{value:c.value,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function gy({text:a,alwaysLoad:b,onRevise:c,onCarry:d,onForget:e}){let f=(0,gp.useDraft)(a,c);return(0,ae.jsxs)("div",{className:"flex gap-2",children:[(0,ae.jsx)(au.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,className:"text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:b?"secondary":"ghost","aria-label":b?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>d(!b),children:(0,ae.jsx)(am,{className:(0,f0.cn)(!b&&"text-muted-foreground/60")})}),(0,ae.jsx)(as.Button,{size:"icon",variant:"ghost",onClick:e,children:(0,ae.jsx)(ap.X,{})})]})}let gz=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function gA(){return av.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,ae.jsx)(gB,{onDone:a})})}function gB({onDone:a}){let[b,c]=(0,aq.useState)("people"),[d,e]=(0,aq.useState)(""),[f,g]=(0,aq.useState)(""),[h,i]=(0,aq.useState)(""),[j,k,,l]=(0,gq.useServerAction)(f7,{errorMessage:!1,onOk:()=>{(0,gs.revalidate)(ar.queryKey.memory),a()}}),m=gz.find(a=>a.key===b),n=d.trim()&&f.trim()&&!k,o=()=>{n&&j(`${b}/${d.trim()}`,f.trim(),h.split("\n").map(a=>a.trim()).filter(Boolean))};return(0,ae.jsxs)(go.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(as.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,ae.jsxs)(as.Button,{disabled:!n,loading:k,onClick:o,children:[!k&&(0,ae.jsx)(an.Plus,{}),"Create"]})]}),children:[(0,ae.jsxs)("div",{className:"space-y-6",children:[(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{children:"Kind"}),(0,ae.jsx)(ax.Tabs,{value:b,onValueChange:a=>c(a),children:(0,ae.jsx)(ax.TabsList,{className:"w-full",children:gz.map(a=>(0,ae.jsx)(ax.TabsTrigger,{value:a.key,children:a.label},a.key))})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,ae.jsxs)(at.FieldContent,{children:[(0,ae.jsx)(au.Input,{id:"note-name",value:d,onChange:a=>e(a.target.value),placeholder:m?.placeholder,spellCheck:!1,required:!0}),(0,ae.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[b,"/",d.trim()||"…"]})]})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,ae.jsx)(at.FieldContent,{children:(0,ae.jsx)(au.Input,{id:"note-summary",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&o(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,ae.jsx)(ay.Textarea,{id:"note-facts",value:h,onChange:a=>i(a.target.value),placeholder:`One per line
38
+ ${m?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),l&&(0,ae.jsx)("p",{className:"font-mono text-xs text-destructive",children:l})]})}a.s(["MemorySetting",0,function(){let{items:a,isLoading:b,isLoadingMore:c,error:d,hasMore:e,sentinelRef:f}=(0,gr.useServerPages)({key:a=>ar.queryKey.memoryPage(a*az.PAGE_SIZE)}),[g,h]=(0,aq.useState)(null),i=a.find(a=>a.id===g)??a[0]??null;return b?(0,ae.jsx)(go.SettingPanesSkeleton,{}):d?(0,ae.jsx)(go.SettingError,{message:d.message}):(0,ae.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,ae.jsx)(go.SettingPanes,{footer:i&&(0,ae.jsx)(gu,{note:i}),left:(0,ae.jsxs)("div",{className:"flex flex-col py-2",children:[(0,ae.jsxs)("button",{type:"button",onClick:gA,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,ae.jsx)(an.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),gt.map(({key:b,label:c})=>{let d=a.filter(a=>(function(a){if("profile"===a||"preferences"===a)return"you";let b=a.slice(0,a.indexOf("/"));return gk.includes(b)?b:"inbox"})(a.path)===b);return 0===d.length?null:(0,ae.jsxs)(aq.Fragment,{children:[(0,ae.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[c,"inbox"===b&&(0,ae.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),d.map(a=>(0,ae.jsx)(gv,{note:a,active:a.id===i?.id,onPick:()=>h(a.id)},a.id))]},b)}),(0,ae.jsx)(go.SettingMore,{hasMore:e,loading:c,sentinelRef:f,count:3,ghost:(0,ae.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,ae.jsx)(aw.Skeleton,{className:"h-3 w-28"}),(0,ae.jsx)("span",{className:"flex-1"}),(0,ae.jsx)(aw.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:i?(0,ae.jsx)(gw,{note:i},i.id):(0,ae.jsxs)("div",{className:"space-y-4 p-8",children:[(0,ae.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,ae.jsxs)(as.Button,{variant:"outline",onClick:gA,children:[(0,ae.jsx)(an.Plus,{}),"Add note"]})]})}),(0,ae.jsx)(f2,{notes:a})]})},"openMemoryCreate",0,gA],857022)},951991,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},599708,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(951991),l=a.r(325279);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(72597),await a.A(628472)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
39
39
  ${b.message}`),a)throw new l.VercelOidcTokenError(a);throw b}return d}function n(){let a=(0,k.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!a)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return a}},327673,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,getContext:()=>l.getContext,getVercelOidcToken:()=>k.getVercelOidcToken,getVercelOidcTokenSync:()=>k.getVercelOidcTokenSync,getVercelToken:()=>n.getVercelToken};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(599708),l=a.r(951991),m=a.r(69845),n=a.r(809750)},313350,(a,b,c)=>{b.exports=function(a,b){let c;if("function"!=typeof a)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof a}\`.`);let d=0;return function(...e){clearTimeout(c);let f=Date.now(),g=b-(f-d);g<=0?(d=f,a.apply(this,e)):c=setTimeout(()=>{d=Date.now(),a.apply(this,e)},g)}}}];
40
40
 
41
41
  //# sourceMappingURL=_0i_6q1w._.js.map