UNPKG

chaite

Version:

core for chatgpt-plugin and karin-plugin-chatgpt

2 lines (1 loc) 4.36 kB
import{d as D,o as s,b as c,u as t,N as J,w as a,a as _,c as l,P as p,Q as N,e as o,n as g,H as i,g as r,t as u,O as f,k as z}from"./index-D3SoE8bB.js";import{N as h,a as x}from"./CollapseItem-CB2kQ3g4.js";import{N as k}from"./text-Di0H5qw2.js";import{N as V}from"./Image-CfL42uAZ.js";import{N as C}from"./Code-Cesxrx_z.js";import"./download-C2161hUv.js";const L={class:"flex justify-between"},M={class:"metadata"},R={class:"message-content"},E={key:0,class:"text-content"},F={key:1,class:"image-content"},H={key:2,class:"reasoning-content"},P={key:3,class:"tool-content"},Q={class:"tool-call-header"},U={key:4,class:"unsupported-content"},Z={class:"tool-call-header"},q={key:0,class:"tool-result-header"},G=D({__name:"MessageContentCard",props:{message:{}},setup(v){const n=v,T=f(()=>n.message.toolCalls&&n.message.toolCalls.length>0),I=f(()=>n.message.role==="tool"&&n.message.content&&n.message.content.length>0),S=f(()=>!n.message.content||!Array.isArray(n.message.content)?[]:n.message.content.map(d=>typeof d=="string"?{type:"text",text:d}:d)),b=f(()=>{switch(n.message.role){case"user":return"info";case"assistant":return"success";case"system":return"warning";case"developer":return"default";case"tool":return"error";default:return"default"}}),A=f(()=>{switch(n.message.role){case"user":return"用户";case"assistant":return"AI助手";case"system":return"系统";case"developer":return"开发者";case"tool":return"工具";default:return n.message.role}}),O=f(()=>n.message.createdAt?new Date(n.message.createdAt).toLocaleString():"");function j(d){return/^(https?:\/\/|data:image\/)/.test(d)}function B(d){return/^data:image\/[a-zA-Z+]+;base64,/.test(d)}const w=f(()=>n.message.token_count||0);return(d,y)=>(s(),c(t(J),{bordered:!1,size:"small",class:"message-card"},{header:a(()=>[_("div",L,[o(t(i),{type:b.value},{default:a(()=>[r(u(A.value),1)]),_:1},8,["type"]),_("div",M,[o(t(i),{size:"small"},{default:a(()=>[r(u(O.value),1)]),_:1}),w.value>0?(s(),c(t(i),{key:0,size:"small"},{default:a(()=>[r(" Token: "+u(w.value),1)]),_:1})):g("",!0)])])]),default:a(()=>[_("div",R,[(s(!0),l(p,null,N(S.value,(e,m)=>(s(),l(p,{key:m},[e.type==="text"?(s(),l("div",E,[o(t(k),null,{default:a(()=>[r(u(e.text),1)]),_:2},1024)])):e.type==="image"?(s(),l("div",F,[j(e.image)||B(e.image)?(s(),c(t(V),{key:0,src:e.image,width:400,"object-fit":"contain","preview-disabled":!1,class:"message-image"},null,8,["src"])):(s(),c(t(k),{key:1,type:"info"},{default:a(()=>[...y[0]||(y[0]=[r(" [图像数据无法显示] ",-1)])]),_:1}))])):e.type==="reasoning"?(s(),l("div",H,[o(t(h),null,{default:a(()=>[o(t(x),{title:"推理过程"},{default:a(()=>[o(t(k),{class:"reasoning-text"},{default:a(()=>[r(u(e.text),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)])):e.type==="tool"?(s(),l("div",P,[_("div",Q,[e.name?(s(),c(t(i),{key:0,type:"info"},{default:a(()=>[r(u(e.name),1)]),_:2},1024)):(s(),c(t(i),{key:1,type:"info"},{default:a(()=>[...y[1]||(y[1]=[r(" Tool Result ",-1)])]),_:1}))]),o(t(C),{code:typeof e.content=="string"?e.content:JSON.stringify(e.content,null,2),language:"json"},null,8,["code"])])):(s(),l("div",U,[o(t(k),{type:"info"},{default:a(()=>[r(" ["+u(e.type)+" 类型内容] ",1)]),_:2},1024)]))],64))),128))]),T.value?(s(),c(t(h),{key:0},{default:a(()=>[o(t(x),{title:"工具调用"},{default:a(()=>[(s(!0),l(p,null,N(v.message.toolCalls,(e,m)=>(s(),l("div",{key:m,class:"tool-call"},[_("div",Z,[o(t(i),{type:"info"},{default:a(()=>[r(u(e.function.name),1)]),_:2},1024)]),o(t(C),{code:typeof e.function.arguments=="string"?JSON.stringify(JSON.parse(e.function.arguments),null,2):JSON.stringify(e.function.arguments,null,2),language:"json"},null,8,["code"])]))),128))]),_:1})]),_:1})):g("",!0),I.value?(s(),c(t(h),{key:1},{default:a(()=>[o(t(x),{title:"工具结果"},{default:a(()=>[(s(!0),l(p,null,N(v.message.content,(e,m)=>(s(),l("div",{key:m,class:"tool-result"},[e.name||e.tool_call_id?(s(),l("div",q,[e.name?(s(),c(t(i),{key:0,type:"info"},{default:a(()=>[r(u(e.name),1)]),_:2},1024)):g("",!0),e.tool_call_id?(s(),c(t(i),{key:1,type:"warning"},{default:a(()=>[r(" ID: "+u(e.tool_call_id),1)]),_:2},1024)):g("",!0)])):g("",!0),o(t(C),{code:typeof e.content=="string"?e.content:JSON.stringify(e.content,null,2),language:"json"},null,8,["code"])]))),128))]),_:1})]),_:1})):g("",!0)]),_:1}))}}),te=z(G,[["__scopeId","data-v-53ef9436"]]);export{te as default};