netstar-ai-chat 1.2.1 → 1.2.2

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/dist/index.cjs CHANGED
@@ -337,7 +337,7 @@ summary tabindex target title type usemap value width wmode wrap onCopy onCut on
337
337
  onLoadstart onPause onPlay onPlaying onProgress onRatechange onSeeked onSeeking onStalled onSuspend onTimeupdate onVolumechange onWaiting onLoad onError`.split(/[\s\n]+/),YP=`aria-`,XP=`data-`;function ZP(e,t){return e.indexOf(t)===0}function QP(e,t=!1){let n;n=t===!1?{aria:!0,data:!0,attr:!0}:t===!0?{aria:!0}:{...t};let r={};return Object.keys(e).forEach(t=>{(n.aria&&(t===`role`||ZP(t,YP))||n.data&&ZP(t,XP)||n.attr&&(JP.includes(t)||JP.includes(t.toLowerCase())))&&(r[t]=e[t])}),r}function $P(e){let[t,n]=lO(e.value.length),r=(0,a.computed)(()=>e.value.slice(0,(0,a.unref)(t))),i=(0,a.computed)(()=>{let e=(0,a.unref)(r)[(0,a.unref)(r).length-1];return e?e.key:null});return(0,a.watch)(e,()=>{if(n(e.value.length),!((0,a.unref)(r).length&&(0,a.unref)(r).every((t,n)=>t.key===e.value[n]?.key))){if((0,a.unref)(r).length===0)n(1);else for(let t=0;t<(0,a.unref)(r).length;t+=1)if((0,a.unref)(r)[t].key!==e.value[t]?.key){n(t);break}}},{immediate:!0,deep:!0}),[r,qP(e=>{e===(0,a.unref)(i)&&n((0,a.unref)(t)+1)})]}function eF(e,t){let n=(e,n)=>typeof t.value==`function`?t.value(e,n):t&&t.value?.[e.role]||{};return(0,a.computed)(()=>(e.value||[]).map((e,t)=>{let r=e.key??`preset_${t}`;return{...n(e,t),...e,key:r}}))}var tF=1,nF=JD((0,a.defineComponent)({name:`AXBubbleList`,inheritAttrs:!1,__name:`BubbleList`,props:(0,a.mergeDefaults)({prefixCls:{type:String,required:!1},rootClassName:{type:String,required:!1},items:{type:Array,required:!1},autoScroll:{type:Boolean,required:!1},roles:{required:!1},onScroll:{type:Function,required:!1}},{autoScroll:!0}),setup(e,{expose:t}){let n=qD(e,[`prefixCls`,`rootClassName`,`items`,`autoScroll`,`roles`,`onScroll`]);(0,a.toRef)(e,`roles`),(0,a.toRef)(e,`items`),(0,a.toRef)(e,`prefixCls`);let r=(0,a.useAttrs)(),i=(0,a.useSlots)(),o=(0,a.computed)(()=>QP((0,a.mergeProps)(n,r),{attr:!0,aria:!0})),s=(0,a.ref)(e.items),c=(0,a.ref)(e.roles);(0,a.watch)(()=>e.items,()=>{s.value=e.items}),(0,a.watch)(()=>e.roles,()=>{c.value=e.roles});let l=(0,a.ref)(null),u=(0,a.ref)({}),{getPrefixCls:d}=KD(),f=d(`bubble`,e.prefixCls),p=`${f}-list`,[m,h,g]=BP(f),[_,v]=lO(!1);(0,a.watchPostEffect)(()=>{v(!0),(0,a.onWatcherCleanup)(()=>{v(!1)})});let[y,b]=$P(eF(s,c)),[x,S]=lO(!0),[C,w]=lO(0),T=t=>{var n;let r=t.target;S(r.scrollHeight-Math.abs(r.scrollTop)-r.clientHeight<=tF),(n=e.onScroll)==null||n.call(e,t)};(0,a.watch)([C,l,x],()=>{e.autoScroll&&(0,a.unref)(l)&&(0,a.unref)(x)&&(0,a.nextTick)(()=>{(0,a.unref)(l).scrollTo({top:(0,a.unref)(l).scrollHeight})})}),(0,a.watch)(()=>(0,a.unref)(y).length,()=>{if(e.autoScroll){let e=(0,a.unref)(y)[(0,a.unref)(y).length-2]?.key,t=(0,a.unref)(u)[e];if(t){let{nativeElement:e}=t,{top:n=0,bottom:r=0}=e?.getBoundingClientRect()??{},{top:i,bottom:o}=(0,a.unref)(l).getBoundingClientRect();n<o&&r>i&&(w((0,a.unref)(C)+1),S(!0))}}});let E=qP(()=>{e.autoScroll&&w((0,a.unref)(C)+1)}),D=(0,a.computed)(()=>({onUpdate:E}));return t({nativeElement:l,scrollTo:({key:e,offset:t,behavior:n=`smooth`,block:r})=>{if(typeof t==`number`)(0,a.unref)(l).scrollTo({top:t,behavior:n});else if(e!==void 0){let t=(0,a.unref)(u)[e];if(t){let i=(0,a.unref)(y).findIndex(t=>t.key===e);S(i===(0,a.unref)(y).length-1),t.nativeElement.scrollIntoView({behavior:n,block:r})}}}}),()=>m((0,a.createVNode)(GP,{value:D.value},{default:()=>[(0,a.createVNode)(`div`,(0,a.mergeProps)(o.value,{class:$(p,e.rootClassName,h.value,g,{[`${p}-reach-end`]:x.value}),ref:l,onScroll:T}),[(0,a.renderList)((0,a.unref)(y),({key:e,onTypingComplete:t,...n})=>(0,a.createVNode)(KP,(0,a.mergeProps)(n,{avatar:i.avatar?()=>i.avatar?.call(i,{item:{key:e,...n}}):n.avatar,header:i.header?.call(i,{item:{key:e,...n}})??n.header,footer:i.footer?.call(i,{item:{key:e,...n}})??n.footer,loadingRender:i.loading?()=>i.loading({item:{key:e,...n}}):n.loadingRender,content:i.message?.call(i,{item:{key:e,...n}})??n.content,key:e,_key:e,ref:t=>{t?u.value[e]=t:delete u.value[e]},typing:_.value?n.typing:!1,onTypingComplete:()=>{t?.(),b(e)}}),null))])]}))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/bubble/BubbleList.vue`]]),rF=JD((0,a.defineComponent)({name:`AXConversationsItem`,__name:`ConversationsItem`,props:{info:{type:Object,required:!0},prefixCls:{type:String,required:!1},direction:{required:!1},menu:{type:Object,required:!1},active:{type:Boolean,required:!1},onClick:{type:Function,required:!1}},setup(e,{expose:t}){t();let n=qD(e,[`prefixCls`,`info`,`class`,`direction`,`onClick`,`active`,`menu`]);(0,a.toRef)(e,`class`);let r=(0,a.computed)(()=>QP(n,{aria:!0,data:!0,attr:!0})),i=e=>{e.stopPropagation()},o=(0,a.computed)(()=>e.info.disabled),[s,c]=lO(!1),[l,u]=lO(!1),d=(0,a.computed)(()=>$(e.class,`${e.prefixCls}-item`,{[`${e.prefixCls}-item-active`]:e.active&&!o.value},{[`${e.prefixCls}-item-disabled`]:o.value})),f=()=>{!o.value&&e.onClick&&e.onClick(e.info)},p=e=>{e&&u(!e)},m=(0,a.computed)(()=>e.menu?.trigger),h=(0,a.computed)(()=>{let{trigger:t,...n}=e.menu||{};return n}),g=(0,a.computed)(()=>h.value?.getPopupContainer),_=t=>{let n=(0,a.createVNode)(Rj,{onClick:i,class:`${e.prefixCls}-menu-icon`},null);return m.value?typeof m.value==`function`?m.value(t,{originNode:n}):m.value:n};return()=>(0,a.createVNode)(Dp,{title:e.info.label,open:s.value&&l.value,onOpenChange:u,placement:e.direction===`rtl`?`left`:`right`},{default:()=>[(0,a.createVNode)(`li`,(0,a.mergeProps)(r.value,{class:d.value,onClick:f}),[e.info.icon&&(0,a.createVNode)(`div`,{class:`${e.prefixCls}-icon`},[e.info.icon]),(0,a.createVNode)(zT.Text,{class:`${e.prefixCls}-label`,ellipsis:{onEllipsis:c}},{default:()=>[e.info.label]}),!o.value&&e.menu&&(0,a.createVNode)(hx,{placement:e.direction===`rtl`?`bottomLeft`:`bottomRight`,trigger:[`click`],disabled:o.value,onOpenChange:p,getPopupContainer:g.value},{default:()=>_(e.info),overlay:()=>(0,a.createVNode)(wg,h.value,null)})])]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/ConversationsItem.vue`]]),iF=Symbol(`GroupTitleContext`),aF=(0,a.shallowRef)(),oF=e=>{(0,a.provide)(iF,e),(0,a.watch)(e,()=>{aF.value=(0,a.unref)(e),(0,a.triggerRef)(aF)},{immediate:!0,deep:!0})},sF=()=>(0,a.inject)(iF,(0,a.computed)(()=>aF.value||{})),cF=(0,a.defineComponent)({props:{value:ZD()},setup(e,{slots:t}){return oF((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),lF=JD((0,a.defineComponent)({name:`AXConversationsGroupTitle`,__name:`GroupTitle`,setup(e,{expose:t}){t();let n=(0,a.useSlots)(),r=sF(),i=(0,a.computed)(()=>n.default?.call(n));return()=>(0,a.createVNode)(`div`,{class:$(`${r.value.prefixCls}-group-title`)},[i.value&&(0,a.createVNode)(zT.Text,null,{default:()=>[i.value]})])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/GroupTitle.vue`]]);function uF(e,t){let{defaultValue:n,value:r=(0,a.ref)()}=t||{},i=typeof e==`function`?e():e;r.value!==void 0&&(i=(0,a.unref)(r)),n!==void 0&&(i=typeof n==`function`?n():n);let o=(0,a.ref)(i),s=(0,a.ref)(i);(0,a.watchEffect)(()=>{let e=r.value===void 0?o.value:r.value;t.postState&&(e=t.postState(e)),s.value=e});function c(e){let n=s.value;o.value=e,(0,a.toRaw)(s.value)!==e&&t.onChange&&t.onChange(e,n)}return(0,a.watch)(r,()=>{o.value=r.value}),[s,c]}var dF=`__ungrouped`,fF=(e,t=[])=>{let n=(0,a.computed)(()=>{if(!(0,a.toValue)(e))return{enableGroup:!1,sort:void 0,title:void 0};let t={sort:void 0,title:void 0};return typeof(0,a.toValue)(e)==`object`&&(t={...t,...(0,a.toValue)(e)}),{enableGroup:!0,sort:t.sort,title:t.title}});return(0,a.computed)(()=>{if(!n.value.enableGroup)return{groupList:[{name:dF,data:(0,a.toValue)(t),title:void 0}],enableGroup:n.value.enableGroup};let e=(0,a.toValue)(t).reduce((e,t)=>{let n=t.group||dF;return e[n]||(e[n]=[]),e[n].push(t),e},{});return{groupList:(n.value.sort?Object.keys(e).sort(n.value.sort):Object.keys(e)).map(t=>({name:t===dF?void 0:t,title:n.value.title,data:e[t]})),enableGroup:n.value.enableGroup}})},pF=e=>{let{componentCls:t}=e;return{[t]:{display:`flex`,flexDirection:`column`,gap:e.paddingXXS,overflowY:`auto`,padding:e.paddingSM,[`&${t}-rtl`]:{direction:`rtl`},[`& ${t}-list`]:{display:`flex`,gap:e.paddingXXS,flexDirection:`column`,paddingLeft:0,[`& ${t}-item`]:{paddingInlineStart:e.paddingXL},[`& ${t}-label`]:{color:e.colorTextDescription}},[`& ${t}-item`]:{display:`flex`,height:e.controlHeightLG,minHeight:e.controlHeightLG,gap:e.paddingXS,padding:`0 ${_N(e.paddingXS)}`,alignItems:`center`,borderRadius:e.borderRadiusLG,cursor:`pointer`,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,"&:hover":{backgroundColor:e.colorBgTextHover},"&-active":{backgroundColor:e.colorBgTextHover,[`& ${t}-label, ${t}-menu-icon`]:{color:e.colorText}},"&-disabled":{cursor:`not-allowed`,[`& ${t}-label`]:{color:e.colorTextDisabled}},"&:hover, &-active":{[`& ${t}-menu-icon`]:{opacity:1}}},[`& ${t}-label`]:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,color:e.colorText},[`& ${t}-menu-icon`]:{opacity:0,fontSize:e.fontSizeXL},[`& ${t}-group-title`]:{display:`flex`,alignItems:`center`,height:e.controlHeightLG,minHeight:e.controlHeightLG,padding:`0 ${_N(e.paddingXS)}`}}}},mF=jP(`Conversations`,e=>pF(wN(e,{})),()=>({})),hF=JD((0,a.defineComponent)({name:`AXConversations`,__name:`Conversations`,props:(0,a.mergeDefaults)({items:{type:Array,required:!1},activeKey:{type:String,required:!1},defaultActiveKey:{type:String,required:!1},onActiveChange:{type:Function,required:!1},menu:{type:Function,skipCheck:!0,required:!1},groupable:{required:!1},styles:{type:Object,required:!1},classNames:{type:Object,required:!1},prefixCls:{type:String,required:!1},rootClassName:{type:String,required:!1}},{styles:()=>({}),classNames:()=>({})}),setup(e,{expose:t}){t();let n=qD(e,[`prefixCls`,`rootClassName`,`items`,`activeKey`,`defaultActiveKey`,`onActiveChange`,`menu`,`styles`,`classNames`,`groupable`,`class`,`style`]);(0,a.toRef)(e,`class`),(0,a.toRef)(e,`activeKey`),(0,a.toRef)(e,`prefixCls`);let r=(0,a.ref)(e.activeKey),i=(0,a.computed)(()=>QP(n,{attr:!0,aria:!0,data:!0})),[o,s]=uF(e.defaultActiveKey,{value:r});(0,a.watch)(()=>e.activeKey,()=>{r.value=e.activeKey});let c=fF(()=>e.groupable,()=>e.items),{getPrefixCls:l,direction:u}=KD(),d=(0,a.computed)(()=>l(`conversations`,e.prefixCls)),f=cO(`conversations`),[p,m,h]=mF(d),g=(0,a.computed)(()=>$(d.value,f.value.className,e.class,e.rootClassName,m.value,h,{[`${d.value}-rtl`]:u.value===`rtl`})),_=t=>{s(t.key),e.onActiveChange&&e.onActiveChange(t.key)};return()=>p((0,a.createVNode)(`ul`,(0,a.mergeProps)(i.value,{style:{...typeof f.value.style==`object`?f.value.style:{},...typeof e.style==`object`?e.style:{}},class:g.value}),[c.value.groupList.map((t,n)=>{let r=t.data.map((t,n)=>(0,a.createVNode)(rF,{key:t.key||`key-${n}`,info:t,prefixCls:d.value,direction:u.value,class:$(e.classNames.item,f.value.classNames.item),style:{...f.value.styles.item,...e.styles.item},menu:typeof e.menu==`function`?e.menu(t):e.menu,active:o.value===t.key,onClick:_},null));return c.value.enableGroup?(0,a.createVNode)(`li`,{key:t.name||`key-${n}`},[(0,a.createVNode)(cF,{value:{prefixCls:d.value}},{default:()=>[t.title?.call(t,t.name,{components:{GroupTitle:lF}})||(0,a.createVNode)(lF,{key:t.name},{default:()=>[t.name]})]}),(0,a.createVNode)(`ul`,{class:`${d.value}-list`},[r])]):r})]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/Conversations.vue`]]),gF=Symbol(`SenderHeaderContext`),_F=(0,a.shallowRef)(),vF=e=>{(0,a.provide)(gF,e),(0,a.watch)(e,()=>{_F.value=(0,a.unref)(e),(0,a.triggerRef)(_F)},{immediate:!0,deep:!0})},yF=()=>(0,a.inject)(gF,(0,a.computed)(()=>_F.value||{})),bF=(0,a.defineComponent)({props:{value:ZD()},setup(e,{slots:t}){return vF((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),xF=Symbol(`ActionButtonContext`),SF=(0,a.shallowRef)(),CF=e=>{(0,a.provide)(xF,e),(0,a.watch)(e,()=>{SF.value=(0,a.unref)(e),(0,a.triggerRef)(SF)},{immediate:!0,deep:!0})},wF=()=>(0,a.inject)(xF,(0,a.computed)(()=>SF.value||{})),TF=(0,a.defineComponent)({props:{value:ZD()},setup(e,{slots:t}){return CF((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),EF=JD((0,a.defineComponent)({name:`AXSenderActionButton`,__name:`index`,props:{action:{type:String,required:!0},prefixCls:{type:String,required:!1},type:{type:null,required:!1,default:`text`},htmlType:{type:null,required:!1},shape:{type:null,required:!1},size:{type:null,required:!1},loading:{type:[Boolean,Object],required:!1},disabled:{type:Boolean,required:!1,default:void 0},ghost:{type:Boolean,required:!1},block:{type:Boolean,required:!1},danger:{type:Boolean,required:!1},icon:{type:null,required:!1},href:{type:String,required:!1},target:{type:String,required:!1},title:{type:String,required:!1},onClick:{type:null,required:!1},onMousedown:{type:null,required:!1},audioIcon:{type:[null,Object],required:!1},audioDisabledIcon:{type:[null,Object],required:!1},audioRecordingIcon:{type:[null,Object],required:!1}},setup(e,{expose:t}){t();let n=qD(e,[`action`,`type`,`disabled`,`onClick`]);(0,a.toRef)(e,`disabled`);let r=(0,a.useSlots)(),i=wF(),o=(0,a.computed)(()=>{let t=i.value.disabled,n=i.value?.[`${e.action}Disabled`];return e.disabled??t??n}),s=(0,a.computed)(()=>i.value.prefixCls);return()=>(0,a.createVNode)(th,(0,a.mergeProps)({type:e.type},n,{onClick:t=>{var n,r;o.value||((r=(n=i.value)?.[e.action])==null||r.call(n),e.onClick&&!Array.isArray(e.onClick)&&e.onClick(t))},class:$(s.value,{[`${s.value}-disabled`]:o.value})}),{icon:()=>r.default()})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/ActionButton/index.vue`]]),DF=JD((0,a.defineComponent)({name:`AXSenderClearButton`,__name:`ClearButton`,props:(0,a.mergeDefaults)({prefixCls:{type:null,required:!1},type:{type:null,required:!1},htmlType:{type:null,required:!1},shape:{type:null,required:!1},size:{type:null,required:!1},loading:{type:null,required:!1},disabled:{type:null,required:!1},ghost:{type:null,required:!1},block:{type:null,required:!1},danger:{type:null,required:!1},icon:{type:null,required:!1},href:{type:null,required:!1},target:{type:null,required:!1},title:{type:null,required:!1},onClick:{type:null,required:!1},onMousedown:{type:null,required:!1},audioIcon:{required:!1},audioDisabledIcon:{required:!1},audioRecordingIcon:{required:!1}},{disabled:void 0}),setup(e,{expose:t}){t();let n=qD(e,[`disabled`]);return()=>(0,a.createVNode)(EF,(0,a.mergeProps)({disabled:e.disabled},n,{action:`onClear`}),{default:()=>[(0,a.createVNode)(Ej,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/ClearButton.vue`]]),OF=JD((0,a.defineComponent)({name:`AXSenderStopLoading`,__name:`StopLoading`,props:{className:{type:String,required:!0}},setup(e,{expose:t}){t();let n=e;return()=>(0,a.createVNode)(`svg`,{color:`currentColor`,viewBox:`0 0 1000 1000`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,class:n.className},[(0,a.createVNode)(`title`,null,[(0,a.createTextVNode)(`Stop Loading`)]),(0,a.createVNode)(`rect`,{fill:`currentColor`,height:`250`,rx:`24`,ry:`24`,width:`250`,x:`375`,y:`375`},null),(0,a.createVNode)(`circle`,{cx:`500`,cy:`500`,fill:`none`,r:`450`,stroke:`currentColor`,"stroke-width":`100`,opacity:`0.45`},null),(0,a.createVNode)(`circle`,{cx:`500`,cy:`500`,fill:`none`,r:`450`,stroke:`currentColor`,"stroke-width":`100`,"stroke-dasharray":`600 9999999`},[(0,a.createVNode)(`animateTransform`,{attributeName:`transform`,dur:`1s`,from:`0 500 500`,repeatCount:`indefinite`,to:`360 500 500`,type:`rotate`},null)])])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/StopLoading.vue`]]),kF=JD((0,a.defineComponent)({name:`AXSenderLoadingButton`,__name:`LoadingButton`,props:(0,a.mergeDefaults)({prefixCls:{type:null,required:!1},type:{type:null,required:!1},htmlType:{type:null,required:!1},shape:{type:null,required:!1},size:{type:null,required:!1},loading:{type:null,required:!1},disabled:{type:null,required:!1},ghost:{type:null,required:!1},block:{type:null,required:!1},danger:{type:null,required:!1},icon:{type:null,required:!1},href:{type:null,required:!1},target:{type:null,required:!1},title:{type:null,required:!1},onClick:{type:null,required:!1},onMousedown:{type:null,required:!1},audioIcon:{required:!1},audioDisabledIcon:{required:!1},audioRecordingIcon:{required:!1}},{type:`primary`,shape:`circle`,icon:void 0,disabled:void 0}),setup(e,{expose:t}){t();let n=qD(e,[`type`,`shape`,`icon`,`disabled`]),r=wF(),{token:i}=UD.useToken();return()=>(0,a.createVNode)(EF,(0,a.mergeProps)({type:e.type,disabled:e.disabled,shape:e.shape,icon:e.icon},n,{style:{backgroundColor:`transparent`,color:i.value.colorPrimary},class:$(`${r.value.prefixCls}-loading-button`),action:`onCancel`}),{default:()=>[(0,a.createVNode)(OF,{className:`${r.value.prefixCls}-loading-icon`},null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/LoadingButton.vue`]]),AF=JD((0,a.defineComponent)({name:`AXSenderLoadingButton`,__name:`SendButton`,props:(0,a.mergeDefaults)({prefixCls:{type:null,required:!1},type:{type:null,required:!1},htmlType:{type:null,required:!1},shape:{type:null,required:!1},size:{type:null,required:!1},loading:{type:null,required:!1},disabled:{type:null,required:!1},ghost:{type:null,required:!1},block:{type:null,required:!1},danger:{type:null,required:!1},icon:{type:null,required:!1},href:{type:null,required:!1},target:{type:null,required:!1},title:{type:null,required:!1},onClick:{type:null,required:!1},onMousedown:{type:null,required:!1},audioIcon:{required:!1},audioDisabledIcon:{required:!1},audioRecordingIcon:{required:!1}},{type:`primary`,shape:`circle`,disabled:void 0}),setup(e,{expose:t}){t();let n=qD(e,[`type`,`shape`,`disabled`]);return()=>(0,a.createVNode)(EF,(0,a.mergeProps)({type:e.type,shape:e.shape,disabled:e.disabled},n,{action:`onSend`}),{default:()=>[(0,a.createVNode)(mj,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SendButton.vue`]]),jF=1e3,MF=4,NF=140,PF=250,FF=500,IF=.8,LF=JD((0,a.defineComponent)({name:`AXSenderRecordingIcon`,__name:`RecordingIcon`,props:{className:{type:String,required:!1},audioIcon:{type:null,required:!1},audioDisabledIcon:{type:null,required:!1},audioRecordingIcon:{type:null,required:!1}},setup(e,{expose:t}){t();let n=NF/2;return()=>(0,a.createVNode)(`svg`,{color:`currentColor`,viewBox:`0 0 ${jF} ${jF}`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,class:e.className},[(0,a.createVNode)(`title`,null,[(0,a.createTextVNode)(`Speech Recording`)]),Array.from({length:MF}).map((e,t)=>{let r=t*286.66666666666663,i=jF/2-PF/2,o=jF/2-FF/2;return(0,a.createVNode)(`rect`,{fill:`currentColor`,rx:n,ry:n,height:PF,width:NF,x:r,y:i,key:t},[(0,a.createVNode)(`animate`,{attributeName:`height`,values:`${PF}; ${FF}; ${PF}`,keyTimes:`0; 0.5; 1`,dur:`${IF}s`,begin:`${IF/MF*t}s`,repeatCount:`indefinite`},null),(0,a.createVNode)(`animate`,{attributeName:`y`,values:`${i}; ${o}; ${i}`,keyTimes:`0; 0.5; 1`,dur:`${IF}s`,begin:`${IF/MF*t}s`,repeatCount:`indefinite`},null)])})])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SpeechButton/RecordingIcon.vue`]]),RF=JD((0,a.defineComponent)({name:`AXSenderSpeechButton`,__name:`index`,props:(0,a.mergeDefaults)({prefixCls:{type:null,required:!1},type:{type:null,required:!1},htmlType:{type:null,required:!1},shape:{type:null,required:!1},size:{type:null,required:!1},loading:{type:null,required:!1},disabled:{type:null,required:!1},ghost:{type:null,required:!1},block:{type:null,required:!1},danger:{type:null,required:!1},icon:{type:null,required:!1},href:{type:null,required:!1},target:{type:null,required:!1},title:{type:null,required:!1},onClick:{type:null,required:!1},onMousedown:{type:null,required:!1},audioIcon:{required:!1},audioDisabledIcon:{required:!1},audioRecordingIcon:{required:!1}},{type:`text`,disabled:void 0,audioIcon:()=>(0,a.createVNode)(Sj,null,null),audioDisabledIcon:()=>(0,a.createVNode)(vj,null,null),audioRecordingIcon:void 0}),setup(e,{expose:t}){t();let n=qD(e,[`type`,`disabled`,`audioIcon`,`audioDisabledIcon`,`audioRecordingIcon`]),r=wF(),{token:i}=UD.useToken(),o=(0,a.computed)(()=>r.value.speechRecording),s=(0,a.computed)(()=>r.value.prefixCls),c=(0,a.computed)(()=>{let t;return t=o.value?e.audioRecordingIcon?e.audioRecordingIcon:(0,a.createVNode)(LF,{className:`${s.value}-recording-icon`},null):r.value.onSpeechDisabled?e.audioDisabledIcon:e.audioIcon,t});return()=>(0,a.createVNode)(EF,(0,a.mergeProps)({type:e.type,disabled:e.disabled},n,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,color:i.value.colorPrimary},action:`onSpeech`}),{default:()=>[c.value]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SpeechButton/index.vue`]]),zF=JD((0,a.defineComponent)({name:`AXTransitionCollapse`,__name:`TransitionCollapse`,props:{prefixCls:{type:String,required:!1,default:`ax`}},setup(e,{expose:t}){t();let n=e,r=(0,a.useSlots)(),i=(0,a.computed)(()=>n.prefixCls+`-transition-collapse`),o={beforeEnter(e){e.dataset||={},e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.style.maxHeight=`0`,e.style.paddingTop=`0`,e.style.paddingBottom=`0`},enter(e){e.dataset.oldOverflow=e.style.overflow,e.scrollHeight===0?(e.style.maxHeight=`${e.dataset.oldMaxHeight||`999`}px`,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom):(e.style.maxHeight=`${e.scrollHeight}px`,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom),e.style.overflow=`hidden`},afterEnter(e){e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow},beforeLeave(e){e.dataset||={},e.dataset.oldMaxHeight=e.scrollHeight,e.dataset.oldPaddingTop=e.style.paddingTop,e.dataset.oldPaddingBottom=e.style.paddingBottom,e.dataset.oldOverflow=e.style.overflow,e.style.overflow=`hidden`,e.style.maxHeight=`${e.scrollHeight}px`},leave(e){e.scrollHeight!==0&&(e.style.maxHeight=`0`,e.style.paddingTop=`0`,e.style.paddingBottom=`0`)},afterLeave(e){e.style.maxHeight=``,e.style.overflow=e.dataset.oldOverflow,e.style.paddingTop=e.dataset.oldPaddingTop,e.style.paddingBottom=e.dataset.oldPaddingBottom}};return()=>(0,a.createVNode)(a.Transition,{name:i.value,onBeforeEnter:o.beforeEnter,onEnter:o.enter,onAfterEnter:o.afterEnter,onBeforeLeave:o.beforeLeave,onLeave:o.leave,onAfterLeave:o.afterLeave},{default:()=>[r.default?.call(r)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/transition-collapse/TransitionCollapse.vue`]]),BF=e=>{let{componentCls:t}=e,n=`${t}-transition-collapse`;return{[t]:{[n]:{"&-enter-active":{transition:[`max-height`,`padding-top`,`padding-bottom`].map(t=>`${t} ${e.motionDurationSlow} ${e.motionEaseInOut}`).join(`,`)},"&-leave-active":{transition:[`max-height`,`padding-top`,`padding-bottom`].map(t=>`${t} ${e.motionDurationSlow} ${e.motionEaseInOut}`).join(`,`)}}}}},VF=e=>{let{componentCls:t,calc:n}=e,r=`${t}-header`;return{[t]:{[r]:{borderBottomWidth:e.lineWidth,borderBottomStyle:`solid`,borderBottomColor:e.colorBorder,"&-header":{background:e.colorFillAlter,fontSize:e.fontSize,lineHeight:e.lineHeight,paddingBlock:n(e.paddingSM).sub(e.lineWidthBold).equal(),paddingInlineStart:e.padding,paddingInlineEnd:e.paddingXS,display:`flex`,borderRadius:{_skip_check_:!0,value:n(e.borderRadius).mul(2).equal()},borderBottomRightRadius:0,borderBottomLeftRadius:0,[`${r}-title`]:{flex:`auto`}},"&-content":{padding:e.padding},"&-motion":{transition:[`height`,`border`].map(t=>`${t} ${e.motionDurationSlow}`).join(`,`),overflow:`hidden`,"&-enter-start, &-leave-active":{borderBottomColor:`transparent`},"&-hidden":{display:`none`}}}}}},HF=e=>{let{componentCls:t,padding:n,paddingSM:r,paddingXS:i,paddingXXS:a,lineWidth:o,lineWidthBold:s,calc:c}=e;return{[t]:{position:`relative`,width:`100%`,boxSizing:`border-box`,boxShadow:`${e.boxShadowTertiary}`,transition:`background ${e.motionDurationSlow}`,borderRadius:{_skip_check_:!0,value:c(e.borderRadius).mul(2).equal()},borderColor:e.colorBorder,borderWidth:0,borderStyle:`solid`,"&:after":{content:`""`,position:`absolute`,inset:0,pointerEvents:`none`,transition:`border-color ${e.motionDurationSlow}`,borderRadius:{_skip_check_:!0,value:`inherit`},borderStyle:`inherit`,borderColor:`inherit`,borderWidth:o},"&:focus-within":{boxShadow:`${e.boxShadowSecondary}`,borderColor:e.colorPrimary,"&:after":{borderWidth:s}},"&-disabled":{background:e.colorBgContainerDisabled},[`&${t}-rtl`]:{direction:`rtl`},[`${t}-content`]:{display:`flex`,gap:i,width:`100%`,paddingBlock:r,paddingInlineStart:n,paddingInlineEnd:r,boxSizing:`border-box`,alignItems:`flex-end`},[`${t}-prefix`]:{flex:`none`},[`${t}-input`]:{padding:0,borderRadius:0,flex:`auto`,alignSelf:`center`,minHeight:`auto`},[`${t}-actions-list`]:{flex:`none`,display:`flex`,"&-presets":{gap:e.paddingXS}},[`${t}-actions-btn`]:{"&-disabled":{opacity:.45},"&-loading-button":{padding:0,border:0},"&-loading-icon":{height:e.controlHeight,width:e.controlHeight,verticalAlign:`top`},"&-recording-icon":{height:`1.2em`,width:`1.2em`,verticalAlign:`top`}},[`${t}-footer`]:{paddingInlineStart:n,paddingInlineEnd:r,paddingBlockEnd:r,paddingBlockStart:a,boxSizing:`border-box`}}}},UF=jP(`Sender`,e=>{let{paddingXS:t,calc:n}=e,r=wN(e,{SenderContentMaxWidth:`calc(100% - ${_N(n(t).add(32).equal())})`});return[HF(r),VF(r),BF(r)]},()=>({})),WF;!WF&&typeof window<`u`&&(WF=window.SpeechRecognition||window.webkitSpeechRecognition);function GF(e,t){let n=e,r=(0,a.computed)(()=>{let e=(0,a.toValue)(t);return typeof e==`object`?{controlledRecording:e.recording,onControlledRecordingChange:e.onRecordingChange,speechInControlled:typeof e.recording==`boolean`}:{controlledRecording:void 0,onControlledRecordingChange:void 0,speechInControlled:!1}}),i=(0,a.computed)(()=>r.value.controlledRecording),o=(0,a.computed)(()=>r.value.onControlledRecordingChange),s=(0,a.computed)(()=>r.value.speechInControlled),c=(0,a.ref)(null);(0,a.watchEffect)(()=>{if(typeof navigator<`u`&&`permissions`in navigator){let e=null;navigator.permissions.query({name:`microphone`}).then(t=>{c.value=t.state,t.onchange=function(){c.value=this.state},e=t}),(0,a.onWatcherCleanup)(()=>{e&&(e.onchange=null)})}});let l=(0,a.computed)(()=>WF&&c.value!==`denied`),u=(0,a.ref)(null),[d,f]=uF(!1,{value:i}),p=(0,a.ref)(!1),m=()=>{if(l.value&&!u.value){let e=new WF;e.onstart=()=>{f(!0)},e.onend=()=>{f(!1)},e.onresult=e=>{if(!p.value){let t=e.results?.[0]?.[0]?.transcript;n(t)}p.value=!1},u.value=e}};return{speechPermission:l,triggerSpeech:e=>{var t,n,r;e&&!d.value||(p.value=e,s.value?(t=o.value)==null||t.call(o,!d.value):(m(),u.value&&(d.value?(u.value.stop(),(n=o.value)==null||n.call(o,!1)):(u.value.start(),(r=o.value)==null||r.call(o,!0)))))},recording:d}}function KF(e,t){for(var n=e,r=0;r<t.length;r+=1){if(n==null)return;n=n[t[r]]}return n}var qF=JD((0,a.defineComponent)({name:`AXSender`,__name:`Sender`,props:(0,a.mergeDefaults)({onKeyPress:{type:Function,required:!1},onFocus:{type:null,required:!1},onBlur:{type:null,required:!1},prefixCls:{type:String,required:!1},defaultValue:{type:String,required:!1},value:{type:String,required:!1},loading:{type:Boolean,required:!1},placeholder:{type:null,required:!1},readOnly:{type:Boolean,required:!1},submitType:{type:[String,Boolean],required:!1},disabled:{type:Boolean,required:!1},sendDisabled:{type:Boolean,required:!1},onSubmit:{type:Function,required:!1},onChange:{type:Function,required:!1},onCancel:{required:!1},onKeyDown:{type:Function,required:!1},onPaste:{type:Function,required:!1},onPasteFile:{type:Function,required:!1},components:{type:Object,required:!1},styles:{type:Object,required:!1},rootClassName:{type:String,required:!1},classNames:{type:Object,required:!1},style:{required:!1},className:{type:String,required:!1},actions:{type:[Function,Boolean],skipCheck:!0,required:!1},allowSpeech:{required:!1},prefix:{type:Function,skipCheck:!0,required:!1},footer:{type:Function,skipCheck:!0,required:!1},header:{type:Function,skipCheck:!0,required:!1},autoSize:{required:!1}},{styles:()=>({}),classNames:()=>({}),submitType:`enter`,actions:void 0,disabled:void 0,autoSize:()=>({maxRows:8})}),emits:[`update:value`],setup(e,{expose:t,emit:n}){let r=qD(e,`prefixCls.styles.classNames.className.rootClassName.style.defaultValue.value.placeholder.readOnly.submitType.onSubmit.sendDisabled.loading.components.onCancel.onChange.actions.onKeyPress.onKeyDown.disabled.allowSpeech.prefix.footer.header.onPaste.onPasteFile.autoSize`.split(`.`));(0,a.toRef)(e,`prefixCls`);function i(e,t,n){return KF(e,t)||n}let o={SendButton:AF,ClearButton:DF,LoadingButton:kF,SpeechButton:RF},s=n,c=(0,a.useSlots)(),{direction:l,getPrefixCls:u}=KD(),d=(0,a.computed)(()=>u(`sender`,e.prefixCls)),f=(0,a.ref)(null),p=(0,a.ref)(null),m=cO(`sender`),h=(0,a.computed)(()=>`${d.value}-input`),[g,_,v]=UF(d.value),y=(0,a.computed)(()=>$(d.value,m.value.className,e.className,e.rootClassName,_.value,v,{[`${d.value}-rtl`]:l.value===`rtl`,[`${d.value}-disabled`]:e.disabled})),b=(0,a.computed)(()=>`${d.value}-actions-btn`),x=(0,a.computed)(()=>`${d.value}-actions-list`),S=(0,a.ref)(e.value??e.defaultValue??``),C=e=>{S.value=e};(0,a.watch)(()=>e.value,()=>{C(e.value)});let w=(t,n)=>{C(t),s(`update:value`,t),e.onChange&&e.onChange(t,n)},{speechPermission:T,triggerSpeech:E,recording:D}=GF(e=>{w(`${S.value} ${e}`)},()=>e.allowSpeech),O=i(e.components,[`input`],uS.TextArea),k=(0,a.computed)(()=>QP(r,{attr:!0,aria:!0,data:!0})),A=(0,a.computed)(()=>({...k.value,ref:p})),j=()=>{(e.sendDisabled===void 0?S.value&&!e.loading:!e.sendDisabled)&&e.onSubmit&&e.onSubmit(S.value)},M=()=>{w(``)},N=(0,a.ref)(!1),P=()=>{N.value=!0},F=()=>{N.value=!1},I=t=>{let n=t.key===`Enter`&&!N.value;switch(e.submitType){case`enter`:n&&!t.shiftKey&&(t.preventDefault(),j());break;case`shiftEnter`:n&&t.shiftKey&&(t.preventDefault(),j());break}e.onKeyPress&&e.onKeyPress(t)},L=t=>{var n;let r=t.clipboardData?.files;r!=null&&r.length&&e.onPasteFile&&(e.onPasteFile(r[0],r),t.preventDefault()),(n=e.onPaste)==null||n.call(e,t)},R=e=>{var t;e.target!==f.value?.querySelector(`.${h.value}`)&&e.preventDefault(),(t=p.value)==null||t.focus()},ee=(0,a.computed)(()=>{let t=(0,a.createVNode)(PD,{class:`${x.value}-presets`},{default:()=>[e.allowSpeech&&(0,a.createVNode)(RF,typeof e.allowSpeech==`object`?{audioIcon:e.allowSpeech.audioIcon,audioDisabledIcon:e.allowSpeech.audioDisabledIcon,audioRecordingIcon:e.allowSpeech.audioRecordingIcon}:{},null),e.loading?(0,a.createVNode)(kF,null,null):(0,a.createVNode)(AF,null,null)]}),n={components:o};return c.actions?t=c.actions({ori:t,info:n}):typeof e.actions==`function`?t=e.actions(t,n):(e.actions||e.actions===!1)&&(t=e.actions),t}),te=(0,a.computed)(()=>({prefixCls:b.value,onSend:j,onSendDisabled:e.sendDisabled===void 0?!S.value:e.sendDisabled,onClear:M,onClearDisabled:!S.value,onCancel:e.onCancel,onCancelDisabled:!e.loading,onSpeech:()=>E(!1),onSpeechDisabled:!T.value,speechRecording:D.value,disabled:e.disabled})),ne=(0,a.computed)(()=>{let t=null,n={components:o};return c.footer?t=c.footer({info:n}):typeof e.footer==`function`?t=e.footer({components:o}):e.footer&&(t=e.footer),t}),z=(0,a.computed)(()=>c.header?c.header():typeof e.header==`function`?e.header():e.header),re=(0,a.computed)(()=>c.prefix?c.prefix():typeof e.prefix==`function`?e.prefix():e.prefix);return t({nativeElement:f.value,focus:e=>p.value?.focus(e),blur:()=>p.value?.blur()}),()=>g((0,a.createVNode)(`div`,{ref:f,class:y.value,style:{...m.value.style,...e.style}},[z.value&&(0,a.createVNode)(bF,{value:{prefixCls:d.value}},{default:()=>[z.value]}),(0,a.createVNode)(TF,{value:te.value},{default:()=>[(0,a.createVNode)(`div`,{class:`${d.value}-content`,onMousedown:R},[re.value&&(0,a.createVNode)(`div`,{class:$(`${d.value}-prefix`,m.value.classNames.prefix,e.classNames.prefix),style:{...m.value.styles.prefix,...e.styles.prefix}},[re.value]),(0,a.createVNode)(O,(0,a.mergeProps)(A.value,{disabled:e.disabled,style:{...m.value.styles.input,...e.styles.input},class:$(h.value,m.value.classNames.input,e.classNames.input),autoSize:e.autoSize,value:S.value,onChange:e=>{w(e.target.value,e),E(!0)},onPressEnter:I,onCompositionstart:P,onCompositionend:F,onKeydown:e.onKeyDown,placeholder:e.placeholder,onPaste:L,bordered:!1,readOnly:e.readOnly}),null),ee.value&&(0,a.createVNode)(`div`,{class:$(x.value,m.value.classNames.actions,e.classNames.actions),style:{...m.value.styles.actions,...e.styles.actions}},[ee.value])]),ne.value&&(0,a.createVNode)(`div`,{class:$(`${d.value}-footer`,m.value.classNames.footer,e.classNames.footer),style:{...m.value.styles.footer,...e.styles.footer}},[ne.value])]})]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/Sender.vue`]]),JF=JD((0,a.defineComponent)({name:`AXSenderHeader`,inheritAttrs:!1,__name:`SenderHeader`,props:(0,a.mergeDefaults)({forceRender:{type:Boolean,required:!1},open:{type:Boolean,required:!1},onOpenChange:{type:Function,required:!1},title:{required:!1},children:{required:!1},className:{type:String,required:!1},style:{required:!1},classNames:{type:Object,required:!1},styles:{type:Object,required:!1},closable:{type:Boolean,required:!1}},{classNames:()=>({}),styles:()=>({})}),setup(e,{expose:t}){t(),(0,a.toRef)(e,`classNames`);let n=(0,a.useSlots)(),r=yF(),i=(0,a.computed)(()=>`${r.value.prefixCls}-header`),o=(0,a.useAttrs)();return()=>(0,a.createVNode)(zF,{prefixCls:r.value.prefixCls},{default:()=>[e.open||e.forceRender?(0,a.withDirectives)((0,a.createVNode)(`div`,(0,a.mergeProps)(o,{class:$(i.value,e.className),style:{...e.style}}),[(e.closable!==!1||e.title)&&(0,a.createVNode)(`div`,{class:$(`${i.value}-header`,e.classNames.header),style:{...e.styles.header}},[(0,a.createVNode)(`div`,{class:`${i.value}-title`},[e.title]),e.closable!==!1&&(0,a.createVNode)(`div`,{class:`${i.value}-close`},[(0,a.createVNode)(th,{type:`text`,icon:(0,a.createVNode)(Pj,null,null),size:`small`,onClick:()=>{var t;(t=e.onOpenChange)==null||t.call(e,!e.open)}},null)])]),n.default&&(0,a.createVNode)(`div`,{class:$(`${i.value}-content`,e.classNames.content),style:{...e.styles.content}},[n.default?.call(n)])]),[[a.vShow,e.open]]):null]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/SenderHeader.vue`]]),YF=Object.assign(qF,{Header:JF});YF.install=function(e){return e.component(YF.name,YF),e.component(JF.name,JF),e};var XF=Symbol(`AttachmentContext`),ZF=(0,a.shallowRef)(),QF=e=>{(0,a.provide)(XF,e),(0,a.watch)(e,()=>{ZF.value=(0,a.unref)(e),(0,a.triggerRef)(ZF)},{immediate:!0,deep:!0})},$F=()=>(0,a.inject)(XF,(0,a.computed)(()=>ZF.value||{})),eI=(0,a.defineComponent)({inheritAttrs:!1,props:{value:ZD()},setup(e,{slots:t}){return QF((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),tI=JD((0,a.defineComponent)({name:`AXAttachmentsPlaceholderUploader`,__name:`PlaceholderUploader`,props:(0,a.mergeDefaults)({prefixCls:{type:String,required:!0},placeholder:{required:!1},upload:{required:!1},className:{type:String,required:!1},style:{required:!1}},{placeholder:()=>({})}),setup(e,{expose:t}){let n=`${e.prefixCls}-placeholder`,r=(0,a.computed)(()=>e.placeholder||{}),i=(0,a.useTemplateRef)(`upload-dragger`),o=$F(),[s,c]=lO(!1),l=()=>{c(!0)},u=e=>{e.currentTarget.contains(e.relatedTarget)||c(!1)},d=()=>{c(!1)};t({nativeElement:(0,a.computed)(()=>i.value?.$el)});let f=e=>Array.isArray(e)&&e.every(a.isVNode),p=(0,a.computed)(()=>(0,a.isVNode)(e.placeholder)||f(e.placeholder)?e.placeholder:(0,a.createVNode)(PD,{align:`center`,justify:`center`,vertical:!0,class:`${n}-inner`},{default:()=>[(0,a.createVNode)(zT.Text,{class:`${n}-icon`},{default:()=>[r.value.icon]}),(0,a.createVNode)(zT.Title,{class:`${n}-title`,level:5},{default:()=>[r.value.title]}),(0,a.createVNode)(zT.Text,{class:`${n}-description`,type:`secondary`},{default:()=>[r.value.description]})]}));return()=>(0,a.createVNode)(`div`,{class:$(n,{[`${n}-drag-in`]:s.value,[`${n}-disabled`]:o.value.disabled},e.className),onDragenter:l,onDragleave:u,onDrop:d,"aria-hidden":o.value.disabled,style:e.style},[(0,a.createVNode)(qE.Dragger,(0,a.mergeProps)(e.upload,{showUploadList:!1,ref:`upload-dragger`,style:{padding:0,border:0,background:`transparent`}}),{default:()=>[p.value]})])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/PlaceholderUploader.vue`]]),nI=JD((0,a.defineComponent)({name:`AXAttachmentsDropArea`,__name:`DropArea`,props:{prefixCls:{type:String,required:!0},className:{type:String,required:!0},getDropContainer:{type:Function,skipCheck:!0,required:!1},children:{required:!1}},setup(e,{expose:t}){t();let n=$F(),[r,i]=lO(),[o,s]=lO(null);(0,a.onMounted)(()=>{i(e.getDropContainer?.call(e))}),(0,a.watch)(()=>(0,a.toValue)(e.getDropContainer),()=>{let t=e.getDropContainer?.call(e);r.value!==t&&i(t)}),(0,a.watch)(()=>!!r.value,()=>{if(r.value){let e=()=>{s(!0)},t=e=>{e.preventDefault()},n=e=>{e.relatedTarget||s(!1)},r=e=>{s(!1),e.preventDefault()};document.addEventListener(`dragenter`,e),document.addEventListener(`dragover`,t),document.addEventListener(`dragleave`,n),document.addEventListener(`drop`,r),(0,a.onWatcherCleanup)(()=>{document.removeEventListener(`dragenter`,e),document.removeEventListener(`dragover`,t),document.removeEventListener(`dragleave`,n),document.removeEventListener(`drop`,r)})}});let c=(0,a.computed)(()=>e.getDropContainer&&r.value&&!n.value.disabled),l=`${e.prefixCls}-drop-area`;return()=>c.value?(0,a.createVNode)(a.Teleport,{to:r.value},{default:()=>[(0,a.createVNode)(`div`,{class:$(l,e.className,{[`${l}-on-body`]:r.value.tagName===`BODY`}),style:{display:o.value?`block`:`none`}},[e.children])]}):null}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/DropArea.vue`]]),rI=JD((0,a.defineComponent)({name:`AXAttachmentsSilentUploader`,__name:`SilentUploader`,props:{children:{required:!0},upload:{required:!0},rootClassName:{type:String,required:!1}},setup(e,{expose:t}){let n=(0,a.useTemplateRef)(`upload`);return t({nativeElement:(0,a.computed)(()=>n.value?.$el)}),()=>(0,a.createVNode)(qE,(0,a.mergeProps)(e.upload,{showUploadList:!1,ref:`upload`}),{default:()=>[e.children]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/SilentUploader.vue`]]),iI={},aI={width:`1em`,height:`1em`,viewBox:`0 0 16 16`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`};function oI(e,t){return(0,a.openBlock)(),(0,a.createElementBlock)(`svg`,aI,t[0]||=[(0,a.createElementVNode)(`title`,null,`audio`,-1),(0,a.createElementVNode)(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[(0,a.createElementVNode)(`path`,{d:`M14.1178571,4.0125 C14.225,4.11964286 14.2857143,4.26428571 14.2857143,4.41607143 L14.2857143,15.4285714 C14.2857143,15.7446429 14.0303571,16 13.7142857,16 L2.28571429,16 C1.96964286,16 1.71428571,15.7446429 1.71428571,15.4285714 L1.71428571,0.571428571 C1.71428571,0.255357143 1.96964286,0 2.28571429,0 L9.86964286,0 C10.0214286,0 10.1678571,0.0607142857 10.275,0.167857143 L14.1178571,4.0125 Z M10.7315824,7.11216117 C10.7428131,7.15148751 10.7485063,7.19218979 10.7485063,7.23309113 L10.7485063,8.07742614 C10.7484199,8.27364959 10.6183424,8.44607275 10.4296853,8.50003683 L8.32984514,9.09986306 L8.32984514,11.7071803 C8.32986605,12.5367078 7.67249692,13.217028 6.84345686,13.2454634 L6.79068592,13.2463395 C6.12766108,13.2463395 5.53916361,12.8217001 5.33010655,12.1924966 C5.1210495,11.563293 5.33842118,10.8709227 5.86959669,10.4741173 C6.40077221,10.0773119 7.12636292,10.0652587 7.67042486,10.4442027 L7.67020842,7.74937024 L7.68449368,7.74937024 C7.72405122,7.59919041 7.83988806,7.48101083 7.98924584,7.4384546 L10.1880418,6.81004755 C10.42156,6.74340323 10.6648954,6.87865515 10.7315824,7.11216117 Z M9.60714286,1.31785714 L12.9678571,4.67857143 L9.60714286,4.67857143 L9.60714286,1.31785714 Z`,fill:`currentColor`})],-1)])}var sI=JD(iI,[[`render`,oI],[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/FileList/AudioIcon.vue`]]),cI={},lI={width:`1em`,height:`1em`,viewBox:`0 0 16 16`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`};function uI(e,t){return(0,a.openBlock)(),(0,a.createElementBlock)(`svg`,lI,t[0]||=[(0,a.createElementVNode)(`title`,null,`video`,-1),(0,a.createElementVNode)(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[(0,a.createElementVNode)(`path`,{d:`M14.1178571,4.0125 C14.225,4.11964286 14.2857143,4.26428571 14.2857143,4.41607143 L14.2857143,15.4285714 C14.2857143,15.7446429 14.0303571,16 13.7142857,16 L2.28571429,16 C1.96964286,16 1.71428571,15.7446429 1.71428571,15.4285714 L1.71428571,0.571428571 C1.71428571,0.255357143 1.96964286,0 2.28571429,0 L9.86964286,0 C10.0214286,0 10.1678571,0.0607142857 10.275,0.167857143 L14.1178571,4.0125 Z M12.9678571,4.67857143 L9.60714286,1.31785714 L9.60714286,4.67857143 L12.9678571,4.67857143 Z M10.5379461,10.3101106 L6.68957555,13.0059749 C6.59910784,13.0693494 6.47439406,13.0473861 6.41101953,12.9569184 C6.3874624,12.9232903 6.37482581,12.8832269 6.37482581,12.8421686 L6.37482581,7.45043999 C6.37482581,7.33998304 6.46436886,7.25043999 6.57482581,7.25043999 C6.61588409,7.25043999 6.65594753,7.26307658 6.68957555,7.28663371 L10.5379461,9.98249803 C10.6284138,10.0458726 10.6503772,10.1705863 10.5870027,10.2610541 C10.5736331,10.2801392 10.5570312,10.2967411 10.5379461,10.3101106 Z`,fill:`currentColor`})],-1)])}var dI=JD(cI,[[`render`,uI],[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/FileList/VideoIcon.vue`]]),fI=e=>e.indexOf(`image/`)===0;function pI(e){return new Promise(t=>{if(!e||!e.type||!fI(e.type)){t(``);return}let n=new Image;if(n.onload=()=>{let{width:e,height:r}=n,i=e/r,a=i>1?200:200*i,o=i>1?200/i:200,s=document.createElement(`canvas`);s.width=a,s.height=o,s.style.cssText=`position: fixed; left: 0; top: 0; width: ${a}px; height: ${o}px; z-index: 9999; display: none;`,document.body.appendChild(s),s.getContext(`2d`).drawImage(n,0,0,a,o);let c=s.toDataURL();document.body.removeChild(s),window.URL.revokeObjectURL(n.src),t(c)},n.crossOrigin=`anonymous`,e.type.startsWith(`image/svg+xml`)){let t=new FileReader;t.onload=()=>{t.result&&typeof t.result==`string`&&(n.src=t.result)},t.readAsDataURL(e)}else if(e.type.startsWith(`image/gif`)){let n=new FileReader;n.onload=()=>{n.result&&t(n.result)},n.readAsDataURL(e)}else n.src=window.URL.createObjectURL(e)})}function mI(e,t){return t.has(e.substring(1).toLowerCase())}var hI=e=>{let{componentCls:t,antCls:n,calc:r}=e,i=`${t}-list-card`,a=r(e.fontSize).mul(e.lineHeight).mul(2).add(e.paddingSM).add(e.paddingSM).equal();return{[i]:{borderRadius:e.borderRadius,position:`relative`,background:e.colorFillContent,borderWidth:e.lineWidth,borderStyle:`solid`,borderColor:`transparent`,flex:`none`,[`${i}-name,${i}-desc`]:{display:`flex`,flexWrap:`nowrap`,maxWidth:`100%`},[`${i}-ellipsis-prefix`]:{flex:`0 1 auto`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},[`${i}-ellipsis-suffix`]:{flex:`none`},"&-type-overview":{padding:r(e.paddingSM).sub(e.lineWidth).equal(),paddingInlineStart:r(e.padding).add(e.lineWidth).equal(),display:`flex`,flexWrap:`nowrap`,gap:e.paddingXS,alignItems:`flex-start`,width:236,[`${i}-icon`]:{fontSize:r(e.fontSizeLG).mul(2).equal(),lineHeight:1,paddingTop:r(e.paddingXXS).mul(1.5).equal(),flex:`none`},[`${i}-content`]:{flex:`auto`,minWidth:0,display:`flex`,flexDirection:`column`,alignItems:`stretch`},[`${i}-desc`]:{color:e.colorTextTertiary}},"&-type-preview":{width:a,height:a,lineHeight:1,display:`flex`,alignItems:`center`,[`&:not(${i}-status-error)`]:{border:0},[`${n}-image`]:{width:`100%`,height:`100%`,borderRadius:`inherit`,position:`relative`,overflow:`hidden`,img:{height:`100%`,objectFit:`cover`,borderRadius:`inherit`}},[`${i}-img-mask`]:{position:`absolute`,inset:0,display:`flex`,justifyContent:`center`,alignItems:`center`,background:`rgba(0, 0, 0, ${e.opacityLoading})`,borderRadius:`inherit`},[`&${i}-status-error`]:{borderRadius:`inherit`,[`img, ${i}-img-mask`]:{borderRadius:r(e.borderRadius).sub(e.lineWidth).equal()},[`${i}-desc`]:{paddingInline:e.paddingXXS}},[`${i}-progress`]:{}},[`${i}-remove`]:{position:`absolute`,top:0,insetInlineEnd:0,border:0,padding:e.paddingXXS,background:`transparent`,lineHeight:1,transform:`translate(50%, -50%)`,fontSize:e.fontSize,cursor:`pointer`,opacity:e.opacityLoading,display:`none`,"&:dir(rtl)":{transform:`translate(-50%, -50%)`},"&:hover":{opacity:1},"&:active":{opacity:e.opacityLoading}},[`&:hover ${i}-remove`]:{display:`block`},"&-status-error":{borderColor:e.colorError,[`${i}-desc`]:{color:e.colorError}},"&-motion":{overflow:`hidden`,transition:[`opacity`,`width`,`margin`,`padding`].map(t=>`${t} ${e.motionDurationSlow}`).join(`,`),[`${i}-remove`]:{display:`none !important`},"&-appear-start":{width:0,transition:`none`},"&-leave-active":{opacity:0,width:0,paddingInline:0,borderInlineWidth:0,marginInlineEnd:r(e.paddingSM).mul(-1).equal()}}}}},gI={"&, *":{boxSizing:`border-box`}},_I=e=>{let{componentCls:t,calc:n,antCls:r}=e,i=`${t}-drop-area`,a=`${t}-placeholder`;return{[i]:{position:`absolute`,inset:0,zIndex:e.zIndexPopupBase,...gI,"&-on-body":{position:`fixed`,inset:0},"&-hide-placement":{[`${a}-inner`]:{display:`none`}},[a]:{padding:0}},"&":{[a]:{height:`100%`,borderRadius:e.borderRadius,borderWidth:e.lineWidthBold,borderStyle:`dashed`,borderColor:`transparent`,padding:e.padding,position:`relative`,backdropFilter:`blur(10px)`,...gI,[`${r}-upload-wrapper ${r}-upload${r}-upload-btn`]:{padding:0},[`&${a}-drag-in`]:{borderColor:e.colorPrimaryHover},[`&${a}-disabled`]:{opacity:.25,pointerEvents:`none`},[`${a}-inner`]:{gap:n(e.paddingXXS).div(2).equal()},[`${a}-icon`]:{fontSize:e.fontSizeHeading2,lineHeight:1},[`${a}-title${a}-title`]:{margin:0,fontSize:e.fontSize,lineHeight:e.lineHeight},[`${a}-description`]:{}}}}},vI=e=>{let{componentCls:t,calc:n}=e,r=`${t}-list`,i=n(e.fontSize).mul(e.lineHeight).mul(2).add(e.paddingSM).add(e.paddingSM).equal();return{[t]:{position:`relative`,width:`100%`,...gI,[r]:{display:`flex`,flexWrap:`wrap`,gap:e.paddingSM,fontSize:e.fontSize,lineHeight:e.lineHeight,color:e.colorText,paddingBlock:e.paddingSM,paddingInline:e.padding,width:`100%`,background:e.colorBgContainer,scrollbarWidth:`none`,"-ms-overflow-style":`none`,"&::-webkit-scrollbar":{display:`none`},"&-overflow-scrollX, &-overflow-scrollY":{"&:before, &:after":{content:`""`,position:`absolute`,opacity:0,transition:`opacity ${e.motionDurationSlow}`,zIndex:1}},"&-overflow-ping-start:before":{opacity:1},"&-overflow-ping-end:after":{opacity:1},"&-overflow-scrollX":{overflowX:`auto`,overflowY:`hidden`,flexWrap:`nowrap`,"&:before, &:after":{insetBlock:0,width:8},"&:before":{insetInlineStart:0,background:`linear-gradient(to right, rgba(0,0,0,0.06), rgba(0,0,0,0));`},"&:after":{insetInlineEnd:0,background:`linear-gradient(to left, rgba(0,0,0,0.06), rgba(0,0,0,0));`},"&:dir(rtl)":{"&:before":{background:`linear-gradient(to left, rgba(0,0,0,0.06), rgba(0,0,0,0));`},"&:after":{background:`linear-gradient(to right, rgba(0,0,0,0.06), rgba(0,0,0,0));`}}},"&-overflow-scrollY":{overflowX:`hidden`,overflowY:`auto`,maxHeight:n(i).mul(3).equal(),"&:before, &:after":{insetInline:0,height:8},"&:before":{insetBlockStart:0,background:`linear-gradient(to bottom, rgba(0,0,0,0.06), rgba(0,0,0,0));`},"&:after":{insetBlockEnd:0,background:`linear-gradient(to top, rgba(0,0,0,0.06), rgba(0,0,0,0));`}},"&-upload-btn":{width:i,height:i,fontSize:e.fontSizeHeading2,color:`#999`},"&-prev-btn, &-next-btn":{position:`absolute`,top:`50%`,transform:`translateY(-50%)`,boxShadow:e.boxShadowTertiary,opacity:0,pointerEvents:`none`},"&-prev-btn":{left:{_skip_check_:!0,value:e.padding}},"&-next-btn":{right:{_skip_check_:!0,value:e.padding}},"&:dir(ltr)":{[`&${r}-overflow-ping-start ${r}-prev-btn`]:{opacity:1,pointerEvents:`auto`},[`&${r}-overflow-ping-end ${r}-next-btn`]:{opacity:1,pointerEvents:`auto`}},"&:dir(rtl)":{[`&${r}-overflow-ping-end ${r}-prev-btn`]:{opacity:1,pointerEvents:`auto`},[`&${r}-overflow-ping-start ${r}-next-btn`]:{opacity:1,pointerEvents:`auto`}}}}}},yI=jP(`Attachments`,e=>{let t=wN(e,{});return[_I(t),vI(t),hI(t)]},e=>{let{colorBgContainer:t}=e;return{colorBgPlaceholderHover:new LM(t).setA(.85).toRgbString()}}),bI=new Set([`png`,`jpg`,`jpeg`,`gif`,`bmp`,`webp`,`svg`]),xI=new Set([`mp3`,`wav`,`flac`,`ape`,`aac`,`ogg`]),SI=new Set([`mp4`,`avi`,`mov`,`wmv`,`flv`,`mkv`]),CI=new Set([`md`,`mdx`]),wI=new Set([`zip`,`rar`,`7z`,`tar`,`gz`]),TI=new Set([`xlsx`,`xls`]),EI=new Set([`ppt`,`pptx`]),DI=new Set([`doc`,`docx`]),OI=new Set([`pdf`]),kI=`\xA0`,AI=`#8c8c8c`,jI=JD((0,a.defineComponent)({name:`AXAttachmentsFileListCard`,__name:`FileListCard`,props:{prefixCls:{type:String,required:!1},item:{type:Object,required:!0},onRemove:{type:Function,required:!1},className:{type:String,required:!1},style:{required:!1},imageProps:{required:!1},icon:{required:!1},type:{type:String,required:!1}},setup(e,{expose:t}){(0,a.toRef)(e,`prefixCls`);let n=[{key:`default`,icon:(0,a.createVNode)(cM,null,null),color:AI,ext:new Set([])},{key:`excel`,icon:(0,a.createVNode)(Hj,null,null),color:`#22b35e`,ext:TI},{key:`image`,icon:(0,a.createVNode)(Kj,null,null),color:AI,ext:bI},{key:`markdown`,icon:(0,a.createVNode)(Xj,null,null),color:AI,ext:CI},{key:`pdf`,icon:(0,a.createVNode)(eM,null,null),color:`#ff4d4f`,ext:OI},{key:`ppt`,icon:(0,a.createVNode)(iM,null,null),color:`#ff6e31`,ext:EI},{key:`word`,icon:(0,a.createVNode)(fM,null,null),color:`#1677ff`,ext:DI},{key:`zip`,icon:(0,a.createVNode)(gM,null,null),color:`#fab714`,ext:wI},{key:`video`,icon:(0,a.createVNode)(dI,null,null),color:`#ff4d4f`,ext:SI},{key:`audio`,icon:(0,a.createVNode)(sI,null,null),color:`#8c8c8c`,ext:xI}];function r(e){let t=e,n=[`B`,`KB`,`MB`,`GB`,`TB`,`PB`,`EB`],r=0;for(;t>=1024&&r<n.length-1;)t/=1024,r++;return`${t.toFixed(0)} ${n[r]}`}let i=$F(),o=(0,a.computed)(()=>i.value.disabled),s=(0,a.computed)(()=>e.item.name),c=(0,a.computed)(()=>e.item.size),l=(0,a.computed)(()=>e.item.percent),u=(0,a.computed)(()=>e.item.status||`done`),d=(0,a.computed)(()=>e.item.description),{getPrefixCls:f}=KD(),p=(0,a.computed)(()=>f(`attachment`,e.prefixCls)),m=`${p.value}-list-card`,[h,g,_]=yI(p),v=(0,a.useTemplateRef)(`file-list-card-container`),y=(0,a.computed)(()=>{let e=s.value||``,t=e.match(/^(.*)\.[^.]+$/);return{namePrefix:t?t[1]:e,nameSuffix:t?e.slice(t[1].length):``}}),b=(0,a.computed)(()=>mI(y.value.nameSuffix,bI)),x=(0,a.computed)(()=>d.value?d.value:u.value===`uploading`?`${l.value||0}%`:u.value===`error`?e.item.response||kI:c.value?r(c.value):kI),S=(0,a.computed)(()=>{if(e.icon)if(typeof e.icon==`string`){let t=n.find(t=>t.key===e.icon);if(t)return{icon:t.icon,color:t.color}}else return{icon:e.icon,color:void 0};for(let{ext:e,icon:t,color:r}of n)if(mI(y.value.nameSuffix,e))return{icon:t,iconColor:r};return{icon:(0,a.createVNode)(cM,{key:`defaultIcon`},null),iconColor:AI}}),[C,w]=lO();(0,a.watch)(()=>e.item.originFileObj,()=>{if(e.item.originFileObj){let t=!0;pI(e.item.originFileObj).then(e=>{t&&w(e)}),(0,a.onWatcherCleanup)(()=>{t=!1})}w(void 0)},{immediate:!0});let T=(0,a.computed)(()=>e.item.thumbUrl||e.item.url||C.value),E=(0,a.computed)(()=>e.type===`image`||e.type!==`file`&&b.value&&(e.item.originFileObj||T.value)),D=(0,a.computed)(()=>E.value?(0,a.createVNode)(a.Fragment,null,[T.value&&(0,a.createVNode)(SC,(0,a.mergeProps)(e.imageProps,{alt:`preview`,src:T.value}),null),u.value!==`done`&&(0,a.createVNode)(`div`,{class:`${m}-img-mask`},[u.value===`uploading`&&l.value!==void 0&&(0,a.createVNode)(Fw,{percent:l.value,prefixCls:m},null),u.value===`error`&&(0,a.createVNode)(`div`,{class:`${m}-desc`},[(0,a.createVNode)(`div`,{class:`${m}-ellipsis-prefix`},[x.value])])])]):(0,a.createVNode)(a.Fragment,null,[(0,a.createVNode)(`div`,{class:`${m}-icon`,style:{color:S.value.iconColor}},[S.value.icon]),(0,a.createVNode)(`div`,{class:`${m}-content`},[(0,a.createVNode)(`div`,{class:`${m}-name`},[(0,a.createVNode)(`div`,{class:`${m}-ellipsis-prefix`},[y.value.namePrefix??kI]),(0,a.createVNode)(`div`,{class:`${m}-ellipsis-suffix`},[y.value.nameSuffix])]),(0,a.createVNode)(`div`,{class:`${m}-desc`},[(0,a.createVNode)(`div`,{class:`${m}-ellipsis-prefix`},[x.value])])])]));return t({nativeElement:v}),()=>h((0,a.createVNode)(`div`,{class:$(m,{[`${m}-status-${u.value}`]:u.value,[`${m}-type-preview`]:E.value,[`${m}-type-overview`]:!E.value},e.className,g.value,_),style:e.style,ref:`file-list-card-container`},[D.value,!o.value&&e.onRemove&&(0,a.createVNode)(`button`,{type:`button`,class:`${m}-remove`,onClick:()=>{e.onRemove(e.item)}},[(0,a.createVNode)(Aj,null,null)])]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/FileList/FileListCard.vue`]]);function MI(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Object]`&&!(0,a.isVNode)(e)}var NI=1,PI=JD((0,a.defineComponent)({name:`AXAttachmentsFileList`,__name:`FileList`,props:{prefixCls:{type:String,required:!0},items:{type:Array,required:!0},onRemove:{type:Function,required:!0},overflow:{type:String,required:!1},upload:{type:Object,required:!0},imageProps:{type:Object,required:!1},listClassName:{type:String,required:!1},listStyle:{type:Object,required:!1},itemClassName:{type:String,required:!1},itemStyle:{type:Object,required:!1},uploadClassName:{type:String,required:!1},uploadStyle:{type:Object,required:!1}},setup(e,{expose:t}){t();let n=(0,a.computed)(()=>`${e.prefixCls}-list`),r=(0,a.useTemplateRef)(`file-list-container`),[i,o]=lO(!1),s=$F();(0,a.watchEffect)(()=>{o(!0),(0,a.onWatcherCleanup)(()=>{o(!1)})});let[c,l]=lO(!1),[u,d]=lO(!1),f=()=>{let t=r.value;t&&(e.overflow===`scrollX`?(l(Math.abs(t.scrollLeft)>=NI),d(t.scrollWidth-t.clientWidth-Math.abs(t.scrollLeft)>=NI)):e.overflow===`scrollY`&&(l(t.scrollTop!==0),d(t.scrollHeight-t.clientHeight!==t.scrollTop)))};(0,a.watch)([()=>e.overflow,()=>e.items.length],()=>{(0,a.nextTick)(()=>{f()})},{immediate:!0});let p=e=>{let t=r.value;t&&t.scrollTo({left:t.scrollLeft+e*t.clientWidth,behavior:`smooth`})},m=()=>{p(-1)},h=()=>{p(1)},g=(e,t)=>{let n=e.classList.contains(`ant-attachment-list-card-type-preview`)?[{width:`0px`},{width:`64px`}]:[{width:`0px`},{width:`236px`}],r=e.animate(n,{duration:300,easing:`ease`,fill:`forwards`});r.onfinish=()=>t()},_=(e,t)=>{let n=e.classList.contains(`ant-attachment-list-card-type-preview`)?[{opacity:1,width:`64px`,marginRight:`0px`},{opacity:0,width:`0px`,marginRight:`-10px`}]:[{opacity:1,width:`236px`,marginRight:`0px`},{opacity:0,width:`0px`,marginRight:`-10px`,paddingRight:`0px`,paddingLeft:`0px`}],r=e.animate(n,{duration:300,easing:`ease`,fill:`forwards`});r.onfinish=()=>t()};return()=>{let t;return(0,a.createVNode)(`div`,{class:$(n.value,{[`${n.value}-overflow-${e.overflow}`]:e.overflow,[`${n.value}-overflow-ping-start`]:c.value,[`${n.value}-overflow-ping-end`]:u.value},e.listClassName),ref:`file-list-container`,onScroll:f,style:e.listStyle},[(0,a.createVNode)(a.TransitionGroup,{onEnter:g,onLeave:_,css:!1},MI(t=e.items.map(t=>(0,a.createVNode)(jI,{key:t.uid,prefixCls:e.prefixCls,item:t,onRemove:e.onRemove,className:$(e.itemClassName),imageProps:e.imageProps,style:{...e.itemStyle}},null)))?t:{default:()=>[t]}),!s.value.disabled&&(0,a.createVNode)(rI,{upload:e.upload,children:(0,a.createVNode)(th,{class:$(e.uploadClassName,`${n.value}-upload-btn`),style:e.uploadStyle,type:`dashed`},{default:()=>[(0,a.createVNode)(wM,{class:`${n.value}-upload-btn-icon`},null)]})},null),e.overflow===`scrollX`&&(0,a.createVNode)(a.Fragment,null,[(0,a.createVNode)(th,{size:`small`,shape:`circle`,class:`${n.value}-prev-btn`,icon:(0,a.createVNode)(bM,null,null),onClick:m},null),(0,a.createVNode)(th,{size:`small`,shape:`circle`,class:`${n.value}-next-btn`,icon:(0,a.createVNode)(OM,null,null),onClick:h},null)])])}}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/FileList/FileList.vue`]]),FI=JD((0,a.defineComponent)({name:`AXAttachments`,__name:`Attachments`,props:(0,a.mergeDefaults)({capture:{type:null,required:!1},type:{type:null,required:!1},name:{type:null,required:!1},defaultFileList:{type:null,required:!1},action:{type:null,required:!1},directory:{type:null,required:!1},data:{type:null,required:!1},method:{type:null,required:!1},headers:{type:null,required:!1},showUploadList:{type:null,required:!1},multiple:{type:null,required:!1},accept:{type:null,required:!1},beforeUpload:{type:null,required:!1},onChange:{type:Function,required:!1},"onUpdate:fileList":{type:null,required:!1},onDrop:{type:null,required:!1},listType:{type:null,required:!1},onPreview:{type:null,required:!1},onDownload:{type:null,required:!1},onReject:{type:null,required:!1},onRemove:{type:null,required:!1},remove:{type:null,required:!1},supportServerRender:{type:null,required:!1},disabled:{type:Boolean,required:!1},prefixCls:{type:String,required:!1},customRequest:{type:null,required:!1},withCredentials:{type:null,required:!1},openFileDialogOnClick:{type:null,required:!1},locale:{type:null,required:!1},id:{type:null,required:!1},previewFile:{type:null,required:!1},transformFile:{type:null,required:!1},iconRender:{type:null,required:!1},isImageUrl:{type:null,required:!1},progress:{type:null,required:!1},itemRender:{type:null,required:!1},maxCount:{type:null,required:!1},height:{type:null,required:!1},removeIcon:{type:null,required:!1},downloadIcon:{type:null,required:!1},previewIcon:{type:null,required:!1},rootClassName:{type:String,required:!1},rootStyle:{required:!1},style:{required:!1},className:{type:String,required:!1},classNames:{type:Object,required:!1},styles:{type:Object,required:!1},children:{required:!1},placeholder:{type:Function,skipCheck:!0,required:!1},getDropContainer:{type:Function,skipCheck:!0,required:!1},items:{type:Array,required:!1},overflow:{required:!1},imageProps:{required:!1}},{items:()=>[],classNames:()=>({}),styles:()=>({})}),setup(e,{expose:t}){let n=qD(e,[`prefixCls`,`rootClassName`,`rootStyle`,`className`,`style`,`items`,`children`,`getDropContainer`,`placeholder`,`onChange`,`onRemove`,`overflow`,`imageProps`,`disabled`,`classNames`,`styles`]);(0,a.toRef)(e,`prefixCls`);let r=(0,a.useSlots)(),{getPrefixCls:i,direction:o}=KD(),s=i(`attachment`,e.prefixCls),c=cO(`attachments`),l=(0,a.computed)(()=>c.value.classNames),u=(0,a.computed)(()=>c.value.styles),d=(0,a.useTemplateRef)(`attachments-container`),f=(0,a.useTemplateRef)(`placeholder-uploader`),[p,m,h]=yI(s),g=(0,a.computed)(()=>$(m.value,h)),[_,v]=lO(e.items);(0,a.watch)(()=>e.items,()=>{v(e.items)});let y=t=>{var n;v(t.fileList),(n=e.onChange)==null||n.call(e,t)},b=(0,a.computed)(()=>({...n,fileList:_.value,onChange:y})),x=t=>Promise.resolve(typeof e.onRemove==`function`?e.onRemove(t):e.onRemove).then(e=>{if(e===!1)return;let n=_.value.filter(e=>e.uid!==t.uid);y({file:{...t,status:`removed`},fileList:n})}),S=(t,n)=>(0,a.createVNode)(tI,{placeholder:r.placeholder?r.placeholder({type:t}):typeof e.placeholder==`function`?e.placeholder(t):e.placeholder,upload:b.value,prefixCls:s,className:$(l.value.placeholder,e.classNames.placeholder),style:{...u.value.placeholder,...e.styles.placeholder,...n?.style},ref:t===`inline`?`placeholder-uploader`:void 0},null),C=(0,a.computed)(()=>_.value.length>0);return t({nativeElement:d.value,upload:e=>{var t,n;let r=((t=f.value)==null?void 0:(n=t.nativeElement).querySelector)?.call(n,`input[type="file"]`);if(!r)return;let i=new DataTransfer;try{if(`length`in e&&e.length>=1)for(let t=0;t<e.length;t++)i.items.add(e[t]);else i.items.add(e);r.files=i.files,r.dispatchEvent(new Event(`change`,{bubbles:!0}))}catch(e){console.error(`upload failed`,e)}}}),()=>p((0,a.createVNode)(eI,{value:{disabled:e.disabled}},{default:()=>[e.children?(0,a.createVNode)(a.Fragment,null,[(0,a.createVNode)(rI,{upload:b.value,rootClassName:e.rootClassName,ref:`attachments-upload`,children:e.children},null),(0,a.createVNode)(nI,{getDropContainer:e.getDropContainer,prefixCls:s,className:$(g.value,e.rootClassName),children:S(`drop`)},null)]):(0,a.createVNode)(`div`,{class:$(s,g.value,{[`${s}-rtl`]:o.value===`rtl`},e.className,e.rootClassName),style:{...e.rootStyle,...e.style},dir:o.value||`ltr`,ref:`attachments-container`},[(0,a.createVNode)(PI,{prefixCls:s,items:_.value,onRemove:x,overflow:e.overflow,upload:b.value,listClassName:$(l.value.list,e.classNames.list),listStyle:{...u.value.list,...e.styles.list,...!C.value&&{display:`none`}},uploadClassName:$(l.value.upload,e.classNames.upload),uploadStyle:{...u.value.upload,...e.styles.upload},itemClassName:$(l.value.item,e.classNames.item),itemStyle:{...u.value.item,...e.styles.item},imageProps:e.imageProps},null),S(`inline`,C.value?{style:{display:`none`}}:{}),(0,a.createVNode)(nI,{getDropContainer:e.getDropContainer||(()=>d.value),prefixCls:s,className:g.value,children:S(`drop`)},null)])]}))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/attachments/Attachments.vue`]]),II=Object.assign(FI,{FileCard:jI});II.install=function(e){return e.component(II.name,II),e.component(jI.name,jI),e};function LI(e){let t=e.split(`
338
338
  `),n=`message`,r=``;for(let e of t)e.startsWith(`event:`)?n=e.slice(6).trim():e.startsWith(`data:`)&&(r=e.slice(5).trim());if(!r)return null;try{return{event:n,data:JSON.parse(r)}}catch{return{event:n,data:r}}}async function RI(e){try{let t=await e.text(),n=JSON.parse(t);return typeof n?.message==`string`?n.message:typeof n?.error==`string`?n.error:t||`HTTP ${e.status}`}catch{return`HTTP ${e.status}`}}function zI(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var BI=class extends o{constructor({endpoint:e,historyEndpoint:t=`http://localhost:800/history`,resumeEndpoint:n,user:r,app:i,initialUserContexts:a=[],mode:o=`astream`,resumeMode:s=`langgraph`,requestHeaders:c={},prepareRequestBody:l}){super(),this.mode=`astream`,this.resumeMode=`langgraph`,this.abortController=null,this.activeToolCalls=new Map,this.conversationId=``,this.currentToolCallId=``,this.initialUserContexts=[],this.inThinkBlock=!1,this.pendingInterruptId=``,this.pendingToolCallArgs=new Map,this.prepareRequestBody=null,this.replyParts=[],this.requestHeaders={},this.resumeEndpoint=void 0,this.endpoint=e,this.historyEndpoint=t,this.user=r,this.app=i,this.mode=o,this.resumeMode=s,this.resumeEndpoint=n,this.requestHeaders={...c},this.prepareRequestBody=l??null,this.setInitialUserContexts(a)}addInitialUserContext(e){let t=e.trim();t&&this.initialUserContexts.push(t)}async ask(e,t){let n=new AbortController;this.abortController=n,this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.replyParts=[],this.inThinkBlock=!1;let r=this.initialUserContexts.length>0?`${this.initialUserContexts.join(`
339
339
 
340
- `)}\n\n${e}`:e;try{let e=this.buildRequestHeaders(),i={prompt:r,conversation_id:this.conversationId||null,stream_mode:(this.mode,`messages,updates`),user:this.user,app:this.app,attachments:t};this.prepareRequestBody&&(i=this.prepareRequestBody(i));let a=await fetch(this.endpoint,{method:`POST`,headers:e,body:JSON.stringify(i),signal:n.signal});if(!a.ok)throw Error(await RI(a));let o=a.headers.get(`x-conversation-id`);if(o&&this.updateConversationId(o),await this.processSseStream(a,this.replyParts))return}catch(e){if(n.signal.aborted)return;throw Error(zI(e))}finally{this.abortController===n&&(this.abortController=null)}}clearInitialUserContexts(){this.initialUserContexts=[]}async deleteConversation(e){if(!this.historyEndpoint)throw Error(`未配置 historyEndpoint`);try{let t=new URL(`${this.historyEndpoint}/threads/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n=await fetch(t.toString(),{method:`DELETE`});if(n.status===404)throw Error(`未找到会话: ${e}`);if(!n.ok)throw Error(await RI(n))}catch(e){throw Error(zI(e))}}getApp(){return this.app}async getConversationDetail(e,t){if(!this.historyEndpoint)return[];this.updateConversationId(e);let n;try{let t=new URL(`${this.historyEndpoint}/conversations/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let r=await fetch(t.toString());if(r.status===404)return[];if(!r.ok)throw Error(await RI(r));n=await r.json()}catch(e){throw Error(zI(e))}let r=[],i=new Map,a=[];for(let t of n.messages??[])switch(t.type??t.role??``){case`ai`:{if(Array.isArray(t.tool_calls)&&t.tool_calls.length>0){let e=Date.now();for(let n of t.tool_calls)n.id&&(i.set(n.id,{toolName:n.name,args:n.args,startedAt:e}),a.push({toolCallId:n.id,toolName:n.name,title:n.name,status:`running`,stepNumber:0,startedAt:e,inputPreview:n.args?JSON.stringify(n.args).slice(0,200):void 0}))}let n=u(t.content);if(n){let t={key:`hist-${e}-a${r.length}`,role:`ai`,content:n};a.length>0&&(t.toolTimeline=a,t.segments=[...a.map(e=>({type:`tool`,toolCallId:e.toolCallId})),{type:`text`,start:0,end:-1}],a=[],i.clear()),r.push(t)}break}case`human`:r.push({key:`hist-${e}-u${r.length}`,role:`user`,content:u(t.content)});break;case`tool`:{let e=t.tool_call_id??``,n=e?i.get(e):void 0,r=a.find(t=>t.toolCallId===e);if(r){let a=u(t.content);r.status=t.status===`error`?`error`:`success`,r.resultPreview=a.slice(0,500),n&&(r.durationMs=Date.now()-n.startedAt,i.delete(e))}break}}return r}getConversationId(){return this.conversationId}getUser(){return this.user}async listConversations(e){if(!this.historyEndpoint)return{items:[],hasMore:!1};let t=new URL(`${this.historyEndpoint}/conversations`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n;try{let e=await fetch(t.toString());if(!e.ok)throw Error(await RI(e));n=await e.json()}catch(e){throw Error(zI(e))}return{items:n.map(e=>{let t=e.created_at?new Date(e.created_at).getTime():void 0;return{id:e.conversation_id,title:e.title||t?.toString()||`未命名会话`,createdAt:t&&!Number.isNaN(t)?t:void 0}}),hasMore:!1}}offConversationChange(e){this.off(`conversationChange`,e)}offInterrupt(e){this.off(`interrupt`,e)}onConversationChange(e){this.on(`conversationChange`,e)}onInterrupt(e){this.on(`interrupt`,e)}reset(){this.stop(),this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.updateConversationId(``)}async resume(e){this.abortController||=new AbortController;let t=this.abortController,n,r;this.resumeMode===`create_agent`?(n=e.map(e=>({type:e.decision,...e.message==null?{}:{message:e.message}})),r={decisions:n,conversation_id:this.conversationId}):r={decisions:e,conversation_id:this.conversationId,...this.pendingInterruptId?{interrupt_id:this.pendingInterruptId}:{}},this.pendingInterruptId=``,this.emit(`replyChange`,``,this.replyParts.join(``));try{let e=this.buildRequestHeaders();this.conversationId&&(e[`x-conversation-id`]=this.conversationId);let n=await fetch(`${this.resumeEndpoint||this.endpoint}`,{method:`POST`,headers:e,body:JSON.stringify(r),signal:t.signal});if(!n.ok)throw Error(await RI(n));let i=n.headers.get(`x-conversation-id`);i&&this.updateConversationId(i),await this.processSseStream(n,this.replyParts)}catch(e){if(t.signal.aborted)return;throw Error(zI(e))}finally{this.abortController===t&&(this.abortController=null)}}setInitialUserContexts(e){this.initialUserContexts=e.map(e=>e.trim()).filter(Boolean)}setPrepareRequestBody(e){this.prepareRequestBody=e}setRequestHeaders(e){this.requestHeaders={...this.requestHeaders,...e}}setUser(e){this.user=e}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null,this.emit(`stop`))}supportsHistory(){return!!this.historyEndpoint}buildRequestHeaders(){let e={"Content-Type":`application/json`,...this.requestHeaders};return this.user&&(e[`x-user`]=this.user),this.app&&(e[`x-app`]=this.app),e}checkAndHandleInterrupt(e){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__);for(let t of Object.values(e))if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__)}return!1}emitInterruptFromEntries(e){let t=e[0],n=typeof t.id==`string`?t.id:``;if(!n)return!1;this.pendingInterruptId=n;let r=t.value,i=Array.isArray(r?.action_requests)?r.action_requests:[],a=Array.isArray(r?.review_configs)?r.review_configs:[];return this.emit(`interrupt`,{interrupt_id:n,action_requests:i.map(e=>({name:typeof e.name==`string`?e.name:``,args:e.args&&typeof e.args==`object`?e.args:{},description:typeof e.description==`string`?e.description:``})),review_configs:a.map(e=>({action_name:typeof e.action_name==`string`?e.action_name:``,allowed_decisions:Array.isArray(e.allowed_decisions)?e.allowed_decisions:[]}))}),!0}emitToolCallEvent(e){this.emit(`toolCall`,e)}handleAstreamEventsData(e,t){let n=typeof e.event==`string`?e.event:``,r=typeof e.run_id==`string`?e.run_id:``,i=e.data&&typeof e.data==`object`?e.data:{};if(n===`on_chat_model_stream`){let e=i.chunk&&typeof i.chunk==`object`?i.chunk:{},n=e.kwargs&&typeof e.kwargs==`object`?e.kwargs:{};return this.processAIMessageKwargs(n,t,r)}if(n===`on_tool_end`){let e=i.output;if(this.activeToolCalls.has(r)){let t=this.activeToolCalls.get(r),n=Date.now();this.emitToolCallEvent({toolCallId:r,toolName:t.toolName,title:t.title,status:`success`,output:e,stepNumber:0,durationMs:n-t.startedAt,timestamp:t.startedAt}),this.activeToolCalls.delete(r),this.pendingToolCallArgs.delete(r)}return!1}return!1}handleSsePacket(e,t){let n=e.data||{};if(e.event===`start`){let e=typeof n.thread_id==`string`?n.thread_id:``;return e&&this.updateConversationId(e),!1}if(e.event===`messages`){if((typeof n.mode==`string`?n.mode:``)===`messages`){if(this.mode===`astream_events`&&n.data&&typeof n.data==`object`&&!Array.isArray(n.data))return this.handleAstreamEventsData(n.data,t);if(this.isV2StreamPart(n.data))return this.handleV2StreamPart(n.data,t);let e=(Array.isArray(n.data)?n.data:[])[0];return e?this.processAIMessageKwargs(e.kwargs,t):!1}return!1}if(e.event===`updates`)return this.checkAndHandleInterrupt(n.data);if(e.event===`error`){let e=typeof n.message==`string`&&n.message?n.message:`流式请求失败`;throw Error(e)}return!1}handleV2StreamPart(e,t){if(e.type===`messages`){let n=(Array.isArray(e.data)?e.data:[])[0];if(!n)return!1;let r=n.kwargs;return this.processAIMessageKwargs(r,t)}return e.type===`updates`||e.type===`interrupts`?this.checkAndHandleInterrupt(e.data):!1}isV2StreamPart(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.type==`string`&&Array.isArray(t.ns)&&`data`in t}processAIMessageKwargs(e,t,n=``){if((typeof e.type==`string`?e.type:``)===`tool`){let t=typeof e.tool_call_id==`string`?e.tool_call_id:``,n=typeof e.content==`string`?e.content:``;if(t&&this.activeToolCalls.has(t)){let e=this.activeToolCalls.get(t),r=Date.now();this.emitToolCallEvent({toolCallId:t,toolName:e.toolName,title:e.title,status:`success`,output:n,stepNumber:0,durationMs:r-e.startedAt,timestamp:e.startedAt}),this.activeToolCalls.delete(t),this.pendingToolCallArgs.delete(t)}return!1}let r=Array.isArray(e.tool_call_chunks)?e.tool_call_chunks:[];if(r.length>0){for(let e of r){let t=e,r=typeof t.name==`string`?t.name:``,i=typeof t.args==`string`?t.args:``;if(r){let e=(typeof t.id==`string`&&t.id?t.id:n)||``;this.currentToolCallId=e;let a=Date.now();this.activeToolCalls.set(e,{toolName:r,title:r,startedAt:a}),this.pendingToolCallArgs.set(e,i),this.emitToolCallEvent({toolCallId:e,toolName:r,title:r,status:`running`,input:i,stepNumber:0,timestamp:a})}else if(this.currentToolCallId){let e=this.currentToolCallId,t=this.pendingToolCallArgs.get(e)||``;this.pendingToolCallArgs.set(e,t+i);let n=this.activeToolCalls.get(e)?.toolName??`tool_call`;this.emitToolCallEvent({toolCallId:e,toolName:n,title:n,status:`running`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:Date.now()})}}return!1}if((e.response_metadata&&typeof e.response_metadata==`object`?e.response_metadata:{}).finish_reason===`tool_calls`&&this.activeToolCalls.size>0){for(let[e,t]of this.activeToolCalls)this.emitToolCallEvent({toolCallId:e,toolName:t.toolName,title:t.title??t.toolName,status:`success`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:t.startedAt});return!1}let i=e.additional_kwargs&&typeof e.additional_kwargs==`object`?e.additional_kwargs:{},a=typeof i.reasoning_content==`string`?i.reasoning_content:``;if(a)return this.inThinkBlock||(this.inThinkBlock=!0,t.push(`<think>`),this.emit(`replyChange`,`<think>`,t.join(``))),t.push(a),this.emit(`replyChange`,a,t.join(``)),!1;let o=typeof e.content==`string`?e.content:``;return o&&(this.inThinkBlock&&(this.inThinkBlock=!1,t.push(`</think>`),this.emit(`replyChange`,`</think>`,t.join(``))),t.push(o),this.emit(`replyChange`,o,t.join(``))),!1}async processSseStream(e,t){if(!e.body)throw Error(`当前浏览器不支持读取流式响应`);let n=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{value:e,done:a}=await n.read();if(a)break;i+=r.decode(e,{stream:!0});let o=i.split(`
340
+ `)}\n\n${e}`:e;try{let e=this.buildRequestHeaders(),i={prompt:r,conversation_id:this.conversationId||null,stream_mode:(this.mode,`messages,updates`),user:this.user,app:this.app,attachments:t};this.prepareRequestBody&&(i=this.prepareRequestBody(i));let a=await fetch(this.endpoint,{method:`POST`,headers:e,body:JSON.stringify(i),signal:n.signal});if(!a.ok)throw Error(await RI(a));let o=a.headers.get(`x-conversation-id`);if(o&&this.updateConversationId(o),await this.processSseStream(a,this.replyParts))return}catch(e){if(n.signal.aborted)return;throw Error(zI(e))}finally{this.abortController===n&&(this.abortController=null)}}clearInitialUserContexts(){this.initialUserContexts=[]}async deleteConversation(e){if(!this.historyEndpoint)throw Error(`未配置 historyEndpoint`);try{let t=new URL(`${this.historyEndpoint}/threads/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n=await fetch(t.toString(),{method:`DELETE`});if(n.status===404)throw Error(`未找到会话: ${e}`);if(!n.ok)throw Error(await RI(n))}catch(e){throw Error(zI(e))}}getApp(){return this.app}async getConversationDetail(e,t){if(!this.historyEndpoint)return[];this.updateConversationId(e);let n;try{let t=new URL(`${this.historyEndpoint}/conversations/${encodeURIComponent(e)}`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let r=await fetch(t.toString());if(r.status===404)return[];if(!r.ok)throw Error(await RI(r));n=await r.json()}catch(e){throw Error(zI(e))}let r=[],i=new Map,a=[];for(let t of n.messages??[])switch(t.type??t.role??``){case`ai`:{if(Array.isArray(t.tool_calls)&&t.tool_calls.length>0){let e=Date.now();for(let n of t.tool_calls)n.id&&(i.set(n.id,{toolName:n.name,args:n.args,startedAt:e}),a.push({toolCallId:n.id,toolName:n.name,title:n.name,status:`running`,stepNumber:0,startedAt:e,inputPreview:n.args?JSON.stringify(n.args).slice(0,200):void 0}))}let n=u(t.content);if(n){let t={key:`hist-${e}-a${r.length}`,role:`ai`,content:n};a.length>0&&(t.toolTimeline=a,t.segments=[...a.map(e=>({type:`tool`,toolCallId:e.toolCallId})),{type:`text`,start:0,end:-1}],a=[],i.clear()),r.push(t)}break}case`human`:r.push({key:`hist-${e}-u${r.length}`,role:`user`,content:u(t.content)});break;case`tool`:{let e=t.tool_call_id??``,n=e?i.get(e):void 0,r=a.find(t=>t.toolCallId===e);if(r){let a=u(t.content);r.status=t.status===`error`?`error`:`success`,r.resultPreview=a.slice(0,500),n&&(r.durationMs=Date.now()-n.startedAt,i.delete(e))}break}}return r}getConversationId(){return this.conversationId}getUser(){return this.user}async listConversations(e){if(!this.historyEndpoint)return{items:[],hasMore:!1};let t=new URL(`${this.historyEndpoint}/conversations`);this.user&&t.searchParams.set(`user`,this.user),this.app&&t.searchParams.set(`app`,this.app);let n;try{let e=await fetch(t.toString());if(!e.ok)throw Error(await RI(e));n=await e.json()}catch(e){throw Error(zI(e))}return{items:n.map(e=>{let t=e.created_at?new Date(e.created_at).getTime():void 0;return{id:e.conversation_id,title:e.title||t?.toString()||`未命名会话`,createdAt:t&&!Number.isNaN(t)?t:void 0}}),hasMore:!1}}offConversationChange(e){this.off(`conversationChange`,e)}offInterrupt(e){this.off(`interrupt`,e)}onConversationChange(e){this.on(`conversationChange`,e)}onInterrupt(e){this.on(`interrupt`,e)}reset(){this.stop(),this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.updateConversationId(``)}async resume(e){this.abortController||=new AbortController;let t=this.abortController,n,r;this.resumeMode===`create_agent`?(n=e.map(e=>({type:e.decision,...e.message==null?{}:{message:e.message}})),r={decisions:n,conversation_id:this.conversationId}):r={decisions:e,conversation_id:this.conversationId,...this.pendingInterruptId?{interrupt_id:this.pendingInterruptId}:{}},this.pendingInterruptId=``,this.emit(`replyChange`,``,this.replyParts.join(``));try{let e=this.buildRequestHeaders();this.conversationId&&(e[`x-conversation-id`]=this.conversationId);let n=await fetch(`${this.resumeEndpoint||this.endpoint}`,{method:`POST`,headers:e,body:JSON.stringify(r),signal:t.signal});if(!n.ok)throw Error(await RI(n));let i=n.headers.get(`x-conversation-id`);i&&this.updateConversationId(i),await this.processSseStream(n,this.replyParts)}catch(e){if(t.signal.aborted)return;throw Error(zI(e))}finally{this.abortController===t&&(this.abortController=null)}}setInitialUserContexts(e){this.initialUserContexts=e.map(e=>e.trim()).filter(Boolean)}setPrepareRequestBody(e){this.prepareRequestBody=e}setRequestHeaders(e){this.requestHeaders={...this.requestHeaders,...e}}setUser(e){this.user=e}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null,this.emit(`stop`))}supportsHistory(){return!!this.historyEndpoint}buildRequestHeaders(){let e={"Content-Type":`application/json`,...this.requestHeaders};return this.user&&(e[`x-user`]=this.user),this.app&&(e[`x-app`]=this.app),e}checkAndHandleInterrupt(e){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__);for(let t of Object.values(e))if(t&&typeof t==`object`&&!Array.isArray(t)){let e=t;if(Array.isArray(e.__interrupt__)&&e.__interrupt__.length>0)return this.emitInterruptFromEntries(e.__interrupt__)}return!1}emitInterruptFromEntries(e){let t=e[0],n=typeof t.id==`string`?t.id:``;if(!n)return!1;this.pendingInterruptId=n;let r=t.value,i=Array.isArray(r?.action_requests)?r.action_requests:[],a=Array.isArray(r?.review_configs)?r.review_configs:[];return this.emit(`interrupt`,{interrupt_id:n,action_requests:i.map(e=>({name:typeof e.name==`string`?e.name:``,args:e.args&&typeof e.args==`object`?e.args:{},description:typeof e.description==`string`?e.description:``})),review_configs:a.map(e=>({action_name:typeof e.action_name==`string`?e.action_name:``,allowed_decisions:Array.isArray(e.allowed_decisions)?e.allowed_decisions:[]}))}),!0}emitToolCallEvent(e){this.emit(`toolCall`,e)}handleAstreamEventsData(e,t){let n=typeof e.event==`string`?e.event:``,r=typeof e.run_id==`string`?e.run_id:``,i=e.data&&typeof e.data==`object`?e.data:{};if(n===`on_chat_model_stream`){let e=i.chunk&&typeof i.chunk==`object`?i.chunk:{},n=e.kwargs&&typeof e.kwargs==`object`?e.kwargs:{};return this.processAIMessageKwargs(n,t,r)}if(n===`on_tool_end`){let e=i.output;if(this.activeToolCalls.has(r)){let t=this.activeToolCalls.get(r),n=Date.now();this.emitToolCallEvent({toolCallId:r,toolName:t.toolName,title:t.title,status:`success`,output:e,stepNumber:0,durationMs:n-t.startedAt,timestamp:t.startedAt}),this.activeToolCalls.delete(r),this.pendingToolCallArgs.delete(r)}return!1}return!1}handleSsePacket(e,t){let n=e.data||{};if(e.event===`start`){let e=typeof n.thread_id==`string`?n.thread_id:``;return e&&this.updateConversationId(e),!1}if(e.event===`messages`){if((typeof n.mode==`string`?n.mode:``)===`messages`){if(this.mode===`astream_events`&&n.data&&typeof n.data==`object`&&!Array.isArray(n.data))return this.handleAstreamEventsData(n.data,t);if(this.isV2StreamPart(n.data))return this.handleV2StreamPart(n.data,t);let e=(Array.isArray(n.data)?n.data:[])[0];return e?this.processAIMessageKwargs(e.kwargs,t):!1}return!1}if(e.event===`updates`)return this.emit(`updates`,n.data),this.checkAndHandleInterrupt(n.data);if(e.event===`error`){let e=typeof n.message==`string`&&n.message?n.message:`流式请求失败`;throw Error(e)}return!1}handleV2StreamPart(e,t){if(e.type===`messages`){let n=(Array.isArray(e.data)?e.data:[])[0];if(!n)return!1;let r=n.kwargs;return this.processAIMessageKwargs(r,t)}return e.type===`updates`||e.type===`interrupts`?this.checkAndHandleInterrupt(e.data):!1}isV2StreamPart(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.type==`string`&&Array.isArray(t.ns)&&`data`in t}processAIMessageKwargs(e,t,n=``){if((typeof e.type==`string`?e.type:``)===`tool`){let t=typeof e.tool_call_id==`string`?e.tool_call_id:``,n=typeof e.content==`string`?e.content:``;if(t&&this.activeToolCalls.has(t)){let e=this.activeToolCalls.get(t),r=Date.now();this.emitToolCallEvent({toolCallId:t,toolName:e.toolName,title:e.title,status:`success`,output:n,stepNumber:0,durationMs:r-e.startedAt,timestamp:e.startedAt}),this.activeToolCalls.delete(t),this.pendingToolCallArgs.delete(t)}return!1}let r=Array.isArray(e.tool_call_chunks)?e.tool_call_chunks:[];if(r.length>0){for(let e of r){let t=e,r=typeof t.name==`string`?t.name:``,i=typeof t.args==`string`?t.args:``;if(r){let e=(typeof t.id==`string`&&t.id?t.id:n)||``;this.currentToolCallId=e;let a=Date.now();this.activeToolCalls.set(e,{toolName:r,title:r,startedAt:a}),this.pendingToolCallArgs.set(e,i),this.emitToolCallEvent({toolCallId:e,toolName:r,title:r,status:`running`,input:i,stepNumber:0,timestamp:a})}else if(this.currentToolCallId){let e=this.currentToolCallId,t=this.pendingToolCallArgs.get(e)||``;this.pendingToolCallArgs.set(e,t+i);let n=this.activeToolCalls.get(e)?.toolName??`tool_call`;this.emitToolCallEvent({toolCallId:e,toolName:n,title:n,status:`running`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:Date.now()})}}return!1}if((e.response_metadata&&typeof e.response_metadata==`object`?e.response_metadata:{}).finish_reason===`tool_calls`&&this.activeToolCalls.size>0){for(let[e,t]of this.activeToolCalls)this.emitToolCallEvent({toolCallId:e,toolName:t.toolName,title:t.title??t.toolName,status:`success`,input:this.pendingToolCallArgs.get(e)||``,stepNumber:0,timestamp:t.startedAt});return!1}let i=e.additional_kwargs&&typeof e.additional_kwargs==`object`?e.additional_kwargs:{},a=typeof i.reasoning_content==`string`?i.reasoning_content:``;if(a)return this.inThinkBlock||(this.inThinkBlock=!0,t.push(`<think>`),this.emit(`replyChange`,`<think>`,t.join(``))),t.push(a),this.emit(`replyChange`,a,t.join(``)),!1;let o=typeof e.content==`string`?e.content:``;return o&&(this.inThinkBlock&&(this.inThinkBlock=!1,t.push(`</think>`),this.emit(`replyChange`,`</think>`,t.join(``))),t.push(o),this.emit(`replyChange`,o,t.join(``))),!1}async processSseStream(e,t){if(!e.body)throw Error(`当前浏览器不支持读取流式响应`);let n=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{value:e,done:a}=await n.read();if(a)break;i+=r.decode(e,{stream:!0});let o=i.split(`
341
341
 
342
342
  `);i=o.pop()||``;for(let e of o){if(!e.trim())continue;let n=LI(e);if(n&&this.handleSsePacket(n,t))return!0}}if(i.trim()){let e=LI(i);if(e&&this.handleSsePacket(e,t))return!0}}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return!1;throw e}finally{try{n.cancel()}catch{}}return!1}updateConversationId(e){this.conversationId!==e&&(this.conversationId=e,this.emit(`conversationChange`,e))}},VI={class:`agent-picker-wrap`},HI={class:`agent-menu-item`},UI={class:`agent-menu-label`},WI={class:`agent-menu-add`},GI=(0,a.defineComponent)({__name:`AgentPicker`,props:{builtInAgents:{},disabled:{type:Boolean,default:!1},storageKey:{default:`chat_panel_agent`},value:{default:``}},emits:[`update:value`,`update:agents`],setup(e,{emit:t}){let n=e,r=t,i=`${n.storageKey}_configs`,o=`${n.storageKey}_selected`,s=(0,a.ref)([]),c=new Map,l=(0,a.ref)(!1),u=(0,a.ref)(null),d=(0,a.ref)(!1),f=(0,a.ref)(),p=[{value:`langchain_py`,label:`Langchain Py(SSE 流式)`},{value:`dify_sdk`,label:`Dify SDK`}],m=[{value:`astream`,label:`astream`},{value:`astream_events`,label:`astream_events`}],h=[{value:`langgraph`,label:`langgraph`},{value:`create_agent`,label:`create_agent`}];function g(){return{label:``,type:`langchain_py`,endpoint:``,historyEndpoint:``,user:``,app:``,mode:void 0,resumeMode:void 0,resumeEndpoint:``,apiKey:``,apiBaseUrl:``}}let _=(0,a.reactive)(g()),v=(0,a.computed)(()=>({label:[{required:!0,message:`请输入名称`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],..._.type===`langchain_py`?{endpoint:[{required:!0,message:`请输入接口地址`,trigger:`blur`}]}:{apiKey:[{required:!0,message:`请输入 API Key`,trigger:`blur`}]}}));function y(){try{let e=localStorage.getItem(i);s.value=e?JSON.parse(e):[]}catch{s.value=[]}}function b(){localStorage.setItem(i,JSON.stringify(s.value))}function x(e){let t=`custom_${e.id}`;if(c.has(t))return c.get(t);let n=e.type===`langchain_py`?(0,a.markRaw)(new BI({endpoint:e.endpoint,historyEndpoint:e.historyEndpoint||void 0,user:e.user||void 0,app:e.app||void 0,mode:e.mode,resumeMode:e.resumeMode,resumeEndpoint:e.resumeEndpoint||void 0})):(0,a.markRaw)(new GD({apiKey:e.apiKey,apiBaseUrl:e.apiBaseUrl||void 0,user:e.user||void 0}));return c.set(t,n),n}let S=(0,a.computed)(()=>s.value.map(e=>({key:`custom_${e.id}`,label:e.label,agent:x(e)}))),C=(0,a.computed)(()=>[...n.builtInAgents,...S.value]),w=(0,a.computed)(()=>[...n.builtInAgents.map(e=>({value:e.key,label:e.label,isBuiltIn:!0})),...s.value.map(e=>({value:`custom_${e.id}`,label:e.label,isBuiltIn:!1}))]);function T(){r(`update:agents`,C.value)}function E(){u.value=null,Object.assign(_,g()),l.value=!0}function D(e){let t=e.replace(/^custom_/,``),n=s.value.find(e=>e.id===t);n&&(u.value=t,Object.assign(_,{label:n.label,type:n.type,endpoint:n.endpoint??``,historyEndpoint:n.historyEndpoint??``,user:n.user??``,app:n.app??``,mode:n.mode,resumeMode:n.resumeMode,resumeEndpoint:n.resumeEndpoint??``,apiKey:n.apiKey??``,apiBaseUrl:n.apiBaseUrl??``}),l.value=!0)}function O(){l.value=!1,u.value=null,Object.assign(_,g())}async function k(){try{await f.value?.validate()}catch{return}d.value=!0;try{let e=!!u.value,t=e?u.value:`${Date.now()}${Math.random().toString(36).slice(2,6)}`,n={id:t,label:_.label.trim(),type:_.type,..._.type===`langchain_py`?{endpoint:_.endpoint.trim(),historyEndpoint:_.historyEndpoint.trim()||void 0,user:_.user.trim()||void 0,app:_.app.trim()||void 0,mode:_.mode,resumeMode:_.resumeMode,resumeEndpoint:_.resumeEndpoint.trim()||void 0}:{apiKey:_.apiKey.trim(),apiBaseUrl:_.apiBaseUrl.trim()||void 0,user:_.user.trim()||void 0}};e?(s.value=s.value.map(e=>e.id===t?n:e),c.delete(`custom_${t}`)):s.value=[...s.value,n],b(),T(),l.value=!1,u.value=null,Object.assign(_,g()),bb.success(e?`智能体已更新`:`智能体已添加`)}finally{d.value=!1}}function A(e){let t=e.replace(/^custom_/,``);if(s.value=s.value.filter(e=>e.id!==t),b(),c.delete(e),T(),n.value===e){let e=n.builtInAgents[0]?.key||``;localStorage.setItem(o,e),r(`update:value`,e)}bb.success(`已删除`)}let j=(0,a.computed)(()=>w.value.find(e=>e.value===n.value)?.label||`选择智能体`);function M({key:e}){let t=String(e??``);if(t===`__add__`){E();return}localStorage.setItem(o,t),r(`update:value`,t)}return(0,a.onMounted)(()=>{y(),T();let e=localStorage.getItem(o);e&&e!==n.value&&[...n.builtInAgents.map(e=>e.key),...s.value.map(e=>`custom_${e.id}`)].includes(e)&&r(`update:value`,e)}),(t,n)=>{let r=(0,a.resolveComponent)(`ASelect`);return(0,a.openBlock)(),(0,a.createElementBlock)(`div`,VI,[(0,a.createVNode)((0,a.unref)(hx),{trigger:[`click`],disabled:e.disabled},{overlay:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(wg),{class:`agent-picker-menu`,onClick:M},{default:(0,a.withCtx)(()=>[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(w.value,t=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(Kh),{key:t.value,class:(0,a.normalizeClass)({"is-active":t.value===e.value})},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,HI,[(0,a.createElementVNode)(`span`,UI,(0,a.toDisplayString)(t.label),1),t.isBuiltIn?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[(0,a.createVNode)((0,a.unref)(xT),{class:`agent-menu-edit`,onClick:(0,a.withModifiers)(e=>D(String(t.value)),[`stop`])},null,8,[`onClick`]),(0,a.createVNode)((0,a.unref)(zw),{class:`agent-menu-del`,onClick:(0,a.withModifiers)(e=>A(String(t.value)),[`stop`])},null,8,[`onClick`])],64))])]),_:2},1032,[`class`]))),128)),(0,a.createVNode)((0,a.unref)(sg)),(0,a.createVNode)((0,a.unref)(Kh),{key:`__add__`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`span`,WI,[(0,a.createVNode)((0,a.unref)(Kg)),n[13]||=(0,a.createTextVNode)(` 新增智能体`,-1)])]),_:1})]),_:1})]),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`agent-picker-label`,{"agent-picker-label--disabled":e.disabled}])},[(0,a.createTextVNode)((0,a.toDisplayString)(j.value)+` `,1),(0,a.createVNode)((0,a.unref)(fu),{class:`agent-picker-arrow`})],2)]),_:1},8,[`disabled`]),(0,a.createVNode)((0,a.unref)(JC),{open:l.value,"onUpdate:open":n[12]||=e=>l.value=e,title:u.value?`编辑智能体`:`新增智能体`,footer:null,"destroy-on-close":!0,"z-index":1e4,width:`480px`,onCancel:O},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(Cy),{ref_key:`formRef`,ref:f,model:_,rules:v.value,layout:`vertical`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(my),{label:`名称`,name:`label`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.label,"onUpdate:value":n[0]||=e=>_.label=e,placeholder:`智能体显示名称`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`类型`,name:`type`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(r,{value:_.type,"onUpdate:value":n[1]||=e=>_.type=e,style:{width:`100%`},options:p},null,8,[`value`])]),_:1}),_.type===`langchain_py`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[(0,a.createVNode)((0,a.unref)(my),{label:`Endpoint(流式接口地址)`,name:`endpoint`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.endpoint,"onUpdate:value":n[2]||=e=>_.endpoint=e,placeholder:`http://10.0.0.1:8000/ai/chat/stream`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`History Endpoint(历史接口地址)`,name:`historyEndpoint`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.historyEndpoint,"onUpdate:value":n[3]||=e=>_.historyEndpoint=e,placeholder:`http://10.0.0.1:8000/history(可选)`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`User(用户标识)`,name:`user`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.user,"onUpdate:value":n[4]||=e=>_.user=e,placeholder:`可选,用于历史记录隔离`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`App(应用标识)`,name:`app`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.app,"onUpdate:value":n[5]||=e=>_.app=e,placeholder:`可选,用于历史记录隔离`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`Mode(流式模式)`,name:`mode`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(r,{value:_.mode,"onUpdate:value":n[6]||=e=>_.mode=e,style:{width:`100%`},"allow-clear":``,placeholder:`默认 astream`,options:m},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`Resume Mode(恢复模式)`,name:`resumeMode`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(r,{value:_.resumeMode,"onUpdate:value":n[7]||=e=>_.resumeMode=e,style:{width:`100%`},"allow-clear":``,placeholder:`默认 langgraph`,options:h},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`Resume Endpoint(恢复接口地址)`,name:`resumeEndpoint`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.resumeEndpoint,"onUpdate:value":n[8]||=e=>_.resumeEndpoint=e,placeholder:`http://10.0.0.1:8000/ai/resume(可选,默认同 Endpoint)`,"allow-clear":``},null,8,[`value`])]),_:1})],64)):(0,a.createCommentVNode)(``,!0),_.type===`dify_sdk`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createVNode)((0,a.unref)(my),{label:`API Key`,name:`apiKey`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lS),{value:_.apiKey,"onUpdate:value":n[9]||=e=>_.apiKey=e,placeholder:`sk-...`,autocomplete:`off`},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`API Base URL`,name:`apiBaseUrl`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.apiBaseUrl,"onUpdate:value":n[10]||=e=>_.apiBaseUrl=e,placeholder:`https://rag.netstar-soft.com(可选)`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(my),{label:`User(用户标识)`,name:`user`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(uS),{value:_.user,"onUpdate:value":n[11]||=e=>_.user=e,placeholder:`可选`,"allow-clear":``},null,8,[`value`])]),_:1})],64)):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(my),{style:{"margin-top":`8px`,"margin-bottom":`0`}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(tw),null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(th),{type:`primary`,loading:d.value,onClick:k},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(u.value?`保存修改`:`确认添加`),1)]),_:1},8,[`loading`]),(0,a.createVNode)((0,a.unref)(th),{onClick:O},{default:(0,a.withCtx)(()=>[...n[14]||=[(0,a.createTextVNode)(`取消`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`,`rules`])]),_:1},8,[`open`,`title`])])}}}),KI=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},qI=KI(GI,[[`__scopeId`,`data-v-69e639be`]]),JI=(0,a.defineComponent)({__name:`CodeBlockNode`,props:{codeBlockComponents:{},node:{},isDark:{type:Boolean},loading:{type:Boolean},stream:{type:Boolean},darkTheme:{},lightTheme:{},isShowPreview:{type:Boolean},monacoOptions:{},enableFontSizeControl:{type:Boolean},minWidth:{},maxWidth:{},themes:{},showHeader:{type:Boolean},showCopyButton:{type:Boolean},showExpandButton:{type:Boolean},showPreviewButton:{type:Boolean},showCollapseButton:{type:Boolean},showFontSizeButtons:{type:Boolean},showTooltips:{type:Boolean},customId:{}},setup(e){let t=e,n={},r=e=>String(e??``).trim().split(`:`)[0].toLowerCase(),o=(0,a.computed)(()=>{let e=t.node.language,o=r(e);return(0,a.toRaw)((e?t.codeBlockComponents?.[e]:void 0)||t.codeBlockComponents?.[o]||n[o])||i.S});return(e,n)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(o.value),(0,a.normalizeProps)((0,a.guardReactiveProps)(t)),null,16))}}),YI={class:`think-node__layout`},XI={class:`think-node__header`},ZI={class:`think-node__header-main`},QI={class:`think-node__prefix`},$I=1,eL=240,tL=KI((0,a.defineComponent)({__name:`ThinkNode`,props:{node:{}},setup(e){let t=e,n=(0,a.ref)(!1),r=(0,a.ref)(),i=(0,a.ref)(!1),o=(0,a.computed)(()=>t.node?.content??t.node?.code??``),s=(0,a.computed)(()=>!!t.node?.loading),c=(0,a.computed)(()=>o.value?o.value:s.value?`正在整理思路...`:`暂无思考内容`),l=(0,a.computed)(()=>!!o.value&&(i.value||n.value));function u(){let e=r.value;if(!e)return;let t=globalThis.getComputedStyle?.(e),n=Number.parseFloat(t?.lineHeight??``);Number.isFinite(n)||(n=(Number.parseFloat(t?.fontSize??``)||14)*1.6);let a=n*$I+1;i.value=e.scrollHeight>a}return(0,a.watch)([o,n],async()=>{await(0,a.nextTick)(),u()},{immediate:!0}),(0,a.onMounted)(()=>{globalThis.addEventListener?.(`resize`,u),(0,a.nextTick)(()=>{u()})}),(0,a.onBeforeUnmount)(()=>{globalThis.removeEventListener?.(`resize`,u)}),(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,{class:(0,a.normalizeClass)([`think-node`,{"is-thinking":s.value,"is-expanded":n.value}])},[(0,a.createElementVNode)(`div`,YI,[(0,a.createElementVNode)(`div`,XI,[(0,a.createElementVNode)(`div`,ZI,[(0,a.createElementVNode)(`span`,QI,[s.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(gu),{key:0,class:`think-node__prefix-icon is-spinning`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(ZE),{key:1,class:`think-node__prefix-icon`})),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(s.value?`思考中:`:`思考:`),1)]),n.value?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`contentRef`,ref:r,class:(0,a.normalizeClass)([`think-node__content think-node__content--inline is-collapsed`,{"is-overflowing":i.value}])},(0,a.toDisplayString)(c.value),3))]),l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,type:`button`,class:`think-node__toggle`,onClick:t[0]||=e=>n.value=!n.value},[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(n.value?`收起`:`展开`),1),((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.value?(0,a.unref)(EC):(0,a.unref)(fu)),{class:`think-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)]),n.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`contentRef`,ref:r,class:`think-node__content is-expanded`,style:(0,a.normalizeStyle)({maxHeight:`${eL}px`})},(0,a.toDisplayString)(c.value),5)):(0,a.createCommentVNode)(``,!0)])],2))}}),[[`__scopeId`,`data-v-5a2f210e`]]),nL=(0,a.defineComponent)({__name:`StreamMarkdown`,props:{codeBlockComponents:{},codeBlockProps:{},content:{},customComponents:{},customHtmlTags:{},final:{type:Boolean}},setup(e){let t=e,n=`stream-markdown-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2,10)}`}`;(0,a.watch)((0,a.computed)(()=>({code_block:JI,think:tL,...t.customComponents})),e=>{i.p(n,e)},{immediate:!0}),(0,a.onBeforeUnmount)(()=>{i.i(n)});let r=(0,a.computed)(()=>({...t.codeBlockProps,...t.codeBlockComponents?{codeBlockComponents:t.codeBlockComponents}:{}})),o=(0,a.computed)(()=>[...new Set([`think`,...t.customHtmlTags??[]].map(e=>String(e??``).trim()).filter(Boolean))]);return(t,s)=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(i.x),{content:e.content,final:e.final??!0,"custom-id":n,"custom-html-tags":o.value,"code-block-props":r.value},null,8,[`content`,`final`,`custom-html-tags`,`code-block-props`]))}}),rL=[`role`,`tabindex`],iL={class:`tool-call-node__prefix`},aL={class:`tool-call-node__title`},oL={key:0,class:`tool-call-node__waiting-badge`},sL={key:1,class:`tool-call-node__result-badge is-approved`},cL={key:2,class:`tool-call-node__result-badge is-rejected`},lL={key:0,class:`tool-call-node__toggle`},uL={key:0,class:`tool-call-node__detail`},dL={key:0,class:`tool-call-node__line`},fL={class:`tool-call-node__value tool-call-node__value--overflow`},pL={key:1,class:`tool-call-node__line`},mL={class:`tool-call-node__label`},hL={class:`tool-call-node__value tool-call-node__value--overflow`},gL={key:2,class:`tool-call-node__approval`},_L={key:0,class:`tool-call-node__approval-desc`},vL={key:1,class:`tool-call-node__approval-args`},yL={class:`tool-call-node__approval-code`},bL={class:`tool-call-node__approval-actions`},xL=[`disabled`],SL=[`disabled`],CL=[`disabled`],wL={key:2,class:`tool-call-node__approval-edit`},TL=[`disabled`],EL={class:`tool-call-node__approval-edit-actions`},DL=[`disabled`],OL=[`disabled`],kL=KI((0,a.defineComponent)({__name:`ToolCallNode`,props:{expanded:{type:Boolean},resolving:{type:Boolean},tool:{}},emits:[`approve`,`edit`,`reject`,`toggle`],setup(e,{emit:t}){let n=t,r=e,i=t,o=(0,a.ref)(!1),s=(0,a.ref)(``),c=(0,a.ref)(null),l=(0,a.computed)(()=>r.tool.approvalConfig),u=(0,a.computed)(()=>r.tool.status===`waiting`&&l.value!=null);(0,a.watch)(u,e=>{e&&!r.expanded&&i(`toggle`)},{immediate:!0});let d=(0,a.computed)(()=>l.value?Object.keys(l.value.args).length>0:!1),f=(0,a.computed)(()=>l.value?JSON.stringify(l.value.args,null,2):``),p=(0,a.computed)(()=>!!(r.tool.input!=null||r.tool.output!=null||r.tool.error)),m=(0,a.computed)(()=>{let e=r.tool.input;if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}),h=(0,a.computed)(()=>{if(r.tool.status===`error`)return r.tool.error||``;let e=r.tool.output;if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}});(0,a.watch)(()=>l.value?.editContent,e=>{s.value=e||``},{immediate:!0});function g(){c.value=`approved`,i(`approve`,r.tool.toolName)}function _(){c.value=`rejected`,i(`reject`,r.tool.toolName)}function v(){c.value=`approved`,i(`edit`,r.tool.toolName,s.value),o.value=!1}return(t,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`tool-call-node`,`is-${r.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`tool-call-node__header`,{"tool-call-node__header--clickable":p.value||u.value}]),role:p.value||u.value?`button`:void 0,tabindex:p.value||u.value?0:void 0,onClick:i[0]||=e=>(p.value||u.value)&&n(`toggle`),onKeydown:[i[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>(p.value||u.value)&&n(`toggle`),[`prevent`]),[`enter`]),i[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>(p.value||u.value)&&n(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,iL,[r.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(gu),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):r.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(vf),{key:1,class:`tool-call-node__prefix-icon`})):r.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(Af),{key:2,class:`tool-call-node__prefix-icon`})):u.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(mx),{key:3,class:`tool-call-node__prefix-icon is-waiting`})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,aL,[(0,a.createTextVNode)((0,a.toDisplayString)(r.tool.title||r.tool.toolName||`工具调用`)+` `,1),u.value&&!c.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,oL,`待审批`)):c.value===`approved`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,sL,[(0,a.createVNode)((0,a.unref)(vf),{style:{"margin-right":`2px`}}),i[6]||=(0,a.createTextVNode)(`已批准 `,-1)])):c.value===`rejected`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,cL,[(0,a.createVNode)((0,a.unref)(Af),{style:{"margin-right":`2px`}}),i[7]||=(0,a.createTextVNode)(`已拒绝 `,-1)])):(0,a.createCommentVNode)(``,!0)])]),p.value||u.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,lL,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.expanded?(0,a.unref)(EC):(0,a.unref)(fu)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,rL),e.expanded?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,uL,[m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,dL,[i[8]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`入参:`,-1),(0,a.createVNode)((0,a.unref)(Dp),{placement:`topLeft`,"overlay-inner-style":{maxWidth:`480px`,maxHeight:`320px`,overflowY:`auto`,fontSize:`12px`,fontFamily:`monospace`,whiteSpace:`pre-wrap`,wordBreak:`break-all`}},{title:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(m.value),1)]),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`span`,fL,(0,a.toDisplayString)(m.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),h.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,pL,[(0,a.createElementVNode)(`span`,mL,(0,a.toDisplayString)(r.tool.status===`error`?`错误:`:`结果:`),1),(0,a.createVNode)((0,a.unref)(Dp),{placement:`topLeft`,"overlay-inner-style":{maxWidth:`480px`,maxHeight:`320px`,overflowY:`auto`,fontSize:`12px`,fontFamily:`monospace`,whiteSpace:`pre-wrap`,wordBreak:`break-all`}},{title:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(h.value),1)]),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`span`,hL,(0,a.toDisplayString)(h.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,gL,[(0,a.createVNode)(a.Transition,{name:`approval-result`},{default:(0,a.withCtx)(()=>[c.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([`tool-call-node__approval-result`,[`is-${c.value}`]])},[c.value===`approved`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(vf),{key:0,class:`approval-result-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(Af),{key:1,class:`approval-result-icon`})),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(c.value===`approved`?`已批准,继续执行中…`:`已拒绝,操作已取消`),1)],2)):(0,a.createCommentVNode)(``,!0)]),_:1}),c.value?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[l.value.description?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,_L,(0,a.toDisplayString)(l.value.description),1)):(0,a.createCommentVNode)(``,!0),d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,vL,[i[9]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`参数:`,-1),(0,a.createElementVNode)(`code`,yL,(0,a.toDisplayString)(f.value),1)])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,bL,[(0,a.createElementVNode)(`button`,{class:`tool-call-node__btn tool-call-node__btn-approve`,disabled:e.resolving,onClick:(0,a.withModifiers)(g,[`stop`])},[(0,a.createVNode)((0,a.unref)(vf),{style:{"margin-right":`4px`}}),i[10]||=(0,a.createTextVNode)(` 批准 `,-1)],8,xL),l.value.allowedDecisions.includes(`edit`)?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:0,class:`tool-call-node__btn tool-call-node__btn-edit`,disabled:e.resolving,onClick:i[3]||=(0,a.withModifiers)(e=>o.value=!o.value,[`stop`])},` 修改后批准 `,8,SL)):(0,a.createCommentVNode)(``,!0),l.value.allowedDecisions.includes(`reject`)?((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:1,class:`tool-call-node__btn tool-call-node__btn-reject`,disabled:e.resolving,onClick:(0,a.withModifiers)(_,[`stop`])},[(0,a.createVNode)((0,a.unref)(Af),{style:{"margin-right":`4px`}}),i[11]||=(0,a.createTextVNode)(` 拒绝 `,-1)],8,CL)):(0,a.createCommentVNode)(``,!0)]),o.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,wL,[(0,a.withDirectives)((0,a.createElementVNode)(`textarea`,{"onUpdate:modelValue":i[4]||=e=>s.value=e,class:`tool-call-node__textarea`,disabled:e.resolving,placeholder:`编辑内容...`,rows:`4`},null,8,TL),[[a.vModelText,s.value]]),(0,a.createElementVNode)(`div`,EL,[(0,a.createElementVNode)(`button`,{class:`tool-call-node__btn tool-call-node__btn-approve`,disabled:e.resolving,onClick:(0,a.withModifiers)(v,[`stop`])},` 提交修改 `,8,DL),(0,a.createElementVNode)(`button`,{class:`tool-call-node__btn tool-call-node__btn-cancel`,disabled:e.resolving,onClick:i[5]||=(0,a.withModifiers)(e=>o.value=!1,[`stop`])},` 取消 `,8,OL)])])):(0,a.createCommentVNode)(``,!0)],64))])):(0,a.createCommentVNode)(``,!0)])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-c4d46f41`]]),AL={class:`sub-agent-node__prefix`},jL={class:`sub-agent-node__name`},ML={key:0,class:`sub-agent-node__body`},NL={class:`think-node__layout`},PL={class:`think-node__header`},FL={class:`think-node__header-main`},IL={class:`think-node__prefix`},LL={key:0,class:`think-node__content think-node__content--inline is-collapsed is-overflowing`},RL=[`onClick`],zL={class:`think-node__toggle-icon`},BL={key:0,class:`think-node__content is-expanded`},VL={key:0,class:`sub-agent-node__tools`},HL={key:1,class:`sub-agent-node__content`},UL=KI((0,a.defineComponent)({__name:`SubAgentNode`,props:{blocks:{},expanded:{type:Boolean},tool:{}},emits:[`toggle`],setup(e,{emit:t}){let n=e,r=(0,a.computed)(()=>{if(!n.blocks?.length)return[];let e=[],t={type:`reply`,blocks:[]};for(let r of n.blocks)r.type===`reasoning`||r.type===`tool_call`?(t.type!==`thinking`&&(t.blocks.length>0&&e.push(t),t={type:`thinking`,blocks:[]}),t.blocks.push(r)):(t.type!==`reply`&&(t.blocks.length>0&&e.push(t),t={type:`reply`,blocks:[]}),t.blocks.push(r));return t.blocks.length>0&&e.push(t),e}),i=(0,a.reactive)({});function o(e){i[e]=!i[e]}let s=(0,a.ref)({});function c(e){s.value={...s.value,[e]:!s.value[e]}}function l(e){let t=e;return{toolCallId:t.toolCallId,toolName:t.toolName,title:t.toolName,status:`success`,input:t.input,output:t.output,durationMs:t.durationMs,startedAt:t.startedAt||0}}return(n,u)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`sub-agent-node`,`is-${e.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:`sub-agent-node__header`,role:`button`,tabindex:`0`,onClick:u[0]||=e=>t(`toggle`),onKeydown:[u[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>t(`toggle`),[`prevent`]),[`enter`]),u[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>t(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,AL,[e.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(gu),{key:0,class:`sub-agent-node__icon is-spinning`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(vf),{key:1,class:`sub-agent-node__icon`})),(0,a.createElementVNode)(`span`,jL,(0,a.toDisplayString)(e.tool.title||e.tool.toolName),1),u[3]||=(0,a.createElementVNode)(`span`,{class:`sub-agent-node__badge`},`子代理`,-1)]),((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.expanded?(0,a.unref)(EC):(0,a.unref)(fu)),{class:`sub-agent-node__chevron`}))],32),e.expanded?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,ML,[e.blocks?.length?((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,{key:0},(0,a.renderList)(r.value,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:t},[e.type===`thinking`?((0,a.openBlock)(),(0,a.createElementBlock)(`section`,{key:0,class:(0,a.normalizeClass)([`think-node`,{"is-expanded":i[t]!==!1}])},[(0,a.createElementVNode)(`div`,NL,[(0,a.createElementVNode)(`div`,PL,[(0,a.createElementVNode)(`div`,FL,[(0,a.createElementVNode)(`span`,IL,[(0,a.createVNode)((0,a.unref)(ZE),{class:`think-node__prefix-icon`}),u[4]||=(0,a.createElementVNode)(`span`,null,`思考:`,-1)]),i[t]===!1?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,LL,(0,a.toDisplayString)(e.blocks.filter(e=>e.type===`reasoning`).map(e=>e.text).join(` `)),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`button`,{type:`button`,class:`think-node__toggle`,onClick:e=>o(t)},[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(i[t]===!1?`展开`:`收起`),1),(0,a.createElementVNode)(`span`,zL,(0,a.toDisplayString)(i[t]===!1?`▼`:`▲`),1)],8,RL)]),i[t]===!1?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,BL,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.blocks,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:t},[e.type===`reasoning`?((0,a.openBlock)(),(0,a.createBlock)(nL,{key:0,content:e.text},null,8,[`content`])):e.type===`tool_call`?((0,a.openBlock)(),(0,a.createBlock)(kL,{key:1,tool:l(e),expanded:!!s.value[e.toolCallId],onToggle:t=>c(e.toolCallId)},null,8,[`tool`,`expanded`,`onToggle`])):(0,a.createCommentVNode)(``,!0)],64))),128))]))])],2)):((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,{key:1},(0,a.renderList)(e.blocks,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(nL,{key:t,content:e.text},null,8,[`content`]))),128))],64))),128)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[e.tool.subAgentTools?.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,VL,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.tool.subAgentTools,(e,t)=>((0,a.openBlock)(),(0,a.createBlock)(kL,{key:e.toolCallId,tool:e,expanded:s.value[e.toolCallId]||!1,"step-number":t,onToggle:t=>c(e.toolCallId)},null,8,[`tool`,`expanded`,`step-number`,`onToggle`]))),128))])):(0,a.createCommentVNode)(``,!0),e.tool.subAgentContent?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,HL,[(0,a.createVNode)(nL,{content:e.tool.subAgentContent},null,8,[`content`])])):(0,a.createCommentVNode)(``,!0)],64))])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-526ce89d`]]),WL={key:0,class:`msg-renderer__loading`},GL={class:`think-node__layout`},KL={class:`think-node__header`},qL={class:`think-node__header-main`},JL={class:`think-node__prefix`},YL={key:0,class:`think-node__content think-node__content--inline is-collapsed is-overflowing`},XL=[`onClick`],ZL={class:`think-node__toggle-icon`},QL={key:0,class:`think-node__content is-expanded`},$L={key:1,class:`msg-renderer__attachments`},eR=KI((0,a.defineComponent)({__name:`MessageRenderer`,props:{customComponents:{},customHtmlTags:{},expandedTools:{default:()=>({})},interruptResolving:{type:Boolean},message:{},toolRenderers:{default:()=>({})}},emits:[`approve`,`edit`,`reject`,`toggleExpand`],setup(e,{emit:t}){let n=e,r=t;function i(e){return e===`write_todos`?`top`:`timeline`}function o(e,t){return e?.find(e=>e.toolCallId===t)}function s(e,t){return i(o(e.toolTimeline,t)?.toolName)===`timeline`}function c(e){return!e.segments||e.segments.length===0?e.content?[{type:`text`,text:e.content}]:[]:e.segments.map(t=>t.type===`tool`||t.type===`attachment`?t:{type:`text`,text:e.content.slice(t.start,t.end===-1?void 0:t.end)})}let l=(0,a.computed)(()=>Array.isArray(n.message.blocks)&&n.message.blocks.length>0),u=(0,a.computed)(()=>{if(!l.value)return[];let e=n.message.blocks,t=[],r={type:`reply`,blocks:[]};for(let n of e)n.type===`reasoning`||n.type===`tool_call`?(r.type!==`thinking`&&(r.blocks.length>0&&t.push(r),r={type:`thinking`,blocks:[]}),r.blocks.push(n)):(r.type!==`reply`&&(r.blocks.length>0&&t.push(r),r={type:`reply`,blocks:[]}),r.blocks.push(n));return r.blocks.length>0&&t.push(r),t}),d=(0,a.reactive)({});function f(e){d[e]=!d[e]}let p=(0,a.computed)(()=>c(n.message)),m=(0,a.computed)(()=>n.message.loading&&!n.message.content);function h(e){let t=o(n.message.toolTimeline,e);return t?.toolName?n.toolRenderers?.[t.toolName]??kL:kL}function g(e,t){r(`approve`,e,t)}function _(e,t){r(`reject`,e,t)}function v(e,t,n){r(`edit`,e,t,n)}function y(e){r(`toggleExpand`,e)}function b(e){let t=e;return{toolCallId:t.toolCallId,toolName:t.toolName,title:t.subAgentType||t.toolName,status:`success`,input:t.input,output:t.output,durationMs:t.durationMs,startedAt:t.startedAt,subAgentContent:t.subAgentContent,subAgentBlocks:t.subAgentBlocks,subAgentTools:t.subAgentTools}}function x(e){return e.subAgentType!=null}return(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,WL,[(0,a.createVNode)((0,a.unref)(gu),{style:{fontSize:`16px`,color:`var(--primary-color, var(--primary))`,marginRight:`8px`}}),n[0]||=(0,a.createElementVNode)(`span`,{class:`msg-renderer__loading-text`},`AI 正在思考...`,-1)])):(0,a.createCommentVNode)(``,!0),l.value?((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,{key:1},(0,a.renderList)(u.value,(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:r},[t.type===`thinking`?((0,a.openBlock)(),(0,a.createElementBlock)(`section`,{key:0,class:(0,a.normalizeClass)([`think-node`,{"is-expanded":d[r]!==!1}])},[(0,a.createElementVNode)(`div`,GL,[(0,a.createElementVNode)(`div`,KL,[(0,a.createElementVNode)(`div`,qL,[(0,a.createElementVNode)(`span`,JL,[(0,a.createVNode)((0,a.unref)(ZE),{class:`think-node__prefix-icon`}),n[1]||=(0,a.createElementVNode)(`span`,null,`思考:`,-1)]),d[r]===!1?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,YL,(0,a.toDisplayString)(t.blocks.filter(e=>e.type===`reasoning`).map(e=>e.text).join(` `)),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`button`,{type:`button`,class:`think-node__toggle`,onClick:e=>f(r)},[(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(d[r]===!1?`展开`:`收起`),1),(0,a.createElementVNode)(`span`,ZL,(0,a.toDisplayString)(d[r]===!1?`▼`:`▲`),1)],8,XL)]),d[r]===!1?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,QL,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.blocks,(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:n},[t.type===`reasoning`?((0,a.openBlock)(),(0,a.createBlock)(nL,{key:0,content:t.text,"custom-html-tags":e.customHtmlTags,"custom-components":e.customComponents},null,8,[`content`,`custom-html-tags`,`custom-components`])):t.type===`tool_call`&&!x(t)?((0,a.openBlock)(),(0,a.createBlock)(kL,{key:1,tool:b(t),expanded:!!e.expandedTools[t.toolCallId],resolving:e.interruptResolving,onToggle:e=>y(t.toolCallId),onApprove:e=>g(t.toolCallId,e),onReject:e=>_(t.toolCallId,e),onEdit:(e,n)=>v(t.toolCallId,e,n)},null,8,[`tool`,`expanded`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`tool_call`?((0,a.openBlock)(),(0,a.createBlock)(UL,{key:2,tool:b(t),blocks:t.subAgentBlocks,expanded:!!e.expandedTools[t.toolCallId],onToggle:e=>y(t.toolCallId)},null,8,[`tool`,`blocks`,`expanded`,`onToggle`])):(0,a.createCommentVNode)(``,!0)],64))),128))]))])],2)):((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,{key:1},(0,a.renderList)(t.blocks,(t,n)=>((0,a.openBlock)(),(0,a.createBlock)(nL,{key:n,content:t.text,"custom-html-tags":e.customHtmlTags,"custom-components":e.customComponents},null,8,[`content`,`custom-html-tags`,`custom-components`]))),128))],64))),128)):((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,{key:2},(0,a.renderList)(p.value,(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:n},[t.type===`tool`&&s(e.message,t.toolCallId)?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(h(t.toolCallId)),{key:0,tool:o(e.message.toolTimeline,t.toolCallId),expanded:e.expandedTools[t.toolCallId]===!0,"step-number":o(e.message.toolTimeline,t.toolCallId)?.stepNumber,resolving:e.interruptResolving,onToggle:e=>y(t.toolCallId),onApprove:e=>g(t.toolCallId,e),onReject:e=>_(t.toolCallId,e),onEdit:(e,n)=>v(t.toolCallId,e,n)},null,40,[`tool`,`expanded`,`step-number`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`attachment`&&t.attachments?.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,$L,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(t.attachments,e=>((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(II).FileCard,{key:e.id,item:{uid:e.id,name:e.name,size:e.size,type:e.type,url:e.url,thumbUrl:e.url,status:`done`}},null,8,[`item`]))),128))])):t.type===`text`&&t.text?((0,a.openBlock)(),(0,a.createBlock)(nL,{key:2,content:t.text,"custom-html-tags":e.customHtmlTags,"custom-components":e.customComponents},null,8,[`content`,`custom-html-tags`,`custom-components`])):(0,a.createCommentVNode)(``,!0)],64))),128))],64))}}),[[`__scopeId`,`data-v-4bb03a95`]]),tR=class extends Error{constructor(e,t){super(`${e} at position ${t}`),this.position=t}},nR=32,rR=10,iR=9,aR=13,oR=160,sR=6158,cR=8192,lR=8203,uR=8239,dR=8287,fR=12288,pR=65279;function mR(e){return/^[0-9A-Fa-f]$/.test(e)}function hR(e){return e>=`0`&&e<=`9`}function gR(e){return e>=` `}function _R(e){return`,:[]/{}()
343
343
  +`.includes(e)}function vR(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`||e===`$`}function yR(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`||e===`$`||e>=`0`&&e<=`9`}var bR=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,xR=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function SR(e){return`,[]/{}
package/dist/index.mjs CHANGED
@@ -30513,7 +30513,7 @@ var DR = class extends at {
30513
30513
  }
30514
30514
  return !1;
30515
30515
  }
30516
- if (e.event === "updates") return this.checkAndHandleInterrupt(n.data);
30516
+ if (e.event === "updates") return this.emit("updates", n.data), this.checkAndHandleInterrupt(n.data);
30517
30517
  if (e.event === "error") {
30518
30518
  let e = typeof n.message == "string" && n.message ? n.message : "流式请求失败";
30519
30519
  throw Error(e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "netstar-ai-chat",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "AI Chat Panel component for Vue 3 — 可复用的人工智能对话面板组件",
5
5
  "keywords": [
6
6
  "vue",