1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,927289,e=>{"use strict";e.s(["deliveryLabel",0,function(e){let t="telegram"===e.channel?"Telegram":"iMessage";switch(e.status){case"pending":case"generated":return`${t} reply ready to send`;case"sending":return`Sending to ${t}`;case"retry_wait":return`Waiting to retry ${t} delivery`;case"accepted":return"telegram"===e.channel?"Accepted by Telegram":"iMessage reply queued for delivery";case"sent":return`Sent to ${t}`;case"delivered":return`Delivered to ${t}`;case"failed":return`${t} delivery failed. Your full answer is saved here.`;case"unknown":return`${t} delivery could not be confirmed. Your full answer is saved here.`;case"cancelled":return`${t} delivery cancelled`}},"deliveryPending",0,function(e){return"telegram"===e.channel?["pending","generated","sending","retry_wait","unknown","failed"].includes(e.status):!["delivered","failed","cancelled"].includes(e.status)}])},738423,862691,422400,164225,e=>{"use strict";var t=e.i(271645),r=e.i(670097),a=e.i(640262),n=e.i(39513),o=e.i(469502);function s(e){let t=(0,o.persistedMessageId)(e),r=e.parts.filter(a.isTextUIPart).map(e=>e.text.trim()).filter(Boolean).join("\n\n");return{role:e.role,content:r.slice(0,2e4),...null!==t?{message_id:t}:{},attachments:(e.metadata?.attachments??[]).map(e=>e.file_id)}}class i extends Error{status;code;credits;constructor(e,t,r,a){super(e),this.name="ChatTurnError",this.status=t,this.code=r,this.credits=a}get outOfCredits(){return 402===this.status||"insufficient_credits"===this.code}}let l=new Set,u={not_authenticated:"You need to be signed in to chat.",missing_message:"There was nothing to send.",unknown_model:"That model is unavailable â pick another.",duplicate_turn:"That question is already being answered.",conversation_busy:"Another message in this conversation is being answered."},c=[350,900,1800,...Array(46).fill(2500)];async function d(e){try{return(await e.clone().json())?.error}catch{return}}async function p(e,t,{waits:r=c,onWaiting:a}={}){let n=await fetch(e,t);if(n.ok)return n;if(409===n.status&&r.length>0&&await d(n)==="conversation_busy"){a?.(!0);try{var o,s;return await (o=r[0],s=t?.signal,new Promise((e,t)=>{if(s?.aborted)return t(s.reason);let r=setTimeout(e,o);s?.addEventListener("abort",()=>{clearTimeout(r),t(s.reason)},{once:!0})})),await p(e,t,{waits:r.slice(1)})}finally{a?.(!1)}}let l=await n.text(),h=null;try{h=l?JSON.parse(l):null}catch{h=null}let g="string"==typeof h?.error?h.error:void 0;throw new i(h?.message||g&&u[g]||`The assistant is unreachable right now (${n.status}). Try again.`,n.status,g,"number"==typeof h?.credits?h.credits:null)}let h=new Set(["text-delta","reasoning-delta"]),g=e=>new Promise(t=>setTimeout(t,e));function m(e,t,r){let i=new a.DefaultChatTransport(function(e,t={}){return{api:"/api/youspot/chat/stream",credentials:"include",fetch:p,prepareSendMessagesRequest:({messages:t})=>{let r=e(),a=function(e,t=1048576){let r=e.filter(e=>"user"===e.role||"assistant"===e.role),a=r[0]?.role==="assistant"&&!!r[0].metadata?.seeded,n=[...(0,o.recentMessagesForSend)(e,40-!!a)],i=()=>{let e=n.map(s);return n[0]?.role==="assistant"&&n[0].metadata?.seeded?[{role:"user",content:"Use the next assistant message as earlier conversation context.",attachments:[]},...e]:e},l=()=>new TextEncoder().encode(JSON.stringify(i())).byteLength;for(;l()>t;){let e=n[0]?.role==="assistant"&&!!n[0].metadata?.seeded,t=e?2:1;if(n.length<=t)break;let r=+!!e;for(n.splice(r,1);n.length>t&&n[r]?.role==="assistant";)n.splice(r,1)}return i()}(t),i=function(e){let t=[...e].reverse().find(e=>"assistant"===e.role);if(!t)return[];let r=[];for(let e of t.parts){if("dynamic-tool"!==e.type||"approval-responded"!==e.state)continue;let t=e.approval,a=t.reason??"",n=null;if(a.startsWith("elicitation:"))try{n=JSON.parse(a.slice(12))}catch{n=null}r.push({id:t.id,approved:t.approved,..."always"===a?{always:!0}:{},...n?{elicitation:n}:{}})}return r}(t),l=(0,n.connectorSelection)(r.poolKey??r.conversationId);return{body:{messages:a,user_token:r.token,conversation_id:r.conversationId,model:r.model,surface:r.surface,skill_hint:function(e,t){if(!t)return null;let r=[...e].reverse().find(e=>"user"===e.role),a=(r?.content??"").trim();return a&&a===t.prompt.trim()?t.skill:null}(a,r.skillHint),...i.length>0?{approvals:i}:{},...null!==l?{connectors:l}:{},...r.viewId?{view_id:r.viewId}:{}}}},...t}}(e,{fetch:(e,t)=>p(e,t,{onWaiting:r})}));return{sendMessages:async e=>{var r;let a,n,o;return r=await i.sendMessages(e),a=r.getReader(),n=0,o=!0,new ReadableStream({async start(e){try{for(;;){let{done:r,value:s}=await a.read();if(r)break;o&&(o=!1,t?.()),"error"===s.type&&l.add(s.errorText);let i=h.has(s.type)&&"delta"in s&&"string"==typeof s.delta?s.delta:null;if(null===i||i.length<12||n>=1500){e.enqueue(s);continue}let u=function(e,t){if(t<=1||e.length<=1)return[e];let r=Math.ceil(e.length/t),a=[],n=0;for(;n<e.length;){let t=Math.min(n+r,e.length);if(t<e.length){let r=e.lastIndexOf(" ",t);r>n&&(t=r+1)}a.push(e.slice(n,t)),n=t}return a}(i,Math.floor(13.75)),c=Math.max(16,Math.round(220/u.length));for(let t=0;t<u.length;t+=1)t>0&&(await g(c),n+=c),e.enqueue({...s,delta:u[t]})}e.close()}catch(t){e.error(t)}},cancel:e=>a.cancel(e)})},reconnectToStream:e=>i.reconnectToStream(e)}}
1e.s(["ChatTurnError",0,i,"createChatTransport",0,m,"turnErrorMessage",0,function(e){return e instanceof i||l.has(e.message)?e.message:"Something went wrong finishing that reply. Try again."}],862691);let f=[],y={},v={},b=new Set,w=0;function I(){for(let e of b)e()}function S(e){return b.add(e),()=>{b.delete(e)}}function _(e,t){let{[e]:r,...a}=y;y=t.length?{...a,[e]:t}:a,I()}let x=e=>y[e]??f;function k(e,t){_(e,[t,...x(e).filter(e=>e.id!==t.id)])}function E(e,t){let r=y[e],a=v[e];if(!r&&!a)return;let{[e]:n,...o}=y;if(y=r?{...o,[t]:[...o[t]??f,...r]}:o,a){let{[e]:r,...a}=v;v={...a,[t]:!0}}I()}function M(e,t){if(!!v[e]===t)return;let{[e]:r,...a}=v;v=t?{...a,[e]:!0}:a,I()}function T(){return Object.keys(y)}e.s(["enqueue",0,function(e,t){let r=x(e);return!r.some(e=>e.text===t.text)&&(_(e,[...r,{...t,id:`queued-${++w}`}]),!0)},"keysWithQueued",0,T,"promoteQueued",0,function(e,t){let r=x(e).find(e=>e.id===t);r&&k(e,r)},"putBack",0,k,"removeQueued",0,function(e,t){_(e,x(e).filter(e=>e.id!==t))},"renameQueue",0,E,"setWaiting",0,M,"takeNext",0,function(e){let[t,...r]=x(e);return t&&_(e,r),t},"useQueued",0,function(e){return(0,t.useSyncExternalStore)(S,()=>x(e),()=>f)},"useWaiting",0,function(e){return(0,t.useSyncExternalStore)(S,()=>!!v[e],()=>!1)}],422400);let C=(0,e.i(768834).create)()(e=>({troubled:{},lastSwitch:null,noteSwitch:(t,r,a)=>e(e=>({troubled:{...e.troubled,[t]:{label:r,at:Date.now()}},lastSwitch:{fromLabel:r,toLabel:a}})),clearSwitch:()=>e({lastSwitch:null})}));e.s(["troubledKeys",0,function(e){let t=Date.now();return Object.keys(e).filter(r=>t-e[r].at<6e5)},"useModelHealthStore",0,C],164225);let A=0,R=new Map,j=[],O=new Set;function P(e){let t=e(j);if(t!==j)for(let e of(j=t,O))e()}function N(e){return O.add(e),()=>{O.delete(e)}}let D=null,q=null,$=null;function F(e,t){P(r=>{let a=r.includes(e);return t?a?r:[...r,e]:a?r.filter(t=>t!==e):r})}function U(e,t){let o=R.get(e);if(o)return o;let s={key:e,conversationId:e.startsWith("new:")?null:e,openedThread:!1,surface:"chat_composer",asked:"",startedAt:0,firstChunkAt:null,lease:null},i={turn:s,chat:new r.Chat({messages:t?.(),sendAutomaticallyWhen:a.lastAssistantMessageIsCompleteWithApprovalResponses,transport:m(()=>({...function(){if(!$)throw Error("chat pool: no chat surface is mounted");return $()}(),surface:s.surface,conversationId:s.conversationId,poolKey:s.key}),()=>{s.startedAt&&null===s.firstChunkAt&&(s.firstChunkAt=performance.now())},e=>M(s.key,e)),onData:e=>{if("data-conversation"===e.type){s.lease=e.data.turn??null;let t=s.key,r=e.data.id;t!==r&&(R.delete(t),s.key=r,s.conversationId=r,R.set(r,i),n.useConnectorSelectionStore.getState().rename(t,r),E(t,r),P(e=>e.includes(r)?e:[...e.filter(e=>e!==t),r]),D?.onMinted(s,t,i.chat))}"data-turn"===e.type&&"number"==typeof e.data.credits&&D?.onCredits(e.data.credits),"data-model"===e.type&&D?.onModelSwitch(e.data)},onFinish:({isError:e})=>{F(s.key,!1),D?.onFinish(s,i.chat),e||setTimeout(()=>q?.(s.key),0)},onError:e=>{F(s.key,!1),D?.onError(s,i.chat,e)}})};return R.set(e,i),i}let L=(e,t)=>U(e,t).chat;function B(e,t,r){C.getState().clearSwitch();let{turn:a}=U(e);a.openedThread=null===a.conversationId,a.surface=t,a.asked=r,a.startedAt=performance.now(),a.firstChunkAt=null,a.lease=null,F(e,!0)}let K=e=>U(e).turn,H=e=>F(e,!1);function V(e){let t=R.get(e);if(!t)return;let r=t.chat.status;"submitted"!==r&&"streaming"!==r&&R.delete(e)}function Q(){return(0,t.useSyncExternalStore)(N,()=>j,()=>j)}e.s(["dropUnansweredTurn",0,function(e){let t=e.messages;t[t.length-1]?.role==="user"&&(e.messages=t.slice(0,-1))},"isWorking",0,function(e){return"submitted"===e.status||"streaming"===e.status},"newThreadKey",0,()=>`new:${++A}`,"unnamedTurns",0,function(e){return e.flatMap(e=>e.startsWith("new:")?[{key:e,asked:K(e).asked}]:[])},"useChatPool",0,function(e,r){return(0,t.useEffect)(()=>{D=r,$=e}),{chatFor:L,turnOf:K,begin:B,end:H,release:V,working:Q()}},"useQueueDrain",0,function(e){(0,t.useEffect)(()=>{q=e}),(0,t.useEffect)(()=>{for(let e of T())q?.(e);return()=>{q=null}},[])},"useWorkingThreads",0,Q],738423)},469502,e=>{"use strict";var t=e.i(41686);let r=e=>{if("number"==typeof e.metadata?.messageId)return e.metadata.messageId;let t=e.parts.find(e=>"data-turn"===e.type);return t?.type==="data-turn"&&"number"==typeof t.data.message_id?t.data.message_id:null};function a(e,t){var r;let a,n=[];for(let t of e.parts??[])if("text"===t.type||"reasoning"===t.type)n.push({type:t.type,text:t.text,state:"done"});else if("tool"===t.type)n.push({type:"dynamic-tool",toolName:t.name,toolCallId:t.id,...function(e){let t=e.approval;return t&&"pending"===t.decision?{state:"approval-requested",input:e.input,approval:{id:t.id,requestReason:t.reason,descriptor:t}}:t&&("user_denied"===t.decision||"expired"===t.decision)?{state:"approval-responded",input:e.input,approval:{id:t.id,approved:!1,requestReason:t.reason,descriptor:t}}:void 0!==e.error?{state:"output-error",input:e.input,errorText:e.error}:void 0===e.output&&t?{state:"approval-responded",input:e.input,approval:{id:t.id,approved:!0,requestReason:t.reason,descriptor:t}}:{state:"output-available",input:e.input,output:e.output}}(t)}),t.step&&n.push({type:"data-tool_step",id:t.id,data:t.step});else if("mcp_app"===t.type){let{type:e,...r}=t;n.push({type:"data-mcp_app",id:r.call_id,data:r})}else"cards"===t.type&&n.push({type:"data-cards",id:"cards",data:{prompt:t.prompt,cards:t.cards}});return 0===n.length&&e.content&&n.push({type:"text",text:e.content,state:"done"}),{id:`stored-${e.id??t}`,role:e.role,parts:n,metadata:{attachments:e.attachments??[],delivery:e.delivery??null,format:e.format??"html",elapsedTime:e.elapsed_time??null,toolCalls:e.tool_calls??[],messageId:e.id??null,feedback:e.feedback??null,savedObjectId:e.saved_object_id??null,seeded:e.seeded??null,sentAt:Number.isNaN(a=(r=e.created_at)?Date.parse(r):NaN)?null:a,...e.author?{author:e.author}:{},...e.agent_runs?{agentRuns:e.agent_runs}:{}}}}function n(e){if(e.metadata?.agentRuns)return e.metadata.agentRuns;let t=e.parts.find(e=>"data-agent_dispatch"===e.type);return t?.type==="data-agent_dispatch"?t.data.runs:null}e.s(["agentRunsOf",0,n,"cachedTurns",0,function(e,t){return()=>t?e.cached(t)?.map(a):void 0},"hasRunningAgentRuns",0,function(e){return e.some(e=>(n(e)??[]).some(e=>"running"===e.status))},"mergeConversationTranscript",0,function(e,t){if(!e?.messages.length)return t;let r=new Set(e.messages.flatMap(e=>"number"==typeof e.id?[e.id]:[]));
1if(0===r.size)return t;if(!t.messages.some(e=>"number"==typeof e.id&&r.has(e.id)))return e;let a=new Map(t.messages.flatMap(e=>"number"==typeof e.id?[[e.id,e]]:[])),n=e.messages.map(e=>"number"==typeof e.id?a.get(e.id)??e:e);for(let e of t.messages)"number"==typeof e.id&&r.has(e.id)||n.push(e);return n.sort((e,t)=>(e.id??0)-(t.id??0)),{...t,messages:n,has_more:e.has_more,next_before_id:e.next_before_id}},"mergeEarlierStoredRows",0,function(e,t,r){return e&&e.next_before_id===r?{...e,messages:function(e,t){let r=e??[];if(0===t.length)return r;let a=new Set(r.flatMap(e=>"number"==typeof e.id?[e.id]:[])),n=t.filter(e=>"number"!=typeof e.id||!a.has(e.id));return n.length>0?[...n,...r]:r}(e.messages,t.messages),has_more:t.has_more,next_before_id:t.next_before_id}:e},"mergeStoredRows",0,function(e,t){let r=e??[];if(0===t.length)return r;let a=new Set(r.flatMap(e=>"number"==typeof e.id?[e.id]:[])),n=[];for(let e of t){if("number"==typeof e.id){if(a.has(e.id))continue;a.add(e.id)}n.push(e)}return n.length>0?[...r,...n]:r},"newestStoredRowId",0,function(e){let t=null;for(let r of e??[])"number"==typeof r.id&&(null===t||r.id>t)&&(t=r.id);return t},"persistedMessageId",0,r,"recentMessagesForSend",0,function(e,t=40){let r=e.filter(e=>"user"===e.role||"assistant"===e.role),a=Math.max(1,t),n=r[0],o=n?.role==="assistant"&&n.metadata?.seeded?n:null,s=!!(o&&a>1),i=s&&r.length>a?1:0,l=r.slice(-(a-i));if(s&&l[0]===o)return l;let u=l[0]?.role==="user"?0:l.findIndex(e=>"user"===e.role),c=u>=0?l.slice(u):[];return s&&o&&c[0]!==o?[o,...c]:c},"reconcileStoredTranscript",0,function(e,n){if(0===e.length)return n.length>0?n.map(a):null;if(0===n.length)return null;let o=function(e){let t=null;for(let a of e){let e=r(a);null!==e&&(null===t||e>t)&&(t=e)}return t}(e);if(null!==o&&!n.some(e=>e.id===o))return null;let s=n.reduce((e,t)=>Math.max(e,t.id??0),0),i=e.filter(e=>null!==r(e)).length;if(null!==o&&s<=o&&n.length<=i){let t=new Map(n.map(e=>[e.id,e])),a=!1,o=e.map(e=>{let n=t.get(r(e)??void 0);return n&&e.metadata?.delivery?.status!==n.delivery?.status?(a=!0,{...e,metadata:{...e.metadata,delivery:n.delivery}}):e});return a?o:null}let l=-1;if(null!==o){for(let t=e.length-1;t>=0;t-=1)if(r(e[t])===o){l=t;break}}let u=new Set(n.flatMap(e=>"number"==typeof e.id?[e.id]:[])),c=n.filter(e=>null===o||(e.id??0)>o),d=c.length-1,p=[],h=[],g=e.slice(l+1);for(let e=g.length-1;e>=0;e-=1){let a=g[e],n=r(a);if(null!==n&&u.has(n))continue;if("assistant"===a.role){h.unshift(a);continue}let o=(0,t.messageText)(a).trim(),s=-1;for(let e=d;e>=0;e-=1){let t=c[e];if(t.role===a.role&&t.content.trim()===o){s=e;break}}if(s>=0){c.slice(s+1,d+1).some(e=>"assistant"===e.role)||p.unshift(...h),h=[],d=s-1;continue}p.unshift(a,...h),h=[]}return h.length>0&&!c.slice(0,d+1).some(e=>"assistant"===e.role)&&p.unshift(...h),[...n.map(function(e){let n=new Map,o=new Map;for(let a of e){let e=r(a);if(null!==e){n.set(e,a.id);continue}let s=`${a.role} 2${(0,t.messageText)(a).trim()}`;o.set(s,[...o.get(s)??[],a.id])}return(e,t)=>{let r=a(e,t),s=("number"==typeof e.id?n.get(e.id):void 0)??o.get(`${e.role} 3${e.content.trim()}`)?.shift();return s?{...r,id:s}:r}}(e)),...p]},"updateAgentRuns",0,function(e,t){if(0===t.length)return e;let r=new Map(t.map(e=>[e.trace_id,e])),a=!1,n=e.map(e=>{if(!e.agent_runs?.length)return e;let t=e.agent_runs.map(e=>{let t=r.get(e.trace_id);return t&&t.status!==e.status?{...e,...t}:e});return t.every((t,r)=>t===e.agent_runs?.[r])?e:(a=!0,{...e,agent_runs:t})});return a?n:e}])},41686,e=>{"use strict";e.s(["messageText",0,function(e){let t="";for(let r of e.parts)"text"===r.type&&(t+=r.text);return t}])},404534,274229,579473,e=>{"use strict";function t(e,t,r){let a=-1/0;for(let e of t.conversations){let t=Date.parse(e.last_at??"");Number.isFinite(t)&&t>a&&(a=t)}if(a===-1/0)return[];let n=[];for(let t of e.pages[0].conversations){if(r.has(t.conversation_id))continue;let e=Date.parse(t.last_at??"");Number.isFinite(e)&&e>a&&n.push(t)}return n}function r(e,t){let r;try{r=e()}catch(e){return}return{getItem:e=>{var a;let n=e=>null===e?null:JSON.parse(e,null==t?void 0:t.reviver),o=null!=(a=r.getItem(e))?a:null;return o instanceof Promise?o.then(n):n(o)},setItem:(e,a)=>r.setItem(e,JSON.stringify(a,null==t?void 0:t.replacer)),removeItem:e=>r.removeItem(e)}}e.s(["mergeConversationHead",0,function(e,r){if(!e?.pages.length)return e;let[a]=e.pages,n=a.conversations===r.conversations&&a.pinned===r.pinned&&a.has_more===r.has_more&&a.next_cursor===r.
3next_cursor,o=new Set((r.pinned??[]).map(e=>e.conversation_id)),s=!1;for(let t of e.pages)for(let e of t.conversations)o.has(e.conversation_id)?s=!0:o.add(e.conversation_id);if(n&&!s&&(r.has_more||1===e.pages.length))return e;let i=new Set([...(r.pinned??[]).map(e=>e.conversation_id),...r.conversations.map(e=>e.conversation_id)]),l=r.conversations.map(e=>Date.parse(e.last_at??"")).filter(Number.isFinite),u=l.length?Math.min(...l):null;if(!r.has_more||1===e.pages.length)return{...e,pages:[{...r,conversations:[...t(e,r,i),...r.conversations]}],pageParams:e.pageParams.slice(0,1)};let c=new Set(e.pages.flatMap(e=>e.conversations.map(e=>e.conversation_id)));if(!r.conversations.some(e=>c.has(e.conversation_id)))return{...e,pages:[{...r,conversations:[...t(e,r,i),...r.conversations]}],pageParams:e.pageParams.slice(0,1)};let d=[],p=new Set;for(let t of e.pages)for(let e of t.conversations){let t=e.conversation_id;if(i.has(t)||p.has(t))continue;let r=Date.parse(e.last_at??"");null!==u&&Number.isFinite(r)&&r>u||(p.add(t),d.push(e))}let h=0,g=[r];for(let t=1;t<e.pages.length;t+=1){let r=e.pages[t],a=t===e.pages.length-1?d.length:h+r.conversations.length;g.push({...r,conversations:d.slice(h,a),pinned:void 0}),h=a}return{...e,pages:g}},"removeConversationFromPages",0,function(e,t){return e?{...e,pages:e.pages.map(e=>({...e,conversations:e.conversations.filter(e=>e.conversation_id!==t),pinned:e.pinned?.filter(e=>e.conversation_id!==t)}))}:e}],404534),e.s(["normalizePromptText",0,function(e){return e.split(/\s+/).join(" ").trim()},"savedPromptCards",0,function(e){return e.map(e=>({id:e.object_id,label:e.text,prompt:e.text}))},"sendExpandedPrompt",0,function(e,t,r,a){if(!t.trim())return!1;let n=r(t,[],{seed:{text:e.prompt,source:"suggestion",cardId:e.id,evidenceVersion:e.evidence_version}});return n&&a(),n},"suggestionScope",0,function(e,t){return JSON.stringify([e?.user_id,e?.email,t])}],274229);let a=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>a(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>a(t)(e)}}};e.s(["createJSONStorage",0,r,"persist",0,(e,t)=>(n,o,s)=>{let i,l={storage:r(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},u=!1,c=0,d=new Set,p=new Set,h=l.storage;if(!h)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${l.name}', the given storage is currently unavailable.`),n(...e)},o,s);let g=()=>{let e=l.partialize({...o()});return h.setItem(l.name,{state:e,version:l.version})},m=s.setState;s.setState=(e,t)=>(m(e,t),g());let f=e((...e)=>(n(...e),g()),o,s);s.getInitialState=()=>f;let y=()=>{var e,t;if(!h)return;let r=++c;u=!1,d.forEach(e=>{var t;return e(null!=(t=o())?t:f)});let s=(null==(t=l.onRehydrateStorage)?void 0:t.call(l,null!=(e=o())?e:f))||void 0;return a(h.getItem.bind(h))(l.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===l.version)return[!1,e.state];else{if(l.migrate){let t=l.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(r!==c)return;let[a,s]=e;if(n(i=l.merge(s,null!=(t=o())?t:f),!0),a)return g()}).then(()=>{r===c&&(null==s||s(o(),void 0),i=o(),u=!0,p.forEach(e=>e(i)))}).catch(e=>{r===c&&(null==s||s(void 0,e))})};return s.persist={setOptions:e=>{l={...l,...e},e.storage&&(h=e.storage)},clearStorage:()=>{++c,null==h||h.removeItem(l.name)},getOptions:()=>l,rehydrate:()=>y(),hasHydrated:()=>u,onHydrate:e=>(d.add(e),()=>{d.delete(e)}),onFinishHydration:e=>(p.add(e),()=>{p.delete(e)})},l.skipHydration||y(),i||f}],579473)},845134,586948,e=>{"use strict";var t=e.i(927289),r=e.i(271645),a=e.i(933818),n=e.i(621482),o=e.i(954616),s=e.i(266027),i=e.i(912598),l=e.i(857177),u=e.i(701281),c=e.i(689605),d=e.i(921110),p=e.i(469502),h=e.i(404534),g=e.i(274229),m=e.i(148810),f=e.i(768834),y=e.i(579473),v=e.i(738423);let b=(0,f.create)()((0,y.persist)(e=>({lastThreadId:null,open:!1,voiceMode:!1,place:null,draft:"",draftKey:(0,v.newThreadKey)(),attachment:null,setLastThread:t=>
3e({lastThreadId:t}),setOpen:t=>e(t?{open:t}:{open:t,voiceMode:!1}),toggle:()=>e(e=>e.open?{open:!1,voiceMode:!1}:{open:!0}),setVoiceMode:t=>e({voiceMode:t}),setPlace:t=>e({place:t}),setDraft:t=>e({draft:t}),addToDraft:t=>e(e=>{let r;return{draft:(r=e.draft,r.trim()?`${r.trimEnd()} ${t}`:t)}}),newThread:()=>e({draftKey:(0,v.newThreadKey)(),lastThreadId:null}),askAbout:t=>e({attachment:t,draft:"",open:!0,draftKey:(0,v.newThreadKey)(),lastThreadId:null}),detach:()=>e({attachment:null})}),{name:"youspot:chat-dock",storage:(0,y.createJSONStorage)(()=>localStorage),partialize:e=>({lastThreadId:e.lastThreadId,open:e.open,place:e.place})}));e.s(["useChatDockStore",0,b],586948);let w=new WeakSet;function I(e,t){return null!==t&&"object"==typeof t&&w.delete(t)?(0,p.mergeConversationTranscript)(e,t):t}function S(e,t){e.cancelQueries({queryKey:u.queryKeys.chat.conversationHead()}),e.setQueryData(u.queryKeys.chat.conversationPages(),e=>{if(!e?.pages.length||e.pages.some(e=>e.conversations.some(e=>e.conversation_id===t.conversation_id)||(e.pinned??[]).some(e=>e.conversation_id===t.conversation_id)))return e;let[r,...a]=e.pages;return{...e,pages:[{...r,conversations:[t,...r.conversations]},...a]}})}function _(e){e.invalidateQueries({queryKey:u.queryKeys.chat.conversations(),exact:!0}),e.invalidateQueries({queryKey:u.queryKeys.chat.conversationHead()})}function x(e){return e instanceof Error&&(e instanceof d.ApiError&&"conversation_not_found"===e.code||"conversation_not_found"===e.message)}function k(e){return(0,a.queryOptions)({queryKey:u.queryKeys.chat.conversation(e),queryFn:async({signal:t})=>{let r=await c.api.chat.conversation(e,{limit:200},t);return w.add(r),r},structuralSharing:I,staleTime:1/0,retry:(e,t)=>!x(t)&&e<3})}function E(e){return(0,g.suggestionScope)(e.user,e.activeSpaceId)}function M(){return(0,m.useSessionStore)(E)}async function T(e,t,r,a){let n=u.queryKeys.chat.conversation(t);await e.cancelQueries({queryKey:n,exact:!0},{revert:!1}),e.setQueryData(n,e=>e?{...e,messages:e.messages.map(e=>e.id===r?{...e,saved_object_id:a}:e)}:e),e.invalidateQueries({queryKey:n,exact:!0})}e.s(["countSuggestionHit",0,function(e,t,r){c.api.chat.countSuggestionHit(e,t,r).catch(()=>{})},"countSuggestionsShown",0,function(e){0!==e.length&&c.api.chat.reportSuggestionsShown(e).catch(()=>{})},"forgetConversation",0,function(e,t){e.cancelQueries({queryKey:u.queryKeys.chat.conversationHead()}),e.setQueryData(u.queryKeys.chat.conversations(),e=>e?.filter(e=>e.conversation_id!==t)),e.setQueryData(u.queryKeys.chat.conversationPages(),e=>(0,h.removeConversationFromPages)(e,t)),e.removeQueries({queryKey:u.queryKeys.chat.conversation(t),exact:!0}),e.removeQueries({queryKey:u.queryKeys.chat.conversationDelta(t),exact:!0})},"isConversationNotFound",0,x,"prependConversation",0,S,"refreshAfterReply",0,function(e,t){_(e),t&&e.invalidateQueries({queryKey:u.queryKeys.chat.conversation(t)})},"rememberMintedThread",0,function(e,t,r){let a=r.find(e=>"user"===e.role),n=(a?.parts??[]).map(e=>"text"===e.type?e.text:"").join(" ").trim(),o=a?.metadata?.attachments?.[0]?.name,s={conversation_id:t,title:(n||o||"New chat").slice(0,120),message_count:1,last_at:new Date().toISOString()};S(e,s),e.setQueryData(u.queryKeys.chat.conversations(),e=>{let r=e??[];return r.some(e=>e.conversation_id===t)?r:[s,...r]})},"useAgentReplyPoll",0,function(e,t){let{authenticated:r}=(0,l.useAuth)(),a=(0,i.useQueryClient)(),n=e??"";return(0,s.useQuery)({queryKey:u.queryKeys.chat.agentRuns(n),queryFn:async({signal:e})=>{let t=u.queryKeys.chat.conversation(n),r=a.getQueryData(t),o=await c.api.chat.agentRuns(n,(0,p.newestStoredRowId)(r?.messages)??0,e);return e.aborted||a.setQueryData(t,e=>(function(e,t){if(!e)return e;let r=(0,p.mergeStoredRows)((0,p.updateAgentRuns)(e.messages,t.runs),t.messages);return r===e.messages?e:{...e,messages:r}})(e,o)),o.runs},enabled:r&&t&&!!e,staleTime:0,refetchInterval:!!t&&3e3,refetchIntervalInBackground:!1})},"useChatModel",0,function(e,t){return(0,s.useQuery)({queryKey:u.queryKeys.chat.model(),queryFn:({signal:e})=>c.api.chat.model(e).then(e=>e.model),enabled:t})},"useConversation",0,function(e,r,a,n=!1){let l=(0,i.useQueryClient)(),d=r??"",h=(0,s.useQuery)({...k(r??""),enabled:a&&!!r,refetchOnWindowFocus:!1}),g=(0,s.useQuery)({queryKey:u.queryKeys.chat.conversationDelta(d),queryFn:async({signal:e})=>{let r=l.getQueryData(u.queryKeys.chat.conversation(d)),a=r?.messages.some(e=>e.delivery&&(0,t.deliveryPending)(e.delivery)),n=await c.api.chat.conversation(d,a?{limit:200}:{afterId:(0,p.newestStoredRowId)(r?.messages)??0,limit:200},e);return n.messages.length&&!e.aborted&&l.setQueryData(u.queryKeys.chat.conversation(d),e=>a?(0,p.mergeConversationTranscript)(e,n):e?{...e,messages:(0,p.mergeStoredRows)(e.messages,n.messages)}:n),n.messages},enabled:a&&!!r&&n&&void 0!==h.data,retry:(e,t)=>!x(t)&&e<3,staleTime:0,refetchInterval:!!n&&1e4,refetchIntervalInBackgroun
3d:!1,refetchOnWindowFocus:!!n&&"always"}),m=(0,o.useMutation)({mutationFn:({conversationId:e,beforeId:t})=>c.api.chat.conversation(e,{beforeId:t,limit:200}),onSuccess:(e,{conversationId:t,beforeId:r})=>{l.setQueryData(u.queryKeys.chat.conversation(t),t=>(0,p.mergeEarlierStoredRows)(t,e,r))}}),f=m.variables?.conversationId===d?m.variables:null,y=f?m.error:null,{error:v,kind:b}=function({threadError:e,deltaError:t,earlierError:r,live:a}){let n=[{error:e,kind:"initial"},{error:t,kind:"updates"},{error:r,kind:"earlier"}].find(({error:e})=>x(e));return n||([{error:r,kind:"earlier"},...a?[{error:t,kind:"updates"}]:[],{error:e,kind:"initial"}].find(({error:e})=>!!e)??{error:null,kind:null})}({threadError:h.error,deltaError:g.error,earlierError:y,live:n});return{...h,data:h.data?.messages,hasEarlier:h.data?.has_more??!1,loadEarlier:()=>{let e=l.getQueryData(u.queryKeys.chat.conversation(d));e?.next_before_id&&m.mutate({conversationId:d,beforeId:e.next_before_id})},loadingEarlier:m.isPending&&null!==f,error:v,loadErrorKind:b,retryLoad:()=>{y&&f?m.mutate(f):n&&g.error?g.refetch():h.refetch()}}},"useConversationList",0,function(e,t,a=!0){let o=function(e,t=!0){let r=(0,i.useQueryClient)(),a=(0,n.useInfiniteQuery)({queryKey:u.queryKeys.chat.conversationPages(),queryFn:({pageParam:e,signal:t})=>c.api.chat.conversations(e?{limit:25,before:e}:{limit:25},t),initialPageParam:null,getNextPageParam:e=>e.has_more?e.next_cursor:null,enabled:e,refetchOnWindowFocus:!1});return(0,s.useQuery)({queryKey:u.queryKeys.chat.conversationHead(),queryFn:async({signal:e})=>{let t=await c.api.chat.conversations({limit:25},e);return e.aborted||r.setQueryData(u.queryKeys.chat.conversationPages(),e=>(0,h.mergeConversationHead)(e,t)),t},initialData:()=>r.getQueryData(u.queryKeys.chat.conversationPages())?.pages[0],initialDataUpdatedAt:()=>r.getQueryState(u.queryKeys.chat.conversationPages())?.dataUpdatedAt,enabled:e&&t&&!!a.data?.pages.length,staleTime:1e4,refetchInterval:1e4,refetchIntervalInBackground:!1,refetchOnWindowFocus:"always"}),a}(t,a),l=o.data?.pages;return(0,r.useMemo)(()=>{let e=l?.[0]?.pinned??[],t=l?.flatMap(e=>e.conversations)??[];return{pinned:e,recents:t,all:[...e,...t],isPending:o.isPending,hasMore:o.hasNextPage,loadingMore:o.isFetchingNextPage,fetchMore:o.fetchNextPage}},[l,o.isPending,o.hasNextPage,o.isFetchingNextPage,o.fetchNextPage])},"useCustomInstructions",0,function(){let{authenticated:e}=(0,l.useAuth)();return(0,s.useQuery)({queryKey:u.queryKeys.chat.instructions(),queryFn:({signal:e})=>c.api.chat.instructions(e).then(e=>e.instructions||""),enabled:e,staleTime:0,gcTime:0,refetchOnWindowFocus:!1})},"useDeleteConversation",0,function(e){let t=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:e=>c.api.chat.deleteConversation(e),onMutate:async e=>{let r=u.queryKeys.chat.conversations(),a=u.queryKeys.chat.conversationPages();await Promise.all([t.cancelQueries({queryKey:r,exact:!0}),t.cancelQueries({queryKey:a,exact:!0}),t.cancelQueries({queryKey:u.queryKeys.chat.conversationHead()})]);let n=t.getQueryData(r),o=t.getQueryData(a),s=b.getState(),i=s.lastThreadId===e;return t.setQueryData(r,t=>t?.filter(t=>t.conversation_id!==e)),t.setQueryData(a,t=>(0,h.removeConversationFromPages)(t,e)),i&&s.setLastThread(null),{previousConversations:n,previousPages:o,restoreDock:i}},onError:(e,r,a)=>{a?.previousConversations!==void 0&&t.setQueryData(u.queryKeys.chat.conversations(),a.previousConversations),a?.previousPages!==void 0&&t.setQueryData(u.queryKeys.chat.conversationPages(),a.previousPages);let n=b.getState();a?.restoreDock&&null===n.lastThreadId&&n.setLastThread(r)},onSettled:()=>{_(t)}})},"usePinConversation",0,function(e){let t=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:({conversationId:e,pinned:t})=>c.api.chat.pinConversation(e,t),onMutate:async({conversationId:e,pinned:r})=>{await t.cancelQueries({queryKey:u.queryKeys.chat.conversationHead()});let a=u.queryKeys.chat.conversationPages(),n=t.getQueryData(a);return t.setQueryData(a,t=>{if(!t?.pages.length)return t;let a=t.pages.flatMap(e=>[...e.pinned??[],...e.conversations]).find(t=>t.conversation_id===e);if(!a)return t;let[n,...o]=t.pages,s=t=>t.filter(t=>t.conversation_id!==e);return{...t,pages:[{...n,pinned:r?[{...a,pinned:!0},...s(n.pinned??[])]:s(n.pinned??[]),conversations:s(n.conversations)},...o.map(e=>({...e,conversations:s(e.conversations)}))]}}),{previous:n}},onError:(e,r,a)=>{a?.previous&&t.setQueryData(u.queryKeys.chat.conversationPages(),a.previous)},onSettled:(e,r,{pinned:a})=>{_(t),a||t.invalidateQueries({queryKey:u.queryKeys.chat.conversationPages(),exact:!0})}})},"usePromptScope",0,M,"useRateReply",0,function(e){let t=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:({messageId:e,rating:t})=>c.api.chat.rateReply(e,t).then(e=>e.rating??null),onSuccess:(e,{messageId:r,conversationId:a})=>{a&&t.setQueryData(u.queryKeys.chat.conversation(a),t=>t&&{...t,messages:t.messages.map(t=>
3t.id===r?{...t,feedback:e}:t)})}})},"useSaveChatModel",0,function(e){let t=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:e=>c.api.chat.saveModel(e),onMutate:e=>{t.setQueryData(u.queryKeys.chat.model(),e)}})},"useSaveChatToBrain",0,function(e){let t=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:({prompt:e,output:t,messageId:r})=>c.api.chat.saveReplyToBrain(e,t,r).then(e=>e.object?.object_id??null),onSuccess:async(e,{messageId:r,conversationId:a})=>{e&&r&&a&&await T(t,a,r,e)}})},"useSaveCustomInstructions",0,function(){let e=(0,i.useQueryClient)();return(0,o.useMutation)({mutationFn:e=>c.api.chat.saveInstructions(e),onSuccess:(t,r)=>{e.setQueryData(u.queryKeys.chat.instructions(),r)}})},"useSavedPromptToggle",0,function(e){let t,r,a,n,d=function(e){let t=M(),{authenticated:r}=(0,l.useAuth)();return(0,s.useQuery)({queryKey:u.queryKeys.chat.scopedSavedPrompts(t),queryFn:({signal:e})=>c.api.chat.savedPrompts(e).then(e=>e.prompts),enabled:e&&r})}(e),p=(t=M(),r=(0,i.useQueryClient)(),(0,o.useMutation)({mutationFn:({text:e,suggestionId:r})=>{let a=m.useSessionStore.getState();if(!a.authenticated||E(a)!==t)throw Error("Sign in to save prompts.");return c.api.chat.savePrompt(e,r).then(e=>e.prompt)},onSuccess:e=>{r.setQueryData(u.queryKeys.chat.scopedSavedPrompts(t),t=>t?.some(t=>t.object_id===e.object_id)?t:[e,...t??[]])}})),h=(a=M(),n=(0,i.useQueryClient)(),(0,o.useMutation)({mutationFn:e=>{let t=m.useSessionStore.getState();if(!t.authenticated||E(t)!==a)throw Error("Sign in to update saved prompts.");return c.api.graph.remove(e)},onSuccess:()=>{n.invalidateQueries({queryKey:u.queryKeys.graph.allObjectPages()})},onMutate:e=>{let t=n.getQueryData(u.queryKeys.chat.scopedSavedPrompts(a));return n.setQueryData(u.queryKeys.chat.scopedSavedPrompts(a),t=>(t??[]).filter(t=>t.object_id!==e)),{previous:t}},onError:(e,t,r)=>{r?.previous&&n.setQueryData(u.queryKeys.chat.scopedSavedPrompts(a),r.previous)}})),f=d.data??[],y=e=>{let t=(0,g.normalizePromptText)(e);return f.find(e=>(0,g.normalizePromptText)(e.text)===t)};return{rows:f,isSaved:e=>!!y(e),toggle:(e,t)=>{let r=y(e);r?h.mutate(r.object_id):p.mutate({text:e,suggestionId:t})},pending:p.isPending||h.isPending,error:p.error?.message??h.error?.message??null}},"useSeedSuggestions",0,function(e){let t=(0,i.useQueryClient)(),{authenticated:a,loading:n}=(0,l.useAuth)(),o=M();(0,r.useEffect)(()=>{e&&a&&!n&&t.prefetchQuery({queryKey:u.queryKeys.chat.scopedSuggestions(o),queryFn:t=>Promise.resolve(e).catch(()=>c.api.chat.suggestedPrompts(10,t.signal)),staleTime:6e4})},[t,e,a,n,o])},"useStopTurn",0,function(){return(0,o.useMutation)({mutationFn:({conversationId:e,turn:t})=>c.api.chat.stopTurn(e,t)})},"useSuggestionFeedback",0,function(){let e=(0,i.useQueryClient)(),t=M(),{authenticated:r}=(0,l.useAuth)();return(0,o.useMutation)({mutationFn:e=>{if(!r||!m.useSessionStore.getState().authenticated||E(m.useSessionStore.getState())!==t)throw Error("Sign in to update suggestions.");return c.api.chat.suggestionFeedback(e)},onSuccess:()=>e.invalidateQueries({queryKey:u.queryKeys.chat.scopedSuggestions(t)})})},"useSuggestionsPayload",0,function(e,t){let{authenticated:r,loading:a}=(0,l.useAuth)(),n=M();return(0,s.useQuery)({queryKey:u.queryKeys.chat.scopedSuggestions(n),queryFn:({signal:e})=>c.api.chat.suggestedPrompts(10,e),select:t,enabled:e&&r&&!a,staleTime:6e4,refetchOnWindowFocus:!1})},"useThreadCache",0,function(e){let t=(0,i.useQueryClient)();return(0,r.useMemo)(()=>({cached:e=>t.getQueryData(u.queryKeys.chat.conversation(e))?.messages,prefetch:e=>{e&&t.prefetchQuery(k(e))}}),[t])},"useToolLabels",0,function(e){return(0,s.useQuery)({queryKey:u.queryKeys.chat.toolLabels(),queryFn:({signal:e})=>c.api.chat.toolLabels(e).then(e=>e.tool_labels),staleTime:1/0,retry:!1})}],845134)},16205,e=>{"use strict";let t=(0,e.i(235884).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);e.s(["Brain",0,t],16205)},464255,e=>{"use strict";
3let t=(0,e.i(235884).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);e.s(["default",0,t])},671488,e=>{"use strict";var t=e.i(808813);e.s(["LayoutGrid",()=>t.default])},670097,640262,39513,e=>{"use strict";var t,r,a,n,o,s,i,l,u,c,d,p,h,g,m,f,y,v,b,w,I,S,_,x,k,E,M,T,C,A,R,j,O,P,N,D,q,$,F,U,L,B,K,H,V,Q,W,z,Z,Y,G,J,X,ee,et,er=e.i(247167),ea="vercel.ai.error",en=Symbol.for(ea),eo=class e extends(r=Error,t=en,r){constructor({name:e,message:r,cause:a}){super(r),this[t]=!0,this.name=e,this.cause=a}static isInstance(t){return e.hasMarker(t,ea)}static hasMarker(e,t){let r=Symbol.for(t);return null!=e&&"object"==typeof e&&r in e&&"boolean"==typeof e[r]&&!0===e[r]}},es="AI_APICallError",ei=`vercel.ai.error.${es}`,el=Symbol.for(ei),eu=class extends(n=eo,a=el,n){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:o,responseBody:s,cause:i,isRetryable:l=null!=n&&(408===n||409===n||429===n||n>=500),data:u}){super({name:es,message:e,cause:i}),this[a]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=o,this.responseBody=s,this.isRetryable=l,this.data=u}static isInstance(e){return eo.hasMarker(e,ei)}},ec="AI_EmptyResponseBodyError",ed=`vercel.ai.error.${ec}`,ep=Symbol.for(ed),eh=class extends(s=eo,o=ep,s){constructor({message:e="Empty response body"}={}){super({name:ec,message:e}),this[o]=!0}static isInstance(e){return eo.hasMarker(e,ed)}};function eg(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var em="AI_InvalidArgumentError",ef=`vercel.ai.error.${em}`,ey=Symbol.for(ef),ev=class extends(l=eo,i=ey,l){constructor({message:e,cause:t,argument:r}){super({name:em,message:e,cause:t}),this[i]=!0,this.argument=r}static isInstance(e){return eo.hasMarker(e,ef)}},eb=Symbol.for("vercel.ai.error.AI_InvalidPromptError");Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");var ew="AI_JSONParseError",eI=`vercel.ai.error.${ew}`,eS=Symbol.for(eI),e_=class extends(c=eo,u=eS,c){constructor({text:e,cause:t}){super({name:ew,message:`JSON parsing failed: Text: ${e}. 4Error message: ${eg(t)}`,cause:t}),this[u]=!0,this.text=e}static isInstance(e){return eo.hasMarker(e,eI)}},ex=Symbol.for("vercel.ai.error.AI_LoadAPIKeyError");Symbol.for("vercel.ai.error.AI_LoadSettingError");Symbol.for("vercel.ai.error.AI_NoContentGeneratedError");var ek="AI_NoSuchModelError",eE=`vercel.ai.error.${ek}`,eM=Symbol.for(eE),eT=class extends(p=eo,d=eM,p){constructor({errorName:e=ek,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[d]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return eo.hasMarker(e,eE)}},eC=Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var eA="AI_TypeValidationError",eR=`vercel.ai.error.${eA}`,ej=Symbol.for(eR),eO=class e extends(g=eo,h=ej,g){constructor({value:e,cause:t,context:r}){let a="Type validation failed";if((null==r?void 0:r.field)&&(a+=` for ${r.field}`),(null==r?void 0:r.entityName)||(null==r?void 0:r.entityId)){a+=" (";const e=[];r.entityName&&e.push(r.entityName),r.entityId&&e.push(`id: "${r.entityId}"`),a+=e.join(", "),a+=")"}super({name:eA,message:`${a}: Value: ${JSON.stringify(e)}. 5Error message: ${eg(t)}`,cause:t}),this[h]=!0,this.value=e,this.context=r}static isInstance(e){return eo.hasMarker(e,eR)}static wrap({value:t,cause:r,context:a}){var n,o,s;return e.isInstance(r)&&r.value===t&&(null==(n=r.context)?void 0:n.field)===(null==a?void 0:a.field)&&(null==(o=r.context)?void 0:o.entityName)===(null==a?void 0:a.entityName)&&(null==(s=r.context)?void 0:s.entityId)===(null==a?void 0:a.entityId)?r:new e({value:t,cause:r,context:a})}},eP=Symbol.for("vercel.ai.error.AI_UnsupportedFunctionalityError"),eN=e.i(100364),eD=e.i(321678);class eq extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function e$(e){}function eF(e,t,r){return 100===r&&97===e.charCodeAt(t+1)&&116===e.charCodeAt(t+2)&&97===e.charCodeAt(t+3)&&58===e.charCodeAt(t+4)}function eU(e,t,r){return 101===r&&118===e.charCodeAt(t+1)&&101===e.charCodeAt(t+2)&&110===e.charCodeAt(t+3)&&116===e.charCodeAt(t+4)&&58===e.charCodeAt(t+5)}class eL extends TransformStream{constructor({onError:e,onRetry:t,onComment:r,maxBufferSize:a}={}){let n;super({start(o){n=function(e){if("function"==typeof e)throw TypeError("`config` must be an object, got a function instead. Did
5you mean `createParser({onEvent: fn})`?");let{onEvent:t=e$,onError:r=e$,onRetry:a=e$,onComment:n,maxBufferSize:o}=e,s=[],i=0,l=!0,u,c="",d=0,p,h=!1;function g(){void 0!==o&&(i+c.length<=o||(h=!0,s.length=0,i=0,u=void 0,c="",d=0,p=void 0,r(new eq(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function m(e){let r=0;if(-1===e.indexOf("\r")){let a=e.indexOf(` 6`,r);for(;-1!==a;){if(r===a){d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0,r=a+1,a=e.indexOf(` 7`,r);continue}let n=e.charCodeAt(r);if(eF(e,r,n)){let n=32===e.charCodeAt(r+5)?r+6:r+5,o=e.slice(n,a);if(0===d&&10===e.charCodeAt(a+1)){t({id:u,event:p,data:o}),u=void 0,c="",p=void 0,r=a+2,a=e.indexOf(` 8`,r);continue}c=0===d?o:`${c} 9${o}`,d++}else eU(e,r,n)?p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0:f(e,r,a);r=a+1,a=e.indexOf(` 10`,r)}return e.slice(r)}for(;r<e.length;){let t=e.indexOf("\r",r),a=e.indexOf(` 11`,r),n=-1;if(-1!==t&&-1!==a?n=t<a?t:a:-1!==t?n=t===e.length-1?-1:t:-1!==a&&(n=a),-1===n)break;f(e,r,n),r=n+1,13===e.charCodeAt(r-1)&&10===e.charCodeAt(r)&&r++}return e.slice(r)}function f(e,r,a){if(r===a)return void(d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0);let o=e.charCodeAt(r);if(eF(e,r,o)){let t=32===e.charCodeAt(r+5)?r+6:r+5,n=e.slice(t,a);c=0===d?n:`${c} 12${n}`,d++;return}if(eU(e,r,o)){p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0;return}if(105===o&&100===e.charCodeAt(r+1)&&58===e.charCodeAt(r+2)){let t=e.slice(32===e.charCodeAt(r+3)?r+4:r+3,a);t.includes("\0")||(u=t);return}if(58===o){n&&n(e.slice(r,a).slice(32===e.charCodeAt(r+1)?2:1));return}let s=e.slice(r,a),i=s.indexOf(":");if(-1===i)return void y(s,"",s);let l=s.slice(0,i),h=32===s.charCodeAt(i+1)?2:1;y(l,s.slice(i+h),s)}function y(e,t,n){switch(e){case"event":p=t||void 0;break;case"data":c=0===d?t:`${c} 13${t}`,d++;break;case"id":t.includes("\0")||(u=t);break;case"retry":/^\d+$/.test(t)?a(parseInt(t,10)):r(new eq(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:n}));break;default:r(new eq(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:n}))}}return{feed:function(e){if(h)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===s.length){let t=m(e);""!==t&&(s.push(t),i=t.length),g();return}if(-1===e.indexOf(` 14`)&&-1===e.indexOf("\r")){s.push(e),i+=e.length,g();return}s.push(e);let t=s.join("");s.length=0,i=0;let r=m(t);""!==r&&(s.push(r),i=r.length),g()},reset:function(e={}){if(e.consume&&s.length>0){let e=s.join("");f(e,0,e.length)}l=!0,u=void 0,c="",d=0,p=void 0,s.length=0,i=0,h=!1}}}({onEvent:e=>{o.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&o.error(t)},onRetry:t,onComment:r,maxBufferSize:a})},transform(e){n.feed(e)}})}}let eB=Symbol.for("workflow-serialize"),eK=Symbol.for("workflow-deserialize");function eH(...e){return e.reduce((e,t)=>({...e,...null!=t?t:{}}),{})}async function eV(e,t){if(null==e)return Promise.resolve();let r=null==t?void 0:t.abortSignal;return new Promise((t,a)=>{if(null==r?void 0:r.aborted)return void a(eQ());let n=setTimeout(()=>{o(),t()},e),o=()=>{clearTimeout(n),null==r||r.removeEventListener("abort",s)},s=()=>{o(),a(eQ())};null==r||r.addEventListener("abort",s)})}function eQ(){return new DOMException("Delay was aborted","AbortError")}var eW=new TextDecoder;async function ez(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?eW.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function eZ(e,{highWaterMark:t=1048576,pollIntervalMs:r=20,abortSignal:a}={}){for(var n;1===e.readyState&&(null!=(n=e.bufferedAmount)?n:0)>t;){if((null==a?void 0:a.aborted)===!0)return;await eV(r)}}var{btoa:eY,atob:eG}=globalThis;function eJ(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return eY(t)}async function eX(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var e0="AI_DownloadError",e1=`vercel.ai.error.${e0}`,e2=Symbol.for(e1),e4=class extends(f=eo,m=e2,f){constructor({url:e,statusCode:t,statusText:r,cause:a,message:n=null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}
14){super({name:e0,message:n,cause:a}),this[m]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return eo.hasMarker(e,e1)}};function e5(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function e6(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function e9(e){let[t,r,a]=e.split(".").map(Number);return 0===t||10===t||100===t&&r>=64&&r<=127||127===t||169===t&&254===r||172===t&&r>=16&&r<=31||192===t&&0===r&&0===a||192===t&&0===r&&2===a||192===t&&168===r||198===t&&(18===r||19===r)||198===t&&51===r&&100===a||203===t&&0===r&&113===a||t>=224||!1}function e3(e){let t=function(e){let t=e.toLowerCase(),r=t.indexOf("%");-1!==r&&(t=t.slice(0,r));let a=t.split("::");if(a.length>2)return null;let n=e=>{if(""===e)return[];let t=[],r=e.split(":");for(let e=0;e<r.length;e++){let a=r[e];if(a.includes(".")){if(e!==r.length-1||!e6(a))return null;let[n,o,s,i]=a.split(".").map(Number);t.push(n<<8|o,s<<8|i);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);if(r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,r=255&t[6],a=t[7]>>8&255,n=255&t[7];return e9(`${e}.${r}.${a}.${n}`)}return!1}var e7=globalThis.fetch,e8=function(e){if("function"!=typeof e)return!1;let t=Function.prototype.toString.call(e);return t.includes("internal/deps/undici")||t.includes("lazy loading of undici")}(e7);async function te(){var e,t;let r;return(null==(e=null==(r=globalThis.process)?void 0:r.release)?void 0:e.name)==="node"&&(null==(t=r.versions)?void 0:t.bun)==null&&e8&&globalThis.fetch===e7?null!=y?y:y=Promise.resolve().then(tt):globalThis.fetch}function tt(){let{createRequire:e}=tr("node:module"),{lookup:t}=tr("node:dns"),{Agent:r,fetch:a}=e(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[r]=t.stack,a=null==r?void 0:r.getFileName();if(null==a)throw Error("Unable to determine the current module path");return a}finally{Error.prepareStackTrace=t}}())("undici"),n=new r({connect:{lookup:(e,r,a)=>{t(e,{...r,all:!0},(t,n)=>{if(t)return void a(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:r}of n)!function({address:e,family:t,hostname:r}){if(4===t?!e6(e)||e9(e):6!==t||e3(e))throw new e4({url:r,message:`Hostname ${r} resolved to disallowed IP address ${e}`})}({address:t,family:r,hostname:e});!0===r.all?a(null,n):a(null,t.address,t.family)}catch(e){a(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>a(e,{...t,dispatcher:n})}function tr(e){var t;let r=globalThis.process,a=null==(t=null==r?void 0:r.getBuiltinModule)?void 0:t.call(r,e);if(null==a)throw Error(`Node.js built-in module ${e} is unavailable`);return a}var ta=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"],tn=new Set([301,302,303,307,308]);async function to({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of ta)t.delete(e);return t}(t),i=e=>{let t={signal:r,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},l=e;for(let t=0;t<=a;t++){let t=void 0!==o&&e5(l,o);t||function(e){let t;try{t=new URL(e)}catch(t){throw new e4({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new e4({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new e4({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new e4({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(e3(r.slice(1,-1)))throw new e4({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(e6(r)&&e9(r))throw new e4({url:e,message:`URL with IP address ${r} is not allowed`})}(l);let r=null!=n?n:t?globalThis.fetch:await te(),a=await r(l,i("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}
14())throw new e4({url:e,message:`Redirect from ${l} could not be validated and was blocked`});return await r(l,i("follow"))}let u=a.headers.get("location");if(tn.has(a.status)&&u){await eX(a);let e=new URL(u,l).toString();if(void 0!==s&&!e5(e,l)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}l=e;continue}return a}throw new e4({url:e,message:`Too many redirects (max ${a})`})}async function ts({response:e,url:t,maxBytes:r=0x80000000}){let a=e.headers.get("content-length");if(null!=a){let n=parseInt(a,10);if(!isNaN(n)&&n>r)throw await eX(e),new e4({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),s=[],i=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((i+=a.length)>r)throw new e4({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});s.push(a)}}finally{try{await o.cancel()}catch(e){}finally{o.releaseLock()}}let l=new Uint8Array(i),u=0;for(let e of s)l.set(e,u),u
14+=e.length;return l}function ti(e){return Object.fromEntries([...e.headers])}var tl=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let n=()=>{let e=r.length,a=Array(t);for(let n=0;n<t;n++)a[n]=r[Math.random()*e|0];return a.join("")};if(null==e)return n;if(r.includes(a))throw new ev({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`},tu=tl();function tc(e){return(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var td=["fetch failed","failed to fetch"],tp=new Set(["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","UND_ERR_SOCKET","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"]);function th({error:e,url:t,requestBodyValues:r}){if(tc(e))return e;if(e instanceof TypeError&&td.includes(e.message.toLowerCase())){let a=e.cause;if(null!=a)return new eu({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}let a=function(e){let t=new Set,r=e;for(;r instanceof Error&&!t.has(r);){t.add(r);let e=r;if("string"==typeof e.code&&tp.has(e.code))return e;r=r.cause}}(e);return null!=a?new eu(eu.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:a.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}function tg(e=globalThis){var t,r,a;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(a=null==(r=e.process)?void 0:r.versions)?void 0:a.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function tm(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,r)=>{t[r.toLowerCase()]=e});else for(let[r,a]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=a&&(t[r.toLowerCase()]=a);return t}function tf(e,...t){let r=new Headers(tm(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var ty="5.0.34",tv=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:n,fetch:o,validateUrl:s,credentialedOrigin:i,trustedOrigin:l})=>{try{let u=null!=o?o:globalThis.fetch,c=void 0===i||e5(e,i)?t:{},d=tf(c,`ai-sdk/provider-utils/${ty}`,tg()),p=s?await to({url:e,headers:d,abortSignal:n,fetch:o,trustedOrigin:l}):await u(e,{method:"GET",headers:d,signal:n}),h=ti(p);if(!p.ok){let t;try{t=await a({response:p,url:e,requestBodyValues:{}})}catch(t){if(tc(t)||eu.isInstance(t))throw t;throw new eu({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}throw t.value}try{return await r({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(tc(t)||eu.isInstance(t)))throw t;throw new eu({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}}catch(t){throw th({error:t,url:e,requestBodyValues:{}})}};function tb(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}function tw({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||void 0===er.default?void 0:null!=(e=er.default.env[t])&&"string"==typeof e?e:void 0}function tI(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}var tS=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,t_=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function tx(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===tS.test(e)&&!1===t_.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let r of(t=[],e)){if(Object.prototype.hasOwnProperty.call(r,"__proto__")||Object.prototype.hasOwnProperty.call(r,"constructor")&&null!==r.constructor&&"object"==typeof r.constructor&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in r){let a=r[e];a&&"object"==typeof a&&t.push(a)}}}return e}(t)}function tk(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return tx(e)}try{return tx(e)}finally{Error.stackTraceLimit=t}}function tE(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&tM(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=tM(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(tM):tM(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(tM)),null!=e.allOf&&(e.allOf=e.allOf.map(tM)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(tM));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=tM(t[e]);return e}function tM(e){return"boolean"==typeof e?e:tE(e)}var tT=Symbol("Let zodToJsonSchema decide on which parser to use"),tC={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function tA(e,t){return tG(e.type._def,t)}var tR=void 0,tj=/^[cC][^\s-]{8,}
14$/,tO=/^[0-9a-z]+$/,tP=/^[0-9A-HJKMNP-TV-Z]{26}$/,tN=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,tD=()=>(void 0===tR&&(tR=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),tR),tq=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,t$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tF=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,tU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tL=/^[a-zA-Z0-9_-]{21}$/,tB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function tK(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":tQ(r,"email",a.message,t);break;case"format:idn-email":tQ(r,"idn-email",a.message,t);break;case"pattern:zod":tW(r,tN,a.message,t)}break;case"url":tQ(r,"uri",a.message,t);break;case"uuid":tQ(r,"uuid",a.message,t);break;case"regex":tW(r,a.regex,a.message,t);break;case"cuid":tW(r,tj,a.message,t);break;case"cuid2":tW(r,tO,a.message,t);break;case"startsWith":tW(r,RegExp(`^${tH(a.value,t)}`),a.message,t);break;case"endsWith":tW(r,RegExp(`${tH(a.value,t)}$`),a.message,t);break;case"datetime":tQ(r,"date-time",a.message,t);break;case"date":tQ(r,"date",a.message,t);break;case"time":tQ(r,"time",a.message,t);break;case"duration":tQ(r,"duration",a.message,t);break;case"length":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value,r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"includes":tW(r,RegExp(tH(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&tQ(r,"ipv4",a.message,t),"v4"!==a.version&&tQ(r,"ipv6",a.message,t);break;case"base64url":tW(r,tU,a.message,t);break;case"jwt":tW(r,tB,a.message,t);break;case"cidr":"v6"!==a.version&&tW(r,tq,a.message,t),"v4"!==a.version&&tW(r,t$,a.message,t);break;case"emoji":tW(r,tD(),a.message,t);break;case"ulid":tW(r,tP,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":tQ(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":tW(r,tF,a.message,t)}break;case"nanoid":tW(r,tL,a.message,t)}return r}function tH(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)tV.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}var tV=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tQ(e,t,r,a){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function tW(e,t,r,a){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:tz(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=tz(t,a)}function tz(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=a.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,l=!1;for(let e=0;e<n.length;e++){if(s){o+=n[e],s=!1;continue}if(a.i){if(i){if(n[e].match(/[a-z]/)){l?(o+=n[e],o+=`${n[e-2]}-${n[e]}`.toUpperCase(),l=!1):"-"===n[e+1]&&(null==(r=n[e+2])?void 0:r.match(/[a-z]/))?(o+=n[e],l=!0):o+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){o+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(a.m){if("^"===n[e]){o+=`(^|(?<=[\r 15]))`;continue}else if("$"===n[e]){o+=`($|(?=[\r 16]))`;continue}}if(a.s&&"."===n[e]){o+=i?`${n[e]}\r 17`:`[${n[e]}\r 18]`;continue}o+=n[e],"\\"===n[e]?s=!0:i&&"]"===n[e]?i=!1:i||"["!==n[e]||(i=!0)}try{new RegExp(o)}catch(r){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function tZ(e,t){var r,a,n,o,s,i;let l={type:"object",additionalProperties:null!=(r=tG(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?r:t.allowedAdditionalProperties};if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodString"&&(null==(n=e.keyType._def.checks)?void 0:n.length)){let{type:r,...a}=tK(e.keyType._def,t);return{...l,propertyNames:a}}if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodEnum")return{...l,propertyNames:{enum:e.keyType._def.values}};if((null==(s=e.keyType)?void 0:s._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(i=e.keyType._def.type._def.checks)?void 0:i.length)){let{type:r,...a}=tA(e.keyType._def,t);return{...l,propertyNames:a}}return l}var tY={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function tG(e,t,r=!1){var a;let n=t.seen.get(e);if(t.override){let o=null==(a=t.override)?void 0:a.call(t,e,t,n,r);if(o!==tT)return o}if(n&&!r){let e=tJ(n,t);if(void 0!==e)return e}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=((e,t,r)=>{var a,n,o,s,i,l;switch(t){case"ZodString":return tK(e,r);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let s=function(e){try{return e.isOptional()}catch(e){return!0}}(o),i=tG(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==i&&(r.properties[e]=i,s||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return tG(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;
18case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=null!=a?a:r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let s={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":s.minimum=e.value;break;case"max":s.maximum=e.value}return s}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(o=e.type)?void 0:o._def)&&(null==(i=null==(s=e.type)?void 0:s._def)?void 0:i.typeName)!=="ZodAny"&&(d.items=tG(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in tY&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let r=tY[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return a=e,n=r,(p=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((e,t)=>tG(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let g,m;return g=[tG(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),tG(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),m=[],g.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)m.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}m.push(t)}}),m.length?{allOf:m}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>tG(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:tG(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>tG(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return tZ(e,r);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,v,b;return y=e.values,{type:1===(b=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===b[0]?"string":"number":["string","number"],enum:v};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[tY[e.innerType._def.typeName],"null"]};let w=tG(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return w&&{anyOf:[w,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===(null==(l=r.propertyPath)?void 0:l.toString()))return tG(e.innerType._def,r);let I=tG(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return I?{anyOf:[{not:{}},I]}:{};case"ZodMap":if("record"===r.mapStrategy)return tZ(e,r);return{type:"array",maxItems:125,items:{type:"array",items:[tG(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},tG(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let S;return S={type:"array",uniqueItems:!0,items:tG(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(S.minItems=e.minSize.value),e.maxSize&&(S.maxItems=e.maxSize.value),S;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return tG(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?tG(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...tG(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return tA(e,r);case"ZodReadonly":case"ZodCatch":return tG(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return tG(e.in._def,r);if("output"===r.pipeStrategy)return tG(e.out._def,r);let _=tG(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),x=tG(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",_?"1":"0"]});return{allOf:[_,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),i="function"==typeof s?tG(s(),t):s;if(i&&tX(e,t,i),t.postProcess){let r=t.postProcess(i,e,t);return o.jsonSchema=i,r}return o.jsonSchema=i,i}var tJ=(e,t)=>
18{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,r)=>t.currentPath[r]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},tX=(e,t,r)=>(e.description&&(r.description=e.description),r),t0=Symbol.for("vercel.ai.schema");function t1(e){let t;return()=>(null==t&&(t=e()),t)}function t2(e,{validate:t}={}){return{[t0]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function t4(e){var t;return null==e?t2({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&t0 in e&&!0===e[t0]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?t5(e):(t=e,t2(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return tE(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let r=await t["~standard"].validate(e);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new eO({value:e,cause:r.issues})}}})):e()}function t5(e,t){var r,a;let n;if("_zod"in e){let a;return a=null!=(r=null==t?void 0:t.useReferences)&&r,t2(()=>tE((0,eD.toJSONSchema)(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async t=>{let r=await (0,eN.safeParseAsync)(e,t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}return n=null!=(a=null==t?void 0:t.useReferences)&&a,t2(()=>((e,t)=>{var r;let a,n,o=(n=void 0!==(a="string"==typeof t?{...tC,name:t}:{...tC,...t}).name?[...a.basePath,a.definitionPath,a.name]:a.basePath,{...a,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(a.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...a.basePath,a.definitionPath,e],jsonSchema:void 0}]))}),s="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>{var a;return{...e,[t]:null!=(a=tG(r._def,{...o,currentPath:[...o.basePath,o.definitionPath,t]},!0))?a:{}}},{}):void 0,i="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(r=tG(e._def,void 0===i?o:{...o,currentPath:[...o.basePath,o.definitionPath,i]},!1))?r:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===i?s?{...l,[o.definitionPath]:s}:l:{$ref:[..."relative"===o.$refStrategy?[]:o.basePath,o.definitionPath,i].join("/"),[o.definitionPath]:{...s,[i]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function t6({value:e,schema:t,context:r}){let a=await t9({value:e,schema:t,context:r});if(!a.success)throw eO.wrap({value:e,cause:a.error,context:r});return a.value}async function t9({value:e,schema:t,context:r}){let a=t4(t);try{if(null==a.validate)return{success:!0,value:e,rawValue:e};let t=await a.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:eO.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:eO.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function t3({text:e,schema:t}){try{let r=tk(e);if(null==t)return r;return await t6({value:r,schema:t})}catch(t){if(e_.isInstance(t)||eO.isInstance(t))throw t;throw new e_({text:e,cause:t})}}async function t7({text:e,schema:t}){try{let r=tk(e);if(null==t)return{success:!0,value:r,rawValue:r};return await t9({value:r,schema:t})}catch(t){return{success:!1,error:e_.isInstance(t)?t:new e_({text:e,cause:t}),rawValue:void 0}}}function t8({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new eL).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await t7({text:e,schema:t}))}}))}var re=()=>globalThis.fetch,rt=async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:n,abort
18Signal:o,fetch:s})=>await rr({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:s}),rr=async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:n,abortSignal:o,fetch:s=re()})=>{try{let i=await s(e,{method:"POST",headers:tf(t,`ai-sdk/provider-utils/${ty}`,tg()),body:r.content,signal:o}),l=ti(i);if(!i.ok){let t;try{t=await n({response:i,url:e,requestBodyValues:r.values})}catch(t){if(tc(t)||eu.isInstance(t))throw t;throw new eu({message:"Failed to process error response",cause:t,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw t.value}try{return await a({response:i,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error&&(tc(t)||eu.isInstance(t)))throw t;throw new eu({message:"Failed to process successful response",cause:t,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(t){throw th({error:t,url:e,requestBodyValues:r.values})}};function ra({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({onInputStart:n,onInputDelta:o,onInputAvailable:s,...i})=>({type:"provider",isProviderExecuted:!0,id:e,args:i,inputSchema:t,outputSchema:r,onInputStart:n,onInputDelta:o,onInputAvailable:s,supportsDeferredResults:a})}async function rn(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}var ro=new TextDecoder;async function rs({response:e,url:t}){return ro.decode(await ts({response:e,url:t}))}var ri=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:n,requestBodyValues:o})=>{let s=await rs({response:a,url:n}),i=ti(a);if(""===s.trim())return{responseHeaders:i,value:new eu({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,isRetryable:null==r?void 0:r(a)})};try{let l=await t3({text:s,schema:e});return{responseHeaders:i,value:new eu({message:t(l),url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,data:l,isRetryable:null==r?void 0:r(a,l)})}}catch(e){return{responseHeaders:i,value:new eu({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,isRetryable:null==r?void 0:r(a)})}}},rl=e=>async({response:t,url:r,requestBodyValues:a})=>{let n=await rs({response:t,url:r}),o=await t7({text:n,schema:e}),s=ti(t);if(!o.success)throw new eu({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:s,responseBody:n,url:r,requestBodyValues:a});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}};async function*ru({stream:e,schema:t}){let r=e.getReader(),a=new TextDecoder,n="",o=!1;try{for(;;){let{done:e,value:s}=await r.read();if(e){o=!0,n+=a.decode();break}let i=(n+=a.decode(s,{stream:!0})).indexOf("\n");for(;-1!==i;){let e=n.slice(0,i).replace(/\r$/,"");n=n.slice(i+1),e.trim().length>0&&(yield await t3({text:e,schema:t})),i=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await t3({text:e,schema:t}))}finally{o||await r.cancel().catch(()=>{}),r.releaseLock()}}function rc(e){if(null==e)return!0;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"function"!==t&&"symbol"!==t&&"bigint"!==t&&(Array.isArray(e)?e.every(rc):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(rc))}var rd="AI_SerializationError",rp=`vercel.ai.error.${rd}`,rh=Symbol.for(rp),rg=class extends(b=eo,v=rh,b){constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:rd,message:e,cause:t}),this[v]=!0}static isInstance(e){return eo.hasMarker(e,rp)}};function rm(e){let t={};for(let[r,a]of Object.entries(e.config))if("headers"===r){let e=function(e){let t=e;if("function"==typeof e&&(t=e()),t instanceof Promise)throw new rg({message:"Cannot serialize asynchronous model options."});return t}(a);rc(e)&&(t[r]=e)}else rc(a)&&(t[r]=a);return{modelId:e.modelId,config:t}}function rf(e){return"string"==typeof e}function ry(e){return"number"==typeof e}function rv(e,t){return void 0===e||t(e)}function rb(e){return tb(e)&&rf(e.type)}function rw(e){return tb(e)&&rf(e.text)&&ry(e.startSecond)&&ry(e.endSecond)}var rI=e.i(467034),rS=e.i(362201),r_=e.i(725150),rx="ai-gateway-transcription.v1";function rk(e,t,r){let a=[e,`ai-gateway-auth.${t}`];return(null==r?void 0:r.teamIdOrSlug)&&a.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(r.teamIdOrSlug)}`),a}var rE={any:rS.any,array:rS.array,boolean:rS.boolean,discriminatedUnion:rS.discriminatedUnion,enum:rS.enum,literal:rS.literal,number:rS.number,object:rS.object,record:rS.record,string:rS.string,union:rS.union,unknown:rS.unknown},rM=Symbol.for("vercel.ai.gateway.error"),rT=class e extends(I=Error,w=rM,I){constructor({message:e,statusCode:t=500,cause:r,generationId:a,isRetryable:n=null!=t&&(408===t||409===t||429===t||t>=500)}){super(a?`${e} [${a}]`:e),this[w]=!0,this.statusCode=t,this.cause=r,this.generationId=a,this.isRetryable=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&rM in e&&!0===e[rM]}},rC="GatewayAuthenticationError",rA=Symbol.for(`vercel.ai.gateway.error.${rC}`),rR=class e extends(_=rT,S=rA,_){constructor({message:e="Authentication failed",statusCode:t=401,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[S]=!0,this.name=rC,this.type="authentication_error"}static isInstance(e){return rT.hasMarker(e)&&rA in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,statusCode:a=401,cause:n,generationId:o}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token. 19 20Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys 21 22Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?`AI Gateway authentication failed: Invalid OIDC token. 23 24Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token. 25 26Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys 27or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided. 28 29Option 1 - API key: 30Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys 31Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable. 32 33Option 2 - Vercel access token: 34Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option. 35 36Option 3 - OIDC token: 37Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:n,generationId:o})}},rj="GatewayInvalidRequestError",rO=Symbol.for(`vercel.ai.gateway.error.${rj}`),rP=class extends(k=rT,x=rO,k){constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[x]=!0,this.name=rj,this.type="invalid_request_error"}static isInstance(e){return rT.hasMarker(e)&&rO in e}},rN="GatewayRateLimitError",rD=Symbol.for(`vercel.ai.gateway.error.${rN}`),rq=class extends(M=rT,E=rD,M){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[E]=!0,this.name=rN,this.type="rate_limit_exceeded"}static isInstance(e){return rT.hasMarker(e)&&rD in e}},r$="GatewayModelNotFoundError",rF=Symbol.for(`vercel.ai.gateway.error.${r$}`),rU=t1(()=>t5(rE.object({modelId:rE.string()}))),rL=class extends(C=rT,T=rF,C){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:n}={}){super({message:e,statusCode:t,cause:a,generationId:n}),this[T]=!0,this.name=r$,this.type="model_not_found",this.modelId=r}
37static isInstance(e){return rT.hasMarker(e)&&rF in e}},rB="GatewayNotFoundError",rK=Symbol.for(`vercel.ai.gateway.error.${rB}`),rH=class extends(R=rT,A=rK,R){constructor({message:e="Resource not found",statusCode:t=404,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[A]=!0,this.name=rB,this.type="not_found"}static isInstance(e){return rT.hasMarker(e)&&rK in e}},rV="GatewayInternalServerError",rQ=Symbol.for(`vercel.ai.gateway.error.${rV}`),rW=class extends(O=rT,j=rQ,O){constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[j]=!0,this.name=rV,this.type="internal_server_error"}static isInstance(e){return rT.hasMarker(e)&&rQ in e}},rz="GatewayFailedDependencyError",rZ=Symbol.for(`vercel.ai.gateway.error.${rz}`),rY=class extends(N=rT,P=rZ,N){constructor({message:e="Failed dependency",statusCode:t=424,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[P]=!0,this.name=rz,this.type="failed_dependency"}static isInstance(e){return rT.hasMarker(e)&&rZ in e}},rG="GatewayForbiddenError",rJ=Symbol.for(`vercel.ai.gateway.error.${rG}`),rX=t1(()=>t5(rE.object({ruleId:rE.string()}))),r0=class extends(q=rT,D=rJ,q){constructor({message:e="Forbidden",statusCode:t=403,cause:r,generationId:a,ruleId:n}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[D]=!0,this.name=rG,this.type="forbidden",this.ruleId=n}static isInstance(e){return rT.hasMarker(e)&&rJ in e}},r1="GatewayResponseError",r2=Symbol.for(`vercel.ai.gateway.error.${r1}`),r4=class extends(F=rT,$=r2,F){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:n,generationId:o,isRetryable:s}={}){super({message:e,statusCode:t,cause:n,generationId:o,isRetryable:s}),this[$]=!0,this.name=r1,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return rT.hasMarker(e)&&r2 in e}};async function r5({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:n,isRetryable:o}){var s;let i=await t9({value:e,schema:r6});if(!i.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new r4({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:n,isRetryable:o})}let l=i.value,u=l.error.type,c=l.error.message,d=null!=(s=l.generationId)?s:void 0;switch(u){case"authentication_error":return rR.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:a,generationId:d});case"invalid_request_error":return new rP({message:c,statusCode:t,cause:a,generationId:d});case"rate_limit_exceeded":return new rq({message:c,statusCode:t,cause:a,generationId:d});case"model_not_found":{let e=await t9({value:l.error.param,schema:rU});return new rL({message:c,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:d})}case"not_found":return new rH({message:c,statusCode:t,cause:a,generationId:d});case"internal_server_error":default:return new rW({message:c,statusCode:t,cause:a,generationId:d});case"failed_dependency":return new rY({message:c,statusCode:t,cause:a,generationId:d});case"forbidden":{let e=await t9({value:l.error.param,schema:rX});return new r0({message:c,statusCode:t,cause:a,generationId:d,ruleId:e.success?e.value.ruleId:void 0})}}}var r6=t1(()=>t5(rE.object({error:rE.object({message:rE.string(),type:rE.string().nullish(),param:rE.unknown().nullish(),code:rE.union([rE.string(),rE.number()]).nullish()}),generationId:rE.string().nullish()}))),r9="GatewayTimeoutError",r3=Symbol.for(`vercel.ai.gateway.error.${r9}`),r7=class e extends(L=rT,U=r3,L){constructor({message:e="Request timed out",statusCode:t=408,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[U]=!0,this.name=r9,this.type="timeout_error"}static isInstance(e){return rT.hasMarker(e)&&r3 in e}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:n}){return new e({message:`Gateway request timed out: ${t} 38 39 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:r,cause:a,generationId:n})}};function r8(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function ae(e,t){var r;return rT.isInstance(e)?e:r8(e)?r7.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):eu.isInstance(e)?e.cause&&r8(e.cause)?r7.createTimeoutError({originalMessage:e.message,cause:e}):await r5({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return tk(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await r5({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var at="ai-gateway-auth-method",ar="x-vercel-ai-gateway-team";async function aa(e){let t=await t9({value:e[at],schema:an});return t.success?t.value:void 0}var an=t1(()=>t5(rE.union([rE.literal("api-key"),rE.literal("oidc")]))),ao=["embedding","image","language","realtime","reranking","speech","transcription","video"],as=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await tv({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await rn(this.config.headers):void 0,successfulResponseHandler:rl(ai),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await ae(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await tv({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await rn(this.config.headers):void 0,successfulResponseHandler:rl(al),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await ae(e)}}},ai=t1(()=>t5(rE.object({models:rE.array(rE.object({id:rE.string(),name:rE.string(),description:rE.string().nullish(),pricing:rE.object({input:rE.string(),output:rE.string(),input_cache_read:rE.string().nullish(),input_cache_write:rE.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:rE.object({specificationVersion:rE.literal("v4"),provider:rE.string(),modelId:rE.string()}),modelType:rE.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||ao.includes(e.modelType)))}))),al=t1(()=>t5(rE.object({balance:rE.string(),total_used:rE.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),au=class{constructor(e){this.config=e}
39async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await tv({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await rn(this.config.headers):void 0,successfulResponseHandler:rl(ac),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await ae(e)}}},ac=t1(()=>t5(rE.object({results:rE.array(rE.object({day:rE.string().optional(),hour:rE.string().optional(),user:rE.string().optional(),model:rE.string().optional(),tag:rE.string().optional(),provider:rE.string().optional(),credential_type:rE.enum(["byok","system"]).optional(),total_cost:rE.number(),market_cost:rE.number().optional(),input_tokens:rE.number().optional(),output_tokens:rE.number().optional(),cached_input_tokens:rE.number().optional(),cache_creation_input_tokens:rE.number().optional(),reasoning_tokens:rE.number().optional(),request_count:rE.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:s,reasoning_tokens:i,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==s?{cacheCreationInputTokens:s}:{},...void 0!==i?{reasoningTokens:i}:{},...void 0!==l?{requestCount:l}:{}})))}))),ad=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await tv({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await rn(this.config.headers):void 0,successfulResponseHandler:rl(ap),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await ae(e)}}},ap=t1(()=>t5(rE.object({data:rE.object({id:rE.string(),total_cost:rE.number(),upstream_inference_cost:rE.number(),usage:rE.number(),created_at:rE.string(),model:rE.string(),is_byok:rE.boolean(),provider_name:rE.string(),streamed:rE.boolean(),finish_reason:rE.string(),latency:rE.number(),generation_time:rE.number(),native_tokens_prompt:rE.number(),native_tokens_completion:rE.number(),native_tokens_reasoning:rE.number(),native_tokens_cached:rE.number(),native_tokens_cache_creation:rE.number(),billable_web_search_calls:rE.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:s,native_tokens_prompt:i,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:c,native_tokens_cache_creation:d,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:s,promptTokens:i,completionTokens:l,reasoningTokens:u,cachedTokens:c,cacheCreationTokens:d,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),ah=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[eB](e){return rm({modelId:e.modelId,config:e.config})}static[eK](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:o,value:s,rawValue:i}=await rt({url:this.getUrl(),headers:eH(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await rn(this.config.o11yHeaders)),body:t,successfulResponseHandler:rl(rE.any()),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(e){throw await ae(e,await aa(null!=n?n:{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rn(this.config.headers):void 0;try{let o,{value:s,responseHeaders:i}=await rt({url:this.getUrl(),headers:eH(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await rn(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=rE.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=ti(e);if(null==e.body)throw new eh({});
39return{responseHeaders:a,value:t8({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),s=!1,i=()=>{s||(o.releaseLock(),s=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(i(),e.close()):e.enqueue(r)}catch(o){if(i(),tc(o))return void e.error(o);e.error(th({error:new eu({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{i()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){if(t.success){let a=t.value;("raw"!==a.type||e.includeRawChunks)&&("response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await ae(e,await aa(null!=n?n:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=ag(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=ag(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function ag(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:rI.Buffer.from(t).toString("base64")}}return e}var am=class e extends ah{static[eB](e){return ah[eB](e)}static[eK](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o;let s=this.config.headers?await rn(this.config.headers):void 0,i=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await rt({url:this.getBatchUrl("start"),headers:eH(s,r,this.getBatchConfigHeaders(),await rn(this.config.o11yHeaders),null!=i?{"idempotency-key":i}:void 0),body:{...null!=n&&{callbackUrl:n},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=l&&{providerOptions:l}},successfulResponseHandler:rl(ax),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...ay(t),warnings:null!=(o=t.warnings)?o:[]}}catch(e){if(af(e))throw e;throw await ae(e,await aa(null!=s?s:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rn(this.config.headers):void 0;try{let{value:n}=await rt({url:this.getBatchUrl("status"),headers:eH(a,t,this.getBatchConfigHeaders(),await rn(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:rl(ak),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return ay(n)}catch(e){if(af(e))throw e;throw await ae(e,await aa(null!=a?a:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rn(this.config.headers):void 0;try{var n;let o,{value:s}=await rt({url:this.getBatchUrl("results"),headers:eH(a,t,this.getBatchConfigHeaders(),await rn(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=ti(e);if(null==e.body)throw new eh({});
39return{responseHeaders:t,value:ru({stream:e.body,schema:ab})}},failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=av(s),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch(e){}}})}catch(e){if(af(e))throw e;throw await ae(e,await aa(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function af(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function ay(e){var t,r,a,n;let o=function({total:e,pending:t,completed:r,failed:a}){if(tI(e)&&tI(t)&&tI(r)&&tI(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(r=e.requestCounts)?void 0:r.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=o&&{requestCounts:o},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*av(e){var t;for await(let r of e){if("succeeded"===r.status){let e=null==(t=r.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield r}}var ab=rE.object({id:rE.string(),status:rE.enum(["cancelled","expired","failed","succeeded"])}).catchall(rE.unknown()),aw=rE.object({message:rE.string(),type:rE.string().nullish(),code:rE.string().nullish(),statusCode:rE.number().nullish()}),aI=rE.object({total:rE.number().nullish(),pending:rE.number().nullish(),completed:rE.number().nullish(),failed:rE.number().nullish()}),aS=rE.record(rE.string(),rE.record(rE.string(),rE.unknown())),a_=rE.object({status:rE.enum(["completed","failed","pending"]),rawStatus:rE.string().nullish(),requestCounts:aI.nullish(),error:aw.nullish(),createdAt:rE.string().nullish(),expiresAt:rE.string().nullish(),providerMetadata:aS.nullish()}),ax=a_.extend({batchId:rE.string(),warnings:rE.array(rE.object({requestId:rE.string().nullish(),warning:rE.unknown()}).catchall(rE.unknown())).nullish()}),ak=a_,aE=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[eB](e){return rm({modelId:e.modelId,config:e.config})}static[eK](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var n,o;let s=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:i,value:l,rawValue:u}=await rt({url:this.getUrl(),headers:eH(s,null!=t?t:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:rl(aT),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:l.embeddings,usage:null!=(n=l.usage)?n:void 0,providerMetadata:l.providerMetadata,response:{headers:i,body:u},warnings:null!=(o=l.warnings)?o:[]}}catch(e){throw await ae(e,await aa(null!=s?s:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},aM=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),aT=t1(()=>t5(rE.object({embeddings:rE.array(rE.array(rE.number())),usage:rE.object({tokens:rE.number()}).nullish(),warnings:rE.array(aM).optional(),providerMetadata:rE.record(rE.string(),rE.record(rE.string(),rE.unknown())).optional()}))),aC=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[eB](e){return rm({modelId:e.modelId,config:e.config})}static[eK](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var c,d,p,h;let g=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:m,value:f}=await rt({url:this.getUrl(),headers:eH(g,null!=l?l:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...i&&{providerOptions:i},...o&&{files:o.map(e=>aA(e))},...s&&{mask:aA(s)}},successfulResponseHandler:rl(aP),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}
39),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(c=f.warnings)?c:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:m},...null!=f.usage&&{usage:{inputTokens:null!=(d=f.usage.inputTokens)?d:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await ae(e,await aa(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function aA(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:eJ(e.data)}:e}var aR=rE.object({images:rE.array(rE.unknown()).optional()}).catchall(rE.unknown()),aj=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),aO=rE.object({inputTokens:rE.number().nullish(),outputTokens:rE.number().nullish(),totalTokens:rE.number().nullish()}),aP=rE.object({images:rE.array(rE.string()),warnings:rE.array(aj).optional(),providerMetadata:rE.record(rE.string(),aR).optional(),usage:aO.optional()}),aN=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,r;let{headers:a,abortSignal:n}=e,o=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:s,value:i}=await rt({url:this.getUrl(),headers:eH(o,null!=a?a:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new eu({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=t8({stream:e.body,schema:aU}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new eu({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new eu({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let s=o.value;if("error"===s.type)throw new eu({message:s.message,statusCode:s.statusCode,url:t,requestBodyValues:r,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(s),data:{error:{message:s.message,type:s.errorType,param:s.param}}});return{value:{videos:s.videos,warnings:s.warnings,providerMetadata:s.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:i.videos,warnings:null!=(t=i.warnings)?t:[],providerMetadata:null!=(r=i.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:s}}}catch(e){throw await ae(e,await aa(null!=o?o:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){var t,r;let{headers:a,abortSignal:n,webhookUrl:o}=e,s=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await rt({url:this.getStartUrl(),headers:eH(s,null!=a?a:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...o&&{callbackUrl:o}},successfulResponseHandler:rl(aL),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:l.operation,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(r=l.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await ae(e,await aa(null!=s?s:{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){var a,n,o,s,i,l;let u=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:c,value:d}=await rt({url:this.getStatusUrl(),headers:eH(u,null!=r?r:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:rl(aB),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}
39),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:c};if("completed"===d.status)return{status:"completed",videos:d.videos,warnings:null!=(a=d.warnings)?a:[],providerMetadata:null!=(n=d.providerMetadata)?n:void 0,response:p};if("error"===d.status)return{status:"error",error:d.error,providerMetadata:null!=(o=d.providerMetadata)?o:void 0,response:p};if("cancelled"===d.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(s=d.providerMetadata)?s:void 0,response:p};return{status:"pending",warnings:null!=(i=d.warnings)?i:[],providerMetadata:null!=(l=d.providerMetadata)?l:void 0,response:p}}catch(e){throw await ae(e,await aa(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:s,generateAudio:i,image:l,frameImages:u,inputReferences:c,providerOptions:d}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...s&&{seed:s},...void 0!==i&&{generateAudio:i},...d&&{providerOptions:d},...l&&{image:aD(l)},...u&&{frameImages:u.map(e=>({...e,image:aD(e.image)}))},...c&&{inputReferences:c.map(e=>aD(e))}}}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 aD(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:eJ(e.data)}:e}var aq=rE.object({videos:rE.array(rE.unknown()).optional()}).catchall(rE.unknown()),a$=rE.union([rE.object({type:rE.literal("url"),url:rE.string(),mediaType:rE.string()}),rE.object({type:rE.literal("base64"),data:rE.string(),mediaType:rE.string()})]),aF=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),aU=rE.discriminatedUnion("type",[rE.object({type:rE.literal("result"),videos:rE.array(a$),warnings:rE.array(aF).optional(),providerMetadata:rE.record(rE.string(),aq).optional()}),rE.object({type:rE.literal("error"),message:rE.string(),errorType:rE.string(),statusCode:rE.number(),param:rE.unknown().nullable()})]),aL=rE.object({operation:rE.unknown(),warnings:rE.array(aF).nullish(),providerMetadata:rE.record(rE.string(),aq).nullish()}),aB=rE.discriminatedUnion("status",[rE.object({status:rE.literal("pending"),warnings:rE.array(aF).nullish(),providerMetadata:rE.record(rE.string(),aq).nullish()}),rE.object({status:rE.literal("completed"),videos:rE.array(a$),warnings:rE.array(aF).nullish(),providerMetadata:rE.record(rE.string(),aq).nullish()}),rE.object({status:rE.literal("error"),error:rE.string(),providerMetadata:rE.record(rE.string(),aq).nullish()}),rE.object({status:rE.literal("cancelled"),providerMetadata:rE.record(rE.string(),aq).nullish()})]),aK=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:r,headers:a,abortSignal:n,providerOptions:o}){var s;let i=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:l,value:u,rawValue:c}=await rt({url:this.getUrl(),headers:eH(i,null!=a?a:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:rl(aV),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:l,body:c},warnings:null!=(s=u.warnings)?s:[]}}catch(e){throw await ae(e,await aa(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},aH=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),aV=t1(()=>t5(rE.object({ranking:rE.array(rE.object({index:rE.number(),relevanceScore:rE.number()})),warnings:rE.array(aH).optional(),providerMetadata:rE.record(rE.string(),rE.record(rE.string(),rE.unknown())).optional()}))),aQ=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:r,instructions:a,speed:n,language:o,providerOptions:s,headers:i,abortSignal:l}){var u;
39let c=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:d,value:p,rawValue:h}=await rt({url:this.getUrl(),headers:eH(c,null!=i?i:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...s&&{providerOptions:s}},successfulResponseHandler:rl(aZ),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:h}}}catch(e){throw await ae(e,await aa(null!=c?c:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},aW=rE.object({}).catchall(rE.unknown()),az=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),aZ=rE.object({audio:rE.string(),warnings:rE.array(az).optional(),providerMetadata:rE.record(rE.string(),aW).optional()}),aY=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:r,headers:a,abortSignal:n}){var o,s,i,l;let u=this.config.headers?await rn(this.config.headers):void 0;try{let{responseHeaders:c,value:d,rawValue:p}=await rt({url:this.getUrl(),headers:eH(u,null!=a?a:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?eJ(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:rl(a0),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:d.text,segments:null!=(o=d.segments)?o:[],language:null!=(s=d.language)?s:void 0,durationInSeconds:null!=(i=d.durationInSeconds)?i:void 0,warnings:null!=(l=d.warnings)?l:[],providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:p}}}catch(e){throw await ae(e,await aa(null!=u?u:{}))}}async doStream(e){var t,r,a,n,o;let s,i,l,u=null!=(a=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?a:new Date,c=eH(await rn(null!=(n=this.config.headers)?n:{}),null!=(o=e.headers)?o:{},this.getModelConfigHeaders(),await rn(this.config.o11yHeaders)),d=await aa(c),p={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:s,authMethod:i}){let l=!1,u=()=>{};return new ReadableStream({start:c=>{let d,p,h,g=!1,m=!1;u=e=>{null!=d?d.cancel().catch(()=>{}):o.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{l||(l=!0,u(),a1(c,e,i))},y=async e=>{let t=o.getReader();d=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=eG(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await eZ(e)}}finally{t.releaseLock(),d===t&&(d=void 0)}l||m||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:s,onProcessingError:i,onSocketError:l,onClose:u,onAbort:c}){var d,p;let h,g,m=e=>{null!=g&&(null==n||n.removeEventListener("abort",g),g=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==c||c(null!=(d=n.reason)?d:Error("Aborted")),{socket:void 0,close:m};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(p=null!=r?r:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return i(e),{socket:void 0,close:m}}null!=n&&null!=c&&(g=()=>{var e;return c(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",g,{once:!0}));let f=h;h.onopen=()=>{try{null==o||o(f)}catch(e){i(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>ez(e.data)).then(e=>s(e)).catch(i)},h.onerror=()=>{y=y.then(()=>null==l?void 0:l()).catch(i)}
39,h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,r="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:r})).catch(i)},{socket:h,close:m}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:s,onAbort:e=>{l||(l=!0,u(),c.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=tk(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(rb)?r:void 0;case"transcript-delta":return rf(r.delta)&&rv(r.id,rf)&&rv(r.providerMetadata,tb)?r:void 0;case"transcript-partial":return rf(r.text)&&rv(r.id,rf)&&rv(r.startSecond,ry)&&rv(r.durationInSeconds,ry)&&rv(r.channelIndex,ry)&&rv(r.providerMetadata,tb)?r:void 0;case"transcript-final":return rf(r.text)&&rv(r.id,rf)&&rv(r.startSecond,ry)&&rv(r.endSecond,ry)&&rv(r.channelIndex,ry)&&rv(r.providerMetadata,tb)?r:void 0;case"finish":return rf(r.text)&&Array.isArray(r.segments)&&r.segments.every(rw)&&rv(r.language,rf)&&rv(r.durationInSeconds,ry)&&rv(r.providerMetadata,tb)?r:void 0;case"response-metadata":{if(!(rv(r.modelId,rf)&&rv(r.headers,tb)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,c.enqueue(t),c.close(),u(1e3);return}"error"===t.type&&(g=!0,p=t.error,m=!0,null!=d?(d.cancel().catch(()=>{}),d=void 0):o.cancel().catch(()=>{})),c.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(g){if(l)return;a4(p,i).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:aG(this.config.baseURL,this.modelId),protocols:null==(l=(null==(i=(s=tm(c)).authorization)?void 0:i.startsWith("Bearer "))?i.slice(7):void 0)?[rx]:rk(rx,l,{teamIdOrSlug:s[ar]}),headers:c,startFrame:p,audio:e.audio,abortSignal:e.abortSignal,authMethod:d}),request:{body:p},response:{timestamp:u,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function aG(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}var aJ=rE.object({}).catchall(rE.unknown()),aX=rE.discriminatedUnion("type",[rE.object({type:rE.literal("unsupported"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("compatibility"),feature:rE.string(),details:rE.string().optional()}),rE.object({type:rE.literal("deprecated"),setting:rE.string(),message:rE.string()}),rE.object({type:rE.literal("other"),message:rE.string()})]),a0=rE.object({text:rE.string(),segments:rE.array(rE.object({text:rE.string(),startSecond:rE.number(),endSecond:rE.number()})).optional(),language:rE.string().nullish(),durationInSeconds:rE.number().nullish(),warnings:rE.array(aX).optional(),providerMetadata:rE.record(rE.string(),aJ).optional()});async function a1(e,t,r){e.error(await ae(t,r))}var a2={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 a4(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in a2?r5({response:{error:{message:e.message,type:e.type}},statusCode:a2[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:eg(e)}`)}var a5=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:rk("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},a6=ra({id:"gateway.exa_search",inputSchema:t1(()=>t5(rE.object({query:rE.string().describe("Natural-language web search query. This is required."),type:rE.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:rE.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:rE.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:rE.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:rE.array(rE.string()).optional().describe("Only return results from these domains."),exclude_domains:rE.array(rE.string()).optional().describe("Exclude results from these domains."),start_published_date:rE.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:rE.string().optional().describe("Only return links published before this ISO 8601 date."),contents:rE.object({text:rE.union([rE.boolean(),rE.object({max_characters:rE.number().optional(),include_html_tags:rE.boolean().optional(),verbosity:rE.enum(["compact","standard","full"]).optional(),include_sections:rE.array(rE.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:rE.array(rE.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:rE.union([rE.boolean(),rE.object({query:rE.string().optional(),max_characters:rE.number().optional()})]).optional(),max_age_hours:rE.number().optional(),livecrawl_timeout:rE.number().optional(),subpages:rE.number().optional(),subpage_target:rE.union([rE.string(),rE.array(rE.string())]).optional(),extras:rE.object({links:rE.number().optional(),image_links:rE.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}
39))),outputSchema:t1(()=>t5(rE.union([rE.object({requestId:rE.string(),searchType:rE.string().optional(),resolvedSearchType:rE.string().optional(),results:rE.array(rE.object({title:rE.string(),url:rE.string(),id:rE.string(),publishedDate:rE.string().nullable().optional(),author:rE.string().nullable().optional(),image:rE.string().nullable().optional(),favicon:rE.string().nullable().optional(),text:rE.string().optional(),highlights:rE.array(rE.string()).optional(),highlightScores:rE.array(rE.number()).optional(),summary:rE.string().optional(),subpages:rE.array(rE.any()).optional(),extras:rE.object({links:rE.array(rE.string()).optional(),imageLinks:rE.array(rE.string()).optional()}).optional()})),costDollars:rE.object({total:rE.number().optional(),search:rE.record(rE.string(),rE.number()).optional()}).optional()}),rE.object({error:rE.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:rE.number().optional(),message:rE.string()})])))}),a9=ra({id:"gateway.parallel_search",inputSchema:t1(()=>t5(rE.object({objective:rE.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:rE.array(rE.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:rE.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:rE.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:rE.object({include_domains:rE.array(rE.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:rE.array(rE.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:rE.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:rE.object({max_chars_per_result:rE.number().optional().describe("Maximum characters per result."),max_chars_total:rE.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:rE.object({max_age_seconds:rE.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.")}
39))),outputSchema:t1(()=>t5(rE.union([rE.object({searchId:rE.string(),results:rE.array(rE.object({url:rE.string(),title:rE.string(),excerpt:rE.string(),publishDate:rE.string().nullable().optional(),relevanceScore:rE.number().optional()}))}),rE.object({error:rE.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:rE.number().optional(),message:rE.string()})])))}),a3=ra({id:"gateway.perplexity_search",inputSchema:t1(()=>t5(rE.object({query:rE.union([rE.string(),rE.array(rE.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:rE.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:rE.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:rE.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:rE.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:rE.array(rE.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:rE.array(rE.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:rE.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:rE.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:rE.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:rE.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:rE.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}
39))),outputSchema:t1(()=>t5(rE.union([rE.object({results:rE.array(rE.object({title:rE.string(),url:rE.string(),snippet:rE.string(),date:rE.string().optional(),lastUpdated:rE.string().optional()})),id:rE.string()}),rE.object({error:rE.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:rE.number().optional(),message:rE.string()})])))}),a7=rE.object({count:rE.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:rE.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:rE.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:rE.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:rE.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:rE.array(rE.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:rE.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),a8=rE.object({count:rE.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:rE.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:rE.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:rE.array(rE.string()).optional().describe("Only return results from these bare domains."),exclude_domains:rE.array(rE.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:rE.number().optional().describe("Maximum characters in each web-result snippet."),highlights:rE.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:rE.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:rE.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:rE.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ne=t1(()=>t5(rE.object({query:rE.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:rE.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:rE.object({data:a7.optional(),web:a8.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:rE.object({latitude:rE.number().describe("Latitude between -90 and 90."),longitude:rE.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:rE.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:rE.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:rE.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:rE.object({image_dark_mode:rE.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:rE.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:rE.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),nt=rE.union([rE.boolean(),rE.number(),rE.string()]).nullable(),nr=rE.object({content_format:rE.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:rE.number().optional(),data:rE.string().nullish(),records:rE.array(rE.record(rE.string(),nt)).nullish(),dataset:rE.object({columns:rE.array(rE.object({name:rE.string(),type:rE.enum(["boolean","date","datetime","number","string"]),unit:rE.string().nullish()})),rows:rE.array(rE.array(nt)),total_rows:rE.number(),truncated:rE.boolean(),ref:rE.string(),sources:rE.array(rE.object({name:rE.string(),index:rE.enum(["data","web"]).optional()})),provenance:rE.enum(["query","web_extraction"]).optional()}).nullish(),card_data:rE.object({}).passthrough().nullish(),card_data_schema:rE.object({}).passthrough().nullish(),url:rE.string().nullish(),expires_at:rE.string().nullish(),total_rows:rE.number().nullish(),truncated:rE.boolean().optional(),export_pricing:rE.object({baseline_usd:rE.number(),free_rows:rE.number(),max_rows_ceiling:rE.number(),row_cpm_usd:rE.number()}).nullish(),manifest:rE.array(rE.object({dtype:rE.enum(["boolean","date","datetime","number","string"]).nullish(),entity:rE.string().nullish(),metric:rE.string().nullish(),name:rE.string().nullish(),unit:rE.string().nullish()})).nullish()}).passthrough(),na=rE.object({card_id:rE.string().nullish(),title:rE.string().nullish(),description:rE.string().nullish(),semantic_description:rE.string().nullish(),webpage_url:rE.string().nullish(),image_url:rE.string().nullish(),embed_url:rE.string().nullish(),sources:rE.array(rE.object({source_name:rE.string().nullish(),source_description:rE.string().nullish(),source_index:rE.enum(["data","web"]),source_text:rE.string().nullish(),url:rE.string().nullish()})).nullish(),methodologies:rE.array(rE.object({methodology_name:rE.string().nullable(),methodology_description:rE.string().nullable()})).nullish(),source_indexes:rE.array(rE.enum(["data","web"])).nullish(),card_type:rE.string().nullish(),relevance:rE.enum(["High","Low","Medium"]).nullish(),content:nr.nullish(),exportable:rE.boolean().optional(),nodes:rE.array(rE.object({id:rE.string(),type:rE.enum(["entity","metric"]),name:rE.string(),description:rE.string().nullish()})).nullish(),metric_definitions:rE.array(rE.object({name:rE.string(),definition:rE.string()})).nullish(),data_freshness:rE.object({coverage_end:rE.string().nullish(),data_as_of:rE.string().nullish(),last_updated:rE.string().nullish()}).nullish()}).passthrough(),nn=rE.object({title:rE.string(),url:rE.string(),snippet:rE.string().nullish(),source_name:rE.string().nullish(),publish_date:rE.string().nullish(),content:nr.nullish()}).passthrough(),no=ra({id:"gateway.tako_search",inputSchema:ne,outputSc
39hema:t1(()=>t5(rE.union([rE.object({request_id:rE.string(),cards:rE.array(na).optional(),web_results:rE.array(nn).optional(),usage:rE.object({total_cost_usd:rE.number(),compute:rE.object({cost_usd:rE.number()}).nullish(),data:rE.object({cost_usd:rE.number(),datasets:rE.number()}).nullish()}).nullish(),related:rE.array(rE.object({}).passthrough()).nullish()}).passthrough(),rE.object({error:rE.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:rE.number().optional(),message:rE.string()})])))}),ns={exaSearch:(e={})=>a6(e),parallelSearch:(e={})=>a9(e),perplexitySearch:(e={})=>a3(e),takoSearch:(e={})=>no(e)};async function ni(){var e;return null==(e=(0,r_.getContext)().headers)?void 0:e["x-vercel-id"]}var nl=rE.object({token:rE.string(),expiresAt:rE.number().nullish()});async function nu(e){let t=tw({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,r_.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t,r,a;let n=null,o=null,s=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(r=null==(a=e.baseURL)?void 0:a.replace(/\/$/,""))?r:"https://ai-gateway.vercel.sh/v4/ai",u=t=>tf({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[at]:t.authMethod,...null!=e.teamIdOrSlug?{[ar]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.70"),c=async()=>{try{return u(await nu(e))}catch(e){throw rR.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},d=async()=>{try{return await nu(e)}catch(e){throw rR.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=async t=>{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 r=u(await d()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await rt({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:rl(nl),failedResponseHandler:ri({errorSchema:rE.any(),errorToMessage:e=>{var t;return null!=(t=eg(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await ae(e,await aa(r))}},h=()=>{let e=tw({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=tw({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=tw({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=tw({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await ni();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},g=t=>new am(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()}),m=async()=>{var t,r,a;let u=null!=(a=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?a:Date.now();return(!n||u-i>s)&&(i=u,n=new as({baseURL:l,headers:c,fetch:e.fetch}).getAvailableModels().then(e=>(o=e,e)).catch(async e=>{throw await ae(e,await aa(await c()))})),o?Promise.resolve(o):n},f=async()=>new as({baseURL:l,headers:c,fetch:e.fetch}).getCredits().catch(async e=>{throw await ae(e,await aa(await c()))}),y=async t=>new au({baseURL:l,headers:c,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await ae(e,await aa(await c()))}),v=async t=>new ad({baseURL:l,headers:c,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await ae(e,await aa(await c()))}),b=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return g(e)};b.specificationVersion="v4",b.getAvailableModels=m,b.getCredits=f,b.getSpendReport=y,b.getGenerationInfo=v,b.imageModel=t=>new aC(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()}),b.languageModel=g;let w=t=>new aE(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.embeddingModel=w,b.textEmbeddingModel=w,b.videoModel=t=>new aN(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});let I=t=>new aK(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.rerankingModel=I,b.reranking=I;let S=t=>new aQ(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.speechModel=S,b.speech=S;let _=t=>new aY(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h(),webSocket:e.webSocket});b.transcriptionModel=_,b.transcription=_,b.experimental_transcription=Object.assign(e=>_(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:aG(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let x=t=>new a5(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});b.experimental_realtime=Object.assign(e=>x(e),{getToken:async e=>{let{model:t,...r}=e,a=x(t),n=await a.doCreateClientSecret(r);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=ns}();var nc=Object.defineProperty,nd=Symbol.for("vercel.ai.error.AI_InvalidArgumentError");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 np="AI_NoObjectGeneratedError",nh=`vercel.ai.error.${np}`,ng=Symbol.for(nh),nm=class extends(K=eo,B=ng,K){constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:np,message:e,cause:t}),this[B]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return eo.hasMarker(e,nh)}},nf=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");var ny="AI_UIMessageStreamError",nv=`vercel.ai.error.${ny}`,nb=Symbol.for(nv),nw=class extends(V=eo,H=nb,V){constructor({chunkType:e,chunkId:t,message:r}){super({name:ny,message:r}),this[H]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return eo.hasMarker(e,nv)}},nI=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 nS="7.0.87",n_=async({url:e,maxBytes:t,abortSignal:r})=>{var a;let n=e.toString();try{let e=tf({},`ai-sdk/${nS}`,tg()),o=await to({url:n,headers:e,abortSignal:r});if(!o.ok)throw await eX(o),new e4({url:n,statusCode:o.status,statusText:o.statusText});return{data:await ts({response:o,url:n,maxBytes:null!=t?t:0x80000000}),mediaType:null!=(a=o.headers.get("content-type"))?a:void 0}}catch(e){if(e4.isInstance(e))throw e;throw new e4({url:n,cause:e})}},nx={array:rS.array,boolean:rS.boolean,custom:rS.custom,discriminatedUnion:rS.discriminatedUnion,enum:rS.enum,instanceof:rS.instanceof,lazy:rS.lazy,literal:rS.literal,looseObject:rS.looseObject,never:rS.never,null:rS.null,number:rS.number,object:rS.object,record:rS.record,string:rS.string,union:rS.union,unknown:rS.unknown},nk=nx.lazy(()=>
vendor: 4,117 bytes, line 39
39nx.union([nx.null(),nx.string(),nx.number(),nx.boolean(),nx.record(nx.string(),nk.optional()),nx.array(nk)])),nE=nx.record(nx.string(),nx.record(nx.string(),nk.optional())),nM=nx.union([nx.string(),nx.instanceof(Uint8Array),nx.instanceof(ArrayBuffer),nx.custom(function(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]),nT=nx.record(nx.string(),nx.string()),nC=nx.object({type:nx.literal("text"),text:nx.string(),providerOptions:nE.optional()}),nA=nx.object({type:nx.literal("image"),image:nx.union([nM,nx.instanceof(URL),nT]),mediaType:nx.string().optional(),providerOptions:nE.optional()}),nR=nx.discriminatedUnion("type",[nx.object({type:nx.literal("data"),data:nM}),nx.object({type:nx.literal("url"),url:nx.instanceof(URL)}),nx.object({type:nx.literal("reference"),reference:nT}),nx.object({type:nx.literal("text"),text:nx.string()})]),nj=nx.discriminatedUnion("type",[nx.object({type:nx.literal("data"),data:nM}),nx.object({type:nx.literal("url"),url:nx.instanceof(URL)})]),nO=nx.object({type:nx.literal("file"),data:nx.union([nR,nM,nx.instanceof(URL),nT]),filename:nx.string().optional(),mediaType:nx.string(),providerOptions:nE.optional()}),nP=nx.object({type:nx.literal("reasoning"),text:nx.string(),providerOptions:nE.optional()}),nN=nx.object({type:nx.literal("custom"),kind:nx.string().transform(e=>e),providerOptions:nE.optional()}),nD=nx.object({type:nx.literal("reasoning-file"),data:nx.union([nj,nM,nx.instanceof(URL)]),mediaType:nx.string(),providerOptions:nE.optional()}),nq=nx.object({type:nx.literal("tool-call"),toolCallId:nx.string(),toolName:nx.string(),input:nx.unknown(),providerOptions:nE.optional(),providerExecuted:nx.boolean().optional()}),n$=nx.discriminatedUnion("type",[nx.object({type:nx.literal("text"),value:nx.string(),providerOptions:nE.optional()}),nx.object({type:nx.literal("json"),value:nk,providerOptions:nE.optional()}),nx.object({type:nx.literal("execution-denied"),reason:nx.string().optional(),providerOptions:nE.optional()}),nx.object({type:nx.literal("error-text"),value:nx.string(),providerOptions:nE.optional()}),nx.object({type:nx.literal("error-json"),value:nk,providerOptions:nE.optional()}),nx.object({type:nx.literal("content"),value:nx.array(nx.union([nx.object({type:nx.literal("text"),text:nx.string(),providerOptions:nE.optional()}),nx.object({type:nx.literal("file"),data:nR,mediaType:nx.string(),filename:nx.string().optional(),providerOptions:nE.optional()}),nx.object({type:nx.literal("file-data"),data:nx.string(),mediaType:nx.string(),filename:nx.string().optional(),providerOptions:nE.optional()}),nx.object({type:nx.literal("file-url"),url:nx.string(),mediaType:nx.string().optional(),providerOptions:nE.optional()}),nx.object({type:nx.literal("file-id"),fileId:nx.union([nx.string(),nx.record(nx.string(),nx.string())]),providerOptions:nE.optional()}),nx.object({type:nx.literal("file-reference"),providerReference:nx.record(nx.string(),nx.string()),providerOptions:nE.optional()}),nx.object({type:nx.literal("image-data"),data:nx.string(),mediaType:nx.string(),providerOptions:nE.optional()}),nx.object({type:nx.literal("image-url"),url:nx.string(),providerOptions:nE.optional()}),nx.object({type:nx.literal("image-file-id"),fileId:nx.union([nx.string(),nx.record(nx.string(),nx.string())]),providerOptions:nE.optional()}),nx.object({type:nx.literal("image-file-reference"),providerReference:nx.record(nx.string(),nx.string()),providerOptions:nE.optional()}),nx.object({type:nx.literal("custom"),providerOptions:nE.optional()})]))})]),nF=nx.object({type:nx.literal("tool-result"),toolCallId:nx.string(),toolName:nx.string(),output:n$,providerOptions:nE.optional()}),nU=nx.object({type:nx.literal("tool-approval-request"),approvalId:nx.string(),toolCallId:nx.string(),reason:nx.string().optional()}),nL=nx.object({type:nx.literal("tool-approval-response"),approvalId:nx.string(),approved:nx.boolean(),reason:nx.string().optional()}),nB=nx.object({role:nx.literal("system"),content:nx.string(),providerOptions:nE.optional()}),nK=nx.object({role:nx.literal("user"),content:nx.union([nx.str
39ing(),nx.array(nx.union([nC,nA,nO]))]),providerOptions:nE.optional()}),nH=nx.object({role:nx.literal("assistant"),content:nx.union([nx.string(),nx.array(nx.union([nC,nN,nO,nP,nD,nq,nF,nU]))]),providerOptions:nE.optional()}),nV=nx.object({role:nx.literal("tool"),content:nx.array(nx.union([nF,nL])),providerOptions:nE.optional()});nx.union([nB,nK,nH,nV]);var nQ={},nW={array:()=>nJ,choice:()=>nX,json:()=>n0,object:()=>nG,text:()=>nY};for(var nz in nW)nc(nQ,nz,{get:nW[nz],enumerable:!0});async function nZ(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await t7({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await t7({text:function(e){let t=["ROOT"],r=-1,a=null,n=0;function o(e,n,o){switch(e){case'"':r=n,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=n,a=n,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=n,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=n,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=n,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function s(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case"ROOT":o(u,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=l,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":o(u,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":s(u,l);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),r=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=l}break;case"INSIDE_ARRAY_START":"]"===u?(r=l,t.pop()):(r=l,o(u,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=l,t.pop();break;default:r=l}break;case"INSIDE_ARRAY_AFTER_COMMA":o(u,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),r=l);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(a,l+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?r=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?s(u,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l))}}}let l=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){case"INSIDE_STRING":l+='"';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":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var nY=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),nG=({schema:e,name:t,description:r})=>{let a=t4(e);return{name:"object",responseFormat:rn(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=r&&{description:r}})),async parseCompleteOutput({text:e},t){let r=await t7({text:e});if(!r.success)throw new nm({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await t9({value:r.value,schema:a});if(!n.success)throw new nm({message:"No object generated: response did not match sc
39hema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await nZ(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},nJ=({element:e,name:t,description:r})=>{let a=t4(e);return{name:"array",responseFormat:rn(a.jsonSchema).then(e=>{let{$schema:a,definitions:n,$defs:o,...s}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=n&&{definitions:n},...null!=o&&{$defs:o},type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...null!=t&&{name:t},...null!=r&&{description:r}}}),async parseCompleteOutput({text:e},t){let r=await t7({text:e});if(!r.success)throw new nm({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=r.value;if(null==n||"object"!=typeof n||!("elements"in n)||!Array.isArray(n.elements))throw new nm({message:"No object generated: response did not match schema.",cause:new eO({value:n,cause:"response must be an object with an elements array"}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let o=[];for(let r of n.elements){let n=await t9({value:r,schema:a});if(!n.success)throw new nm({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});o.push(n.value)}return o},async parsePartialOutput({text:e}){let t=await nZ(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let r="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,n=[];for(let e of r){let t=await t9({value:e,schema:a});t.success&&n.push(t.value)}return{partial:n}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},r){if(null!=t)for(;e<t.length;e++)r.enqueue(t[e])}})}}},nX=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=r&&{description:r}}),async parseCompleteOutput({text:t},r){let a=await t7({text:t});if(!a.success)throw new nm({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});let n=a.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new nm({message:"No object generated: response did not match schema.",cause:new eO({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.result},async parsePartialOutput({text:t}){let r=await nZ(t);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=r.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let a=e.filter(e=>e.startsWith(t.result));if("successful-parse"===r.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),n0=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let r=await t7({text:e});if(!r.success)throw new nm({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await nZ(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,tl({prefix:"aitxt",size:24}),tl({prefix:"call",size:24}),TransformStream;var n1=nx.record(nx.string(),nk.optional()),n2=t1(()=>t5(nx.union([nx.looseObject({type:nx.literal("text-start"),id:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("text-delta"),id:nx.string(),delta:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("text-end"),id:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("error"),errorText:nx.string()}),nx.looseObject({type:nx.literal("tool-input-start"),toolCallId:nx.string(),toolName:nx.string(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional(),toolMetadata:n1.optional(),dynamic:nx.boolean().optional(),title:nx.string().optional()}),nx.looseObject({type:nx.literal("tool-input-delta"),toolCallId:nx.string(),inputTextDelta:nx.string()}),nx.looseObject({type:nx.literal("tool-input-available"),toolCallId:nx.string(),toolName:nx.string(),input
39:nx.unknown(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional(),toolMetadata:n1.optional(),dynamic:nx.boolean().optional(),title:nx.string().optional()}),nx.looseObject({type:nx.literal("tool-input-error"),toolCallId:nx.string(),toolName:nx.string(),input:nx.unknown(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional(),toolMetadata:n1.optional(),dynamic:nx.boolean().optional(),errorText:nx.string(),title:nx.string().optional()}),nx.looseObject({type:nx.literal("tool-approval-request"),approvalId:nx.string(),toolCallId:nx.string(),approvalDescriptor:nx.unknown().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()}),nx.looseObject({type:nx.literal("tool-approval-response"),approvalId:nx.string(),approved:nx.boolean(),reason:nx.string().optional(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("tool-output-available"),toolCallId:nx.string(),output:nx.unknown(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional(),toolMetadata:n1.optional(),dynamic:nx.boolean().optional(),preliminary:nx.boolean().optional()}),nx.looseObject({type:nx.literal("tool-output-error"),toolCallId:nx.string(),errorText:nx.string(),providerExecuted:nx.boolean().optional(),providerMetadata:nE.optional(),toolMetadata:n1.optional(),dynamic:nx.boolean().optional()}),nx.looseObject({type:nx.literal("tool-output-denied"),toolCallId:nx.string()}),nx.looseObject({type:nx.literal("reasoning-start"),id:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("reasoning-delta"),id:nx.string(),delta:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("reasoning-end"),id:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("custom"),kind:nx.string().transform(e=>e),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("source-url"),sourceId:nx.string(),url:nx.string(),title:nx.string().optional(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("source-document"),sourceId:nx.string(),mediaType:nx.string(),title:nx.string(),filename:nx.string().optional(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("file"),url:nx.string(),mediaType:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.literal("reasoning-file"),url:nx.string(),mediaType:nx.string(),providerMetadata:nE.optional()}),nx.looseObject({type:nx.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:nx.string().optional(),data:nx.unknown(),transient:nx.boolean().optional()}),nx.looseObject({type:nx.literal("start-step")}),nx.looseObject({type:nx.literal("finish-step")}),nx.looseObject({type:nx.literal("reset-step")}),nx.looseObject({type:nx.literal("start"),messageId:nx.string().optional(),messageMetadata:nx.unknown().optional()}),nx.looseObject({type:nx.literal("finish"),finishReason:nx.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:nx.unknown().optional()}),nx.looseObject({type:nx.literal("abort"),reason:nx.string().optional()}),nx.looseObject({type:nx.literal("message-metadata"),messageMetadata:nx.unknown()})])));function n4(){return Object.create(null)}function n5(e){return e.type.startsWith("tool-")}function n6(e){return n5(e)||"dynamic-tool"===e.type}function n9(e){return e.type.split("-").slice(1).join("-")}async function n3({stream:e,onError:t,abortSignal:r}){let a=e.getReader(),n=()=>{a.cancel().catch(()=>{})};(null==r?void 0:r.aborted)?n():null==r||r.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==r||r.removeEventListener("abort",n),a.releaseLock()}}tl({prefix:"aitxt",size:24}),tl({prefix:"call",size:24}),tl({prefix:"aitxt",size:24}),tl({prefix:"call",size:24});var n7=nx.record(nx.string(),nk.optional()),n8=nx.record(nx.string(),nx.string());function oe(e){return({url:t,abortSignal:r})=>n_({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:r})}t1(()=>t5(nx.array(nx.object({id:nx.string(),role:nx.enum(["system","user","assistant"]),metadata:nx.unknown().optional(),parts:nx.array(nx.union([nx.object({type:nx.literal("text"),text:nx.string(),state:nx.enum(["streaming","done"]).optional(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("reasoning"),id:nx.string().optional(),text:nx.string(),state:nx.enum(["streaming","done"]).optional(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("custom"),kind:nx.string(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("source-url"),sourceId:nx.string(),url:nx.string(),title:nx.string().optional(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("source-document"),sourceId:nx.string(),mediaType:nx.string(),title:nx.string(),filename:nx.string().optional(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("file"),mediaType:nx.string(),filename:nx.string().optional(),url:nx.string(),providerReference:n8.optional(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("reasoning-file"),mediaType:nx.string(),url:nx.string(),providerMetadata:nE.optional()}),nx.object({type:nx.literal("step-start")}),nx.object({type:nx.string().startsWith("data-"),id:nx.string().optional(),data:nx.unknown()}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("input-streaming"),input:nx.unknown().optional(),providerExecuted:nx.boolean().optional(),callProviderMetadata:nE.optional(),output:nx.never().optional(),errorText:nx.never().optional(),approval:nx.never().optional()}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("input-available"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.never().optional()}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("approval-requested"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.never().optional(),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.never().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("approval-responded"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.boolean(),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-available"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.unknown(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),resultProviderMetadata:nE.optional(),preliminary:nx.boolean().optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!0),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()}).optional()}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-error"),input:nx.unknown().optional(),rawInput:nx.unknown().optional(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.string(),callProviderMetadata:nE.optional(),resultProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!0),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()}).optional()}),nx.object({type:nx.literal("dynamic-tool"),toolName:nx.string(),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-denied"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!1),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("input-streaming"),providerExecuted:nx.boolean().optional(),callProviderMetadata:nE.optional(),input
39:nx.unknown().optional(),output:nx.never().optional(),errorText:nx.never().optional(),approval:nx.never().optional()}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("input-available"),providerExecuted:nx.boolean().optional(),input:nx.unknown(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.never().optional()}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("approval-requested"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.never().optional(),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.never().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("approval-responded"),input:nx.unknown(),providerExecuted:nx.boolean().optional(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.boolean(),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-available"),providerExecuted:nx.boolean().optional(),input:nx.unknown(),output:nx.unknown(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),resultProviderMetadata:nE.optional(),preliminary:nx.boolean().optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!0),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()}).optional()}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-error"),providerExecuted:nx.boolean().optional(),input:nx.unknown().optional(),rawInput:nx.unknown().optional(),output:nx.never().optional(),errorText:nx.string(),callProviderMetadata:nE.optional(),resultProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!0),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()}).optional()}),nx.object({type:nx.string().startsWith("tool-"),toolCallId:nx.string(),toolMetadata:n7.optional(),state:nx.literal("output-denied"),providerExecuted:nx.boolean().optional(),input:nx.unknown(),output:nx.never().optional(),errorText:nx.never().optional(),callProviderMetadata:nE.optional(),approval:nx.object({id:nx.string(),approved:nx.literal(!1),descriptor:nx.unknown().optional(),requestReason:nx.string().optional(),reason:nx.string().optional(),isAutomatic:nx.boolean().optional(),signature:nx.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),tl({prefix:"call",size:24}),tl({prefix:"call",size:24}),new TextEncoder,tl({prefix:"aiobj",size:24});var ot=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(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};tl({prefix:"aiobj",size:24}),oe();var or=class{constructor(e){this.captureContext=null,this.captureProcessor=null,this.captureSource=null,this.captureStream=null,this.playbackContext=null,this.playbackQueue=[],this.playbackTime=0,this.playbackStartTime=0,this.activeSources=new Set,this.isPlaying=!1,this.captureSampleRate=e.captureSampleRate,this.playbackSampleRate=e.playbackSampleRate,this.onAudio=e.onAudio,this.onPlayingChange=e.onPlayingChange,this.onCapturingChange=e.onCapturingChange}ensurePlaybackContext(){null==this.playbackContext&&(this.playbackContext=new AudioContext({sampleRate:this.playbackSampleRate}))}startCapture(e){let t=new AudioContext({sampleRate:this.captureSampleRate});this.captureContext=t,this.captureStream=e;let r=t.createMediaStreamSource(e);this.captureSource=r;let a=t.createScriptProcessor(4096,1,1);this.captureProcessor=a,a.onaudioprocess=e=>{let r=function(e,t,r){if(t===r)return e;let a=t/r,n=Math.round(e.length/a),o=new Float32Array(n);for(let t=0;t<n;t++){let r=t*a,n=Math.floor(r),s=Math.min(n+1,e.length-1),i=r-n;o[t]=e[n]*(1-i)+e[s]*i}return o}(new Float32Array(e.inputBuffer.getChannelData(0)),t.sampleRate,this.captureSampleRate);this.onAudio(function(e){let t=new ArrayBuffer(2*e.length),r=new DataView(t);for(let t=0;t<e.length;t++){let a=Math.max(-1,Math.min(1,e[t]));r.setInt16(2*t,a<0?32768*a:32767*a,!0)}let a=new Uint8Array(t),n="";for(let e=0;e<a.length;e+=32768)n+=String.fromCharCode(...a.subarray(e,e+32768));return btoa(n)}(r))},r.connect(a),a.connect(t.destination),this.onCapturingChange(!0)}stopCapture(){var e,t,r,a;null==(e=this.captureProcessor)||e.disconnect(),null==(t=this.captureSource)||t.disconnect(),null==(r=this.captureContext)||r.close(),null==(a=this.captureStream)||a.getTracks().forEac
39h(e=>e.stop()),this.captureProcessor=null,this.captureSource=null,this.captureContext=null,this.captureStream=null,this.onCapturingChange(!1)}playAudio(e){this.ensurePlaybackContext(),this.playbackQueue.push(function(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let a=new Int16Array(r.buffer),n=new Float32Array(a.length);for(let e=0;e<a.length;e++)n[e]=a[e]/32768;return n}(e)),this.schedulePlayback()}stopPlayback(){for(let e of(this.playbackQueue=[],this.activeSources))try{e.stop()}catch(e){}this.activeSources.clear(),null!=this.playbackContext&&(this.playbackTime=this.playbackContext.currentTime),this.setPlaying(!1)}getPlaybackOffsetMs(){let e=this.playbackContext;return null==e?0:(e.currentTime-this.playbackStartTime)*1e3}dispose(){var e;this.stopCapture(),this.stopPlayback(),null==(e=this.playbackContext)||e.close(),this.playbackContext=null}setPlaying(e){var t,r;e&&!this.isPlaying&&(this.playbackStartTime=null!=(r=null==(t=this.playbackContext)?void 0:t.currentTime)?r:0),this.isPlaying!==e&&(this.isPlaying=e,this.onPlayingChange(e))}schedulePlayback(){let e=this.playbackContext;if(null!=e&&0!==this.playbackQueue.length)for(;this.playbackQueue.length>0;){let t=this.playbackQueue.shift(),r=e.createBuffer(1,t.length,this.playbackSampleRate);r.getChannelData(0).set(t);let a=e.createBufferSource();a.buffer=r,a.connect(e.destination);let n=Math.max(this.playbackTime,e.currentTime);a.start(n),this.playbackTime=n+r.duration,this.activeSources.add(a),this.setPlaying(!0),a.onended=()=>{this.activeSources.delete(a),0===this.playbackQueue.length&&0===this.activeSources.size&&this.setPlaying(!1)}}}},oa=class{constructor(e){this.ws=null,this.sendQueue=Promise.resolve(),this.model=e.model,this.onServerEvent=e.onServerEvent,this.onError=e.onError,this.onClose=e.onClose}connect({token:e,url:t,onOpen:r}){var a;null==(a=this.ws)||a.close(),this.ws=null;let n=this.model.getWebSocketConfig({token:e,url:t}),o=new WebSocket(n.url,n.protocols);this.ws=o,o.onopen=()=>{this.ws===o&&r()},o.onmessage=e=>{this.handleMessage(e)},o.onerror=()=>{this.onError(Error("WebSocket connection error"))},o.onclose=()=>{this.ws===o&&(this.ws=null,this.onClose())}}disconnect(){var e;null==(e=this.ws)||e.close(),this.ws=null}sendEvent(e){this.sendQueue=this.sendQueue.then(async()=>{let t=await this.model.serializeClientEvent(e);null!=t&&this.sendRaw(t)}).catch(e=>{this.onError(e instanceof Error?e:Error(`Failed to send realtime event: ${String(e)}`))})}sendRaw(e){var t;(null==(t=this.ws)?void 0:t.readyState)===WebSocket.OPEN&&("string"==typeof e||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||e instanceof Blob?this.ws.send(e):this.ws.send(JSON.stringify(e)))}dispose(){this.disconnect()}async handleMessage(e){let t;t="string"==typeof e.data?e.data:e.data instanceof Blob?await e.data.text():new TextDecoder().decode(e.data);let r=await t7({text:t});if(!r.success)return;let a=r.value;if(null!=this.model.getHealthCheckResponse){let e=this.model.getHealthCheckResponse(a);null!=e&&this.sendRaw(e)}let n=this.model.parseServerEvent(a);for(let e of Array.isArray(n)?n:[n])await this.onServerEvent(e)}},on=class{constructor(e=500){this.maxEvents=e,this.currentAssistantMessageId=null,this.textAccumulators=new Map,this.toolArgAccumulators=new Map,this.toolCallIdToMessageId=new Map,this.toolCallIdToName=new Map,this.inputAudioMessageInsertIndex=new Map,this.itemIdToPartLocation=new Map}setStatus(e,t){return{...e,status:t}}setCapturing(e,t){return{...e,isCapturing:t}}setPlaying(e,t){return{...e,isPlaying:t}}addUserTextMessage(e,t){return{...e,messages:[...e.messages,{id:`user-${Date.now()}`,role:"user",parts:[{type:"text",text:t,state:"done"}]}]}}addToolOutput(e,t,r){return{state:this.updateToolPartState(e,t,r),output:{callId:t,name:this.toolCallIdToName.get(t),output:JSON.stringify(r)}}}async reduceServerEvent(e,t){var r;let a=this.pushEvent(e,t),n=[];switch(t.type){case"session-created":case"session-updated":"connecting"===a.status&&(a=this.setStatus(a,"connected"));break;case"audio-delta":n.push({type:"play-audio",itemId:t.itemId,delta:t.delta});break;case"audio-committed":null!=t.itemId&&this.inputAudioMessageInsertIndex.set(t.itemId,a.messages.length);break;case"audio-transcript-delta":case"text-delta":a=this.appendTextDelta(a,t.itemId,t.delta);break;case"audio-transcript-done":a=this.finalizeText(a,t.itemId,t.transcript);break;case"text-done":a=this.finalizeText(a,t.itemId,t.text);break;case"input-transcription-completed":a=this.addInputTranscriptionMessage(a,t.itemId,t.transcript);break;case"response-created":case"response-done":this.currentAssistantMessageId=null;break;case"speech-started":this.currentAssistantMessageId=null,n.push({type:"speech-started"});break;case"function-call-arguments-delta":{let{state:e,messageId:n}
39=this.getOrCreateAssistantMessage(a);a=e,this.toolCallIdToMessageId.set(t.callId,n);let o=null!=(r=this.toolArgAccumulators.get(t.callId))?r:"";this.toolArgAccumulators.set(t.callId,o+t.delta),a=this.ensureToolPart(a,n,t.callId);break}case"function-call-arguments-done":{this.toolArgAccumulators.delete(t.callId),this.toolCallIdToName.set(t.callId,t.name);let e=await t7({text:t.arguments}),r=e.success?e.value:{},o=this.toolCallIdToMessageId.get(t.callId);null!=o&&(a=this.markToolInputAvailable(a,o,t.callId,t.name,r)),e.success?n.push({type:"tool-call",callId:t.callId,name:t.name,args:r,rawArguments:t.arguments}):n.push({type:"error",error:Error(`Failed to parse tool arguments: ${t.arguments}`)});break}case"error":n.push({type:"error",error:Error(t.message)})}return{state:a,effects:n}}pushEvent(e,t){let r=[...e.events,t];return{...e,events:r.length>this.maxEvents?r.slice(-this.maxEvents):r}}getOrCreateAssistantMessage(e){if(null!=this.currentAssistantMessageId)return{state:e,messageId:this.currentAssistantMessageId};let t=`assistant-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.currentAssistantMessageId=t,{state:{...e,messages:[...e.messages,{id:t,role:"assistant",parts:[]}]},messageId:t}}addInputTranscriptionMessage(e,t,r){var a;let n=`user-${t}`;if(null!=e.messages.find(e=>e.id===n))return{...e,messages:e.messages.map(e=>e.id===n?{...e,parts:[{type:"text",text:r,state:"done"}]}:e)};let o=Math.min(null!=(a=this.inputAudioMessageInsertIndex.get(t))?a:e.messages.length,e.messages.length),s=[...e.messages];return s.splice(o,0,{id:n,role:"user",parts:[{type:"text",text:r,state:"done"}]}),{...e,messages:s}}appendTextDelta(e,t,r){var a;let{state:n,messageId:o}=this.getOrCreateAssistantMessage(e),s=(null!=(a=this.textAccumulators.get(t))?a:"")+r;this.textAccumulators.set(t,s);let i=this.itemIdToPartLocation.get(t);return null!=i?this.updateMessagePart(n,i.messageId,i.partIndex,{type:"text",text:s,state:"streaming"}):{...n,messages:n.messages.map(e=>{if(e.id!==o)return e;let r=e.parts.length;return this.itemIdToPartLocation.set(t,{messageId:o,partIndex:r}),{...e,parts:[...e.parts,{type:"text",text:s,state:"streaming"}]}})}}finalizeText(e,t,r){var a;let n=null!=(a=null!=r?r:this.textAccumulators.get(t))?a:"";this.textAccumulators.delete(t);let o=this.itemIdToPartLocation.get(t);return null==o?e:(this.itemIdToPartLocation.delete(t),this.updateMessagePart(e,o.messageId,o.partIndex,{type:"text",text:n,state:"done"}))}ensureToolPart(e,t,r){return{...e,messages:e.messages.map(e=>e.id!==t||null!=e.parts.find(e=>"dynamic-tool"===e.type&&e.toolCallId===r)?e:{...e,parts:[...e.parts,{type:"dynamic-tool",toolName:"",toolCallId:r,state:"input-streaming",input:void 0}]})}}markToolInputAvailable(e,t,r,a,n){return{...e,messages:e.messages.map(e=>e.id!==t?e:{...e,parts:e.parts.map(e=>"dynamic-tool"!==e.type||e.toolCallId!==r?e:{...e,toolName:a,state:"input-available",input:n})})}}updateToolPartState(e,t,r){let a=this.toolCallIdToMessageId.get(t);return null==a?e:{...e,messages:e.messages.map(e=>e.id!==a?e:{...e,parts:e.parts.map(e=>"dynamic-tool"!==e.type||e.toolCallId!==t?e:{...e,state:"output-available",output:r})})}}updateMessagePart(e,t,r,a){return{...e,messages:e.messages.map(e=>{if(e.id!==t)return e;let n=[...e.parts];return n[r]=a,{...e,parts:n}})}}},oo=class{constructor(e){var t,r,a,n,o,s,i,l;this.state={status:"disconnected",messages:[],events:[],isCapturing:!1,isPlaying:!1},this.currentResponseItemId=null,this.toolCallsInResponse=new Set,this.submittedToolOutputs=new Set,this.responseToolCallsClosed=!1,this.model=e.model,this.api=e.api,this.sessionConfig=e.sessionConfig,this.maxEvents=null!=(t=e.maxEvents)?t:500,this.reducer=new on(this.maxEvents),this.onToolCall=e.onToolCall,this.onEvent=e.onEvent,this.onError=e.onError;const u=null!=(r=e.sampleRate)?r:24e3,c=null!=(o=null==(n=null==(a=e.sessionConfig)?void 0:a.inputAudioFormat)?void 0:n.rate)?o:u,d=null!=(l=null==(i=null==(s=e.sessionConfig)?void 0:s.outputAudioFormat)?void 0:i.rate)?l:u;this.transport=new oa({model:this.model,onServerEvent:e=>this.handleServerEvent(e),onError:e=>{var t;this.applyState(this.reducer.setStatus(this.state,"error")),null==(t=this.onError)||t.call(this,e)},onClose:()=>{this.applyState(this.reducer.setStatus(this.state,"disconnected"))}}),this.audio=new or({captureSampleRate:c,playbackSampleRate:d,onAudio:e=>this.sendAudio(e),onCapturingChange:e=>{this.applyState(this.reducer.setCapturing(this.state,e))},onPlayingChange:e=>{this.applyState(this.reducer.setPlaying(this.state,e))}})}async connect(){var e;this.applyState(this.reducer.setStatus(this.state,"connecting"));try{let e=await fetch(this.api.token,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionConfig:this.sessionConfig})});if(!e.ok)throw Error(`Failed to fetch realtime setup: ${e.status}`);let{token:t,url:r,tools:a}=await e.json(),n={...this.sessionConfig,tools:a};this.audio.ensurePlaybackContext(),this.transport.connect({token:t,url:r,onOpen:()=>{this.sendEvent({type:"session-update",config:n})}})}catch(t){this.applyState(this.reducer.setStatus(this.state,"error")),null==(e=this.onError)||e.call(this,t instanceof Error?t:Error(`Connection failed: ${String(t)}`))}}disconnect(){this.transport.disconnect(),this.applyState(this.reducer.setStatus(this.state,"disconnected"))}sendEvent(e){this.transport.sendEvent(e)}sendTextMessage(e){this.sendEvent({type:"conversation-item-create",item:{type:"text-message",role:"user",text:e}}),this.sendEvent({type:"response-create"}),this.applyState(this.reducer.addUserTextMessage(this.state,e))}sendAudio(e){this.sendEvent({type:"input-audio-append",audio:e})}commitAudio(){this.sendEvent({type:"input-audio-commit"})}clearAudioBuffer(){this.sendEvent({type:"input-audio-clear"})}requestResponse(e){this.sendEvent({type:"response-create",...null!=e?{options:e}:{}})}cancelResponse(){this.sendEvent({type:"response-cancel"})}addToolOutput(e,t){let{state:r,output:a}=this.reducer.addToolOutput(this.state,e,t);this.applyState(r),this.sendEvent({type:"conversation-item-create",item:{type:"function-call-output",callId:a.callId,name:a.name,output:a.output}}),this.submittedToolOutputs.add(e),this.maybeRequestToolResponse()}maybeRequestToolResponse(){if(this.responseToolCallsClosed&&0!==this.toolCallsInResponse.size){for(let e of this.toolCallsInResponse)if(!this.submittedToolOutputs.has(e))return;this.sendEvent({type:"response-create"}),this.toolCallsInResponse.clear(),this.submittedToolOutputs.clear(),this.responseToolCallsClosed=!1}
39}startAudioCapture(e){this.audio.startCapture(e)}stopAudioCapture(){this.audio.stopCapture()}stopPlayback(){this.audio.stopPlayback()}dispose(){this.transport.dispose(),this.audio.dispose(),this.applyState(this.reducer.setStatus(this.reducer.setPlaying(this.reducer.setCapturing(this.state,!1),!1),"disconnected"))}applyState(e){let t=this.state;this.state=e,t.status!==e.status&&this.setState("status",e.status),t.messages!==e.messages&&this.setState("messages",e.messages),t.events!==e.events&&this.setState("events",e.events),t.isCapturing!==e.isCapturing&&this.setState("isCapturing",e.isCapturing),t.isPlaying!==e.isPlaying&&this.setState("isPlaying",e.isPlaying)}async executeToolCall({name:e,args:t,callId:r}){var a,n;if(null==this.onToolCall){null==(a=this.onError)||a.call(this,Error(`No handler provided for tool "${e}"`));return}try{let a=await this.onToolCall({toolCall:{toolCallId:r,toolName:e,args:t}});void 0!==a&&this.addToolOutput(r,a)}catch(e){null==(n=this.onError)||n.call(this,e instanceof Error?e:Error(`Client tool execution failed: ${String(e)}`))}}async handleServerEvent(e){var t;let r=await this.reducer.reduceServerEvent(this.state,e);for(let a of(this.applyState(r.state),null==(t=this.onEvent)||t.call(this,e),r.effects))this.handleReducerEffect(a);"response-done"===e.type&&this.toolCallsInResponse.size>0&&(this.responseToolCallsClosed=!0,this.maybeRequestToolResponse())}handleReducerEffect(e){var t;switch(e.type){case"play-audio":this.currentResponseItemId=e.itemId,this.audio.playAudio(e.delta);break;case"speech-started":if(this.state.isPlaying){let e=this.audio.getPlaybackOffsetMs();this.audio.stopPlayback(),null!=this.currentResponseItemId&&this.sendEvent({type:"conversation-item-truncate",itemId:this.currentResponseItemId,contentIndex:0,audioEndMs:Math.round(e)})}break;case"tool-call":this.toolCallsInResponse.add(e.callId),this.executeToolCall({name:e.name,args:e.args,callId:e.callId});break;case"error":null==(t=this.onError)||t.call(this,e.error)}}},os=Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function oi({stream:e,onTextPart:t}){let r=e.pipeThrough(new TextDecoderStream).getReader();for(;;){let{done:e,value:a}=await r.read();if(e)break;await t(a)}}async function ol({api:e,prompt:t,credentials:r,headers:a,body:n,streamProtocol:o="data",setCompletion:s,setLoading:i,setError:l,setAbortController:u,onFinish:c,onError:d,fetch:p=fetch}){var h;try{i(!0),l(void 0);let d=new AbortController;u(d),s("");let g=await p(e,{method:"POST",body:JSON.stringify({prompt:t,...n}),credentials:r,headers:tf({"Content-Type":"application/json",...a},`ai-sdk/${nS}`,tg()),signal:d.signal}).catch(e=>{throw e});if(!g.ok)throw Error(null!=(h=await g.text())?h:"Failed to fetch the chat response.");if(!g.body)throw Error("The response body is empty.");let m="";switch(o){case"text":await oi({stream:g.body,onTextPart:e=>{m+=e,s(m)}});break;case"data":await n3({stream:t8({stream:g.body,schema:n2}).pipeThrough(new TransformStream({async transform(e){if(!e.success)throw e.error;let t=e.value;if("text-delta"===t.type)m+=t.delta,s(m);else if("error"===t.type)throw Error(t.errorText)}})),onError:e=>{throw e}});break;default:throw Error(`Unknown stream protocol: ${o}`)}return c&&c(t,m),u(null),m}catch(e){if("AbortError"===e.name)return u(null),null;e instanceof Error&&d&&d(e),l(e)}finally{i(!1)}}async function ou(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{let a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}tl({prefix:"call",size:24}),oe();var oc=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:s}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=s}async sendMessages({abortSignal:e,...t}){var r,a,n,o,s;let i=await rn(this.body),l=await rn(this.headers),u=await rn(this.credentials),c={...tm(l),...tm(t.headers)},d=await (null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:c,credentials:u,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),p=null!=(a=null==d?void 0:d.api)?a:this.api,h=(null==d?void 0:d.headers)!==void 0?tm(d.headers):c,g=(null==d?void 0:d.body)!==void 0?d.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=null!=(n=null==d?void 0:d.credentials)?n:u,f=null!=(o=this.fetch)?o:globalThis.fetch,y=await f(p,{method:"POST",headers:{"Content-Type":"application/json",...h},body:JSON.stringify(g),credentials:m,signal:e});if(!y.ok)throw Error(null!=(s=await y.text())?s:"Failed to fetch the chat response.");if(!y.body)throw Error("The response body is empty.");return this.processResponseStream(y.body)}async reconnectToStream(e){var t,r,a,n,o;let s=await rn(this.body),i=await rn(this.headers),l=await rn(this.credentials),u={...tm(i),...tm(e.headers)},c=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...s,...e.body},headers:u,credentials:l,requestMetadata:e.metadata})),d=null!=(r=null==c?void 0:c.api)?r:`${this.api}/${e.chatId}/stream`,p=(null==c?void 0:c.headers)!==void 0?tm(c.headers):u,h=null!=(a=null==c?void 0:c.credentials)?a:l,g=null!=(n=this.fetch)?n:globalThis.fetch,m=await g(d,{method:"GET",headers:p,credentials:h,signal:e.abortSignal});if(204===m.status)return null;if(!m.ok)throw Error(null!=(o=await m.text())?o:"Failed to fetch the chat response.");if(!m.body)throw Error("The response body is empty.");return this.processResponseStream(m.body)}},od=class extends oc{constructor(e={}){super(e)}
39processResponseStream(e){return t8({stream:e,schema:n2}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},op=class{constructor({generateId:e=tu,id:t=e(),transport:r=new od,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:s,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:c}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new ot,this.sendMessage=async(e,t)=>{var r,a,n,o;let s;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});if("text"in e||"files"in e){let t,r=new AbortController;this.pendingMessagePreparations.add(r);try{t=Array.isArray(e.files)?e.files:await ou(e.files)}finally{this.pendingMessagePreparations.delete(r)}if(r.signal.aborted)return;s={parts:[...t,..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}}else s=e;if(null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...s,id:e.messageId,role:null!=(a=s.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...s,id:null!=(n=s.id)?n:this.generateId(),role:null!=(o=s.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:r,options:a})=>this.jobExecutor.run(async()=>{let n=this.state.messages,o=n[n.length-1],s=a=>n6(a)&&"approval-requested"===a.state&&a.approval.id===e?{...a,state:"approval-responded",approval:{...a.approval,id:e,approved:t,reason:r}}:a;this.state.replaceMessage(n.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...a})})}),this.addToolOutput=async({state:e="output-available",toolCallId:t,output:r,errorText:a,options:n})=>this.jobExecutor.run(async()=>{let o=this.state.messages,s=o[o.length-1],i=n=>n6(n)&&n.toolCallId===t?{...n,state:e,output:r,errorText:a}:n;this.state.replaceMessage(o.length-1,{...s,parts:s.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...n})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();null==(e=this.activeResumeRequest)||e.abortController.abort(),null==(t=this.activeResponse)||t.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=n,this.state=o,this.onError=s,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=c}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}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(e){this.state.messages=e}
39async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:n}){var o,s,i;let l,u,c=new AbortController,d="resume-stream"===e?{abortController:c}:void 0;d&&(null==(o=this.activeResumeRequest)||o.abortController.abort(),this.activeResumeRequest=d);let p=()=>null==d||this.activeResumeRequest===d,h=()=>{this.activeResumeRequest===d&&(this.activeResumeRequest=void 0)};if("resume-stream"===e)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:c.signal,metadata:t,headers:r,body:a});if(c.signal.aborted||!p()){await (null==e?void 0:e.cancel().catch(()=>{})),p()&&this.setStatus({status:"ready"}),h();return}if(null==e){this.setStatus({status:"ready"}),h();return}l=e}catch(e){if(c.signal.aborted||"AbortError"===e.name){p()&&this.setStatus({status:"ready"}),h();return}if(!p())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e}),h();return}this.setStatus({status:"submitted",error:void 0});let g=this.lastMessage,m=!1,f=!1,y=!1;try{let o,s={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:n4(),activeReasoningParts:n4(),partialToolCalls:n4()}}({lastMessage:"resume-stream"===e||"regenerate-message"===e?void 0:this.state.snapshot(g),messageId:this.generateId()}),abortController:c};u=s,s.abortController.signal.addEventListener("abort",()=>{m=!0}),this.activeResponse=s,o="resume-stream"===e?l:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:s.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});let i=e=>this.jobExecutor.run(()=>s.abortController.signal.aborted?Promise.resolve():e({state:s.state,write:({updateStatus:e=!0}={})=>{var t;s.abortController.signal.aborted||(e&&this.setStatus({status:"streaming"}),s.state.message.id===(null==(t=this.lastMessage)?void 0:t.id)?this.state.replaceMessage(this.state.messages.length-1,s.state.message):this.state.pushMessage(s.state.message))}}));if(await n3({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(e,i){await a(async({state:a,write:l})=>{var u,c,d,p;function h(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function g(e){let t=h().filter(n6).find(t=>t.toolCallId===e);if(null==t){let r=a.message.parts;for(let a=r.length-1;a>=0;a--){let n=r[a];if(n6(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new nw({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function m(e,t){var r;let n=null!=t?t:h().find(t=>n5(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(r=e.providerExecuted)?r:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var r,n;let o=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=o){o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(r=e.rawInput)?r:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),void 0!==e.toolMetadata&&(o.toolMetadata=e.toolMetadata),o.providerExecuted=null!=(n=e.providerExecuted)?n:o.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?o.resultProviderMetadata=t:o.callProviderMetadata=t)}else a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{}
39,...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let r=null!=a.message.metadata?function e(t,r){if(void 0===t&&void 0===r)return;if(void 0===t)return r;if(void 0===r)return t;let a={...t};for(let n in r)if("__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&Object.prototype.hasOwnProperty.call(r,n)){let o=r[n];if(void 0===o)continue;let s=n in t?t[n]:void 0,i=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),l=null!=s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&l?a[n]=e(s,o):a[n]=o}return a}(a.message.metadata,e):e;null!=t&&await t6({value:r,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=r}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),l();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new nw({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new nw({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),l();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),l();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nw({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,l();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nw({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();break}case"file":case"reasoning-file":a.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{let t=h().filter(n5);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):m({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new nw({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:r}=await nZ(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}):m({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}),l();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):m({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":{let t=h().filter(n6).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):m({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),l();break}case"tool-approval-request":{let t=g(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},l();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(n6).find(t=>{var r;return(null==(r=t.approval)?void 0:r.id)===e});if(null==t)throw new nw({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),r=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...r,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),l();break}case"tool-output-denied":g(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=g(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):m({toolCallId:e.toolCallId,toolName:n9(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"tool-output-error":{let t=g(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):m({toolCallId:e.toolCallId,toolName:n9(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();a.activeTextParts=n4(),a.activeReasoningParts=n4(),a.partialToolCalls=n4(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),l());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l({updateStatus:!1});break;
39case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==r?void 0:r[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:a.message.parts.length;await t6({value:e.data,schema:r[e.type],context:{field:`message.parts[${n}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==s||s(e);break}let t=null!=e.id?a.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:a.message.parts.push(e),null==s||s(e),l()}}i.enqueue(e)})}}))}({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:i,onError:e=>{throw e}}),abortSignal:s.abortController.signal,onError:e=>{throw e}}),m)return p()&&this.setStatus({status:"ready"}),null;p()&&this.setStatus({status:"ready"})}catch(e){if(m||"AbortError"===e.name)return m=!0,p()&&this.setStatus({status:"ready"}),null;if(!p())return null;y=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{u&&(null==(s=this.onFinish)||s.call(this,{message:u.state.message,messages:this.state.messages,isAbort:m,isDisconnect:f,isError:y,finishReason:u.state.finishReason}))}finally{this.activeResponse===u&&(this.activeResponse=void 0),h()}}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:r,body:a})}};e.s(["AbstractChat",0,op,"DefaultChatTransport",0,od,"Experimental_AbstractRealtimeSession",0,oo,"callCompletionApi",0,ol,"isDeepEqualData",0,function e(t,r){if(t===r)return!0;if(null==t||null==r)return!1;if("object"!=typeof t&&"object"!=typeof r)return t===r;if(t.constructor!==r.constructor)return!1;if(t instanceof Date&&r instanceof Date)return t.getTime()===r.getTime();if(Array.isArray(t)){if(t.length!==r.length)return!1;for(let a=0;a<t.length;a++)if(!e(t[a],r[a]))return!1;return!0}let a=Object.keys(t),n=Object.keys(r);if(a.length!==n.length)return!1;for(let o of a)if(!n.includes(o)||!e(t[o],r[o]))return!1;return!0},"isTextUIPart",0,function(e){return"text"===e.type},"lastAssistantMessageIsCompleteWithApprovalResponses",0,function({messages:e}){let t=e[e.length-1];if(!t||"assistant"!==t.role)return!1;let r=t.parts.reduce((e,t,r)=>"step-start"===t.type?r:e,-1),a=t.parts.slice(r+1).filter(n6);return a.filter(e=>"approval-responded"===e.state).length>0&&a.every(e=>"output-available"===e.state||"output-error"===e.state||"output-denied"===e.state||"approval-responded"===e.state)},"parsePartialJson",0,nZ],640262);var oh=e.i(271645),og=e.i(802239),om=Object.prototype.hasOwnProperty;let of=new WeakMap,oy=()=>{},ov=oy(),ob=Object,ow=e=>e===ov,oI=(e,t)=>({...e,...t}),oS={},o_={},ox="undefined",ok=typeof window!=ox,oE=typeof document!=ox,oM=ok&&"Deno"in window,oT=(e,t)=>{let r=of.get(e);return[()=>!ow(t)&&e.get(t)||oS,a=>{if(!ow(t)){let n=e.get(t);t in o_||(o_[t]=n),r[5](t,oI(n,a),n||oS)}},r[6],()=>!ow(t)&&t in o_?o_[t]:!ow(t)&&e.get(t)||oS]},oC=!0,[oA,oR]=ok&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[oy,oy],oj={initFocus:e=>(oE&&document.addEventListener("visibilitychange",e),oA("focus",e),()=>{oE&&document.removeEventListener("visibilitychange",e),oR("focus",e)}),initReconnect:e=>{let t=()=>{oC=!0,e()},r=()=>{oC=!1};return oA("online",t),oA("offline",r),()=>{oR("online",t),oR("offline",r)}}},oO=!oh.default.useId,oP=!ok||oM,oN=oP?oh.useEffect:oh.useLayoutEffect,oD="u">typeof navigator&&navigator.connection,oq=!oP&&oD&&(["slow-2g","2g"].includes(oD.effectiveType)||oD.saveData),o$=new WeakMap,oF=(e,t)=>e===`[object ${t}]`,oU=0,oL=e=>{let t,r,a=typeof e,n=ob.prototype.toString.call(e),o=oF(n,"Date"),s=oF(n,"RegExp"),i=oF(n,"Object");
39if(ob(e)!==e||o||s)t=o?e.toJSON():"symbol"==a?e.toString():"string"==a?JSON.stringify(e):""+e;else{if(t=o$.get(e))return t;if(t=++oU+"~",o$.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=oL(e[r])+",";o$.set(e,t)}if(i){t="#";let a=ob.keys(e).sort();for(;!ow(r=a.pop());)ow(e[r])||(t+=r+":"+oL(e[r])+",");o$.set(e,t)}}return t},oB=e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?oL(e):"",t]},oK=0,oH=()=>++oK;async function oV(...e){let[t,r,a,n]=e,o=oI({populateCache:!0,throwOnError:!0},"boolean"==typeof n?{revalidate:n}:n||{}),s=o.populateCache,i=o.rollbackOnError,l=o.optimisticData,u=o.throwOnError;if("function"==typeof r){let e=[];for(let a of t.keys())!/^\$(inf|sub)\$/.test(a)&&r(t.get(a)._k)&&e.push(a);return Promise.all(e.map(c))}return c(r);async function c(r){let n,[c]=oB(r);if(!c)return;let[d,p]=oT(t,c),[h,g,m,f]=of.get(t),y=()=>{let e=h[c];return("function"==typeof o.revalidate?o.revalidate(d().data,r):!1!==o.revalidate)&&(delete m[c],delete f[c],e&&e[0])?e[0](2).then(()=>d().data):d().data};if(e.length<3)return y();let v=a,b=!1,w=oH();g[c]=[w,0];let I=!ow(l),S=d(),_=S.data,x=S._c,k=ow(x)?_:x;if(I&&p({data:l="function"==typeof l?l(k,_):l,_c:k}),"function"==typeof v)try{v=v(k)}catch(e){n=e,b=!0}if(v&&"function"==typeof v.then){let e;if(v=await v.catch(e=>{n=e,b=!0}),w!==g[c][0]){if(b)throw n;return v}b&&I&&(e=n,"function"==typeof i?i(e):!1!==i)&&(s=!0,p({data:k,_c:ov}))}if(s&&!b&&("function"==typeof s?p({data:s(v,k),error:ov,_c:ov}):p({data:v,error:ov,_c:ov})),g[c][1]=oH(),Promise.resolve(y()).then(()=>{p({_c:ov})}),b){if(u)throw n;return}return v}}let oQ=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},oW=(e,t)=>{if(!of.has(e)){let r=oI(oj,t),a=Object.create(null),n=oV.bind(ov,e),o=oy,s=Object.create(null),i=(e,t)=>{let r=s[e]||[];return s[e]=r,r.push(t),()=>{let e=r.indexOf(t);e>=0&&(r[e]=r[r.length-1],r.pop())}},l=(t,r,a)=>{e.set(t,r);let n=s[t];if(n)for(let e of n)e(r,a)},u=t=>{let r=of.get(e),[,n,o,i]=r,l=oH();for(let e in r[8]++,o)delete o[e];for(let e in i)delete i[e];for(let e in n)n[e]=[l,l];let u={};for(let t of[...e.keys()]){let r=e.get(t);e.delete(t);let a=s[t];if(a)for(let e of a)e(u,r)}let c=!t||!1!==t.revalidate;for(let e in a){let t=a[e];for(let e=0;e<t.length;e++)t[e](4,{revalidate:c&&!e})}},c=()=>{if(!of.has(e)&&(of.set(e,[a,Object.create(null),Object.create(null),Object.create(null),n,l,i,u,0]),!oP)){let t=r.initFocus(setTimeout.bind(ov,oQ.bind(ov,a,0))),n=r.initReconnect(setTimeout.bind(ov,oQ.bind(ov,a,1)));o=()=>{t&&t(),n&&n(),of.delete(e)}}};return c(),[e,n,c,o,u]}let r=of.get(e);return[e,r[4],ov,ov,r[7]]},[oz,oZ,,,oY]=oW(new Map),oG=oI({onLoadingSlow:oy,onSuccess:oy,onError:oy,onErrorRetry:(e,t,r,a,n)=>{let o=r.errorRetryCount,s=n.retryCount,i=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;(ow(o)||!(s>o))&&setTimeout(a,i,n)},onDiscarded:oy,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:oq?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:oq?5e3:3e3,compare:function e(t,r){var a,n;if(t===r)return!0;if(t&&r&&(a=t.constructor)===r.constructor){if(a===Date)return t.getTime()===r.getTime();if(a===RegExp)return t.toString()===r.toString();if(a===Array){if((n=t.length)===r.length)for(;n--&&e(t[n],r[n]););return -1===n}if(!a||"object"==typeof t){for(a in n=0,t)if(om.call(t,a)&&++n&&!om.call(r,a)||!(a in r)||!e(t[a],r[a]))return!1;return Object.keys(r).length===n}}return t!=t&&r!=r},isPaused:()=>!1,cache:oz,mutate:oZ,unload:oY,fallback:{}},{isOnline:()=>oC,isVisible:()=>{let e=oE&&document.visibilityState;return ow(e)||"hidden"!==e}}),oJ=(0,oh.createContext)({}),oX=ok&&window.__SWR_DEVTOOLS_USE__;(oX?window.__SWR_DEVTOOLS_USE__:[]).concat(e=>(t,r,a)=>{let n=r&&((...e)=>{let[a]=oB(t),[,,,n]=of.get(oz);if(a.startsWith("$inf$"))return r(...e);let o=n[a];return ow(o)?r(...e):(delete n[a],o)});return e(t,n,a)}),oX&&(window.__SWR_DEVTOOLS_REACT__=oh.default);let o0=oh.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),o1={dedupe:!0},o2=Promise.resolve(ov);o2.status="fulfilled",o2.value=ov;ob.defineProperty(e=>{let{value:t}=e,r=(0,oh.useContext)(oJ),a="function"==typeof t,n=(0,oh.useMemo)(()=>a?t(r):t,[a,r,t]),o=(0,oh.useMemo)(()=>a?n:((e,t)=>{let r=oI(e,t);if(t){let{use:a,fallback:n,cacheData:o}=e,{use:s,fallback:i,cacheData:l}=t;a&&s&&(r.use=a.concat(s)),n&&i&&(r.fallback=oI(n,i)),o&&l&&(r.cacheData=oI(o,l))}return r})(r,n),[a,r,n]),s=n&&n.provider,i=(0,oh.useRef)(ov);s&&!i.current&&(i.current=oW(s(o.cache||oz),n));let l=i.current;return l&&(o.cache=l[0],o.mutate=l[1],o.unload=l[4]),oN(()=>
39{if(l)return l[2]&&l[2](),l[3]},[]),(0,oh.createElement)(oJ.Provider,oI(e,{value:o}))},"defaultValue",{value:oG});var o4=e.i(561866);e.i(843476);var o5=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},o6=(e,t,r)=>(o5(e,t,"read from private field"),r?r.call(e):t.get(e)),o9=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},o3=(e,t,r,a)=>(o5(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),o7=class{constructor(e=[]){o9(this,Q,void 0),o9(this,W,"ready"),o9(this,z,void 0),o9(this,Z,new Set),o9(this,Y,new Set),o9(this,G,new Set),this.pushMessage=e=>{o3(this,Q,o6(this,Q).concat(e)),o6(this,J).call(this)},this.popMessage=()=>{o3(this,Q,o6(this,Q).slice(0,-1)),o6(this,J).call(this)},this.replaceMessage=(e,t)=>{o3(this,Q,[...o6(this,Q).slice(0,e),this.snapshot(t),...o6(this,Q).slice(e+1)]),o6(this,J).call(this)},this.snapshot=e=>{var t;if(null==e||"object"!=typeof e||!("parts"in e)||!Array.isArray(e.parts))return e;let r={...e,parts:e.parts.map(e=>({...e}))};return"metadata"in e&&(r.metadata=Array.isArray(t=e.metadata)?[...t]:null!=t&&"object"==typeof t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))?{...t}:t),r},this["~registerMessagesCallback"]=(e,t)=>{let r=t?null!=t?(0,o4.default)(e,t):e:e;return o6(this,Z).add(r),()=>{o6(this,Z).delete(r)}},this["~registerStatusCallback"]=e=>(o6(this,Y).add(e),()=>{o6(this,Y).delete(e)}),this["~registerErrorCallback"]=e=>(o6(this,G).add(e),()=>{o6(this,G).delete(e)}),o9(this,J,()=>{o6(this,Z).forEach(e=>e())}),o9(this,X,()=>{o6(this,Y).forEach(e=>e())}),o9(this,ee,()=>{o6(this,G).forEach(e=>e())}),o3(this,Q,e)}get status(){return o6(this,W)}set status(e){o3(this,W,e),o6(this,X).call(this)}get error(){return o6(this,z)}set error(e){o3(this,z,e),o6(this,ee).call(this)}get messages(){return o6(this,Q)}set messages(e){o3(this,Q,[...e]),o6(this,J).call(this)}};Q=new WeakMap,W=new WeakMap,z=new WeakMap,Z=new WeakMap,Y=new WeakMap,G=new WeakMap,J=new WeakMap,X=new WeakMap,ee=new WeakMap;var o8=class extends op{constructor({messages:e,...t}){const r=new o7(e);super({...t,state:r}),o9(this,et,void 0),this["~registerMessagesCallback"]=(e,t)=>o6(this,et)["~registerMessagesCallback"](e,t),this["~registerStatusCallback"]=e=>o6(this,et)["~registerStatusCallback"](e),this["~registerErrorCallback"]=e=>o6(this,et)["~registerErrorCallback"](e),o3(this,et,r)}};et=new WeakMap,e.s(["Chat",0,o8,"useChat",0,function({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){let n,o=null!=e?e:t,s=(0,oh.useRef)({});"chat"in a||(s.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let i=()=>{var e;return null!=(e=s.current.transport)?e:null!=n?n:n=new od},l={...a,transport:{sendMessages:e=>i().sendMessages(e),reconnectToStream:e=>i().reconnectToStream(e)},onToolCall:e=>{var t,r;return null==(r=(t=s.current).onToolCall)?void 0:r.call(t,e)},onData:e=>{var t,r;return null==(r=(t=s.current).onData)?void 0:r.call(t,e)},onFinish:e=>{var t,r;return null==(r=(t=s.current).onFinish)?void 0:r.call(t,e)},onError:e=>{var t,r;return null==(r=(t=s.current).onError)?void 0:r.call(t,e)},sendAutomaticallyWhen:e=>{var t,r,a;return null!=(a=null==(r=(t=s.current).sendAutomaticallyWhen)?void 0:r.call(t,e))&&a}},u=(0,oh.useRef)("chat"in a?a.chat:new o8(l));("chat"in a&&a.chat!==u.current||"id"in a&&null!=a.id&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new o8(l));let c=u.current,d=(0,oh.useRef)({chat:c,messages:c.messages});d.current.chat!==c&&(d.current={chat:c,messages:c.messages});let p=(0,oh.useCallback)(e=>{let t=!0,r=c["~registerMessagesCallback"](()=>{t&&d.current.chat===c&&(d.current={chat:c,messages:c.messages},e())},o);return d.current={chat:c,messages:c.messages},()=>{t=!1,r()}},[c,o]),h=(0,oh.useCallback)(()=>d.current.messages,[]),g=(0,oh.useSyncExternalStore)(p,h,h),m=(0,oh.useCallback)(e=>c["~registerStatusCallback"](()=>{d.current.chat===c&&(("ready"===c.status||"error"===c.status)&&(d.current={chat:c,messages:c.messages}),e())}),[c]),f=(0,oh.useCallback)(()=>c.status,[c]),y=(0,oh.useSyncExternalStore)(m,f,f),v=(0,oh.useSyncExternalStore)(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),b=(0,oh.useCallback)(e=>{"function"==typeof e&&(e=e(u.current.messages)),u.current.messages=e},[u]);return(0,oh.useEffect)(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:g,setMessages:b,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:v,resumeStream:u.current.resumeStream,status:y,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}],670097);
39let se=(0,e.i(768834).create)()(e=>({selections:{},setSelection:(t,r)=>e(e=>{let a={...e.selections};return null===r?delete a[t]:a[t]=r,{selections:a}}),rename:(t,r)=>e(e=>{if(!(t in e.selections))return e;let{[t]:a,...n}=e.selections;return{selections:{...n,[r]:a}}})}));e.s(["connectorSelection",0,function(e){return e?se.getState().selections[e]??null:null},"useConnectorSelectionStore",0,se],39513)},99970,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={SYMBOL_FOR_REQ_CONTEXT:()=>c,getContext:()=>d};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);let c=Symbol.for("@vercel/request-context");function d(){let e=globalThis;return e[c]?.get?.()??{}}},891754,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>c,RefreshAccessTokenFailedError:()=>d};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);class c extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class d extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},725150,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>d.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>d.RefreshAccessTokenFailedError,getContext:()=>c.getContext,getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h,getVercelToken:()=>g};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);var c=e.r(99970),d=e.r(891754);async function p(){return""}function h(){return""}async function g(){throw Error("getVercelToken is not supported in browser environments")}},561866,(e,t,r)=>{t.exports=function(e,t){let r;if("function"!=typeof e)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a=0;return function(...n){clearTimeout(r);let o=Date.now(),s=t-(o-a);s<=0?(a=o,e.apply(this,n)):r=setTimeout(()=>{a=Date.now(),e.apply(this,n)},s)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.