@opentiny/next-sdk 0.1.4 → 0.1.5
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/agent/AgentModelProvider.ts +3 -4
- package/dist/agent/AgentModelProvider.js +3 -3
- package/dist/index.es.dev.js +3 -3
- package/dist/index.es.js +3 -3
- package/dist/index.umd.dev.js +3 -3
- package/dist/index.umd.js +1 -1
- package/dist/mcpsdk@1.17.0.es.js +6437 -6417
- package/dist/mcpsdk@1.17.0.js +16 -16
- package/dist/webagent.dev.js +3 -3
- package/dist/webagent.es.dev.js +3 -3
- package/dist/webagent.es.js +3 -3
- package/dist/webagent.js +1 -1
- package/dist/webmcp-full.dev.js +830 -866
- package/dist/webmcp-full.es.dev.js +832 -868
- package/package.json +1 -1
|
@@ -72,7 +72,7 @@ export class AgentModelProvider {
|
|
|
72
72
|
transport = serverConfig as MCPClientConfig['transport']
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
return createMCPClient({ transport: transport as MCPClientConfig['transport'] })
|
|
75
|
+
return await createMCPClient({ transport: transport as MCPClientConfig['transport'] })
|
|
76
76
|
} catch (error) {
|
|
77
77
|
console.error(`Failed to create MCP client`, serverConfig, error)
|
|
78
78
|
return null
|
|
@@ -167,7 +167,6 @@ export class AgentModelProvider {
|
|
|
167
167
|
this.ignoreToolnames.forEach((name) => {
|
|
168
168
|
delete toolsResult[name]
|
|
169
169
|
})
|
|
170
|
-
|
|
171
170
|
return toolsResult
|
|
172
171
|
}
|
|
173
172
|
|
|
@@ -187,9 +186,9 @@ export class AgentModelProvider {
|
|
|
187
186
|
return chatMethod({
|
|
188
187
|
// @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
|
|
189
188
|
model: this.llm(model),
|
|
190
|
-
tools: this.tempMergeTools(options.tools) as ToolSet,
|
|
191
189
|
stopWhen: stepCountIs(maxSteps),
|
|
192
|
-
...options
|
|
190
|
+
...options,
|
|
191
|
+
tools: this.tempMergeTools(options.tools) as ToolSet
|
|
193
192
|
})
|
|
194
193
|
}
|
|
195
194
|
|
|
@@ -79,7 +79,7 @@ export class AgentModelProvider {
|
|
|
79
79
|
else {
|
|
80
80
|
transport = serverConfig;
|
|
81
81
|
}
|
|
82
|
-
return createMCPClient({ transport: transport });
|
|
82
|
+
return yield createMCPClient({ transport: transport });
|
|
83
83
|
}
|
|
84
84
|
catch (error) {
|
|
85
85
|
console.error(`Failed to create MCP client`, serverConfig, error);
|
|
@@ -190,9 +190,9 @@ export class AgentModelProvider {
|
|
|
190
190
|
yield this._createMpcTools();
|
|
191
191
|
(_b = this.onUpdatedTools) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
192
192
|
}
|
|
193
|
-
return chatMethod(Object.assign({
|
|
193
|
+
return chatMethod(Object.assign(Object.assign({
|
|
194
194
|
// @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
|
|
195
|
-
model: this.llm(model), tools: this.tempMergeTools(options.tools)
|
|
195
|
+
model: this.llm(model), stopWhen: stepCountIs(maxSteps) }, options), { tools: this.tempMergeTools(options.tools) }));
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
198
|
chat(options) {
|
package/dist/index.es.dev.js
CHANGED
|
@@ -42786,7 +42786,7 @@ class AgentModelProvider {
|
|
|
42786
42786
|
} else {
|
|
42787
42787
|
transport = serverConfig;
|
|
42788
42788
|
}
|
|
42789
|
-
return createMCPClient({ transport });
|
|
42789
|
+
return await createMCPClient({ transport });
|
|
42790
42790
|
} catch (error2) {
|
|
42791
42791
|
console.error(`Failed to create MCP client`, serverConfig, error2);
|
|
42792
42792
|
return null;
|
|
@@ -42884,9 +42884,9 @@ class AgentModelProvider {
|
|
|
42884
42884
|
return chatMethod({
|
|
42885
42885
|
// @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
|
|
42886
42886
|
model: this.llm(model),
|
|
42887
|
-
tools: this.tempMergeTools(options.tools),
|
|
42888
42887
|
stopWhen: stepCountIs(maxSteps),
|
|
42889
|
-
...options
|
|
42888
|
+
...options,
|
|
42889
|
+
tools: this.tempMergeTools(options.tools)
|
|
42890
42890
|
});
|
|
42891
42891
|
}
|
|
42892
42892
|
async chat(options) {
|
package/dist/index.es.js
CHANGED
|
@@ -31713,7 +31713,7 @@ class a9 {
|
|
|
31713
31713
|
async _createOneClient(e) {
|
|
31714
31714
|
try {
|
|
31715
31715
|
let r;
|
|
31716
|
-
return "type" in e && e.type.toLocaleLowerCase() === "streamablehttp" ? r = new $a(new URL(e.url)) : r = e, N4({ transport: r });
|
|
31716
|
+
return "type" in e && e.type.toLocaleLowerCase() === "streamablehttp" ? r = new $a(new URL(e.url)) : r = e, await N4({ transport: r });
|
|
31717
31717
|
} catch (r) {
|
|
31718
31718
|
return console.error("Failed to create MCP client", e, r), null;
|
|
31719
31719
|
}
|
|
@@ -31792,9 +31792,9 @@ class a9 {
|
|
|
31792
31792
|
return this.autoUpdateTools && (await this._createMpcTools(), (s = this.onUpdatedTools) == null || s.call(this)), e({
|
|
31793
31793
|
// @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
|
|
31794
31794
|
model: this.llm(r),
|
|
31795
|
-
tools: this.tempMergeTools(n.tools),
|
|
31796
31795
|
stopWhen: Wd(a),
|
|
31797
|
-
...n
|
|
31796
|
+
...n,
|
|
31797
|
+
tools: this.tempMergeTools(n.tools)
|
|
31798
31798
|
});
|
|
31799
31799
|
}
|
|
31800
31800
|
async chat(e) {
|
package/dist/index.umd.dev.js
CHANGED
|
@@ -43180,7 +43180,7 @@ ${user}:`]
|
|
|
43180
43180
|
} else {
|
|
43181
43181
|
transport = serverConfig;
|
|
43182
43182
|
}
|
|
43183
|
-
return createMCPClient({ transport });
|
|
43183
|
+
return await createMCPClient({ transport });
|
|
43184
43184
|
} catch (error2) {
|
|
43185
43185
|
console.error(`Failed to create MCP client`, serverConfig, error2);
|
|
43186
43186
|
return null;
|
|
@@ -43278,9 +43278,9 @@ ${user}:`]
|
|
|
43278
43278
|
return chatMethod({
|
|
43279
43279
|
// @ts-ignore ProviderV2 是所有llm的父类, 在每一个具体的llm 类都有一个选择model的函数用法
|
|
43280
43280
|
model: this.llm(model),
|
|
43281
|
-
tools: this.tempMergeTools(options.tools),
|
|
43282
43281
|
stopWhen: stepCountIs(maxSteps),
|
|
43283
|
-
...options
|
|
43282
|
+
...options,
|
|
43283
|
+
tools: this.tempMergeTools(options.tools)
|
|
43284
43284
|
});
|
|
43285
43285
|
}
|
|
43286
43286
|
async chat(options) {
|
package/dist/index.umd.js
CHANGED
|
@@ -533,4 +533,4 @@ ${o}
|
|
|
533
533
|
|
|
534
534
|
`;break}case"tool":throw new dr({functionality:"tool messages"});default:{const o=n;throw new Error(`Unsupported role: ${o}`)}}return a+=`${r}:
|
|
535
535
|
`,{prompt:a,stopSequences:[`
|
|
536
|
-
${e}:`]}}function f0({id:t,model:e,created:r}){return{id:t??void 0,modelId:e??void 0,timestamp:r!=null?new Date(r*1e3):void 0}}function p0(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var h0=O({echo:Ve().optional(),logitBias:Xt(S(),K()).optional(),suffix:S().optional(),user:S().optional(),logprobs:Fe([Ve(),K()]).optional()}),bj=class{constructor(t,e){this.specificationVersion="v2",this.supportedUrls={},this.modelId=t,this.config=e}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:t,maxOutputTokens:e,temperature:r,topP:a,topK:n,frequencyPenalty:s,presencePenalty:o,stopSequences:i,responseFormat:l,tools:c,toolChoice:u,seed:f,providerOptions:v}){const d=[],p={...await Br({provider:"openai",providerOptions:v,schema:h0}),...await Br({provider:this.providerOptionsName,providerOptions:v,schema:h0})};n!=null&&d.push({type:"unsupported-setting",setting:"topK"}),c!=null&&c.length&&d.push({type:"unsupported-setting",setting:"tools"}),u!=null&&d.push({type:"unsupported-setting",setting:"toolChoice"}),l!=null&&l.type!=="text"&&d.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."});const{prompt:g,stopSequences:m}=wj({prompt:t}),h=[...m??[],...i??[]];return{args:{model:this.modelId,echo:p.echo,logit_bias:p.logitBias,logprobs:(p==null?void 0:p.logprobs)===!0?0:(p==null?void 0:p.logprobs)===!1||p==null?void 0:p.logprobs,suffix:p.suffix,user:p.user,max_tokens:e,temperature:r,top_p:a,frequency_penalty:s,presence_penalty:o,seed:f,prompt:g,stop:h.length>0?h:void 0},warnings:d}}async doGenerate(t){var e,r,a;const{args:n,warnings:s}=await this.getArgs(t),{responseHeaders:o,value:i,rawValue:l}=await xr({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:n,failedResponseHandler:Jr,successfulResponseHandler:Yn(Ej),abortSignal:t.abortSignal,fetch:this.config.fetch}),c=i.choices[0],u={openai:{}};return c.logprobs!=null&&(u.openai.logprobs=c.logprobs),{content:[{type:"text",text:c.text}],usage:{inputTokens:(e=i.usage)==null?void 0:e.prompt_tokens,outputTokens:(r=i.usage)==null?void 0:r.completion_tokens,totalTokens:(a=i.usage)==null?void 0:a.total_tokens},finishReason:p0(c.finish_reason),request:{body:n},response:{...f0(i),headers:o,body:l},providerMetadata:u,warnings:s}}async doStream(t){const{args:e,warnings:r}=await this.getArgs(t),a={...e,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:s}=await xr({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:a,failedResponseHandler:Jr,successfulResponseHandler:fl(Sj),abortSignal:t.abortSignal,fetch:this.config.fetch});let o="unknown";const i={openai:{}},l={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};let c=!0;return{stream:s.pipeThrough(new TransformStream({start(u){u.enqueue({type:"stream-start",warnings:r})},transform(u,f){if(t.includeRawChunks&&f.enqueue({type:"raw",rawValue:u.rawValue}),!u.success){o="error",f.enqueue({type:"error",error:u.error});return}const v=u.value;if("error"in v){o="error",f.enqueue({type:"error",error:v.error});return}c&&(c=!1,f.enqueue({type:"response-metadata",...f0(v)}),f.enqueue({type:"text-start",id:"0"})),v.usage!=null&&(l.inputTokens=v.usage.prompt_tokens,l.outputTokens=v.usage.completion_tokens,l.totalTokens=v.usage.total_tokens);const d=v.choices[0];(d==null?void 0:d.finish_reason)!=null&&(o=p0(d.finish_reason)),(d==null?void 0:d.logprobs)!=null&&(i.openai.logprobs=d.logprobs),(d==null?void 0:d.text)!=null&&d.text.length>0&&f.enqueue({type:"text-delta",id:"0",delta:d.text})},flush(u){c||u.enqueue({type:"text-end",id:"0"}),u.enqueue({type:"finish",finishReason:o,providerMetadata:i,usage:l})}})),request:{body:a},response:{headers:n}}}},m0=O({prompt_tokens:K(),completion_tokens:K(),total_tokens:K()}),Ej=O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S(),logprobs:O({tokens:ce(S()),token_logprobs:ce(K()),top_logprobs:ce(Xt(S(),K())).nullish()}).nullish()})),usage:m0.nullish()}),Sj=Fe([O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S().nullish(),index:K(),logprobs:O({tokens:ce(S()),token_logprobs:ce(K()),top_logprobs:ce(Xt(S(),K())).nullish()}).nullish()})),usage:m0.nullish()}),af]),$j=O({dimensions:K().optional(),user:S().optional()}),Pj=class{constructor(t,e){this.specificationVersion="v2",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=t,this.config=e}get provider(){return this.config.provider}async doEmbed({values:t,headers:e,abortSignal:r,providerOptions:a}){var n;if(t.length>this.maxEmbeddingsPerCall)throw new Rk({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});const s=(n=await Br({provider:"openai",providerOptions:a,schema:$j}))!=null?n:{},{responseHeaders:o,value:i,rawValue:l}=await xr({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:pr(this.config.headers(),e),body:{model:this.modelId,input:t,encoding_format:"float",dimensions:s.dimensions,user:s.user},failedResponseHandler:Jr,successfulResponseHandler:Yn(Tj),abortSignal:r,fetch:this.config.fetch});return{embeddings:i.data.map(c=>c.embedding),usage:i.usage?{tokens:i.usage.prompt_tokens}:void 0,response:{headers:o,body:l}}}},Tj=O({data:ce(O({embedding:ce(K())})),usage:O({prompt_tokens:K()}).nullish()}),xj={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Ij=new Set(["gpt-image-1"]),kj=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get maxImagesPerCall(){var t;return(t=xj[this.modelId])!=null?t:1}get provider(){return this.config.provider}async doGenerate({prompt:t,n:e,size:r,aspectRatio:a,seed:n,providerOptions:s,headers:o,abortSignal:i}){var l,c,u,f;const v=[];a!=null&&v.push({type:"unsupported-setting",setting:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),n!=null&&v.push({type:"unsupported-setting",setting:"seed"});const d=(u=(c=(l=this.config._internal)==null?void 0:l.currentDate)==null?void 0:c.call(l))!=null?u:new Date,{value:p,responseHeaders:g}=await xr({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:pr(this.config.headers(),o),body:{model:this.modelId,prompt:t,n:e,size:r,...(f=s.openai)!=null?f:{},...Ij.has(this.modelId)?{}:{response_format:"b64_json"}},failedResponseHandler:Jr,successfulResponseHandler:Yn(Cj),abortSignal:i,fetch:this.config.fetch});return{images:p.data.map(m=>m.b64_json),warnings:v,response:{timestamp:d,modelId:this.modelId,headers:g},providerMetadata:{openai:{images:p.data.map(m=>m.revised_prompt?{revisedPrompt:m.revised_prompt}:null)}}}}},Cj=O({data:ce(O({b64_json:S(),revised_prompt:S().optional()}))}),Rj=O({container:Fe([S(),O({fileIds:ce(S()).optional()})]).optional()}),Oj=nf({id:"openai.code_interpreter",name:"code_interpreter",inputSchema:O({})}),Aj={codeInterpreter:Oj,fileSearch:uj,webSearchPreview:dj};function v0(t,e){return e?e.some(r=>t.startsWith(r)):!1}async function Nj({prompt:t,systemMessageMode:e,fileIdPrefixes:r}){var a,n,s,o,i,l;const c=[],u=[];for(const{role:f,content:v}of t)switch(f){case"system":{switch(e){case"system":{c.push({role:"system",content:v});break}case"developer":{c.push({role:"developer",content:v});break}case"remove":{u.push({type:"other",message:"system messages are removed for this model"});break}default:{const d=e;throw new Error(`Unsupported system message mode: ${d}`)}}break}case"user":{c.push({role:"user",content:v.map((d,p)=>{var g,m,h;switch(d.type){case"text":return{type:"input_text",text:d.text};case"file":if(d.mediaType.startsWith("image/")){const y=d.mediaType==="image/*"?"image/jpeg":d.mediaType;return{type:"input_image",...d.data instanceof URL?{image_url:d.data.toString()}:typeof d.data=="string"&&v0(d.data,r)?{file_id:d.data}:{image_url:`data:${y};base64,${Xn(d.data)}`},detail:(m=(g=d.providerOptions)==null?void 0:g.openai)==null?void 0:m.imageDetail}}else if(d.mediaType==="application/pdf"){if(d.data instanceof URL)throw new dr({functionality:"PDF file parts with URLs"});return{type:"input_file",...typeof d.data=="string"&&v0(d.data,r)?{file_id:d.data}:{filename:(h=d.filename)!=null?h:`part-${p}.pdf`,file_data:`data:application/pdf;base64,${Xn(d.data)}`}}}else throw new dr({functionality:`file part media type ${d.mediaType}`})}})});break}case"assistant":{const d={};for(const p of v)switch(p.type){case"text":{c.push({role:"assistant",content:[{type:"output_text",text:p.text}],id:(s=(n=(a=p.providerOptions)==null?void 0:a.openai)==null?void 0:n.itemId)!=null?s:void 0});break}case"tool-call":{if(p.providerExecuted)break;c.push({type:"function_call",call_id:p.toolCallId,name:p.toolName,arguments:JSON.stringify(p.input),id:(l=(i=(o=p.providerOptions)==null?void 0:o.openai)==null?void 0:i.itemId)!=null?l:void 0});break}case"tool-result":{u.push({type:"other",message:"tool result parts in assistant messages are not supported for OpenAI responses"});break}case"reasoning":{const g=await Br({provider:"openai",providerOptions:p.providerOptions,schema:Mj}),m=g==null?void 0:g.itemId;if(m!=null){const h=d[m],y=[];p.text.length>0?y.push({type:"summary_text",text:p.text}):h!==void 0&&u.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(p)}.`}),h===void 0?(d[m]={type:"reasoning",id:m,encrypted_content:g==null?void 0:g.reasoningEncryptedContent,summary:y},c.push(d[m])):h.summary.push(...y)}else u.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(p)}.`});break}}break}case"tool":{for(const d of v){const p=d.output;let g;switch(p.type){case"text":case"error-text":g=p.value;break;case"content":case"json":case"error-json":g=JSON.stringify(p.value);break}c.push({type:"function_call_output",call_id:d.toolCallId,output:g})}break}default:{const d=f;throw new Error(`Unsupported role: ${d}`)}}return{messages:c,warnings:u}}var Mj=O({itemId:S().nullish(),reasoningEncryptedContent:S().nullish()});function g0({finishReason:t,hasToolCalls:e}){switch(t){case void 0:case null:return e?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return e?"tool-calls":"unknown"}}function jj({tools:t,toolChoice:e,strictJsonSchema:r}){t=t!=null&&t.length?t:void 0;const a=[];if(t==null)return{tools:void 0,toolChoice:void 0,toolWarnings:a};const n=[];for(const o of t)switch(o.type){case"function":n.push({type:"function",name:o.name,description:o.description,parameters:o.inputSchema,strict:r});break;case"provider-defined":{switch(o.id){case"openai.file_search":{const i=l0.parse(o.args);n.push({type:"file_search",vector_store_ids:i.vectorStoreIds,max_num_results:i.maxNumResults,ranking_options:i.ranking?{ranker:i.ranking.ranker}:void 0,filters:i.filters});break}case"openai.web_search_preview":{const i=c0.parse(o.args);n.push({type:"web_search_preview",search_context_size:i.searchContextSize,user_location:i.userLocation});break}case"openai.code_interpreter":{const i=Rj.parse(o.args);n.push({type:"code_interpreter",container:i.container==null?{type:"auto",file_ids:void 0}:typeof i.container=="string"?i.container:{type:"auto",file_ids:i.container.fileIds}});break}default:{a.push({type:"unsupported-tool",tool:o});break}}break}default:a.push({type:"unsupported-tool",tool:o});break}if(e==null)return{tools:n,toolChoice:void 0,toolWarnings:a};const s=e.type;switch(s){case"auto":case"none":case"required":return{tools:n,toolChoice:s,toolWarnings:a};case"tool":return{tools:n,toolChoice:e.toolName==="code_interpreter"||e.toolName==="file_search"||e.toolName==="web_search_preview"?{type:e.toolName}:{type:"function",name:e.toolName},toolWarnings:a};default:{const o=s;throw new dr({functionality:`tool choice type: ${o}`})}}}var y0=20,_0=ce(O({token:S(),logprob:K(),top_logprobs:ce(O({token:S(),logprob:K()}))})),Dj=class{constructor(t,e){this.specificationVersion="v2",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=t,this.config=e}get provider(){return this.config.provider}async getArgs({maxOutputTokens:t,temperature:e,stopSequences:r,topP:a,topK:n,presencePenalty:s,frequencyPenalty:o,seed:i,prompt:l,providerOptions:c,tools:u,toolChoice:f,responseFormat:v}){var d,p;const g=[],m=sD(this.modelId);n!=null&&g.push({type:"unsupported-setting",setting:"topK"}),i!=null&&g.push({type:"unsupported-setting",setting:"seed"}),s!=null&&g.push({type:"unsupported-setting",setting:"presencePenalty"}),o!=null&&g.push({type:"unsupported-setting",setting:"frequencyPenalty"}),r!=null&&g.push({type:"unsupported-setting",setting:"stopSequences"});const{messages:h,warnings:y}=await Nj({prompt:l,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);const _=await Br({provider:"openai",providerOptions:c,schema:oD}),w=(d=_==null?void 0:_.strictJsonSchema)!=null?d:!1,E=typeof(_==null?void 0:_.logprobs)=="number"?_==null?void 0:_.logprobs:(_==null?void 0:_.logprobs)===!0?y0:void 0,P=E?Array.isArray(_==null?void 0:_.include)?[..._==null?void 0:_.include,"message.output_text.logprobs"]:["message.output_text.logprobs"]:_==null?void 0:_.include,x={model:this.modelId,input:h,temperature:e,top_p:a,max_output_tokens:t,...((v==null?void 0:v.type)==="json"||(_==null?void 0:_.textVerbosity))&&{text:{...(v==null?void 0:v.type)==="json"&&{format:v.schema!=null?{type:"json_schema",strict:w,name:(p=v.name)!=null?p:"response",description:v.description,schema:v.schema}:{type:"json_object"}},...(_==null?void 0:_.textVerbosity)&&{verbosity:_.textVerbosity}}},metadata:_==null?void 0:_.metadata,parallel_tool_calls:_==null?void 0:_.parallelToolCalls,previous_response_id:_==null?void 0:_.previousResponseId,store:_==null?void 0:_.store,user:_==null?void 0:_.user,instructions:_==null?void 0:_.instructions,service_tier:_==null?void 0:_.serviceTier,include:P,prompt_cache_key:_==null?void 0:_.promptCacheKey,safety_identifier:_==null?void 0:_.safetyIdentifier,top_logprobs:E,...m.isReasoningModel&&((_==null?void 0:_.reasoningEffort)!=null||(_==null?void 0:_.reasoningSummary)!=null)&&{reasoning:{...(_==null?void 0:_.reasoningEffort)!=null&&{effort:_.reasoningEffort},...(_==null?void 0:_.reasoningSummary)!=null&&{summary:_.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:"auto"}};m.isReasoningModel?(x.temperature!=null&&(x.temperature=void 0,g.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported for reasoning models"})),x.top_p!=null&&(x.top_p=void 0,g.push({type:"unsupported-setting",setting:"topP",details:"topP is not supported for reasoning models"}))):((_==null?void 0:_.reasoningEffort)!=null&&g.push({type:"unsupported-setting",setting:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(_==null?void 0:_.reasoningSummary)!=null&&g.push({type:"unsupported-setting",setting:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})),(_==null?void 0:_.serviceTier)==="flex"&&!m.supportsFlexProcessing&&(g.push({type:"unsupported-setting",setting:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete x.service_tier),(_==null?void 0:_.serviceTier)==="priority"&&!m.supportsPriorityProcessing&&(g.push({type:"unsupported-setting",setting:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete x.service_tier);const{tools:A,toolChoice:M,toolWarnings:H}=jj({tools:u,toolChoice:f,strictJsonSchema:w});return{args:{...x,tools:A,tool_choice:M},warnings:[...g,...H]}}async doGenerate(t){var e,r,a,n,s,o,i,l,c,u,f,v,d,p,g,m,h;const{args:y,warnings:_}=await this.getArgs(t),w=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:E,value:P,rawValue:x}=await xr({url:w,headers:pr(this.config.headers(),t.headers),body:y,failedResponseHandler:Jr,successfulResponseHandler:Yn(O({id:S(),created_at:K(),error:O({code:S(),message:S()}).nullish(),model:S(),output:ce(qa("type",[O({type:W("message"),role:W("assistant"),id:S(),content:ce(O({type:W("output_text"),text:S(),logprobs:_0.nullish(),annotations:ce(qa("type",[O({type:W("url_citation"),start_index:K(),end_index:K(),url:S(),title:S()}),O({type:W("file_citation"),start_index:K(),end_index:K(),file_id:S(),quote:S()})]))}))}),O({type:W("function_call"),call_id:S(),name:S(),arguments:S(),id:S()}),O({type:W("web_search_call"),id:S(),status:S().optional(),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:S().optional()}),O({type:W("file_search_call"),id:S(),status:S().optional(),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).nullish()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish(),summary:ce(O({type:W("summary_text"),text:S()}))})])),incomplete_details:O({reason:S()}).nullable(),usage:w0})),abortSignal:t.abortSignal,fetch:this.config.fetch});if(P.error)throw new Xe({message:P.error.message,url:w,requestBodyValues:y,statusCode:400,responseHeaders:E,responseBody:x,isRetryable:!1});const A=[],M=[];for(const V of P.output)switch(V.type){case"reasoning":{V.summary.length===0&&V.summary.push({type:"summary_text",text:""});for(const J of V.summary)A.push({type:"reasoning",text:J.text,providerMetadata:{openai:{itemId:V.id,reasoningEncryptedContent:(e=V.encrypted_content)!=null?e:null}}});break}case"message":{for(const J of V.content){(a=(r=t.providerOptions)==null?void 0:r.openai)!=null&&a.logprobs&&J.logprobs&&M.push(J.logprobs),A.push({type:"text",text:J.text,providerMetadata:{openai:{itemId:V.id}}});for(const z of J.annotations)z.type==="url_citation"?A.push({type:"source",sourceType:"url",id:(o=(s=(n=this.config).generateId)==null?void 0:s.call(n))!=null?o:sr(),url:z.url,title:z.title}):z.type==="file_citation"&&A.push({type:"source",sourceType:"document",id:(c=(l=(i=this.config).generateId)==null?void 0:l.call(i))!=null?c:sr(),mediaType:"text/plain",title:z.quote,filename:z.file_id})}break}case"function_call":{A.push({type:"tool-call",toolCallId:V.call_id,toolName:V.name,input:V.arguments,providerMetadata:{openai:{itemId:V.id}}});break}case"web_search_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"web_search_preview",input:(f=(u=V.action)==null?void 0:u.query)!=null?f:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"web_search_preview",result:{status:V.status||"completed",...((v=V.action)==null?void 0:v.query)&&{query:V.action.query}},providerExecuted:!0});break}case"computer_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"computer_use",input:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:V.status||"completed"},providerExecuted:!0});break}case"file_search_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"file_search",input:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"file_search",result:{type:"file_search_tool_result",status:V.status||"completed",...V.queries&&{queries:V.queries},...V.results&&{results:V.results}},providerExecuted:!0});break}}const H={openai:{responseId:P.id}};return M.length>0&&(H.openai.logprobs=M),{content:A,finishReason:g0({finishReason:(d=P.incomplete_details)==null?void 0:d.reason,hasToolCalls:A.some(V=>V.type==="tool-call")}),usage:{inputTokens:P.usage.input_tokens,outputTokens:P.usage.output_tokens,totalTokens:P.usage.input_tokens+P.usage.output_tokens,reasoningTokens:(g=(p=P.usage.output_tokens_details)==null?void 0:p.reasoning_tokens)!=null?g:void 0,cachedInputTokens:(h=(m=P.usage.input_tokens_details)==null?void 0:m.cached_tokens)!=null?h:void 0},request:{body:y},response:{id:P.id,timestamp:new Date(P.created_at*1e3),modelId:P.model,headers:E,body:x},providerMetadata:H,warnings:_}}async doStream(t){const{args:e,warnings:r}=await this.getArgs(t),{responseHeaders:a,value:n}=await xr({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:{...e,stream:!0},failedResponseHandler:Jr,successfulResponseHandler:fl(Kj),abortSignal:t.abortSignal,fetch:this.config.fetch}),s=this;let o="unknown";const i={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[];let c=null;const u={};let f=!1;const v={};return{stream:n.pipeThrough(new TransformStream({start(d){d.enqueue({type:"stream-start",warnings:r})},transform(d,p){var g,m,h,y,_,w,E,P,x,A,M,H,V,J,z,Z,te,me,ge;if(t.includeRawChunks&&p.enqueue({type:"raw",rawValue:d.rawValue}),!d.success){o="error",p.enqueue({type:"error",error:d.error});return}const N=d.value;if(E0(N))N.item.type==="function_call"?(u[N.output_index]={toolName:N.item.name,toolCallId:N.item.call_id},p.enqueue({type:"tool-input-start",id:N.item.call_id,toolName:N.item.name})):N.item.type==="web_search_call"?(u[N.output_index]={toolName:"web_search_preview",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"web_search_preview"})):N.item.type==="computer_call"?(u[N.output_index]={toolName:"computer_use",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"computer_use"})):N.item.type==="file_search_call"?(u[N.output_index]={toolName:"file_search",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"file_search"})):N.item.type==="message"?p.enqueue({type:"text-start",id:N.item.id,providerMetadata:{openai:{itemId:N.item.id}}}):eD(N)&&(v[N.item.id]={encryptedContent:N.item.encrypted_content,summaryParts:[0]},p.enqueue({type:"reasoning-start",id:`${N.item.id}:0`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(g=N.item.encrypted_content)!=null?g:null}}}));else if(b0(N)){if(N.item.type==="function_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.call_id}),p.enqueue({type:"tool-call",toolCallId:N.item.call_id,toolName:N.item.name,input:N.item.arguments,providerMetadata:{openai:{itemId:N.item.id}}});else if(N.item.type==="web_search_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"web_search_preview",input:(h=(m=N.item.action)==null?void 0:m.query)!=null?h:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"web_search_preview",result:{type:"web_search_tool_result",status:N.item.status||"completed",...((y=N.item.action)==null?void 0:y.query)&&{query:N.item.action.query}},providerExecuted:!0});else if(N.item.type==="computer_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"computer_use",input:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:N.item.status||"completed"},providerExecuted:!0});else if(N.item.type==="file_search_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"file_search",input:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"file_search",result:{type:"file_search_tool_result",status:N.item.status||"completed",...N.item.queries&&{queries:N.item.queries},...N.item.results&&{results:N.item.results}},providerExecuted:!0});else if(N.item.type==="message")p.enqueue({type:"text-end",id:N.item.id});else if(Wj(N)){const se=v[N.item.id];for(const D of se.summaryParts)p.enqueue({type:"reasoning-end",id:`${N.item.id}:${D}`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(_=N.item.encrypted_content)!=null?_:null}}});delete v[N.item.id]}}else if(Xj(N)){const se=u[N.output_index];se!=null&&p.enqueue({type:"tool-input-delta",id:se.toolCallId,delta:N.delta})}else Yj(N)?(c=N.response.id,p.enqueue({type:"response-metadata",id:N.response.id,timestamp:new Date(N.response.created_at*1e3),modelId:N.response.model})):Gj(N)?(p.enqueue({type:"text-delta",id:N.item_id,delta:N.delta}),N.logprobs&&l.push(N.logprobs)):rD(N)?N.summary_index>0&&((w=v[N.item_id])==null||w.summaryParts.push(N.summary_index),p.enqueue({type:"reasoning-start",id:`${N.item_id}:${N.summary_index}`,providerMetadata:{openai:{itemId:N.item_id,reasoningEncryptedContent:(P=(E=v[N.item_id])==null?void 0:E.encryptedContent)!=null?P:null}}})):nD(N)?p.enqueue({type:"reasoning-delta",id:`${N.item_id}:${N.summary_index}`,delta:N.delta,providerMetadata:{openai:{itemId:N.item_id}}}):Qj(N)?(o=g0({finishReason:(x=N.response.incomplete_details)==null?void 0:x.reason,hasToolCalls:f}),i.inputTokens=N.response.usage.input_tokens,i.outputTokens=N.response.usage.output_tokens,i.totalTokens=N.response.usage.input_tokens+N.response.usage.output_tokens,i.reasoningTokens=(M=(A=N.response.usage.output_tokens_details)==null?void 0:A.reasoning_tokens)!=null?M:void 0,i.cachedInputTokens=(V=(H=N.response.usage.input_tokens_details)==null?void 0:H.cached_tokens)!=null?V:void 0):tD(N)?N.annotation.type==="url_citation"?p.enqueue({type:"source",sourceType:"url",id:(Z=(z=(J=s.config).generateId)==null?void 0:z.call(J))!=null?Z:sr(),url:N.annotation.url,title:N.annotation.title}):N.annotation.type==="file_citation"&&p.enqueue({type:"source",sourceType:"document",id:(ge=(me=(te=s.config).generateId)==null?void 0:me.call(te))!=null?ge:sr(),mediaType:"text/plain",title:N.annotation.quote,filename:N.annotation.file_id}):aD(N)&&p.enqueue({type:"error",error:N})},flush(d){const p={openai:{responseId:c}};l.length>0&&(p.openai.logprobs=l),d.enqueue({type:"finish",finishReason:o,usage:i,providerMetadata:p})}})),request:{body:e},response:{headers:a}}}},w0=O({input_tokens:K(),input_tokens_details:O({cached_tokens:K().nullish()}).nullish(),output_tokens:K(),output_tokens_details:O({reasoning_tokens:K().nullish()}).nullish()}),Lj=O({type:W("response.output_text.delta"),item_id:S(),delta:S(),logprobs:_0.nullish()}),zj=O({type:W("error"),code:S(),message:S(),param:S().nullish(),sequence_number:K()}),qj=O({type:Vt(["response.completed","response.incomplete"]),response:O({incomplete_details:O({reason:S()}).nullish(),usage:w0})}),Uj=O({type:W("response.created"),response:O({id:S(),created_at:K(),model:S()})}),Fj=O({type:W("response.output_item.added"),output_index:K(),item:qa("type",[O({type:W("message"),id:S()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish()}),O({type:W("function_call"),id:S(),call_id:S(),name:S(),arguments:S()}),O({type:W("web_search_call"),id:S(),status:S(),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:S()}),O({type:W("file_search_call"),id:S(),status:S(),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).optional()})])}),Vj=O({type:W("response.output_item.done"),output_index:K(),item:qa("type",[O({type:W("message"),id:S()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish()}),O({type:W("function_call"),id:S(),call_id:S(),name:S(),arguments:S(),status:W("completed")}),O({type:W("web_search_call"),id:S(),status:W("completed"),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:W("completed")}),O({type:W("file_search_call"),id:S(),status:W("completed"),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).nullish()})])}),Zj=O({type:W("response.function_call_arguments.delta"),item_id:S(),output_index:K(),delta:S()}),Hj=O({type:W("response.output_text.annotation.added"),annotation:qa("type",[O({type:W("url_citation"),url:S(),title:S()}),O({type:W("file_citation"),file_id:S(),quote:S()})])}),Bj=O({type:W("response.reasoning_summary_part.added"),item_id:S(),summary_index:K()}),Jj=O({type:W("response.reasoning_summary_text.delta"),item_id:S(),summary_index:K(),delta:S()}),Kj=Fe([Lj,qj,Uj,Fj,Vj,Zj,Hj,Bj,Jj,zj,O({type:S()}).loose()]);function Gj(t){return t.type==="response.output_text.delta"}function b0(t){return t.type==="response.output_item.done"}function Wj(t){return b0(t)&&t.item.type==="reasoning"}function Qj(t){return t.type==="response.completed"||t.type==="response.incomplete"}function Yj(t){return t.type==="response.created"}function Xj(t){return t.type==="response.function_call_arguments.delta"}function E0(t){return t.type==="response.output_item.added"}function eD(t){return E0(t)&&t.item.type==="reasoning"}function tD(t){return t.type==="response.output_text.annotation.added"}function rD(t){return t.type==="response.reasoning_summary_part.added"}function nD(t){return t.type==="response.reasoning_summary_text.delta"}function aD(t){return t.type==="error"}function sD(t){const e=t.startsWith("o3")||t.startsWith("o4-mini")||t.startsWith("gpt-5")&&!t.startsWith("gpt-5-chat"),r=t.startsWith("gpt-4")||t.startsWith("gpt-5-mini")||t.startsWith("gpt-5")&&!t.startsWith("gpt-5-nano")&&!t.startsWith("gpt-5-chat")||t.startsWith("o3")||t.startsWith("o4-mini"),a={requiredAutoTruncation:!1,systemMessageMode:"system",supportsFlexProcessing:e,supportsPriorityProcessing:r};return t.startsWith("gpt-5-chat")?{...a,isReasoningModel:!1}:t.startsWith("o")||t.startsWith("gpt-5")||t.startsWith("codex-")||t.startsWith("computer-use")?t.startsWith("o1-mini")||t.startsWith("o1-preview")?{...a,isReasoningModel:!0,systemMessageMode:"remove"}:{...a,isReasoningModel:!0,systemMessageMode:"developer"}:{...a,isReasoningModel:!1}}var oD=O({metadata:Tr().nullish(),parallelToolCalls:Ve().nullish(),previousResponseId:S().nullish(),store:Ve().nullish(),user:S().nullish(),reasoningEffort:S().nullish(),strictJsonSchema:Ve().nullish(),instructions:S().nullish(),reasoningSummary:S().nullish(),serviceTier:Vt(["auto","flex","priority"]).nullish(),include:ce(Vt(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),textVerbosity:Vt(["low","medium","high"]).nullish(),promptCacheKey:S().nullish(),safetyIdentifier:S().nullish(),logprobs:Fe([Ve(),K().min(1).max(y0)]).optional()}),iD=O({instructions:S().nullish(),speed:K().min(.25).max(4).default(1).nullish()}),lD=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get provider(){return this.config.provider}async getArgs({text:t,voice:e="alloy",outputFormat:r="mp3",speed:a,instructions:n,language:s,providerOptions:o}){const i=[],l=await Br({provider:"openai",providerOptions:o,schema:iD}),c={model:this.modelId,input:t,voice:e,response_format:"mp3",speed:a,instructions:n};if(r&&(["mp3","opus","aac","flac","wav","pcm"].includes(r)?c.response_format=r:i.push({type:"unsupported-setting",setting:"outputFormat",details:`Unsupported output format: ${r}. Using mp3 instead.`})),l){const u={};for(const f in u){const v=u[f];v!==void 0&&(c[f]=v)}}return s&&i.push({type:"unsupported-setting",setting:"language",details:`OpenAI speech models do not support language selection. Language parameter "${s}" was ignored.`}),{requestBody:c,warnings:i}}async doGenerate(t){var e,r,a;const n=(a=(r=(e=this.config._internal)==null?void 0:e.currentDate)==null?void 0:r.call(e))!=null?a:new Date,{requestBody:s,warnings:o}=await this.getArgs(t),{value:i,responseHeaders:l,rawValue:c}=await xr({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:s,failedResponseHandler:Jr,successfulResponseHandler:rj(),abortSignal:t.abortSignal,fetch:this.config.fetch});return{audio:i,warnings:o,request:{body:JSON.stringify(s)},response:{timestamp:n,modelId:this.modelId,headers:l,body:c}}}},cD=O({include:ce(S()).optional(),language:S().optional(),prompt:S().optional(),temperature:K().min(0).max(1).default(0).optional(),timestampGranularities:ce(Vt(["word","segment"])).default(["segment"]).optional()}),S0={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},uD=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get provider(){return this.config.provider}async getArgs({audio:t,mediaType:e,providerOptions:r}){const a=[],n=await Br({provider:"openai",providerOptions:r,schema:cD}),s=new FormData,o=t instanceof Uint8Array?new Blob([t]):new Blob([sj(t)]);if(s.append("model",this.modelId),s.append("file",new File([o],"audio",{type:e})),n){const i={include:n.include,language:n.language,prompt:n.prompt,response_format:"verbose_json",temperature:n.temperature,timestamp_granularities:n.timestampGranularities};for(const[l,c]of Object.entries(i))c!=null&&s.append(l,String(c))}return{formData:s,warnings:a}}async doGenerate(t){var e,r,a,n,s,o,i,l;const c=(a=(r=(e=this.config._internal)==null?void 0:e.currentDate)==null?void 0:r.call(e))!=null?a:new Date,{formData:u,warnings:f}=await this.getArgs(t),{value:v,responseHeaders:d,rawValue:p}=await tj({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),formData:u,failedResponseHandler:Jr,successfulResponseHandler:Yn(dD),abortSignal:t.abortSignal,fetch:this.config.fetch}),g=v.language!=null&&v.language in S0?S0[v.language]:void 0;return{text:v.text,segments:(i=(o=(n=v.segments)==null?void 0:n.map(m=>({text:m.text,startSecond:m.start,endSecond:m.end})))!=null?o:(s=v.words)==null?void 0:s.map(m=>({text:m.word,startSecond:m.start,endSecond:m.end})))!=null?i:[],language:g,durationInSeconds:(l=v.duration)!=null?l:void 0,warnings:f,response:{timestamp:c,modelId:this.modelId,headers:d,body:p}}}},dD=O({text:S(),language:S().nullish(),duration:K().nullish(),words:ce(O({word:S(),start:K(),end:K()})).nullish(),segments:ce(O({id:K(),seek:K(),start:K(),end:K(),text:S(),tokens:ce(K()),temperature:K(),avg_logprob:K(),compression_ratio:K(),no_speech_prob:K()})).nullish()});function $0(t={}){var e,r;const a=(e=n0(t.baseURL))!=null?e:"https://api.openai.com/v1",n=(r=t.name)!=null?r:"openai",s=()=>({Authorization:`Bearer ${X_({apiKey:t.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":t.organization,"OpenAI-Project":t.project,...t.headers}),o=g=>new pj(g,{provider:`${n}.chat`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),i=g=>new bj(g,{provider:`${n}.completion`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),l=g=>new Pj(g,{provider:`${n}.embedding`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),c=g=>new kj(g,{provider:`${n}.image`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),u=g=>new uD(g,{provider:`${n}.transcription`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),f=g=>new lD(g,{provider:`${n}.speech`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),v=g=>{if(new.target)throw new Error("The OpenAI model function cannot be called with the new keyword.");return d(g)},d=g=>new Dj(g,{provider:`${n}.responses`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch,fileIdPrefixes:["file-"]}),p=function(g){return v(g)};return p.languageModel=v,p.chat=o,p.completion=i,p.responses=d,p.embedding=l,p.textEmbedding=l,p.textEmbeddingModel=l,p.image=c,p.imageModel=c,p.transcription=u,p.transcriptionModel=u,p.speech=f,p.speechModel=f,p.tools=Aj,p}$0();function oo(t){var e,r;return(r=(e=t==null?void 0:t.providerOptions)==null?void 0:e.openaiCompatible)!=null?r:{}}function fD(t){const e=[];for(const{role:r,content:a,...n}of t){const s=oo({...n});switch(r){case"system":{e.push({role:"system",content:a,...s});break}case"user":{if(a.length===1&&a[0].type==="text"){e.push({role:"user",content:a[0].text,...oo(a[0])});break}e.push({role:"user",content:a.map(o=>{const i=oo(o);switch(o.type){case"text":return{type:"text",text:o.text,...i};case"file":if(o.mediaType.startsWith("image/")){const l=o.mediaType==="image/*"?"image/jpeg":o.mediaType;return{type:"image_url",image_url:{url:o.data instanceof URL?o.data.toString():`data:${l};base64,${Xn(o.data)}`},...i}}else throw new dr({functionality:`file part media type ${o.mediaType}`})}}),...s});break}case"assistant":{let o="";const i=[];for(const l of a){const c=oo(l);switch(l.type){case"text":{o+=l.text;break}case"tool-call":{i.push({id:l.toolCallId,type:"function",function:{name:l.toolName,arguments:JSON.stringify(l.input)},...c});break}}}e.push({role:"assistant",content:o,tool_calls:i.length>0?i:void 0,...s});break}case"tool":{for(const o of a){const i=o.output;let l;switch(i.type){case"text":case"error-text":l=i.value;break;case"content":case"json":case"error-json":l=JSON.stringify(i.value);break}const c=oo(o);e.push({role:"tool",tool_call_id:o.toolCallId,content:l,...c})}break}default:{const o=r;throw new Error(`Unsupported role: ${o}`)}}}return e}function P0({id:t,model:e,created:r}){return{id:t??void 0,modelId:e??void 0,timestamp:r!=null?new Date(r*1e3):void 0}}function T0(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var x0=O({user:S().optional(),reasoningEffort:S().optional()}),pD=O({error:O({message:S(),type:S().nullish(),param:Tr().nullish(),code:Fe([S(),K()]).nullish()})}),hD={errorSchema:pD,errorToMessage:t=>t.error.message};function mD({tools:t,toolChoice:e}){t=t!=null&&t.length?t:void 0;const r=[];if(t==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};const a=[];for(const s of t)s.type==="provider-defined"?r.push({type:"unsupported-tool",tool:s}):a.push({type:"function",function:{name:s.name,description:s.description,parameters:s.inputSchema}});if(e==null)return{tools:a,toolChoice:void 0,toolWarnings:r};const n=e.type;switch(n){case"auto":case"none":case"required":return{tools:a,toolChoice:n,toolWarnings:r};case"tool":return{tools:a,toolChoice:{type:"function",function:{name:e.toolName}},toolWarnings:r};default:{const s=n;throw new dr({functionality:`tool choice type: ${s}`})}}}var vD=class{constructor(t,e){this.specificationVersion="v2";var r,a;this.modelId=t,this.config=e;const n=(r=e.errorStructure)!=null?r:hD;this.chunkSchema=yD(n.errorSchema),this.failedResponseHandler=r0(n),this.supportsStructuredOutputs=(a=e.supportsStructuredOutputs)!=null?a:!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){var t,e,r;return(r=(e=(t=this.config).supportedUrls)==null?void 0:e.call(t))!=null?r:{}}async getArgs({prompt:t,maxOutputTokens:e,temperature:r,topP:a,topK:n,frequencyPenalty:s,presencePenalty:o,providerOptions:i,stopSequences:l,responseFormat:c,seed:u,toolChoice:f,tools:v}){var d,p,g;const m=[],h=Object.assign((d=await Br({provider:"openai-compatible",providerOptions:i,schema:x0}))!=null?d:{},(p=await Br({provider:this.providerOptionsName,providerOptions:i,schema:x0}))!=null?p:{});n!=null&&m.push({type:"unsupported-setting",setting:"topK"}),(c==null?void 0:c.type)==="json"&&c.schema!=null&&!this.supportsStructuredOutputs&&m.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});const{tools:y,toolChoice:_,toolWarnings:w}=mD({tools:v,toolChoice:f});return{args:{model:this.modelId,user:h.user,max_tokens:e,temperature:r,top_p:a,frequency_penalty:s,presence_penalty:o,response_format:(c==null?void 0:c.type)==="json"?this.supportsStructuredOutputs===!0&&c.schema!=null?{type:"json_schema",json_schema:{schema:c.schema,name:(g=c.name)!=null?g:"response",description:c.description}}:{type:"json_object"}:void 0,stop:l,seed:u,...i==null?void 0:i[this.providerOptionsName],reasoning_effort:h.reasoningEffort,messages:fD(t),tools:y,tool_choice:_},warnings:[...m,...w]}}async doGenerate(t){var e,r,a,n,s,o,i,l,c,u,f,v,d,p,g,m,h;const{args:y,warnings:_}=await this.getArgs({...t}),w=JSON.stringify(y),{responseHeaders:E,value:P,rawValue:x}=await xr({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:y,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:Yn(gD),abortSignal:t.abortSignal,fetch:this.config.fetch}),A=P.choices[0],M=[],H=A.message.content;H!=null&&H.length>0&&M.push({type:"text",text:H});const V=(e=A.message.reasoning_content)!=null?e:A.message.reasoning;if(V!=null&&V.length>0&&M.push({type:"reasoning",text:V}),A.message.tool_calls!=null)for(const Z of A.message.tool_calls)M.push({type:"tool-call",toolCallId:(r=Z.id)!=null?r:sr(),toolName:Z.function.name,input:Z.function.arguments});const J={[this.providerOptionsName]:{},...await((n=(a=this.config.metadataExtractor)==null?void 0:a.extractMetadata)==null?void 0:n.call(a,{parsedBody:x}))},z=(s=P.usage)==null?void 0:s.completion_tokens_details;return(z==null?void 0:z.accepted_prediction_tokens)!=null&&(J[this.providerOptionsName].acceptedPredictionTokens=z==null?void 0:z.accepted_prediction_tokens),(z==null?void 0:z.rejected_prediction_tokens)!=null&&(J[this.providerOptionsName].rejectedPredictionTokens=z==null?void 0:z.rejected_prediction_tokens),{content:M,finishReason:T0(A.finish_reason),usage:{inputTokens:(i=(o=P.usage)==null?void 0:o.prompt_tokens)!=null?i:void 0,outputTokens:(c=(l=P.usage)==null?void 0:l.completion_tokens)!=null?c:void 0,totalTokens:(f=(u=P.usage)==null?void 0:u.total_tokens)!=null?f:void 0,reasoningTokens:(p=(d=(v=P.usage)==null?void 0:v.completion_tokens_details)==null?void 0:d.reasoning_tokens)!=null?p:void 0,cachedInputTokens:(h=(m=(g=P.usage)==null?void 0:g.prompt_tokens_details)==null?void 0:m.cached_tokens)!=null?h:void 0},providerMetadata:J,request:{body:w},response:{...P0(P),headers:E,body:x},warnings:_}}async doStream(t){var e;const{args:r,warnings:a}=await this.getArgs({...t}),n={...r,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},s=(e=this.config.metadataExtractor)==null?void 0:e.createStreamExtractor(),{responseHeaders:o,value:i}=await xr({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:n,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:fl(this.chunkSchema),abortSignal:t.abortSignal,fetch:this.config.fetch}),l=[];let c="unknown";const u={completionTokens:void 0,completionTokensDetails:{reasoningTokens:void 0,acceptedPredictionTokens:void 0,rejectedPredictionTokens:void 0},promptTokens:void 0,promptTokensDetails:{cachedTokens:void 0},totalTokens:void 0};let f=!0;const v=this.providerOptionsName;let d=!1,p=!1;return{stream:i.pipeThrough(new TransformStream({start(g){g.enqueue({type:"stream-start",warnings:a})},transform(g,m){var h,y,_,w,E,P,x,A,M,H,V,J,z;if(t.includeRawChunks&&m.enqueue({type:"raw",rawValue:g.rawValue}),!g.success){c="error",m.enqueue({type:"error",error:g.error});return}const Z=g.value;if(s==null||s.processChunk(g.rawValue),"error"in Z){c="error",m.enqueue({type:"error",error:Z.error.message});return}if(f&&(f=!1,m.enqueue({type:"response-metadata",...P0(Z)})),Z.usage!=null){const{prompt_tokens:N,completion_tokens:se,total_tokens:D,prompt_tokens_details:k,completion_tokens_details:L}=Z.usage;u.promptTokens=N??void 0,u.completionTokens=se??void 0,u.totalTokens=D??void 0,(L==null?void 0:L.reasoning_tokens)!=null&&(u.completionTokensDetails.reasoningTokens=L==null?void 0:L.reasoning_tokens),(L==null?void 0:L.accepted_prediction_tokens)!=null&&(u.completionTokensDetails.acceptedPredictionTokens=L==null?void 0:L.accepted_prediction_tokens),(L==null?void 0:L.rejected_prediction_tokens)!=null&&(u.completionTokensDetails.rejectedPredictionTokens=L==null?void 0:L.rejected_prediction_tokens),(k==null?void 0:k.cached_tokens)!=null&&(u.promptTokensDetails.cachedTokens=k==null?void 0:k.cached_tokens)}const te=Z.choices[0];if((te==null?void 0:te.finish_reason)!=null&&(c=T0(te.finish_reason)),(te==null?void 0:te.delta)==null)return;const me=te.delta,ge=(h=me.reasoning_content)!=null?h:me.reasoning;if(ge&&(d||(m.enqueue({type:"reasoning-start",id:"reasoning-0"}),d=!0),m.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:ge})),me.content&&(p||(m.enqueue({type:"text-start",id:"txt-0"}),p=!0),m.enqueue({type:"text-delta",id:"txt-0",delta:me.content})),me.tool_calls!=null)for(const N of me.tool_calls){const se=N.index;if(l[se]==null){if(N.id==null)throw new Ms({data:N,message:"Expected 'id' to be a string."});if(((y=N.function)==null?void 0:y.name)==null)throw new Ms({data:N,message:"Expected 'function.name' to be a string."});m.enqueue({type:"tool-input-start",id:N.id,toolName:N.function.name}),l[se]={id:N.id,type:"function",function:{name:N.function.name,arguments:(_=N.function.arguments)!=null?_:""},hasFinished:!1};const k=l[se];((w=k.function)==null?void 0:w.name)!=null&&((E=k.function)==null?void 0:E.arguments)!=null&&(k.function.arguments.length>0&&m.enqueue({type:"tool-input-start",id:k.id,toolName:k.function.name}),dl(k.function.arguments)&&(m.enqueue({type:"tool-input-end",id:k.id}),m.enqueue({type:"tool-call",toolCallId:(P=k.id)!=null?P:sr(),toolName:k.function.name,input:k.function.arguments}),k.hasFinished=!0));continue}const D=l[se];D.hasFinished||(((x=N.function)==null?void 0:x.arguments)!=null&&(D.function.arguments+=(M=(A=N.function)==null?void 0:A.arguments)!=null?M:""),m.enqueue({type:"tool-input-delta",id:D.id,delta:(H=N.function.arguments)!=null?H:""}),((V=D.function)==null?void 0:V.name)!=null&&((J=D.function)==null?void 0:J.arguments)!=null&&dl(D.function.arguments)&&(m.enqueue({type:"tool-input-end",id:D.id}),m.enqueue({type:"tool-call",toolCallId:(z=D.id)!=null?z:sr(),toolName:D.function.name,input:D.function.arguments}),D.hasFinished=!0))}},flush(g){var m,h,y,_,w,E;d&&g.enqueue({type:"reasoning-end",id:"reasoning-0"}),p&&g.enqueue({type:"text-end",id:"txt-0"});for(const x of l.filter(A=>!A.hasFinished))g.enqueue({type:"tool-input-end",id:x.id}),g.enqueue({type:"tool-call",toolCallId:(m=x.id)!=null?m:sr(),toolName:x.function.name,input:x.function.arguments});const P={[v]:{},...s==null?void 0:s.buildMetadata()};u.completionTokensDetails.acceptedPredictionTokens!=null&&(P[v].acceptedPredictionTokens=u.completionTokensDetails.acceptedPredictionTokens),u.completionTokensDetails.rejectedPredictionTokens!=null&&(P[v].rejectedPredictionTokens=u.completionTokensDetails.rejectedPredictionTokens),g.enqueue({type:"finish",finishReason:c,usage:{inputTokens:(h=u.promptTokens)!=null?h:void 0,outputTokens:(y=u.completionTokens)!=null?y:void 0,totalTokens:(_=u.totalTokens)!=null?_:void 0,reasoningTokens:(w=u.completionTokensDetails.reasoningTokens)!=null?w:void 0,cachedInputTokens:(E=u.promptTokensDetails.cachedTokens)!=null?E:void 0},providerMetadata:P})}})),request:{body:n},response:{headers:o}}}},I0=O({prompt_tokens:K().nullish(),completion_tokens:K().nullish(),total_tokens:K().nullish(),prompt_tokens_details:O({cached_tokens:K().nullish()}).nullish(),completion_tokens_details:O({reasoning_tokens:K().nullish(),accepted_prediction_tokens:K().nullish(),rejected_prediction_tokens:K().nullish()}).nullish()}).nullish(),gD=O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({message:O({role:W("assistant").nullish(),content:S().nullish(),reasoning_content:S().nullish(),reasoning:S().nullish(),tool_calls:ce(O({id:S().nullish(),function:O({name:S(),arguments:S()})})).nullish()}),finish_reason:S().nullish()})),usage:I0}),yD=t=>Fe([O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({delta:O({role:Vt(["assistant"]).nullish(),content:S().nullish(),reasoning_content:S().nullish(),reasoning:S().nullish(),tool_calls:ce(O({index:K(),id:S().nullish(),function:O({name:S().nullish(),arguments:S().nullish()})})).nullish()}).nullish(),finish_reason:S().nullish()})),usage:I0}),t]);O({echo:Ve().optional(),logitBias:Xt(S(),K()).optional(),suffix:S().optional(),user:S().optional()});var _D=O({prompt_tokens:K(),completion_tokens:K(),total_tokens:K()});O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S()})),usage:_D.nullish()}),O({dimensions:K().optional(),user:S().optional()}),O({data:ce(O({embedding:ce(K())})),usage:O({prompt_tokens:K()}).nullish(),providerMetadata:Xt(S(),Xt(S(),Tr())).optional()}),O({data:ce(O({b64_json:S()}))});var k0=t=>{var e,r;return t==null?void 0:{deepseek:{promptCacheHitTokens:(e=t.prompt_cache_hit_tokens)!=null?e:NaN,promptCacheMissTokens:(r=t.prompt_cache_miss_tokens)!=null?r:NaN}}},wD={extractMetadata:async({parsedBody:t})=>{const e=await so({value:t,schema:bD});return!e.success||e.value.usage==null?void 0:k0(e.value.usage)},createStreamExtractor:()=>{let t;return{processChunk:async e=>{var r,a;const n=await so({value:e,schema:ED});n.success&&((a=(r=n.value.choices)==null?void 0:r[0])==null?void 0:a.finish_reason)==="stop"&&n.value.usage&&(t=n.value.usage)},buildMetadata:()=>k0(t)}}},C0=O({prompt_cache_hit_tokens:K().nullish(),prompt_cache_miss_tokens:K().nullish()}),bD=O({usage:C0.nullish()}),ED=O({choices:ce(O({finish_reason:S().nullish()})).nullish(),usage:C0.nullish()});function R0(t={}){var e;const r=n0((e=t.baseURL)!=null?e:"https://api.deepseek.com/v1"),a=()=>({Authorization:`Bearer ${X_({apiKey:t.apiKey,environmentVariableName:"DEEPSEEK_API_KEY",description:"DeepSeek API key"})}`,...t.headers}),n=o=>new vD(o,{provider:"deepseek.chat",url:({path:i})=>`${r}${i}`,headers:a,fetch:t.fetch,metadataExtractor:wD}),s=o=>n(o);return s.languageModel=n,s.chat=n,s.textEmbeddingModel=o=>{throw new fd({modelId:o,modelType:"textEmbeddingModel"})},s.imageModel=o=>{throw new fd({modelId:o,modelType:"imageModel"})},s}R0();const SD={openai:$0,deepseek:R0};class $D{constructor({llmConfig:e,mcpServers:r,llm:a}){if(this.mcpServers=[],this.mcpClients=[],this.mcpTools=[],this.ignoreToolnames=[],this.autoUpdateTools=!0,this.mcpServers=r||[],a)this.llm=a;else if(e){let n;typeof e.providerType=="string"?n=SD[e.providerType]:n=e.providerType,this.llm=n({apiKey:e.apiKey,baseURL:e.baseURL})}else throw new Error("Either llmConfig or llm must be provided")}async _createOneClient(e){try{let r;return"type"in e&&e.type.toLocaleLowerCase()==="streamablehttp"?r=new Oa(new URL(e.url)):r=e,D4({transport:r})}catch(r){return console.error("Failed to create MCP client",e,r),null}}async _createMpcClients(){this.mcpClients=await Promise.all(this.mcpServers.map(async e=>this._createOneClient(e)))}async _createMpcTools(){this.mcpTools=await Promise.all(this.mcpClients.map(async e=>{var r;try{return e?await((r=e==null?void 0:e.tools)==null?void 0:r.call(e)):null}catch{return null}}))}async closeAll(){await Promise.all(this.mcpClients.map(async e=>{try{e.close()}catch{}}))}async initClientsAndTools(){await this._createMpcClients(),await this._createMpcTools()}async updateMcpServers(e){await this.closeAll(),this.mcpServers=e,await this.initClientsAndTools()}async insertMcpServer(e){var a;if(!this.mcpServers.find(n=>n.url===e.url)){this.mcpServers=[...this.mcpServers,e];const n=await this._createOneClient(e);return this.mcpClients.push(n),this.mcpTools.push(await((a=n==null?void 0:n.tools)==null?void 0:a.call(n))),!0}return!1}removeMcpServer(e){const r=this.mcpServers.findIndex(s=>s===e);this.mcpServers.splice(r,1);const a=this.mcpClients[r];this.mcpClients.splice(r,1);try{a==null||a.close()}catch{}const n=this.mcpTools[r];this.mcpTools.splice(r,1),n&&Object.keys(n).forEach(s=>{this.ignoreToolnames=this.ignoreToolnames.filter(o=>o!==s)})}tempMergeTools(e={}){const r=this.mcpTools.reduce((a,n)=>({...a,...n}),{});return Object.assign(r,e),this.ignoreToolnames.forEach(a=>{delete r[a]}),r}async _chat(e,{model:r,maxSteps:a=5,...n}){var s;if(!this.llm)throw new Error("LLM is not initialized");return this.autoUpdateTools&&(await this._createMpcTools(),(s=this.onUpdatedTools)==null||s.call(this)),e({model:this.llm(r),tools:this.tempMergeTools(n.tools),stopWhen:Gd(a),...n})}async chat(e){return this._chat(FM,e)}async chatStream(e){return this._chat(l4,e)}}const PD=async t=>{const e={};try{const r=await t.listTools();for(const{name:a,description:n,inputSchema:s}of r.tools){const o=async(i,l)=>t.callTool({name:a,arguments:i},{signal:l==null?void 0:l.abortSignal});e[a]=Wg({description:n,inputSchema:Js({...s,properties:s.properties??{},additionalProperties:!1}),execute:o})}return e}catch(r){throw r}};Je.AgentModelProvider=$D,Je.Ajv=WE,Je.AuthClientProvider=Tx,Je.QrCode=pv,Je.ResourceTemplate=hI,Je.UriTemplate=sn,Je.WebMcpClient=$I,Je.WebMcpServer=_I,Je.completable=dI,Je.createMessageChannelClientTransport=xI,Je.createMessageChannelPairTransport=bI,Je.createMessageChannelServerTransport=wI,Je.createRemoter=_k,Je.createSSEClientTransport=PI,Je.createStreamableHTTPClientTransport=TI,Je.getAISDKTools=PD,Je.getDisplayName=yI,Je.isMcpClient=CI,Je.isMcpServer=SI,Je.isMessageChannelClientTransport=kI,Je.isMessageChannelServerTransport=EI,Je.isSSEClientTransport=II,Je.isStreamableHTTPClientTransport=Jm,Je.z=ZS,Object.defineProperty(Je,Symbol.toStringTag,{value:"Module"})});
|
|
536
|
+
${e}:`]}}function f0({id:t,model:e,created:r}){return{id:t??void 0,modelId:e??void 0,timestamp:r!=null?new Date(r*1e3):void 0}}function p0(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var h0=O({echo:Ve().optional(),logitBias:Xt(S(),K()).optional(),suffix:S().optional(),user:S().optional(),logprobs:Fe([Ve(),K()]).optional()}),bj=class{constructor(t,e){this.specificationVersion="v2",this.supportedUrls={},this.modelId=t,this.config=e}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:t,maxOutputTokens:e,temperature:r,topP:a,topK:n,frequencyPenalty:s,presencePenalty:o,stopSequences:i,responseFormat:l,tools:c,toolChoice:u,seed:f,providerOptions:v}){const d=[],p={...await Br({provider:"openai",providerOptions:v,schema:h0}),...await Br({provider:this.providerOptionsName,providerOptions:v,schema:h0})};n!=null&&d.push({type:"unsupported-setting",setting:"topK"}),c!=null&&c.length&&d.push({type:"unsupported-setting",setting:"tools"}),u!=null&&d.push({type:"unsupported-setting",setting:"toolChoice"}),l!=null&&l.type!=="text"&&d.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."});const{prompt:g,stopSequences:m}=wj({prompt:t}),h=[...m??[],...i??[]];return{args:{model:this.modelId,echo:p.echo,logit_bias:p.logitBias,logprobs:(p==null?void 0:p.logprobs)===!0?0:(p==null?void 0:p.logprobs)===!1||p==null?void 0:p.logprobs,suffix:p.suffix,user:p.user,max_tokens:e,temperature:r,top_p:a,frequency_penalty:s,presence_penalty:o,seed:f,prompt:g,stop:h.length>0?h:void 0},warnings:d}}async doGenerate(t){var e,r,a;const{args:n,warnings:s}=await this.getArgs(t),{responseHeaders:o,value:i,rawValue:l}=await xr({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:n,failedResponseHandler:Jr,successfulResponseHandler:Yn(Ej),abortSignal:t.abortSignal,fetch:this.config.fetch}),c=i.choices[0],u={openai:{}};return c.logprobs!=null&&(u.openai.logprobs=c.logprobs),{content:[{type:"text",text:c.text}],usage:{inputTokens:(e=i.usage)==null?void 0:e.prompt_tokens,outputTokens:(r=i.usage)==null?void 0:r.completion_tokens,totalTokens:(a=i.usage)==null?void 0:a.total_tokens},finishReason:p0(c.finish_reason),request:{body:n},response:{...f0(i),headers:o,body:l},providerMetadata:u,warnings:s}}async doStream(t){const{args:e,warnings:r}=await this.getArgs(t),a={...e,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:n,value:s}=await xr({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:a,failedResponseHandler:Jr,successfulResponseHandler:fl(Sj),abortSignal:t.abortSignal,fetch:this.config.fetch});let o="unknown";const i={openai:{}},l={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};let c=!0;return{stream:s.pipeThrough(new TransformStream({start(u){u.enqueue({type:"stream-start",warnings:r})},transform(u,f){if(t.includeRawChunks&&f.enqueue({type:"raw",rawValue:u.rawValue}),!u.success){o="error",f.enqueue({type:"error",error:u.error});return}const v=u.value;if("error"in v){o="error",f.enqueue({type:"error",error:v.error});return}c&&(c=!1,f.enqueue({type:"response-metadata",...f0(v)}),f.enqueue({type:"text-start",id:"0"})),v.usage!=null&&(l.inputTokens=v.usage.prompt_tokens,l.outputTokens=v.usage.completion_tokens,l.totalTokens=v.usage.total_tokens);const d=v.choices[0];(d==null?void 0:d.finish_reason)!=null&&(o=p0(d.finish_reason)),(d==null?void 0:d.logprobs)!=null&&(i.openai.logprobs=d.logprobs),(d==null?void 0:d.text)!=null&&d.text.length>0&&f.enqueue({type:"text-delta",id:"0",delta:d.text})},flush(u){c||u.enqueue({type:"text-end",id:"0"}),u.enqueue({type:"finish",finishReason:o,providerMetadata:i,usage:l})}})),request:{body:a},response:{headers:n}}}},m0=O({prompt_tokens:K(),completion_tokens:K(),total_tokens:K()}),Ej=O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S(),logprobs:O({tokens:ce(S()),token_logprobs:ce(K()),top_logprobs:ce(Xt(S(),K())).nullish()}).nullish()})),usage:m0.nullish()}),Sj=Fe([O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S().nullish(),index:K(),logprobs:O({tokens:ce(S()),token_logprobs:ce(K()),top_logprobs:ce(Xt(S(),K())).nullish()}).nullish()})),usage:m0.nullish()}),af]),$j=O({dimensions:K().optional(),user:S().optional()}),Pj=class{constructor(t,e){this.specificationVersion="v2",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=t,this.config=e}get provider(){return this.config.provider}async doEmbed({values:t,headers:e,abortSignal:r,providerOptions:a}){var n;if(t.length>this.maxEmbeddingsPerCall)throw new Rk({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});const s=(n=await Br({provider:"openai",providerOptions:a,schema:$j}))!=null?n:{},{responseHeaders:o,value:i,rawValue:l}=await xr({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:pr(this.config.headers(),e),body:{model:this.modelId,input:t,encoding_format:"float",dimensions:s.dimensions,user:s.user},failedResponseHandler:Jr,successfulResponseHandler:Yn(Tj),abortSignal:r,fetch:this.config.fetch});return{embeddings:i.data.map(c=>c.embedding),usage:i.usage?{tokens:i.usage.prompt_tokens}:void 0,response:{headers:o,body:l}}}},Tj=O({data:ce(O({embedding:ce(K())})),usage:O({prompt_tokens:K()}).nullish()}),xj={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Ij=new Set(["gpt-image-1"]),kj=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get maxImagesPerCall(){var t;return(t=xj[this.modelId])!=null?t:1}get provider(){return this.config.provider}async doGenerate({prompt:t,n:e,size:r,aspectRatio:a,seed:n,providerOptions:s,headers:o,abortSignal:i}){var l,c,u,f;const v=[];a!=null&&v.push({type:"unsupported-setting",setting:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),n!=null&&v.push({type:"unsupported-setting",setting:"seed"});const d=(u=(c=(l=this.config._internal)==null?void 0:l.currentDate)==null?void 0:c.call(l))!=null?u:new Date,{value:p,responseHeaders:g}=await xr({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:pr(this.config.headers(),o),body:{model:this.modelId,prompt:t,n:e,size:r,...(f=s.openai)!=null?f:{},...Ij.has(this.modelId)?{}:{response_format:"b64_json"}},failedResponseHandler:Jr,successfulResponseHandler:Yn(Cj),abortSignal:i,fetch:this.config.fetch});return{images:p.data.map(m=>m.b64_json),warnings:v,response:{timestamp:d,modelId:this.modelId,headers:g},providerMetadata:{openai:{images:p.data.map(m=>m.revised_prompt?{revisedPrompt:m.revised_prompt}:null)}}}}},Cj=O({data:ce(O({b64_json:S(),revised_prompt:S().optional()}))}),Rj=O({container:Fe([S(),O({fileIds:ce(S()).optional()})]).optional()}),Oj=nf({id:"openai.code_interpreter",name:"code_interpreter",inputSchema:O({})}),Aj={codeInterpreter:Oj,fileSearch:uj,webSearchPreview:dj};function v0(t,e){return e?e.some(r=>t.startsWith(r)):!1}async function Nj({prompt:t,systemMessageMode:e,fileIdPrefixes:r}){var a,n,s,o,i,l;const c=[],u=[];for(const{role:f,content:v}of t)switch(f){case"system":{switch(e){case"system":{c.push({role:"system",content:v});break}case"developer":{c.push({role:"developer",content:v});break}case"remove":{u.push({type:"other",message:"system messages are removed for this model"});break}default:{const d=e;throw new Error(`Unsupported system message mode: ${d}`)}}break}case"user":{c.push({role:"user",content:v.map((d,p)=>{var g,m,h;switch(d.type){case"text":return{type:"input_text",text:d.text};case"file":if(d.mediaType.startsWith("image/")){const y=d.mediaType==="image/*"?"image/jpeg":d.mediaType;return{type:"input_image",...d.data instanceof URL?{image_url:d.data.toString()}:typeof d.data=="string"&&v0(d.data,r)?{file_id:d.data}:{image_url:`data:${y};base64,${Xn(d.data)}`},detail:(m=(g=d.providerOptions)==null?void 0:g.openai)==null?void 0:m.imageDetail}}else if(d.mediaType==="application/pdf"){if(d.data instanceof URL)throw new dr({functionality:"PDF file parts with URLs"});return{type:"input_file",...typeof d.data=="string"&&v0(d.data,r)?{file_id:d.data}:{filename:(h=d.filename)!=null?h:`part-${p}.pdf`,file_data:`data:application/pdf;base64,${Xn(d.data)}`}}}else throw new dr({functionality:`file part media type ${d.mediaType}`})}})});break}case"assistant":{const d={};for(const p of v)switch(p.type){case"text":{c.push({role:"assistant",content:[{type:"output_text",text:p.text}],id:(s=(n=(a=p.providerOptions)==null?void 0:a.openai)==null?void 0:n.itemId)!=null?s:void 0});break}case"tool-call":{if(p.providerExecuted)break;c.push({type:"function_call",call_id:p.toolCallId,name:p.toolName,arguments:JSON.stringify(p.input),id:(l=(i=(o=p.providerOptions)==null?void 0:o.openai)==null?void 0:i.itemId)!=null?l:void 0});break}case"tool-result":{u.push({type:"other",message:"tool result parts in assistant messages are not supported for OpenAI responses"});break}case"reasoning":{const g=await Br({provider:"openai",providerOptions:p.providerOptions,schema:Mj}),m=g==null?void 0:g.itemId;if(m!=null){const h=d[m],y=[];p.text.length>0?y.push({type:"summary_text",text:p.text}):h!==void 0&&u.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(p)}.`}),h===void 0?(d[m]={type:"reasoning",id:m,encrypted_content:g==null?void 0:g.reasoningEncryptedContent,summary:y},c.push(d[m])):h.summary.push(...y)}else u.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(p)}.`});break}}break}case"tool":{for(const d of v){const p=d.output;let g;switch(p.type){case"text":case"error-text":g=p.value;break;case"content":case"json":case"error-json":g=JSON.stringify(p.value);break}c.push({type:"function_call_output",call_id:d.toolCallId,output:g})}break}default:{const d=f;throw new Error(`Unsupported role: ${d}`)}}return{messages:c,warnings:u}}var Mj=O({itemId:S().nullish(),reasoningEncryptedContent:S().nullish()});function g0({finishReason:t,hasToolCalls:e}){switch(t){case void 0:case null:return e?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return e?"tool-calls":"unknown"}}function jj({tools:t,toolChoice:e,strictJsonSchema:r}){t=t!=null&&t.length?t:void 0;const a=[];if(t==null)return{tools:void 0,toolChoice:void 0,toolWarnings:a};const n=[];for(const o of t)switch(o.type){case"function":n.push({type:"function",name:o.name,description:o.description,parameters:o.inputSchema,strict:r});break;case"provider-defined":{switch(o.id){case"openai.file_search":{const i=l0.parse(o.args);n.push({type:"file_search",vector_store_ids:i.vectorStoreIds,max_num_results:i.maxNumResults,ranking_options:i.ranking?{ranker:i.ranking.ranker}:void 0,filters:i.filters});break}case"openai.web_search_preview":{const i=c0.parse(o.args);n.push({type:"web_search_preview",search_context_size:i.searchContextSize,user_location:i.userLocation});break}case"openai.code_interpreter":{const i=Rj.parse(o.args);n.push({type:"code_interpreter",container:i.container==null?{type:"auto",file_ids:void 0}:typeof i.container=="string"?i.container:{type:"auto",file_ids:i.container.fileIds}});break}default:{a.push({type:"unsupported-tool",tool:o});break}}break}default:a.push({type:"unsupported-tool",tool:o});break}if(e==null)return{tools:n,toolChoice:void 0,toolWarnings:a};const s=e.type;switch(s){case"auto":case"none":case"required":return{tools:n,toolChoice:s,toolWarnings:a};case"tool":return{tools:n,toolChoice:e.toolName==="code_interpreter"||e.toolName==="file_search"||e.toolName==="web_search_preview"?{type:e.toolName}:{type:"function",name:e.toolName},toolWarnings:a};default:{const o=s;throw new dr({functionality:`tool choice type: ${o}`})}}}var y0=20,_0=ce(O({token:S(),logprob:K(),top_logprobs:ce(O({token:S(),logprob:K()}))})),Dj=class{constructor(t,e){this.specificationVersion="v2",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=t,this.config=e}get provider(){return this.config.provider}async getArgs({maxOutputTokens:t,temperature:e,stopSequences:r,topP:a,topK:n,presencePenalty:s,frequencyPenalty:o,seed:i,prompt:l,providerOptions:c,tools:u,toolChoice:f,responseFormat:v}){var d,p;const g=[],m=sD(this.modelId);n!=null&&g.push({type:"unsupported-setting",setting:"topK"}),i!=null&&g.push({type:"unsupported-setting",setting:"seed"}),s!=null&&g.push({type:"unsupported-setting",setting:"presencePenalty"}),o!=null&&g.push({type:"unsupported-setting",setting:"frequencyPenalty"}),r!=null&&g.push({type:"unsupported-setting",setting:"stopSequences"});const{messages:h,warnings:y}=await Nj({prompt:l,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);const _=await Br({provider:"openai",providerOptions:c,schema:oD}),w=(d=_==null?void 0:_.strictJsonSchema)!=null?d:!1,E=typeof(_==null?void 0:_.logprobs)=="number"?_==null?void 0:_.logprobs:(_==null?void 0:_.logprobs)===!0?y0:void 0,P=E?Array.isArray(_==null?void 0:_.include)?[..._==null?void 0:_.include,"message.output_text.logprobs"]:["message.output_text.logprobs"]:_==null?void 0:_.include,x={model:this.modelId,input:h,temperature:e,top_p:a,max_output_tokens:t,...((v==null?void 0:v.type)==="json"||(_==null?void 0:_.textVerbosity))&&{text:{...(v==null?void 0:v.type)==="json"&&{format:v.schema!=null?{type:"json_schema",strict:w,name:(p=v.name)!=null?p:"response",description:v.description,schema:v.schema}:{type:"json_object"}},...(_==null?void 0:_.textVerbosity)&&{verbosity:_.textVerbosity}}},metadata:_==null?void 0:_.metadata,parallel_tool_calls:_==null?void 0:_.parallelToolCalls,previous_response_id:_==null?void 0:_.previousResponseId,store:_==null?void 0:_.store,user:_==null?void 0:_.user,instructions:_==null?void 0:_.instructions,service_tier:_==null?void 0:_.serviceTier,include:P,prompt_cache_key:_==null?void 0:_.promptCacheKey,safety_identifier:_==null?void 0:_.safetyIdentifier,top_logprobs:E,...m.isReasoningModel&&((_==null?void 0:_.reasoningEffort)!=null||(_==null?void 0:_.reasoningSummary)!=null)&&{reasoning:{...(_==null?void 0:_.reasoningEffort)!=null&&{effort:_.reasoningEffort},...(_==null?void 0:_.reasoningSummary)!=null&&{summary:_.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:"auto"}};m.isReasoningModel?(x.temperature!=null&&(x.temperature=void 0,g.push({type:"unsupported-setting",setting:"temperature",details:"temperature is not supported for reasoning models"})),x.top_p!=null&&(x.top_p=void 0,g.push({type:"unsupported-setting",setting:"topP",details:"topP is not supported for reasoning models"}))):((_==null?void 0:_.reasoningEffort)!=null&&g.push({type:"unsupported-setting",setting:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(_==null?void 0:_.reasoningSummary)!=null&&g.push({type:"unsupported-setting",setting:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})),(_==null?void 0:_.serviceTier)==="flex"&&!m.supportsFlexProcessing&&(g.push({type:"unsupported-setting",setting:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete x.service_tier),(_==null?void 0:_.serviceTier)==="priority"&&!m.supportsPriorityProcessing&&(g.push({type:"unsupported-setting",setting:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete x.service_tier);const{tools:A,toolChoice:M,toolWarnings:H}=jj({tools:u,toolChoice:f,strictJsonSchema:w});return{args:{...x,tools:A,tool_choice:M},warnings:[...g,...H]}}async doGenerate(t){var e,r,a,n,s,o,i,l,c,u,f,v,d,p,g,m,h;const{args:y,warnings:_}=await this.getArgs(t),w=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:E,value:P,rawValue:x}=await xr({url:w,headers:pr(this.config.headers(),t.headers),body:y,failedResponseHandler:Jr,successfulResponseHandler:Yn(O({id:S(),created_at:K(),error:O({code:S(),message:S()}).nullish(),model:S(),output:ce(qa("type",[O({type:W("message"),role:W("assistant"),id:S(),content:ce(O({type:W("output_text"),text:S(),logprobs:_0.nullish(),annotations:ce(qa("type",[O({type:W("url_citation"),start_index:K(),end_index:K(),url:S(),title:S()}),O({type:W("file_citation"),start_index:K(),end_index:K(),file_id:S(),quote:S()})]))}))}),O({type:W("function_call"),call_id:S(),name:S(),arguments:S(),id:S()}),O({type:W("web_search_call"),id:S(),status:S().optional(),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:S().optional()}),O({type:W("file_search_call"),id:S(),status:S().optional(),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).nullish()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish(),summary:ce(O({type:W("summary_text"),text:S()}))})])),incomplete_details:O({reason:S()}).nullable(),usage:w0})),abortSignal:t.abortSignal,fetch:this.config.fetch});if(P.error)throw new Xe({message:P.error.message,url:w,requestBodyValues:y,statusCode:400,responseHeaders:E,responseBody:x,isRetryable:!1});const A=[],M=[];for(const V of P.output)switch(V.type){case"reasoning":{V.summary.length===0&&V.summary.push({type:"summary_text",text:""});for(const J of V.summary)A.push({type:"reasoning",text:J.text,providerMetadata:{openai:{itemId:V.id,reasoningEncryptedContent:(e=V.encrypted_content)!=null?e:null}}});break}case"message":{for(const J of V.content){(a=(r=t.providerOptions)==null?void 0:r.openai)!=null&&a.logprobs&&J.logprobs&&M.push(J.logprobs),A.push({type:"text",text:J.text,providerMetadata:{openai:{itemId:V.id}}});for(const z of J.annotations)z.type==="url_citation"?A.push({type:"source",sourceType:"url",id:(o=(s=(n=this.config).generateId)==null?void 0:s.call(n))!=null?o:sr(),url:z.url,title:z.title}):z.type==="file_citation"&&A.push({type:"source",sourceType:"document",id:(c=(l=(i=this.config).generateId)==null?void 0:l.call(i))!=null?c:sr(),mediaType:"text/plain",title:z.quote,filename:z.file_id})}break}case"function_call":{A.push({type:"tool-call",toolCallId:V.call_id,toolName:V.name,input:V.arguments,providerMetadata:{openai:{itemId:V.id}}});break}case"web_search_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"web_search_preview",input:(f=(u=V.action)==null?void 0:u.query)!=null?f:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"web_search_preview",result:{status:V.status||"completed",...((v=V.action)==null?void 0:v.query)&&{query:V.action.query}},providerExecuted:!0});break}case"computer_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"computer_use",input:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:V.status||"completed"},providerExecuted:!0});break}case"file_search_call":{A.push({type:"tool-call",toolCallId:V.id,toolName:"file_search",input:"",providerExecuted:!0}),A.push({type:"tool-result",toolCallId:V.id,toolName:"file_search",result:{type:"file_search_tool_result",status:V.status||"completed",...V.queries&&{queries:V.queries},...V.results&&{results:V.results}},providerExecuted:!0});break}}const H={openai:{responseId:P.id}};return M.length>0&&(H.openai.logprobs=M),{content:A,finishReason:g0({finishReason:(d=P.incomplete_details)==null?void 0:d.reason,hasToolCalls:A.some(V=>V.type==="tool-call")}),usage:{inputTokens:P.usage.input_tokens,outputTokens:P.usage.output_tokens,totalTokens:P.usage.input_tokens+P.usage.output_tokens,reasoningTokens:(g=(p=P.usage.output_tokens_details)==null?void 0:p.reasoning_tokens)!=null?g:void 0,cachedInputTokens:(h=(m=P.usage.input_tokens_details)==null?void 0:m.cached_tokens)!=null?h:void 0},request:{body:y},response:{id:P.id,timestamp:new Date(P.created_at*1e3),modelId:P.model,headers:E,body:x},providerMetadata:H,warnings:_}}async doStream(t){const{args:e,warnings:r}=await this.getArgs(t),{responseHeaders:a,value:n}=await xr({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:{...e,stream:!0},failedResponseHandler:Jr,successfulResponseHandler:fl(Kj),abortSignal:t.abortSignal,fetch:this.config.fetch}),s=this;let o="unknown";const i={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[];let c=null;const u={};let f=!1;const v={};return{stream:n.pipeThrough(new TransformStream({start(d){d.enqueue({type:"stream-start",warnings:r})},transform(d,p){var g,m,h,y,_,w,E,P,x,A,M,H,V,J,z,Z,te,me,ge;if(t.includeRawChunks&&p.enqueue({type:"raw",rawValue:d.rawValue}),!d.success){o="error",p.enqueue({type:"error",error:d.error});return}const N=d.value;if(E0(N))N.item.type==="function_call"?(u[N.output_index]={toolName:N.item.name,toolCallId:N.item.call_id},p.enqueue({type:"tool-input-start",id:N.item.call_id,toolName:N.item.name})):N.item.type==="web_search_call"?(u[N.output_index]={toolName:"web_search_preview",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"web_search_preview"})):N.item.type==="computer_call"?(u[N.output_index]={toolName:"computer_use",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"computer_use"})):N.item.type==="file_search_call"?(u[N.output_index]={toolName:"file_search",toolCallId:N.item.id},p.enqueue({type:"tool-input-start",id:N.item.id,toolName:"file_search"})):N.item.type==="message"?p.enqueue({type:"text-start",id:N.item.id,providerMetadata:{openai:{itemId:N.item.id}}}):eD(N)&&(v[N.item.id]={encryptedContent:N.item.encrypted_content,summaryParts:[0]},p.enqueue({type:"reasoning-start",id:`${N.item.id}:0`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(g=N.item.encrypted_content)!=null?g:null}}}));else if(b0(N)){if(N.item.type==="function_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.call_id}),p.enqueue({type:"tool-call",toolCallId:N.item.call_id,toolName:N.item.name,input:N.item.arguments,providerMetadata:{openai:{itemId:N.item.id}}});else if(N.item.type==="web_search_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"web_search_preview",input:(h=(m=N.item.action)==null?void 0:m.query)!=null?h:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"web_search_preview",result:{type:"web_search_tool_result",status:N.item.status||"completed",...((y=N.item.action)==null?void 0:y.query)&&{query:N.item.action.query}},providerExecuted:!0});else if(N.item.type==="computer_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"computer_use",input:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:N.item.status||"completed"},providerExecuted:!0});else if(N.item.type==="file_search_call")u[N.output_index]=void 0,f=!0,p.enqueue({type:"tool-input-end",id:N.item.id}),p.enqueue({type:"tool-call",toolCallId:N.item.id,toolName:"file_search",input:"",providerExecuted:!0}),p.enqueue({type:"tool-result",toolCallId:N.item.id,toolName:"file_search",result:{type:"file_search_tool_result",status:N.item.status||"completed",...N.item.queries&&{queries:N.item.queries},...N.item.results&&{results:N.item.results}},providerExecuted:!0});else if(N.item.type==="message")p.enqueue({type:"text-end",id:N.item.id});else if(Wj(N)){const se=v[N.item.id];for(const D of se.summaryParts)p.enqueue({type:"reasoning-end",id:`${N.item.id}:${D}`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(_=N.item.encrypted_content)!=null?_:null}}});delete v[N.item.id]}}else if(Xj(N)){const se=u[N.output_index];se!=null&&p.enqueue({type:"tool-input-delta",id:se.toolCallId,delta:N.delta})}else Yj(N)?(c=N.response.id,p.enqueue({type:"response-metadata",id:N.response.id,timestamp:new Date(N.response.created_at*1e3),modelId:N.response.model})):Gj(N)?(p.enqueue({type:"text-delta",id:N.item_id,delta:N.delta}),N.logprobs&&l.push(N.logprobs)):rD(N)?N.summary_index>0&&((w=v[N.item_id])==null||w.summaryParts.push(N.summary_index),p.enqueue({type:"reasoning-start",id:`${N.item_id}:${N.summary_index}`,providerMetadata:{openai:{itemId:N.item_id,reasoningEncryptedContent:(P=(E=v[N.item_id])==null?void 0:E.encryptedContent)!=null?P:null}}})):nD(N)?p.enqueue({type:"reasoning-delta",id:`${N.item_id}:${N.summary_index}`,delta:N.delta,providerMetadata:{openai:{itemId:N.item_id}}}):Qj(N)?(o=g0({finishReason:(x=N.response.incomplete_details)==null?void 0:x.reason,hasToolCalls:f}),i.inputTokens=N.response.usage.input_tokens,i.outputTokens=N.response.usage.output_tokens,i.totalTokens=N.response.usage.input_tokens+N.response.usage.output_tokens,i.reasoningTokens=(M=(A=N.response.usage.output_tokens_details)==null?void 0:A.reasoning_tokens)!=null?M:void 0,i.cachedInputTokens=(V=(H=N.response.usage.input_tokens_details)==null?void 0:H.cached_tokens)!=null?V:void 0):tD(N)?N.annotation.type==="url_citation"?p.enqueue({type:"source",sourceType:"url",id:(Z=(z=(J=s.config).generateId)==null?void 0:z.call(J))!=null?Z:sr(),url:N.annotation.url,title:N.annotation.title}):N.annotation.type==="file_citation"&&p.enqueue({type:"source",sourceType:"document",id:(ge=(me=(te=s.config).generateId)==null?void 0:me.call(te))!=null?ge:sr(),mediaType:"text/plain",title:N.annotation.quote,filename:N.annotation.file_id}):aD(N)&&p.enqueue({type:"error",error:N})},flush(d){const p={openai:{responseId:c}};l.length>0&&(p.openai.logprobs=l),d.enqueue({type:"finish",finishReason:o,usage:i,providerMetadata:p})}})),request:{body:e},response:{headers:a}}}},w0=O({input_tokens:K(),input_tokens_details:O({cached_tokens:K().nullish()}).nullish(),output_tokens:K(),output_tokens_details:O({reasoning_tokens:K().nullish()}).nullish()}),Lj=O({type:W("response.output_text.delta"),item_id:S(),delta:S(),logprobs:_0.nullish()}),zj=O({type:W("error"),code:S(),message:S(),param:S().nullish(),sequence_number:K()}),qj=O({type:Vt(["response.completed","response.incomplete"]),response:O({incomplete_details:O({reason:S()}).nullish(),usage:w0})}),Uj=O({type:W("response.created"),response:O({id:S(),created_at:K(),model:S()})}),Fj=O({type:W("response.output_item.added"),output_index:K(),item:qa("type",[O({type:W("message"),id:S()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish()}),O({type:W("function_call"),id:S(),call_id:S(),name:S(),arguments:S()}),O({type:W("web_search_call"),id:S(),status:S(),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:S()}),O({type:W("file_search_call"),id:S(),status:S(),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).optional()})])}),Vj=O({type:W("response.output_item.done"),output_index:K(),item:qa("type",[O({type:W("message"),id:S()}),O({type:W("reasoning"),id:S(),encrypted_content:S().nullish()}),O({type:W("function_call"),id:S(),call_id:S(),name:S(),arguments:S(),status:W("completed")}),O({type:W("web_search_call"),id:S(),status:W("completed"),action:O({type:W("search"),query:S().optional()}).nullish()}),O({type:W("computer_call"),id:S(),status:W("completed")}),O({type:W("file_search_call"),id:S(),status:W("completed"),queries:ce(S()).nullish(),results:ce(O({attributes:O({file_id:S(),filename:S(),score:K(),text:S()})})).nullish()})])}),Zj=O({type:W("response.function_call_arguments.delta"),item_id:S(),output_index:K(),delta:S()}),Hj=O({type:W("response.output_text.annotation.added"),annotation:qa("type",[O({type:W("url_citation"),url:S(),title:S()}),O({type:W("file_citation"),file_id:S(),quote:S()})])}),Bj=O({type:W("response.reasoning_summary_part.added"),item_id:S(),summary_index:K()}),Jj=O({type:W("response.reasoning_summary_text.delta"),item_id:S(),summary_index:K(),delta:S()}),Kj=Fe([Lj,qj,Uj,Fj,Vj,Zj,Hj,Bj,Jj,zj,O({type:S()}).loose()]);function Gj(t){return t.type==="response.output_text.delta"}function b0(t){return t.type==="response.output_item.done"}function Wj(t){return b0(t)&&t.item.type==="reasoning"}function Qj(t){return t.type==="response.completed"||t.type==="response.incomplete"}function Yj(t){return t.type==="response.created"}function Xj(t){return t.type==="response.function_call_arguments.delta"}function E0(t){return t.type==="response.output_item.added"}function eD(t){return E0(t)&&t.item.type==="reasoning"}function tD(t){return t.type==="response.output_text.annotation.added"}function rD(t){return t.type==="response.reasoning_summary_part.added"}function nD(t){return t.type==="response.reasoning_summary_text.delta"}function aD(t){return t.type==="error"}function sD(t){const e=t.startsWith("o3")||t.startsWith("o4-mini")||t.startsWith("gpt-5")&&!t.startsWith("gpt-5-chat"),r=t.startsWith("gpt-4")||t.startsWith("gpt-5-mini")||t.startsWith("gpt-5")&&!t.startsWith("gpt-5-nano")&&!t.startsWith("gpt-5-chat")||t.startsWith("o3")||t.startsWith("o4-mini"),a={requiredAutoTruncation:!1,systemMessageMode:"system",supportsFlexProcessing:e,supportsPriorityProcessing:r};return t.startsWith("gpt-5-chat")?{...a,isReasoningModel:!1}:t.startsWith("o")||t.startsWith("gpt-5")||t.startsWith("codex-")||t.startsWith("computer-use")?t.startsWith("o1-mini")||t.startsWith("o1-preview")?{...a,isReasoningModel:!0,systemMessageMode:"remove"}:{...a,isReasoningModel:!0,systemMessageMode:"developer"}:{...a,isReasoningModel:!1}}var oD=O({metadata:Tr().nullish(),parallelToolCalls:Ve().nullish(),previousResponseId:S().nullish(),store:Ve().nullish(),user:S().nullish(),reasoningEffort:S().nullish(),strictJsonSchema:Ve().nullish(),instructions:S().nullish(),reasoningSummary:S().nullish(),serviceTier:Vt(["auto","flex","priority"]).nullish(),include:ce(Vt(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),textVerbosity:Vt(["low","medium","high"]).nullish(),promptCacheKey:S().nullish(),safetyIdentifier:S().nullish(),logprobs:Fe([Ve(),K().min(1).max(y0)]).optional()}),iD=O({instructions:S().nullish(),speed:K().min(.25).max(4).default(1).nullish()}),lD=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get provider(){return this.config.provider}async getArgs({text:t,voice:e="alloy",outputFormat:r="mp3",speed:a,instructions:n,language:s,providerOptions:o}){const i=[],l=await Br({provider:"openai",providerOptions:o,schema:iD}),c={model:this.modelId,input:t,voice:e,response_format:"mp3",speed:a,instructions:n};if(r&&(["mp3","opus","aac","flac","wav","pcm"].includes(r)?c.response_format=r:i.push({type:"unsupported-setting",setting:"outputFormat",details:`Unsupported output format: ${r}. Using mp3 instead.`})),l){const u={};for(const f in u){const v=u[f];v!==void 0&&(c[f]=v)}}return s&&i.push({type:"unsupported-setting",setting:"language",details:`OpenAI speech models do not support language selection. Language parameter "${s}" was ignored.`}),{requestBody:c,warnings:i}}async doGenerate(t){var e,r,a;const n=(a=(r=(e=this.config._internal)==null?void 0:e.currentDate)==null?void 0:r.call(e))!=null?a:new Date,{requestBody:s,warnings:o}=await this.getArgs(t),{value:i,responseHeaders:l,rawValue:c}=await xr({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:s,failedResponseHandler:Jr,successfulResponseHandler:rj(),abortSignal:t.abortSignal,fetch:this.config.fetch});return{audio:i,warnings:o,request:{body:JSON.stringify(s)},response:{timestamp:n,modelId:this.modelId,headers:l,body:c}}}},cD=O({include:ce(S()).optional(),language:S().optional(),prompt:S().optional(),temperature:K().min(0).max(1).default(0).optional(),timestampGranularities:ce(Vt(["word","segment"])).default(["segment"]).optional()}),S0={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},uD=class{constructor(t,e){this.modelId=t,this.config=e,this.specificationVersion="v2"}get provider(){return this.config.provider}async getArgs({audio:t,mediaType:e,providerOptions:r}){const a=[],n=await Br({provider:"openai",providerOptions:r,schema:cD}),s=new FormData,o=t instanceof Uint8Array?new Blob([t]):new Blob([sj(t)]);if(s.append("model",this.modelId),s.append("file",new File([o],"audio",{type:e})),n){const i={include:n.include,language:n.language,prompt:n.prompt,response_format:"verbose_json",temperature:n.temperature,timestamp_granularities:n.timestampGranularities};for(const[l,c]of Object.entries(i))c!=null&&s.append(l,String(c))}return{formData:s,warnings:a}}async doGenerate(t){var e,r,a,n,s,o,i,l;const c=(a=(r=(e=this.config._internal)==null?void 0:e.currentDate)==null?void 0:r.call(e))!=null?a:new Date,{formData:u,warnings:f}=await this.getArgs(t),{value:v,responseHeaders:d,rawValue:p}=await tj({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),formData:u,failedResponseHandler:Jr,successfulResponseHandler:Yn(dD),abortSignal:t.abortSignal,fetch:this.config.fetch}),g=v.language!=null&&v.language in S0?S0[v.language]:void 0;return{text:v.text,segments:(i=(o=(n=v.segments)==null?void 0:n.map(m=>({text:m.text,startSecond:m.start,endSecond:m.end})))!=null?o:(s=v.words)==null?void 0:s.map(m=>({text:m.word,startSecond:m.start,endSecond:m.end})))!=null?i:[],language:g,durationInSeconds:(l=v.duration)!=null?l:void 0,warnings:f,response:{timestamp:c,modelId:this.modelId,headers:d,body:p}}}},dD=O({text:S(),language:S().nullish(),duration:K().nullish(),words:ce(O({word:S(),start:K(),end:K()})).nullish(),segments:ce(O({id:K(),seek:K(),start:K(),end:K(),text:S(),tokens:ce(K()),temperature:K(),avg_logprob:K(),compression_ratio:K(),no_speech_prob:K()})).nullish()});function $0(t={}){var e,r;const a=(e=n0(t.baseURL))!=null?e:"https://api.openai.com/v1",n=(r=t.name)!=null?r:"openai",s=()=>({Authorization:`Bearer ${X_({apiKey:t.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":t.organization,"OpenAI-Project":t.project,...t.headers}),o=g=>new pj(g,{provider:`${n}.chat`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),i=g=>new bj(g,{provider:`${n}.completion`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),l=g=>new Pj(g,{provider:`${n}.embedding`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),c=g=>new kj(g,{provider:`${n}.image`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),u=g=>new uD(g,{provider:`${n}.transcription`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),f=g=>new lD(g,{provider:`${n}.speech`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch}),v=g=>{if(new.target)throw new Error("The OpenAI model function cannot be called with the new keyword.");return d(g)},d=g=>new Dj(g,{provider:`${n}.responses`,url:({path:m})=>`${a}${m}`,headers:s,fetch:t.fetch,fileIdPrefixes:["file-"]}),p=function(g){return v(g)};return p.languageModel=v,p.chat=o,p.completion=i,p.responses=d,p.embedding=l,p.textEmbedding=l,p.textEmbeddingModel=l,p.image=c,p.imageModel=c,p.transcription=u,p.transcriptionModel=u,p.speech=f,p.speechModel=f,p.tools=Aj,p}$0();function oo(t){var e,r;return(r=(e=t==null?void 0:t.providerOptions)==null?void 0:e.openaiCompatible)!=null?r:{}}function fD(t){const e=[];for(const{role:r,content:a,...n}of t){const s=oo({...n});switch(r){case"system":{e.push({role:"system",content:a,...s});break}case"user":{if(a.length===1&&a[0].type==="text"){e.push({role:"user",content:a[0].text,...oo(a[0])});break}e.push({role:"user",content:a.map(o=>{const i=oo(o);switch(o.type){case"text":return{type:"text",text:o.text,...i};case"file":if(o.mediaType.startsWith("image/")){const l=o.mediaType==="image/*"?"image/jpeg":o.mediaType;return{type:"image_url",image_url:{url:o.data instanceof URL?o.data.toString():`data:${l};base64,${Xn(o.data)}`},...i}}else throw new dr({functionality:`file part media type ${o.mediaType}`})}}),...s});break}case"assistant":{let o="";const i=[];for(const l of a){const c=oo(l);switch(l.type){case"text":{o+=l.text;break}case"tool-call":{i.push({id:l.toolCallId,type:"function",function:{name:l.toolName,arguments:JSON.stringify(l.input)},...c});break}}}e.push({role:"assistant",content:o,tool_calls:i.length>0?i:void 0,...s});break}case"tool":{for(const o of a){const i=o.output;let l;switch(i.type){case"text":case"error-text":l=i.value;break;case"content":case"json":case"error-json":l=JSON.stringify(i.value);break}const c=oo(o);e.push({role:"tool",tool_call_id:o.toolCallId,content:l,...c})}break}default:{const o=r;throw new Error(`Unsupported role: ${o}`)}}}return e}function P0({id:t,model:e,created:r}){return{id:t??void 0,modelId:e??void 0,timestamp:r!=null?new Date(r*1e3):void 0}}function T0(t){switch(t){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var x0=O({user:S().optional(),reasoningEffort:S().optional()}),pD=O({error:O({message:S(),type:S().nullish(),param:Tr().nullish(),code:Fe([S(),K()]).nullish()})}),hD={errorSchema:pD,errorToMessage:t=>t.error.message};function mD({tools:t,toolChoice:e}){t=t!=null&&t.length?t:void 0;const r=[];if(t==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};const a=[];for(const s of t)s.type==="provider-defined"?r.push({type:"unsupported-tool",tool:s}):a.push({type:"function",function:{name:s.name,description:s.description,parameters:s.inputSchema}});if(e==null)return{tools:a,toolChoice:void 0,toolWarnings:r};const n=e.type;switch(n){case"auto":case"none":case"required":return{tools:a,toolChoice:n,toolWarnings:r};case"tool":return{tools:a,toolChoice:{type:"function",function:{name:e.toolName}},toolWarnings:r};default:{const s=n;throw new dr({functionality:`tool choice type: ${s}`})}}}var vD=class{constructor(t,e){this.specificationVersion="v2";var r,a;this.modelId=t,this.config=e;const n=(r=e.errorStructure)!=null?r:hD;this.chunkSchema=yD(n.errorSchema),this.failedResponseHandler=r0(n),this.supportsStructuredOutputs=(a=e.supportsStructuredOutputs)!=null?a:!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){var t,e,r;return(r=(e=(t=this.config).supportedUrls)==null?void 0:e.call(t))!=null?r:{}}async getArgs({prompt:t,maxOutputTokens:e,temperature:r,topP:a,topK:n,frequencyPenalty:s,presencePenalty:o,providerOptions:i,stopSequences:l,responseFormat:c,seed:u,toolChoice:f,tools:v}){var d,p,g;const m=[],h=Object.assign((d=await Br({provider:"openai-compatible",providerOptions:i,schema:x0}))!=null?d:{},(p=await Br({provider:this.providerOptionsName,providerOptions:i,schema:x0}))!=null?p:{});n!=null&&m.push({type:"unsupported-setting",setting:"topK"}),(c==null?void 0:c.type)==="json"&&c.schema!=null&&!this.supportsStructuredOutputs&&m.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});const{tools:y,toolChoice:_,toolWarnings:w}=mD({tools:v,toolChoice:f});return{args:{model:this.modelId,user:h.user,max_tokens:e,temperature:r,top_p:a,frequency_penalty:s,presence_penalty:o,response_format:(c==null?void 0:c.type)==="json"?this.supportsStructuredOutputs===!0&&c.schema!=null?{type:"json_schema",json_schema:{schema:c.schema,name:(g=c.name)!=null?g:"response",description:c.description}}:{type:"json_object"}:void 0,stop:l,seed:u,...i==null?void 0:i[this.providerOptionsName],reasoning_effort:h.reasoningEffort,messages:fD(t),tools:y,tool_choice:_},warnings:[...m,...w]}}async doGenerate(t){var e,r,a,n,s,o,i,l,c,u,f,v,d,p,g,m,h;const{args:y,warnings:_}=await this.getArgs({...t}),w=JSON.stringify(y),{responseHeaders:E,value:P,rawValue:x}=await xr({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:y,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:Yn(gD),abortSignal:t.abortSignal,fetch:this.config.fetch}),A=P.choices[0],M=[],H=A.message.content;H!=null&&H.length>0&&M.push({type:"text",text:H});const V=(e=A.message.reasoning_content)!=null?e:A.message.reasoning;if(V!=null&&V.length>0&&M.push({type:"reasoning",text:V}),A.message.tool_calls!=null)for(const Z of A.message.tool_calls)M.push({type:"tool-call",toolCallId:(r=Z.id)!=null?r:sr(),toolName:Z.function.name,input:Z.function.arguments});const J={[this.providerOptionsName]:{},...await((n=(a=this.config.metadataExtractor)==null?void 0:a.extractMetadata)==null?void 0:n.call(a,{parsedBody:x}))},z=(s=P.usage)==null?void 0:s.completion_tokens_details;return(z==null?void 0:z.accepted_prediction_tokens)!=null&&(J[this.providerOptionsName].acceptedPredictionTokens=z==null?void 0:z.accepted_prediction_tokens),(z==null?void 0:z.rejected_prediction_tokens)!=null&&(J[this.providerOptionsName].rejectedPredictionTokens=z==null?void 0:z.rejected_prediction_tokens),{content:M,finishReason:T0(A.finish_reason),usage:{inputTokens:(i=(o=P.usage)==null?void 0:o.prompt_tokens)!=null?i:void 0,outputTokens:(c=(l=P.usage)==null?void 0:l.completion_tokens)!=null?c:void 0,totalTokens:(f=(u=P.usage)==null?void 0:u.total_tokens)!=null?f:void 0,reasoningTokens:(p=(d=(v=P.usage)==null?void 0:v.completion_tokens_details)==null?void 0:d.reasoning_tokens)!=null?p:void 0,cachedInputTokens:(h=(m=(g=P.usage)==null?void 0:g.prompt_tokens_details)==null?void 0:m.cached_tokens)!=null?h:void 0},providerMetadata:J,request:{body:w},response:{...P0(P),headers:E,body:x},warnings:_}}async doStream(t){var e;const{args:r,warnings:a}=await this.getArgs({...t}),n={...r,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},s=(e=this.config.metadataExtractor)==null?void 0:e.createStreamExtractor(),{responseHeaders:o,value:i}=await xr({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:pr(this.config.headers(),t.headers),body:n,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:fl(this.chunkSchema),abortSignal:t.abortSignal,fetch:this.config.fetch}),l=[];let c="unknown";const u={completionTokens:void 0,completionTokensDetails:{reasoningTokens:void 0,acceptedPredictionTokens:void 0,rejectedPredictionTokens:void 0},promptTokens:void 0,promptTokensDetails:{cachedTokens:void 0},totalTokens:void 0};let f=!0;const v=this.providerOptionsName;let d=!1,p=!1;return{stream:i.pipeThrough(new TransformStream({start(g){g.enqueue({type:"stream-start",warnings:a})},transform(g,m){var h,y,_,w,E,P,x,A,M,H,V,J,z;if(t.includeRawChunks&&m.enqueue({type:"raw",rawValue:g.rawValue}),!g.success){c="error",m.enqueue({type:"error",error:g.error});return}const Z=g.value;if(s==null||s.processChunk(g.rawValue),"error"in Z){c="error",m.enqueue({type:"error",error:Z.error.message});return}if(f&&(f=!1,m.enqueue({type:"response-metadata",...P0(Z)})),Z.usage!=null){const{prompt_tokens:N,completion_tokens:se,total_tokens:D,prompt_tokens_details:k,completion_tokens_details:L}=Z.usage;u.promptTokens=N??void 0,u.completionTokens=se??void 0,u.totalTokens=D??void 0,(L==null?void 0:L.reasoning_tokens)!=null&&(u.completionTokensDetails.reasoningTokens=L==null?void 0:L.reasoning_tokens),(L==null?void 0:L.accepted_prediction_tokens)!=null&&(u.completionTokensDetails.acceptedPredictionTokens=L==null?void 0:L.accepted_prediction_tokens),(L==null?void 0:L.rejected_prediction_tokens)!=null&&(u.completionTokensDetails.rejectedPredictionTokens=L==null?void 0:L.rejected_prediction_tokens),(k==null?void 0:k.cached_tokens)!=null&&(u.promptTokensDetails.cachedTokens=k==null?void 0:k.cached_tokens)}const te=Z.choices[0];if((te==null?void 0:te.finish_reason)!=null&&(c=T0(te.finish_reason)),(te==null?void 0:te.delta)==null)return;const me=te.delta,ge=(h=me.reasoning_content)!=null?h:me.reasoning;if(ge&&(d||(m.enqueue({type:"reasoning-start",id:"reasoning-0"}),d=!0),m.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:ge})),me.content&&(p||(m.enqueue({type:"text-start",id:"txt-0"}),p=!0),m.enqueue({type:"text-delta",id:"txt-0",delta:me.content})),me.tool_calls!=null)for(const N of me.tool_calls){const se=N.index;if(l[se]==null){if(N.id==null)throw new Ms({data:N,message:"Expected 'id' to be a string."});if(((y=N.function)==null?void 0:y.name)==null)throw new Ms({data:N,message:"Expected 'function.name' to be a string."});m.enqueue({type:"tool-input-start",id:N.id,toolName:N.function.name}),l[se]={id:N.id,type:"function",function:{name:N.function.name,arguments:(_=N.function.arguments)!=null?_:""},hasFinished:!1};const k=l[se];((w=k.function)==null?void 0:w.name)!=null&&((E=k.function)==null?void 0:E.arguments)!=null&&(k.function.arguments.length>0&&m.enqueue({type:"tool-input-start",id:k.id,toolName:k.function.name}),dl(k.function.arguments)&&(m.enqueue({type:"tool-input-end",id:k.id}),m.enqueue({type:"tool-call",toolCallId:(P=k.id)!=null?P:sr(),toolName:k.function.name,input:k.function.arguments}),k.hasFinished=!0));continue}const D=l[se];D.hasFinished||(((x=N.function)==null?void 0:x.arguments)!=null&&(D.function.arguments+=(M=(A=N.function)==null?void 0:A.arguments)!=null?M:""),m.enqueue({type:"tool-input-delta",id:D.id,delta:(H=N.function.arguments)!=null?H:""}),((V=D.function)==null?void 0:V.name)!=null&&((J=D.function)==null?void 0:J.arguments)!=null&&dl(D.function.arguments)&&(m.enqueue({type:"tool-input-end",id:D.id}),m.enqueue({type:"tool-call",toolCallId:(z=D.id)!=null?z:sr(),toolName:D.function.name,input:D.function.arguments}),D.hasFinished=!0))}},flush(g){var m,h,y,_,w,E;d&&g.enqueue({type:"reasoning-end",id:"reasoning-0"}),p&&g.enqueue({type:"text-end",id:"txt-0"});for(const x of l.filter(A=>!A.hasFinished))g.enqueue({type:"tool-input-end",id:x.id}),g.enqueue({type:"tool-call",toolCallId:(m=x.id)!=null?m:sr(),toolName:x.function.name,input:x.function.arguments});const P={[v]:{},...s==null?void 0:s.buildMetadata()};u.completionTokensDetails.acceptedPredictionTokens!=null&&(P[v].acceptedPredictionTokens=u.completionTokensDetails.acceptedPredictionTokens),u.completionTokensDetails.rejectedPredictionTokens!=null&&(P[v].rejectedPredictionTokens=u.completionTokensDetails.rejectedPredictionTokens),g.enqueue({type:"finish",finishReason:c,usage:{inputTokens:(h=u.promptTokens)!=null?h:void 0,outputTokens:(y=u.completionTokens)!=null?y:void 0,totalTokens:(_=u.totalTokens)!=null?_:void 0,reasoningTokens:(w=u.completionTokensDetails.reasoningTokens)!=null?w:void 0,cachedInputTokens:(E=u.promptTokensDetails.cachedTokens)!=null?E:void 0},providerMetadata:P})}})),request:{body:n},response:{headers:o}}}},I0=O({prompt_tokens:K().nullish(),completion_tokens:K().nullish(),total_tokens:K().nullish(),prompt_tokens_details:O({cached_tokens:K().nullish()}).nullish(),completion_tokens_details:O({reasoning_tokens:K().nullish(),accepted_prediction_tokens:K().nullish(),rejected_prediction_tokens:K().nullish()}).nullish()}).nullish(),gD=O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({message:O({role:W("assistant").nullish(),content:S().nullish(),reasoning_content:S().nullish(),reasoning:S().nullish(),tool_calls:ce(O({id:S().nullish(),function:O({name:S(),arguments:S()})})).nullish()}),finish_reason:S().nullish()})),usage:I0}),yD=t=>Fe([O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({delta:O({role:Vt(["assistant"]).nullish(),content:S().nullish(),reasoning_content:S().nullish(),reasoning:S().nullish(),tool_calls:ce(O({index:K(),id:S().nullish(),function:O({name:S().nullish(),arguments:S().nullish()})})).nullish()}).nullish(),finish_reason:S().nullish()})),usage:I0}),t]);O({echo:Ve().optional(),logitBias:Xt(S(),K()).optional(),suffix:S().optional(),user:S().optional()});var _D=O({prompt_tokens:K(),completion_tokens:K(),total_tokens:K()});O({id:S().nullish(),created:K().nullish(),model:S().nullish(),choices:ce(O({text:S(),finish_reason:S()})),usage:_D.nullish()}),O({dimensions:K().optional(),user:S().optional()}),O({data:ce(O({embedding:ce(K())})),usage:O({prompt_tokens:K()}).nullish(),providerMetadata:Xt(S(),Xt(S(),Tr())).optional()}),O({data:ce(O({b64_json:S()}))});var k0=t=>{var e,r;return t==null?void 0:{deepseek:{promptCacheHitTokens:(e=t.prompt_cache_hit_tokens)!=null?e:NaN,promptCacheMissTokens:(r=t.prompt_cache_miss_tokens)!=null?r:NaN}}},wD={extractMetadata:async({parsedBody:t})=>{const e=await so({value:t,schema:bD});return!e.success||e.value.usage==null?void 0:k0(e.value.usage)},createStreamExtractor:()=>{let t;return{processChunk:async e=>{var r,a;const n=await so({value:e,schema:ED});n.success&&((a=(r=n.value.choices)==null?void 0:r[0])==null?void 0:a.finish_reason)==="stop"&&n.value.usage&&(t=n.value.usage)},buildMetadata:()=>k0(t)}}},C0=O({prompt_cache_hit_tokens:K().nullish(),prompt_cache_miss_tokens:K().nullish()}),bD=O({usage:C0.nullish()}),ED=O({choices:ce(O({finish_reason:S().nullish()})).nullish(),usage:C0.nullish()});function R0(t={}){var e;const r=n0((e=t.baseURL)!=null?e:"https://api.deepseek.com/v1"),a=()=>({Authorization:`Bearer ${X_({apiKey:t.apiKey,environmentVariableName:"DEEPSEEK_API_KEY",description:"DeepSeek API key"})}`,...t.headers}),n=o=>new vD(o,{provider:"deepseek.chat",url:({path:i})=>`${r}${i}`,headers:a,fetch:t.fetch,metadataExtractor:wD}),s=o=>n(o);return s.languageModel=n,s.chat=n,s.textEmbeddingModel=o=>{throw new fd({modelId:o,modelType:"textEmbeddingModel"})},s.imageModel=o=>{throw new fd({modelId:o,modelType:"imageModel"})},s}R0();const SD={openai:$0,deepseek:R0};class $D{constructor({llmConfig:e,mcpServers:r,llm:a}){if(this.mcpServers=[],this.mcpClients=[],this.mcpTools=[],this.ignoreToolnames=[],this.autoUpdateTools=!0,this.mcpServers=r||[],a)this.llm=a;else if(e){let n;typeof e.providerType=="string"?n=SD[e.providerType]:n=e.providerType,this.llm=n({apiKey:e.apiKey,baseURL:e.baseURL})}else throw new Error("Either llmConfig or llm must be provided")}async _createOneClient(e){try{let r;return"type"in e&&e.type.toLocaleLowerCase()==="streamablehttp"?r=new Oa(new URL(e.url)):r=e,await D4({transport:r})}catch(r){return console.error("Failed to create MCP client",e,r),null}}async _createMpcClients(){this.mcpClients=await Promise.all(this.mcpServers.map(async e=>this._createOneClient(e)))}async _createMpcTools(){this.mcpTools=await Promise.all(this.mcpClients.map(async e=>{var r;try{return e?await((r=e==null?void 0:e.tools)==null?void 0:r.call(e)):null}catch{return null}}))}async closeAll(){await Promise.all(this.mcpClients.map(async e=>{try{e.close()}catch{}}))}async initClientsAndTools(){await this._createMpcClients(),await this._createMpcTools()}async updateMcpServers(e){await this.closeAll(),this.mcpServers=e,await this.initClientsAndTools()}async insertMcpServer(e){var a;if(!this.mcpServers.find(n=>n.url===e.url)){this.mcpServers=[...this.mcpServers,e];const n=await this._createOneClient(e);return this.mcpClients.push(n),this.mcpTools.push(await((a=n==null?void 0:n.tools)==null?void 0:a.call(n))),!0}return!1}removeMcpServer(e){const r=this.mcpServers.findIndex(s=>s===e);this.mcpServers.splice(r,1);const a=this.mcpClients[r];this.mcpClients.splice(r,1);try{a==null||a.close()}catch{}const n=this.mcpTools[r];this.mcpTools.splice(r,1),n&&Object.keys(n).forEach(s=>{this.ignoreToolnames=this.ignoreToolnames.filter(o=>o!==s)})}tempMergeTools(e={}){const r=this.mcpTools.reduce((a,n)=>({...a,...n}),{});return Object.assign(r,e),this.ignoreToolnames.forEach(a=>{delete r[a]}),r}async _chat(e,{model:r,maxSteps:a=5,...n}){var s;if(!this.llm)throw new Error("LLM is not initialized");return this.autoUpdateTools&&(await this._createMpcTools(),(s=this.onUpdatedTools)==null||s.call(this)),e({model:this.llm(r),stopWhen:Gd(a),...n,tools:this.tempMergeTools(n.tools)})}async chat(e){return this._chat(FM,e)}async chatStream(e){return this._chat(l4,e)}}const PD=async t=>{const e={};try{const r=await t.listTools();for(const{name:a,description:n,inputSchema:s}of r.tools){const o=async(i,l)=>t.callTool({name:a,arguments:i},{signal:l==null?void 0:l.abortSignal});e[a]=Wg({description:n,inputSchema:Js({...s,properties:s.properties??{},additionalProperties:!1}),execute:o})}return e}catch(r){throw r}};Je.AgentModelProvider=$D,Je.Ajv=WE,Je.AuthClientProvider=Tx,Je.QrCode=pv,Je.ResourceTemplate=hI,Je.UriTemplate=sn,Je.WebMcpClient=$I,Je.WebMcpServer=_I,Je.completable=dI,Je.createMessageChannelClientTransport=xI,Je.createMessageChannelPairTransport=bI,Je.createMessageChannelServerTransport=wI,Je.createRemoter=_k,Je.createSSEClientTransport=PI,Je.createStreamableHTTPClientTransport=TI,Je.getAISDKTools=PD,Je.getDisplayName=yI,Je.isMcpClient=CI,Je.isMcpServer=SI,Je.isMessageChannelClientTransport=kI,Je.isMessageChannelServerTransport=EI,Je.isSSEClientTransport=II,Je.isStreamableHTTPClientTransport=Jm,Je.z=ZS,Object.defineProperty(Je,Symbol.toStringTag,{value:"Module"})});
|