1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64366,66633],{119:(e,t,a)=>{"use strict";a.d(t,{K:()=>i});let i=e=>(t,a)=>{let i=[e,t].filter(Boolean).join("/");return a?{payload:a,type:i}:i}},1307:(e,t,a)=>{"use strict";a.d(t,{h:()=>s});var i=a(13193);class r{constructor(){this.putObject=async(e,t)=>{try{let a=await t.arrayBuffer();await (0,i.hZ)(e,{data:a,name:t.name,type:t.type},this.store)}catch(e){throw Error("Failed to put file ".concat(t.name,": ").concat(e.message))}},this.getObject=async e=>{try{let t=await (0,i.Jt)(e,this.store);if(!t)return;return new File([t.data],t.name,{type:null==t?void 0:t.type})}catch(t){throw Error("Failed to get object (key=".concat(e,"): ").concat(t.message))}},this.deleteObject=async e=>{try{await (0,i.yH)(e,this.store)}catch(t){throw Error("Failed to delete object (key=".concat(e,"): ").concat(t.message))}},this.store=(0,i.y$)("lobechat-local-s3","objects")}}let s=new r},1551:(e,t,a)=>{"use strict";a.d(t,{Ed:()=>o,W5:()=>l});var i=a(29696),r=a(88894),s=a(20333),n=a(71085);let o="inbox",l={config:r.HA,createdAt:new Date,id:"",meta:i.M3,model:r.HA.model,type:s.r.Agent,updatedAt:new Date};(0,n.h)(l,{id:"inbox",meta:{avatar:i.xd}})},5831:(e,t,a)=>{"use strict";a.d(t,{Y:()=>I});var i=a(35279),r=a(1307),s=a(14867).hp;class n{async createFile(e){let t=await i.C.create({createdAt:Date.now(),data:void 0,fileHash:e.hash,fileType:e.fileType,metadata:e.metadata,name:e.name,saveMode:"url",size:e.size,url:e.url}),a=await this.getBase64ByFileHash(e.hash);return{id:t.id,url:"data:".concat(e.fileType,";base64,").concat(a)}}async checkFileHash(e){return{isExist:!1,metadata:{}}}async checkFile(e,t){return{isExist:!1,isOverSize:!1,metadata:{}}}async getFile(e){let t=await i.C.findById(e);if(!t)throw Error("file not found");let a=t.data?new Blob([t.data],{type:t.fileType}):new Blob([s.from(t.base64,"base64")],{type:t.fileType}),r=URL.createObjectURL(a);return{createdAt:new Date(t.createdAt),id:e,name:t.name,size:t.size,type:t.fileType,updatedAt:new Date(t.updatedAt),url:r}}async removeFile(e){return i.C.delete(e)}async removeFiles(e){await Promise.all(e.map(e=>i.C.delete(e)))}async removeAllFiles(){return i.C.clear()}async getBase64ByFileHash(e){let t=await r.h.getObject(e);if(!t)throw Error("file not found");return s.from(await t.arrayBuffer()).toString("base64")}}var o=a(56480),l=a(63594),d=a(51831),c=a(68233),u=a(59165),h=a(53071),g=a(75106),p=a(69361),m=a(88482),y=a(47367);class f{constructor(e,t){var a=this;this.create=async(e,t)=>({id:(await this.db.transaction(async a=>{t&&await a.insert(g.V_).values({fileType:e.fileType,hashId:e.fileHash,metadata:e.metadata,size:e.size,url:e.url});let i=(await a.insert(g.aq).values({...e,userId:this.userId}).returning())[0];return e.knowledgeBaseId&&await a.insert(g.rx).values({fileId:i.id,knowledgeBaseId:e.knowledgeBaseId}),i})).id}),this.createGlobalFile=async e=>this.db.insert(g.V_).values(e).returning(),this.checkFile=async(e,t)=>{let a=await this.countUsage(),i=await y.p.getUserKnowledgeSpace(this.userId),{data:r}=i;return!r||a+t>i.data?{isExist:!1,isOverSize:!0}:{...await this.checkHash(e),isOverSize:!1}},this.checkHash=async e=>{let t=await this.db.query.globalFiles.findFirst({where:(0,d.eq)(g.V_.hashId,e)});return t?{fileType:t.fileType,isExist:!0,metadata:t.metadata,size:t.size,url:t.url}:{isExist:!1}},this.delete=async function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=await a.findById(e);if(!i)return;let r=i.fileHash;return await a.db.transaction(async s=>{if(await a.deleteFileChunks(s,[e]),await s.delete(g.aq).where((0,d.Uo)((0,d.eq)(g.aq.id,e),(0,d.eq)(g.aq.userId,a.userId))),0===(await s.select({count:(0,l.U9)()}).from(g.aq).where((0,d.Uo)((0,d.eq)(g.aq.fileHash,r))))[0].count&&t)return await s.delete(g.V_).where((0,d.eq)(g.V_.hashId,r)),i})},this.deleteGlobalFile=async e=>this.db.delete(g.V_).where((0,d.eq)(g.V_.hashId,e)),this.countUsage=async()=>parseInt((await this.db.select({totalSize:(0,l.cz)(g.aq.size)}).from(g.aq).where((0,d.eq)(g.aq.userId,this.userId)))[0].totalSize)||0,this.deleteMany=async function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=await a.findByIds(e),r=i.map(e=>e.fileHash);return await a.db.transaction(async s=>{await a.deleteFileChunks(s,e),await s.delete(g.aq).where((0,d.Uo)((0,d.RV)(g.aq.id,e),(0,d.eq)(g.aq.userId,a.userId)));let n=new Map((await s.select({count:(0,l.U9)(),hashId:g.aq.fileHash}).from(g.aq).where((0,d.RV)(g.aq.fileHash,r)).groupBy(g.aq.fileHash)).map(e=>[e.hashId,e.count])),o=r.map(e=>({count:n.get(e)||0,hashId:e})).filter(e=>0===e.count);if(0!==o.length&&t)return await s.delete(g.V_).where((0,d.RV)(g.V_.hashId,o.map(e=>e.hashId))),i.filter(e=>o.some(t=>t.hashId===e.fileHash))})},this.clear=async()=>this.db.delete(g.aq).where((0,d.eq)(g.aq.userId,this.userId)),this.query=async function(){let{category:e,q:t,sortType:i,sorter:r,knowledgeBaseId:s,showFilesInKnowledgeBase:n}
1=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=(0,d.Uo)(t?(0,d.B3)(g.aq.name,"%".concat(t,"%")):void 0,(0,d.eq)(g.aq.userId,a.userId));if(e&&e!==u._K.All){let t=a.getFileTypePrefix(e);o=(0,d.Uo)(o,(0,d.B3)(g.aq.fileType,"".concat(t,"%")))}let l=(0,c.i)(g.aq.createdAt),p={createdAt:g.aq.createdAt,name:g.aq.name,size:g.aq.size,updatedAt:g.aq.updatedAt};r&&i&&r in p&&(l=(i.toLowerCase()===h.r.Asc?c.Y:c.i)(p[r]));let m=a.db.select({chunkTaskId:g.aq.chunkTaskId,createdAt:g.aq.createdAt,embeddingTaskId:g.aq.embeddingTaskId,fileType:g.aq.fileType,id:g.aq.id,name:g.aq.name,size:g.aq.size,updatedAt:g.aq.updatedAt,url:g.aq.url}).from(g.aq);return s?m=m.innerJoin(g.rx,(0,d.Uo)((0,d.eq)(g.aq.id,g.rx.fileId),(0,d.eq)(g.rx.knowledgeBaseId,s))):n||(o=(0,d.Uo)(o,(0,d.KJ)(a.db.select().from(g.rx).where((0,d.eq)(g.rx.fileId,g.aq.id))))),m.where(o).orderBy(l)},this.findByIds=async e=>this.db.query.files.findMany({where:(0,d.Uo)((0,d.RV)(g.aq.id,e),(0,d.eq)(g.aq.userId,this.userId))}),this.findById=async e=>this.db.query.files.findFirst({where:(0,d.Uo)((0,d.eq)(g.aq.id,e),(0,d.eq)(g.aq.userId,this.userId))}),this.countFilesByHash=async e=>(await this.db.select({count:(0,l.U9)()}).from(g.aq).where((0,d.Uo)((0,d.eq)(g.aq.fileHash,e))))[0].count,this.update=async(e,t)=>this.db.update(g.aq).set({...t,updatedAt:new Date}).where((0,d.Uo)((0,d.eq)(g.aq.id,e),(0,d.eq)(g.aq.userId,this.userId))),this.getFileTypePrefix=e=>{switch(e){case u._K.Audios:return"audio";case u._K.Documents:return"application";case u._K.Images:return"image";case u._K.Videos:return"video";default:return""}},this.findByNames=async e=>this.db.query.files.findMany({where:(0,d.Uo)((0,d.or)(...e.map(e=>(0,d.mj)(g.aq.name,"".concat(e,"%")))),(0,d.eq)(g.aq.userId,this.userId))}),this.deleteFileChunks=async(e,t)=>{let a=(await e.select({chunkId:p.T9.chunkId}).from(p.T9).where((0,d.RV)(p.T9.fileId,t))).map(e=>e.chunkId).filter(Boolean);if(0!==a.length){for(let t=0;t<a.length;t+=1e3){let i=a.slice(t,t+1e3);await e.delete(m.VV).where((0,d.RV)(m.VV.chunkId,i)),await e.delete(m.VN).where((0,d.RV)(m.VN.id,i))}return a}},this.getKnowledgeBaseUsage=async()=>{let e=await this.countUsage();return{totalCapacity:(await y.p.getUserKnowledgeSpace(this.userId)).data,usage:e}},this.userId=t,this.db=e}}var A=a(73416),v=a(14867).hp;class w extends A.Q{get fileModel(){return new f(o.s,this.userId)}constructor(...e){super(...e),this.createFile=async e=>{let t=await this.fileModel.create({fileHash:e.hash,fileType:e.fileType,knowledgeBaseId:e.knowledgeBaseId,metadata:e.metadata,name:e.name,size:e.size,url:e.url},!0),a=await this.getBase64ByFileHash(e.hash);return{id:t.id,url:"data:".concat(e.fileType,";base64,").concat(a)}},this.getFile=async e=>{let t=await this.fileModel.findById(e);if(!t)throw Error("file not found");let a=await r.h.getObject(t.fileHash);if(!a)throw Error("file not found");let i=URL.createObjectURL(a);return{createdAt:new Date(t.createdAt),id:e,name:t.name,size:t.size,type:t.fileType,updatedAt:new Date(t.updatedAt),url:i}},this.removeFile=async e=>{await this.fileModel.delete(e,!1)},this.removeFiles=async e=>{await this.fileModel.deleteMany(e,!1)},this.removeAllFiles=async()=>this.fileModel.clear(),this.checkFileHash=async e=>this.fileModel.checkHash(e),this.checkFile=async(e,t)=>({isExist:!1,isOverSize:!1,metadata:{}}),this.getBase64ByFileHash=async e=>{let t=await r.h.getObject(e);if(!t)throw Error("file not found");return v.from(await t.arrayBuffer()).toString("base64")}}}var _=a(28382);"pglite"===a(55036).env.NEXT_PUBLIC_CLIENT_DB?new w:new n;let I=new _.Z},5973:(e,t,a)=>{"use strict";a.d(t,{cA:()=>r,fw:()=>o});var i=a(39588);let r="Given the following conversation and a follow-up question, rephrase the follow up question to be a standalone question, in its original language. Keep as much details as possible from previous messages. Keep entity names and all.",s={model:i.UB,provider:i.Gr},n={model:i.UB,provider:i.ke},o={agentMeta:s,historyCompress:s,queryRewrite:{enabled:!1,model:i.UB,provider:i.Gr},thread:s,topic:s,translation:n}},7582:(e,t,a)=>{"use strict";a.d(t,{Cz:()=>u,Do:()=>H,Fv:()=>N,GF:()=>C,N:()=>k,NQ:()=>_,O1:()=>S,Qs:()=>w,RP:()=>p,U0:()=>h,Uo:()=>d,VU:()=>l,WX:()=>R,WZ:()=>I,X:()=>O,aB:()=>G,b8:()=>M,eQ:()=>b,fV:()=>m,ff:()=>c,gu:()=>F,h5:()=>P,hZ:()=>q,iU:()=>U,id:()=>E,jI:()=>f,jr:()=>y,nm:()=>A,nz:()=>L,pk:()=>T,qE:()=>v,sZ:()=>D,ve:()=>g,vw:()=>z,yf:()=>B});var i=a(47507),r=a(53797),s=a(68913),n=a(80239),o=a(1551);let l="chat_preview",d="https://chat.yixiaai.com/",c="https://chat.yixiaai.com/",u="https://www.yixiaai.com/",h=n.TB,g=(0,r.A)(h,"issues/new/choose");(0,r.A)(h,"blob/main/CHANGELOG.md");let p="https://hub.docker.com/r/lobehub/lobe-chat",m="https://chat.yixiaai.com/docs/blog/basic/interface.html",y=(0,r.A)(m,"/usage"),f=(0,r.A)(m,"/self-hosting"),A=(0,r.A)(f,"/advanced/webrtc"),v=(0,r.A)(f,"/server-database"),w="".concat(m,"?utm_source=").concat(l),_=(0,r.A)(h,"wiki"),I=(0,r.A)(y,"/plugins/development"),E=(0,r.A)(f,"/advanced/upstream-sync"),L=(0,r.A)(u,"blog");n.SN.O;let P="https://discord.com",T=(0,r.A)(u,"/privacy"),F=(0,r.A)(u,"/terms"),S="",b="",C="";(0,r.A)(C,"issues/new");let U=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.Ed,t=arguments.length>1?arguments[1]:void 0;return i.A.stringifyUrl({query:t?{session:e,showMobileWorkspace:t}:{session:e},url:"/chat"})},M=e=>(0,s.h)("/images/".concat(e)),k="settings",N="",B="",R="https://medium.com",O="https://x.com";(0,r.A)(h,"releases");let z=e=>"mailto:".concat(e),D="https://datatracker.ietf.org/doc/html/draft-ietf-avt-srtp-aes-gcm-01",q="https://chat.yixiaai.com/docs/usage/providers",H=(0,r.A)(u,"changelog/versions"),G="https://chat.yixiaai.com/docs/blog/plugins/plugins.html"},9119:(e,t,a)=>{"use strict";a.d(t,{J:()=>d});var i=a(89823),r=a(44117),s=a(55036);let n="1"===s.env.VERCEL,o="https://".concat(s.env.VERCEL_URL),l=s.env.APP_URL?s.env.APP_URL:n?o:void 0,d=(()=>{var e;
1let t=(null==(e=s.env.ACCESS_CODE)?void 0:e.split(",").filter(Boolean))||[];return(0,i.w)({client:{NEXT_PUBLIC_BASE_PATH:r.z.string(),NEXT_PUBLIC_ENABLE_SENTRY:r.z.boolean(),NEXT_PUBLIC_WECHAT_SYS_ID:r.z.string(),NEXT_PUBLIC_APP_NAME:r.z.string(),NEXT_PUBLIC_CHAT_SERVER_URL:r.z.string(),NEXT_PUBLIC_PAY_SERVER:r.z.string()},server:{ACCESS_CODES:r.z.any(r.z.string()).optional(),AGENTS_INDEX_URL:r.z.string().url(),ENABLE_CONTENT_AUDIT:r.z.boolean(),DEFAULT_AGENT_CONFIG:r.z.string(),SYSTEM_AGENT:r.z.string().optional(),PLUGINS_INDEX_URL:r.z.string().url(),PLUGIN_SETTINGS:r.z.string().optional(),APP_URL:r.z.string().optional(),VERCEL_EDGE_CONFIG:r.z.string().optional(),MIDDLEWARE_REWRITE_THROUGH_LOCAL:r.z.boolean().optional(),CDN_USE_GLOBAL:r.z.boolean().optional(),CUSTOM_FONT_FAMILY:r.z.string().optional(),CUSTOM_FONT_URL:r.z.string().optional(),SSRF_ALLOW_PRIVATE_IP_ADDRESS:r.z.boolean().optional(),SSRF_ALLOW_IP_ADDRESS_LIST:r.z.string().optional()},runtimeEnv:{NEXT_PUBLIC_BASE_PATH:s.env.NEXT_PUBLIC_BASE_PATH||"",NEXT_PUBLIC_WECHAT_SYS_ID:"aipromaxv2",NEXT_PUBLIC_APP_NAME:"AI æºæ
§å²",NEXT_PUBLIC_CHAT_SERVER_URL:"https://spe.yixiaai.com/api",NEXT_PUBLIC_PAY_SERVER:"WXPAY",NEXT_PUBLIC_ENABLE_SENTRY:!!s.env.NEXT_PUBLIC_SENTRY_DSN,ACCESS_CODES:t,AGENTS_INDEX_URL:s.env.AGENTS_INDEX_URL?s.env.AGENTS_INDEX_URL:"https://registry.npmmirror.com/@lobehub/agents-index/v1/files/public",ENABLE_CONTENT_AUDIT:"1"===s.env.ENABLE_CONTENT_AUDIT,DEFAULT_AGENT_CONFIG:s.env.DEFAULT_AGENT_CONFIG||"",SYSTEM_AGENT:s.env.SYSTEM_AGENT,PLUGINS_INDEX_URL:s.env.PLUGINS_INDEX_URL?s.env.PLUGINS_INDEX_URL:"https://chat-plugins.lobehub.com",PLUGIN_SETTINGS:s.env.PLUGIN_SETTINGS,VERCEL_EDGE_CONFIG:s.env.VERCEL_EDGE_CONFIG,APP_URL:l,MIDDLEWARE_REWRITE_THROUGH_LOCAL:"1"===s.env.MIDDLEWARE_REWRITE_THROUGH_LOCAL,CUSTOM_FONT_FAMILY:s.env.CUSTOM_FONT_FAMILY,CUSTOM_FONT_URL:s.env.CUSTOM_FONT_URL,CDN_USE_GLOBAL:"1"===s.env.CDN_USE_GLOBAL,SSRF_ALLOW_PRIVATE_IP_ADDRESS:"1"===s.env.SSRF_ALLOW_PRIVATE_IP_ADDRESS,SSRF_ALLOW_IP_ADDRESS_LIST:s.env.SSRF_ALLOW_IP_ADDRESS_LIST}})})()},11684:(e,t,a)=>{"use strict";a.d(t,{Ag:()=>r});var i=a(44117);let r={Builtin:"builtin",Custom:"custom"},s=i.z.object({defaultShowBrowserRequest:i.z.boolean().optional(),disableBrowserRequest:i.z.boolean().optional(),modelEditable:i.z.boolean().optional(),proxyUrl:i.z.object({desc:i.z.string().optional(),placeholder:i.z.string(),title:i.z.string().optional()}).or(i.z.literal(!1)).optional(),sdkType:i.z.enum(["anthropic","openai","ollama"]).optional(),searchMode:i.z.enum(["params","internal"]).optional(),showAddNewModel:i.z.boolean().optional(),showApiKey:i.z.boolean().optional(),showChecker:i.z.boolean().optional(),showDeployName:i.z.boolean().optional(),showModelFetcher:i.z.boolean().optional(),smoothing:i.z.object({text:i.z.boolean().optional(),toolsCalling:i.z.boolean().optional()}).optional()});i.z.object({config:i.z.object({}).passthrough().optional(),description:i.z.string().optional(),id:i.z.string(),keyVaults:i.z.any().optional(),logo:i.z.string().optional(),name:i.z.string(),sdkType:i.z.enum(["openai","anthropic"]).optional(),settings:s.optional(),source:i.z.enum(["builtin","custom"])}),i.z.object({config:i.z.object({}).passthrough().optional(),description:i.z.string().nullable().optional(),logo:i.z.string().nullable().optional(),name:i.z.string(),sdkType:i.z.enum(["openai","anthropic"]).optional(),settings:s.optional()}),i.z.object({checkModel:i.z.string().optional(),fetchOnClient:i.z.boolean().nullable().optional(),keyVaults:i.z.object({}).passthrough().optional()})},12678:(e,t,a)=>{"use strict";a.d(t,{D:()=>i,M:()=>r});var i=function(e){return e.Error="error",e.Finished="finished",e.Idle="idle",e.Initializing="initializing",e.LoadingDependencies="loadingDependencies",e.LoadingWasm="loadingWasm",e.Migrating="migrating",e.Ready="ready",e}({});let r=["idle","initializing","loadingDependencies","loadingWasm","migrating","finished"]},14964:(e,t,a)=>{"use strict";a.d(t,{UE:()=>d,Se:()=>l,sP:()=>u,IS:()=>o,dS:()=>c});var i=a(89823),r=a(44117),s=a(55036);let n=(0,i.w)({client:{NEXT_PUBLIC_BRANDING_LOGO_URL:r.z.string(),NEXT_PUBLIC_BRANDING_NAME:r.z.string(),NEXT_PUBLIC_LOBE_CHAT_CLOUD:r.z.string(),NEXT_PUBLIC_ORG_NAME:r.z.string()},runtimeEnv:{NEXT_PUBLIC_BRANDING_LOGO_URL:s.env.NEXT_PUBLIC_BRANDING_LOGO_URL||"",NEXT_PUBLIC_BRANDING_NAME:s.env.NEXT_PUBLIC_BRANDING_NAME||"",NEXT_PUBLIC_LOBE_CHAT_CLOUD:s.env.NEXT_PUBLIC_LOBE_CHAT_CLOUD||"",NEXT_PUBLIC_ORG_NAME:s.env.NEXT_PUBLIC_ORG_NAME||""}}),o=n.NEXT_PUBLIC_LOBE_CHAT_CLOUD||"AI æºæ
§å² äºç©ºé´",l=n.NEXT_PUBLIC_BRANDING_NAME||"AI æºæ
§å²",d=n.NEXT_PUBLIC_BRANDING_LOGO_URL||"/icons/icon-192x192.png",c=n.NEXT_PUBLIC_ORG_NAME||"AI Plus",u={help:void 0,privacy:void 0,terms:void 0}},16294:(e,t,a)=>{"use strict";a.d(t,{S:()=>r});let i=new Set(["uploading","pending","processing"]),r={dockFileList:e=>e.dockUploadFileList,dockRawFileList:e=>e.dockUploadFileList.map(e=>e.file),getFileById:e=>t=>{if(e)return t.fileList.find(t=>
1t.id===e)},isCreatingChunkEmbeddingTask:e=>t=>t.creatingEmbeddingTaskIds.includes(e),isCreatingFileParseTask:e=>t=>t.creatingChunkingTaskIds.includes(e),isUploadingFiles:e=>e.dockUploadFileList.some(e=>i.has(e.status)),overviewUploadingProgress:e=>{let t=e.dockUploadFileList.filter(e=>"uploading"===e.status||"pending"===e.status);if(0===t.length)return 100;let a=100*t.length;return t.reduce((e,t)=>{var a;return e+((null==(a=t.uploadState)?void 0:a.progress)||0)},0)/a*100},overviewUploadingStatus:e=>0===e.dockUploadFileList.length?"pending":e.dockUploadFileList.some(e=>i.has(e.status))?"uploading":"success"}},18999:(e,t,a)=>{"use strict";a.d(t,{P:()=>i});let i=e=>!!(e.startsWith("image")||e.startsWith("video")||e.startsWith("audio"))},20333:(e,t,a)=>{"use strict";a.d(t,{r:()=>i});var i=function(e){return e.Agent="agent",e.Group="group",e}({})},27692:(e,t,a)=>{"use strict";a.d(t,{F:()=>s});var i=a(30369);class r{constructor(){this.createAiProvider=async e=>i.du.aiProvider.createAiProvider.mutate(e),this.getAiProviderList=async()=>i.du.aiProvider.getAiProviderList.query(),this.getAiProviderById=async e=>i.du.aiProvider.getAiProviderById.query({id:e}),this.toggleProviderEnabled=async(e,t)=>i.du.aiProvider.toggleProviderEnabled.mutate({enabled:t,id:e}),this.updateAiProvider=async(e,t)=>i.du.aiProvider.updateAiProvider.mutate({id:e,value:t}),this.updateAiProviderConfig=async(e,t)=>i.du.aiProvider.updateAiProviderConfig.mutate({id:e,value:t}),this.updateAiProviderOrder=async e=>i.du.aiProvider.updateAiProviderOrder.mutate({sortMap:e}),this.deleteAiProvider=async e=>i.du.aiProvider.removeAiProvider.mutate({id:e}),this.getAiProviderRuntimeState=async e=>e?i.du.aiProvider.getAiProviderRuntimeState.query({isLogin:e}):i.du.aiProvider.getNoLoginAiProviderRuntimeState.query({isLogin:e})}}let s=new r},28382:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var i=a(30369);class r{constructor(){this.createFile=async(e,t)=>i.du.file.createFile.mutate({...e,knowledgeBaseId:t}),this.getFile=async e=>{let t=await i.du.file.findById.query({id:e});if(!t)throw Error("file not found");return{...t,type:t.fileType}},this.removeFile=async e=>{await i.du.file.removeFile.mutate({id:e})},this.removeFiles=async e=>{await i.du.file.removeFiles.mutate({ids:e})},this.removeAllFiles=async()=>{await i.du.file.removeAllFiles.mutate()},this.getFiles=async e=>i.du.file.getFiles.query(e),this.getFileItem=async e=>i.du.file.getFileItemById.query({id:e}),this.checkFileHash=async e=>i.du.file.checkFileHash.mutate({hash:e}),this.checkFile=async(e,t)=>i.du.file.checkFile.mutate({fileSize:t,hash:e}),this.removeFileAsyncTask=async(e,t)=>i.du.file.removeFileAsyncTask.mutate({id:e,type:t}),this.getKnowledgeBaseUsage=async()=>i.du.file.getKnowledgeBaseUsage.query()}}},29525:(e,t,a)=>{"use strict";a.d(t,{X:()=>i});var i=function(e){return e.Default="default",e.Pinned="pinned",e}({})},29696:(e,t,a)=>{"use strict";a.d(t,{CB:()=>d,M3:()=>o,cd:()=>s,k_:()=>r,xd:()=>l,z6:()=>n});var i=a(14964);let r="\uD83E\uDD16",s=i.UE||"/icons/icon-192x192.png",n="rgba(0,0,0,0)",o={},l="https://registry.npmmirror.com/@lobehub/fluent-emoji-3d/1.1.0/files/assets/1f916.webp",d=i.UE||"/icons/icon-192x192.png"},30369:(e,t,a)=>{"use strict";a.d(t,{LF:()=>c,Qm:()=>d,du:()=>l});var i=a(42188),r=a(93964),s=a(42554),n=a(17301);let o=[(0,i.fu)({fetch:async(e,t)=>{let i=await fetch(e,t);if(i.ok)return i;let r=await i.clone().json(),{loginRequired:s}=await Promise.all([a.e(96935),a.e(90194),a.e(12551),a.e(30463),a.e(80979),a.e(14867),a.e(10993),a.e(56650),a.e(12338),a.e(8912),a.e(7415),a.e(48381),a.e(42207),a.e(29195),a.e(48593)]).then(a.bind(a,94884)),{fetchErrorNotification:n}=await Promise.all([a.e(90194),a.e(12551),a.e(30463),a.e(10993),a.e(78485),a.e(26254)]).then(a.bind(a,26254));return r.forEach(e=>{let t=e.error.json,a=t.data.httpStatus;401===a?s.redirect():n.error({errorMessage:t.message,status:a})}),i},headers:async()=>{let{createHeaderWithAuth:e}=await Promise.all([a.e(96935),a.e(80979),a.e(14867),a.e(10993),a.e(56650),a.e(12338),a.e(8912),a.e(7415),a.e(42207),a.e(29195),a.e(64366),a.e(69051)]).then(a.bind(a,49662));return e({provider:n.l.OpenAI})},maxURLLength:2083,transformer:s.Ay,url:"/trpc/lambda"})],l=(0,i.XT)({links:o}),d=(0,r.pY)(),c=d.createClient({links:o})},34129:()=>{},35279:(e,t,a)=>{"use strict";a.d(t,{C:()=>c});var i=a(44117);let r=i.z.object({createdAt:i.z.number().optional(),data:i.z.instanceof(ArrayBuffer).optional(),fileType:i.z.string(),metadata:i.z.any().optional(),name:i.z.string(),saveMode:i.z.enum(["local","url"]),size:i.z.number(),url:i.z.string().optional()});var s=a(1307),n=a(13252),o=a(13585),l=a(14867).hp;class d extends o.t{async create(e){let t=(0,n.Ak)();return this._addWithSync(e,"file-".concat(t))}async findById(e){let t,a=await this.table.get(e);if(a){if(a.data)t=l.from(a.data).toString("base64");else{let e=a.url.replace("client-s3://","");t=await this.getBase64ByFileHash(e)}return{...a,base64:t,url:"data:".concat(a.fileType,";base64,").concat(t)}}}async delete(e){return this.table.delete(e)}async clear(){return this.table.clear()}async getBase64ByFileHash(e){let t=await s.h.getObject(e);
1if(!t)throw Error("file not found");return l.from(await t.arrayBuffer()).toString("base64")}constructor(){super("files",r)}}let c=new d},39588:(e,t,a)=>{"use strict";let i;a.d(t,{dM:()=>n,UB:()=>l,yZ:()=>o,Gr:()=>d,ke:()=>c});var r=a(17301),s=a(46817);let n=(i={lmstudio:{fetchOnClient:!0},ollama:{enabled:!0,fetchOnClient:!0},openai:{enabled:!0}},Object.keys(r.l).reduce((e,t)=>{let a=r.l[t],n=s["".concat(t,"ProviderCard")],o=i[a]||{};return e[a]={enabled:void 0!==o.enabled&&o.enabled,enabledModels:n?s.filterEnabledModels(n):[],...void 0!==o.fetchOnClient&&{fetchOnClient:o.fetchOnClient}},e},{})),o="deepseek/deepseek-chat",l="gpt-4o-mini";r.l.OpenAI;let d=r.l.OpenAI,c="translation"},42370:(e,t,a)=>{"use strict";a.d(t,{qm:()=>l,a$:()=>d});var i=a(88894),r=a(39588),s=a(99746),n=a(5973),o=a(94522);let l=30,d={defaultAgent:i.kz,general:{fontSize:14},keyVaults:{},languageModel:r.dM,sync:s.X,systemAgent:n.fw,tool:{dalle:{autoGenerate:!1}},tts:o.F}},47367:(e,t,a)=>{"use strict";a.d(t,{p:()=>s});var i=a(25478);class r{async deductAndSaveBalance(e,t,a,r){let s=await fetch("".concat(i.Eg.deductAndSaveBalance).concat(e),{body:JSON.stringify({msgid:r,text:a,type:t}),headers:{"Content-Type":"application/json"},method:"POST"});return await s.json()}async deductBalanceAndMsg(e,t){let a=await fetch("".concat(i.Eg.deductBalanceAndMsg).concat(e),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"},method:"POST"});return await a.json()}async deductBalanceReversal(e,t,a){let r=await fetch("".concat(i.Eg.deductBalanceReversal).concat(e),{body:JSON.stringify({msgId:a,type:t}),headers:{"Content-Type":"application/json"},method:"POST"});return await r.json()}async getUserKnowledgeSpace(e){let t=await fetch("".concat(i.Eg.queryKnowledgeSpace).concat(e));return await t.json()}}let s=new r},48514:(e,t,a)=>{"use strict";a.d(t,{C:()=>i,i:()=>r});let i=!1,r=!1},49903:(e,t,a)=>{"use strict";a.d(t,{e:()=>l,z:()=>c});var i=a(12138),r=a(82315),s=a(17528),n=a(1307),o=a(12677);let l="NetWorkError";class d{constructor(){this.uploadWithProgress=async(e,t)=>{let{onProgress:a,directory:i}=t,r=new XMLHttpRequest,{preSignUrl:s,...n}
1=await this.getSignedUploadUrl(e,i),o=Date.now();r.upload.addEventListener("progress",e=>{if(e.lengthComputable){let t=Number((e.loaded/e.total*100).toFixed(1)),i=e.loaded/((Date.now()-o)/1e3);null==a||a("uploading",{progress:100===t?99.9:t,restTime:(e.total-e.loaded)/i,speed:i})}}),r.open("PUT",s),r.setRequestHeader("Content-Type",e.type);let d=await e.arrayBuffer();return await new Promise((t,i)=>{r.addEventListener("load",()=>{r.status>=200&&r.status<300?(null==a||a("success",{progress:100,restTime:0,speed:e.size/((Date.now()-o)/1e3)}),t(r.response)):i(r.statusText)}),r.addEventListener("error",()=>{0===r.status?i(l):i(r.statusText)}),r.send(d)}),n},this.uploadToClientS3=async(e,t)=>(await n.h.putObject(e,t),{date:(Date.now()/1e3/60/60).toFixed(0),dirname:"",filename:t.name,path:"client-s3://".concat(e)}),this.getImageFileByUrlWithCORS=async function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"image/png",i=await fetch(s.S.proxy,{body:e,method:"POST"});return new File([await i.arrayBuffer()],t,{lastModified:Date.now(),type:a})},this.getSignedUploadUrl=async(e,t)=>{let a="".concat((0,o.A)(),".").concat(e.name.split(".").at(-1)),s=(Date.now()/1e3/60/60).toFixed(0),n="".concat(t||i.m.NEXT_PUBLIC_S3_FILE_PATH,"/").concat(s),l="".concat(n,"/").concat(a),d=await r.r.upload.createS3PreSignedUrl.mutate({pathname:l});return{date:s,dirname:n,filename:a,path:l,preSignUrl:d}}}}let c=new d},53071:(e,t,a)=>{"use strict";a.d(t,{r:()=>r});var i=a(44117),r=function(e){return e.Asc="asc",e.Desc="desc",e}({});i.z.object({category:i.z.string().optional(),knowledgeBaseId:i.z.string().optional(),q:i.z.string().nullable().optional(),showFilesInKnowledgeBase:i.z.boolean().default(!1),sortType:i.z.enum(["desc","asc"]).optional(),sorter:i.z.enum(["createdAt","size"]).optional()})},58213:(e,t,a)=>{"use strict";a.d(t,{Cf:()=>n,Ju:()=>s,lA:()=>r});var i=a(48639);let r=(e,t,a)=>(0,i.Ay)(e,t,{dedupingInterval:0,focusThrottleInterval:3e5,refreshWhenOffline:!1,revalidateOnFocus:!0,revalidateOnReconnect:!0,...a}),s=(e,t,a)=>(0,i.Ay)(e,t,{refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,...a}),n=(e,t,a)=>(0,i.Ay)(e,t,{refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnMount:!1,revalidateOnReconnect:!1,...a})},59165:(e,t,a)=>{"use strict";a.d(t,{_K:()=>i});var i=function(e){return e.All="all",e.Audios="audios",e.Documents="documents",e.Images="images",e.Videos="videos",e.Websites="websites",e}({})},62567:(e,t,a)=>{"use strict";a.d(t,{Hy:()=>l,V_:()=>n,fF:()=>c,yh:()=>d,zJ:()=>o});var i=a(80239),r=a(14964),s=a(55036);let n=i.rE,o=!0,l="pglite"===s.env.NEXT_PUBLIC_CLIENT_DB,d=!o&&!l,c="LobeChat"!==r.Se;r.dS},64366:(e,t,a)=>{"use strict";a.d(t,{l:()=>I,d:()=>_});var i=a(16807),r=a(86817),s=a(79138);let n={activeProviderModelList:[],aiProviderConfigUpdatingIds:[],aiProviderList:[],aiProviderLoadingIds:[],aiProviderRuntimeConfig:{},initAiProviderList:!1,providerSearchKeyword:"",aiModelLoadingIds:[],aiProviderModelList:[],builtinAiModelList:[],modelSearchKeyword:""};var o=a(24641),l=a.n(o),d=a(20792),c=a(58213),u=a(30369);class h{constructor(){this.createAiModel=async e=>u.du.aiModel.createAiModel.mutate(e),this.getAiProviderModelList=async e=>u.du.aiModel.getAiProviderModelList.query({id:e}),this.getAiModelById=async e=>u.du.aiModel.getAiModelById.query({id:e}),this.toggleModelEnabled=async e=>u.du.aiModel.toggleModelEnabled.mutate(e),this.updateAiModel=async(e,t,a)=>u.du.aiModel.updateAiModel.mutate({id:e,providerId:t,value:a}),this.batchUpdateAiModels=async(e,t)=>u.du.aiModel.batchUpdateAiModels.mutate({id:e,models:t}),this.batchToggleAiModels=async(e,t,a)=>u.du.aiModel.batchToggleAiModels.mutate({enabled:a,id:e,models:t}),this.clearModelsByProvider=async e=>u.du.aiModel.clearModelsByProvider.mutate({providerId:e}),this.clearRemoteModels=async e=>u.du.aiModel.clearRemoteModels.mutate({providerId:e}),this.updateAiModelOrder=async(e,t)=>u.du.aiModel.updateAiModelOrder.mutate({providerId:e,sortMap:t}),this.deleteAiModel=async e=>u.du.aiModel.removeAiModel.mutate(e)}}let g=new h,p="FETCH_AI_PROVIDER_MODELS";var m=a(84053),y=a(62567),f=a(27692),A=a(11684),v=function(e){return e.fetchAiProviderItem="FETCH_AI_PRO
1VIDER_ITEM",e.fetchAiProviderList="FETCH_AI_PROVIDER",e.fetchAiProviderRuntimeState="FETCH_AI_PROVIDER_RUNTIME_STATE",e}(v||{});let w=(0,s.t)("aiInfra"),_=(0,r.h)()(w(function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return{...n,...((e,t)=>({batchToggleAiModels:async(e,a)=>{let{activeAiProvider:i}=t();i&&(await g.batchToggleAiModels(i,e,a),await t().refreshAiModelList())},batchUpdateAiModels:async e=>{let{activeAiProvider:a}=t();a&&(await g.batchUpdateAiModels(a,e),await t().refreshAiModelList())},clearModelsByProvider:async e=>{await g.clearModelsByProvider(e),await t().refreshAiModelList()},clearRemoteModels:async e=>{await g.clearRemoteModels(e),await t().refreshAiModelList()},createNewAiModel:async e=>{await g.createAiModel(e),await t().refreshAiModelList()},fetchRemoteModelList:async e=>{let{modelsService:i}=await Promise.all([a.e(96935),a.e(9025),a.e(40467),a.e(86699),a.e(90194),a.e(80979),a.e(14867),a.e(10993),a.e(56650),a.e(12338),a.e(8912),a.e(7415),a.e(91410),a.e(49649),a.e(53890),a.e(42207),a.e(29195),a.e(2570),a.e(49625),a.e(61919),a.e(16597)]).then(a.bind(a,26508)),r=await i.getChatModels(e);r&&(await t().batchUpdateAiModels(r.map(e=>({...e,abilities:{files:e.files,functionCall:e.functionCall,reasoning:e.reasoning,vision:e.vision},enabled:e.enabled||!1,source:"remote",type:"chat"}))),await t().refreshAiModelList())},internal_toggleAiModelLoading:(t,a)=>{e(e=>a?{aiModelLoadingIds:[...e.aiModelLoadingIds,t]}:{aiModelLoadingIds:e.aiModelLoadingIds.filter(e=>e!==t)},!1,"toggleAiModelLoading")},refreshAiModelList:async()=>{await (0,d.j)([p,t().activeAiProvider]),t().refreshAiProviderRuntimeState()},removeAiModel:async(e,a)=>{await g.deleteAiModel({id:e,providerId:a}),await t().refreshAiModelList()},toggleModelEnabled:async e=>{let{activeAiProvider:a}=t();a&&(t().internal_toggleAiModelLoading(e.id,!0),await g.toggleModelEnabled({...e,providerId:a}),await t().refreshAiModelList(),t().internal_toggleAiModelLoading(e.id,!1))},updateAiModelsConfig:async(e,a,i)=>{await g.updateAiModel(e,a,i),await t().refreshAiModelList()},updateAiModelsSort:async(e,a)=>{await g.updateAiModelOrder(e,a),await t().refreshAiModelList()},useFetchAiProviderModels:a=>(0,c.lA)([p,a],e=>{let[,t]=e;return g.getAiProviderModelList(t)},{onSuccess:i=>{t().isAiModelListInit&&l()(i,t().aiProviderModelList)||e({aiProviderModelList:i,isAiModelListInit:!0},!1,"useFetchAiProviderModels/".concat(a))}})}))(...t),...((e,t)=>({createNewAiProvider:async e=>{await f.F.createAiProvider({...e,source:A.Ag.Custom}),await t().refreshAiProviderList()},deleteAiProvider:async e=>{await f.F.deleteAiProvider(e),await t().refreshAiProviderList()},internal_toggleAiProviderConfigUpdating:(t,a)=>{e(e=>a?{aiProviderConfigUpdatingIds:[...e.aiProviderConfigUpdatingIds,t]}:{aiProviderConfigUpdatingIds:e.aiProviderConfigUpdatingIds.filter(e=>e!==t)},!1,"toggleAiProviderLoading")},internal_toggleAiProviderLoading:(t,a)=>{e(e=>a?{aiProviderLoadingIds:[...e.aiProviderLoadingIds,t]}:{aiProviderLoadingIds:e.aiProviderLoadingIds.filter(e=>e!==t)},!1,"toggleAiProviderLoading")},refreshAiProviderDetail:async()=>{await (0,d.j)(["FETCH_AI_PROVIDER_ITEM",t().activeAiProvider]),await t().refreshAiProviderRuntimeState()},refreshAiProviderList:async()=>{await (0,d.j)("FETCH_AI_PROVIDER"),await t().refreshAiProviderRuntimeState()},refreshAiProviderRuntimeState:async()=>{await (0,d.j)(["FETCH_AI_PROVIDER_RUNTIME_STATE",!0])},removeAiProvider:async e=>{await f.F.deleteAiProvider(e),await t().refreshAiProviderList()},toggleProviderEnabled:async(e,a)=>{t().internal_toggleAiProviderLoading(e,!0),await f.F.toggleProviderEnabled(e,a),await t().refreshAiProviderList(),t().internal_toggleAiProviderLoading(e,!1)},updateAiProvider:async(e,a)=>{t().internal_toggleAiProviderLoading(e,!0),await f.F.updateAiProvider(e,a),await t().refreshAiProviderList(),await t().refreshAiProviderDetail(),t().internal_toggleAiProviderLoading(e,!1)},updateAiProviderConfig:async(e,a)=>{t().internal_toggleAiProviderConfigUpdating(e,!0),await f.F.updateAiProviderConfig(e,a),await t().refreshAiProviderDetail(),t().internal_toggleAiProvi
1derConfigUpdating(e,!1)},updateAiProviderSort:async e=>{await f.F.updateAiProviderOrder(e),await t().refreshAiProviderList()},useFetchAiProviderItem:t=>(0,c.lA)(["FETCH_AI_PROVIDER_ITEM",t],()=>f.F.getAiProviderById(t),{onSuccess:a=>{a&&e({activeAiProvider:t,aiProviderDetail:a},!1,"useFetchAiProviderItem")}}),useFetchAiProviderList:()=>(0,c.lA)("FETCH_AI_PROVIDER",()=>f.F.getAiProviderList(),{fallbackData:[],onSuccess:a=>{if(!t().initAiProviderList)return void e({aiProviderList:a,initAiProviderList:!0},!1,"useFetchAiProviderList/init");e({aiProviderList:a},!1,"useFetchAiProviderList/refresh")}}),useFetchAiProviderRuntimeState:t=>(0,c.lA)(y.yh?null:["FETCH_AI_PROVIDER_RUNTIME_STATE",t],async e=>{let[,t]=e;return f.F.getAiProviderRuntimeState(t)},{onSuccess:async t=>{if(!t)return;let i=t.enabledAiProviders.map(e=>({...e,children:((e,a)=>{let i=t.enabledAiModels.filter(t=>t.providerId===e&&t.type===a).map(e=>{var t;return{abilities:e.abilities||{},contextWindowTokens:e.contextWindowTokens,displayName:null!=(t=e.displayName)?t:"",id:e.id}});return(0,m.A)(i,"id")})(e.id,"chat"),name:e.name||e.id})),{LOBE_DEFAULT_MODEL_LIST:r}=await Promise.all([a.e(85955),a.e(25192)]).then(a.bind(a,85955));e({aiProviderRuntimeConfig:t.runtimeConfig,builtinAiModelList:r,enabledAiModels:t.enabledAiModels,enabledAiProviders:t.enabledAiProviders,enabledChatModelList:i},!1,"useFetchAiProviderRuntimeState")}})}))(...t)}}),i.x),I=()=>_.getState()},68913:(e,t,a)=>{"use strict";a.d(t,{h:()=>r});var i=a(9119);let r=e=>i.J.NEXT_PUBLIC_BASE_PATH+e},70307:(e,t,a)=>{"use strict";a.d(t,{T:()=>r});let i="LOBE_GLOBAL";class r{async saveToLocalStorage(e){let t=await this.getFromLocalStorage();localStorage.setItem(this.storageKey,JSON.stringify({...t,...e}))}async getFromLocalStorage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.storageKey;return JSON.parse(localStorage.getItem(e)||"{}")}constructor(e){if(this.storageKey=e,localStorage.getItem(i)){var t;let e=JSON.parse(localStorage.getItem(i)||"{}"),a=e.state.preference;(null==(t=e.state)?void 0:t.preference)&&localStorage.setItem("LOBE_PREFERENCE",JSON.stringify(a)),localStorage.removeItem(i)}}}},71085:(e,t,a)=>{"use strict";a.d(t,{h:()=>r});var i=a(80979);let r=(e,t)=>(0,i.A)({},e,t,(e,t)=>{if(Array.isArray(e))return t})},79138:(e,t,a)=>{"use strict";a.d(t,{t:()=>s});var i=a(22112),r=a(48514);let s=e=>t=>{let a=!1;{let t=new URL(window.location.href).searchParams.get("debug");(null==t?void 0:t.includes(e))&&(a=!0)}return(0,i.z)(a)(t,{name:"LobeChat_".concat(e)+(r.C?"_DEV":"")})}},80239:e=>{"use strict";e.exports=JSON.parse('{"rE":"1.70.6","TB":"https://chat.yixiaai.com","SN":{"O":"https://www.yixiaai.com/feedback"}}')},82432:()=>{},83660:(e,t,a)=>{"use strict";a.d(t,{o:()=>s});var i=a(30369);class r{constructor(){this.createParseFileTask=async(e,t)=>i.du.chunk.createParseFileTask.mutate({id:e,skipExist:t}),this.retryParseFile=async e=>i.du.chunk.retryParseFileTask.mutate({id:e}),this.createEmbeddingChunksTask=async e=>i.du.chunk.createEmbeddingChunksTask.mutate({id:e}),this.semanticSearch=async(e,t)=>i.du.chunk.semanticSearch.mutate({fileIds:t,query:e}),this.semanticSearchForChat=async e=>i.du.chunk.semanticSearchForChat.mutate(e),this.deleteMessageRagQuery=async e=>i.du.message.removeMessageQuery.mutate({id:e})}}let s=new r},88894:(e,t,a)=>{"use strict";a.d(t,{HA:()=>d,NN:()=>o,Nm:()=>n,iD:()=>l,kz:()=>c});var i=a(29696),r=a(39588),s=a(17301);let n={showAllLocaleVoice:!1,sttLocale:"auto",ttsService:"openai",voice:{openai:"alloy"}},o={model:r.UB,provider:s.l.OpenAI},l={autoCreateTopicThreshold:2,displayMode:"chat",enableAutoCreateTopic:!0,enableCompressHistory:!0,enableHistoryCount:!0,enableReasoning:!1,historyCount:9,reasoningBudgetToken:1024,searchFCModel:o,searchMode:"off"},d={chatConfig:l,model:r.yZ,params:{frequency_penalty:0,presence_penalty:0,temperature:1,top_p:1},plugins:[],provider:s.l.DeepSeek,systemRole:"",tts:n};r.yZ,s.l.DeepSeek;let c={config:d,meta:i.M3}},94522:(e,t,a)=>{"use strict";a.d(t,{F:()=>i});let i={openAI:{sttModel:"whisper-1",ttsModel:"tts-1"},sttAutoStop:!0,sttServer:"openai"}},96754:(e,t,a)=>{"use strict";a.d(t,{x:()=>R});var i=a(16807),r=a(86817),s=a(79138);let n={chatUploadFileList:[],uploadingIds:[],creatingChunkingTaskIds:[],creatingEmbeddingTaskIds:[],dockUploadFileList:[],fileList:[],chunkDetailId:null,highlightChunkIds:[],similaritySearchChunks:[]};var o=a(10993),l=a(29014);let d=[".DS_Store"];var c=a(5831),u=a(28382),h=a(83660),g=a(49903),p=a(85989),m=a(80827),y=a(24919),f=a(3476);let A=(e,t)=>
1{switch(t.type){case"addFile":return(0,y.jM)(e,e=>{let{atStart:a,file:i}=t;a?e.unshift(i):e.push(i)});case"addFiles":return(0,y.jM)(e,e=>{let{atStart:a,files:i}=t;for(let t of i)a?e.unshift(t):e.push(t)});case"updateFile":return(0,y.jM)(e,e=>{let a=e.find(e=>e.id===t.id);a&&Object.assign(a,t.value)});case"updateFileStatus":return(0,y.jM)(e,e=>{let a=e.find(e=>e.id===t.id);a&&(a.status=t.status)});case"updateFileUploadState":return(0,y.jM)(e,e=>{let a=e.find(e=>e.id===t.id);a&&(a.uploadState=t.uploadState)});case"removeFile":return(0,y.jM)(e,e=>{let a=e.findIndex(e=>e.id===t.id);-1!==a&&e.splice(a,1)});case"removeFiles":return(0,y.jM)(e,e=>{for(let a of t.ids){let t=e.findIndex(e=>e.id===a);-1!==t&&e.splice(t,1)}});case"error":return f.A.confirm({cancelText:"åæ¶",centered:!0,okButtonProps:{danger:!0},okText:"确认",onOk:()=>{window.location.href="/vip"},rootClassName:"z-index: 2000;",title:t.value}),(0,y.jM)(e,e=>{let a=e.findIndex(e=>e.id===t.id);-1!==a&&e.splice(a,1)});default:throw Error("Unhandled action type")}};var v=a(29195),w=a(17783),_=a(18999),I=a(33282),E=a(119),L=a(14867).hp;let P=(0,E.K)("chat"),T=new u.Z;var F=a(20792),S=a(58213),b=a(16294);let C=new u.Z,U="useFetchFileManage";var M=a(18499),k=a(14964),N=a(62567);let B=(0,s.t)("file"),R=(0,r.h)()(B(function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return{...n,...((e,t)=>({clearChatUploadFileList:()=>{e({chatUploadFileList:[]},!1,P("clearChatUploadFileList"))},dispatchChatUploadFileList:a=>{let i=A(t().chatUploadFileList,a);i!==t().chatUploadFileList&&e({chatUploadFileList:i},!1,"dispatchChatFileList/".concat(a.type))},removeChatUploadFile:async e=>{let{dispatchChatUploadFileList:a}=t();a({id:e,type:"removeFile"}),await c.Y.removeFile(e)},startAsyncTask:async(e,t,a)=>{await t(e);let i=!1;for(;!i;){let t;await (0,I.y)(2e3);try{t=await T.getFileItem(e)}catch(e){console.error("getFileItem Error:",e);continue}if(!t)return;a(t),t.finishEmbedding?i=!0:("error"===t.chunkingStatus||"error"===t.embeddingStatus)&&(i=!0)}},uploadChatFiles:async e=>{let{dispatchChatUploadFileList:a,startAsyncTask:i}=t(),r=e.filter(e=>!d.includes(e.name));a({files:await Promise.all(r.map(async e=>{let t,a;if(e.type.startsWith("image")||e.type.startsWith("video")){let i=await e.arrayBuffer();t=URL.createObjectURL(new Blob([i],{type:e.type}));let r=L.from(i).toString("base64");a="data:".concat(e.type,";base64,").concat(r)}return{base64Url:a,file:e,id:e.name,previewUrl:t,status:"pending"}})),type:"addFiles"});let s=r.map(async e=>{let r;try{r=await t().uploadWithProgress({file:e,onStatusUpdate:a})}catch(t){(null==t?void 0:t.message)!=="UNAUTHORIZED"&&l.Ew.error({description:t===g.e?(0,o.t)("upload.networkError",{ns:"error"}):"string"==typeof t?t:(0,o.t)("upload.unknownError",{ns:"error",reason:t.message}),message:(0,o.t)("upload.uploadFailed",{ns:"error"})}),a({id:e.name,type:"removeFile"})}r&&((0,_.P)(e.type)||(a({id:r.id,type:"updateFile",value:{tasks:{}}}),await i(r.id,async e=>{let t=await h.o.createParseFileTask(e);if(!t||!t.id)throw Error("failed to createParseFileTask");return m.o.getState().addFilesToAgent([e],!1).then(()=>{w.U.shouldTriggerFileInKnowledgeBaseTip(v.k.getState())&&p.D.updateGuide({uploadFileInKnowledgeBase:!0})}),t.id},e=>{a({id:r.id,type:"updateFile",value:{tasks:{chunkCount:e.chunkCount,chunkingError:e.chunkingError,chunkingStatus:e.chunkingStatus,embeddingError:e.embeddingError,embeddingStatus:e.embeddingStatus,finishEmbedding:e.finishEmbedding}}})})))});await Promise.all(s)}}))(...t),...((e,t)=>({dispatchDockFileList:a=>{let i=A(t().dockUploadFileList,a);i!==t().dockUploadFileList&&e({dockUploadFileList:i},!1,"dispatchDockFileList/".concat(a.type))},embeddingChunks:async e=>{t().toggleEmbeddingIds(e);let a=e.map(async e=>{try{await h.o.createEmbeddingChunksTask(e)}catch(e){console.error(e)}});await Promise.all(a),await t().refreshFileList(),t().toggleEmbeddingIds(e,!1)},parseFilesToChunks:async(e,a)=>{t().toggleParsingIds(e);let i=e.map(async e=>{try{await h.o.createParseFileTask(e,null==a?void 0:a.skipExist)}catch(e){console.error(e)}});await Promise.all(i),await t().refreshFileList(),t().toggleParsingIds(e,!1)},pushDockFileList:async(e,a)=>{let{dispatchDockFileList:i}=t(),r=e.filter(e=>!d.includes(e.name));i({atStart:!0,files:r.map(e=>({file:e,id:e.name,status:"pending"})),type:"addFiles"});let s=r.map(async e=>{await t().uploadWithProgress({file:e,knowledgeBaseId:a,onStatusUpdate:i}),await t().refreshFileList()});await Promise.all(s)},reEmbeddingChunks:async e=>{b.S.isCreatingChunkEmbeddingTask(e)(t())||(t().toggleEmbeddingIds([e]),await C.removeFileAsyncTask(e,"embedding"),await t().refreshFileList(),await h.o.createEmbeddingChunksTask(e),await t().refreshFileList(),t().toggleEmbeddingIds([e],!1))},reParseFile:async e=>{t().toggleParsingIds([e]),await h.o.retryParseFile(e),await t().refreshFileList(),t().toggleParsingIds([e],!1)},refreshFileList:async()=>{await (0,F.j)([U,t().queryListParams])},removeAllFiles:async()=>{await c.Y.removeAllFiles()},removeFileItem:async e=>{await c.Y.removeFile(e),await t().refreshFileList()},removeFiles:async e=>{await c.Y.removeFiles(e),await t().refreshFileList()},toggleEmbeddingIds:(t,a)=>{e(e=>{let i=new Set(e.creatingEmbeddingTaskIds);
1return t.forEach(e=>{void 0===a?i.has(e)?i.delete(e):i.add(e):a?i.add(e):i.delete(e)}),{creatingEmbeddingTaskIds:Array.from(i.values())}})},toggleParsingIds:(t,a)=>{e(e=>{let i=new Set(e.creatingChunkingTaskIds);return t.forEach(e=>{void 0===a?i.has(e)?i.delete(e):i.add(e):a?i.add(e):i.delete(e)}),{creatingChunkingTaskIds:Array.from(i.values())}})},useFetchFileItem:e=>(0,S.lA)(e?["useFetchFileItem",e]:null,()=>C.getFileItem(e)),useFetchFileManage:t=>(0,S.lA)([U,t],()=>C.getFiles(t),{onSuccess:a=>{e({fileList:a,queryListParams:t})}}),useFetchKnowledgeBaseUsage:()=>(0,S.lA)("useFetchKnowledgeBaseUsage",()=>C.getKnowledgeBaseUsage())}))(...t),...((e,t)=>({removeTTSFile:async e=>{await c.Y.removeFile(e)},uploadTTSByArrayBuffers:async(e,a)=>{let i="audio/mp3",r=new Blob(a,{type:i}),s={lastModified:Date.now(),type:i},n=new File([r],"".concat(e,".mp3"),s),o=await t().uploadWithProgress({file:n,skipCheckFileType:!0});return null==o?void 0:o.id},useFetchTTSFile:e=>(0,S.lA)(e?["fetchTTSFile",e]:null,()=>c.Y.getFile(e))}))(...t),...(e=>({closeChunkDrawer:()=>{e({chunkDetailId:null,isSimilaritySearch:!1,similaritySearchChunks:[]})},highlightChunks:t=>{e({highlightChunkIds:t})},openChunkDrawer:t=>{e({chunkDetailId:t})},semanticSearch:async(t,a)=>{e({isSimilaritySearching:!0}),e({isSimilaritySearching:!1,similaritySearchChunks:await h.o.semanticSearch(t,[a])})}}))(...t),...(()=>({uploadWithProgress:async e=>{let t,i,{file:r,onStatusUpdate:s,knowledgeBaseId:n,skipCheckFileType:d}=e,u=await r.arrayBuffer(),h=(0,M.sha256)(u);if((t=r.type.startsWith("image")?await c.Y.checkFileHash(h):await c.Y.checkFile(h,r.size)).isOverSize)throw null==s||s({id:r.name,type:"error",value:"æ¨çäºç©ºé´ä¸è¶³ï¼è¯·å 餿件æå级ä¼å以è·åæ´å¤ç©ºé´"}),Error("æ¨çäºç©ºé´ä¸è¶³ï¼è¯·å 餿件æå级ä¼å以è·åæ´å¤ç©ºé´");if(t.isExist)i=t.metadata,null==s||s({id:r.name,type:"updateFile",value:{status:"processing",uploadState:{progress:100,restTime:0,speed:0}}});else if(N.zJ)i=await g.z.uploadWithProgress(r,{onProgress:(e,t)=>{null==s||s({id:r.name,type:"updateFile",value:{status:"success"===e?"processing":e,uploadState:t}})}});else{if(!d&&!r.type.startsWith("image")){null==s||s({id:r.name,type:"removeFile"}),l.iU.info({content:(0,o.t)("upload.fileOnlySupportInServerMode",{cloud:k.IS,ext:r.name.split(".").pop(),ns:"error"}),duration:5});return}i=await g.z.uploadToClientS3(h,r)}let p=r.type;if(!r.type){let{fileTypeFromBuffer:e}=await a.e(22285).then(a.bind(a,22285)),t=await e(u);p=(null==t?void 0:t.mime)||"text/plain"}let m=await c.Y.createFile({fileType:p,hash:h,metadata:i,name:r.name,size:r.size,url:i.path},n);return null==s||s({id:r.name,type:"updateFile",value:{fileUrl:m.url,id:m.id,status:"success",uploadState:{progress:100,restTime:0,speed:0}}}),m}}))(...t)}}),i.x)},99746:(e,t,a)=>{"use strict";a.d(t,{X:()=>i});let i={webrtc:{enabled:!1}}}}]);
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.