blink 1.1.23 → 1.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/browser/agent/client/index.cjs +1 -1
  2. package/dist/browser/agent/client/index.d.cts +1 -1
  3. package/dist/browser/agent/client/index.d.ts +1 -1
  4. package/dist/browser/agent/client/index.js +1 -1
  5. package/dist/browser/{index-C-Slllhb.d.ts → index-BXZCP58f.d.ts} +51 -0
  6. package/dist/browser/{index-DSU-sZKL.d.cts → index-orp-VO8g.d.cts} +51 -0
  7. package/dist/browser/react/index.browser.cjs +1 -1
  8. package/dist/browser/react/index.browser.d.cts +16 -2
  9. package/dist/browser/react/index.browser.d.ts +16 -2
  10. package/dist/browser/react/index.browser.js +1 -1
  11. package/dist/cli/{chat-CAtArOPl.js → chat-CYrdzv1d.js} +1 -1
  12. package/dist/cli/chat-manager-B3eOpIG8.js +21 -0
  13. package/dist/cli/connect-Bpv7PF3y.js +1 -0
  14. package/dist/cli/{dev-DwwSnzeH.js → dev-BYcnkDFn.js} +23 -29
  15. package/dist/cli/{getMachineId-bsd-0cOO_RKK.js → getMachineId-bsd-BECgXpZb.js} +1 -1
  16. package/dist/cli/{getMachineId-bsd-BDrKPt3B.js → getMachineId-bsd-BgAyii4H.js} +1 -1
  17. package/dist/cli/{getMachineId-bsd-BJ3yH7j4.js → getMachineId-bsd-Cc73dhdJ.js} +1 -1
  18. package/dist/cli/{getMachineId-bsd-BpxYEV3F.js → getMachineId-bsd-DJn61I3m.js} +1 -1
  19. package/dist/cli/{getMachineId-bsd-CHVQhSq2.js → getMachineId-bsd-Doah6QJP.js} +1 -1
  20. package/dist/cli/getMachineId-bsd-aoAkh_W6.js +1 -0
  21. package/dist/cli/getMachineId-bsd-iPOb0TqF.js +1 -0
  22. package/dist/cli/getMachineId-bsd-io5tPlFg.js +1 -0
  23. package/dist/cli/{getMachineId-darwin-0AdOS_kz.js → getMachineId-darwin-BMnMBte0.js} +1 -1
  24. package/dist/cli/{getMachineId-darwin-CJ2gOzlU.js → getMachineId-darwin-BP9BSYcd.js} +1 -1
  25. package/dist/cli/{getMachineId-darwin-BeAdNwpL.js → getMachineId-darwin-Bs3mlKrs.js} +1 -1
  26. package/dist/cli/{getMachineId-darwin-C8-xkmnZ.js → getMachineId-darwin-D-l4_nyT.js} +1 -1
  27. package/dist/cli/{getMachineId-darwin-BaA8JJgE.js → getMachineId-darwin-DFronuaU.js} +1 -1
  28. package/dist/cli/getMachineId-darwin-DJO6fOdc.js +2 -0
  29. package/dist/cli/getMachineId-darwin-DlRRGl6M.js +2 -0
  30. package/dist/cli/getMachineId-darwin-Wp0usMIp.js +2 -0
  31. package/dist/cli/{getMachineId-linux-BQISLgy5.js → getMachineId-linux-B2r_HEgX.js} +1 -1
  32. package/dist/cli/{getMachineId-linux-Bg5YnekM.js → getMachineId-linux-Bj52Hdvy.js} +1 -1
  33. package/dist/cli/{getMachineId-linux-Boq-GGfA.js → getMachineId-linux-C9o1dYwI.js} +1 -1
  34. package/dist/cli/{getMachineId-linux-C9BHlxRm.js → getMachineId-linux-CGcBOg7J.js} +1 -1
  35. package/dist/cli/getMachineId-linux-CV2HmJXY.js +1 -0
  36. package/dist/cli/getMachineId-linux-Cv44Y8ZY.js +1 -0
  37. package/dist/cli/getMachineId-linux-CzNEh3DJ.js +1 -0
  38. package/dist/cli/getMachineId-linux-_RiwpX2J.js +1 -0
  39. package/dist/cli/{getMachineId-unsupported-4qhSqb7w.js → getMachineId-unsupported-BtmyS2eg.js} +1 -1
  40. package/dist/cli/{getMachineId-unsupported-BsEK_LG9.js → getMachineId-unsupported-C8az6JKm.js} +1 -1
  41. package/dist/cli/{getMachineId-unsupported-C6cVb167.js → getMachineId-unsupported-CBS2qXAs.js} +1 -1
  42. package/dist/cli/{getMachineId-unsupported-CqJy0sqq.js → getMachineId-unsupported-Cu0DvxaU.js} +1 -1
  43. package/dist/cli/getMachineId-unsupported-Dni2ujA-.js +1 -0
  44. package/dist/cli/getMachineId-unsupported-MPNVP8rP.js +1 -0
  45. package/dist/cli/getMachineId-unsupported-mBJd3oBN.js +1 -0
  46. package/dist/cli/getMachineId-unsupported-rdNf8ej6.js +1 -0
  47. package/dist/cli/{getMachineId-win-4Psd7Tlr.js → getMachineId-win-BCAO7ld1.js} +1 -1
  48. package/dist/cli/{getMachineId-win-BzRwVWue.js → getMachineId-win-BDQszRKi.js} +1 -1
  49. package/dist/cli/{getMachineId-win-BA0Li8oF.js → getMachineId-win-BOnF6rL7.js} +1 -1
  50. package/dist/cli/{getMachineId-win-BvGLfEpq.js → getMachineId-win-BOuIHcz_.js} +1 -1
  51. package/dist/cli/getMachineId-win-BQ_C7kS3.js +1 -0
  52. package/dist/cli/getMachineId-win-Bw0-Mlkn.js +1 -0
  53. package/dist/cli/getMachineId-win-DrJTv2qi.js +1 -0
  54. package/dist/cli/{getMachineId-win-C4wjvjxC.js → getMachineId-win-pnMl0wak.js} +1 -1
  55. package/dist/cli/index.js +3 -3
  56. package/dist/cli/{init-em410TZP.js → init-CAbtPm4f.js} +1 -1
  57. package/dist/cli/run-DYgfawiE.js +1 -0
  58. package/dist/cli/setup-slack-app-C9L0iIDZ.js +1 -0
  59. package/dist/cli/{token-BdYp2nw_.js → token-Bk68OrJt.js} +1 -1
  60. package/dist/cli/{token-util-KdD-UX1l.js → token-util-BKLboTb2.js} +1 -1
  61. package/dist/cli/token-util-Dui5nOLw.js +1 -0
  62. package/dist/cli/undici-mM2IfLwA.js +1 -0
  63. package/dist/cli/usingCtx-B1FpoePI.js +1 -0
  64. package/dist/node/react/index.node.cjs +89 -89
  65. package/dist/node/react/index.node.d.cts +83 -3
  66. package/dist/node/react/index.node.d.ts +83 -3
  67. package/dist/node/react/index.node.js +47 -47
  68. package/package.json +4 -2
  69. package/dist/cli/chat-manager-GWR_v50X.js +0 -21
  70. package/dist/cli/connect-DWScpJzS.js +0 -1
  71. package/dist/cli/getMachineId-bsd-BrJwIGYU.js +0 -1
  72. package/dist/cli/getMachineId-bsd-C6osJ6-S.js +0 -1
  73. package/dist/cli/getMachineId-bsd-DeIJ5F9l.js +0 -1
  74. package/dist/cli/getMachineId-darwin-CYvRIQbp.js +0 -2
  75. package/dist/cli/getMachineId-darwin-DWSKszGZ.js +0 -2
  76. package/dist/cli/getMachineId-darwin-wYLDmdQt.js +0 -2
  77. package/dist/cli/getMachineId-linux-D0cDy6Ik.js +0 -1
  78. package/dist/cli/getMachineId-linux-DgyKUIyK.js +0 -1
  79. package/dist/cli/getMachineId-linux-DnzutOBC.js +0 -1
  80. package/dist/cli/getMachineId-linux-nBO1QX9q.js +0 -1
  81. package/dist/cli/getMachineId-unsupported-DQBLgw4s.js +0 -1
  82. package/dist/cli/getMachineId-unsupported-DTFeADdG.js +0 -1
  83. package/dist/cli/getMachineId-unsupported-DgVzHx1H.js +0 -1
  84. package/dist/cli/getMachineId-unsupported-TE5qi9PD.js +0 -1
  85. package/dist/cli/getMachineId-win-DXCyELQJ.js +0 -1
  86. package/dist/cli/getMachineId-win-hHwtD9GX.js +0 -1
  87. package/dist/cli/getMachineId-win-lhgCxX3y.js +0 -1
  88. package/dist/cli/run-CZZ6WAdr.js +0 -1
  89. package/dist/cli/setup-slack-app-DagQxNol.js +0 -1
  90. package/dist/cli/token-util-C9doIH9w.js +0 -1
  91. package/dist/cli/undici-Bm_EanIy.js +0 -1
  92. /package/dist/cli/{connect-BCK40kvG.js → connect-DIUub9Pr.js} +0 -0
  93. /package/dist/cli/{devtools-DsAYEmyP.js → devtools-DqYysfX1.js} +0 -0
  94. /package/dist/cli/{esm-C_RXU0lI.js → esm-CYkSi8_o.js} +0 -0
  95. /package/dist/cli/{execAsync-BOPj9Mml.js → execAsync-9jtK4I3l.js} +0 -0
  96. /package/dist/cli/{execAsync-Bv4jTnD3.js → execAsync-B4_pEoEJ.js} +0 -0
  97. /package/dist/cli/{execAsync-CyP3Ojec.js → execAsync-BdK7RB6d.js} +0 -0
  98. /package/dist/cli/{execAsync-DHh3DKKp.js → execAsync-Bjxs-bO2.js} +0 -0
  99. /package/dist/cli/{execAsync-DdLzES9n.js → execAsync-CM_C8SBr.js} +0 -0
  100. /package/dist/cli/{execAsync-Dv6XOE2I.js → execAsync-CNFaXJjR.js} +0 -0
  101. /package/dist/cli/{execAsync-Dwktgsum.js → execAsync-Dl3hbWiU.js} +0 -0
  102. /package/dist/cli/{execAsync-qNF4iDpO.js → execAsync-qGIZ8XA8.js} +0 -0
  103. /package/dist/cli/{init-templates-By3gx42M.js → init-templates-BgcZAdJh.js} +0 -0
  104. /package/dist/cli/{login-BDP8JC4X.js → login-Bu2acoVp.js} +0 -0
  105. /package/dist/cli/{token-error-COQY18OP.js → token-error-CGIVaIg6.js} +0 -0
  106. /package/dist/cli/{undici-CRntNDHY.js → undici-BiTrd9-R.js} +0 -0
