@cline/core 0.0.95 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ClineCore.d.ts +6 -1
- package/dist/account/rpc.d.ts +3 -1
- package/dist/cline-core/runtime-services.d.ts +4 -2
- package/dist/cloud/controller.d.ts +5 -2
- package/dist/cloud/hub-client.d.ts +51 -0
- package/dist/cloud/hub-protocol.d.ts +18 -0
- package/dist/cloud/index.d.ts +2 -0
- package/dist/cloud/index.js +16 -16
- package/dist/cloud/types.d.ts +4 -1
- package/dist/extensions/context/compaction-shared.d.ts +1 -0
- package/dist/extensions/context/compaction.d.ts +7 -0
- package/dist/extensions/context/summarize-conversation.d.ts +7 -0
- package/dist/extensions/context/summary-generation.d.ts +14 -0
- package/dist/extensions/mcp/apps.d.ts +16 -0
- package/dist/extensions/mcp/client.d.ts +1 -0
- package/dist/extensions/mcp/index.d.ts +5 -1
- package/dist/extensions/mcp/manager.d.ts +2 -1
- package/dist/extensions/mcp/session-apps.d.ts +28 -0
- package/dist/extensions/mcp/types.d.ts +22 -0
- package/dist/extensions/plugin/plugin-command-origin.d.ts +8 -0
- package/dist/extensions/plugin/plugin-registry.d.ts +1 -0
- package/dist/extensions/plugin/plugin-runtime.d.ts +7 -0
- package/dist/hub/client/index.d.ts +6 -0
- package/dist/hub/client/managed-hub-build-watcher.d.ts +2 -0
- package/dist/hub/client/plugin-commands.d.ts +4 -0
- package/dist/hub/client/session-client.d.ts +2 -0
- package/dist/hub/daemon/entry.js +241 -228
- package/dist/hub/index.d.ts +1 -0
- package/dist/hub/index.js +231 -218
- package/dist/hub/runtime-host/hub-runtime-host.d.ts +6 -0
- package/dist/hub/server/cloud-session-service.d.ts +50 -0
- package/dist/hub/server/handlers/capability-handlers.d.ts +18 -1
- package/dist/hub/server/handlers/context.d.ts +13 -2
- package/dist/hub/server/handlers/mcp-apps-handlers.d.ts +5 -0
- package/dist/hub/server/hub-server-options.d.ts +3 -0
- package/dist/hub/server/hub-server-transport.d.ts +2 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.js +278 -258
- package/dist/plugin-runtime/node_modules/@cline/agents/dist/index.js +76 -0
- package/dist/plugin-runtime/node_modules/@cline/agents/package.json +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/ai-sdk-b1d8eb67.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/anthropic-33qvrctr.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/bedrock-paabhz8w.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/cline-yhsfqcy1.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/cloud/index.js +21 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/community-gqgs7446.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/foundation-models-embedding-model-strategy-SAVQFBF4-822304b0.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/foundation-models-language-model-strategy-BPQO66W7-hky2m2yx.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-bsd-sqf1kd37.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-bsd-tx1kp6xn.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-darwin-6cpgjxme.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-darwin-fxchqbze.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-linux-m3bzwmzc.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-linux-pr9sb5fr.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-unsupported-nckraycx.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-unsupported-w91yq3tm.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-win-xdyxc2tf.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-win-yxsvs11a.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/google-pgdk2dm9.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/hub/daemon/entry.js +1160 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/hub/index.js +1147 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-02jpyn9y.js +85 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-0cb4390m.js +137 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-0f8xrhgt.js +209 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-1f8vb421.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-28c7m0fv.js +16 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-2em3jg4q.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-4n1zpzbe.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-54eea0ex.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-5j92dtg5.js +16 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-6akf3a5d.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-6k6ep10s.js +136 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-71ym4q6s.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-91p1ghfk.js +14 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-9qkpjy7x.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-9swk4nej.js +3 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-aa2s5myc.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ae0ajw38.js +13 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bxvyzjhc.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bzy863k0.js +6 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-d96n0s70.js +20 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-dsd6vt8c.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-e2q4azd9.js +119 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-egd18jj2.js +4 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-eh83hr16.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ev9r2dy3.js +1204 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-f2mvvryf.js +190 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-h7gn5v3f.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-h7s1a560.js +12 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-hkhq3jtz.js +21 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-j8r18nfg.js +15 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-jhny555h.js +6 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-m1gpa2eg.js +146 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-m2ad6tgj.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-m7mks2jq.js +4 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-mcnngj50.js +62 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-n2srkkh0.js +39 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-nbs1tsny.js +142 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-nqjnz7m4.js +9 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-rmhzyxr8.js +3 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-rtzf3vvk.js +6 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-sw74pcm3.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-t3eanyjj.js +3 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-tseksj1v.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v0ctpcdr.js +12 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v4-dx8bd4wq.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v695918t.js +14 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v96yy1pw.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-vfm7r9wk.js +65 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-xecthgrg.js +9 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-xn1xhp06.js +9 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-yfdscfdx.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index-yrnwqsdt.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/jiti-static-3mgy2y9y.js +473 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/jiti-w1xrs0vd.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/langfuse-stream-telemetry-9tppg77c.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/langfuse-telemetry-y658kpzy.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/mistral-cmhqd91b.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/multipart-parser-qkjjf8mm.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/ollama-8z6y9d1h.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/openai-cfmja1ez.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/openai-compatible-1t7n5sxj.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/orchestration-embedding-model-strategy-GT27AFII-k6yqgnyd.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/orchestration-language-model-strategy-YEQPUCOT-6rdyebbq.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/services/feature-flags/posthog.js +2 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/services/telemetry/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/token-1h068py9.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/token-util-7jchft51.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/dist/vertex-qfxfsrn4.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/core/package.json +1 -0
- package/dist/plugin-runtime/node_modules/@cline/llms/dist/index.browser.js +16 -0
- package/dist/plugin-runtime/node_modules/@cline/llms/dist/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/llms/package.json +1 -0
- package/dist/plugin-runtime/node_modules/@cline/sdk/dist/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/sdk/package.json +1 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/automation/index.js +57 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/db/index.js +127 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/index.browser.js +110 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/node.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/remote-config/index.js +68 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/storage/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/dist/types/index.js +1 -0
- package/dist/plugin-runtime/node_modules/@cline/shared/package.json +1 -0
- package/dist/plugin-runtime/package.json +1 -0
- package/dist/{extensions → plugin-runtime}/plugin-sandbox-bootstrap.js +129 -129
- package/dist/remote/remote-environments.d.ts +1 -0
- package/dist/runtime/config/agent-runtime-config-builder.d.ts +2 -0
- package/dist/runtime/host/local-runtime-host.d.ts +10 -0
- package/dist/runtime/host/runtime-host.d.ts +6 -0
- package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +3 -0
- package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +10 -1
- package/dist/runtime/orchestration/session-runtime.d.ts +2 -0
- package/dist/runtime/tools/subprocess-sandbox.d.ts +22 -0
- package/dist/services/llms/cline-recommended-models.d.ts +2 -0
- package/dist/services/local-runtime-bootstrap.d.ts +1 -0
- package/dist/services/plugin-command-api.d.ts +47 -0
- package/dist/services/plugin-commands.d.ts +25 -27
- package/dist/services/skills-cli.d.ts +2 -0
- package/dist/services/telemetry/core-events.d.ts +26 -0
- package/dist/services/telemetry/index.js +1 -1
- package/dist/services/telemetry/run-health.d.ts +40 -0
- package/dist/services/telemetry/stall-signals.d.ts +12 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/session.d.ts +7 -0
- package/package.json +6 -5
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{up}from"./index-bzy863k0.js";import{D,F,be,lt,b,H,Q,I,Oi,xn,Xn,Zn,Te,tt,j,ea,dp,Ct,Kt,Ht,Ai,Me,Se,it,ge,Ae,bl,Ao,wy,to,C,De,Ce,Wr,Po,Ee,ft,en,Mr,Ke,u,l,Pe,yt,k,A,Lr,G,W,ee,$e,oe,qe,E,Br,te,He}from"./index-6k6ep10s.js";import{e,n,r,m,le,o,t,ae,p,d,s,a,Fe}from"./index-mcnngj50.js";var On="4.0.105",zt=()=>t({code:n().nullable(),message:e(),status:e(),details:o(m()).nullish()}),Mn=u(()=>l(t({error:zt()}))),he=oe({errorSchema:Mn,errorToMessage:(i)=>i.error.message}),En=()=>p([t({text:e()}),t({inlineData:t({mimeType:e(),data:e()})}),t({fileData:t({fileUri:e(),mimeType:e()})})]),An=u(()=>l(t({outputDimensionality:n().optional(),taskType:s(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:o(o(En()).min(1).nullable()).optional()}))),Ln=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,c.config)}get provider(){return this.config.provider}constructor(c,g){this.specificationVersion="v4",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this[wy]=({providerOptions:h,values:f,startIndex:y,endIndex:x})=>{let T=h?.google?.content;if(!Array.isArray(T))return h;return xt({multimodalContent:T,values:f}),{...h,google:{...h?.google,content:T.slice(y,x)}}},this.modelId=c,this.config=g}async doEmbed({values:c,dimensions:g,headers:h,abortSignal:f,providerOptions:y}){let x=await k({provider:"google",providerOptions:y,schema:An});if(c.length>this.maxEmbeddingsPerCall)throw new lt({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:c});let T=I(this.config.headers?await W(this.config.headers):void 0,h),v=x?.content;if(xt({multimodalContent:v,values:c}),c.length===1){let q=v?.[0],U=c[0]?[{text:c[0]}]:[],P=q!=null?[...U,...q]:[{text:c[0]}],{responseHeaders:B,value:K,rawValue:M}=await A({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:T,body:{model:`models/${this.modelId}`,content:{parts:P},outputDimensionality:x?.outputDimensionality??g,taskType:x?.taskType},failedResponseHandler:he,successfulResponseHandler:E(Un),abortSignal:f,fetch:this.config.fetch});return{warnings:[],embeddings:[K.embedding.values],usage:void 0,response:{headers:B,body:M}}}let{responseHeaders:O,value:R,rawValue:N}=await A({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:T,body:{requests:c.map((q,U)=>{let P=v?.[U],B=q?[{text:q}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:P!=null?[...B,...P]:[{text:q}]},outputDimensionality:x?.outputDimensionality??g,taskType:x?.taskType}})},failedResponseHandler:he,successfulResponseHandler:E(jn),abortSignal:f,fetch:this.config.fetch});return{warnings:[],embeddings:R.embeddings.map((q)=>q.values),usage:void 0,response:{headers:O,body:N}}}},jn=u(()=>l(t({embeddings:o(t({values:o(n())}))}))),Un=u(()=>l(t({embedding:t({values:o(n())})})));function xt({multimodalContent:i,values:c}){if(i!=null&&i.length!==c.length)throw Error(`The number of multimodal content entries (${i.length}) must match the number of values (${c.length}).`)}function ze(i){return i.includes("/")?i:`models/${i}`}function Nn({stream:i,getContinuationToken:c,continueStream:g}){let h=i.getReader(),f;return new ReadableStream({async pull(y){while(!0){let{done:x,value:T}=await h.read();if(!x){if(T.success){let O=c(T.value);if(O!=null)f=O}y.enqueue(T);return}if(f==null){y.close();return}let v=f;f=void 0;try{h=(await g(v)).getReader(),y.enqueue({type:"continuation-start"});return}catch(O){y.enqueue({success:!1,error:O,rawValue:void 0}),y.close();return}}},async cancel(y){await h.cancel(y)}})}function Rt(i){if(i==null)return Ct();let c=i.promptTokenCount??0,g=i.candidatesTokenCount??0,h=i.toolUsePromptTokenCount??0,f=i.cachedContentTokenCount??0,y=i.thoughtsTokenCount??0,x=c+h;return{inputTokens:{total:x,noCache:x-f,cacheRead:f,cacheWrite:void 0},outputTokens:{total:g+y,text:g,reasoning:y},raw:i}}function dt(i,c){if(i==null||c==null)return c??i;return{...i,...c,promptTokenCount:Ve(i.promptTokenCount,c.promptTokenCount),candidatesTokenCount:Ve(i.candidatesTokenCount,c.candidatesTokenCount),toolUsePromptTokenCount:Ve(i.toolUsePromptTokenCount,c.toolUsePromptTokenCount),totalTokenCount:Ve(i.totalTokenCount,c.totalTokenCount),cachedContentTokenCount:Ve(i.cachedContentTokenCount,c.cachedContentTokenCount),thoughtsTokenCount:Ve(i.thoughtsTokenCount,c.thoughtsTokenCount),promptTokensDetails:et(i.promptTokensDetails,c.promptTokensDetails),cacheTokensDetails:et(i.cacheTokensDetails,c.cacheTokensDetails),candidatesTokensDetails:et(i.candidatesTokensDetails,c.candidatesTokensDetails),toolUsePromptTokensDetails:et(i.toolUsePromptTokensDetails,c.toolUsePromptTokensDetails)}}function Ve(i,c){return i==null&&c==null?c??i:(i??0)+(c??0)}function et(i,c){if(i==null||c==null)return c??i;let g=new Map;for(let{modality:h,tokenCount:f}of[...i,...c])g.set(h,(g.get(h)??0)+f);return Array.from(g,([h,f])=>({modality:h,tokenCount:f}))}var Jt=t({language:e().describe("The programming language of the code."),code:e().describe("The code to be executed.")}),Yt=t({outcome:e().describe('The outcome of the execution (e.g., "OUTCOME_OK").'),output:e().describe("The output from the code execution.")}),Gn=G({id:"google.code_execution",inputSchema:Jt,outputSchema:Yt}),Dn="skip_thought_signature_validator",Pn=/^data:([^;,]+);base64,(.+)$/s;function qn(i){let c=Pn.exec(i);if(c==null)return;return{mediaType:c[1],data:c[2]}}function $n(i){let c=qn(i);if(c==null)return;return{inlineData:{mimeType:c.mediaType,data:c.data}}}function ht(i){if(Array.isArray(i))return i.some(ht);if(typeof i!=="object"||i===null)return!1;return Object.entries(i).some(([c,g])=>c==="$ref"||ht(g))}function Ot(i){return ht(i)?JSON.stringify(i):i}function Fn(i,c,g,h,f=!0,y={}){let x=[],T=[];for(let v of g)switch(v.type){case"text":T.push(v.text);break;case"file":if(v.data.type==="data")x.push({inlineData:{mimeType:ee({part:v}),data:j(v.data.data)}});else if(v.data.type==="url"){let O=v.data.url.toString(),R=$n(O),N=v.data.url.protocol==="gs:"&&v.data.originalUrl!=null?v.data.originalUrl:O;if(R!=null)x.push(R);else if(Ae(v.mediaType)&&Wr({url:N,mediaType:v.mediaType,supportedUrls:y}))x.push({fileData:{mimeType:v.mediaType,fileUri:N}});else T.push(JSON.stringify(v))}else T.push(JSON.stringify(v));break;default:T.push(JSON.stringify(v))}i.push({functionResponse:{...f&&h!=null?{id:h}:{},name:c,response:{name:c,content:T.length>0?T.join(`
|
|
2
|
+
`):"Tool executed successfully."},...x.length>0?{parts:x}:{}}})}function Bn(i,c,g,h,f=!0){for(let y of g)switch(y.type){case"text":i.push({functionResponse:{...f&&h!=null?{id:h}:{},name:c,response:{name:c,content:y.text}}});break;case"file":if(y.data.type==="data"){let x=ge(y.mediaType);i.push({inlineData:{mimeType:ee({part:y}),data:j(y.data.data)}},{text:`Tool executed successfully and returned this ${x==="image"?"image":"file"} as a response`})}else i.push({text:JSON.stringify(y)});break;default:i.push({text:JSON.stringify(y)})}}function Hn(i,c){let g=[],h=[],f=!0,y=c?.isGemmaModel??!1,x=c?.isGemini3Model??!1,T=c?.onWarning,v=c?.providerOptionsNames??["google"],O=!v.includes("google"),R=c?.supportsFunctionResponseParts??!0,N=c?.includeFunctionCallIds??!0,q=c?.supportedFunctionResponseUrls??{},U=!1,P=[],B=(M)=>(P.push(M),U=!0,Dn),K=(M)=>{for(let w of v){let L=M.providerOptions?.[w];if(L!=null)return L}if(O)return M.providerOptions?.google;return M.providerOptions?.googleVertex??M.providerOptions?.vertex};for(let{role:M,content:w}of i)switch(M){case"system":if(!f)throw new b({functionality:"system messages are only supported at the beginning of the conversation"});g.push({text:w});break;case"user":{f=!1;let L=[];for(let _ of w)switch(_.type){case"text":L.push({text:_.text});break;case"file":switch(_.data.type){case"url":L.push({fileData:{mimeType:ee({part:_}),fileUri:_.data.url.protocol==="gs:"&&_.data.originalUrl!=null?_.data.originalUrl:_.data.url.toString()}});break;case"reference":if(O)throw new b({functionality:"file parts with provider references"});L.push({fileData:{mimeType:ee({part:_}),fileUri:$e({reference:_.data.reference,provider:"google"})}});break;case"text":L.push({inlineData:{mimeType:Ae(_.mediaType)?_.mediaType:"text/plain",data:j(new TextEncoder().encode(_.data.text))}});break;case"data":L.push({inlineData:{mimeType:ee({part:_}),data:j(_.data.data)}})}}h.push({role:"user",parts:L});break}case"assistant":{f=!1;let L=!1;h.push({role:"model",parts:w.map((_)=>{let S=K(_),V=S?.thoughtSignature!=null?String(S.thoughtSignature):void 0;switch(_.type){case"text":return _.text.length===0?void 0:{text:_.text,thoughtSignature:V};case"reasoning":return _.text.length===0?void 0:{text:_.text,thought:!0,thoughtSignature:V};case"reasoning-file":switch(_.data.type){case"url":throw new b({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:_.mediaType,data:j(_.data.data)},thought:!0,thoughtSignature:V}}break;case"file":switch(_.data.type){case"url":throw new b({functionality:"File data URLs in assistant messages are not supported"});case"reference":if(O)throw new b({functionality:"file parts with provider references"});return{fileData:{mimeType:_.mediaType,fileUri:$e({reference:_.data.reference,provider:"google"})},...S?.thought===!0?{thought:!0}:{},thoughtSignature:V};case"text":return{inlineData:{mimeType:Ae(_.mediaType)?_.mediaType:"text/plain",data:j(new TextEncoder().encode(_.data.text))},...S?.thought===!0?{thought:!0}:{},thoughtSignature:V};case"data":return{inlineData:{mimeType:_.mediaType,data:j(_.data.data)},...S?.thought===!0?{thought:!0}:{},thoughtSignature:V}}break;case"tool-call":{if(_.providerExecuted===!0&&_.toolName==="code_execution")return{executableCode:Jt.parse(typeof _.input==="string"?Ke(_.input):_.input)};let J=S?.serverToolCallId!=null?String(S.serverToolCallId):void 0,X=S?.serverToolType!=null?String(S.serverToolType):void 0,re=J!=null&&X!=null,ye=V??(x&&!(!re&&V==null&&L)?B(_.toolName):void 0);if(!re&&V!=null)L=!0;if(re)return{toolCall:{toolType:X,args:typeof _.input==="string"?Ke(_.input):_.input,id:J},thoughtSignature:ye};return{functionCall:{...N&&_.toolCallId!=null?{id:_.toolCallId}:{},name:_.toolName,args:_.input},thoughtSignature:ye}}case"tool-result":{if(_.toolName==="code_execution"&&_.output.type==="json")return{codeExecutionResult:Yt.parse(_.output.value)};let J=S?.serverToolCallId!=null?String(S.serverToolCallId):void 0,X=S?.serverToolType!=null?String(S.serverToolType):void 0;if(J&&X)return{toolResponse:{toolType:X,response:_.output.type==="json"?_.output.value:{},id:J},thoughtSignature:V};return}}}).filter((_)=>_!==void 0)});break}case"tool":{f=!1;let L=[];for(let _ of w){if(_.type==="tool-approval-response")continue;let S=K(_),V=S?.serverToolCallId!=null?String(S.serverToolCallId):void 0,J=S?.serverToolType!=null?String(S.serverToolType):void 0;if(V&&J){let re=S?.thoughtSignature!=null?String(S.thoughtSignature):void 0;if(h.length>0){let ye=h[h.length-1];if(ye.role==="model"){ye.parts.push({toolResponse:{toolType:J,response:_.output.type==="json"?_.output.value:{},id:V},thoughtSignature:re});continue}}}let X=_.output;if(X.type==="content")if(R)Fn(L,_.toolName,X.value,_.toolCallId,N,q);else Bn(L,_.toolName,X.value,_.toolCallId,N);else{let re=X.type==="error-text"||X.type==="error-json"||X.type==="execution-denied";L.push({functionResponse:{...N&&_.toolCallId!=null?{id:_.toolCallId}:{},name:_.toolName,response:{name:_.toolName,...re?{error:X.type==="execution-denied"?X.reason??"Tool call execution denied.":Ot(X.value)}:{content:Ot(X.value)}}}})}}h.push({role:"user",parts:L});break}}if(y&&g.length>0&&h.length>0&&h[0].role==="user"){let M=g.map((w)=>w.text).join(`
|
|
3
|
+
|
|
4
|
+
`);h[0].parts.unshift({text:M+`
|
|
5
|
+
|
|
6
|
+
`})}if(U&&T!=null){let M=Array.from(new Set(P));T({type:"other",message:`Replayed ${P.length} \`functionCall\` part(s) for a Gemini 3 model without a \`thoughtSignature\` (tools: ${M.map((w)=>`\`${w}\``).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:g.length>0&&!y?{parts:g}:void 0,contents:h}}async function Vn(i,{abortSignal:c,maxBytes:g,supportedUrls:h={}}){let f=[];for(let y of i){if(y.role==="assistant"){let x=[];for(let T of y.content)x.push(T.type==="tool-result"?{...T,output:await Mt(T.output,{abortSignal:c,maxBytes:g,supportedUrls:h})}:T);f.push({...y,content:x});continue}if(y.role==="tool"){let x=[];for(let T of y.content){if(T.type!=="tool-result"){x.push(T);continue}x.push({...T,output:await Mt(T.output,{abortSignal:c,maxBytes:g,supportedUrls:h})})}f.push({...y,content:x});continue}f.push(y)}return f}async function Mt(i,{abortSignal:c,maxBytes:g,supportedUrls:h}){if(i.type!=="content")return i;let f=[];for(let y of i.value){if(y.type!=="file"||y.data.type!=="url"){f.push(y);continue}if(Wr({url:y.data.url.toString(),mediaType:y.mediaType,supportedUrls:h})){f.push(y);continue}let x=await Ao(y.data.url.toString(),{abortSignal:c,maxBytes:g}),T=new Uint8Array(await x.arrayBuffer()),v=it({data:T,topLevelType:"image"});f.push({...y,data:{type:"data",data:T},mediaType:v??(x.type&&!Ae(y.mediaType)?x.type:y.mediaType)})}return{...i,value:f}}function Xt(i){let{const:c,properties:g,items:h,additionalProperties:f,anyOf:y,oneOf:x,...T}=i;return{...T,...c!==void 0?{enum:[c]}:{},...g!=null?{properties:Et(g)}:{},...h!=null?{items:Array.isArray(h)?h.map(We):We(h)}:{},...f!=null?{additionalProperties:typeof f==="boolean"?f:We(f)}:{},...y!=null?{anyOf:y.map(We)}:{},...x!=null?{oneOf:x.map(We)}:{},...T.$defs!=null?{$defs:Et(T.$defs)}:{}}}function Et(i){return Object.fromEntries(Object.entries(i).map(([c,g])=>[c,We(g)]))}function We(i){return typeof i==="boolean"?i:Xt(i)}var rt=u(()=>l(t({responseModalities:o(s(["TEXT","IMAGE","AUDIO"])).optional(),thinkingConfig:t({thinkingBudget:n().optional(),includeThoughts:r().optional(),thinkingLevel:s(["minimal","low","medium","high"]).optional()}).optional(),cachedContent:e().optional(),structuredOutputs:r().optional(),safetySettings:o(t({category:s(["HARM_CATEGORY_UNSPECIFIED","HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT","HARM_CATEGORY_CIVIC_INTEGRITY"]),threshold:s(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"])})).optional(),threshold:s(["HARM_BLOCK_THRESHOLD_UNSPECIFIED","BLOCK_LOW_AND_ABOVE","BLOCK_MEDIUM_AND_ABOVE","BLOCK_ONLY_HIGH","BLOCK_NONE","OFF"]).optional(),audioTimestamp:r().optional(),labels:d(e(),e()).optional(),mediaResolution:s(["MEDIA_RESOLUTION_UNSPECIFIED","MEDIA_RESOLUTION_LOW","MEDIA_RESOLUTION_MEDIUM","MEDIA_RESOLUTION_HIGH"]).optional(),imageConfig:t({aspectRatio:s(["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:s(["1K","2K","4K","512"]).optional(),personGeneration:s(["PERSON_GENERATION_UNSPECIFIED","ALLOW_ALL","ALLOW_ADULT","ALLOW_NONE"]).optional(),prominentPeople:s(["PROMINENT_PEOPLE_UNSPECIFIED","ALLOW_PROMINENT_PEOPLE","BLOCK_PROMINENT_PEOPLE"]).optional(),imageOutputOptions:t({mimeType:s(["image/jpeg","image/png"]).optional(),compressionQuality:n().optional()}).optional()}).optional(),retrievalConfig:t({latLng:t({latitude:n(),longitude:n()}).optional()}).optional(),streamFunctionCallArguments:r().optional(),serviceTier:s(["standard","flex","priority"]).optional(),continuationToken:e().optional(),sharedRequestType:s(["priority","flex","standard"]).optional(),requestType:s(["shared"]).optional()}))),Wn=/(^|[/.])gemini-1(?:[.-]|$)/i,Kn=/(^|[/.])gemini-2(?:[.-]|$)/i,zn=/(^|[/.])gemini-2\.5(?:[.-]|$)/i,Jn=/(^|[/.])gemini-/i;function Yn(i){return Wn.test(i)||/(^|[/.])gemini-pro(?:-vision)?$/i.test(i)||/(^|[/.])gemini-robotics-er-1\.5(?:[.-]|$)/i.test(i)}function ut(i){let c=Jn.test(i),g=Kn.test(i),h=Yn(i),f=c&&!(h||g);return{supportsGemini2Tools:c&&!h||i.toLowerCase().includes("nano-banana"),supportsFileSearch:zn.test(i)||f,usesGemini3Features:f}}function Qn({tools:i,toolChoice:c,modelId:g,isVertexProvider:h=!1}){i=i?.length?i:void 0;let f=[],{supportsGemini2Tools:y,supportsFileSearch:x,usesGemini3Features:T}=ut(g);if(i==null)return{tools:void 0,toolConfig:void 0,toolWarnings:f};let v=i.some((U)=>U.type==="function"),O=i.some((U)=>U.type==="provider");if(v&&O&&!T)f.push({type:"unsupported",feature:"combination of function and provider-defined tools"});if(O){let U=[];if(i.filter((P)=>P.type==="provider").forEach((P)=>{switch(P.id){case"google.google_search":if(y)U.push({googleSearch:{...P.args}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"Google Search requires Gemini 2.0 or newer."});break;case"google.enterprise_web_search":if(y)U.push({enterpriseWebSearch:{}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"Enterprise Web Search requires Gemini 2.0 or newer."});break;case"google.url_context":if(y)U.push({urlContext:{}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"The URL context tool is not supported with other Gemini models than Gemini 2."});break;case"google.code_execution":if(y)U.push({codeExecution:{}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"The code execution tool is not supported with other Gemini models than Gemini 2."});break;case"google.file_search":if(x)U.push({fileSearch:{...P.args}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"The file search tool is only supported with Gemini 2.5 models and Gemini 3 models."});break;case"google.vertex_rag_store":if(y)U.push({retrieval:{vertex_rag_store:{rag_resources:{rag_corpus:P.args.ragCorpus},similarity_top_k:P.args.topK}}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"The RAG store tool is not supported with other Gemini models than Gemini 2."});break;case"google.google_maps":if(y)U.push({googleMaps:{}});else f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`,details:"The Google Maps grounding tool is not supported with Gemini models other than Gemini 2 or newer."});break;default:f.push({type:"unsupported",feature:`provider-defined tool ${P.id}`})}}),v&&T&&U.length>0){let P=[];for(let K of i)if(K.type==="function")P.push(At(K));let B={functionCallingConfig:{mode:"VALIDATED"},...!h&&{includeServerSideToolInvocations:!0}};if(c!=null)switch(c.type){case"auto":break;case"none":B.functionCallingConfig={mode:"NONE"};break;case"required":B.functionCallingConfig={mode:"ANY"};break;case"tool":B.functionCallingConfig={mode:"ANY",allowedFunctionNames:[c.toolName]}}return{tools:[...U,{functionDeclarations:P}],toolConfig:B,toolWarnings:f}}return{tools:U.length>0?U:void 0,toolConfig:void 0,toolWarnings:f}}let R=[],N=!1;for(let U of i)switch(U.type){case"function":if(R.push(At(U)),U.strict===!0)N=!0;break;default:f.push({type:"unsupported",feature:`function tool ${U.name}`})}if(c==null)return{tools:[{functionDeclarations:R}],toolConfig:N?{functionCallingConfig:{mode:"VALIDATED"}}:void 0,toolWarnings:f};let q=c.type;switch(q){case"auto":return{tools:[{functionDeclarations:R}],toolConfig:{functionCallingConfig:{mode:N?"VALIDATED":"AUTO"}},toolWarnings:f};case"none":return{tools:[{functionDeclarations:R}],toolConfig:{functionCallingConfig:{mode:"NONE"}},toolWarnings:f};case"required":return{tools:[{functionDeclarations:R}],toolConfig:{functionCallingConfig:{mode:"ANY"}},toolWarnings:f};case"tool":return{tools:[{functionDeclarations:R}],toolConfig:{functionCallingConfig:{mode:"ANY",allowedFunctionNames:[c.toolName]}},toolWarnings:f};default:throw new b({functionality:`tool choice type: ${q}`})}}function At(i){return{name:i.name,description:i.description??"",parametersJsonSchema:i.inputSchema}}var eo=class{constructor(){this.accumulatedArgs={},this.jsonText="",this.pathStack=[],this.stringOpen=!1}processPartialArgs(i){let c="";for(let g of i){let h=g.jsonPath.endsWith("[]"),f=(h?g.jsonPath.slice(0,-2):g.jsonPath).replace(/^\$\./,"");if(!f||f==="$")continue;let y=no(f),x=io(this.accumulatedArgs,y);if(g.stringValue!=null&&x!==void 0){let v=JSON.stringify(g.stringValue).slice(1,-1);pt(this.accumulatedArgs,y,x+g.stringValue),c+=v;continue}let T=so(g);if(T==null){if(x!==void 0||g.willContinue===!0)continue;pt(this.accumulatedArgs,y,h?[]:{}),c+=this.emitContainer(y,h);continue}pt(this.accumulatedArgs,y,T.value),c+=this.emitNavigationTo(y,g,T.json)}return this.jsonText+=c,{currentJSON:this.accumulatedArgs,textDelta:c}}finalize(){let i=JSON.stringify(this.accumulatedArgs);return{finalJSON:i,closingDelta:i.slice(this.jsonText.length)}}ensureRoot(){if(this.pathStack.length===0)return this.pathStack.push({segment:"",isArray:!1,childCount:0}),"{";return""}emitNavigationTo(i,c,g){let h="";if(this.stringOpen)h+='"',this.stringOpen=!1;h+=this.ensureRoot();let f=i.slice(0,-1),y=i[i.length-1],x=this.findCommonStackDepth(f);return h+=this.closeDownTo(x),h+=this.openDownTo(f,y),h+=this.emitLeaf(y,c,g),h}emitContainer(i,c){let g="";if(this.stringOpen)g+='"',this.stringOpen=!1;g+=this.ensureRoot();let h=this.findCommonStackDepth(i);return g+=this.closeDownTo(h),g+=this.openDownTo(i,c?0:""),g}findCommonStackDepth(i){let c=Math.min(this.pathStack.length-1,i.length),g=0;for(let h=0;h<c;h++)if(this.pathStack[h+1].segment===i[h])g++;else break;return g+1}closeDownTo(i){let c="";while(this.pathStack.length>i){let g=this.pathStack.pop();c+=g.isArray?"]":"}"}return c}openDownTo(i,c){let g="",h=this.pathStack.length-1;for(let f=h;f<i.length;f++){let y=i[f],x=this.pathStack[this.pathStack.length-1];if(x.childCount>0)g+=",";if(x.childCount++,typeof y==="string")g+=`${JSON.stringify(y)}:`;let T=typeof(f+1<i.length?i[f+1]:c)==="number";g+=T?"[":"{",this.pathStack.push({segment:y,isArray:T,childCount:0})}return g}emitLeaf(i,c,g){let h="",f=this.pathStack[this.pathStack.length-1];if(f.childCount>0)h+=",";if(f.childCount++,typeof i==="string")h+=`${JSON.stringify(i)}:`;if(c.stringValue!=null&&c.willContinue)h+=g.slice(0,-1),this.stringOpen=!0;else h+=g;return h}};function no(i){let c=[];for(let g of i.split(".")){let h=g.indexOf("[");if(h===-1)c.push(g);else{if(h>0)c.push(g.slice(0,h));for(let f of g.matchAll(/\[(\d+)\]/g))c.push(parseInt(f[1],10))}}return c}var oo=Object.prototype.hasOwnProperty;function Qt(i,c){return oo.call(i,c)}function Lt(i,c,g){Object.defineProperty(i,c,{value:g,enumerable:!0,configurable:!0,writable:!0})}function io(i,c){let g=i;for(let h of c){if(g==null||typeof g!=="object")return;let f=g;if(!Qt(f,h))return;g=f[h]}return g}function pt(i,c,g){let h=i;for(let f=0;f<c.length-1;f++){let y=c[f],x=c[f+1];if(!Qt(h,y)||h[y]==null)Lt(h,y,typeof x==="number"?[]:{});h=h[y]}Lt(h,c[c.length-1],g)}function so(i){let c=i.stringValue??i.numberValue??i.boolValue;if(c!=null)return{value:c,json:JSON.stringify(c)};if("nullValue"in i)return{value:null,json:"null"}}function jt({finishReason:i,hasToolCalls:c}){switch(i){case"STOP":return c?"tool-calls":"stop";case"MAX_TOKENS":case"CONTINUATION":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 ao=["HARM_CATEGORY_HATE_SPEECH","HARM_CATEGORY_DANGEROUS_CONTENT","HARM_CATEGORY_HARASSMENT","HARM_CATEGORY_SEXUALLY_EXPLICIT"],ro=/(^|[/.])gemini-2\.5(?:[.-]|$)/i,lo={"image/png":[/^gs:\/\/.*$/],"image/jpeg":[/^gs:\/\/.*$/],"image/webp":[/^gs:\/\/.*$/],"application/pdf":[/^gs:\/\/.*$/],"text/plain":[/^gs:\/\/.*$/]},Ye=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,c.config)}constructor(c,g){this.specificationVersion="v4",this.modelId=c,this.config=g,this.generateId=g.generateId??C}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:c,config:g,options:{prompt:h,maxOutputTokens:f,temperature:y,topP:x,topK:T,frequencyPenalty:v,presencePenalty:O,stopSequences:R,responseFormat:N,seed:q,tools:U,toolChoice:P,reasoning:B,providerOptions:K,abortSignal:M},isStreaming:w=!1}){let L=[],_=g.provider.includes("vertex")?["googleVertex","vertex"]:["google"],S;for(let we of _)if(S=await k({provider:we,providerOptions:K,schema:rt}),S!=null)break;if(S==null&&!_.includes("google"))S=await k({provider:"google",providerOptions:K,schema:rt});let V=g.provider.startsWith("google.vertex.");if(U?.some((we)=>we.type==="provider"&&we.id==="google.vertex_rag_store")&&!V)L.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 (${g.provider}).`});if(S?.streamFunctionCallArguments&&!V)L.push({type:"other",message:`'streamFunctionCallArguments' is only supported on the Vertex AI API and will be ignored with the current Google provider (${g.provider}). See https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling#streaming-fc`});if(S?.serviceTier&&V)L.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"});if((S?.sharedRequestType||S?.requestType)&&!V)L.push({type:"other",message:`'sharedRequestType' and 'requestType' are Vertex AI options and are ignored with the current Google provider (${g.provider}).`});let J=V&&(S?.sharedRequestType||S?.requestType)?{...S.sharedRequestType&&{"X-Vertex-AI-LLM-Shared-Request-Type":S.sharedRequestType},...S.requestType&&{"X-Vertex-AI-LLM-Request-Type":S.requestType}}:void 0,X=V?void 0:S?.serviceTier,re=S?.imageConfig;if(re!=null&&!V){let{personGeneration:we,prominentPeople:_e,imageOutputOptions:Xe,...Qe}=re,pe=Object.entries({personGeneration:we,prominentPeople:_e,imageOutputOptions:Xe}).filter(([,z])=>z!=null).map(([z])=>`'imageConfig.${z}'`);if(pe.length>0)L.push({type:"other",message:`${pe.join(", ")} ${pe.length===1?"is a Vertex AI option and is":"are Vertex AI options and are"} ignored with the current Google provider (${g.provider}).`}),re=Qe}let ye=c.toLowerCase().startsWith("gemma-"),ue=!V&&ro.test(c);if(ue&&v!=null)L.push({type:"unsupported",feature:"frequencyPenalty"});if(ue&&O!=null)L.push({type:"unsupported",feature:"presencePenalty"});let{usesGemini3Features:me}=ut(c),Le=me&&g.downloadToolResultFiles?.supportsGoogleCloudStorageUrls?lo:void 0,{contents:ce,systemInstruction:ve}=Hn(g.downloadToolResultFiles?await Vn(h,{abortSignal:M,maxBytes:g.downloadToolResultFiles.maxBytes,supportedUrls:Le}):h,{isGemmaModel:ye,isGemini3Model:me,onWarning:(we)=>L.push(we),providerOptionsNames:_,supportsFunctionResponseParts:me,includeFunctionCallIds:!V,supportedFunctionResponseUrls:Le}),{tools:se,toolConfig:Ie,toolWarnings:ke}=Qn({tools:U,toolChoice:P,modelId:c,isVertexProvider:V}),Oe=Kt({tools:U,providerToolNames:{"google.code_execution":"code_execution"}}),ne=S?.thinkingConfig?.thinkingBudget!=null||S?.thinkingConfig?.thinkingLevel!=null?void 0:po({reasoning:B,modelId:c,warnings:L}),fe=S?.thinkingConfig||ne?{...ne,...S?.thinkingConfig}:void 0,de=w&&V?S?.streamFunctionCallArguments??!1:void 0,ie=S?.threshold,Y=S?.safetySettings??(ie!=null?ao.map((we)=>({category:we,threshold:ie})):void 0),xe=Ie||de||S?.retrievalConfig?{...Ie,...de&&{functionCallingConfig:{...Ie?.functionCallingConfig,streamFunctionCallArguments:!0}},...S?.retrievalConfig&&{retrievalConfig:S.retrievalConfig}}:void 0;return{args:{generationConfig:{maxOutputTokens:f,temperature:y,topK:T,topP:x,frequencyPenalty:ue?void 0:v,presencePenalty:ue?void 0:O,stopSequences:R,seed:q,responseMimeType:N?.type==="json"?"application/json":void 0,responseJsonSchema:N?.type==="json"&&N.schema!=null&&(S?.structuredOutputs??!0)?Xt(N.schema):void 0,...S?.audioTimestamp&&{audioTimestamp:S.audioTimestamp},responseModalities:S?.responseModalities,thinkingConfig:fe,...S?.mediaResolution&&{mediaResolution:S.mediaResolution},...re&&{imageConfig:re}},contents:ce,systemInstruction:ye?void 0:ve,safetySettings:Y,tools:se,toolConfig:xe,cachedContent:S?.cachedContent,labels:S?.labels,serviceTier:X,...S?.continuationToken!=null&&{continuationToken:S.continuationToken}},warnings:[...L,...ke],providerOptionsNames:_,extraHeaders:J,toolNameMapping:Oe}}async getArgs(c,{isStreaming:g=!1}={}){let{responseFormat:h,tools:f,toolChoice:y}=c,x;if(h?.type==="json"&&h.schema!=null&&f?.some((T)=>T.type==="function")&&/(^|\/)gemini-/i.test(this.modelId)&&(!ut(this.modelId).usesGemini3Features||y?.type==="required"||y?.type==="tool")){let T="json";for(let v=1;f.some((O)=>O.name===T);v++)T=`json_${v}`;x={type:"function",name:T,description:h.description??"Respond with a JSON object.",inputSchema:h.schema}}return{...await i.prepareRequest({modelId:this.modelId,config:this.config,options:x==null?c:{...c,responseFormat:void 0,tools:[...f??[],x],toolChoice:y?.type==="tool"?y:y?.type==="none"?{type:"tool",toolName:x.name}:{type:"required"}},isStreaming:g}),jsonResponseToolName:x?.name}}static convertGenerateContentResponse({config:c,response:g,warnings:h,providerOptionsNames:f,toolNameMapping:y,jsonResponseToolName:x,initialPromptTokenCount:T,groundingMetadataPerRequest:v}){let O=(S)=>Object.fromEntries(f.map((V)=>[V,S])),R=g.candidates?.[0],N=g.promptFeedback?.blockReason,q=Nt(N)?N:void 0,U=R?.finishReason==null&&q!=null,P=R?.finishReason??q,B=[],K=R?.content?.parts??[],M=g.usageMetadata,w,L;for(let S of K)if("executableCode"in S&&S.executableCode?.code){let V=c.generateId();w=V,B.push({type:"tool-call",toolCallId:V,toolName:y?.toCustomToolName("code_execution")??"code_execution",input:JSON.stringify(S.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in S&&S.codeExecutionResult)B.push({type:"tool-result",toolCallId:w,toolName:y?.toCustomToolName("code_execution")??"code_execution",result:{outcome:S.codeExecutionResult.outcome,output:S.codeExecutionResult.output??""}});else if("text"in S&&S.text!=null){if(x!=null&&S.thought!==!0)continue;let V=S.thoughtSignature?O({thoughtSignature:S.thoughtSignature}):void 0;if(S.text.length===0){if(V!=null&&B.length>0){let J=B[B.length-1];J.providerMetadata=V}}else B.push({type:S.thought===!0?"reasoning":"text",text:S.text,providerMetadata:V})}else if("functionCall"in S&&S.functionCall.name!=null){if(S.functionCall.name===x){B.push({type:"text",text:typeof S.functionCall.args==="string"?S.functionCall.args:JSON.stringify(S.functionCall.args??{}),...S.thoughtSignature?{providerMetadata:O({thoughtSignature:S.thoughtSignature})}:{}});continue}B.push({type:"tool-call",toolCallId:S.functionCall.id||c.generateId(),toolName:S.functionCall.name,input:JSON.stringify(S.functionCall.args??{}),providerMetadata:S.thoughtSignature?O({thoughtSignature:S.thoughtSignature}):void 0})}else if("inlineData"in S){let V=S.thought===!0,J=!!S.thoughtSignature;B.push({type:V?"reasoning-file":"file",data:{type:"data",data:S.inlineData.data},mediaType:S.inlineData.mimeType,providerMetadata:J?O({thoughtSignature:S.thoughtSignature}):void 0})}else if("toolCall"in S&&S.toolCall){let V=S.toolCall.id||c.generateId();L=V,B.push({type:"tool-call",toolCallId:V,toolName:`server:${S.toolCall.toolType}`,input:JSON.stringify(S.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:S.thoughtSignature?O({thoughtSignature:S.thoughtSignature,serverToolCallId:V,serverToolType:S.toolCall.toolType}):O({serverToolCallId:V,serverToolType:S.toolCall.toolType})})}else if("toolResponse"in S&&S.toolResponse){let V=L||S.toolResponse.id||c.generateId();B.push({type:"tool-result",toolCallId:V,toolName:`server:${S.toolResponse.toolType}`,result:S.toolResponse.response??{},providerMetadata:S.thoughtSignature?O({thoughtSignature:S.thoughtSignature,serverToolCallId:V,serverToolType:S.toolResponse.toolType}):O({serverToolCallId:V,serverToolType:S.toolResponse.toolType})}),L=void 0}let _=Ut({groundingMetadata:R?.groundingMetadata,generateId:c.generateId})??[];for(let S of _)B.push(S);return{content:B,finishReason:{unified:U?"content-filter":jt({finishReason:P,hasToolCalls:B.some((S)=>S.type==="tool-call"&&!S.providerExecuted)}),raw:P},usage:Rt(M),warnings:h,providerMetadata:O({promptFeedback:g.promptFeedback??null,groundingMetadata:R?.groundingMetadata??null,...v!=null?{groundingMetadataPerRequest:v}:{},urlContextMetadata:R?.urlContextMetadata??null,safetyRatings:R?.safetyRatings??null,usageMetadata:M??null,finishMessage:R?.finishMessage??null,serviceTier:M?.serviceTier??null,...R?.continuationToken!=null?{continuationToken:R.continuationToken}:{},...T!=null?{initialPromptTokenCount:T}:{}}),response:{id:g.responseId??void 0}}}async doGenerate(c){let{args:g,warnings:h,providerOptionsNames:f,extraHeaders:y,toolNameMapping:x,jsonResponseToolName:T}=await this.getArgs(c),v=I(this.config.headers?await W(this.config.headers):void 0,c.headers,y),O=(_)=>A({url:`${this.config.baseURL}/${ze(this.modelId)}:generateContent`,headers:v,body:_,failedResponseHandler:he,successfulResponseHandler:E(sn),abortSignal:c.abortSignal,fetch:this.config.fetch}),{responseHeaders:R,value:N,rawValue:q}=await O(g),U=[],P=[],B,K=N.usageMetadata?.promptTokenCount,M=!1;while(!0){let _=N.candidates?.[0];P.push(_?.groundingMetadata??null);let S=_?.finishReason==="CONTINUATION"?_.continuationToken:void 0;if(B=dt(B,N.usageMetadata??void 0),S==null)break;U.push(...i.convertGenerateContentResponse({config:this.config,response:N,warnings:h,providerOptionsNames:f,toolNameMapping:x,jsonResponseToolName:T}).content),M=!0,{responseHeaders:R,value:N,rawValue:q}=await O({...g,continuationToken:S})}let w=i.convertGenerateContentResponse({config:this.config,response:{...N,usageMetadata:B},warnings:h,providerOptionsNames:f,toolNameMapping:x,jsonResponseToolName:T,initialPromptTokenCount:M?K:void 0,groundingMetadataPerRequest:M?P:void 0}),L={...w,content:[...U,...w.content]};return{...L,request:{body:g},response:{...L.response,headers:R,body:q}}}async doStream(c){let{args:g,warnings:h,providerOptionsNames:f,extraHeaders:y,toolNameMapping:x,jsonResponseToolName:T}=await this.getArgs(c,{isStreaming:!0}),v=(ie)=>Object.fromEntries(f.map((Y)=>[Y,ie])),O=I(this.config.headers?await W(this.config.headers):void 0,c.headers,y),R=(ie)=>A({url:`${this.config.baseURL}/${ze(this.modelId)}:streamGenerateContent?alt=sse`,headers:O,body:ie,failedResponseHandler:he,successfulResponseHandler:qe(yo),abortSignal:c.abortSignal,fetch:this.config.fetch}),{responseHeaders:N,value:q}=await R(g),U=[],P=null,B=Nn({stream:q,getContinuationToken:(ie)=>{let Y=ie.candidates?.[0];if(Y?.groundingMetadata!=null)P=Y.groundingMetadata;return Y?.finishReason==="CONTINUATION"?Y.continuationToken??void 0:void 0},continueStream:async(ie)=>{let{value:Y}=await R({...g,continuationToken:ie});return U.push(P),P=null,Y}}),K={unified:"interrupted",raw:void 0},M=void 0,w=void 0,L=void 0,_=null,S=null,V=null,J=null,X=null,re=null,ye,ue=this.config.generateId,me=!1,Le=!1,ce=null,ve=null,se=0,Ie=new Set,ke,Oe,ne=[],fe=(ie)=>{let Y=ne.pop();if(Y==null)return;let{finalJSON:xe,closingDelta:we}=Y.accumulator.finalize();if(we.length>0)ie.enqueue({type:"tool-input-delta",id:Y.toolCallId,delta:we,providerMetadata:Y.providerMetadata});ie.enqueue({type:"tool-input-end",id:Y.toolCallId,providerMetadata:Y.providerMetadata}),ie.enqueue({type:"tool-call",toolCallId:Y.toolCallId,toolName:Y.toolName,input:xe,providerMetadata:Y.providerMetadata}),me=!0},de={stream:B.pipeThrough(new TransformStream({start(ie){ie.enqueue({type:"stream-start",warnings:h})},transform(ie,Y){if("type"in ie){K={unified:"interrupted",raw:void 0};return}if(c.includeRawChunks)Y.enqueue({type:"raw",rawValue:ie.rawValue});if(!ie.success){if(K.unified==="interrupted")K={unified:"error",raw:void 0};Y.enqueue({type:"error",error:ie.error});return}let xe=ie.value;if(xe.error!=null){K={unified:"error",raw:void 0};let pe=xe.error;Y.enqueue({type:"error",error:Ht({message:pe.message,type:pe.status,code:pe.code??void 0,statusCode:pe.code??void 0,isRetryable:pe.code!=null&&(pe.code===408||pe.code===409||pe.code===429||pe.code>=500),data:pe})});return}if(!Le&&xe.responseId!=null)Le=!0,Y.enqueue({type:"response-metadata",id:xe.responseId});let we=xe.usageMetadata;if(we!=null)M=we;if(xe.promptFeedback!=null&&ye==null){if(_=xe.promptFeedback,Nt(xe.promptFeedback.blockReason))ye=xe.promptFeedback.blockReason,K={unified:"content-filter",raw:ye}}let _e=xe.candidates?.[0];if(_e!=null){if(_e.groundingMetadata!=null)S=_e.groundingMetadata;if(_e.urlContextMetadata!=null)V=_e.urlContextMetadata;if(_e.safetyRatings!=null)J=_e.safetyRatings;if(_e.finishMessage!=null)X=_e.finishMessage;if(_e.continuationToken!=null)re=_e.continuationToken}if(ye!=null||_e==null)return;let Xe=_e.content,Qe=Ut({groundingMetadata:_e.groundingMetadata,generateId:ue});if(Qe!=null){for(let pe of Qe)if(pe.sourceType==="url"&&!Ie.has(pe.url))Ie.add(pe.url),Y.enqueue(pe)}if(Xe!=null){let pe=Xe.parts??[];for(let z of pe)if("executableCode"in z&&z.executableCode?.code){let Z=ue();ke=Z,Y.enqueue({type:"tool-call",toolCallId:Z,toolName:x.toCustomToolName("code_execution"),input:JSON.stringify(z.executableCode),providerExecuted:!0})}else if("codeExecutionResult"in z&&z.codeExecutionResult){let Z=ke;if(Z)Y.enqueue({type:"tool-result",toolCallId:Z,toolName:x.toCustomToolName("code_execution"),result:{outcome:z.codeExecutionResult.outcome,output:z.codeExecutionResult.output??""}})}else if("text"in z&&z.text!=null){let Z=z.thoughtSignature?v({thoughtSignature:z.thoughtSignature}):void 0;if(z.text.length===0){if(Z!=null&&ce!==null)Y.enqueue({type:"text-delta",id:ce,delta:"",providerMetadata:Z})}else if(z.thought===!0){if(ce!==null)Y.enqueue({type:"text-end",id:ce}),ce=null;if(ve===null)ve=String(se++),Y.enqueue({type:"reasoning-start",id:ve,providerMetadata:Z});Y.enqueue({type:"reasoning-delta",id:ve,delta:z.text,providerMetadata:Z})}else{if(ve!==null)Y.enqueue({type:"reasoning-end",id:ve}),ve=null;if(ce===null)ce=String(se++),Y.enqueue({type:"text-start",id:ce,providerMetadata:Z});Y.enqueue({type:"text-delta",id:ce,delta:z.text,providerMetadata:Z})}}else if("inlineData"in z){if(ce!==null)Y.enqueue({type:"text-end",id:ce}),ce=null;if(ve!==null)Y.enqueue({type:"reasoning-end",id:ve}),ve=null;let Z=z.thought===!0,Be=z.thoughtSignature?v({thoughtSignature:z.thoughtSignature}):void 0;Y.enqueue({type:Z?"reasoning-file":"file",mediaType:z.inlineData.mimeType,data:{type:"data",data:z.inlineData.data},providerMetadata:Be})}else if("toolCall"in z&&z.toolCall){let Z=z.toolCall.id||ue();Oe=Z;let Be=v({...z.thoughtSignature?{thoughtSignature:z.thoughtSignature}:{},serverToolCallId:Z,serverToolType:z.toolCall.toolType});Y.enqueue({type:"tool-call",toolCallId:Z,toolName:`server:${z.toolCall.toolType}`,input:JSON.stringify(z.toolCall.args??{}),providerExecuted:!0,dynamic:!0,providerMetadata:Be})}else if("toolResponse"in z&&z.toolResponse){let Z=Oe||z.toolResponse.id||ue(),Be=v({...z.thoughtSignature?{thoughtSignature:z.thoughtSignature}:{},serverToolCallId:Z,serverToolType:z.toolResponse.toolType});Y.enqueue({type:"tool-result",toolCallId:Z,toolName:`server:${z.toolResponse.toolType}`,result:z.toolResponse.response??{},providerMetadata:Be}),Oe=void 0}for(let z of pe){if(!("functionCall"in z))continue;let Z=z.thoughtSignature?v({thoughtSignature:z.thoughtSignature}):void 0,Be=z.functionCall.partialArgs!=null||z.functionCall.name!=null&&z.functionCall.willContinue===!0,Sn=z.functionCall.name==null&&z.functionCall.args==null&&z.functionCall.partialArgs==null&&z.functionCall.willContinue==null,In=z.functionCall.name!=null&&z.functionCall.args!=null&&z.functionCall.partialArgs==null,kn=z.functionCall.name!=null&&z.functionCall.args==null&&z.functionCall.partialArgs==null&&z.functionCall.willContinue!==!0;if(Be){if(z.functionCall.name!=null){let Re=z.functionCall.id||ue(),je=new eo;if(ne.push({toolCallId:Re,toolName:z.functionCall.name,accumulator:je,providerMetadata:Z}),Y.enqueue({type:"tool-input-start",id:Re,toolName:z.functionCall.name,providerMetadata:Z}),z.functionCall.partialArgs!=null){let Ge=z.functionCall.partialArgs,{textDelta:Ze}=je.processPartialArgs(Ge);if(Ze.length>0)Y.enqueue({type:"tool-input-delta",id:Re,delta:Ze,providerMetadata:Z});if(z.functionCall.willContinue!==!0&&Ge.every((Rn)=>Rn.willContinue!==!0))fe(Y)}}else if(z.functionCall.partialArgs!=null&&ne.length>0){let Re=ne[ne.length-1],je=z.functionCall.partialArgs,{textDelta:Ge}=Re.accumulator.processPartialArgs(je);if(Ge.length>0)Y.enqueue({type:"tool-input-delta",id:Re.toolCallId,delta:Ge,providerMetadata:Z});if(z.functionCall.willContinue!==!0&&je.every((Ze)=>Ze.willContinue!==!0))fe(Y)}}else if(Sn&&ne.length>0)fe(Y);else if(In){let Re=z.functionCall.id||ue(),je=z.functionCall.name,Ge=typeof z.functionCall.args==="string"?z.functionCall.args:JSON.stringify(z.functionCall.args??{});Y.enqueue({type:"tool-input-start",id:Re,toolName:je,providerMetadata:Z}),Y.enqueue({type:"tool-input-delta",id:Re,delta:Ge,providerMetadata:Z}),Y.enqueue({type:"tool-input-end",id:Re,providerMetadata:Z}),Y.enqueue({type:"tool-call",toolCallId:Re,toolName:je,input:Ge,providerMetadata:Z}),me=!0}else if(kn){let Re=z.functionCall.id||ue(),je=z.functionCall.name;Y.enqueue({type:"tool-input-start",id:Re,toolName:je,providerMetadata:Z}),Y.enqueue({type:"tool-input-end",id:Re,providerMetadata:Z}),Y.enqueue({type:"tool-call",toolCallId:Re,toolName:je,input:"{}",providerMetadata:Z}),me=!0}}}if(_e.finishReason==="CONTINUATION"){if(w==null)L=M?.promptTokenCount;w=dt(w,M),M=void 0}if(_e.finishReason!=null)K={unified:jt({finishReason:_e.finishReason,hasToolCalls:me}),raw:_e.finishReason}},flush(ie){if(M=dt(w,M),ce!==null)ie.enqueue({type:"text-end",id:ce});if(ve!==null)ie.enqueue({type:"reasoning-end",id:ve});ie.enqueue({type:"finish",finishReason:K,usage:Rt(M),providerMetadata:v({promptFeedback:_,groundingMetadata:S,...U.length>0?{groundingMetadataPerRequest:[...U,P]}:{},urlContextMetadata:V,safetyRatings:J,usageMetadata:M??null,finishMessage:X,serviceTier:M?.serviceTier??null,...re!=null&&(K.raw==="MAX_TOKENS"||K.raw==="CONTINUATION")?{continuationToken:re}:{},...L!=null?{initialPromptTokenCount:L}:{}})})}})),response:{headers:N},request:{body:g}};return{...de,stream:T==null?de.stream:de.stream.pipeThrough(dp(T))}}};function uo(){return 65536}function co(i){let c=i.toLowerCase();if(c.includes("2.5-pro")||c.includes("gemini-3-pro-image"))return 32768;return 24576}function po({reasoning:i,modelId:c,warnings:g}){if(!Ee(i))return;if(ut(c).usesGemini3Features&&!c.includes("gemini-3-pro-image"))return go({reasoning:i,modelId:c,warnings:g});return mo({reasoning:i,modelId:c,warnings:g})}function go({reasoning:i,modelId:c,warnings:g}){let h=ho(c);if(i==="none")return{thinkingLevel:h};let f=ft({reasoning:i,effortMap:{minimal:h,low:"low",medium:"medium",high:"high",xhigh:"high",max:"high"},warnings:g});if(f==null)return;return{thinkingLevel:f}}function ho(i){let c=/(?:^|[/.])(gemini-[^/]*)$/i.exec(i)?.[1].toLowerCase();if(c==="gemini-flash-latest")return"low";let g=/^gemini-(\d+)(?:\.\d+)?-pro(?:$|-)/.exec(c??"");if(Number(g?.[1])>=3)return"low";let h=/^gemini-(\d+)\.(\d+)-flash(?:$|-(?!lite(?:-|$)))/.exec(c??"");if(h==null)return"minimal";let f=Number(h[1]),y=Number(h[2]);return f>3||f===3&&y>=7?"low":"minimal"}function mo({reasoning:i,modelId:c,warnings:g}){if(i==="none")return{thinkingBudget:0};let h=en({reasoning:i,maxOutputTokens:uo(),maxReasoningBudget:co(c),minReasoningBudget:0,warnings:g});if(h==null)return;return{thinkingBudget:h}}function Ut({groundingMetadata:i,generateId:c}){if(!i?.groundingChunks)return;let g=[];for(let h of i.groundingChunks)if(h.web!=null)g.push({type:"source",sourceType:"url",id:c(),url:h.web.uri,title:h.web.title??void 0});else if(h.image!=null)g.push({type:"source",sourceType:"url",id:c(),url:h.image.sourceUri,title:h.image.title??void 0});else if(h.retrievedContext!=null){let f=h.retrievedContext.uri,y=h.retrievedContext.fileSearchStore;if(f&&(f.startsWith("http://")||f.startsWith("https://")))g.push({type:"source",sourceType:"url",id:c(),url:f,title:h.retrievedContext.title??void 0});else if(f){let x=h.retrievedContext.title??"Unknown Document",T="application/octet-stream",v=void 0;if(f.endsWith(".pdf"))T="application/pdf",v=f.split("/").pop();else if(f.endsWith(".txt"))T="text/plain",v=f.split("/").pop();else if(f.endsWith(".docx"))T="application/vnd.openxmlformats-officedocument.wordprocessingml.document",v=f.split("/").pop();else if(f.endsWith(".doc"))T="application/msword",v=f.split("/").pop();else if(f.match(/\.(md|markdown)$/))T="text/markdown",v=f.split("/").pop();else v=f.split("/").pop();g.push({type:"source",sourceType:"document",id:c(),mediaType:T,title:x,filename:v})}else if(y){let x=h.retrievedContext.title??"Unknown Document";g.push({type:"source",sourceType:"document",id:c(),mediaType:"application/octet-stream",title:x,filename:y.split("/").pop()})}}else if(h.maps!=null){if(h.maps.uri)g.push({type:"source",sourceType:"url",id:c(),url:h.maps.uri,title:h.maps.title??void 0})}return g.length>0?g:void 0}var Zt=()=>t({webSearchQueries:o(e()).nullish(),imageSearchQueries:o(e()).nullish(),retrievalQueries:o(e()).nullish(),searchEntryPoint:t({renderedContent:e()}).nullish(),groundingChunks:o(t({web:t({uri:e(),title:e().nullish()}).nullish(),image:t({sourceUri:e(),imageUri:e(),title:e().nullish(),domain:e().nullish()}).nullish(),retrievedContext:t({uri:e().nullish(),title:e().nullish(),text:e().nullish(),fileSearchStore:e().nullish(),customMetadata:o(t({key:e(),stringValue:e().nullish(),numericValue:n().nullish(),stringListValue:t({values:o(e()).nullish()}).nullish()})).nullish()}).nullish(),maps:t({uri:e().nullish(),title:e().nullish(),text:e().nullish(),placeId:e().nullish()}).nullish()})).nullish(),groundingSupports:o(t({segment:t({startIndex:n().nullish(),endIndex:n().nullish(),text:e().nullish()}).nullish(),segment_text:e().nullish(),groundingChunkIndices:o(n()).nullish(),supportChunkIndices:o(n()).nullish(),confidenceScores:o(n()).nullish(),confidenceScore:o(n()).nullish()})).nullish(),retrievalMetadata:p([t({webDynamicRetrievalScore:n()}),t({})]).nullish()}),fo=()=>t({jsonPath:e(),stringValue:e().nullish(),numberValue:n().nullish(),boolValue:r().nullish(),nullValue:m().nullish(),willContinue:r().nullish()}),tn=()=>t({parts:o(p([t({functionCall:t({id:e().nullish(),name:e().nullish(),args:m().nullish(),partialArgs:o(fo()).nullish(),willContinue:r().nullish()}),thoughtSignature:e().nullish()}),t({inlineData:t({mimeType:e(),data:e()}),thought:r().nullish(),thoughtSignature:e().nullish()}),t({toolCall:t({toolType:e(),args:m().nullish(),id:e()}),thoughtSignature:e().nullish()}),t({toolResponse:t({toolType:e(),response:m().nullish(),id:e()}),thoughtSignature:e().nullish()}),t({executableCode:t({language:e(),code:e()}).nullish(),codeExecutionResult:t({outcome:e(),output:e().nullish()}).nullish(),text:e().nullish(),thought:r().nullish(),thoughtSignature:e().nullish()})])).nullish()}),ct=()=>t({category:e().nullish(),probability:e().nullish(),probabilityScore:n().nullish(),severity:e().nullish(),severityScore:n().nullish(),blocked:r().nullish()}),nt=()=>o(t({modality:e(),tokenCount:n()}).loose()).nullish(),nn=()=>t({cachedContentTokenCount:n().nullish(),thoughtsTokenCount:n().nullish(),promptTokenCount:n().nullish(),candidatesTokenCount:n().nullish(),toolUsePromptTokenCount:n().nullish(),totalTokenCount:n().nullish(),trafficType:e().nullish(),serviceTier:e().nullish(),promptTokensDetails:nt(),cacheTokensDetails:nt(),candidatesTokensDetails:nt(),toolUsePromptTokensDetails:nt()}).loose(),on=()=>t({urlMetadata:o(t({retrievedUrl:e(),urlRetrievalStatus:e()})).nullish()}),sn=u(()=>l(t({responseId:e().nullish(),candidates:o(t({content:tn().nullish().or(t({}).strict()),finishReason:e().nullish(),finishMessage:e().nullish(),continuationToken:e().nullish(),safetyRatings:o(ct()).nullish(),groundingMetadata:Zt().nullish(),urlContextMetadata:on().nullish()})).nullish(),usageMetadata:nn().nullish(),promptFeedback:t({blockReason:e().nullish(),safetyRatings:o(ct()).nullish()}).nullish()}))),yo=u(()=>l(t({error:zt().nullish(),responseId:e().nullish(),candidates:o(t({content:tn().nullish(),finishReason:e().nullish(),finishMessage:e().nullish(),continuationToken:e().nullish(),safetyRatings:o(ct()).nullish(),groundingMetadata:Zt().nullish(),urlContextMetadata:on().nullish()})).nullish(),usageMetadata:nn().nullish(),promptFeedback:t({blockReason:e().nullish(),safetyRatings:o(ct()).nullish()}).nullish()})));function Nt(i){return i!=null&&i!==""&&i!=="BLOCK_REASON_UNSPECIFIED"&&i!=="BLOCKED_REASON_UNSPECIFIED"}var vo=()=>ae({searchTypes:t({webSearch:t({}).optional(),imageSearch:t({}).optional()}).optional(),timeRangeFilter:t({startTime:e(),endTime:e()}).optional()}),bo=G({id:"google.google_search",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))}),an=u(()=>l(t({googleSearch:vo().optional()}))),To=2147483648,_o=20000000,Co=new Set(["text","reasoning","source","tool-call","tool-result"]);function wo(i){for(let c of i){let g=c.type;if(g!=="text"&&g!=="image")throw new b({functionality:`batch request type: ${g}`,message:`The Google Batch API does not support batch requests with type "${g}".`})}}var wt=()=>t({code:p([n(),e()]).nullish(),message:e().nullish(),status:e().nullish()}),So=()=>t({requestCount:p([e(),n()]).nullish(),successfulRequestCount:p([e(),n()]).nullish(),failedRequestCount:p([e(),n()]).nullish(),pendingRequestCount:p([e(),n()]).nullish()}),Gt=()=>t({responsesFile:e().nullish(),inlinedResponses:t({inlinedResponses:o(t({metadata:t({key:e()}),response:m().nullish(),error:wt().nullish()}))}).nullish()}),rn=()=>t({name:e(),metadata:t({state:e().nullish(),createTime:e().nullish(),batchStats:So().nullish(),output:Gt().nullish()}).nullish(),done:r().nullish(),error:wt().nullish(),response:Gt().nullish()}),gt=u(()=>l(rn())),Io=u(()=>l(t({operations:o(rn()).nullish(),nextPageToken:e().nullish()}))),ko=u(()=>l(t({}))),xo=u(()=>l(t({file:t({name:e(),expirationTime:e().nullish()})}))),Ro=u(()=>l(t({key:e(),response:m().nullish(),error:wt().nullish()}))),Oo=u(()=>l(t({candidates:o(m()).nullish(),promptFeedback:t({blockReason:e().nullish()}).nullish()}))),Mo=class{constructor(i){this.specificationVersion="v4",this.provider=i.provider,this.batchConfig=i.config,this.supportedUrls=i.supportedUrls,this.batchGenerateId=i.config.generateId??C,this.maxLineBytes=i.maxLineBytes}async doStartBatch(i){wo(i.requests);let c=Uo(i.requests),g=[],h=`ai-sdk-batch-${this.batchGenerateId()}`,f=[],y={batch:{displayName:h,...i.webhookUrl!=null&&{webhookConfig:{uris:[i.webhookUrl]}},inputConfig:{requests:{requests:f}}}},x=new TextEncoder,T=x.encode(JSON.stringify(y)).byteLength,v;for(let B of i.requests){let K=B.type==="text"?await Ye.prepareRequest({modelId:B.modelId,config:this.batchConfig,options:B.options}):await this.prepareImageRequest(B),M={request:K.args,metadata:{key:B.id}};if(v==null){let w=x.encode(JSON.stringify(M)).byteLength,L=T+w+(f.length>0?1:0);if(L<_o)f.push(M),T=L;else{v=[];for(let _ of f)v.push(JSON.stringify({key:_.metadata.key,request:_.request}),`
|
|
7
|
+
`);f.length=0,v.push(JSON.stringify({key:B.id,request:K.args}),`
|
|
8
|
+
`)}}else v.push(JSON.stringify({key:B.id,request:K.args}),`
|
|
9
|
+
`);for(let w of K.warnings)g.push({requestId:B.id,warning:w})}let O=await this.getHeaders(i.headers),R=`${this.batchConfig.baseURL}/${ze(c)}:batchGenerateContent`;if(v==null){let{value:B}=await A({url:R,headers:O,body:y,failedResponseHandler:he,successfulResponseHandler:E(gt),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch});return{batchId:B.name,...Je(B),warnings:g}}let N=new Blob(v,{type:"application/jsonl"});if(v.length=0,N.size>To)throw new F({argument:"requests",message:"Google batch input files must not exceed 2 GB."});let{value:q}=await A({url:`${this.getBaseOrigin()}/upload/v1beta/files`,headers:I(O,{"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(N.size),"X-Goog-Upload-Header-Content-Type":"application/jsonl"}),body:{file:{display_name:`${h}-input`}},failedResponseHandler:he,successfulResponseHandler:jo,abortSignal:i.abortSignal,fetch:this.batchConfig.fetch}),{value:U}=await Lr({url:q,headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize","Content-Type":"application/jsonl"},body:{content:N,values:{byteLength:N.size,mediaType:"application/jsonl"}},failedResponseHandler:he,successfulResponseHandler:E(xo),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch}),{value:P}=await A({url:R,headers:O,body:{batch:{displayName:h,...i.webhookUrl!=null&&{webhookConfig:{uris:[i.webhookUrl]}},inputConfig:{fileName:U.file.name}}},failedResponseHandler:he,successfulResponseHandler:E(gt),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch});return{batchId:P.name,...Je(P),providerMetadata:{google:{inputFileId:U.file.name,...U.file.expirationTime!=null?{inputFileExpiresAt:U.file.expirationTime}:{}}},warnings:g}}async doGetBatchStatus(i){return Je(await this.retrieveBatch(i))}async doCancelBatch(i){return await A({url:`${this.batchConfig.baseURL}/${i.batchId}:cancel`,headers:await this.getHeaders(i.headers),body:{},failedResponseHandler:he,successfulResponseHandler:E(ko),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch}),{}}async doListBatches(i){let c=new URL(`${this.batchConfig.baseURL}/batches`);if(i.limit!=null)c.searchParams.set("pageSize",String(i.limit));if(i.cursor!=null)c.searchParams.set("pageToken",i.cursor);let{value:g}=await De({url:c.toString(),headers:await this.getHeaders(i.headers),failedResponseHandler:he,successfulResponseHandler:E(Io),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return{batches:(g.operations??[]).map((h)=>({batchId:h.name,...Je(h)})),...g.nextPageToken!=null?{nextCursor:g.nextPageToken}:{}}}async doGetBatchResults(i){let c=await this.retrieveBatch(i),g=Je(c);if(g.status==="pending")throw new F({argument:"batchId",message:`Google batch "${i.batchId}" is not complete.`});let h=c.metadata?.output?.inlinedResponses?.inlinedResponses??c.response?.inlinedResponses?.inlinedResponses;if(h!=null)return Zn(this.iterateBatchResults(h.map((T)=>({key:T.metadata.key,response:T.response,error:T.error}))));let f=c.metadata?.output?.responsesFile??c.response?.responsesFile;if(f==null){if(g.status==="completed")throw new be({data:c,message:`Google batch "${i.batchId}" completed without batch output.`});return new ReadableStream({start(T){T.close()}})}let y=f.split("/").map((T)=>encodeURIComponent(T)).join("/"),{value:x}=await De({url:`${this.getBaseOrigin()}/download/v1beta/${y}:download?alt=media`,headers:await this.getHeaders(i.headers),failedResponseHandler:he,successfulResponseHandler:Br(Ro,{maxLineBytes:this.maxLineBytes}),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return Zn(this.iterateBatchResults(x))}async retrieveBatch(i){let{value:c}=await De({url:`${this.batchConfig.baseURL}/${i.batchId}`,headers:await this.getHeaders(i.headers),failedResponseHandler:he,successfulResponseHandler:E(gt),abortSignal:i.abortSignal,fetch:this.batchConfig.fetch,validateUrl:!1});return c}async*iterateBatchResults(i){for await(let c of i){if(c.error!=null){let T=ln(c.error,"Google batch request failed."),v=c.error.status==="CANCELLED"||String(c.error.code)==="1"?"cancelled":"failed";yield{type:"text",id:c.key,status:v,error:T};continue}if(c.response==null){yield{type:"text",id:c.key,status:"failed",error:{message:"Google returned a batch result without a response or error.",code:"invalid_batch_result"}};continue}let g=await Pe({value:c.response,schema:Oo});if(g.success&&(g.value.candidates==null||g.value.candidates.length===0)){let T=g.value.promptFeedback??void 0,v=T?.blockReason??void 0;yield{type:"text",id:c.key,status:"failed",error:{message:v==null?"Google returned a batch response without any candidates.":`Google blocked the batch request (${v}).`,code:v==null?"invalid_response":"prompt_blocked",...v!=null?{type:v}:{}},...T!=null?{providerMetadata:{google:{promptFeedback:{blockReason:T.blockReason??null}}}}:{}};continue}let h=await Pe({value:c.response,schema:sn});if(!h.success){yield{type:"text",id:c.key,status:"failed",error:{message:"Google returned an invalid GenerateContent batch result.",code:"invalid_response"}};continue}let f=Ye.convertGenerateContentResponse({config:this.batchConfig,response:h.value,warnings:[],providerOptionsNames:["google"]}),y=No(f);if(y!=null){yield{type:"image",id:c.key,status:"succeeded",result:y};continue}let x=f.content.find((T)=>!Co.has(T.type));if(x!=null){yield{type:"text",id:c.key,status:"failed",error:{message:`Google returned a "${x.type}" content block, but that content is not supported in AI SDK text batches.`,code:"unsupported_content"}};continue}yield{type:"text",id:c.key,status:"succeeded",result:f}}}async prepareImageRequest(i){let{prompt:c,n:g,size:h,aspectRatio:f,seed:y,files:x,mask:T,providerOptions:v}=i.options,O=[];if(T!=null)throw new b({functionality:"mask-based image editing in Google batches"});if(g>1)throw new b({functionality:"multiple images per Google batch request"});if(h!=null)O.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let R=[];if(c!=null)R.push({type:"text",text:c});for(let M of x??[])R.push(M.type==="url"?{type:"file",data:{type:"url",url:new URL(M.url)},mediaType:"image/*"}:{type:"file",data:{type:"data",data:M.data},mediaType:M.mediaType});let N=await k({provider:"google",providerOptions:v,schema:an}),{responseModalities:q,imageConfig:U,...P}=await k({provider:"google",providerOptions:v,schema:rt})??{},B=await k({provider:"google",providerOptions:{google:{...P,responseModalities:["IMAGE"],imageConfig:f!=null||U!=null?{...U,...f!=null?{aspectRatio:f}:{}}:void 0}},schema:rt}),K=await Ye.prepareRequest({modelId:i.modelId,config:this.batchConfig,options:{prompt:[{role:"user",content:R}],seed:y,providerOptions:{google:B??{responseModalities:["IMAGE"]}},tools:N?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:N.googleSearch}]:void 0}});return{...K,warnings:[...O,...K.warnings]}}async getHeaders(i){return I(this.batchConfig.headers?await W(this.batchConfig.headers):void 0,i)}getBaseOrigin(){return this.batchConfig.baseURL.replace(/\/v1beta$/,"")}};function Je(i){let c=i.metadata?.state??void 0,g=Lo(i.metadata?.batchStats),h=i.metadata?.createTime??void 0,f=i.error!=null?ln(i.error,"Google batch failed."):void 0;return{status:Eo({rawStatus:c,done:i.done??void 0,hasError:f!=null}),...c!=null?{rawStatus:c}:{},...g!=null?{requestCounts:g}:{},...f!=null?{error:f}:{},...h!=null?{createdAt:h}:{}}}function Eo({rawStatus:i,done:c,hasError:g}){if(g)return"failed";if(i==null)return c?"completed":"pending";switch(i.replace(/^(?:BATCH|JOB)_STATE_/,"")){case"SUCCEEDED":return"completed";case"FAILED":case"CANCELLED":case"EXPIRED":return"failed";default:return"pending"}}function Lo(i){let c=ot(i?.requestCount),g=ot(i?.successfulRequestCount??0),h=ot(i?.failedRequestCount??0),f=ot(i?.pendingRequestCount??0);return Mr({total:c,pending:f,completed:g,failed:h})}function ot(i){let c=typeof i==="string"&&/^\d+$/.test(i)?Number(i):i;return typeof c==="number"&&Number.isSafeInteger(c)&&c>=0?c:void 0}function ln(i,c){return{message:i.message??c,...i.status!=null?{type:i.status}:{},...i.code!=null?{code:String(i.code)}:{}}}var jo=async({response:i})=>{let c=i.headers.get("x-goog-upload-url");if(c==null)throw new be({data:i.headers,message:"Google did not return a resumable upload URL."});return{value:c}};function Uo(i){let c=i[0]?.modelId;if(c==null)throw new F({argument:"requests",message:"Google batches require at least one request."});for(let g of i)if(g.modelId!==c)throw new F({argument:"requests",message:"Google batches require every request to use the same model because the model is part of the batch endpoint."});return c}function No(i){let c=i.content.flatMap((h)=>h.type==="file"&&h.mediaType.startsWith("image/")&&h.data.type==="data"?[j(h.data.data)]:[]);if(c.length===0)return;let g=i.providerMetadata?.google??{};return{images:c,warnings:i.warnings,providerMetadata:{google:{...g,images:c.map(()=>({}))}},response:{timestamp:new Date,modelId:i.response?.modelId??"",headers:i.response?.headers},usage:{inputTokens:i.usage.inputTokens.total,outputTokens:i.usage.outputTokens.total,totalTokens:(i.usage.inputTokens.total??0)+(i.usage.outputTokens.total??0)}}}var Go=G({id:"google.enterprise_web_search",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))});u(()=>l(ae({fileSearchStoreNames:o(e()).describe("The names of the file_search_stores to retrieve from. Example: `fileSearchStores/my-file-search-store-123`"),topK:n().int().positive().describe("The number of file search retrieval chunks to retrieve.").optional(),metadataFilter:e().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 Do=G({id:"google.file_search",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))}),qo={googleSearch:bo,enterpriseWebSearch:Go,googleMaps:G({id:"google.google_maps",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))}),urlContext:G({id:"google.url_context",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))}),fileSearch:Do,codeExecution:Gn,vertexRagStore:G({id:"google.vertex_rag_store",inputSchema:u(()=>l(t({}))),outputSchema:u(()=>l(t({})))})},$o=new Set(["gemini-2.5-flash-image","gemini-3-pro-image-preview","gemini-3.1-flash-image-preview","gemini-nano-banana-2.1"]),Fo=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,{},c.config)}get maxImagesPerCall(){if(this.settings.maxImagesPerCall!=null)return this.settings.maxImagesPerCall;return 1}get supportsFileInputs(){return $o.has(this.modelId)?!0:void 0}get supportsMaskInputs(){return this.supportsFileInputs===!0?!1:void 0}get provider(){return this.config.provider}constructor(c,g,h){this.modelId=c,this.settings=g,this.config=h,this.specificationVersion="v4"}async doGenerate(c){if(!this.modelId.startsWith("gemini-"))throw Error("Google image models other than Gemini are no longer supported. Use a model ID that starts with `gemini-`.");let{prompt:g,size:h,aspectRatio:f,seed:y,providerOptions:x,headers:T,abortSignal:v,files:O,mask:R}=c,N=[];if(R!=null)throw Error("Gemini image models do not support mask-based image editing.");if(h!=null)N.push({type:"unsupported",feature:"size",details:"This model does not support the `size` option. Use `aspectRatio` instead."});let q=[];if(g!=null)q.push({type:"text",text:g});if(O!=null&&O.length>0)for(let J of O)if(J.type==="url")q.push({type:"file",data:{type:"url",url:new URL(J.url)},mediaType:"image/*"});else q.push({type:"file",data:{type:"data",data:typeof J.data==="string"?J.data:new Uint8Array(J.data)},mediaType:J.mediaType});let U=[{role:"user",content:q}],P=await k({provider:"google",providerOptions:x,schema:an}),{googleSearch:B,responseModalities:K,imageConfig:M,...w}=x?.google??{},L=await new Ye(this.modelId,{provider:this.config.provider,baseURL:this.config.baseURL,headers:this.config.headers??{},fetch:this.config.fetch,generateId:this.config.generateId??C}).doGenerate({prompt:U,seed:y,providerOptions:{google:{...w,responseModalities:["IMAGE"],imageConfig:f!=null||M!=null?{...M,...f!=null?{aspectRatio:f}:{}}:void 0}},tools:P?.googleSearch!=null?[{type:"provider",id:"google.google_search",name:"google_search",args:P.googleSearch}]:void 0,headers:T,abortSignal:v}),_=this.config._internal?.currentDate?.()??new Date,S=[];for(let J of L.content)if(J.type==="file"&&J.mediaType.startsWith("image/")&&J.data.type==="data")S.push(j(J.data.data));let V=L.providerMetadata?.google??{};return{images:S,...L.finishReason.unified==="content-filter"?{isRetryable:!1}:{},warnings:N,providerMetadata:{google:{...V,finishReason:L.finishReason.raw??null,images:S.map(()=>({}))}},response:{timestamp:_,modelId:this.modelId,headers:L.response?.headers},usage:L.usage?{inputTokens:L.usage.inputTokens.total,outputTokens:L.usage.outputTokens.total,totalTokens:(L.usage.inputTokens.total??0)+(L.usage.outputTokens.total??0)}:void 0}}},Bo=class{get provider(){return this.config.provider}constructor(i){this.config=i,this.specificationVersion="v4"}async uploadFile(i){let c=await k({provider:"google",providerOptions:i.providerOptions,schema:Wo}),g=I(this.config.headers(),i.headers),h=this.config.fetch??globalThis.fetch,f=[];if(i.filename!=null)f.push({type:"unsupported",feature:"filename"});let y=ea(i.data),x=i.mediaType,T=c?.displayName,v=await h(`${this.config.baseURL.replace(/\/v1beta$/,"")}/upload/v1beta/files`,{method:"POST",headers:{...g,"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":String(y.length),"X-Goog-Upload-Header-Content-Type":x,"Content-Type":"application/json"},body:JSON.stringify({file:{...T!=null?{display_name:T}:{}}}),signal:i.abortSignal});if(!v.ok){let B=await v.text();throw new D({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to initiate resumable upload: ${v.status} ${B}`})}let O=v.headers.get("x-goog-upload-url");if(!O)throw new D({name:"GOOGLE_FILES_UPLOAD_ERROR",message:"No upload URL returned from initiation request"});let R=await h(O,{method:"POST",headers:{"X-Goog-Upload-Offset":"0","X-Goog-Upload-Command":"upload, finalize"},body:Ho(y),signal:i.abortSignal});if(!R.ok){let B=await R.text();throw new D({name:"GOOGLE_FILES_UPLOAD_ERROR",message:`Failed to upload file data: ${R.status} ${B}`})}let N=(await R.json()).file,q=c?.pollIntervalMs??2000,U=c?.pollTimeoutMs??300000,P=Date.now();while(N.state==="PROCESSING"){if(Date.now()-P>U)throw new D({name:"GOOGLE_FILES_UPLOAD_TIMEOUT",message:`File processing timed out after ${U}ms`});await Oi(q,{abortSignal:i.abortSignal});let B=/^files\/([^/]+)$/.exec(N.name),K=B!=null?`files/${to(B[1])}`:to(N.name),{value:M}=await De({url:`${this.config.baseURL}/${K}`,validateUrl:!1,headers:I(g),successfulResponseHandler:E(Vo),failedResponseHandler:he,abortSignal:i.abortSignal,fetch:this.config.fetch});N=M}if(N.state==="FAILED")throw new D({name:"GOOGLE_FILES_UPLOAD_FAILED",message:`File processing failed for ${N.name}`});return{warnings:f,providerReference:{google:N.uri},mediaType:N.mimeType??i.mediaType,providerMetadata:{google:{name:N.name,displayName:N.displayName,mimeType:N.mimeType,sizeBytes:N.sizeBytes,state:N.state,uri:N.uri,...N.createTime!=null?{createTime:N.createTime}:{},...N.updateTime!=null?{updateTime:N.updateTime}:{},...N.expirationTime!=null?{expirationTime:N.expirationTime}:{},...N.sha256Hash!=null?{sha256Hash:N.sha256Hash}:{}}}}}};function Ho(i){if(i.buffer instanceof ArrayBuffer)return i;return new Uint8Array(i)}var Vo=u(()=>l(t({name:e(),displayName:e().nullish(),mimeType:e(),sizeBytes:e().nullish(),createTime:e().nullish(),updateTime:e().nullish(),expirationTime:e().nullish(),sha256Hash:e().nullish(),uri:e(),state:e()}))),Wo=u(()=>l(ae({displayName:e().nullish(),pollIntervalMs:n().positive().nullish(),pollTimeoutMs:n().positive().nullish()}))),Ko=u(()=>l(ae({pollIntervalMs:n().positive().nullish(),pollTimeoutMs:n().positive().nullish(),personGeneration:s(["dont_allow","allow_adult","allow_all"]).nullish(),negativePrompt:e().nullish(),referenceImages:o(t({bytesBase64Encoded:e().nullish(),gcsUri:e().nullish()})).nullish()})));function zo(i){return i.frameImages?.find((c)=>c.frameType==="first_frame")?.image}function Jo(i){return zo(i)??i.image}function Yo(i){return i.frameImages?.find((c)=>c.frameType==="last_frame")?.image}function Xo(i){if(i.frameImages!=null&&i.frameImages.length>0)return;return i.inputReferences!=null&&i.inputReferences.length>0?i.inputReferences:void 0}function mt(i,c){if(i.type==="url"){if(i.url.startsWith("gs://"))return{gcsUri:i.url,mimeType:"image/png"};c.push({type:"unsupported",feature:"URL-based image input",details:"Google Generative AI video models require base64-encoded images or GCS URIs. URL will be ignored."});return}return{bytesBase64Encoded:typeof i.data==="string"?i.data:tt(i.data),mimeType:i.mediaType||"image/png"}}function Qo(i){if(i.bytesBase64Encoded)return{image:{bytesBase64Encoded:i.bytesBase64Encoded,mimeType:"image/png"},referenceType:"asset"};if(i.gcsUri)return{image:{gcsUri:i.gcsUri,mimeType:"image/png"},referenceType:"asset"};return i}function Zo(i,c){let g=mt(i,c);return g!=null?{image:g,referenceType:"asset"}:void 0}var ei=class{get provider(){return this.config.provider}get maxVideosPerCall(){return 4}constructor(i,c){this.modelId=i,this.config=c,this.specificationVersion="v4"}async buildRequest(i){let c=[],g=await k({provider:"google",providerOptions:i.providerOptions,schema:Ko}),h=[{}],f=h[0];if(i.prompt!=null)f.prompt=i.prompt;let y=Jo(i);if(y!=null){let O=mt(y,c);if(O!=null)f.image=O}let x=Yo(i);if(x!=null){let O=mt(x,c);if(O!=null)f.lastFrame=O}let T=Xo(i);if(T!=null)f.referenceImages=T.flatMap((O)=>{let R=Zo(O,c);return R!=null?[R]:[]});else if(g?.referenceImages!=null)f.referenceImages=g.referenceImages.map((O)=>Qo(O));let v={sampleCount:i.n};if(i.aspectRatio)v.aspectRatio=i.aspectRatio;if(i.resolution)v.resolution={"1280x720":"720p","1920x1080":"1080p","3840x2160":"4k"}[i.resolution]||i.resolution;if(i.duration)v.durationSeconds=i.duration;if(i.seed)v.seed=i.seed;if(g!=null){let O=g;if(O.personGeneration!==void 0&&O.personGeneration!==null)v.personGeneration=O.personGeneration;if(O.negativePrompt!==void 0&&O.negativePrompt!==null)v.negativePrompt=O.negativePrompt;for(let[R,N]of Object.entries(O))if(!["pollIntervalMs","pollTimeoutMs","personGeneration","negativePrompt","referenceImages"].includes(R))v[R]=N}return{instances:h,parameters:v,warnings:c,googleOptions:g}}async buildCompletedResult(i,c,g,h){let f=i.response;if(!f?.generateVideoResponse?.generatedSamples||f.generateVideoResponse.generatedSamples.length===0)throw new D({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:`No videos in response. Response: ${JSON.stringify(i)}`});let y=[],x=[],T=(await W(this.config.headers))?.["x-goog-api-key"];for(let v of f.generateVideoResponse.generatedSamples)if(v.video?.uri){let O=T&&bl(v.video.uri,this.config.baseURL)?`${v.video.uri}${v.video.uri.includes("?")?"&":"?"}key=${T}`:v.video.uri;y.push({type:"url",url:O,mediaType:"video/mp4"}),x.push({uri:v.video.uri})}if(y.length===0)throw new D({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No valid videos in response"});return{status:"completed",videos:y,warnings:g,response:{timestamp:h,modelId:this.modelId,headers:c},providerMetadata:{google:{videos:x}}}}async doStart(i){let c=this.config._internal?.currentDate?.()??new Date,{instances:g,parameters:h,warnings:f}=await this.buildRequest(i),{value:y,responseHeaders:x}=await A({url:`${this.config.baseURL}/models/${this.modelId}:predictLongRunning`,headers:I(await W(this.config.headers),i.headers),body:{instances:g,parameters:h},successfulResponseHandler:E(Dt),failedResponseHandler:he,abortSignal:i.abortSignal,fetch:this.config.fetch}),T=y.name;if(!T)throw new D({name:"GOOGLE_VIDEO_GENERATION_ERROR",message:"No operation name returned from API"});return{operation:{operationName:T},warnings:f,response:{timestamp:c,modelId:this.modelId,headers:x}}}async doStatus(i){let c=this.config._internal?.currentDate?.()??new Date,{operationName:g}=i.operation,{value:h,responseHeaders:f}=await De({url:`${this.config.baseURL}/${g}`,validateUrl:!1,headers:I(await W(this.config.headers),i.headers),successfulResponseHandler:E(Dt),failedResponseHandler:he,abortSignal:i.abortSignal,fetch:this.config.fetch});if(!h.done)return{status:"pending",response:{timestamp:c,modelId:this.modelId,headers:f}};if(h.error)return{status:"error",error:`Video generation failed: ${h.error.message}`,response:{timestamp:c,modelId:this.modelId,headers:f}};return this.buildCompletedResult(h,f,[],c)}},Dt=u(()=>l(t({name:e().nullish(),done:r().nullish(),error:t({code:n().nullish(),message:e(),status:e().nullish()}).nullish(),response:t({generateVideoResponse:t({generatedSamples:o(t({video:t({uri:e().nullish()}).nullish()})).nullish()}).nullish()}).nullish()}))),ti=u(()=>l(t({candidates:o(t({content:t({parts:o(t({inlineData:t({mimeType:e().nullish(),data:e().nullish()}).nullish()})).nullish()}).nullish()})).nullish(),usageMetadata:d(e(),Fe()).nullish()})));function ni({text:i,voice:c,providerOptions:g}){let h=g?.google,f=h!=null&&typeof h==="object"?h:void 0,y=f&&"turns"in f?f.turns:void 0,x=[];if(Array.isArray(y)&&y.length>0){for(let O of y){if(O==null||typeof O!=="object"||!("text"in O)||typeof O.text!=="string")break;x.push(O.text)}if(x.length===y.length)i=x.join("")}let T=f&&"multiSpeakerVoiceConfig"in f?f.multiSpeakerVoiceConfig:void 0,v=T!=null&&typeof T==="object"&&"speakerVoiceConfigs"in T&&Array.isArray(T.speakerVoiceConfigs)?T.speakerVoiceConfigs:[];return{text:i,usesCustomVoice:c?.startsWith("voice_")===!0||c?.startsWith("voicekey_")===!0||v.some((O)=>O!=null&&typeof O==="object"&&("voiceConfig"in O)&&O.voiceConfig!=null&&typeof O.voiceConfig==="object"&&("voice"in O.voiceConfig))}}var oi=()=>t({voiceName:e()}),ii=()=>t({prebuiltVoiceConfig:oi(),voice:le().optional()}),Pt=()=>t({speaker:e().min(1).optional(),style:e().optional()}),qt=u(()=>l(t({speechMetadata:Pt().optional(),turns:o(t({text:e(),speechMetadata:Pt().optional()})).min(1).optional(),multiSpeakerVoiceConfig:t({speakerVoiceConfigs:o(t({speaker:e(),voiceConfig:ii()}))}).optional()}))),si="Kore",ai=24000,ri=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,c.config)}get provider(){return this.config.provider}constructor(c,g){this.modelId=c,this.config=g,this.specificationVersion="v4"}async getArgs({text:c,voice:g=si,outputFormat:h,instructions:f,speed:y,language:x,providerOptions:T}){let v=[],O=this.config.provider.includes("vertex")?["googleVertex","vertex"]:["google"],R;for(let L of O)if(R=await k({provider:L,providerOptions:T,schema:qt}),R!=null)break;if(R==null&&!O.includes("google"))R=await k({provider:"google",providerOptions:T,schema:qt});let N=!this.modelId.startsWith("gemini-2.5-")&&!this.modelId.startsWith("gemini-3.1-"),q=ni({text:c,voice:g,providerOptions:{google:R}});if(q.usesCustomVoice)throw new F({argument:"voice",message:"Custom voices are not supported. Use a prebuilt voice instead."});let U=R?.multiSpeakerVoiceConfig,P=U?{multiSpeakerVoiceConfig:U}:{voiceConfig:{prebuiltVoiceConfig:{voiceName:g}}},B=c;if(f!=null&&!N)if(U)v.push({type:"unsupported",feature:"instructions",details:"Google Gemini TTS ignores `instructions` when `multiSpeakerVoiceConfig` is set, because prepending them would break multi-speaker transcript parsing."});else B=`${f}: ${c}`;let K=[{text:B}];if(N){if(R?.turns&&R.speechMetadata)throw new F({argument:"providerOptions",message:"Set speechMetadata on each turn when using turns."});if(R?.turns&&c!=="")v.push({type:"unsupported",feature:"text",details:"Google TTS turns replace the top-level text."});K=(R?.turns??[{text:c,speechMetadata:R?.speechMetadata}]).map((L)=>{let _=L.speechMetadata?.style??f,S=L.speechMetadata?.speaker;if(U&&!U.speakerVoiceConfigs.some((V)=>V.speaker===S))throw new F({argument:"speechMetadata.speaker",message:"Every multi-speaker turn must specify a speechMetadata.speaker matching a configured speaker."});return{text:L.text,..._!=null||S!=null?{speechMetadata:{style:_,speaker:S}}:{}}})}else if(R?.turns||R?.speechMetadata)throw new F({argument:"providerOptions",message:"Structured speech metadata and turns require Gemini 3.8 TTS."});if(q.text.length===0)throw new F({argument:"text",message:"Speech input must contain a non-empty transcript."});if(y!=null)v.push({type:"unsupported",feature:"speed",details:"Google Gemini TTS models do not support the `speed` option. It was ignored."});if(x!=null)v.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 M=N?{wav:"AUDIO_WAV","audio/wav":"AUDIO_WAV",pcm:"AUDIO_L16","audio/l16":"AUDIO_L16",mulaw:"AUDIO_MULAW","audio/mulaw":"AUDIO_MULAW",alaw:"AUDIO_ALAW","audio/alaw":"AUDIO_ALAW"}:{wav:"AUDIO_WAV",pcm:"AUDIO_L16"},w="wav";if(h!=null&&Object.prototype.hasOwnProperty.call(M,h))w=h;else if(h!=null)v.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${h}. Using wav instead.`});return{requestBody:{contents:[{role:"user",parts:K}],generationConfig:{responseModalities:["AUDIO"],speechConfig:P,...N&&h!=null?{responseFormat:{audio:{mimeType:M[w]}}}:{}}},warnings:v,outputFormat:M[w],usesStructuredSpeech:N}}async doGenerate(c){let g=this.config._internal?.currentDate?.()??new Date,{requestBody:h,warnings:f,outputFormat:y,usesStructuredSpeech:x}=await this.getArgs(c),{value:T,responseHeaders:v,rawValue:O}=await A({url:`${this.config.baseURL}/models/${this.modelId}:generateContent`,headers:I(this.config.headers?await W(this.config.headers):void 0,c.headers),body:h,failedResponseHandler:he,successfulResponseHandler:E(ti),abortSignal:c.abortSignal,fetch:this.config.fetch}),R,N;for(let K of T.candidates??[]){for(let M of K.content?.parts??[])if(M.inlineData?.data){R=M.inlineData.data,N=M.inlineData.mimeType??void 0;break}if(R!=null)break}let q=li(N)??ai,U=R!=null?Te(R):new Uint8Array(0),P=/^audio\/(?:l16|pcm)(?:;|$)/i.test(N??"")||N==null&&!x,B=y==="AUDIO_WAV"&&P&&U.length>0?ui(U,q):U;if(y==="AUDIO_L16"&&U.length>0&&!x)f.push({type:"unsupported",feature:"outputFormat",details:`Returning raw PCM audio (signed 16-bit little-endian, mono, ${q} Hz). These bytes have no container header and are not directly playable; see providerMetadata.google for the sample rate and mime type.`});return{audio:B,warnings:f,...T.usageMetadata!=null&&{usage:T.usageMetadata},request:{body:JSON.stringify(h)},response:{timestamp:g,modelId:this.modelId,headers:v,body:O},providerMetadata:{google:{sampleRate:q,mimeType:N??null}}}}};function li(i){if(i==null)return;let c=/rate=(\d+)/.exec(i);return c?Number.parseInt(c[1],10):void 0}function ui(i,c){let y=c*2,x=i.length,T=new ArrayBuffer(44+x),v=new DataView(T);st(v,0,"RIFF"),v.setUint32(4,36+x,!0),st(v,8,"WAVE"),st(v,12,"fmt "),v.setUint32(16,16,!0),v.setUint16(20,1,!0),v.setUint16(22,1,!0),v.setUint32(24,c,!0),v.setUint32(28,y,!0),v.setUint16(32,2,!0),v.setUint16(34,16,!0),st(v,36,"data"),v.setUint32(40,x,!0);let O=new Uint8Array(T);return O.set(i,44),O}function st(i,c,g){for(let h=0;h<g.length;h++)i.setUint8(c+h,g.charCodeAt(h))}function St(i){if(i==null)return Ct();let c=i.total_input_tokens??0,g=i.total_output_tokens??0,h=i.total_thought_tokens??0,f=i.total_cached_tokens??0;return{inputTokens:{total:i.total_input_tokens??void 0,noCache:i.total_input_tokens==null?void 0:c-f,cacheRead:i.total_cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:i.total_output_tokens==null&&i.total_thought_tokens==null?void 0:g+h,text:i.total_output_tokens??void 0,reasoning:i.total_thought_tokens??void 0},raw:i}}function un(i){let c=i?.output_tokens_by_modality;if(c==null)return;let g={};for(let h of c)if(h?.modality!=null&&h.tokens!=null)g[h.modality]=h.tokens;return Object.keys(g).length>0?g:void 0}var ci={pdf:"application/pdf",txt:"text/plain",md:"text/markdown",markdown:"text/markdown",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};function cn(i){let c=i.toLowerCase();for(let[g,h]of Object.entries(ci))if(c.endsWith(`.${g}`))return h;return"application/octet-stream"}function dn(i){let c=i.split("/"),g=c[c.length-1];return g&&g.length>0?g:void 0}function di({annotation:i,generateId:c}){switch(i.type){case"url_citation":{let g=i;if(g.url==null||g.url.length===0)return;return{type:"source",sourceType:"url",id:c(),url:g.url,...g.title!=null?{title:g.title}:{}}}case"file_citation":{let g=i,h=g.url??g.document_uri??g.file_name;if(h==null||h.length===0)return;if(h.startsWith("http://")||h.startsWith("https://"))return{type:"source",sourceType:"url",id:c(),url:h,...g.file_name!=null?{title:g.file_name}:{}};let f=g.file_name??dn(h),y=cn(h);return{type:"source",sourceType:"document",id:c(),mediaType:y,title:g.file_name??f??h,...f!=null?{filename:f}:{}}}case"place_citation":{let g=i;if(g.url==null||g.url.length===0)return;return{type:"source",sourceType:"url",id:c(),url:g.url,...g.name!=null?{title:g.name}:{}}}default:return}}function pn({block:i,generateId:c}){let g=[];switch(i.type){case"url_context_result":{let h=i.result??[];for(let f of h){if(f?.url==null||f.url.length===0)continue;if(f.status!=null&&f.status!=="success")continue;g.push({type:"source",sourceType:"url",id:c(),url:f.url})}break}case"google_search_result":{let h=i.result??[];for(let f of h){let y=f?.url;if(y==null||y.length===0)continue;g.push({type:"source",sourceType:"url",id:c(),url:y,...f.title!=null?{title:f.title}:{}})}break}case"google_maps_result":{let h=i.result??[];for(let f of h)for(let y of f.places??[]){if(y.url==null||y.url.length===0)continue;g.push({type:"source",sourceType:"url",id:c(),url:y.url,...y.name!=null?{title:y.name}:{}})}break}case"file_search_result":{let h=i.result??[];for(let f of h){if(f==null||typeof f!=="object")continue;let y=f,x=y.url??y.document_uri??y.file_name;if(x==null||x.length===0)continue;if(x.startsWith("http://")||x.startsWith("https://")){g.push({type:"source",sourceType:"url",id:c(),url:x,...y.title!=null?{title:y.title}:{}});continue}let T=y.file_name??dn(x),v=cn(x);g.push({type:"source",sourceType:"document",id:c(),mediaType:v,title:y.title??y.file_name??T??x,...T!=null?{filename:T}:{}})}break}}return g}function vt({annotations:i,generateId:c}){if(i==null)return[];let g=new Set,h=[];for(let f of i){let y=di({annotation:f,generateId:c});if(y==null)continue;let x=y.sourceType==="url"?`url:${y.url}`:`doc:${y.filename??y.title}`;if(g.has(x))continue;g.add(x),h.push(y)}return h}function It({status:i,hasFunctionCall:c}){switch(i){case"completed":return c?"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 pi=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),gi=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function hi(i){return i.replace(/_call$/,"")}function mi(i){return i.replace(/_result$/,"")}function $t({warnings:i,generateId:c,includeRawChunks:g,serviceTier:h}){let f,y,x=h,T,v=!1,O=!1,R=new Map,N=new Set;function q(U){return U.sourceType==="url"?`url:${U.url}`:`doc:${U.filename??U.title}`}return new TransformStream({start(U){U.enqueue({type:"stream-start",warnings:i})},transform(U,P){if(g)P.enqueue({type:"raw",rawValue:U.rawValue});if(!U.success){T="failed",P.enqueue({type:"error",error:U.error});return}let B=U.value,K=B.event_type;switch(K){case"interaction.created":{let M=B.interaction;f=M?.id!=null&&M.id.length>0?M.id:void 0;let w=M?.created,L;if(typeof w==="string"){let _=new Date(w);if(!Number.isNaN(_.getTime()))L=_}P.enqueue({type:"response-metadata",...f!=null?{id:f}:{},modelId:M?.model,...L?{timestamp:L}:{}});break}case"step.start":{let M=B,{step:w,index:L}=M,_=`${f??"interaction"}:${L}`,S=w?.type;if(S==="model_output"){let V=w?.content?.[0];if(V?.type==="text"){R.set(L,{kind:"text",id:_,emittedSourceKeys:new Set}),P.enqueue({type:"text-start",id:_});let J=vt({annotations:V.annotations,generateId:c});for(let X of J){let re=q(X);if(N.has(re))continue;N.add(re),P.enqueue(X)}}else if(V?.type==="image")R.set(L,{kind:"image",id:_,...V.data!=null?{data:V.data}:{},...V.mime_type!=null?{mimeType:V.mime_type}:{},...V.uri!=null?{uri:V.uri}:{}});else R.set(L,{kind:"pending_model_output",id:_})}else if(S==="thought"){let V=w?.signature;if(R.set(L,{kind:"reasoning",id:_,...V!=null?{signature:V}:{}}),P.enqueue({type:"reasoning-start",id:_}),Array.isArray(w?.summary)){for(let J of w.summary)if(J?.type==="text"&&typeof J.text==="string")P.enqueue({type:"reasoning-delta",id:_,delta:J.text})}}else if(S==="processing_call"||S==="processing_result"){let V={};if(w?.signature!=null)V.signature=w.signature;if(f!=null)V.interactionId=f;if(S==="processing_call")V.processingId=w?.id||_;else V.processingCallId=w?.call_id||_;R.set(L,{kind:"custom",id:_,customKind:`google.${S}`,google:V})}else if(S==="function_call"){let V=w?.id||_,J=w?.name??"unknown";v=!0;let X={kind:"function_call",id:_,toolCallId:V,toolName:J,argumentsAccum:"",...w?.signature!=null?{signature:w.signature}:{}};R.set(L,X),P.enqueue({type:"tool-input-start",id:V,toolName:J})}else if(S!=null&&pi.has(S)){let V=S==="mcp_server_tool_call"?w?.name??"mcp_server_tool":hi(S),J={kind:"builtin_tool_call",id:_,blockType:S,toolCallId:w?.id||_,toolName:V,arguments:w?.arguments??{},callEmitted:!1};R.set(L,J)}else if(S!=null&&gi.has(S)){let V=S==="mcp_server_tool_result"?w?.name??"mcp_server_tool":mi(S),J={kind:"builtin_tool_result",id:_,blockType:S,callId:w?.call_id||_,toolName:V,result:w?.result??null,...w?.is_error!=null?{isError:w.is_error}:{},resultEmitted:!1};R.set(L,J)}else R.set(L,{kind:"unknown",id:_});break}case"step.delta":{let M=B,w=R.get(M.index);if(w==null)break;let L=M.delta?.type;if(w.kind==="pending_model_output"){if(L==="text"||L==="text_annotation"||L==="text_annotation_delta"){let S={kind:"text",id:w.id,emittedSourceKeys:new Set};R.set(M.index,S),w=S,P.enqueue({type:"text-start",id:S.id})}}if(L==="image"&&(w.kind==="pending_model_output"||w.kind==="text"||w.kind==="image")){let S=M.delta,V={};if(f!=null)V.interactionId=f;let J=Object.keys(V).length>0?{google:V}:void 0;if(S?.data!=null&&S.data.length>0)P.enqueue({type:"file",mediaType:S.mime_type??"image/png",data:{type:"data",data:S.data},...J?{providerMetadata:J}:{}});else if(S?.uri!=null&&S.uri.length>0)P.enqueue({type:"file",mediaType:S.mime_type??"image/png",data:{type:"url",url:new URL(S.uri)},...J?{providerMetadata:J}:{}});if(w.kind==="image")w.data=void 0,w.uri=void 0;break}if(L==="video"&&(w.kind==="pending_model_output"||w.kind==="text")){let S=M.delta,V={};if(f!=null)V.interactionId=f;let J=Object.keys(V).length>0?{google:V}:void 0;if(S?.data!=null&&S.data.length>0)P.enqueue({type:"file",mediaType:S.mime_type??"video/mp4",data:{type:"data",data:S.data},...J?{providerMetadata:J}:{}});else if(S?.uri!=null&&S.uri.length>0)P.enqueue({type:"file",mediaType:S.mime_type??"video/mp4",data:{type:"url",url:new URL(S.uri)},...J?{providerMetadata:J}:{}});break}let _=M.delta;if(w.kind==="custom"&&(_?.type==="processing_call"||_?.type==="processing_result")){if(_.signature!=null)w.google.signature=_.signature;if(_.type==="processing_call"&&_.id!=null&&_.id.length>0)w.google.processingId=_.id;if(_.type==="processing_result"&&_.call_id!=null&&_.call_id.length>0)w.google.processingCallId=_.call_id}else if(w.kind==="text"&&_?.type==="text"){let S=_.text??"";if(S.length>0)P.enqueue({type:"text-delta",id:w.id,delta:S})}else if(w.kind==="text"&&(_?.type==="text_annotation"||_?.type==="text_annotation_delta")){let S=vt({annotations:_.annotations,generateId:c});for(let V of S){let J=q(V);if(N.has(J))continue;N.add(J),w.emittedSourceKeys.add(J),P.enqueue(V)}}else if(w.kind==="image"&&_?.type==="image"){if(_.data!=null)w.data=_.data;if(_.mime_type!=null)w.mimeType=_.mime_type;if(_.uri!=null)w.uri=_.uri}else if(w.kind==="reasoning"){if(_?.type==="thought_summary"){let S=_.content;if(S?.type==="text"&&typeof S.text==="string")P.enqueue({type:"reasoning-delta",id:w.id,delta:S.text})}else if(_?.type==="thought_signature"){let S=_.signature;if(S!=null)w.signature=S}}else if(w.kind==="function_call"&&_?.type==="arguments_delta"){let S=typeof _.arguments==="string"?_.arguments:"";if(S.length>0)w.argumentsAccum+=S,P.enqueue({type:"tool-input-delta",id:w.toolCallId,delta:S});if(_.id!=null&&_.id.length>0)w.toolCallId=_.id;if(_.signature!=null)w.signature=_.signature;v=!0}else if(w.kind==="builtin_tool_call"&&_?.type===w.blockType){if(_.id!=null&&_.id.length>0)w.toolCallId=_.id;if(_.arguments!=null&&typeof _.arguments==="object")w.arguments=_.arguments;if(_.name!=null&&w.blockType==="mcp_server_tool_call")w.toolName=_.name}else if(w.kind==="builtin_tool_result"&&_?.type===w.blockType){if(_.call_id!=null&&_.call_id.length>0)w.callId=_.call_id;if(_.result!==void 0)w.result=_.result;if(_.is_error!=null)w.isError=_.is_error;if(_.name!=null&&w.blockType==="mcp_server_tool_result")w.toolName=_.name}break}case"step.stop":{let M=B,w=R.get(M.index);if(w==null)break;if(w.kind==="text"){let L=f!=null?{google:{interactionId:f}}:void 0;P.enqueue({type:"text-end",id:w.id,...L?{providerMetadata:L}:{}})}else if(w.kind==="reasoning"){let L={};if(w.signature!=null)L.signature=w.signature;if(f!=null)L.interactionId=f;let _=Object.keys(L).length>0?{google:L}:void 0;P.enqueue({type:"reasoning-end",id:w.id,..._?{providerMetadata:_}:{}})}else if(w.kind==="image"){let L={};if(f!=null)L.interactionId=f;let _=Object.keys(L).length>0?{google:L}:void 0;if(w.data!=null&&w.data.length>0)P.enqueue({type:"file",mediaType:w.mimeType??"image/png",data:{type:"data",data:w.data},..._?{providerMetadata:_}:{}});else if(w.uri!=null&&w.uri.length>0)P.enqueue({type:"file",mediaType:w.mimeType??"image/png",data:{type:"url",url:new URL(w.uri)},..._?{providerMetadata:_}:{}})}else if(w.kind==="function_call"){let L=w.argumentsAccum.length>0?w.argumentsAccum:"{}";P.enqueue({type:"tool-input-end",id:w.toolCallId});let _={};if(w.signature!=null)_.signature=w.signature;if(f!=null)_.interactionId=f;let S=Object.keys(_).length>0?{google:_}:void 0;P.enqueue({type:"tool-call",toolCallId:w.toolCallId,toolName:w.toolName,input:L,...S?{providerMetadata:S}:{}})}else if(w.kind==="custom")P.enqueue({type:"custom",kind:w.customKind,providerMetadata:{google:w.google}});else if(w.kind==="builtin_tool_call"&&!w.callEmitted)P.enqueue({type:"tool-call",toolCallId:w.toolCallId,toolName:w.toolName,input:JSON.stringify(w.arguments??{}),providerExecuted:!0}),w.callEmitted=!0;else if(w.kind==="builtin_tool_result"&&!w.resultEmitted){P.enqueue({type:"tool-result",toolCallId:w.callId,toolName:w.toolName,result:w.result??null}),w.resultEmitted=!0;let L=pn({block:{type:w.blockType,call_id:w.callId,result:w.result},generateId:c});for(let _ of L){let S=q(_);if(N.has(S))continue;N.add(S),P.enqueue(_)}}R.delete(M.index);break}case"interaction.status_update":case"interaction.in_progress":case"interaction.requires_action":{let M=B;if(M.status!=null)T=M.status;else if(K==="interaction.requires_action")T="requires_action";else T="in_progress";break}case"interaction.completed":{O=!0;let M=B.interaction;if(M?.id!=null&&M.id.length>0)f=M.id;if(M?.status!=null)T=M.status;if(M?.usage!=null)y=M.usage;if(M?.service_tier!=null)x=M.service_tier;break}case"error":{let M=B;T="failed",P.enqueue({type:"error",error:Ht({message:M.error?.message??"Unknown interaction error",type:M.event_type,code:M.error?.code??void 0,data:M})});break}}},flush(U){let P=!O&&(T==null||T==="in_progress"),B={unified:P?"interrupted":It({status:T,hasFunctionCall:v}),raw:P?void 0:T},K=un(y),M={google:{...f!=null?{interactionId:f}:{},...x!=null?{serviceTier:x}:{},...K!=null?{outputTokensByModality:K}:{}}};U.enqueue({type:"finish",finishReason:B,usage:St(y),providerMetadata:M})}})}function fi({prompt:i,previousInteractionId:c,store:g,mediaResolution:h}){let f=[],y=c!=null&&g===!1,x=c!=null&&g!==!1;if(y)f.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 T=x?vi({prompt:i,previousInteractionId:c}):i,v=[],O=[];for(let R of T)switch(R.role){case"system":v.push(R.content);break;case"user":{let N=[];for(let U of R.content)if(U.type==="text")N.push({type:"text",text:U.text});else if(U.type==="file"){let P=Ft({part:U,warnings:f,mediaResolution:h});if(P!=null)N.push(P)}let q=Ci(N);if(q.length>0)O.push({type:"user_input",content:q});break}case"assistant":{let N=[],q=()=>{if(N.length>0)O.push({type:"model_output",content:N}),N=[]};for(let U of R.content)if(U.type==="text")N.push({type:"text",text:U.text});else if(U.type==="reasoning"){q();let P=U.providerOptions?.google?.signature;O.push({type:"thought",...P!=null?{signature:P}:{},summary:U.text.length>0?[{type:"text",text:U.text}]:void 0})}else if(U.type==="file"){let P=Ft({part:U,warnings:f,mediaResolution:h});if(P!=null)N.push(P)}else if(U.type==="custom"){q();let P=U.providerOptions?.google,B=typeof P?.signature==="string"?P.signature:void 0;if(U.kind==="google.processing_call"&&typeof P?.processingId==="string")O.push({type:"processing_call",id:P.processingId,...B!=null?{signature:B}:{}});else if(U.kind==="google.processing_result"&&typeof P?.processingCallId==="string")O.push({type:"processing_result",call_id:P.processingCallId,...B!=null?{signature:B}:{}});else f.push({type:"other",message:`google.interactions: unsupported or invalid custom assistant content part "${U.kind}"; part dropped.`})}else if(U.type==="tool-call"){q();let P=U.providerOptions?.google?.signature,B=typeof U.input==="string"?bi(U.input):U.input??{};O.push({type:"function_call",id:U.toolCallId,name:U.toolName,arguments:B,...P!=null?{signature:P}:{}})}else f.push({type:"other",message:`google.interactions: unsupported assistant content part type "${U.type}"; part dropped.`});q();break}case"tool":{let N=[];for(let q of R.content){if(q.type!=="tool-result"){f.push({type:"other",message:`google.interactions: unsupported tool message part type "${q.type}"; part dropped.`});continue}let U=Ti({toolCallId:q.toolCallId,toolName:q.toolName,output:q.output,signature:q.providerOptions?.google?.signature,warnings:f});N.push(U)}if(N.length>0)O.push({type:"user_input",content:N});break}}return{input:O,systemInstruction:v.length>0?v.join(`
|
|
10
|
+
|
|
11
|
+
`):void 0,warnings:f}}function Ft({part:i,warnings:c,mediaResolution:g}){if(i.data.type==="text")return{type:"text",text:i.data.text};let h=ge(i.mediaType),f;switch(h){case"image":f="image";break;case"audio":f="audio";break;case"video":f="video";break;case"application":case"text":f="document";break;default:f=void 0}if(f==null){c.push({type:"other",message:`google.interactions: unsupported file media type "${i.mediaType}"; part dropped.`});return}let y=g!=null&&(f==="image"||f==="video")?{resolution:g}:{},x=f==="video"?yi({part:i,warnings:c}):{};switch(i.data.type){case"data":{let T=ee({part:i});return{type:f,data:j(i.data.data),mime_type:T,...y,...x}}case"url":return{type:f,uri:i.data.url.toString(),...Ae(i.mediaType)?{mime_type:i.mediaType}:{},...y,...x};case"reference":{let T=$e({reference:i.data.reference,provider:"google"});return{type:f,uri:T,...Ae(i.mediaType)?{mime_type:i.mediaType}:{},...y,...x}}}}function yi({part:i,warnings:c}){let g=i.providerOptions?.google?.processing;if(g==null)return{};if(g==="agentic"||g==="static")return{processing:g};if(typeof g==="object"&&!Array.isArray(g)&&g.type==="static"){let h=g;return{processing:{type:"static",...typeof h.startOffset==="number"?{start_offset:`${h.startOffset}s`}:{},...typeof h.endOffset==="number"?{end_offset:`${h.endOffset}s`}:{},...typeof h.fps==="number"?{fps:h.fps}:{}}}}return c.push({type:"other",message:'google.interactions: invalid providerOptions.google.processing on video file part; expected "agentic", "static", or a static processing configuration. Option dropped.'}),{}}function vi({prompt:i,previousInteractionId:c}){let g=[],h=new Set;for(let f of i){if(f.role==="assistant"){if(f.content.some((y)=>y.providerOptions?.google?.interactionId===c)){for(let y of f.content)if(y.type==="tool-call")h.add(y.toolCallId);continue}g.push(f);continue}if(f.role==="tool"){let y=f.content.filter((x)=>{if(x.type!=="tool-result")return!0;return!h.has(x.toolCallId)});if(y.length===0)continue;g.push({...f,content:y});continue}g.push(f)}return g}function bi(i){try{let c=Ke(i);if(c!=null&&typeof c==="object"&&!Array.isArray(c))return c;return{value:c}}catch{return{value:i}}}function Ti({toolCallId:i,toolName:c,output:g,signature:h,warnings:f}){let y={type:"function_result",call_id:i,name:c,...h!=null?{signature:h}:{}};switch(g.type){case"text":return{...y,result:g.value};case"json":return{...y,result:JSON.stringify(g.value)};case"error-text":return{...y,is_error:!0,result:g.value};case"error-json":return{...y,is_error:!0,result:JSON.stringify(g.value)};case"execution-denied":return{...y,is_error:!0,result:g.reason??"Tool execution denied by user."};case"content":{let x=[];for(let T of g.value)if(T.type==="text")x.push({type:"text",text:T.text});else if(T.type==="file"){if(ge(T.mediaType)!=="image"){f.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 v=_i({part:T,warnings:f});if(v!=null)x.push(v)}else f.push({type:"other",message:`google.interactions: tool-result content part type "${T.type}" is not supported; part dropped.`});return{...y,result:x}}}}function _i({part:i,warnings:c}){switch(i.data.type){case"data":{let g=Ae(i.mediaType)?i.mediaType:ee({part:{type:"file",mediaType:i.mediaType,data:i.data}});return{type:"image",data:j(i.data.data),mime_type:g}}case"url":return{type:"image",uri:i.data.url.toString(),...Ae(i.mediaType)?{mime_type:i.mediaType}:{}};case"reference":return{type:"image",uri:$e({reference:i.data.reference,provider:"google"}),...Ae(i.mediaType)?{mime_type:i.mediaType}:{}};case"text":c.push({type:"other",message:'google.interactions: tool-result image part with `data.type === "text"` is not representable as an image; part dropped.'});return}}function Ci(i){if(i.length<2)return i;let c=[];for(let g of i){let h=c[c.length-1];if(g.type==="text"&&h!=null&&h.type==="text"&&h.annotations==null&&g.annotations==null){let f={type:"text",text:`${h.text}
|
|
12
|
+
|
|
13
|
+
${g.text}`};c[c.length-1]=f;continue}c.push(g)}return c}var at=()=>t({modality:e().nullish(),tokens:n().nullish()}).loose(),gn=()=>t({total_input_tokens:n().nullish(),total_output_tokens:n().nullish(),total_thought_tokens:n().nullish(),total_cached_tokens:n().nullish(),total_tool_use_tokens:n().nullish(),total_tokens:n().nullish(),input_tokens_by_modality:o(at()).nullish(),output_tokens_by_modality:o(at()).nullish(),cached_tokens_by_modality:o(at()).nullish(),tool_use_tokens_by_modality:o(at()).nullish(),grounding_tool_count:o(t({type:e().nullish(),count:n().nullish()}).loose()).nullish()}).loose(),hn=()=>s(["in_progress","requires_action","completed","failed","cancelled","incomplete"]),mn=()=>{let i=t({type:a("url_citation"),url:e().nullish(),title:e().nullish(),start_index:n().nullish(),end_index:n().nullish()}).loose(),c=t({type:a("file_citation"),file_name:e().nullish(),document_uri:e().nullish(),url:e().nullish(),page_number:n().nullish(),media_id:e().nullish(),start_index:n().nullish(),end_index:n().nullish(),custom_metadata:d(e(),m()).nullish()}).loose(),g=t({type:a("place_citation"),name:e().nullish(),url:e().nullish(),place_id:e().nullish(),start_index:n().nullish(),end_index:n().nullish()}).loose();return p([i,c,g,t({type:e()}).loose()])},fn=()=>t({type:e(),text:e().nullish(),data:e().nullish(),mime_type:e().nullish()}).loose(),Bt=()=>{let i=t({type:a("text"),text:e(),annotations:o(mn()).nullish()}).loose(),c=t({type:a("image"),data:e().nullish(),mime_type:e().nullish(),resolution:s(["low","medium","high","ultra_high"]).nullish(),uri:e().nullish()}).loose(),g=t({type:a("video"),data:e().nullish(),mime_type:e().nullish(),uri:e().nullish()}).loose();return p([i,c,g,t({type:e()}).loose()])},yn=["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"],vn=["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"],bn=()=>{let i=t({type:a("user_input"),content:o(Bt()).nullish()}).loose(),c=t({type:a("model_output"),content:o(Bt()).nullish()}).loose(),g=t({type:a("function_call"),id:e(),name:e(),arguments:d(e(),m()).nullish(),signature:e().nullish()}).loose(),h=t({type:a("thought"),signature:e().nullish(),summary:o(fn()).nullish()}).loose(),f=t({type:a("processing_call"),id:e(),signature:e().nullish()}).loose(),y=t({type:a("processing_result"),call_id:e(),signature:e().nullish()}).loose(),x=t({type:s(yn),id:e(),arguments:d(e(),m()).nullish(),name:e().nullish(),server_name:e().nullish(),search_type:e().nullish(),signature:e().nullish()}).loose(),T=t({type:s(vn),call_id:e(),result:m().nullish(),is_error:r().nullish(),name:e().nullish(),server_name:e().nullish(),signature:e().nullish()}).loose();return p([i,c,g,h,f,y,x,T,t({type:e()}).loose()])},bt=u(()=>l(t({id:e().nullish(),created:e().nullish(),updated:e().nullish(),status:hn(),model:e().nullish(),agent:e().nullish(),steps:o(bn()).nullish(),usage:gn().nullish(),service_tier:e().nullish(),previous_interaction_id:e().nullish(),response_modalities:o(e()).nullish()}).loose())),Tn=u(()=>l((()=>{let i=hn(),c=mn(),g=fn(),h=t({event_type:a("interaction.created"),event_id:e().nullish(),interaction:t({id:e().nullish(),created:e().nullish(),model:e().nullish(),agent:e().nullish(),status:i.nullish()}).loose()}).loose(),f=t({event_type:a("step.start"),event_id:e().nullish(),index:n(),step:bn()}).loose(),y=t({type:a("text"),text:e()}).loose(),x=t({type:a("thought_summary"),content:g.nullish()}).loose(),T=t({type:a("thought_signature"),signature:e().nullish()}).loose(),v=t({type:a("arguments_delta"),arguments:e().nullish(),id:e().nullish(),signature:e().nullish()}).loose(),O=t({type:s(["text_annotation_delta","text_annotation"]),annotations:o(c).nullish()}).loose(),R=t({type:a("image"),data:e().nullish(),mime_type:e().nullish(),resolution:s(["low","medium","high","ultra_high"]).nullish(),uri:e().nullish()}).loose(),N=t({type:a("video"),data:e().nullish(),mime_type:e().nullish(),uri:e().nullish()}).loose(),q=t({type:s(yn),id:e().nullish(),arguments:d(e(),m()).nullish(),name:e().nullish(),server_name:e().nullish(),search_type:e().nullish(),signature:e().nullish()}).loose(),U=t({type:s(vn),call_id:e().nullish(),result:m().nullish(),is_error:r().nullish(),name:e().nullish(),server_name:e().nullish(),signature:e().nullish()}).loose(),P=t({type:e()}).loose(),B=p([y,R,N,x,T,v,O,q,U,P]),K=t({event_type:a("step.delta"),event_id:e().nullish(),index:n(),delta:B}).loose(),M=t({event_type:a("step.stop"),event_id:e().nullish(),index:n()}).loose(),w=t({event_type:a("interaction.status_update"),event_id:e().nullish(),interaction_id:e().nullish(),status:i.nullish()}).loose(),L=t({event_type:a("interaction.in_progress"),event_id:e().nullish(),interaction_id:e().nullish(),status:i.nullish()}).loose(),_=t({event_type:a("interaction.requires_action"),event_id:e().nullish(),interaction_id:e().nullish(),status:i.nullish()}).loose(),S=t({event_type:a("interaction.completed"),event_id:e().nullish(),interaction:t({id:e().nullish(),status:i.nullish(),usage:gn().nullish(),service_tier:e().nullish()}).loose()}).loose(),V=t({event_type:a("error"),event_id:e().nullish(),error:t({code:e().nullish(),message:e().nullish()}).loose().nullish()}).loose(),J=t({event_type:e()}).loose();return p([h,f,K,M,w,L,_,S,V,J])})())),wi=u(()=>l(t({previousInteractionId:e().nullish(),store:r().nullish(),agent:e().nullish(),agentConfig:p([t({type:a("dynamic")}).loose(),t({type:a("deep-research"),thinkingSummaries:s(["auto","none"]).nullish(),visualization:s(["off","auto"]).nullish(),collaborativePlanning:r().nullish()})]).nullish(),thinkingLevel:s(["minimal","low","medium","high"]).nullish(),thinkingSummaries:s(["auto","none"]).nullish(),responseFormat:o(p([t({type:a("text"),mimeType:e().nullish(),schema:m().nullish()}).loose(),t({type:a("image"),mimeType:e().nullish(),aspectRatio:s(["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:s(["1K","2K","4K","512"]).nullish()}).loose(),t({type:a("audio"),mimeType:e().nullish()}).loose(),t({type:a("video"),aspectRatio:s(["16:9","9:16"]).nullish(),resolution:s(["360p","720p","1080p","4k"]).nullish(),duration:e().nullish(),delivery:s(["inline","uri"]).nullish(),gcsUri:e().nullish()}).loose()])).nullish(),imageConfig:t({aspectRatio:s(["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:s(["1K","2K","4K","512"]).nullish()}).nullish(),mediaResolution:s(["low","medium","high","ultra_high"]).nullish(),responseModalities:o(s(["text","image","audio","video","document"])).nullish(),serviceTier:s(["flex","standard","priority"]).nullish(),systemInstruction:e().nullish(),signature:e().nullish(),interactionId:e().nullish(),pollingTimeoutMs:n().int().positive().nullish(),background:r().nullish(),environment:p([e(),t({type:a("remote"),sources:o(p([t({type:a("gcs"),source:e(),target:e().nullish()}),t({type:a("repository"),source:e(),target:e().nullish()}),t({type:a("inline"),content:e(),target:e()})])).nullish(),network:p([a("disabled"),t({allowlist:o(t({domain:e(),transform:o(d(e(),e())).nullish()}))})]).nullish()})]).nullish()})));function Ne({signature:i,interactionId:c,processingId:g,processingCallId:h}){let f={};if(i!=null)f.signature=i;if(c!=null)f.interactionId=c;if(g!=null)f.processingId=g;if(h!=null)f.processingCallId=h;return Object.keys(f).length>0?{providerMetadata:{google:f}}:{}}var Si=new Set(["google_search_call","code_execution_call","url_context_call","file_search_call","google_maps_call","mcp_server_tool_call"]),Ii=new Set(["google_search_result","code_execution_result","url_context_result","file_search_result","google_maps_result","mcp_server_tool_result"]);function ki(i){return i.replace(/_call$/,"")}function xi(i){return i.replace(/_result$/,"")}function _n({steps:i,generateId:c,interactionId:g}){let h=[],f=!1;if(i==null)return{content:h,hasFunctionCall:f};for(let y of i){if(y==null||typeof y!=="object")continue;let x=y.type;if(typeof x!=="string")continue;switch(x){case"user_input":break;case"model_output":{let T=y.content??[];for(let v of T){if(v==null||typeof v!=="object")continue;let O=v.type;if(O==="text"){let R=v.text??"",N=v.annotations;h.push({type:"text",text:R,...Ne({interactionId:g})});let q=vt({annotations:N,generateId:c});for(let U of q)h.push(U)}else if(O==="image"){let R=v;if(R.data!=null&&R.data.length>0)h.push({type:"file",mediaType:R.mime_type??"image/png",data:{type:"data",data:R.data},...Ne({interactionId:g})});else if(R.uri!=null&&R.uri.length>0)h.push({type:"file",mediaType:R.mime_type??"image/png",data:{type:"url",url:new URL(R.uri)},...Ne({interactionId:g})})}else if(O==="video"){let R=v;if(R.data!=null&&R.data.length>0)h.push({type:"file",mediaType:R.mime_type??"video/mp4",data:{type:"data",data:R.data},...Ne({interactionId:g})});else if(R.uri!=null&&R.uri.length>0)h.push({type:"file",mediaType:R.mime_type??"video/mp4",data:{type:"url",url:new URL(R.uri)},...Ne({interactionId:g})})}}break}case"thought":{let T=y,v=(Array.isArray(T.summary)?T.summary:[]).filter((O)=>O?.type==="text"&&typeof O.text==="string").map((O)=>O.text).join(`
|
|
14
|
+
`);h.push({type:"reasoning",text:v,...Ne({signature:T.signature,interactionId:g})});break}case"processing_call":{let T=y,v=T.id||c();h.push({type:"custom",kind:"google.processing_call",...Ne({signature:T.signature,interactionId:g,processingId:v})});break}case"processing_result":{let T=y,v=T.call_id||c();h.push({type:"custom",kind:"google.processing_result",...Ne({signature:T.signature,interactionId:g,processingCallId:v})});break}case"function_call":{f=!0;let T=y;h.push({type:"tool-call",toolCallId:T.id,toolName:T.name,input:JSON.stringify(T.arguments??{}),...Ne({signature:T.signature,interactionId:g})});break}default:if(Si.has(x)){let T=y,v=x==="mcp_server_tool_call"?T.name??"mcp_server_tool":ki(x),O=JSON.stringify(T.arguments??{});h.push({type:"tool-call",toolCallId:T.id||c(),toolName:v,input:O,providerExecuted:!0})}else if(Ii.has(x)){let T=y,v=x==="mcp_server_tool_result"?T.name??"mcp_server_tool":xi(x);h.push({type:"tool-result",toolCallId:T.call_id||c(),toolName:v,result:T.result??null});let O=pn({block:y,generateId:c});for(let R of O)h.push(R)}}}return{content:h,hasFunctionCall:f}}var Ri=()=>globalThis.fetch;async function Cn({baseURL:i,interactionId:c,headers:g,fetch:h=Ri()}){if(c==null||c.length===0)return;let f=`${i}/interactions/${encodeURIComponent(c)}/cancel`;try{let y=await h(f,{method:"POST",headers:Se(I({"Content-Type":"application/json"},g),Ai()),body:"{}"});try{await y.text()}catch{}}catch{}}var Mi=new Set(["completed","failed","cancelled","incomplete"]);function Tt(i){return i!=null&&Mi.has(i)}var Ei=1000,Li=1e4,ji=1800000;async function Ui({baseURL:i,interactionId:c,headers:g,fetch:h,abortSignal:f,initialDelayMs:y=Ei,maxDelayMs:x=Li,timeoutMs:T=ji}){if(c==null||c.length===0)throw Error("google.interactions: cannot poll a background interaction without an id. The POST response did not include an interaction id.");let v=Date.now(),O=y,R=`${i}/interactions/${encodeURIComponent(c)}`,N=()=>Cn({baseURL:i,interactionId:c,headers:g,fetch:h});try{while(!0){if(f?.aborted)throw await N(),new DOMException("Polling was aborted","AbortError");if(Date.now()-v>T)throw Error(`google.interactions: timed out polling interaction ${c} after ${T}ms.`);await Oi(O,{abortSignal:f});let{value:q,rawValue:U,responseHeaders:P}=await De({url:R,validateUrl:!1,headers:g,failedResponseHandler:he,successfulResponseHandler:E(bt),abortSignal:f,fetch:h});if(Tt(q.status))return{response:q,rawResponse:U,responseHeaders:P};O=Math.min(O*2,x)}}catch(q){if(Me(q))await N();throw q}}function Ni({tools:i,toolChoice:c}){let g=[],h=i?.length?i:void 0;if(h==null)return{tools:void 0,toolChoice:void 0,toolWarnings:g};let f=[];for(let T of h){if(T.type==="function"){f.push({type:"function",name:T.name,description:T.description??"",parameters:T.inputSchema});continue}if(T.type==="provider"){let v=T.args??{};switch(T.id){case"google.google_search":{let O=v.searchTypes,R;if(O!=null&&typeof O==="object"){let N=[];if(O.webSearch!=null)N.push("web_search");if(O.imageSearch!=null)N.push("image_search");if(N.length>0)R=N}f.push({type:"google_search",...R!=null?{search_types:R}:{}});break}case"google.code_execution":f.push({type:"code_execution"});break;case"google.url_context":f.push({type:"url_context"});break;case"google.file_search":f.push({type:"file_search",...v.fileSearchStoreNames!=null?{file_search_store_names:v.fileSearchStoreNames}:{},...v.topK!=null?{top_k:v.topK}:{},...v.metadataFilter!=null?{metadata_filter:v.metadataFilter}:{}});break;case"google.google_maps":f.push({type:"google_maps",...v.latitude!=null?{latitude:v.latitude}:{},...v.longitude!=null?{longitude:v.longitude}:{},...v.enableWidget!=null?{enable_widget:v.enableWidget}:{}});break;case"google.computer_use":f.push({type:"computer_use",environment:v.environment??"browser",...v.excludedPredefinedFunctions!=null?{excludedPredefinedFunctions:v.excludedPredefinedFunctions}:{}});break;case"google.mcp_server":f.push({type:"mcp_server",...v.name!=null?{name:v.name}:{},...v.url!=null?{url:v.url}:{},...v.headers!=null?{headers:v.headers}:{},...v.allowedTools!=null?{allowed_tools:v.allowedTools}:{}});break;case"google.retrieval":{let O=v.vertexAiSearchConfig??void 0;f.push({type:"retrieval",...v.retrievalTypes!=null?{retrieval_types:v.retrievalTypes}:{retrieval_types:["vertex_ai_search"]},...O!=null?{vertex_ai_search_config:O}:{}});break}default:g.push({type:"unsupported",feature:`provider-defined tool ${T.id}`,details:`provider-defined tool ${T.id} is not supported by google.interactions; tool dropped.`})}continue}g.push({type:"unsupported",feature:`tool of type ${T.type}`,details:"Only function tools and google.* provider-defined tools are supported by google.interactions; tool dropped."})}let y=f.some((T)=>T.type==="function"),x;if(c!=null&&y)switch(c.type){case"auto":x="auto";break;case"required":x="any";break;case"none":x="none";break;case"tool":x={allowed_tools:{mode:"validated",tools:[c.toolName]}}}return{tools:f.length>0?f:void 0,toolChoice:x,toolWarnings:g}}var Gi=3,Di=500;function Pi({baseURL:i,interactionId:c,headers:g,fetch:h,abortSignal:f,maxRetries:y=Gi,retryDelayMs:x=Di}){if(c.length===0)throw Error("google.interactions: cannot stream a background interaction without an id.");let T={...g,accept:"text/event-stream"},v,O=!1,R=0,N=!1,q,U=new AbortController,P=()=>U.abort();if(f!=null)if(f.aborted)U.abort();else f.addEventListener("abort",P,{once:!0});let B=U.signal;function K(){let w=`${i}/interactions/${encodeURIComponent(c)}`,L=new URLSearchParams({stream:"true"});if(v!=null)L.set("last_event_id",v);return`${w}?${L.toString()}`}async function M(){let{value:w}=await De({url:K(),validateUrl:!1,headers:T,failedResponseHandler:he,successfulResponseHandler:qe(Tn),abortSignal:B,fetch:h});return w.getReader()}return new ReadableStream({async start(w){try{while(!O&&!B.aborted){if(q==null)try{q=await M(),N=!1}catch(L){if(Me(L)||B.aborted){w.error(L);return}if(R++,R>=y){w.error(L);return}await Oi(x*R,{abortSignal:B});continue}try{let{done:L,value:_}=await q.read();if(L){if(q=void 0,O)break;if(!N){if(R++,R>=y){w.error(Error("google.interactions: SSE stream closed without producing any events."));return}await Oi(x*R,{abortSignal:B})}else R=0;continue}if(N=!0,_.success){let S=_.value;if(typeof S.event_id==="string"&&S.event_id.length>0)v=S.event_id;if(S.event_type==="interaction.completed"||S.event_type==="error")O=!0}w.enqueue(_)}catch(L){if(Me(L)||B.aborted){w.error(L);return}if(q=void 0,R++,R>=y){w.error(L);return}await Oi(x*R,{abortSignal:B})}}w.close()}catch(L){w.error(L)}finally{if(f!=null)f.removeEventListener("abort",P);if(q?.cancel().catch(()=>{}),q=void 0,B.aborted&&!O)await Cn({baseURL:i,interactionId:c,headers:g,fetch:h})}},cancel(){U.abort(),q?.cancel().catch(()=>{}),q=void 0}})}function qi({response:i,warnings:c,generateId:g,includeRawChunks:h,headerServiceTier:f}){return new ReadableStream({start(y){y.enqueue({type:"stream-start",warnings:c});let x=typeof i.id==="string"&&i.id.length>0?i.id:void 0,T,v=i.created;if(typeof v==="string"){let K=new Date(v);if(!Number.isNaN(K.getTime()))T=K}if(y.enqueue({type:"response-metadata",...x!=null?{id:x}:{},modelId:i.model??void 0,...T?{timestamp:T}:{}}),h)y.enqueue({type:"raw",rawValue:i});let{content:O,hasFunctionCall:R}=_n({steps:i.steps??null,generateId:g,interactionId:x}),N=0,q=()=>`${x??"agent"}:${N++}`;for(let K of O)switch(K.type){case"text":{let M=q(),w=K.providerMetadata;if(y.enqueue({type:"text-start",id:M}),K.text.length>0)y.enqueue({type:"text-delta",id:M,delta:K.text});y.enqueue({type:"text-end",id:M,...w?{providerMetadata:w}:{}});break}case"reasoning":{let M=q(),w=K.providerMetadata;if(y.enqueue({type:"reasoning-start",id:M}),K.text.length>0)y.enqueue({type:"reasoning-delta",id:M,delta:K.text});y.enqueue({type:"reasoning-end",id:M,...w?{providerMetadata:w}:{}});break}case"tool-call":{let M=K.providerMetadata;y.enqueue({type:"tool-input-start",id:K.toolCallId,toolName:K.toolName,...K.providerExecuted?{providerExecuted:K.providerExecuted}:{}}),y.enqueue({type:"tool-input-delta",id:K.toolCallId,delta:K.input}),y.enqueue({type:"tool-input-end",id:K.toolCallId}),y.enqueue({type:"tool-call",toolCallId:K.toolCallId,toolName:K.toolName,input:K.input,...K.providerExecuted?{providerExecuted:K.providerExecuted}:{},...M?{providerMetadata:M}:{}});break}case"tool-result":y.enqueue({type:"tool-result",toolCallId:K.toolCallId,toolName:K.toolName,result:K.result});break;case"source":case"file":y.enqueue(K)}let U=i.service_tier??f,P={unified:It({status:i.status,hasFunctionCall:R}),raw:i.status},B={google:{...x!=null?{interactionId:x}:{},...U!=null?{serviceTier:U}:{}}};y.enqueue({type:"finish",finishReason:P,usage:St(i.usage),providerMetadata:B}),y.close()}})}var $i=class i{static[H](c){return{...te({modelId:c.modelId,config:c.config}),agent:c.agent}}static[Q](c){return new i(c.agent!=null?{agent:c.agent}:c.modelId,c.config)}constructor(c,g){if(this.specificationVersion="v4",typeof c==="string")this.modelId=c,this.agent=void 0;else if("managedAgent"in c)this.modelId=c.managedAgent,this.agent=c.managedAgent;else this.modelId=c.agent,this.agent=c.agent;this.config=g}get provider(){return this.config.provider}get supportedUrls(){if(this.config.supportedUrls)return this.config.supportedUrls();return{"image/*":[/^https?:\/\/.+/],"application/pdf":[/^https?:\/\/.+/],"audio/*":[/^https?:\/\/.+/],"video/*":[/^https?:\/\/(www\.)?youtube\.com\/watch\?v=.+/,/^https?:\/\/youtu\.be\/.+/,/^gs:\/\/.+/]}}async getArgs(c){let g=[],h=await k({provider:"google",providerOptions:c.providerOptions,schema:wi}),f=this.agent!=null;if(!f){if(c.frequencyPenalty!=null)g.push({type:"unsupported",feature:"frequencyPenalty"});if(c.presencePenalty!=null)g.push({type:"unsupported",feature:"presencePenalty"})}let y=c.tools!=null&&c.tools.length>0,x,T;if(y){let M=Ni({tools:c.tools,toolChoice:c.toolChoice});x=M.tools,T=M.toolChoice,g.push(...M.toolWarnings)}let v=[];if(c.responseFormat?.type==="json")if(f)g.push({type:"other",message:"google.interactions: structured output (responseFormat) is not supported when an agent is set; responseFormat will be ignored."});else{let M={type:"text",mime_type:"application/json",...c.responseFormat.schema!=null?{schema:c.responseFormat.schema}:{}};v.push(M)}if(h?.responseFormat!=null){for(let M of h.responseFormat)if(M.type==="text")v.push(Ue({type:"text",mime_type:M.mimeType??void 0,schema:M.schema??void 0}));else if(M.type==="image")v.push(Ue({type:"image",mime_type:M.mimeType??void 0,aspect_ratio:M.aspectRatio??void 0,image_size:M.imageSize??void 0}));else if(M.type==="audio")v.push(Ue({type:"audio",mime_type:M.mimeType??void 0}));else if(M.type==="video")v.push(Ue({type:"video",aspect_ratio:M.aspectRatio??void 0,resolution:M.resolution??void 0,duration:M.duration??void 0,delivery:M.delivery??void 0,gcs_uri:M.gcsUri??void 0}))}let{input:O,systemInstruction:R,warnings:N}=fi({prompt:c.prompt,previousInteractionId:h?.previousInteractionId??void 0,store:h?.store??void 0,mediaResolution:h?.mediaResolution??void 0});g.push(...N);let q=R,U=h?.systemInstruction??void 0;if(q!=null&&U!=null)g.push({type:"other",message:"google.interactions: both AI SDK system message and providerOptions.google.systemInstruction were set; using the AI SDK system message."});else if(q==null&&U!=null)q=U;let P;if(f){let M=[];if(c.temperature!=null)M.push("temperature");if(c.topP!=null)M.push("topP");if(c.topK!=null)M.push("topK");if(c.frequencyPenalty!=null)M.push("frequencyPenalty");if(c.presencePenalty!=null)M.push("presencePenalty");if(c.seed!=null)M.push("seed");if(c.stopSequences!=null&&c.stopSequences.length>0)M.push("stopSequences");if(c.maxOutputTokens!=null)M.push("maxOutputTokens");if(h?.thinkingLevel!=null)M.push("thinkingLevel");if(h?.thinkingSummaries!=null)M.push("thinkingSummaries");if(h?.imageConfig!=null)M.push("imageConfig");if(M.length>0)g.push({type:"other",message:`google.interactions: ${M.join(", ")} ${M.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=Ue({temperature:c.temperature??void 0,top_p:c.topP??void 0,top_k:c.topK??void 0,seed:c.seed??void 0,stop_sequences:c.stopSequences!=null&&c.stopSequences.length>0?c.stopSequences:void 0,max_output_tokens:c.maxOutputTokens??void 0,thinking_level:h?.thinkingLevel??void 0,thinking_summaries:h?.thinkingSummaries??void 0,tool_choice:T}),h?.imageConfig!=null){let M=v.some((w)=>w.type==="image");if(g.push({type:"other",message:M?"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.'}),!M)v.push({type:"image",mime_type:"image/png",...h.imageConfig.aspectRatio!=null?{aspect_ratio:h.imageConfig.aspectRatio}:{},...h.imageConfig.imageSize!=null?{image_size:h.imageConfig.imageSize}:{}})}let B;if(f&&h?.agentConfig!=null){let M=h.agentConfig;if(M.type==="deep-research")B=Ue({type:"deep-research",thinking_summaries:M.thinkingSummaries??void 0,visualization:M.visualization??void 0,collaborative_planning:M.collaborativePlanning??void 0});else if(M.type==="dynamic")B={type:"dynamic"}}let K;if(h?.environment!=null)if(!f)g.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 h.environment==="string")K=h.environment;else{let M=h.environment,w=M.sources?.map((_)=>{if(_.type==="inline")return{type:"inline",content:_.content,target:_.target};return Ue({type:_.type,source:_.source,target:_.target??void 0})}),L;if(M.network==="disabled")L="disabled";else if(M.network!=null)L={allowlist:M.network.allowlist.map((_)=>Ue({domain:_.domain,transform:_.transform??void 0}))};K=Ue({type:"remote",sources:w!=null&&w.length>0?w:void 0,network:L})}return{args:Ue({...f?{agent:this.agent}:{model:this.modelId},input:O,system_instruction:q,tools:x,response_format:v.length>0?v:void 0,response_modalities:h?.responseModalities!=null?h.responseModalities:void 0,previous_interaction_id:h?.previousInteractionId??void 0,service_tier:h?.serviceTier??void 0,store:h?.store??void 0,generation_config:P!=null&&Object.keys(P).length>0?P:void 0,agent_config:B,environment:K,background:h?.background??void 0}),warnings:g,isAgent:f,isBackground:h?.background===!0,pollingTimeoutMs:h?.pollingTimeoutMs??void 0}}async doGenerate(c){let{args:g,warnings:h,isAgent:f,isBackground:y,pollingTimeoutMs:x}=await this.getArgs(c),T=`${this.config.baseURL}/interactions`,v=I(this.config.headers?await W(this.config.headers):void 0,c.headers),{responseHeaders:O,value:R,rawValue:N}=await A({url:T,headers:v,body:g,failedResponseHandler:he,successfulResponseHandler:E(bt),abortSignal:c.abortSignal,fetch:this.config.fetch});if((f||y)&&!Tt(R.status)){let _=await Ui({baseURL:this.config.baseURL,interactionId:R.id,headers:v,fetch:this.config.fetch,abortSignal:c.abortSignal,timeoutMs:x});R=_.response,N=_.rawResponse,O=_.responseHeaders??O}let q=typeof R.id==="string"&&R.id.length>0?R.id:void 0,{content:U,hasFunctionCall:P}=_n({steps:R.steps??null,generateId:this.config.generateId??C,interactionId:q}),B={unified:It({status:R.status,hasFunctionCall:P}),raw:R.status},K=R.service_tier??O?.["x-gemini-service-tier"]??void 0,M=un(R.usage),w={google:{...q!=null?{interactionId:q}:{},...K!=null?{serviceTier:K}:{},...M!=null?{outputTokensByModality:M}:{}}},L;if(typeof R.created==="string"){let _=new Date(R.created);if(!Number.isNaN(_.getTime()))L=_}return{content:U,finishReason:B,usage:St(R.usage),warnings:h,providerMetadata:w,request:{body:g},response:{headers:O,body:N,...q!=null?{id:q}:{},...L?{timestamp:L}:{},modelId:R.model??void 0}}}async doStream(c){let{args:g,warnings:h,isBackground:f,pollingTimeoutMs:y}=await this.getArgs(c),x=`${this.config.baseURL}/interactions`,T=I(this.config.headers?await W(this.config.headers):void 0,c.headers);if(f)return this.doStreamBackground({args:g,warnings:h,url:x,mergedHeaders:T,options:c,pollingTimeoutMs:y});let v={...g,stream:!0},{responseHeaders:O,value:R}=await A({url:x,headers:T,body:v,failedResponseHandler:he,successfulResponseHandler:qe(Tn),abortSignal:c.abortSignal,fetch:this.config.fetch}),N=O?.["x-gemini-service-tier"],q=$t({warnings:h,generateId:this.config.generateId??C,includeRawChunks:c.includeRawChunks,serviceTier:N});return{stream:R.pipeThrough(q),request:{body:v},response:{headers:O}}}async doStreamBackground({args:c,warnings:g,url:h,mergedHeaders:f,options:y,pollingTimeoutMs:x}){let{responseHeaders:T,value:v}=await A({url:h,headers:f,body:c,failedResponseHandler:he,successfulResponseHandler:E(bt),abortSignal:y.abortSignal,fetch:this.config.fetch}),O=v.id;if(O==null||O.length===0)throw Error("google.interactions: background POST response did not include an interaction id; cannot stream the result.");let R=T?.["x-gemini-service-tier"];if(Tt(v.status))return{stream:qi({response:v,warnings:g,generateId:this.config.generateId??C,includeRawChunks:y.includeRawChunks,headerServiceTier:R}),request:{body:c},response:{headers:T}};let N=Pi({baseURL:this.config.baseURL,interactionId:O,headers:f,fetch:this.config.fetch,abortSignal:y.abortSignal}),q=$t({warnings:g,generateId:this.config.generateId??C,includeRawChunks:y.includeRawChunks,serviceTier:R});return{stream:N.pipeThrough(q),request:{body:c},response:{headers:T}}}};function Ue(i){let c={};for(let[g,h]of Object.entries(i)){if(h===void 0)continue;c[g]=h}return c}function wn(i){let c=new URL(i),g=c.pathname.split("/"),h=g.at(-1);if(h==="v1beta"||h==="v1alpha")g.pop(),c.pathname=g.join("/")||"/";return c}function kt(i,c){let g=wn(i);return g.protocol=g.protocol==="https:"?"wss:":"ws:",g.pathname=`${g.pathname.replace(/\/$/,"")}/ws/${c}`,g}var Fi=class{constructor(){this.turnCounter=0,this.inputTranscriptionCounter=0,this.inputTranscriptionBuffer="",this.inputTranscriptionBoundary="none",this.preserveInputTranscriptionAcrossTurnComplete=!1,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.inputAudioRate=16000}get responseId(){return`google-resp-${this.turnCounter}`}get itemId(){return`google-item-${this.turnCounter}`}beginTurnIfClosed(){if(!this.turnClosed)return;this.turnCounter++,this.hasAudio=!1,this.hasText=!1,this.hasTranscript=!1,this.turnClosed=!1,this.preserveInputTranscriptionAcrossTurnComplete=!1}accumulateInputTranscription({text:i,finished:c}){if(!i){if(c===!0)this.finishInputTranscription();return}let g=c!=null;if(this.inputTranscriptionBuffer!==""&&(this.inputTranscriptionBoundary==="interrupted"||this.inputTranscriptionBoundary==="turn-complete"&&!g))this.finishInputTranscription();this.inputTranscriptionBoundary="none",this.inputTranscriptionBuffer+=i;let h={itemId:`google-input-${this.inputTranscriptionCounter}`,transcript:this.inputTranscriptionBuffer};if(c===!0)this.finishInputTranscription();return h}finishInputTranscription(){if(this.inputTranscriptionBuffer==="")return;this.inputTranscriptionCounter++,this.inputTranscriptionBuffer=""}parseServerEvent(i){let c=i;if(c.setupComplete!=null)return{type:"session-created",raw:i};if(c.toolCall!=null)return this.beginTurnIfClosed(),(c.toolCall.functionCalls??[]).flatMap((g)=>{let h=JSON.stringify(g.args??{});return[{type:"function-call-arguments-delta",responseId:this.responseId,itemId:this.itemId,callId:g.id,delta:h,raw:i},{type:"function-call-arguments-done",responseId:this.responseId,itemId:this.itemId,callId:g.id,name:g.name,arguments:h,raw:i}]});if(c.toolCallCancellation!=null)return{type:"custom",rawType:"toolCallCancellation",raw:i};if(c.goAway!=null)return{type:"custom",rawType:"goAway",raw:i};if(c.sessionResumptionUpdate!=null)return{type:"custom",rawType:"sessionResumptionUpdate",raw:i};if(c.serverContent!=null)return this.parseServerContent(c.serverContent,i);if(c.inputTranscription!=null){let g=this.accumulateInputTranscription(c.inputTranscription);if(g!=null)return{type:"input-transcription-completed",...g,raw:i}}return{type:"custom",rawType:String(Object.keys(c)[0]),raw:i}}parseServerContent(i,c){let g=[];if(i.interrupted)this.inputTranscriptionBoundary="interrupted",this.preserveInputTranscriptionAcrossTurnComplete=!0,this.turnClosed=!0,g.push({type:"speech-started",raw:c});if(i.modelTurn?.parts){this.beginTurnIfClosed();for(let h of i.modelTurn.parts){if(h.inlineData?.data)this.hasAudio=!0,g.push({type:"audio-delta",responseId:this.responseId,itemId:this.itemId,delta:h.inlineData.data,raw:c});if(h.text)this.hasText=!0,g.push({type:"text-delta",responseId:this.responseId,itemId:this.itemId,delta:h.text,raw:c})}}if(i.outputTranscription?.text)this.hasTranscript=!0,g.push({type:"audio-transcript-delta",responseId:this.responseId,itemId:this.itemId,delta:i.outputTranscription.text,raw:c});if(i.inputTranscription!=null){let h=this.accumulateInputTranscription(i.inputTranscription);if(h!=null)g.push({type:"input-transcription-completed",...h,raw:c})}if(i.generationComplete)g.push({type:"custom",rawType:"generationComplete",raw:c});if(i.interactionStatus!=null)g.push({type:"custom",rawType:"interactionStatus",raw:c});if(i.waitingForInput)g.push({type:"custom",rawType:"waitingForInput",raw:c});if(i.turnComplete){if(this.hasAudio)g.push({type:"audio-done",responseId:this.responseId,itemId:this.itemId,raw:c});if(this.hasText)g.push({type:"text-done",responseId:this.responseId,itemId:this.itemId,raw:c});if(this.hasTranscript)g.push({type:"audio-transcript-done",responseId:this.responseId,itemId:this.itemId,raw:c});if(g.push({type:"response-done",responseId:this.responseId,status:"completed",raw:c}),this.turnClosed=!0,this.preserveInputTranscriptionAcrossTurnComplete)this.preserveInputTranscriptionAcrossTurnComplete=!1;else if(this.inputTranscriptionBoundary!=="interrupted")this.inputTranscriptionBoundary="turn-complete"}if(g.length===0)return{type:"custom",rawType:"serverContent",raw:c};return g.length===1?g[0]:g}serializeClientEvent(i,c){switch(i.type){case"session-update":if(i.config.inputAudioFormat?.rate!=null)this.inputAudioRate=i.config.inputAudioFormat.rate;return{setup:_t(i.config,c)};case"input-audio-append":return{realtimeInput:{audio:{data:i.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 g=i.item;switch(g.type){case"text-message":return{realtimeInput:{text:g.text}};case"function-call-output":return Hi(g);case"audio-message":return null}break}}return null}};function Bi(i){return typeof i==="object"&&i!==null&&!Array.isArray(i)?i:{output:i}}async function Hi(i){let c=await yt({text:i.output}),g=c.success?Bi(c.value):{output:i.output};return{toolResponse:{functionResponses:[{id:i.callId,name:i.name,response:g}]}}}function Vi(i){let c=i.split("/").at(-1)?.toLowerCase()??"";return/^gemini-\d+\.\d+-live\b.*thinking/.test(c)}function _t(i,c){let g={model:ze(c)},{google:h,...f}=i?.providerOptions??{},y=Ce(h)?h:void 0,x={};if(i?.outputModalities!=null)x.responseModalities=i.outputModalities.map((N)=>N.toUpperCase());else x.responseModalities=["AUDIO"];if(i?.voice!=null)x.speechConfig={voiceConfig:{prebuiltVoiceConfig:{voiceName:i.voice}}};if(g.generationConfig=x,i?.instructions!=null)g.systemInstruction={parts:[{text:i.instructions}]};if(i?.tools!=null&&i.tools.length>0)g.tools=[{functionDeclarations:i.tools.map((N)=>({name:N.name,description:N.description,parametersJsonSchema:N.parameters,...y?.defaultToolBehavior!=null?{behavior:y.defaultToolBehavior}:{}}))}];if(i?.inputAudioTranscription!=null)g.inputAudioTranscription={};if(i?.outputAudioTranscription!=null)g.outputAudioTranscription={};let T=f.generationConfig,v=y?.thinkingConfig??(Ce(T)&&Ce(T.thinkingConfig)?T.thinkingConfig:void 0),O=Vi(c)&&v?.thinkingLevel==null&&v?.thinkingBudget==null?{...v,thinkingLevel:"low"}:y?.thinkingConfig,R=()=>{if(O==null)return;let N=Ce(g.generationConfig)?g.generationConfig:x;g.generationConfig={...N,thinkingConfig:O}};if(i?.providerOptions==null)return R(),g;if(Object.assign(g,f),y?.translationConfig!=null)g.generationConfig={...Ce(g.generationConfig)?g.generationConfig:x,translationConfig:y.translationConfig};return R(),g}var Wi="google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContentConstrained";function Ki(i){let c=wn(i);return c.pathname=`${c.pathname.replace(/\/$/,"")}/v1alpha/auth_tokens`,c.toString()}function zi(i){return kt(i,Wi).toString()}var Ji=class{constructor(i,c){this.specificationVersion="v4",this.mapper=new Fi,this.modelId=i,this.provider=c.provider,this.config=c}async doCreateClientSecret(i){let c=this.config.fetch??fetch,g=this.config.headers()["x-goog-api-key"];if(!g)throw Error("Google Generative AI API key is required for realtime token creation.");let h=Date.now(),f=(i.expiresAfterSeconds??60)*1000,y=new Date(h+f).toISOString(),x=new Date(h+f+1800000).toISOString(),T=_t(i.sessionConfig,this.modelId),v=await c(`${Ki(this.config.baseURL)}?key=${encodeURIComponent(g)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uses:0,expireTime:x,newSessionExpireTime:y,bidiGenerateContentSetup:T})});if(!v.ok){let R=await v.text();throw Error(`Google realtime auth token request failed: ${v.status} ${R}`)}let O=await v.json();return{token:O.name,url:zi(this.config.baseURL),expiresAt:O.expireTime?Math.floor(new Date(O.expireTime).getTime()/1000):void 0}}getWebSocketConfig(i){return{url:`${i.url}?access_token=${encodeURIComponent(i.token)}`}}parseServerEvent(i){return this.mapper.parseServerEvent(i)}serializeClientEvent(i){return this.mapper.serializeClientEvent(i,this.modelId)}buildSessionConfig(i){return _t(i,this.modelId)}};var Yi=u(()=>l(t({languageCodes:o(e()).optional(),customVocabulary:o(e()).optional(),wordTimestamp:r().optional(),diarization:r().optional(),mode:s(["SMART","VERBATIM"]).optional()}))),Xi="google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent",Qi=3000;function Zi(i,c){let g=kt(i,Xi);return g.searchParams.set("key",c),g}function Vt(i){return i.includes("-live")}var es=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,c.config)}get provider(){return this.config.provider}constructor(c,g){this.modelId=c,this.config=g,this.specificationVersion="v4"}async parseOptions(c){return k({provider:"google",providerOptions:c,schema:Yi})}async doGenerate(c){if(Vt(this.modelId))throw new F({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription. Use experimental_streamTranscribe, or a unary model such as 'gemini-3.5-transcribe'.`});let g=this.config._internal?.currentDate?.()??new Date,h=[],f=os(await this.parseOptions(c.providerOptions)),y={model:this.modelId,input:[{type:"audio",data:j(c.audio),mime_type:c.mediaType}],...f!=null?{generation_config:{transcription_config:f}}:{}},{value:x,responseHeaders:T,rawValue:v}=await A({url:`${this.config.baseURL}/interactions`,headers:I(this.config.headers?await W(this.config.headers):void 0,c.headers),body:y,failedResponseHandler:he,successfulResponseHandler:E(as),abortSignal:c.abortSignal,fetch:this.config.fetch}),O="",R=[];for(let N of x.steps??[])for(let q of N.content??[]){if(q.type!=="text"||q.text==null)continue;O+=q.text;for(let U of q.annotations??[]){if(U.type!=="word_info")continue;let P=Wt(U.start_offset),B=Wt(U.end_offset);if(U.text==null||P==null||B==null)continue;R.push({text:U.text,startSecond:P,endSecond:B})}}return{text:O,segments:R,language:void 0,durationInSeconds:void 0,warnings:h,...x.usage!=null&&{usage:x.usage},response:{timestamp:g,modelId:this.modelId,headers:T,body:v},...x.usage!=null?{providerMetadata:{google:{usage:x.usage}}}:{}}}async doStream(c){if(!Vt(this.modelId))throw new F({argument:"modelId",message:`Model '${this.modelId}' does not support streaming transcription. Use a live model such as 'gemini-3.5-transcribe-live'.`});let g=this.config._internal?.currentDate?.()??new Date,h=[],f=await this.parseOptions(c.providerOptions);is(c.inputAudioFormat);let y=I(this.config.headers?await W(this.config.headers):void 0,c.headers),x;for(let[O,R]of Object.entries(y))if(O.toLowerCase()==="x-goog-api-key"&&R!=null)x=R;if(x==null)throw Error("Google Generative AI API key is required for streaming transcription.");let T=Object.fromEntries(Object.entries(y).filter(([O])=>O.toLowerCase()!=="x-goog-api-key")),v={model:ze(this.modelId),inputAudioTranscription:ns(f)??{}};return{request:{body:v},response:{timestamp:g,modelId:this.modelId},stream:ts({webSocket:this.config.webSocket,url:Zi(this.config.baseURL,x),headers:T,setup:v,inputAudioRate:c.inputAudioFormat.rate??16000,finishGraceMs:this.config._internal?.finishGraceMs??Qi,warnings:h,audio:c.audio,abortSignal:c.abortSignal,includeRawChunks:c.includeRawChunks})}}};function ts({webSocket:i,url:c,headers:g,setup:h,inputAudioRate:f,finishGraceMs:y,warnings:x,audio:T,abortSignal:v,includeRawChunks:O}){let R=!1,N=()=>{};return new ReadableStream({start:(q)=>{let U,P,B,K=new Promise((se)=>{B=se}),M=0,w="",L="",_="",S,V=!1,J,X,re=()=>`google-segment-${M}`,ye=()=>{if(X!=null)clearTimeout(X),X=void 0},ue=()=>{if(R||!V)return;ye(),X=setTimeout(()=>{X=void 0,ce()},y)};N=(se)=>{if(ye(),U!=null)U.cancel().catch(()=>{});else T.cancel().catch(()=>{});P?.close(se)};let me=(se)=>{if(R)return;R=!0,N(),q.error(se)},Le=()=>{if(w===""){if(_==="")return;w=_}_="",q.enqueue({type:"transcript-final",id:re(),text:w}),L+=L===""?w:` ${w}`,w="",M++},ce=()=>{if(R)return;Le(),R=!0,q.enqueue({type:"finish",text:L,segments:[],language:S,durationInSeconds:void 0,usage:J,...J!=null?{providerMetadata:{google:{usageMetadata:J}}}:{}}),q.close(),N(1000)},ve=async(se)=>{U=T.getReader();try{while(!0){let{done:Ie,value:ke}=await U.read();if(Ie||R)break;se.send(JSON.stringify({realtimeInput:{audio:{data:j(ke),mimeType:`audio/pcm;rate=${f}`}}})),await xn(se)}}finally{U.releaseLock(),U=void 0}if(!R)se.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),V=!0,ue()};P=Xn({url:c,headers:g,webSocket:i,abortSignal:v,onAbort:me,onProcessingError:me,onOpen:(se)=>{q.enqueue({type:"stream-start",warnings:x}),se.send(JSON.stringify({setup:h})),K.then(()=>R?void 0:ve(se)).catch(me)},onMessageText:async(se)=>{if(R)return;let Ie=await yt({text:se});if(!Ie.success)return;let ke=Ie.value;if(O)q.enqueue({type:"raw",rawValue:ke});if(ke.setupComplete!=null)B();if(ke.usageMetadata!=null)J=ke.usageMetadata;if(ke.error!=null){me(Error(ke.error.message??"Google Live API error"));return}let Oe=ke.serverContent,ne=Oe?.interimInputTranscription;if(ne?.text)ue(),_=ne.text,q.enqueue({type:"transcript-partial",id:re(),text:ne.text});let fe=Oe?.inputTranscription??ke.inputTranscription;if(fe!=null){if(fe.languageCode!=null)S=fe.languageCode;if(fe.text)ue(),_="",w+=fe.text,q.enqueue({type:"transcript-delta",id:re(),delta:fe.text});if(fe.finished===!0)Le()}if(Oe?.turnComplete)Le();let de=Oe?.interactionStatus;if(V&&(de==="IDLE"||de==="REQUIRES_ACTION"||Oe?.turnComplete===!0&&de==null))ce()},onSocketError:()=>{me(Error("Google Live transcription error"))},onClose:({code:se,reason:Ie})=>{if(R)return;if(V){ce();return}me(Error(`Google Live transcription WebSocket closed unexpectedly before finishing (code ${se??"unknown"}${Ie?`, reason: ${Ie}`:""}).`))}})},cancel:()=>{if(R)return;R=!0,N()}})}function ns(i){if(i==null)return;let c={};if(i.languageCodes!=null)c.languageCodes=i.languageCodes;if(i.customVocabulary!=null)c.customVocabulary=i.customVocabulary;if(i.wordTimestamp!=null)c.wordTimestamp=i.wordTimestamp;if(i.diarization!=null)c.diarization=i.diarization;if(i.mode!=null)c.mode=i.mode;return Object.keys(c).length>0?c:void 0}function os(i){if(i==null)return;let c={};if(i.languageCodes!=null)c.language_codes=i.languageCodes;if(i.customVocabulary!=null)c.custom_vocabulary=i.customVocabulary;if(i.mode!=null||i.diarization===!0||i.wordTimestamp===!0)c.mode={type:(i.mode??"VERBATIM").toLowerCase(),...i.diarization===!0?{diarization_mode:"speaker"}:{},...i.wordTimestamp===!0?{timestamp_granularities:["word"]}:{}};return Object.keys(c).length>0?c:void 0}function Wt(i){if(i==null)return;let c=Number.parseFloat(i);return Number.isFinite(c)?c:void 0}function is(i){if(i.type!=="audio/pcm"||i.rate!=null&&i.rate!==16000)throw new F({argument:"inputAudioFormat",message:"The Gemini Live transcription API only supports 16kHz 16-bit PCM input audio."})}var ss=()=>t({type:e().nullish(),text:e().nullish(),speaker:e().nullish(),start_offset:e().nullish(),end_offset:e().nullish()}),as=u(()=>l(t({status:e().nullish(),steps:o(t({type:e().nullish(),content:o(t({type:e().nullish(),text:e().nullish(),annotations:o(ss()).nullish()})).nullish()})).nullish(),usage:d(e(),Fe()).nullish()}))),rs=u(()=>l(t({echoTargetLanguage:r().optional()}))),ls="google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent",us=1000,cs=24000,ds=128;function ps(i,c){let g=kt(i,ls);return g.searchParams.set("key",c),g}var gs=class i{static[H](c){return te({modelId:c.modelId,config:c.config})}static[Q](c){return new i(c.modelId,c.config)}get provider(){return this.config.provider}constructor(c,g){this.specificationVersion="v4",this.modelId=c,this.config=g}async doStream(c){if(c.targetLanguage==null)throw new F({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let g=this.config._internal?.currentDate?.()??new Date,h=await k({provider:"google",providerOptions:c.providerOptions,schema:rs}),f=[];if(vs(c.inputAudioFormat),c.sourceLanguage!=null)f.push({type:"unsupported",feature:"sourceLanguage",details:"The Gemini Live translation API auto-detects the source language and does not accept a source language."});if(c.outputAudioFormat!=null)f.push({type:"unsupported",feature:"outputAudioFormat",details:"The Gemini Live API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let y=I(this.config.headers(),c.headers),x;for(let[O,R]of Object.entries(y))if(O.toLowerCase()==="x-goog-api-key"&&R!=null)x=R;if(x==null)throw Error("Google Generative AI API key is required for streaming translation.");let T=Object.fromEntries(Object.entries(y).filter(([O])=>O.toLowerCase()!=="x-goog-api-key")),v=ys({modelId:this.modelId,targetLanguage:c.targetLanguage,providerOptions:h});return{request:{body:v},response:{timestamp:g,modelId:this.modelId},stream:hs({webSocket:this.config.webSocket,url:ps(this.config.baseURL,x),headers:T,setup:v,inputAudioRate:c.inputAudioFormat.rate??16000,finishGraceMs:this.config._internal?.finishGraceMs??us,warnings:f,audio:c.audio,abortSignal:c.abortSignal,includeRawChunks:c.includeRawChunks})}}};function hs({webSocket:i,url:c,headers:g,setup:h,inputAudioRate:f,finishGraceMs:y,warnings:x,audio:T,abortSignal:v,includeRawChunks:O}){let R=!1,N=()=>{};return new ReadableStream({start:(q)=>{let U,P,B,K=new Promise((ne)=>{B=ne}),M=0,w="",L="",_="",S="",V=!1,J,X=!1,re=!1,ye=0,ue,me=()=>`google-item-${M}`,Le=()=>{if(ue!=null)clearTimeout(ue),ue=void 0},ce=()=>{if(R||ue!=null)return;ue=setTimeout(()=>{ue=void 0,Ie()},y)},ve=()=>{X=!0,ye=0,Le()};N=(ne)=>{if(Le(),U!=null)U.cancel().catch(()=>{});else T.cancel().catch(()=>{});P?.close(ne)};let se=(ne)=>{if(R)return;R=!0,N(),q.error(ne)},Ie=()=>{if(R)return;if(L!==""||S!=="")ke();R=!0,q.enqueue({type:"finish",sourceText:w,outputText:_,usage:J}),q.close(),N(1000)},ke=()=>{if(L!=="")q.enqueue({type:"source-transcript-final",id:me(),text:L}),w+=L,L="";if(S!=="")q.enqueue({type:"output-text-final",id:me(),text:S}),_+=S,S="";M++},Oe=async(ne)=>{U=T.getReader();try{while(!0){let{done:fe,value:de}=await U.read();if(fe||R)break;ne.send(JSON.stringify({realtimeInput:{audio:{data:j(de),mimeType:`audio/pcm;rate=${f}`}}})),await xn(ne)}}finally{U.releaseLock(),U=void 0}if(!R){if(ne.send(JSON.stringify({realtimeInput:{audioStreamEnd:!0}})),V=!0,re&&!X)ce()}};P=Xn({url:c,headers:g,webSocket:i,abortSignal:v,onAbort:se,onProcessingError:se,onOpen:(ne)=>{q.enqueue({type:"stream-start",warnings:x}),ne.send(JSON.stringify({setup:h})),K.then(()=>R?void 0:Oe(ne)).catch(se)},onMessageText:async(ne)=>{if(R)return;let fe=await yt({text:ne});if(!fe.success)return;let de=fe.value;if(O)q.enqueue({type:"raw",rawValue:de});if(de.setupComplete!=null)B();if(de.usageMetadata!=null)J=ms(J,de.usageMetadata);if(de.error!=null){se(Error(de.error.message??"Google Live API error"));return}let ie=de.serverContent?.inputTranscription?.text??de.inputTranscription?.text;if(ie)ve(),L+=ie,q.enqueue({type:"source-transcript-delta",id:me(),delta:ie});let Y=de.serverContent;if(Y==null)return;for(let xe of Y.modelTurn?.parts??[])if(xe.inlineData?.data){q.enqueue({type:"audio",id:me(),audio:xe.inlineData.data});let we=fs(xe.inlineData.data);if(V&&we!=null){if(ye+=we,ye>=y){Ie();return}}else ve()}if(Y.outputTranscription?.text)ve(),S+=Y.outputTranscription.text,q.enqueue({type:"output-text-delta",id:me(),delta:Y.outputTranscription.text});if(Y.turnComplete){if(ke(),X=!1,re=!0,V)ce()}},onSocketError:()=>{se(Error("Google Live translation error"))},onClose:({code:ne,reason:fe})=>{if(R)return;if(ue!=null){Ie();return}se(Error(`Google Live translation WebSocket closed unexpectedly before finishing (code ${ne??"unknown"}${fe?`, reason: ${fe}`:""}).`))}})},cancel:()=>{if(R)return;R=!0,N()}})}function ms(i,c){let g=i?.inputAudioTokens,h=i?.outputAudioTokens;for(let f of c.promptTokensDetails??[])if(f.modality==="AUDIO"&&f.tokenCount!=null)g=(g??0)+f.tokenCount;for(let f of c.responseTokensDetails??[])if(f.modality==="AUDIO"&&f.tokenCount!=null)h=(h??0)+f.tokenCount;if(g==null&&h==null)return i;return{...i,...g!=null?{inputAudioTokens:g}:{},...h!=null?{outputAudioTokens:h}:{}}}function fs(i){let c;try{c=Te(i)}catch{return}if(c.byteLength<2)return;let g=new DataView(c.buffer,c.byteOffset,c.byteLength),h=Math.floor(c.byteLength/2);for(let f=0;f<h;f++)if(Math.abs(g.getInt16(f*2,!0))>ds)return;return h/cs*1000}function ys({modelId:i,targetLanguage:c,providerOptions:g}){return{model:ze(i),generationConfig:{responseModalities:["AUDIO"],translationConfig:{targetLanguageCode:c,...g?.echoTargetLanguage!=null?{echoTargetLanguage:g.echoTargetLanguage}:{}}},inputAudioTranscription:{},outputAudioTranscription:{}}}function vs(i){if(i.type!=="audio/pcm"||i.rate!=null&&i.rate!==16000)throw new F({argument:"inputAudioFormat",message:"The Gemini Live translation API only supports 16kHz 16-bit PCM input audio."})}var bs="https://generativelanguage.googleapis.com/v1beta",Ts=/^https:\/\/generativelanguage\.googleapis\.com\/v1beta\/files\/.*$/,_s=["text/html","text/css","text/plain","text/xml","text/csv","text/rtf","text/javascript","application/json","application/pdf","image/bmp","image/jpeg","image/png","image/webp","video/mp4","video/mpeg","video/quicktime","video/avi","video/x-flv","video/mpg","video/webm","video/wmv","video/3gpp"],Cs=/^https:\/\/.*$/;function ws(i){return/(^|\/)gemini-/.test(i)&&!/(^|\/)gemini-2\.0/.test(i)}function gl(i={}){let c=He(i.baseURL)??bs,g=i.name??"google.generative-ai",h=()=>Se({"x-goog-api-key":Po({apiKey:i.apiKey,environmentVariableName:"GOOGLE_GENERATIVE_AI_API_KEY",description:"Google Generative AI"}),...i.headers},`ai-sdk-google/${On}`),f=(L,_=L==null||ws(L))=>({"*":[Ts,new RegExp(`^${c}/files/.*$`),new RegExp("^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$"),new RegExp("^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$")],..._?Object.fromEntries(_s.map((S)=>[S,[Cs]])):{}}),y={provider:g,baseURL:c,headers:h,generateId:i.generateId??C,fetch:i.fetch},x=(L)=>new Ye(L,{...y,supportedUrls:()=>f(L)}),T=()=>new Mo({provider:`${g.replace(/\.generative-ai$/,"")}.batch`,maxLineBytes:i.batchResultDownloads?.maxLineBytes,config:y,supportedUrls:f(void 0,!1)}),v=(L)=>new Ln(L,{provider:g,baseURL:c,headers:h,fetch:i.fetch}),O=(L,_={})=>new Fo(L,_,{provider:g,baseURL:c,headers:h,fetch:i.fetch}),R=()=>new Bo({provider:g,baseURL:c,headers:h,fetch:i.fetch}),N=(L)=>new ei(L,{provider:g,baseURL:c,headers:h,fetch:i.fetch,generateId:i.generateId??C}),q=(L)=>new Ji(L,{provider:`${g}.realtime`,baseURL:c,headers:h,fetch:i.fetch}),U=(L)=>new gs(L,{provider:`${g}.speech-translation`,baseURL:c,headers:h,webSocket:i.webSocket}),P=(L)=>new ri(L,{provider:`${g}.speech`,baseURL:c,headers:h,fetch:i.fetch}),B=(L)=>new es(L,{provider:`${g}.transcription`,baseURL:c,headers:h,fetch:i.fetch,webSocket:i.webSocket}),K=Object.assign((L)=>q(L),{getToken:async(L)=>{let _=await q(L.model).doCreateClientSecret({sessionConfig:L.sessionConfig,expiresAfterSeconds:L.expiresAfterSeconds});return{token:_.token,url:_.url,expiresAt:_.expiresAt}}}),M=(L)=>new $i(L,{provider:`${g}.interactions`,baseURL:c,headers:h,generateId:i.generateId??C,fetch:i.fetch}),w=function(L){if(new.target)throw Error("The Google Generative AI model function cannot be called with the new keyword.");return x(L)};return w.specificationVersion="v4",w.languageModel=x,w.chat=x,w.generativeAI=x,w.decisionModel=(L)=>new up({model:x(L),provider:`${g.replace(/\.generative-ai$/,"")}.decision`}),w.evaluationModel=w.decisionModel,w.experimental_batch=T,w.embedding=v,w.embeddingModel=v,w.textEmbedding=v,w.textEmbeddingModel=v,w.image=O,w.imageModel=O,w.video=N,w.videoModel=N,w.experimental_realtime=K,w.files=R,w.speech=P,w.speechModel=P,w.transcription=B,w.transcriptionModel=B,w.translation=U,w.speechTranslationModel=U,w.interactions=M,w.tools=qo,w}var Os=gl();
|
|
15
|
+
export{gl};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{OS,i,_n,bt,c}from"./index-mcnngj50.js";var Sm=i(function(ze,U){var b=1000,O=b*60,w=O*60,g=w*24,te=g*7,ne=g*365.25;U.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return oe(e);else if(r==="number"&&isFinite(e))return t.long?ie(e):se(e);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function oe(e){if(e=String(e),e.length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*ne;case"weeks":case"week":case"w":return r*te;case"days":case"day":case"d":return r*g;case"hours":case"hour":case"hrs":case"hr":case"h":return r*w;case"minutes":case"minute":case"mins":case"min":case"m":return r*O;case"seconds":case"second":case"secs":case"sec":case"s":return r*b;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}function se(e){var t=Math.abs(e);if(t>=g)return Math.round(e/g)+"d";if(t>=w)return Math.round(e/w)+"h";if(t>=O)return Math.round(e/O)+"m";if(t>=b)return Math.round(e/b)+"s";return e+"ms"}function ie(e){var t=Math.abs(e);if(t>=g)return T(e,t,g,"day");if(t>=w)return T(e,t,w,"hour");if(t>=O)return T(e,t,O,"minute");if(t>=b)return T(e,t,b,"second");return e+" ms"}function T(e,t,r,n){var a=t>=r*1.5;return Math.round(e/r)+" "+n+(a?"s":"")}});var L=i(function(Ye,P){function ce(e){r.debug=r,r.default=r,r.coerce=K,r.disable=h,r.enable=a,r.enabled=H,r.humanize=Sm(),r.destroy=Q,Object.keys(e).forEach((o)=>{r[o]=e[o]}),r.names=[],r.skips=[],r.formatters={};function t(o){let s=0;for(let l=0;l<o.length;l++)s=(s<<5)-s+o.charCodeAt(l),s|=0;return r.colors[Math.abs(s)%r.colors.length]}r.selectColor=t;function r(o){let s,l=null,f,x;function p(...C){if(!p.enabled)return;let F=p,E=Number(new Date),X=E-(s||E);if(F.diff=X,F.prev=s,F.curr=E,s=E,C[0]=r.coerce(C[0]),typeof C[0]!=="string")C.unshift("%O");let I=0;C[0]=C[0].replace(/%([a-zA-Z%])/g,(N,ee)=>{if(N==="%%")return"%";I++;let G=r.formatters[ee];if(typeof G==="function"){let re=C[I];N=G.call(F,re),C.splice(I,1),I--}return N}),r.formatArgs.call(F,C),(F.log||r.log).apply(F,C)}if(p.namespace=o,p.useColors=r.useColors(),p.color=r.selectColor(o),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(l!==null)return l;if(f!==r.namespaces)f=r.namespaces,x=r.enabled(o);return x},set:(C)=>{l=C}}),typeof r.init==="function")r.init(p);return p}function n(o,s){let l=r(this.namespace+(typeof s>"u"?":":s)+o);return l.log=this.log,l}function a(o){r.save(o),r.namespaces=o,r.names=[],r.skips=[];let s=(typeof o==="string"?o:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let l of s)if(l[0]==="-")r.skips.push(l.slice(1));else r.names.push(l)}function m(o,s){let l=0,f=0,x=-1,p=0;while(l<o.length)if(f<s.length&&(s[f]===o[l]||s[f]==="*"))if(s[f]==="*")x=f,p=l,f++;else l++,f++;else if(x!==-1)f=x+1,p++,l=p;else return!1;while(f<s.length&&s[f]==="*")f++;return f===s.length}function h(){let o=[...r.names,...r.skips.map((s)=>"-"+s)].join(",");return r.enable(""),o}function H(o){for(let s of r.skips)if(m(o,s))return!1;for(let s of r.names)if(m(o,s))return!0;return!1}function K(o){if(o instanceof Error)return o.stack||o.message;return o}function Q(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}P.exports=ce});var q=i(function(D,R){D.formatArgs=le;D.save=ae;D.load=fe;D.useColors=ue;D.storage=pe();D.destroy=(()=>{let e=!1;return()=>{if(!e)e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();D.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ue(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function le(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+R.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,(a)=>{if(a==="%%")return;if(r++,a==="%c")n=r}),e.splice(n,0,t)}D.log=console.debug||console.log||(()=>{});function ae(e){try{if(e)D.storage.setItem("debug",e);else D.storage.removeItem("debug")}catch(t){}}function fe(){let e;try{e=D.storage.getItem("debug")||D.storage.getItem("DEBUG")}catch(t){}if(!e&&typeof process<"u"&&"env"in process)e=process.env.DEBUG;return e}function pe(){try{return localStorage}catch(e){}}R.exports=L()(D);var{formatters:Ce}=R.exports;Ce.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Y={};_n(Y,{createSupportsColor:()=>k,default:()=>Ie});import B from"node:process";import be from"node:os";import z from"node:tty";function d(e,t=globalThis.Deno?globalThis.Deno.args:B.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),a=t.indexOf("--");return n!==-1&&(a===-1||n<a)}function Oe(){if(!("FORCE_COLOR"in u))return;if(u.FORCE_COLOR==="true")return 1;if(u.FORCE_COLOR==="false")return 0;if(u.FORCE_COLOR.length===0)return 1;let e=Math.min(Number.parseInt(u.FORCE_COLOR,10),3);if(![0,1,2,3].includes(e))return;return e}function we(e){if(e===0)return!1;return{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function ve(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let n=Oe();if(n!==void 0)A=n;let a=r?A:n;if(a===0)return 0;if(r){if(d("color=16m")||d("color=full")||d("color=truecolor"))return 3;if(d("color=256"))return 2}if("TF_BUILD"in u&&"AGENT_NAME"in u)return 1;if(e&&!t&&a===void 0)return 0;let m=a||0;if(u.TERM==="dumb")return m;if(B.platform==="win32"){let h=be.release().split(".");if(Number(h[0])>=10&&Number(h[2])>=10586)return Number(h[2])>=14931?3:2;return 1}if("CI"in u){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((h)=>(h in u)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((h)=>(h in u))||u.CI_NAME==="codeship")return 1;return m}if("TEAMCITY_VERSION"in u)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0;if(u.COLORTERM==="truecolor")return 3;if(u.TERM==="xterm-kitty")return 3;if(u.TERM==="xterm-ghostty")return 3;if(u.TERM==="wezterm")return 3;if("TERM_PROGRAM"in u){let h=Number.parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return h>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(u.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM))return 1;if("COLORTERM"in u)return 1;return m}function k(e,t={}){let r=ve(e,{streamIsTTY:e&&e.isTTY,...t});return we(r)}var u,A,Ee,Ie;var V=bt(()=>{({env:u}=B);if(d("no-color")||d("no-colors")||d("color=false")||d("color=never"))A=0;else if(d("color")||d("colors")||d("color=true")||d("color=always"))A=1;Ee={stdout:k({isTTY:z.isatty(1)}),stderr:k({isTTY:z.isatty(2)})},Ie=Ee});var Z=i(function(S,M){var Te=c("tty"),_=c("util");S.init=De;S.log=Me;S.formatArgs=Ae;S.save=Ne;S.load=Le;S.useColors=Re;S.destroy=_.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");S.colors=[6,2,3,4,5,1];try{let e=(V(),OS(Y));if(e&&(e.stderr||e).level>=2)S.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(e){}S.inspectOpts=Object.keys(process.env).filter((e)=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(a,m)=>m.toUpperCase()),n=process.env[t];if(/^(yes|on|true|enabled)$/i.test(n))n=!0;else if(/^(no|off|false|disabled)$/i.test(n))n=!1;else if(n==="null")n=null;else n=Number(n);return e[r]=n,e},{});function Re(){return"colors"in S.inspectOpts?Boolean(S.inspectOpts.colors):Te.isatty(process.stderr.fd)}function Ae(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color,a="\x1B[3"+(n<8?n:"8;5;"+n),m=` ${a};1m${t} \x1B[0m`;e[0]=m+e[0].split(`
|
|
2
|
+
`).join(`
|
|
3
|
+
`+m),e.push(a+"m+"+M.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=_e()+t+" "+e[0]}function _e(){if(S.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Me(...e){return process.stderr.write(_.formatWithOptions(S.inspectOpts,...e)+`
|
|
4
|
+
`)}function Ne(e){if(e)process.env.DEBUG=e;else delete process.env.DEBUG}function Le(){return process.env.DEBUG}function De(e){e.inspectOpts={};let t=Object.keys(S.inspectOpts);for(let r=0;r<t.length;r++)e.inspectOpts[t[r]]=S.inspectOpts[t[r]]}M.exports=L()(S);var{formatters:J}=M.exports;J.o=function(e){return this.inspectOpts.colors=this.useColors,_.inspect(e,this.inspectOpts).split(`
|
|
5
|
+
`).map((t)=>t.trim()).join(" ")};J.O=function(e){return this.inspectOpts.colors=this.useColors,_.inspect(e,this.inspectOpts)}});var Tt=i(function(He,j){if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)j.exports=q();else j.exports=Z()});
|
|
6
|
+
export{Sm,Tt};
|