bunqueue-dashboard 0.0.47 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +11 -9
  2. package/agent/backup/routes.ts +20 -12
  3. package/agent/managedTarget.ts +3 -1
  4. package/agent/manager/commandLine.ts +33 -0
  5. package/agent/manager/errors.ts +4 -0
  6. package/agent/manager/process.ts +4 -2
  7. package/agent/manager.ts +1 -0
  8. package/agent/server/controlRoutes.ts +10 -0
  9. package/agent/server/controlStatus.ts +26 -5
  10. package/agent/server/errors.ts +3 -0
  11. package/agent/server/router.ts +7 -2
  12. package/agent/shutdown.ts +3 -2
  13. package/dist/.vite/manifest.json +538 -576
  14. package/dist/assets/AddJob-CiwWycYG.js +3 -0
  15. package/dist/assets/Alerts-DCKl_C8D.js +1 -0
  16. package/dist/assets/AreaChart-Db2UVnaK.js +1 -0
  17. package/dist/assets/Benchmark-DyHvEM8x.js +1 -0
  18. package/dist/assets/BulkAddJobs-GRMVnf0j.js +5 -0
  19. package/dist/assets/Button-_aSJvRoW.js +1 -0
  20. package/dist/assets/Card-egIDLwVk.js +1 -0
  21. package/dist/assets/Cron-XL0PdUEc.js +1 -0
  22. package/dist/assets/CronManager-Cqtg9Zr8.js +1 -0
  23. package/dist/assets/{Database-DV2pcDLL.js → Database-BBzyi7f0.js} +3 -3
  24. package/dist/assets/Diagnostics-E_icHggb.js +1 -0
  25. package/dist/assets/Dlq-DNs32CzV.js +1 -0
  26. package/dist/assets/DlqControl-DawwIsTI.js +1 -0
  27. package/dist/assets/DlqPro-BEdxFiNN.js +1 -0
  28. package/dist/assets/Fleet-Bkbq0dFB.js +1 -0
  29. package/dist/assets/Flows-DKZxI7ta.js +2 -0
  30. package/dist/assets/JobInspector-BARE52q3.js +2 -0
  31. package/dist/assets/Jobs-CKzKpQ7i.js +1 -0
  32. package/dist/assets/JobsPro-DxDw-akG.js +1 -0
  33. package/dist/assets/Logs-Bj60G_FP.js +1 -0
  34. package/dist/assets/LogsPro-Hv8xwXDK.js +1 -0
  35. package/dist/assets/{McpServer-fVy27Mof.js → McpServer-zxSMjG8K.js} +1 -1
  36. package/dist/assets/{Metrics-Ba46pdzT.js → Metrics-BBLdWOw1.js} +1 -1
  37. package/dist/assets/MetricsPro-D470b1aP.js +1 -0
  38. package/dist/assets/{Overview-DV2qo5v3.js → Overview-B_AOa5kW.js} +1 -1
  39. package/dist/assets/{PageHeader-CvIyaFOO.js → PageHeader-CQzNsw8r.js} +1 -1
  40. package/dist/assets/Pagination-CSkzhNW6.js +1 -0
  41. package/dist/assets/QueueActions-BBxRt-t0.js +1 -0
  42. package/dist/assets/QueueControl-DaZjeZnw.js +1 -0
  43. package/dist/assets/QueueDetail-Dgo9Ukmp.js +1 -0
  44. package/dist/assets/QueueDetailPro-D7U8ahp2.js +1 -0
  45. package/dist/assets/Queues-CS8LeZtJ.js +1 -0
  46. package/dist/assets/QueuesOverview-BySSnCm0.js +1 -0
  47. package/dist/assets/{S3Backup-DNABHR2Q.js → S3Backup-Ci4dJPP_.js} +1 -1
  48. package/dist/assets/S3BackupPro-UwWu0yxr.js +3 -0
  49. package/dist/assets/ServerControl-Ch1wZcKB.js +3 -0
  50. package/dist/assets/Settings-FOzwrB25.js +1 -0
  51. package/dist/assets/StatusBadge-DereLzOj.js +1 -0
  52. package/dist/assets/{Usage-1KxG1mJ9.js → Usage-DR90dCt0.js} +1 -1
  53. package/dist/assets/UsagePro-DAlE3oCE.js +1 -0
  54. package/dist/assets/Webhooks-BonYUgMo.js +1 -0
  55. package/dist/assets/Workers-D1Ead02h.js +1 -0
  56. package/dist/assets/WorkersPro-XuLxtU4A.js +1 -0
  57. package/dist/assets/Workflows-CqZZ96EK.js +1 -0
  58. package/dist/assets/{api-BgWE-705.js → api-D9aT0ND7.js} +1 -1
  59. package/dist/assets/bq-DR2BTISO.js +1 -0
  60. package/dist/assets/classicJobsData-Csj4iihY.js +1 -0
  61. package/dist/assets/connectionStore-CVjQyIZv.js +1 -0
  62. package/dist/assets/controlConnectionEpoch-ChAeMMLk.js +1 -0
  63. package/dist/assets/feedback-CtGN_kqB.js +1 -0
  64. package/dist/assets/form-DG3X6cLL.js +1 -0
  65. package/dist/assets/{icons-BVzwsfbG.js → icons-DH9SS1DA.js} +1 -1
  66. package/dist/assets/index-DZFZr0Mi.js +8 -0
  67. package/dist/assets/{index-C9yGKhQ8.css → index-DaEyLvTR.css} +1 -1
  68. package/dist/assets/react-vendor-CFL9l8LK.js +11 -0
  69. package/dist/assets/{cn-zFEt5SO8.js → rolldown-runtime-QTnfLwEv.js} +1 -1
  70. package/dist/assets/{toastStore-IZn6OPLZ.js → toastStore-XmMX7A5W.js} +1 -1
  71. package/dist/assets/useControlActionGuard-1i7aFA7E.js +1 -0
  72. package/dist/assets/usePolledData-CEyyLRYa.js +1 -0
  73. package/dist/assets/useServerActionGuard-CUx8TOAC.js +1 -0
  74. package/dist/assets/useThroughputSeries-CeFx-Mwq.js +1 -0
  75. package/dist/index.html +15 -15
  76. package/package.json +29 -16
  77. package/scripts/bunVersion.ts +1 -1
  78. package/scripts/embedded.gen.ts +154 -164
  79. package/scripts/serveHandler.ts +28 -1
  80. package/dist/assets/AddJob-FNaPbs_V.js +0 -3
  81. package/dist/assets/Alerts-vzIYtFpW.js +0 -1
  82. package/dist/assets/AreaChart-DEAalJ6P.js +0 -1
  83. package/dist/assets/Benchmark-C16tT4pF.js +0 -1
  84. package/dist/assets/BulkAddJobs-IiL1uud0.js +0 -5
  85. package/dist/assets/Button-Ch1W94fJ.js +0 -1
  86. package/dist/assets/Card-CWxrC8OY.js +0 -1
  87. package/dist/assets/CopilotPanel-FlAW3RlL.js +0 -44
  88. package/dist/assets/Cron-1DZTZWXO.js +0 -1
  89. package/dist/assets/CronManager-B6xLLgI5.js +0 -1
  90. package/dist/assets/Diagnostics-B6apZrC5.js +0 -1
  91. package/dist/assets/Dlq-MRmkQrNC.js +0 -1
  92. package/dist/assets/DlqControl-DNJPVOTF.js +0 -1
  93. package/dist/assets/DlqPro-CwtTDwGN.js +0 -1
  94. package/dist/assets/Fleet-Bdrj9bLI.js +0 -1
  95. package/dist/assets/Flows-1dC8F_wx.js +0 -2
  96. package/dist/assets/JobInspector-Ct9Ga-UT.js +0 -2
  97. package/dist/assets/Jobs-Chqv0RuL.js +0 -1
  98. package/dist/assets/JobsPro-CLzOhKAL.js +0 -1
  99. package/dist/assets/Logs-C5PNP9Wq.js +0 -1
  100. package/dist/assets/LogsPro-B3KwTSsn.js +0 -1
  101. package/dist/assets/MetricsPro-B9rD_KQc.js +0 -1
  102. package/dist/assets/Pagination-x-Cwgrul.js +0 -1
  103. package/dist/assets/QueueActions-BWnmNEqV.js +0 -1
  104. package/dist/assets/QueueControl-DqBvuDnF.js +0 -1
  105. package/dist/assets/QueueDetail-COSH9bJl.js +0 -1
  106. package/dist/assets/QueueDetailPro-ClKtyHIf.js +0 -1
  107. package/dist/assets/Queues-D2-R8nYh.js +0 -1
  108. package/dist/assets/QueuesOverview-tokquA3g.js +0 -1
  109. package/dist/assets/S3BackupPro-CDX5WQUY.js +0 -3
  110. package/dist/assets/ServerControl-BmccMNW9.js +0 -3
  111. package/dist/assets/Settings-UcujwvKv.js +0 -1
  112. package/dist/assets/StatusBadge-BoOVTnKu.js +0 -1
  113. package/dist/assets/UsagePro-BGLufsE7.js +0 -1
  114. package/dist/assets/Webhooks-DT2LK17V.js +0 -1
  115. package/dist/assets/Workers-BX1qspaQ.js +0 -1
  116. package/dist/assets/WorkersPro-BsUQVgQZ.js +0 -1
  117. package/dist/assets/Workflows-DZZA6aGW.js +0 -1
  118. package/dist/assets/bq-F5BbTG1T.js +0 -1
  119. package/dist/assets/connectionStore-BJLihGaC.js +0 -1
  120. package/dist/assets/controlConnectionEpoch-CZsS0wAb.js +0 -1
  121. package/dist/assets/dist-1f1fMHVO.js +0 -11
  122. package/dist/assets/dist-BlWBaCN6.js +0 -11
  123. package/dist/assets/dist-DZL8soAh.js +0 -79
  124. package/dist/assets/dist-DjvZiKhB.js +0 -2
  125. package/dist/assets/dist-DpZcbP9W.js +0 -11
  126. package/dist/assets/feedback-QDN1AsYt.js +0 -1
  127. package/dist/assets/form-C4oby9pI.js +0 -1
  128. package/dist/assets/index-8Ii-_Rml.js +0 -8
  129. package/dist/assets/react-vendor-CvwrP0tU.js +0 -11
  130. package/dist/assets/useControlActionGuard-B-bzKZKI.js +0 -1
  131. package/dist/assets/usePolledData-0CVelkl2.js +0 -1
  132. package/dist/assets/useServerActionGuard-uGePilQQ.js +0 -1
  133. package/dist/assets/useThroughputSeries-DgO8uicf.js +0 -1
