PageSourceSearch

https://lobe-chat-eight-virid-32.vercel.app/_next/static/chunks/85869-61e9919eb994e187.js

js lobe-chat-eight-virid-32.vercel.app collected 2026-10-03 07:16:29 UTC 124,392 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[10111,32492,85869],{1457:(e,t,i)=>{i.d(t,{c:()=>u});var o=i(49327),n=i(87018),a=i(13902);let l=e=>(0,a.p)(e).chatConfig||{},r=e=>l(e).searchMode||"off",s=e=>"off"!==r(e),d=e=>{let t=(0,a.p)(e),i=l(e);return!(!i.disableContextCaching&&o.PE.has(t.model)||s(e)&&o.T.has(t.model))&&i.enableHistoryCount},u={agentSearchMode:r,currentChatConfig:l,displayMode:e=>l(e).displayMode||"chat",enableHistoryCount:d,enableHistoryDivider:(e,t)=>i=>{var o;let n=l(i);return d(i)&&e>(null!==(o=n.historyCount)&&void 0!==o?o:0)&&n.historyCount===e-t},historyCount:e=>l(e).historyCount||n.iD.historyCount,isAgentEnableSearch:s,searchFCModel:e=>l(e).searchFCModel||n.NN,useModelBuiltinSearch:e=>l(e).useModelBuiltinSearch}},2702:(e,t,i)=>{i.d(t,{U:()=>n,h:()=>a});var o=i(44134).hp;let n=e=>{let{size:t,img:i,type:o="image/webp"}=e,n=document.createElement("canvas"),a=n.getContext("2d"),l=0,r=0;return i.width>i.height?l=(i.width-i.height)/2:r=(i.height-i.width)/2,n.width=t,n.height=t,a.drawImage(i,l,r,Math.min(i.width,i.height),Math.min(i.width,i.height),0,0,t,t),n.toDataURL(o)},a=async e=>{try{let t=await fetch(e),i=await t.blob(),n=await i.arrayBuffer();return{base64:"function"==typeof btoa?btoa(new Uint8Array(n).reduce((e,t)=>e+String.fromCharCode(t),"")):o.from(n).toString("base64"),mimeType:i.type}}catch(e){throw console.error("Error converting image to base64:",e),e}}},4144:(e,t,i)=>{i.d(t,{W:()=>l});var o=i(93031),n=i(29129);let a=e=>{if(e.toString().includes("Invalid"))return 401;switch(e){case o.Y.InvalidProviderAPIKey:case o.Y.NoOpenAIAPIKey:return 401;case o.Y.ExceededContextWindow:case n.T.SubscriptionKeyMismatch:case n.T.SystemTimeNotMatchError:return 400;case o.Y.LocationNotSupportError:return 403;case o.Y.ModelNotFound:return 404;case o.Y.InsufficientQuota:case o.Y.QuotaLimitReached:return 429;case o.Y.AgentRuntimeError:return 470;case o.Y.ProviderBizError:return 471;case n.T.OllamaServiceUnavailable:case o.Y.OllamaBizError:return 472}return e},l=(e,t)=>{let i=a(e);return("number"!=typeof i||i<200||i>599)&&console.error("current StatusCode: `".concat(i,"` ."),"Please go to `./src/app/api/errorResponse.ts` to defined the statusCode."),new Response(JSON.stringify({body:t,errorType:e}),{status:i})}},15084:(e,t,i)=>{i.d(t,{w:()=>d});var o=i(53384);let n=e=>e.aiProviderList.filter(e=>e.enabled).sort((e,t)=>e.sort-t.sort),a=e=>e.aiProviderDetail,l=new Set(["ollama"]),r=e=>{var t;return null===(t=a(e))||void 0===t?void 0:t.keyVaults},s=e=>t=>{var i;if(e)return null===(i=t.aiProviderRuntimeConfig)||void 0===i?void 0:i[e]},d={activeProviderConfig:a,disabledAiProviderList:e=>e.aiProviderList.filter(e=>!e.enabled),enabledAiProviderList:n,isActiveProviderApiKeyNotEmpty:e=>{let t=r(e);return!!(null==t?void 0:t.apiKey)||!!(null==t?void 0:t.accessKeyId)||!!(null==t?void 0:t.secretAccessKey)},isActiveProviderEndpointNotEmpty:e=>{let t=r(e);return!!(null==t?void 0:t.baseURL)||!!(null==t?void 0:t.endpoint)},isAiProviderConfigLoading:e=>t=>t.activeAiProvider!==e,isProviderConfigUpdating:e=>t=>t.aiProviderConfigUpdatingIds.includes(e),isProviderEnabled:e=>t=>n(t).some(t=>t.id===e),isProviderFetchOnClient:e=>t=>{let i=s(e)(t);if((0,o.isProviderDisableBrowserRequest)(e))return!1;if(l.has(e)&&void 0!==(null==i?void 0:i.fetchOnClient))return null==i?void 0:i.fetchOnClient;let n=!!(null==i?void 0:i.keyVaults.baseURL),a=!!(null==i?void 0:i.keyVaults.apiKey);return(!!n||!!a)&&(!!n&&!a||void 0!==(null==i?void 0:i.fetchOnClient)&&(null==i?void 0:i.fetchOnClient))},isProviderHasBuiltinSearch:e=>t=>{let i=s(e)(t);return!!(null==i?void 0:i.settings.searchMode)},isProviderHasBuiltinSearchConfig:e=>t=>{let i=s(e)(t);return!!(null==i?void 0:i.settings.searchMode)&&(null==i?void 0:i.settings.searchMode)!=="internal"},isProviderLoading:e=>t=>t.aiProviderLoadingIds.includes(e),providerConfigById:s,providerKeyVaults:e=>t=>{var i,o;if(e)return null===(o=t.aiProviderRuntimeConfig)||void 0===o?void 0:null===(i=o[e])||void 0===i?void 0:i.keyVaults}}},16441:(e,t,i)=>{i.d(t,{y:()=>s});var o=i(53384),n=i(72705),a=i(54140);let l=new Set(["ollama"]),r=e=>{let{id:t,provider:i}=e;return e=>{var o;if(!i)return;let a=(0,n.Q1)(i)(e);return null==a?void 0:null===(o=a.customModelCards)||void 0===o?void 0:o.find(e=>e.id===t)}},s={azureConfig:e=>(0,n.cj)(e).azure,bedrockConfig:e=>(0,n.cj)(e).bedrock,cloudflareConfig:e=>(0,n.cj)(e).cloudflare,currentEditingCustomModelCard:e=>{if(!e.editingCustomCardModel)return;let{id:t,provider:i}=e.editingCustomCardModel;return r({id:t,provider:i})(e)},getCustomModelCard:r,isAutoFetchModelsEnabled:e=>t=>{var i;return(null===(i=(0,n.Q1)(e)(t))||void 0===i?void 0:i.autoFetchModelLists)||!1},isAzureEnabled:e=>(0,n.cj)(e).azure.enabled,isProviderEnabled:e=>t=>{var i;return(null===(i=(0,n.Q1)(e)(t))||void 0===i?void 0:i.enabled)||!1},isProviderFetchOnClient:e=>t=>{let i=(0,n.Q1)(e)(t);if((0,o.isProviderDisableBrowserRequest)(e))return!1;if(l.has(e)&&void 0!==(null==i?void 0:i.fetchOnClient))return null==i?void 0:i.fetchOnClient;let r=a.t.isProviderEndpointNotEmpty(e)(t),s=a.t.isProviderApiKeyNotEmpty(e)(t);return(!!r||!!s)&&(!!r&&!s||void 0!==(null==i?void 0:i.fetchOnClient)&&(null==i?void 0:i.fetchOnClient))},ollamaConfig:e=>(0,n.cj)(e).ollama,openAIConfig:e=>(0,n.cj)(e).openai}},18442:(e,t,i)=>{i.d(t,{W:()=>o});let o=e=>{let t=e.match(/^data:([^;]+);base64,(.+)$/);if(t)return{base64:t[2],mimeType:t[1],type:"base64"};try{return new URL(e),{base64:null,mimeType:null,type:"url"}}catch(e){return{base64:null,mimeType:null,type:null}}}},29129:(e,t,i)=>{i.d(t,{T:()=>
1o});let o={InvalidAccessCode:"InvalidAccessCode",InvalidClerkUser:"InvalidClerkUser",FreePlanLimit:"FreePlanLimit",SubscriptionPlanLimit:"SubscriptionPlanLimit",SubscriptionKeyMismatch:"SubscriptionKeyMismatch",InvalidUserKey:"InvalidUserKey",NoOpenAIAPIKey:"NoOpenAIAPIKey",OllamaServiceUnavailable:"OllamaServiceUnavailable",PluginFailToTransformArguments:"PluginFailToTransformArguments",UnknownChatFetchError:"UnknownChatFetchError",SystemTimeNotMatchError:"SystemTimeNotMatchError",BadRequest:400,Unauthorized:401,Forbidden:403,ContentNotFound:404,MethodNotAllowed:405,TooManyRequests:429,InternalServerError:500,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504}},32492:(e,t,i)=>{i.d(t,{default:()=>o});let o=[{abilities:{functionCall:!0,vision:!0},contextWindowTokens:1000192,description:"在 MiniMax-01系列模型中,我们做了大胆创新:首次大规模实现线性注意力机制,传统 Transformer架构不再是唯一的选择。这个模型的参数量高达4560亿,其中单次激活459亿。模型综合性能比肩海外顶尖模型,同时能够高效处理全球最长400万token的上下文,是GPT-4o的32倍,Claude-3.5-Sonnet的20倍。",displayName:"MiniMax-Text-01",enabled:!0,id:"MiniMax-Text-01",maxOutput:1000192,pricing:{currency:"CNY",input:1,output:8},releasedAt:"2025-01-15",type:"chat"},{abilities:{functionCall:!0,vision:!0},contextWindowTokens:245760,description:"适用于广泛的自然语言处理任务,包括文本生成、对话系统等。",displayName:"abab6.5s",enabled:!0,id:"abab6.5s-chat",maxOutput:245760,pricing:{currency:"CNY",input:1,output:1},type:"chat"},{abilities:{reasoning:!0},contextWindowTokens:64e3,description:"DeepSeek 推出的推理模型。在输出最终回答之前,模型会先输出一段思维链内容,以提升最终答案的准确性。",displayName:"DeepSeek R1",id:"DeepSeek-R1",maxOutput:64e3,pricing:{currency:"CNY",input:4,output:16},type:"chat"}]},46834:(e,t,i)=>{i.d(t,{Fs:()=>l,MW:()=>o,OH:()=>r,TE:()=>a,WK:()=>d,g_:()=>n,lK:()=>s});let o="X-lobe-trace",n="X-lobe-chat-trace-id",a="X-lobe-observation-id";var l=function(e){return e.ConnectivityChecker="Connectivity Checker",e.Conversation="Conversation",e.EmojiPicker="Emoji Picker",e.FetchPluginAPI="Fetch Plugin API",e.InvokePlugin="Invoke Plugin",e.LanguageDetect="Language Detect",e.SummaryAgentDescription="Summary Agent Description",e.SummaryAgentTags="Summary Agent Tags",e.SummaryAgentTitle="Summary Agent Title",e.SummaryTopicTitle="Summary Topic Title",e.Translator="Translator",e.UserEvents="User Events",e}({}),r=function(e){return e.CopyMessage="Copy Message",e.DeleteAndRegenerateMessage="Delete And Regenerate Message",e.ModifyMessage="Modify Message",e.RegenerateMessage="Regenerate Message",e}({}),s=function(e){return e.AgentSettings="Agent Settings",e}({}),d=function(e){return e.Chat="Chat Competition",e.SystemChain="System Chain",e.ToolCalling="Tool Calling",e.ToolsCall="Tools Call",e}({})},49327:(e,t,i)=>{i.d(t,{O_:()=>o,PE:()=>a,T:()=>l,hk:()=>n});let o=new Set(["o1-preview","o1-preview-2024-09-12","o1-mini","o1-mini-2024-09-12"]),n=new Set(["o1","o1-2024-12-17"]),a=new Set(["claude-3-7-sonnet-latest","claude-3-7-sonnet-20250219","claude-3-5-sonnet-latest","claude-3-5-sonnet-20241022","claude-3-5-sonnet-20240620","claude-3-5-haiku-latest","claude-3-5-haiku-20241022"]),l=new Set(["claude-3-7-sonnet-latest","claude-3-7-sonnet-20250219"])},54140:(e,t,i)=>{i.d(t,{t:()=>l});var o=i(72705);let n=e=>(0,o.fe)(e).keyVaults||{},a=e=>t=>n(t)[e]||{},l={azureConfig:e=>n(e).azure||{},bedrockConfig:e=>n(e).bedrock||{},cloudflareConfig:e=>n(e).cloudflare||{},getVaultByProvider:a,isProviderApiKeyNotEmpty:e=>t=>{let i=a(e)(t);return!!(null==i?void 0:i.apiKey)||!!(null==i?void 0:i.accessKeyId)||!!(null==i?void 0:i.secretAccessKey)},isProviderEndpointNotEmpty:e=>t=>{let i=a(e)(t);return!!(null==i?void 0:i.baseURL)||!!(null==i?void 0:i.endpoint)},keyVaultsSettings:n,ollamaConfig:e=>n(e).ollama||{},openAIConfig:e=>n(e).openai||{},password:e=>n(e).password||""}},54583:(e,t,i)=>{i.d(t,{N:()=>o});let o=e=>{let t;if("string"==typeof e){try{t=JSON.parse(e)}catch(e){return}return t}}},55095:(e,t,i)=>{i.d(t,{g:()=>u});var o=i(67598),n=function(e){return e.Internal="internal",e.Params="params",e.Tool="tool",e}({});let a=e=>e.aiProviderModelList.filter(e=>e.enabled),l=e=>e.aiProviderModelList.length,r=(e,t)=>i=>{var o;return null===(o=i.enabledAiModels)||void 0===o?void 0:o.find(i=>i.id===e&&(!t||t===i.providerId))},s=(e,t)=>i=>{var o;let n=r(e,t)(i);return null==n?void 0:null===(o=n.settings)||void 0===o?void 0:o.extendParams},d=(e,t)=>i=>{var o;let n=r(e,t)(i);return null==n?void 0:null===(o=n.settings)||void 0===o?void 0:o.searchImpl},u={aiProviderChatModelListIds:e=>e.aiProviderModelList.filter(e=>"chat"===e.type).map(e=>e.id),disabledAiProviderModelList:e=>e.aiProviderModelList.filter(e=>!e.enabled),enabledAiProviderModelList:a,filteredAiProviderModelList:e=>{let t=e.modelSearchKeyword.toLowerCase().trim();return e.aiProviderModelList.filter(e=>{var i;return e.id.toLowerCase().includes(t)||(null===(i=e.displayName)||void 0===i?void 0:i.toLowerCase().includes(t))})},getAiModelById:e=>t=>t.aiProviderModelList.find(t=>
1t.id===e),getEnabledModelById:r,getModelCard:(e,t)=>i=>i.builtinAiModelList.find(i=>i.id===e&&i.providerId===t),hasRemoteModels:e=>e.aiProviderModelList.some(e=>e.source===o.iw.Remote),isEmptyAiProviderModelList:e=>0===l(e),isModelEnabled:e=>t=>a(t).some(t=>t.id===e),isModelHasBuiltinSearch:(e,t)=>i=>!!d(e,t)(i),isModelHasBuiltinSearchConfig:(e,t)=>i=>{let o=d(e,t)(i);return!!o&&[n.Tool,n.Params].includes(o)},isModelHasContextWindowToken:(e,t)=>i=>{let o=r(e,t)(i);return"number"==typeof(null==o?void 0:o.contextWindowTokens)},isModelHasExtendParams:(e,t)=>i=>{let o=s(e,t)(i);return!!o&&o.length>0},isModelLoading:e=>t=>t.aiModelLoadingIds.includes(e),isModelSupportReasoning:(e,t)=>i=>{var o;let n=r(e,t)(i);return null==n?void 0:null===(o=n.abilities)||void 0===o?void 0:o.reasoning},isModelSupportToolUse:(e,t)=>i=>{var o;let n=r(e,t)(i);return null==n?void 0:null===(o=n.abilities)||void 0===o?void 0:o.functionCall},isModelSupportVision:(e,t)=>i=>{var o;let n=r(e,t)(i);return null==n?void 0:null===(o=n.abilities)||void 0===o?void 0:o.vision},modelBuiltinSearchImpl:d,modelContextWindowTokens:(e,t)=>i=>{let o=r(e,t)(i);return null==o?void 0:o.contextWindowTokens},modelExtendParams:s,totalAiProviderModelList:l}},62586:(e,t,i)=>{i.d(t,{P:()=>m});let o=e=>'<api identifier="'.concat(e.name,'">').concat(e.desc,"</api>"),n=e=>'<collection name="'.concat(e.name,'">\n').concat(e.systemRole?"<collection.instructions>".concat(e.systemRole,"</collection.instructions>"):"","\n").concat(e.apis.map(e=>o(e)).join("\n"),"\n</collection>"),a=e=>e.length>0?e.map(e=>n(e)).join("\n"):"",l=e=>{let{tools:t}=e;return'<plugins description="The plugins you can use below">\n'.concat(a(t),"\n</plugins>").trim()};var r=i(50377),s=i(72404),d=i(60859),u=i(95924),c=i(23740);let v=e=>t=>{let i=c.w.installedPluginMetaList(t);return u.W.metaList(e)(t).concat(i)},p=e=>t=>c.w.installedPluginManifestList(t).concat(t.builtinTools.map(e=>e.manifest)).find(t=>t.identifier===e),m={enabledSchema:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t=>{let i=c.w.installedPluginManifestList(t).concat(t.builtinTools.map(e=>e.manifest)).filter(t=>e.includes(null==t?void 0:t.identifier));return(0,s.cU)(i)}},enabledSystemRoles:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t=>{let i=c.w.installedPluginManifestList(t).concat(t.builtinTools.map(e=>e.manifest)).filter(t=>t&&e.includes(t.identifier)).map(e=>{let t=e.meta||{},i=d.V.getPluginTitle(t)||e.identifier,o=e.systemRole||d.V.getPluginDesc(t);return{apis:e.api.map(t=>({desc:t.description,name:(0,r.M)(e.identifier,t.name,e.type)})),identifier:e.identifier,name:i,systemRole:o}});return i.length>0?l({tools:i}):""}},getManifestById:p,getManifestLoadingStatus:e=>t=>{let i=p(e)(t);return t.pluginInstallLoading[e]?"loading":i?i?"success":void 0:"error"},getMetaById:function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return i=>{var o;return null===(o=v(t)(i).find(t=>t.identifier===e))||void 0===o?void 0:o.meta}},isToolHasUI:e=>t=>{let i=p(e)(t);if(!i)return!1;let o=t.builtinTools.find(t=>t.identifier===e);return!!o&&"builtin"===o.type||!!i.ui},metaList:v}},71453:(e,t,i)=>{i.d(t,{E:()=>n});var o=i(12735);let n=async e=>{let t;try{let i=await e.json();t={body:i.body,message:(0,o.t)("response.".concat(i.errorType),{ns:"error"}),type:i.errorType}}catch(i){t={message:(0,o.t)("response.".concat(e.status),{ns:"error"}),type:e.status}}return t}},85869:(e,t,i)=>{i.d(t,{O:()=>oe,H:()=>i6});var o=i(47043),n=i(53838),a=i(83282),l=i(53384),r=i(97501),s=i(27204),d=i(19026);let u="# Role: LobeChat Support Assistant\n\n## About [LobeHub](".concat(d.Cz,")\n\nLobeHub is an organization of design-engineers dedicated to providing advanced design components and tools for AI-generated content (AIGC).\nIt aims to create a technology-driven community platform that enables the sharing of knowledge and ideas, fostering inspiration and collaboration.\n\nAdopting a Bootstrapping approach, LobeHub is committed to delivering an open, transparent, and user-friendly product ecosystem for both casual users and professional developers.\nLobeHub serves as an AI Agent playground, where creativity and innovation meet.\n\n## About [LobeChat](").concat(d.Uo,")\n\nLobeChat, a product of LobeHub, is an open-source ChatGPT/LLMs UI/Framework designed for modern LLMs/AI applications.\nSupports Multi AI Providers( OpenAI / Claude 3 / Gemini / Perplexity / Bedrock / Azure / Mistral / Ollama ), Multi-Modals (Vision/TTS) and plugin system.\nand offers a one-click FREE deployment for a private ChatGPT chat application, making it accessible and customizable for a wide range of users.\n\n### Features\n\n- [Multi-Model Service Provider Support](").concat((0,s.A)(d.jr,"/features/multi-ai-providers"),")\n- [Local Large Language Model (LLM) Support](").concat((0,s.A)(d.jr,"/features/local-llm"),")\n- [Model Visual Recognition](").concat((0,s.A)(d.jr,"/features/vision"),")\n- [TTS & STT Voice Conversation](").concat((0,s.A)(d.jr,"/features/tts"),")\n- [Text to Image Generation](").concat((0,s.A)(d.jr,"/features/text-to-image"),")\n- [Plugin System (Function Calling)](").concat((0,s.A)(d.jr,"/features/plugin-system"),")\n- [Agent Market (GPTs)](").concat((0,s.A)(d.jr,"/features/agent-market"),")\n\n### Community Edition and Cloud Version\n\nLobeChat is currently available as a community preview version, completely open-source and free of charge.\n\nIn the LobeChat 
1Cloud version, we provide 500,000 free computing credits to all registered users. It is ready to use without complex configurations.\nIf you require more usage, you can subscribe to the Basic, Advanced, or Professional versions for a fee.\n\n### Self Hosting\n\nLobeChat provides Self-Hosted Version with [Vercel](").concat((0,s.A)(d.jI,"/platform/vercel"),") and [Docker Image](").concat(d.RP,").\nThis allows you to deploy your own chatbot within a few minutes without any prior knowledge.\n\n**IMPORTANT**\n\nWhen users ask about usage or deployment, DO NOT MAKE UP ANSWERS. Instead, guide them to the relevant documentation!!!\n\nLearn more about [Build your own LobeChat](").concat(d.jI,") by checking it out.\n\n## Resources Links\n\nIn the response, please try to pick and include the relevant links below, and if a relevant answer cannot be provided, also offer the user these related links:\n\n- Official Website: ").concat(d.Cz,"\n- Cloud Version: ").concat(d.Uo,"\n- Community Edition: ").concat(d.ff,"\n- GitHub Repository: ").concat(d.U0,"\n- Latest News: ").concat(d.nz,"\n- Usage Documentation: ").concat(d.jr,"\n- Self-Hosting Documentation: ").concat(d.jI,"\n- Development Guide: ").concat(d.NQ,"\n- Email Support: ").concat(d.Fv,"\n- Business Inquiries: ").concat(d.yf,"\n\n## Workflow\n\n1. Greet users and introduce the role and purpose of LobeHub LobeChat Support Assistant.\n2. Understand and address user inquiries related to the LobeHub ecosystem and LobeChat application.\n3. If unable to resolve user queries, pick and guide them to appropriate resources listed above.\n\n## Initialization\n\nAs the role <Role>, I will adhere to the following guidelines:\n- Provide accurate and helpful information to users.\n- Maintain a friendly and professional demeanor.\n- Direct users to the appropriate resources when necessary.\n- Keep the language of the response consistent with the language of the user input; if they are not consistent, then translate.\n\nWelcome users to LobeChat, introduce myself as the <Role>, and inform them about the services and support available. Then, guide users through the <Workflow> for assistance.");var c=i(36363),v=i(87018),p=i(46834),m=i(92043),h=i(53449),g=i(30832),y=i.n(g),f=i(91027),b=i.n(f),C=i(88211),w=i(93031);let _={chat:e=>e,createError:(e,t)=>({error:t,errorType:e})},T=()=>{let e=new Date;return"".concat(e.getFullYear(),"-").concat(e.getMonth()+1,"-").concat(e.getDate()," ").concat(e.getHours(),":").concat(e.getMinutes(),":").concat(e.getSeconds(),".").concat(e.getMilliseconds())},L=async e=>{let t,i=!1,o=0,n=new TextDecoder,a=e.getReader();for(console.log("[stream start] ".concat(T()));!i;)try{let{value:e,done:l}=await a.read();if(l){console.log("[stream finished] total chunks: ".concat(o,"\n")),i=!0;break}t=e,"byteLength"in e?t=n.decode(e,{stream:!0}):"string"!=typeof e&&(t=JSON.stringify(e)),console.log("[chunk ".concat(o,"] ").concat(T())),console.log(t),console.log(""),i=l,o++}catch(e){i=!0,console.error("[debugStream error]",e),console.error("[error chunk value:]",t)}},k=e=>{console.log("\n[no stream response] ".concat(T(),"\n")),console.log(JSON.stringify(e)+"\n")},A=e=>{try{let t=new URL(e),i=t.hostname.split("."),o=t.port;if(i.length>1){let e=i.length-2;i[e].length<5?i[e]="***":i[e]=i[e].replace(/^(.*?)(\w{2})(\w+)(\w{2})$/,(e,t,i,o,n)=>"".concat(t).concat(i,"****").concat(n))}let n=i.join(".");return"".concat(t.protocol,"//").concat(n).concat(o?":****":"").concat(t.pathname).concat(t.search)}catch(t){return e}},E=e=>{let t;return e instanceof C.Ay.APIError?{errorResult:t=e.error?e.error:e.cause?e.cause:{headers:e.headers,stack:e.stack,status:e.status}}:(t={cause:e.cause,message:e.message,name:e.name,stack:e.stack},{RuntimeError:w.Y.AgentRuntimeError,errorResult:t})};var x=i(49327),P=i(2702),O=i(18442),I=i(87358);let M=async e=>{if("image_url"===e.type){let{type:t}=(0,O.W)(e.image_url.url);if("url"===t&&"1"===I.env.LLM_VISION_IMAGE_USE_BASE64){let{base64:t,mimeType:i}=await (0,P.h)(e.image_url.url);return{...e,image_url:{...e.image_url,url:"data:".concat(i,";base64,").concat(t)}}}}return e},S=async e=>await Promise.all(e.map(async e=>({...e,content:"string"==typeof e.content?e.content:await Promise.all((e.content||[]).map(e=>M(e)))}))),N=e=>({...e,frequency_penalty:0,messages:e.messages.map(t=>({...t,role:"system"===t.role?x.O_.has(e.model)?"user":"developer":t.role})),presence_penalty:0,stream:!x.hk.has(e.model),temperature:1,top_p:1}),R=(e,t)=>new Response(e,{headers:{"Cache-Control":"no-cache","Content-Type":"text/event-stream",...null==t?void 0:t.headers}}),U=e=>{var t,i,o,n,a,l;let r=e.prompt_tokens||0,s=e.citation_tokens||0,d=s+r,u=e.prompt_cache_hit_tokens||(null===(t=e.prompt_tokens_details)||void 0===t?void 0:t.cached_tokens),c=e.prompt_cache_miss_tokens||d-u,v=e.completion_tokens,p=(null===(i=e.completion_tokens_details)||void 0===i?void 0:i.reasoning_tokens)||0,m=(null===(o=e.completion_tokens_details)||void 0===o?void 0:o.audio_tokens)||0,h=s+e.total_tokens,g={acceptedPredictionTokens:null===(n=e.completion_tokens_details)||void 0===n?void 0:n.accepted_prediction_tokens,inputAudioTokens:null===(a=e.prompt_tokens_details)||void 0===a?void 0:a.audio_tokens,inputCacheMissTokens:c,inputCachedTokens:u,inputCitationTokens:s,inputTextTokens:r,outputAudioTokens:m,outputReasoningTokens:p,outputTextTokens:v-p-m,rejectedPredictionTokens:null===(l=e.completion_tokens_details)||void 0===l?void 0:l.rejected_prediction_tokens,totalInputTokens:d,totalOutputTokens:v,totalTokens:h},y={};
1return Object.entries(g).forEach(e=>{let[t,i]=e;i&&(y[t]=i)}),y},B=(e,t)=>"".concat(t||"unknown_tool_call","_").concat(e),H=async function*(e){for await(let t of e)yield t},D="%FIRST_CHUNK_ERROR%: ",W=e=>{let t=H(e)[Symbol.asyncIterator]();return new ReadableStream({async cancel(e){var i;await (null===(i=t.return)||void 0===i?void 0:i.call(t,e))},async pull(e){let{done:i,value:o}=await t.next();i?e.close():e.enqueue(o)},async start(e){try{let{done:i,value:o}=await t.next();i?e.close():e.enqueue(o)}catch(t){e.enqueue(D+JSON.stringify({message:t.message,name:t.name,stack:t.stack})),e.close()}}})},G=(e,t)=>new TransformStream({transform:(i,o)=>{let n=e(i,t||{id:""});(Array.isArray(n)?n:[n]).forEach(e=>{let{type:t,id:i,data:n}=e;o.enqueue("id: ".concat(i,"\n")),o.enqueue("event: ".concat(t,"\n")),o.enqueue("data: ".concat(JSON.stringify(n),"\n\n"))})}});function q(e){let t=new TextEncoder,i="",o=e||{};return new TransformStream({async flush(){o.onCompletion&&await o.onCompletion(""),o.onFinal&&await o.onFinal("")},async start(){o.onStart&&await o.onStart()},async transform(e,n){if(n.enqueue(t.encode(e)),e.startsWith("event:"))i=e.split("event:")[1].trim();else if(e.startsWith("data:")){var a,l,r;let t=e.split("data:")[1].trim();switch(i){case"text":await (null===(a=o.onText)||void 0===a?void 0:a.call(o,t)),await (null===(l=o.onToken)||void 0===l?void 0:l.call(o,JSON.parse(t)));break;case"tool_calls":await (null===(r=o.onToolCall)||void 0===r?void 0:r.call(o))}}}})}let K="_isFirstChunkError",Y=(e,t)=>new TransformStream({transform(i,o){if(i.toString().startsWith(D)){let n=JSON.parse(i.toString().replace(D,""));o.enqueue({...n,[K]:!0,errorType:(null==e?void 0:e(n))||w.Y.ProviderBizError,provider:t})}else o.enqueue(i)}}),z=()=>new TransformStream({transform(e,t){for(let i of new TextDecoder().decode(e,{stream:!0}).split("\n"))if(i.startsWith("data: ")){let e=i.slice(6);if("[DONE]"===e)continue;try{let i=JSON.parse(e);t.enqueue(i)}catch(t){console.warn("Failed to parse SSE data:",e)}}}}),j=(e,t)=>{if(K in e)return delete e[K],delete e.name,delete e.stack,{data:{body:e,type:"errorType"in e?e.errorType:w.Y.ProviderBizError},id:"first_chunk_error",type:"error"};try{var i,o,n,a;let l=e.choices[0];if(!l){if(e.usage){let t=e.usage;return{data:U(t),id:e.id,type:"usage"}}return{data:e,id:e.id,type:"data"}}if(l&&"object"==typeof(null===(i=l.delta)||void 0===i?void 0:i.tool_calls)&&(null===(o=l.delta.tool_calls)||void 0===o?void 0:o.length)>0&&l.delta.tool_calls.filter(e=>e.index>=0||void 0===e.index).length>0)return{data:l.delta.tool_calls.map((e,i)=>{var o,n,a,l,r,s;return t&&!t.tool&&(t.tool={id:e.id,index:e.index,name:e.function.name}),{function:{arguments:null!==(r=null===(o=e.function)||void 0===o?void 0:o.arguments)&&void 0!==r?r:"{}",name:null!==(s=null===(n=e.function)||void 0===n?void 0:n.name)&&void 0!==s?s:null},id:e.id||(null==t?void 0:null===(a=t.tool)||void 0===a?void 0:a.id)||B(i,null===(l=e.function)||void 0===l?void 0:l.name),index:void 0!==e.index?e.index:i,type:e.type||"function"}}),id:e.id,type:"tool_calls"};if(l.finish_reason){if("string"==typeof(null===(n=l.delta)||void 0===n?void 0:n.content)&&l.delta.content)return{data:l.delta.content,id:e.id,type:"text"};if(e.usage){let t=e.usage;return{data:U(t),id:e.id,type:"usage"}}return{data:l.finish_reason,id:e.id,type:"stop"}}if(l.delta){let i="reasoning_content"in l.delta?l.delta.reasoning_content:"reasoning"in l.delta?l.delta.reasoning:null,o="content"in l.delta?l.delta.content:null;if("string"==typeof o&&"string"==typeof i&&(""===o&&""===i?o=null:""===i&&(i=null)),"string"==typeof i)return{data:i,id:e.id,type:"reasoning"};if("string"==typeof o){if(!(null==t?void 0:t.returnedCitation)){let i="citations"in e&&e.citations||"search_info"in e&&(null===(a=e.search_info)||void 0===a?void 0:a.search_results)||"search_results"in e&&e.search_results;if(i)return t.returnedCitation=!0,[{data:{citations:i.map(e=>({title:"string"==typeof e?e:e.title,url:"string"==typeof e?e:e.url}))},id:e.id,type:"grounding"},{data:o,id:e.id,type:"text"}]}return{data:o,id:e.id,type:"text"}}}if(l.delta&&null===l.delta.content)return{data:l.delta,id:e.id,type:"data"};if(e.usage){let t=e.usage;return{data:U(t),id:e.id,type:"usage"}}return{data:{delta:l.delta,id:e.id,index:l.index},id:e.id,type:"data"}}catch(i){let t="StreamChunkError";return console.error("[".concat(t,"]"),i),console.error("[".concat(t,"] raw chunk:"),e),{data:{body:{message:"chat response streaming chunk parse error, please contact your API Provider to fix it.",context:{error:{message:i.message,name:i.name},chunk:e}},type:t},id:e.id,type:"error"}}},F=function(e){let{callbacks:t,provider:i,bizErrorTypeTransformer:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(e instanceof ReadableStream?e:W(e)).pipeThrough(Y(o,i)).pipeThrough(G(j,{id:""})).pipeThrough(q(t))},V=["embedding","davinci","curie","moderation","ada","babbage","tts","whisper","dall-e"];function J(e){return new ReadableStream({start(t){let i=e.choices||[],o={choices:i.map(e=>{var t;return{delta:{content:e.message.content,role:e.message.role,tool_calls:null===(t=e.message.tool_calls)||void 0===t?void 0:t.map((e,t)=>({function:e.function,id:e.id,index:t,type:e.type}))},finish_reason:null,index:e.index,logprobs:e.logprobs}}),created:e.created,id:e.id,model:e.model,object:"chat.completion.chunk"};t.enqueue(o),t.enqueue({choices:i.map(e=>({delta:{content:null,role:e.message.role},finish_reason:e.finish_reason,index:e.index,logprobs:e.logprobs})),created:e.created,id:e.id,model:e.model,object:"chat.completion.chunk",system_fingerprint:e.system_fingerprint}),t.close()}})}let Q=e=>{let{provider:t,baseURL:i,apiKey:o,errorType:n,debug:a,constructorOptions:r,chatCompletion:s,models:d,customClient:u}=e,c={bizError:(null==n?void 0:n.bizError)||w.Y.ProviderBizError,invali
1dAPIKey:(null==n?void 0:n.invalidAPIKey)||w.Y.InvalidProviderAPIKey};return class{async chat(e,t){let{responseMode:i,...o}=e;try{var n,l,r,d;let e;let c=(null==s?void 0:s.handlePayload)?s.handlePayload(o,this._options):{...o,stream:null===(l=o.stream)||void 0===l||l},v=await S(c.messages),p={bizErrorTypeTransformer:null==s?void 0:s.handleStreamBizErrorType,callbacks:null==t?void 0:t.callback,provider:this.id};if(null==u?void 0:u.createChatCompletionStream)e=u.createChatCompletionStream(this.client,o,this);else{let i={...c,messages:v,...(null==s?void 0:s.noUserId)?{}:{user:null==t?void 0:t.user},stream_options:!c.stream||(null==s?void 0:s.excludeUsage)?void 0:{include_usage:!0}};(null==a?void 0:null===(r=a.chatCompletion)||void 0===r?void 0:r.call(a))&&(console.log("[requestPayload]"),console.log(JSON.stringify(i),"\n")),e=await this.client.chat.completions.create(i,{headers:{Accept:"*/*",...null==t?void 0:t.requestHeaders},signal:null==t?void 0:t.signal})}if(c.stream){let[i,o]=e.tee();if(null==a?void 0:null===(d=a.chatCompletion)||void 0===d?void 0:d.call(a)){let e=o instanceof ReadableStream?o:o.toReadableStream();L(e).catch(console.error)}let n=(null==s?void 0:s.handleStream)||F;return R(n(i,p),{headers:null==t?void 0:t.headers})}if((null==a?void 0:null===(n=a.chatCompletion)||void 0===n?void 0:n.call(a))&&k(e),"json"===i)return Response.json(e);let m=((null==s?void 0:s.handleTransformResponseToStream)||J)(e),h=(null==s?void 0:s.handleStream)||F;return R(h(m,p),{headers:null==t?void 0:t.headers})}catch(e){throw this.handleError(e)}}async models(){return"function"==typeof d?d({client:this.client}):(await this.client.models.list()).data.filter(e=>V.every(t=>!e.id.toLowerCase().includes(t))).map(e=>{if(null==d?void 0:d.transformModel)return d.transformModel(e);let t=()=>{if(e.created)return(y().extend(b()),"string"==typeof e.created||13===e.created.toFixed(0).length)?y().utc(e.created).format("YYYY-MM-DD"):y().utc(1e3*e.created).format("YYYY-MM-DD")},i=l.LOBE_DEFAULT_MODEL_LIST.find(t=>t.id===e.id);if(i){var o;let e=null!==(o=i.releasedAt)&&void 0!==o?o:t();return{...i,releasedAt:e}}return{id:e.id,releasedAt:t()}}).filter(Boolean)}async embeddings(e,t){try{return(await this.client.embeddings.create({...e,user:null==t?void 0:t.user},{headers:null==t?void 0:t.headers,signal:null==t?void 0:t.signal})).data.map(e=>e.embedding)}catch(e){throw this.handleError(e)}}async textToImage(e){try{return(await this.client.images.generate(e)).data.map(e=>e.url)}catch(e){throw this.handleError(e)}}async textToSpeech(e,t){try{return(await this.client.audio.speech.create(e,{headers:null==t?void 0:t.headers,signal:null==t?void 0:t.signal})).arrayBuffer()}catch(e){throw this.handleError(e)}}handleError(e){let t=this.baseURL;if(this.baseURL!==i&&(t=A(this.baseURL)),null==s?void 0:s.handleError){let t=s.handleError(e,this._options);if(t)return _.chat({...t,provider:this.id})}if("status"in e&&401===e.status)return _.chat({endpoint:t,error:e,errorType:c.invalidAPIKey,provider:this.id});let{errorResult:o,RuntimeError:n}=E(e);switch(o.code){case"insufficient_quota":return _.chat({endpoint:t,error:o,errorType:w.Y.InsufficientQuota,provider:this.id});case"model_not_found":return _.chat({endpoint:t,error:o,errorType:w.Y.ModelNotFound,provider:this.id});case"context_length_exceeded":case"string_above_max_length":return _.chat({endpoint:t,error:o,errorType:w.Y.ExceededContextWindow,provider:this.id})}return _.chat({endpoint:t,error:o,errorType:n||c.bizError,provider:this.id})}constructor(e={}){var n,a;let l={...e,apiKey:(null===(n=e.apiKey)||void 0===n?void 0:n.trim())||o,baseURL:(null===(a=e.baseURL)||void 0===a?void 0:a.trim())||i},{apiKey:s,baseURL:d=i,...v}=l;if(this._options=l,!s)throw _.createError(null==c?void 0:c.invalidAPIKey);let p={apiKey:s,baseURL:d,...r,...v};(null==u?void 0:u.createClient)?this.client=u.createClient(p):this.client=new C.Ay(p),this.baseURL=d||this.client.baseURL,this.id=e.id||t}}};var X=i(87358);let $=Q({baseURL:"https://api.openai.com/v1",chatCompletion:{handlePayload:e=>{var t;let{model:i}=e;
1return i.startsWith("o1")||i.startsWith("o3")?N(e):{...e,stream:null===(t=e.stream)||void 0===t||t}}},debug:{chatCompletion:()=>"1"===X.env.DEBUG_OPENAI_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["gpt-4","gpt-3.5","o3-mini"],a=["gpt-4o","vision"],l=["o1","o3"];return(await t.models.list()).data.map(e=>{var t,i,r,s,d;let u=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(s=null==u?void 0:u.contextWindowTokens)&&void 0!==s?s:void 0,displayName:null!==(d=null==u?void 0:u.displayName)&&void 0!==d?d:void 0,enabled:(null==u?void 0:u.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))&&!e.id.toLowerCase().includes("audio")||(null==u?void 0:null===(t=u.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:l.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(i=u.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))&&!e.id.toLowerCase().includes("audio")||(null==u?void 0:null===(r=u.abilities)||void 0===r?void 0:r.vision)||!1}}).filter(Boolean)},provider:h.l.OpenAI});var Z=i(87358);let ee=Q({baseURL:"https://api.ai21.com/studio/v1",chatCompletion:{handlePayload:e=>
1({...e,stream:!e.tools})},debug:{chatCompletion:()=>"1"===Z.env.DEBUG_AI21_CHAT_COMPLETION},provider:h.l.Ai21});var et=i(87358);let ei=Q({baseURL:"https://api.360.cn/v1",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,tools:i,...o}=e,n=t?[...i||[],{type:"web_search",web_search:{search_mode:"auto"}}]:i;return{...o,stream:!n,tools:n}}},debug:{chatCompletion:()=>"1"===et.env.DEBUG_AI360_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["360gpt2-o1","360zhinao2-o1"];return(await t.models.list()).data.map(e=>{var t,i,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.total_tokens,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:"360gpt-pro"===e.id||(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,maxTokens:"number"==typeof e.max_tokens?e.max_tokens:void 0,reasoning:n.some(t=>e.id.toLowerCase().includes(t))||(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(a=r.abilities)||void 0===a?void 0:a.vision)||!1}}).filter(Boolean)},provider:h.l.Ai360});i(5140);var eo=i(5292);let en=async e=>{switch(e.type){case"thinking":return e;case"text":if(e.text)return e;return;case"image_url":{let{mimeType:t,base64:i,type:o}=(0,O.W)(e.image_url.url);if("base64"===o)return{source:{data:i,media_type:t,type:"base64"},type:"image"};if("url"===o){let{base64:t,mimeType:i}=await (0,P.h)(e.image_url.url);return{source:{data:t,media_type:i,type:"base64"},type:"image"}}throw Error("Invalid image URL: ".concat(e.image_url.url))}}},ea=async e=>{let t=await Promise.all(e.map(async e=>await en(e)));return t.filter(Boolean)},el=async e=>{let t=e.content;switch(e.role){case"system":return{content:t,role:"user"};case"user":return{content:"string"==typeof t?t:await ea(t),role:"user"};case"tool":return{content:[{content:e.content,tool_use_id:e.tool_call_id,type:"tool_result"}],role:"user"};case"assistant":if(e.tool_calls&&e.tool_calls.length>0){let i="string"==typeof t?[{text:e.content,type:"text"}]:t;return{content:[...await ea(i),...e.tool_calls.map(e=>({id:e.id,input:JSON.parse(e.function.arguments),name:e.function.name,type:"tool_use"}))].filter(Boolean),role:"assistant"}}return{content:t,role:"assistant"};case"function":return{content:t,role:"assistant"}}},er=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[],o=[],n=new Set;for(let t of e){var a;"assistant"===t.role&&(null===(a=t.tool_calls)||void 0===a?void 0:a.length)&&t.tool_calls.forEach(e=>{e.id&&n.add(e.id)})}for(let t of e){let a=e.indexOf(t);if("tool"===t.role)t.tool_call_id&&n.has(t.tool_call_id)?(o.push({content:[{text:t.content,type:"text"}],tool_use_id:t.tool_call_id,type:"tool_result"}),(a===e.length-1||"tool"!==e[a+1].role)&&(i.push({content:o,role:"user"}),o=[])):i.push({content:t.content,role:"user"});else{let e=await el(t);i.push({...e,role:e.role})}}let l=i.at(-1);if(t.enabledContextCaching&&l){if("string"==typeof l.content)l.content=[{cache_control:{type:"ephemeral"},text:l.content,type:"text"}];else{let e=l.content.at(-1);e&&"thinking"!==e.type&&"redacted_thinking"!==e.type&&(e.cache_control={type:"ephemeral"})}}return i},es=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e)return e.map((i,o)=>({cache_control:t.enabledContextCaching&&o===e.length-1?{type:"ephemeral"}:void 0,description:i.function.description,input_schema:i.function.parameters,name:i.function.name}))},ed=(e,t)=>{var i,o,n,a,l,r,s,d,u,c,v;switch(e.type){case"message_start":{t.id=e.message.id;let u=null===(i=e.message.usage)||void 0===i?void 0:i.input_tokens;return((null===(o=e.message.usage)||void 0===o?void 0:o.cache_creation_input_tokens)||(null===(n=e.message.usage)||void 0===n?void 0:n.cache_read_input_tokens))&&(u=(null===(d=e.message.usage)||void 0===d?void 0:d.input_tokens)+(e.message.usage.cache_creation_input_tokens||0)+(e.message.usage.cache_read_input_tokens||0)),t.usage={inputCacheMissTokens:null===(a=e.message.usage)||void 0===a?void 0:a.input_tokens,inputCachedTokens:(null===(l=e.message.usage)||void 0===l?void 0:l.cache_read_input_tokens)||void 0,inputWriteCacheTokens:(null===(r=e.message.usage)||void 0===r?void 0:r.cache_creation_input_tokens)||void 0,totalInputTokens:u,totalOutputTokens:null===(s=e.message.usage)||void 0===s?void 0:s.output_tokens},{data:e.message,id:e.message.id,type:"data"}}case"content_block_start":switch(e.content_block.type){case"redacted_thinking":return{data:e.content_block.data,id:t.id,type:"flagged_reasoning_signature"};case"text":return{data:e.content_block.text,id:t.id,type:"data"};case"tool_use":{let i=e.content_block;void 0===t.toolIndex?t.toolIndex=0:t.toolIndex+=1;let o={function:{arguments:"",name:i.name},id:i.id,index:t.toolIndex,type:"function"};return t.tool={id:i.id,index:t.toolIndex,name:i.name},{data:[o],id:t.id,type:"tool_calls"}}case"thinking":{let i=e.content_block;
1if(i.signature)return[{data:i.thinking,id:t.id,type:"reasoning"},{data:i.signature,id:t.id,type:"reasoning_signature"}];if("string"==typeof i.thinking)return{data:i.thinking,id:t.id,type:"reasoning"};return{data:i,id:t.id,type:"data"}}}return{data:e,id:t.id,type:"data"};case"content_block_delta":switch(e.delta.type){case"text_delta":return{data:e.delta.text,id:t.id,type:"text"};case"input_json_delta":return{data:[{function:{arguments:e.delta.partial_json},index:t.toolIndex||0,type:"function"}],id:t.id,type:"tool_calls"};case"signature_delta":return{data:e.delta.signature,id:t.id,type:"reasoning_signature"};case"thinking_delta":return{data:e.delta.thinking,id:t.id,type:"reasoning"}}return{data:e,id:t.id,type:"data"};case"message_delta":{let i=(null===(u=e.usage)||void 0===u?void 0:u.output_tokens)+((null===(c=t.usage)||void 0===c?void 0:c.totalOutputTokens)||0),o=(null===(v=t.usage)||void 0===v?void 0:v.totalInputTokens)||0,n=o+i;if(n>0)return[{data:e.delta.stop_reason,id:t.id,type:"stop"},{data:{...t.usage,totalInputTokens:o,totalOutputTokens:i,totalTokens:n},id:t.id,type:"usage"}];return{data:e.delta.stop_reason,id:t.id,type:"stop"}}case"message_stop":return{data:"message_stop",id:t.id,type:"stop"};default:return{data:e,id:t.id,type:"data"}}},eu=(e,t)=>(e instanceof ReadableStream?e:W(e)).pipeThrough(G(ed,{id:""})).pipeThrough(q(t)),ec=e=>{let t=e;return e.error?"error"in(t=e.error)&&(t=t.error):t={headers:e.headers,stack:e.stack,status:e.status},{errorResult:t}};var ev=i(87358);let ep=new Set(["claude-3-opus-20240229","claude-3-haiku-20240307"]),em="https://api.anthropic.com";class eh{isDebug(){return"1"===ev.env.DEBUG_ANTHROPIC_CHAT_COMPLETION}async chat(e,t){try{let i=await this.buildAnthropicPayload(e);this.isDebug()&&(console.log("[requestPayload]"),console.log(JSON.stringify(i),"\n"));let[o,n]=(await this.client.messages.create({...i,stream:!0},{signal:null==t?void 0:t.signal})).tee();return this.isDebug()&&L(n.toReadableStream()).catch(console.error),R(eu(o,null==t?void 0:t.callback),{headers:null==t?void 0:t.headers})}catch(e){throw this.handleError(e)}}async buildAnthropicPayload(e){let{messages:t,model:i,max_tokens:o,temperature:n,top_p:a,tools:l,thinking:r,enabledContextCaching:s=!0}=e,d=t.find(e=>"system"===e.role),u=t.filter(e=>"system"!==e.role),c=(null==d?void 0:d.content)?[{cache_control:s?{type:"ephemeral"}:void 0,text:null==d?void 0:d.content,type:"text"}]:void 0,v=await er(u,{enabledContextCaching:s}),p=es(l,{enabledContextCaching:s});return r&&"enabled"===r.type?{max_tokens:o?(null==r?void 0:r.budget_tokens)&&(null==r?void 0:r.budget_tokens)>o?Math.min((null==r?void 0:r.budget_tokens)+o,64e3):o:64e3,messages:v,model:i,system:c,thinking:r,tools:p}:{max_tokens:null!=o?o:ep.has(i)?4096:8192,messages:v,model:i,system:c,temperature:void 0!==e.temperature?n/2:void 0,tools:p,top_p:a}}async models(){let{LOBE_DEFAULT_MODEL_LIST:e}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),t="".concat(this.baseURL,"/v1/models"),o=await fetch(t,{headers:{"anthropic-version":"2023-06-01","x-api-key":"".concat(this.apiKey)},method:"GET"});return(await o.json()).data.map(t=>{var i,o,n,a;let l=e.find(e=>t.id.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:null!==(a=null==l?void 0:l.contextWindowTokens)&&void 0!==a?a:void 0,displayName:t.display_name,enabled:(null==l?void 0:l.enabled)||!1,functionCall:t.id.toLowerCase().includes("claude-3")||(null==l?void 0:null===(i=l.abilities)||void 0===i?void 0:i.functionCall)||!1,id:t.id,reasoning:(null==l?void 0:null===(o=l.abilities)||void 0===o?void 0:o.reasoning)||!1,vision:t.id.toLowerCase().includes("claude-3")&&!t.id.toLowerCase().includes("claude-3-5-haiku")||(null==l?void 0:null===(n=l.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)}handleError(e){let t=this.baseURL;if(this.baseURL!==em&&(t=A(this.baseURL)),"status"in e)switch(e.status){case 401:throw _.chat({endpoint:t,error:e,errorType:w.Y.InvalidProviderAPIKey,provider:this.id});case 403:throw _.chat({endpoint:t,error:e,errorType:w.Y.LocationNotSupportError,provider:this.id})}let{errorResult:i}=ec(e);throw _.chat({endpoint:t,error:i,errorType:w.Y.ProviderBizError,provider:this.id})}constructor({apiKey:e,baseURL:t=em,id:i,...o}={}){if(!e)throw _.createError(w.Y.InvalidProviderAPIKey);this.client=new eo.Ay({apiKey:e,baseURL:t,...o}),this.baseURL=this.client.baseURL,this.apiKey=e,this.id=i||h.l.Anthropic}}var eg=i(87358);class ey{async chat(e,t){var i;let{messages:o,model:n,...a}=e,l=!n.includes("o1")&&(null===(i=a.stream)||void 0===i||i),r=o.map(e=>({...e,role:(n.includes("o1")||n.includes("o3"))&&"system"===e.role?[...x.O_].some(e=>n.includes(e))?"user":"developer":e.role}));
1try{let e=await this.client.chat.completions.create({messages:r,model:n,...a,max_completion_tokens:null,stream:l,tool_choice:a.tools?"auto":void 0});if(l){let[i,o]=e.tee();return"1"===eg.env.DEBUG_AZURE_CHAT_COMPLETION&&L(o.toReadableStream()).catch(console.error),R(F(i,{callbacks:null==t?void 0:t.callback}),{headers:null==t?void 0:t.headers})}{let i=J(e);return R(F(i,{callbacks:null==t?void 0:t.callback}),{headers:null==t?void 0:t.headers})}}catch(i){let e=i;e.code?"DeploymentNotFound"===e.code&&(e={...e,deployId:n}):e={cause:e.cause,message:e.message,name:e.name};let t=e.code?w.Y.ProviderBizError:w.Y.AgentRuntimeError;throw _.chat({endpoint:this.maskSensitiveUrl(this.baseURL),error:e,errorType:t,provider:h.l.Azure})}}constructor(e={}){if(this.camelCaseKeys=e=>{if("object"!=typeof e||!e)return e;if(Array.isArray(e))return e.map(e=>this.camelCaseKeys(e));for(let t of Object.keys(e)){let i=e[t],o=this.tocamelCase(t);o!==t&&delete e[t],e[o]="object"==typeof e[o]?this.camelCaseKeys(i):i}return e},this.tocamelCase=e=>e.toLowerCase().replaceAll(/(_[a-z])/g,e=>e.toUpperCase().replace("_","")),this.maskSensitiveUrl=e=>e.replace(/^(https:\/\/)([^.]+)(\.openai\.azure\.com\/.*)$/,(e,t,i,o)=>"".concat(t,"***").concat(o)),!e.apiKey||!e.baseURL)throw _.createError(w.Y.InvalidProviderAPIKey);this.client=new C.AC({apiKey:e.apiKey,apiVersion:e.apiVersion,dangerouslyAllowBrowser:!0,endpoint:e.baseURL}),this.baseURL=e.baseURL}}var ef=i(81889),eb=i(97142),eC=i(87358);class ew{async chat(e,t){var i;let{messages:o,model:n,...a}=e,l=!n.includes("o1")&&(null===(i=a.stream)||void 0===i||i),r=o.map(e=>({...e,role:(n.includes("o1")||n.includes("o3"))&&"system"===e.role?[...x.O_].some(e=>n.includes(e))?"user":"developer":e.role}));try{let e=this.client.path("/chat/completions").post({body:{messages:r,model:n,...a,stream:l,tool_choice:a.tools?"auto":void 0}});if(l){let[i,o]=(await e.asBrowserStream()).body.tee();return"1"===eC.env.DEBUG_AZURE_AI_CHAT_COMPLETION&&L(o).catch(console.error),R(F(i.pipeThrough(z()),{callbacks:null==t?void 0:t.callback}),{headers:null==t?void 0:t.headers})}{let i=await e,o=J(i.body);return R(F(o,{callbacks:null==t?void 0:t.callback}),{headers:null==t?void 0:t.headers})}}catch(i){let e=i;e.code?"DeploymentNotFound"===e.code&&(e={...e,deployId:n}):e={cause:e.cause,message:e.message,name:e.name};let t=e.code?w.Y.ProviderBizError:w.Y.AgentRuntimeError;throw _.chat({endpoint:this.maskSensitiveUrl(this.baseURL),error:e,errorType:t,provider:h.l.Azure})}}constructor(e){if(this.maskSensitiveUrl=e=>e.replace(/^(https:\/\/)([^.]+)(\.cognitiveservices\.azure\.com\/.*)$/,(e,t,i,o)=>"".concat(t,"***").concat(o)),!(null==e?void 0:e.apiKey)||!(null==e?void 0:e.baseURL))throw _.createError(w.Y.InvalidProviderAPIKey);this.client=(0,ef.A)(null==e?void 0:e.baseURL,new eb.KL(null==e?void 0:e.apiKey)),this.baseURL=null==e?void 0:e.baseURL}}var e_=i(87358);let eT=Q({baseURL:"https://api.baichuan-ai.com/v1",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,temperature:i,tools:o,...n}=e,a=t?[...o||[],{type:"web_search",web_search:{enable:!0,search_mode:e_.env.BAICHUAN_SEARCH_MODE||"performance_first"}}]:o;return{...n,frequency_penalty:void 0,temperature:void 0!==i?i/2:void 0,tools:a}}},debug:{chatCompletion:()=>"1"===e_.env.DEBUG_BAICHUAN_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i;let n=o.find(t=>e.model.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.max_input_length,displayName:e.model_show_name,enabled:(null==n?void 0:n.enabled)||!1,functionCall:e.function_call,id:e.model,maxTokens:e.max_tokens,reasoning:(null==n?void 0:null===(t=n.abilities)||void 0===t?void 0:t.reasoning)||!1,vision:(null==n?void 0:null===(i=n.abilities)||void 0===i?void 0:i.vision)||!1}}).filter(Boolean)},provider:h.l.Baichuan});var eL=i(48395),ek=i(2882),eA=i(31735),eE=i(17466),ex=i(4970);let eP=async function*(e){for await(let t of e)if(t.chunk){let e=new TextDecoder().decode(t.chunk.bytes,{stream:!0});try{let t=JSON.parse(e);yield t}catch(t){console.log("bedrock stream parser error:",t),yield e}}else yield t},eO=e=>(0,ex.$V)(eP(e.body));var eI=i(63496);let eM=(e,t)=>{let i={id:"chat_"+(0,eI.Ak)()};return(e instanceof ReadableStream?e:eO(e)).pipeThrough(G(ed,i)).pipeThrough(q(t))},eS=(e,t)=>e.stop_reason?{data:"finished",id:t.id,type:"stop"}:{data:e.generation,id:t.id,type:"text"},eN=(e,t)=>{let i={id:"chat_"+(0,eI.Ak)()};return(e instanceof ReadableStream?e:eO(e)).pipeThrough(G(eS,i)).pipeThrough(q(t))};var eR=i(87358);class eU{async chat(e,t){return e.model.startsWith("meta")?this.invokeLlamaModel(e,t):this.invokeClaudeModel(e,t)}async embeddings(e,t){return Promise.all((Array.isArray(e.input)?e.input:[e.input]).map(i=>this.invokeEmbeddingModel({dimensions:e.dimensions,input:i,model:e.model},t)))}constructor({region:e,accessKeyId:t,accessKeySecret:i,sessionToken:o}={}){if(this.invokeEmbeddingModel=async(e,t)=>{let i=new eL.Z({accept:"application/json",body:JSON.stringify({dimensions:e.dimensions,inputText:e.input,normalize:!0}),contentType:"application/json",modelId:e.model});try{let e=await this.client.send(i,{abortSignal:null==t?void 0:t.signal});return JSON.parse(new TextDecoder().decode(e.body)).embedding}catch(e){throw _.chat({error:{body:e.$metadata,message:e.message,type:e.name},errorType:w.Y.ProviderBizError,provider:h.l.Bedrock,region:this.region})}},this.invokeClaudeModel=async(e,t)=>{let{max_tokens:i,messages:o,model:n,temperature:a,top_p:l,tools:r}=e,s=o.find(e=>"system"===e.role),d=o.filter(e=>"system"!==e.role),u=new ek.C({accept:"application/json",body:JSON.stringify({anthropic_version:"bedrock-2023-05-31",max_tokens:i||4096,messages:await er(d),system:null==s?void 0:s.content,temperature:a/2,tools:es(r),top_p:l}),contentType:"application/json",modelId:n}
1);try{let e=await this.client.send(u,{abortSignal:null==t?void 0:t.signal}),[i,o]=eO(e).tee();return"1"===eR.env.DEBUG_BEDROCK_CHAT_COMPLETION&&L(o).catch(console.error),R(eM(i,null==t?void 0:t.callback),{headers:null==t?void 0:t.headers})}catch(e){throw _.chat({error:{body:e.$metadata,message:e.message,type:e.name},errorType:w.Y.ProviderBizError,provider:h.l.Bedrock,region:this.region})}},this.invokeLlamaModel=async(e,t)=>{let{max_tokens:i,messages:o,model:n}=e,a=new ek.C({accept:"application/json",body:JSON.stringify({max_gen_len:i||400,prompt:(0,eE.$S)(o)}),contentType:"application/json",modelId:n});try{let e=await this.client.send(a),[i,o]=eO(e).tee();return"1"===eR.env.DEBUG_BEDROCK_CHAT_COMPLETION&&L(o).catch(console.error),R(eN(i,null==t?void 0:t.callback),{headers:null==t?void 0:t.headers})}catch(e){throw _.chat({error:{body:e.$metadata,message:e.message,region:this.region,type:e.name},errorType:w.Y.ProviderBizError,provider:h.l.Bedrock,region:this.region})}},!(t&&i))throw _.createError(w.Y.InvalidBedrockCredentials);this.region=null!=e?e:"us-east-1",this.client=new eA.m({credentials:{accessKeyId:t,secretAccessKey:i,sessionToken:o},region:this.region})}}class eB{parseChunk(e,t){let i=JSON.parse(e.replace(/^data: /,""));t.enqueue("event: text\n"),t.enqueue("data: ".concat(JSON.stringify(i.response),"\n\n"))}async transform(e,t){let i=this.textDecoder.decode(e);""!==this.buffer.trim()&&(i=this.buffer+i,this.buffer="");let o=i.split("\n\n");for(let e=0;e<o.length-1;e++){if(/\[DONE]/.test(o[e].trim()))return;this.parseChunk(o[e],t)}let n=o.at(-1);""!==n.trim()&&(this.buffer+=n)}constructor(){this.textDecoder=new TextDecoder,this.buffer=""}}let eH="https://api.cloudflare.com";function eD(e){return e.replace(/\/[\dA-Fa-f]{32}\//,"/****/")}function eW(e){let{protocol:t,hostname:i,port:o,pathname:n,search:a}=new URL(e);if(e.startsWith(eH))return"".concat(t,"//").concat(i).concat(o?":".concat(o):"").concat(eD(n)).concat(a);{let e=A("".concat(t,"//").concat(i).concat(o?":".concat(o):""));return e.endsWith("/")&&n.startsWith("/")&&(n=n.slice(1)),"".concat(e).concat(eD(n)).concat(a)}}var eG=i(87358);class eq{async chat(e,t){try{let i;let{model:o,tools:n,...a}=e,l=null==n?void 0:n.map(e=>e.function),r=(null==t?void 0:t.headers)||{};this.apiKey&&(r.Authorization="Bearer ".concat(this.apiKey));let s=new URL(o,this.baseURL),d=await fetch(s,{body:JSON.stringify({tools:l,...a}),headers:{"Content-Type":"application/json",...r},method:"POST",signal:null==t?void 0:t.signal}),u=eW(s.toString());if(400===d.status)throw _.chat({endpoint:u,error:d,errorType:w.Y.ProviderBizError,provider:h.l.Cloudflare});if("1"===eG.env.DEBUG_CLOUDFLARE_CHAT_COMPLETION){let[e,t]=d.body.tee();L(t).catch(),i=e}else i=d.body;return R(i.pipeThrough(new TransformStream(new eB)).pipeThrough(q(null==t?void 0:t.callback)),{headers:null==t?void 0:t.headers})}catch(t){let e=eW(this.baseURL);throw _.chat({endpoint:e,error:t,errorType:w.Y.ProviderBizError,provider:h.l.Cloudflare})}}async models(){let{LOBE_DEFAULT_MODEL_LIST:e}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),t="".concat(eH,"/client/v4/accounts/").concat(this.accountID,"/ai/models/search"),o=await fetch(t,{headers:{Authorization:"Bearer ".concat(this.apiKey),"Content-Type":"application/json"},method:"GET"});return(await o.json()).result.map(t=>{var i,o,n,a,l,r,s,d,u;let c=e.find(e=>t.name.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:(null===(i=t.properties)||void 0===i?void 0:i.max_total_tokens)?Number(t.properties.max_total_tokens):null!==(d=null==c?void 0:c.contextWindowTokens)&&void 0!==d?d:void 0,displayName:null!==(u=null==c?void 0:c.displayName)&&void 0!==u?u:(null===(o=t.properties)||void 0===o?void 0:o.beta)==="true"?"".concat(t.name," (Beta)"):void 0,enabled:(null==c?void 0:c.enabled)||!1,functionCall:t.description.toLowerCase().includes("function call")||(null===(n=t.properties)||void 0===n?void 0:n.function_calling)==="true"||(null==c?void 0:null===(a=c.abilities)||void 0===a?void 0:a.functionCall)||!1,id:t.name,reasoning:t.name.toLowerCase().includes("deepseek-r1")||(null==c?void 0:null===(l=c.abilities)||void 0===l?void 0:l.reasoning)||!1,vision:t.name.toLowerCase().includes("vision")||(null===(r=t.task)||void 0===r?void 0:r.name.toLowerCase().includes("image-to-text"))||t.description.toLowerCase().includes("vision")||(null==c?void 0:null===(s=c.abilities)||void 0===s?void 0:s.vision)||!1}}
1).filter(Boolean)}constructor({apiKey:e,baseURLOrAccountID:t}={}){if(!t)throw _.createError(w.Y.InvalidProviderAPIKey);if(t.startsWith("http"))this.baseURL=t.endsWith("/")?t:t+"/",this.accountID=t.replaceAll(/^.*\/([\dA-Fa-f]{32})\/.*$/g,"$1");else{if(!e)throw _.createError(w.Y.InvalidProviderAPIKey);this.accountID=t,this.baseURL="".concat(eH,"/client/v4/accounts/").concat(t,"/ai/run/")}this.apiKey=e}}var eK=i(87358);let eY=Q({baseURL:"https://api.deepseek.com/v1",chatCompletion:{handlePayload:e=>{let{frequency_penalty:t,messages:i,model:o,presence_penalty:n,temperature:a,top_p:l,...r}=e,s=i.filter(e=>"system"!==e.role);s.length>0&&"assistant"===s[0].role&&s.unshift({content:"",role:"user"});let d="";for(let e=0;e<s.length;e++){let t=s[e];if(t.role===d){let t="assistant"===d?"user":"assistant";s.splice(e,0,{content:"",role:t}),e++}d=t.role}return i.length>0&&"system"===i[0].role&&s.unshift(i[0]),{...r,model:o,..."deepseek-reasoner"===o?{frequency_penalty:void 0,messages:s,presence_penalty:void 0,temperature:void 0,top_p:void 0}:{frequency_penalty:t,messages:i,presence_penalty:n,temperature:a,top_p:l}}}},debug:{chatCompletion:()=>"1"===eK.env.DEBUG_DEEPSEEK_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:!e.id.toLowerCase().includes("reasoner")||(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:e.id.toLowerCase().includes("reasoner")||(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.DeepSeek});var ez=i(87358);let ej=Q({baseURL:"https://api.fireworks.ai/inference/v1",debug:{chatCompletion:()=>"1"===ez.env.DEBUG_FIREWORKSAI_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek-r1","qwq"];return(await t.models.list()).data.map(e=>{var t,i;let a=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.context_length,displayName:null!==(i=null==a?void 0:a.displayName)&&void 0!==i?i:void 0,enabled:(null==a?void 0:a.enabled)||!1,functionCall:e.supports_tools||e.id.toLowerCase().includes("function"),id:e.id,reasoning:n.some(t=>e.id.toLowerCase().includes(t))||(null==a?void 0:null===(t=a.abilities)||void 0===t?void 0:t.reasoning)||!1,vision:e.supports_image_input}}).filter(Boolean)},provider:h.l.FireworksAI});var eF=i(87358);let eV=Q({baseURL:"https://ai.gitee.com/v1",debug:{chatCompletion:()=>"1"===eF.env.DEBUG_GITEE_AI_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["qwen2.5","glm-4"],a=["internvl","qwen2-vl"],l=["deepseek-r1","qwq"];return(await t.models.list()).data.map(e=>{var t,i,r,s,d;let u=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(s=null==u?void 0:u.contextWindowTokens)&&void 0!==s?s:void 0,displayName:null!==(d=null==u?void 0:u.displayName)&&void 0!==d?d:void 0,enabled:(null==u?void 0:u.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))&&!e.id.toLowerCase().includes("qwen2.5-coder")||(null==u?void 0:null===(t=u.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:l.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(i=u.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(r=u.abilities)||void 0===r?void 0:r.vision)||!1}}).filter(Boolean)},provider:h.l.GiteeAI});var eJ=i(87358);let eQ=Q({baseURL:"https://models.inference.ai.azure.com",chatCompletion:{handlePayload:e=>{var t;let{model:i}=e;return i.startsWith("o1")||i.startsWith("o3")?{...N(e),stream:!1}
1:{...e,stream:null===(t=e.stream)||void 0===t||t}}},debug:{chatCompletion:()=>"1"===eJ.env.DEBUG_GITHUB_CHAT_COMPLETION},errorType:{bizError:w.Y.ProviderBizError,invalidAPIKey:w.Y.InvalidGithubToken},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["function","tool"],a=["vision"],l=["deepseek-r1","o1","o3"];return(await t.models.list()).body.map(e=>{var t,i,r,s;let d=o.find(t=>e.name.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(s=null==d?void 0:d.contextWindowTokens)&&void 0!==s?s:void 0,description:e.description,displayName:e.friendly_name,enabled:(null==d?void 0:d.enabled)||!1,functionCall:n.some(t=>e.description.toLowerCase().includes(t))||(null==d?void 0:null===(t=d.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.name,reasoning:l.some(t=>e.name.toLowerCase().includes(t))||(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.description.toLowerCase().includes(t))||(null==d?void 0:null===(r=d.abilities)||void 0===r?void 0:r.vision)||!1}}).filter(Boolean)},provider:h.l.Github});var eX=i(58661),e$=i(54583);let eZ=(e,t)=>{let i=e.candidates;if(!i)return{data:"",id:null==t?void 0:t.id,type:"text"};let o=i[0];if(o.content){let e=o.content.parts[0];if(e.functionCall){let i=e.functionCall;return{data:[{function:{arguments:JSON.stringify(i.args),name:i.name},id:B(0,i.name),index:0,type:"function"}],id:null==t?void 0:t.id,type:"tool_calls"}}return{data:e.text,id:null==t?void 0:t.id,type:"text"}}return{data:"",id:null==t?void 0:t.id,type:"stop"}},e0=(e,t)=>{let i={id:"chat_"+(0,eI.Ak)()};return e.pipeThrough(G(eZ,i)).pipeThrough(q(t))},e1=(e,t)=>{var i,o,n,a,l,r;let s=null===(i=e.functionCalls)||void 0===i?void 0:i.call(e);if(s)return{data:s.map((e,t)=>({function:{arguments:JSON.stringify(e.args),name:e.name},id:B(t,e.name),index:t,type:"function"})),id:t.id,type:"tool_calls"};let d=null===(o=e.text)||void 0===o?void 0:o.call(e);if(e.candidates){let i=e.candidates[0];if(i.groundingMetadata){let{webSearchQueries:e,groundingChunks:o}=i.groundingMetadata;return[{data:d,id:t.id,type:"text"},{data:{citations:null==o?void 0:o.map(e=>{var t,i,o;return{favicon:null===(t=e.web)||void 0===t?void 0:t.title,title:null===(i=e.web)||void 0===i?void 0:i.title,url:null===(o=e.web)||void 0===o?void 0:o.uri}}),searchQueries:e},id:t.id,type:"grounding"}]}if(i.finishReason){if(e.usageMetadata){let o=e.usageMetadata;return[d?{data:d,id:null==t?void 0:t.id,type:"text"}:void 0,{data:i.finishReason,id:null==t?void 0:t.id,type:"stop"},{data:{inputImageTokens:null===(a=o.promptTokensDetails)||void 0===a?void 0:null===(n=a.find(e=>"IMAGE"===e.modality))||void 0===n?void 0:n.tokenCount,inputTextTokens:null===(r=o.promptTokensDetails)||void 0===r?void 0:null===(l=r.find(e=>"TEXT"===e.modality))||void 0===l?void 0:l.tokenCount,totalInputTokens:o.promptTokenCount,totalOutputTokens:o.candidatesTokenCount,totalTokens:o.totalTokenCount},id:null==t?void 0:t.id,type:"usage"}].filter(Boolean)}return{data:i.finishReason,id:null==t?void 0:t.id,type:"stop"}}if(null==d?void 0:d.trim())return{data:d,id:null==t?void 0:t.id,type:"text"};if(Array.isArray(i.content.parts)&&i.content.parts.length>0){let e=i.content.parts[0];if(e&&e.inlineData&&e.inlineData.data&&e.inlineData.mimeType)return{data:"data:".concat(e.inlineData.mimeType,";base64,").concat(e.inlineData.data),id:t.id,type:"base64_image"}}}return{data:d,id:null==t?void 0:t.id,type:"text"}},e5=(e,t)=>{let i={id:"chat_"+(0,eI.Ak)()};return e.pipeThrough(G(e1,i)).pipeThrough(q(t))};var e2=i(87358);let e3=new Set(["gemini-2.0-flash-exp"]),e9=new Set(["gemini-2.0-flash-exp","gemini-2.0-flash-exp-image-generation"]),e8=new Set(["gemini-2.0-flash-exp","gemini-2.0-flash-exp-image-generation"]);var e4=function(e){return e.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",e.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",e.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",e.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",e}(e4||{}),e6=function(e){return e.BLOCK_NONE="BLOCK_NONE",e}(e6||{});function e7(e){return e3.has(e)?"OFF":"BLOCK_NONE"}class te{async chat(e,t){try{let i=this.buildPayload(e),o=i.model,n=await this.buildGoogleMessages(i.messages),a=await this.client.getGenerativeModel({generationConfig:{maxOutputTokens:i.max_tokens,response_modalities:e9.has(o)?["Text","Image"]:void 0,temperature:i.temperature,topP:i.top_p},model:o,safetySettings:[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:e7(o)},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:e7(o)},{category:"HARM_CATEGORY_HARASSMENT",threshold:e7(o)},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:e7(o)}]},{apiVersion:"v1beta",baseUrl:this.baseURL}
1).generateContentStream({contents:n,systemInstruction:e8.has(o)?void 0:i.system,tools:this.buildGoogleTools(i.tools,i)}),[l,r]=W(a.stream).tee(),s=this.isVertexAi?"DEBUG_VERTEX_AI_CHAT_COMPLETION":"DEBUG_GOOGLE_CHAT_COMPLETION";"1"===e2.env[s]&&L(r).catch();let d=(this.isVertexAi?e0:e5)(l,null==t?void 0:t.callback);return R(d,{headers:null==t?void 0:t.headers})}catch(i){console.log(i);let{errorType:e,error:t}=this.parseErrorMessage(i.message);throw _.chat({error:t,errorType:e,provider:this.provider})}}async models(){let{LOBE_DEFAULT_MODEL_LIST:e}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),t="".concat(this.baseURL,"/v1beta/models?key=").concat(this.apiKey),o=await fetch(t,{method:"GET"});return(await o.json()).models.map(t=>{var i,o,n;let a=t.name.replace(/^models\//,""),l=e.find(e=>a.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:t.inputTokenLimit+t.outputTokenLimit,displayName:t.displayName,enabled:(null==l?void 0:l.enabled)||!1,functionCall:a.toLowerCase().includes("gemini")&&!a.toLowerCase().includes("thinking")||(null==l?void 0:null===(i=l.abilities)||void 0===i?void 0:i.functionCall)||!1,id:a,reasoning:a.toLowerCase().includes("thinking")||(null==l?void 0:null===(o=l.abilities)||void 0===o?void 0:o.reasoning)||!1,vision:a.toLowerCase().includes("vision")||a.toLowerCase().includes("gemini")&&!a.toLowerCase().includes("gemini-1.0")||(null==l?void 0:null===(n=l.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)}buildPayload(e){let t=e.messages.find(e=>"system"===e.role),i=e.messages.filter(e=>"system"!==e.role);return{...e,messages:i,system:null==t?void 0:t.content}}parseErrorMessage(e){let t={error:{message:e},errorType:w.Y.ProviderBizError};if(e.includes("location is not supported"))return{error:{message:e},errorType:w.Y.LocationNotSupportError};let i=e.lastIndexOf("[");if(-1===i)return t;try{let o=e.slice(i),n=JSON.parse(o);if("API_KEY_INVALID"===n[0].reason)return{...t,errorType:w.Y.InvalidProviderAPIKey};return{error:n,errorType:w.Y.ProviderBizError}}catch(e){}let{errorDetails:o}=this.extractErrorObjectFromError(e);return o?{error:o,errorType:w.Y.ProviderBizError}:t}buildGoogleTools(e,t){return(null==t?void 0:t.enabledSearch)?[{googleSearch:{}}]:e&&0!==e.length?[{functionDeclarations:e.map(e=>this.convertToolToGoogleTool(e))}]:void 0}extractErrorObjectFromError(e){let t=e.match(/^(.*?)(\[\d+ [^\]]+])(.*)$/);if(t){let e=t[1].trim(),i=t[2].trim(),o=t[3].trim(),n=i.match(/\[(\d+)/);return{errorDetails:{message:o,statusCode:n?parseInt(n[1]):null,statusCodeText:i},prefix:e}}return{errorDetails:null,prefix:e}}constructor({apiKey:e,baseURL:t,client:i,isVertexAi:o,id:n}={}){if(this.convertContentToGooglePart=async e=>{switch(e.type){default:return;case"text":return{text:e.text};case"image_url":{let{mimeType:t,base64:i,type:o}=(0,O.W)(e.image_url.url);if("base64"===o){if(!i)throw TypeError("Image URL doesn't contain base64 data");return{inlineData:{data:i,mimeType:t||"image/png"}}}if("url"===o){let{base64:t,mimeType:i}=await (0,P.h)(e.image_url.url);return{inlineData:{data:t,mimeType:i}}}throw TypeError("currently we don't support image url: ".concat(e.image_url.url))}}},this.convertOAIMessagesToGoogleMessage=async e=>{let t=e.content;if(e.tool_calls)return{parts:e.tool_calls.map(e=>({functionCall:{args:(0,e$.N)(e.function.arguments),name:e.function.name}})),role:"function"};let i=async()=>"string"==typeof t?[{text:t}]:(await Promise.all(t.map(async e=>await this.convertContentToGooglePart(e)))).filter(Boolean);return{parts:await i(),role:"assistant"===e.role?"model":"user"}},this.buildGoogleMessages=async e=>Promise.all(e.filter(e=>"function"!==e.role).map(async e=>await this.convertOAIMessagesToGoogleMessage(e))),this.convertToolToGoogleTool=e=>{let t=e.function,i=t.parameters,o=(null==i?void 0:i.properties)&&Object.keys(i.properties).length>0?i.properties:{dummy:{type:"string"}};return{description:t.description,name:t.name,parameters:{description:null==i?void 0:i.description,properties:o,required:null==i?void 0:i.required,type:eX._L.OBJECT}}},!e)throw _.createError(w.Y.InvalidProviderAPIKey);this.client=new eX.ij(e),this.apiKey=e,this.client=i||new eX.ij(e),this.baseURL=i?void 0:t||"https://generativelanguage.googleapis.com",this.isVertexAi=o||!1,this.provider=n||(o?"vertexai":"google")}}var tt=i(87358);let ti=Q({baseURL:"https://api.groq.com/openai/v1",chatCompletion:{handleError:e=>{if(403===e.status)return{error:e,errorType:w.Y.LocationNotSupportError}},handlePayload:e=>{let{temperature:t,...i}=e;return{...i,stream:!e.tools,temperature:t<=0?void 0:t}}},debug:{chatCompletion:()=>"1"===tt.env.DEBUG_GROQ_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}
1=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["tool","llama-3.3","llama-3.1","llama3-","mixtral-8x7b-32768","gemma2-9b-it"],a=["deepseek-r1"];return(await t.models.list()).data.map(e=>{var t,i,l,r;let s=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.context_window,displayName:null!==(r=null==s?void 0:s.displayName)&&void 0!==r?r:void 0,enabled:(null==s?void 0:s.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==s?void 0:null===(t=s.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:a.some(t=>e.id.toLowerCase().includes(t))||(null==s?void 0:null===(i=s.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.id.toLowerCase().includes("vision")||(null==s?void 0:null===(l=s.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.Groq});var to=i(30012),tn=i(87358);let ta=Q({constructorOptions:{defaultHeaders:{"HTTP-Referer":"https://chat-preview.lobehub.com","X-Title":"Lobe Chat","x-Request-Id":(0,to.A)("lobe-chat-")}},debug:{chatCompletion:()=>"1"===tn.env.DEBUG_HIGRESS_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n;let a=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.context_length,description:e.description,displayName:e.name,enabled:(null==a?void 0:a.enabled)||!1,functionCall:e.description.includes("function calling")||e.description.includes("tools")||(null==a?void 0:null===(t=a.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,maxTokens:e.top_provider.max_completion_tokens,reasoning:e.description.includes("reasoning")||(null==a?void 0:null===(i=a.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.description.includes("vision")||e.description.includes("multimodal")||e.id.includes("vision")||(null==a?void 0:null===(n=a.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.Higress});var tl=i(30117),tr=i(87358);let ts=Q({chatCompletion:{handleStreamBizErrorType:e=>{var t,i;return(null===(t=e.message)||void 0===t?void 0:t.includes("Model requires a Pro subscription"))?w.Y.PermissionDenied:(null===(i=e.message)||void 0===i?void 0:i.includes("the token seems invalid"))?w.Y.InvalidProviderAPIKey:void 0}},customClient:{createChatCompletionStream:(e,t,i)=>{let{max_tokens:o=4096}=t;return W(e.chatCompletionStream({endpointUrl:i.baseURL?(0,s.A)(i.baseURL,t.model):i.baseURL,max_tokens:o,messages:t.messages,model:t.model,stream:!0,temperature:t.temperature,top_p:(null==t?void 0:t.top_p)?(null==t?void 0:t.top_p)>=1?.99:(null==t?void 0:t.top_p)<=0?.01:null==t?void 0:t.top_p:void 0}))},createClient:e=>new tl.Uy(e.apiKey)},debug:{chatCompletion:()=>"1"===tr.env.DEBUG_HUGGINGFACE_CHAT_COMPLETION},models:async()=>{let{LOBE_DEFAULT_MODEL_LIST:e}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),t=["image-text-to-text","multimodal","vision"],o=["deepseek-r1","qvq","qwq"],n=await fetch("https://huggingface.co/api/models",{method:"GET"});return(await n.json()).map(i=>{var n,a,l,r,s;let d=e.find(e=>i.id.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:null!==(r=null==d?void 0:d.contextWindowTokens)&&void 0!==r?r:void 0,displayName:null!==(s=null==d?void 0:d.displayName)&&void 0!==s?s:void 0,enabled:(null==d?void 0:d.enabled)||!1,functionCall:i.tags.some(e=>e.toLowerCase().includes("function-calling"))||(null==d?void 0:null===(n=d.abilities)||void 0===n?void 0:n.functionCall)||!1,id:i.id,reasoning:i.tags.some(e=>e.toLowerCase().includes("reasoning"))||o.some(e=>i.id.toLowerCase().includes(e))||(null==d?void 0:null===(a=d.abilities)||void 0===a?void 0:a.reasoning)||!1,vision:i.tags.some(e=>t.some(t=>e.toLowerCase().includes(t)))||(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.HuggingFace});var td=i(87358);let tu=Q({baseURL:"https://api.hunyuan.cloud.tencent.com/v1",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,...i}=e;return{...i,stream:!0,...t&&{citation:!0,enable_enhancement:!0,enable_speed_search:"1"===td.env.HUNYUAN_ENABLE_SPEED_SEARCH,search_info:!0}}}},debug:{chatCompletion:()=>"1"===td.env.DEBUG_HUNYUAN_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}
1=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["hunyuan-functioncall","hunyuan-turbo","hunyuan-pro"];return(await t.models.list()).data.map(e=>{var t,i,a,l,r;let s=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(l=null==s?void 0:s.contextWindowTokens)&&void 0!==l?l:void 0,displayName:null!==(r=null==s?void 0:s.displayName)&&void 0!==r?r:void 0,enabled:(null==s?void 0:s.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))&&!e.id.toLowerCase().includes("vision")||(null==s?void 0:null===(t=s.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==s?void 0:null===(i=s.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.id.toLowerCase().includes("vision")||(null==s?void 0:null===(a=s.abilities)||void 0===a?void 0:a.vision)||!1}}).filter(Boolean)},provider:h.l.Hunyuan});var tc=i(87358);let tv=Q({baseURL:"https://internlm-chat.intern-ai.org.cn/puyu/api/v1",chatCompletion:{handlePayload:e=>({...e,stream:!e.tools})},debug:{chatCompletion:()=>"1"===tc.env.DEBUG_INTERNLM_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.InternLM});var tp=i(87358);let tm=Q({baseURL:"https://deepsearch.jina.ai/v1",debug:{chatCompletion:()=>"1"===tp.env.DEBUG_JINA_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepsearch"];return(await t.models.list()).data.map(e=>{var t,i,a,l,r;let s=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(l=null==s?void 0:s.contextWindowTokens)&&void 0!==l?l:void 0,displayName:null!==(r=null==s?void 0:s.displayName)&&void 0!==r?r:void 0,enabled:(null==s?void 0:s.enabled)||!1,functionCall:(null==s?void 0:null===(t=s.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:n.some(t=>e.id.toLowerCase().includes(t))||(null==s?void 0:null===(i=s.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==s?void 0:null===(a=s.abilities)||void 0===a?void 0:a.vision)||!1}}).filter(Boolean)},provider:h.l.Jina});var th=i(87358);let tg=Q({apiKey:"placeholder-to-avoid-error",baseURL:"http://127.0.0.1:1234/v1",debug:{chatCompletion:()=>"1"===th.env.DEBUG_LMSTUDIO_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.LMStudio});var ty=i(32492),tf=i(87358);let tb=e=>{let t=ty.default.find(t=>t.id===e);return t?t.maxOutput:void 0},tC=Q({baseURL:"https://api.minimax.chat/v1",chatCompletion:{handlePayload:e=>{let{max_tokens:t,temperature:i,top_p:o,...n}=e;return{...n,frequency_penalty:void 0,max_tokens:void 0!==t?t:tb(e.model),presence_penalty:void 0,temperature:void 0===i||i<=0?void 0:i/2,top_p:void 0!==o&&o>0&&o<=1?o:void 0}}},debug:{chatCompletion:()=>"1"===tf.env.DEBUG_MINIMAX_CHAT_COMPLETION},provider:h.l.Minimax});var tw=i(87358);let t_=Q({baseURL:"https://api.mistral.ai/v1",chatCompletion:{excludeUsage:!0,handlePayload:e=>({...void 0!==e.max_tokens&&{max_tokens:e.max_tokens}
1,messages:e.messages,model:e.model,stream:!0,temperature:void 0!==e.temperature?e.temperature/2:void 0,...e.tools&&{tools:e.tools},top_p:e.top_p}),noUserId:!0},debug:{chatCompletion:()=>"1"===tw.env.DEBUG_MISTRAL_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i;let n=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.max_context_length,description:e.description,displayName:null!==(i=null==n?void 0:n.displayName)&&void 0!==i?i:void 0,enabled:(null==n?void 0:n.enabled)||!1,functionCall:e.capabilities.function_calling,id:e.id,reasoning:(null==n?void 0:null===(t=n.abilities)||void 0===t?void 0:t.reasoning)||!1,vision:e.capabilities.vision}}).filter(Boolean)},provider:h.l.Mistral});var tT=i(87358);let tL=Q({baseURL:"https://api.moonshot.cn/v1",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,temperature:i,tools:o,...n}=e,a=t?[...o||[],{function:{name:"$web_search"},type:"builtin_function"}]:o;return{...n,temperature:void 0!==i?i/2:void 0,tools:a}}},debug:{chatCompletion:()=>"1"===tT.env.DEBUG_MOONSHOT_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["moonshot-v1","kimi-latest"],a=["kimi-latest","vision"];return(await t.models.list()).data.map(e=>{var t,i,l,r,s;let d=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(r=null==d?void 0:d.contextWindowTokens)&&void 0!==r?r:void 0,displayName:null!==(s=null==d?void 0:d.displayName)&&void 0!==s?s:void 0,enabled:(null==d?void 0:d.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(t=d.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.Moonshot});var tk=i(87358);let tA=Q({baseURL:"https://api.novita.ai/v3/openai",constructorOptions:{defaultHeaders:{"X-Novita-Source":"lobechat"}},debug:{chatCompletion:()=>"1"===tk.env.DEBUG_NOVITA_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek-r1"];return(await t.models.list()).data.map(e=>{var t,i,a;let l=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.context_size,description:e.description,displayName:e.title,enabled:(null==l?void 0:l.enabled)||!1,functionCall:e.description.toLowerCase().includes("function calling")||(null==l?void 0:null===(t=l.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:e.description.toLowerCase().includes("reasoning task")||n.some(t=>e.id.toLowerCase().includes(t))||(null==l?void 0:null===(i=l.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.description.toLowerCase().includes("vision")||(null==l?void 0:null===(a=l.abilities)||void 0===a?void 0:a.vision)||!1}}).filter(Boolean)},provider:h.l.Novita});var tE=i(87358);let tx=Q({baseURL:"https://integrate.api.nvidia.com/v1",debug:{chatCompletion:()=>"1"===tE.env.DEBUG_NVIDIA_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}
1).filter(Boolean)},provider:h.l.Nvidia});var tP=i(79330);let tO=(e,t)=>e.done&&!e.message.content?{data:"finished",id:t.id,type:"stop"}:e.message.tool_calls&&e.message.tool_calls.length>0?{data:e.message.tool_calls.map((e,t)=>{var i,o,n,a,l;return{function:{arguments:null!==(a=JSON.stringify(null===(i=e.function)||void 0===i?void 0:i.arguments))&&void 0!==a?a:"{}",name:null!==(l=null===(o=e.function)||void 0===o?void 0:o.name)&&void 0!==l?l:null},id:B(t,null===(n=e.function)||void 0===n?void 0:n.name),index:t,type:"function"}}),id:t.id,type:"tool_calls"}:{data:e.message.content,id:t.id,type:"text"},tI=(e,t)=>{let i={id:"chat_"+(0,eI.Ak)()};return e.pipeThrough(G(tO,i)).pipeThrough(q(t))};var tM=i(87358);class tS{async chat(e,t){var i,o;try{let o=()=>{var e;this.client.abort(),null==t||null===(e=t.signal)||void 0===e||e.removeEventListener("abort",o)};null==t||null===(i=t.signal)||void 0===i||i.addEventListener("abort",o);let n=await this.client.chat({messages:this.buildOllamaMessages(e.messages),model:e.model,options:{frequency_penalty:e.frequency_penalty,presence_penalty:e.presence_penalty,temperature:void 0!==e.temperature?e.temperature/2:void 0,top_p:e.top_p},stream:!0,tools:e.tools}),[a,l]=W(n).tee();return"1"===tM.env.DEBUG_OLLAMA_CHAT_COMPLETION&&L(l).catch(console.error),R(tI(a,null==t?void 0:t.callback),{headers:null==t?void 0:t.headers})}catch(e){throw _.chat({error:{..."string"!=typeof e.error?e.error:void 0,message:String((null===(o=e.error)||void 0===o?void 0:o.message)||e.message),name:e.name,status_code:e.status_code},errorType:w.Y.OllamaBizError,provider:h.l.Ollama})}}async embeddings(e){let t=(Array.isArray(e.input)?e.input:[e.input]).map(t=>this.invokeEmbeddingModel({dimensions:e.dimensions,input:t,model:e.model}));return await Promise.all(t)}async models(){let{LOBE_DEFAULT_MODEL_LIST:e}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await this.client.list()).models.map(t=>{var i,o,n,a,l;let r=e.find(e=>t.name.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.functionCall)||!1,id:t.name,reasoning:(null==r?void 0:null===(o=r.abilities)||void 0===o?void 0:o.functionCall)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.functionCall)||!1}}).filter(Boolean)}buildOllamaMessages(e){return e.map(e=>this.convertContentToOllamaMessage(e))}constructor({baseURL:e}={}){this.invokeEmbeddingModel=async e=>{try{return(await this.client.embeddings({model:e.model,prompt:e.input})).embedding}catch(e){throw _.chat({error:{message:e.message,name:e.name,status_code:e.status_code},errorType:w.Y.OllamaBizError,provider:h.l.Ollama})}},this.convertContentToOllamaMessage=e=>{if("string"==typeof e.content)return{content:e.content,role:e.role};let t={content:"",role:e.role};for(let o of e.content)switch(o.type){case"text":t.content=o.text;break;case"image_url":{let{base64:e}=(0,O.W)(o.image_url.url);if(e){var i;null!==(i=t.images)&&void 0!==i||(t.images=[]),t.images.push(e)}}}return t};try{e&&new URL(e)}catch(e){throw _.createError(w.Y.InvalidOllamaArgs,e)}this.client=new tP.n(e?{host:e}:void 0),e&&(this.baseURL=e)}}var tN=i(87358);let tR=e=>{if("-1"!==e)return Number((1e6*Number(e)).toPrecision(5))},tU=Q({baseURL:"https://openrouter.ai/api/v1",chatCompletion:{handlePayload:e=>{var t;let{thinking:i}=e,o={};return(null==i?void 0:i.type)==="enabled"&&(o={max_tokens:i.budget_tokens}),{...e,model:e.enabledSearch?"".concat(e.model,":online"):e.model,reasoning:o,stream:null===(t=e.stream)||void 0===t||t}}},constructorOptions:{defaultHeaders:{"HTTP-Referer":"https://chat-preview.lobehub.com","X-Title":"Lobe Chat"}}
1,debug:{chatCompletion:()=>"1"===tN.env.DEBUG_OPENROUTER_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek/deepseek-r1","openai/o1","openai/o3","qwen/qvq","qwen/qwq","thinking"],a=(await t.models.list()).data,l=await fetch("https://openrouter.ai/api/frontend/models"),r=[];if(l.ok){let e=await l.json();r.push(...e.data)}return a.map(e=>{var t,i,a,l,s;let d=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase()),u=r.find(t=>t.slug.toLowerCase()===e.id.toLowerCase());return{contextWindowTokens:e.context_length,description:e.description,displayName:e.name,enabled:(null==d?void 0:d.enabled)||!1,functionCall:e.description.includes("function calling")||e.description.includes("tools")||(null==u?void 0:null===(t=u.endpoint)||void 0===t?void 0:t.supports_tool_parameters)||(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.functionCall)||!1,id:e.id,maxTokens:"number"==typeof e.top_provider.max_completion_tokens?e.top_provider.max_completion_tokens:void 0,pricing:{input:tR(e.pricing.prompt),output:tR(e.pricing.completion)},reasoning:n.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(a=u.endpoint)||void 0===a?void 0:a.supports_reasoning)||(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.reasoning)||!1,releasedAt:new Date(1e3*e.created).toISOString().split("T")[0],vision:e.architecture.modality.includes("image")||(null==d?void 0:null===(s=d.abilities)||void 0===s?void 0:s.vision)||!1}}).filter(Boolean)},provider:h.l.OpenRouter});var tB=i(87358);let tH=Q({baseURL:"https://api.perplexity.ai",chatCompletion:{handlePayload:e=>{let{presence_penalty:t,frequency_penalty:i,stream:o=!0,temperature:n,...a}=e;return{...a,...0!==t?{presence_penalty:t}:{frequency_penalty:i||1},stream:o,temperature:n>=2?void 0:n}}},debug:{chatCompletion:()=>"1"===tB.env.DEBUG_PERPLEXITY_CHAT_COMPLETION},provider:h.l.Perplexity});var tD=i(87358);let tW=Q({baseURL:"https://api.ppinfra.com/v3/openai",constructorOptions:{defaultHeaders:{"X-API-Source":"lobechat"}},debug:{chatCompletion:()=>"1"===tD.env.DEBUG_PPIO_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek-r1"];return(await t.models.list()).data.map(e=>{var t,i,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:e.context_size,description:e.description,displayName:(null===(t=e.display_name)||void 0===t?void 0:t.replace("("," (").replace(")",")").replace("	",""))||e.title||e.id,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.functionCall)||!1,id:e.id,reasoning:n.some(t=>e.id.toLowerCase().includes(t))||(null==r?void 0:null===(a=r.abilities)||void 0===a?void 0:a.reasoning)||!1,vision:e.description.toLowerCase().includes("视觉")||(null==r?void 0:null===(l=r.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.PPIO}),tG=e=>{var t,i,o,n;let a=e.choices[0];return a?Array.isArray(null===(t=a.delta)||void 0===t?void 0:t.content)?{data:(e=>{let[t,i]=Object.entries(e)[0];return"image"===t?{text:"![image](".concat(i,")"),type:"text"}:{text:i,type:"text"}})(a.delta.content[0]).text,id:e.id,type:"text"}:(null===(i=a.delta)||void 0===i?void 0:i.tool_calls)?{data:a.delta.tool_calls.map((e,t)=>{var i;return{function:e.function,id:e.id||B(t,null===(i=e.function)||void 0===i?void 0:i.name),index:void 0!==e.index?e.index:t,type:e.type||"function"}}),id:e.id,type:"tool_calls"}:a.delta&&"reasoning_content"in a.delta&&"string"==typeof a.delta.reasoning_content&&""!==a.delta.reasoning_content?{data:a.delta.reasoning_content,id:e.id,type:"reasoning"}:"string"==typeof(null===(o=a.delta)||void 0===o?void 0:o.content)?{data:a.delta.content,id:e.id,type:"text"}:a.finish_reason?{data:a.finish_reason,id:e.id,type:"stop"}:(null===(n=a.delta)||void 0===n?void 0:n.content)===null?{data:a.delta,id:e.id,type:"data"}:{data:{delta:a.delta,id:e.id,index:a.index},id:e.id,type:"data"}:{data:e,id:e.id,type:"data"}};var tq=i(87358);let tK=new Set(["qwen-72b-chat","qwen-14b-chat","qwen-7b-chat","qwen-1.8b-chat","qwen-1.8b-longcontext-chat"]),tY=Q({baseURL:"https://dashscope.aliyuncs.com/compatible-mode/v1",chatCompletion:{handlePayload:e=>{let{model:t,presence_penalty:i,temperature:o,top_p:n,enabledSearch:a,...l}=e;return{...l,frequency_penalty:void 0,model:t,presence_penalty:tK.has(t)?void 0:void 0!==i&&i>=-2&&i<=2?i:void 0,stream:!0,temperature:void 0!==o&&o>=0&&o<2?o:void 0,...t.startsWith("qvq")||t.startsWith("qwen-vl")?{top_p:void 0!==n&&n>0&&n<=1?n:void 0}:{top_p:void 0!==n&&n>0&&n<1?n:void 0},...a&&{enable_search:a,search_options:{search_strategy:tq.env.QWEN_SEARCH_STRATEGY||"standard"}},...e.tools&&{parallel_tool_calls:!0}}},handleStream:(e,t)=>(e instanceof ReadableStream?e:W(e)).pipeThrough(G(tG)).pipeThrough(q(t))},debug:{chatCompletion:()=>"1"===tq.env.DEBUG_QWEN_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}
1=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["qwen-max","qwen-plus","qwen-turbo","qwen2.5"],a=["qvq","vl"],l=["qvq","qwq","deepseek-r1"];return(await t.models.list()).data.map(e=>{var t,i,r,s,d;let u=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(s=null==u?void 0:u.contextWindowTokens)&&void 0!==s?s:void 0,displayName:null!==(d=null==u?void 0:u.displayName)&&void 0!==d?d:void 0,enabled:(null==u?void 0:u.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(t=u.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:l.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(i=u.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(r=u.abilities)||void 0===r?void 0:r.vision)||!1}}).filter(Boolean)},provider:h.l.Qwen});var tz=i(87358);let tj=Q({baseURL:"https://api.sambanova.ai/v1",debug:{chatCompletion:()=>"1"===tz.env.DEBUG_SAMBANOVA_CHAT_COMPLETION},provider:h.l.SambaNova});var tF=i(87358);let tV=Q({baseURL:"https://api.sensenova.cn/compatible-mode/v1",chatCompletion:{handlePayload:e=>{let{frequency_penalty:t,temperature:i,top_p:o,...n}=e;return{...n,frequency_penalty:void 0!==t&&t>0&&t<=2?t:void 0,stream:!0,temperature:void 0!==i&&i>0&&i<=2?i:void 0,top_p:void 0!==o&&o>0&&o<1?o:void 0}}},debug:{chatCompletion:()=>"1"===tF.env.DEBUG_SENSENOVA_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek-v3","sensechat-5"],a=["deepseek-r1"];return t.baseURL="https://api.sensenova.cn/v1/llm",(await t.models.list()).data.map(e=>{var t,i,l,r,s;let d=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(r=null==d?void 0:d.contextWindowTokens)&&void 0!==r?r:void 0,displayName:null!==(s=null==d?void 0:d.displayName)&&void 0!==s?s:void 0,enabled:(null==d?void 0:d.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(t=d.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:a.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.id.toLowerCase().includes("vision")||(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.SenseNova});var tJ=i(87358);let tQ=Q({baseURL:"https://api.siliconflow.cn/v1",chatCompletion:{handleError:e=>{let t;if(e instanceof Response?t=e:"status"in e&&(t=e),t){if(401===t.status)return{error:t.status,errorType:w.Y.InvalidProviderAPIKey};if(403===t.status)return{error:t.status,errorType:w.Y.ProviderBizError,message:"请检查 API Key 余额是否充足,或者是否在用未实名的 API Key 访问需要实名的模型。"}}return{error:e}},handlePayload:e=>
1({...e,stream:!e.tools})},debug:{chatCompletion:()=>"1"===tJ.env.DEBUG_SILICONCLOUD_CHAT_COMPLETION},errorType:{bizError:w.Y.ProviderBizError,invalidAPIKey:w.Y.InvalidProviderAPIKey},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["qwen/qwen2.5","thudm/glm-4","deepseek-ai/deepseek","internlm/internlm2_5","meta-llama/meta-llama-3.1","meta-llama/meta-llama-3.3"],a=["opengvlab/internvl","qwen/qvq","qwen/qwen2-vl","teleai/telemm","deepseek-ai/deepseek-vl"],l=["deepseek-ai/deepseek-r1","qwen/qvq","qwen/qwq"];return(await t.models.list()).data.map(e=>{var t,i,r,s,d;let u=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(s=null==u?void 0:u.contextWindowTokens)&&void 0!==s?s:void 0,displayName:null!==(d=null==u?void 0:u.displayName)&&void 0!==d?d:void 0,enabled:(null==u?void 0:u.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))&&!e.id.toLowerCase().includes("deepseek-r1")||(null==u?void 0:null===(t=u.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:l.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(i=u.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))||(null==u?void 0:null===(r=u.abilities)||void 0===r?void 0:r.vision)||!1}}).filter(Boolean)},provider:h.l.SiliconCloud}),tX=e=>{var t,i,o,n;let a=e.choices[0];if(!a)return{data:e,id:e.id,type:"data"};if(null===(t=a.delta)||void 0===t?void 0:t.tool_calls){let t=Array.isArray(a.delta.tool_calls)?a.delta.tool_calls:[a.delta.tool_calls];if(t.length>0)return{data:t.map((e,t)=>{var i;return{function:e.function,id:e.id||B(t,null===(i=e.function)||void 0===i?void 0:i.name),index:void 0!==e.index?e.index:t,type:e.type||"function"}}),id:e.id,type:"tool_calls"}}return a.finish_reason?"string"==typeof(null===(n=a.delta)||void 0===n?void 0:n.content)&&a.delta.content?{data:a.delta.content,id:e.id,type:"text"}:{data:a.finish_reason,id:e.id,type:"stop"}:"string"==typeof(null===(i=a.delta)||void 0===i?void 0:i.content)?{data:a.delta.content,id:e.id,type:"text"}:(null===(o=a.delta)||void 0===o?void 0:o.content)===null?{data:a.delta,id:e.id,type:"data"}:{data:{delta:a.delta,id:e.id,index:a.index},id:e.id,type:"data"}};var t$=i(87358);let tZ=Q({baseURL:"https://spark-api-open.xf-yun.com/v1",chatCompletion:{handleStream:(e,t)=>(e instanceof ReadableStream?e:W(e)).pipeThrough(G(tX)).pipeThrough(q(t)),handleTransformResponseToStream:function(e){return new ReadableStream({start(t){let i={choices:e.choices.map(e=>{let t=e.message.tool_calls?Array.isArray(e.message.tool_calls)?e.message.tool_calls:[e.message.tool_calls]:[];return{delta:{content:e.message.content,role:e.message.role,tool_calls:t.map((e,t)=>({function:e.function,id:e.id,index:t,type:e.type}))},finish_reason:null,index:e.index,logprobs:e.logprobs}}),created:e.created,id:e.id,model:e.model,object:"chat.completion.chunk"};t.enqueue(i),t.enqueue({choices:e.choices.map(e=>({delta:{content:null,role:e.message.role},finish_reason:e.finish_reason,index:e.index,logprobs:e.logprobs})),created:e.created,id:e.id,model:e.model,object:"chat.completion.chunk",system_fingerprint:e.system_fingerprint}),t.close()}})},noUserId:!0},debug:{chatCompletion:()=>"1"===t$.env.DEBUG_SPARK_CHAT_COMPLETION},provider:h.l.Spark});var t0=i(87358);let t1=Q({baseURL:"https://api.stepfun.com/v1",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,tools:i,...o}=e,n=t?[...i||[],{function:{description:"use web_search to search information on the internet"},type:"web_search"}]:i;return{...o,stream:!n,tools:n}}},debug:{chatCompletion:()=>"1"===t0.env.DEBUG_STEPFUN_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["step-1-","step-1o-","step-1v-","step-2-"],a=["step-1o-","step-1v-"];return(await t.models.list()).data.map(e=>{var t,i,l,r,s;let d=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(r=null==d?void 0:d.contextWindowTokens)&&void 0!==r?r:void 0,displayName:null!==(s=null==d?void 0:d.displayName)&&void 0!==s?s:void 0,enabled:(null==d?void 0:d.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(t=d.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:a.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.vision)||!1}}
1).filter(Boolean)},provider:h.l.Stepfun});var t5=i(87358);let t2=Q({baseURL:"https://ai-maas.wair.ac.cn/maas/v1",chatCompletion:{handlePayload:e=>{let{temperature:t,top_p:i,...o}=e;return{...o,temperature:void 0!==t?Math.max(t/2,.01):void 0,top_p:void 0!==i?Math.min(9.9,Math.max(i/2,.1)):void 0}}},debug:{chatCompletion:()=>"1"===t5.env.DEBUG_TAICHU_CHAT_COMPLETION},provider:h.l.Taichu});var t3=i(87358);let t9=Q({baseURL:"https://api.lkeap.cloud.tencent.com/v1",debug:{chatCompletion:()=>"1"===t3.env.DEBUG_TENCENT_CLOUD_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["deepseek-v3"],a=["deepseek-r1"];return(await t.models.list()).data.map(e=>{var t,i,l,r,s;let d=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(r=null==d?void 0:d.contextWindowTokens)&&void 0!==r?r:void 0,displayName:null!==(s=null==d?void 0:d.displayName)&&void 0!==s?s:void 0,enabled:(null==d?void 0:d.enabled)||!1,functionCall:n.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(t=d.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:a.some(t=>e.id.toLowerCase().includes(t))||(null==d?void 0:null===(i=d.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==d?void 0:null===(l=d.abilities)||void 0===l?void 0:l.vision)||!1}}).filter(Boolean)},provider:h.l.TencentCloud});var t8=i(87358);let t4=Q({baseURL:"https://api.together.xyz/v1",constructorOptions:{defaultHeaders:{"HTTP-Referer":"https://chat-preview.lobehub.com","X-Title":"Lobe Chat"}}
1,debug:{chatCompletion:()=>"1"===t8.env.DEBUG_TOGETHERAI_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995)),n=["qvq","vision"],a=["deepseek-r1","qwq"];return t.baseURL="https://api.together.xyz/api",(await t.models.list()).body.map(e=>{var t,i,l,r,s,d;let u=o.find(t=>e.name.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(d=null==u?void 0:u.contextWindowTokens)&&void 0!==d?d:void 0,description:e.description,displayName:e.display_name,enabled:(null==u?void 0:u.enabled)||!1,functionCall:(null===(t=e.description)||void 0===t?void 0:t.toLowerCase().includes("function calling"))||(null==u?void 0:null===(i=u.abilities)||void 0===i?void 0:i.functionCall)||!1,id:e.name,maxOutput:e.context_length,reasoning:a.some(t=>e.name.toLowerCase().includes(t))||(null==u?void 0:null===(l=u.abilities)||void 0===l?void 0:l.functionCall)||!1,tokens:e.context_length,vision:(null===(r=e.description)||void 0===r?void 0:r.toLowerCase().includes("vision"))||n.some(t=>{var i;return null===(i=e.name)||void 0===i?void 0:i.toLowerCase().includes(t)})||(null==u?void 0:null===(s=u.abilities)||void 0===s?void 0:s.functionCall)||!1}}).filter(Boolean)},provider:h.l.TogetherAI});var t6=i(87358);let t7=Q({baseURL:"https://api.upstage.ai/v1/solar",debug:{chatCompletion:()=>"1"===t6.env.DEBUG_UPSTAGE_CHAT_COMPLETION},provider:h.l.Upstage});var ie=i(87358);let it=Q({baseURL:"http://localhost:8000/v1",debug:{chatCompletion:()=>"1"===ie.env.DEBUG_VLLM_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.VLLM});var ii=i(87358);let io=Q({baseURL:"https://ark.cn-beijing.volces.com/api/v3",debug:{chatCompletion:()=>"1"===ii.env.DEBUG_DOUBAO_CHAT_COMPLETION},provider:h.l.Volcengine});var ia=i(87358);let il=Q({baseURL:"https://qianfan.baidubce.com/v2",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,...i}=e;return{...i,stream:!0,...t&&{web_search:{enable:!0,enable_citation:!0,enable_trace:!0}}}}},debug:{chatCompletion:()=>"1"===ia.env.DEBUG_WENXIN_CHAT_COMPLETION},provider:h.l.Wenxin});var ir=i(87358);let is=Q({baseURL:"https://api.x.ai/v1",debug:{chatCompletion:()=>"1"===ir.env.DEBUG_XAI_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.id.toLowerCase().includes("vision")||(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.functionCall)||!1}}).filter(Boolean)},provider:h.l.XAI});var id=i(87358);let iu=Q({baseURL:"https://api.lingyiwanwu.com/v1",debug:{chatCompletion:()=>"1"===id.env.DEBUG_ZEROONE_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return(await t.models.list()).data.map(e=>{var t,i,n,a,l;let r=o.find(t=>e.id.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==r?void 0:r.contextWindowTokens)&&void 0!==a?a:void 0,displayName:null!==(l=null==r?void 0:r.displayName)&&void 0!==l?l:void 0,enabled:(null==r?void 0:r.enabled)||!1,functionCall:e.id.toLowerCase().includes("fc")||(null==r?void 0:null===(t=r.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.id,reasoning:(null==r?void 0:null===(i=r.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.id.toLowerCase().includes("vision")||(null==r?void 0:null===(n=r.abilities)||void 0===n?void 0:n.vision)||!1}}
1).filter(Boolean)},provider:h.l.ZeroOne});var ic=i(87358);let iv={ai21:ee,ai360:ei,anthropic:eh,azure:ey,azureai:ew,baichuan:eT,bedrock:eU,cloudflare:eq,deepseek:eY,doubao:io,fireworksai:ej,giteeai:eV,github:eQ,google:te,groq:ti,higress:ta,huggingface:ts,hunyuan:tu,internlm:tv,jina:tm,lmstudio:tg,minimax:tC,mistral:t_,moonshot:tL,novita:tA,nvidia:tx,ollama:tS,openai:$,openrouter:tU,perplexity:tH,ppio:tW,qwen:tY,sambanova:tj,sensenova:tV,siliconcloud:tQ,spark:tZ,stepfun:t1,taichu:t2,tencentcloud:t9,togetherai:t4,upstage:t7,vllm:it,volcengine:io,wenxin:il,xai:is,zeroone:iu,zhipu:Q({baseURL:"https://open.bigmodel.cn/api/paas/v4",chatCompletion:{handlePayload:e=>{let{enabledSearch:t,max_tokens:i,model:o,temperature:n,tools:a,top_p:l,...r}=e,s=t?[...a||[],{type:"web_search",web_search:{enable:!0}}]:a;return{...r,max_tokens:void 0===i?void 0:o.includes("glm-4v")&&Math.min(i,1024)||"glm-zero-preview"===o&&Math.min(i,15300)||i,model:o,stream:!0,tools:s,..."glm-4-alltools"===o?{temperature:void 0!==n?Math.max(.01,Math.min(.99,n/2)):void 0,top_p:void 0!==l?Math.max(.01,Math.min(.99,l)):void 0}:{temperature:void 0!==n?n/2:void 0,top_p:l}}}},constructorOptions:{defaultHeaders:{"Bigmodel-Organization":"lobehub","Bigmodel-project":"lobechat"}},debug:{chatCompletion:()=>"1"===ic.env.DEBUG_ZHIPU_CHAT_COMPLETION},models:async e=>{let{client:t}=e,{LOBE_DEFAULT_MODEL_LIST:o}=await Promise.all([i.e(32356),i.e(9555),i.e(28995)]).then(i.bind(i,28995));return t.baseURL="https://open.bigmodel.cn/api/fine-tuning/model_center/list?pageSize=100&pageNum=1",(await t.models.list()).body.rows.map(e=>{var t,i,n,a;let l=o.find(t=>e.modelCode.toLowerCase()===t.id.toLowerCase());return{contextWindowTokens:null!==(a=null==l?void 0:l.contextWindowTokens)&&void 0!==a?a:void 0,description:e.description,displayName:e.modelName,enabled:(null==l?void 0:l.enabled)||!1,functionCall:e.modelCode.toLowerCase().includes("glm-4")&&!e.modelCode.toLowerCase().includes("glm-4v")||(null==l?void 0:null===(t=l.abilities)||void 0===t?void 0:t.functionCall)||!1,id:e.modelCode,reasoning:e.modelCode.toLowerCase().includes("glm-zero-preview")||(null==l?void 0:null===(i=l.abilities)||void 0===i?void 0:i.reasoning)||!1,vision:e.modelCode.toLowerCase().includes("glm-4v")||(null==l?void 0:null===(n=l.abilities)||void 0===n?void 0:n.vision)||!1}}).filter(Boolean)},provider:h.l.ZhiPu})};class ip{async chat(e,t){return this._runtime.chat(e,t)}async textToImage(e){var t,i;return null===(t=(i=this._runtime).textToImage)||void 0===t?void 0:t.call(i,e)}async models(){var e,t;return null===(e=(t=this._runtime).models)||void 0===e?void 0:e.call(t)}async embeddings(e,t){var i,o;return null===(i=(o=this._runtime).embeddings)||void 0===i?void 0:i.call(o,e,t)}async textToSpeech(e,t){var i,o;return null===(i=(o=this._runtime).textToSpeech)||void 0===i?void 0:i.call(o,e,t)}static async initializeWithProvider(e,t){var i;return new ip(new(null!==(i=iv[e])&&void 0!==i?i:$)(t))}constructor(e){this._runtime=e}}let im=e=>'<file id="'.concat(e.id,'" name="').concat(e.name,'" type="').concat(e.fileType,'" size="').concat(e.size,'" url="').concat(e.url,'"></file>'),ih=e=>0===e.length?"":"<files>\n<files_docstring>here are user upload files you can refer to</files_docstring>\n".concat(e.map(e=>im(e)).join("\n"),"\n</files>").trim(),ig=e=>'<image name="'.concat(e.alt,'" url="').concat(e.url,'"></image>'),iy=e=>0===e.length?"":"<images>\n<images_docstring>here are user upload images you can refer to</images_docstring>\n".concat(e.map(e=>ig(e)).join("\n"),"\n</images>").trim(),ib=e=>{let{imageList:t,fileList:i}=e;return 0===t.length&&0===(i||[]).length?"":"\x3c!-- SYSTEM CONTEXT (NOT PART OF USER QUERY) --\x3e\n<context.instruction>following part contains context information injected by the system. Please follow these instructions:\n\n1. Always prioritize handling user-visible content.\n2. the context is only required when user's queries rely on it.\n</context.instruction>\n<files_info>\n".concat(iy(t),"\n").concat(i?ih(i):"","\n</files_info>\n\x3c!-- END SYSTEM CONTEXT --\x3e").trim()},iC=e=>"<chat_history_summary>\n<docstring>Users may have lots of chat messages, here is the summary of the history:</docstring>\n<summary>".concat(e,"</summary>\n</chat_history_summary>\n"),iw=e=>{let{welcome:t,plugins:i,historySummary:o}=e;
1return[t,i,o?iC(o):""].filter(Boolean).join("\n\n")};var i_=i(17520),iT=i(1457),iL=i(55095),ik=i(17755),iA=i(15084),iE=i(80661),ix=i(66749),iP=i(33433),iO=i(23740),iI=i(62586),iM=i(46182),iS=i(11370),iN=i(16441),iR=i(11715),iU=i(74400),iB=i(702),iH=i(29129),iD=i(4144),iW=i(68765),iG=i(21152),iq=i(75452);let iK=iq.z.object({function:iq.z.object({arguments:iq.z.string(),name:iq.z.string()}),id:iq.z.string(),type:iq.z.string()});async function iY(e,t){let i;let o=e.getReader();for(;!(i=await o.read()).done;)t(i.value)}function iz(){return{data:"",event:"",id:"",retry:void 0}}let ij="last-event-id";var iF=i(71453);let iV=(e,t)=>(0,n.jM)(e,e=>{if(0===e.length){e.push(...t.map(e=>iK.parse(e)));return}t.forEach(t=>{let{index:i,...o}=t;if(null==e?void 0:e[i]){var n;(null===(n=o.function)||void 0===n?void 0:n.arguments)&&(e[i].function.arguments+=o.function.arguments)}else null==e||e.splice(i,0,iK.parse(o))})}),iJ=e=>{let{startSpeed:t=10}=e,i="",o=[],n=!1,a=null,l=0,r=0,s=t,d=0;return{isAnimationActive:!1,isTokenRemain:()=>o.length>0,pushToQueue:e=>{o.push(...e.split(""))},startAnimation:function(){let u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;return new Promise(t=>{if(n){t();return}n=!0,l=performance.now(),r=0,s=u,d=0;let c=v=>{if(!n){null!==a&&cancelAnimationFrame(a),t();return}let p=v-l;l=v,r+=p;let m=0;if(o.length>0){let e=Math.max(u,o.length),t=8e-4*Math.abs(o.length-d)+.005;s+=(e-s)*t,m=Math.floor(r*s/1e3)}if(m>0){r-=1e3*m/s;let t=Math.min(m,o.length),n=o.splice(0,t).join("");i+=n,e.onTextUpdate(n,i)}d=o.length,o.length>0&&n?a=requestAnimationFrame(c):(n=!1,a=null,t())};a=requestAnimationFrame(c)})},stopAnimation:()=>{n=!1,null!==a&&(cancelAnimationFrame(a),a=null)}}},iQ=e=>{let{startSpeed:t=10}=e,i=[],o=[],n=[],a=[],l=e=>{n[e]=!1,null!==a[e]&&(cancelAnimationFrame(a[e]),a[e]=null)},r=function(l){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return new Promise(t=>{if(n[l]){t();return}n[l]=!0;let s=()=>{if(!n[l]){t();return}if(o[l].length>0){let t=o[l].splice(0,r).join(""),d=i[l];d&&(d.function.arguments+=t,e.onToolCallsUpdate(i,[...n])),a[l]=requestAnimationFrame(()=>s())}else n[l]=!1,a[l]=null,t()};a[l]=requestAnimationFrame(()=>s())})},s=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,a=i.map(async(t,i)=>{o[i].length>0&&!n[i]&&await r(i,e)});await Promise.all(a)};return{isAnimationActives:n,isTokenRemain:()=>o.some(e=>e.length>0),pushToQueue:e=>{e.forEach(e=>{var t;i[e.index]||(i[e.index]=iK.parse(e)),o[e.index]||(o[e.index]=[],n[e.index]=!1,a[e.index]=null),o[e.index].push(...((null===(t=e.function)||void 0===t?void 0:t.arguments)||"").split(""))})},startAnimations:s,stopAnimations:()=>{i.forEach((e,t)=>{l(t)})}}},iX=async function(e){var t,i,o,n;let a,l;let r,s,d,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=!1,v="done",{smoothing:m}=u,h="boolean"==typeof m?m:null===(t=null==m?void 0:m.text)||void 0===t||t,g="boolean"==typeof m?m:null===(i=null==m?void 0:m.toolsCalling)||void 0===i||i,y=(0,iW.A)(m)?m.speed:void 0,f="",b=iJ({onTextUpdate:(e,t)=>{var i;f=t,null===(i=u.onMessageHandle)||void 0===i||i.call(u,{text:e,type:"text"})},startSpeed:y}),C="",w=iJ({onTextUpdate:(e,t)=>{var i;C=t,null===(i=u.onMessageHandle)||void 0===i||i.call(u,{text:e,type:"reasoning"})},startSpeed:y}),_=iQ({onToolCallsUpdate:(e,t)=>{var i;null===(i=u.onMessageHandle)||void 0===i||i.call(u,{isAnimationActives:t,tool_calls:e,type:"tool_calls"})},startSpeed:y}),T=[];
1if(await function(e,t){let{signal:i,headers:o,onopen:n,onmessage:a,onclose:l,onerror:r,fetch:s,...d}=t;return new Promise(t=>{let u={...o};u.accept||(u.accept="text/event-stream");let c=null!=s?s:window.fetch;(async function(){try{var o;let r,s,v,p;let m=await c(e,{...d,headers:u,signal:i});await n(m),await iY(m.body,(o=function(e,t){let i=iz(),o=new TextDecoder;return function(n,a){if(0===n.length)null==t||t(i),i=iz();else if(a>0){let t=o.decode(n.subarray(0,a)),l=a+(32===n[a+1]?2:1),r=o.decode(n.subarray(l));switch(t){case"data":i.data=i.data?i.data+"\n"+r:r;break;case"event":i.event=r;break;case"id":e(i.id=r)}}}}(e=>{e?u[ij]=e:delete u[ij]},a),p=!1,function(e){void 0===r?(r=e,s=0,v=-1):r=function(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}(r,e);let t=r.length,i=0;for(;s<t;){p&&(10===r[s]&&(i=++s),p=!1);let e=-1;for(;s<t&&-1===e;++s)switch(r[s]){case 58:-1===v&&(v=s-i);break;case 13:p=!0;case 10:e=s}if(-1===e)break;o(r.subarray(i,e),v),i=s,v=-1}i===t?r=void 0:0!==i&&(r=r.subarray(i),s-=i)})),null==l||l(),t()}catch(e){null==r||r(e),t()}})()})}(e,{body:u.body,fetch:null==u?void 0:u.fetcher,headers:u.headers,method:u.method,onerror:e=>{var t,i;if(e===iG.ve||"AbortError"===e.name)v="abort",null==u||null===(t=u.onAbort)||void 0===t||t.call(u,f),b.stopAnimation();else{v="error",null===(i=u.onErrorHandle)||void 0===i||i.call(u,e.type?e:{body:{message:e.message,name:e.name,stack:e.stack},message:e.message,type:iH.T.UnknownChatFetchError});return}},onmessage:e=>{var t,i,o,n,s,p,m,y;let L;c=!0;try{L=JSON.parse(e.data)}catch(i){console.warn("parse error:",i),null===(t=u.onErrorHandle)||void 0===t||t.call(u,{body:{context:{chunk:e.data,error:{message:i.message,name:i.name}},message:"chat response streaming chunk parse error, please contact your API Provider to fix it."},message:"parse error",type:"StreamChunkError"});return}switch(e.event){case"error":v="error",null===(i=u.onErrorHandle)||void 0===i||i.call(u,L);break;case"base64_image":{let e="tmp_img_"+(0,eI.Ak)(),t={data:L,id:e,isBase64:!0};T.push(t),null===(o=u.onMessageHandle)||void 0===o||o.call(u,{id:e,image:t,images:T,type:"base64_image"});break}case"text":if(!L)break;h?(b.pushToQueue(L),b.isAnimationActive||b.startAnimation()):(f+=L,null===(n=u.onMessageHandle)||void 0===n||n.call(u,{text:L,type:"text"}));break;case"usage":l=L,null===(s=u.onMessageHandle)||void 0===s||s.call(u,{type:"usage",usage:L});break;case"grounding":a=L,null===(p=u.onMessageHandle)||void 0===p||p.call(u,{grounding:L,type:"grounding"});break;case"reasoning_signature":d=L;break;case"reasoning":h?(w.pushToQueue(L),w.isAnimationActive||w.startAnimation()):(C+=L,null===(m=u.onMessageHandle)||void 0===m||m.call(u,{text:L,type:"reasoning"}));break;case"tool_calls":r||(r=[]),r=iV(r,L),g?(_.pushToQueue(L),_.isAnimationActives.some(e=>!e)&&_.startAnimations()):null===(y=u.onMessageHandle)||void 0===y||y.call(u,{tool_calls:r,type:"tool_calls"})}},onopen:async e=>{if(!(s=e.clone()).ok)throw await (0,iF.E)(e)},signal:u.signal}),s&&(b.stopAnimation(),_.stopAnimations(),s.ok)){c||(f=await s.clone().text(),null===(n=u.onMessageHandle)||void 0===n||n.call(u,{text:f,type:"text"}));let e=s.headers.get(p.g_),t=s.headers.get(p.TE);b.isTokenRemain()&&await b.startAnimation(y),_.isTokenRemain()&&await _.startAnimations(16),await (null==u?void 0:null===(o=u.onFinish)||void 0===o?void 0:o.call(u,f,{grounding:a,images:T.length>0?T:void 0,observationId:t,reasoning:C?{content:C,signature:d}:void 0,toolCalls:r,traceId:e,type:v,usage:l}))}return s};var i$=i(50377),iZ=i(44134).hp;let i0=e=>e.headers.get(p.g_),i1=e=>{let t=new TextEncoder().encode(JSON.stringify(e));return iZ.from(t).toString("base64")},i5=e=>({[p.MW]:i1(e)});var i2=i(91952),i3=i(43063);let i9=(e,t)=>m.yh?iS.B.isModelEnabledFunctionCall(e)((0,iM.c)()):iL.g.isModelSupportToolUse(e,t)((0,ik.l)()),i8=(e,t)=>{var i,o,n,a;let l=e;if(m.yh){let t=null===(i=iS.B.getModelCardsById(h.l.Azure)(iM.k.getState()).find(t=>t.id===e))||void 0===i?void 0:i.deploymentName;t&&(l=t)}else{let i=null===(o=(0,ik.l)().enabledAiModels)||void 0===o?void 0:o.find(i=>i.id===e&&i.providerId===t);i&&(null===(n=i.config)||void 0===n?void 0:n.deploymentName)&&(l=null===(a=i.config)||void 0===a?void 0:a.deploymentName)}return l},i4=e=>m.yh?iN.y.isProviderFetchOnClient(e)(iM.k.getState()):iA.w.isProviderFetchOnClient(e)((0,ik.l)());function i6(e,t){let i={...t,...(0,i2.Z)(e)};return ip.initializeWithProvider(e,{dangerouslyAllowBrowser:!0,...i,...t})}class i7{constructor(){this.createAssistantMessage=async(e,t)=>{let{plugins:i,messages:o,...n}
1=e,l=(0,a.A)({model:v.HA.model,stream:!0,...v.HA.params},n),r=iT.c.currentChatConfig((0,i_._)()),s="off"!==r.searchMode,d=iL.g.isModelHasBuiltinSearch(l.model,l.provider)((0,ik.l)())&&r.useModelBuiltinSearch,u=[...i||[]];s&&!d&&u.push(iB.J.identifier);let c=this.processMessages({messages:o,model:l.model,provider:l.provider,tools:u},t),p=this.prepareTools(u,{model:l.model,provider:l.provider}),m={};if(iL.g.isModelHasExtendParams(l.model,l.provider)((0,ik.l)())){let e=iL.g.modelExtendParams(l.model,l.provider)((0,ik.l)());e.includes("enableReasoning")&&r.enableReasoning&&(m.thinking={budget_tokens:r.reasoningBudgetToken||1024,type:"enabled"}),e.includes("disableContextCaching")&&r.disableContextCaching&&(m.enabledContextCaching=!1)}return this.getChatCompletion({...n,...m,enabledSearch:!!s&&!!d||void 0,messages:c,tools:p},t)},this.createAssistantMessageStream=async e=>{let{params:t,abortController:i,onAbort:o,onMessageHandle:n,onErrorHandle:a,onFinish:l,trace:r,isWelcomeQuestion:s,historySummary:d}=e;await this.createAssistantMessage(t,{historySummary:d,isWelcomeQuestion:s,onAbort:o,onErrorHandle:a,onFinish:l,onMessageHandle:n,signal:null==i?void 0:i.signal,trace:this.mapTrace(r,p.WK.Chat)})},this.getChatCompletion=async(e,t)=>{var i;let o;let{signal:n}=null!=t?t:{},{provider:r=h.l.OpenAI,...s}=e,d=s.model||v.HA.model;[h.l.Azure,h.l.Volcengine,h.l.Doubao,h.l.AzureAI].includes(r)&&(d=i8(d,r));let u=(0,a.A)({model:v.HA.model,stream:!0,...v.HA.params},{...s,model:d}),c=i4(r);c&&(o=async()=>{try{return await this.fetchOnClient({payload:u,provider:r,signal:n})}catch(n){let{errorType:e=iH.T.BadRequest,error:t,...i}=n,o=t||n;return console.error("Route: [".concat(r,"] ").concat(e,":"),o),(0,iD.W)(e,{error:o,...i,provider:r})}});let p=i5({...null==t?void 0:t.trace}),g=await (0,i2.createHeaderWithAuth)({headers:{"Content-Type":"application/json",...p},provider:r}),y=l.DEFAULT_MODEL_PROVIDER_LIST.find(e=>e.id===r),f=r,b=Object.values(h.l).includes(r);if(!m.yh&&!b){let e=iA.w.providerConfigById(r)((0,ik.l)());f=(null==e?void 0:e.settings.sdkType)||"openai"}return iX(i3.S.chat(f),{body:JSON.stringify(u),fetcher:o,headers:g,method:"POST",onAbort:null==t?void 0:t.onAbort,onErrorHandle:null==t?void 0:t.onErrorHandle,onFinish:null==t?void 0:t.onFinish,onMessageHandle:null==t?void 0:t.onMessageHandle,signal:n,smoothing:(null==y?void 0:null===(i=y.settings)||void 0===i?void 0:i.smoothing)||(null==y?void 0:y.smoothing)||c})},this.runPluginApi=async(e,t)=>{var i;let n=(0,iP.v)(),a=iO.w.getPluginSettingsById(e.identifier)(n),l=iO.w.getToolManifestById(e.identifier)(n),r=i5(this.mapTrace(null==t?void 0:t.trace,p.WK.ToolCalling)),s=await (0,i2.createHeaderWithAuth)({headers:{...(0,o.lZ)(a),...r}}),d=null!==(i=null==l?void 0:l.gateway)&&void 0!==i?i:i3.S.gateway,u=await fetch(d,{body:JSON.stringify({...e,manifest:l}),headers:s,method:"POST",signal:null==t?void 0:t.signal});if(!u.ok)throw await (0,iF.E)(u);return{text:await u.text(),traceId:i0(u)}},this.fetchPresetTaskResult=async e=>{let{params:t,onMessageHandle:i,onFinish:o,onError:n,onLoadingChange:a,abortController:l,trace:r}=e,s=(e,t)=>{null==a||a(!1),(null==l||!l.signal.aborted)&&(null==n||n(e,t),console.error(e))};null==a||a(!0);try{let e=this.processMessages({messages:t.messages,model:t.model,provider:t.provider,tools:t.plugins}),n=this.prepareTools(t.plugins||[],{model:t.model,provider:t.provider});delete t.plugins,await this.getChatCompletion({...t,messages:e,tools:n},{onErrorHandle:e=>{s(Error(e.message),e)},onFinish:o,onMessageHandle:i,signal:null==l?void 0:l.signal,trace:this.mapTrace(r,p.WK.SystemChain)}),null==a||a(!1)}catch(e){s(e)}},this.processMessages=(e,t)=>{let{messages:i=[],tools:o,model:a,provider:l}=e,r=e=>{if((!e.imageList||0===e.imageList.length)&&(!e.fileList||0===e.fileList.length))return e.content;let t=e.imageList||[],i=m.zJ?ib({fileList:e.fileList,imageList:t}):"";return[{text:(e.content+"\n\n"+i).trim(),type:"text"},...t.map(e=>({image_url:{detail:"auto",url:e.url},type:"image_url"}))]},s=e=>{var t;return e.reasoning&&(null===(t=e.reasoning)||void 0===t?void 0:t.signature)?[{signature:e.reasoning.signature,thinking:e.reasoning.content,type:"thinking"},{text:e.content,type:"text"}]:e.imageList&&e.imageList.length>0?[e.content?{text:e.content,type:"text"}:void 0,...e.imageList.map(e=>
1({image_url:{detail:"auto",url:e.url},type:"image_url"}))].filter(Boolean):e.content},d=i.map(e=>{var t,i;let o=i9(a,l);switch(e.role){case"user":return{content:r(e),role:e.role};case"assistant":{let i=s(e);if(!o)return{content:i,role:e.role};return{content:i,role:e.role,tool_calls:null===(t=e.tools)||void 0===t?void 0:t.map(e=>({function:{arguments:e.arguments,name:(0,i$.M)(e.identifier,e.apiName,e.type)},id:e.id,type:"function"}))}}case"tool":if(!o)return{content:e.content,role:"user"};return{content:e.content,name:(0,i$.M)(e.plugin.identifier,e.plugin.apiName,null===(i=e.plugin)||void 0===i?void 0:i.type),role:e.role,tool_call_id:e.tool_call_id};default:return{content:e.content,role:e.role}}});return d=(0,n.jM)(d,e=>{var i;let n=(null==t?void 0:t.isWelcomeQuestion)&&(null==t?void 0:null===(i=t.trace)||void 0===i?void 0:i.sessionId)===c.Ed&&u,r=o&&(null==o?void 0:o.length)>0&&i9(a,l)&&iI.P.enabledSystemRoles(o)((0,iP.v)()),s=iw({historySummary:null==t?void 0:t.historySummary,plugins:r,welcome:n});if(!s)return;let d=e.find(e=>"system"===e.role);d?d.content=[d.content,s].filter(Boolean).join("\n\n"):e.unshift({content:s,role:"system"})}),this.reorderToolMessages(d)},this.mapTrace=(e,t)=>{let i=ix.G.currentAgentMeta((0,iE.L)()).tags||[];return iR.U.userAllowTrace((0,iM.c)())?{...e,enabled:!0,tags:[t,...(null==e?void 0:e.tags)||[],...i].filter(Boolean),userId:iU.f.userId(iM.k.getState())}:{...e,enabled:!1}},this.fetchOnClient=async e=>{let t=await i6(e.provider,e.payload),i=e.payload,o=iM.k.getState();if(r.S4&&!o.isSignedIn)throw _.createError(iH.T.InvalidAccessCode);return t.chat(i,{signal:e.signal})},this.reorderToolMessages=e=>{let t=new Set;e.forEach(e=>{"assistant"===e.role&&e.tool_calls&&e.tool_calls.forEach(e=>{t.add(e.id)})});let i={};e.forEach(e=>{"tool"===e.role&&e.tool_call_id&&t.has(e.tool_call_id)&&(i[e.tool_call_id]=e)});let o=[];return e.forEach(e=>{("tool"!==e.role||e.tool_call_id&&t.has(e.tool_call_id))&&!o.some(t=>!!e.tool_call_id&&t.tool_call_id===e.tool_call_id)&&(o.push(e),"assistant"===e.role&&e.tool_calls&&e.tool_calls.forEach(e=>{let t=i[e.id];t&&(o.push(t),delete i[e.id])}))}),o},this.prepareTools=(e,t)=>{let{model:i,provider:o}=t,n=iI.P.enabledSchema(e)((0,iP.v)()),a=i9(i,o);return n.length>0&&a?n:void 0}}}let oe=new i7},91952:(e,t,i)=>{i.d(t,{createHeaderWithAuth:()=>f,Z:()=>y});var o=i(97501),n=i(92043),a=i(53449),l=i(15084),r=i(17755),s=i(46182),d=i(54140),u=i(74400),c=i(70050),v=i(33953),p=i(44134).hp;let m=async e=>{let t=Math.floor(Date.now()/1e3),i=new TextEncoder;if(!crypto.subtle){let t=i.encode(JSON.stringify(e));return"".concat(o.Gl,".").concat(p.from(t).toString("base64"))}let n=await crypto.subtle.digest("SHA-256",i.encode(o.p3)),a=await (0,c.Og)({k:p.from(n).toString("base64"),kty:"oct"},"HS256");return new v.P(e).setProtectedHeader({alg:"HS256"}).setIssuedAt(t).setExpirationTime(t+100).sign(a)},h=(e,t)=>{switch(e){case a.l.Bedrock:{let{accessKeyId:e,region:i,secretAccessKey:o,sessionToken:n}=t;return{accessKeyId:e,accessKeySecret:o,apiKey:(o||"")+(e||""),awsAccessKeyId:e,awsRegion:i,awsSecretAccessKey:o,awsSessionToken:n,region:i,sessionToken:n}}case a.l.Azure:return{apiKey:t.apiKey,apiVersion:t.apiVersion,azureApiVersion:t.apiVersion,baseURL:t.baseURL||t.endpoint};case a.l.Ollama:return{baseURL:null==t?void 0:t.baseURL};case a.l.Cloudflare:return{apiKey:null==t?void 0:t.apiKey,baseURLOrAccountID:null==t?void 0:t.baseURLOrAccountID,cloudflareBaseURLOrAccountID:null==t?void 0:t.baseURLOrAccountID};default:return{apiKey:null==t?void 0:t.apiKey,baseURL:null==t?void 0:t.baseURL}}},g=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return m({accessCode:d.t.password(s.k.getState()),userId:u.f.userId(s.k.getState()),...e})},y=e=>{let t={};return t=n.yh?d.t.getVaultByProvider(e)(s.k.getState()):l.w.providerKeyVaults(e)(r.d.getState())||{},h(e,t)},f=async e=>{let t=(null==e?void 0:e.payload)||{};(null==e?void 0:e.provider)&&(t={...t,...y(null==e?void 0:e.provider)});let i=await g(t);return{...null==e?void 0:e.headers,[o.Zk]:i}}},93031:(e,t,i)=>{i.d(t,{Y:()=>o});let o={AgentRuntimeError:"AgentRuntimeError",LocationNotSupportError:"LocationNotSupportError",QuotaLimitReached:"QuotaLimitReached",InsufficientQuota:"InsufficientQuota",ModelNotFound:"ModelNotFound",PermissionDenied:"PermissionDenied",ExceededContextWindow:"ExceededContextWindow",InvalidProviderAPIKey:"InvalidProviderAPIKey",ProviderBizError:"ProviderBizError",InvalidOllamaArgs:"InvalidOllamaArgs",OllamaBizError:"OllamaBizError",InvalidBedrockCredentials:"InvalidBedrockCredentials",InvalidVertexCredentials:"InvalidVertexCredentials",StreamChunkError:"StreamChunkError",InvalidGithubToken:"InvalidGithubToken",ConnectionCheckFailed:"ConnectionCheckFailed",NoOpenAIAPIKey:"NoOpe
1nAIAPIKey"};Object.values(o)},95924:(e,t,i)=>{i.d(t,{W:()=>n});var o=i(29098);let n={metaList:e=>t=>t.builtinTools.filter(t=>!t.hidden&&(!!e||t.identifier!==o.i.identifier)).map(e=>({author:"LobeHub",identifier:e.identifier,meta:e.manifest.meta,type:"builtin"}))}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.