@deep-eye/core 1.2.45 → 1.2.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/components/chat/ChatBot.vue.d.ts.map +1 -1
- package/dist/components/chat/components/ChatAttachments.vue.d.ts.map +1 -1
- package/dist/components/chat/mdoc/AskUserForm.vue.d.ts.map +1 -1
- package/dist/components/chat/types.d.ts +3 -3
- package/dist/components/chat/types.d.ts.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +655 -636
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
*
|
|
204
204
|
* This source code is licensed under the ISC license.
|
|
205
205
|
* See the LICENSE file in the root directory of this source tree.
|
|
206
|
-
*/const W6=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Sl=Ke("x",W6),z6={class:"chat-actionbar","aria-label":"回复操作"},X6=["disabled","aria-label","title"],j6={class:"chat-actionbar__status","aria-live":"polite"},$6=C.defineComponent({name:"ChatActionbar",__name:"ChatActionbar",props:{message:{},text:{}},emits:["copy"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(!1),n=C.ref(!1),a=C.computed(()=>e.text??e.message.content??""),o=C.computed(()=>a.value.trim().length>0);let s;async function g(){if(!o.value)return;const c=a.value;if(s&&clearTimeout(s),!await l(c)){i.value=!1,n.value=!0,s=setTimeout(()=>{n.value=!1},2e3);return}n.value=!1,i.value=!0,s=setTimeout(()=>{i.value=!1},2e3),r("copy",{message:e.message,text:c})}async function l(c){var u;if(typeof navigator<"u"&&((u=navigator.clipboard)!=null&&u.writeText))try{return await navigator.clipboard.writeText(c),!0}catch{}if(typeof document>"u")return!1;const h=document.createElement("textarea");h.value=c,h.setAttribute("readonly",""),h.style.position="fixed",h.style.opacity="0",document.body.append(h),h.select();try{return document.execCommand("copy")}finally{h.remove()}}return C.onBeforeUnmount(()=>{s&&clearTimeout(s)}),(c,h)=>(C.openBlock(),C.createElementBlock("div",z6,[C.renderSlot(c.$slots,"default",{message:t.message,copied:i.value,copyFailed:n.value,copy:g},()=>[C.createElementVNode("button",{class:C.normalizeClass(["chat-actionbar__copy",{"chat-actionbar__copy--failed":n.value}]),type:"button",disabled:!o.value,"aria-label":i.value?"已复制回复":n.value?"复制失败":"复制回复",title:i.value?"已复制":n.value?"复制失败,请重试":o.value?"复制回复":"没有可复制内容","data-testid":"chat-actionbar-copy",onClick:g},[i.value?(C.openBlock(),C.createBlock(C.unref(Ev),{key:0,class:"chat-actionbar__success-icon",size:14,"stroke-width":2,"aria-hidden":"true"})):n.value?(C.openBlock(),C.createBlock(C.unref(n3),{key:1,class:"chat-actionbar__error-icon",size:14,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createBlock(C.unref(s6),{key:2,class:"chat-actionbar__copy-icon",size:14,"stroke-width":1.75,"aria-hidden":"true"}))],10,X6),C.createElementVNode("span",j6,C.toDisplayString(i.value?"已复制":n.value?"复制失败":""),1)],!0)]))}}),a3=ve($6,[["__scopeId","data-v-20cdf925"]]);function Ps(t,A={}){const e=t.trim();if(!e||!AG(e)||e.includes("imageView2"))return t;const{width:r,height:i}=A,n=ty(r),a=ty(i);if(n===void 0&&a===void 0)return t;let o="imageView2/2";n!==void 0&&(o+=`/w/${n}`),a!==void 0&&(o+=`/h/${a}`);const s=e.includes("?")?"&":"?";return`${e}${s}${o}`}function AG(t){if(t.startsWith("blob:")||t.startsWith("data:"))return!1;try{return new URL(t,typeof location<"u"?location.href:"https://example.com").hostname.includes("yxuer.com")}catch{return/(?:^|[/.])yxuer\.com(?:[/:]|$)/i.test(t)}}function ty(t){if(t===void 0||!Number.isFinite(t))return;const A=Math.round(t);return A>0?A:void 0}const o3=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","webp"]),eG=new Set(["csv","docx","htm","html","json","markdown","md","pdf","pptx","txt","xls","xlsx"]),s3=new Set(["aac","flac","m4a","mp3","oga","ogg","wav"]),g3=new Set(["avi","m4v","mkv","mov","mp4","webm"]),Q0={maxFiles:10,imageMaxSize:20*1024*1024,documentMaxSize:50*1024*1024,audioMaxSize:100*1024*1024,videoMaxSize:500*1024*1024};let ry=0;function sg(t){const A=t.lastIndexOf(".");return A>-1?t.slice(A+1).toLowerCase():""}function Uu(t){const A=sg(t.name);return o3.has(A)||t.type.startsWith("image/")?"image":s3.has(A)||t.type.startsWith("audio/")?"audio":g3.has(A)||t.type.startsWith("video/")?"video":eG.has(A)?"document":"unsupported"}function up(t){return`${t.name}:${t.size}:${t.lastModified}`}function l3(t,A=Q0){const e=Uu(t);if(e==="unsupported"){const n=sg(t.name);return{code:"unsupported_type",message:`不支持 ${n?n.toUpperCase():"该类型"} 文件`}}const r={image:A.imageMaxSize,document:A.documentMaxSize,audio:A.audioMaxSize,video:A.videoMaxSize}[e];return t.size<=r?null:{code:"file_too_large",message:`${{image:"图片",document:"文档",audio:"音频",video:"视频"}[e]}大小不能超过 ${tG(r)} MB`}}function mv(t){const A=Rd(t)&&Rd(t.result)?t.result:t;if(!Rd(A))throw new Error("上传响应缺少完整文件元数据");if(A.status!==1)throw new Error("文件状态异常");const e=["id","fileKey","fileName","fileType","fileMineType","mimeType","url"],r=["bucketType","size","duration","w","h","status"],i=e.every(a=>typeof A[a]=="string"&&A[a].trim().length>0),n=r.every(a=>typeof A[a]=="number"&&Number.isFinite(A[a]));if(!i||!n)throw new Error("上传响应缺少完整文件元数据");return A}function c3(t){return{fileName:t.fileName,fileType:t.fileType,size:t.size,url:t.url}}function Ef(t,A){const e=A.filter(a=>a.status==="uploaded"),r=e.map(a=>a.resource),i=[],n=t.trim();n&&i.push({type:"text",text:n});for(const a of e)i.push(u3(a.resource));return{message:{id:yv(),role:"user",content:n,resource_files:r},modelInput:{role:"user",content:i},attachments:e}}function u3(t){const A=t.fileType.toLowerCase();return o3.has(A)?{type:"image_url",image_url:{url:t.url}}:g3.has(A)?{type:"video_url",video_url:{url:t.url}}:s3.has(A)?{type:"input_audio",input_audio:{url:t.url}}:{type:"file",file:{file_url:t.url,filename:t.fileName}}}function yv(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(ry+=1,`chat-message-${ry}`)}function tG(t){const A=t/1048576;return Number.isInteger(A)?String(A):A.toFixed(1)}function Rd(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const jg=C.shallowReactive(new Map),rG=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","webp"]),iG=new Set(["aac","flac","m4a","mp3","oga","ogg","wav"]),nG=new Set(["avi","m4v","mkv","mov","mp4","webm"]),aG=new Set(["csv","json","markdown","md","txt"]);function WC(t){const A=(t.fileType||sg(t.fileName)).toLowerCase();return rG.has(A)?"image":A==="pdf"?"pdf":A==="docx"?"docx":A==="xls"||A==="xlsx"?"excel":A==="pptx"?"pptx":A==="html"||A==="htm"?"html":aG.has(A)?"text":iG.has(A)?"audio":nG.has(A)?"video":"unsupported"}function oG(t,A){const e=jg.get(t);return jg.set(t,A),()=>{jg.get(t)===A&&(e?jg.set(t,e):jg.delete(t))}}function h3(t){return jg.get(t)}const sG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3410.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203410.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%237BCD70'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(6.5%206.81343060178915)'%3e%3cg%20transform='translate(3.0%200.0)'%3e%3cpath%20d='M0.5,0%20L0.5,5.77305572'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0.0%201.346484336095219)'%3e%3cpath%20d='M0.5,0%20L0.5,3.26919267'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(6.0%201.346484336095219)'%3e%3cpath%20d='M0.5,0%20L0.5,3.26919267'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",gG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMzc5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMzc5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMxRkI5QjQiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPkU8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",lG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M1.5,0%20C2.32842712,0%203,0.671572875%203,1.5%20C3,2.32842712%202.32842712,3%201.5,3%20C0.671572875,3%200,2.32842712%200,1.5%20C0,0.671572875%200.671572875,0%201.5,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3477.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203477.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%23EAB246'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3cg%20transform='translate(4.0%202.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%203,0%203,3%200,3%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(2.091270824181265%206.145946252421709)'%3e%3cpath%20d='M0,5.81865254%20L5.65345286,1.19961923%20C6.47672505,0.526982216%207.68235829,0.615972219%208.39794932,1.40219555%20L10.9087292,4.16080157%20L10.9087292,4.16080157'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0.37214794237459126%207.145946252390459)'%3e%3cpath%20d='M0,1.53800387%20L2.18352899,0%20L4.44906963,2.42680588'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",cG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M6.79777025,0%20C6.95334091,0%207.09446453,0.0615185355%207.19838283,0.161446649%20L7.34735284,0.281406864%20L7.48942472,0.412782123%20L7.53633577,0.459706506%20C8.63821558,1.56216923%208.54480253,3.30249867%207.44294131,4.40570504%20L4.88700484,6.96207999%20C3.78360038,8.06454272%201.978594,8.06454272%200.875189539,6.96207999%20L0.827553346,6.91443055%20C-0.275851115,5.81194923%20-0.275851115,4.00634582%200.827553346,2.90226566%20L2.00133368,1.80407893%20C2.03604749,1.76182095%202.07628352,1.72434094%202.12074025,1.69238253%20L2.13278875,1.68113481%20C2.2343271,1.61461522%202.35583472,1.57451384%202.48663902,1.57451384%20C2.83346099,1.57451384%203.11453684,1.85565113%203.11453684,2.20234126%20C3.11453684,2.40169552%203.02149566,2.57924222%202.87659759,2.69428504%20L1.74705087,3.82327752%20C1.14791697,4.42087553%201.14791697,5.39554181%201.74705087,5.99458994%20L1.7951333,6.04266698%20C2.3942672,6.64100864%203.36829905,6.64100864%203.96743294,6.04266698%20L6.52409456,3.48703568%20C7.12328424,2.88796896%207.30211519,1.85710125%206.70298129,1.25875959%20L6.65532651,1.21105437%20C6.60529177,1.16108102%206.55176148,1.11677801%206.49728293,1.0718243%20C6.44325062,1.03893633%206.39516819,0.997329053%206.35470904,0.949103281%20L6.29804925,0.868582717%20C6.24825507,0.783226098%206.21970264,0.683945193%206.21970264,0.578002801%20C6.21970264,0.258753393%206.47848504,0%206.79777025,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i3'%3e%3cpath%20d='M3.41446942,0.827460556%20C4.51787388,-0.275820185%206.32288026,-0.275820185%207.42628472,0.827460556%20L7.47392091,0.875109998%20C8.57732537,1.97837215%208.57732537,3.7832505%207.4731214,4.88645687%20L6.2866418,5.98116704%20C6.24648013,6.03171672%206.1986766,6.07594537%206.14486741,6.11195667%20L6.12742684,6.12807531%20C6.03038808,6.18297535%205.91862339,6.21690443%205.79884495,6.21690443%20C5.45494213,6.21690443%205.1760417,5.93803527%205.1760417,5.59409665%20C5.1760417,5.38894191%205.27540463,5.20693331%205.42857674,5.09343356%20L6.55434902,3.96698809%20C7.15348292,3.36866502%207.15348292,2.39362691%206.55434902,1.79457878%20L6.50671283,1.7476544%20C5.90750456,1.14853191%204.93317521,1.14853191%204.3354916,1.7476544%20L1.77803047,4.30330429%20C1.17891516,4.90237101%200.95142538,5.77266587%201.55055928,6.37173258%20L1.59747033,6.41791332%20C1.69088338,6.51131589%201.82598275,6.60992402%201.8980878,6.77187264%20C1.9328202,6.84370933%201.95226886,6.92417238%201.95226886,7.00928324%20C1.95226886,7.31059207%201.70795208,7.55495581%201.4065351,7.55495581%20C1.30767419,7.55495581%201.21500488,7.52846325%201.13496045,7.48248702%20C1.08347544,7.45262943%201.03829357,7.41589306%200.999879681,7.3729658%20C0.94677704,7.32773323%200.894771407,7.28045561%200.844662297,7.23040789%20L0.797825619,7.18422716%20C-0.305578843,6.08022136%20-0.244871516,4.48711625%200.858532945,3.3838355%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3568.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203568.0)'%3e%3cpath%20d='M10,20%20C15.5228475,20%2020,15.5228475%2020,10%20C20,4.4771525%2015.5228475,0%2010,0%20C4.4771525,0%200,4.4771525%200,10%20C0,15.5228475%204.4771525,20%2010,20%20Z'%20stroke='%23FFFFFF'%20stroke-width='1'%20fill='none'%20stroke-miterlimit='5'%3e%3c/path%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%237756D9'%3e%3c/polygon%3e%3cg%20transform='translate(3.998884398294778%204.000000000000257)'%3e%3cg%20transform='translate(0.0%204.211072964564665)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%208.31752422,0%208.31752422,7.78892704%200,7.78892704%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(3.699741255288245%200.0)'%3e%3cg%20clip-path='url(%23i3)'%3e%3cpolygon%20points='1.66742241e-16,0%208.30137435,0%208.30137435,7.55495581%201.66742241e-16,7.55495581%201.66742241e-16,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",uG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M5.3657441,0.00360871716%20C5.69905725,0.00360871716%206.03231181,0.170707006%206.23225869,0.438014339%20C6.66551599,1.03951825%206.63222568,2.30929783%206.0656607,4.18062539%20C6.59887679,5.18309764%207.29879339,6.08536085%208.13194444,6.85388962%20C8.83186104,6.7202433%209.5317337,6.61997551%2010.2315917,6.61997551%20C11.7980229,6.65341279%2012.0313333,7.38857771%2011.9979698,7.82298333%20C11.9979698,8.95910191%2010.8981448,8.95910191%2010.3315945,8.95910191%20C9.43171633,8.8922714%208.56520174,8.55813357%207.86534372,7.95662966%20C6.498918,8.25738895%205.19914611,8.69179458%203.89931565,9.22640924%20C2.86620307,11.0642995%201.89968575,12%201.06646147,12%20C0.899863478,12%200.699858015,11.9665627%200.566564978,11.8662803%20C0.199946879,11.6992407%200,11.3316656%200,10.9640905%20C0,10.6633459%200.0666538417,9.82791315%203.23280652,8.45786578%20C3.96602807,7.12121164%204.53259305,5.75116427%204.99914065,4.31428639%20C4.59923225,3.51230566%203.73271766,1.54075438%204.33257294,0.538282123%20C4.53259305,0.170707006%204.93248681,-0.0298285623%205.3657441,0.00360871716%20Z%20M2.19965001,10.0618419%20C1.69973887,10.2623188%201.29977188,10.5965154%200.999822272,11.030921%20L1.099825,10.997469%20C1.5663726,10.8304295%201.93297606,10.4962476%202.19965001,10.0618419%20Z%20M5.66570836,5.85143205%20L5.63240341,5.91826256%20L5.59905452,5.88481059%20C5.29909026,6.65341279%204.96585035,7.42195625%204.59923225,8.15712117%20L4.66588609,8.12372794%20L4.66588609,8.19055845%20C5.39910764,7.92319238%206.19896839,7.68932232%206.93217529,7.52222403%20L6.8988264,7.48878676%20L6.99882913,7.48878676%20C6.498918,6.98755063%206.03231181,6.419484%205.66570836,5.85143205%20Z%20M10.1982868,7.62243308%20C9.89833716,7.62243308%209.63173643,7.62243308%209.33177218,7.68932232%20C9.66502674,7.85636187%209.99833989,7.92319238%2010.3315945,7.95662966%20C10.5649049,7.99002288%2010.7982006,7.95662966%2010.9981622,7.88979915%20C10.9981622,7.78953137%2010.8648545,7.62243308%2010.1982868,7.62243308%20Z%20M5.43239795,1.00608097%20L5.3324538,1.00608097%20C5.29909026,1.00608097%205.23245107,1.00608097%205.19914611,1.03951825%20C5.06579449,1.60758488%205.16579723,2.20908879%205.39910764,2.74370346%20C5.59905452,2.17563683%205.59905452,1.57413292%205.43239795,1.00608097%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3220.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203220.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%23D94112'%3e%3c/polygon%3e%3cg%20transform='translate(3.999121241374005%204.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,4.38589899e-17%2012.0008788,4.38589899e-17%2012.0008788,12%200,12%200,4.38589899e-17'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",hG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjY1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjY1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNCQTM3MEYiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPlA8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",CG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjE2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjE2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNEMUI3QUUiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPlQ8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",IG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M4.07346234,0.924561739%20C4.16910367,0.991510664%204.25228299,1.07468999%204.31923192,1.17033132%20L5.89857636,3.42653766%20C6.21529087,3.87898695%206.10525608,4.50251741%205.65280678,4.81923192%20C5.48472325,4.9368904%205.28451654,5%205.07934444,5%20L1.92065556,5%20C1.36837081,5%200.920655562,4.55228475%200.920655562,4%20C0.920655562,3.7948279%200.983765165,3.59462119%201.10142364,3.42653766%20L2.68076808,1.17033132%20C2.99748259,0.717882019%203.62101305,0.607847231%204.07346234,0.924561739%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3444.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203444.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%231F81B9'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(12.999999999990301%205.999999999969331)%20rotate(90.00000000000001)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0.920655562,0.743707797%206.0794303,0.743707797%206.0794303,5%200.920655562,5%200.920655562,0.743707797'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",fG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M4.9775995,0%20C7.42512481,0%209.56926817,1.47512623%2010,3.46062629%20C9.8416204,3.44317044%209.68201932,3.43144869%209.5206254,3.43144869%20C7.15614152,3.43144869%205.2887438,5.17863257%205.28866499,7.33143569%20C5.28866499,7.68942681%205.34508982,8.03448694%205.44227685,8.3639831%20C5.2887438,8.37595839%205.13375284,8.38356485%204.9775995,8.38356485%20C4.35623687,8.38356485%203.85670774,8.25815581%203.23402512,8.13612092%20L1.49399698,9%20L1.9918515,7.51763788%20C0.745658795,6.65565067%200,5.54432766%200,4.19094376%20C0,1.84637989%202.2414289,0%204.9775995,0%20Z%20M6.84422887,2.09536461%20C6.47114335,2.09536461%206.09681665,2.3394734%206.09681665,2.71025897%20C6.09681665,3.07962076%206.47114335,3.32706469%206.84422887,3.32706469%20C7.21902841,3.32706469%207.46728582,3.07962076%207.46728582,2.71025897%20C7.46728582,2.3394734%207.21902841,2.09536461%206.84422887,2.09536461%20Z%20M3.36054754,2.09536461%20C2.98746203,2.09536461%202.61096817,2.3394734%202.61096817,2.71025897%20C2.61096817,3.07962076%202.98754083,3.32706469%203.36054754,3.32706469%20C3.73365276,3.32706469%203.98191017,3.07962076%203.98191017,2.71025897%20C3.98191017,2.3394734%203.73365276,2.09536461%203.36054754,2.09536461%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i3'%3e%3cpath%20d='M4.00264496,0%20C6.11727234,0%208,1.68052391%208,3.7421353%20C8,4.90507254%207.29619833,5.93479653%206.35155624,6.7113194%20L6.70553393,8%20L5.41470002,7.22553849%20C4.94400879,7.35477188%204.4713059,7.48425019%204.00264496,7.48425019%20C1.7635368,7.48425019%200,5.80731836%200,3.7421353%20C0,1.68052391%201.7635368,0%204.00264496,0%20Z%20M2.70490063,2.06520347%20C2.47054222,2.06520347%202.23422803,2.3239764%202.23422803,2.58093287%20C2.23422803,2.84148143%202.47054222,3.09690718%202.70490063,3.09690718%20C3.06092723,3.09690718%203.29398178,2.84148143%203.29398178,2.58093287%20C3.29398178,2.3239764%203.06092723,2.06520347%202.70490063,2.06520347%20Z%20M5.29347887,2.06520347%20C5.06079684,2.06520347%204.8260659,2.3239764%204.8260659,2.58093287%20C4.8260659,2.84148143%205.06079684,3.09690718%205.29347887,3.09690718%20C5.6461527,3.09690718%205.8825414,2.84148143%205.8825414,2.58093287%20C5.8825414,2.3239764%205.6461527,2.06520347%205.29347887,2.06520347%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3501.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203501.0)'%3e%3cpath%20d='M10,20%20C15.5228475,20%2020,15.5228475%2020,10%20C20,4.4771525%2015.5228475,0%2010,0%20C4.4771525,0%200,4.4771525%200,10%20C0,15.5228475%204.4771525,20%2010,20%20Z'%20stroke='%23FFFFFF'%20stroke-width='1'%20fill='none'%20stroke-miterlimit='5'%3e%3c/path%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%233ECD75'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%204.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%2010,0%2010,9%200,9%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3cg%20transform='translate(6.0%204.0)'%3e%3cg%20clip-path='url(%23i3)'%3e%3cpolygon%20points='0,0%208,0%208,8%200,8%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",dG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjU0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjU0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMzRTY3RkYiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPnc8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",BG=new Set(["pdf","xps","oxps","djvu","djv"]),QG=new Set(["doc","docx","docm","dot","dotx","dotm","odt","rtf","wps"]),pG=new Set(["xls","xlsx","xlsm","xlsb","xlt","xltx","xltm","xlam","csv","ods","et"]),EG=new Set(["ppt","pptx","pptm","pot","potx","potm","pps","ppsx","ppsm","odp","dps"]),vG=new Set(["jpg","jpeg","png","gif","bmp","webp","svg","ico","tiff","tif"]),mG=new Set(["mp3","wav","flac","aac","ogg","wma","m4a","opus"]),yG=new Set(["mp4","avi","mov","wmv","flv","mkv","webm","m4v","3gp","mpg","mpeg"]);function wv(t,A=""){const e=wG(t);return e==="link"||e==="url"||e==="webloc"||e==="wechat_mp"?e==="wechat_mp"||A.includes("mp.weixin.qq.com")?fG:cG:BG.has(e)?uG:QG.has(e)?dG:pG.has(e)?gG:EG.has(e)?hG:vG.has(e)?lG:mG.has(e)?sG:yG.has(e)?IG:CG}function wG(t){const A=t.trim().toLowerCase();return A?A.includes(".")||A.includes("/")?sg(A):A.replace(/^\./,""):""}const DG=["src","alt"],kG=C.defineComponent({__name:"ChatImageLightbox",props:{open:{type:Boolean},images:{},index:{}},emits:["update:open","update:index"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(),n=C.ref();let a=null;function o(){r("update:open",!1)}function s(c){if(!e.images.length)return;const h=e.index??0;r("update:index",(h+c+e.images.length)%e.images.length)}function g(c){e.open&&(c.key==="Escape"&&o(),c.key==="ArrowLeft"&&s(-1),c.key==="ArrowRight"&&s(1),c.key==="Tab"&&l(c))}function l(c){var f;const h=Array.from(((f=i.value)==null?void 0:f.querySelectorAll('button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??[]);if(h.length===0)return;const u=h[0],I=h[h.length-1];c.shiftKey&&document.activeElement===u?(c.preventDefault(),I.focus()):!c.shiftKey&&document.activeElement===I&&(c.preventDefault(),u.focus())}return C.watch(()=>e.open,c=>{c?(a=document.activeElement instanceof HTMLElement?document.activeElement:null,C.nextTick(()=>{var h;return(h=n.value)==null?void 0:h.focus()})):(a==null||a.focus(),a=null)}),typeof window<"u"&&window.addEventListener("keydown",g),C.onBeforeUnmount(()=>window.removeEventListener("keydown",g)),(c,h)=>{var u,I;return C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[t.open&&t.images.length?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"dialogRef",ref:i,class:"chat-image-lightbox",role:"dialog","aria-modal":"true","aria-label":"图片预览"},[C.createElementVNode("button",{ref_key:"closeRef",ref:n,type:"button",class:"chat-image-lightbox__close","aria-label":"关闭图片预览",onClick:o},[C.createVNode(C.unref(Sl),{size:20,"stroke-width":1.75,"aria-hidden":"true"})],512),t.images.length>1?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-image-lightbox__previous","aria-label":"上一张图片",onClick:h[0]||(h[0]=f=>s(-1))},[C.createVNode(C.unref(t6),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])):C.createCommentVNode("",!0),C.createElementVNode("img",{src:(u=t.images[t.index??0])==null?void 0:u.url,alt:(I=t.images[t.index??0])==null?void 0:I.fileName},null,8,DG),t.images.length>1?(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-image-lightbox__next","aria-label":"下一张图片",onClick:h[1]||(h[1]=f=>s(1))},[C.createVNode(C.unref(vv),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])):C.createCommentVNode("",!0)],512)):C.createCommentVNode("",!0)])}}}),C3=ve(kG,[["__scopeId","data-v-c4acf66f"]]),bG={class:"chat-attachments","aria-label":"消息附件"},SG=["aria-label","onClick"],NG=["src","alt"],FG=["aria-label","onClick"],xG=["src"],_G={class:"chat-attachments__file-info"},MG={class:"chat-attachments__name"},RG={class:"chat-attachments__meta"},GG={class:"chat-attachments__type"},LG=200,TG=C.defineComponent({__name:"ChatAttachments",props:{resources:{}},emits:["preview"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>e.resources.filter(c=>WC(c)==="image")),n=C.ref(!1),a=C.ref(0);function o(c){return WC(c)==="image"}function s(c){return Ps(c.url,{width:LG})}function g(c){a.value=i.value.findIndex(h=>h.url===c.url),n.value=!0}function l(c){return c<1024?`${c} B`:c<1024*1024?`${(c/1024).toFixed(1)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`}return(c,h)=>(C.openBlock(),C.createElementBlock("section",bG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.resources,u=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:u.url},[o(u)?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-attachments__item chat-attachments__image","aria-label":`预览 ${u.fileName}`,onClick:I=>g(u)},[C.createElementVNode("img",{src:s(u),alt:u.fileName,loading:"lazy"},null,8,NG)],8,SG)):(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-attachments__item chat-attachments__file","aria-label":`预览 ${u.fileName}`,onClick:I=>r("preview",u)},[C.createElementVNode("img",{class:"chat-attachments__file-icon",src:C.unref(wv)(u.fileType||u.fileName,u.url),alt:"","aria-hidden":"true"},null,8,xG),C.createElementVNode("span",_G,[C.createElementVNode("span",MG,C.toDisplayString(u.fileName),1),C.createElementVNode("span",RG,C.toDisplayString(l(u.size)),1)]),C.createElementVNode("span",GG,C.toDisplayString(u.fileType.toUpperCase()),1)],8,FG))],64))),128)),C.createVNode(C3,{open:n.value,"onUpdate:open":h[0]||(h[0]=u=>n.value=u),index:a.value,"onUpdate:index":h[1]||(h[1]=u=>a.value=u),images:i.value},null,8,["open","index","images"])]))}}),I3=ve(TG,[["__scopeId","data-v-d1f4e77b"]]),YG={key:0,class:"chat-follow-ups",role:"group","aria-label":"推荐追问","data-testid":"chat-follow-ups"},UG=["onClick","onKeydown"],JG={class:"chat-follow-ups__line"},OG=3,HG=C.defineComponent({name:"ChatFollowUps",__name:"ChatFollowUps",props:{questions:{}},emits:["select"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>e.questions.map(o=>o.trim()).filter(Boolean).slice(0,OG));function n(o){r("select",o)}function a(o,s){o.key!=="Enter"&&o.key!==" "||(o.preventDefault(),n(s))}return(o,s)=>i.value.length?(C.openBlock(),C.createElementBlock("div",YG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(i.value,(g,l)=>(C.openBlock(),C.createElementBlock("div",{key:`${l}:${g}`,role:"button",tabindex:"0",class:"chat-follow-ups__chip",onClick:c=>n(g),onKeydown:c=>a(c,g)},[C.createElementVNode("span",JG,C.toDisplayString(g),1)],40,UG))),128))])):C.createCommentVNode("",!0)}}),f3=ve(HG,[["__scopeId","data-v-cdf11c56"]]),d3=["book","file","link","list","doc","folder"],VG={book:["M4 19.5A2.5 2.5 0 0 1 6.5 17H20","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"],file:["M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z","M14 2v6h6"],link:["M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71","M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"],list:["M8 6h13","M8 12h13","M8 18h13","M3 6h.01","M3 12h.01","M3 18h.01"],doc:["M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z","M14 2v6h6","M16 13H8","M16 17H8","M10 9H8"],folder:["M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"],default:["M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","M15 3h6v6","M10 14L21 3"]};function B3(t){return t&&d3.includes(t)?t:"default"}function Q3(t){const A=String(t.title??"").trim(),e=String(t.href??"").trim();return A.length>0&&e.length>0}const ZG={class:"action-bar-wrap"},qG=["aria-label"],KG={class:"action-bar__left"},PG={class:"action-bar__icon","aria-hidden":"true"},WG=["src"],zG={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},XG=["d"],jG={class:"action-bar__title"},$G={class:"action-bar__action"},AL=C.defineComponent({name:"ActionBar",__name:"ActionBar",props:{node:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>String(e.node.props.title??"")),n=C.computed(()=>String(e.node.props.href??"")),a=C.computed(()=>{const u=e.node.props.action;return u==null||String(u).trim()===""?"查看":String(u)}),o=C.computed(()=>{const u=e.node.props.iconSrc;if(!(u==null||String(u).trim()===""))return String(u)}),s=C.computed(()=>B3(e.node.props.icon??"book")),g=C.computed(()=>VG[s.value]),l=C.computed(()=>String(e.node.props.id??e.node.id)),c=C.computed(()=>String(e.node.props.nav??"href").trim()==="route"?"route":"href");function h(){r("action",{type:"action-bar",source:"action-bar",id:l.value,title:i.value,href:n.value,nav:c.value,actionLabel:a.value,icon:s.value,iconSrc:o.value})}return(u,I)=>(C.openBlock(),C.createElementBlock("div",ZG,[C.createElementVNode("button",{type:"button",class:"action-bar","data-testid":"action-bar","aria-label":`${a.value}:${i.value}`,onClick:h},[C.createElementVNode("span",KG,[C.createElementVNode("span",PG,[o.value?(C.openBlock(),C.createElementBlock("img",{key:0,class:"action-bar__icon-img",src:o.value,alt:""},null,8,WG)):(C.openBlock(),C.createElementBlock("svg",zG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(g.value,(f,d)=>(C.openBlock(),C.createElementBlock("path",{key:d,d:f},null,8,XG))),128))]))]),C.createElementVNode("span",jG,C.toDisplayString(i.value),1)]),C.createElementVNode("span",$G,C.toDisplayString(a.value),1)],8,qG)]))}}),eL=ve(AL,[["__scopeId","data-v-ca4a7b46"]]),tL=["html","code","markdown","text"];function vf(t){return tL.includes(t)}const rL={javascript:"js",js:"js",typescript:"ts",ts:"ts",python:"py",py:"py",java:"java",go:"go",rust:"rs",c:"c",cpp:"cpp","c++":"cpp",csharp:"cs","c#":"cs",ruby:"rb",php:"php",shell:"sh",bash:"sh",sql:"sql",json:"json",yaml:"yaml",html:"html",css:"css",vue:"vue"};function iL(t){return t?rL[t.toLowerCase()]??"txt":"txt"}function nL(t,A){switch(t){case"html":return{extension:"html",mime:"text/html"};case"code":return{extension:iL(A),mime:"text/plain"};case"markdown":return{extension:"md",mime:"text/markdown"};default:return{extension:"txt",mime:"text/plain"}}}const iy={pdf:"PDF",word:"Word",excel:"Excel",ppt:"PPT",zip:"Archive",file:"File"},aL={html:"Code · HTML",code:"Code",markdown:"Document · Markdown",text:"Text"};function oL(t,A={}){if(vf(t))return t==="code"&&A.language?`Code · ${A.language.toUpperCase()}`:aL[t];const e=iy[t??"file"]??iy.file;return A.size?`${e} · ${A.size}`:e}function sL(t){return t.trim().replace(/[/\\?%*:|"<>]/g,"_")||"artifact"}function ny(t,A){const e=document.createElement("a");e.href=t,e.download=A,e.style.display="none",document.body.appendChild(e),e.click(),e.remove()}function p3(t){const{title:A,type:e,language:r,content:i,src:n}=t;if(vf(e)){const{extension:a,mime:o}=nL(e,r),s=new Blob([i??""],{type:o}),g=URL.createObjectURL(s);try{ny(g,`${sL(A)}.${a}`)}finally{URL.revokeObjectURL(g)}return}n&&ny(n,A)}const gL={class:"artifact-wrapper"},lL={class:"artifact-block"},cL=["aria-label"],uL={class:"artifact-cell"},hL={class:"artifact-left"},CL={class:"artifact-info"},IL={class:"artifact-title"},fL={class:"artifact-subtitle"},dL={class:"artifact-actions"},BL=["aria-label"],QL=C.defineComponent({name:"ArtifactBlock",__name:"ArtifactBlock",props:{node:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>String(e.node.props.title??"")),n=C.computed(()=>String(e.node.props.type??"text")),a=C.computed(()=>e.node.props.language),o=C.computed(()=>e.node.props.src),s=C.computed(()=>e.node.props.size),g=C.computed(()=>e.node.slotText),l=C.computed(()=>String(e.node.props.id??e.node.id)),c=C.computed(()=>vf(n.value)),h=C.computed(()=>oL(n.value,{language:a.value,size:s.value}));function u(){r("action",{type:"open-artifact",source:"artifact",artifactId:l.value,title:i.value,artifactType:n.value,language:a.value,content:c.value?g.value:void 0,src:c.value?void 0:o.value})}function I(){p3({title:i.value,type:n.value,language:a.value,content:g.value,src:o.value})}return(f,d)=>(C.openBlock(),C.createElementBlock("div",gL,[C.createElementVNode("div",lL,[C.createElementVNode("button",{type:"button",class:"artifact-btn-overlay","data-testid":"artifact-block","aria-label":`View ${i.value}`,onClick:u},null,8,cL),C.createElementVNode("div",uL,[C.createElementVNode("div",hL,[d[0]||(d[0]=C.createElementVNode("div",{class:"artifact-thumb-wrap","aria-hidden":"true"},[C.createElementVNode("div",{class:"artifact-thumb"},[C.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"currentColor",viewBox:"0 0 256 256"},[C.createElementVNode("path",{d:"M67.84,92.61,25.37,128l42.47,35.39a6,6,0,1,1-7.68,9.22l-48-40a6,6,0,0,1,0-9.22l48-40a6,6,0,0,1,7.68,9.22Zm176,30.78-48-40a6,6,0,1,0-7.68,9.22L230.63,128l-42.47,35.39a6,6,0,1,0,7.68,9.22l48-40a6,6,0,0,0,0-9.22Zm-81.79-89A6,6,0,0,0,154.36,38l-64,176A6,6,0,0,0,94,221.64a6.15,6.15,0,0,0,2,.36,6,6,0,0,0,5.64-3.95l64-176A6,6,0,0,0,162.05,34.36Z"})])])],-1)),C.createElementVNode("div",CL,[C.createElementVNode("div",IL,C.toDisplayString(i.value),1),C.createElementVNode("div",fL,C.toDisplayString(h.value),1)])]),C.createElementVNode("div",dL,[C.createElementVNode("button",{type:"button",class:"artifact-download-btn","data-testid":"artifact-block-download","aria-label":`下载 ${i.value}`,onClick:C.withModifiers(I,["stop"])},[...d[1]||(d[1]=[C.createElementVNode("span",null,"下载",-1)])],8,BL)])])])]))}}),pL=ve(QL,[["__scopeId","data-v-889319cf"]]);function EL(t){const A=Object.freeze({...t});return{tags:A,has(e){return Object.prototype.hasOwnProperty.call(A,e)},get(e){return A[e]},entries(){return Object.entries(A)}}}function E3(t){return t.endsWith("?")}function v3(t){return t.replace(/\?$/,"")}function mf(t,A={}){var r;const e=[];(r=A.preamble)!=null&&r.trim()&&e.push(A.preamble.trim(),""),e.push("可用标签:");for(const[i,n]of t.entries()){const a=Object.entries(n.props).map(([s,g])=>E3(g)?`${s}?`:s).join(", "),o=n.children&&n.children.length>0?`;children: ${n.children.join(", ")}`:"";e.push(`- {% ${i} %}(props: ${a||"无"}${o})`)}return e.join(`
|
|
206
|
+
*/const W6=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Sl=Ke("x",W6),z6={class:"chat-actionbar","aria-label":"回复操作"},X6=["disabled","aria-label","title"],j6={class:"chat-actionbar__status","aria-live":"polite"},$6=C.defineComponent({name:"ChatActionbar",__name:"ChatActionbar",props:{message:{},text:{}},emits:["copy"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(!1),n=C.ref(!1),a=C.computed(()=>e.text??e.message.content??""),o=C.computed(()=>a.value.trim().length>0);let s;async function g(){if(!o.value)return;const c=a.value;if(s&&clearTimeout(s),!await l(c)){i.value=!1,n.value=!0,s=setTimeout(()=>{n.value=!1},2e3);return}n.value=!1,i.value=!0,s=setTimeout(()=>{i.value=!1},2e3),r("copy",{message:e.message,text:c})}async function l(c){var u;if(typeof navigator<"u"&&((u=navigator.clipboard)!=null&&u.writeText))try{return await navigator.clipboard.writeText(c),!0}catch{}if(typeof document>"u")return!1;const h=document.createElement("textarea");h.value=c,h.setAttribute("readonly",""),h.style.position="fixed",h.style.opacity="0",document.body.append(h),h.select();try{return document.execCommand("copy")}finally{h.remove()}}return C.onBeforeUnmount(()=>{s&&clearTimeout(s)}),(c,h)=>(C.openBlock(),C.createElementBlock("div",z6,[C.renderSlot(c.$slots,"default",{message:t.message,copied:i.value,copyFailed:n.value,copy:g},()=>[C.createElementVNode("button",{class:C.normalizeClass(["chat-actionbar__copy",{"chat-actionbar__copy--failed":n.value}]),type:"button",disabled:!o.value,"aria-label":i.value?"已复制回复":n.value?"复制失败":"复制回复",title:i.value?"已复制":n.value?"复制失败,请重试":o.value?"复制回复":"没有可复制内容","data-testid":"chat-actionbar-copy",onClick:g},[i.value?(C.openBlock(),C.createBlock(C.unref(Ev),{key:0,class:"chat-actionbar__success-icon",size:14,"stroke-width":2,"aria-hidden":"true"})):n.value?(C.openBlock(),C.createBlock(C.unref(n3),{key:1,class:"chat-actionbar__error-icon",size:14,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createBlock(C.unref(s6),{key:2,class:"chat-actionbar__copy-icon",size:14,"stroke-width":1.75,"aria-hidden":"true"}))],10,X6),C.createElementVNode("span",j6,C.toDisplayString(i.value?"已复制":n.value?"复制失败":""),1)],!0)]))}}),a3=ve($6,[["__scopeId","data-v-20cdf925"]]);function Ps(t,A={}){const e=t.trim();if(!e||!AG(e)||e.includes("imageView2"))return t;const{width:r,height:i}=A,n=ty(r),a=ty(i);if(n===void 0&&a===void 0)return t;let o="imageView2/2";n!==void 0&&(o+=`/w/${n}`),a!==void 0&&(o+=`/h/${a}`);const s=e.includes("?")?"&":"?";return`${e}${s}${o}`}function AG(t){if(t.startsWith("blob:")||t.startsWith("data:"))return!1;try{return new URL(t,typeof location<"u"?location.href:"https://example.com").hostname.includes("yxuer.com")}catch{return/(?:^|[/.])yxuer\.com(?:[/:]|$)/i.test(t)}}function ty(t){if(t===void 0||!Number.isFinite(t))return;const A=Math.round(t);return A>0?A:void 0}const o3=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","webp"]),eG=new Set(["csv","docx","htm","html","json","markdown","md","pdf","pptx","txt","xls","xlsx"]),s3=new Set(["aac","flac","m4a","mp3","oga","ogg","wav"]),g3=new Set(["avi","m4v","mkv","mov","mp4","webm"]),Q0={maxFiles:10,imageMaxSize:20*1024*1024,documentMaxSize:50*1024*1024,audioMaxSize:100*1024*1024,videoMaxSize:500*1024*1024};let ry=0;function sg(t){const A=t.lastIndexOf(".");return A>-1?t.slice(A+1).toLowerCase():""}function Uu(t){const A=sg(t.name);return o3.has(A)||t.type.startsWith("image/")?"image":s3.has(A)||t.type.startsWith("audio/")?"audio":g3.has(A)||t.type.startsWith("video/")?"video":eG.has(A)?"document":"unsupported"}function up(t){return`${t.name}:${t.size}:${t.lastModified}`}function l3(t,A=Q0){const e=Uu(t);if(e==="unsupported"){const n=sg(t.name);return{code:"unsupported_type",message:`不支持 ${n?n.toUpperCase():"该类型"} 文件`}}const r={image:A.imageMaxSize,document:A.documentMaxSize,audio:A.audioMaxSize,video:A.videoMaxSize}[e];return t.size<=r?null:{code:"file_too_large",message:`${{image:"图片",document:"文档",audio:"音频",video:"视频"}[e]}大小不能超过 ${tG(r)} MB`}}function mv(t){const A=Rd(t)&&Rd(t.result)?t.result:t;if(!Rd(A))throw new Error("上传响应缺少完整文件元数据");if(A.status!==1)throw new Error("文件状态异常");const e=["id","fileKey","fileName","fileType","fileMineType","mimeType","url"],r=["bucketType","size","duration","w","h","status"],i=e.every(a=>typeof A[a]=="string"&&A[a].trim().length>0),n=r.every(a=>typeof A[a]=="number"&&Number.isFinite(A[a]));if(!i||!n)throw new Error("上传响应缺少完整文件元数据");return A}function c3(t){return{filename:t.fileName,url_type:t.fileType,size:t.size,original_url:t.url}}function Ef(t,A){const e=A.filter(a=>a.status==="uploaded"),r=e.map(a=>a.resource),i=[],n=t.trim();n&&i.push({type:"text",text:n});for(const a of e)i.push(u3(a.resource));return{message:{id:yv(),role:"user",content:n,resource_files:r},modelInput:{role:"user",content:i},attachments:e}}function u3(t){const A=t.url_type.toLowerCase();return o3.has(A)?{type:"image_url",image_url:{url:t.original_url}}:g3.has(A)?{type:"video_url",video_url:{url:t.original_url}}:s3.has(A)?{type:"input_audio",input_audio:{url:t.original_url}}:{type:"file",file:{file_url:t.original_url,filename:t.filename}}}function yv(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(ry+=1,`chat-message-${ry}`)}function tG(t){const A=t/1048576;return Number.isInteger(A)?String(A):A.toFixed(1)}function Rd(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const jg=C.shallowReactive(new Map),rG=new Set(["avif","bmp","gif","heic","jpeg","jpg","png","svg","webp"]),iG=new Set(["aac","flac","m4a","mp3","oga","ogg","wav"]),nG=new Set(["avi","m4v","mkv","mov","mp4","webm"]),aG=new Set(["csv","json","markdown","md","txt"]);function WC(t){const A=(t.url_type||sg(t.filename)).toLowerCase();return rG.has(A)?"image":A==="pdf"?"pdf":A==="docx"?"docx":A==="xls"||A==="xlsx"?"excel":A==="pptx"?"pptx":A==="html"||A==="htm"?"html":aG.has(A)?"text":iG.has(A)?"audio":nG.has(A)?"video":"unsupported"}function oG(t,A){const e=jg.get(t);return jg.set(t,A),()=>{jg.get(t)===A&&(e?jg.set(t,e):jg.delete(t))}}function h3(t){return jg.get(t)}const sG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3410.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203410.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%237BCD70'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(6.5%206.81343060178915)'%3e%3cg%20transform='translate(3.0%200.0)'%3e%3cpath%20d='M0.5,0%20L0.5,5.77305572'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0.0%201.346484336095219)'%3e%3cpath%20d='M0.5,0%20L0.5,3.26919267'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(6.0%201.346484336095219)'%3e%3cpath%20d='M0.5,0%20L0.5,3.26919267'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",gG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMzc5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMzc5LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMxRkI5QjQiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPkU8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",lG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M1.5,0%20C2.32842712,0%203,0.671572875%203,1.5%20C3,2.32842712%202.32842712,3%201.5,3%20C0.671572875,3%200,2.32842712%200,1.5%20C0,0.671572875%200.671572875,0%201.5,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3477.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203477.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%23EAB246'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3cg%20transform='translate(4.0%202.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%203,0%203,3%200,3%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(2.091270824181265%206.145946252421709)'%3e%3cpath%20d='M0,5.81865254%20L5.65345286,1.19961923%20C6.47672505,0.526982216%207.68235829,0.615972219%208.39794932,1.40219555%20L10.9087292,4.16080157%20L10.9087292,4.16080157'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(0.37214794237459126%207.145946252390459)'%3e%3cpath%20d='M0,1.53800387%20L2.18352899,0%20L4.44906963,2.42680588'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",cG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M6.79777025,0%20C6.95334091,0%207.09446453,0.0615185355%207.19838283,0.161446649%20L7.34735284,0.281406864%20L7.48942472,0.412782123%20L7.53633577,0.459706506%20C8.63821558,1.56216923%208.54480253,3.30249867%207.44294131,4.40570504%20L4.88700484,6.96207999%20C3.78360038,8.06454272%201.978594,8.06454272%200.875189539,6.96207999%20L0.827553346,6.91443055%20C-0.275851115,5.81194923%20-0.275851115,4.00634582%200.827553346,2.90226566%20L2.00133368,1.80407893%20C2.03604749,1.76182095%202.07628352,1.72434094%202.12074025,1.69238253%20L2.13278875,1.68113481%20C2.2343271,1.61461522%202.35583472,1.57451384%202.48663902,1.57451384%20C2.83346099,1.57451384%203.11453684,1.85565113%203.11453684,2.20234126%20C3.11453684,2.40169552%203.02149566,2.57924222%202.87659759,2.69428504%20L1.74705087,3.82327752%20C1.14791697,4.42087553%201.14791697,5.39554181%201.74705087,5.99458994%20L1.7951333,6.04266698%20C2.3942672,6.64100864%203.36829905,6.64100864%203.96743294,6.04266698%20L6.52409456,3.48703568%20C7.12328424,2.88796896%207.30211519,1.85710125%206.70298129,1.25875959%20L6.65532651,1.21105437%20C6.60529177,1.16108102%206.55176148,1.11677801%206.49728293,1.0718243%20C6.44325062,1.03893633%206.39516819,0.997329053%206.35470904,0.949103281%20L6.29804925,0.868582717%20C6.24825507,0.783226098%206.21970264,0.683945193%206.21970264,0.578002801%20C6.21970264,0.258753393%206.47848504,0%206.79777025,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i3'%3e%3cpath%20d='M3.41446942,0.827460556%20C4.51787388,-0.275820185%206.32288026,-0.275820185%207.42628472,0.827460556%20L7.47392091,0.875109998%20C8.57732537,1.97837215%208.57732537,3.7832505%207.4731214,4.88645687%20L6.2866418,5.98116704%20C6.24648013,6.03171672%206.1986766,6.07594537%206.14486741,6.11195667%20L6.12742684,6.12807531%20C6.03038808,6.18297535%205.91862339,6.21690443%205.79884495,6.21690443%20C5.45494213,6.21690443%205.1760417,5.93803527%205.1760417,5.59409665%20C5.1760417,5.38894191%205.27540463,5.20693331%205.42857674,5.09343356%20L6.55434902,3.96698809%20C7.15348292,3.36866502%207.15348292,2.39362691%206.55434902,1.79457878%20L6.50671283,1.7476544%20C5.90750456,1.14853191%204.93317521,1.14853191%204.3354916,1.7476544%20L1.77803047,4.30330429%20C1.17891516,4.90237101%200.95142538,5.77266587%201.55055928,6.37173258%20L1.59747033,6.41791332%20C1.69088338,6.51131589%201.82598275,6.60992402%201.8980878,6.77187264%20C1.9328202,6.84370933%201.95226886,6.92417238%201.95226886,7.00928324%20C1.95226886,7.31059207%201.70795208,7.55495581%201.4065351,7.55495581%20C1.30767419,7.55495581%201.21500488,7.52846325%201.13496045,7.48248702%20C1.08347544,7.45262943%201.03829357,7.41589306%200.999879681,7.3729658%20C0.94677704,7.32773323%200.894771407,7.28045561%200.844662297,7.23040789%20L0.797825619,7.18422716%20C-0.305578843,6.08022136%20-0.244871516,4.48711625%200.858532945,3.3838355%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3568.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203568.0)'%3e%3cpath%20d='M10,20%20C15.5228475,20%2020,15.5228475%2020,10%20C20,4.4771525%2015.5228475,0%2010,0%20C4.4771525,0%200,4.4771525%200,10%20C0,15.5228475%204.4771525,20%2010,20%20Z'%20stroke='%23FFFFFF'%20stroke-width='1'%20fill='none'%20stroke-miterlimit='5'%3e%3c/path%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%237756D9'%3e%3c/polygon%3e%3cg%20transform='translate(3.998884398294778%204.000000000000257)'%3e%3cg%20transform='translate(0.0%204.211072964564665)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%208.31752422,0%208.31752422,7.78892704%200,7.78892704%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3cg%20transform='translate(3.699741255288245%200.0)'%3e%3cg%20clip-path='url(%23i3)'%3e%3cpolygon%20points='1.66742241e-16,0%208.30137435,0%208.30137435,7.55495581%201.66742241e-16,7.55495581%201.66742241e-16,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",uG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M5.3657441,0.00360871716%20C5.69905725,0.00360871716%206.03231181,0.170707006%206.23225869,0.438014339%20C6.66551599,1.03951825%206.63222568,2.30929783%206.0656607,4.18062539%20C6.59887679,5.18309764%207.29879339,6.08536085%208.13194444,6.85388962%20C8.83186104,6.7202433%209.5317337,6.61997551%2010.2315917,6.61997551%20C11.7980229,6.65341279%2012.0313333,7.38857771%2011.9979698,7.82298333%20C11.9979698,8.95910191%2010.8981448,8.95910191%2010.3315945,8.95910191%20C9.43171633,8.8922714%208.56520174,8.55813357%207.86534372,7.95662966%20C6.498918,8.25738895%205.19914611,8.69179458%203.89931565,9.22640924%20C2.86620307,11.0642995%201.89968575,12%201.06646147,12%20C0.899863478,12%200.699858015,11.9665627%200.566564978,11.8662803%20C0.199946879,11.6992407%200,11.3316656%200,10.9640905%20C0,10.6633459%200.0666538417,9.82791315%203.23280652,8.45786578%20C3.96602807,7.12121164%204.53259305,5.75116427%204.99914065,4.31428639%20C4.59923225,3.51230566%203.73271766,1.54075438%204.33257294,0.538282123%20C4.53259305,0.170707006%204.93248681,-0.0298285623%205.3657441,0.00360871716%20Z%20M2.19965001,10.0618419%20C1.69973887,10.2623188%201.29977188,10.5965154%200.999822272,11.030921%20L1.099825,10.997469%20C1.5663726,10.8304295%201.93297606,10.4962476%202.19965001,10.0618419%20Z%20M5.66570836,5.85143205%20L5.63240341,5.91826256%20L5.59905452,5.88481059%20C5.29909026,6.65341279%204.96585035,7.42195625%204.59923225,8.15712117%20L4.66588609,8.12372794%20L4.66588609,8.19055845%20C5.39910764,7.92319238%206.19896839,7.68932232%206.93217529,7.52222403%20L6.8988264,7.48878676%20L6.99882913,7.48878676%20C6.498918,6.98755063%206.03231181,6.419484%205.66570836,5.85143205%20Z%20M10.1982868,7.62243308%20C9.89833716,7.62243308%209.63173643,7.62243308%209.33177218,7.68932232%20C9.66502674,7.85636187%209.99833989,7.92319238%2010.3315945,7.95662966%20C10.5649049,7.99002288%2010.7982006,7.95662966%2010.9981622,7.88979915%20C10.9981622,7.78953137%2010.8648545,7.62243308%2010.1982868,7.62243308%20Z%20M5.43239795,1.00608097%20L5.3324538,1.00608097%20C5.29909026,1.00608097%205.23245107,1.00608097%205.19914611,1.03951825%20C5.06579449,1.60758488%205.16579723,2.20908879%205.39910764,2.74370346%20C5.59905452,2.17563683%205.59905452,1.57413292%205.43239795,1.00608097%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3220.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203220.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%23D94112'%3e%3c/polygon%3e%3cg%20transform='translate(3.999121241374005%204.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,4.38589899e-17%2012.0008788,4.38589899e-17%2012.0008788,12%200,12%200,4.38589899e-17'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",hG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjY1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjY1LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNCQTM3MEYiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPlA8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",CG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjE2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjE2LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiNEMUI3QUUiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPlQ8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",IG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M4.07346234,0.924561739%20C4.16910367,0.991510664%204.25228299,1.07468999%204.31923192,1.17033132%20L5.89857636,3.42653766%20C6.21529087,3.87898695%206.10525608,4.50251741%205.65280678,4.81923192%20C5.48472325,4.9368904%205.28451654,5%205.07934444,5%20L1.92065556,5%20C1.36837081,5%200.920655562,4.55228475%200.920655562,4%20C0.920655562,3.7948279%200.983765165,3.59462119%201.10142364,3.42653766%20L2.68076808,1.17033132%20C2.99748259,0.717882019%203.62101305,0.607847231%204.07346234,0.924561739%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3444.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203444.0)'%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%231F81B9'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%203.0)'%3e%3cpath%20d='M7,14%20C10.8659932,14%2014,10.8659932%2014,7%20C14,3.13400675%2010.8659932,0%207,0%20C3.13400675,0%200,3.13400675%200,7%20C0,10.8659932%203.13400675,14%207,14%20Z'%20stroke='%23FFFFFF'%20stroke-width='1.32288726'%20fill='none'%20stroke-linecap='round'%20stroke-miterlimit='10'%3e%3c/path%3e%3c/g%3e%3cg%20transform='translate(12.999999999990301%205.999999999969331)%20rotate(90.00000000000001)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0.920655562,0.743707797%206.0794303,0.743707797%206.0794303,5%200.920655562,5%200.920655562,0.743707797'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",fG="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20version='1.1'%20width='20px'%20height='20px'%20viewBox='0%200%2020.0%2020.0'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3cclipPath%20id='i0'%3e%3cpath%20d='M1920,0%20L1920,8136%20L0,8136%20L0,0%20L1920,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i1'%3e%3cpath%20d='M10,0%20C15.5228475,0%2020,4.4771525%2020,10%20C20,15.5228475%2015.5228475,20%2010,20%20C4.4771525,20%200,15.5228475%200,10%20C0,4.4771525%204.4771525,0%2010,0%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i2'%3e%3cpath%20d='M4.9775995,0%20C7.42512481,0%209.56926817,1.47512623%2010,3.46062629%20C9.8416204,3.44317044%209.68201932,3.43144869%209.5206254,3.43144869%20C7.15614152,3.43144869%205.2887438,5.17863257%205.28866499,7.33143569%20C5.28866499,7.68942681%205.34508982,8.03448694%205.44227685,8.3639831%20C5.2887438,8.37595839%205.13375284,8.38356485%204.9775995,8.38356485%20C4.35623687,8.38356485%203.85670774,8.25815581%203.23402512,8.13612092%20L1.49399698,9%20L1.9918515,7.51763788%20C0.745658795,6.65565067%200,5.54432766%200,4.19094376%20C0,1.84637989%202.2414289,0%204.9775995,0%20Z%20M6.84422887,2.09536461%20C6.47114335,2.09536461%206.09681665,2.3394734%206.09681665,2.71025897%20C6.09681665,3.07962076%206.47114335,3.32706469%206.84422887,3.32706469%20C7.21902841,3.32706469%207.46728582,3.07962076%207.46728582,2.71025897%20C7.46728582,2.3394734%207.21902841,2.09536461%206.84422887,2.09536461%20Z%20M3.36054754,2.09536461%20C2.98746203,2.09536461%202.61096817,2.3394734%202.61096817,2.71025897%20C2.61096817,3.07962076%202.98754083,3.32706469%203.36054754,3.32706469%20C3.73365276,3.32706469%203.98191017,3.07962076%203.98191017,2.71025897%20C3.98191017,2.3394734%203.73365276,2.09536461%203.36054754,2.09536461%20Z'%3e%3c/path%3e%3c/clipPath%3e%3cclipPath%20id='i3'%3e%3cpath%20d='M4.00264496,0%20C6.11727234,0%208,1.68052391%208,3.7421353%20C8,4.90507254%207.29619833,5.93479653%206.35155624,6.7113194%20L6.70553393,8%20L5.41470002,7.22553849%20C4.94400879,7.35477188%204.4713059,7.48425019%204.00264496,7.48425019%20C1.7635368,7.48425019%200,5.80731836%200,3.7421353%20C0,1.68052391%201.7635368,0%204.00264496,0%20Z%20M2.70490063,2.06520347%20C2.47054222,2.06520347%202.23422803,2.3239764%202.23422803,2.58093287%20C2.23422803,2.84148143%202.47054222,3.09690718%202.70490063,3.09690718%20C3.06092723,3.09690718%203.29398178,2.84148143%203.29398178,2.58093287%20C3.29398178,2.3239764%203.06092723,2.06520347%202.70490063,2.06520347%20Z%20M5.29347887,2.06520347%20C5.06079684,2.06520347%204.8260659,2.3239764%204.8260659,2.58093287%20C4.8260659,2.84148143%205.06079684,3.09690718%205.29347887,3.09690718%20C5.6461527,3.09690718%205.8825414,2.84148143%205.8825414,2.58093287%20C5.8825414,2.3239764%205.6461527,2.06520347%205.29347887,2.06520347%20Z'%3e%3c/path%3e%3c/clipPath%3e%3c/defs%3e%3cg%20transform='translate(-625.0%20-3501.0)'%3e%3cg%20clip-path='url(%23i0)'%3e%3cg%20transform='translate(625.0%203501.0)'%3e%3cpath%20d='M10,20%20C15.5228475,20%2020,15.5228475%2020,10%20C20,4.4771525%2015.5228475,0%2010,0%20C4.4771525,0%200,4.4771525%200,10%20C0,15.5228475%204.4771525,20%2010,20%20Z'%20stroke='%23FFFFFF'%20stroke-width='1'%20fill='none'%20stroke-miterlimit='5'%3e%3c/path%3e%3cg%20clip-path='url(%23i1)'%3e%3cpolygon%20points='0,0%2020,0%2020,20%200,20%200,0'%20stroke='none'%20fill='%233ECD75'%3e%3c/polygon%3e%3cg%20transform='translate(3.0%204.0)'%3e%3cg%20clip-path='url(%23i2)'%3e%3cpolygon%20points='0,0%2010,0%2010,9%200,9%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3cg%20transform='translate(6.0%204.0)'%3e%3cg%20clip-path='url(%23i3)'%3e%3cpolygon%20points='0,0%208,0%208,8%200,8%200,0'%20stroke='none'%20fill='%23FFFFFF'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e",dG="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwcHgiIGhlaWdodD0iMjBweCIgdmlld0JveD0iMCAwIDIwLjAgMjAuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpMCI+PHBhdGggZD0iTTE5MjAsMCBMMTkyMCw4MTM2IEwwLDgxMzYgTDAsMCBMMTkyMCwwIFoiPjwvcGF0aD48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iaTEiPjxwYXRoIGQ9Ik0xMCwwIEMxNS41MjI4NDc1LDAgMjAsNC40NzcxNTI1IDIwLDEwIEMyMCwxNS41MjI4NDc1IDE1LjUyMjg0NzUsMjAgMTAsMjAgQzQuNDc3MTUyNSwyMCAwLDE1LjUyMjg0NzUgMCwxMCBDMCw0LjQ3NzE1MjUgNC40NzcxNTI1LDAgMTAsMCBaIj48L3BhdGg+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYyNS4wIC0zMjU0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MjUuMCAzMjU0LjApIj48ZyBjbGlwLXBhdGg9InVybCgjaTEpIj48cG9seWdvbiBwb2ludHM9IjAsMCAyMCwwIDIwLDIwIDAsMjAgMCwwIiBzdHJva2U9Im5vbmUiIGZpbGw9IiMzRTY3RkYiPjwvcG9seWdvbj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzLjAgMS4wKSI+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wIDE1LjApIiBmb250LWZhbWlseT0iQXJpYWwtQm9sZE1ULCBBcmlhbCIgZm9udC1zaXplPSIxNy4wIiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iI0ZGRkZGRiIgdGV4dC1hbmNob3I9ImxlZnQiIGxldHRlci1zcGFjaW5nPSIxLjI3NzkzMDgiPnc8L3RleHQ+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=",BG=new Set(["pdf","xps","oxps","djvu","djv"]),QG=new Set(["doc","docx","docm","dot","dotx","dotm","odt","rtf","wps"]),pG=new Set(["xls","xlsx","xlsm","xlsb","xlt","xltx","xltm","xlam","csv","ods","et"]),EG=new Set(["ppt","pptx","pptm","pot","potx","potm","pps","ppsx","ppsm","odp","dps"]),vG=new Set(["jpg","jpeg","png","gif","bmp","webp","svg","ico","tiff","tif"]),mG=new Set(["mp3","wav","flac","aac","ogg","wma","m4a","opus"]),yG=new Set(["mp4","avi","mov","wmv","flv","mkv","webm","m4v","3gp","mpg","mpeg"]);function wv(t,A=""){const e=wG(t);return e==="link"||e==="url"||e==="webloc"||e==="wechat_mp"?e==="wechat_mp"||A.includes("mp.weixin.qq.com")?fG:cG:BG.has(e)?uG:QG.has(e)?dG:pG.has(e)?gG:EG.has(e)?hG:vG.has(e)?lG:mG.has(e)?sG:yG.has(e)?IG:CG}function wG(t){const A=t.trim().toLowerCase();return A?A.includes(".")||A.includes("/")?sg(A):A.replace(/^\./,""):""}const DG=["src","alt"],kG=C.defineComponent({__name:"ChatImageLightbox",props:{open:{type:Boolean},images:{},index:{}},emits:["update:open","update:index"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(),n=C.ref();let a=null;function o(){r("update:open",!1)}function s(c){if(!e.images.length)return;const h=e.index??0;r("update:index",(h+c+e.images.length)%e.images.length)}function g(c){e.open&&(c.key==="Escape"&&o(),c.key==="ArrowLeft"&&s(-1),c.key==="ArrowRight"&&s(1),c.key==="Tab"&&l(c))}function l(c){var f;const h=Array.from(((f=i.value)==null?void 0:f.querySelectorAll('button:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??[]);if(h.length===0)return;const u=h[0],I=h[h.length-1];c.shiftKey&&document.activeElement===u?(c.preventDefault(),I.focus()):!c.shiftKey&&document.activeElement===I&&(c.preventDefault(),u.focus())}return C.watch(()=>e.open,c=>{c?(a=document.activeElement instanceof HTMLElement?document.activeElement:null,C.nextTick(()=>{var h;return(h=n.value)==null?void 0:h.focus()})):(a==null||a.focus(),a=null)}),typeof window<"u"&&window.addEventListener("keydown",g),C.onBeforeUnmount(()=>window.removeEventListener("keydown",g)),(c,h)=>{var u,I;return C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[t.open&&t.images.length?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"dialogRef",ref:i,class:"chat-image-lightbox",role:"dialog","aria-modal":"true","aria-label":"图片预览"},[C.createElementVNode("button",{ref_key:"closeRef",ref:n,type:"button",class:"chat-image-lightbox__close","aria-label":"关闭图片预览",onClick:o},[C.createVNode(C.unref(Sl),{size:20,"stroke-width":1.75,"aria-hidden":"true"})],512),t.images.length>1?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-image-lightbox__previous","aria-label":"上一张图片",onClick:h[0]||(h[0]=f=>s(-1))},[C.createVNode(C.unref(t6),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])):C.createCommentVNode("",!0),C.createElementVNode("img",{src:(u=t.images[t.index??0])==null?void 0:u.original_url,alt:(I=t.images[t.index??0])==null?void 0:I.filename},null,8,DG),t.images.length>1?(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-image-lightbox__next","aria-label":"下一张图片",onClick:h[1]||(h[1]=f=>s(1))},[C.createVNode(C.unref(vv),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])):C.createCommentVNode("",!0)],512)):C.createCommentVNode("",!0)])}}}),C3=ve(kG,[["__scopeId","data-v-7344bd69"]]),bG={class:"chat-attachments","aria-label":"消息附件"},SG=["aria-label","onClick"],NG=["src","alt"],FG=["aria-label","onClick"],xG=["src"],_G={class:"chat-attachments__file-info"},MG={class:"chat-attachments__name"},RG={class:"chat-attachments__meta"},GG={class:"chat-attachments__type"},LG=200,TG=C.defineComponent({__name:"ChatAttachments",props:{resources:{}},emits:["preview"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>e.resources.filter(c=>WC(c)==="image")),n=C.ref(!1),a=C.ref(0);function o(c){return WC(c)==="image"}function s(c){return Ps(c.original_url,{width:LG})}function g(c){a.value=i.value.findIndex(h=>h.original_url===c.original_url),n.value=!0}function l(c){return c<1024?`${c} B`:c<1024*1024?`${(c/1024).toFixed(1)} KB`:`${(c/(1024*1024)).toFixed(1)} MB`}return(c,h)=>(C.openBlock(),C.createElementBlock("section",bG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.resources,u=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:u.original_url},[o(u)?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-attachments__item chat-attachments__image","aria-label":`预览 ${u.filename}`,onClick:I=>g(u)},[C.createElementVNode("img",{src:s(u),alt:u.filename,loading:"lazy"},null,8,NG)],8,SG)):(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-attachments__item chat-attachments__file","aria-label":`预览 ${u.filename}`,onClick:I=>r("preview",u)},[C.createElementVNode("img",{class:"chat-attachments__file-icon",src:C.unref(wv)(u.url_type||u.filename,u.original_url),alt:"","aria-hidden":"true"},null,8,xG),C.createElementVNode("span",_G,[C.createElementVNode("span",MG,C.toDisplayString(u.filename),1),C.createElementVNode("span",RG,C.toDisplayString(l(u.size)),1)]),C.createElementVNode("span",GG,C.toDisplayString(u.url_type.toUpperCase()),1)],8,FG))],64))),128)),C.createVNode(C3,{open:n.value,"onUpdate:open":h[0]||(h[0]=u=>n.value=u),index:a.value,"onUpdate:index":h[1]||(h[1]=u=>a.value=u),images:i.value},null,8,["open","index","images"])]))}}),I3=ve(TG,[["__scopeId","data-v-9a79734c"]]),YG={key:0,class:"chat-follow-ups",role:"group","aria-label":"推荐追问","data-testid":"chat-follow-ups"},UG=["onClick","onKeydown"],JG={class:"chat-follow-ups__line"},OG=3,HG=C.defineComponent({name:"ChatFollowUps",__name:"ChatFollowUps",props:{questions:{}},emits:["select"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>e.questions.map(o=>o.trim()).filter(Boolean).slice(0,OG));function n(o){r("select",o)}function a(o,s){o.key!=="Enter"&&o.key!==" "||(o.preventDefault(),n(s))}return(o,s)=>i.value.length?(C.openBlock(),C.createElementBlock("div",YG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(i.value,(g,l)=>(C.openBlock(),C.createElementBlock("div",{key:`${l}:${g}`,role:"button",tabindex:"0",class:"chat-follow-ups__chip",onClick:c=>n(g),onKeydown:c=>a(c,g)},[C.createElementVNode("span",JG,C.toDisplayString(g),1)],40,UG))),128))])):C.createCommentVNode("",!0)}}),f3=ve(HG,[["__scopeId","data-v-cdf11c56"]]),d3=["book","file","link","list","doc","folder"],VG={book:["M4 19.5A2.5 2.5 0 0 1 6.5 17H20","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"],file:["M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z","M14 2v6h6"],link:["M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71","M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"],list:["M8 6h13","M8 12h13","M8 18h13","M3 6h.01","M3 12h.01","M3 18h.01"],doc:["M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z","M14 2v6h6","M16 13H8","M16 17H8","M10 9H8"],folder:["M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"],default:["M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6","M15 3h6v6","M10 14L21 3"]};function B3(t){return t&&d3.includes(t)?t:"default"}function Q3(t){const A=String(t.title??"").trim(),e=String(t.href??"").trim();return A.length>0&&e.length>0}const ZG={class:"action-bar-wrap"},qG=["aria-label"],KG={class:"action-bar__left"},PG={class:"action-bar__icon","aria-hidden":"true"},WG=["src"],zG={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"},XG=["d"],jG={class:"action-bar__title"},$G={class:"action-bar__action"},AL=C.defineComponent({name:"ActionBar",__name:"ActionBar",props:{node:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>String(e.node.props.title??"")),n=C.computed(()=>String(e.node.props.href??"")),a=C.computed(()=>{const u=e.node.props.action;return u==null||String(u).trim()===""?"查看":String(u)}),o=C.computed(()=>{const u=e.node.props.iconSrc;if(!(u==null||String(u).trim()===""))return String(u)}),s=C.computed(()=>B3(e.node.props.icon??"book")),g=C.computed(()=>VG[s.value]),l=C.computed(()=>String(e.node.props.id??e.node.id)),c=C.computed(()=>String(e.node.props.nav??"href").trim()==="route"?"route":"href");function h(){r("action",{type:"action-bar",source:"action-bar",id:l.value,title:i.value,href:n.value,nav:c.value,actionLabel:a.value,icon:s.value,iconSrc:o.value})}return(u,I)=>(C.openBlock(),C.createElementBlock("div",ZG,[C.createElementVNode("button",{type:"button",class:"action-bar","data-testid":"action-bar","aria-label":`${a.value}:${i.value}`,onClick:h},[C.createElementVNode("span",KG,[C.createElementVNode("span",PG,[o.value?(C.openBlock(),C.createElementBlock("img",{key:0,class:"action-bar__icon-img",src:o.value,alt:""},null,8,WG)):(C.openBlock(),C.createElementBlock("svg",zG,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(g.value,(f,d)=>(C.openBlock(),C.createElementBlock("path",{key:d,d:f},null,8,XG))),128))]))]),C.createElementVNode("span",jG,C.toDisplayString(i.value),1)]),C.createElementVNode("span",$G,C.toDisplayString(a.value),1)],8,qG)]))}}),eL=ve(AL,[["__scopeId","data-v-ca4a7b46"]]),tL=["html","code","markdown","text"];function vf(t){return tL.includes(t)}const rL={javascript:"js",js:"js",typescript:"ts",ts:"ts",python:"py",py:"py",java:"java",go:"go",rust:"rs",c:"c",cpp:"cpp","c++":"cpp",csharp:"cs","c#":"cs",ruby:"rb",php:"php",shell:"sh",bash:"sh",sql:"sql",json:"json",yaml:"yaml",html:"html",css:"css",vue:"vue"};function iL(t){return t?rL[t.toLowerCase()]??"txt":"txt"}function nL(t,A){switch(t){case"html":return{extension:"html",mime:"text/html"};case"code":return{extension:iL(A),mime:"text/plain"};case"markdown":return{extension:"md",mime:"text/markdown"};default:return{extension:"txt",mime:"text/plain"}}}const iy={pdf:"PDF",word:"Word",excel:"Excel",ppt:"PPT",zip:"Archive",file:"File"},aL={html:"Code · HTML",code:"Code",markdown:"Document · Markdown",text:"Text"};function oL(t,A={}){if(vf(t))return t==="code"&&A.language?`Code · ${A.language.toUpperCase()}`:aL[t];const e=iy[t??"file"]??iy.file;return A.size?`${e} · ${A.size}`:e}function sL(t){return t.trim().replace(/[/\\?%*:|"<>]/g,"_")||"artifact"}function ny(t,A){const e=document.createElement("a");e.href=t,e.download=A,e.style.display="none",document.body.appendChild(e),e.click(),e.remove()}function p3(t){const{title:A,type:e,language:r,content:i,src:n}=t;if(vf(e)){const{extension:a,mime:o}=nL(e,r),s=new Blob([i??""],{type:o}),g=URL.createObjectURL(s);try{ny(g,`${sL(A)}.${a}`)}finally{URL.revokeObjectURL(g)}return}n&&ny(n,A)}const gL={class:"artifact-wrapper"},lL={class:"artifact-block"},cL=["aria-label"],uL={class:"artifact-cell"},hL={class:"artifact-left"},CL={class:"artifact-info"},IL={class:"artifact-title"},fL={class:"artifact-subtitle"},dL={class:"artifact-actions"},BL=["aria-label"],QL=C.defineComponent({name:"ArtifactBlock",__name:"ArtifactBlock",props:{node:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.computed(()=>String(e.node.props.title??"")),n=C.computed(()=>String(e.node.props.type??"text")),a=C.computed(()=>e.node.props.language),o=C.computed(()=>e.node.props.src),s=C.computed(()=>e.node.props.size),g=C.computed(()=>e.node.slotText),l=C.computed(()=>String(e.node.props.id??e.node.id)),c=C.computed(()=>vf(n.value)),h=C.computed(()=>oL(n.value,{language:a.value,size:s.value}));function u(){r("action",{type:"open-artifact",source:"artifact",artifactId:l.value,title:i.value,artifactType:n.value,language:a.value,content:c.value?g.value:void 0,src:c.value?void 0:o.value})}function I(){p3({title:i.value,type:n.value,language:a.value,content:g.value,src:o.value})}return(f,d)=>(C.openBlock(),C.createElementBlock("div",gL,[C.createElementVNode("div",lL,[C.createElementVNode("button",{type:"button",class:"artifact-btn-overlay","data-testid":"artifact-block","aria-label":`View ${i.value}`,onClick:u},null,8,cL),C.createElementVNode("div",uL,[C.createElementVNode("div",hL,[d[0]||(d[0]=C.createElementVNode("div",{class:"artifact-thumb-wrap","aria-hidden":"true"},[C.createElementVNode("div",{class:"artifact-thumb"},[C.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"currentColor",viewBox:"0 0 256 256"},[C.createElementVNode("path",{d:"M67.84,92.61,25.37,128l42.47,35.39a6,6,0,1,1-7.68,9.22l-48-40a6,6,0,0,1,0-9.22l48-40a6,6,0,0,1,7.68,9.22Zm176,30.78-48-40a6,6,0,1,0-7.68,9.22L230.63,128l-42.47,35.39a6,6,0,1,0,7.68,9.22l48-40a6,6,0,0,0,0-9.22Zm-81.79-89A6,6,0,0,0,154.36,38l-64,176A6,6,0,0,0,94,221.64a6.15,6.15,0,0,0,2,.36,6,6,0,0,0,5.64-3.95l64-176A6,6,0,0,0,162.05,34.36Z"})])])],-1)),C.createElementVNode("div",CL,[C.createElementVNode("div",IL,C.toDisplayString(i.value),1),C.createElementVNode("div",fL,C.toDisplayString(h.value),1)])]),C.createElementVNode("div",dL,[C.createElementVNode("button",{type:"button",class:"artifact-download-btn","data-testid":"artifact-block-download","aria-label":`下载 ${i.value}`,onClick:C.withModifiers(I,["stop"])},[...d[1]||(d[1]=[C.createElementVNode("span",null,"下载",-1)])],8,BL)])])])]))}}),pL=ve(QL,[["__scopeId","data-v-889319cf"]]);function EL(t){const A=Object.freeze({...t});return{tags:A,has(e){return Object.prototype.hasOwnProperty.call(A,e)},get(e){return A[e]},entries(){return Object.entries(A)}}}function E3(t){return t.endsWith("?")}function v3(t){return t.replace(/\?$/,"")}function mf(t,A={}){var r;const e=[];(r=A.preamble)!=null&&r.trim()&&e.push(A.preamble.trim(),""),e.push("可用标签:");for(const[i,n]of t.entries()){const a=Object.entries(n.props).map(([s,g])=>E3(g)?`${s}?`:s).join(", "),o=n.children&&n.children.length>0?`;children: ${n.children.join(", ")}`:"";e.push(`- {% ${i} %}(props: ${a||"无"}${o})`)}return e.join(`
|
|
207
207
|
`)}const Pl=EL({"ask-form":{props:{id:"string?",question:"string",multiple:"boolean?",allowOther:"boolean?",required:"boolean?"},children:["ask-option"]},"ask-option":{props:{label:"string",value:"string"}},artifact:{props:{id:"string?",title:"string",type:"string?",language:"string?",src:"string?",size:"string?"}},chart:{props:{type:"string"}},"action-bar":{props:{id:"string?",title:"string",href:"string",action:"string?",icon:"string?",iconSrc:"string?",nav:"string?"}}}),vL=`当需要用户从选项中选择时,调用 ask_form tool:arguments 含 desc(工具链展示用短描述)与 mdoc(完整 {% ask-form %}…{% /ask-form %} 文本);禁止用纯文本 ABCD 代替。多题时在同一次调用内连续拼接多个 ask-form 块。前端会自动从 mdoc 解析并展示选择题,不要把 ask-form 写进助手正文。
|
|
208
208
|
|
|
209
209
|
规则:
|
|
@@ -690,9 +690,9 @@ ${i}`}return`${e}: ${String(r)}`}).join(`
|
|
|
690
690
|
`);e.forEach((r,i)=>{r&&t.appendChild(document.createTextNode(r)),i<e.length-1&&t.appendChild(document.createElement("br"))})}function $hA(t,A){t.deleteContents();const e=document.createDocumentFragment(),r=A.split(`
|
|
691
691
|
`);r.forEach((n,a)=>{n&&e.appendChild(document.createTextNode(n)),a<r.length-1&&e.appendChild(document.createElement("br"))});const i=e.lastChild;return t.insertNode(e),i}function ACA(t){return Array.from(t.childNodes).some(A=>A.nodeType===Node.TEXT_NODE?(A.textContent??"").length>0:A.nodeType===Node.ELEMENT_NODE?A.tagName!=="BR":!0)}function xR(){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const A=t.getRangeAt(0).cloneRange();if(A.collapse(!0),typeof A.getBoundingClientRect!="function")return null;const e=A.getBoundingClientRect();return e.width===0&&e.height===0?rCA(A):e}function eCA(t){const A=xR();if(A&&(A.width>0||A.height>0)||A&&(A.left!==0||A.top!==0))return A;const e=t.getBoundingClientRect();if(e.width===0&&e.height===0)return A;const r=24;return new DOMRect(e.left,e.top+8,0,r)}function tCA(t){const A=t.gap??6,e=t.margin??8,{anchor:r,menuWidth:i,menuHeight:n,viewportWidth:a,viewportHeight:o}=t,s=o-r.bottom-A-e,g=r.top-A-e,l=n>s&&g>s;let c,h;l?(h="above",c=Math.max(e,r.top-A-n)):(h="below",c=r.bottom+A,c+n>o-e&&(c=Math.max(e,o-e-n)));let u=r.left;return u+i>a-e&&(u=Math.max(e,a-e-i)),u<e&&(u=e),{left:u,top:c,placement:h}}function rCA(t){var n;const A=document.createTextNode("");t.cloneRange().insertNode(A);const r=document.createRange();r.selectNode(A);const i=typeof r.getBoundingClientRect=="function"?r.getBoundingClientRect():null;return(n=A.parentNode)==null||n.removeChild(A),i}const iCA={key:1,class:"chat-sender__files","aria-label":"待发送附件"},nCA=["aria-label"],aCA=["src","alt"],oCA=["aria-label"],sCA=["src"],gCA={class:"chat-sender__file-content"},lCA={class:"chat-sender__file-name"},cCA={class:"chat-sender__file-meta"},uCA={class:"chat-sender__file-footer"},hCA={class:"chat-sender__file-badge"},CCA={class:"chat-sender__file-ext"},ICA=["aria-label","aria-valuenow"],fCA=["aria-label","onClick"],dCA=["aria-label","onClick"],BCA={key:2,class:"chat-sender__attachment-error",role:"alert"},QCA={class:"chat-sender__content"},pCA={class:"chat-sender__input-wrapper"},ECA=["contenteditable","data-placeholder","aria-expanded"],vCA={class:"chat-sender__toolbar"},mCA={class:"chat-sender__toolbar-left"},yCA={key:0,class:"chat-sender__attachment-wrapper"},wCA=["disabled","aria-expanded"],DCA={key:1,class:"chat-sender__attachment-menu-divider"},kCA=["disabled","onClick"],bCA={key:1,class:"chat-sender__toolbar-divider","aria-hidden":"true"},SCA=["disabled","aria-label","onClick"],NCA={key:1,"aria-hidden":"true"},FCA={key:0,class:"chat-sender__quick-actions",role:"group","aria-label":"快捷功能"},xCA=["disabled","onClick"],_CA={key:1,class:"chat-sender__quick-action-chip"},MCA={class:"chat-sender__toolbar-right"},RCA={class:"chat-sender__button-group"},GCA={key:0,class:"chat-sender__toolbar-before-voice"},LCA=["title"],TCA=["disabled"],YCA=["disabled","aria-label"],UCA={key:2,class:"chat-sender__voice-waveform"},JCA={class:"chat-sender__mic-permission-popover-header"},OCA={class:"chat-sender__mic-permission-popover-desc"},HCA=["href"],VCA={class:"chat-sender__mic-permission-popover-hero","aria-hidden":"true"},ZCA={class:"chat-sender__voice-menu-header"},qCA={class:"chat-sender__voice-level"},KCA={class:"chat-sender__voice-menu-body"},PCA={class:"chat-sender__voice-menu-devices"},WCA=["onClick"],zCA={class:"chat-sender__voice-menu-device-name"},XCA={class:"chat-sender__voice-menu-footer"},jCA={class:"chat-sender__voice-menu-option-content"},$CA=["checked"],AIA=["disabled","aria-label"],eIA={class:"chat-sender__action-icons","aria-hidden":"true"},tIA=["src"],rIA=240,iIA=C.defineComponent({__name:"ChatSender",props:{placeholder:{default:"输入消息..."},disabled:{type:Boolean,default:!1},showAttachment:{type:Boolean,default:!0},enableFileDrop:{type:Boolean,default:!0},maxRows:{default:6},draft:{default:void 0},attachments:{default:void 0},uploadConfig:{default:void 0},attachmentLimits:{default:void 0},streaming:{type:Boolean},theme:{default:void 0},showScreenshot:{type:Boolean,default:!1},customMenuItems:{default:()=>[]},quickActions:{default:()=>[]},activeQuickAction:{default:void 0},triggers:{default:()=>[]},triggerMenuPlacement:{default:"caret"},micPermissionGuideUrl:{}},emits:["send","stop","update:draft","update:attachments","attachment-error","voice-click","voice-record","voice-start","voice-stop","voice-cancel","audio-device-change","audio-transcript","screenshot","menu-item-click","attachment-menu-open","attachment-menu-close","update:activeQuickAction","quick-action-select","quick-action-clear","trigger-open","trigger-query","trigger-close","mention-insert","mention-remove","mic-permission-guide-click"],setup(t,{expose:A,emit:e}){const r=t,i=e,n=C.useSlots(),a=new Map;function o(){return typeof n.mention=="function"}function s(){return`mm-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}const g=C.ref(),l=C.ref(),c=C.ref(),h=C.ref(),u=C.ref(),I=uc(),f=C.ref(""),d=C.ref([...r.attachments??[]]),B=C.ref(!1),Q=C.shallowRef(null),p=C.shallowRef(null);let E=null;const v=C.ref(void 0),m=new Map;let w=new Set;const k=C.computed({get:()=>r.draft??f.value,set:U=>{r.draft===void 0&&(f.value=U),i("update:draft",U)}}),b=C.computed(()=>r.triggers??[]),S=C.computed(()=>b.value.filter(U=>U.button)),N=C.computed(()=>r.showAttachment&&(S.value.length>0||r.quickActions.length>0)),_=C.computed(()=>r.maxRows*24+24),F=C.computed(()=>{const U=g.value;return!U||!Q.value?null:p.value??eCA(U)}),R=C.computed(()=>{if(r.triggerMenuPlacement==="custom")return;if(!Q.value)return{position:"fixed",left:"0px",top:"0px",visibility:"hidden"};if(h.value)return h.value;const U=F.value;return U?{position:"fixed",left:`${U.left}px`,top:`${U.bottom+6}px`,visibility:"hidden"}:{position:"fixed",left:"0px",top:"0px",visibility:"hidden"}});function T(){if(r.triggerMenuPlacement==="custom"){h.value=void 0;return}const U=F.value,z=c.value;if(!U||!z||!Q.value){h.value=void 0;return}const{left:AA,top:wA}=tCA({anchor:U,menuWidth:z.offsetWidth,menuHeight:z.offsetHeight,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.value={position:"fixed",left:`${AA}px`,top:`${wA}px`,visibility:"visible"}}function O(){if(!Q.value||r.triggerMenuPlacement==="custom"){h.value=void 0;return}C.nextTick(()=>{requestAnimationFrame(()=>T())})}const Y=C.computed(()=>r.uploadConfig?{...I.uploadConfig.value,...r.uploadConfig}:I.uploadConfig.value),G=C.computed(()=>{var U,z;return kd(I.limits.value,(U=I.uploadConfig.value)==null?void 0:U.limits,(z=r.uploadConfig)==null?void 0:z.limits,r.attachmentLimits)}),P=C.computed(()=>({...I.theme.value,...r.theme})),X=C.computed(()=>{const U=P.value,z={};return U.inputBg&&(z["--chat-sender-bg"]=U.inputBg),U.inputBorder&&(z["--chat-sender-border"]=U.inputBorder),U.inputFocusBorder&&(z["--chat-sender-focus-border"]=U.inputFocusBorder),U.buttonPrimaryBg&&(z["--chat-sender-send-active-bg"]=U.buttonPrimaryBg),U.buttonPrimaryColor&&(z["--chat-sender-send-active-color"]=U.buttonPrimaryColor),U.buttonSecondaryBg&&(z["--chat-sender-btn-hover-bg"]=U.buttonSecondaryBg),U.buttonSecondaryColor&&(z["--chat-sender-icon-color"]=U.buttonSecondaryColor),z}),j=["5.13px","8.44px","14.17px","8.44px","5.13px"],iA=C.ref(!1),nA=C.ref(!1),aA=C.ref(null),cA=C.computed({get:()=>r.activeQuickAction===void 0?aA.value:r.activeQuickAction,set:U=>{r.activeQuickAction===void 0&&(aA.value=U),i("update:activeQuickAction",U)}}),NA=C.computed(()=>r.quickActions.find(U=>U.id===cA.value)),WA=C.computed(()=>{var U;return((U=NA.value)==null?void 0:U.placeholder)??r.placeholder}),{showVoiceMenu:VA,holdToRecord:zA,isVoiceHovered:tA,isRecording:QA,audioLevel:xA,isHoldingMic:he,voiceError:oe,audioDevices:Ue,isSpeechSupported:SA,isMicPermissionDenied:JA,toggleVoiceMenu:jA,closeVoiceMenu:Ee,handleVoiceRecord:de,handleMouseDown:be,handleMouseUp:Ge,handleMouseLeave:We,selectAudioDevice:ar,toggleHoldToRecord:_e}=YhA({draft:k,isDisabled:()=>r.disabled,onMenuOpen:()=>{nA.value=!1},onVoiceClick:()=>i("voice-click"),onVoiceRecord:()=>i("voice-record"),onVoiceStart:()=>i("voice-start"),onVoiceStop:()=>i("voice-stop"),onVoiceCancel:()=>i("voice-cancel"),onAudioDeviceChange:U=>i("audio-device-change",U),onAudioTranscript:U=>i("audio-transcript",U)}),yt=C.computed(()=>!SA.value||JA.value),Ne=C.computed(()=>{if(!SA.value)return"当前浏览器不支持语音输入";if(JA.value)return"浏览器未开启麦克风权限"}),Gr=C.computed(()=>Ne.value?Ne.value:QA.value?"停止录音":"录音"),rA=C.ref(!1);let hA=!1;const _A=C.ref(),Wt=C.ref(),or=C.ref(),sr=C.ref(),lt=C.ref();let At=null;function Yt(){At!=null&&(clearTimeout(At),At=null)}function Lr(){var XA;const U=(XA=_A.value)==null?void 0:XA.closest(".chat-sender");if(!U)return{};const z=getComputedStyle(U),AA=["--chat-sender-menu-bg","--chat-sender-menu-item-hover","--chat-sender-text","--chat-sender-text-muted","--chat-sender-icon-color","--chat-sender-accent","--chat-sender-btn-hover-bg","--chat-sender-level-bg","--chat-sender-switch-bg","--chat-sender-border","--accent","--shadow-md","--radius-md","--radius-sm"],wA={};for(const ie of AA){const Oe=z.getPropertyValue(ie).trim();Oe&&(wA[ie]=Oe)}return wA}function ze(U,z,AA=10){var Ka;const wA=(Ka=_A.value)==null?void 0:Ka.getBoundingClientRect();if(!wA||!U){z.value=void 0;return}const XA=U.offsetWidth,ie=U.offsetHeight;let Oe=wA.right-XA;Oe=Math.max(8,Math.min(Oe,window.innerWidth-XA-8));let at=wA.top-ie-AA;at<8&&(at=Math.min(wA.bottom+AA,Math.max(8,window.innerHeight-ie-8))),z.value={...Lr(),position:"fixed",left:`${Oe}px`,top:`${at}px`,visibility:"visible"}}function gr(){C.nextTick(()=>{VA.value?(sr.value||(sr.value={position:"fixed",left:"0px",top:"0px",visibility:"hidden"}),ze(Wt.value,sr,8)):sr.value=void 0,rA.value?(lt.value||(lt.value={position:"fixed",left:"0px",top:"0px",visibility:"hidden"}),ze(or.value,lt,10)):lt.value=void 0})}function lr(){if(Yt(),JA.value){hA||(rA.value=!0,gr());return}yt.value||(tA.value=!0)}function na(){tA.value=!1,Yt(),hA=!1,At=setTimeout(()=>{rA.value=!1,At=null},180)}function wr(){Yt()}function Yi(){Yt(),hA=!1,At=setTimeout(()=>{rA.value=!1,At=null},180)}function Za(){Yt(),rA.value=!1,hA=!0}C.watch([VA,rA],()=>{gr()});const ct=C.computed(()=>(k.value.trim().length>0||d.value.length>0)&&d.value.every(z=>z.status==="uploaded")),Tr=C.ref(!1),ki=C.computed(()=>r.streaming||Tr.value),qa=C.computed(()=>ki.value||ct.value);C.watch(()=>r.streaming,U=>{U&&(Tr.value=!1)}),C.watch(ct,U=>{U&&(Tr.value=!1)}),C.watch(()=>r.attachments,U=>{U&&(d.value=[...U])},{deep:!0});function W(U){d.value=[...U],i("update:attachments",d.value)}const oA=SR({getAttachments:()=>d.value,setAttachments:W,getUploadConfig:()=>Y.value,getLimits:()=>G.value,onError(U,z){i("attachment-error",U,z)}});C.onMounted(()=>{k.value&&g.value&&GS(g.value,k.value),v.value=k.value}),C.watch(k,U=>{U!==v.value&&g.value&&(GS(g.value,U),v.value=U,Q.value=null,document.activeElement===g.value&&lA(g.value))});function lA(U){const z=window.getSelection();if(!z)return;const AA=document.createRange();AA.selectNodeContents(U),AA.collapse(!1),z.removeAllRanges(),z.addRange(AA),E=AA.cloneRange()}function RA(){const U=g.value,z=window.getSelection();if(!U||!z||z.rangeCount===0){U&&jc(U);return}const AA=z.getRangeAt(0);if(!U.contains(AA.commonAncestorContainer)){jc(U);return}E=AA.cloneRange(),jc(U)}function OA(){if(!g.value)return;const U=FR(g.value);v.value=U,k.value=U}function we(){if(!g.value)return;const U=new Set;g.value.querySelectorAll(`[${Yu}]`).forEach(z=>{const AA=z.getAttribute(Yu),wA=z.getAttribute(Qf);if(!AA||!wA)return;const XA=Yr(AA,wA);if(U.add(XA),!m.has(XA)){const ie=z.getAttribute(d0)??"",Oe={triggerId:AA,id:wA,label:ie};m.set(XA,Oe),i("mention-insert",Oe)}}),w.forEach(z=>{if(U.has(z))return;const AA=m.get(z);AA&&(m.delete(z),i("mention-remove",AA))}),w=U,ut()}function ut(){if(!o()||!g.value){fr();return}const U=new Set;g.value.querySelectorAll(`[${Qv}]`).forEach(z=>{let AA=z.getAttribute(qC);AA||(AA=s(),z.setAttribute(qC,AA)),U.add(AA),a.has(AA)||xt(z)}),a.forEach((z,AA)=>{var wA;U.has(AA)&&((wA=g.value)!=null&&wA.contains(z.el))||Qt(AA)})}function xt(U){const z=U.getAttribute(qC);if(!z||!o()||a.has(z))return;const AA=U.getAttribute(Yu)??"",wA=U.getAttribute(Qf)??"",XA=U.getAttribute(d0)??"",ie=U.getAttribute(Sd)??"",Oe=()=>aa(U),at=C.defineComponent({name:"ChatSenderMentionSlotHost",setup(){return()=>{var Nn;return((Nn=n.mention)==null?void 0:Nn.call(n,{triggerId:AA,id:wA,label:XA,char:ie,remove:Oe}))??null}}});C.render(C.h(at),U),a.set(z,{el:U,cleanup:()=>C.render(null,U)})}function Qt(U){const z=a.get(U);z&&(z.cleanup(),a.delete(U))}function fr(){a.forEach((U,z)=>Qt(z))}function Yr(U,z){return`${U}:${z}`}function aa(U){var wA;if(!((wA=g.value)!=null&&wA.contains(U)))return;g.value.focus();const AA=window.getSelection();if(AA){const XA=document.createRange();XA.selectNode(U),AA.removeAllRanges(),AA.addRange(XA),typeof document.execCommand=="function"&&document.execCommand("delete")||U.remove()}else U.remove();bi(),Xt()}function bi(){g.value&&(!ACA(g.value)&&g.value.childNodes.length>0&&(g.value.innerHTML=""),we(),OA(),sA())}function Cc(){B.value=!0}function pg(){B.value=!1}function Eg(U){var ie,Oe;U.preventDefault();const z=((ie=U.clipboardData)==null?void 0:ie.getData(MS))??"",AA=z?XhA(z):null;if(AA&&AA.length>0){zt(AA);return}const wA=Bf(U.clipboardData);if(wA.length>0&&r.showAttachment&&!r.disabled){Dr(wA);return}const XA=((Oe=U.clipboardData)==null?void 0:Oe.getData("text/plain"))??"";XA&&(Po(XA),bi())}function qo(){const U=g.value,z=window.getSelection();if(!U||!z||z.rangeCount===0||z.isCollapsed)return null;const AA=z.getRangeAt(0),wA=AA.startContainer===U||U.contains(AA.startContainer),XA=AA.endContainer===U||U.contains(AA.endContainer);return!wA||!XA?null:AA}function $A(U,z){var XA,ie;const AA=qhA(z),wA=WhA(z);U.preventDefault(),(XA=U.clipboardData)==null||XA.setData("text/plain",AA),(ie=U.clipboardData)==null||ie.setData(MS,zhA(wA))}function q(U){const z=qo();z&&$A(U,z)}function uA(U){if(r.disabled||QA.value)return;const z=qo();z&&($A(U,z),z.deleteContents(),bi(),g.value&&jc(g.value))}function MA(U,z){const AA=U??{id:z.triggerId,char:z.char||"@"},wA=o(),XA=!wA&&typeof AA.renderChip=="function",ie=wA?s():void 0,Oe=wA?Bu(AA,z.id,z.label,{custom:!0,mountId:ie}):XA?Bu(AA,z.id,z.label,{custom:!0}):RS(AA,z.id,z.label);if(XA&&AA.renderChip){const at=AA.renderChip({triggerId:AA.id,id:z.id,label:z.label,char:AA.char});typeof at=="string"?Oe.innerHTML=at:Oe.appendChild(at)}return Oe}function et(U,z){const AA=z.split(`
|
|
692
692
|
`);AA.forEach((wA,XA)=>{wA&&U.appendChild(document.createTextNode(wA)),XA<AA.length-1&&U.appendChild(document.createElement("br"))})}function zt(U){const z=g.value,AA=window.getSelection();if(!z||!AA||AA.rangeCount===0)return;const wA=AA.getRangeAt(0);if(!z.contains(wA.startContainer)&&wA.startContainer!==z)return;wA.deleteContents();const XA=document.createDocumentFragment(),ie=[];for(const at of U){if(at.type==="text"){et(XA,at.text);continue}const Ka=b.value.find(xd=>xd.id===at.triggerId),Nn=MA(Ka,at);XA.appendChild(Nn),Nn.hasAttribute(Qv)&&o()&&ie.push(Nn)}const Oe=XA.lastChild;if(wA.insertNode(XA),ie.forEach(at=>xt(at)),Oe){const at=document.createRange();at.setStartAfter(Oe),at.collapse(!0),AA.removeAllRanges(),AA.addRange(at)}bi(),jc(z)}function wt(U){var XA,ie;const z=U.target,AA=(XA=z==null?void 0:z.closest)==null?void 0:XA.call(z,".chat-sender__mention-remove");if(!AA||!((ie=g.value)!=null&&ie.contains(AA)))return;U.preventDefault(),U.stopPropagation();const wA=AA.closest(`.${hc}`);!wA||!g.value||aa(wA)}function Xt(){const U=g.value;if(!U)return;let z=null;const AA=window.getSelection();if(AA&&AA.rangeCount>0&&U.contains(AA.getRangeAt(0).commonAncestorContainer))z=AA.getRangeAt(0).cloneRange();else if(E)try{U.contains(E.commonAncestorContainer)&&(z=E.cloneRange())}catch{E=null}U.focus();const wA=window.getSelection();if(!z||!wA){lA(U);return}wA.removeAllRanges(),wA.addRange(z),E=z.cloneRange()}function dr(U){return!!U.closest('button, a, input, textarea, select, label, [role="button"], [role="menuitem"], [role="switch"], [contenteditable="true"]')}function zr(U){if(r.disabled||QA.value)return;const z=U.target;!z||dr(z)||U.preventDefault()}function Ko(U){if(r.disabled||QA.value)return;const z=U.target;!z||dr(z)||Xt()}function _t(){iA.value=!0}function Ic(U){const z=l.value,AA=U.relatedTarget;z&&AA&&z.contains(AA)||requestAnimationFrame(()=>{if(z!=null&&z.contains(document.activeElement)){iA.value=!0;return}iA.value=!1})}function Po(U){const z=window.getSelection(),AA=g.value;if(!z||z.rangeCount===0||!AA)return;const wA=z.getRangeAt(0);if(!AA.contains(wA.startContainer))return;const XA=$hA(wA,U);if(!XA)return;const ie=document.createRange();ie.setStartAfter(XA),ie.collapse(!0),z.removeAllRanges(),z.addRange(ie)}function H(){p.value=xR()}function K(){const U=Q.value;U&&(Q.value=null,p.value=null,h.value=void 0,i("trigger-close",{triggerId:U.triggerId}))}function sA(){const U=window.getSelection(),z=g.value;if(!U||U.rangeCount===0||!U.isCollapsed||!z){K();return}const AA=U.getRangeAt(0);if(!z.contains(AA.startContainer)){K();return}const wA=ZhA(b.value,z,AA.startContainer,AA.startOffset);if(!wA){K();return}const XA=wA.range.toString().slice(wA.trigger.char.length),ie=Q.value;if(!ie||ie.triggerId!==wA.trigger.id)Q.value={triggerId:wA.trigger.id,query:XA,range:wA.range},i("trigger-open",{triggerId:wA.trigger.id});else{const Oe=ie.query!==XA;Q.value={triggerId:ie.triggerId,query:XA,range:wA.range},Oe&&i("trigger-query",{triggerId:wA.trigger.id,query:XA})}C.nextTick(()=>{H(),O()})}function eA(U){r.disabled||(Xt(),Po(U.char),bi())}function BA(){K()}function pA(U){const z=Q.value;if(!z)return;const AA=b.value.find(wA=>wA.id===z.triggerId);if(AA){if(B.value){Promise.resolve().then(()=>ZA(AA,z,U));return}ZA(AA,z,U)}}function ZA(U,z,AA){var Z1;const wA=g.value;if(!wA)return;const XA=o(),ie=!XA&&typeof U.renderChip=="function",Oe=XA?s():void 0,at=XA?Bu(U,AA.id,AA.label,{custom:!0,mountId:Oe}):ie?Bu(U,AA.id,AA.label,{custom:!0}):RS(U,AA.id,AA.label);if(ie&&U.renderChip){const Pa=U.renderChip({triggerId:U.id,id:AA.id,label:AA.label,char:U.char});typeof Pa=="string"?at.innerHTML=Pa:at.appendChild(Pa)}const Ka=`m-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;at.setAttribute("data-mention-token",Ka);const Nn=UhA(wA,z.range)?" ":"",xd=`${Nn}${at.outerHTML} `;wA.focus();const Xo=window.getSelection();if(!Xo)return;Xo.removeAllRanges(),Xo.addRange(z.range),z.range.deleteContents();const _d=z.range.cloneRange();_d.collapse(!0),Xo.removeAllRanges(),Xo.addRange(_d);let jo=null;if(typeof document.execCommand=="function"&&document.execCommand("insertHTML",!1,xd)&&(jo=wA.querySelector(`[data-mention-token="${Ka}"]`)),!jo){const Pa=document.createDocumentFragment();Nn&&Pa.appendChild(document.createTextNode(Nn)),Pa.appendChild(at),Pa.appendChild(document.createTextNode(" ")),_d.insertNode(Pa),jo=at}jo.removeAttribute("data-mention-token"),XA&&xt(jo);const J0=jo.nextSibling,O0=document.createRange();J0&&J0.nodeType===Node.TEXT_NODE?O0.setStart(J0,Math.min(1,((Z1=J0.textContent)==null?void 0:Z1.length)??0)):O0.setStartAfter(jo),O0.collapse(!0),Xo.removeAllRanges(),Xo.addRange(O0);const V1=Yr(U.id,AA.id);m.set(V1,{triggerId:U.id,id:AA.id,label:AA.label}),w.add(V1),OA(),i("mention-insert",{triggerId:U.id,id:AA.id,label:AA.label}),K()}function LA(U){const z=g.value,AA=window.getSelection();if(!z||!AA||!AA.isCollapsed||AA.rangeCount===0)return!1;const wA=AA.getRangeAt(0),XA=U==="Backspace"?JhA(z,wA):OhA(z,wA);if(!XA)return!1;const ie=U==="Backspace"&&wA.startContainer.nodeType===Node.TEXT_NODE&&/^\s+$/.test(wA.startContainer.textContent??"")&&wA.startContainer.previousSibling===XA?wA.startContainer:null;z.focus();const Oe=document.createRange();return Oe.setStartBefore(XA),ie?Oe.setEndAfter(ie):Oe.setEndAfter(XA),AA.removeAllRanges(),AA.addRange(Oe),typeof document.execCommand=="function"&&document.execCommand("delete")||(XA.remove(),ie!=null&&ie.parentNode&&ie.parentNode.removeChild(ie)),!0}function le(U){if((U.key==="Backspace"||U.key==="Delete")&&!U.isComposing&&!B.value&&LA(U.key)){U.preventDefault(),bi();return}if(U.key==="Enter"){if(U.shiftKey){U.preventDefault(),Po(`
|
|
693
|
-
`),bi();return}U.isComposing||B.value||(U.preventDefault(),te())}}function te(){if(!ct.value||r.disabled)return;const U=Ef(k.value,d.value);Tr.value=!0,i("send",U),Ut(),oA.clear(),C.nextTick(()=>{var z;(z=g.value)==null||z.focus()})}function Je(){Tr.value=!1,i("stop")}function Ut(){g.value&&(g.value.innerHTML=""),fr(),v.value="",k.value="",m.clear(),w=new Set,E=null,K()}function Xr(){var U;(U=u.value)==null||U.click()}function jt(U){const z=U.target;if(z.files&&z.files.length>0){const AA=Array.from(z.files);Dr(AA)}z.value=""}function Dr(U){oA.addFiles(U)}A({addFiles:Dr});const Dt=C.inject(NR,null);let PA;const De=C.ref(!1);let J=0;function yA(){return r.enableFileDrop&&r.showAttachment&&!r.disabled}function qA(){J=0,De.value=!1}function Fe(U){!yA()||!bl(U)||(U.preventDefault(),U.stopPropagation(),J+=1,De.value=!0)}function Xe(U){!yA()||!bl(U)||(U.preventDefault(),U.stopPropagation(),U.dataTransfer&&(U.dataTransfer.dropEffect="copy"),De.value=!0)}function Ur(U){!yA()||!bl(U)||(U.stopPropagation(),J=Math.max(0,J-1),J===0&&(De.value=!1))}function Ui(U){if(!yA())return;U.preventDefault(),U.stopPropagation(),qA();const z=Bf(U.dataTransfer);z.length>0&&Dr(z)}C.watch(()=>[r.disabled,r.showAttachment,r.enableFileDrop],()=>{yA()||qA()});function Wo(U){oA.remove(U)}function zo(U){oA.retry(U)}function pt(U){return U.status==="uploaded"?U.resource.fileName:U.file.name}function U0(U){const z=pt(U);return sg(z)||"file"}function Nd(U){return U.status==="uploaded"?Uu({name:U.resource.fileName,type:""})==="image":Uu(U.file)==="image"}function PR(U){return U.previewUrl?U.previewUrl:U.status==="uploaded"?Ps(U.resource.url,{width:rIA}):""}function Fd(U){return U.status==="uploading"?`上传中 ${U.progress}%`:U.status==="error"?U.error.message:WR(U.resource.size)}function WR(U){return U<1024?`${U} B`:U<1024*1024?`${(U/1024).toFixed(1)} KB`:`${(U/(1024*1024)).toFixed(1)} MB`}function zR(){nA.value=!nA.value,nA.value?(Ee(),i("attachment-menu-open")):i("attachment-menu-close")}function XR(){Xr(),nA.value=!1}function jR(){const U=typeof navigator>"u"?void 0:navigator.mediaDevices;U&&"getDisplayMedia"in U?$R():i("screenshot"),nA.value=!1}async function $R(){try{const U=typeof navigator>"u"?void 0:navigator.mediaDevices;if(!(U!=null&&U.getDisplayMedia)){i("screenshot");return}const z=await U.getDisplayMedia({video:!0}),AA=document.createElement("video");AA.srcObject=z,AA.autoplay=!0,await new Promise(ie=>{AA.onloadedmetadata=ie}),await new Promise(ie=>setTimeout(ie,100));const wA=document.createElement("canvas");wA.width=AA.videoWidth,wA.height=AA.videoHeight;const XA=wA.getContext("2d");XA&&(XA.drawImage(AA,0,0),z.getTracks().forEach(ie=>ie.stop()),wA.toBlob(ie=>{if(ie){const Oe=new File([ie],`screenshot-${Date.now()}.png`,{type:"image/png"});Dr([Oe])}},"image/png"))}catch(U){console.error("截图失败:",U),i("screenshot")}}function A7(U){i("menu-item-click",U),nA.value=!1}function e7(U){cA.value=U.id,i("quick-action-select",U),C.nextTick(()=>{var z;return(z=g.value)==null?void 0:z.focus()})}function t7(){cA.value=null,i("quick-action-clear"),C.nextTick(()=>{var U;return(U=g.value)==null?void 0:U.focus()})}function H1(U){const z=U.target;VA.value&&!z.closest(".chat-sender__voice-wrapper")&&!z.closest(".chat-sender__voice-menu")&&Ee(),nA.value&&!z.closest(".chat-sender__attachment-wrapper")&&(nA.value=!1)}return C.onMounted(()=>{document.addEventListener("click",H1),document.addEventListener("selectionchange",RA),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),window.addEventListener("resize",gr),window.addEventListener("scroll",gr,!0),Dt&&r.showAttachment&&(PA=Dt.register(Dr))}),C.onUnmounted(()=>{document.removeEventListener("click",H1),document.removeEventListener("selectionchange",RA),window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0),window.removeEventListener("resize",gr),window.removeEventListener("scroll",gr,!0),Yt(),fr(),PA==null||PA(),PA=void 0,qA(),oA.dispose()}),(U,z)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:l,class:C.normalizeClass(["chat-sender",{"chat-sender--focused":iA.value,"chat-sender--disabled":r.disabled,"chat-sender--mode-active":NA.value,"chat-sender--drag-over":De.value}]),style:C.normalizeStyle(X.value),onFocusin:_t,onFocusout:Ic,onDragenter:Fe,onDragover:Xe,onDragleave:Ur,onDrop:Ui},[C.createElementVNode("div",{class:"chat-sender__inner",onMousedown:zr,onClick:Ko},[De.value?(C.openBlock(),C.createBlock(bR,{key:0})):C.createCommentVNode("",!0),d.value.length>0?(C.openBlock(),C.createElementBlock("div",iCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(d.value,AA=>(C.openBlock(),C.createElementBlock("div",{key:AA.id,class:C.normalizeClass(["chat-sender__file-thumbnail",`chat-sender__file-thumbnail--${AA.status}`])},[Nd(AA)?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-sender__file-card chat-sender__file-card--image","aria-label":`${pt(AA)}, ${Fd(AA)}`},[C.createElementVNode("img",{src:PR(AA),alt:pt(AA),class:"chat-sender__file-image"},null,8,aCA)],8,nCA)):(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-sender__file-card","aria-label":`${pt(AA)}, ${U0(AA)}, ${Fd(AA)}`},[C.createElementVNode("img",{class:"chat-sender__file-type-icon",src:C.unref(wv)(pt(AA)),alt:"","aria-hidden":"true"},null,8,sCA),C.createElementVNode("div",gCA,[C.createElementVNode("h3",lCA,C.toDisplayString(pt(AA)),1),C.createElementVNode("p",cCA,C.toDisplayString(Fd(AA)),1)]),C.createElementVNode("div",uCA,[C.createElementVNode("div",hCA,[C.createElementVNode("p",CCA,C.toDisplayString(U0(AA)),1)])])],8,oCA)),AA.status==="uploading"?(C.openBlock(),C.createElementBlock("div",{key:2,class:"chat-sender__file-progress",role:"progressbar","aria-label":`${pt(AA)} 上传进度`,"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":AA.progress},[C.createElementVNode("span",{style:C.normalizeStyle({width:`${AA.progress}%`})},null,4)],8,ICA)):C.createCommentVNode("",!0),AA.status==="error"?(C.openBlock(),C.createElementBlock("button",{key:3,type:"button",class:"chat-sender__file-retry-btn","aria-label":`重试上传 ${pt(AA)}`,onClick:wA=>zo(AA.id)},[C.createVNode(C.unref(x6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,fCA)):C.createCommentVNode("",!0),C.createElementVNode("button",{type:"button",class:"chat-sender__file-remove-btn","aria-label":`移除 ${pt(AA)}`,onClick:wA=>Wo(AA.id)},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,dCA)],2))),128))])):C.createCommentVNode("",!0),C.unref(oe)?(C.openBlock(),C.createElementBlock("p",BCA,C.toDisplayString(C.unref(oe)),1)):C.createCommentVNode("",!0),C.createElementVNode("div",QCA,[C.createElementVNode("div",pCA,[C.createElementVNode("div",{ref_key:"editorRef",ref:g,class:C.normalizeClass(["chat-sender__editor",{"chat-sender__editor--disabled":r.disabled}]),contenteditable:r.disabled||C.unref(QA)?"false":"true","data-placeholder":C.unref(QA)?"正在聆听...":WA.value,style:C.normalizeStyle({maxHeight:`${_.value}px`}),role:"textbox","aria-multiline":"true","aria-label":"输入消息","aria-haspopup":"listbox","aria-expanded":Q.value!==null,onInput:bi,onKeydown:le,onCompositionstart:Cc,onCompositionend:pg,onPaste:Eg,onCopy:q,onCut:uA,onClick:wt},null,46,ECA),(C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[C.createVNode(C.Transition,{name:"attachment-menu"},{default:C.withCtx(()=>[Q.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"triggerMenuRef",ref:c,class:C.normalizeClass(["chat-sender__trigger-menu",{"chat-sender__trigger-menu--custom":r.triggerMenuPlacement==="custom"}]),style:C.normalizeStyle(R.value),onMousedown:z[0]||(z[0]=C.withModifiers(()=>{},["prevent"]))},[C.renderSlot(U.$slots,"trigger-menu",{triggerId:Q.value.triggerId,query:Q.value.query,select:pA,close:BA,anchorRect:F.value},void 0,!0)],38)):C.createCommentVNode("",!0)]),_:3})]))]),C.createElementVNode("div",vCA,[C.createElementVNode("div",mCA,[r.showAttachment?(C.openBlock(),C.createElementBlock("div",yCA,[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__icon-button",{"chat-sender__icon-button--active":nA.value}]),disabled:r.disabled,"aria-label":"添加附件","aria-haspopup":"menu","aria-expanded":nA.value,onClick:C.withModifiers(zR,["stop"])},[C.createVNode(C.unref(mR),{size:18})],10,wCA),C.createVNode(C.Transition,{name:"attachment-menu"},{default:C.withCtx(()=>[nA.value?(C.openBlock(),C.createElementBlock("div",{key:0,class:"chat-sender__attachment-menu",role:"menu",onClick:z[1]||(z[1]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("button",{type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",onClick:XR},[C.createVNode(C.unref(kR),{size:18}),z[15]||(z[15]=C.createElementVNode("span",null,"添加文件或图片",-1))]),r.showScreenshot?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",onClick:jR},[...z[16]||(z[16]=[C.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[C.createElementVNode("path",{d:"M9 3h2.25L12.4 4.8A.5.5 0 0 0 12.8 5H15.5A1.5 1.5 0 0 1 17 6.5v10a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 16.5v-10A1.5 1.5 0 0 1 4.5 5H7.2a.5.5 0 0 0 .4-.2L8.75 3H9zm3 5.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7zm0 1.5a2 2 0 1 1 0 4 2 2 0 0 1 0-4z",fill:"#333333"})],-1),C.createElementVNode("span",null,"截图",-1)])])):C.createCommentVNode("",!0),r.customMenuItems&&r.customMenuItems.length>0?(C.openBlock(),C.createElementBlock("div",DCA)):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(r.customMenuItems,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",disabled:AA.disabled,onClick:wA=>A7(AA.id)},[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.icon))),C.createElementVNode("span",null,C.toDisplayString(AA.label),1)],8,kCA))),128))])):C.createCommentVNode("",!0)]),_:1})])):C.createCommentVNode("",!0),N.value?(C.openBlock(),C.createElementBlock("span",bCA)):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(S.value,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",class:"chat-sender__icon-button",disabled:r.disabled,"aria-label":AA.button.label,onMousedown:z[2]||(z[2]=C.withModifiers(()=>{},["prevent"])),onClick:wA=>eA(AA)},[AA.button.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.button.icon),{key:0,size:18,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createElementBlock("span",NCA,C.toDisplayString(AA.char),1))],40,SCA))),128)),r.quickActions.length>0?(C.openBlock(),C.createElementBlock(C.Fragment,{key:2},[NA.value?(C.openBlock(),C.createElementBlock("div",_CA,[NA.value.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(NA.value.icon),{key:0,size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(NA.value.label),1),C.createElementVNode("button",{type:"button",class:"chat-sender__quick-action-remove","aria-label":"退出该模式",onClick:t7},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":2,"aria-hidden":"true"})])])):(C.openBlock(),C.createElementBlock("div",FCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(r.quickActions,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",class:"chat-sender__quick-action",disabled:r.disabled,onClick:wA=>e7(AA)},[AA.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.icon),{key:0,size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(AA.label),1)],8,xCA))),128))]))],64)):C.createCommentVNode("",!0)]),C.createElementVNode("div",MCA,[C.createElementVNode("div",RCA,[U.$slots["toolbar-before-voice"]?(C.openBlock(),C.createElementBlock("div",GCA,[C.renderSlot(U.$slots,"toolbar-before-voice",{},void 0,!0)])):C.createCommentVNode("",!0),C.createElementVNode("div",{ref_key:"voiceWrapperRef",ref:_A,class:C.normalizeClass(["chat-sender__voice-wrapper",{"chat-sender__voice-wrapper--unsupported":yt.value,"chat-sender__voice-wrapper--permission-denied":C.unref(JA)}]),title:C.unref(JA)?void 0:Ne.value,onMouseenter:lr,onMouseleave:na},[C.createElementVNode("div",{class:C.normalizeClass(["chat-sender__voice-group",{"chat-sender__voice-group--menu-open":C.unref(VA)}])},[yt.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("div",{key:0,class:C.normalizeClass(["chat-sender__voice-settings-wrapper",{"chat-sender__voice-settings-wrapper--visible":C.unref(tA)||C.unref(VA)}])},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__voice-settings",{"chat-sender__voice-settings--active":C.unref(VA)}]),disabled:r.disabled,"aria-label":"麦克风设置",onClick:z[3]||(z[3]=C.withModifiers((...AA)=>C.unref(jA)&&C.unref(jA)(...AA),["stop"]))},[C.createVNode(C.unref(yR))],10,TCA)],2)),C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__voice-button",{"chat-sender__voice-button--recording":C.unref(QA),"chat-sender__voice-button--holding":C.unref(he),"chat-sender__voice-button--unsupported":yt.value}]),disabled:r.disabled||yt.value,"aria-label":Gr.value,onClick:z[4]||(z[4]=(...AA)=>C.unref(de)&&C.unref(de)(...AA)),onMousedown:z[5]||(z[5]=(...AA)=>C.unref(be)&&C.unref(be)(...AA)),onMouseup:z[6]||(z[6]=(...AA)=>C.unref(Ge)&&C.unref(Ge)(...AA)),onMouseleave:z[7]||(z[7]=(...AA)=>C.unref(We)&&C.unref(We)(...AA))},[yt.value?(C.openBlock(),C.createBlock(C.unref(ZC),{key:0,size:20})):C.unref(QA)?(C.openBlock(),C.createElementBlock("div",UCA,[(C.openBlock(),C.createElementBlock(C.Fragment,null,C.renderList(j,(AA,wA)=>C.createElementVNode("span",{key:wA,class:"chat-sender__voice-wave-bar",style:C.normalizeStyle({animationDelay:`${(wA+1)*.1}s`,height:AA})},null,4)),64))])):(C.openBlock(),C.createBlock(C.unref(Bv),{key:1,size:20}))],42,YCA)],2)],42,LCA),(C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[C.createVNode(C.Transition,{name:"voice-menu"},{default:C.withCtx(()=>[rA.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"micPermissionPopoverRef",ref:or,class:"chat-sender__mic-permission-popover",role:"dialog","aria-label":"尚未获得麦克风权限",style:C.normalizeStyle(lt.value),onClick:z[9]||(z[9]=C.withModifiers(()=>{},["stop"])),onMouseenter:wr,onMouseleave:Yi},[C.createElementVNode("div",JCA,[C.createVNode(C.unref(ZC)),z[17]||(z[17]=C.createElementVNode("span",{class:"chat-sender__mic-permission-popover-title"},"尚未获得麦克风权限",-1))]),C.createElementVNode("p",OCA,[z[18]||(z[18]=C.createTextVNode(" 语音输入提问需要开启麦克风权限,请点击前往设置进行开启。 ",-1)),r.micPermissionGuideUrl?(C.openBlock(),C.createElementBlock("a",{key:0,class:"chat-sender__mic-permission-popover-link",href:r.micPermissionGuideUrl,target:"_blank",rel:"noopener noreferrer",onClick:z[8]||(z[8]=AA=>i("mic-permission-guide-click"))}," 麦克风权限开启指南 ",8,HCA)):C.createCommentVNode("",!0)]),C.createElementVNode("div",VCA,[C.createVNode(C.unref(ZC),{size:48})]),C.createElementVNode("button",{type:"button",class:"chat-sender__mic-permission-popover-dismiss",onClick:Za}," 知道了 ")],36)):C.createCommentVNode("",!0)]),_:1}),C.createVNode(C.Transition,{name:"voice-menu"},{default:C.withCtx(()=>[C.unref(VA)?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"voiceMenuRef",ref:Wt,class:"chat-sender__voice-menu",style:C.normalizeStyle(sr.value),onClick:z[13]||(z[13]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("div",ZCA,[C.createVNode(C.unref(Bv)),z[19]||(z[19]=C.createElementVNode("span",{class:"chat-sender__voice-menu-title"},"麦克风",-1)),C.createElementVNode("div",qCA,[C.createElementVNode("div",{class:"chat-sender__voice-level-bar",style:C.normalizeStyle({width:`${C.unref(xA)}%`})},null,4)])]),C.createElementVNode("div",KCA,[C.createElementVNode("div",PCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(C.unref(Ue),(AA,wA)=>(C.openBlock(),C.createElementBlock("button",{key:AA.deviceId,type:"button",class:C.normalizeClass(["chat-sender__voice-menu-item",{"chat-sender__voice-menu-item--active":AA.active}]),onClick:XA=>C.unref(ar)(wA)},[C.createElementVNode("span",zCA,C.toDisplayString(AA.label),1),AA.active?(C.openBlock(),C.createBlock(C.unref(wR),{key:0,class:"chat-sender__voice-menu-check"})):C.createCommentVNode("",!0)],10,WCA))),128))])]),C.createElementVNode("div",XCA,[C.createElementVNode("button",{type:"button",class:"chat-sender__voice-menu-option",onClick:z[12]||(z[12]=(...AA)=>C.unref(_e)&&C.unref(_e)(...AA))},[C.createElementVNode("div",jCA,[C.createVNode(C.unref(DR)),z[20]||(z[20]=C.createElementVNode("span",{class:"chat-sender__voice-menu-option-label"},"长按录音",-1))]),C.createElementVNode("label",{class:"chat-sender__voice-menu-switch",onClick:z[11]||(z[11]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("input",{type:"checkbox",checked:C.unref(zA),onChange:z[10]||(z[10]=(...AA)=>C.unref(_e)&&C.unref(_e)(...AA))},null,40,$CA),z[21]||(z[21]=C.createElementVNode("span",{class:"chat-sender__voice-menu-switch-slider"},null,-1))])])])],4)):C.createCommentVNode("",!0)]),_:1})])),C.createElementVNode("div",{class:C.normalizeClass(["chat-sender__send-wrapper",{"chat-sender__send-wrapper--visible":qa.value}])},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__action-button",ki.value?"chat-sender__stop-button":"chat-sender__send-button"]),disabled:!ki.value&&r.disabled,"aria-label":ki.value?"停止生成":"发送消息",onClick:z[14]||(z[14]=AA=>ki.value?Je():te())},[C.createElementVNode("span",eIA,[C.createElementVNode("img",{src:C.unref(dhA),alt:"",class:C.normalizeClass(["chat-sender__send-icon",{"chat-sender__action-icon--active":!ki.value}])},null,10,tIA),C.createVNode(C.unref(U6),{size:14,fill:"currentColor",class:C.normalizeClass(["chat-sender__stop-icon",{"chat-sender__action-icon--active":ki.value}])},null,8,["class"])])],10,AIA)],2)])])])])],32),C.createElementVNode("input",{ref_key:"fileInputRef",ref:u,type:"file",multiple:"",accept:"image/*,.pdf,.docx,.xls,.xlsx,.pptx,.html,.htm,.txt,.md,.markdown,audio/*,video/*",class:"chat-sender__file-input","aria-label":"选择文件",onChange:jt},null,544)],38))}}),_R=ve(iIA,[["__scopeId","data-v-1e93934d"]]),nIA={class:"chat-empty",role:"status"},aIA={class:"chat-empty__title"},oIA={class:"chat-empty__description"},sIA=C.defineComponent({name:"EmptyState",__name:"EmptyState",props:{title:{default:"等待消息"},description:{default:"将对话数据传入组件后会显示在这里。"}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("div",nIA,[e[0]||(e[0]=C.createElementVNode("div",{class:"chat-empty__icon","aria-hidden":"true"},[C.createElementVNode("svg",{viewBox:"0 0 24 24",width:"48",height:"48",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[C.createElementVNode("path",{d:"M3 12a9 9 0 1 1 18 0c0 4.97-4.03 9-9 9-1.27 0-2.48-.26-3.58-.74L3 21l.74-5.42A8.96 8.96 0 0 1 3 12z"})])],-1)),C.createElementVNode("h3",aIA,C.toDisplayString(t.title),1),C.createElementVNode("p",oIA,C.toDisplayString(t.description),1)]))}}),MR=ve(sIA,[["__scopeId","data-v-27943bfd"]]),gIA=["aria-label"],lIA={class:"ask-form__header"},cIA={class:"ask-form__question"},uIA={key:0,class:"ask-form__navigation","aria-label":"问题导航"},hIA=["disabled"],CIA={class:"ask-form__progress","data-testid":"ask-form-progress","aria-live":"polite"},IIA=["disabled"],fIA={class:"ask-form__body"},dIA=["aria-label","aria-multiselectable"],BIA=["aria-selected","onMouseenter","onFocus","onClick"],QIA={class:"ask-form__arrow","aria-hidden":"true"},pIA={class:"ask-form__other","data-testid":"ask-form-other"},EIA={key:0,class:"ask-form__other-actions"},vIA=["disabled"],mIA={key:0,class:"ask-form__footer"},yIA=["disabled"],wIA=C.defineComponent({name:"AskUserForm",__name:"AskUserForm",props:{node:{},questionIndex:{default:0},questionCount:{default:1},groupCanSubmit:{type:Boolean,default:!1}},emits:["action","answerChange","previous","next","submitGroup"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(!1),n=C.ref(""),a=C.ref([]),o=C.ref(null),s=C.computed(()=>String(e.node.props.question??"")),g=C.computed(()=>String(e.node.props.id??e.node.id)),l=C.computed(()=>e.node.props.multiple===!0),c=C.computed(()=>e.node.props.required!==!1),h=C.computed(()=>!c.value),u=C.computed(()=>n.value.trim().length>0),I=C.computed(()=>e.questionCount>1),f=C.computed(()=>e.questionCount>1),d=C.computed(()=>e.questionIndex===e.questionCount-1),B=C.computed(()=>e.questionIndex>0),Q=C.computed(()=>e.questionIndex<e.questionCount-1),p=C.computed(()=>e.node.children.filter(Y=>Y.kind==="component"&&Y.tag==="ask-option"&&Y.complete));function E(Y){return String(Y.props.value)}function v(Y){const G=p.value.find(P=>E(P)===Y);return G?String(G.props.label??Y):Y}function m(Y){return a.value.includes(Y)}function w(Y,G){return o.value===Y||m(G)}function k(){if(a.value.length===0)return null;const Y=a.value.map(v);return{value:a.value.join(", "),label:Y.join(", ")}}function b(){r("answerChange",k())}function S(){if(f.value){if(Q.value){r("next");return}r("submitGroup")}}function N(Y,G){if(f.value){r("answerChange",{value:Y,label:G});return}i.value||(i.value=!0,r("action",{type:"submit",value:Y,label:G,source:"ask-form",formId:g.value,question:s.value}))}function _(Y,G){if(l.value){F(Y);return}if(f.value){a.value=[Y],b(),S();return}N(Y,G)}function F(Y){a.value.includes(Y)?a.value=a.value.filter(G=>G!==Y):a.value=[...a.value,Y],f.value&&b()}function R(){if(a.value.length===0)return;const Y=a.value.map(v);if(f.value){r("answerChange",{value:a.value.join(", "),label:Y.join(", ")}),S();return}N(a.value.join(", "),Y.join(", "))}function T(){const Y=n.value.trim();if(Y){if(l.value){a.value.includes(Y)||(a.value=[...a.value,Y]),n.value="",f.value&&b();return}if(f.value){a.value=[Y],b(),S();return}N(Y,Y)}}function O(){if(h.value){if(a.value=[],n.value="",f.value){r("answerChange",{value:"",label:"跳过",skipped:!0}),S();return}N("","跳过")}}return(Y,G)=>i.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("div",{key:0,class:"ask-form","data-ask-user-input-banner":"true",tabindex:"-1",role:"group","aria-label":s.value},[C.createElementVNode("div",lIA,[C.createElementVNode("p",cIA,C.toDisplayString(s.value),1),I.value?(C.openBlock(),C.createElementBlock("div",uIA,[C.createElementVNode("button",{type:"button",class:"ask-form__nav-button","aria-label":"上一题",title:"上一题",disabled:!B.value,onClick:G[0]||(G[0]=P=>r("previous"))},[...G[5]||(G[5]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none","aria-hidden":"true"},[C.createElementVNode("path",{d:"m9.5 3.5-4 4 4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,hIA),C.createElementVNode("span",CIA,C.toDisplayString(t.questionIndex+1)+"/"+C.toDisplayString(t.questionCount),1),C.createElementVNode("button",{type:"button",class:"ask-form__nav-button","aria-label":"下一个问题",title:"下一个问题",disabled:!Q.value,onClick:G[1]||(G[1]=P=>r("next"))},[...G[6]||(G[6]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none","aria-hidden":"true"},[C.createElementVNode("path",{d:"m6.5 3.5 4 4-4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,IIA)])):C.createCommentVNode("",!0)]),C.createElementVNode("div",fIA,[C.createElementVNode("div",{class:"ask-form__options",role:"listbox","aria-label":s.value,"aria-multiselectable":l.value||void 0},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(p.value,(P,X)=>(C.openBlock(),C.createElementBlock("div",{key:E(P),class:"ask-form__item"},[C.createElementVNode("button",{type:"button",role:"option",class:C.normalizeClass(["ask-form__option",{"is-active":w(X,E(P))}]),"aria-selected":m(E(P)),onMouseenter:j=>o.value=X,onMouseleave:G[2]||(G[2]=j=>o.value=null),onFocus:j=>o.value=X,onBlur:G[3]||(G[3]=j=>o.value=null),onClick:j=>_(E(P),String(P.props.label??""))},[C.createElementVNode("span",{class:C.normalizeClass(["ask-form__index",{"is-active":w(X,E(P))}]),"aria-hidden":"true"},C.toDisplayString(X+1),3),C.createElementVNode("span",{class:C.normalizeClass(["ask-form__label",{"is-muted":!w(X,E(P))}])},C.toDisplayString(P.props.label),3),C.withDirectives(C.createElementVNode("span",QIA,[...G[7]||(G[7]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none"},[C.createElementVNode("path",{d:"M3.5 8h9M8.5 4l4 4-4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],512),[[C.vShow,w(X,E(P))]])],42,BIA),X<p.value.length-1?(C.openBlock(),C.createElementBlock("div",{key:0,class:C.normalizeClass(["ask-form__rule",{"is-hidden":o.value===X||o.value===X+1}]),"aria-hidden":"true"},null,2)):C.createCommentVNode("",!0)]))),128))],8,dIA),C.createElementVNode("div",{class:C.normalizeClass(["ask-form__rule",{"is-hidden":o.value===p.value.length-1}]),"aria-hidden":"true"},null,2),C.createElementVNode("div",pIA,[G[8]||(G[8]=C.createElementVNode("span",{class:"ask-form__other-icon","aria-hidden":"true"},[C.createElementVNode("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none"},[C.createElementVNode("path",{d:"M12 20h9M16.45 3.55a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.45-12.45Z",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),C.withDirectives(C.createElementVNode("input",{"onUpdate:modelValue":G[4]||(G[4]=P=>n.value=P),type:"text",class:"ask-form__other-input",placeholder:"其他","aria-label":"其他",onKeyup:C.withKeys(T,["enter"])},null,544),[[C.vModelText,n.value]]),h.value&&!u.value||f.value&&l.value?(C.openBlock(),C.createElementBlock("div",EIA,[h.value&&!u.value?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"ask-form__chip-btn","data-testid":"ask-form-skip",onClick:O}," 跳过 ")):C.createCommentVNode("",!0),f.value&&l.value?(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"ask-form__chip-btn is-primary","data-testid":"ask-form-confirm","aria-label":"确认",disabled:a.value.length===0||d.value&&!t.groupCanSubmit,onClick:R}," 确认 ",8,vIA)):C.createCommentVNode("",!0)])):C.createCommentVNode("",!0)]),l.value&&!f.value?(C.openBlock(),C.createElementBlock("div",mIA,[C.createElementVNode("button",{type:"button",class:"ask-form__chip-btn is-primary",disabled:a.value.length===0,onClick:R}," 确认 ",8,yIA)])):C.createCommentVNode("",!0)])],8,gIA))}}),DIA=ve(wIA,[["__scopeId","data-v-74606be1"]]),kIA=512*1024,bIA=new Set(["session","end"]),SIA="response.ga.done",NIA=new Set(["response.completed","response.incomplete","response.failed","response.ga.done","error"]),FIA=new Set(["response.created","response.in_progress","response.completed","response.incomplete","response.failed","response.ga.done","response.output_item.added","response.output_item.done","response.content_part.added","response.content_part.done","response.output_text.delta","response.output_text.done","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta","response.reasoning_summary_text.done","response.function_call_arguments.delta","response.function_call_arguments.done","error"]);class dt extends Error{constructor(A,e,r){super(e?`${e}: ${A}`:A),this.name="ResponseStreamProtocolError",this.code=e,this.status=r}}async function xIA(t,A){var w,k,b,S,N,_;if((w=A.signal)!=null&&w.aborted)return{status:"aborted",response:null};const e=await t;if(!e.ok)throw new dt(`Responses request failed with HTTP ${e.status}${e.statusText?` ${e.statusText}`:""}`,void 0,e.status);if(!e.body)throw new dt("Responses SSE body is missing");const r=e.body.getReader(),i=new TextDecoder("utf-8",{fatal:!0}),n=new MIA,a=[];let o=0,s=null,g=null;const l=new Map;let c=null,h=null;const u=()=>{r.cancel().catch(()=>{})};(k=A.signal)==null||k.addEventListener("abort",u,{once:!0});const I=F=>o+Jn(F,"output_index"),f=()=>{const F=ap(a);a.splice(0,a.length,...F),o=a.length},d=F=>{a.splice(o,Math.max(0,a.length-o),...il(F)),LS(a)},B=()=>{const F=s,R=F?{...F,output:ap(a)}:null;A.onUpdate(RR(a),R)},Q=(F,R)=>{var T,O,Y;switch(F.type){case"response.created":f(),s=gp(F.response),(T=s.output)!=null&&T.length&&d(s.output);break;case"response.in_progress":s=gp(F.response),(O=s.output)!=null&&O.length&&d(s.output);break;case"response.output_item.added":{const G=I(F.output_index);a[G]=il(JS(F.item));break}case"response.output_item.done":{const G=I(F.output_index),P=JS(F.item);a[G]=il(F.resource_files!==void 0?{...P,resource_files:F.resource_files}:P);break}case"response.content_part.added":case"response.content_part.done":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index");G.content[P]=il(B0(F.part,"part"));break}case"response.output_text.delta":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index"),X=YS(G,P);X.text+=ii(F.delta,"delta");break}case"response.output_text.done":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index"),X=YS(G,P);X.text=ii(F.text,"text");break}case"response.reasoning_summary_part.added":case"response.reasoning_summary_part.done":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index");(G.summary??(G.summary=[]))[P]=il(B0(F.part,"part"));break}case"response.reasoning_summary_text.delta":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index"),X=US(G,P);X.text+=ii(F.delta,"delta");break}case"response.reasoning_summary_text.done":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index"),X=US(G,P);X.text=ii(F.text,"text");break}case"response.function_call_arguments.delta":{const G=TS(a,I(F.output_index),F.item_id);G.arguments+=ii(F.delta,"delta");break}case"response.function_call_arguments.done":{const G=TS(a,I(F.output_index),F.item_id);G.arguments=ii(F.arguments,"arguments");break}case"response.completed":case"response.incomplete":case"response.failed":{s=gp(F.response),s.output&&d(s.output),F.type==="response.completed"?c="completed":F.type==="response.incomplete"&&(c="incomplete");break}case"response.ga.done":h=c??"completed";break}if(LS(a),B(),(Y=A.onEvent)==null||Y.call(A,F,R),F.type==="response.failed"){const G=F.response.error;throw new dt((G==null?void 0:G.message)||"Responses stream failed",(G==null?void 0:G.code)??void 0)}if(F.type==="error")throw new dt(F.message||"Responses stream failed",F.code??void 0)},p=()=>{const F=[...l.keys()].sort((R,T)=>R-T);for(const R of F){const T=l.get(R);T&&(l.delete(R),Q(T.event,T.frame),g=R+1)}},E=()=>{if(g!==null)for(;l.has(g);){const F=l.get(g);if(!F)break;l.delete(g),Q(F.event,F.frame),g+=1}},v=(F,R)=>{const T=F.sequence_number;if(!(typeof T=="number"&&Number.isSafeInteger(T)&&T>=0)){p(),Q(F,R);return}if(F.type==="response.created")p(),g=T;else if(g===null)g=T;else if(T<g)return;l.set(T,{event:F,frame:R}),E(),NIA.has(F.type)&&l.size>0&&p()},m=F=>{const R=_IA(F);R&&v(R,F)};try{for(;!h;){const F=await r.read();if((b=A.signal)!=null&&b.aborted)return{status:"aborted",response:s};if(F.done)break;const R=i.decode(F.value,{stream:!0});for(const T of n.push(R))if(m(T),h)break}if(!h&&!((S=A.signal)!=null&&S.aborted)){const F=i.decode();for(const R of n.push(F))if(m(R),h)break;if(!h){for(const R of n.finish())if(m(R),h)break}}if(!h&&l.size>0&&p(),(N=A.signal)!=null&&N.aborted)return{status:"aborted",response:s};if(!h)throw new dt("Responses SSE ended before response.ga.done");return r.cancel().catch(()=>{}),{status:h,response:s?Object.assign({},s,{output:ap(a)}):null}}finally{(_=A.signal)==null||_.removeEventListener("abort",u),r.releaseLock()}}function RR(t){var s,g;let A="",e="",r="";const i=[],n=[],a=[];let o=0;for(const l of t){const c=l.resource_files;if(c&&typeof c=="object"&&n.push(c),GR(l)){for(const h of l.content)h.type==="output_text"&&typeof h.text=="string"&&(A+=h.text);continue}if(LR(l)){const h=(s=l.summary)==null?void 0:s.filter(f=>f.type==="summary_text"&&typeof f.text=="string").map(f=>f.text).join(""),u=(g=l.content)==null?void 0:g.filter(f=>f.type==="reasoning_text"&&typeof f.text=="string").map(f=>f.text).join(""),I=h||u||"";e+=I,r+=typeof l.encrypted_content=="string"?l.encrypted_content:"",a.push({type:"reasoning",content:I}),o+=1;continue}if(TR(l)){const h={id:l.call_id,type:"function",function:{name:l.name,arguments:l.arguments}};i.push(h);const u=a.at(-1);(u==null?void 0:u.type)==="tool_calls"?u.tool_calls.push(h):a.push({type:"tool_calls",tool_calls:[h]})}}return{role:"assistant",...A?{content:A}:{},...e?{reasoning_content:e}:{},...r?{encrypted_content:r}:{},...i.length?{tool_calls:i}:{},...n.length?{resource_files:n}:{},...o>1?{steps:a}:{}}}function _IA(t){if(t.event!==void 0&&bIA.has(t.event))return null;const A=t.data.trim();if(!A)throw new dt("Responses SSE data frame is empty");if(A==="[DONE]")throw new dt("[DONE] is not valid in a Responses SSE stream");let e;try{e=JSON.parse(A)}catch{const n=A.length>180?`${A.slice(0,180)}…`:A;throw new dt(`Responses SSE data is not valid JSON (frame id=${t.id??"none"}, event=${t.event??"none"}, ${A.length} chars): ${n}`)}const r=B0(e,"event data"),i=ii(r.type,"type");if(!FIA.has(i))throw new dt(`Unsupported Responses SSE event type: ${i}`);if(t.event!==void 0&&t.event!==i)throw new dt(`SSE event field ${t.event} does not match payload type ${i}`);return i===SIA&&ii(r.session_id,"session_id"),r}function LS(t){var i;const A=RR(t),e=(i=A.tool_calls)==null?void 0:i.map(n=>`${n.function.name}${n.function.arguments}`).join("");if(new TextEncoder().encode(`${A.content??""}${A.reasoning_content??""}${e??""}`).byteLength>kIA)throw new dt("Responses stream content exceeded the 512 KB limit")}function ap(t){return t.filter(A=>A!==void 0)}function op(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!GR(i))throw new dt(`Output item ${r} is not a message`);return J1(i,e),Array.isArray(i.content)||(i.content=[]),i}function sp(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!LR(i))throw new dt(`Output item ${r} is not reasoning`);return J1(i,e),i}function TS(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!TR(i))throw new dt(`Output item ${r} is not a function_call`);return J1(i,e),i}function YS(t,A){const e=t.content[A];if(e===void 0){const r={type:"output_text",text:""};return t.content[A]=r,r}if(e.type!=="output_text"||typeof e.text!="string")throw new dt(`Content part ${A} is not output_text`);return e}function US(t,A){const e=t.summary??(t.summary=[]),r=e[A];if(r===void 0){const i={type:"summary_text",text:""};return e[A]=i,i}if(r.type!=="summary_text")throw new dt(`Reasoning summary part ${A} is invalid`);return typeof r.text!="string"&&(r.text=""),r}function J1(t,A){const e=ii(A,"item_id");if(t.id!==void 0&&t.id!==e)throw new dt(`SSE item_id ${e} does not match output item id ${t.id}`)}function GR(t){return t.type==="message"&&Array.isArray(t.content)}function LR(t){return t.type==="reasoning"}function TR(t){return t.type==="function_call"}function gp(t){const A=B0(t,"response");if(A.object!=="response")throw new dt('Response object must have object: "response"');if(ii(A.id,"response.id"),ii(A.model,"response.model"),!Number.isFinite(A.created_at))throw new dt("response.created_at must be a number");if(A.output!==void 0&&!Array.isArray(A.output))throw new dt("response.output must be an array");return il(A)}function JS(t){const A=B0(t,"item");if(ii(A.type,"item.type"),A.type==="message"){if(A.content===void 0&&(A.content=[]),!Array.isArray(A.content))throw new dt("message.content must be an array");if(A.role!=="assistant")throw new dt("Responses output message role must be assistant")}return A.type==="function_call"&&(ii(A.call_id,"function_call.call_id"),ii(A.name,"function_call.name"),A.arguments===void 0&&(A.arguments=""),ii(A.arguments,"function_call.arguments")),A}function B0(t,A){if(typeof t!="object"||t===null||Array.isArray(t))throw new dt(`${A} must be an object`);return t}function ii(t,A){if(typeof t!="string")throw new dt(`${A} must be a string`);return t}function Jn(t,A){if(!Number.isSafeInteger(t)||t<0)throw new dt(`${A} must be a non-negative safe integer`);return t}function il(t){return JSON.parse(JSON.stringify(t))}class MIA{constructor(){this.buffer="",this.raw="",this.data=[],this.started=!1}push(A){if(!A)return[];this.buffer+=A;const e=[];let r=this.buffer.indexOf(`
|
|
693
|
+
`),bi();return}U.isComposing||B.value||(U.preventDefault(),te())}}function te(){if(!ct.value||r.disabled)return;const U=Ef(k.value,d.value);Tr.value=!0,i("send",U),Ut(),oA.clear(),C.nextTick(()=>{var z;(z=g.value)==null||z.focus()})}function Je(){Tr.value=!1,i("stop")}function Ut(){g.value&&(g.value.innerHTML=""),fr(),v.value="",k.value="",m.clear(),w=new Set,E=null,K()}function Xr(){var U;(U=u.value)==null||U.click()}function jt(U){const z=U.target;if(z.files&&z.files.length>0){const AA=Array.from(z.files);Dr(AA)}z.value=""}function Dr(U){oA.addFiles(U)}A({addFiles:Dr});const Dt=C.inject(NR,null);let PA;const De=C.ref(!1);let J=0;function yA(){return r.enableFileDrop&&r.showAttachment&&!r.disabled}function qA(){J=0,De.value=!1}function Fe(U){!yA()||!bl(U)||(U.preventDefault(),U.stopPropagation(),J+=1,De.value=!0)}function Xe(U){!yA()||!bl(U)||(U.preventDefault(),U.stopPropagation(),U.dataTransfer&&(U.dataTransfer.dropEffect="copy"),De.value=!0)}function Ur(U){!yA()||!bl(U)||(U.stopPropagation(),J=Math.max(0,J-1),J===0&&(De.value=!1))}function Ui(U){if(!yA())return;U.preventDefault(),U.stopPropagation(),qA();const z=Bf(U.dataTransfer);z.length>0&&Dr(z)}C.watch(()=>[r.disabled,r.showAttachment,r.enableFileDrop],()=>{yA()||qA()});function Wo(U){oA.remove(U)}function zo(U){oA.retry(U)}function pt(U){return U.status==="uploaded"?U.resource.filename:U.file.name}function U0(U){const z=pt(U);return sg(z)||"file"}function Nd(U){return U.status==="uploaded"?Uu({name:U.resource.filename,type:""})==="image":Uu(U.file)==="image"}function PR(U){return U.previewUrl?U.previewUrl:U.status==="uploaded"?Ps(U.resource.original_url,{width:rIA}):""}function Fd(U){return U.status==="uploading"?`上传中 ${U.progress}%`:U.status==="error"?U.error.message:WR(U.resource.size)}function WR(U){return U<1024?`${U} B`:U<1024*1024?`${(U/1024).toFixed(1)} KB`:`${(U/(1024*1024)).toFixed(1)} MB`}function zR(){nA.value=!nA.value,nA.value?(Ee(),i("attachment-menu-open")):i("attachment-menu-close")}function XR(){Xr(),nA.value=!1}function jR(){const U=typeof navigator>"u"?void 0:navigator.mediaDevices;U&&"getDisplayMedia"in U?$R():i("screenshot"),nA.value=!1}async function $R(){try{const U=typeof navigator>"u"?void 0:navigator.mediaDevices;if(!(U!=null&&U.getDisplayMedia)){i("screenshot");return}const z=await U.getDisplayMedia({video:!0}),AA=document.createElement("video");AA.srcObject=z,AA.autoplay=!0,await new Promise(ie=>{AA.onloadedmetadata=ie}),await new Promise(ie=>setTimeout(ie,100));const wA=document.createElement("canvas");wA.width=AA.videoWidth,wA.height=AA.videoHeight;const XA=wA.getContext("2d");XA&&(XA.drawImage(AA,0,0),z.getTracks().forEach(ie=>ie.stop()),wA.toBlob(ie=>{if(ie){const Oe=new File([ie],`screenshot-${Date.now()}.png`,{type:"image/png"});Dr([Oe])}},"image/png"))}catch(U){console.error("截图失败:",U),i("screenshot")}}function A7(U){i("menu-item-click",U),nA.value=!1}function e7(U){cA.value=U.id,i("quick-action-select",U),C.nextTick(()=>{var z;return(z=g.value)==null?void 0:z.focus()})}function t7(){cA.value=null,i("quick-action-clear"),C.nextTick(()=>{var U;return(U=g.value)==null?void 0:U.focus()})}function H1(U){const z=U.target;VA.value&&!z.closest(".chat-sender__voice-wrapper")&&!z.closest(".chat-sender__voice-menu")&&Ee(),nA.value&&!z.closest(".chat-sender__attachment-wrapper")&&(nA.value=!1)}return C.onMounted(()=>{document.addEventListener("click",H1),document.addEventListener("selectionchange",RA),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),window.addEventListener("resize",gr),window.addEventListener("scroll",gr,!0),Dt&&r.showAttachment&&(PA=Dt.register(Dr))}),C.onUnmounted(()=>{document.removeEventListener("click",H1),document.removeEventListener("selectionchange",RA),window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0),window.removeEventListener("resize",gr),window.removeEventListener("scroll",gr,!0),Yt(),fr(),PA==null||PA(),PA=void 0,qA(),oA.dispose()}),(U,z)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:l,class:C.normalizeClass(["chat-sender",{"chat-sender--focused":iA.value,"chat-sender--disabled":r.disabled,"chat-sender--mode-active":NA.value,"chat-sender--drag-over":De.value}]),style:C.normalizeStyle(X.value),onFocusin:_t,onFocusout:Ic,onDragenter:Fe,onDragover:Xe,onDragleave:Ur,onDrop:Ui},[C.createElementVNode("div",{class:"chat-sender__inner",onMousedown:zr,onClick:Ko},[De.value?(C.openBlock(),C.createBlock(bR,{key:0})):C.createCommentVNode("",!0),d.value.length>0?(C.openBlock(),C.createElementBlock("div",iCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(d.value,AA=>(C.openBlock(),C.createElementBlock("div",{key:AA.id,class:C.normalizeClass(["chat-sender__file-thumbnail",`chat-sender__file-thumbnail--${AA.status}`])},[Nd(AA)?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"chat-sender__file-card chat-sender__file-card--image","aria-label":`${pt(AA)}, ${Fd(AA)}`},[C.createElementVNode("img",{src:PR(AA),alt:pt(AA),class:"chat-sender__file-image"},null,8,aCA)],8,nCA)):(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"chat-sender__file-card","aria-label":`${pt(AA)}, ${U0(AA)}, ${Fd(AA)}`},[C.createElementVNode("img",{class:"chat-sender__file-type-icon",src:C.unref(wv)(pt(AA)),alt:"","aria-hidden":"true"},null,8,sCA),C.createElementVNode("div",gCA,[C.createElementVNode("h3",lCA,C.toDisplayString(pt(AA)),1),C.createElementVNode("p",cCA,C.toDisplayString(Fd(AA)),1)]),C.createElementVNode("div",uCA,[C.createElementVNode("div",hCA,[C.createElementVNode("p",CCA,C.toDisplayString(U0(AA)),1)])])],8,oCA)),AA.status==="uploading"?(C.openBlock(),C.createElementBlock("div",{key:2,class:"chat-sender__file-progress",role:"progressbar","aria-label":`${pt(AA)} 上传进度`,"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":AA.progress},[C.createElementVNode("span",{style:C.normalizeStyle({width:`${AA.progress}%`})},null,4)],8,ICA)):C.createCommentVNode("",!0),AA.status==="error"?(C.openBlock(),C.createElementBlock("button",{key:3,type:"button",class:"chat-sender__file-retry-btn","aria-label":`重试上传 ${pt(AA)}`,onClick:wA=>zo(AA.id)},[C.createVNode(C.unref(x6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,fCA)):C.createCommentVNode("",!0),C.createElementVNode("button",{type:"button",class:"chat-sender__file-remove-btn","aria-label":`移除 ${pt(AA)}`,onClick:wA=>Wo(AA.id)},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,dCA)],2))),128))])):C.createCommentVNode("",!0),C.unref(oe)?(C.openBlock(),C.createElementBlock("p",BCA,C.toDisplayString(C.unref(oe)),1)):C.createCommentVNode("",!0),C.createElementVNode("div",QCA,[C.createElementVNode("div",pCA,[C.createElementVNode("div",{ref_key:"editorRef",ref:g,class:C.normalizeClass(["chat-sender__editor",{"chat-sender__editor--disabled":r.disabled}]),contenteditable:r.disabled||C.unref(QA)?"false":"true","data-placeholder":C.unref(QA)?"正在聆听...":WA.value,style:C.normalizeStyle({maxHeight:`${_.value}px`}),role:"textbox","aria-multiline":"true","aria-label":"输入消息","aria-haspopup":"listbox","aria-expanded":Q.value!==null,onInput:bi,onKeydown:le,onCompositionstart:Cc,onCompositionend:pg,onPaste:Eg,onCopy:q,onCut:uA,onClick:wt},null,46,ECA),(C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[C.createVNode(C.Transition,{name:"attachment-menu"},{default:C.withCtx(()=>[Q.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"triggerMenuRef",ref:c,class:C.normalizeClass(["chat-sender__trigger-menu",{"chat-sender__trigger-menu--custom":r.triggerMenuPlacement==="custom"}]),style:C.normalizeStyle(R.value),onMousedown:z[0]||(z[0]=C.withModifiers(()=>{},["prevent"]))},[C.renderSlot(U.$slots,"trigger-menu",{triggerId:Q.value.triggerId,query:Q.value.query,select:pA,close:BA,anchorRect:F.value},void 0,!0)],38)):C.createCommentVNode("",!0)]),_:3})]))]),C.createElementVNode("div",vCA,[C.createElementVNode("div",mCA,[r.showAttachment?(C.openBlock(),C.createElementBlock("div",yCA,[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__icon-button",{"chat-sender__icon-button--active":nA.value}]),disabled:r.disabled,"aria-label":"添加附件","aria-haspopup":"menu","aria-expanded":nA.value,onClick:C.withModifiers(zR,["stop"])},[C.createVNode(C.unref(mR),{size:18})],10,wCA),C.createVNode(C.Transition,{name:"attachment-menu"},{default:C.withCtx(()=>[nA.value?(C.openBlock(),C.createElementBlock("div",{key:0,class:"chat-sender__attachment-menu",role:"menu",onClick:z[1]||(z[1]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("button",{type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",onClick:XR},[C.createVNode(C.unref(kR),{size:18}),z[15]||(z[15]=C.createElementVNode("span",null,"添加文件或图片",-1))]),r.showScreenshot?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",onClick:jR},[...z[16]||(z[16]=[C.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[C.createElementVNode("path",{d:"M9 3h2.25L12.4 4.8A.5.5 0 0 0 12.8 5H15.5A1.5 1.5 0 0 1 17 6.5v10a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 16.5v-10A1.5 1.5 0 0 1 4.5 5H7.2a.5.5 0 0 0 .4-.2L8.75 3H9zm3 5.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7zm0 1.5a2 2 0 1 1 0 4 2 2 0 0 1 0-4z",fill:"#333333"})],-1),C.createElementVNode("span",null,"截图",-1)])])):C.createCommentVNode("",!0),r.customMenuItems&&r.customMenuItems.length>0?(C.openBlock(),C.createElementBlock("div",DCA)):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(r.customMenuItems,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",role:"menuitem",class:"chat-sender__attachment-menu-item",disabled:AA.disabled,onClick:wA=>A7(AA.id)},[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.icon))),C.createElementVNode("span",null,C.toDisplayString(AA.label),1)],8,kCA))),128))])):C.createCommentVNode("",!0)]),_:1})])):C.createCommentVNode("",!0),N.value?(C.openBlock(),C.createElementBlock("span",bCA)):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(S.value,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",class:"chat-sender__icon-button",disabled:r.disabled,"aria-label":AA.button.label,onMousedown:z[2]||(z[2]=C.withModifiers(()=>{},["prevent"])),onClick:wA=>eA(AA)},[AA.button.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.button.icon),{key:0,size:18,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createElementBlock("span",NCA,C.toDisplayString(AA.char),1))],40,SCA))),128)),r.quickActions.length>0?(C.openBlock(),C.createElementBlock(C.Fragment,{key:2},[NA.value?(C.openBlock(),C.createElementBlock("div",_CA,[NA.value.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(NA.value.icon),{key:0,size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(NA.value.label),1),C.createElementVNode("button",{type:"button",class:"chat-sender__quick-action-remove","aria-label":"退出该模式",onClick:t7},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":2,"aria-hidden":"true"})])])):(C.openBlock(),C.createElementBlock("div",FCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(r.quickActions,AA=>(C.openBlock(),C.createElementBlock("button",{key:AA.id,type:"button",class:"chat-sender__quick-action",disabled:r.disabled,onClick:wA=>e7(AA)},[AA.icon?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(AA.icon),{key:0,size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(AA.label),1)],8,xCA))),128))]))],64)):C.createCommentVNode("",!0)]),C.createElementVNode("div",MCA,[C.createElementVNode("div",RCA,[U.$slots["toolbar-before-voice"]?(C.openBlock(),C.createElementBlock("div",GCA,[C.renderSlot(U.$slots,"toolbar-before-voice",{},void 0,!0)])):C.createCommentVNode("",!0),C.createElementVNode("div",{ref_key:"voiceWrapperRef",ref:_A,class:C.normalizeClass(["chat-sender__voice-wrapper",{"chat-sender__voice-wrapper--unsupported":yt.value,"chat-sender__voice-wrapper--permission-denied":C.unref(JA)}]),title:C.unref(JA)?void 0:Ne.value,onMouseenter:lr,onMouseleave:na},[C.createElementVNode("div",{class:C.normalizeClass(["chat-sender__voice-group",{"chat-sender__voice-group--menu-open":C.unref(VA)}])},[yt.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("div",{key:0,class:C.normalizeClass(["chat-sender__voice-settings-wrapper",{"chat-sender__voice-settings-wrapper--visible":C.unref(tA)||C.unref(VA)}])},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__voice-settings",{"chat-sender__voice-settings--active":C.unref(VA)}]),disabled:r.disabled,"aria-label":"麦克风设置",onClick:z[3]||(z[3]=C.withModifiers((...AA)=>C.unref(jA)&&C.unref(jA)(...AA),["stop"]))},[C.createVNode(C.unref(yR))],10,TCA)],2)),C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__voice-button",{"chat-sender__voice-button--recording":C.unref(QA),"chat-sender__voice-button--holding":C.unref(he),"chat-sender__voice-button--unsupported":yt.value}]),disabled:r.disabled||yt.value,"aria-label":Gr.value,onClick:z[4]||(z[4]=(...AA)=>C.unref(de)&&C.unref(de)(...AA)),onMousedown:z[5]||(z[5]=(...AA)=>C.unref(be)&&C.unref(be)(...AA)),onMouseup:z[6]||(z[6]=(...AA)=>C.unref(Ge)&&C.unref(Ge)(...AA)),onMouseleave:z[7]||(z[7]=(...AA)=>C.unref(We)&&C.unref(We)(...AA))},[yt.value?(C.openBlock(),C.createBlock(C.unref(ZC),{key:0,size:20})):C.unref(QA)?(C.openBlock(),C.createElementBlock("div",UCA,[(C.openBlock(),C.createElementBlock(C.Fragment,null,C.renderList(j,(AA,wA)=>C.createElementVNode("span",{key:wA,class:"chat-sender__voice-wave-bar",style:C.normalizeStyle({animationDelay:`${(wA+1)*.1}s`,height:AA})},null,4)),64))])):(C.openBlock(),C.createBlock(C.unref(Bv),{key:1,size:20}))],42,YCA)],2)],42,LCA),(C.openBlock(),C.createBlock(C.Teleport,{to:"body"},[C.createVNode(C.Transition,{name:"voice-menu"},{default:C.withCtx(()=>[rA.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"micPermissionPopoverRef",ref:or,class:"chat-sender__mic-permission-popover",role:"dialog","aria-label":"尚未获得麦克风权限",style:C.normalizeStyle(lt.value),onClick:z[9]||(z[9]=C.withModifiers(()=>{},["stop"])),onMouseenter:wr,onMouseleave:Yi},[C.createElementVNode("div",JCA,[C.createVNode(C.unref(ZC)),z[17]||(z[17]=C.createElementVNode("span",{class:"chat-sender__mic-permission-popover-title"},"尚未获得麦克风权限",-1))]),C.createElementVNode("p",OCA,[z[18]||(z[18]=C.createTextVNode(" 语音输入提问需要开启麦克风权限,请点击前往设置进行开启。 ",-1)),r.micPermissionGuideUrl?(C.openBlock(),C.createElementBlock("a",{key:0,class:"chat-sender__mic-permission-popover-link",href:r.micPermissionGuideUrl,target:"_blank",rel:"noopener noreferrer",onClick:z[8]||(z[8]=AA=>i("mic-permission-guide-click"))}," 麦克风权限开启指南 ",8,HCA)):C.createCommentVNode("",!0)]),C.createElementVNode("div",VCA,[C.createVNode(C.unref(ZC),{size:48})]),C.createElementVNode("button",{type:"button",class:"chat-sender__mic-permission-popover-dismiss",onClick:Za}," 知道了 ")],36)):C.createCommentVNode("",!0)]),_:1}),C.createVNode(C.Transition,{name:"voice-menu"},{default:C.withCtx(()=>[C.unref(VA)?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"voiceMenuRef",ref:Wt,class:"chat-sender__voice-menu",style:C.normalizeStyle(sr.value),onClick:z[13]||(z[13]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("div",ZCA,[C.createVNode(C.unref(Bv)),z[19]||(z[19]=C.createElementVNode("span",{class:"chat-sender__voice-menu-title"},"麦克风",-1)),C.createElementVNode("div",qCA,[C.createElementVNode("div",{class:"chat-sender__voice-level-bar",style:C.normalizeStyle({width:`${C.unref(xA)}%`})},null,4)])]),C.createElementVNode("div",KCA,[C.createElementVNode("div",PCA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(C.unref(Ue),(AA,wA)=>(C.openBlock(),C.createElementBlock("button",{key:AA.deviceId,type:"button",class:C.normalizeClass(["chat-sender__voice-menu-item",{"chat-sender__voice-menu-item--active":AA.active}]),onClick:XA=>C.unref(ar)(wA)},[C.createElementVNode("span",zCA,C.toDisplayString(AA.label),1),AA.active?(C.openBlock(),C.createBlock(C.unref(wR),{key:0,class:"chat-sender__voice-menu-check"})):C.createCommentVNode("",!0)],10,WCA))),128))])]),C.createElementVNode("div",XCA,[C.createElementVNode("button",{type:"button",class:"chat-sender__voice-menu-option",onClick:z[12]||(z[12]=(...AA)=>C.unref(_e)&&C.unref(_e)(...AA))},[C.createElementVNode("div",jCA,[C.createVNode(C.unref(DR)),z[20]||(z[20]=C.createElementVNode("span",{class:"chat-sender__voice-menu-option-label"},"长按录音",-1))]),C.createElementVNode("label",{class:"chat-sender__voice-menu-switch",onClick:z[11]||(z[11]=C.withModifiers(()=>{},["stop"]))},[C.createElementVNode("input",{type:"checkbox",checked:C.unref(zA),onChange:z[10]||(z[10]=(...AA)=>C.unref(_e)&&C.unref(_e)(...AA))},null,40,$CA),z[21]||(z[21]=C.createElementVNode("span",{class:"chat-sender__voice-menu-switch-slider"},null,-1))])])])],4)):C.createCommentVNode("",!0)]),_:1})])),C.createElementVNode("div",{class:C.normalizeClass(["chat-sender__send-wrapper",{"chat-sender__send-wrapper--visible":qa.value}])},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["chat-sender__action-button",ki.value?"chat-sender__stop-button":"chat-sender__send-button"]),disabled:!ki.value&&r.disabled,"aria-label":ki.value?"停止生成":"发送消息",onClick:z[14]||(z[14]=AA=>ki.value?Je():te())},[C.createElementVNode("span",eIA,[C.createElementVNode("img",{src:C.unref(dhA),alt:"",class:C.normalizeClass(["chat-sender__send-icon",{"chat-sender__action-icon--active":!ki.value}])},null,10,tIA),C.createVNode(C.unref(U6),{size:14,fill:"currentColor",class:C.normalizeClass(["chat-sender__stop-icon",{"chat-sender__action-icon--active":ki.value}])},null,8,["class"])])],10,AIA)],2)])])])])],32),C.createElementVNode("input",{ref_key:"fileInputRef",ref:u,type:"file",multiple:"",accept:"image/*,.pdf,.docx,.xls,.xlsx,.pptx,.html,.htm,.txt,.md,.markdown,audio/*,video/*",class:"chat-sender__file-input","aria-label":"选择文件",onChange:jt},null,544)],38))}}),_R=ve(iIA,[["__scopeId","data-v-8cc4305c"]]),nIA={class:"chat-empty",role:"status"},aIA={class:"chat-empty__title"},oIA={class:"chat-empty__description"},sIA=C.defineComponent({name:"EmptyState",__name:"EmptyState",props:{title:{default:"等待消息"},description:{default:"将对话数据传入组件后会显示在这里。"}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("div",nIA,[e[0]||(e[0]=C.createElementVNode("div",{class:"chat-empty__icon","aria-hidden":"true"},[C.createElementVNode("svg",{viewBox:"0 0 24 24",width:"48",height:"48",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[C.createElementVNode("path",{d:"M3 12a9 9 0 1 1 18 0c0 4.97-4.03 9-9 9-1.27 0-2.48-.26-3.58-.74L3 21l.74-5.42A8.96 8.96 0 0 1 3 12z"})])],-1)),C.createElementVNode("h3",aIA,C.toDisplayString(t.title),1),C.createElementVNode("p",oIA,C.toDisplayString(t.description),1)]))}}),MR=ve(sIA,[["__scopeId","data-v-27943bfd"]]),gIA=["aria-label"],lIA={class:"ask-form__header"},cIA={class:"ask-form__question"},uIA={key:0,class:"ask-form__navigation","aria-label":"问题导航"},hIA=["disabled"],CIA={class:"ask-form__progress","data-testid":"ask-form-progress","aria-live":"polite"},IIA=["disabled"],fIA={class:"ask-form__body"},dIA=["aria-label","aria-multiselectable"],BIA=["aria-selected","onMouseenter","onFocus","onClick"],QIA={class:"ask-form__arrow","aria-hidden":"true"},pIA={class:"ask-form__other","data-testid":"ask-form-other"},EIA={key:0,class:"ask-form__other-actions"},vIA=["disabled"],mIA={key:0,class:"ask-form__footer"},yIA=["disabled"],wIA=C.defineComponent({name:"AskUserForm",__name:"AskUserForm",props:{node:{},questionIndex:{default:0},questionCount:{default:1},groupCanSubmit:{type:Boolean,default:!1}},emits:["action","answerChange","previous","next","submitGroup"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(!1),n=C.ref(""),a=C.ref([]),o=C.ref(null),s=C.computed(()=>String(e.node.props.question??"")),g=C.computed(()=>String(e.node.props.id??e.node.id)),l=C.computed(()=>e.node.props.multiple===!0),c=C.computed(()=>e.node.props.required!==!1),h=C.computed(()=>!c.value),u=C.computed(()=>e.questionCount>1),I=C.computed(()=>e.questionCount>1),f=C.computed(()=>!I.value||h.value),d=C.computed(()=>e.questionIndex===e.questionCount-1),B=C.computed(()=>e.questionIndex>0),Q=C.computed(()=>e.questionIndex<e.questionCount-1),p=C.computed(()=>e.node.children.filter(Y=>Y.kind==="component"&&Y.tag==="ask-option"&&Y.complete));function E(Y){return String(Y.props.value)}function v(Y){const G=p.value.find(P=>E(P)===Y);return G?String(G.props.label??Y):Y}function m(Y){return a.value.includes(Y)}function w(Y,G){return o.value===Y||m(G)}function k(){if(a.value.length===0)return null;const Y=a.value.map(v);return{value:a.value.join(", "),label:Y.join(", ")}}function b(){r("answerChange",k())}function S(){if(I.value){if(Q.value){r("next");return}r("submitGroup")}}function N(Y,G){if(I.value){r("answerChange",{value:Y,label:G});return}i.value||(i.value=!0,r("action",{type:"submit",value:Y,label:G,source:"ask-form",formId:g.value,question:s.value}))}function _(Y,G){if(l.value){F(Y);return}if(I.value){a.value=[Y],b(),S();return}N(Y,G)}function F(Y){a.value.includes(Y)?a.value=a.value.filter(G=>G!==Y):a.value=[...a.value,Y],I.value&&b()}function R(){if(a.value.length===0)return;const Y=a.value.map(v);if(I.value){r("answerChange",{value:a.value.join(", "),label:Y.join(", ")}),S();return}N(a.value.join(", "),Y.join(", "))}function T(){const Y=n.value.trim();if(Y){if(l.value){a.value.includes(Y)||(a.value=[...a.value,Y]),n.value="",I.value&&b();return}if(I.value){a.value=[Y],b(),S();return}N(Y,Y)}}function O(){if(f.value){if(a.value=[],n.value="",I.value){r("answerChange",{value:"",label:"跳过",skipped:!0}),S();return}i.value||(i.value=!0,r("action",{type:"submit",value:"",label:"跳过",source:"ask-form",formId:g.value,question:s.value,answers:[{formId:g.value,question:s.value,value:"",label:"跳过",skipped:!0}]}))}}return(Y,G)=>i.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("div",{key:0,class:"ask-form","data-ask-user-input-banner":"true",tabindex:"-1",role:"group","aria-label":s.value},[C.createElementVNode("div",lIA,[C.createElementVNode("p",cIA,C.toDisplayString(s.value),1),u.value?(C.openBlock(),C.createElementBlock("div",uIA,[C.createElementVNode("button",{type:"button",class:"ask-form__nav-button","aria-label":"上一题",title:"上一题",disabled:!B.value,onClick:G[0]||(G[0]=P=>r("previous"))},[...G[5]||(G[5]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none","aria-hidden":"true"},[C.createElementVNode("path",{d:"m9.5 3.5-4 4 4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,hIA),C.createElementVNode("span",CIA,C.toDisplayString(t.questionIndex+1)+"/"+C.toDisplayString(t.questionCount),1),C.createElementVNode("button",{type:"button",class:"ask-form__nav-button","aria-label":"下一个问题",title:"下一个问题",disabled:!Q.value,onClick:G[1]||(G[1]=P=>r("next"))},[...G[6]||(G[6]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none","aria-hidden":"true"},[C.createElementVNode("path",{d:"m6.5 3.5 4 4-4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,IIA)])):C.createCommentVNode("",!0),f.value?(C.openBlock(),C.createElementBlock("button",{key:1,type:"button",class:"ask-form__skip","data-testid":"ask-form-skip","aria-label":"跳过",title:"跳过,改用输入框回答",onClick:O}," 跳过 ")):C.createCommentVNode("",!0)]),C.createElementVNode("div",fIA,[C.createElementVNode("div",{class:"ask-form__options",role:"listbox","aria-label":s.value,"aria-multiselectable":l.value||void 0},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(p.value,(P,X)=>(C.openBlock(),C.createElementBlock("div",{key:E(P),class:"ask-form__item"},[C.createElementVNode("button",{type:"button",role:"option",class:C.normalizeClass(["ask-form__option",{"is-active":w(X,E(P))}]),"aria-selected":m(E(P)),onMouseenter:j=>o.value=X,onMouseleave:G[2]||(G[2]=j=>o.value=null),onFocus:j=>o.value=X,onBlur:G[3]||(G[3]=j=>o.value=null),onClick:j=>_(E(P),String(P.props.label??""))},[C.createElementVNode("span",{class:C.normalizeClass(["ask-form__index",{"is-active":w(X,E(P))}]),"aria-hidden":"true"},C.toDisplayString(X+1),3),C.createElementVNode("span",{class:C.normalizeClass(["ask-form__label",{"is-muted":!w(X,E(P))}])},C.toDisplayString(P.props.label),3),C.withDirectives(C.createElementVNode("span",QIA,[...G[7]||(G[7]=[C.createElementVNode("svg",{viewBox:"0 0 16 16",width:"14",height:"14",fill:"none"},[C.createElementVNode("path",{d:"M3.5 8h9M8.5 4l4 4-4 4",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],512),[[C.vShow,w(X,E(P))]])],42,BIA),X<p.value.length-1?(C.openBlock(),C.createElementBlock("div",{key:0,class:C.normalizeClass(["ask-form__rule",{"is-hidden":o.value===X||o.value===X+1}]),"aria-hidden":"true"},null,2)):C.createCommentVNode("",!0)]))),128))],8,dIA),C.createElementVNode("div",{class:C.normalizeClass(["ask-form__rule",{"is-hidden":o.value===p.value.length-1}]),"aria-hidden":"true"},null,2),C.createElementVNode("div",pIA,[G[8]||(G[8]=C.createElementVNode("span",{class:"ask-form__other-icon","aria-hidden":"true"},[C.createElementVNode("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none"},[C.createElementVNode("path",{d:"M12 20h9M16.45 3.55a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.45-12.45Z",stroke:"currentColor","stroke-width":"1.75","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),C.withDirectives(C.createElementVNode("input",{"onUpdate:modelValue":G[4]||(G[4]=P=>n.value=P),type:"text",class:"ask-form__other-input",placeholder:"其他","aria-label":"其他",onKeyup:C.withKeys(T,["enter"])},null,544),[[C.vModelText,n.value]]),I.value&&l.value?(C.openBlock(),C.createElementBlock("div",EIA,[C.createElementVNode("button",{type:"button",class:"ask-form__chip-btn is-primary","data-testid":"ask-form-confirm","aria-label":"确认",disabled:a.value.length===0||d.value&&!t.groupCanSubmit,onClick:R}," 确认 ",8,vIA)])):C.createCommentVNode("",!0)]),l.value&&!I.value?(C.openBlock(),C.createElementBlock("div",mIA,[C.createElementVNode("button",{type:"button",class:"ask-form__chip-btn is-primary",disabled:a.value.length===0,onClick:R}," 确认 ",8,yIA)])):C.createCommentVNode("",!0)])],8,gIA))}}),DIA=ve(wIA,[["__scopeId","data-v-fffc80f5"]]),kIA=512*1024,bIA=new Set(["session","end"]),SIA="response.ga.done",NIA=new Set(["response.completed","response.incomplete","response.failed","response.ga.done","error"]),FIA=new Set(["response.created","response.in_progress","response.completed","response.incomplete","response.failed","response.ga.done","response.output_item.added","response.output_item.done","response.content_part.added","response.content_part.done","response.output_text.delta","response.output_text.done","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta","response.reasoning_summary_text.done","response.function_call_arguments.delta","response.function_call_arguments.done","error"]);class dt extends Error{constructor(A,e,r){super(e?`${e}: ${A}`:A),this.name="ResponseStreamProtocolError",this.code=e,this.status=r}}async function xIA(t,A){var w,k,b,S,N,_;if((w=A.signal)!=null&&w.aborted)return{status:"aborted",response:null};const e=await t;if(!e.ok)throw new dt(`Responses request failed with HTTP ${e.status}${e.statusText?` ${e.statusText}`:""}`,void 0,e.status);if(!e.body)throw new dt("Responses SSE body is missing");const r=e.body.getReader(),i=new TextDecoder("utf-8",{fatal:!0}),n=new MIA,a=[];let o=0,s=null,g=null;const l=new Map;let c=null,h=null;const u=()=>{r.cancel().catch(()=>{})};(k=A.signal)==null||k.addEventListener("abort",u,{once:!0});const I=F=>o+Jn(F,"output_index"),f=()=>{const F=ap(a);a.splice(0,a.length,...F),o=a.length},d=F=>{a.splice(o,Math.max(0,a.length-o),...il(F)),LS(a)},B=()=>{const F=s,R=F?{...F,output:ap(a)}:null;A.onUpdate(RR(a),R)},Q=(F,R)=>{var T,O,Y;switch(F.type){case"response.created":f(),s=gp(F.response),(T=s.output)!=null&&T.length&&d(s.output);break;case"response.in_progress":s=gp(F.response),(O=s.output)!=null&&O.length&&d(s.output);break;case"response.output_item.added":{const G=I(F.output_index);a[G]=il(JS(F.item));break}case"response.output_item.done":{const G=I(F.output_index),P=JS(F.item);a[G]=il(F.resource_files!==void 0?{...P,resource_files:F.resource_files}:P);break}case"response.content_part.added":case"response.content_part.done":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index");G.content[P]=il(B0(F.part,"part"));break}case"response.output_text.delta":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index"),X=YS(G,P);X.text+=ii(F.delta,"delta");break}case"response.output_text.done":{const G=op(a,I(F.output_index),F.item_id),P=Jn(F.content_index,"content_index"),X=YS(G,P);X.text=ii(F.text,"text");break}case"response.reasoning_summary_part.added":case"response.reasoning_summary_part.done":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index");(G.summary??(G.summary=[]))[P]=il(B0(F.part,"part"));break}case"response.reasoning_summary_text.delta":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index"),X=US(G,P);X.text+=ii(F.delta,"delta");break}case"response.reasoning_summary_text.done":{const G=sp(a,I(F.output_index),F.item_id),P=Jn(F.summary_index,"summary_index"),X=US(G,P);X.text=ii(F.text,"text");break}case"response.function_call_arguments.delta":{const G=TS(a,I(F.output_index),F.item_id);G.arguments+=ii(F.delta,"delta");break}case"response.function_call_arguments.done":{const G=TS(a,I(F.output_index),F.item_id);G.arguments=ii(F.arguments,"arguments");break}case"response.completed":case"response.incomplete":case"response.failed":{s=gp(F.response),s.output&&d(s.output),F.type==="response.completed"?c="completed":F.type==="response.incomplete"&&(c="incomplete");break}case"response.ga.done":h=c??"completed";break}if(LS(a),B(),(Y=A.onEvent)==null||Y.call(A,F,R),F.type==="response.failed"){const G=F.response.error;throw new dt((G==null?void 0:G.message)||"Responses stream failed",(G==null?void 0:G.code)??void 0)}if(F.type==="error")throw new dt(F.message||"Responses stream failed",F.code??void 0)},p=()=>{const F=[...l.keys()].sort((R,T)=>R-T);for(const R of F){const T=l.get(R);T&&(l.delete(R),Q(T.event,T.frame),g=R+1)}},E=()=>{if(g!==null)for(;l.has(g);){const F=l.get(g);if(!F)break;l.delete(g),Q(F.event,F.frame),g+=1}},v=(F,R)=>{const T=F.sequence_number;if(!(typeof T=="number"&&Number.isSafeInteger(T)&&T>=0)){p(),Q(F,R);return}if(F.type==="response.created")p(),g=T;else if(g===null)g=T;else if(T<g)return;l.set(T,{event:F,frame:R}),E(),NIA.has(F.type)&&l.size>0&&p()},m=F=>{const R=_IA(F);R&&v(R,F)};try{for(;!h;){const F=await r.read();if((b=A.signal)!=null&&b.aborted)return{status:"aborted",response:s};if(F.done)break;const R=i.decode(F.value,{stream:!0});for(const T of n.push(R))if(m(T),h)break}if(!h&&!((S=A.signal)!=null&&S.aborted)){const F=i.decode();for(const R of n.push(F))if(m(R),h)break;if(!h){for(const R of n.finish())if(m(R),h)break}}if(!h&&l.size>0&&p(),(N=A.signal)!=null&&N.aborted)return{status:"aborted",response:s};if(!h)throw new dt("Responses SSE ended before response.ga.done");return r.cancel().catch(()=>{}),{status:h,response:s?Object.assign({},s,{output:ap(a)}):null}}finally{(_=A.signal)==null||_.removeEventListener("abort",u),r.releaseLock()}}function RR(t){var s,g;let A="",e="",r="";const i=[],n=[],a=[];let o=0;for(const l of t){const c=l.resource_files;if(c&&typeof c=="object"&&n.push(c),GR(l)){for(const h of l.content)h.type==="output_text"&&typeof h.text=="string"&&(A+=h.text);continue}if(LR(l)){const h=(s=l.summary)==null?void 0:s.filter(f=>f.type==="summary_text"&&typeof f.text=="string").map(f=>f.text).join(""),u=(g=l.content)==null?void 0:g.filter(f=>f.type==="reasoning_text"&&typeof f.text=="string").map(f=>f.text).join(""),I=h||u||"";e+=I,r+=typeof l.encrypted_content=="string"?l.encrypted_content:"",a.push({type:"reasoning",content:I}),o+=1;continue}if(TR(l)){const h={id:l.call_id,type:"function",function:{name:l.name,arguments:l.arguments}};i.push(h);const u=a.at(-1);(u==null?void 0:u.type)==="tool_calls"?u.tool_calls.push(h):a.push({type:"tool_calls",tool_calls:[h]})}}return{role:"assistant",...A?{content:A}:{},...e?{reasoning_content:e}:{},...r?{encrypted_content:r}:{},...i.length?{tool_calls:i}:{},...n.length?{resource_files:n}:{},...o>1?{steps:a}:{}}}function _IA(t){if(t.event!==void 0&&bIA.has(t.event))return null;const A=t.data.trim();if(!A)throw new dt("Responses SSE data frame is empty");if(A==="[DONE]")throw new dt("[DONE] is not valid in a Responses SSE stream");let e;try{e=JSON.parse(A)}catch{const n=A.length>180?`${A.slice(0,180)}…`:A;throw new dt(`Responses SSE data is not valid JSON (frame id=${t.id??"none"}, event=${t.event??"none"}, ${A.length} chars): ${n}`)}const r=B0(e,"event data"),i=ii(r.type,"type");if(!FIA.has(i))throw new dt(`Unsupported Responses SSE event type: ${i}`);if(t.event!==void 0&&t.event!==i)throw new dt(`SSE event field ${t.event} does not match payload type ${i}`);return i===SIA&&ii(r.session_id,"session_id"),r}function LS(t){var i;const A=RR(t),e=(i=A.tool_calls)==null?void 0:i.map(n=>`${n.function.name}${n.function.arguments}`).join("");if(new TextEncoder().encode(`${A.content??""}${A.reasoning_content??""}${e??""}`).byteLength>kIA)throw new dt("Responses stream content exceeded the 512 KB limit")}function ap(t){return t.filter(A=>A!==void 0)}function op(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!GR(i))throw new dt(`Output item ${r} is not a message`);return J1(i,e),Array.isArray(i.content)||(i.content=[]),i}function sp(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!LR(i))throw new dt(`Output item ${r} is not reasoning`);return J1(i,e),i}function TS(t,A,e){const r=Jn(A,"output_index"),i=t[r];if(!i||!TR(i))throw new dt(`Output item ${r} is not a function_call`);return J1(i,e),i}function YS(t,A){const e=t.content[A];if(e===void 0){const r={type:"output_text",text:""};return t.content[A]=r,r}if(e.type!=="output_text"||typeof e.text!="string")throw new dt(`Content part ${A} is not output_text`);return e}function US(t,A){const e=t.summary??(t.summary=[]),r=e[A];if(r===void 0){const i={type:"summary_text",text:""};return e[A]=i,i}if(r.type!=="summary_text")throw new dt(`Reasoning summary part ${A} is invalid`);return typeof r.text!="string"&&(r.text=""),r}function J1(t,A){const e=ii(A,"item_id");if(t.id!==void 0&&t.id!==e)throw new dt(`SSE item_id ${e} does not match output item id ${t.id}`)}function GR(t){return t.type==="message"&&Array.isArray(t.content)}function LR(t){return t.type==="reasoning"}function TR(t){return t.type==="function_call"}function gp(t){const A=B0(t,"response");if(A.object!=="response")throw new dt('Response object must have object: "response"');if(ii(A.id,"response.id"),ii(A.model,"response.model"),!Number.isFinite(A.created_at))throw new dt("response.created_at must be a number");if(A.output!==void 0&&!Array.isArray(A.output))throw new dt("response.output must be an array");return il(A)}function JS(t){const A=B0(t,"item");if(ii(A.type,"item.type"),A.type==="message"){if(A.content===void 0&&(A.content=[]),!Array.isArray(A.content))throw new dt("message.content must be an array");if(A.role!=="assistant")throw new dt("Responses output message role must be assistant")}return A.type==="function_call"&&(ii(A.call_id,"function_call.call_id"),ii(A.name,"function_call.name"),A.arguments===void 0&&(A.arguments=""),ii(A.arguments,"function_call.arguments")),A}function B0(t,A){if(typeof t!="object"||t===null||Array.isArray(t))throw new dt(`${A} must be an object`);return t}function ii(t,A){if(typeof t!="string")throw new dt(`${A} must be a string`);return t}function Jn(t,A){if(!Number.isSafeInteger(t)||t<0)throw new dt(`${A} must be a non-negative safe integer`);return t}function il(t){return JSON.parse(JSON.stringify(t))}class MIA{constructor(){this.buffer="",this.raw="",this.data=[],this.started=!1}push(A){if(!A)return[];this.buffer+=A;const e=[];let r=this.buffer.indexOf(`
|
|
694
694
|
`);for(;r>=0;){const i=this.buffer.slice(0,r);this.buffer=this.buffer.slice(r+1);const n=i.endsWith("\r")?i.slice(0,-1):i,a=this.consumeLine(n,`${i}
|
|
695
695
|
`);a&&e.push(a),r=this.buffer.indexOf(`
|
|
696
696
|
`)}return e}finish(){const A=[];if(this.buffer){const r=this.buffer.endsWith("\r")?this.buffer.slice(0,-1):this.buffer,i=this.consumeLine(r,this.buffer);i&&A.push(i),this.buffer=""}const e=this.dispatch();return e&&A.push(e),A}consumeLine(A,e){let r=A;if(this.started||(this.started=!0,r.startsWith("\uFEFF")&&(r=r.slice(1))),this.raw+=e,r==="")return this.dispatch();if(r.startsWith(":"))return null;const i=r.indexOf(":"),n=i<0?r:r.slice(0,i);let a=i<0?"":r.slice(i+1);return a.startsWith(" ")&&(a=a.slice(1)),n==="data"?this.data.push(a):n==="event"?this.event=a||void 0:n==="id"&&!a.includes("\0")?this.id=a:n==="retry"&&/^\d+$/.test(a)&&(this.retry=Number(a)),null}dispatch(){if(this.data.length===0||this.data.every(e=>e.trim()===""))return this.reset(),null;const A={data:this.data.join(`
|
|
697
697
|
`),raw:this.raw,...this.event!==void 0?{event:this.event}:{},...this.id!==void 0?{id:this.id}:{},...this.retry!==void 0?{retry:this.retry}:{}};return this.reset(),A}reset(){this.raw="",this.data=[],this.event=void 0,this.id=void 0,this.retry=void 0}}function O1(t){return t.name==="TimeoutError"?{kind:"timeout",error:t}:t instanceof dt?t.status!==void 0||t.code!==void 0?{kind:"api",error:t,...t.status!==void 0?{status:t.status}:{},...t.code!==void 0?{code:t.code}:{}}:{kind:"protocol",error:t}:t.name==="TypeError"?{kind:"network",error:t}:{kind:"unknown",error:t}}const RIA=["aria-busy"],GIA={key:2,class:"ai-conversation__stopped",role:"status","aria-live":"polite"},LIA={class:"ai-conversation__ask-dock-inner"},lp="pending",TIA=420,YIA=C.defineComponent({name:"ConversationList",__name:"ConversationList",props:{messages:{type:Array,required:!0},streamingMessageIndex:{type:Number,default:-1},status:{type:String,default:"idle"},theme:{type:Object,default:void 0},autoScroll:{type:String,default:"smart"},userAvatar:{type:String,default:void 0},assistantAvatar:{type:String,default:void 0},responseError:{type:Error,default:void 0},toolStates:{type:Object,default:()=>({})},followUps:{type:Array,default:void 0},pendingAskFormMdoc:{type:String,default:void 0}},emits:["action","copy","retry","attachment-preview","tool-action"],setup(t,{expose:A,emit:e}){const r=t,i=e;function n(W){i("action",W)}function a(W){i("copy",W)}function o(W){i("attachment-preview",W)}function s(W){i("tool-action",W)}const g=C.ref(new Set),l=C.ref(new Map),c=C.computed(()=>r.messages),h={userBubbleBg:"var(--accent-subtle, #eff4ff)",userBubbleColor:"var(--text-primary, #1a1a1a)",userBubbleBorderColor:"transparent",assistantBubbleBg:"transparent",assistantBubbleColor:"var(--text-primary, #1a1a1a)",assistantBubbleBorderColor:"transparent",toolCardBg:"var(--bg-surface, #f7f7f5)",toolCardBorderColor:"var(--border-subtle, #e8e8e5)",toolPendingColor:"var(--accent, #2563eb)",toolRunningColor:"var(--accent, #2563eb)",toolSuccessColor:"var(--success, #16a34a)",toolErrorColor:"var(--error, #dc2626)",borderRadius:"0.75rem",spacing:"0.75rem"},u=C.computed(()=>({...h,...r.theme})),I=C.computed(()=>c.value.map((W,oA)=>({message:W,sourceIndex:oA})).filter(({message:W,sourceIndex:oA})=>{var lA,RA,OA;return W.role==="tool"?!1:W.role!=="assistant"?!0:Q(oA)||!!((lA=W.reasoning_content)!=null&&lA.trim()||(RA=W.content)!=null&&RA.trim()||(OA=W.tool_calls)!=null&&OA.length)})),f=C.computed(()=>c.value.filter(W=>W.role==="tool")),d=C.computed(()=>{const W=new Set;for(const oA of c.value)if(oA.role==="assistant")for(const lA of oA.tool_calls??[])W.add(lA.id);return W}),B=C.computed(()=>f.value.filter(W=>!d.value.has(W.tool_call_id)));function Q(W){return r.status==="streaming"&&r.streamingMessageIndex===W}function p(W,oA){const lA=E(oA,W);return{message:W,streaming:Q(oA),toolMessages:f.value,theme:u.value,userAvatar:r.userAvatar,assistantAvatar:r.assistantAvatar,toolStates:r.toolStates,followUps:lA?r.followUps:void 0,showFollowUps:lA}}function E(W,oA){if(oA.role!=="assistant"||Q(W))return!1;for(let lA=I.value.length-1;lA>=0;lA-=1){const RA=I.value[lA];if(RA.message.role==="assistant")return RA.sourceIndex===W&&!Q(RA.sourceIndex)}return!1}function v(W){return W.props.required!==!1}function m(W,oA){return`${W}:${oA.id}`}function w(W,oA,lA){return du(oA,lA).filter(RA=>!g.value.has(m(W,RA)))}const k=C.computed(()=>{var oA;const W=(oA=r.pendingAskFormMdoc)==null?void 0:oA.trim();if(W){const lA=w(lp,W);return lA.length>0?{messageId:lp,forms:lA}:null}for(let lA=I.value.length-1;lA>=0;lA-=1){const{message:RA,sourceIndex:OA}=I.value[lA];if(RA.role!=="assistant")continue;const we=fv(RA.tool_calls);if(we){const Qt=`tool:${we.toolCallId}`,fr=w(Qt,we.mdoc);if(fr.length>0)return{messageId:Qt,forms:fr,toolCallId:we.toolCallId}}if(!RA.content||Q(OA))continue;const ut=String(OA),xt=w(ut,RA.content);if(xt.length>0)return{messageId:ut,forms:xt}}return null}),b=C.computed(()=>{var W;return((W=k.value)==null?void 0:W.forms)??[]}),S=C.ref(0),N=C.computed(()=>b.value[S.value]??null),_=C.computed(()=>b.value.length>1),F=C.computed(()=>_.value&&b.value.every(W=>!v(W)||l.value.has(W.id))),R=C.computed(()=>r.status==="streaming"),T=C.computed(()=>r.status==="aborted"&&!r.responseError),O=C.computed(()=>r.responseError?O1(r.responseError):null),Y=C.computed(()=>{var W,oA;for(let lA=c.value.length-1;lA>=0;lA-=1){const RA=c.value[lA];if(RA.role==="assistant")return!!((W=RA.content)!=null&&W.trim()||(oA=RA.reasoning_content)!=null&&oA.trim())}return!1}),G=C.computed(()=>I.value.length>0&&!aA.value),P=C.ref(),X=C.ref(0),j=C.computed(()=>({"--ai-conversation-user-bg":u.value.userBubbleBg,"--ai-conversation-user-color":u.value.userBubbleColor,"--ai-conversation-user-border":u.value.userBubbleBorderColor,"--ai-conversation-assistant-bg":u.value.assistantBubbleBg,"--ai-conversation-assistant-color":u.value.assistantBubbleColor,"--ai-conversation-assistant-border":u.value.assistantBubbleBorderColor,"--ai-conversation-tool-bg":u.value.toolCardBg,"--ai-conversation-tool-border":u.value.toolCardBorderColor,"--ai-conversation-tool-pending":u.value.toolPendingColor,"--ai-conversation-tool-running":u.value.toolRunningColor,"--ai-conversation-tool-success":u.value.toolSuccessColor,"--ai-conversation-tool-error":u.value.toolErrorColor,"--ai-conversation-muted-color":"var(--text-secondary, #6b6b68)","--ai-conversation-code-bg":"var(--bg-code, #f4f4f5)","--ai-conversation-chart-blue":"var(--color-chart-blue, var(--ai-conversation-tool-running))","--ai-conversation-chart-purple":"var(--color-chart-purple, var(--ai-conversation-tool-running))","--ai-conversation-chart-pink":"var(--color-chart-pink, var(--ai-conversation-tool-error))","--ai-conversation-chart-amber":"var(--color-chart-amber, var(--ai-conversation-tool-pending))","--ai-conversation-chart-green":"var(--color-chart-green, var(--ai-conversation-tool-success))","--ai-conversation-chart-cyan":"var(--color-chart-cyan, var(--ai-conversation-tool-running))","--ai-conversation-chart-orange":"var(--color-chart-orange, var(--ai-conversation-tool-error))","--ai-conversation-radius-sm":"var(--radius-tool, var(--radius-sm, 6px))","--ai-conversation-radius-md":"var(--radius-md, 10px)","--ai-conversation-radius-lg":"var(--radius-lg, 16px)","--ai-conversation-radius":u.value.borderRadius,"--ai-conversation-bubble-radius":"var(--radius-message, var(--radius-md, 10px))","--ai-conversation-spacing":u.value.spacing,"--ai-conversation-content-max":"48rem","--ai-conversation-user-max":"36rem","--ai-conversation-assistant-max":"48rem","--ai-conversation-avatar-size":"1.375rem","--ai-conversation-assistant-avatar-size":"2rem","--ai-conversation-assistant-avatar-radius":"0.5rem","--ai-conversation-avatar-radius":"0.375rem","--ai-conversation-avatar-gap":"0.625rem","--ai-conversation-avatar-assistant-bg":"transparent","--ai-conversation-avatar-assistant-color":"var(--color-accent-brand, #c96546)","--ai-conversation-avatar-user-bg":"var(--bg-surface, #f7f7f5)","--ai-conversation-avatar-user-color":"var(--text-secondary, #6b6b68)","--ai-conversation-ease":"var(--ease-out, cubic-bezier(0.16, 1, 0.3, 1))","--ai-conversation-prose-size":"0.875rem","--ai-conversation-prose-leading":"1.6","--ai-conversation-shadow-sm":"var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.04))","--ai-conversation-return-shadow":"var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.04))","--ai-conversation-ask-dock-height":`${X.value}px`})),iA=C.ref(),nA=C.ref(),aA=C.ref(!0);let cA,NA=0,WA=0,VA=!1,zA="compact";function tA(W){let oA=0;for(const lA of W)lA.role==="user"&&(oA+=1);return oA}function QA(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function xA(W){return Math.max(0,W.scrollHeight-W.clientHeight)}function he(W,oA){const lA=W.getBoundingClientRect(),RA=oA.getBoundingClientRect();return lA.top-RA.top+oA.scrollTop}function oe(W){const oA=W.querySelectorAll(".conversation-message--user");return oA[oA.length-1]??null}function Ue(W){return parseFloat(getComputedStyle(W).paddingTop)||0}function SA(W){return parseFloat(getComputedStyle(W).paddingBottom)||0}function JA(W){const oA=W.clientHeight;return oA>0?oA:W.getBoundingClientRect().height}function jA(W){const oA=JA(W);return Math.round(Math.min(12,Math.max(6,oA*.015)))}function Ee(W){return Ue(W)+jA(W)}function de(W,oA){return Array.from(W.children).filter(lA=>lA!==oA)}function be(W,oA){const lA=de(W,oA);if(lA.length===0)return 0;const RA=parseFloat(getComputedStyle(W).rowGap||getComputedStyle(W).gap)||0;let OA=0;for(let we=0;we<lA.length;we+=1)OA+=lA[we].offsetHeight,we<lA.length-1&&(OA+=RA);return OA}function Ge(W,oA){const lA=oA.style.height;oA.style.height="0px";const RA=be(W,oA)+Ue(W)+SA(W);return oA.style.height=lA,RA}function We(W,oA){const lA=JA(W);return lA<=1?!0:Ge(W,oA)<=lA+1}function ar(W,oA){return Math.max(0,he(oA,W)-Ee(W))}function _e(){const W=iA.value,oA=nA.value;if(!W||!oA||I.value.length===0)return oA&&(oA.style.height="0px"),"compact";if(We(W,oA))return oA.style.height="0px","compact";const lA=oe(W);if(!lA)return oA.style.height="0px","following";const RA=JA(W),OA=Math.max(0,he(oA,W)-he(lA,W)),we=Math.max(0,Math.floor(RA-OA-Ee(W)));return oA.style.height=`${we}px`,we>0?"anchored":"following"}function yt(){const W=iA.value,oA=nA.value;if(oA&&(oA.style.height="0px"),zA="compact",Ne(),!W)return;const lA=xA(W);W.scrollTop>lA&&(W.scrollTop=lA),aA.value=!0}function Ne(){WA&&(cancelAnimationFrame(WA),WA=0),VA=!1}function Gr(W){return 1-Math.pow(1-W,3)}function rA(W){const oA=_e();if(zA=oA,oA==="compact")return W.scrollTop;if(oA==="anchored"){const lA=oe(W);if(lA)return ar(W,lA)}return xA(W)}function hA(W,oA){Ne();const lA=Math.min(Math.max(0,oA),xA(W));if(QA()||Math.abs(lA-W.scrollTop)<1){W.scrollTop=lA,aA.value=!0;return}const RA=W.scrollTop,OA=performance.now();VA=!0,aA.value=!0;const we=ut=>{const xt=iA.value;if(!xt){Ne();return}if(We(xt,nA.value)){Ne(),yt();return}const Qt=Math.min(1,(ut-OA)/TIA),fr=rA(xt);if(W.scrollTop=RA+(fr-RA)*Gr(Qt),Qt<1){WA=requestAnimationFrame(we);return}WA=0,W.scrollTop=rA(xt),VA=!1,aA.value=!0};WA=requestAnimationFrame(we)}function _A(){const W=iA.value;return W?W.scrollHeight-W.scrollTop-W.clientHeight<40:!0}function Wt(){i("retry")}function or(W){const oA=iA.value,lA=nA.value;if(!oA||!lA)return;if(We(oA,lA)){yt();return}const RA=zA,OA=_e();if(zA=OA,r.autoScroll==="off"&&W.intent!=="return")return;const we=oe(oA),ut=OA==="anchored"&&we?ar(oA,we):xA(oA),xt=!!W.smooth&&(W.intent==="new-turn"||W.intent==="return");if(OA==="anchored"){(W.intent==="new-turn"||W.intent==="return"||W.intent==="mount"||RA!=="anchored")&&(xt?hA(oA,ut):oA.scrollTop=ut),aA.value=!0;return}if(lt()||W.intent==="return"||W.intent==="new-turn"||W.intent==="mount"){const Qt=xA(oA);xt?hA(oA,Qt):oA.scrollTop=Qt,aA.value=!0}}function sr(){or({intent:"return",smooth:!1})}function lt(){return r.autoScroll==="always"||r.autoScroll==="smart"&&aA.value}function At(){VA||(aA.value=_A())}function Yt(){WA&&(Ne(),aA.value=_A())}function Lr(){aA.value=!0,C.nextTick(()=>or({intent:"return",smooth:!0}))}function ze(){var oA,lA;const W=iA.value;if(!cA||!W){X.value=((oA=P.value)==null?void 0:oA.offsetHeight)??0;return}cA.disconnect(),cA.observe(W);for(const RA of W.children)RA!==nA.value&&cA.observe(RA);P.value&&cA.observe(P.value),X.value=((lA=P.value)==null?void 0:lA.offsetHeight)??0}function gr(){var lA;X.value=((lA=P.value)==null?void 0:lA.offsetHeight)??0;const W=iA.value,oA=nA.value;if(W&&oA&&We(W,oA)){yt();return}if(WA){_e();return}or({intent:"stream"})}function lr(W,oA){C.nextTick(()=>{ze(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const lA=iA.value,RA=nA.value;if(!(!lA||!RA)){if(We(lA,RA)){yt();return}or({intent:W,smooth:W==="new-turn"||W==="return"?oA:!1})}})})})}function na(){S.value=Math.max(0,S.value-1)}function wr(){S.value=Math.min(b.value.length-1,S.value+1)}function Yi(W){return String(W.props.id??W.id)}function Za(W){return String(W.props.question??"")}function ct(W){return{formId:Yi(W),question:Za(W),value:"",label:"跳过",skipped:!0}}function Tr(W,oA){if(!_.value)return;const lA=new Map(l.value);oA?lA.set(W.id,{formId:Yi(W),question:Za(W),...oA}):lA.delete(W.id),l.value=lA}function ki(W,oA){const lA=k.value,RA=lA==null?void 0:lA.messageId;if(RA){const OA=new Set(g.value);OA.add(m(RA,oA)),g.value=OA}i("action",{...W,...lA!=null&&lA.toolCallId?{toolCallId:lA.toolCallId}:{}})}function qa(){if(!F.value){const RA=b.value.findIndex(OA=>v(OA)&&!l.value.has(OA.id));RA>=0&&(S.value=RA);return}const W=b.value.map(RA=>l.value.get(RA.id)??ct(RA)),oA=k.value,lA=oA==null?void 0:oA.messageId;if(lA){const RA=new Set(g.value);for(const OA of b.value)RA.add(m(lA,OA));g.value=RA}l.value=new Map,i("action",{type:"submit",value:W.map(RA=>RA.value).join(", "),label:W.map(RA=>`${RA.question}: ${RA.label??RA.value}`).join(`
|
|
698
|
-
`),source:"ask-form",answers:W,...oA!=null&&oA.toolCallId?{toolCallId:oA.toolCallId}:{}})}return C.watch(()=>{var W;return{messageId:(W=k.value)==null?void 0:W.messageId,formIds:b.value.map(oA=>oA.id).join("|")}},(W,oA)=>{if(W.messageId!==(oA==null?void 0:oA.messageId)){S.value=0,l.value=new Map;return}S.value=Math.min(S.value,Math.max(b.value.length-1,0));const lA=new Set(b.value.map(OA=>OA.id)),RA=new Map([...l.value].filter(([OA])=>lA.has(OA)));RA.size!==l.value.size&&(l.value=RA)},{immediate:!0}),C.watch(c,()=>{const W=tA(c.value),oA=W>NA;if(NA=W,r.autoScroll==="off"){C.nextTick(()=>{ze(),_e()});return}if(oA){aA.value=!0,lr("new-turn",!0);return}if(!lt()){C.nextTick(()=>{ze(),_e()});return}if(WA){C.nextTick(()=>{ze(),_e()});return}lr("stream",!1)},{deep:!0}),C.watch([c,()=>r.pendingAskFormMdoc],()=>{var RA;const W=new Set,oA=(RA=r.pendingAskFormMdoc)==null?void 0:RA.trim();if(oA)for(const OA of du(oA))W.add(m(lp,OA));for(const[OA,we]of c.value.entries()){if(we.role!=="assistant")continue;const ut=fv(we.tool_calls);if(ut){const Qt=`tool:${ut.toolCallId}`;for(const fr of du(ut.mdoc))W.add(m(Qt,fr))}const xt=String(OA);for(const Qt of du(we.content,{isStreaming:Q(OA)}))W.add(m(xt,Qt))}const lA=new Set;for(const OA of g.value)W.has(OA)&&lA.add(OA);g.value=lA},{deep:!0}),C.watch(()=>{var W;return(W=N.value)==null?void 0:W.id},(W,oA)=>{C.nextTick(()=>{var lA;X.value=((lA=P.value)==null?void 0:lA.offsetHeight)??0,ze(),!(!W||r.autoScroll==="off")&&lr(oA?"stream":"return",!oA)})},{flush:"post"}),C.onMounted(()=>{NA=tA(c.value),typeof ResizeObserver<"u"&&(cA=new ResizeObserver(gr),ze());const W=iA.value;W==null||W.addEventListener("wheel",Yt,{passive:!0}),W==null||W.addEventListener("touchstart",Yt,{passive:!0}),r.autoScroll!=="off"?lr("mount",!1):C.nextTick(_e)}),C.onUpdated(()=>{ze(),_e()}),C.onBeforeUnmount(()=>{Ne();const W=iA.value;W==null||W.removeEventListener("wheel",Yt),W==null||W.removeEventListener("touchstart",Yt),cA==null||cA.disconnect()}),A({scrollToBottom:sr}),(W,oA)=>(C.openBlock(),C.createElementBlock("section",{class:C.normalizeClass(["ai-conversation",{"ai-conversation--with-ask":!!N.value}]),style:C.normalizeStyle(j.value),"aria-label":"AI 对话","aria-busy":R.value?"true":"false"},[C.createElementVNode("div",{ref_key:"listRef",ref:iA,class:"ai-conversation__messages",role:"log","aria-live":"polite","aria-relevant":"additions text",onScrollPassive:At},[C.renderSlot(W.$slots,"prepend",{},void 0,!0),I.value.length===0&&!t.responseError?C.renderSlot(W.$slots,"empty",{key:0},()=>[C.createVNode(MR)],!0):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(I.value,(lA,RA)=>C.renderSlot(W.$slots,"message",{key:`${lA.sourceIndex}:${lA.message.role}`,message:lA.message,index:lA.sourceIndex,isLast:RA===I.value.length-1,messageProps:p(lA.message,lA.sourceIndex),onAction:n,onCopy:a,onAttachmentPreview:o,onToolAction:s},()=>[C.createVNode(vR,C.mergeProps({ref_for:!0},p(lA.message,lA.sourceIndex),{onCopy:a,onAction:n,onAttachmentPreview:o,onToolAction:s}),C.createSlots({_:2},[W.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(W.$slots,"user-avatar",{},void 0,!0)]),key:"0"}:void 0,W.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(W.$slots,"assistant-avatar",{},void 0,!0)]),key:"1"}:void 0,W.$slots["assistant-actionbar"]?{name:"actionbar",fn:C.withCtx(OA=>[C.renderSlot(W.$slots,"assistant-actionbar",C.mergeProps({ref_for:!0},OA),void 0,!0)]),key:"2"}:void 0,W.$slots.tool?{name:"tool",fn:C.withCtx(OA=>[C.renderSlot(W.$slots,"tool",C.mergeProps({ref_for:!0},OA),void 0,!0)]),key:"3"}:void 0]),1040)],!0)),128)),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(B.value,lA=>(C.openBlock(),C.createElementBlock("section",{key:`orphan-${lA.tool_call_id}`,class:"ai-conversation__orphan-tool",role:"status"},[oA[0]||(oA[0]=C.createElementVNode("strong",null,"未关联的工具结果",-1)),C.createElementVNode("span",null,C.toDisplayString(lA.tool_call_id),1),C.createElementVNode("pre",null,C.toDisplayString(lA.content),1)]))),128)),t.responseError&&O.value?C.renderSlot(W.$slots,"error",{key:1,error:t.responseError,info:O.value,hasPartialContent:Y.value,retry:Wt},void 0,!0):T.value?(C.openBlock(),C.createElementBlock("section",GIA,[...oA[1]||(oA[1]=[C.createElementVNode("span",null,"已停止生成",-1)])])):C.createCommentVNode("",!0),C.renderSlot(W.$slots,"append",{},void 0,!0),C.createElementVNode("div",{ref_key:"turnSpacerRef",ref:nA,class:"ai-conversation__turn-spacer","aria-hidden":"true","data-testid":"conversation-turn-spacer"},null,512)],544),C.createVNode(C.Transition,{name:"ai-conversation-ask"},{default:C.withCtx(()=>[N.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"askDockRef",ref:P,class:"ai-conversation__ask-dock","data-testid":"ask-form-dock"},[C.createElementVNode("div",LIA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(b.value,(lA,RA)=>{var OA;return C.withDirectives((C.openBlock(),C.createBlock(DIA,{key:`${(OA=k.value)==null?void 0:OA.messageId}:${lA.id}`,node:lA,"question-index":RA,"question-count":b.value.length,"group-can-submit":F.value,onPrevious:na,onNext:wr,onAnswerChange:we=>Tr(lA,we),onSubmitGroup:qa,onAction:we=>ki(we,lA)},null,8,["node","question-index","question-count","group-can-submit","onAnswerChange","onAction"])),[[C.vShow,RA===S.value]])}),128))])],512)):C.createCommentVNode("",!0)]),_:1}),C.createVNode(C.Transition,{name:"ai-conversation-return"},{default:C.withCtx(()=>[G.value?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:C.normalizeClass(["ai-conversation__return",{"ai-conversation__return--above-ask":!!N.value}]),"aria-label":"返回最新消息",title:"返回最新消息",onClick:Lr},[...oA[2]||(oA[2]=[C.createElementVNode("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[C.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)])],2)):C.createCommentVNode("",!0)]),_:1})],14,RIA))}}),YR=ve(YIA,[["__scopeId","data-v-3b7cd950"]]),UIA=["aria-label"],JIA={class:"artifact-preview__toolbar"},OIA={class:"artifact-preview__identity"},HIA={class:"artifact-preview__view-switch",role:"radiogroup","aria-label":"File view mode"},VIA=["aria-checked","tabindex"],ZIA=["aria-checked","tabindex"],qIA=["title"],KIA={class:"artifact-preview__type"},PIA={class:"artifact-preview__actions"},WIA=["disabled","aria-label"],zIA=["aria-controls","aria-expanded"],XIA=["id"],jIA=["disabled"],$IA=["aria-label","data-tooltip"],AfA={class:"artifact-preview__content"},efA=["title","srcdoc"],tfA=["title","src"],rfA={key:2,class:"artifact-preview__document artifact-preview__document--markdown","data-testid":"artifact-preview-markdown"},ifA={key:3,class:"artifact-preview__document","data-testid":"artifact-preview-document"},nfA={key:4,class:"artifact-preview__code","data-testid":"artifact-preview-code"},afA={key:5,class:"artifact-preview__empty",role:"status"},ofA=C.defineComponent({name:"ArtifactPreview",__name:"ArtifactPreview",props:{artifact:{},expanded:{type:Boolean}},emits:["close","toggle-expanded"],setup(t,{emit:A}){const e=t,r=A,i=C.ref("preview"),n=C.ref(!1),a=C.ref(!1),o=C.ref(!1),s=C.useId(),g=C.ref(),l=C.ref(),c=C.ref(),h=C.ref(),u=C.ref();let I;const f=C.computed(()=>{var O;return((O=e.artifact.title)==null?void 0:O.trim())||"Artifact card"}),d=C.computed(()=>{var O;return((O=e.artifact.artifactType)==null?void 0:O.trim())||"text"}),B=C.computed(()=>d.value==="code"&&e.artifact.language?e.artifact.language.toUpperCase():d.value.toUpperCase()),Q=C.computed(()=>e.artifact.content??e.artifact.src??""),p=C.computed(()=>Q.value.length>0),E=C.computed(()=>vf(d.value)||!!e.artifact.src),v=C.computed(()=>i.value==="preview"&&d.value==="html"&&e.artifact.content),m=C.computed(()=>i.value==="preview"&&d.value==="markdown"&&e.artifact.content),w=C.computed(()=>i.value==="preview"&&!e.artifact.content&&e.artifact.src);C.watch(()=>e.artifact,()=>{i.value="preview",n.value=!1,a.value=!1,o.value=!1,I&&clearTimeout(I)});function k(O){i.value=O}async function b(O){if(!["ArrowLeft","ArrowRight","Home","End"].includes(O.key))return;O.preventDefault();const Y=O.key==="ArrowRight"||O.key==="End"?"code":"preview";i.value=Y,await C.nextTick();const G=Y==="preview"?g.value:l.value;G==null||G.focus()}async function S(){if(p.value){if(I&&clearTimeout(I),!await N(Q.value)){n.value=!1,a.value=!0,I=setTimeout(()=>{a.value=!1},1600);return}a.value=!1,n.value=!0,o.value=!1,I=setTimeout(()=>{n.value=!1},1600)}}async function N(O){var G;if(typeof navigator<"u"&&((G=navigator.clipboard)!=null&&G.writeText))try{return await navigator.clipboard.writeText(O),!0}catch{}if(typeof document>"u")return!1;const Y=document.createElement("textarea");Y.value=O,Y.setAttribute("readonly",""),Y.style.position="fixed",Y.style.opacity="0",document.body.append(Y),Y.select();try{return document.execCommand("copy")}finally{Y.remove()}}async function _(){var O;o.value=!o.value,o.value&&(await C.nextTick(),(O=u.value)==null||O.focus())}function F(){E.value&&(p3({title:f.value,type:d.value,language:e.artifact.language,content:e.artifact.content,src:e.artifact.src}),o.value=!1)}function R(O){var Y;!o.value||(Y=c.value)!=null&&Y.contains(O.target)||(o.value=!1)}function T(O){var Y;O.key!=="Escape"||!o.value||(o.value=!1,(Y=h.value)==null||Y.focus())}return C.onMounted(()=>{document.addEventListener("pointerdown",R),document.addEventListener("keydown",T)}),C.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",R),document.removeEventListener("keydown",T),I&&clearTimeout(I)}),(O,Y)=>(C.openBlock(),C.createElementBlock("section",{class:"artifact-preview","aria-label":`${f.value} preview`},[C.createElementVNode("header",JIA,[C.createElementVNode("div",OIA,[C.createElementVNode("div",HIA,[C.createElementVNode("button",{ref_key:"previewButtonRef",ref:g,type:"button",role:"radio",class:C.normalizeClass(["artifact-preview__view-option",{"artifact-preview__view-option--active":i.value==="preview"}]),"aria-checked":i.value==="preview",tabindex:i.value==="preview"?0:-1,"aria-label":"Preview","data-tooltip":"Preview","data-testid":"artifact-view-preview",onClick:Y[0]||(Y[0]=G=>k("preview")),onKeydown:b},[C.createVNode(C.unref(f6),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],42,VIA),C.createElementVNode("button",{ref_key:"codeButtonRef",ref:l,type:"button",role:"radio",class:C.normalizeClass(["artifact-preview__view-option",{"artifact-preview__view-option--active":i.value==="code"}]),"aria-checked":i.value==="code",tabindex:i.value==="code"?0:-1,"aria-label":"Code","data-tooltip":"Code","data-testid":"artifact-view-code",onClick:Y[1]||(Y[1]=G=>k("code")),onKeydown:b},[C.createVNode(C.unref(a6),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],42,ZIA)]),C.createElementVNode("h2",{class:"artifact-preview__title",title:`${f.value} · ${B.value}`},[C.createElementVNode("span",null,C.toDisplayString(f.value),1),Y[4]||(Y[4]=C.createElementVNode("span",{class:"artifact-preview__title-separator","aria-hidden":"true"},"·",-1)),C.createElementVNode("span",KIA,C.toDisplayString(B.value),1)],8,qIA)]),C.createElementVNode("div",PIA,[C.createElementVNode("div",{ref_key:"menuRootRef",ref:c,class:"artifact-preview__split-button",role:"group","aria-label":"More options"},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["artifact-preview__copy-button",{"artifact-preview__copy-button--failed":a.value}]),disabled:!p.value,"aria-label":n.value?"Copied artifact":a.value?"Copy failed":"Copy artifact","data-testid":"artifact-copy",onClick:S},[n.value?(C.openBlock(),C.createBlock(C.unref(Ev),{key:0,size:16,"stroke-width":1.75,"aria-hidden":"true"})):a.value?(C.openBlock(),C.createBlock(C.unref(n3),{key:1,size:16,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(n.value?"Copied":a.value?"Failed":"Copy"),1)],10,WIA),Y[6]||(Y[6]=C.createElementVNode("span",{class:"artifact-preview__split-divider","aria-hidden":"true"},null,-1)),C.createElementVNode("button",{ref_key:"menuButtonRef",ref:h,type:"button",class:"artifact-preview__menu-button","aria-label":"More options","data-tooltip":"More options","aria-haspopup":"menu","aria-controls":C.unref(s),"aria-expanded":o.value,onClick:C.withModifiers(_,["stop"])},[C.createVNode(C.unref(A6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,zIA),C.createVNode(C.Transition,{name:"artifact-menu"},{default:C.withCtx(()=>[o.value?(C.openBlock(),C.createElementBlock("div",{key:0,id:C.unref(s),class:"artifact-preview__menu",role:"menu"},[C.createElementVNode("button",{ref_key:"downloadButtonRef",ref:u,type:"button",role:"menuitem",class:"artifact-preview__menu-item",disabled:!E.value,"data-testid":"artifact-download",onClick:F},[C.createVNode(C.unref(l6),{size:16,"stroke-width":1.75,"aria-hidden":"true"}),Y[5]||(Y[5]=C.createElementVNode("span",null,"Download",-1))],8,jIA)],8,XIA)):C.createCommentVNode("",!0)]),_:1})],512),C.createElementVNode("button",{type:"button",class:"artifact-preview__icon-button artifact-preview__expand-button","aria-label":t.expanded?"Collapse":"Expand","data-tooltip":t.expanded?"Collapse":"Expand","data-testid":"artifact-expand",onClick:Y[2]||(Y[2]=G=>r("toggle-expanded"))},[t.expanded?(C.openBlock(),C.createBlock(C.unref(T6),{key:0,size:20,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createBlock(C.unref(u6),{key:1,size:20,"stroke-width":1.75,"aria-hidden":"true"}))],8,$IA),C.createElementVNode("button",{type:"button",class:"artifact-preview__icon-button","aria-label":"关闭侧边栏","data-tooltip":"关闭侧边栏","data-testid":"artifact-close",onClick:Y[3]||(Y[3]=G=>r("close"))},[C.createVNode(C.unref(Sl),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])])]),C.createElementVNode("div",AfA,[v.value?(C.openBlock(),C.createElementBlock("iframe",{key:0,title:`${f.value} preview`,srcdoc:t.artifact.content,sandbox:"allow-scripts",class:"artifact-preview__iframe","data-testid":"artifact-preview-frame"},null,8,efA)):w.value?(C.openBlock(),C.createElementBlock("iframe",{key:1,title:`${f.value} preview`,src:t.artifact.src,class:"artifact-preview__iframe","data-testid":"artifact-preview-frame"},null,8,tfA)):m.value?(C.openBlock(),C.createElementBlock("div",rfA,[C.createVNode(EM,{content:t.artifact.content},null,8,["content"])])):i.value==="preview"&&t.artifact.content?(C.openBlock(),C.createElementBlock("div",ifA,C.toDisplayString(t.artifact.content),1)):Q.value?(C.openBlock(),C.createElementBlock("pre",nfA,[C.createElementVNode("code",null,C.toDisplayString(Q.value),1)])):(C.openBlock(),C.createElementBlock("div",afA,"No preview available"))])],8,UIA))}}),sfA=ve(ofA,[["__scopeId","data-v-b10acfb7"]]),gfA={key:0,class:"chat-queue","aria-label":"待发送队列"},lfA={class:"chat-queue__header"},cfA={class:"chat-queue__count","aria-hidden":"true"},ufA={class:"chat-queue__list"},hfA=["draggable","onDragstart","onDragover","onDragleave","onDrop"],CfA={key:0,class:"chat-queue__edit-row"},IfA={class:"chat-queue__edit-actions"},ffA={class:"chat-queue__grip","aria-hidden":"true"},dfA={class:"chat-queue__index","aria-hidden":"true"},BfA={class:"chat-queue__body"},QfA={class:"chat-queue__content"},pfA={key:0,class:"chat-queue__meta"},EfA={class:"chat-queue__actions"},vfA=["onClick"],mfA=["onClick"],yfA=C.defineComponent({name:"ChatQueue",__name:"ChatQueue",props:{items:{}},emits:["edit","remove","reorder"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(null),n=C.ref(""),a=C.ref(),o=C.ref(-1),s=C.ref(-1);function g(p){return typeof p.payload.message.content=="string"?p.payload.message.content:""}function l(p){i.value=p.id,n.value=g(p),C.nextTick(()=>{var E;return(E=a.value)==null?void 0:E.focus()})}function c(){if(!i.value)return;const p=n.value.trim();p&&r("edit",i.value,p),i.value=null}function h(){i.value=null,n.value=""}function u(p,E){o.value=p,E.dataTransfer&&(E.dataTransfer.effectAllowed="move",E.dataTransfer.setData("text/plain",String(p)))}function I(p,E){E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect="move"),o.value>=0&&o.value!==p&&(s.value=p)}function f(p){s.value===p&&(s.value=-1)}function d(p){o.value>=0&&o.value!==p&&r("reorder",o.value,p),o.value=-1,s.value=-1}function B(){o.value=-1,s.value=-1}function Q(p){p.key==="Enter"&&!p.shiftKey?(p.preventDefault(),c()):p.key==="Escape"&&(p.preventDefault(),h())}return(p,E)=>t.items.length?(C.openBlock(),C.createElementBlock("section",gfA,[C.createElementVNode("header",lfA,[E[1]||(E[1]=C.createElementVNode("span",{class:"chat-queue__label"},"待发送",-1)),C.createElementVNode("span",cfA,C.toDisplayString(t.items.length),1)]),C.createElementVNode("ol",ufA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(e.items,(v,m)=>(C.openBlock(),C.createElementBlock("li",{key:v.id,class:C.normalizeClass(["chat-queue__item",{"chat-queue__item--editing":i.value===v.id,"chat-queue__item--dragging":o.value===m,"chat-queue__item--drop-target":s.value===m}]),draggable:i.value!==v.id,onDragstart:w=>u(m,w),onDragover:w=>I(m,w),onDragleave:w=>f(m),onDrop:C.withModifiers(w=>d(m),["prevent"]),onDragend:B},[i.value===v.id?(C.openBlock(),C.createElementBlock("div",CfA,[C.withDirectives(C.createElementVNode("textarea",{ref_for:!0,ref_key:"editRef",ref:a,"onUpdate:modelValue":E[0]||(E[0]=w=>n.value=w),class:"chat-queue__edit",rows:"2","aria-label":"编辑队列消息",onKeydown:Q},null,544),[[C.vModelText,n.value]]),C.createElementVNode("div",IfA,[C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"保存",onClick:c},[C.createVNode(C.unref(Ev),{size:14,"stroke-width":1.75,"aria-hidden":"true"})]),C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"取消",onClick:h},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":1.75,"aria-hidden":"true"})])])])):(C.openBlock(),C.createElementBlock(C.Fragment,{key:1},[C.createElementVNode("span",ffA,[C.createVNode(C.unref(v6),{size:14,"stroke-width":1.75})]),C.createElementVNode("span",dfA,C.toDisplayString(m+1),1),C.createElementVNode("div",BfA,[C.createElementVNode("p",QfA,C.toDisplayString(g(v)||"仅附件消息"),1),v.payload.attachments.length?(C.openBlock(),C.createElementBlock("span",pfA,C.toDisplayString(v.payload.attachments.length)+" 个附件 ",1)):C.createCommentVNode("",!0)]),C.createElementVNode("div",EfA,[C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"编辑队列消息",onClick:w=>l(v)},[C.createVNode(C.unref(N6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,vfA),C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn chat-queue__icon-btn--danger","aria-label":"删除队列消息",onClick:w=>r("remove",v.id)},[C.createVNode(C.unref(V6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,mfA)])],64))],42,hfA))),128))])])):C.createCommentVNode("",!0)}}),UR=ve(yfA,[["__scopeId","data-v-de7ffd50"]]),wfA={key:1,class:"chat-media-preview__loading",role:"status"},DfA=C.defineComponent({__name:"ChatMediaPreview",props:{resource:{},mediaType:{}},setup(t){const A=C.ref(!1);return C.onMounted(async()=>{await Promise.all([Promise.resolve().then(()=>require("./media-player-D_USOhtK.cjs")),Promise.resolve().then(()=>require("./media-outlet-CZTh6XmJ.cjs")),Promise.resolve().then(()=>require("./media-community-skin-YI6NjsJg.cjs"))]),A.value=!0}),(e,r)=>(C.openBlock(),C.createElementBlock("div",{class:C.normalizeClass(["chat-media-preview",`chat-media-preview--${t.mediaType}`])},[A.value?(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-player"),{key:0,src:t.resource.url,title:t.resource.fileName,controls:"",crossorigin:""},{default:C.withCtx(()=>[(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-outlet"))),(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-community-skin")))]),_:1},8,["src","title"])):(C.openBlock(),C.createElementBlock("div",wfA,"正在加载播放器..."))],2))}}),kfA=ve(DfA,[["__scopeId","data-v-003e1844"]]),bfA=C.defineComponent({__name:"ChatOfficePreview",props:{resource:{},kind:{}},setup(t){const A=t,e={pdf:C.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Dq4cniDm.cjs")).then(i=>i.index)),docx:C.defineAsyncComponent(async()=>(await Promise.resolve().then(()=>require("./index-Dyvby5gX.cjs")),Promise.resolve().then(()=>require("./index-BJdNN1GV.cjs")).then(i=>i.index))),excel:C.defineAsyncComponent(async()=>(await Promise.resolve().then(()=>require("./index-4oSgckuo.cjs")),Promise.resolve().then(()=>require("./index-B4hgICk-.cjs")).then(i=>i.index))),pptx:C.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Bj9h-xEr.cjs")).then(i=>i.index))},r=C.computed(()=>e[A.kind]);return(i,n)=>(C.openBlock(),C.createBlock(C.Suspense,null,{fallback:C.withCtx(()=>[...n[0]||(n[0]=[C.createElementVNode("div",{class:"chat-office-preview__loading",role:"status"},"正在加载预览...",-1)])]),default:C.withCtx(()=>[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(r.value),{src:t.resource.url,class:"chat-office-preview"},null,8,["src"]))]),_:1}))}}),SfA=ve(bfA,[["__scopeId","data-v-e422d916"]]),NfA=["data-preview-kind"],FfA={key:1,class:"chat-file-preview__unsupported"},xfA=["href"],_fA=C.defineComponent({name:"ChatFilePreview",__name:"ChatFilePreview",props:{resource:{type:Object,required:!0},renderer:{type:Object,default:void 0}},setup(t){const A=t,e=uc(),r=C.computed(()=>WC(A.resource)),i=C.defineComponent({props:{resource:{type:Object,required:!0}},setup(l){return()=>C.h("img",{class:"chat-file-preview__image",src:l.resource.url,alt:l.resource.fileName})}}),n=C.defineComponent({props:{resource:{type:Object,required:!0}},setup(l){return()=>C.h("iframe",{class:"chat-file-preview__frame",src:l.resource.url,title:l.resource.fileName,sandbox:"",referrerpolicy:"no-referrer"})}}),a=n,o=C.computed(()=>{if(r.value==="image")return i;if(r.value==="html")return n;if(r.value==="text")return a;if(r.value==="audio"||r.value==="video")return kfA;if(["pdf","docx","excel","pptx"].includes(r.value))return SfA}),s=C.computed(()=>A.renderer??e.previewRenderers.value[r.value]??h3(r.value)??o.value),g=C.computed(()=>{const l={resource:A.resource};return r.value==="audio"||r.value==="video"?{...l,mediaType:r.value}:["pdf","docx","excel","pptx"].includes(r.value)?{...l,kind:r.value}:l});return(l,c)=>(C.openBlock(),C.createElementBlock("div",{class:"chat-file-preview","data-preview-kind":r.value},[C.renderSlot(l.$slots,"default",{resource:t.resource,kind:r.value,renderer:s.value},()=>[s.value?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(s.value),C.normalizeProps(C.mergeProps({key:0},g.value)),null,16)):(C.openBlock(),C.createElementBlock("div",FfA,[c[0]||(c[0]=C.createElementVNode("p",null,"此文件暂不支持在线预览",-1)),C.createElementVNode("a",{href:t.resource.url,target:"_blank",rel:"noopener noreferrer"},"下载文件",8,xfA)]))],!0)],8,NfA))}}),JR=ve(_fA,[["__scopeId","data-v-e956d790"]]),MfA=["aria-label"],RfA={class:"chat-file-preview-panel__header"},GfA=["href"],LfA={class:"chat-file-preview-panel__body"},TfA=C.defineComponent({__name:"ChatFilePreviewPanel",props:{resource:{}},emits:["close"],setup(t,{emit:A}){const e=A,r=C.ref(),i=C.ref();let n=null;function a(o){o.key==="Escape"&&e("close")}return C.onMounted(()=>{n=document.activeElement instanceof HTMLElement?document.activeElement:null,C.nextTick(()=>{var o;return(o=i.value)==null?void 0:o.focus()})}),C.onBeforeUnmount(()=>{n==null||n.focus(),n=null}),(o,s)=>(C.openBlock(),C.createElementBlock("section",{ref_key:"panelRef",ref:r,class:"chat-file-preview-panel",role:"region","aria-label":`${t.resource.fileName} 预览`,onKeydown:a},[C.createElementVNode("header",RfA,[C.createElementVNode("div",null,[C.createElementVNode("strong",null,C.toDisplayString(t.resource.fileName),1),C.createElementVNode("span",null,C.toDisplayString(t.resource.fileType.toUpperCase()),1)]),C.createElementVNode("a",{href:t.resource.url,target:"_blank",rel:"noopener noreferrer","aria-label":"在新窗口打开文件"},[C.createVNode(C.unref(C6),{size:16,"stroke-width":1.75,"aria-hidden":"true"})],8,GfA),C.createElementVNode("button",{ref_key:"closeButtonRef",ref:i,type:"button","aria-label":"关闭文件预览",onClick:s[0]||(s[0]=g=>e("close"))},[C.createVNode(C.unref(Sl),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],512)]),C.createElementVNode("div",LfA,[C.renderSlot(o.$slots,"default",{resource:t.resource},()=>[C.createVNode(JR,{resource:t.resource},null,8,["resource"])],!0)])],40,MfA))}}),OR=ve(TfA,[["__scopeId","data-v-6f031562"]]),YfA=["aria-label"],UfA=C.defineComponent({__name:"ChatSidebarResizeHandle",props:{ariaLabel:{default:"调整预览宽度"}},emits:["resize"],setup(t,{emit:A}){const e=A;function r(i){var g;const n=i.currentTarget,a=i.pointerId;(g=n.setPointerCapture)==null||g.call(n,a);const o=l=>{e("resize",l.clientX)},s=()=>{var l;(l=n.releasePointerCapture)==null||l.call(n,a),window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",s)};window.addEventListener("pointermove",o),window.addEventListener("pointerup",s,{once:!0})}return(i,n)=>(C.openBlock(),C.createElementBlock("button",{type:"button",class:"chat-sidebar-resize-handle","aria-label":t.ariaLabel,onPointerdown:r},[...n[0]||(n[0]=[C.createElementVNode("span",{class:"chat-sidebar-resize-handle__line","aria-hidden":"true"},null,-1),C.createElementVNode("span",{class:"chat-sidebar-resize-handle__grip","aria-hidden":"true"},null,-1)])],40,YfA))}}),JfA=ve(UfA,[["__scopeId","data-v-b7bace8d"]]);let OS=0;function HR(t,A){return[...t,{id:OfA(),payload:A}]}function VR(t,A,e){return t.map(r=>r.id===A?{...r,payload:Ef(e,r.payload.attachments)}:r)}function ZR(t,A){return t.filter(e=>e.id!==A)}function qR(t,A,e){if(A===e||A<0||e<0||A>=t.length||e>=t.length)return[...t];const r=[...t],[i]=r.splice(A,1);return r.splice(e,0,i),r}function OfA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(OS+=1,`chat-queue-${OS}`)}const HfA=["data-chat-color-mode"],VfA={class:"chat-bot__main"},ZfA={class:"chat-bot__conversation"},qfA={class:"chat-bot__sender"},KfA={key:2,class:"chat-bot__sidebar-placeholder"},PfA=C.defineComponent({name:"ChatBot",__name:"ChatBot",props:{messages:{},draft:{},attachments:{},showSidebar:{type:Boolean,default:!1},sidebarWidth:{default:"42%"},enableQueue:{type:Boolean,default:!1},senderConfig:{default:()=>({})},conversationConfig:{default:()=>({})},theme:{},colorMode:{},uploadConfig:{},attachmentLimits:{},previewRenderers:{},toolRenderers:{},toolStates:{},followUps:{},pendingAskFormMdoc:{}},emits:["update:messages","update:draft","update:attachments","update:queue","send","stop","retry","tool-action","action","copy","artifact-open","status-change","response-event","response-error","attachment-error","voice-click","voice-record","voice-start","voice-stop","voice-cancel","audio-device-change","audio-transcript","screenshot","menu-item-click","attachment-menu-open","attachment-menu-close","update:activeQuickAction","quick-action-select","quick-action-clear","trigger-open","trigger-query","trigger-close","mention-insert","mention-remove","mic-permission-guide-click","files-drop"],setup(t,{expose:A,emit:e}){const r=t,i=e,n=uc(),a=oe(r.messages),o=C.ref(a),s=C.ref("idle"),g=C.ref(null),l=C.ref(null),c=C.ref(-1),h=C.ref(),u=C.ref(),I=C.ref(null),f=C.ref(null),d=C.ref(null),B=C.ref(!1),Q=C.computed(()=>r.showSidebar||f.value!==null||d.value!==null),p=C.ref(null),E=C.ref([]),v=C.ref(null);let m=null,w=0;const k=C.computed(()=>({...n.theme.value,...r.theme})),b=C.computed(()=>r.colorMode??n.colorMode.value),S=C.computed(()=>r.uploadConfig?{...n.uploadConfig.value,...r.uploadConfig}:n.uploadConfig.value),N=C.computed(()=>{var rA,hA;return kd(n.limits.value,(rA=n.uploadConfig.value)==null?void 0:rA.limits,(hA=r.uploadConfig)==null?void 0:hA.limits,r.attachmentLimits)}),_=C.computed(()=>({...n.previewRenderers.value,...r.previewRenderers})),F=C.computed(()=>({...n.toolRenderers.value,...r.toolRenderers})),R=C.computed(()=>({...r.senderConfig,draft:r.draft,attachments:r.attachments,uploadConfig:S.value,attachmentLimits:N.value,theme:k.value,streaming:s.value==="streaming"}));fR({colorMode:b,uploadConfig:S,limits:N,theme:k,previewRenderers:_,toolRenderers:F}),C.watch(()=>r.messages,rA=>{const hA=oe(rA);o.value=hA,SA(rA,hA)||i("update:messages",he(hA))},{deep:!0}),C.watch(s,rA=>{i("status-change",rA),rA==="completed"&&C.nextTick(P)}),C.onMounted(()=>{SA(r.messages,a)||i("update:messages",he(a))});const T=C.computed(()=>{if(p.value)return p.value;const rA=r.sidebarWidth;return typeof rA=="number"?`${rA}px`:rA}),O=C.computed(()=>({"--chat-bot-sidebar-width":T.value}));function Y(rA){if(s.value==="streaming"){if(!r.enableQueue)return;X(HR(E.value,rA));return}G(rA)}function G(rA){v.value=rA,xA([...o.value,Ue(rA.message)]),i("send",rA)}function P(){const rA=E.value[0];!rA||s.value==="streaming"||(X(E.value.slice(1)),G(rA.payload))}function X(rA){E.value=[...rA],i("update:queue",E.value)}function j(rA,hA){X(VR(E.value,rA,hA))}function iA(rA){X(ZR(E.value,rA))}function nA(rA,hA){X(qR(E.value,rA,hA))}function aA(rA){var hA;rA.type==="open-artifact"&&(f.value=rA,B.value=!1,i("artifact-open",rA)),rA.type==="submit"&&rA.source==="follow-up"&&((hA=rA.value)!=null&&hA.trim())&&Y(Ef(rA.value.trim(),[])),i("action",rA)}function cA(rA){i("copy",rA)}function NA(rA){d.value=rA,f.value=null,B.value=!1}async function WA(rA,hA={}){var lt,At,Yt;m&&VA(),await C.nextTick();const _A=++w,Wt=new AbortController;m=Wt;const or=o.value.length;c.value=or,s.value="streaming",g.value=null,l.value=null,xA([...o.value,{role:"assistant"}]);const sr=()=>Wt.abort();(lt=hA.signal)==null||lt.addEventListener("abort",sr,{once:!0}),(At=hA.signal)!=null&&At.aborted&&Wt.abort();try{const Lr=await xIA(rA,{signal:Wt.signal,onUpdate(ze,gr){if(_A!==w)return;const lr=[...o.value];lr[or]=ze,g.value=gr,xA(lr)},onEvent(ze,gr){var lr;(lr=hA.onEvent)==null||lr.call(hA,ze,gr),i("response-event",ze,gr)}});if(_A!==w)return;g.value=Lr.response,s.value=Lr.status}catch(Lr){if(_A!==w)return;if(Wt.signal.aborted){s.value="aborted";return}const ze=Lr instanceof Error?Lr:new Error(String(Lr));throw l.value=ze,s.value="error",i("response-error",ze,O1(ze)),ze}finally{(Yt=hA.signal)==null||Yt.removeEventListener("abort",sr),_A===w&&(m=null,c.value=-1)}}function VA(){m&&(m.abort(),m=null,c.value=-1,s.value="aborted")}function zA(){VA(),i("stop")}function tA(){l.value&&i("retry",v.value,l.value)}function QA(){var rA;(rA=u.value)==null||rA.scrollToBottom()}function xA(rA){o.value=rA,i("update:messages",he(rA))}function he(rA){return JSON.parse(JSON.stringify(rA))}function oe(rA){return rA.map(Ue)}function Ue(rA){const hA=he([rA])[0];return hA.role==="user"&&(hA.id||(hA.id=yv()),hA.resource_files||(hA.resource_files=[])),hA}function SA(rA,hA){return JSON.stringify(rA)===JSON.stringify(hA)}function JA(){f.value=null,d.value=null,B.value=!1}function jA(rA){var lt;const hA=(lt=h.value)==null?void 0:lt.getBoundingClientRect(),_A=hA?hA.right:window.innerWidth,Wt=hA?hA.width:window.innerWidth,or=_A-rA,sr=Wt*.72;p.value=`${Math.min(sr,Math.max(360,or))}px`}function Ee(){B.value=!B.value}const de=C.ref(!1),be=new Set;C.provide(NR,{register(rA){return be.add(rA),()=>{be.delete(rA)}}});const Ge=C.computed(()=>{const rA=R.value;return!(rA.showAttachment===!1||rA.disabled)});function We(){de.value=!1}function ar(rA){if(rA.length!==0){if(be.size>0){for(const hA of be)hA(rA);return}if(I.value){I.value.addFiles(rA);return}i("files-drop",rA)}}function _e(rA){!Ge.value||!bl(rA)||(rA.preventDefault(),de.value=!0)}function yt(rA){!Ge.value||!bl(rA)||(rA.preventDefault(),rA.dataTransfer&&(rA.dataTransfer.dropEffect="copy"),de.value=!0)}function Ne(rA){var _A;if(!Ge.value)return;const hA=rA.relatedTarget;hA&&((_A=h.value)!=null&&_A.contains(hA))||We()}function Gr(rA){Ge.value&&(rA.preventDefault(),rA.stopPropagation(),We(),ar(Bf(rA.dataTransfer)))}return C.watch(Ge,rA=>{rA||We()}),C.onBeforeUnmount(()=>{VA(),We()}),A({consume:WA,abort:VA,scrollToBottom:QA,sendNextQueued:P,addFiles:ar}),(rA,hA)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:h,class:C.normalizeClass(["chat-bot",{"chat-bot--drag-over":de.value}]),style:C.normalizeStyle(O.value),"data-chat-color-mode":b.value,onDragenter:_e,onDragoverCapture:yt,onDragleave:Ne,onDropCapture:Gr},[de.value?(C.openBlock(),C.createBlock(bR,{key:0})):C.createCommentVNode("",!0),C.createElementVNode("div",VfA,[C.createElementVNode("div",ZfA,[C.createVNode(YR,C.mergeProps({ref_key:"conversationRef",ref:u,messages:o.value,status:s.value,"streaming-message-index":c.value,theme:k.value,"response-error":l.value??void 0},t.conversationConfig,{"tool-states":t.toolStates??t.conversationConfig.toolStates,"follow-ups":t.followUps??t.conversationConfig.followUps,"pending-ask-form-mdoc":t.pendingAskFormMdoc??t.conversationConfig.pendingAskFormMdoc,onAction:aA,onCopy:cA,onRetry:tA,onAttachmentPreview:NA,onToolAction:hA[0]||(hA[0]=_A=>i("tool-action",_A))}),C.createSlots({_:2},[rA.$slots.prepend?{name:"prepend",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"prepend",{},void 0,!0)]),key:"0"}:void 0,rA.$slots.empty?{name:"empty",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"empty",{},void 0,!0)]),key:"1"}:void 0,rA.$slots.message?{name:"message",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"message",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"2"}:void 0,rA.$slots.append?{name:"append",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"append",{},void 0,!0)]),key:"3"}:void 0,rA.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"user-avatar",{},void 0,!0)]),key:"4"}:void 0,rA.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"assistant-avatar",{},void 0,!0)]),key:"5"}:void 0,rA.$slots["assistant-actionbar"]?{name:"assistant-actionbar",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"assistant-actionbar",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"6"}:void 0,rA.$slots.tool?{name:"tool",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"tool",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"7"}:void 0,rA.$slots.error?{name:"error",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"error",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"8"}:void 0]),1040,["messages","status","streaming-message-index","theme","response-error","tool-states","follow-ups","pending-ask-form-mdoc"])]),C.createElementVNode("div",qfA,[C.renderSlot(rA.$slots,"sender-prepend",{},void 0,!0),t.enableQueue?(C.openBlock(),C.createBlock(UR,{key:0,items:E.value,onEdit:j,onRemove:iA,onReorder:nA},null,8,["items"])):C.createCommentVNode("",!0),C.renderSlot(rA.$slots,"sender",{},()=>[C.createVNode(_R,C.mergeProps({ref_key:"senderRef",ref:I},R.value,{"enable-file-drop":!1,onSend:Y,onStop:zA,"onUpdate:draft":hA[1]||(hA[1]=_A=>i("update:draft",_A)),"onUpdate:attachments":hA[2]||(hA[2]=_A=>i("update:attachments",_A)),onAttachmentError:hA[3]||(hA[3]=(_A,Wt)=>i("attachment-error",_A,Wt)),onVoiceClick:hA[4]||(hA[4]=_A=>i("voice-click")),onVoiceRecord:hA[5]||(hA[5]=_A=>i("voice-record")),onVoiceStart:hA[6]||(hA[6]=_A=>i("voice-start")),onVoiceStop:hA[7]||(hA[7]=_A=>i("voice-stop")),onVoiceCancel:hA[8]||(hA[8]=_A=>i("voice-cancel")),onAudioDeviceChange:hA[9]||(hA[9]=_A=>i("audio-device-change",_A)),onAudioTranscript:hA[10]||(hA[10]=_A=>i("audio-transcript",_A)),onMicPermissionGuideClick:hA[11]||(hA[11]=_A=>i("mic-permission-guide-click")),onScreenshot:hA[12]||(hA[12]=_A=>i("screenshot")),onMenuItemClick:hA[13]||(hA[13]=_A=>i("menu-item-click",_A)),onAttachmentMenuOpen:hA[14]||(hA[14]=_A=>i("attachment-menu-open")),onAttachmentMenuClose:hA[15]||(hA[15]=_A=>i("attachment-menu-close")),"onUpdate:activeQuickAction":hA[16]||(hA[16]=_A=>i("update:activeQuickAction",_A)),onQuickActionSelect:hA[17]||(hA[17]=_A=>i("quick-action-select",_A)),onQuickActionClear:hA[18]||(hA[18]=_A=>i("quick-action-clear")),onTriggerOpen:hA[19]||(hA[19]=_A=>i("trigger-open",_A)),onTriggerQuery:hA[20]||(hA[20]=_A=>i("trigger-query",_A)),onTriggerClose:hA[21]||(hA[21]=_A=>i("trigger-close",_A)),onMentionInsert:hA[22]||(hA[22]=_A=>i("mention-insert",_A)),onMentionRemove:hA[23]||(hA[23]=_A=>i("mention-remove",_A))}),C.createSlots({_:2},[rA.$slots["trigger-menu"]?{name:"trigger-menu",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"trigger-menu",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"0"}:void 0,rA.$slots.mention?{name:"mention",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"mention",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"1"}:void 0,rA.$slots["toolbar-before-voice"]?{name:"toolbar-before-voice",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"toolbar-before-voice",{},void 0,!0)]),key:"2"}:void 0]),1040)],!0),C.renderSlot(rA.$slots,"sender-append",{},void 0,!0)])]),Q.value?(C.openBlock(),C.createElementBlock("div",{key:1,class:C.normalizeClass(["chat-bot__sidebar",{"chat-bot__sidebar--open":Q.value,"chat-bot__sidebar--expanded":B.value}])},[B.value?C.createCommentVNode("",!0):(C.openBlock(),C.createBlock(JfA,{key:0,onResize:jA})),C.createElementVNode("div",{class:C.normalizeClass(["chat-bot__sidebar-content",{"chat-bot__sidebar-content--artifact":f.value&&!rA.$slots.sidebar}])},[C.renderSlot(rA.$slots,"sidebar",{artifact:f.value,file:d.value},()=>[d.value?(C.openBlock(),C.createBlock(OR,{key:0,resource:d.value,onClose:JA},C.createSlots({_:2},[rA.$slots["file-preview"]?{name:"default",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"file-preview",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"0"}:void 0]),1032,["resource"])):f.value?(C.openBlock(),C.createBlock(sfA,{key:1,artifact:f.value,expanded:B.value,onClose:JA,onToggleExpanded:Ee},null,8,["artifact","expanded"])):(C.openBlock(),C.createElementBlock("div",KfA,[...hA[24]||(hA[24]=[C.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C.createElementVNode("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),C.createElementVNode("line",{x1:"9",y1:"3",x2:"9",y2:"21"})],-1),C.createElementVNode("p",null,"侧边栏内容",-1)])]))],!0)],2)],2)):C.createCommentVNode("",!0)],46,HfA))}}),WfA=ve(PfA,[["__scopeId","data-v-e6546cd7"]]),zfA=["data-chat-color-mode"],XfA=C.defineComponent({name:"ChatProvider",__name:"ChatProvider",props:{colorMode:{type:String,default:void 0},uploadConfig:{type:Object,default:void 0},limits:{type:Object,default:void 0},theme:{type:Object,default:void 0},previewRenderers:{type:Object,default:void 0},toolRenderers:{type:Object,default:void 0}},setup(t){const A=t,e=uc(),r=C.computed(()=>A.uploadConfig?{...e.uploadConfig.value,...A.uploadConfig}:e.uploadConfig.value),i=C.computed(()=>{var g,l;return kd(e.limits.value,(g=e.uploadConfig.value)==null?void 0:g.limits,(l=A.uploadConfig)==null?void 0:l.limits,A.limits)}),n=C.computed(()=>({...e.theme.value,...A.theme})),a=C.computed(()=>A.colorMode??e.colorMode.value),o=C.computed(()=>({...e.previewRenderers.value,...A.previewRenderers})),s=C.computed(()=>({...e.toolRenderers.value,...A.toolRenderers}));return fR({colorMode:a,uploadConfig:r,limits:i,theme:n,previewRenderers:o,toolRenderers:s}),(g,l)=>(C.openBlock(),C.createElementBlock("div",{class:"chat-provider","data-chat-color-mode":a.value},[C.renderSlot(g.$slots,"default",{},void 0,!0)],8,zfA))}}),jfA=ve(XfA,[["__scopeId","data-v-32922048"]]);function $fA(t=[]){const A=C.ref(HS(t));function e(n){A.value=[...A.value,KR(n)]}function r(n){A.value=HS(n)}function i(){A.value=[]}return{messages:A,appendMessage:e,setMessages:r,reset:i}}function HS(t){return t.map(KR)}function KR(t){return JSON.parse(JSON.stringify(t))}function AdA(){function t(A,e={}){return Ps(A,e)}return{thumbnailUrl:t,appendImageViewParams:Ps}}function edA(t){const A=C.computed(()=>(t==null?void 0:t.direction)||"horizontal"),e=C.computed(()=>t==null?void 0:t.nodeSpacing),r=C.computed(()=>t==null?void 0:t.levelSpacing),i=C.computed(()=>(t==null?void 0:t.align)||"center"),n=C.computed(()=>A.value==="horizontal"),a=C.computed(()=>A.value==="vertical");return{direction:A,nodeSpacing:e,levelSpacing:r,align:i,isHorizontal:n,isVertical:a,getNodeSpacing:()=>e.value,getLevelSpacing:()=>r.value,getAlign:()=>i.value}}exports.ACTION_BAR_ICON_NAMES=d3;exports.ACTION_BAR_SYSTEM_PROMPT=SL;exports.ARTIFACT_BLOCK_SYSTEM_PROMPT=wL;exports.ASK_USER_FORM_SYSTEM_PROMPT=mL;exports.CHART_BLOCK_SYSTEM_PROMPT=kL;exports.CHART_TYPES=C8;exports.ChartToolRenderer=vM;exports.ChatActionbar=a3;exports.ChatAttachments=I3;exports.ChatBot=WfA;exports.ChatFilePreview=JR;exports.ChatFilePreviewPanel=OR;exports.ChatFollowUps=f3;exports.ChatImageLightbox=C3;exports.ChatMessage=vR;exports.ChatProvider=jfA;exports.ChatQueue=UR;exports.ChatReasoning=iv;exports.ChatSender=_R;exports.ChatSenderAppendIcon=mR;exports.ChatSenderAtIcon=DhA;exports.ChatSenderCheckIcon=wR;exports.ChatSenderClickIcon=DR;exports.ChatSenderLinkIcon=kR;exports.ChatSenderMicIcon=Bv;exports.ChatSenderMicOffIcon=ZC;exports.ChatSenderMoreIcon=yR;exports.ChatToolGroup=dv;exports.CodeToolRenderer=mM;exports.ConversationList=YR;exports.D3MindMap=i3;exports.DEFAULT_CHAT_ATTACHMENT_LIMITS=Q0;exports.EmptyState=MR;exports.MessageBubble=ER;exports.MindMapToolRenderer=yM;exports.OpenGenUIToolRenderer=uR;exports.OpenGenerativeUiChartRenderer=T1;exports.OpenGenerativeUiPlanRenderer=gR;exports.OpenGenerativeUiScheduleRenderer=lR;exports.OpenGenerativeUiThemeRenderer=cR;exports.SearchToolRenderer=hR;exports.TextPartRenderer=v1;exports.ToolCallPart=pR;exports.appendImageViewParams=Ps;exports.buildChatSendPayload=Ef;exports.classifyAttachment=Uu;exports.classifyChatError=O1;exports.colorfulTheme=ZS;exports.convertReferenceMarkers=IM;exports.createAttachmentFingerprint=up;exports.createChatAttachmentController=SR;exports.createChatMessageId=yv;exports.darkTheme=VS;exports.debounce=g7;exports.deepClone=cp;exports.defaultTheme=Ms;exports.downloadBlob=c7;exports.editChatQueueItem=VR;exports.enqueueChatPayload=HR;exports.extractAskFormMdocFromToolCall=QR;exports.extractAskFormMdocFromToolCalls=fv;exports.extractAskFormNodes=du;exports.filterOutAskFormToolCalls=B0A;exports.getChatFileIconSrc=wv;exports.getChatPreviewKind=WC;exports.getFileExtension=sg;exports.getFilesFromDataTransfer=Bf;exports.getQiniuUploadCredential=Y1;exports.getTextWidth=fC;exports.getTheme=s7;exports.hasFileDrag=bl;exports.isActionBarReady=Q3;exports.isAskFormToolName=bd;exports.isChartType=I8;exports.isGradient=u7;exports.mergeTheme=WS;exports.minimalTheme=qS;exports.moveChatQueueItem=qR;exports.parseGradientColor=h7;exports.parseQiniuUploadResult=mv;exports.professionalTheme=KS;exports.registerChatPreviewRenderer=oG;exports.registerToolRenderer=Sn;exports.removeChatQueueItem=ZR;exports.resolveActionBarIcon=B3;exports.resolveChatAttachmentLimits=kd;exports.resolveChatPreviewRenderer=h3;exports.resolveToolRenderer=CR;exports.resourceToContentPart=u3;exports.svgToBlob=XS;exports.svgToPng=jS;exports.themes=PS;exports.throttle=l7;exports.toChatResourceFile=c3;exports.uploadFile=_hA;exports.uploadFileToQiniu=U1;exports.useChatContext=uc;exports.useConversation=$fA;exports.useImageUrl=AdA;exports.useMindMapLayout=edA;exports.useMindMapTheme=zS;exports.validateAttachmentFile=l3;
|
|
698
|
+
`),source:"ask-form",answers:W,...oA!=null&&oA.toolCallId?{toolCallId:oA.toolCallId}:{}})}return C.watch(()=>{var W;return{messageId:(W=k.value)==null?void 0:W.messageId,formIds:b.value.map(oA=>oA.id).join("|")}},(W,oA)=>{if(W.messageId!==(oA==null?void 0:oA.messageId)){S.value=0,l.value=new Map;return}S.value=Math.min(S.value,Math.max(b.value.length-1,0));const lA=new Set(b.value.map(OA=>OA.id)),RA=new Map([...l.value].filter(([OA])=>lA.has(OA)));RA.size!==l.value.size&&(l.value=RA)},{immediate:!0}),C.watch(c,()=>{const W=tA(c.value),oA=W>NA;if(NA=W,r.autoScroll==="off"){C.nextTick(()=>{ze(),_e()});return}if(oA){aA.value=!0,lr("new-turn",!0);return}if(!lt()){C.nextTick(()=>{ze(),_e()});return}if(WA){C.nextTick(()=>{ze(),_e()});return}lr("stream",!1)},{deep:!0}),C.watch([c,()=>r.pendingAskFormMdoc],()=>{var RA;const W=new Set,oA=(RA=r.pendingAskFormMdoc)==null?void 0:RA.trim();if(oA)for(const OA of du(oA))W.add(m(lp,OA));for(const[OA,we]of c.value.entries()){if(we.role!=="assistant")continue;const ut=fv(we.tool_calls);if(ut){const Qt=`tool:${ut.toolCallId}`;for(const fr of du(ut.mdoc))W.add(m(Qt,fr))}const xt=String(OA);for(const Qt of du(we.content,{isStreaming:Q(OA)}))W.add(m(xt,Qt))}const lA=new Set;for(const OA of g.value)W.has(OA)&&lA.add(OA);g.value=lA},{deep:!0}),C.watch(()=>{var W;return(W=N.value)==null?void 0:W.id},(W,oA)=>{C.nextTick(()=>{var lA;X.value=((lA=P.value)==null?void 0:lA.offsetHeight)??0,ze(),!(!W||r.autoScroll==="off")&&lr(oA?"stream":"return",!oA)})},{flush:"post"}),C.onMounted(()=>{NA=tA(c.value),typeof ResizeObserver<"u"&&(cA=new ResizeObserver(gr),ze());const W=iA.value;W==null||W.addEventListener("wheel",Yt,{passive:!0}),W==null||W.addEventListener("touchstart",Yt,{passive:!0}),r.autoScroll!=="off"?lr("mount",!1):C.nextTick(_e)}),C.onUpdated(()=>{ze(),_e()}),C.onBeforeUnmount(()=>{Ne();const W=iA.value;W==null||W.removeEventListener("wheel",Yt),W==null||W.removeEventListener("touchstart",Yt),cA==null||cA.disconnect()}),A({scrollToBottom:sr}),(W,oA)=>(C.openBlock(),C.createElementBlock("section",{class:C.normalizeClass(["ai-conversation",{"ai-conversation--with-ask":!!N.value}]),style:C.normalizeStyle(j.value),"aria-label":"AI 对话","aria-busy":R.value?"true":"false"},[C.createElementVNode("div",{ref_key:"listRef",ref:iA,class:"ai-conversation__messages",role:"log","aria-live":"polite","aria-relevant":"additions text",onScrollPassive:At},[C.renderSlot(W.$slots,"prepend",{},void 0,!0),I.value.length===0&&!t.responseError?C.renderSlot(W.$slots,"empty",{key:0},()=>[C.createVNode(MR)],!0):C.createCommentVNode("",!0),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(I.value,(lA,RA)=>C.renderSlot(W.$slots,"message",{key:`${lA.sourceIndex}:${lA.message.role}`,message:lA.message,index:lA.sourceIndex,isLast:RA===I.value.length-1,messageProps:p(lA.message,lA.sourceIndex),onAction:n,onCopy:a,onAttachmentPreview:o,onToolAction:s},()=>[C.createVNode(vR,C.mergeProps({ref_for:!0},p(lA.message,lA.sourceIndex),{onCopy:a,onAction:n,onAttachmentPreview:o,onToolAction:s}),C.createSlots({_:2},[W.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(W.$slots,"user-avatar",{},void 0,!0)]),key:"0"}:void 0,W.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(W.$slots,"assistant-avatar",{},void 0,!0)]),key:"1"}:void 0,W.$slots["assistant-actionbar"]?{name:"actionbar",fn:C.withCtx(OA=>[C.renderSlot(W.$slots,"assistant-actionbar",C.mergeProps({ref_for:!0},OA),void 0,!0)]),key:"2"}:void 0,W.$slots.tool?{name:"tool",fn:C.withCtx(OA=>[C.renderSlot(W.$slots,"tool",C.mergeProps({ref_for:!0},OA),void 0,!0)]),key:"3"}:void 0]),1040)],!0)),128)),(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(B.value,lA=>(C.openBlock(),C.createElementBlock("section",{key:`orphan-${lA.tool_call_id}`,class:"ai-conversation__orphan-tool",role:"status"},[oA[0]||(oA[0]=C.createElementVNode("strong",null,"未关联的工具结果",-1)),C.createElementVNode("span",null,C.toDisplayString(lA.tool_call_id),1),C.createElementVNode("pre",null,C.toDisplayString(lA.content),1)]))),128)),t.responseError&&O.value?C.renderSlot(W.$slots,"error",{key:1,error:t.responseError,info:O.value,hasPartialContent:Y.value,retry:Wt},void 0,!0):T.value?(C.openBlock(),C.createElementBlock("section",GIA,[...oA[1]||(oA[1]=[C.createElementVNode("span",null,"已停止生成",-1)])])):C.createCommentVNode("",!0),C.renderSlot(W.$slots,"append",{},void 0,!0),C.createElementVNode("div",{ref_key:"turnSpacerRef",ref:nA,class:"ai-conversation__turn-spacer","aria-hidden":"true","data-testid":"conversation-turn-spacer"},null,512)],544),C.createVNode(C.Transition,{name:"ai-conversation-ask"},{default:C.withCtx(()=>[N.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"askDockRef",ref:P,class:"ai-conversation__ask-dock","data-testid":"ask-form-dock"},[C.createElementVNode("div",LIA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(b.value,(lA,RA)=>{var OA;return C.withDirectives((C.openBlock(),C.createBlock(DIA,{key:`${(OA=k.value)==null?void 0:OA.messageId}:${lA.id}`,node:lA,"question-index":RA,"question-count":b.value.length,"group-can-submit":F.value,onPrevious:na,onNext:wr,onAnswerChange:we=>Tr(lA,we),onSubmitGroup:qa,onAction:we=>ki(we,lA)},null,8,["node","question-index","question-count","group-can-submit","onAnswerChange","onAction"])),[[C.vShow,RA===S.value]])}),128))])],512)):C.createCommentVNode("",!0)]),_:1}),C.createVNode(C.Transition,{name:"ai-conversation-return"},{default:C.withCtx(()=>[G.value?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:C.normalizeClass(["ai-conversation__return",{"ai-conversation__return--above-ask":!!N.value}]),"aria-label":"返回最新消息",title:"返回最新消息",onClick:Lr},[...oA[2]||(oA[2]=[C.createElementVNode("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[C.createElementVNode("path",{d:"m6 9 6 6 6-6"})],-1)])],2)):C.createCommentVNode("",!0)]),_:1})],14,RIA))}}),YR=ve(YIA,[["__scopeId","data-v-3b7cd950"]]),UIA=["aria-label"],JIA={class:"artifact-preview__toolbar"},OIA={class:"artifact-preview__identity"},HIA={class:"artifact-preview__view-switch",role:"radiogroup","aria-label":"File view mode"},VIA=["aria-checked","tabindex"],ZIA=["aria-checked","tabindex"],qIA=["title"],KIA={class:"artifact-preview__type"},PIA={class:"artifact-preview__actions"},WIA=["disabled","aria-label"],zIA=["aria-controls","aria-expanded"],XIA=["id"],jIA=["disabled"],$IA=["aria-label","data-tooltip"],AfA={class:"artifact-preview__content"},efA=["title","srcdoc"],tfA=["title","src"],rfA={key:2,class:"artifact-preview__document artifact-preview__document--markdown","data-testid":"artifact-preview-markdown"},ifA={key:3,class:"artifact-preview__document","data-testid":"artifact-preview-document"},nfA={key:4,class:"artifact-preview__code","data-testid":"artifact-preview-code"},afA={key:5,class:"artifact-preview__empty",role:"status"},ofA=C.defineComponent({name:"ArtifactPreview",__name:"ArtifactPreview",props:{artifact:{},expanded:{type:Boolean}},emits:["close","toggle-expanded"],setup(t,{emit:A}){const e=t,r=A,i=C.ref("preview"),n=C.ref(!1),a=C.ref(!1),o=C.ref(!1),s=C.useId(),g=C.ref(),l=C.ref(),c=C.ref(),h=C.ref(),u=C.ref();let I;const f=C.computed(()=>{var O;return((O=e.artifact.title)==null?void 0:O.trim())||"Artifact card"}),d=C.computed(()=>{var O;return((O=e.artifact.artifactType)==null?void 0:O.trim())||"text"}),B=C.computed(()=>d.value==="code"&&e.artifact.language?e.artifact.language.toUpperCase():d.value.toUpperCase()),Q=C.computed(()=>e.artifact.content??e.artifact.src??""),p=C.computed(()=>Q.value.length>0),E=C.computed(()=>vf(d.value)||!!e.artifact.src),v=C.computed(()=>i.value==="preview"&&d.value==="html"&&e.artifact.content),m=C.computed(()=>i.value==="preview"&&d.value==="markdown"&&e.artifact.content),w=C.computed(()=>i.value==="preview"&&!e.artifact.content&&e.artifact.src);C.watch(()=>e.artifact,()=>{i.value="preview",n.value=!1,a.value=!1,o.value=!1,I&&clearTimeout(I)});function k(O){i.value=O}async function b(O){if(!["ArrowLeft","ArrowRight","Home","End"].includes(O.key))return;O.preventDefault();const Y=O.key==="ArrowRight"||O.key==="End"?"code":"preview";i.value=Y,await C.nextTick();const G=Y==="preview"?g.value:l.value;G==null||G.focus()}async function S(){if(p.value){if(I&&clearTimeout(I),!await N(Q.value)){n.value=!1,a.value=!0,I=setTimeout(()=>{a.value=!1},1600);return}a.value=!1,n.value=!0,o.value=!1,I=setTimeout(()=>{n.value=!1},1600)}}async function N(O){var G;if(typeof navigator<"u"&&((G=navigator.clipboard)!=null&&G.writeText))try{return await navigator.clipboard.writeText(O),!0}catch{}if(typeof document>"u")return!1;const Y=document.createElement("textarea");Y.value=O,Y.setAttribute("readonly",""),Y.style.position="fixed",Y.style.opacity="0",document.body.append(Y),Y.select();try{return document.execCommand("copy")}finally{Y.remove()}}async function _(){var O;o.value=!o.value,o.value&&(await C.nextTick(),(O=u.value)==null||O.focus())}function F(){E.value&&(p3({title:f.value,type:d.value,language:e.artifact.language,content:e.artifact.content,src:e.artifact.src}),o.value=!1)}function R(O){var Y;!o.value||(Y=c.value)!=null&&Y.contains(O.target)||(o.value=!1)}function T(O){var Y;O.key!=="Escape"||!o.value||(o.value=!1,(Y=h.value)==null||Y.focus())}return C.onMounted(()=>{document.addEventListener("pointerdown",R),document.addEventListener("keydown",T)}),C.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",R),document.removeEventListener("keydown",T),I&&clearTimeout(I)}),(O,Y)=>(C.openBlock(),C.createElementBlock("section",{class:"artifact-preview","aria-label":`${f.value} preview`},[C.createElementVNode("header",JIA,[C.createElementVNode("div",OIA,[C.createElementVNode("div",HIA,[C.createElementVNode("button",{ref_key:"previewButtonRef",ref:g,type:"button",role:"radio",class:C.normalizeClass(["artifact-preview__view-option",{"artifact-preview__view-option--active":i.value==="preview"}]),"aria-checked":i.value==="preview",tabindex:i.value==="preview"?0:-1,"aria-label":"Preview","data-tooltip":"Preview","data-testid":"artifact-view-preview",onClick:Y[0]||(Y[0]=G=>k("preview")),onKeydown:b},[C.createVNode(C.unref(f6),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],42,VIA),C.createElementVNode("button",{ref_key:"codeButtonRef",ref:l,type:"button",role:"radio",class:C.normalizeClass(["artifact-preview__view-option",{"artifact-preview__view-option--active":i.value==="code"}]),"aria-checked":i.value==="code",tabindex:i.value==="code"?0:-1,"aria-label":"Code","data-tooltip":"Code","data-testid":"artifact-view-code",onClick:Y[1]||(Y[1]=G=>k("code")),onKeydown:b},[C.createVNode(C.unref(a6),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],42,ZIA)]),C.createElementVNode("h2",{class:"artifact-preview__title",title:`${f.value} · ${B.value}`},[C.createElementVNode("span",null,C.toDisplayString(f.value),1),Y[4]||(Y[4]=C.createElementVNode("span",{class:"artifact-preview__title-separator","aria-hidden":"true"},"·",-1)),C.createElementVNode("span",KIA,C.toDisplayString(B.value),1)],8,qIA)]),C.createElementVNode("div",PIA,[C.createElementVNode("div",{ref_key:"menuRootRef",ref:c,class:"artifact-preview__split-button",role:"group","aria-label":"More options"},[C.createElementVNode("button",{type:"button",class:C.normalizeClass(["artifact-preview__copy-button",{"artifact-preview__copy-button--failed":a.value}]),disabled:!p.value,"aria-label":n.value?"Copied artifact":a.value?"Copy failed":"Copy artifact","data-testid":"artifact-copy",onClick:S},[n.value?(C.openBlock(),C.createBlock(C.unref(Ev),{key:0,size:16,"stroke-width":1.75,"aria-hidden":"true"})):a.value?(C.openBlock(),C.createBlock(C.unref(n3),{key:1,size:16,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0),C.createElementVNode("span",null,C.toDisplayString(n.value?"Copied":a.value?"Failed":"Copy"),1)],10,WIA),Y[6]||(Y[6]=C.createElementVNode("span",{class:"artifact-preview__split-divider","aria-hidden":"true"},null,-1)),C.createElementVNode("button",{ref_key:"menuButtonRef",ref:h,type:"button",class:"artifact-preview__menu-button","aria-label":"More options","data-tooltip":"More options","aria-haspopup":"menu","aria-controls":C.unref(s),"aria-expanded":o.value,onClick:C.withModifiers(_,["stop"])},[C.createVNode(C.unref(A6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,zIA),C.createVNode(C.Transition,{name:"artifact-menu"},{default:C.withCtx(()=>[o.value?(C.openBlock(),C.createElementBlock("div",{key:0,id:C.unref(s),class:"artifact-preview__menu",role:"menu"},[C.createElementVNode("button",{ref_key:"downloadButtonRef",ref:u,type:"button",role:"menuitem",class:"artifact-preview__menu-item",disabled:!E.value,"data-testid":"artifact-download",onClick:F},[C.createVNode(C.unref(l6),{size:16,"stroke-width":1.75,"aria-hidden":"true"}),Y[5]||(Y[5]=C.createElementVNode("span",null,"Download",-1))],8,jIA)],8,XIA)):C.createCommentVNode("",!0)]),_:1})],512),C.createElementVNode("button",{type:"button",class:"artifact-preview__icon-button artifact-preview__expand-button","aria-label":t.expanded?"Collapse":"Expand","data-tooltip":t.expanded?"Collapse":"Expand","data-testid":"artifact-expand",onClick:Y[2]||(Y[2]=G=>r("toggle-expanded"))},[t.expanded?(C.openBlock(),C.createBlock(C.unref(T6),{key:0,size:20,"stroke-width":1.75,"aria-hidden":"true"})):(C.openBlock(),C.createBlock(C.unref(u6),{key:1,size:20,"stroke-width":1.75,"aria-hidden":"true"}))],8,$IA),C.createElementVNode("button",{type:"button",class:"artifact-preview__icon-button","aria-label":"关闭侧边栏","data-tooltip":"关闭侧边栏","data-testid":"artifact-close",onClick:Y[3]||(Y[3]=G=>r("close"))},[C.createVNode(C.unref(Sl),{size:20,"stroke-width":1.75,"aria-hidden":"true"})])])]),C.createElementVNode("div",AfA,[v.value?(C.openBlock(),C.createElementBlock("iframe",{key:0,title:`${f.value} preview`,srcdoc:t.artifact.content,sandbox:"allow-scripts",class:"artifact-preview__iframe","data-testid":"artifact-preview-frame"},null,8,efA)):w.value?(C.openBlock(),C.createElementBlock("iframe",{key:1,title:`${f.value} preview`,src:t.artifact.src,class:"artifact-preview__iframe","data-testid":"artifact-preview-frame"},null,8,tfA)):m.value?(C.openBlock(),C.createElementBlock("div",rfA,[C.createVNode(EM,{content:t.artifact.content},null,8,["content"])])):i.value==="preview"&&t.artifact.content?(C.openBlock(),C.createElementBlock("div",ifA,C.toDisplayString(t.artifact.content),1)):Q.value?(C.openBlock(),C.createElementBlock("pre",nfA,[C.createElementVNode("code",null,C.toDisplayString(Q.value),1)])):(C.openBlock(),C.createElementBlock("div",afA,"No preview available"))])],8,UIA))}}),sfA=ve(ofA,[["__scopeId","data-v-b10acfb7"]]),gfA={key:0,class:"chat-queue","aria-label":"待发送队列"},lfA={class:"chat-queue__header"},cfA={class:"chat-queue__count","aria-hidden":"true"},ufA={class:"chat-queue__list"},hfA=["draggable","onDragstart","onDragover","onDragleave","onDrop"],CfA={key:0,class:"chat-queue__edit-row"},IfA={class:"chat-queue__edit-actions"},ffA={class:"chat-queue__grip","aria-hidden":"true"},dfA={class:"chat-queue__index","aria-hidden":"true"},BfA={class:"chat-queue__body"},QfA={class:"chat-queue__content"},pfA={key:0,class:"chat-queue__meta"},EfA={class:"chat-queue__actions"},vfA=["onClick"],mfA=["onClick"],yfA=C.defineComponent({name:"ChatQueue",__name:"ChatQueue",props:{items:{}},emits:["edit","remove","reorder"],setup(t,{emit:A}){const e=t,r=A,i=C.ref(null),n=C.ref(""),a=C.ref(),o=C.ref(-1),s=C.ref(-1);function g(p){return typeof p.payload.message.content=="string"?p.payload.message.content:""}function l(p){i.value=p.id,n.value=g(p),C.nextTick(()=>{var E;return(E=a.value)==null?void 0:E.focus()})}function c(){if(!i.value)return;const p=n.value.trim();p&&r("edit",i.value,p),i.value=null}function h(){i.value=null,n.value=""}function u(p,E){o.value=p,E.dataTransfer&&(E.dataTransfer.effectAllowed="move",E.dataTransfer.setData("text/plain",String(p)))}function I(p,E){E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect="move"),o.value>=0&&o.value!==p&&(s.value=p)}function f(p){s.value===p&&(s.value=-1)}function d(p){o.value>=0&&o.value!==p&&r("reorder",o.value,p),o.value=-1,s.value=-1}function B(){o.value=-1,s.value=-1}function Q(p){p.key==="Enter"&&!p.shiftKey?(p.preventDefault(),c()):p.key==="Escape"&&(p.preventDefault(),h())}return(p,E)=>t.items.length?(C.openBlock(),C.createElementBlock("section",gfA,[C.createElementVNode("header",lfA,[E[1]||(E[1]=C.createElementVNode("span",{class:"chat-queue__label"},"待发送",-1)),C.createElementVNode("span",cfA,C.toDisplayString(t.items.length),1)]),C.createElementVNode("ol",ufA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(e.items,(v,m)=>(C.openBlock(),C.createElementBlock("li",{key:v.id,class:C.normalizeClass(["chat-queue__item",{"chat-queue__item--editing":i.value===v.id,"chat-queue__item--dragging":o.value===m,"chat-queue__item--drop-target":s.value===m}]),draggable:i.value!==v.id,onDragstart:w=>u(m,w),onDragover:w=>I(m,w),onDragleave:w=>f(m),onDrop:C.withModifiers(w=>d(m),["prevent"]),onDragend:B},[i.value===v.id?(C.openBlock(),C.createElementBlock("div",CfA,[C.withDirectives(C.createElementVNode("textarea",{ref_for:!0,ref_key:"editRef",ref:a,"onUpdate:modelValue":E[0]||(E[0]=w=>n.value=w),class:"chat-queue__edit",rows:"2","aria-label":"编辑队列消息",onKeydown:Q},null,544),[[C.vModelText,n.value]]),C.createElementVNode("div",IfA,[C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"保存",onClick:c},[C.createVNode(C.unref(Ev),{size:14,"stroke-width":1.75,"aria-hidden":"true"})]),C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"取消",onClick:h},[C.createVNode(C.unref(Sl),{size:14,"stroke-width":1.75,"aria-hidden":"true"})])])])):(C.openBlock(),C.createElementBlock(C.Fragment,{key:1},[C.createElementVNode("span",ffA,[C.createVNode(C.unref(v6),{size:14,"stroke-width":1.75})]),C.createElementVNode("span",dfA,C.toDisplayString(m+1),1),C.createElementVNode("div",BfA,[C.createElementVNode("p",QfA,C.toDisplayString(g(v)||"仅附件消息"),1),v.payload.attachments.length?(C.openBlock(),C.createElementBlock("span",pfA,C.toDisplayString(v.payload.attachments.length)+" 个附件 ",1)):C.createCommentVNode("",!0)]),C.createElementVNode("div",EfA,[C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn","aria-label":"编辑队列消息",onClick:w=>l(v)},[C.createVNode(C.unref(N6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,vfA),C.createElementVNode("button",{type:"button",class:"chat-queue__icon-btn chat-queue__icon-btn--danger","aria-label":"删除队列消息",onClick:w=>r("remove",v.id)},[C.createVNode(C.unref(V6),{size:14,"stroke-width":1.75,"aria-hidden":"true"})],8,mfA)])],64))],42,hfA))),128))])])):C.createCommentVNode("",!0)}}),UR=ve(yfA,[["__scopeId","data-v-de7ffd50"]]),wfA={key:1,class:"chat-media-preview__loading",role:"status"},DfA=C.defineComponent({__name:"ChatMediaPreview",props:{resource:{},mediaType:{}},setup(t){const A=C.ref(!1);return C.onMounted(async()=>{await Promise.all([Promise.resolve().then(()=>require("./media-player-D_USOhtK.cjs")),Promise.resolve().then(()=>require("./media-outlet-CZTh6XmJ.cjs")),Promise.resolve().then(()=>require("./media-community-skin-YI6NjsJg.cjs"))]),A.value=!0}),(e,r)=>(C.openBlock(),C.createElementBlock("div",{class:C.normalizeClass(["chat-media-preview",`chat-media-preview--${t.mediaType}`])},[A.value?(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-player"),{key:0,src:t.resource.original_url,title:t.resource.filename,controls:"",crossorigin:""},{default:C.withCtx(()=>[(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-outlet"))),(C.openBlock(),C.createBlock(C.resolveDynamicComponent("media-community-skin")))]),_:1},8,["src","title"])):(C.openBlock(),C.createElementBlock("div",wfA,"正在加载播放器..."))],2))}}),kfA=ve(DfA,[["__scopeId","data-v-1b216acf"]]),bfA=C.defineComponent({__name:"ChatOfficePreview",props:{resource:{},kind:{}},setup(t){const A=t,e={pdf:C.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Dq4cniDm.cjs")).then(i=>i.index)),docx:C.defineAsyncComponent(async()=>(await Promise.resolve().then(()=>require("./index-Dyvby5gX.cjs")),Promise.resolve().then(()=>require("./index-BJdNN1GV.cjs")).then(i=>i.index))),excel:C.defineAsyncComponent(async()=>(await Promise.resolve().then(()=>require("./index-4oSgckuo.cjs")),Promise.resolve().then(()=>require("./index-B4hgICk-.cjs")).then(i=>i.index))),pptx:C.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Bj9h-xEr.cjs")).then(i=>i.index))},r=C.computed(()=>e[A.kind]);return(i,n)=>(C.openBlock(),C.createBlock(C.Suspense,null,{fallback:C.withCtx(()=>[...n[0]||(n[0]=[C.createElementVNode("div",{class:"chat-office-preview__loading",role:"status"},"正在加载预览...",-1)])]),default:C.withCtx(()=>[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(r.value),{src:t.resource.original_url,class:"chat-office-preview"},null,8,["src"]))]),_:1}))}}),SfA=ve(bfA,[["__scopeId","data-v-f0923a58"]]),NfA=["data-preview-kind"],FfA={key:1,class:"chat-file-preview__unsupported"},xfA=["href"],_fA=C.defineComponent({name:"ChatFilePreview",__name:"ChatFilePreview",props:{resource:{type:Object,required:!0},renderer:{type:Object,default:void 0}},setup(t){const A=t,e=uc(),r=C.computed(()=>WC(A.resource)),i=C.defineComponent({props:{resource:{type:Object,required:!0}},setup(l){return()=>C.h("img",{class:"chat-file-preview__image",src:l.resource.original_url,alt:l.resource.filename})}}),n=C.defineComponent({props:{resource:{type:Object,required:!0}},setup(l){return()=>C.h("iframe",{class:"chat-file-preview__frame",src:l.resource.original_url,title:l.resource.filename,sandbox:"",referrerpolicy:"no-referrer"})}}),a=n,o=C.computed(()=>{if(r.value==="image")return i;if(r.value==="html")return n;if(r.value==="text")return a;if(r.value==="audio"||r.value==="video")return kfA;if(["pdf","docx","excel","pptx"].includes(r.value))return SfA}),s=C.computed(()=>A.renderer??e.previewRenderers.value[r.value]??h3(r.value)??o.value),g=C.computed(()=>{const l={resource:A.resource};return r.value==="audio"||r.value==="video"?{...l,mediaType:r.value}:["pdf","docx","excel","pptx"].includes(r.value)?{...l,kind:r.value}:l});return(l,c)=>(C.openBlock(),C.createElementBlock("div",{class:"chat-file-preview","data-preview-kind":r.value},[C.renderSlot(l.$slots,"default",{resource:t.resource,kind:r.value,renderer:s.value},()=>[s.value?(C.openBlock(),C.createBlock(C.resolveDynamicComponent(s.value),C.normalizeProps(C.mergeProps({key:0},g.value)),null,16)):(C.openBlock(),C.createElementBlock("div",FfA,[c[0]||(c[0]=C.createElementVNode("p",null,"此文件暂不支持在线预览",-1)),C.createElementVNode("a",{href:t.resource.original_url,target:"_blank",rel:"noopener noreferrer"},"下载文件",8,xfA)]))],!0)],8,NfA))}}),JR=ve(_fA,[["__scopeId","data-v-7e9dbdd7"]]),MfA=["aria-label"],RfA={class:"chat-file-preview-panel__header"},GfA=["href"],LfA={class:"chat-file-preview-panel__body"},TfA=C.defineComponent({__name:"ChatFilePreviewPanel",props:{resource:{}},emits:["close"],setup(t,{emit:A}){const e=A,r=C.ref(),i=C.ref();let n=null;function a(o){o.key==="Escape"&&e("close")}return C.onMounted(()=>{n=document.activeElement instanceof HTMLElement?document.activeElement:null,C.nextTick(()=>{var o;return(o=i.value)==null?void 0:o.focus()})}),C.onBeforeUnmount(()=>{n==null||n.focus(),n=null}),(o,s)=>(C.openBlock(),C.createElementBlock("section",{ref_key:"panelRef",ref:r,class:"chat-file-preview-panel",role:"region","aria-label":`${t.resource.filename} 预览`,onKeydown:a},[C.createElementVNode("header",RfA,[C.createElementVNode("div",null,[C.createElementVNode("strong",null,C.toDisplayString(t.resource.filename),1),C.createElementVNode("span",null,C.toDisplayString(t.resource.url_type.toUpperCase()),1)]),C.createElementVNode("a",{href:t.resource.original_url,target:"_blank",rel:"noopener noreferrer","aria-label":"在新窗口打开文件"},[C.createVNode(C.unref(C6),{size:16,"stroke-width":1.75,"aria-hidden":"true"})],8,GfA),C.createElementVNode("button",{ref_key:"closeButtonRef",ref:i,type:"button","aria-label":"关闭文件预览",onClick:s[0]||(s[0]=g=>e("close"))},[C.createVNode(C.unref(Sl),{size:18,"stroke-width":1.75,"aria-hidden":"true"})],512)]),C.createElementVNode("div",LfA,[C.renderSlot(o.$slots,"default",{resource:t.resource},()=>[C.createVNode(JR,{resource:t.resource},null,8,["resource"])],!0)])],40,MfA))}}),OR=ve(TfA,[["__scopeId","data-v-8e55677a"]]),YfA=["aria-label"],UfA=C.defineComponent({__name:"ChatSidebarResizeHandle",props:{ariaLabel:{default:"调整预览宽度"}},emits:["resize"],setup(t,{emit:A}){const e=A;function r(i){var g;const n=i.currentTarget,a=i.pointerId;(g=n.setPointerCapture)==null||g.call(n,a);const o=l=>{e("resize",l.clientX)},s=()=>{var l;(l=n.releasePointerCapture)==null||l.call(n,a),window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",s)};window.addEventListener("pointermove",o),window.addEventListener("pointerup",s,{once:!0})}return(i,n)=>(C.openBlock(),C.createElementBlock("button",{type:"button",class:"chat-sidebar-resize-handle","aria-label":t.ariaLabel,onPointerdown:r},[...n[0]||(n[0]=[C.createElementVNode("span",{class:"chat-sidebar-resize-handle__line","aria-hidden":"true"},null,-1),C.createElementVNode("span",{class:"chat-sidebar-resize-handle__grip","aria-hidden":"true"},null,-1)])],40,YfA))}}),JfA=ve(UfA,[["__scopeId","data-v-b7bace8d"]]);let OS=0;function HR(t,A){return[...t,{id:OfA(),payload:A}]}function VR(t,A,e){return t.map(r=>r.id===A?{...r,payload:Ef(e,r.payload.attachments)}:r)}function ZR(t,A){return t.filter(e=>e.id!==A)}function qR(t,A,e){if(A===e||A<0||e<0||A>=t.length||e>=t.length)return[...t];const r=[...t],[i]=r.splice(A,1);return r.splice(e,0,i),r}function OfA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(OS+=1,`chat-queue-${OS}`)}const HfA=["data-chat-color-mode"],VfA={class:"chat-bot__main"},ZfA={class:"chat-bot__conversation"},qfA={class:"chat-bot__sender"},KfA={key:2,class:"chat-bot__sidebar-placeholder"},PfA=C.defineComponent({name:"ChatBot",__name:"ChatBot",props:{messages:{},draft:{},attachments:{},showSidebar:{type:Boolean,default:!1},sidebarWidth:{default:"42%"},enableQueue:{type:Boolean,default:!1},senderConfig:{default:()=>({})},conversationConfig:{default:()=>({})},theme:{},colorMode:{},uploadConfig:{},attachmentLimits:{},previewRenderers:{},toolRenderers:{},toolStates:{},followUps:{},pendingAskFormMdoc:{}},emits:["update:messages","update:draft","update:attachments","update:queue","send","stop","retry","tool-action","action","copy","artifact-open","status-change","response-event","response-error","attachment-error","voice-click","voice-record","voice-start","voice-stop","voice-cancel","audio-device-change","audio-transcript","screenshot","menu-item-click","attachment-menu-open","attachment-menu-close","update:activeQuickAction","quick-action-select","quick-action-clear","trigger-open","trigger-query","trigger-close","mention-insert","mention-remove","mic-permission-guide-click","files-drop"],setup(t,{expose:A,emit:e}){const r=t,i=e,n=uc(),a=oe(r.messages),o=C.ref(a),s=C.ref("idle"),g=C.ref(null),l=C.ref(null),c=C.ref(-1),h=C.ref(),u=C.ref(),I=C.ref(null),f=C.ref(null),d=C.ref(null),B=C.ref(!1),Q=C.computed(()=>r.showSidebar||f.value!==null||d.value!==null),p=C.ref(null),E=C.ref([]),v=C.ref(null);let m=null,w=0;const k=C.computed(()=>({...n.theme.value,...r.theme})),b=C.computed(()=>r.colorMode??n.colorMode.value),S=C.computed(()=>r.uploadConfig?{...n.uploadConfig.value,...r.uploadConfig}:n.uploadConfig.value),N=C.computed(()=>{var rA,hA;return kd(n.limits.value,(rA=n.uploadConfig.value)==null?void 0:rA.limits,(hA=r.uploadConfig)==null?void 0:hA.limits,r.attachmentLimits)}),_=C.computed(()=>({...n.previewRenderers.value,...r.previewRenderers})),F=C.computed(()=>({...n.toolRenderers.value,...r.toolRenderers})),R=C.computed(()=>({...r.senderConfig,draft:r.draft,attachments:r.attachments,uploadConfig:S.value,attachmentLimits:N.value,theme:k.value,streaming:s.value==="streaming"}));fR({colorMode:b,uploadConfig:S,limits:N,theme:k,previewRenderers:_,toolRenderers:F}),C.watch(()=>r.messages,rA=>{const hA=oe(rA);o.value=hA,SA(rA,hA)||i("update:messages",he(hA))},{deep:!0}),C.watch(s,rA=>{i("status-change",rA),rA==="completed"&&C.nextTick(P)}),C.onMounted(()=>{SA(r.messages,a)||i("update:messages",he(a))});const T=C.computed(()=>{if(p.value)return p.value;const rA=r.sidebarWidth;return typeof rA=="number"?`${rA}px`:rA}),O=C.computed(()=>({"--chat-bot-sidebar-width":T.value}));function Y(rA){if(s.value==="streaming"){if(!r.enableQueue)return;X(HR(E.value,rA));return}G(rA)}function G(rA){v.value=rA,xA([...o.value,Ue(rA.message)]),i("send",rA)}function P(){const rA=E.value[0];!rA||s.value==="streaming"||(X(E.value.slice(1)),G(rA.payload))}function X(rA){E.value=[...rA],i("update:queue",E.value)}function j(rA,hA){X(VR(E.value,rA,hA))}function iA(rA){X(ZR(E.value,rA))}function nA(rA,hA){X(qR(E.value,rA,hA))}function aA(rA){var hA;rA.type==="open-artifact"&&(f.value=rA,B.value=!1,i("artifact-open",rA)),rA.type==="submit"&&rA.source==="follow-up"&&((hA=rA.value)!=null&&hA.trim())&&Y(Ef(rA.value.trim(),[])),i("action",rA)}function cA(rA){i("copy",rA)}function NA(rA){d.value=rA,f.value=null,B.value=!1}async function WA(rA,hA={}){var lt,At,Yt;m&&VA(),await C.nextTick();const _A=++w,Wt=new AbortController;m=Wt;const or=o.value.length;c.value=or,s.value="streaming",g.value=null,l.value=null,xA([...o.value,{role:"assistant"}]);const sr=()=>Wt.abort();(lt=hA.signal)==null||lt.addEventListener("abort",sr,{once:!0}),(At=hA.signal)!=null&&At.aborted&&Wt.abort();try{const Lr=await xIA(rA,{signal:Wt.signal,onUpdate(ze,gr){if(_A!==w)return;const lr=[...o.value];lr[or]=ze,g.value=gr,xA(lr)},onEvent(ze,gr){var lr;(lr=hA.onEvent)==null||lr.call(hA,ze,gr),i("response-event",ze,gr)}});if(_A!==w)return;g.value=Lr.response,s.value=Lr.status}catch(Lr){if(_A!==w)return;if(Wt.signal.aborted){s.value="aborted";return}const ze=Lr instanceof Error?Lr:new Error(String(Lr));throw l.value=ze,s.value="error",i("response-error",ze,O1(ze)),ze}finally{(Yt=hA.signal)==null||Yt.removeEventListener("abort",sr),_A===w&&(m=null,c.value=-1)}}function VA(){m&&(m.abort(),m=null,c.value=-1,s.value="aborted")}function zA(){VA(),i("stop")}function tA(){l.value&&i("retry",v.value,l.value)}function QA(){var rA;(rA=u.value)==null||rA.scrollToBottom()}function xA(rA){o.value=rA,i("update:messages",he(rA))}function he(rA){return JSON.parse(JSON.stringify(rA))}function oe(rA){return rA.map(Ue)}function Ue(rA){const hA=he([rA])[0];return hA.role==="user"&&(hA.id||(hA.id=yv()),hA.resource_files||(hA.resource_files=[])),hA}function SA(rA,hA){return JSON.stringify(rA)===JSON.stringify(hA)}function JA(){f.value=null,d.value=null,B.value=!1}function jA(rA){var lt;const hA=(lt=h.value)==null?void 0:lt.getBoundingClientRect(),_A=hA?hA.right:window.innerWidth,Wt=hA?hA.width:window.innerWidth,or=_A-rA,sr=Wt*.72;p.value=`${Math.min(sr,Math.max(360,or))}px`}function Ee(){B.value=!B.value}const de=C.ref(!1),be=new Set;C.provide(NR,{register(rA){return be.add(rA),()=>{be.delete(rA)}}});const Ge=C.computed(()=>{const rA=R.value;return!(rA.showAttachment===!1||rA.disabled)});function We(){de.value=!1}function ar(rA){if(rA.length!==0){if(be.size>0){for(const hA of be)hA(rA);return}if(I.value){I.value.addFiles(rA);return}i("files-drop",rA)}}function _e(rA){!Ge.value||!bl(rA)||(rA.preventDefault(),de.value=!0)}function yt(rA){!Ge.value||!bl(rA)||(rA.preventDefault(),rA.dataTransfer&&(rA.dataTransfer.dropEffect="copy"),de.value=!0)}function Ne(rA){var _A;if(!Ge.value)return;const hA=rA.relatedTarget;hA&&((_A=h.value)!=null&&_A.contains(hA))||We()}function Gr(rA){Ge.value&&(rA.preventDefault(),rA.stopPropagation(),We(),ar(Bf(rA.dataTransfer)))}return C.watch(Ge,rA=>{rA||We()}),C.onBeforeUnmount(()=>{VA(),We()}),A({consume:WA,abort:VA,scrollToBottom:QA,sendNextQueued:P,addFiles:ar}),(rA,hA)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:h,class:C.normalizeClass(["chat-bot",{"chat-bot--drag-over":de.value}]),style:C.normalizeStyle(O.value),"data-chat-color-mode":b.value,onDragenter:_e,onDragoverCapture:yt,onDragleave:Ne,onDropCapture:Gr},[de.value?(C.openBlock(),C.createBlock(bR,{key:0})):C.createCommentVNode("",!0),C.createElementVNode("div",VfA,[C.createElementVNode("div",ZfA,[C.createVNode(YR,C.mergeProps({ref_key:"conversationRef",ref:u,messages:o.value,status:s.value,"streaming-message-index":c.value,theme:k.value,"response-error":l.value??void 0},t.conversationConfig,{"tool-states":t.toolStates??t.conversationConfig.toolStates,"follow-ups":t.followUps??t.conversationConfig.followUps,"pending-ask-form-mdoc":t.pendingAskFormMdoc??t.conversationConfig.pendingAskFormMdoc,onAction:aA,onCopy:cA,onRetry:tA,onAttachmentPreview:NA,onToolAction:hA[0]||(hA[0]=_A=>i("tool-action",_A))}),C.createSlots({_:2},[rA.$slots.prepend?{name:"prepend",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"prepend",{},void 0,!0)]),key:"0"}:void 0,rA.$slots.empty?{name:"empty",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"empty",{},void 0,!0)]),key:"1"}:void 0,rA.$slots.message?{name:"message",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"message",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"2"}:void 0,rA.$slots.append?{name:"append",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"append",{},void 0,!0)]),key:"3"}:void 0,rA.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"user-avatar",{},void 0,!0)]),key:"4"}:void 0,rA.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"assistant-avatar",{},void 0,!0)]),key:"5"}:void 0,rA.$slots["assistant-actionbar"]?{name:"assistant-actionbar",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"assistant-actionbar",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"6"}:void 0,rA.$slots.tool?{name:"tool",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"tool",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"7"}:void 0,rA.$slots.error?{name:"error",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"error",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"8"}:void 0]),1040,["messages","status","streaming-message-index","theme","response-error","tool-states","follow-ups","pending-ask-form-mdoc"])]),C.createElementVNode("div",qfA,[C.renderSlot(rA.$slots,"sender-prepend",{},void 0,!0),t.enableQueue?(C.openBlock(),C.createBlock(UR,{key:0,items:E.value,onEdit:j,onRemove:iA,onReorder:nA},null,8,["items"])):C.createCommentVNode("",!0),C.renderSlot(rA.$slots,"sender",{},()=>[C.createVNode(_R,C.mergeProps({ref_key:"senderRef",ref:I},R.value,{"enable-file-drop":!1,onSend:Y,onStop:zA,"onUpdate:draft":hA[1]||(hA[1]=_A=>i("update:draft",_A)),"onUpdate:attachments":hA[2]||(hA[2]=_A=>i("update:attachments",_A)),onAttachmentError:hA[3]||(hA[3]=(_A,Wt)=>i("attachment-error",_A,Wt)),onVoiceClick:hA[4]||(hA[4]=_A=>i("voice-click")),onVoiceRecord:hA[5]||(hA[5]=_A=>i("voice-record")),onVoiceStart:hA[6]||(hA[6]=_A=>i("voice-start")),onVoiceStop:hA[7]||(hA[7]=_A=>i("voice-stop")),onVoiceCancel:hA[8]||(hA[8]=_A=>i("voice-cancel")),onAudioDeviceChange:hA[9]||(hA[9]=_A=>i("audio-device-change",_A)),onAudioTranscript:hA[10]||(hA[10]=_A=>i("audio-transcript",_A)),onMicPermissionGuideClick:hA[11]||(hA[11]=_A=>i("mic-permission-guide-click")),onScreenshot:hA[12]||(hA[12]=_A=>i("screenshot")),onMenuItemClick:hA[13]||(hA[13]=_A=>i("menu-item-click",_A)),onAttachmentMenuOpen:hA[14]||(hA[14]=_A=>i("attachment-menu-open")),onAttachmentMenuClose:hA[15]||(hA[15]=_A=>i("attachment-menu-close")),"onUpdate:activeQuickAction":hA[16]||(hA[16]=_A=>i("update:activeQuickAction",_A)),onQuickActionSelect:hA[17]||(hA[17]=_A=>i("quick-action-select",_A)),onQuickActionClear:hA[18]||(hA[18]=_A=>i("quick-action-clear")),onTriggerOpen:hA[19]||(hA[19]=_A=>i("trigger-open",_A)),onTriggerQuery:hA[20]||(hA[20]=_A=>i("trigger-query",_A)),onTriggerClose:hA[21]||(hA[21]=_A=>i("trigger-close",_A)),onMentionInsert:hA[22]||(hA[22]=_A=>i("mention-insert",_A)),onMentionRemove:hA[23]||(hA[23]=_A=>i("mention-remove",_A))}),C.createSlots({_:2},[rA.$slots["trigger-menu"]?{name:"trigger-menu",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"trigger-menu",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"0"}:void 0,rA.$slots.mention?{name:"mention",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"mention",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"1"}:void 0,rA.$slots["toolbar-before-voice"]?{name:"toolbar-before-voice",fn:C.withCtx(()=>[C.renderSlot(rA.$slots,"toolbar-before-voice",{},void 0,!0)]),key:"2"}:void 0]),1040)],!0),C.renderSlot(rA.$slots,"sender-append",{},void 0,!0)])]),Q.value?(C.openBlock(),C.createElementBlock("div",{key:1,class:C.normalizeClass(["chat-bot__sidebar",{"chat-bot__sidebar--open":Q.value,"chat-bot__sidebar--expanded":B.value}])},[B.value?C.createCommentVNode("",!0):(C.openBlock(),C.createBlock(JfA,{key:0,onResize:jA})),C.createElementVNode("div",{class:C.normalizeClass(["chat-bot__sidebar-content",{"chat-bot__sidebar-content--artifact":f.value&&!rA.$slots.sidebar}])},[C.renderSlot(rA.$slots,"sidebar",{artifact:f.value,file:d.value},()=>[d.value?(C.openBlock(),C.createBlock(OR,{key:0,resource:d.value,onClose:JA},C.createSlots({_:2},[rA.$slots["file-preview"]?{name:"default",fn:C.withCtx(_A=>[C.renderSlot(rA.$slots,"file-preview",C.normalizeProps(C.guardReactiveProps(_A)),void 0,!0)]),key:"0"}:void 0]),1032,["resource"])):f.value?(C.openBlock(),C.createBlock(sfA,{key:1,artifact:f.value,expanded:B.value,onClose:JA,onToggleExpanded:Ee},null,8,["artifact","expanded"])):(C.openBlock(),C.createElementBlock("div",KfA,[...hA[24]||(hA[24]=[C.createElementVNode("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[C.createElementVNode("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),C.createElementVNode("line",{x1:"9",y1:"3",x2:"9",y2:"21"})],-1),C.createElementVNode("p",null,"侧边栏内容",-1)])]))],!0)],2)],2)):C.createCommentVNode("",!0)],46,HfA))}}),WfA=ve(PfA,[["__scopeId","data-v-a1c5deae"]]),zfA=["data-chat-color-mode"],XfA=C.defineComponent({name:"ChatProvider",__name:"ChatProvider",props:{colorMode:{type:String,default:void 0},uploadConfig:{type:Object,default:void 0},limits:{type:Object,default:void 0},theme:{type:Object,default:void 0},previewRenderers:{type:Object,default:void 0},toolRenderers:{type:Object,default:void 0}},setup(t){const A=t,e=uc(),r=C.computed(()=>A.uploadConfig?{...e.uploadConfig.value,...A.uploadConfig}:e.uploadConfig.value),i=C.computed(()=>{var g,l;return kd(e.limits.value,(g=e.uploadConfig.value)==null?void 0:g.limits,(l=A.uploadConfig)==null?void 0:l.limits,A.limits)}),n=C.computed(()=>({...e.theme.value,...A.theme})),a=C.computed(()=>A.colorMode??e.colorMode.value),o=C.computed(()=>({...e.previewRenderers.value,...A.previewRenderers})),s=C.computed(()=>({...e.toolRenderers.value,...A.toolRenderers}));return fR({colorMode:a,uploadConfig:r,limits:i,theme:n,previewRenderers:o,toolRenderers:s}),(g,l)=>(C.openBlock(),C.createElementBlock("div",{class:"chat-provider","data-chat-color-mode":a.value},[C.renderSlot(g.$slots,"default",{},void 0,!0)],8,zfA))}}),jfA=ve(XfA,[["__scopeId","data-v-32922048"]]);function $fA(t=[]){const A=C.ref(HS(t));function e(n){A.value=[...A.value,KR(n)]}function r(n){A.value=HS(n)}function i(){A.value=[]}return{messages:A,appendMessage:e,setMessages:r,reset:i}}function HS(t){return t.map(KR)}function KR(t){return JSON.parse(JSON.stringify(t))}function AdA(){function t(A,e={}){return Ps(A,e)}return{thumbnailUrl:t,appendImageViewParams:Ps}}function edA(t){const A=C.computed(()=>(t==null?void 0:t.direction)||"horizontal"),e=C.computed(()=>t==null?void 0:t.nodeSpacing),r=C.computed(()=>t==null?void 0:t.levelSpacing),i=C.computed(()=>(t==null?void 0:t.align)||"center"),n=C.computed(()=>A.value==="horizontal"),a=C.computed(()=>A.value==="vertical");return{direction:A,nodeSpacing:e,levelSpacing:r,align:i,isHorizontal:n,isVertical:a,getNodeSpacing:()=>e.value,getLevelSpacing:()=>r.value,getAlign:()=>i.value}}exports.ACTION_BAR_ICON_NAMES=d3;exports.ACTION_BAR_SYSTEM_PROMPT=SL;exports.ARTIFACT_BLOCK_SYSTEM_PROMPT=wL;exports.ASK_USER_FORM_SYSTEM_PROMPT=mL;exports.CHART_BLOCK_SYSTEM_PROMPT=kL;exports.CHART_TYPES=C8;exports.ChartToolRenderer=vM;exports.ChatActionbar=a3;exports.ChatAttachments=I3;exports.ChatBot=WfA;exports.ChatFilePreview=JR;exports.ChatFilePreviewPanel=OR;exports.ChatFollowUps=f3;exports.ChatImageLightbox=C3;exports.ChatMessage=vR;exports.ChatProvider=jfA;exports.ChatQueue=UR;exports.ChatReasoning=iv;exports.ChatSender=_R;exports.ChatSenderAppendIcon=mR;exports.ChatSenderAtIcon=DhA;exports.ChatSenderCheckIcon=wR;exports.ChatSenderClickIcon=DR;exports.ChatSenderLinkIcon=kR;exports.ChatSenderMicIcon=Bv;exports.ChatSenderMicOffIcon=ZC;exports.ChatSenderMoreIcon=yR;exports.ChatToolGroup=dv;exports.CodeToolRenderer=mM;exports.ConversationList=YR;exports.D3MindMap=i3;exports.DEFAULT_CHAT_ATTACHMENT_LIMITS=Q0;exports.EmptyState=MR;exports.MessageBubble=ER;exports.MindMapToolRenderer=yM;exports.OpenGenUIToolRenderer=uR;exports.OpenGenerativeUiChartRenderer=T1;exports.OpenGenerativeUiPlanRenderer=gR;exports.OpenGenerativeUiScheduleRenderer=lR;exports.OpenGenerativeUiThemeRenderer=cR;exports.SearchToolRenderer=hR;exports.TextPartRenderer=v1;exports.ToolCallPart=pR;exports.appendImageViewParams=Ps;exports.buildChatSendPayload=Ef;exports.classifyAttachment=Uu;exports.classifyChatError=O1;exports.colorfulTheme=ZS;exports.convertReferenceMarkers=IM;exports.createAttachmentFingerprint=up;exports.createChatAttachmentController=SR;exports.createChatMessageId=yv;exports.darkTheme=VS;exports.debounce=g7;exports.deepClone=cp;exports.defaultTheme=Ms;exports.downloadBlob=c7;exports.editChatQueueItem=VR;exports.enqueueChatPayload=HR;exports.extractAskFormMdocFromToolCall=QR;exports.extractAskFormMdocFromToolCalls=fv;exports.extractAskFormNodes=du;exports.filterOutAskFormToolCalls=B0A;exports.getChatFileIconSrc=wv;exports.getChatPreviewKind=WC;exports.getFileExtension=sg;exports.getFilesFromDataTransfer=Bf;exports.getQiniuUploadCredential=Y1;exports.getTextWidth=fC;exports.getTheme=s7;exports.hasFileDrag=bl;exports.isActionBarReady=Q3;exports.isAskFormToolName=bd;exports.isChartType=I8;exports.isGradient=u7;exports.mergeTheme=WS;exports.minimalTheme=qS;exports.moveChatQueueItem=qR;exports.parseGradientColor=h7;exports.parseQiniuUploadResult=mv;exports.professionalTheme=KS;exports.registerChatPreviewRenderer=oG;exports.registerToolRenderer=Sn;exports.removeChatQueueItem=ZR;exports.resolveActionBarIcon=B3;exports.resolveChatAttachmentLimits=kd;exports.resolveChatPreviewRenderer=h3;exports.resolveToolRenderer=CR;exports.resourceToContentPart=u3;exports.svgToBlob=XS;exports.svgToPng=jS;exports.themes=PS;exports.throttle=l7;exports.toChatResourceFile=c3;exports.uploadFile=_hA;exports.uploadFileToQiniu=U1;exports.useChatContext=uc;exports.useConversation=$fA;exports.useImageUrl=AdA;exports.useMindMapLayout=edA;exports.useMindMapTheme=zS;exports.validateAttachmentFile=l3;
|