@@ -1,11 +0,0 @@
1
- import{$ as e,Ct as t,Dt as n,Et as r,Ft as i,G as a,Gt as o,I as s,J as c,Lt as l,M as u,Mt as d,N as f,Nt as p,Ot as m,Q as h,Rt as g,S as _,St as v,T as y,U as b,Ut as x,Vt as S,W as C,Y as w,Z as T,_ as E,_t as D,b as O,c as k,d as A,f as j,ft as M,gt as N,h as P,ht as F,i as I,it as L,jt as R,k as z,l as B,lt as V,m as ee,mt as te,ot as ne,pt as re,qt as H,rt as U,tt as ie,u as ae,ut as oe,v as W,vt as se,wt as G,x as K,xt as ce,y as le,yt as q,z as ue,zt as de}from"./dist-DZL8soAh.js";function fe(e){return de(se,e)}var J=d({error:d({message:i(),type:i().nullish(),param:v().nullish(),code:l([i(),R()]).nullish()})}),Y=E({errorSchema:J,errorToMessage:e=>e.error.message});function pe(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)&&!e.startsWith(`gpt-5.4-nano`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),i=e.startsWith(`gpt-5.1`)||e.startsWith(`gpt-5.2`)||e.startsWith(`gpt-5.3`)||e.startsWith(`gpt-5.4`)||e.startsWith(`gpt-5.5`);return{supportsFlexProcessing:t,supportsPriorityProcessing:n,isReasoningModel:r,systemMessageMode:r?`developer`:`system`,supportsNonReasoningParameters:i}}async function X({stream:e,getError:t,isOutputChunk:n,url:r,requestBodyValues:i,responseHeaders:a}){let[o,s]=e.tee(),c=o.getReader();try{for(;;){let e=await c.read();if(e.done)return s;let o=e.value;if(!o.success)return s;let l=t(o.value);if(l!=null)throw s.cancel().catch(()=>{}),me({frame:l,url:r,requestBodyValues:i,responseHeaders:a});if(n(o.value))return s}}finally{c.cancel().catch(()=>{}),c.releaseLock()}}function me({frame:e,url:t,requestBodyValues:n,responseHeaders:r}){let i=he(e);return new S({message:i?.message??`OpenAI stream failed before any output was generated`,url:t,requestBodyValues:n,statusCode:i==null?500:ge(i),responseHeaders:r,responseBody:JSON.stringify(e),data:e})}function he(e){let t=Z(e);if(t==null)return;if(t.type===`response.failed`){let n=Z(Z(t.response)?.error);return typeof n?.message==`string`?{message:n.message,code:_e(n.code),type:`response.failed`,frame:e}:void 0}let n=Z(t.error)??t;return typeof n.message==`string`&&(Z(t.error)!=null||typeof n.type==`string`||`code`in n||`param`in n)?{message:n.message,code:_e(n.code),type:typeof n.type==`string`?n.type:void 0,frame:e}:void 0}function ge(e){if(typeof e.code==`number`&&ve(e.code))return e.code;if(typeof e.code==`string`&&/^\d{3}$/.test(e.code)){let t=Number(e.code);if(ve(t))return t}let t=[e.code,e.type].filter(e=>typeof e==`string`||typeof e==`number`).join(` `).toLowerCase();return[`insufficient_quota`,`rate_limit`].some(e=>t.includes(e))?429:t.includes(`authentication`)?401:t.includes(`permission`)?403:t.includes(`not_found`)?404:[`invalid`,`bad_request`,`context_length`].some(e=>t.includes(e))?400:t.includes(`overload`)?503:t.includes(`timeout`)?504:500}function Z(e){return typeof e==`object`&&e?e:void 0}function _e(e){return typeof e==`string`||typeof e==`number`?e:void 0}function ve(e){return Number.isInteger(e)&&e>=400&&e<=599}function ye(e){if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let t=e.prompt_tokens??0,n=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:n,text:n-i,reasoning:i},raw:e}}function be(e){return JSON.stringify(e===void 0?{}:e)}function xe({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:throw Error(`Unsupported system message mode: ${t}`)}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:switch(e.data.type){case`reference`:return{type:`file`,file:{file_id:L({reference:e.data.reference,provider:`openai`})}};case`text`:throw new H({functionality:`text file parts`});case`url`:case`data`:{let n=u(e.mediaType);if(n===`image`)return{type:`image_url`,image_url:{url:e.data.type===`url`?e.data.url.toString():A(e.data.data),detail:e.providerOptions?.openai?.imageDetail}};if(n===`audio`){if(e.data.type===`url`)throw new H({functionality:`audio file parts with URLs`});let t=U({part:e});switch(t){case`audio/wav`:return{type:`input_audio`,input_audio:{data:A(e.data.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:A(e.data.data),format:`mp3`}};default:throw new H({functionality:`audio content parts with media type ${t}`})}}{let n=U({part:e});if(n!==`application/pdf`)throw new H({functionality:`file part media type ${n}`});if(e.data.type===`url`)throw new H({functionality:`PDF file parts with URLs`});return{type:`file`,file:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${A(e.data.data)}`}}}}}}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:be(n.input)}});break}n.push({role:`assistant`,content:t.length>0?e||null:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){if(e.type===`tool-approval-response`)continue;let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`execution-denied`:r=t.reason??`Tool call execution denied.`;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:throw Error(`Unsupported role: ${i}`)}return{messages:n,warnings:r}}function Se({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n?new Date(n*1e3):void 0}}function Ce(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`other`}}var we=b(()=>F(d({id:i().nullish(),created:R().nullish(),model:i().nullish(),choices:t(d({message:d({role:m(`assistant`).nullish(),content:i().nullish(),tool_calls:t(d({id:i().nullish(),type:m(`function`),function:d({name:i(),arguments:i()})})).nullish(),annotations:t(d({type:m(`url_citation`),url_citation:d({start_index:R(),end_index:R(),url:i(),title:i()})})).nullish()}),index:R(),logprobs:d({content:t(d({token:i(),logprob:R(),top_logprobs:t(d({token:i(),logprob:R()}))})).nullish()}).nullish(),finish_reason:i().nullish()})),usage:d({prompt_tokens:R().nullish(),completion_tokens:R().nullish(),total_tokens:R().nullish(),prompt_tokens_details:d({cached_tokens:R().nullish()}).nullish(),completion_tokens_details:d({reasoning_tokens:R().nullish(),accepted_prediction_tokens:R().nullish(),rejected_prediction_tokens:R().nullish()}).nullish()}).nullish()}))),Te=b(()=>F(l([d({id:i().nullish(),created:R().nullish(),model:i().nullish(),choices:t(d({delta:d({role:q([`assistant`]).nullish(),content:i().nullish(),tool_calls:t(d({index:R(),id:i().nullish(),type:m(`function`).nullish(),function:d({name:i().nullish(),arguments:i().nullish()})})).nullish(),annotations:t(d({type:m(`url_citation`),url_citation:d({start_index:R(),end_index:R(),url:i(),title:i()})})).nullish()}).nullish(),logprobs:d({content:t(d({token:i(),logprob:R(),top_logprobs:t(d({token:i(),logprob:R()}))})).nullish()}).nullish(),finish_reason:i().nullish(),index:R()})),usage:d({prompt_tokens:R().nullish(),completion_tokens:R().nullish(),total_tokens:R().nullish(),prompt_tokens_details:d({cached_tokens:R().nullish()}).nullish(),completion_tokens_details:d({reasoning_tokens:R().nullish(),accepted_prediction_tokens:R().nullish(),rejected_prediction_tokens:R().nullish()}).nullish()}).nullish()}),J]))),Ee=b(()=>F(d({logitBias:p(fe(),R()).optional(),logprobs:l([G(),R()]).optional(),parallelToolCalls:G().optional(),user:i().optional(),reasoningEffort:q([`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),maxCompletionTokens:R().optional(),store:G().optional(),metadata:p(i().max(64),i().max(512)).optional(),prediction:p(i(),v()).optional(),serviceTier:q([`auto`,`flex`,`priority`,`default`]).optional(),strictJsonSchema:G().optional(),textVerbosity:q([`low`,`medium`,`high`]).optional(),promptCacheKey:i().optional(),promptCacheRetention:q([`in_memory`,`24h`]).optional(),safetyIdentifier:i().optional(),systemMessageMode:q([`system`,`developer`,`remove`]).optional(),forceReasoning:G().optional()})));function De({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)switch(t.type){case`function`:r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,...t.strict==null?{}:{strict:t.strict}}});break;default:n.push({type:`unsupported`,feature:`tool type: ${t.type}`});break}if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:case`required`:return{tools:r,toolChoice:i,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new H({functionality:`tool choice type: ${i}`})}}var Oe=class t{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:c,responseFormat:l,seed:u,tools:d,toolChoice:f,reasoning:p,providerOptions:m}){let h=[],g=await T({provider:`openai`,providerOptions:m,schema:Ee})??{},_=pe(this.modelId),v=g.reasoningEffort??(s(p)?p:void 0),y=g.forceReasoning??_.isReasoningModel;i!=null&&h.push({type:`unsupported`,feature:`topK`});let{messages:b,warnings:x}=xe({prompt:e,systemMessageMode:g.systemMessageMode??(y?`developer`:_.systemMessageMode)});h.push(...x);let S=g.strictJsonSchema??!0,C={model:this.modelId,logit_bias:g.logitBias,logprobs:g.logprobs===!0||typeof g.logprobs==`number`||void 0,top_logprobs:typeof g.logprobs==`number`?g.logprobs:typeof g.logprobs==`boolean`&&g.logprobs?0:void 0,user:g.user,parallel_tool_calls:g.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{schema:l.schema,strict:S,name:l.name??`response`,description:l.description}}:void 0,stop:c,seed:u,verbosity:g.textVerbosity,max_completion_tokens:g.maxCompletionTokens,store:g.store,metadata:g.metadata,prediction:g.prediction,reasoning_effort:v,service_tier:g.serviceTier,prompt_cache_key:g.promptCacheKey,prompt_cache_retention:g.promptCacheRetention,safety_identifier:g.safetyIdentifier,messages:b};y?((v!==`none`||!_.supportsNonReasoningParameters)&&(C.temperature!=null&&(C.temperature=void 0,h.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.top_p=void 0,h.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`})),C.logprobs!=null&&(C.logprobs=void 0,h.push({type:`other`,message:`logprobs is not supported for reasoning models`}))),C.frequency_penalty!=null&&(C.frequency_penalty=void 0,h.push({type:`unsupported`,feature:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),C.presence_penalty!=null&&(C.presence_penalty=void 0,h.push({type:`unsupported`,feature:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),C.logit_bias!=null&&(C.logit_bias=void 0,h.push({type:`other`,message:`logitBias is not supported for reasoning models`})),C.top_logprobs!=null&&(C.top_logprobs=void 0,h.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),C.max_tokens!=null&&(C.max_completion_tokens??=C.max_tokens,C.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&C.temperature!=null&&(C.temperature=void 0,h.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),g.serviceTier===`flex`&&!_.supportsFlexProcessing&&(h.push({type:`unsupported`,feature:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),C.service_tier=void 0),g.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(h.push({type:`unsupported`,feature:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),C.service_tier=void 0);let{tools:w,toolChoice:E,toolWarnings:D}=De({tools:d,toolChoice:f});return{args:{...C,tools:w,tool_choice:E},warnings:[...h,...D]}}async doGenerate(t){var n;let{args:r,warnings:i}=await this.getArgs(t),{responseHeaders:a,value:o,rawValue:s}=await e({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:k((n=this.config).headers?.call(n),t.headers),body:r,failedResponseHandler:Y,successfulResponseHandler:W(we),abortSignal:t.abortSignal,fetch:this.config.fetch}),c=o.choices[0],l=[],u=c.message.content;u!=null&&u.length>0&&l.push({type:`text`,text:u});for(let e of c.message.tool_calls??[])l.push({type:`tool-call`,toolCallId:e.id??z(),toolName:e.function.name,input:e.function.arguments});for(let e of c.message.annotations??[])l.push({type:`source`,sourceType:`url`,id:z(),url:e.url_citation.url,title:e.url_citation.title});let d=o.usage?.completion_tokens_details,f={openai:{}};return d?.accepted_prediction_tokens!=null&&(f.openai.acceptedPredictionTokens=d?.accepted_prediction_tokens),d?.rejected_prediction_tokens!=null&&(f.openai.rejectedPredictionTokens=d?.rejected_prediction_tokens),c.logprobs?.content!=null&&(f.openai.logprobs=c.logprobs.content),{content:l,finishReason:{unified:Ce(c.finish_reason),raw:c.finish_reason??void 0},usage:ye(o.usage),request:{body:r},response:{...Se(o),headers:a,body:s},warnings:i,providerMetadata:f}}async doStream(t){var n;let{args:r,warnings:i}=await this.getArgs(t),a={...r,stream:!0,stream_options:{include_usage:!0}},o=this.config.url({path:`/chat/completions`,modelId:this.modelId}),{responseHeaders:s,value:c}=await e({url:o,headers:k((n=this.config).headers?.call(n),t.headers),body:a,failedResponseHandler:Y,successfulResponseHandler:P(Te),abortSignal:t.abortSignal,fetch:this.config.fetch}),l=await X({stream:c,getError:e=>`error`in e?e.error:void 0,isOutputChunk:ke,url:o,requestBodyValues:a,responseHeaders:s}),u,d={unified:`other`,raw:void 0},f,p=!1,m=!1,h={openai:{}};return{stream:l.pipeThrough(new TransformStream({start(e){u=new I(e,{generateId:z,typeValidation:`if-present`}),e.enqueue({type:`stream-start`,warnings:i})},transform(e,n){if(t.includeRawChunks&&n.enqueue({type:`raw`,rawValue:e.rawValue}),!e.success){d={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:e.error});return}let r=e.value;if(`error`in r){d={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:r.error});return}if(!p){let e=Se(r);Object.values(e).some(Boolean)&&(p=!0,n.enqueue({type:`response-metadata`,...Se(r)}))}r.usage!=null&&(f=r.usage,r.usage.completion_tokens_details?.accepted_prediction_tokens!=null&&(h.openai.acceptedPredictionTokens=r.usage.completion_tokens_details?.accepted_prediction_tokens),r.usage.completion_tokens_details?.rejected_prediction_tokens!=null&&(h.openai.rejectedPredictionTokens=r.usage.completion_tokens_details?.rejected_prediction_tokens));let i=r.choices[0];if(i?.finish_reason!=null&&(d={unified:Ce(i.finish_reason),raw:i.finish_reason}),i?.logprobs?.content!=null&&(h.openai.logprobs=i.logprobs.content),i?.delta==null)return;let a=i.delta;if(a.content!=null&&(m||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:a.content})),a.tool_calls!=null)for(let e of a.tool_calls)u.processDelta(e);if(a.annotations!=null)for(let e of a.annotations)n.enqueue({type:`source`,sourceType:`url`,id:z(),url:e.url_citation.url,title:e.url_citation.title})},flush(e){m&&e.enqueue({type:`text-end`,id:`0`}),u.flush(),e.enqueue({type:`finish`,finishReason:d,usage:ye(f),...h==null?{}:{providerMetadata:h}})}})),request:{body:a},response:{headers:s}}}};function ke(e){return`error`in e?!1:e.choices.some(e=>{let t=e.delta;return t?.content!=null&&t.content.length>0||t?.tool_calls!=null&&t.tool_calls.length>0||t?.annotations!=null&&t.annotations.length>0})}function Ae(e){if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let t=e.prompt_tokens??0,n=e.completion_tokens??0;return{inputTokens:{total:e.prompt_tokens??void 0,noCache:t,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:e.completion_tokens??void 0,text:n,reasoning:void 0},raw:e}}function je({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
2
-
3
- `,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new x({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text}}).filter(Boolean).join(``);r+=`${t}:
4
- ${e}
5
-
6
- `;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new H({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
7
- ${e}
8
-
9
- `;break}case`tool`:throw new H({functionality:`tool messages`});default:throw Error(`Unsupported role: ${i}`)}return r+=`${n}:
10
- `,{prompt:r,stopSequences:[`
11
- ${t}:`]}}function Me({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ne(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`other`}}var Pe=b(()=>F(d({id:i().nullish(),created:R().nullish(),model:i().nullish(),choices:t(d({text:i(),finish_reason:i(),logprobs:d({tokens:t(i()),token_logprobs:t(R()),top_logprobs:t(p(i(),R())).nullish()}).nullish()})),usage:d({prompt_tokens:R(),completion_tokens:R(),total_tokens:R()}).nullish()}))),Fe=b(()=>F(l([d({id:i().nullish(),created:R().nullish(),model:i().nullish(),choices:t(d({text:i(),finish_reason:i().nullish(),index:R(),logprobs:d({tokens:t(i()),token_logprobs:t(R()),top_logprobs:t(p(i(),R())).nullish()}).nullish()})),usage:d({prompt_tokens:R(),completion_tokens:R(),total_tokens:R()}).nullish()}),J]))),Ie=b(()=>F(d({echo:G().optional(),logitBias:p(i(),R()).optional(),suffix:i().optional(),user:i().optional(),logprobs:l([G(),R()]).optional()}))),Le=class t{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await T({provider:`openai`,providerOptions:f,schema:Ie}),...await T({provider:this.providerOptionsName,providerOptions:f,schema:Ie})};i!=null&&p.push({type:`unsupported`,feature:`topK`}),l?.length&&p.push({type:`unsupported`,feature:`tools`}),u!=null&&p.push({type:`unsupported`,feature:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported`,feature:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=je({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(t){var n;let{args:r,warnings:i}=await this.getArgs(t),{responseHeaders:a,value:o,rawValue:s}=await e({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:k((n=this.config).headers?.call(n),t.headers),body:r,failedResponseHandler:Y,successfulResponseHandler:W(Pe),abortSignal:t.abortSignal,fetch:this.config.fetch}),c=o.choices[0],l={openai:{}};return c.logprobs!=null&&(l.openai.logprobs=c.logprobs),{content:[{type:`text`,text:c.text}],usage:Ae(o.usage),finishReason:{unified:Ne(c.finish_reason),raw:c.finish_reason??void 0},request:{body:r},response:{...Me(o),headers:a,body:s},providerMetadata:l,warnings:i}}async doStream(t){var n;let{args:r,warnings:i}=await this.getArgs(t),a={...r,stream:!0,stream_options:{include_usage:!0}},o=this.config.url({path:`/completions`,modelId:this.modelId}),{responseHeaders:s,value:c}=await e({url:o,headers:k((n=this.config).headers?.call(n),t.headers),body:a,failedResponseHandler:Y,successfulResponseHandler:P(Fe),abortSignal:t.abortSignal,fetch:this.config.fetch}),l=await X({stream:c,getError:e=>`error`in e?e.error:void 0,isOutputChunk:Re,url:o,requestBodyValues:a,responseHeaders:s}),u={unified:`other`,raw:void 0},d={openai:{}},f,p=!0;return{stream:l.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:i})},transform(e,n){if(t.includeRawChunks&&n.enqueue({type:`raw`,rawValue:e.rawValue}),!e.success){u={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:e.error});return}let r=e.value;if(`error`in r){u={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:r.error});return}p&&(p=!1,n.enqueue({type:`response-metadata`,...Me(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(f=r.usage);let i=r.choices[0];i?.finish_reason!=null&&(u={unified:Ne(i.finish_reason),raw:i.finish_reason}),i?.logprobs!=null&&(d.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){p||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:u,providerMetadata:d,usage:Ae(f)})}})),request:{body:a},response:{headers:s}}}};function Re(e){return!(`error`in e)&&e.choices.some(e=>e.text.length>0)}var ze=b(()=>F(d({dimensions:R().optional(),user:i().optional()}))),Be=b(()=>F(d({data:t(d({embedding:t(R())})),usage:d({prompt_tokens:R()}).nullish()}))),Ve=class t{constructor(e,t){this.specificationVersion=`v4`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async doEmbed({values:t,headers:n,abortSignal:r,providerOptions:i}){var a;if(t.length>this.maxEmbeddingsPerCall)throw new o({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});let s=await T({provider:`openai`,providerOptions:i,schema:ze})??{},{responseHeaders:c,value:l,rawValue:u}=await e({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:k((a=this.config).headers?.call(a),n),body:{model:this.modelId,input:t,encoding_format:`float`,dimensions:s.dimensions,user:s.user},failedResponseHandler:Y,successfulResponseHandler:W(Be),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:l.data.map(e=>e.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,response:{headers:c,body:u}}}},He=b(()=>F(d({id:i(),object:i().nullish(),bytes:R().nullish(),created_at:R().nullish(),filename:i().nullish(),purpose:i().nullish(),status:i().nullish(),expires_at:R().nullish()}))),Ue=b(()=>F(d({purpose:i().optional(),expiresAfter:R().optional()}))),We=class{constructor(e){this.config=e,this.specificationVersion=`v4`}get provider(){return this.config.provider}async uploadFile({data:e,mediaType:t,filename:n,providerOptions:r}){let i=await T({provider:`openai`,providerOptions:r,schema:Ue}),a=ae(e),o=new Blob([a],{type:t}),s=new FormData;n==null?s.append(`file`,o):s.append(`file`,o,n),s.append(`purpose`,i?.purpose??`assistants`),i?.expiresAfter!=null&&s.append(`expires_after`,String(i.expiresAfter));let{value:c}=await h({url:`${this.config.baseURL}/files`,headers:k(this.config.headers()),formData:s,failedResponseHandler:Y,successfulResponseHandler:W(He),fetch:this.config.fetch});return{warnings:[],providerReference:{openai:c.id},...c.filename??n?{filename:c.filename??n}:{},...t==null?{}:{mediaType:t},providerMetadata:{openai:{...c.filename==null?{}:{filename:c.filename},...c.purpose==null?{}:{purpose:c.purpose},...c.bytes==null?{}:{bytes:c.bytes},...c.created_at==null?{}:{createdAt:c.created_at},...c.status==null?{}:{status:c.status},...c.expires_at==null?{}:{expiresAt:c.expires_at}}}}}},Ge=b(()=>F(d({created:R().nullish(),data:t(d({b64_json:i(),revised_prompt:i().nullish()})),background:i().nullish(),output_format:i().nullish(),size:i().nullish(),quality:i().nullish(),usage:d({input_tokens:R().nullish(),output_tokens:R().nullish(),total_tokens:R().nullish(),input_tokens_details:d({image_tokens:R().nullish(),text_tokens:R().nullish()}).nullish()}).nullish()}))),Ke={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"chatgpt-image-latest":10},qe=[`chatgpt-image-`,`gpt-image-1-mini`,`gpt-image-1.5`,`gpt-image-1`,`gpt-image-2`];function Je(e){return qe.some(t=>e.startsWith(t))}var Ye=d({quality:q([`standard`,`hd`,`low`,`medium`,`high`,`auto`]).optional(),background:q([`transparent`,`opaque`,`auto`]).optional(),outputFormat:q([`png`,`jpeg`,`webp`]).optional(),outputCompression:R().int().min(0).max(100).optional(),user:i().optional()});b(()=>F(Ye));var Xe=b(()=>F(Ye.extend({style:q([`vivid`,`natural`]).optional(),moderation:q([`auto`,`low`]).optional()}))),Ze=b(()=>F(Ye.extend({inputFidelity:q([`high`,`low`]).optional()}))),Qe=class t{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get maxImagesPerCall(){return Ke[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt:t,files:n,mask:r,n:i,size:a,aspectRatio:o,seed:s,providerOptions:c,headers:l,abortSignal:u}){var d,f,p;let m=[];o!=null&&m.push({type:`unsupported`,feature:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),s!=null&&m.push({type:`unsupported`,feature:`seed`});let g=((d=this.config._internal)?.currentDate)?.call(d)??new Date;if(n!=null){let e=await T({provider:`openai`,providerOptions:c,schema:Ze})??{},{value:o,responseHeaders:s}=await h({url:this.config.url({path:`/images/edits`,modelId:this.modelId}),headers:k((f=this.config).headers?.call(f),l),formData:j({model:this.modelId,prompt:t,image:await Promise.all(n.map(e=>e.type===`file`?new Blob([e.data instanceof Uint8Array?new Blob([e.data],{type:e.mediaType}):new Blob([B(e.data)],{type:e.mediaType})],{type:e.mediaType}):y(e.url))),mask:r==null?void 0:await et(r),n:i,size:a,quality:e.quality,background:e.background,output_format:e.outputFormat,output_compression:e.outputCompression,input_fidelity:e.inputFidelity,user:e.user}),failedResponseHandler:Y,successfulResponseHandler:W(Ge),abortSignal:u,fetch:this.config.fetch});return{images:o.data.map(e=>e.b64_json),warnings:m,usage:o.usage==null?void 0:{inputTokens:o.usage.input_tokens??void 0,outputTokens:o.usage.output_tokens??void 0,totalTokens:o.usage.total_tokens??void 0},response:{timestamp:g,modelId:this.modelId,headers:s},providerMetadata:{openai:{images:o.data.map((e,t)=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:o.created??void 0,size:o.size??void 0,quality:o.quality??void 0,background:o.background??void 0,outputFormat:o.output_format??void 0,...$e(o.usage?.input_tokens_details,t,o.data.length)}))}}}}let _=await T({provider:`openai`,providerOptions:c,schema:Xe})??{},{value:v,responseHeaders:b}=await e({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:k((p=this.config).headers?.call(p),l),body:{model:this.modelId,prompt:t,n:i,size:a,quality:_.quality,style:_.style,background:_.background,moderation:_.moderation,output_format:_.outputFormat,output_compression:_.outputCompression,user:_.user,...Je(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:Y,successfulResponseHandler:W(Ge),abortSignal:u,fetch:this.config.fetch});return{images:v.data.map(e=>e.b64_json),warnings:m,usage:v.usage==null?void 0:{inputTokens:v.usage.input_tokens??void 0,outputTokens:v.usage.output_tokens??void 0,totalTokens:v.usage.total_tokens??void 0},response:{timestamp:g,modelId:this.modelId,headers:b},providerMetadata:{openai:{images:v.data.map((e,t)=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:v.created??void 0,size:v.size??void 0,quality:v.quality??void 0,background:v.background??void 0,outputFormat:v.output_format??void 0,...$e(v.usage?.input_tokens_details,t,v.data.length)}))}}}}};function $e(e,t,n){if(e==null)return{};let r={};if(e.image_tokens!=null){let i=Math.floor(e.image_tokens/n),a=e.image_tokens-i*(n-1);r.imageTokens=t===n-1?a:i}if(e.text_tokens!=null){let i=Math.floor(e.text_tokens/n),a=e.text_tokens-i*(n-1);r.textTokens=t===n-1?a:i}return r}async function et(e){if(!e)return;if(e.type===`url`)return y(e.url);let t=e.data instanceof Uint8Array?e.data:B(e.data);return new Blob([t],{type:e.mediaType})}var tt=b(()=>F(d({callId:i(),operation:r(`type`,[d({type:m(`create_file`),path:i(),diff:i()}),d({type:m(`delete_file`),path:i()}),d({type:m(`update_file`),path:i(),diff:i()})])}))),nt=b(()=>F(d({status:q([`completed`,`failed`]),output:i().optional()})));b(()=>F(d({})));var rt=O({id:`openai.apply_patch`,inputSchema:tt,outputSchema:nt}),it=b(()=>F(d({code:i().nullish(),containerId:i()}))),at=b(()=>F(d({outputs:t(r(`type`,[d({type:m(`logs`),logs:i()}),d({type:m(`image`),url:i()})])).nullish()}))),ot=b(()=>F(d({container:l([i(),d({fileIds:t(i()).optional()})]).optional()}))),st=K({id:`openai.code_interpreter`,inputSchema:it,outputSchema:at}),ct=(e={})=>st(e),lt=b(()=>F(d({description:i().optional(),format:l([d({type:m(`grammar`),syntax:q([`regex`,`lark`]),definition:i()}),d({type:m(`text`)})]).optional()}))),ut=le({id:`openai.custom`,inputSchema:b(()=>F(i()))}),dt=e=>ut(e),ft=d({key:i(),type:q([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`,`nin`]),value:l([i(),R(),G(),t(i())])}),pt=d({type:q([`and`,`or`]),filters:t(l([ft,n(()=>pt)]))}),mt=b(()=>F(d({vectorStoreIds:t(i()),maxNumResults:R().optional(),ranking:d({ranker:i().optional(),scoreThreshold:R().optional()}).optional(),filters:l([ft,pt]).optional()}))),ht=b(()=>F(d({queries:t(i()),results:t(d({attributes:p(i(),g()),fileId:i(),filename:i(),score:R(),text:i()})).nullable()}))),gt=K({id:`openai.file_search`,inputSchema:d({}),outputSchema:ht}),_t=b(()=>F(d({background:q([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:q([`low`,`high`]).optional(),inputImageMask:d({fileId:i().optional(),imageUrl:i().optional()}).optional(),model:i().optional(),moderation:q([`auto`]).optional(),outputCompression:R().int().min(0).max(100).optional(),outputFormat:q([`png`,`jpeg`,`webp`]).optional(),partialImages:R().int().min(0).max(3).optional(),quality:q([`auto`,`low`,`medium`,`high`]).optional(),size:q([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict())),vt=K({id:`openai.image_generation`,inputSchema:b(()=>F(d({}))),outputSchema:b(()=>F(d({result:i()})))}),yt=(e={})=>vt(e),bt=b(()=>F(d({action:d({type:m(`exec`),command:t(i()),timeoutMs:R().optional(),user:i().optional(),workingDirectory:i().optional(),env:p(i(),i()).optional()})}))),xt=b(()=>F(d({output:i()}))),St=O({id:`openai.local_shell`,inputSchema:bt,outputSchema:xt}),Ct=b(()=>F(d({action:d({commands:t(i()),timeoutMs:R().optional(),maxOutputLength:R().optional()})}))),wt=b(()=>F(d({output:t(d({stdout:i(),stderr:i(),outcome:r(`type`,[d({type:m(`timeout`)}),d({type:m(`exit`),exitCode:R()})])}))}))),Tt=t(r(`type`,[d({type:m(`skillReference`),providerReference:p(i(),i()),version:i().optional()}),d({type:m(`inline`),name:i(),description:i(),source:d({type:m(`base64`),mediaType:m(`application/zip`),data:i()})})])).optional(),Et=b(()=>F(d({environment:l([d({type:m(`containerAuto`),fileIds:t(i()).optional(),memoryLimit:q([`1g`,`4g`,`16g`,`64g`]).optional(),networkPolicy:r(`type`,[d({type:m(`disabled`)}),d({type:m(`allowlist`),allowedDomains:t(i()),domainSecrets:t(d({domain:i(),name:i(),value:i()})).optional()})]).optional(),skills:Tt}),d({type:m(`containerReference`),containerId:i()}),d({type:m(`local`).optional(),skills:t(d({name:i(),description:i(),path:i()})).optional()})]).optional()}))),Dt=O({id:`openai.shell`,inputSchema:Ct,outputSchema:wt}),Ot=b(()=>F(d({execution:q([`server`,`client`]).optional(),description:i().optional(),parameters:p(i(),g()).optional()}))),kt=b(()=>F(d({arguments:g().optional(),call_id:i().nullish()}))),At=b(()=>F(d({tools:t(p(i(),g()))}))),jt=O({id:`openai.tool_search`,inputSchema:kt,outputSchema:At}),Mt=(e={})=>jt(e),Nt=b(()=>F(d({externalWebAccess:G().optional(),filters:d({allowedDomains:t(i()).optional()}).optional(),searchContextSize:q([`low`,`medium`,`high`]).optional(),userLocation:d({type:m(`approximate`),country:i().optional(),city:i().optional(),region:i().optional(),timezone:i().optional()}).optional()}))),Pt=K({id:`openai.web_search`,inputSchema:b(()=>F(d({}))),outputSchema:b(()=>F(d({action:r(`type`,[d({type:m(`search`),query:i().optional(),queries:t(i()).optional()}),d({type:m(`openPage`),url:i().nullish()}),d({type:m(`findInPage`),url:i().nullish(),pattern:i().nullish()})]).optional(),sources:t(r(`type`,[d({type:m(`url`),url:i()}),d({type:m(`api`),name:i()})])).optional()})))}),Ft=(e={})=>Pt(e),It=b(()=>F(d({searchContextSize:q([`low`,`medium`,`high`]).optional(),userLocation:d({type:m(`approximate`),country:i().optional(),city:i().optional(),region:i().optional(),timezone:i().optional()}).optional()}))),Lt=K({id:`openai.web_search_preview`,inputSchema:b(()=>F(d({}))),outputSchema:b(()=>F(d({action:r(`type`,[d({type:m(`search`),query:i().optional()}),d({type:m(`openPage`),url:i().nullish()}),d({type:m(`findInPage`),url:i().nullish(),pattern:i().nullish()})]).optional()})))}),Rt=n(()=>l([i(),R(),G(),ce(),t(Rt),p(i(),Rt)])),zt=b(()=>F(d({serverLabel:i(),allowedTools:l([t(i()),d({readOnly:G().optional(),toolNames:t(i()).optional()})]).optional(),authorization:i().optional(),connectorId:i().optional(),headers:p(i(),i()).optional(),requireApproval:l([q([`always`,`never`]),d({never:d({toolNames:t(i()).optional()}).optional()})]).optional(),serverDescription:i().optional(),serverUrl:i().optional()}).refine(e=>e.serverUrl!=null||e.connectorId!=null,`One of serverUrl or connectorId must be provided.`))),Bt=K({id:`openai.mcp`,inputSchema:b(()=>F(d({}))),outputSchema:b(()=>F(d({type:m(`call`),serverLabel:i(),name:i(),arguments:i(),output:i().nullish(),error:l([i(),Rt]).optional()})))}),Vt={applyPatch:rt,customTool:dt,codeInterpreter:ct,fileSearch:gt,imageGeneration:yt,localShell:St,shell:Dt,webSearchPreview:Lt,webSearch:Ft,mcp:e=>Bt(e),toolSearch:Mt};function Ht(e){let t=e,n=t.type;switch(n){case`session.created`:return{type:`session-created`,sessionId:t.session?.id,raw:e};case`session.updated`:return{type:`session-updated`,raw:e};case`input_audio_buffer.speech_started`:return{type:`speech-started`,itemId:t.item_id,raw:e};case`input_audio_buffer.speech_stopped`:return{type:`speech-stopped`,itemId:t.item_id,raw:e};case`input_audio_buffer.committed`:return{type:`audio-committed`,itemId:t.item_id,previousItemId:t.previous_item_id,raw:e};case`conversation.item.added`:return{type:`conversation-item-added`,itemId:t.item?.id??t.item_id,item:t.item,raw:e};case`conversation.item.input_audio_transcription.completed`:return{type:`input-transcription-completed`,itemId:t.item_id,transcript:t.transcript??``,raw:e};case`response.created`:return{type:`response-created`,responseId:t.response?.id??t.response_id,raw:e};case`response.done`:return{type:`response-done`,responseId:t.response?.id??t.response_id,status:t.response?.status??`completed`,raw:e};case`response.output_item.added`:return{type:`output-item-added`,responseId:t.response_id,itemId:t.item?.id??t.item_id,raw:e};case`response.output_item.done`:return{type:`output-item-done`,responseId:t.response_id,itemId:t.item?.id??t.item_id,raw:e};case`response.content_part.added`:return{type:`content-part-added`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.content_part.done`:return{type:`content-part-done`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.output_audio.delta`:return{type:`audio-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_audio.done`:return{type:`audio-done`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.output_audio_transcript.delta`:return{type:`audio-transcript-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_audio_transcript.done`:return{type:`audio-transcript-done`,responseId:t.response_id,itemId:t.item_id,transcript:t.transcript,raw:e};case`response.output_text.delta`:return{type:`text-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_text.done`:return{type:`text-done`,responseId:t.response_id,itemId:t.item_id,text:t.text,raw:e};case`response.function_call_arguments.delta`:return{type:`function-call-arguments-delta`,responseId:t.response_id,itemId:t.item_id,callId:t.call_id,delta:t.delta,raw:e};case`response.function_call_arguments.done`:return{type:`function-call-arguments-done`,responseId:t.response_id,itemId:t.item_id,callId:t.call_id,name:t.name,arguments:t.arguments,raw:e};case`error`:return{type:`error`,message:t.error?.message??t.message??`Unknown error`,code:t.error?.code??t.code,raw:e};default:return{type:`custom`,rawType:n,raw:e}}}function Ut(e,t){switch(e.type){case`session-update`:return{type:`session.update`,session:Wt(e.config,t)};case`input-audio-append`:return{type:`input_audio_buffer.append`,audio:e.audio};case`input-audio-commit`:return{type:`input_audio_buffer.commit`};case`input-audio-clear`:return{type:`input_audio_buffer.clear`};case`conversation-item-create`:{let t=e.item;switch(t.type){case`text-message`:return{type:`conversation.item.create`,item:{type:`message`,role:t.role,content:[{type:`input_text`,text:t.text}]}};case`audio-message`:return{type:`conversation.item.create`,item:{type:`message`,role:t.role,content:[{type:`input_audio`,audio:t.audio}]}};case`function-call-output`:return{type:`conversation.item.create`,item:{type:`function_call_output`,call_id:t.callId,output:t.output}}}break}case`conversation-item-truncate`:return{type:`conversation.item.truncate`,item_id:e.itemId,content_index:e.contentIndex,audio_end_ms:e.audioEndMs};case`response-create`:return{type:`response.create`,...e.options==null?{}:{response:{...e.options.modalities==null?{}:{output_modalities:e.options.modalities},...e.options.instructions==null?{}:{instructions:e.options.instructions},...e.options.metadata==null?{}:{metadata:e.options.metadata}}}};case`response-cancel`:return{type:`response.cancel`}}}function Wt(e,t){let n={type:`realtime`,model:t};e.instructions!=null&&(n.instructions=e.instructions),e.outputModalities!=null&&(n.output_modalities=e.outputModalities);let r={};if(e.inputAudioFormat!=null||e.inputAudioTranscription!=null||e.turnDetection!=null){let t={};if(e.inputAudioFormat!=null&&(t.format={type:e.inputAudioFormat.type,...e.inputAudioFormat.rate==null?{}:{rate:e.inputAudioFormat.rate}}),e.turnDetection!=null)if(e.turnDetection.type===`disabled`)t.turn_detection=null;else{let n={type:e.turnDetection.type===`server-vad`?`server_vad`:`semantic_vad`};e.turnDetection.threshold!=null&&(n.threshold=e.turnDetection.threshold),e.turnDetection.silenceDurationMs!=null&&(n.silence_duration_ms=e.turnDetection.silenceDurationMs),e.turnDetection.prefixPaddingMs!=null&&(n.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=n}e.inputAudioTranscription!=null&&(t.transcription={model:e.inputAudioTranscription.model??`gpt-realtime-whisper`,...e.inputAudioTranscription.language==null?{}:{language:e.inputAudioTranscription.language},...e.inputAudioTranscription.prompt==null?{}:{prompt:e.inputAudioTranscription.prompt}}),r.input=t}if(e.outputAudioFormat!=null||e.voice!=null){let t={};e.outputAudioFormat!=null&&(t.format={type:e.outputAudioFormat.type,...e.outputAudioFormat.rate==null?{}:{rate:e.outputAudioFormat.rate}}),e.voice!=null&&(t.voice=e.voice),r.output=t}return Object.keys(r).length>0&&(n.audio=r),e.tools!=null&&e.tools.length>0&&(n.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters})),n.tool_choice=`auto`),e.providerOptions!=null&&Object.assign(n,e.providerOptions),n}var Gt=class{constructor(e,t){this.specificationVersion=`v4`,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t=this.config.fetch??fetch,n=`${this.config.baseURL}/realtime/client_secrets`,r=e.sessionConfig==null?{type:`realtime`,model:this.modelId}:Wt(e.sessionConfig,this.modelId),i=await t(n,{method:`POST`,headers:{...this.config.headers(),"Content-Type":`application/json`},body:JSON.stringify({session:r,...e.expiresAfterSeconds==null?{}:{expires_after:{anchor:`created_at`,seconds:e.expiresAfterSeconds}}})});if(!i.ok){let e=await i.text();throw Error(`OpenAI realtime client secret request failed: ${i.status} ${e}`)}let a=await i.json();return{token:a.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:a.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:[`realtime`,`openai-insecure-api-key.${e.token}`]}}parseServerEvent(e){return Ht(e)}serializeClientEvent(e){return Ut(e,this.modelId)}buildSessionConfig(e){return Wt(e,this.modelId)}};function Kt(e){if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let t=e.input_tokens,n=e.output_tokens,r=e.input_tokens_details?.cached_tokens??0,i=e.output_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:n,text:n-i,reasoning:i},raw:e}}function qt(e){return JSON.stringify(e===void 0?{}:e)}function Jt(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Yt({prompt:e,toolNameMapping:t,systemMessageMode:n,providerOptionsName:r,fileIdPrefixes:i,passThroughUnsupportedFiles:a=!1,store:o,hasConversation:s=!1,hasPreviousResponseId:c=!1,hasLocalShellTool:l=!1,hasShellTool:d=!1,hasApplyPatchTool:f=!1,customProviderToolNames:p}){let m=[],h=[],g=new Set;for(let{role:_,content:v}of e)switch(_){case`system`:switch(n){case`system`:m.push({role:`system`,content:v});break;case`developer`:m.push({role:`developer`,content:v});break;case`remove`:h.push({type:`other`,message:`system messages are removed for this model`});break;default:throw Error(`Unsupported system message mode: ${n}`)}break;case`user`:m.push({role:`user`,content:v.map((e,t)=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:switch(e.data.type){case`reference`:{let t=L({reference:e.data.reference,provider:r});return u(e.mediaType)===`image`?{type:`input_image`,file_id:t,detail:e.providerOptions?.[r]?.imageDetail}:{type:`input_file`,file_id:t}}case`text`:throw new H({functionality:`text file parts`});case`url`:case`data`:if(u(e.mediaType)===`image`)return{type:`input_image`,...e.data.type===`url`?{image_url:e.data.url.toString()}:typeof e.data.data==`string`&&Jt(e.data.data,i)?{file_id:e.data.data}:{image_url:`data:${U({part:e})};base64,${A(e.data.data)}`},detail:e.providerOptions?.[r]?.imageDetail};{if(e.data.type===`url`)return{type:`input_file`,file_url:e.data.url.toString()};let n=U({part:e});if(n!==`application/pdf`&&!a)throw new H({functionality:`file part media type ${n}`});return{type:`input_file`,...typeof e.data.data==`string`&&Jt(e.data.data,i)?{file_id:e.data.data}:{filename:e.filename??(n===`application/pdf`?`part-${t}.pdf`:`part-${t}`),file_data:`data:${n};base64,${A(e.data.data)}`}}}}}})});break;case`assistant`:{let e={};for(let n of v)switch(n.type){case`text`:{let e=n.providerOptions?.[r],t=e?.itemId,i=e?.phase;if(s&&t!=null)break;if(o&&t!=null){m.push({type:`item_reference`,id:t});break}m.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:t,...i!=null&&{phase:i}});break}case`tool-call`:{let e=n.providerOptions?.[r]?.itemId??n.providerMetadata?.[r]?.itemId,i=n.providerOptions?.[r]?.namespace??n.providerMetadata?.[r]?.namespace;if(s&&e!=null)break;let a=t.toProviderToolName(n.toolName);if(a===`tool_search`){if(o&&e!=null){m.push({type:`item_reference`,id:e});break}let t=typeof n.input==`string`?await w({text:n.input,schema:kt}):await M({value:n.input,schema:kt}),r=t.call_id==null?`server`:`client`;m.push({type:`tool_search_call`,id:e??n.toolCallId,execution:r,call_id:t.call_id??null,status:`completed`,arguments:t.arguments});break}if(n.providerExecuted){o&&e!=null&&m.push({type:`item_reference`,id:e});break}if(c&&o&&e!=null)break;let u=l&&a===`local_shell`||d&&a===`shell`||f&&a===`apply_patch`||(p?.has(a)??!1);if(o&&e!=null&&u){m.push({type:`item_reference`,id:e});break}if(l&&a===`local_shell`){let t=await M({value:n.input,schema:bt});m.push({type:`local_shell_call`,call_id:n.toolCallId,id:e,action:{type:`exec`,command:t.action.command,timeout_ms:t.action.timeoutMs,user:t.action.user,working_directory:t.action.workingDirectory,env:t.action.env}});break}if(d&&a===`shell`){let t=await M({value:n.input,schema:Ct});m.push({type:`shell_call`,call_id:n.toolCallId,id:e,status:`completed`,action:{commands:t.action.commands,timeout_ms:t.action.timeoutMs,max_output_length:t.action.maxOutputLength}});break}if(f&&a===`apply_patch`){let t=await M({value:n.input,schema:tt});m.push({type:`apply_patch_call`,call_id:t.callId,id:e,status:`completed`,operation:t.operation});break}if(p?.has(a)){m.push({type:`custom_tool_call`,call_id:n.toolCallId,name:a,input:typeof n.input==`string`?n.input:JSON.stringify(n.input),id:e});break}m.push({type:`function_call`,call_id:n.toolCallId,name:a,arguments:qt(n.input),...i!=null&&{namespace:i}});break}case`tool-result`:{if(n.output.type===`execution-denied`||n.output.type===`json`&&typeof n.output.value==`object`&&n.output.value!=null&&`type`in n.output.value&&n.output.value.type===`execution-denied`||s)break;let e=t.toProviderToolName(n.toolName);if(e===`tool_search`){let e=n.providerOptions?.[r]?.itemId??n.toolCallId;if(o)m.push({type:`item_reference`,id:e});else if(n.output.type===`json`){let t=await M({value:n.output.value,schema:At});m.push({type:`tool_search_output`,id:e,execution:`server`,call_id:null,status:`completed`,tools:t.tools})}break}if(d&&e===`shell`){if(n.output.type===`json`){let e=await M({value:n.output.value,schema:wt});m.push({type:`shell_call_output`,call_id:n.toolCallId,output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`timeout`?{type:`timeout`}:{type:`exit`,exit_code:e.outcome.exitCode}}))})}break}if(o){let e=n.providerOptions?.[r]?.itemId??n.toolCallId;m.push({type:`item_reference`,id:e})}else h.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break}case`reasoning`:{let t=await T({provider:r,providerOptions:n.providerOptions,schema:Xt}),i=t?.itemId;if((s||c)&&i!=null)break;if(i!=null){let r=e[i];if(o)r===void 0&&(m.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let a=[];n.text.length>0?a.push({type:`summary_text`,text:n.text}):r!==void 0&&h.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),r===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:a},m.push(e[i])):(r.summary.push(...a),t?.reasoningEncryptedContent!=null&&(r.encrypted_content=t.reasoningEncryptedContent))}}else{let e=t?.reasoningEncryptedContent;if(e!=null){let t=[];n.text.length>0&&t.push({type:`summary_text`,text:n.text}),m.push({type:`reasoning`,encrypted_content:e,summary:t})}else h.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`})}break}case`custom`:if(n.kind===`openai.compaction`){let e=n.providerOptions?.[r],t=e?.itemId;if(s&&t!=null)break;if(o&&t!=null){m.push({type:`item_reference`,id:t});break}let i=e?.encryptedContent;t!=null&&m.push({type:`compaction`,id:t,encrypted_content:i})}break}break}case`tool`:for(let e of v){if(e.type===`tool-approval-response`){let t=e;if(g.has(t.approvalId))continue;g.add(t.approvalId),o&&m.push({type:`item_reference`,id:t.approvalId}),m.push({type:`mcp_approval_response`,approval_request_id:t.approvalId,approve:t.approved});continue}let n=e.output;if(n.type===`execution-denied`&&n.providerOptions?.openai?.approvalId)continue;let i=t.toProviderToolName(e.toolName);if(i===`tool_search`&&n.type===`json`){let t=await M({value:n.value,schema:At});m.push({type:`tool_search_output`,execution:`client`,call_id:e.toolCallId,status:`completed`,tools:t.tools});continue}if(l&&i===`local_shell`&&n.type===`json`){let t=await M({value:n.value,schema:xt});m.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:t.output});continue}if(d&&i===`shell`&&n.type===`json`){let t=await M({value:n.value,schema:wt});m.push({type:`shell_call_output`,call_id:e.toolCallId,output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`timeout`?{type:`timeout`}:{type:`exit`,exit_code:e.outcome.exitCode}}))});continue}if(f&&e.toolName===`apply_patch`&&n.type===`json`){let t=await M({value:n.value,schema:nt});m.push({type:`apply_patch_call_output`,call_id:e.toolCallId,status:t.status,output:t.output});continue}if(p?.has(i)){let t;switch(n.type){case`text`:case`error-text`:t=n.value;break;case`execution-denied`:t=n.reason??`Tool call execution denied.`;break;case`json`:case`error-json`:t=JSON.stringify(n.value);break;case`content`:t=n.value.map(e=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:{let t=u(e.mediaType),n=e.providerOptions?.[r]?.imageDetail;if(e.data.type===`data`){let r=U({part:e});return t===`image`?{type:`input_image`,image_url:`data:${r};base64,${A(e.data.data)}`,detail:n}:{type:`input_file`,filename:e.filename??`data`,file_data:`data:${r};base64,${A(e.data.data)}`}}if(e.data.type===`url`)return t===`image`?{type:`input_image`,image_url:e.data.url.toString(),detail:n}:{type:`input_file`,file_url:e.data.url.toString()};h.push({type:`other`,message:`unsupported custom tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:h.push({type:`other`,message:`unsupported custom tool content part type: ${e.type}`});return}}).filter(ue);break;default:t=``}m.push({type:`custom_tool_call_output`,call_id:e.toolCallId,output:t});continue}let a;switch(n.type){case`text`:case`error-text`:a=n.value;break;case`execution-denied`:a=n.reason??`Tool call execution denied.`;break;case`json`:case`error-json`:a=JSON.stringify(n.value);break;case`content`:a=n.value.map(e=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:{let t=u(e.mediaType),n=e.providerOptions?.[r]?.imageDetail;if(e.data.type===`data`){let r=U({part:e});return t===`image`?{type:`input_image`,image_url:`data:${r};base64,${A(e.data.data)}`,detail:n}:{type:`input_file`,filename:e.filename??`data`,file_data:`data:${r};base64,${A(e.data.data)}`}}if(e.data.type===`url`)return t===`image`?{type:`input_image`,image_url:e.data.url.toString(),detail:n}:{type:`input_file`,file_url:e.data.url.toString()};h.push({type:`other`,message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:h.push({type:`other`,message:`unsupported tool content part type: ${e.type}`});return}}).filter(ue);break}m.push({type:`function_call_output`,call_id:e.toolCallId,output:a})}break;default:throw Error(`Unsupported role: ${_}`)}return!o&&m.some(e=>`type`in e&&e.type===`reasoning`&&e.encrypted_content==null)&&(h.push({type:`other`,message:`Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts.`}),m=m.filter(e=>!(`type`in e)||e.type!==`reasoning`||e.encrypted_content!=null)),{input:m,warnings:h}}var Xt=d({itemId:i().nullish(),reasoningEncryptedContent:i().nullish()});function Zt({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`other`}}var Q=n(()=>l([i(),R(),G(),ce(),t(Q),p(i(),Q.optional())])),Qt=d({type:m(`error`),sequence_number:R(),error:d({type:i(),code:i(),message:i(),param:i().nullish()})}),$t=d({type:m(`error`),sequence_number:R(),code:i().nullish(),message:i(),param:i().nullish()}),en=b(()=>F(l([d({type:m(`response.output_text.delta`),item_id:i(),delta:i(),logprobs:t(d({token:i(),logprob:R(),top_logprobs:t(d({token:i(),logprob:R()}))})).nullish()}),d({type:q([`response.completed`,`response.incomplete`]),response:d({incomplete_details:d({reason:i()}).nullish(),usage:d({input_tokens:R(),input_tokens_details:d({cached_tokens:R().nullish(),orchestration_input_tokens:R().nullish(),orchestration_input_cached_tokens:R().nullish()}).nullish(),output_tokens:R(),output_tokens_details:d({reasoning_tokens:R().nullish(),orchestration_output_tokens:R().nullish()}).nullish()}),service_tier:i().nullish()})}),d({type:m(`response.failed`),sequence_number:R(),response:d({error:d({code:i().nullish(),message:i()}).nullish(),incomplete_details:d({reason:i()}).nullish(),usage:d({input_tokens:R(),input_tokens_details:d({cached_tokens:R().nullish(),orchestration_input_tokens:R().nullish(),orchestration_input_cached_tokens:R().nullish()}).nullish(),output_tokens:R(),output_tokens_details:d({reasoning_tokens:R().nullish(),orchestration_output_tokens:R().nullish()}).nullish()}).nullish(),service_tier:i().nullish()})}),d({type:m(`response.created`),response:d({id:i(),created_at:R(),model:i(),service_tier:i().nullish()})}),d({type:m(`response.output_item.added`),output_index:R(),item:r(`type`,[d({type:m(`message`),id:i(),phase:q([`commentary`,`final_answer`]).nullish()}),d({type:m(`reasoning`),id:i(),encrypted_content:i().nullish()}),d({type:m(`function_call`),id:i(),call_id:i(),name:i(),arguments:i(),namespace:i().nullish()}),d({type:m(`web_search_call`),id:i(),status:i()}),d({type:m(`computer_call`),id:i(),status:i()}),d({type:m(`file_search_call`),id:i()}),d({type:m(`image_generation_call`),id:i()}),d({type:m(`code_interpreter_call`),id:i(),container_id:i(),code:i().nullable(),outputs:t(r(`type`,[d({type:m(`logs`),logs:i()}),d({type:m(`image`),url:i()})])).nullable(),status:i()}),d({type:m(`mcp_call`),id:i(),status:i(),approval_request_id:i().nullish()}),d({type:m(`mcp_list_tools`),id:i()}),d({type:m(`mcp_approval_request`),id:i()}),d({type:m(`apply_patch_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`]),operation:r(`type`,[d({type:m(`create_file`),path:i(),diff:i()}),d({type:m(`delete_file`),path:i()}),d({type:m(`update_file`),path:i(),diff:i()})])}),d({type:m(`custom_tool_call`),id:i(),call_id:i(),name:i(),input:i()}),d({type:m(`shell_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),action:d({commands:t(i())})}),d({type:m(`compaction`),id:i(),encrypted_content:i().nullish()}),d({type:m(`shell_call_output`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),output:t(d({stdout:i(),stderr:i(),outcome:r(`type`,[d({type:m(`timeout`)}),d({type:m(`exit`),exit_code:R()})])}))}),d({type:m(`tool_search_call`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),arguments:g()}),d({type:m(`tool_search_output`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),tools:t(p(i(),Q.optional()))})])}),d({type:m(`response.output_item.done`),output_index:R(),item:r(`type`,[d({type:m(`message`),id:i(),phase:q([`commentary`,`final_answer`]).nullish()}),d({type:m(`reasoning`),id:i(),encrypted_content:i().nullish()}),d({type:m(`function_call`),id:i(),call_id:i(),name:i(),arguments:i(),status:m(`completed`),namespace:i().nullish()}),d({type:m(`custom_tool_call`),id:i(),call_id:i(),name:i(),input:i(),status:m(`completed`)}),d({type:m(`code_interpreter_call`),id:i(),code:i().nullable(),container_id:i(),outputs:t(r(`type`,[d({type:m(`logs`),logs:i()}),d({type:m(`image`),url:i()})])).nullable()}),d({type:m(`image_generation_call`),id:i(),result:i()}),d({type:m(`web_search_call`),id:i(),status:i(),action:r(`type`,[d({type:m(`search`),query:i().nullish(),queries:t(i()).nullish(),sources:t(r(`type`,[d({type:m(`url`),url:i()}),d({type:m(`api`),name:i()})])).nullish()}),d({type:m(`open_page`),url:i().nullish()}),d({type:m(`find_in_page`),url:i().nullish(),pattern:i().nullish()})]).nullish()}),d({type:m(`file_search_call`),id:i(),queries:t(i()),results:t(d({attributes:p(i(),l([i(),R(),G()])),file_id:i(),filename:i(),score:R(),text:i()})).nullish()}),d({type:m(`local_shell_call`),id:i(),call_id:i(),action:d({type:m(`exec`),command:t(i()),timeout_ms:R().optional(),user:i().optional(),working_directory:i().optional(),env:p(i(),i()).optional()})}),d({type:m(`computer_call`),id:i(),status:m(`completed`)}),d({type:m(`mcp_call`),id:i(),status:i(),arguments:i(),name:i(),server_label:i(),output:i().nullish(),error:l([i(),d({type:i().optional(),code:l([R(),i()]).optional(),message:i().optional()}).loose()]).nullish(),approval_request_id:i().nullish()}),d({type:m(`mcp_list_tools`),id:i(),server_label:i(),tools:t(d({name:i(),description:i().optional(),input_schema:v(),annotations:p(i(),g()).optional()})),error:l([i(),d({type:i().optional(),code:l([R(),i()]).optional(),message:i().optional()}).loose()]).optional()}),d({type:m(`mcp_approval_request`),id:i(),server_label:i(),name:i(),arguments:i(),approval_request_id:i().optional()}),d({type:m(`apply_patch_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`]),operation:r(`type`,[d({type:m(`create_file`),path:i(),diff:i()}),d({type:m(`delete_file`),path:i()}),d({type:m(`update_file`),path:i(),diff:i()})])}),d({type:m(`shell_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),action:d({commands:t(i())})}),d({type:m(`compaction`),id:i(),encrypted_content:i()}),d({type:m(`shell_call_output`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),output:t(d({stdout:i(),stderr:i(),outcome:r(`type`,[d({type:m(`timeout`)}),d({type:m(`exit`),exit_code:R()})])}))}),d({type:m(`tool_search_call`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),arguments:g()}),d({type:m(`tool_search_output`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),tools:t(p(i(),Q.optional()))})])}),d({type:m(`response.function_call_arguments.delta`),item_id:i(),output_index:R(),delta:i()}),d({type:m(`response.custom_tool_call_input.delta`),item_id:i(),output_index:R(),delta:i()}),d({type:m(`response.image_generation_call.partial_image`),item_id:i(),output_index:R(),partial_image_b64:i()}),d({type:m(`response.code_interpreter_call_code.delta`),item_id:i(),output_index:R(),delta:i()}),d({type:m(`response.code_interpreter_call_code.done`),item_id:i(),output_index:R(),code:i()}),d({type:m(`response.output_text.annotation.added`),annotation:r(`type`,[d({type:m(`url_citation`),start_index:R(),end_index:R(),url:i(),title:i()}),d({type:m(`file_citation`),file_id:i(),filename:i(),index:R()}),d({type:m(`container_file_citation`),container_id:i(),file_id:i(),filename:i(),start_index:R(),end_index:R()}),d({type:m(`file_path`),file_id:i(),index:R()})])}),d({type:m(`response.reasoning_summary_part.added`),item_id:i(),summary_index:R()}),d({type:m(`response.reasoning_summary_text.delta`),item_id:i(),summary_index:R(),delta:i()}),d({type:m(`response.reasoning_summary_part.done`),item_id:i(),summary_index:R()}),d({type:m(`response.apply_patch_call_operation_diff.delta`),item_id:i(),output_index:R(),delta:i(),obfuscation:i().nullish()}),d({type:m(`response.apply_patch_call_operation_diff.done`),item_id:i(),output_index:R(),diff:i()}),Qt,$t,d({type:i()}).loose().transform(e=>({type:`unknown_chunk`,message:e.type}))]))),tn=b(()=>F(d({id:i().optional(),created_at:R().optional(),error:d({message:i(),type:i(),param:i().nullish(),code:i()}).nullish(),model:i().optional(),output:t(r(`type`,[d({type:m(`message`),role:m(`assistant`),id:i(),phase:q([`commentary`,`final_answer`]).nullish(),content:t(d({type:m(`output_text`),text:i(),logprobs:t(d({token:i(),logprob:R(),top_logprobs:t(d({token:i(),logprob:R()}))})).nullish(),annotations:t(r(`type`,[d({type:m(`url_citation`),start_index:R(),end_index:R(),url:i(),title:i()}),d({type:m(`file_citation`),file_id:i(),filename:i(),index:R()}),d({type:m(`container_file_citation`),container_id:i(),file_id:i(),filename:i(),start_index:R(),end_index:R()}),d({type:m(`file_path`),file_id:i(),index:R()})]))}))}),d({type:m(`web_search_call`),id:i(),status:i(),action:r(`type`,[d({type:m(`search`),query:i().nullish(),queries:t(i()).nullish(),sources:t(r(`type`,[d({type:m(`url`),url:i()}),d({type:m(`api`),name:i()})])).nullish()}),d({type:m(`open_page`),url:i().nullish()}),d({type:m(`find_in_page`),url:i().nullish(),pattern:i().nullish()})]).nullish()}),d({type:m(`file_search_call`),id:i(),queries:t(i()),results:t(d({attributes:p(i(),l([i(),R(),G()])),file_id:i(),filename:i(),score:R(),text:i()})).nullish()}),d({type:m(`code_interpreter_call`),id:i(),code:i().nullable(),container_id:i(),outputs:t(r(`type`,[d({type:m(`logs`),logs:i()}),d({type:m(`image`),url:i()})])).nullable()}),d({type:m(`image_generation_call`),id:i(),result:i()}),d({type:m(`local_shell_call`),id:i(),call_id:i(),action:d({type:m(`exec`),command:t(i()),timeout_ms:R().optional(),user:i().optional(),working_directory:i().optional(),env:p(i(),i()).optional()})}),d({type:m(`function_call`),call_id:i(),name:i(),arguments:i(),id:i(),namespace:i().nullish()}),d({type:m(`custom_tool_call`),call_id:i(),name:i(),input:i(),id:i()}),d({type:m(`computer_call`),id:i(),status:i().optional()}),d({type:m(`reasoning`),id:i(),encrypted_content:i().nullish(),summary:t(d({type:m(`summary_text`),text:i()}))}),d({type:m(`mcp_call`),id:i(),status:i(),arguments:i(),name:i(),server_label:i(),output:i().nullish(),error:l([i(),d({type:i().optional(),code:l([R(),i()]).optional(),message:i().optional()}).loose()]).nullish(),approval_request_id:i().nullish()}),d({type:m(`mcp_list_tools`),id:i(),server_label:i(),tools:t(d({name:i(),description:i().optional(),input_schema:v(),annotations:p(i(),g()).optional()})),error:l([i(),d({type:i().optional(),code:l([R(),i()]).optional(),message:i().optional()}).loose()]).optional()}),d({type:m(`mcp_approval_request`),id:i(),server_label:i(),name:i(),arguments:i(),approval_request_id:i().optional()}),d({type:m(`apply_patch_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`]),operation:r(`type`,[d({type:m(`create_file`),path:i(),diff:i()}),d({type:m(`delete_file`),path:i()}),d({type:m(`update_file`),path:i(),diff:i()})])}),d({type:m(`shell_call`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),action:d({commands:t(i())})}),d({type:m(`compaction`),id:i(),encrypted_content:i()}),d({type:m(`shell_call_output`),id:i(),call_id:i(),status:q([`in_progress`,`completed`,`incomplete`]),output:t(d({stdout:i(),stderr:i(),outcome:r(`type`,[d({type:m(`timeout`)}),d({type:m(`exit`),exit_code:R()})])}))}),d({type:m(`tool_search_call`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),arguments:g()}),d({type:m(`tool_search_output`),id:i(),execution:q([`server`,`client`]),call_id:i().nullable(),status:q([`in_progress`,`completed`,`incomplete`]),tools:t(p(i(),Q.optional()))})])).optional(),service_tier:i().nullish(),incomplete_details:d({reason:i()}).nullish(),usage:d({input_tokens:R(),input_tokens_details:d({cached_tokens:R().nullish(),orchestration_input_tokens:R().nullish(),orchestration_input_cached_tokens:R().nullish()}).nullish(),output_tokens:R(),output_tokens_details:d({reasoning_tokens:R().nullish(),orchestration_output_tokens:R().nullish()}).nullish()}).optional()}))),nn=20,rn=b(()=>F(d({conversation:i().nullish(),include:t(q([`reasoning.encrypted_content`,`file_search_call.results`,`web_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:i().nullish(),logprobs:l([G(),R().min(1).max(nn)]).optional(),maxToolCalls:R().nullish(),metadata:v().nullish(),parallelToolCalls:G().nullish(),previousResponseId:i().nullish(),promptCacheKey:i().nullish(),promptCacheRetention:q([`in_memory`,`24h`]).nullish(),reasoningEffort:i().nullish(),reasoningSummary:i().nullish(),safetyIdentifier:i().nullish(),serviceTier:q([`auto`,`flex`,`priority`,`default`]).nullish(),store:G().nullish(),passThroughUnsupportedFiles:G().optional(),strictJsonSchema:G().nullish(),textVerbosity:q([`low`,`medium`,`high`]).nullish(),truncation:q([`auto`,`disabled`]).nullish(),user:i().nullish(),systemMessageMode:q([`system`,`developer`,`remove`]).optional(),forceReasoning:G().optional(),contextManagement:t(d({type:m(`compaction`),compactThreshold:R()})).nullish(),allowedTools:d({toolNames:t(i()).min(1),mode:q([`auto`,`required`]).optional()}).optional()})));async function an({tools:e,toolChoice:t,allowedTools:n,toolNameMapping:r,customProviderToolNames:i}){e=e?.length?e:void 0;let a=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:a};let o=[],s=new Map,c=i??new Set;for(let t of e)switch(t.type){case`function`:{let e=t.providerOptions?.openai,n=on({tool:t,options:e}),r=e?.namespace;if(r==null)o.push(n);else{let e=s.get(r.name);if(e==null)e={type:`namespace`,name:r.name,description:r.description,tools:[]},s.set(r.name,e),o.push(e);else if(e.description!==r.description)throw new H({functionality:`conflicting descriptions for OpenAI tool namespace "${r.name}"`});e.tools.push(n)}break}case`provider`:switch(t.id){case`openai.file_search`:{let e=await M({value:t.args,schema:mt});o.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:o.push({type:`local_shell`});break;case`openai.shell`:{let e=await M({value:t.args,schema:Et});o.push({type:`shell`,...e.environment&&{environment:sn(e.environment)}});break}case`openai.apply_patch`:o.push({type:`apply_patch`});break;case`openai.web_search_preview`:{let e=await M({value:t.args,schema:It});o.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=await M({value:t.args,schema:Nt});o.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},external_web_access:e.externalWebAccess,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=await M({value:t.args,schema:ot});o.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}case`openai.image_generation`:{let e=await M({value:t.args,schema:_t});o.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,moderation:e.moderation,partial_images:e.partialImages,quality:e.quality,output_compression:e.outputCompression,output_format:e.outputFormat,size:e.size});break}case`openai.mcp`:{let e=await M({value:t.args,schema:zt}),n=e=>({tool_names:e.toolNames}),r=e.requireApproval,i=r==null?void 0:typeof r==`string`?r:r.never==null?void 0:{never:n(r.never)};o.push({type:`mcp`,server_label:e.serverLabel,allowed_tools:Array.isArray(e.allowedTools)?e.allowedTools:e.allowedTools?{read_only:e.allowedTools.readOnly,tool_names:e.allowedTools.toolNames}:void 0,authorization:e.authorization,connector_id:e.connectorId,headers:e.headers,require_approval:i??`never`,server_description:e.serverDescription,server_url:e.serverUrl});break}case`openai.custom`:{let e=await M({value:t.args,schema:lt});o.push({type:`custom`,name:t.name,description:e.description,format:e.format}),c.add(t.name);break}case`openai.tool_search`:{let e=await M({value:t.args,schema:Ot});o.push({type:`tool_search`,...e.execution==null?{}:{execution:e.execution},...e.description==null?{}:{description:e.description},...e.parameters==null?{}:{parameters:e.parameters}});break}}break;default:a.push({type:`unsupported`,feature:`function tool ${t}`});break}if(n!=null)return{tools:o,toolChoice:{type:`allowed_tools`,mode:n.mode??`auto`,tools:n.toolNames.map(e=>({type:`function`,name:r?.toProviderToolName(e)??e}))},toolWarnings:a};if(t==null)return{tools:o,toolChoice:void 0,toolWarnings:a};let l=t.type;switch(l){case`auto`:case`none`:case`required`:return{tools:o,toolChoice:l,toolWarnings:a};case`tool`:{let e=r?.toProviderToolName(t.toolName)??t.toolName;return{tools:o,toolChoice:e===`code_interpreter`||e===`file_search`||e===`image_generation`||e===`web_search_preview`||e===`web_search`||e===`mcp`||e===`apply_patch`?{type:e}:c.has(e)?{type:`custom`,name:e}:{type:`function`,name:e},toolWarnings:a}}default:throw new H({functionality:`tool choice type: ${l}`})}}function on({tool:e,options:t}){let n=t?.deferLoading;return{type:`function`,name:e.name,description:e.description,parameters:e.inputSchema,...e.strict==null?{}:{strict:e.strict},...n==null?{}:{defer_loading:n}}}function sn(e){if(e.type===`containerReference`)return{type:`container_reference`,container_id:e.containerId};if(e.type===`containerAuto`){let t=e;return{type:`container_auto`,file_ids:t.fileIds,memory_limit:t.memoryLimit,network_policy:t.networkPolicy==null?void 0:t.networkPolicy.type===`disabled`?{type:`disabled`}:{type:`allowlist`,allowed_domains:t.networkPolicy.allowedDomains,domain_secrets:t.networkPolicy.domainSecrets},skills:cn(t.skills)}}return{type:`local`,skills:e.skills}}function cn(e){return e?.map(e=>e.type===`skillReference`?{type:`skill_reference`,skill_id:L({reference:e.providerReference??{},provider:`openai`}),version:e.version??`latest`}:{type:`inline`,name:e.name,description:e.description,source:{type:`base64`,media_type:e.source.mediaType,data:e.source.data}})}function ln(e){let t={};for(let n of e)if(n.role===`assistant`)for(let e of n.content){if(e.type!==`tool-call`)continue;let n=e.providerOptions?.openai?.approvalRequestId;n!=null&&(t[n]=e.toolCallId)}return t}var un=class t{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:c,prompt:l,reasoning:u,providerOptions:d,tools:f,toolChoice:p,responseFormat:m}){let h=[],g=pe(this.modelId);i!=null&&h.push({type:`unsupported`,feature:`topK`}),c!=null&&h.push({type:`unsupported`,feature:`seed`}),a!=null&&h.push({type:`unsupported`,feature:`presencePenalty`}),o!=null&&h.push({type:`unsupported`,feature:`frequencyPenalty`}),n!=null&&h.push({type:`unsupported`,feature:`stopSequences`});let v=this.config.provider.includes(`azure`)?`azure`:`openai`,y=await T({provider:v,providerOptions:d,schema:rn});y==null&&v!==`openai`&&(y=await T({provider:`openai`,providerOptions:d,schema:rn}));let b=y?.reasoningEffort??(s(u)?u:void 0),x=y?.reasoningSummary===void 0?b!=null&&b!==`none`?`detailed`:void 0:y.reasoningSummary,S=y?.forceReasoning??g.isReasoningModel;y?.conversation&&y?.previousResponseId&&h.push({type:`unsupported`,feature:`conversation`,details:`conversation and previousResponseId cannot be used together`});let C=_({tools:f,providerToolNames:{"openai.code_interpreter":`code_interpreter`,"openai.file_search":`file_search`,"openai.image_generation":`image_generation`,"openai.local_shell":`local_shell`,"openai.shell":`shell`,"openai.web_search":`web_search`,"openai.web_search_preview":`web_search_preview`,"openai.mcp":`mcp`,"openai.apply_patch":`apply_patch`,"openai.tool_search":`tool_search`}}),w=new Set,{tools:E,toolChoice:D,toolWarnings:O}=await an({tools:f,toolChoice:p,allowedTools:y?.allowedTools??void 0,toolNameMapping:C,customProviderToolNames:w}),{input:k,warnings:A}=await Yt({prompt:l,toolNameMapping:C,systemMessageMode:y?.systemMessageMode??(S?`developer`:g.systemMessageMode),providerOptionsName:v,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:y?.passThroughUnsupportedFiles??!1,store:y?.store??!0,hasConversation:y?.conversation!=null,hasPreviousResponseId:y?.previousResponseId!=null,hasLocalShellTool:P(`openai.local_shell`),hasShellTool:P(`openai.shell`),hasApplyPatchTool:P(`openai.apply_patch`),customProviderToolNames:w.size>0?w:void 0});h.push(...A);let j=y?.strictJsonSchema??!0,M=y?.include;function N(e){M==null?M=[e]:M.includes(e)||(M=[...M,e])}function P(e){return f?.find(t=>t.type===`provider`&&t.id===e)!=null}let F=typeof y?.logprobs==`number`?y?.logprobs:y?.logprobs===!0?nn:void 0;F&&N(`message.output_text.logprobs`);let I=f?.find(e=>e.type===`provider`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;I&&N(`web_search_call.action.sources`),P(`openai.code_interpreter`)&&N(`code_interpreter_call.outputs`);let L=y?.store;L===!1&&S&&N(`reasoning.encrypted_content`);let R={model:this.modelId,input:k,temperature:t,top_p:r,max_output_tokens:e,...(m?.type===`json`||y?.textVerbosity)&&{text:{...m?.type===`json`&&{format:m.schema==null?{type:`json_object`}:{type:`json_schema`,strict:j,name:m.name??`response`,description:m.description,schema:m.schema}},...y?.textVerbosity&&{verbosity:y.textVerbosity}}},conversation:y?.conversation,max_tool_calls:y?.maxToolCalls,metadata:y?.metadata,parallel_tool_calls:y?.parallelToolCalls,previous_response_id:y?.previousResponseId,store:L,user:y?.user,instructions:y?.instructions,service_tier:y?.serviceTier,include:M,prompt_cache_key:y?.promptCacheKey,prompt_cache_retention:y?.promptCacheRetention,safety_identifier:y?.safetyIdentifier,top_logprobs:F,truncation:y?.truncation,...y?.contextManagement&&{context_management:y.contextManagement.map(e=>({type:e.type,compact_threshold:e.compactThreshold}))},...S&&(b!=null||x!=null)&&{reasoning:{...b!=null&&{effort:b},...x!=null&&{summary:x}}}};S?b===`none`&&g.supportsNonReasoningParameters||(R.temperature!=null&&(R.temperature=void 0,h.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),R.top_p!=null&&(R.top_p=void 0,h.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`}))):(y?.reasoningEffort!=null&&h.push({type:`unsupported`,feature:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),y?.reasoningSummary!=null&&h.push({type:`unsupported`,feature:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),y?.serviceTier===`flex`&&!g.supportsFlexProcessing&&(h.push({type:`unsupported`,feature:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete R.service_tier),y?.serviceTier===`priority`&&!g.supportsPriorityProcessing&&(h.push({type:`unsupported`,feature:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete R.service_tier);let z=f?.find(e=>e.type===`provider`&&e.id===`openai.shell`)?.args?.environment?.type,B=z===`containerAuto`||z===`containerReference`;return{webSearchToolName:I,args:{...R,tools:E,tool_choice:D},warnings:[...h,...O],store:L,toolNameMapping:C,providerOptionsName:v,isShellProviderExecuted:B}}async doGenerate(t){var n,r,i,a,o,s;let{args:c,warnings:l,webSearchToolName:u,toolNameMapping:d,providerOptionsName:f,isShellProviderExecuted:p}=await this.getArgs(t),m=this.config.url({path:`/responses`,modelId:this.modelId}),h=ln(t.prompt),{responseHeaders:g,value:_,rawValue:v}=await e({url:m,headers:k((n=this.config).headers?.call(n),t.headers),body:c,failedResponseHandler:Y,successfulResponseHandler:W(tn),abortSignal:t.abortSignal,fetch:this.config.fetch});if(_.error)throw new S({message:_.error.message,url:m,requestBodyValues:c,statusCode:400,responseHeaders:g,responseBody:v,isRetryable:!1});let y=[],b=[],x=!1,C=[];for(let e of _.output)switch(e.type){case`reasoning`:e.summary.length===0&&e.summary.push({type:`summary_text`,text:``});for(let t of e.summary)y.push({type:`reasoning`,text:t.text,providerMetadata:{[f]:{itemId:e.id,reasoningEncryptedContent:e.encrypted_content??null}}});break;case`image_generation_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`image_generation`),input:`{}`,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`image_generation`),result:{result:e.result}});break;case`tool_search_call`:{let t=e.call_id??e.id,n=e.execution===`server`;n&&C.push(t),y.push({type:`tool-call`,toolCallId:t,toolName:d.toCustomToolName(`tool_search`),input:JSON.stringify({arguments:e.arguments,call_id:e.call_id}),...n?{providerExecuted:!0}:{},providerMetadata:{[f]:{itemId:e.id}}});break}case`tool_search_output`:{let t=e.call_id??C.shift()??e.id;y.push({type:`tool-result`,toolCallId:t,toolName:d.toCustomToolName(`tool_search`),result:{tools:e.tools},providerMetadata:{[f]:{itemId:e.id}}});break}case`local_shell_call`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`local_shell`),input:JSON.stringify({action:e.action}),providerMetadata:{[f]:{itemId:e.id}}});break;case`shell_call`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`shell`),input:JSON.stringify({action:{commands:e.action.commands}}),...p&&{providerExecuted:!0},providerMetadata:{[f]:{itemId:e.id}}});break;case`shell_call_output`:y.push({type:`tool-result`,toolCallId:e.call_id,toolName:d.toCustomToolName(`shell`),result:{output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`exit`?{type:`exit`,exitCode:e.outcome.exit_code}:{type:`timeout`}}))}});break;case`message`:for(let n of e.content){t.providerOptions?.[f]?.logprobs&&n.logprobs&&b.push(n.logprobs);let s={itemId:e.id,...e.phase!=null&&{phase:e.phase},...n.annotations.length>0&&{annotations:n.annotations}};y.push({type:`text`,text:n.text,providerMetadata:{[f]:s}});for(let e of n.annotations)e.type===`url_citation`?y.push({type:`source`,sourceType:`url`,id:(r=this.config).generateId?.call(r)??z(),url:e.url,title:e.title}):e.type===`file_citation`?y.push({type:`source`,sourceType:`document`,id:(i=this.config).generateId?.call(i)??z(),mediaType:`text/plain`,title:e.filename,filename:e.filename,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,index:e.index}}}):e.type===`container_file_citation`?y.push({type:`source`,sourceType:`document`,id:(a=this.config).generateId?.call(a)??z(),mediaType:`text/plain`,title:e.filename,filename:e.filename,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}}):e.type===`file_path`&&y.push({type:`source`,sourceType:`document`,id:(o=this.config).generateId?.call(o)??z(),mediaType:`application/octet-stream`,title:e.file_id,filename:e.file_id,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,index:e.index}}})}break;case`function_call`:x=!0,y.push({type:`tool-call`,toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{[f]:{itemId:e.id,...e.namespace!=null&&{namespace:e.namespace}}}});break;case`custom_tool_call`:{x=!0;let t=d.toCustomToolName(e.name);y.push({type:`tool-call`,toolCallId:e.call_id,toolName:t,input:JSON.stringify(e.input),providerMetadata:{[f]:{itemId:e.id}}});break}case`web_search_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(u??`web_search`),input:JSON.stringify({}),providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(u??`web_search`),result:An(e.action)});break;case`mcp_call`:{let t=e.approval_request_id==null?e.id:h[e.approval_request_id]??e.id,n=`mcp.${e.name}`;y.push({type:`tool-call`,toolCallId:t,toolName:n,input:e.arguments,providerExecuted:!0,dynamic:!0}),y.push({type:`tool-result`,toolCallId:t,toolName:n,result:{type:`call`,serverLabel:e.server_label,name:e.name,arguments:e.arguments,...e.output==null?{}:{output:e.output},...e.error==null?{}:{error:e.error}},providerMetadata:{[f]:{itemId:e.id}}});break}case`mcp_list_tools`:break;case`mcp_approval_request`:{let t=e.approval_request_id??e.id,n=(s=this.config).generateId?.call(s)??z(),r=`mcp.${e.name}`;y.push({type:`tool-call`,toolCallId:n,toolName:r,input:e.arguments,providerExecuted:!0,dynamic:!0}),y.push({type:`tool-approval-request`,approvalId:t,toolCallId:n});break}case`computer_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`computer_use`),input:``,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`computer_use`),result:{type:`computer_use_tool_result`,status:e.status||`completed`}});break;case`file_search_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`file_search`),input:`{}`,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`file_search`),result:{queries:e.queries,results:e.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});break;case`code_interpreter_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`code_interpreter`),input:JSON.stringify({code:e.code,containerId:e.container_id}),providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`code_interpreter`),result:{outputs:e.outputs}});break;case`apply_patch_call`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`apply_patch`),input:JSON.stringify({callId:e.call_id,operation:e.operation}),providerMetadata:{[f]:{itemId:e.id}}});break;case`compaction`:y.push({type:`custom`,kind:`openai.compaction`,providerMetadata:{[f]:{type:`compaction`,itemId:e.id,encryptedContent:e.encrypted_content}}});break}let w={[f]:{responseId:_.id,...b.length>0?{logprobs:b}:{},...typeof _.service_tier==`string`?{serviceTier:_.service_tier}:{}}},T=_.usage;return{content:y,finishReason:{unified:Zt({finishReason:_.incomplete_details?.reason,hasFunctionCall:x}),raw:_.incomplete_details?.reason??void 0},usage:Kt(T),request:{body:c},response:{id:_.id,timestamp:new Date(_.created_at*1e3),modelId:_.model,headers:g,body:v},providerMetadata:w,warnings:l}}async doStream(t){var n;let{args:r,warnings:i,webSearchToolName:a,toolNameMapping:o,store:s,providerOptionsName:c,isShellProviderExecuted:l}=await this.getArgs(t),u=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:d,value:f}=await e({url:u,headers:k((n=this.config).headers?.call(n),t.headers),body:{...r,stream:!0},failedResponseHandler:Y,successfulResponseHandler:P(en),abortSignal:t.abortSignal,fetch:this.config.fetch}),p=await X({stream:f,getError:e=>On(e)||_n(e)&&e.response.error!=null?e:void 0,isOutputChunk:kn,url:u,requestBodyValues:r,responseHeaders:d}),m=this,h=ln(t.prompt),g=new Map,_={unified:`other`,raw:void 0},v,y=[],b=null,x={},S=[],C,w=!1,T={},E,D=[],O=!1;return{stream:p.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:i})},transform(e,n){var i,f,p,k,A;if(t.includeRawChunks&&n.enqueue({type:`raw`,rawValue:e.rawValue}),!e.success){let t=fn(e.rawValue)?pn({value:e.rawValue,cause:e.error,url:u,requestBodyValues:r,responseHeaders:d}):e.error;_={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:t});return}let j=e.value;if(En(j)){if(j.item.type===`function_call`)x[j.output_index]={toolName:j.item.name,toolCallId:j.item.call_id},n.enqueue({type:`tool-input-start`,id:j.item.call_id,toolName:j.item.name});else if(j.item.type===`custom_tool_call`){let e=o.toCustomToolName(j.item.name);x[j.output_index]={toolName:e,toolCallId:j.item.call_id},n.enqueue({type:`tool-input-start`,id:j.item.call_id,toolName:e})}else if(j.item.type===`web_search_call`)x[j.output_index]={toolName:o.toCustomToolName(a??`web_search`),toolCallId:j.item.id},n.enqueue({type:`tool-input-start`,id:j.item.id,toolName:o.toCustomToolName(a??`web_search`),providerExecuted:!0}),n.enqueue({type:`tool-input-end`,id:j.item.id}),n.enqueue({type:`tool-call`,toolCallId:j.item.id,toolName:o.toCustomToolName(a??`web_search`),input:JSON.stringify({}),providerExecuted:!0});else if(j.item.type===`computer_call`)x[j.output_index]={toolName:o.toCustomToolName(`computer_use`),toolCallId:j.item.id},n.enqueue({type:`tool-input-start`,id:j.item.id,toolName:o.toCustomToolName(`computer_use`),providerExecuted:!0});else if(j.item.type===`code_interpreter_call`)x[j.output_index]={toolName:o.toCustomToolName(`code_interpreter`),toolCallId:j.item.id,codeInterpreter:{containerId:j.item.container_id}},n.enqueue({type:`tool-input-start`,id:j.item.id,toolName:o.toCustomToolName(`code_interpreter`),providerExecuted:!0}),n.enqueue({type:`tool-input-delta`,id:j.item.id,delta:`{"containerId":"${j.item.container_id}","code":"`});else if(j.item.type===`file_search_call`)n.enqueue({type:`tool-call`,toolCallId:j.item.id,toolName:o.toCustomToolName(`file_search`),input:`{}`,providerExecuted:!0});else if(j.item.type===`image_generation_call`)n.enqueue({type:`tool-call`,toolCallId:j.item.id,toolName:o.toCustomToolName(`image_generation`),input:`{}`,providerExecuted:!0});else if(j.item.type===`tool_search_call`){let e=j.item.id,t=o.toCustomToolName(`tool_search`),r=j.item.execution===`server`;x[j.output_index]={toolName:t,toolCallId:e,toolSearchExecution:j.item.execution??`server`},r&&n.enqueue({type:`tool-input-start`,id:e,toolName:t,providerExecuted:!0})}else if(j.item.type!==`tool_search_output`&&!(j.item.type===`mcp_call`||j.item.type===`mcp_list_tools`||j.item.type===`mcp_approval_request`))if(j.item.type===`apply_patch_call`){let{call_id:e,operation:t}=j.item;if(x[j.output_index]={toolName:o.toCustomToolName(`apply_patch`),toolCallId:e,applyPatch:{hasDiff:t.type===`delete_file`,endEmitted:t.type===`delete_file`}},n.enqueue({type:`tool-input-start`,id:e,toolName:o.toCustomToolName(`apply_patch`)}),t.type===`delete_file`){let r=JSON.stringify({callId:e,operation:t});n.enqueue({type:`tool-input-delta`,id:e,delta:r}),n.enqueue({type:`tool-input-end`,id:e})}else n.enqueue({type:`tool-input-delta`,id:e,delta:`{"callId":"${$(e)}","operation":{"type":"${$(t.type)}","path":"${$(t.path)}","diff":"`})}else j.item.type===`shell_call`?x[j.output_index]={toolName:o.toCustomToolName(`shell`),toolCallId:j.item.call_id}:j.item.type===`shell_call_output`||(j.item.type===`message`?(S.splice(0,S.length),C=j.item.phase??void 0,n.enqueue({type:`text-start`,id:j.item.id,providerMetadata:{[c]:{itemId:j.item.id,...j.item.phase!=null&&{phase:j.item.phase}}}})):En(j)&&j.item.type===`reasoning`&&(T[j.item.id]={encryptedContent:j.item.encrypted_content,summaryParts:{0:`active`}},n.enqueue({type:`reasoning-start`,id:`${j.item.id}:0`,providerMetadata:{[c]:{itemId:j.item.id,reasoningEncryptedContent:j.item.encrypted_content??null}}})))}else if(hn(j))if(j.item.type===`message`){let e=j.item.phase??C;C=void 0,n.enqueue({type:`text-end`,id:j.item.id,providerMetadata:{[c]:{itemId:j.item.id,...e!=null&&{phase:e},...S.length>0&&{annotations:S}}}})}else if(j.item.type===`function_call`)x[j.output_index]=void 0,w=!0,n.enqueue({type:`tool-input-end`,id:j.item.call_id,...j.item.namespace!=null&&{providerMetadata:{[c]:{namespace:j.item.namespace}}}}),n.enqueue({type:`tool-call`,toolCallId:j.item.call_id,toolName:j.item.name,input:j.item.arguments,providerMetadata:{[c]:{itemId:j.item.id,...j.item.namespace!=null&&{namespace:j.item.namespace}}}});else if(j.item.type===`custom_tool_call`){x[j.output_index]=void 0,w=!0;let e=o.toCustomToolName(j.item.name);n.enqueue({type:`tool-input-end`,id:j.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:j.item.call_id,toolName:e,input:JSON.stringify(j.item.input),providerMetadata:{[c]:{itemId:j.item.id}}})}else if(j.item.type===`web_search_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:j.item.id,toolName:o.toCustomToolName(a??`web_search`),result:An(j.item.action)});else if(j.item.type===`computer_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:j.item.id}),n.enqueue({type:`tool-call`,toolCallId:j.item.id,toolName:o.toCustomToolName(`computer_use`),input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:j.item.id,toolName:o.toCustomToolName(`computer_use`),result:{type:`computer_use_tool_result`,status:j.item.status||`completed`}});else if(j.item.type===`file_search_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:j.item.id,toolName:o.toCustomToolName(`file_search`),result:{queries:j.item.queries,results:j.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});else if(j.item.type===`code_interpreter_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:j.item.id,toolName:o.toCustomToolName(`code_interpreter`),result:{outputs:j.item.outputs}});else if(j.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:j.item.id,toolName:o.toCustomToolName(`image_generation`),result:{result:j.item.result}});else if(j.item.type===`tool_search_call`){let e=x[j.output_index],t=j.item.execution===`server`;if(e!=null){let r=t?e.toolCallId:j.item.call_id??j.item.id;t?D.push(r):n.enqueue({type:`tool-input-start`,id:r,toolName:e.toolName}),n.enqueue({type:`tool-input-end`,id:r}),n.enqueue({type:`tool-call`,toolCallId:r,toolName:e.toolName,input:JSON.stringify({arguments:j.item.arguments,call_id:t?null:r}),...t?{providerExecuted:!0}:{},providerMetadata:{[c]:{itemId:j.item.id}}})}x[j.output_index]=void 0}else if(j.item.type===`tool_search_output`){let e=j.item.call_id??D.shift()??j.item.id;n.enqueue({type:`tool-result`,toolCallId:e,toolName:o.toCustomToolName(`tool_search`),result:{tools:j.item.tools},providerMetadata:{[c]:{itemId:j.item.id}}})}else if(j.item.type===`mcp_call`){x[j.output_index]=void 0;let e=j.item.approval_request_id??void 0,t=e==null?j.item.id:g.get(e)??h[e]??j.item.id,r=`mcp.${j.item.name}`;n.enqueue({type:`tool-call`,toolCallId:t,toolName:r,input:j.item.arguments,providerExecuted:!0,dynamic:!0}),n.enqueue({type:`tool-result`,toolCallId:t,toolName:r,result:{type:`call`,serverLabel:j.item.server_label,name:j.item.name,arguments:j.item.arguments,...j.item.output==null?{}:{output:j.item.output},...j.item.error==null?{}:{error:j.item.error}},providerMetadata:{[c]:{itemId:j.item.id}}})}else if(j.item.type===`mcp_list_tools`)x[j.output_index]=void 0;else if(j.item.type===`apply_patch_call`){let e=x[j.output_index];e?.applyPatch&&!e.applyPatch.endEmitted&&j.item.operation.type!==`delete_file`&&(e.applyPatch.hasDiff||n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(j.item.operation.diff)}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),e.applyPatch.endEmitted=!0),e&&j.item.status===`completed`&&n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:o.toCustomToolName(`apply_patch`),input:JSON.stringify({callId:j.item.call_id,operation:j.item.operation}),providerMetadata:{[c]:{itemId:j.item.id}}}),x[j.output_index]=void 0}else if(j.item.type===`mcp_approval_request`){x[j.output_index]=void 0;let e=(i=m.config).generateId?.call(i)??z(),t=j.item.approval_request_id??j.item.id;g.set(t,e);let r=`mcp.${j.item.name}`;n.enqueue({type:`tool-call`,toolCallId:e,toolName:r,input:j.item.arguments,providerExecuted:!0,dynamic:!0}),n.enqueue({type:`tool-approval-request`,approvalId:t,toolCallId:e})}else if(j.item.type===`local_shell_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:j.item.call_id,toolName:o.toCustomToolName(`local_shell`),input:JSON.stringify({action:{type:`exec`,command:j.item.action.command,timeoutMs:j.item.action.timeout_ms,user:j.item.action.user,workingDirectory:j.item.action.working_directory,env:j.item.action.env}}),providerMetadata:{[c]:{itemId:j.item.id}}});else if(j.item.type===`shell_call`)x[j.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:j.item.call_id,toolName:o.toCustomToolName(`shell`),input:JSON.stringify({action:{commands:j.item.action.commands}}),...l&&{providerExecuted:!0},providerMetadata:{[c]:{itemId:j.item.id}}});else if(j.item.type===`shell_call_output`)n.enqueue({type:`tool-result`,toolCallId:j.item.call_id,toolName:o.toCustomToolName(`shell`),result:{output:j.item.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`exit`?{type:`exit`,exitCode:e.outcome.exit_code}:{type:`timeout`}}))}});else if(j.item.type===`reasoning`){let e=T[j.item.id],t=Object.entries(e.summaryParts).filter(([e,t])=>t===`active`||t===`can-conclude`).map(([e])=>e);for(let e of t)n.enqueue({type:`reasoning-end`,id:`${j.item.id}:${e}`,providerMetadata:{[c]:{itemId:j.item.id,reasoningEncryptedContent:j.item.encrypted_content??null}}});delete T[j.item.id]}else j.item.type===`compaction`&&n.enqueue({type:`custom`,kind:`openai.compaction`,providerMetadata:{[c]:{type:`compaction`,itemId:j.item.id,encryptedContent:j.item.encrypted_content}}});else if(yn(j)){let e=x[j.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:j.delta})}else if(bn(j)){let e=x[j.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:j.delta})}else if(wn(j)){let e=x[j.output_index];e?.applyPatch&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(j.delta)}),e.applyPatch.hasDiff=!0)}else if(Tn(j)){let e=x[j.output_index];e?.applyPatch&&!e.applyPatch.endEmitted&&(e.applyPatch.hasDiff||(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(j.diff)}),e.applyPatch.hasDiff=!0),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),e.applyPatch.endEmitted=!0)}else if(xn(j))n.enqueue({type:`tool-result`,toolCallId:j.item_id,toolName:o.toCustomToolName(`image_generation`),result:{result:j.partial_image_b64},preliminary:!0});else if(Sn(j)){let e=x[j.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(j.delta)})}else if(Cn(j)){let e=x[j.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:o.toCustomToolName(`code_interpreter`),input:JSON.stringify({code:j.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else if(vn(j))b=j.response.id,n.enqueue({type:`response-metadata`,id:j.response.id,timestamp:new Date(j.response.created_at*1e3),modelId:j.response.model});else if(dn(j))n.enqueue({type:`text-delta`,id:j.item_id,delta:j.delta}),t.providerOptions?.[c]?.logprobs&&j.logprobs&&y.push(j.logprobs);else if(j.type===`response.reasoning_summary_part.added`){if(j.summary_index>0){let e=T[j.item_id];e.summaryParts[j.summary_index]=`active`;for(let t of Object.keys(e.summaryParts))e.summaryParts[t]===`can-conclude`&&(n.enqueue({type:`reasoning-end`,id:`${j.item_id}:${t}`,providerMetadata:{[c]:{itemId:j.item_id}}}),e.summaryParts[t]=`concluded`);n.enqueue({type:`reasoning-start`,id:`${j.item_id}:${j.summary_index}`,providerMetadata:{[c]:{itemId:j.item_id,reasoningEncryptedContent:T[j.item_id]?.encryptedContent??null}}})}}else if(j.type===`response.reasoning_summary_text.delta`)n.enqueue({type:`reasoning-delta`,id:`${j.item_id}:${j.summary_index}`,delta:j.delta,providerMetadata:{[c]:{itemId:j.item_id}}});else if(j.type===`response.reasoning_summary_part.done`)s?(n.enqueue({type:`reasoning-end`,id:`${j.item_id}:${j.summary_index}`,providerMetadata:{[c]:{itemId:j.item_id}}}),T[j.item_id].summaryParts[j.summary_index]=`concluded`):T[j.item_id].summaryParts[j.summary_index]=`can-conclude`;else if(gn(j))_={unified:Zt({finishReason:j.response.incomplete_details?.reason,hasFunctionCall:w}),raw:j.response.incomplete_details?.reason??void 0},v=j.response.usage,typeof j.response.service_tier==`string`&&(E=j.response.service_tier);else if(_n(j)){let e=j.response.incomplete_details?.reason;_={unified:e?Zt({finishReason:e,hasFunctionCall:w}):`error`,raw:e??`error`},v=j.response.usage??void 0,!O&&j.response.error!=null&&(O=!0,n.enqueue({type:`error`,error:{type:`response.failed`,sequence_number:j.sequence_number,response:{error:j.response.error,incomplete_details:j.response.incomplete_details,service_tier:j.response.service_tier}}}))}else Dn(j)?(S.push(j.annotation),j.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(f=m.config).generateId?.call(f)??z(),url:j.annotation.url,title:j.annotation.title}):j.annotation.type===`file_citation`?n.enqueue({type:`source`,sourceType:`document`,id:(p=m.config).generateId?.call(p)??z(),mediaType:`text/plain`,title:j.annotation.filename,filename:j.annotation.filename,providerMetadata:{[c]:{type:j.annotation.type,fileId:j.annotation.file_id,index:j.annotation.index}}}):j.annotation.type===`container_file_citation`?n.enqueue({type:`source`,sourceType:`document`,id:(k=m.config).generateId?.call(k)??z(),mediaType:`text/plain`,title:j.annotation.filename,filename:j.annotation.filename,providerMetadata:{[c]:{type:j.annotation.type,fileId:j.annotation.file_id,containerId:j.annotation.container_id}}}):j.annotation.type===`file_path`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=m.config).generateId?.call(A)??z(),mediaType:`application/octet-stream`,title:j.annotation.file_id,filename:j.annotation.file_id,providerMetadata:{[c]:{type:j.annotation.type,fileId:j.annotation.file_id,index:j.annotation.index}}})):On(j)&&(O=!0,_={unified:`error`,raw:`error`},n.enqueue({type:`error`,error:j}))},flush(e){let t={[c]:{responseId:b,...y.length>0?{logprobs:y}:{},...E===void 0?{}:{serviceTier:E}}};e.enqueue({type:`finish`,finishReason:_,usage:Kt(v),providerMetadata:t})}})),request:{body:r},response:{headers:d}}}};function dn(e){return e.type===`response.output_text.delta`}function fn(e){let t=mn(e);return t!=null&&Array.isArray(t.choices)&&typeof t.type!=`string`}function pn({value:e,cause:t,url:n,requestBodyValues:r,responseHeaders:i}){return new S({message:`Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.`,url:n,requestBodyValues:r,responseHeaders:i,responseBody:JSON.stringify(e),cause:t,data:e,isRetryable:!1})}function mn(e){return typeof e==`object`&&e?e:void 0}function hn(e){return e.type===`response.output_item.done`}function gn(e){return e.type===`response.completed`||e.type===`response.incomplete`}function _n(e){return e.type===`response.failed`}function vn(e){return e.type===`response.created`}function yn(e){return e.type===`response.function_call_arguments.delta`}function bn(e){return e.type===`response.custom_tool_call_input.delta`}function xn(e){return e.type===`response.image_generation_call.partial_image`}function Sn(e){return e.type===`response.code_interpreter_call_code.delta`}function Cn(e){return e.type===`response.code_interpreter_call_code.done`}function wn(e){return e.type===`response.apply_patch_call_operation_diff.delta`}function Tn(e){return e.type===`response.apply_patch_call_operation_diff.done`}function En(e){return e.type===`response.output_item.added`}function Dn(e){return e.type===`response.output_text.annotation.added`}function On(e){return e.type===`error`}function kn(e){return!(e.type===`response.created`||e.type===`response.failed`||e.type===`error`||e.type===`unknown_chunk`)}function An(e){if(e==null)return{};switch(e.type){case`search`:return{action:{type:`search`,query:e.query??void 0,...e.queries!=null&&{queries:e.queries}},...e.sources!=null&&{sources:e.sources}};case`open_page`:return{action:{type:`openPage`,url:e.url}};case`find_in_page`:return{action:{type:`findInPage`,url:e.url,pattern:e.pattern}}}}function $(e){return JSON.stringify(e).slice(1,-1)}var jn=b(()=>F(d({instructions:i().nullish(),speed:R().min(.25).max(4).default(1).nullish()}))),Mn=class t{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await T({provider:`openai`,providerOptions:o,schema:jn}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported`,feature:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported`,feature:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(t){var n,r;let i=((n=this.config._internal)?.currentDate)?.call(n)??new Date,{requestBody:a,warnings:o}=await this.getArgs(t),{value:s,responseHeaders:c,rawValue:l}=await e({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:k((r=this.config).headers?.call(r),t.headers),body:a,failedResponseHandler:Y,successfulResponseHandler:ee(),abortSignal:t.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},Nn=b(()=>F(d({text:i(),language:i().nullish(),duration:R().nullish(),words:t(d({word:i(),start:R(),end:R()})).nullish(),segments:t(d({id:R(),seek:R(),start:R(),end:R(),text:i(),tokens:t(R()),temperature:R(),avg_logprob:R(),compression_ratio:R(),no_speech_prob:R()})).nullish()}))),Pn=b(()=>F(d({include:t(i()).optional(),language:i().optional(),prompt:i().optional(),temperature:R().min(0).max(1).default(0).optional(),timestampGranularities:t(q([`word`,`segment`])).default([`segment`]).optional(),streaming:d({delay:q([`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),include:t(i()).optional()}).optional()})));function Fn(e){return e===`gpt-realtime-whisper`||e.startsWith(`gpt-realtime-whisper-`)}var In={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},Ln=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[D](e){return V({modelId:e.modelId,config:e.config})}static[N](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await T({provider:`openai`,providerOptions:n,schema:Pn}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([B(e)]);a.append(`model`,this.modelId);let s=c(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),this.modelId===`whisper-1`&&a.append(`response_format`,`verbose_json`),i){let e=[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId),t={include:i.include,language:i.language,prompt:i.prompt,...this.modelId!==`whisper-1`&&{response_format:e?`json`:`verbose_json`},temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[e,n]of Object.entries(t))if(n!=null)if(Array.isArray(n))for(let t of n)a.append(`${e}[]`,String(t));else a.append(e,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n;if(Fn(this.modelId))throw new H({functionality:`non-streaming transcription with ${this.modelId}`});let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:i,warnings:a}=await this.getArgs(e),{value:o,responseHeaders:s,rawValue:c}=await h({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:k((n=this.config).headers?.call(n),e.headers),formData:i,failedResponseHandler:Y,successfulResponseHandler:W(Nn),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=o.language!=null&&o.language in In?In[o.language]:void 0;return{text:o.text,segments:o.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??o.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:l,durationInSeconds:o.duration??void 0,warnings:a,response:{timestamp:r,modelId:this.modelId,headers:s,body:c}}}async doStream(e){var t,n;if(!Fn(this.modelId))throw new H({functionality:`streaming transcription with ${this.modelId}`});let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,i=await T({provider:`openai`,providerOptions:e.providerOptions,schema:Pn}),a=[],o=e.providerOptions?.openai??{};for(let e of[`include`,`prompt`,`temperature`,`timestampGranularities`])o[e]!=null&&a.push({type:`unsupported`,feature:`providerOptions.openai.${e}`,details:`OpenAI streaming transcription does not support ${e}.`});let s=k((n=this.config).headers?.call(n),e.headers),c=zn({modelId:this.modelId,inputAudioFormat:e.inputAudioFormat,providerOptions:i});return{request:{body:c},response:{timestamp:r,modelId:this.modelId},stream:Rn({webSocket:this.config.webSocket,url:oe(this.config.url({path:`/realtime?intent=transcription`,modelId:this.modelId})),headers:s,sessionUpdate:c,language:i?.language,warnings:a,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function Rn({webSocket:e,url:t,headers:n,sessionUpdate:r,language:i,warnings:a,audio:o,abortSignal:s,includeRawChunks:c}){let l=!1,u=()=>{};return new ReadableStream({start:d=>{let p=new(f(e))(t,Bn(n),{headers:n}),m;u=e=>{s?.removeEventListener(`abort`,_),m?.cancel().catch(()=>{});try{p.close(e)}catch{}};let h=e=>{l||(l=!0,u(),d.error(e))},g=(e,t)=>{l||(l=!0,t!=null&&d.enqueue({type:`transcript-final`,id:t,text:e}),d.enqueue({type:`finish`,text:e,segments:[],language:i}),d.close(),u(1e3))},_=()=>{h(s?.reason??Error(`Aborted`))};if(s?.aborted){_();return}s?.addEventListener(`abort`,_,{once:!0});let v=async()=>{m=o.getReader();try{for(;;){let{done:e,value:t}=await m.read();if(e||l)break;p.send(JSON.stringify({type:`input_audio_buffer.append`,audio:A(t)}))}}finally{m.releaseLock()}l||p.send(JSON.stringify({type:`input_audio_buffer.commit`}))};p.onopen=()=>{d.enqueue({type:`stream-start`,warnings:a}),p.send(JSON.stringify(r)),v().catch(h)},p.onmessage=e=>{ie(e.data).then(async e=>{let t=await ne({text:e});if(!t.success)return;let n=t.value;switch(c&&d.enqueue({type:`raw`,rawValue:n}),n.type){case`conversation.item.input_audio_transcription.delta`:d.enqueue({type:`transcript-delta`,id:n.item_id,delta:n.delta??``});break;case`conversation.item.input_audio_transcription.completed`:g(n.transcript??``,n.item_id);break;case`error`:h(Error(n.error?.message??`OpenAI realtime error`));break}}).catch(h)},p.onerror=()=>{h(Error(`OpenAI realtime transcription error`))},p.onclose=()=>{l||(l=!0,u(),d.close())}},cancel:()=>{l||(l=!0,u())}})}function zn({modelId:e,inputAudioFormat:t,providerOptions:n}){return{type:`session.update`,session:{type:`transcription`,audio:{input:{format:{type:t.type,...t.rate==null?{}:{rate:t.rate}},transcription:{model:e,...n?.language==null?{}:{language:n.language},...n?.streaming?.delay==null?{}:{delay:n.streaming.delay}},turn_detection:null}},...n?.streaming?.include==null?{}:{include:n.streaming.include}}}}function Bn(e){let t=e.Authorization??e.authorization,n=t?.startsWith(`Bearer `)?t.slice(7):void 0;return n==null?[`realtime`]:[`realtime`,`openai-insecure-api-key.${n}`]}var Vn=b(()=>F(d({id:i(),name:i().nullish(),description:i().nullish(),default_version:i().nullish(),latest_version:i().nullish(),created_at:R(),updated_at:R().nullish()})));b(()=>F(d({id:i(),version:i().nullish(),name:i().nullish(),description:i().nullish()})));var Hn=class{constructor(e){this.config=e,this.specificationVersion=`v4`}get provider(){return this.config.provider}async uploadSkill(e){let t=[];e.displayTitle!=null&&t.push({type:`unsupported`,feature:`displayTitle`});let n=new FormData;for(let t of e.files){let e=ae(t.data);n.append(`files[]`,new Blob([e]),t.path)}let{value:r}=await h({url:this.config.url({path:`/skills`}),headers:k(this.config.headers()),formData:n,failedResponseHandler:Y,successfulResponseHandler:W(Vn),fetch:this.config.fetch});return{providerReference:{openai:r.id},...r.name==null?{}:{name:r.name},...r.description==null?{}:{description:r.description},...r.latest_version==null?{}:{latestVersion:r.latest_version},providerMetadata:{openai:{...r.default_version==null?{}:{defaultVersion:r.default_version},...r.created_at==null?{}:{createdAt:r.created_at},...r.updated_at==null?{}:{updatedAt:r.updated_at}}},warnings:t}}},Un=`4.0.7`;function Wn(e={}){let t=te(a({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>re({Authorization:`Bearer ${C({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${Un}`),i=i=>new Oe(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new Le(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Ve(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new Qe(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new Ln(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,webSocket:e.webSocket}),u=i=>new Mn(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),d=()=>new We({provider:`${n}.files`,baseURL:t,headers:r,fetch:e.fetch}),f=()=>new Hn({provider:`${n}.skills`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),p=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return m(e)},m=i=>new un(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),h=i=>new Gt(i,{provider:`${n}.realtime`,baseURL:t,headers:r,fetch:e.fetch}),g=Object.assign(e=>h(e),{getToken:async e=>{let t=await h(e.model).doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:t.token,url:t.url,expiresAt:t.expiresAt}}}),_=function(e){return p(e)};return _.specificationVersion=`v4`,_.languageModel=p,_.chat=i,_.completion=o,_.responses=m,_.embedding=s,_.embeddingModel=s,_.textEmbedding=s,_.textEmbeddingModel=s,_.image=c,_.imageModel=c,_.transcription=l,_.transcriptionModel=l,_.speech=u,_.speechModel=u,_.files=d,_.skills=f,_.experimental_realtime=g,_.tools=Vt,_}Wn();export{Wn as createOpenAI};
@@ -1,11 +0,0 @@
1
- import{$ as e,A as t,Bt as n,C as r,Ct as i,Ft as a,Gt as o,I as s,K as c,Lt as l,M as u,Mt as d,Nt as f,Ot as p,P as m,R as h,Rt as g,U as _,V as v,W as y,Z as b,_ as x,_t as S,c as C,ct as w,d as T,gt as E,h as D,ht as O,it as k,j as ee,jt as A,k as j,kt as M,l as te,lt as N,mt as ne,nt as P,ot as re,p as ie,pt as ae,q as oe,qt as F,rt as I,u as se,v as L,wt as R,x as z,yt as B}from"./dist-DZL8soAh.js";var ce=`4.0.8`,V=x({errorSchema:_(()=>O(d({error:d({code:A().nullable(),message:a(),status:a()})}))),errorToMessage:e=>e.error.message}),le=l([d({text:a()}),d({inlineData:d({mimeType:a(),data:a()})}),d({fileData:d({fileUri:a(),mimeType:a()})})]),ue=_(()=>O(d({outputDimensionality:A().optional(),taskType:B([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional(),content:i(i(le).min(1).nullable()).optional()}))),de=class t{constructor(e,t){this.specificationVersion=`v4`,this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[S](e){return N({modelId:e.modelId,config:e.config})}static[E](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async doEmbed({values:t,headers:n,abortSignal:r,providerOptions:i}){let a=await b({provider:`google`,providerOptions:i,schema:ue});if(t.length>this.maxEmbeddingsPerCall)throw new o({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});let s=C(this.config.headers?await P(this.config.headers):void 0,n),c=a?.content;if(c!=null&&c.length!==t.length)throw Error(`The number of multimodal content entries (${c.length}) must match the number of values (${t.length}).`);if(t.length===1){let n=c?.[0],i=t[0]?[{text:t[0]}]:[],o=n==null?[{text:t[0]}]:[...i,...n],{responseHeaders:l,value:u,rawValue:d}=await e({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:s,body:{model:`models/${this.modelId}`,content:{parts:o},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType},failedResponseHandler:V,successfulResponseHandler:L(pe),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:[u.embedding.values],usage:void 0,response:{headers:l,body:d}}}let{responseHeaders:l,value:u,rawValue:d}=await e({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:s,body:{requests:t.map((e,t)=>{let n=c?.[t],r=e?[{text:e}]:[];return{model:`models/${this.modelId}`,content:{role:`user`,parts:n==null?[{text:e}]:[...r,...n]},outputDimensionality:a?.outputDimensionality,taskType:a?.taskType}})},failedResponseHandler:V,successfulResponseHandler:L(fe),abortSignal:r,fetch:this.config.fetch});return{warnings:[],embeddings:u.embeddings.map(e=>e.values),usage:void 0,response:{headers:l,body:d}}}},fe=_(()=>O(d({embeddings:i(d({values:i(A())}))}))),pe=_(()=>O(d({embedding:d({values:i(A())})})));function me(e){if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let t=e.promptTokenCount??0,n=e.candidatesTokenCount??0,r=e.cachedContentTokenCount??0,i=e.thoughtsTokenCount??0;return{inputTokens:{total:t,noCache:t-r,cacheRead:r,cacheWrite:void 0},outputTokens:{total:n+i,text:n,reasoning:i},raw:e}}function H(e,t=!0){if(e==null)return;if(he(e))return t?void 0:typeof e==`object`&&e.description?{type:`object`,description:e.description}:{type:`object`};if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:n,description:r,required:i,properties:a,items:o,allOf:s,anyOf:c,oneOf:l,format:u,const:d,minLength:f,enum:p}=e,m={};if(r&&(m.description=r),i&&(m.required=i),u&&(m.format=u),d!==void 0&&(m.enum=[d]),n)if(Array.isArray(n)){let e=n.includes(`null`),t=n.filter(e=>e!==`null`);t.length===0?m.type=`null`:(m.anyOf=t.map(e=>({type:e})),e&&(m.nullable=!0))}else m.type=n;if(p!==void 0&&(m.enum=p),a!=null&&(m.properties=Object.entries(a).reduce((e,[t,n])=>(e[t]=H(n,!1),e),{})),o&&(m.items=Array.isArray(o)?o.map(e=>H(e,!1)):H(o,!1)),s&&(m.allOf=s.map(e=>H(e,!1))),c)if(c.some(e=>typeof e==`object`&&e?.type===`null`)){let e=c.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=H(e[0],!1);typeof t==`object`&&(m.nullable=!0,Object.assign(m,t))}else m.anyOf=e.map(e=>H(e,!1)),m.nullable=!0}else m.anyOf=c.map(e=>H(e,!1));return l&&(m.oneOf=l.map(e=>H(e,!1))),f!==void 0&&(m.minLength=f),m}function he(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}var ge=`skip_thought_signature_validator`,_e=/^data:([^;,]+);base64,(.+)$/s;function ve(e){let t=_e.exec(e);if(t!=null)return{mediaType:t[1],data:t[2]}}function ye(e){let t=ve(e);if(t!=null)return{inlineData:{mimeType:t.mediaType,data:t.data}}}function be(e,t,n,r){let i=[],a=[];for(let e of n)switch(e.type){case`text`:a.push(e.text);break;case`file`:if(e.data.type===`data`)i.push({inlineData:{mimeType:I({part:e}),data:T(e.data.data)}});else if(e.data.type===`url`){let t=ye(e.data.url.toString());t==null?a.push(JSON.stringify(e)):i.push(t)}else a.push(JSON.stringify(e));break;default:a.push(JSON.stringify(e));break}e.push({functionResponse:{...r==null?{}:{id:r},name:t,response:{name:t,content:a.length>0?a.join(`
2
- `):`Tool executed successfully.`},...i.length>0?{parts:i}:{}}})}function xe(e,t,n,r){for(let i of n)switch(i.type){case`text`:e.push({functionResponse:{...r==null?{}:{id:r},name:t,response:{name:t,content:i.text}}});break;case`file`:i.data.type===`data`&&u(i.mediaType)===`image`?e.push({inlineData:{mimeType:I({part:i}),data:T(i.data.data)}},{text:`Tool executed successfully and returned this image as a response`}):e.push({text:JSON.stringify(i)});break;default:e.push({text:JSON.stringify(i)});break}}function Se(e,t){let n=[],r=[],i=!0,a=t?.isGemmaModel??!1,o=t?.isGemini3Model??!1,s=t?.onWarning,c=t?.providerOptionsNames??[`google`],l=!c.includes(`google`),u=t?.supportsFunctionResponseParts??!0,d=!1,f=[],p=e=>(f.push(e),d=!0,ge),m=e=>{for(let t of c){let n=e.providerOptions?.[t];if(n!=null)return n}return l?e.providerOptions?.google:e.providerOptions?.googleVertex??e.providerOptions?.vertex};for(let{role:t,content:a}of e)switch(t){case`system`:if(!i)throw new F({functionality:`system messages are only supported at the beginning of the conversation`});n.push({text:a});break;case`user`:{i=!1;let e=[];for(let t of a)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:switch(t.data.type){case`url`:e.push({fileData:{mimeType:I({part:t}),fileUri:t.data.url.toString()}});break;case`reference`:if(l)throw new F({functionality:`file parts with provider references`});e.push({fileData:{mimeType:I({part:t}),fileUri:k({reference:t.data.reference,provider:`google`})}});break;case`text`:e.push({inlineData:{mimeType:h(t.mediaType)?t.mediaType:`text/plain`,data:T(new TextEncoder().encode(t.data.text))}});break;case`data`:e.push({inlineData:{mimeType:I({part:t}),data:T(t.data.data)}});break}break}r.push({role:`user`,parts:e});break}case`assistant`:i=!1,r.push({role:`model`,parts:a.map(e=>{let t=m(e),n=t?.thoughtSignature==null?void 0:String(t.thoughtSignature);switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:n};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:n};case`reasoning-file`:switch(e.data.type){case`url`:throw new F({functionality:`File data URLs in assistant messages are not supported`});case`data`:return{inlineData:{mimeType:e.mediaType,data:T(e.data.data)},thought:!0,thoughtSignature:n}}break;case`file`:switch(e.data.type){case`url`:throw new F({functionality:`File data URLs in assistant messages are not supported`});case`reference`:if(l)throw new F({functionality:`file parts with provider references`});return{fileData:{mimeType:e.mediaType,fileUri:k({reference:e.data.reference,provider:`google`})},...t?.thought===!0?{thought:!0}:{},thoughtSignature:n};case`text`:return{inlineData:{mimeType:h(e.mediaType)?e.mediaType:`text/plain`,data:T(new TextEncoder().encode(e.data.text))},...t?.thought===!0?{thought:!0}:{},thoughtSignature:n};case`data`:return{inlineData:{mimeType:e.mediaType,data:T(e.data.data)},...t?.thought===!0?{thought:!0}:{},thoughtSignature:n}}break;case`tool-call`:{let r=t?.serverToolCallId==null?void 0:String(t.serverToolCallId),i=t?.serverToolType==null?void 0:String(t.serverToolType),a=n??(o?p(e.toolName):void 0);return r&&i?{toolCall:{toolType:i,args:typeof e.input==`string`?w(e.input):e.input,id:r},thoughtSignature:a}:{functionCall:{...e.toolCallId==null?{}:{id:e.toolCallId},name:e.toolName,args:e.input},thoughtSignature:a}}case`tool-result`:{let r=t?.serverToolCallId==null?void 0:String(t.serverToolCallId),i=t?.serverToolType==null?void 0:String(t.serverToolType);return r&&i?{toolResponse:{toolType:i,response:e.output.type===`json`?e.output.value:{},id:r},thoughtSignature:n}:void 0}}}).filter(e=>e!==void 0)});break;case`tool`:{i=!1;let e=[];for(let t of a){if(t.type===`tool-approval-response`)continue;let n=m(t),i=n?.serverToolCallId==null?void 0:String(n.serverToolCallId),a=n?.serverToolType==null?void 0:String(n.serverToolType);if(i&&a){let e=n?.thoughtSignature==null?void 0:String(n.thoughtSignature);if(r.length>0){let n=r[r.length-1];if(n.role===`model`){n.parts.push({toolResponse:{toolType:a,response:t.output.type===`json`?t.output.value:{},id:i},thoughtSignature:e});continue}}}let o=t.output;o.type===`content`?u?be(e,t.toolName,o.value,t.toolCallId):xe(e,t.toolName,o.value,t.toolCallId):e.push({functionResponse:{...t.toolCallId==null?{}:{id:t.toolCallId},name:t.toolName,response:{name:t.toolName,content:o.type===`execution-denied`?o.reason??`Tool call execution denied.`:o.value}}})}r.push({role:`user`,parts:e});break}}if(a&&n.length>0&&r.length>0&&r[0].role===`user`){let e=n.map(e=>e.text).join(`
3
-
4
- `);r[0].parts.unshift({text:e+`
5
-
6
- `})}if(d&&s!=null){let e=Array.from(new Set(f));s({type:`other`,message:`Replayed ${f.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${e.map(e=>`\`${e}\``).join(`, `)}). Injected the documented \`skip_thought_signature_validator\` sentinel to keep the request from failing with HTTP 400. The likely cause is application code that drops \`providerOptions.google.thoughtSignature\` when persisting or serializing assistant tool-call messages. See https://ai.google.dev/gemini-api/docs/thought-signatures.`})}return{systemInstruction:n.length>0&&!a?{parts:n}:void 0,contents:r}}function Ce(e){return e.includes(`/`)?e:`models/${e}`}var we=_(()=>O(d({responseModalities:i(B([`TEXT`,`IMAGE`])).optional(),thinkingConfig:d({thinkingBudget:A().optional(),includeThoughts:R().optional(),thinkingLevel:B([`minimal`,`low`,`medium`,`high`]).optional()}).optional(),cachedContent:a().optional(),structuredOutputs:R().optional(),safetySettings:i(d({category:B([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:B([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:B([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:R().optional(),labels:f(a(),a()).optional(),mediaResolution:B([`MEDIA_RESOLUTION_UNSPECIFIED`,`MEDIA_RESOLUTION_LOW`,`MEDIA_RESOLUTION_MEDIUM`,`MEDIA_RESOLUTION_HIGH`]).optional(),imageConfig:d({aspectRatio:B([`1:1`,`2:3`,`3:2`,`3:4`,`4:3`,`4:5`,`5:4`,`9:16`,`16:9`,`21:9`,`1:8`,`8:1`,`1:4`,`4:1`]).optional(),imageSize:B([`1K`,`2K`,`4K`,`512`]).optional()}).optional(),retrievalConfig:d({latLng:d({latitude:A(),longitude:A()}).optional()}).optional(),streamFunctionCallArguments:R().optional(),serviceTier:B([`standard`,`flex`,`priority`]).optional(),sharedRequestType:B([`priority`,`flex`,`standard`]).optional(),requestType:B([`shared`]).optional()})));function Te({tools:e,toolChoice:t,modelId:n,isVertexProvider:r=!1}){e=e?.length?e:void 0;let i=[],a=[`gemini-flash-latest`,`gemini-flash-lite-latest`,`gemini-pro-latest`].some(e=>e===n),o=n.includes(`gemini-2`)||n.includes(`gemini-3`)||n.includes(`nano-banana`)||a,s=n.includes(`gemini-3`),c=n.includes(`gemini-2.5`)||n.includes(`gemini-3`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let l=e.some(e=>e.type===`function`),u=e.some(e=>e.type===`provider`);if(l&&u&&!s&&i.push({type:`unsupported`,feature:`combination of function and provider-defined tools`}),u){let n=[];if(e.filter(e=>e.type===`provider`).forEach(e=>{switch(e.id){case`google.google_search`:o?n.push({googleSearch:{...e.args}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`Google Search requires Gemini 2.0 or newer.`});break;case`google.enterprise_web_search`:o?n.push({enterpriseWebSearch:{}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`Enterprise Web Search requires Gemini 2.0 or newer.`});break;case`google.url_context`:o?n.push({urlContext:{}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:o?n.push({codeExecution:{}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`The code execution tool is not supported with other Gemini models than Gemini 2.`});break;case`google.file_search`:c?n.push({fileSearch:{...e.args}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`The file search tool is only supported with Gemini 2.5 models and Gemini 3 models.`});break;case`google.vertex_rag_store`:o?n.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:e.args.ragCorpus},similarity_top_k:e.args.topK}}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`The RAG store tool is not supported with other Gemini models than Gemini 2.`});break;case`google.google_maps`:o?n.push({googleMaps:{}}):i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer.`});break;default:i.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`});break}}),l&&s&&n.length>0){let a=[];for(let t of e)t.type===`function`&&a.push({name:t.name,description:t.description??``,parameters:H(t.inputSchema)});let o={functionCallingConfig:{mode:`VALIDATED`},...!r&&{includeServerSideToolInvocations:!0}};if(t!=null)switch(t.type){case`auto`:break;case`none`:o.functionCallingConfig={mode:`NONE`};break;case`required`:o.functionCallingConfig={mode:`ANY`};break;case`tool`:o.functionCallingConfig={mode:`ANY`,allowedFunctionNames:[t.toolName]};break}return{tools:[...n,{functionDeclarations:a}],toolConfig:o,toolWarnings:i}}return{tools:n.length>0?n:void 0,toolConfig:void 0,toolWarnings:i}}let d=[],f=!1;for(let t of e)switch(t.type){case`function`:d.push({name:t.name,description:t.description??``,parameters:H(t.inputSchema)}),t.strict===!0&&(f=!0);break;default:i.push({type:`unsupported`,feature:`function tool ${t.name}`});break}if(t==null)return{tools:[{functionDeclarations:d}],toolConfig:f?{functionCallingConfig:{mode:`VALIDATED`}}:void 0,toolWarnings:i};let p=t.type;switch(p){case`auto`:return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:f?`VALIDATED`:`AUTO`}},toolWarnings:i};case`none`:return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:i};case`required`:return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:f?`VALIDATED`:`ANY`}},toolWarnings:i};case`tool`:return{tools:[{functionDeclarations:d}],toolConfig:{functionCallingConfig:{mode:f?`VALIDATED`:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:throw new F({functionality:`tool choice type: ${p}`})}}var Ee=class{constructor(){this.accumulatedArgs={},this.jsonText=``,this.pathStack=[],this.stringOpen=!1}processPartialArgs(e){let t=``;for(let n of e){let e=n.jsonPath.replace(/^\$\./,``);if(!e)continue;let r=De(e),i=je(this.accumulatedArgs,r);if(n.stringValue!=null&&i!==void 0){let e=JSON.stringify(n.stringValue).slice(1,-1);Me(this.accumulatedArgs,r,i+n.stringValue),t+=e;continue}let a=Ne(n);a!=null&&(Me(this.accumulatedArgs,r,a.value),t+=this.emitNavigationTo(r,n,a.json))}return this.jsonText+=t,{currentJSON:this.accumulatedArgs,textDelta:t}}finalize(){let e=JSON.stringify(this.accumulatedArgs);return{finalJSON:e,closingDelta:e.slice(this.jsonText.length)}}ensureRoot(){return this.pathStack.length===0?(this.pathStack.push({segment:``,isArray:!1,childCount:0}),`{`):``}emitNavigationTo(e,t,n){let r=``;this.stringOpen&&=(r+=`"`,!1),r+=this.ensureRoot();let i=e.slice(0,-1),a=e[e.length-1],o=this.findCommonStackDepth(i);return r+=this.closeDownTo(o),r+=this.openDownTo(i,a),r+=this.emitLeaf(a,t,n),r}findCommonStackDepth(e){let t=Math.min(this.pathStack.length-1,e.length),n=0;for(let r=0;r<t&&this.pathStack[r+1].segment===e[r];r++)n++;return n+1}closeDownTo(e){let t=``;for(;this.pathStack.length>e;){let e=this.pathStack.pop();t+=e.isArray?`]`:`}`}return t}openDownTo(e,t){let n=``,r=this.pathStack.length-1;for(let i=r;i<e.length;i++){let r=e[i],a=this.pathStack[this.pathStack.length-1];a.childCount>0&&(n+=`,`),a.childCount++,typeof r==`string`&&(n+=`${JSON.stringify(r)}:`);let o=typeof(i+1<e.length?e[i+1]:t)==`number`;n+=o?`[`:`{`,this.pathStack.push({segment:r,isArray:o,childCount:0})}return n}emitLeaf(e,t,n){let r=``,i=this.pathStack[this.pathStack.length-1];return i.childCount>0&&(r+=`,`),i.childCount++,typeof e==`string`&&(r+=`${JSON.stringify(e)}:`),t.stringValue!=null&&t.willContinue?(r+=n.slice(0,-1),this.stringOpen=!0):r+=n,r}};function De(e){let t=[];for(let n of e.split(`.`)){let e=n.indexOf(`[`);if(e===-1)t.push(n);else{e>0&&t.push(n.slice(0,e));for(let e of n.matchAll(/\[(\d+)\]/g))t.push(parseInt(e[1],10))}}return t}var Oe=Object.prototype.hasOwnProperty;function ke(e,t){return Oe.call(e,t)}function Ae(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0})}function je(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;let t=n;if(!ke(t,e))return;n=t[e]}return n}function Me(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let n=t[e],i=t[e+1];(!ke(r,n)||r[n]==null)&&Ae(r,n,typeof i==`number`?[]:{}),r=r[n]}Ae(r,t[t.length-1],n)}function Ne(e){let t=e.stringValue??e.numberValue??e.boolValue;if(t!=null)return{value:t,json:JSON.stringify(t)};if(`nullValue`in e)return{value:null,json:`null`}}function Pe({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`other`}}var Fe=class t{constructor(e,t){this.specificationVersion=`v4`,this.modelId=e,this.config=t,this.generateId=t.generateId??j}static[S](e){return N({modelId:e.modelId,config:e.config})}static[E](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}get supportedUrls(){var e;return(e=this.config).supportedUrls?.call(e)??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,reasoning:f,providerOptions:p},{isStreaming:m=!1}={}){let h=[],g=this.config.provider.includes(`vertex`)?[`googleVertex`,`vertex`]:[`google`],_;for(let e of g)if(_=await b({provider:e,providerOptions:p,schema:we}),_!=null)break;_==null&&!g.includes(`google`)&&(_=await b({provider:`google`,providerOptions:p,schema:we}));let v=this.config.provider.startsWith(`google.vertex.`);u?.some(e=>e.type===`provider`&&e.id===`google.vertex_rag_store`)&&!v&&h.push({type:`other`,message:`The 'vertex_rag_store' tool is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`}),_?.streamFunctionCallArguments&&!v&&h.push({type:`other`,message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${this.config.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`}),_?.serviceTier&&v&&h.push({type:`other`,message:`'serviceTier' is a Gemini API option and is not supported on Vertex AI. Use 'sharedRequestType' (and optionally 'requestType') instead. See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/priority-paygo`}),(_?.sharedRequestType||_?.requestType)&&!v&&h.push({type:`other`,message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${this.config.provider}).`});let y=v&&(_?.sharedRequestType||_?.requestType)?{..._.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":_.sharedRequestType},..._.requestType&&{"X-Vertex-AI-LLM-Request-Type":_.requestType}}:void 0,x=v?void 0:_?.serviceTier,S=this.modelId.toLowerCase().startsWith(`gemma-`),C=/^gemini-3[.-]/.test(this.modelId),{contents:w,systemInstruction:T}=Se(e,{isGemmaModel:S,isGemini3Model:C,onWarning:e=>h.push(e),providerOptionsNames:g,supportsFunctionResponseParts:C}),{tools:E,toolConfig:D,toolWarnings:O}=Te({tools:u,toolChoice:d,modelId:this.modelId,isVertexProvider:v}),k=ze({reasoning:f,modelId:this.modelId,warnings:h}),ee=_?.thinkingConfig||k?{...k,..._?.thinkingConfig}:void 0,A=m&&v?_?.streamFunctionCallArguments??!1:void 0,j=D||A||_?.retrievalConfig?{...D,...A&&{functionCallingConfig:{...D?.functionCallingConfig,streamFunctionCallArguments:!0}},..._?.retrievalConfig&&{retrievalConfig:_.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&(_?.structuredOutputs??!0)?H(c.schema):void 0,..._?.audioTimestamp&&{audioTimestamp:_.audioTimestamp},responseModalities:_?.responseModalities,thinkingConfig:ee,..._?.mediaResolution&&{mediaResolution:_.mediaResolution},..._?.imageConfig&&{imageConfig:_.imageConfig}},contents:w,systemInstruction:S?void 0:T,safetySettings:_?.safetySettings,tools:E,toolConfig:j,cachedContent:_?.cachedContent,labels:_?.labels,serviceTier:x},warnings:[...h,...O],providerOptionsNames:g,extraHeaders:y}}async doGenerate(t){let{args:n,warnings:r,providerOptionsNames:i,extraHeaders:a}=await this.getArgs(t),o=e=>Object.fromEntries(i.map(t=>[t,e])),s=C(this.config.headers?await P(this.config.headers):void 0,t.headers,a),{responseHeaders:c,value:l,rawValue:u}=await e({url:`${this.config.baseURL}/${Ce(this.modelId)}:generateContent`,headers:s,body:n,failedResponseHandler:V,successfulResponseHandler:L(Ye),abortSignal:t.abortSignal,fetch:this.config.fetch}),d=l.candidates[0],f=[],p=d.content?.parts??[],m=l.usageMetadata,h,g;for(let e of p)if(`executableCode`in e&&e.executableCode?.code){let t=this.config.generateId();h=t,f.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else if(`codeExecutionResult`in e&&e.codeExecutionResult)f.push({type:`tool-result`,toolCallId:h,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output??``}}),h=void 0;else if(`text`in e&&e.text!=null){let t=e.thoughtSignature?o({thoughtSignature:e.thoughtSignature}):void 0;if(e.text.length===0){if(t!=null&&f.length>0){let e=f[f.length-1];e.providerMetadata=t}}else f.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:t})}else if(`functionCall`in e&&e.functionCall.name!=null)f.push({type:`tool-call`,toolCallId:e.functionCall.id??this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args??{}),providerMetadata:e.thoughtSignature?o({thoughtSignature:e.thoughtSignature}):void 0});else if(`inlineData`in e){let t=e.thought===!0,n=!!e.thoughtSignature;f.push({type:t?`reasoning-file`:`file`,data:{type:`data`,data:e.inlineData.data},mediaType:e.inlineData.mimeType,providerMetadata:n?o({thoughtSignature:e.thoughtSignature}):void 0})}else if(`toolCall`in e&&e.toolCall){let t=e.toolCall.id??this.config.generateId();g=t,f.push({type:`tool-call`,toolCallId:t,toolName:`server:${e.toolCall.toolType}`,input:JSON.stringify(e.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:e.thoughtSignature?o({thoughtSignature:e.thoughtSignature,serverToolCallId:t,serverToolType:e.toolCall.toolType}):o({serverToolCallId:t,serverToolType:e.toolCall.toolType})})}else if(`toolResponse`in e&&e.toolResponse){let t=g??e.toolResponse.id??this.config.generateId();f.push({type:`tool-result`,toolCallId:t,toolName:`server:${e.toolResponse.toolType}`,result:e.toolResponse.response??{},providerMetadata:e.thoughtSignature?o({thoughtSignature:e.thoughtSignature,serverToolCallId:t,serverToolType:e.toolResponse.toolType}):o({serverToolCallId:t,serverToolType:e.toolResponse.toolType})}),g=void 0}let _=He({groundingMetadata:d.groundingMetadata,generateId:this.config.generateId})??[];for(let e of _)f.push(e);return{content:f,finishReason:{unified:Pe({finishReason:d.finishReason,hasToolCalls:f.some(e=>e.type===`tool-call`&&!e.providerExecuted)}),raw:d.finishReason??void 0},usage:me(m),warnings:r,providerMetadata:o({promptFeedback:l.promptFeedback??null,groundingMetadata:d.groundingMetadata??null,urlContextMetadata:d.urlContextMetadata??null,safetyRatings:d.safetyRatings??null,usageMetadata:m??null,finishMessage:d.finishMessage??null,serviceTier:m?.serviceTier??null}),request:{body:n},response:{headers:c,body:u}}}async doStream(t){let{args:n,warnings:r,providerOptionsNames:i,extraHeaders:a}=await this.getArgs(t,{isStreaming:!0}),o=e=>Object.fromEntries(i.map(t=>[t,e])),s=C(this.config.headers?await P(this.config.headers):void 0,t.headers,a),{responseHeaders:c,value:l}=await e({url:`${this.config.baseURL}/${Ce(this.modelId)}:streamGenerateContent?alt=sse`,headers:s,body:n,failedResponseHandler:V,successfulResponseHandler:D(Xe),abortSignal:t.abortSignal,fetch:this.config.fetch}),u={unified:`other`,raw:void 0},d,f,p=null,m=null,h=this.config.generateId,g=!1,_=null,v=null,y=0,b=new Set,x,S,w=[],T=e=>{let t=w.pop();if(t==null)return;let{finalJSON:n,closingDelta:r}=t.accumulator.finalize();r.length>0&&e.enqueue({type:`tool-input-delta`,id:t.toolCallId,delta:r,providerMetadata:t.providerMetadata}),e.enqueue({type:`tool-input-end`,id:t.toolCallId,providerMetadata:t.providerMetadata}),e.enqueue({type:`tool-call`,toolCallId:t.toolCallId,toolName:t.toolName,input:n,providerMetadata:t.providerMetadata}),g=!0};return{stream:l.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(e,n){if(t.includeRawChunks&&n.enqueue({type:`raw`,rawValue:e.rawValue}),!e.success){n.enqueue({type:`error`,error:e.error});return}let r=e.value,i=r.usageMetadata;i!=null&&(d=i);let a=r.candidates?.[0];if(a==null)return;let s=a.content;a.groundingMetadata!=null&&(p=a.groundingMetadata),a.urlContextMetadata!=null&&(m=a.urlContextMetadata);let c=He({groundingMetadata:a.groundingMetadata,generateId:h});if(c!=null)for(let e of c)e.sourceType===`url`&&!b.has(e.url)&&(b.add(e.url),n.enqueue(e));if(s!=null){let e=s.parts??[];for(let t of e)if(`executableCode`in t&&t.executableCode?.code){let e=h();x=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0})}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=x;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output??``}}),x=void 0)}else if(`text`in t&&t.text!=null){let e=t.thoughtSignature?o({thoughtSignature:t.thoughtSignature}):void 0;t.text.length===0?e!=null&&_!==null&&n.enqueue({type:`text-delta`,id:_,delta:``,providerMetadata:e}):t.thought===!0?(_!==null&&(n.enqueue({type:`text-end`,id:_}),_=null),v===null&&(v=String(y++),n.enqueue({type:`reasoning-start`,id:v,providerMetadata:e})),n.enqueue({type:`reasoning-delta`,id:v,delta:t.text,providerMetadata:e})):(v!==null&&(n.enqueue({type:`reasoning-end`,id:v}),v=null),_===null&&(_=String(y++),n.enqueue({type:`text-start`,id:_,providerMetadata:e})),n.enqueue({type:`text-delta`,id:_,delta:t.text,providerMetadata:e}))}else if(`inlineData`in t){_!==null&&(n.enqueue({type:`text-end`,id:_}),_=null),v!==null&&(n.enqueue({type:`reasoning-end`,id:v}),v=null);let e=t.thought===!0,r=t.thoughtSignature?o({thoughtSignature:t.thoughtSignature}):void 0;n.enqueue({type:e?`reasoning-file`:`file`,mediaType:t.inlineData.mimeType,data:{type:`data`,data:t.inlineData.data},providerMetadata:r})}else if(`toolCall`in t&&t.toolCall){let e=t.toolCall.id??h();S=e;let r=o({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolCall.toolType});n.enqueue({type:`tool-call`,toolCallId:e,toolName:`server:${t.toolCall.toolType}`,input:JSON.stringify(t.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:r})}else if(`toolResponse`in t&&t.toolResponse){let e=S??t.toolResponse.id??h(),r=o({...t.thoughtSignature?{thoughtSignature:t.thoughtSignature}:{},serverToolCallId:e,serverToolType:t.toolResponse.toolType});n.enqueue({type:`tool-result`,toolCallId:e,toolName:`server:${t.toolResponse.toolType}`,result:t.toolResponse.response??{},providerMetadata:r}),S=void 0}for(let t of e){if(!(`functionCall`in t))continue;let e=t.thoughtSignature?o({thoughtSignature:t.thoughtSignature}):void 0,r=t.functionCall.partialArgs!=null||t.functionCall.name!=null&&t.functionCall.willContinue===!0,i=t.functionCall.name==null&&t.functionCall.args==null&&t.functionCall.partialArgs==null&&t.functionCall.willContinue==null,a=t.functionCall.name!=null&&t.functionCall.args!=null&&t.functionCall.partialArgs==null,s=t.functionCall.name!=null&&t.functionCall.args==null&&t.functionCall.partialArgs==null&&t.functionCall.willContinue!==!0;if(r){if(t.functionCall.name!=null){let r=t.functionCall.id??h(),i=new Ee;if(w.push({toolCallId:r,toolName:t.functionCall.name,accumulator:i,providerMetadata:e}),n.enqueue({type:`tool-input-start`,id:r,toolName:t.functionCall.name,providerMetadata:e}),t.functionCall.partialArgs!=null){let a=t.functionCall.partialArgs,{textDelta:o}=i.processPartialArgs(a);o.length>0&&n.enqueue({type:`tool-input-delta`,id:r,delta:o,providerMetadata:e}),t.functionCall.willContinue!==!0&&a.every(e=>e.willContinue!==!0)&&T(n)}}else if(t.functionCall.partialArgs!=null&&w.length>0){let r=w[w.length-1],i=t.functionCall.partialArgs,{textDelta:a}=r.accumulator.processPartialArgs(i);a.length>0&&n.enqueue({type:`tool-input-delta`,id:r.toolCallId,delta:a,providerMetadata:e}),t.functionCall.willContinue!==!0&&i.every(e=>e.willContinue!==!0)&&T(n)}}else if(i&&w.length>0)T(n);else if(a){let r=t.functionCall.id??h(),i=t.functionCall.name,a=typeof t.functionCall.args==`string`?t.functionCall.args:JSON.stringify(t.functionCall.args??{});n.enqueue({type:`tool-input-start`,id:r,toolName:i,providerMetadata:e}),n.enqueue({type:`tool-input-delta`,id:r,delta:a,providerMetadata:e}),n.enqueue({type:`tool-input-end`,id:r,providerMetadata:e}),n.enqueue({type:`tool-call`,toolCallId:r,toolName:i,input:a,providerMetadata:e}),g=!0}else if(s){let r=t.functionCall.id??h(),i=t.functionCall.name;n.enqueue({type:`tool-input-start`,id:r,toolName:i,providerMetadata:e}),n.enqueue({type:`tool-input-end`,id:r,providerMetadata:e}),n.enqueue({type:`tool-call`,toolCallId:r,toolName:i,input:`{}`,providerMetadata:e}),g=!0}}}a.finishReason!=null&&(u={unified:Pe({finishReason:a.finishReason,hasToolCalls:g}),raw:a.finishReason},f=o({promptFeedback:r.promptFeedback??null,groundingMetadata:p,urlContextMetadata:m,safetyRatings:a.safetyRatings??null,usageMetadata:i??null,finishMessage:a.finishMessage??null,serviceTier:d?.serviceTier??null}))},flush(e){_!==null&&e.enqueue({type:`text-end`,id:_}),v!==null&&e.enqueue({type:`reasoning-end`,id:v}),e.enqueue({type:`finish`,finishReason:u,usage:me(d),providerMetadata:f})}})),response:{headers:c},request:{body:n}}}};function Ie(e){return/gemini-3[\.\-]/i.test(e)||/gemini-3$/i.test(e)}function Le(){return 65536}function Re(e){let t=e.toLowerCase();return t.includes(`2.5-pro`)||t.includes(`gemini-3-pro-image`)?32768:24576}function ze({reasoning:e,modelId:t,warnings:n}){if(s(e))return Ie(t)&&!t.includes(`gemini-3-pro-image`)?Be({reasoning:e,warnings:n}):Ve({reasoning:e,modelId:t,warnings:n})}function Be({reasoning:e,warnings:t}){if(e===`none`)return{thinkingLevel:`minimal`};let n=oe({reasoning:e,effortMap:{minimal:`minimal`,low:`low`,medium:`medium`,high:`high`,xhigh:`high`},warnings:t});if(n!=null)return{thinkingLevel:n}}function Ve({reasoning:e,modelId:t,warnings:n}){if(e===`none`)return{thinkingBudget:0};let r=c({reasoning:e,maxOutputTokens:Le(),maxReasoningBudget:Re(t),minReasoningBudget:0,warnings:n});if(r!=null)return{thinkingBudget:r}}function He({groundingMetadata:e,generateId:t}){if(!e?.groundingChunks)return;let n=[];for(let r of e.groundingChunks)if(r.web!=null)n.push({type:`source`,sourceType:`url`,id:t(),url:r.web.uri,title:r.web.title??void 0});else if(r.image!=null)n.push({type:`source`,sourceType:`url`,id:t(),url:r.image.sourceUri,title:r.image.title??void 0});else if(r.retrievedContext!=null){let e=r.retrievedContext.uri,i=r.retrievedContext.fileSearchStore;if(e&&(e.startsWith(`http://`)||e.startsWith(`https://`)))n.push({type:`source`,sourceType:`url`,id:t(),url:e,title:r.retrievedContext.title??void 0});else if(e){let i=r.retrievedContext.title??`Unknown Document`,a=`application/octet-stream`,o;e.endsWith(`.pdf`)?(a=`application/pdf`,o=e.split(`/`).pop()):e.endsWith(`.txt`)?(a=`text/plain`,o=e.split(`/`).pop()):e.endsWith(`.docx`)?(a=`application/vnd.openxmlformats-officedocument.wordprocessingml.document`,o=e.split(`/`).pop()):e.endsWith(`.doc`)?(a=`application/msword`,o=e.split(`/`).pop()):(e.match(/\.(md|markdown)$/)&&(a=`text/markdown`),o=e.split(`/`).pop()),n.push({type:`source`,sourceType:`document`,id:t(),mediaType:a,title:i,filename:o})}else if(i){let e=r.retrievedContext.title??`Unknown Document`;n.push({type:`source`,sourceType:`document`,id:t(),mediaType:`application/octet-stream`,title:e,filename:i.split(`/`).pop()})}}else r.maps!=null&&r.maps.uri&&n.push({type:`source`,sourceType:`url`,id:t(),url:r.maps.uri,title:r.maps.title??void 0});return n.length>0?n:void 0}var Ue=()=>d({webSearchQueries:i(a()).nullish(),imageSearchQueries:i(a()).nullish(),retrievalQueries:i(a()).nullish(),searchEntryPoint:d({renderedContent:a()}).nullish(),groundingChunks:i(d({web:d({uri:a(),title:a().nullish()}).nullish(),image:d({sourceUri:a(),imageUri:a(),title:a().nullish(),domain:a().nullish()}).nullish(),retrievedContext:d({uri:a().nullish(),title:a().nullish(),text:a().nullish(),fileSearchStore:a().nullish()}).nullish(),maps:d({uri:a().nullish(),title:a().nullish(),text:a().nullish(),placeId:a().nullish()}).nullish()})).nullish(),groundingSupports:i(d({segment:d({startIndex:A().nullish(),endIndex:A().nullish(),text:a().nullish()}).nullish(),segment_text:a().nullish(),groundingChunkIndices:i(A()).nullish(),supportChunkIndices:i(A()).nullish(),confidenceScores:i(A()).nullish(),confidenceScore:i(A()).nullish()})).nullish(),retrievalMetadata:l([d({webDynamicRetrievalScore:A()}),d({})]).nullish()}),We=d({jsonPath:a(),stringValue:a().nullish(),numberValue:A().nullish(),boolValue:R().nullish(),nullValue:g().nullish(),willContinue:R().nullish()}),Ge=()=>d({parts:i(l([d({functionCall:d({id:a().nullish(),name:a().nullish(),args:g().nullish(),partialArgs:i(We).nullish(),willContinue:R().nullish()}),thoughtSignature:a().nullish()}),d({inlineData:d({mimeType:a(),data:a()}),thought:R().nullish(),thoughtSignature:a().nullish()}),d({toolCall:d({toolType:a(),args:g().nullish(),id:a()}),thoughtSignature:a().nullish()}),d({toolResponse:d({toolType:a(),response:g().nullish(),id:a()}),thoughtSignature:a().nullish()}),d({executableCode:d({language:a(),code:a()}).nullish(),codeExecutionResult:d({outcome:a(),output:a().nullish()}).nullish(),text:a().nullish(),thought:R().nullish(),thoughtSignature:a().nullish()})])).nullish()}),U=()=>d({category:a().nullish(),probability:a().nullish(),probabilityScore:A().nullish(),severity:a().nullish(),severityScore:A().nullish(),blocked:R().nullish()}),Ke=i(d({modality:a(),tokenCount:A()})).nullish(),qe=d({cachedContentTokenCount:A().nullish(),thoughtsTokenCount:A().nullish(),promptTokenCount:A().nullish(),candidatesTokenCount:A().nullish(),totalTokenCount:A().nullish(),trafficType:a().nullish(),serviceTier:a().nullish(),promptTokensDetails:Ke,candidatesTokensDetails:Ke}),Je=()=>d({urlMetadata:i(d({retrievedUrl:a(),urlRetrievalStatus:a()})).nullish()}),Ye=_(()=>O(d({candidates:i(d({content:Ge().nullish().or(d({}).strict()),finishReason:a().nullish(),finishMessage:a().nullish(),safetyRatings:i(U()).nullish(),groundingMetadata:Ue().nullish(),urlContextMetadata:Je().nullish()})),usageMetadata:qe.nullish(),promptFeedback:d({blockReason:a().nullish(),safetyRatings:i(U()).nullish()}).nullish()}))),Xe=_(()=>O(d({candidates:i(d({content:Ge().nullish(),finishReason:a().nullish(),finishMessage:a().nullish(),safetyRatings:i(U()).nullish(),groundingMetadata:Ue().nullish(),urlContextMetadata:Je().nullish()})).nullish(),usageMetadata:qe.nullish(),promptFeedback:d({blockReason:a().nullish(),safetyRatings:i(U()).nullish()}).nullish()}))),Ze=z({id:`google.code_execution`,inputSchema:d({language:a().describe(`The programming language of the code.`),code:a().describe(`The code to be executed.`)}),outputSchema:d({outcome:a().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:a().describe(`The output from the code execution.`)})}),Qe=z({id:`google.enterprise_web_search`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))});M({fileSearchStoreNames:i(a()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:A().int().positive().describe(`The number of file search retrieval chunks to retrieve.`).optional(),metadataFilter:a().describe(`Metadata filter to apply to the file search retrieval documents. See https://google.aip.dev/160 for the syntax of the filter expression.`).optional()});var $e=z({id:`google.file_search`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))}),et=z({id:`google.google_maps`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))}),tt=M({searchTypes:d({webSearch:d({}).optional(),imageSearch:d({}).optional()}).optional(),timeRangeFilter:d({startTime:a(),endTime:a()}).optional()}),nt={googleSearch:z({id:`google.google_search`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))}),enterpriseWebSearch:Qe,googleMaps:et,urlContext:z({id:`google.url_context`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))}),fileSearch:$e,codeExecution:Ze,vertexRagStore:z({id:`google.vertex_rag_store`,inputSchema:_(()=>O(d({}))),outputSchema:_(()=>O(d({})))})},rt=_(()=>O(d({personGeneration:B([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:B([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish(),googleSearch:tt.optional()}))),it=class t{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v4`}static[S](e){return N({modelId:e.modelId,config:e.config})}static[E](e){return new t(e.modelId,{},e.config)}get maxImagesPerCall(){return this.settings.maxImagesPerCall==null?at(this.modelId)?10:4:this.settings.maxImagesPerCall}get provider(){return this.config.provider}async doGenerate(e){return at(this.modelId)?this.doGenerateGemini(e):this.doGenerateImagen(e)}async doGenerateImagen(t){var n;let{prompt:r,n:i=1,size:a,aspectRatio:o=`1:1`,seed:s,providerOptions:c,headers:l,abortSignal:u,files:d,mask:f}=t,p=[];if(d!=null&&d.length>0)throw Error(`Google Gemini API does not support image editing with Imagen models. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.`);if(f!=null)throw Error(`Google Gemini API does not support image editing with masks. Use Google Vertex AI (@ai-sdk/google-vertex) for image editing capabilities.`);a!=null&&p.push({type:`unsupported`,feature:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),s!=null&&p.push({type:`unsupported`,feature:`seed`,details:"This model does not support the `seed` option through this provider."});let m=await b({provider:`google`,providerOptions:c,schema:rt}),h=((n=this.config._internal)?.currentDate)?.call(n)??new Date,g={sampleCount:i};if(o!=null&&(g.aspectRatio=o),m){let{googleSearch:e,...t}=m;e!=null&&p.push({type:`unsupported`,feature:`googleSearch`,details:`Google Search grounding is only supported on Gemini image models.`}),Object.assign(g,t)}let _={instances:[{prompt:r}],parameters:g},{responseHeaders:v,value:y}=await e({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:C(this.config.headers?await P(this.config.headers):void 0,l),body:_,failedResponseHandler:V,successfulResponseHandler:L(ot),abortSignal:u,fetch:this.config.fetch});return{images:y.predictions.map(e=>e.bytesBase64Encoded),warnings:p,providerMetadata:{google:{images:y.predictions.map(()=>({}))}},response:{timestamp:h,modelId:this.modelId,headers:v}}}async doGenerateGemini(e){var t;let{prompt:n,n:r,size:i,aspectRatio:a,seed:o,providerOptions:s,headers:c,abortSignal:l,files:u,mask:d}=e,f=[];if(d!=null)throw Error(`Gemini image models do not support mask-based image editing.`);if(r!=null&&r>1)throw Error(`Gemini image models do not support generating a set number of images per call. Use n=1 or omit the n parameter.`);i!=null&&f.push({type:`unsupported`,feature:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."});let p=[];if(n!=null&&p.push({type:`text`,text:n}),u!=null&&u.length>0)for(let e of u)e.type===`url`?p.push({type:`file`,data:{type:`url`,url:new URL(e.url)},mediaType:`image/*`}):p.push({type:`file`,data:{type:`data`,data:typeof e.data==`string`?e.data:new Uint8Array(e.data)},mediaType:e.mediaType});let m=[{role:`user`,content:p}],h=await b({provider:`google`,providerOptions:s,schema:rt}),{googleSearch:g,..._}=s?.google??{},v=await new Fe(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:this.config.headers??{},fetch:this.config.fetch,generateId:this.config.generateId??j}).doGenerate({prompt:m,seed:o,providerOptions:{google:{responseModalities:[`IMAGE`],imageConfig:a?{aspectRatio:a}:void 0,..._}},tools:h?.googleSearch==null?void 0:[{type:`provider`,id:`google.google_search`,name:`google_search`,args:h.googleSearch}],headers:c,abortSignal:l}),y=((t=this.config._internal)?.currentDate)?.call(t)??new Date,x=[];for(let e of v.content)e.type===`file`&&e.mediaType.startsWith(`image/`)&&e.data.type===`data`&&x.push(T(e.data.data));return{images:x,warnings:f,providerMetadata:{google:{...v.providerMetadata?.google??{},images:x.map(()=>({}))}},response:{timestamp:y,modelId:this.modelId,headers:v.response?.headers},usage:v.usage?{inputTokens:v.usage.inputTokens.total,outputTokens:v.usage.outputTokens.total,totalTokens:(v.usage.inputTokens.total??0)+(v.usage.outputTokens.total??0)}:void 0}}};function at(e){return e.startsWith(`gemini-`)}var ot=_(()=>O(d({predictions:i(d({bytesBase64Encoded:a()})).default([])}))),st=class{constructor(e){this.config=e,this.specificationVersion=`v4`}get provider(){return this.config.provider}async uploadFile(e){let i=await b({provider:`google`,providerOptions:e.providerOptions,schema:lt}),a=this.config.headers(),o=this.config.fetch??globalThis.fetch,s=[];e.filename!=null&&s.push({type:`unsupported`,feature:`filename`});let c=se(e.data),l=e.mediaType,u=i?.displayName,d=await o(`${this.config.baseURL.replace(/\/v1beta$/,``)}/upload/v1beta/files`,{method:`POST`,headers:{...a,"X-Goog-Upload-Protocol":`resumable`,"X-Goog-Upload-Command":`start`,"X-Goog-Upload-Header-Content-Length":String(c.length),"X-Goog-Upload-Header-Content-Type":l,"Content-Type":`application/json`},body:JSON.stringify({file:{...u==null?{}:{display_name:u}}})});if(!d.ok){let e=await d.text();throw new n({name:`GOOGLE_FILES_UPLOAD_ERROR`,message:`Failed to initiate resumable upload: ${d.status} ${e}`})}let f=d.headers.get(`x-goog-upload-url`);if(!f)throw new n({name:`GOOGLE_FILES_UPLOAD_ERROR`,message:`No upload URL returned from initiation request`});let p=await o(f,{method:`POST`,headers:{"Content-Length":String(c.length),"X-Goog-Upload-Offset":`0`,"X-Goog-Upload-Command":`upload, finalize`},body:c});if(!p.ok){let e=await p.text();throw new n({name:`GOOGLE_FILES_UPLOAD_ERROR`,message:`Failed to upload file data: ${p.status} ${e}`})}let m=(await p.json()).file,h=i?.pollIntervalMs??2e3,g=i?.pollTimeoutMs??3e5,_=Date.now();for(;m.state===`PROCESSING`;){if(Date.now()-_>g)throw new n({name:`GOOGLE_FILES_UPLOAD_TIMEOUT`,message:`File processing timed out after ${g}ms`});await r(h);let{value:e}=await t({url:`${this.config.baseURL}/${m.name}`,headers:C(a),successfulResponseHandler:L(ct),failedResponseHandler:V,fetch:this.config.fetch});m=e}if(m.state===`FAILED`)throw new n({name:`GOOGLE_FILES_UPLOAD_FAILED`,message:`File processing failed for ${m.name}`});return{warnings:s,providerReference:{google:m.uri},mediaType:m.mimeType??e.mediaType,providerMetadata:{google:{name:m.name,displayName:m.displayName,mimeType:m.mimeType,sizeBytes:m.sizeBytes,state:m.state,uri:m.uri,...m.createTime==null?{}:{createTime:m.createTime},...m.updateTime==null?{}:{updateTime:m.updateTime},...m.expirationTime==null?{}:{expirationTime:m.expirationTime},...m.sha256Hash==null?{}:{sha256Hash:m.sha256Hash}}}}}},ct=_(()=>O(d({name:a(),displayName:a().nullish(),mimeType:a(),sizeBytes:a().nullish(),createTime:a().nullish(),updateTime:a().nullish(),expirationTime:a().nullish(),sha256Hash:a().nullish(),uri:a(),state:a()}))),lt=_(()=>O(M({displayName:a().nullish(),pollIntervalMs:A().positive().nullish(),pollTimeoutMs:A().positive().nullish()}))),ut=_(()=>O(M({pollIntervalMs:A().positive().nullish(),pollTimeoutMs:A().positive().nullish(),personGeneration:B([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),negativePrompt:a().nullish(),referenceImages:i(d({bytesBase64Encoded:a().nullish(),gcsUri:a().nullish()})).nullish()})));function dt(e){return e.frameImages?.find(e=>e.frameType===`first_frame`)?.image}function ft(e){return dt(e)??e.image}function pt(e){return e.frameImages?.find(e=>e.frameType===`last_frame`)?.image}function mt(e){if(!(e.frameImages!=null&&e.frameImages.length>0))return e.inputReferences!=null&&e.inputReferences.length>0?e.inputReferences:void 0}function W(e,t){if(e.type===`url`){if(e.url.startsWith(`gs://`))return{gcsUri:e.url,mimeType:`image/png`};t.push({type:`unsupported`,feature:`URL-based image input`,details:`Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored.`});return}let n=typeof e.data==`string`?e.data:ie(e.data);return{inlineData:{mimeType:e.mediaType||`image/png`,data:n}}}function ht(e){return e.bytesBase64Encoded?{inlineData:{mimeType:`image/png`,data:e.bytesBase64Encoded}}:e.gcsUri?{gcsUri:e.gcsUri}:e}function gt(e,t){let n=W(e,t);return n==null?void 0:{image:n,referenceType:`asset`}}var _t=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}get provider(){return this.config.provider}get maxVideosPerCall(){return 4}async doGenerate(i){var a;let o=((a=this.config._internal)?.currentDate)?.call(a)??new Date,s=[],c=await b({provider:`google`,providerOptions:i.providerOptions,schema:ut}),l=[{}],u=l[0];i.prompt!=null&&(u.prompt=i.prompt);let d=ft(i);if(d!=null){let e=W(d,s);e!=null&&(u.image=e)}let f=pt(i);if(f!=null){let e=W(f,s);e!=null&&(u.lastFrame=e)}let p=mt(i);p==null?c?.referenceImages!=null&&(u.referenceImages=c.referenceImages.map(e=>ht(e))):u.referenceImages=p.flatMap(e=>{let t=gt(e,s);return t==null?[]:[t]});let m={sampleCount:i.n};if(i.aspectRatio&&(m.aspectRatio=i.aspectRatio),i.resolution&&(m.resolution={"1280x720":`720p`,"1920x1080":`1080p`,"3840x2160":`4k`}[i.resolution]||i.resolution),i.duration&&(m.durationSeconds=i.duration),i.seed&&(m.seed=i.seed),c!=null){let e=c;e.personGeneration!==void 0&&e.personGeneration!==null&&(m.personGeneration=e.personGeneration),e.negativePrompt!==void 0&&e.negativePrompt!==null&&(m.negativePrompt=e.negativePrompt);for(let[t,n]of Object.entries(e))[`pollIntervalMs`,`pollTimeoutMs`,`personGeneration`,`negativePrompt`,`referenceImages`].includes(t)||(m[t]=n)}let{value:h}=await e({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:C(await P(this.config.headers),i.headers),body:{instances:l,parameters:m},successfulResponseHandler:L(vt),failedResponseHandler:V,abortSignal:i.abortSignal,fetch:this.config.fetch}),g=h.name;if(!g)throw new n({name:`GOOGLE_VIDEO_GENERATION_ERROR`,message:`No operation name returned from API`});let _=c?.pollIntervalMs??1e4,y=c?.pollTimeoutMs??6e5,x=Date.now(),S=h,w;for(;!S.done;){if(Date.now()-x>y)throw new n({name:`GOOGLE_VIDEO_GENERATION_TIMEOUT`,message:`Video generation timed out after ${y}ms`});if(await r(_),i.abortSignal?.aborted)throw new n({name:`GOOGLE_VIDEO_GENERATION_ABORTED`,message:`Video generation request was aborted`});let{value:e,responseHeaders:a}=await t({url:`${this.config.baseURL}/${g}`,headers:C(await P(this.config.headers),i.headers),successfulResponseHandler:L(vt),failedResponseHandler:V,abortSignal:i.abortSignal,fetch:this.config.fetch});S=e,w=a}if(S.error)throw new n({name:`GOOGLE_VIDEO_GENERATION_FAILED`,message:`Video generation failed: ${S.error.message}`});let T=S.response;if(!T?.generateVideoResponse?.generatedSamples||T.generateVideoResponse.generatedSamples.length===0)throw new n({name:`GOOGLE_VIDEO_GENERATION_ERROR`,message:`No videos in response. Response: ${JSON.stringify(S)}`});let E=[],D=[],O=(await P(this.config.headers))?.[`x-goog-api-key`];for(let e of T.generateVideoResponse.generatedSamples)if(e.video?.uri){let t=O&&v(e.video.uri,this.config.baseURL)?`${e.video.uri}${e.video.uri.includes(`?`)?`&`:`?`}key=${O}`:e.video.uri;E.push({type:`url`,url:t,mediaType:`video/mp4`}),D.push({uri:e.video.uri})}if(E.length===0)throw new n({name:`GOOGLE_VIDEO_GENERATION_ERROR`,message:`No valid videos in response`});return{videos:E,warnings:s,response:{timestamp:o,modelId:this.modelId,headers:w},providerMetadata:{google:{videos:D}}}}},vt=d({name:a().nullish(),done:R().nullish(),error:d({code:A().nullish(),message:a(),status:a().nullish()}).nullish(),response:d({generateVideoResponse:d({generatedSamples:i(d({video:d({uri:a().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}),yt=_(()=>O(d({candidates:i(d({content:d({parts:i(d({inlineData:d({mimeType:a().nullish(),data:a().nullish()}).nullish()})).nullish()}).nullish()})).nullish()}))),bt=d({prebuiltVoiceConfig:d({voiceName:a()})}),xt=_(()=>O(d({multiSpeakerVoiceConfig:d({speakerVoiceConfigs:i(d({speaker:a(),voiceConfig:bt}))}).optional()}))),St=`Kore`,Ct=24e3,wt=class t{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[S](e){return N({modelId:e.modelId,config:e.config})}static[E](e){return new t(e.modelId,e.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t=St,outputFormat:n,instructions:r,speed:i,language:a,providerOptions:o}){let s=[],c=this.config.provider.includes(`vertex`)?[`googleVertex`,`vertex`]:[`google`],l;for(let e of c)if(l=await b({provider:e,providerOptions:o,schema:xt}),l!=null)break;l==null&&!c.includes(`google`)&&(l=await b({provider:`google`,providerOptions:o,schema:xt}));let u=l?.multiSpeakerVoiceConfig,d=u?{multiSpeakerVoiceConfig:u}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:t}}},f=e;r!=null&&(u?s.push({type:`unsupported`,feature:`instructions`,details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."}):f=`${r}: ${e}`),i!=null&&s.push({type:`unsupported`,feature:`speed`,details:"Google Gemini TTS models do not support the `speed` option. It was ignored."}),a!=null&&s.push({type:`unsupported`,feature:`language`,details:"Google Gemini TTS models do not support the `language` option. Language is detected automatically from the input text."});let p=`wav`;return n===`pcm`?p=`pcm`:n!=null&&n!==`wav`&&s.push({type:`unsupported`,feature:`outputFormat`,details:`Unsupported output format: ${n}. Using wav instead.`}),{requestBody:{contents:[{role:`user`,parts:[{text:f}]}],generationConfig:{responseModalities:[`AUDIO`],speechConfig:d}},warnings:s,outputFormat:p}}async doGenerate(t){var n;let r=((n=this.config._internal)?.currentDate)?.call(n)??new Date,{requestBody:i,warnings:a,outputFormat:o}=await this.getArgs(t),{value:s,responseHeaders:c,rawValue:l}=await e({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:C(this.config.headers?await P(this.config.headers):void 0,t.headers),body:i,failedResponseHandler:V,successfulResponseHandler:L(yt),abortSignal:t.abortSignal,fetch:this.config.fetch}),u,d;for(let e of s.candidates??[]){for(let t of e.content?.parts??[])if(t.inlineData?.data){u=t.inlineData.data,d=t.inlineData.mimeType??void 0;break}if(u!=null)break}let f=Tt(d)??Ct,p=u==null?new Uint8Array:te(u),m=o===`pcm`||p.length===0?p:Et(p,f);return o===`pcm`&&p.length>0&&a.push({type:`unsupported`,feature:`outputFormat`,details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${f} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`}),{audio:m,warnings:a,request:{body:JSON.stringify(i)},response:{timestamp:r,modelId:this.modelId,headers:c,body:l},providerMetadata:{google:{sampleRate:f,mimeType:d??null}}}}};function Tt(e){if(e==null)return;let t=/rate=(\d+)/.exec(e);return t?Number.parseInt(t[1],10):void 0}function Et(e,t){let n=t*2,r=e.length,i=new ArrayBuffer(44+r),a=new DataView(i);G(a,0,`RIFF`),a.setUint32(4,36+r,!0),G(a,8,`WAVE`),G(a,12,`fmt `),a.setUint32(16,16,!0),a.setUint16(20,1,!0),a.setUint16(22,1,!0),a.setUint32(24,t,!0),a.setUint32(28,n,!0),a.setUint16(32,2,!0),a.setUint16(34,16,!0),G(a,36,`data`),a.setUint32(40,r,!0);let o=new Uint8Array(i);return o.set(e,44),o}function G(e,t,n){for(let r=0;r<n.length;r++)e.setUint8(t+r,n.charCodeAt(r))}function K(e){if(e==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let t=e.total_input_tokens??0,n=e.total_output_tokens??0,r=e.total_thought_tokens??0,i=e.total_cached_tokens??0;return{inputTokens:{total:e.total_input_tokens??void 0,noCache:e.total_input_tokens==null?void 0:t-i,cacheRead:e.total_cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:e.total_output_tokens==null&&e.total_thought_tokens==null?void 0:n+r,text:e.total_output_tokens??void 0,reasoning:e.total_thought_tokens??void 0},raw:e}}function Dt(e){let t=e?.output_tokens_by_modality;if(t==null)return;let n={};for(let e of t)e?.modality!=null&&e.tokens!=null&&(n[e.modality]=e.tokens);return Object.keys(n).length>0?n:void 0}var Ot={pdf:`application/pdf`,txt:`text/plain`,md:`text/markdown`,markdown:`text/markdown`,doc:`application/msword`,docx:`application/vnd.openxmlformats-officedocument.wordprocessingml.document`};function kt(e){let t=e.toLowerCase();for(let[e,n]of Object.entries(Ot))if(t.endsWith(`.${e}`))return n;return`application/octet-stream`}function At(e){let t=e.split(`/`),n=t[t.length-1];return n&&n.length>0?n:void 0}function jt({annotation:e,generateId:t}){switch(e.type){case`url_citation`:{let n=e;return n.url==null||n.url.length===0?void 0:{type:`source`,sourceType:`url`,id:t(),url:n.url,...n.title==null?{}:{title:n.title}}}case`file_citation`:{let n=e,r=n.url??n.document_uri??n.file_name;if(r==null||r.length===0)return;if(r.startsWith(`http://`)||r.startsWith(`https://`))return{type:`source`,sourceType:`url`,id:t(),url:r,...n.file_name==null?{}:{title:n.file_name}};let i=n.file_name??At(r),a=kt(r);return{type:`source`,sourceType:`document`,id:t(),mediaType:a,title:n.file_name??i??r,...i==null?{}:{filename:i}}}case`place_citation`:{let n=e;return n.url==null||n.url.length===0?void 0:{type:`source`,sourceType:`url`,id:t(),url:n.url,...n.name==null?{}:{title:n.name}}}default:return}}function Mt({block:e,generateId:t}){let n=[];switch(e.type){case`url_context_result`:{let r=e.result??[];for(let e of r)e?.url==null||e.url.length===0||e.status!=null&&e.status!==`success`||n.push({type:`source`,sourceType:`url`,id:t(),url:e.url});break}case`google_search_result`:{let r=e.result??[];for(let e of r){let r=e?.url;r==null||r.length===0||n.push({type:`source`,sourceType:`url`,id:t(),url:r,...e.title==null?{}:{title:e.title}})}break}case`google_maps_result`:{let r=e.result??[];for(let e of r)for(let r of e.places??[])r.url==null||r.url.length===0||n.push({type:`source`,sourceType:`url`,id:t(),url:r.url,...r.name==null?{}:{title:r.name}});break}case`file_search_result`:{let r=e.result??[];for(let e of r){if(typeof e!=`object`||!e)continue;let r=e,i=r.url??r.document_uri??r.file_name;if(i==null||i.length===0)continue;if(i.startsWith(`http://`)||i.startsWith(`https://`)){n.push({type:`source`,sourceType:`url`,id:t(),url:i,...r.title==null?{}:{title:r.title}});continue}let a=r.file_name??At(i),o=kt(i);n.push({type:`source`,sourceType:`document`,id:t(),mediaType:o,title:r.title??r.file_name??a??i,...a==null?{}:{filename:a}})}break}default:break}return n}function q({annotations:e,generateId:t}){if(e==null)return[];let n=new Set,r=[];for(let i of e){let e=jt({annotation:i,generateId:t});if(e==null)continue;let a=e.sourceType===`url`?`url:${e.url}`:`doc:${e.filename??e.title}`;n.has(a)||(n.add(a),r.push(e))}return r}function J({status:e,hasFunctionCall:t}){switch(e){case`completed`:return t?`tool-calls`:`stop`;case`requires_action`:return`tool-calls`;case`failed`:return`error`;case`incomplete`:return`length`;case`cancelled`:return`other`;default:return`other`}}var Nt=new Set([`google_search_call`,`code_execution_call`,`url_context_call`,`file_search_call`,`google_maps_call`,`mcp_server_tool_call`]),Pt=new Set([`google_search_result`,`code_execution_result`,`url_context_result`,`file_search_result`,`google_maps_result`,`mcp_server_tool_result`]);function Ft(e){return e.replace(/_call$/,``)}function It(e){return e.replace(/_result$/,``)}function Lt({warnings:e,generateId:t,includeRawChunks:n,serviceTier:r}){let i,a,o=r,s,c=!1,l=new Map,u=new Set;function d(e){return e.sourceType===`url`?`url:${e.url}`:`doc:${e.filename??e.title}`}return new TransformStream({start(t){t.enqueue({type:`stream-start`,warnings:e})},transform(e,r){if(n&&r.enqueue({type:`raw`,rawValue:e.rawValue}),!e.success){s=`failed`,r.enqueue({type:`error`,error:e.error});return}let f=e.value,p=f.event_type;switch(p){case`interaction.created`:{let e=f.interaction;i=e?.id!=null&&e.id.length>0?e.id:void 0;let t=e?.created,n;if(typeof t==`string`){let e=new Date(t);Number.isNaN(e.getTime())||(n=e)}r.enqueue({type:`response-metadata`,...i==null?{}:{id:i},modelId:e?.model,...n?{timestamp:n}:{}});break}case`step.start`:{let e=f,n=e.step,a=e.index,o=`${i??`interaction`}:${a}`,s=n?.type;if(s===`model_output`){let e=n?.content?.[0];if(e?.type===`text`){l.set(a,{kind:`text`,id:o,emittedSourceKeys:new Set}),r.enqueue({type:`text-start`,id:o});let n=q({annotations:e.annotations,generateId:t});for(let e of n){let t=d(e);u.has(t)||(u.add(t),r.enqueue(e))}}else e?.type===`image`?l.set(a,{kind:`image`,id:o,...e.data==null?{}:{data:e.data},...e.mime_type==null?{}:{mimeType:e.mime_type},...e.uri==null?{}:{uri:e.uri}}):l.set(a,{kind:`pending_model_output`,id:o})}else if(s===`thought`){let e=n?.signature;if(l.set(a,{kind:`reasoning`,id:o,...e==null?{}:{signature:e}}),r.enqueue({type:`reasoning-start`,id:o}),Array.isArray(n?.summary))for(let e of n.summary)e?.type===`text`&&typeof e.text==`string`&&r.enqueue({type:`reasoning-delta`,id:o,delta:e.text})}else if(s===`function_call`){let e=n?.id??o,t=n?.name??`unknown`;c=!0;let i={kind:`function_call`,id:o,toolCallId:e,toolName:t,argumentsAccum:``,...n?.signature==null?{}:{signature:n.signature}};l.set(a,i),r.enqueue({type:`tool-input-start`,id:e,toolName:t})}else if(s!=null&&Nt.has(s)){let e=s===`mcp_server_tool_call`?n?.name??`mcp_server_tool`:Ft(s),t={kind:`builtin_tool_call`,id:o,blockType:s,toolCallId:n?.id??o,toolName:e,arguments:n?.arguments??{},callEmitted:!1};l.set(a,t)}else if(s!=null&&Pt.has(s)){let e=s===`mcp_server_tool_result`?n?.name??`mcp_server_tool`:It(s),t={kind:`builtin_tool_result`,id:o,blockType:s,callId:n?.call_id??o,toolName:e,result:n?.result??null,...n?.is_error==null?{}:{isError:n.is_error},resultEmitted:!1};l.set(a,t)}else l.set(a,{kind:`unknown`,id:o});break}case`step.delta`:{let e=f,n=l.get(e.index);if(n==null)break;let a=e.delta?.type;if(n.kind===`pending_model_output`&&(a===`text`||a===`text_annotation`||a===`text_annotation_delta`)){let t={kind:`text`,id:n.id,emittedSourceKeys:new Set};l.set(e.index,t),n=t,r.enqueue({type:`text-start`,id:t.id})}if(a===`image`&&(n.kind===`pending_model_output`||n.kind===`text`||n.kind===`image`)){let t=e.delta,a={};i!=null&&(a.interactionId=i);let o=Object.keys(a).length>0?{google:a}:void 0;t?.data!=null&&t.data.length>0?r.enqueue({type:`file`,mediaType:t.mime_type??`image/png`,data:{type:`data`,data:t.data},...o?{providerMetadata:o}:{}}):t?.uri!=null&&t.uri.length>0&&r.enqueue({type:`file`,mediaType:t.mime_type??`image/png`,data:{type:`url`,url:new URL(t.uri)},...o?{providerMetadata:o}:{}}),n.kind===`image`&&(n.data=void 0,n.uri=void 0);break}if(a===`video`&&(n.kind===`pending_model_output`||n.kind===`text`)){let t=e.delta,n={};i!=null&&(n.interactionId=i);let a=Object.keys(n).length>0?{google:n}:void 0;t?.data!=null&&t.data.length>0?r.enqueue({type:`file`,mediaType:t.mime_type??`video/mp4`,data:{type:`data`,data:t.data},...a?{providerMetadata:a}:{}}):t?.uri!=null&&t.uri.length>0&&r.enqueue({type:`file`,mediaType:t.mime_type??`video/mp4`,data:{type:`url`,url:new URL(t.uri)},...a?{providerMetadata:a}:{}});break}let o=e.delta;if(n.kind===`text`&&o?.type===`text`){let e=o.text??``;e.length>0&&r.enqueue({type:`text-delta`,id:n.id,delta:e})}else if(n.kind===`text`&&(o?.type===`text_annotation`||o?.type===`text_annotation_delta`)){let e=q({annotations:o.annotations,generateId:t});for(let t of e){let e=d(t);u.has(e)||(u.add(e),n.emittedSourceKeys.add(e),r.enqueue(t))}}else if(n.kind===`image`&&o?.type===`image`)o.data!=null&&(n.data=o.data),o.mime_type!=null&&(n.mimeType=o.mime_type),o.uri!=null&&(n.uri=o.uri);else if(n.kind===`reasoning`){if(o?.type===`thought_summary`){let e=o.content;e?.type===`text`&&typeof e.text==`string`&&r.enqueue({type:`reasoning-delta`,id:n.id,delta:e.text})}else if(o?.type===`thought_signature`){let e=o.signature;e!=null&&(n.signature=e)}}else if(n.kind===`function_call`&&o?.type===`arguments_delta`){let e=typeof o.arguments==`string`?o.arguments:``;e.length>0&&(n.argumentsAccum+=e,r.enqueue({type:`tool-input-delta`,id:n.toolCallId,delta:e})),o.id!=null&&(n.toolCallId=o.id),o.signature!=null&&(n.signature=o.signature),c=!0}else n.kind===`builtin_tool_call`&&o?.type===n.blockType?(o.id!=null&&(n.toolCallId=o.id),o.arguments!=null&&typeof o.arguments==`object`&&(n.arguments=o.arguments),o.name!=null&&n.blockType===`mcp_server_tool_call`&&(n.toolName=o.name)):n.kind===`builtin_tool_result`&&o?.type===n.blockType&&(o.call_id!=null&&(n.callId=o.call_id),o.result!==void 0&&(n.result=o.result),o.is_error!=null&&(n.isError=o.is_error),o.name!=null&&n.blockType===`mcp_server_tool_result`&&(n.toolName=o.name));break}case`step.stop`:{let e=f,n=l.get(e.index);if(n==null)break;if(n.kind===`text`){let e=i==null?void 0:{google:{interactionId:i}};r.enqueue({type:`text-end`,id:n.id,...e?{providerMetadata:e}:{}})}else if(n.kind===`reasoning`){let e={};n.signature!=null&&(e.signature=n.signature),i!=null&&(e.interactionId=i);let t=Object.keys(e).length>0?{google:e}:void 0;r.enqueue({type:`reasoning-end`,id:n.id,...t?{providerMetadata:t}:{}})}else if(n.kind===`image`){let e={};i!=null&&(e.interactionId=i);let t=Object.keys(e).length>0?{google:e}:void 0;n.data!=null&&n.data.length>0?r.enqueue({type:`file`,mediaType:n.mimeType??`image/png`,data:{type:`data`,data:n.data},...t?{providerMetadata:t}:{}}):n.uri!=null&&n.uri.length>0&&r.enqueue({type:`file`,mediaType:n.mimeType??`image/png`,data:{type:`url`,url:new URL(n.uri)},...t?{providerMetadata:t}:{}})}else if(n.kind===`function_call`){let e=n.argumentsAccum.length>0?n.argumentsAccum:`{}`;r.enqueue({type:`tool-input-end`,id:n.toolCallId});let t={};n.signature!=null&&(t.signature=n.signature),i!=null&&(t.interactionId=i);let a=Object.keys(t).length>0?{google:t}:void 0;r.enqueue({type:`tool-call`,toolCallId:n.toolCallId,toolName:n.toolName,input:e,...a?{providerMetadata:a}:{}})}else if(n.kind===`builtin_tool_call`&&!n.callEmitted)r.enqueue({type:`tool-call`,toolCallId:n.toolCallId,toolName:n.toolName,input:JSON.stringify(n.arguments??{}),providerExecuted:!0}),n.callEmitted=!0;else if(n.kind===`builtin_tool_result`&&!n.resultEmitted){r.enqueue({type:`tool-result`,toolCallId:n.callId,toolName:n.toolName,result:n.result??null}),n.resultEmitted=!0;let e=Mt({block:{type:n.blockType,call_id:n.callId,result:n.result},generateId:t});for(let t of e){let e=d(t);u.has(e)||(u.add(e),r.enqueue(t))}}l.delete(e.index);break}case`interaction.status_update`:case`interaction.in_progress`:case`interaction.requires_action`:{let e=f;s=e.status==null?p===`interaction.requires_action`?`requires_action`:`in_progress`:e.status;break}case`interaction.completed`:{let e=f.interaction;e?.id!=null&&e.id.length>0&&(i=e.id),e?.status!=null&&(s=e.status),e?.usage!=null&&(a=e.usage),e?.service_tier!=null&&(o=e.service_tier);break}case`error`:{let e=f;s=`failed`;let t=e.error??{message:`Unknown interaction error`};r.enqueue({type:`error`,error:t});break}default:break}},flush(e){let t={unified:J({status:s,hasFunctionCall:c}),raw:s},n=Dt(a),r={google:{...i==null?{}:{interactionId:i},...o==null?{}:{serviceTier:o},...n==null?{}:{outputTokensByModality:n}}};e.enqueue({type:`finish`,finishReason:t,usage:K(a),providerMetadata:r})}})}function Rt({prompt:e,previousInteractionId:t,store:n,mediaResolution:r}){let i=[],a=t!=null&&n===!1,o=t!=null&&n!==!1;a&&i.push({type:`other`,message:`google.interactions: providerOptions.google.previousInteractionId was set together with store: false. These are incoherent (the prior interaction cannot be referenced when nothing was stored on the server); the full history will be sent and previous_interaction_id will still be emitted.`});let s=o?Bt({prompt:e,previousInteractionId:t}):e,c=[],l=[];for(let e of s)switch(e.role){case`system`:c.push(e.content);break;case`user`:{let t=[];for(let n of e.content)if(n.type===`text`)t.push({type:`text`,text:n.text});else if(n.type===`file`){let e=zt({part:n,warnings:i,mediaResolution:r});e!=null&&t.push(e)}let n=Wt(t);n.length>0&&l.push({type:`user_input`,content:n});break}case`assistant`:{let t=[],n=()=>{t.length>0&&(l.push({type:`model_output`,content:t}),t=[])};for(let a of e.content)if(a.type===`text`)t.push({type:`text`,text:a.text});else if(a.type===`reasoning`){n();let e=a.providerOptions?.google?.signature;l.push({type:`thought`,...e==null?{}:{signature:e},summary:a.text.length>0?[{type:`text`,text:a.text}]:void 0})}else if(a.type===`file`){let e=zt({part:a,warnings:i,mediaResolution:r});e!=null&&t.push(e)}else if(a.type===`tool-call`){n();let e=a.providerOptions?.google?.signature,t=typeof a.input==`string`?Vt(a.input):a.input??{};l.push({type:`function_call`,id:a.toolCallId,name:a.toolName,arguments:t,...e==null?{}:{signature:e}})}else i.push({type:`other`,message:`google.interactions: unsupported assistant content part type "${a.type}"; part dropped.`});n();break}case`tool`:{let t=[];for(let n of e.content){if(n.type!==`tool-result`){i.push({type:`other`,message:`google.interactions: unsupported tool message part type "${n.type}"; part dropped.`});continue}let e=Ht({toolCallId:n.toolCallId,toolName:n.toolName,output:n.output,signature:n.providerOptions?.google?.signature,warnings:i});t.push(e)}t.length>0&&l.push({type:`user_input`,content:t});break}}return{input:l,systemInstruction:c.length>0?c.join(`
7
-
8
- `):void 0,warnings:i}}function zt({part:e,warnings:t,mediaResolution:n}){if(e.data.type===`text`)return{type:`text`,text:e.data.text};let r=u(e.mediaType),i;switch(r){case`image`:i=`image`;break;case`audio`:i=`audio`;break;case`video`:i=`video`;break;case`application`:i=`document`;break;default:i=void 0}if(i==null){t.push({type:`other`,message:`google.interactions: unsupported file media type "${e.mediaType}"; part dropped.`});return}let a=n!=null&&(i===`image`||i===`video`)?{resolution:n}:{};switch(e.data.type){case`data`:{let t=I({part:e});return{type:i,data:T(e.data.data),mime_type:t,...a}}case`url`:return{type:i,uri:e.data.url.toString(),...h(e.mediaType)?{mime_type:e.mediaType}:{},...a};case`reference`:{let t=k({reference:e.data.reference,provider:`google`});return{type:i,uri:t,...h(e.mediaType)?{mime_type:e.mediaType}:{},...a}}}}function Bt({prompt:e,previousInteractionId:t}){let n=[],r=new Set;for(let i of e){if(i.role===`assistant`){if(i.content.some(e=>e.providerOptions?.google?.interactionId===t)){for(let e of i.content)e.type===`tool-call`&&r.add(e.toolCallId);continue}n.push(i);continue}if(i.role===`tool`){let e=i.content.filter(e=>e.type!==`tool-result`||!r.has(e.toolCallId));if(e.length===0)continue;n.push({...i,content:e});continue}n.push(i)}return n}function Vt(e){try{let t=w(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{value:t}}catch{return{value:e}}}function Ht({toolCallId:e,toolName:t,output:n,signature:r,warnings:i}){let a={type:`function_result`,call_id:e,name:t,...r==null?{}:{signature:r}};switch(n.type){case`text`:return{...a,result:n.value};case`json`:return{...a,result:JSON.stringify(n.value)};case`error-text`:return{...a,is_error:!0,result:n.value};case`error-json`:return{...a,is_error:!0,result:JSON.stringify(n.value)};case`execution-denied`:return{...a,is_error:!0,result:n.reason??`Tool execution denied by user.`};case`content`:{let e=[];for(let t of n.value)if(t.type===`text`)e.push({type:`text`,text:t.text});else if(t.type===`file`){if(u(t.mediaType)!==`image`){i.push({type:`other`,message:`google.interactions: tool-result file with mediaType "${t.mediaType}" is not supported (Interactions \`function_result.result\` accepts only text and image content); part dropped.`});continue}let n=Ut({part:t,warnings:i});n!=null&&e.push(n)}else i.push({type:`other`,message:`google.interactions: tool-result content part type "${t.type}" is not supported; part dropped.`});return{...a,result:e}}}}function Ut({part:e,warnings:t}){switch(e.data.type){case`data`:{let t=h(e.mediaType)?e.mediaType:I({part:{type:`file`,mediaType:e.mediaType,data:e.data}});return{type:`image`,data:T(e.data.data),mime_type:t}}case`url`:return{type:`image`,uri:e.data.url.toString(),...h(e.mediaType)?{mime_type:e.mediaType}:{}};case`reference`:return{type:`image`,uri:k({reference:e.data.reference,provider:`google`}),...h(e.mediaType)?{mime_type:e.mediaType}:{}};case`text`:t.push({type:`other`,message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'});return}}function Wt(e){if(e.length<2)return e;let t=[];for(let n of e){let e=t[t.length-1];if(n.type===`text`&&e!=null&&e.type===`text`&&e.annotations==null&&n.annotations==null){let r={type:`text`,text:`${e.text}
9
-
10
- ${n.text}`};t[t.length-1]=r;continue}t.push(n)}return t}var Y=()=>d({modality:a().nullish(),tokens:A().nullish()}).loose(),Gt=()=>d({total_input_tokens:A().nullish(),total_output_tokens:A().nullish(),total_thought_tokens:A().nullish(),total_cached_tokens:A().nullish(),total_tool_use_tokens:A().nullish(),total_tokens:A().nullish(),input_tokens_by_modality:i(Y()).nullish(),output_tokens_by_modality:i(Y()).nullish(),cached_tokens_by_modality:i(Y()).nullish(),tool_use_tokens_by_modality:i(Y()).nullish(),grounding_tool_count:i(d({type:a().nullish(),count:A().nullish()}).loose()).nullish()}).loose(),Kt=()=>B([`in_progress`,`requires_action`,`completed`,`failed`,`cancelled`,`incomplete`]),qt=()=>l([d({type:p(`url_citation`),url:a().nullish(),title:a().nullish(),start_index:A().nullish(),end_index:A().nullish()}).loose(),d({type:p(`file_citation`),file_name:a().nullish(),document_uri:a().nullish(),url:a().nullish(),page_number:A().nullish(),media_id:a().nullish(),start_index:A().nullish(),end_index:A().nullish(),custom_metadata:f(a(),g()).nullish()}).loose(),d({type:p(`place_citation`),name:a().nullish(),url:a().nullish(),place_id:a().nullish(),start_index:A().nullish(),end_index:A().nullish()}).loose(),d({type:a()}).loose()]),Jt=()=>d({type:a(),text:a().nullish(),data:a().nullish(),mime_type:a().nullish()}).loose(),Yt=()=>l([d({type:p(`text`),text:a(),annotations:i(qt()).nullish()}).loose(),d({type:p(`image`),data:a().nullish(),mime_type:a().nullish(),resolution:B([`low`,`medium`,`high`,`ultra_high`]).nullish(),uri:a().nullish()}).loose(),d({type:p(`video`),data:a().nullish(),mime_type:a().nullish(),uri:a().nullish()}).loose(),d({type:a()}).loose()]),Xt=[`google_search_call`,`code_execution_call`,`url_context_call`,`file_search_call`,`google_maps_call`,`mcp_server_tool_call`],Zt=[`google_search_result`,`code_execution_result`,`url_context_result`,`file_search_result`,`google_maps_result`,`mcp_server_tool_result`],Qt=()=>l([d({type:p(`user_input`),content:i(Yt()).nullish()}).loose(),d({type:p(`model_output`),content:i(Yt()).nullish()}).loose(),d({type:p(`function_call`),id:a(),name:a(),arguments:f(a(),g()).nullish(),signature:a().nullish()}).loose(),d({type:p(`thought`),signature:a().nullish(),summary:i(Jt()).nullish()}).loose(),d({type:B(Xt),id:a(),arguments:f(a(),g()).nullish(),name:a().nullish(),server_name:a().nullish(),search_type:a().nullish(),signature:a().nullish()}).loose(),d({type:B(Zt),call_id:a(),result:g().nullish(),is_error:R().nullish(),name:a().nullish(),server_name:a().nullish(),signature:a().nullish()}).loose(),d({type:a()}).loose()]),X=_(()=>O(d({id:a().nullish(),created:a().nullish(),updated:a().nullish(),status:Kt(),model:a().nullish(),agent:a().nullish(),steps:i(Qt()).nullish(),usage:Gt().nullish(),service_tier:a().nullish(),previous_interaction_id:a().nullish(),response_modalities:i(a()).nullish()}).loose())),$t=_(()=>O((()=>{let e=Kt(),t=qt(),n=Jt(),r=d({event_type:p(`interaction.created`),event_id:a().nullish(),interaction:d({id:a().nullish(),created:a().nullish(),model:a().nullish(),agent:a().nullish(),status:e.nullish()}).loose()}).loose(),o=d({event_type:p(`step.start`),event_id:a().nullish(),index:A(),step:Qt()}).loose(),s=d({type:p(`text`),text:a()}).loose(),c=d({type:p(`thought_summary`),content:n.nullish()}).loose(),u=d({type:p(`thought_signature`),signature:a().nullish()}).loose(),m=d({type:p(`arguments_delta`),arguments:a().nullish(),id:a().nullish(),signature:a().nullish()}).loose(),h=d({type:B([`text_annotation_delta`,`text_annotation`]),annotations:i(t).nullish()}).loose(),_=l([s,d({type:p(`image`),data:a().nullish(),mime_type:a().nullish(),resolution:B([`low`,`medium`,`high`,`ultra_high`]).nullish(),uri:a().nullish()}).loose(),d({type:p(`video`),data:a().nullish(),mime_type:a().nullish(),uri:a().nullish()}).loose(),c,u,m,h,d({type:B(Xt),id:a().nullish(),arguments:f(a(),g()).nullish(),name:a().nullish(),server_name:a().nullish(),search_type:a().nullish(),signature:a().nullish()}).loose(),d({type:B(Zt),call_id:a().nullish(),result:g().nullish(),is_error:R().nullish(),name:a().nullish(),server_name:a().nullish(),signature:a().nullish()}).loose(),d({type:a()}).loose()]);return l([r,o,d({event_type:p(`step.delta`),event_id:a().nullish(),index:A(),delta:_}).loose(),d({event_type:p(`step.stop`),event_id:a().nullish(),index:A()}).loose(),d({event_type:p(`interaction.status_update`),event_id:a().nullish(),interaction_id:a().nullish(),status:e.nullish()}).loose(),d({event_type:p(`interaction.in_progress`),event_id:a().nullish(),interaction_id:a().nullish(),status:e.nullish()}).loose(),d({event_type:p(`interaction.requires_action`),event_id:a().nullish(),interaction_id:a().nullish(),status:e.nullish()}).loose(),d({event_type:p(`interaction.completed`),event_id:a().nullish(),interaction:d({id:a().nullish(),status:e.nullish(),usage:Gt().nullish(),service_tier:a().nullish()}).loose()}).loose(),d({event_type:p(`error`),event_id:a().nullish(),error:d({code:a().nullish(),message:a().nullish()}).loose().nullish()}).loose(),d({event_type:a()}).loose()])})())),en=_(()=>O(d({previousInteractionId:a().nullish(),store:R().nullish(),agent:a().nullish(),agentConfig:l([d({type:p(`dynamic`)}).loose(),d({type:p(`deep-research`),thinkingSummaries:B([`auto`,`none`]).nullish(),visualization:B([`off`,`auto`]).nullish(),collaborativePlanning:R().nullish()})]).nullish(),thinkingLevel:B([`minimal`,`low`,`medium`,`high`]).nullish(),thinkingSummaries:B([`auto`,`none`]).nullish(),responseFormat:i(l([d({type:p(`text`),mimeType:a().nullish(),schema:g().nullish()}).loose(),d({type:p(`image`),mimeType:a().nullish(),aspectRatio:B([`1:1`,`2:3`,`3:2`,`3:4`,`4:3`,`4:5`,`5:4`,`9:16`,`16:9`,`21:9`,`1:8`,`8:1`,`1:4`,`4:1`]).nullish(),imageSize:B([`1K`,`2K`,`4K`,`512`]).nullish()}).loose(),d({type:p(`audio`),mimeType:a().nullish()}).loose()])).nullish(),imageConfig:d({aspectRatio:B([`1:1`,`2:3`,`3:2`,`3:4`,`4:3`,`4:5`,`5:4`,`9:16`,`16:9`,`21:9`,`1:8`,`8:1`,`1:4`,`4:1`]).nullish(),imageSize:B([`1K`,`2K`,`4K`,`512`]).nullish()}).nullish(),mediaResolution:B([`low`,`medium`,`high`,`ultra_high`]).nullish(),responseModalities:i(B([`text`,`image`,`audio`,`video`,`document`])).nullish(),serviceTier:B([`flex`,`standard`,`priority`]).nullish(),systemInstruction:a().nullish(),signature:a().nullish(),interactionId:a().nullish(),pollingTimeoutMs:A().int().positive().nullish(),background:R().nullish(),environment:l([a(),d({type:p(`remote`),sources:i(l([d({type:p(`gcs`),source:a(),target:a().nullish()}),d({type:p(`repository`),source:a(),target:a().nullish()}),d({type:p(`inline`),content:a(),target:a()})])).nullish(),network:l([p(`disabled`),d({allowlist:i(d({domain:a(),transform:i(f(a(),a())).nullish()}))})]).nullish()})]).nullish()})));function Z({signature:e,interactionId:t}){let n={};return e!=null&&(n.signature=e),t!=null&&(n.interactionId=t),Object.keys(n).length>0?{providerMetadata:{google:n}}:{}}var tn=new Set([`google_search_call`,`code_execution_call`,`url_context_call`,`file_search_call`,`google_maps_call`,`mcp_server_tool_call`]),nn=new Set([`google_search_result`,`code_execution_result`,`url_context_result`,`file_search_result`,`google_maps_result`,`mcp_server_tool_result`]);function rn(e){return e.replace(/_call$/,``)}function an(e){return e.replace(/_result$/,``)}function on({steps:e,generateId:t,interactionId:n}){let r=[],i=!1;if(e==null)return{content:r,hasFunctionCall:i};for(let a of e){if(typeof a!=`object`||!a)continue;let e=a.type;if(typeof e==`string`)switch(e){case`user_input`:break;case`model_output`:{let e=a.content??[];for(let i of e){if(typeof i!=`object`||!i)continue;let e=i.type;if(e===`text`){let e=i.text??``,a=i.annotations;r.push({type:`text`,text:e,...Z({interactionId:n})});let o=q({annotations:a,generateId:t});for(let e of o)r.push(e)}else if(e===`image`){let e=i;e.data!=null&&e.data.length>0?r.push({type:`file`,mediaType:e.mime_type??`image/png`,data:{type:`data`,data:e.data},...Z({interactionId:n})}):e.uri!=null&&e.uri.length>0&&r.push({type:`file`,mediaType:e.mime_type??`image/png`,data:{type:`url`,url:new URL(e.uri)},...Z({interactionId:n})})}else if(e===`video`){let e=i;e.data!=null&&e.data.length>0?r.push({type:`file`,mediaType:e.mime_type??`video/mp4`,data:{type:`data`,data:e.data},...Z({interactionId:n})}):e.uri!=null&&e.uri.length>0&&r.push({type:`file`,mediaType:e.mime_type??`video/mp4`,data:{type:`url`,url:new URL(e.uri)},...Z({interactionId:n})})}}break}case`thought`:{let e=a,t=(Array.isArray(e.summary)?e.summary:[]).filter(e=>e?.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
11
- `);r.push({type:`reasoning`,text:t,...Z({signature:e.signature,interactionId:n})});break}case`function_call`:{i=!0;let e=a;r.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.arguments??{}),...Z({signature:e.signature,interactionId:n})});break}default:if(tn.has(e)){let n=a,i=e===`mcp_server_tool_call`?n.name??`mcp_server_tool`:rn(e),o=JSON.stringify(n.arguments??{});r.push({type:`tool-call`,toolCallId:n.id??t(),toolName:i,input:o,providerExecuted:!0})}else if(nn.has(e)){let n=a,i=e===`mcp_server_tool_result`?n.name??`mcp_server_tool`:an(e);r.push({type:`tool-result`,toolCallId:n.call_id??t(),toolName:i,result:n.result??null});let o=Mt({block:a,generateId:t});for(let e of o)r.push(e)}break}}return{content:r,hasFunctionCall:i}}var sn=()=>globalThis.fetch;async function cn({baseURL:e,interactionId:t,headers:n,fetch:r=sn()}){if(t==null||t.length===0)return;let i=`${e}/interactions/${encodeURIComponent(t)}/cancel`;try{let e=await r(i,{method:`POST`,headers:ae(C({"Content-Type":`application/json`},n),ee()),body:`{}`});try{await e.text()}catch{}}catch{}}var ln=new Set([`completed`,`failed`,`cancelled`,`incomplete`]);function Q(e){return e!=null&&ln.has(e)}var un=1e3,dn=1e4,fn=1800*1e3;async function pn({baseURL:e,interactionId:n,headers:i,fetch:a,abortSignal:o,initialDelayMs:s=un,maxDelayMs:c=dn,timeoutMs:l=fn}){if(n==null||n.length===0)throw Error(`google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.`);let u=Date.now(),d=s,f=`${e}/interactions/${encodeURIComponent(n)}`,p=()=>cn({baseURL:e,interactionId:n,headers:i,fetch:a});try{for(;;){if(o?.aborted)throw await p(),new DOMException(`Polling was aborted`,`AbortError`);if(Date.now()-u>l)throw Error(`google.interactions: timed out polling interaction ${n} after ${l}ms.`);await r(d,{abortSignal:o});let{value:e,rawValue:s,responseHeaders:m}=await t({url:f,headers:i,failedResponseHandler:V,successfulResponseHandler:L(X),abortSignal:o,fetch:a});if(Q(e.status))return{response:e,rawResponse:s,responseHeaders:m};d=Math.min(d*2,c)}}catch(e){throw m(e)&&await p(),e}}function mn({tools:e,toolChoice:t}){let n=[],r=e?.length?e:void 0;if(r==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let i=[];for(let e of r){if(e.type===`function`){i.push({type:`function`,name:e.name,description:e.description??``,parameters:e.inputSchema});continue}if(e.type===`provider`){let t=e.args??{};switch(e.id){case`google.google_search`:{let e=t.searchTypes,n;if(typeof e==`object`&&e){let t=[];e.webSearch!=null&&t.push(`web_search`),e.imageSearch!=null&&t.push(`image_search`),t.length>0&&(n=t)}i.push({type:`google_search`,...n==null?{}:{search_types:n}});break}case`google.code_execution`:i.push({type:`code_execution`});break;case`google.url_context`:i.push({type:`url_context`});break;case`google.file_search`:i.push({type:`file_search`,...t.fileSearchStoreNames==null?{}:{file_search_store_names:t.fileSearchStoreNames},...t.topK==null?{}:{top_k:t.topK},...t.metadataFilter==null?{}:{metadata_filter:t.metadataFilter}});break;case`google.google_maps`:i.push({type:`google_maps`,...t.latitude==null?{}:{latitude:t.latitude},...t.longitude==null?{}:{longitude:t.longitude},...t.enableWidget==null?{}:{enable_widget:t.enableWidget}});break;case`google.computer_use`:i.push({type:`computer_use`,environment:t.environment??`browser`,...t.excludedPredefinedFunctions==null?{}:{excludedPredefinedFunctions:t.excludedPredefinedFunctions}});break;case`google.mcp_server`:i.push({type:`mcp_server`,...t.name==null?{}:{name:t.name},...t.url==null?{}:{url:t.url},...t.headers==null?{}:{headers:t.headers},...t.allowedTools==null?{}:{allowed_tools:t.allowedTools}});break;case`google.retrieval`:{let e=t.vertexAiSearchConfig??void 0;i.push({type:`retrieval`,...t.retrievalTypes==null?{retrieval_types:[`vertex_ai_search`]}:{retrieval_types:t.retrievalTypes},...e==null?{}:{vertex_ai_search_config:e}});break}default:n.push({type:`unsupported`,feature:`provider-defined tool ${e.id}`,details:`provider-defined tool ${e.id} is not supported by google.interactions; tool dropped.`});break}continue}n.push({type:`unsupported`,feature:`tool of type ${e.type}`,details:`Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped.`})}let a=i.some(e=>e.type===`function`),o;if(t!=null&&a)switch(t.type){case`auto`:o=`auto`;break;case`required`:o=`any`;break;case`none`:o=`none`;break;case`tool`:o={allowed_tools:{mode:`validated`,tools:[t.toolName]}};break}return{tools:i.length>0?i:void 0,toolChoice:o,toolWarnings:n}}var hn=3,gn=500;function _n({baseURL:e,interactionId:n,headers:i,fetch:a,abortSignal:o,maxRetries:s=hn,retryDelayMs:c=gn}){if(n.length===0)throw Error(`google.interactions: cannot stream a background interaction without an id.`);let l={...i,accept:`text/event-stream`},u,d=!1,f=0,p=!1,h,g=new AbortController,_=()=>g.abort();o!=null&&(o.aborted?g.abort():o.addEventListener(`abort`,_,{once:!0}));let v=g.signal;function y(){let t=`${e}/interactions/${encodeURIComponent(n)}`,r=new URLSearchParams({stream:`true`});return u!=null&&r.set(`last_event_id`,u),`${t}?${r.toString()}`}async function b(){let{value:e}=await t({url:y(),headers:l,failedResponseHandler:V,successfulResponseHandler:D($t),abortSignal:v,fetch:a});return e.getReader()}return new ReadableStream({async start(t){try{for(;!d&&!v.aborted;){if(h==null)try{h=await b(),p=!1}catch(e){if(m(e)||v.aborted){t.error(e);return}if(f++,f>=s){t.error(e);return}await r(c*f,{abortSignal:v});continue}try{let{done:e,value:n}=await h.read();if(e){if(h=void 0,d)break;if(p)f=0;else{if(f++,f>=s){t.error(Error(`google.interactions: SSE stream closed without producing any events.`));return}await r(c*f,{abortSignal:v})}continue}if(p=!0,n.success){let e=n.value;typeof e.event_id==`string`&&e.event_id.length>0&&(u=e.event_id),(e.event_type===`interaction.completed`||e.event_type===`error`)&&(d=!0)}t.enqueue(n)}catch(e){if(m(e)||v.aborted){t.error(e);return}if(h=void 0,f++,f>=s){t.error(e);return}await r(c*f,{abortSignal:v})}}t.close()}catch(e){t.error(e)}finally{o?.removeEventListener(`abort`,_),h?.cancel().catch(()=>{}),h=void 0,v.aborted&&!d&&await cn({baseURL:e,interactionId:n,headers:i,fetch:a})}},cancel(){g.abort(),h?.cancel().catch(()=>{}),h=void 0}})}function vn({response:e,warnings:t,generateId:n,includeRawChunks:r,headerServiceTier:i}){return new ReadableStream({start(a){a.enqueue({type:`stream-start`,warnings:t});let o=typeof e.id==`string`&&e.id.length>0?e.id:void 0,s,c=e.created;if(typeof c==`string`){let e=new Date(c);Number.isNaN(e.getTime())||(s=e)}a.enqueue({type:`response-metadata`,...o==null?{}:{id:o},modelId:e.model??void 0,...s?{timestamp:s}:{}}),r&&a.enqueue({type:`raw`,rawValue:e});let{content:l,hasFunctionCall:u}=on({steps:e.steps??null,generateId:n,interactionId:o}),d=0,f=()=>`${o??`agent`}:${d++}`;for(let e of l)switch(e.type){case`text`:{let t=f(),n=e.providerMetadata;a.enqueue({type:`text-start`,id:t}),e.text.length>0&&a.enqueue({type:`text-delta`,id:t,delta:e.text}),a.enqueue({type:`text-end`,id:t,...n?{providerMetadata:n}:{}});break}case`reasoning`:{let t=f(),n=e.providerMetadata;a.enqueue({type:`reasoning-start`,id:t}),e.text.length>0&&a.enqueue({type:`reasoning-delta`,id:t,delta:e.text}),a.enqueue({type:`reasoning-end`,id:t,...n?{providerMetadata:n}:{}});break}case`tool-call`:{let t=e.providerMetadata;a.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{}}),a.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.input}),a.enqueue({type:`tool-input-end`,id:e.toolCallId}),a.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...t?{providerMetadata:t}:{}});break}case`tool-result`:a.enqueue({type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,result:e.result});break;case`source`:case`file`:a.enqueue(e);break;default:break}let p=e.service_tier??i,m={unified:J({status:e.status,hasFunctionCall:u}),raw:e.status},h={google:{...o==null?{}:{interactionId:o},...p==null?{}:{serviceTier:p}}};a.enqueue({type:`finish`,finishReason:m,usage:K(e.usage),providerMetadata:h}),a.close()}})}var yn=class t{constructor(e,t){this.specificationVersion=`v4`,typeof e==`string`?(this.modelId=e,this.agent=void 0):`managedAgent`in e?(this.modelId=e.managedAgent,this.agent=e.managedAgent):(this.modelId=e.agent,this.agent=e.agent),this.config=t}static[S](e){return{...N({modelId:e.modelId,config:e.config}),agent:e.agent}}static[E](e){return new t(e.agent==null?e.modelId:{agent:e.agent},e.config)}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?this.config.supportedUrls():{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(e){let t=[],n=await b({provider:`google`,providerOptions:e.providerOptions,schema:en}),r=this.agent!=null,i=e.tools!=null&&e.tools.length>0,a,o;if(i&&r)t.push({type:`other`,message:`google.interactions: tools are not supported when an agent is set; tools will be omitted from the request body.`});else if(i){let n=mn({tools:e.tools,toolChoice:e.toolChoice});a=n.tools,o=n.toolChoice,t.push(...n.toolWarnings)}let s=[];if(e.responseFormat?.type===`json`)if(r)t.push({type:`other`,message:`google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored.`});else{let t={type:`text`,mime_type:`application/json`,...e.responseFormat.schema==null?{}:{schema:e.responseFormat.schema}};s.push(t)}if(n?.responseFormat!=null)for(let e of n.responseFormat)e.type===`text`?s.push($({type:`text`,mime_type:e.mimeType??void 0,schema:e.schema??void 0})):e.type===`image`?s.push($({type:`image`,mime_type:e.mimeType??void 0,aspect_ratio:e.aspectRatio??void 0,image_size:e.imageSize??void 0})):e.type===`audio`&&s.push($({type:`audio`,mime_type:e.mimeType??void 0}));let{input:c,systemInstruction:l,warnings:u}=Rt({prompt:e.prompt,previousInteractionId:n?.previousInteractionId??void 0,store:n?.store??void 0,mediaResolution:n?.mediaResolution??void 0});t.push(...u);let d=l,f=n?.systemInstruction??void 0;d!=null&&f!=null?t.push({type:`other`,message:`google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message.`}):d==null&&f!=null&&(d=f);let p;if(r){let r=[];e.temperature!=null&&r.push(`temperature`),e.topP!=null&&r.push(`topP`),e.seed!=null&&r.push(`seed`),e.stopSequences!=null&&e.stopSequences.length>0&&r.push(`stopSequences`),e.maxOutputTokens!=null&&r.push(`maxOutputTokens`),n?.thinkingLevel!=null&&r.push(`thinkingLevel`),n?.thinkingSummaries!=null&&r.push(`thinkingSummaries`),n?.imageConfig!=null&&r.push(`imageConfig`),r.length>0&&t.push({type:`other`,message:`google.interactions: ${r.join(`, `)} ${r.length===1?`is`:`are`} not supported when an agent is set; use providerOptions.google.agentConfig instead. Dropped from the request body.`}),p=void 0}else if(p=$({temperature:e.temperature??void 0,top_p:e.topP??void 0,seed:e.seed??void 0,stop_sequences:e.stopSequences!=null&&e.stopSequences.length>0?e.stopSequences:void 0,max_output_tokens:e.maxOutputTokens??void 0,thinking_level:n?.thinkingLevel??void 0,thinking_summaries:n?.thinkingSummaries??void 0,tool_choice:o}),n?.imageConfig!=null){let e=s.some(e=>e.type===`image`);t.push({type:`other`,message:e?`google.interactions: providerOptions.google.imageConfig is deprecated and was ignored because providerOptions.google.responseFormat already supplies an image entry. Use responseFormat exclusively.`:`google.interactions: providerOptions.google.imageConfig is deprecated. Use providerOptions.google.responseFormat with a { type: "image", ... } entry instead.`}),e||s.push({type:`image`,mime_type:`image/png`,...n.imageConfig.aspectRatio==null?{}:{aspect_ratio:n.imageConfig.aspectRatio},...n.imageConfig.imageSize==null?{}:{image_size:n.imageConfig.imageSize}})}let m;if(r&&n?.agentConfig!=null){let e=n.agentConfig;e.type===`deep-research`?m=$({type:`deep-research`,thinking_summaries:e.thinkingSummaries??void 0,visualization:e.visualization??void 0,collaborative_planning:e.collaborativePlanning??void 0}):e.type===`dynamic`&&(m={type:`dynamic`})}let h;if(n?.environment!=null)if(!r)t.push({type:`other`,message:`google.interactions: environment is only supported when an agent is set; environment will be omitted from the request body.`});else if(typeof n.environment==`string`)h=n.environment;else{let e=n.environment,t=e.sources?.map(e=>e.type===`inline`?{type:`inline`,content:e.content,target:e.target}:$({type:e.type,source:e.source,target:e.target??void 0})),r;e.network===`disabled`?r=`disabled`:e.network!=null&&(r={allowlist:e.network.allowlist.map(e=>$({domain:e.domain,transform:e.transform??void 0}))}),h=$({type:`remote`,sources:t!=null&&t.length>0?t:void 0,network:r})}return{args:$({...r?{agent:this.agent}:{model:this.modelId},input:c,system_instruction:d,tools:a,response_format:s.length>0?s:void 0,response_modalities:n?.responseModalities==null?void 0:n.responseModalities,previous_interaction_id:n?.previousInteractionId??void 0,service_tier:n?.serviceTier??void 0,store:n?.store??void 0,generation_config:p!=null&&Object.keys(p).length>0?p:void 0,agent_config:m,environment:h,background:n?.background??void 0}),warnings:t,isAgent:r,isBackground:n?.background===!0,pollingTimeoutMs:n?.pollingTimeoutMs??void 0}}async doGenerate(t){let{args:n,warnings:r,isAgent:i,pollingTimeoutMs:a}=await this.getArgs(t),o=`${this.config.baseURL}/interactions`,s=C(this.config.headers?await P(this.config.headers):void 0,t.headers),{responseHeaders:c,value:l,rawValue:u}=await e({url:o,headers:s,body:n,failedResponseHandler:V,successfulResponseHandler:L(X),abortSignal:t.abortSignal,fetch:this.config.fetch});if(i&&!Q(l.status)){let e=await pn({baseURL:this.config.baseURL,interactionId:l.id,headers:s,fetch:this.config.fetch,abortSignal:t.abortSignal,timeoutMs:a});l=e.response,u=e.rawResponse,c=e.responseHeaders??c}let d=typeof l.id==`string`&&l.id.length>0?l.id:void 0,{content:f,hasFunctionCall:p}=on({steps:l.steps??null,generateId:this.config.generateId??j,interactionId:d}),m={unified:J({status:l.status,hasFunctionCall:p}),raw:l.status},h=l.service_tier??c?.[`x-gemini-service-tier`]??void 0,g=Dt(l.usage),_={google:{...d==null?{}:{interactionId:d},...h==null?{}:{serviceTier:h},...g==null?{}:{outputTokensByModality:g}}},v;if(typeof l.created==`string`){let e=new Date(l.created);Number.isNaN(e.getTime())||(v=e)}return{content:f,finishReason:m,usage:K(l.usage),warnings:r,providerMetadata:_,request:{body:n},response:{headers:c,body:u,...d==null?{}:{id:d},...v?{timestamp:v}:{},modelId:l.model??void 0}}}async doStream(t){let{args:n,warnings:r,isBackground:i,pollingTimeoutMs:a}=await this.getArgs(t),o=`${this.config.baseURL}/interactions`,s=C(this.config.headers?await P(this.config.headers):void 0,t.headers);if(i)return this.doStreamBackground({args:n,warnings:r,url:o,mergedHeaders:s,options:t,pollingTimeoutMs:a});let c={...n,stream:!0},{responseHeaders:l,value:u}=await e({url:o,headers:s,body:c,failedResponseHandler:V,successfulResponseHandler:D($t),abortSignal:t.abortSignal,fetch:this.config.fetch}),d=l?.[`x-gemini-service-tier`],f=Lt({warnings:r,generateId:this.config.generateId??j,includeRawChunks:t.includeRawChunks,serviceTier:d});return{stream:u.pipeThrough(f),request:{body:c},response:{headers:l}}}async doStreamBackground({args:t,warnings:n,url:r,mergedHeaders:i,options:a,pollingTimeoutMs:o}){let{responseHeaders:s,value:c}=await e({url:r,headers:i,body:t,failedResponseHandler:V,successfulResponseHandler:L(X),abortSignal:a.abortSignal,fetch:this.config.fetch}),l=c.id;if(l==null||l.length===0)throw Error(`google.interactions: background POST response did not include an interaction id; cannot stream the result.`);let u=s?.[`x-gemini-service-tier`];if(Q(c.status))return{stream:vn({response:c,warnings:n,generateId:this.config.generateId??j,includeRawChunks:a.includeRawChunks,headerServiceTier:u}),request:{body:t},response:{headers:s}};let d=_n({baseURL:this.config.baseURL,interactionId:l,headers:i,fetch:this.config.fetch,abortSignal:a.abortSignal}),f=Lt({warnings:n,generateId:this.config.generateId??j,includeRawChunks:a.includeRawChunks,serviceTier:u});return{stream:d.pipeThrough(f),request:{body:t},response:{headers:s}}}};function $(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function bn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var xn=class{constructor(){this.turnCounter=0,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16e3}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){this.turnClosed&&=(this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,!1)}parseServerEvent(e){let t=e;return t.setupComplete==null?t.toolCall==null?t.toolCallCancellation==null?t.serverContent==null?t.inputTranscription?.text==null?{type:`custom`,rawType:String(Object.keys(t)[0]),raw:e}:{type:`input-transcription-completed`,itemId:`google-input-${this.turnCounter}`,transcript:t.inputTranscription.text,raw:e}:this.parseServerContent(t.serverContent,e):{type:`custom`,rawType:`toolCallCancellation`,raw:e}:(this.beginTurnIfClosed(),(t.toolCall.functionCalls??[]).flatMap(t=>{let n=JSON.stringify(t.args??{});return[{type:`function-call-arguments-delta`,responseId:this.responseId,itemId:this.itemId,callId:t.id,delta:n,raw:e},{type:`function-call-arguments-done`,responseId:this.responseId,itemId:this.itemId,callId:t.id,name:t.name,arguments:n,raw:e}]})):{type:`session-created`,raw:e}}parseServerContent(e,t){let n=[];if(e.interrupted&&n.push({type:`speech-started`,raw:t}),e.modelTurn?.parts){this.beginTurnIfClosed();for(let r of e.modelTurn.parts)r.inlineData?.data&&(this.hasAudio=!0,n.push({type:`audio-delta`,responseId:this.responseId,itemId:this.itemId,delta:r.inlineData.data,raw:t})),r.text&&(this.hasText=!0,n.push({type:`text-delta`,responseId:this.responseId,itemId:this.itemId,delta:r.text,raw:t}))}return e.outputTranscription?.text&&(this.hasTranscript=!0,n.push({type:`audio-transcript-delta`,responseId:this.responseId,itemId:this.itemId,delta:e.outputTranscription.text,raw:t})),e.inputTranscription?.text&&n.push({type:`input-transcription-completed`,itemId:`google-input-${this.turnCounter}`,transcript:e.inputTranscription.text,raw:t}),e.turnComplete&&(this.hasAudio&&n.push({type:`audio-done`,responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasText&&n.push({type:`text-done`,responseId:this.responseId,itemId:this.itemId,raw:t}),this.hasTranscript&&n.push({type:`audio-transcript-done`,responseId:this.responseId,itemId:this.itemId,raw:t}),n.push({type:`response-done`,responseId:this.responseId,status:`completed`,raw:t}),this.turnClosed=!0),n.length===0?{type:`custom`,rawType:`serverContent`,raw:t}:n.length===1?n[0]:n}serializeClientEvent(e,t){switch(e.type){case`session-update`:return e.config.inputAudioFormat?.rate!=null&&(this.inputAudioRate=e.config.inputAudioFormat.rate),{setup:Cn(e.config,t)};case`input-audio-append`:return{realtimeInput:{audio:{data:e.audio,mimeType:`audio/pcm;rate=${this.inputAudioRate}`}}};case`input-audio-commit`:return{realtimeInput:{audioStreamEnd:!0}};case`input-audio-clear`:case`response-create`:case`response-cancel`:case`conversation-item-truncate`:return null;case`conversation-item-create`:{let t=e.item;switch(t.type){case`text-message`:return{realtimeInput:{text:t.text}};case`function-call-output`:return Sn(t);case`audio-message`:return null}break}}return null}};async function Sn(e){let t=await re({text:e.output}),n=t.success?t.value:{};return{toolResponse:{functionResponses:[{id:e.callId,name:e.name,response:n}]}}}function Cn(e,t){let n={model:Ce(t)},r={};if(e?.outputModalities==null?r.responseModalities=[`AUDIO`]:r.responseModalities=e.outputModalities.map(e=>e.toUpperCase()),e?.voice!=null&&(r.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:e.voice}}}),n.generationConfig=r,e?.instructions!=null&&(n.systemInstruction={parts:[{text:e.instructions}]}),e?.tools!=null&&e.tools.length>0&&(n.tools=[{functionDeclarations:e.tools.map(e=>({name:e.name,description:e.description,parameters:H(e.parameters)}))}]),e?.inputAudioTranscription!=null&&(n.inputAudioTranscription={}),e?.outputAudioTranscription!=null&&(n.outputAudioTranscription={}),e?.providerOptions==null)return n;let{google:i,...a}=e.providerOptions;Object.assign(n,a);let o=bn(i)?i:void 0;return o?.translationConfig!=null&&(n.generationConfig={...bn(n.generationConfig)?n.generationConfig:r,translationConfig:o.translationConfig}),n}var wn=`google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained`;function Tn(e){let t=new URL(e),n=t.pathname.split(`/`),r=n.at(-1);return(r===`v1beta`||r===`v1alpha`)&&(n.pop(),t.pathname=n.join(`/`)||`/`),t}function En(e){let t=Tn(e);return t.pathname=`${t.pathname.replace(/\/$/,``)}/v1alpha/auth_tokens`,t.toString()}function Dn(e){let t=Tn(e);return t.protocol=t.protocol===`https:`?`wss:`:`ws:`,t.pathname=`${t.pathname.replace(/\/$/,``)}/ws/${wn}`,t.toString()}var On=class{constructor(e,t){this.specificationVersion=`v4`,this.mapper=new xn,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t=this.config.fetch??fetch,n=this.config.headers()[`x-goog-api-key`];if(!n)throw Error(`Google Generative AI API key is required for realtime token creation.`);let r=Date.now(),i=(e.expiresAfterSeconds??60)*1e3,a=new Date(r+i).toISOString(),o=new Date(r+i+1800*1e3).toISOString(),s=Cn(e.sessionConfig,this.modelId),c=await t(`${En(this.config.baseURL)}?key=${encodeURIComponent(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({uses:0,expireTime:o,newSessionExpireTime:a,bidiGenerateContentSetup:s})});if(!c.ok){let e=await c.text();throw Error(`Google realtime auth token request failed: ${c.status} ${e}`)}let l=await c.json();return{token:l.name,url:Dn(this.config.baseURL),expiresAt:l.expireTime?Math.floor(new Date(l.expireTime).getTime()/1e3):void 0}}getWebSocketConfig(e){return{url:`${e.url}?access_token=${encodeURIComponent(e.token)}`}}parseServerEvent(e){return this.mapper.parseServerEvent(e)}serializeClientEvent(e){return this.mapper.serializeClientEvent(e,this.modelId)}buildSessionConfig(e){return Cn(e,this.modelId)}};function kn(e={}){let t=ne(e.baseURL)??`https://generativelanguage.googleapis.com/v1beta`,n=e.name??`google.generative-ai`,r=()=>ae({"x-goog-api-key":y({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers},`ai-sdk/google/${ce}`),i=i=>new Fe(i,{provider:n,baseURL:t,headers:r,generateId:e.generateId??j,supportedUrls:()=>({"*":[RegExp(`^${t}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch}),a=i=>new de(i,{provider:n,baseURL:t,headers:r,fetch:e.fetch}),o=(i,a={})=>new it(i,a,{provider:n,baseURL:t,headers:r,fetch:e.fetch}),s=()=>new st({provider:n,baseURL:t,headers:r,fetch:e.fetch}),c=i=>new _t(i,{provider:n,baseURL:t,headers:r,fetch:e.fetch,generateId:e.generateId??j}),l=i=>new On(i,{provider:`${n}.realtime`,baseURL:t,headers:r,fetch:e.fetch}),u=i=>new wt(i,{provider:`${n}.speech`,baseURL:t,headers:r,fetch:e.fetch}),d=Object.assign(e=>l(e),{getToken:async e=>{let t=await l(e.model).doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:t.token,url:t.url,expiresAt:t.expiresAt}}}),f=i=>new yn(i,{provider:`${n}.interactions`,baseURL:t,headers:r,generateId:e.generateId??j,fetch:e.fetch}),p=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return i(e)};return p.specificationVersion=`v4`,p.languageModel=i,p.chat=i,p.generativeAI=i,p.embedding=a,p.embeddingModel=a,p.textEmbedding=a,p.textEmbeddingModel=a,p.image=o,p.imageModel=o,p.video=c,p.videoModel=c,p.experimental_realtime=d,p.files=s,p.speech=u,p.speechModel=u,p.interactions=f,p.tools=nt,p}kn();export{kn as createGoogle,kn as createGoogleGenerativeAI};