@@ -18,4 +18,4 @@ ${e}
18
18
 
19
19
  `;break}case`tool`:throw new j({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
20
20
  `,{prompt:r,stopSequences:[`
21
- ${t}:`]}}function Ri({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function zi(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Bi=i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional(),logprobs:i.union([i.boolean(),i.number()]).optional()}),Vi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await J({provider:`openai`,providerOptions:f,schema:Bi}),...await J({provider:this.providerOptionsName,providerOptions:f,schema:Bi})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=Li({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:Z(Ui),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:zi(o.finish_reason),request:{body:t},response:{...Ri(i),headers:r,body:a},providerMetadata:s,warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:hi(Wi),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Ri(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=zi(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},Hi=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()}),Ui=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Hi.nullish()}),Wi=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string().nullish(),index:i.number(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Hi.nullish()}),Si]),Gi=i.object({dimensions:i.number().optional(),user:i.string().optional()}),Ki=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){if(e.length>this.maxEmbeddingsPerCall)throw new Be({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await J({provider:`openai`,providerOptions:r,schema:Gi})??{},{responseHeaders:a,value:o,rawValue:s}=await Y({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:G(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:$,successfulResponseHandler:Z(qi),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},qi=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),Ji={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Yi=new Set([`gpt-image-1`]),Xi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return Ji[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Y({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:G(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...Yi.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:Z(Zi),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Zi=i.object({data:i.array(i.object({b64_json:i.string(),revised_prompt:i.string().optional()}))}),Qi=i.object({code:i.string().nullish(),containerId:i.string()}),$i=i.object({outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullish()}),ea=i.object({container:i.union([i.string(),i.object({fileIds:i.array(i.string()).optional()})]).optional()}),ta=X({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:Qi,outputSchema:$i}),na=(e={})=>ta(e),ra=i.object({key:i.string(),type:i.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:i.union([i.string(),i.number(),i.boolean()])}),ia=i.object({type:i.enum([`and`,`or`]),filters:i.array(i.union([ra,i.lazy(()=>ia)]))}),aa=i.object({vectorStoreIds:i.array(i.string()),maxNumResults:i.number().optional(),ranking:i.object({ranker:i.string().optional(),scoreThreshold:i.number().optional()}).optional(),filters:i.union([ra,ia]).optional()}),oa=i.object({queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),fileId:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullable()}),sa=X({id:`openai.file_search`,name:`file_search`,inputSchema:i.object({}),outputSchema:oa}),ca=i.object({background:i.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:i.enum([`low`,`high`]).optional(),inputImageMask:i.object({fileId:i.string().optional(),imageUrl:i.string().optional()}).optional(),model:i.string().optional(),moderation:i.enum([`auto`]).optional(),outputCompression:i.number().int().min(0).max(100).optional(),outputFormat:i.enum([`png`,`jpeg`,`webp`]).optional(),quality:i.enum([`auto`,`low`,`medium`,`high`]).optional(),size:i.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),la=i.object({result:i.string()}),ua=X({id:`openai.image_generation`,name:`image_generation`,inputSchema:i.object({}),outputSchema:la}),da=(e={})=>ua(e),fa=i.object({action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeoutMs:i.number().optional(),user:i.string().optional(),workingDirectory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),pa=i.object({output:i.string()}),ma=X({id:`openai.local_shell`,name:`local_shell`,inputSchema:fa,outputSchema:pa}),ha=i.object({filters:i.object({allowedDomains:i.array(i.string()).optional()}).optional(),searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ga=pi({id:`openai.web_search`,name:`web_search`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),_a=(e={})=>ga(e),va=i.object({searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ya=pi({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),ba={codeInterpreter:na,fileSearch:sa,imageGeneration:da,localShell:ma,webSearchPreview:ya,webSearch:_a};function xa(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Sa({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:a.push({role:`user`,content:c.map((e,t)=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&xa(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Q(e.data)}`},detail:e.providerOptions?.openai?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&xa(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Q(e.data)}`}};else throw new j({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=fa.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await J({provider:`openai`,providerOptions:n.providerOptions,schema:Ca}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:pa.parse(t.value).output});break}let n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var Ca=i.object({itemId:i.string().nullish(),reasoningEncryptedContent:i.string().nullish()});function wa({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Ta({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=aa.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=va.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=ha.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=ea.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}case`openai.image_generation`:{let e=ca.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});break}}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new j({functionality:`tool choice type: ${a}`})}}var Ea=i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()}),Da=i.object({type:i.literal(`file_search_call`),id:i.string(),queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullish()}),Oa=i.object({type:i.literal(`code_interpreter_call`),id:i.string(),code:i.string().nullable(),container_id:i.string(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable()}),ka=i.object({type:i.literal(`local_shell_call`),id:i.string(),call_id:i.string(),action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeout_ms:i.number().optional(),user:i.string().optional(),working_directory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),Aa=i.object({type:i.literal(`image_generation_call`),id:i.string(),result:i.string()}),ja=20,Ma=i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})),Na=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){let p=[],m=co(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await J({provider:`openai`,providerOptions:l,schema:lo}),{input:g,warnings:_}=await Sa({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?ja:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.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 w.service_tier);let{tools:ee,toolChoice:te,toolWarnings:ne}=Ta({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:ee,tool_choice:te},warnings:[...p,...ne]}}async doGenerate(e){var t,n;let{args:r,warnings:a,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await Y({url:s,headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:Z(i.object({id:i.string(),created_at:i.number(),error:i.object({code:i.string(),message:i.string()}).nullish(),model:i.string(),output:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),role:i.literal(`assistant`),id:i.string(),content:i.array(i.object({type:i.literal(`output_text`),text:i.string(),logprobs:Ma.nullish(),annotations:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()}),i.object({type:i.literal(`container_file_citation`)})]))}))}),Ea,Da,Oa,Aa,ka,i.object({type:i.literal(`function_call`),call_id:i.string(),name:i.string(),arguments:i.string(),id:i.string()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string().optional()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish(),summary:i.array(i.object({type:i.literal(`summary_text`),text:i.string()}))})])),service_tier:i.string().nullish(),incomplete_details:i.object({reason:i.string()}).nullish(),usage:Pa})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new T({message:l.error.message,url:s,requestBodyValues:r,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??q(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??q(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:wa({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:r},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:a}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:hi(qa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(no(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):ro(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(Ya(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(Xa(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if($a(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(eo(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(to(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else Qa(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):Ja(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):ao(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):oo(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):Za(g)?(s=wa({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):io(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??q(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??q(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):so(g)&&n.enqueue({type:`error`,error:g})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Pa=i.object({input_tokens:i.number(),input_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),output_tokens:i.number(),output_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Fa=i.object({type:i.literal(`response.output_text.delta`),item_id:i.string(),delta:i.string(),logprobs:Ma.nullish()}),Ia=i.object({type:i.literal(`error`),code:i.string(),message:i.string(),param:i.string().nullish(),sequence_number:i.number()}),La=i.object({type:i.enum([`response.completed`,`response.incomplete`]),response:i.object({incomplete_details:i.object({reason:i.string()}).nullish(),usage:Pa,service_tier:i.string().nullish()})}),Ra=i.object({type:i.literal(`response.created`),response:i.object({id:i.string(),created_at:i.number(),model:i.string(),service_tier:i.string().nullish()})}),za=i.object({type:i.literal(`response.output_item.added`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string()}),i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.object({type:i.literal(`search`),query:i.string().optional()}).nullish()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string()}),i.object({type:i.literal(`file_search_call`),id:i.string()}),i.object({type:i.literal(`image_generation_call`),id:i.string()}),i.object({type:i.literal(`code_interpreter_call`),id:i.string(),container_id:i.string(),code:i.string().nullable(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable(),status:i.string()})])}),Ba=i.object({type:i.literal(`response.output_item.done`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string(),status:i.literal(`completed`)}),Oa,Aa,Ea,Da,ka,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.literal(`completed`)})])}),Va=i.object({type:i.literal(`response.function_call_arguments.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Ha=i.object({type:i.literal(`response.code_interpreter_call_code.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Ua=i.object({type:i.literal(`response.code_interpreter_call_code.done`),item_id:i.string(),output_index:i.number(),code:i.string()}),Wa=i.object({type:i.literal(`response.output_text.annotation.added`),annotation:i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()})])}),Ga=i.object({type:i.literal(`response.reasoning_summary_part.added`),item_id:i.string(),summary_index:i.number()}),Ka=i.object({type:i.literal(`response.reasoning_summary_text.delta`),item_id:i.string(),summary_index:i.number(),delta:i.string()}),qa=i.union([Fa,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,Ia,i.object({type:i.string()}).loose()]);function Ja(e){return e.type===`response.output_text.delta`}function Ya(e){return e.type===`response.output_item.done`}function Xa(e){return Ya(e)&&e.item.type===`reasoning`}function Za(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Qa(e){return e.type===`response.created`}function $a(e){return e.type===`response.function_call_arguments.delta`}function eo(e){return e.type===`response.code_interpreter_call_code.delta`}function to(e){return e.type===`response.code_interpreter_call_code.done`}function no(e){return e.type===`response.output_item.added`}function ro(e){return no(e)&&e.item.type===`reasoning`}function io(e){return e.type===`response.output_text.annotation.added`}function ao(e){return e.type===`response.reasoning_summary_part.added`}function oo(e){return e.type===`response.reasoning_summary_text.delta`}function so(e){return e.type===`error`}function co(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var lo=i.object({include:i.array(i.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:i.string().nullish(),logprobs:i.union([i.boolean(),i.number().min(1).max(ja)]).optional(),maxToolCalls:i.number().nullish(),metadata:i.any().nullish(),parallelToolCalls:i.boolean().nullish(),previousResponseId:i.string().nullish(),promptCacheKey:i.string().nullish(),reasoningEffort:i.string().nullish(),reasoningSummary:i.string().nullish(),safetyIdentifier:i.string().nullish(),serviceTier:i.enum([`auto`,`flex`,`priority`]).nullish(),store:i.boolean().nullish(),strictJsonSchema:i.boolean().nullish(),textVerbosity:i.enum([`low`,`medium`,`high`]).nullish(),user:i.string().nullish()}),uo=i.object({instructions:i.string().nullish(),speed:i.number().min(.25).max(4).default(1).nullish()}),fo=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await J({provider:`openai`,providerOptions:o,schema:uo}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Y({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:gi(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},po=i.object({include:i.array(i.string()).optional(),language:i.string().optional(),prompt:i.string().optional(),temperature:i.number().min(0).max(1).default(0).optional(),timestampGranularities:i.array(i.enum([`word`,`segment`])).default([`segment`]).optional()}),mo={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`},ho=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await J({provider:`openai`,providerOptions:n,schema:po}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([yi(e)]);a.append(`model`,this.modelId);let s=Kr(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await ui({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),formData:r,failedResponseHandler:$,successfulResponseHandler:Z(go),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in mo?mo[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},go=i.object({text:i.string(),language:i.string().nullish(),duration:i.number().nullish(),words:i.array(i.object({word:i.string(),start:i.number(),end:i.number()})).nullish(),segments:i.array(i.object({id:i.number(),seek:i.number(),start:i.number(),end:i.number(),text:i.string(),tokens:i.array(i.number()),temperature:i.number(),avg_logprob:i.number(),compression_ratio:i.number(),no_speech_prob:i.number()})).nullish()}),_o=`2.0.42`;function vo(e={}){let t=xi(Gr({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>zr({Authorization:`Bearer ${Wr({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${_o}`),i=i=>new Oi(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new Vi(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new Ki(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Xi(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new ho(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new fo(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new Na(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=ba,f}vo();function yo(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function bo(e){return Object.fromEntries([...e.headers])}function xo(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function So(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Co(e,...t){let n=So(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}(({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new D({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function wo(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var To=[`fetch failed`,`failed to fetch`];function Eo({error:e,url:t,requestBodyValues:n}){if(wo(e))return e;if(e instanceof TypeError&&To.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new T({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Do=`3.0.10`,Oo=/"__proto__"\s*:/,ko=/"constructor"\s*:/;function Ao(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Oo.test(e)===!1&&ko.test(e)===!1?t:jo(t)}function jo(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function Mo(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ao(e)}finally{Error.stackTraceLimit=t}}var No=Symbol.for(`vercel.ai.validator`);function Po(e){return{[No]:!0,validate:e}}function Fo(e){return typeof e==`object`&&!!e&&No in e&&e[No]===!0&&`validate`in e}function Io(e){return Fo(e)?e:Lo(e)}function Lo(e){return Po(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new A({value:t,cause:n.issues})}})}async function Ro({value:e,schema:t}){let n=await zo({value:e,schema:t});if(!n.success)throw A.wrap({value:e,cause:n.error});return n.value}async function zo({value:e,schema:t}){let n=Io(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:A.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:A.wrap({value:e,cause:t}),rawValue:e}}}async function Bo({text:e,schema:t}){try{let n=Mo(e);return t==null?n:Ro({value:n,schema:t})}catch(t){throw O.isInstance(t)||A.isInstance(t)?t:new O({text:e,cause:t})}}async function Vo({text:e,schema:t}){try{let n=Mo(e);return t==null?{success:!0,value:n,rawValue:n}:await zo({value:n,schema:t})}catch(t){return{success:!1,error:O.isInstance(t)?t:new O({text:e,cause:t}),rawValue:void 0}}}var Ho=()=>globalThis.fetch,Uo=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Wo({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Wo=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Ho()})=>{try{let s=await o(e,{method:`POST`,headers:Co(t,`ai-sdk/provider-utils/${Do}`,xo()),body:n.content,signal:a}),c=bo(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw wo(t)||T.isInstance(t)?t:new T({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(wo(t)||T.isInstance(t))?t:new T({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Eo({error:t,url:e,requestBodyValues:n.values})}},Go=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=bo(r);if(o.trim()===``)return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Bo({text:o,schema:e});return{responseHeaders:s,value:new T({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Ko=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Vo({text:i,schema:e}),o=bo(t);if(!a.success)throw new T({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:qo,atob:Jo}=globalThis;i.object({user:i.string().optional(),reasoningEffort:i.string().optional()});var Yo={errorSchema:i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),errorToMessage:e=>e.error.message},Xo=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish();i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),reasoning_content:i.string().nullish(),reasoning:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish()})),usage:Xo}),i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional()});var Zo=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()});i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string()})),usage:Zo.nullish()}),i.object({dimensions:i.number().optional(),user:i.string().optional()}),i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish(),providerMetadata:i.record(i.string(),i.record(i.string(),i.any())).optional()});var Qo=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Uo({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:yo(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:Go(this.config.errorStructure??Yo),successfulResponseHandler:Ko($o),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},$o=i.object({data:i.array(i.object({b64_json:i.string()}))});function es(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function ts(e){return Object.fromEntries([...e.headers])}function ns(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function rs(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function os(e,...t){let n=rs(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var ss=(({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new D({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function cs(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var ls=[`fetch failed`,`failed to fetch`];function us({error:e,url:t,requestBodyValues:n}){if(cs(e))return e;if(e instanceof TypeError&&ls.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new T({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var ds=`3.0.10`;function fs({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new k({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new k({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new k({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new k({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var ps=/"__proto__"\s*:/,ms=/"constructor"\s*:/;function hs(e){let t=JSON.parse(e);return typeof t!=`object`||!t||ps.test(e)===!1&&ms.test(e)===!1?t:gs(t)}function gs(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function _s(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return hs(e)}finally{Error.stackTraceLimit=t}}var vs=Symbol.for(`vercel.ai.validator`);function ys(e){return{[vs]:!0,validate:e}}function bs(e){return typeof e==`object`&&!!e&&vs in e&&e[vs]===!0&&`validate`in e}function xs(e){return bs(e)?e:Ss(e)}function Ss(e){return ys(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new A({value:t,cause:n.issues})}})}async function Cs({value:e,schema:t}){let n=await ws({value:e,schema:t});if(!n.success)throw A.wrap({value:e,cause:n.error});return n.value}async function ws({value:e,schema:t}){let n=xs(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:A.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:A.wrap({value:e,cause:t}),rawValue:e}}}async function Ts({text:e,schema:t}){try{let n=_s(e);return t==null?n:Cs({value:n,schema:t})}catch(t){throw O.isInstance(t)||A.isInstance(t)?t:new O({text:e,cause:t})}}async function Es({text:e,schema:t}){try{let n=_s(e);return t==null?{success:!0,value:n,rawValue:n}:await ws({value:n,schema:t})}catch(t){return{success:!1,error:O.isInstance(t)?t:new O({text:e,cause:t}),rawValue:void 0}}}function Ds({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new l).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Es({text:e,schema:t}))}}))}async function Os({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await ws({value:t[e],schema:n});if(!r.success)throw new D({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var ks=()=>globalThis.fetch,As=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>js({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),js=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=ks()})=>{try{let s=await o(e,{method:`POST`,headers:os(t,`ai-sdk/provider-utils/${ds}`,ns()),body:n.content,signal:a}),c=ts(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw cs(t)||T.isInstance(t)?t:new T({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(cs(t)||T.isInstance(t))?t:new T({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw us({error:t,url:e,requestBodyValues:n.values})}},Ms=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=ts(r);if(o.trim()===``)return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Ts({text:o,schema:e});return{responseHeaders:s,value:new T({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Ns=e=>async({response:t})=>{let n=ts(t);if(t.body==null)throw new E({});return{responseHeaders:n,value:Ds({stream:t.body,schema:e})}},Ps=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Es({text:i,schema:e}),o=ts(t);if(!a.success)throw new T({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Fs,atob:Is}=globalThis;function Ls(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Fs(t)}function Rs(e){return e instanceof Uint8Array?Ls(e):e}function zs(e){return e?.replace(/\/$/,``)}function Bs(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Rs(e.data)}`}}}else throw new j({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function Vs({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Hs(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var Us=i.object({type:i.literal(`web`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),allowedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Ws=i.object({type:i.literal(`x`),excludedXHandles:i.array(i.string()).optional(),includedXHandles:i.array(i.string()).optional(),postFavoriteCount:i.number().int().optional(),postViewCount:i.number().int().optional(),xHandles:i.array(i.string()).optional()}),Gs=i.object({type:i.literal(`news`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Ks=i.object({type:i.literal(`rss`),links:i.array(i.string().url()).max(1)}),qs=i.discriminatedUnion(`type`,[Us,Ws,Gs,Ks]),Js=i.object({reasoningEffort:i.enum([`low`,`high`]).optional(),searchParameters:i.object({mode:i.enum([`off`,`auto`,`on`]),returnCitations:i.boolean().optional(),fromDate:i.string().optional(),toDate:i.string().optional(),maxSearchResults:i.number().min(1).max(50).optional(),sources:i.array(qs).optional()}).optional()}),Ys=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Xs=Ms({errorSchema:Ys,errorToMessage:e=>e.error.message});function Zs({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new j({functionality:`tool choice type: ${i}`})}}var Qs=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){let p=[],m=await Os({provider:`xai`,providerOptions:u,schema:Js})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=Bs(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=Zs({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.searchParameters.sources?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await As({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:es(this.config.headers(),e.headers),body:t,failedResponseHandler:Xs,successfulResponseHandler:Ps(ec),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:Hs(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...Vs(i),headers:r,body:a},warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await As({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:es(this.config.headers(),e.headers),body:r,failedResponseHandler:Xs,successfulResponseHandler:Ns(tc),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...Vs(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=Hs(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:o,usage:s})}})),request:{body:r},response:{headers:i}}}},$s=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),ec=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal(`chat.completion`),usage:$s,citations:i.array(i.string().url()).nullish()}),tc=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).optional(),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:$s.nullish(),citations:i.array(i.string().url()).nullish()}),nc=`2.0.23`,rc={errorSchema:Ys,errorToMessage:e=>e.error.message};function ic(e={}){let t=zs(e.baseURL??`https://api.x.ai/v1`),n=()=>os({Authorization:`Bearer ${fs({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${nc}`),r=r=>new Qs(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:ss,fetch:e.fetch}),i=r=>new Qo(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:rc}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new Fe({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}ic();function ac(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new l).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let i=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(vo({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(vo({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(xn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(Ir({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(ic({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const oc=`BLINK_API_URL`;var sc=class{baseUrl;client;constructor(e){this.client=y(e.baseUrl),this.baseUrl=e.baseUrl}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),ac(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e.selectedOptions?{selected_options:JSON.stringify(e.selectedOptions)}:{}},{init:{signal:t?.signal}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};const cc=e=>{let t=new l;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),lc(t.readable)},lc=e=>e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));export{oc as APIServerURLEnvironmentVariable,sc as Client,e as StreamResponseFormatHeader,cc as streamSSE};
21
+ ${t}:`]}}function Ri({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function zi(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Bi=i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional(),logprobs:i.union([i.boolean(),i.number()]).optional()}),Vi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await J({provider:`openai`,providerOptions:f,schema:Bi}),...await J({provider:this.providerOptionsName,providerOptions:f,schema:Bi})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=Li({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:Z(Ui),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:zi(o.finish_reason),request:{body:t},response:{...Ri(i),headers:r,body:a},providerMetadata:s,warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:hi(Wi),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Ri(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=zi(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},Hi=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()}),Ui=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Hi.nullish()}),Wi=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string().nullish(),index:i.number(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:Hi.nullish()}),Si]),Gi=i.object({dimensions:i.number().optional(),user:i.string().optional()}),Ki=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){if(e.length>this.maxEmbeddingsPerCall)throw new Be({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await J({provider:`openai`,providerOptions:r,schema:Gi})??{},{responseHeaders:a,value:o,rawValue:s}=await Y({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:G(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:$,successfulResponseHandler:Z(qi),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},qi=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),Ji={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Yi=new Set([`gpt-image-1`]),Xi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return Ji[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Y({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:G(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...Yi.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:Z(Zi),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Zi=i.object({data:i.array(i.object({b64_json:i.string(),revised_prompt:i.string().optional()}))}),Qi=i.object({code:i.string().nullish(),containerId:i.string()}),$i=i.object({outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullish()}),ea=i.object({container:i.union([i.string(),i.object({fileIds:i.array(i.string()).optional()})]).optional()}),ta=X({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:Qi,outputSchema:$i}),na=(e={})=>ta(e),ra=i.object({key:i.string(),type:i.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:i.union([i.string(),i.number(),i.boolean()])}),ia=i.object({type:i.enum([`and`,`or`]),filters:i.array(i.union([ra,i.lazy(()=>ia)]))}),aa=i.object({vectorStoreIds:i.array(i.string()),maxNumResults:i.number().optional(),ranking:i.object({ranker:i.string().optional(),scoreThreshold:i.number().optional()}).optional(),filters:i.union([ra,ia]).optional()}),oa=i.object({queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),fileId:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullable()}),sa=X({id:`openai.file_search`,name:`file_search`,inputSchema:i.object({}),outputSchema:oa}),ca=i.object({background:i.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:i.enum([`low`,`high`]).optional(),inputImageMask:i.object({fileId:i.string().optional(),imageUrl:i.string().optional()}).optional(),model:i.string().optional(),moderation:i.enum([`auto`]).optional(),outputCompression:i.number().int().min(0).max(100).optional(),outputFormat:i.enum([`png`,`jpeg`,`webp`]).optional(),quality:i.enum([`auto`,`low`,`medium`,`high`]).optional(),size:i.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),la=i.object({result:i.string()}),ua=X({id:`openai.image_generation`,name:`image_generation`,inputSchema:i.object({}),outputSchema:la}),da=(e={})=>ua(e),fa=i.object({action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeoutMs:i.number().optional(),user:i.string().optional(),workingDirectory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),pa=i.object({output:i.string()}),ma=X({id:`openai.local_shell`,name:`local_shell`,inputSchema:fa,outputSchema:pa}),ha=i.object({filters:i.object({allowedDomains:i.array(i.string()).optional()}).optional(),searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ga=pi({id:`openai.web_search`,name:`web_search`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),_a=(e={})=>ga(e),va=i.object({searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),ya=pi({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),ba={codeInterpreter:na,fileSearch:sa,imageGeneration:da,localShell:ma,webSearchPreview:ya,webSearch:_a};function xa(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Sa({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:a.push({role:`user`,content:c.map((e,t)=>{switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&xa(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${Q(e.data)}`},detail:e.providerOptions?.openai?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&xa(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${Q(e.data)}`}};else throw new j({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=fa.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await J({provider:`openai`,providerOptions:n.providerOptions,schema:Ca}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:pa.parse(t.value).output});break}let n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var Ca=i.object({itemId:i.string().nullish(),reasoningEncryptedContent:i.string().nullish()});function wa({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Ta({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=aa.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=va.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=ha.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=ea.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}case`openai.image_generation`:{let e=ca.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});break}}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new j({functionality:`tool choice type: ${a}`})}}var Ea=i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()}),Da=i.object({type:i.literal(`file_search_call`),id:i.string(),queries:i.array(i.string()),results:i.array(i.object({attributes:i.record(i.string(),i.unknown()),file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})).nullish()}),Oa=i.object({type:i.literal(`code_interpreter_call`),id:i.string(),code:i.string().nullable(),container_id:i.string(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable()}),ka=i.object({type:i.literal(`local_shell_call`),id:i.string(),call_id:i.string(),action:i.object({type:i.literal(`exec`),command:i.array(i.string()),timeout_ms:i.number().optional(),user:i.string().optional(),working_directory:i.string().optional(),env:i.record(i.string(),i.string()).optional()})}),Aa=i.object({type:i.literal(`image_generation_call`),id:i.string(),result:i.string()}),ja=20,Ma=i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})),Na=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){let p=[],m=co(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await J({provider:`openai`,providerOptions:l,schema:lo}),{input:g,warnings:_}=await Sa({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?ja:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.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 w.service_tier);let{tools:ee,toolChoice:te,toolWarnings:ne}=Ta({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:ee,tool_choice:te},warnings:[...p,...ne]}}async doGenerate(e){var t,n;let{args:r,warnings:a,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await Y({url:s,headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:Z(i.object({id:i.string(),created_at:i.number(),error:i.object({code:i.string(),message:i.string()}).nullish(),model:i.string(),output:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),role:i.literal(`assistant`),id:i.string(),content:i.array(i.object({type:i.literal(`output_text`),text:i.string(),logprobs:Ma.nullish(),annotations:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()}),i.object({type:i.literal(`container_file_citation`)})]))}))}),Ea,Da,Oa,Aa,ka,i.object({type:i.literal(`function_call`),call_id:i.string(),name:i.string(),arguments:i.string(),id:i.string()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string().optional()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish(),summary:i.array(i.object({type:i.literal(`summary_text`),text:i.string()}))})])),service_tier:i.string().nullish(),incomplete_details:i.object({reason:i.string()}).nullish(),usage:Pa})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new T({message:l.error.message,url:s,requestBodyValues:r,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??q(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??q(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:wa({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:r},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:a}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await Y({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:hi(qa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(no(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):ro(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(Ya(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(Xa(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if($a(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(eo(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(to(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else Qa(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):Ja(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):ao(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):oo(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):Za(g)?(s=wa({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):io(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??q(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??q(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):so(g)&&n.enqueue({type:`error`,error:g})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Pa=i.object({input_tokens:i.number(),input_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),output_tokens:i.number(),output_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Fa=i.object({type:i.literal(`response.output_text.delta`),item_id:i.string(),delta:i.string(),logprobs:Ma.nullish()}),Ia=i.object({type:i.literal(`error`),code:i.string(),message:i.string(),param:i.string().nullish(),sequence_number:i.number()}),La=i.object({type:i.enum([`response.completed`,`response.incomplete`]),response:i.object({incomplete_details:i.object({reason:i.string()}).nullish(),usage:Pa,service_tier:i.string().nullish()})}),Ra=i.object({type:i.literal(`response.created`),response:i.object({id:i.string(),created_at:i.number(),model:i.string(),service_tier:i.string().nullish()})}),za=i.object({type:i.literal(`response.output_item.added`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string()}),i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.object({type:i.literal(`search`),query:i.string().optional()}).nullish()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string()}),i.object({type:i.literal(`file_search_call`),id:i.string()}),i.object({type:i.literal(`image_generation_call`),id:i.string()}),i.object({type:i.literal(`code_interpreter_call`),id:i.string(),container_id:i.string(),code:i.string().nullable(),outputs:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`logs`),logs:i.string()}),i.object({type:i.literal(`image`),url:i.string()})])).nullable(),status:i.string()})])}),Ba=i.object({type:i.literal(`response.output_item.done`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string(),status:i.literal(`completed`)}),Oa,Aa,Ea,Da,ka,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.literal(`completed`)})])}),Va=i.object({type:i.literal(`response.function_call_arguments.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Ha=i.object({type:i.literal(`response.code_interpreter_call_code.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Ua=i.object({type:i.literal(`response.code_interpreter_call_code.done`),item_id:i.string(),output_index:i.number(),code:i.string()}),Wa=i.object({type:i.literal(`response.output_text.annotation.added`),annotation:i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()})])}),Ga=i.object({type:i.literal(`response.reasoning_summary_part.added`),item_id:i.string(),summary_index:i.number()}),Ka=i.object({type:i.literal(`response.reasoning_summary_text.delta`),item_id:i.string(),summary_index:i.number(),delta:i.string()}),qa=i.union([Fa,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,Ia,i.object({type:i.string()}).loose()]);function Ja(e){return e.type===`response.output_text.delta`}function Ya(e){return e.type===`response.output_item.done`}function Xa(e){return Ya(e)&&e.item.type===`reasoning`}function Za(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Qa(e){return e.type===`response.created`}function $a(e){return e.type===`response.function_call_arguments.delta`}function eo(e){return e.type===`response.code_interpreter_call_code.delta`}function to(e){return e.type===`response.code_interpreter_call_code.done`}function no(e){return e.type===`response.output_item.added`}function ro(e){return no(e)&&e.item.type===`reasoning`}function io(e){return e.type===`response.output_text.annotation.added`}function ao(e){return e.type===`response.reasoning_summary_part.added`}function oo(e){return e.type===`response.reasoning_summary_text.delta`}function so(e){return e.type===`error`}function co(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var lo=i.object({include:i.array(i.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:i.string().nullish(),logprobs:i.union([i.boolean(),i.number().min(1).max(ja)]).optional(),maxToolCalls:i.number().nullish(),metadata:i.any().nullish(),parallelToolCalls:i.boolean().nullish(),previousResponseId:i.string().nullish(),promptCacheKey:i.string().nullish(),reasoningEffort:i.string().nullish(),reasoningSummary:i.string().nullish(),safetyIdentifier:i.string().nullish(),serviceTier:i.enum([`auto`,`flex`,`priority`]).nullish(),store:i.boolean().nullish(),strictJsonSchema:i.boolean().nullish(),textVerbosity:i.enum([`low`,`medium`,`high`]).nullish(),user:i.string().nullish()}),uo=i.object({instructions:i.string().nullish(),speed:i.number().min(.25).max(4).default(1).nullish()}),fo=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await J({provider:`openai`,providerOptions:o,schema:uo}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Y({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:gi(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},po=i.object({include:i.array(i.string()).optional(),language:i.string().optional(),prompt:i.string().optional(),temperature:i.number().min(0).max(1).default(0).optional(),timestampGranularities:i.array(i.enum([`word`,`segment`])).default([`segment`]).optional()}),mo={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`},ho=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await J({provider:`openai`,providerOptions:n,schema:po}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([yi(e)]);a.append(`model`,this.modelId);let s=Kr(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await ui({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:G(this.config.headers(),e.headers),formData:r,failedResponseHandler:$,successfulResponseHandler:Z(go),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in mo?mo[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},go=i.object({text:i.string(),language:i.string().nullish(),duration:i.number().nullish(),words:i.array(i.object({word:i.string(),start:i.number(),end:i.number()})).nullish(),segments:i.array(i.object({id:i.number(),seek:i.number(),start:i.number(),end:i.number(),text:i.string(),tokens:i.array(i.number()),temperature:i.number(),avg_logprob:i.number(),compression_ratio:i.number(),no_speech_prob:i.number()})).nullish()}),_o=`2.0.42`;function vo(e={}){let t=xi(Gr({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>zr({Authorization:`Bearer ${Wr({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${_o}`),i=i=>new Oi(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new Vi(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new Ki(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Xi(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new ho(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new fo(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new Na(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=ba,f}vo();function yo(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function bo(e){return Object.fromEntries([...e.headers])}function xo(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function So(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function Co(e,...t){let n=So(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}(({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new D({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function wo(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var To=[`fetch failed`,`failed to fetch`];function Eo({error:e,url:t,requestBodyValues:n}){if(wo(e))return e;if(e instanceof TypeError&&To.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new T({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var Do=`3.0.10`,Oo=/"__proto__"\s*:/,ko=/"constructor"\s*:/;function Ao(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Oo.test(e)===!1&&ko.test(e)===!1?t:jo(t)}function jo(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function Mo(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Ao(e)}finally{Error.stackTraceLimit=t}}var No=Symbol.for(`vercel.ai.validator`);function Po(e){return{[No]:!0,validate:e}}function Fo(e){return typeof e==`object`&&!!e&&No in e&&e[No]===!0&&`validate`in e}function Io(e){return Fo(e)?e:Lo(e)}function Lo(e){return Po(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new A({value:t,cause:n.issues})}})}async function Ro({value:e,schema:t}){let n=await zo({value:e,schema:t});if(!n.success)throw A.wrap({value:e,cause:n.error});return n.value}async function zo({value:e,schema:t}){let n=Io(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:A.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:A.wrap({value:e,cause:t}),rawValue:e}}}async function Bo({text:e,schema:t}){try{let n=Mo(e);return t==null?n:Ro({value:n,schema:t})}catch(t){throw O.isInstance(t)||A.isInstance(t)?t:new O({text:e,cause:t})}}async function Vo({text:e,schema:t}){try{let n=Mo(e);return t==null?{success:!0,value:n,rawValue:n}:await zo({value:n,schema:t})}catch(t){return{success:!1,error:O.isInstance(t)?t:new O({text:e,cause:t}),rawValue:void 0}}}var Ho=()=>globalThis.fetch,Uo=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Wo({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Wo=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=Ho()})=>{try{let s=await o(e,{method:`POST`,headers:Co(t,`ai-sdk/provider-utils/${Do}`,xo()),body:n.content,signal:a}),c=bo(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw wo(t)||T.isInstance(t)?t:new T({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(wo(t)||T.isInstance(t))?t:new T({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw Eo({error:t,url:e,requestBodyValues:n.values})}},Go=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=bo(r);if(o.trim()===``)return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Bo({text:o,schema:e});return{responseHeaders:s,value:new T({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Ko=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Vo({text:i,schema:e}),o=bo(t);if(!a.success)throw new T({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:qo,atob:Jo}=globalThis;i.object({user:i.string().optional(),reasoningEffort:i.string().optional()});var Yo={errorSchema:i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),errorToMessage:e=>e.error.message},Xo=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish();i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),reasoning_content:i.string().nullish(),reasoning:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish()})),usage:Xo}),i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional()});var Zo=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()});i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string()})),usage:Zo.nullish()}),i.object({dimensions:i.number().optional(),user:i.string().optional()}),i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish(),providerMetadata:i.record(i.string(),i.record(i.string(),i.any())).optional()});var Qo=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await Uo({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:yo(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:Go(this.config.errorStructure??Yo),successfulResponseHandler:Ko($o),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},$o=i.object({data:i.array(i.object({b64_json:i.string()}))});function es(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function ts(e){return Object.fromEntries([...e.headers])}function ns(e=globalThis){return e.window?`runtime/browser`:e.navigator?.userAgent?`runtime/${e.navigator.userAgent.toLowerCase()}`:e.process?.versions?.node?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?`runtime/vercel-edge`:`runtime/unknown`}function rs(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function os(e,...t){let n=rs(e??{}),r=new Headers(n),i=r.get(`user-agent`)||``;return r.set(`user-agent`,[i,...t].filter(Boolean).join(` `)),Object.fromEntries(r)}var ss=(({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new D({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`})();function cs(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var ls=[`fetch failed`,`failed to fetch`];function us({error:e,url:t,requestBodyValues:n}){if(cs(e))return e;if(e instanceof TypeError&&ls.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new T({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}var ds=`3.0.10`;function fs({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new k({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new k({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new k({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new k({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}var ps=/"__proto__"\s*:/,ms=/"constructor"\s*:/;function hs(e){let t=JSON.parse(e);return typeof t!=`object`||!t||ps.test(e)===!1&&ms.test(e)===!1?t:gs(t)}function gs(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function _s(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return hs(e)}finally{Error.stackTraceLimit=t}}var vs=Symbol.for(`vercel.ai.validator`);function ys(e){return{[vs]:!0,validate:e}}function bs(e){return typeof e==`object`&&!!e&&vs in e&&e[vs]===!0&&`validate`in e}function xs(e){return bs(e)?e:Ss(e)}function Ss(e){return ys(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new A({value:t,cause:n.issues})}})}async function Cs({value:e,schema:t}){let n=await ws({value:e,schema:t});if(!n.success)throw A.wrap({value:e,cause:n.error});return n.value}async function ws({value:e,schema:t}){let n=xs(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:A.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:A.wrap({value:e,cause:t}),rawValue:e}}}async function Ts({text:e,schema:t}){try{let n=_s(e);return t==null?n:Cs({value:n,schema:t})}catch(t){throw O.isInstance(t)||A.isInstance(t)?t:new O({text:e,cause:t})}}async function Es({text:e,schema:t}){try{let n=_s(e);return t==null?{success:!0,value:n,rawValue:n}:await ws({value:n,schema:t})}catch(t){return{success:!1,error:O.isInstance(t)?t:new O({text:e,cause:t}),rawValue:void 0}}}function Ds({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new l).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await Es({text:e,schema:t}))}}))}async function Os({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await ws({value:t[e],schema:n});if(!r.success)throw new D({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var ks=()=>globalThis.fetch,As=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>js({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),js=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=ks()})=>{try{let s=await o(e,{method:`POST`,headers:os(t,`ai-sdk/provider-utils/${ds}`,ns()),body:n.content,signal:a}),c=ts(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw cs(t)||T.isInstance(t)?t:new T({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(cs(t)||T.isInstance(t))?t:new T({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw us({error:t,url:e,requestBodyValues:n.values})}},Ms=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=ts(r);if(o.trim()===``)return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await Ts({text:o,schema:e});return{responseHeaders:s,value:new T({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new T({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},Ns=e=>async({response:t})=>{let n=ts(t);if(t.body==null)throw new E({});return{responseHeaders:n,value:Ds({stream:t.body,schema:e})}},Ps=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await Es({text:i,schema:e}),o=ts(t);if(!a.success)throw new T({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},{btoa:Fs,atob:Is}=globalThis;function Ls(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Fs(t)}function Rs(e){return e instanceof Uint8Array?Ls(e):e}function zs(e){return e?.replace(/\/$/,``)}function Bs(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${Rs(e.data)}`}}}else throw new j({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function Vs({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Hs(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var Us=i.object({type:i.literal(`web`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),allowedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Ws=i.object({type:i.literal(`x`),excludedXHandles:i.array(i.string()).optional(),includedXHandles:i.array(i.string()).optional(),postFavoriteCount:i.number().int().optional(),postViewCount:i.number().int().optional(),xHandles:i.array(i.string()).optional()}),Gs=i.object({type:i.literal(`news`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Ks=i.object({type:i.literal(`rss`),links:i.array(i.string().url()).max(1)}),qs=i.discriminatedUnion(`type`,[Us,Ws,Gs,Ks]),Js=i.object({reasoningEffort:i.enum([`low`,`high`]).optional(),searchParameters:i.object({mode:i.enum([`off`,`auto`,`on`]),returnCitations:i.boolean().optional(),fromDate:i.string().optional(),toDate:i.string().optional(),maxSearchResults:i.number().min(1).max(50).optional(),sources:i.array(qs).optional()}).optional()}),Ys=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Xs=Ms({errorSchema:Ys,errorToMessage:e=>e.error.message});function Zs({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new j({functionality:`tool choice type: ${i}`})}}var Qs=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){let p=[],m=await Os({provider:`xai`,providerOptions:u,schema:Js})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=Bs(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=Zs({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.searchParameters.sources?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await As({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:es(this.config.headers(),e.headers),body:t,failedResponseHandler:Xs,successfulResponseHandler:Ps(ec),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:Hs(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...Vs(i),headers:r,body:a},warnings:n}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await As({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:es(this.config.headers(),e.headers),body:r,failedResponseHandler:Xs,successfulResponseHandler:Ns(tc),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...Vs(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=Hs(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:o,usage:s})}})),request:{body:r},response:{headers:i}}}},$s=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),ec=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal(`chat.completion`),usage:$s,citations:i.array(i.string().url()).nullish()}),tc=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).optional(),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:$s.nullish(),citations:i.array(i.string().url()).nullish()}),nc=`2.0.23`,rc={errorSchema:Ys,errorToMessage:e=>e.error.message};function ic(e={}){let t=zs(e.baseURL??`https://api.x.ai/v1`),n=()=>os({Authorization:`Bearer ${fs({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${nc}`),r=r=>new Qs(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:ss,fetch:e.fetch}),i=r=>new Qo(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:rc}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new Fe({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}ic();function ac(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new l).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let i=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(vo({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(vo({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(xn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(Ir({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(ic({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const oc=`BLINK_API_URL`;function sc(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var cc=class{_lockP=null;async lock(){let e=this._lockP,{promise:t,resolve:n}=sc();return this._lockP=t,await e,n}withLock(e){return uc(this.lock(),e)}},lc=class{_lock=new cc;_writeP=null;_readP=[];read(){return this._lock.withLock(async()=>{await this._writeP;let{promise:e,resolve:t}=sc();return this._readP.push(e),t})}withRead(e){return uc(this.read(),e)}async write(){return await this._lock.withLock(async()=>{await this._writeP,await Promise.all(this._readP);let{promise:e,resolve:t}=sc();return this._writeP=e,this._readP=[],t})}withWrite(e){return uc(this.write(),e)}};async function uc(e,t){let n=await e;try{return await t()}finally{n()}}var dc=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},fc=class{constructor(e){this.onRelease=e}[Symbol.dispose](){this.onRelease()}},pc=class{_lock=new lc;async read(){let e=await this._lock.read();return new dc(e)}async write(){let e=await this._lock.write();return new fc(e)}},mc=class{baseUrl;client;agentLock;constructor(e){this.client=y(e.baseUrl),this.baseUrl=e.baseUrl,this.agentLock=new pc}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),ac(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e.selectedOptions?{selected_options:JSON.stringify(e.selectedOptions)}:{}},{init:{signal:t?.signal}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};const hc=e=>{let t=new l;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),gc(t.readable)},gc=e=>e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));export{oc as APIServerURLEnvironmentVariable,mc as Client,e as StreamResponseFormatHeader,hc as streamSSE};
@@ -9,6 +9,56 @@ import { UIMessage, UIMessageChunk } from "ai";
9
9
  */
10
10
  declare const APIServerURLEnvironmentVariable = "BLINK_API_URL";
11
11
  //#endregion
12
+ //#region src/local/rw-lock.d.ts
13
+ declare class ReadLock {
14
+ private onRelease;
15
+ constructor(onRelease: () => void);
16
+ [Symbol.dispose](): void;
17
+ }
18
+ declare class WriteLock {
19
+ private onRelease;
20
+ constructor(onRelease: () => void);
21
+ [Symbol.dispose](): void;
22
+ }
23
+ /**
24
+ * RWLock is a read/write lock that allows multiple concurrent readers
25
+ * or a single writer. Writers wait for all readers to finish before acquiring
26
+ * the lock.
27
+ *
28
+ * This is designed for in-memory, single-process synchronization using the
29
+ * explicit resource management pattern (Symbol.dispose).
30
+ *
31
+ * Example usage:
32
+ * ```typescript
33
+ * const lock = new RWLock();
34
+ *
35
+ * // Multiple readers can acquire the lock concurrently
36
+ * using readLock = await lock.read();
37
+ * // ... do read operations ...
38
+ *
39
+ * // Writers wait for all readers to finish
40
+ * using writeLock = await lock.write();
41
+ * // ... do write operations ...
42
+ * ```
43
+ */
44
+ declare class RWLock {
45
+ private _lock;
46
+ /**
47
+ * Acquire a read lock. Multiple readers can hold the lock concurrently.
48
+ * If a writer is waiting, new readers will wait until the writer completes.
49
+ *
50
+ * The lock is automatically released when the returned object is disposed.
51
+ */
52
+ read(): Promise<ReadLock>;
53
+ /**
54
+ * Acquire a write lock. Waits for all readers to finish before acquiring.
55
+ * Only one writer can hold the lock at a time.
56
+ *
57
+ * The lock is automatically released when the returned object is disposed.
58
+ */
59
+ write(): Promise<WriteLock>;
60
+ }
61
+ //#endregion
12
62
  //#region src/agent/client/index.d.ts
13
63
  interface ClientOptions {
14
64
  readonly baseUrl: string;
@@ -21,6 +71,7 @@ type CapabilitiesResponse = Awaited<ReturnType<Client["capabilities"]>>;
21
71
  declare class Client {
22
72
  readonly baseUrl: string;
23
73
  private readonly client;
74
+ readonly agentLock: RWLock;
24
75
  constructor(options: ClientOptions);
25
76
  /**
26
77
  * chat starts chatting with the agent.
@@ -9,6 +9,56 @@ import { UIMessage, UIMessageChunk } from "ai";
9
9
  */
10
10
  declare const APIServerURLEnvironmentVariable = "BLINK_API_URL";
11
11
  //#endregion
12
+ //#region src/local/rw-lock.d.ts
13
+ declare class ReadLock {
14
+ private onRelease;
15
+ constructor(onRelease: () => void);
16
+ [Symbol.dispose](): void;
17
+ }
18
+ declare class WriteLock {
19
+ private onRelease;
20
+ constructor(onRelease: () => void);
21
+ [Symbol.dispose](): void;
22
+ }
23
+ /**
24
+ * RWLock is a read/write lock that allows multiple concurrent readers
25
+ * or a single writer. Writers wait for all readers to finish before acquiring
26
+ * the lock.
27
+ *
28
+ * This is designed for in-memory, single-process synchronization using the
29
+ * explicit resource management pattern (Symbol.dispose).
30
+ *
31
+ * Example usage:
32
+ * ```typescript
33
+ * const lock = new RWLock();
34
+ *
35
+ * // Multiple readers can acquire the lock concurrently
36
+ * using readLock = await lock.read();
37
+ * // ... do read operations ...
38
+ *
39
+ * // Writers wait for all readers to finish
40
+ * using writeLock = await lock.write();
41
+ * // ... do write operations ...
42
+ * ```
43
+ */
44
+ declare class RWLock {
45
+ private _lock;
46
+ /**
47
+ * Acquire a read lock. Multiple readers can hold the lock concurrently.
48
+ * If a writer is waiting, new readers will wait until the writer completes.
49
+ *
50
+ * The lock is automatically released when the returned object is disposed.
51
+ */
52
+ read(): Promise<ReadLock>;
53
+ /**
54
+ * Acquire a write lock. Waits for all readers to finish before acquiring.
55
+ * Only one writer can hold the lock at a time.
56
+ *
57
+ * The lock is automatically released when the returned object is disposed.
58
+ */
59
+ write(): Promise<WriteLock>;
60
+ }
61
+ //#endregion
12
62
  //#region src/agent/client/index.d.ts
13
63
  interface ClientOptions {
14
64
  readonly baseUrl: string;
@@ -21,6 +71,7 @@ type CapabilitiesResponse = Awaited<ReturnType<Client["capabilities"]>>;
21
71
  declare class Client {
22
72
  readonly baseUrl: string;
23
73
  private readonly client;
74
+ readonly agentLock: RWLock;
24
75
  constructor(options: ClientOptions);
25
76
  /**
26
77
  * chat starts chatting with the agent.
@@ -1 +1 @@
1
- const e=require(`../index.browser-BBk81dZs.cjs`);let t=require(`react`);t=e.__toESM(t);function n({agent:n,capabilities:r,messages:i}){let[a,o]=(0,t.useState)(void 0),[s,c]=(0,t.useState)(!0),[l,u]=(0,t.useState)(void 0),d=(0,t.useRef)(l);(0,t.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,t.useState)(()=>e.lastUIOptions(i));(0,t.useEffect)(()=>{p(t=>{let n=e.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[i]);let[m,h]=(0,t.useState)(void 0),g=(0,t.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,t.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,t.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0);(0,t.useEffect)(()=>{n!==y.current&&(y.current=n,u(void 0),h(void 0),o(void 0),c(!0),v.current=void 0)},[n]),(0,t.useEffect)(()=>{if(r&&!r.ui||!n){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let e=m?JSON.stringify(m):``;if(v.current===e){c(!1),o(void 0);return}let t=new AbortController;return c(!0),o(void 0),n.ui(m?{selectedOptions:m}:{},{signal:t.signal}).then(n=>{if(!n){u(void 0);return}t.signal.aborted||(u(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),v.current=e)}).catch(e=>{t.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{t.abort()}},[n,r,m]);let b=(0,t.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:b,loading:s,error:a}}exports.useOptions=n;
1
+ const e=require(`../index.browser-BBk81dZs.cjs`);let t=require(`react`);t=e.__toESM(t);function n({agent:n,capabilities:r,messages:i}){let[a,o]=(0,t.useState)(void 0),[s,c]=(0,t.useState)(!0),[l,u]=(0,t.useState)(void 0),d=(0,t.useRef)(l);(0,t.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,t.useState)(()=>e.lastUIOptions(i));(0,t.useEffect)(()=>{p(t=>{let n=e.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[i]);let[m,h]=(0,t.useState)(void 0),g=(0,t.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,t.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,t.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0);(0,t.useEffect)(()=>{n!==y.current&&(y.current=n,u(void 0),h(void 0),o(void 0),c(!0),v.current=void 0)},[n]),(0,t.useEffect)(()=>{if(r&&!r.ui||!n){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let e=m?JSON.stringify(m):``;if(v.current===e){c(!1),o(void 0);return}let t=new AbortController;return c(!0),o(void 0),n.ui(m?{selectedOptions:m}:{},{signal:t.signal}).then(n=>{if(!n){u(void 0);return}t.signal.aborted||(u(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),v.current=e)}).catch(e=>{t.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{t.abort()}},[n,r,m]);let b=(0,t.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:b,loading:s,error:a}}let r=Promise.resolve();var i=class{constructor(e){this.printLog=e}setPrintLog(e){this.printLog=e}error(e,...t){r=r.then(()=>this.printLog(`error`,e,...t).catch(e=>{console.error(`Error printing log:`,e)}))}log(e,...t){r=r.then(()=>this.printLog(`log`,e,...t).catch(e=>{console.error(`Error printing log:`,e)}))}flush(){return r}};const a=(0,t.createContext)(void 0);exports.Logger=i,exports.LoggerContext=a,exports.useOptions=n;
@@ -1,7 +1,8 @@
1
1
  import "../types-DUs3b5a3.cjs";
2
2
  import { UIOptions, UIOptionsSchema } from "../index.browser-DB9UGGdN.cjs";
3
- import { CapabilitiesResponse, Client } from "../index-DSU-sZKL.cjs";
3
+ import { CapabilitiesResponse, Client } from "../index-orp-VO8g.cjs";
4
4
  import { UIMessage } from "ai";
5
+ import * as react0 from "react";
5
6
 
6
7
  //#region src/react/use-options.d.ts
7
8
 
@@ -29,4 +30,17 @@ declare function useOptions({
29
30
  error: Error | undefined;
30
31
  };
31
32
  //#endregion
32
- export { useOptions };
33
+ //#region src/react/use-logger.d.ts
34
+ type Source = "system" | "agent";
35
+ type PrintLog = (level: "error" | "log", source: Source, ...message: unknown[]) => Promise<void>;
36
+ declare class Logger {
37
+ private printLog;
38
+ constructor(printLog: PrintLog);
39
+ setPrintLog(printLog: PrintLog): void;
40
+ error(source: Source, ...message: [unknown, ...unknown[]]): void;
41
+ log(source: Source, ...message: [unknown, ...unknown[]]): void;
42
+ flush(): Promise<void>;
43
+ }
44
+ declare const LoggerContext: react0.Context<Logger | undefined>;
45
+ //#endregion
46
+ export { Logger, LoggerContext, useOptions };
@@ -1,7 +1,8 @@
1
1
  import "../types-keN8L-ZK.js";
2
2
  import { UIOptions, UIOptionsSchema } from "../index.browser-yBhWIAxZ.js";
3
- import { CapabilitiesResponse, Client } from "../index-C-Slllhb.js";
3
+ import { CapabilitiesResponse, Client } from "../index-BXZCP58f.js";
4
4
  import { UIMessage } from "ai";
5
+ import * as react0 from "react";
5
6
 
6
7
  //#region src/react/use-options.d.ts
7
8
 
@@ -29,4 +30,17 @@ declare function useOptions({
29
30
  error: Error | undefined;
30
31
  };
31
32
  //#endregion
32
- export { useOptions };
33
+ //#region src/react/use-logger.d.ts
34
+ type Source = "system" | "agent";
35
+ type PrintLog = (level: "error" | "log", source: Source, ...message: unknown[]) => Promise<void>;
36
+ declare class Logger {
37
+ private printLog;
38
+ constructor(printLog: PrintLog);
39
+ setPrintLog(printLog: PrintLog): void;
40
+ error(source: Source, ...message: [unknown, ...unknown[]]): void;
41
+ log(source: Source, ...message: [unknown, ...unknown[]]): void;
42
+ flush(): Promise<void>;
43
+ }
44
+ declare const LoggerContext: react0.Context<Logger | undefined>;
45
+ //#endregion
46
+ export { Logger, LoggerContext, useOptions };
@@ -1 +1 @@
1
- import{lastUIOptions as e}from"../index.browser-DPHICXmy.js";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";function a({agent:a,capabilities:o,messages:s}){let[c,l]=i(void 0),[u,d]=i(!0),[f,p]=i(void 0),m=r(f);n(()=>{m.current=f},[f]);let[h,g]=i(()=>e(s));n(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=i(void 0),y=t((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=t(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);n(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=r(void 0),S=r(void 0);n(()=>{a!==S.current&&(S.current=a,p(void 0),v(void 0),l(void 0),d(!0),x.current=void 0)},[a]),n(()=>{if(o&&!o.ui||!a){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let t=new AbortController;return d(!0),l(void 0),a.ui(_?{selectedOptions:_}:{},{signal:t.signal}).then(n=>{if(!n){p(void 0);return}t.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),x.current=e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{t.abort()}},[a,o,_]);let C=t((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:C,loading:u,error:c}}export{a as useOptions};
1
+ import{lastUIOptions as e}from"../index.browser-DPHICXmy.js";import{createContext as t,useCallback as n,useEffect as r,useRef as i,useState as a}from"react";function o({agent:t,capabilities:o,messages:s}){let[c,l]=a(void 0),[u,d]=a(!0),[f,p]=a(void 0),m=i(f);r(()=>{m.current=f},[f]);let[h,g]=a(()=>e(s));r(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=a(void 0),y=n((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=n(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);r(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=i(void 0),S=i(void 0);r(()=>{t!==S.current&&(S.current=t,p(void 0),v(void 0),l(void 0),d(!0),x.current=void 0)},[t]),r(()=>{if(o&&!o.ui||!t){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let n=new AbortController;return d(!0),l(void 0),t.ui(_?{selectedOptions:_}:{},{signal:n.signal}).then(t=>{if(!t){p(void 0);return}n.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(t)?e:t),x.current=e)}).catch(e=>{n.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{n.abort()}},[t,o,_]);let C=n((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:C,loading:u,error:c}}let s=Promise.resolve();var c=class{constructor(e){this.printLog=e}setPrintLog(e){this.printLog=e}error(e,...t){s=s.then(()=>this.printLog(`error`,e,...t).catch(e=>{console.error(`Error printing log:`,e)}))}log(e,...t){s=s.then(()=>this.printLog(`log`,e,...t).catch(e=>{console.error(`Error printing log:`,e)}))}flush(){return s}};const l=t(void 0);export{c as Logger,l as LoggerContext,o as useOptions};
@@ -1 +1 @@
1
- import{import_websocket as e}from"./wrapper-B0SBsJWP.js";import{openUrl as t}from"./util-CUfifM0g.js";import{WorkspaceConnect as n}from"./connect-BCK40kvG.js";async function r(){let r=crypto.randomUUID(),i=new e.default(`wss://blink.so/legacy-auth?id=${r}`);await new Promise((e,t)=>{i.onopen=()=>{e()},i.onerror=e=>{t(e)}});let a=new Promise((e,t)=>{i.onmessage=t=>{e(t.data.toString())}}),o=`https://blink.so/legacy-auth?id=${r}&type=workspace`;console.log(`Opening the following URL in your browser: ${o}`),await t(o);let s=await a,c=new n({url:`wss://blink.so/api/connect`,token:s});c.onConnect(()=>{console.log(`Connected to Blink`)}),c.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}export{r as default};
1
+ import{import_websocket as e}from"./wrapper-B0SBsJWP.js";import{openUrl as t}from"./util-CUfifM0g.js";import{WorkspaceConnect as n}from"./connect-DIUub9Pr.js";async function r(){let r=crypto.randomUUID(),i=new e.default(`wss://blink.so/legacy-auth?id=${r}`);await new Promise((e,t)=>{i.onopen=()=>{e()},i.onerror=e=>{t(e)}});let a=new Promise((e,t)=>{i.onmessage=t=>{e(t.data.toString())}}),o=`https://blink.so/legacy-auth?id=${r}&type=workspace`;console.log(`Opening the following URL in your browser: ${o}`),await t(o);let s=await a,c=new n({url:`wss://blink.so/api/connect`,token:s});c.onConnect(()=>{console.log(`Connected to Blink`)}),c.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}export{r as default};