netstar-ai-chat 1.0.3 → 1.0.5

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.
@@ -20,6 +20,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
20
20
  hideHistory?: boolean;
21
21
  /** 透传当前 Agent 的运行时事件 */
22
22
  onAgentEvent?: AgentEventCallback;
23
+ /**
24
+ * 自定义 BubbleList roles 配置(覆盖默认 ai / user 气泡样式)。
25
+ * 不传时使用内置默认样式。
26
+ */
27
+ roles?: Record<string, any>;
23
28
  /** 对话面板标题(不设置时使用当前会话标题) */
24
29
  title?: string;
25
30
  }>, {
@@ -53,6 +58,11 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
53
58
  hideHistory?: boolean;
54
59
  /** 透传当前 Agent 的运行时事件 */
55
60
  onAgentEvent?: AgentEventCallback;
61
+ /**
62
+ * 自定义 BubbleList roles 配置(覆盖默认 ai / user 气泡样式)。
63
+ * 不传时使用内置默认样式。
64
+ */
65
+ roles?: Record<string, any>;
56
66
  /** 对话面板标题(不设置时使用当前会话标题) */
57
67
  title?: string;
58
68
  }>, {
package/dist/index.cjs CHANGED
@@ -346,13 +346,13 @@ summary tabindex target title type usemap value width wmode wrap onCopy onCut on
346
346
  onTouchend onTouchmove onTouchstart onTouchstartPassive onTouchmovePassive onScroll onWheel onAbort onCanplay onCanplaythrough
347
347
  onDurationchange onEmptied onEncrypted onEnded onError onLoadeddata onLoadedmetadata
348
348
  onLoadstart onPause onPlay onPlaying onProgress onRatechange onSeeked onSeeking onStalled onSuspend onTimeupdate onVolumechange onWaiting onLoad onError`.split(/[\s\n]+/),jA=`aria-`,MA=`data-`;function NA(e,t){return e.indexOf(t)===0}function PA(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`||NA(t,jA))||n.data&&NA(t,MA)||n.attr&&(AA.includes(t)||AA.includes(t.toLowerCase())))&&(r[t]=e[t])}),r}var FA=e=>{let t=e;return t.install=function(n){n.component(t.displayName||t.name,e)},e};function IA(e){return{type:Object,default:e}}function LA(e){return{type:Boolean,default:e}}function RA(e,t){return{validator:()=>!0,default:e}}function zA(e){return{type:Array,default:e}}function BA(e){return{type:String,default:e}}function VA(e,t){return e?{type:e,default:t}:RA(t)}var HA=Symbol(`XProviderContext`),UA=(0,a.shallowRef)(),WA=e=>{(0,a.provide)(HA,e),(0,a.watch)(e,()=>{UA.value=(0,a.unref)(e),(0,a.triggerRef)(UA)},{immediate:!0,deep:!0})},GA=()=>(0,a.inject)(HA,(0,a.computed)(()=>UA.value||{}));(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return WA((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}});var KA={classNames:{},styles:{},className:``,style:{}},qA=e=>{let t=GA();return(0,a.computed)(()=>({...KA,...(0,a.unref)(t)[e]}))};function JA(e){let t=(0,a.ref)(typeof e==`function`?e():e);function n(e){t.value=e}return[t,n]}function YA(e){return typeof e==`string`}var XA=(e,t,n,r)=>{let[i,o]=JA(``),[s,c]=JA(1),l=(0,a.computed)(()=>t.value&&YA(e.value));return(0,a.watch)(e,()=>{let t=(0,a.unref)(i);o(e.value),!l.value&&YA(e.value)?c(e.value.length):YA(e.value)&&YA(t)&&e.value.indexOf(t)!==0&&c(1)},{immediate:!0}),(0,a.watch)([s,t,e],()=>{if(l.value&&YA(e.value)&&(0,a.unref)(s)<e.value.length){let e=setTimeout(()=>{c((0,a.unref)(s)+n.value)},r.value);(0,a.onWatcherCleanup)(()=>{clearTimeout(e)})}},{immediate:!0}),[(0,a.computed)(()=>l.value&&YA(e.value)?e.value.slice(0,(0,a.unref)(s)):e.value),(0,a.computed)(()=>l.value&&YA(e.value)&&(0,a.unref)(s)<e.value.length)]};function ZA(e){let t=(0,a.computed)(()=>!!(0,a.toValue)(e)),n={step:1,interval:50,suffix:null},r=(0,a.computed)(()=>{let t=(0,a.toValue)(e);return{...n,...typeof t==`object`?t:{}}});return[t,(0,a.computed)(()=>r.value.step),(0,a.computed)(()=>r.value.interval),(0,a.computed)(()=>r.value.suffix)]}var QA=CE((0,a.defineComponent)({name:`AXBubbleLoading`,__name:`loading`,props:{prefixCls:{type:String,required:!1}},setup(e,{expose:t}){return t(),()=>(0,a.createVNode)(`span`,{class:`${e.prefixCls}-dot`},[(0,a.createVNode)(`i`,{class:`${e.prefixCls}-dot-item`,key:`item-1`},null),(0,a.createVNode)(`i`,{class:`${e.prefixCls}-dot-item`,key:`item-2`},null),(0,a.createVNode)(`i`,{class:`${e.prefixCls}-dot-item`,key:`item-3`},null)])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/bubble/loading.vue`]]),$A=`%`,ej=class{constructor(e){this.cache=new Map,this.instanceId=e}get(e){return this.cache.get(Array.isArray(e)?e.join($A):e)||null}update(e,t){let n=Array.isArray(e)?e.join($A):e,r=t(this.cache.get(n));r===null?this.cache.delete(n):this.cache.set(n,r)}},tj=`data-token-hash`,nj=`data-css-hash`,rj=`__cssinjs_instance__`;function ij(){let e=Math.random().toString(12).slice(2);if(typeof document<`u`&&document.head&&document.body){let t=document.body.querySelectorAll(`style[data-css-hash]`)||[],{firstChild:n}=document.head;Array.from(t).forEach(t=>{t[rj]=t.__cssinjs_instance__||e,t.__cssinjs_instance__===e&&document.head.insertBefore(t,n)});let r={};Array.from(document.querySelectorAll(`style[${nj}]`)).forEach(t=>{var n;let i=t.getAttribute(nj);r[i]?t.__cssinjs_instance__===e&&((n=t.parentNode)==null||n.removeChild(t)):r[i]=!0})}return new ej(e)}var aj=Symbol(`StyleContextKey`),oj=()=>{let e=(0,a.getCurrentInstance)(),t;if(e&&e.appContext){let n=e.appContext?.config?.globalProperties?.__ANTDV_CSSINJS_CACHE__;n?t=n:(t=ij(),e.appContext.config.globalProperties&&(e.appContext.config.globalProperties.__ANTDV_CSSINJS_CACHE__=t))}else t=ij();return t},sj={cache:ij(),defaultCache:!0,hashPriority:`low`},cj=()=>{let e=oj();return(0,a.inject)(aj,(0,a.shallowRef)({...sj,cache:e}))},lj=e=>{let t=cj(),n=(0,a.shallowRef)({...sj,cache:ij()});return(0,a.watch)([()=>(0,a.unref)(e),t],()=>{let r={...t.value},i=(0,a.unref)(e);Object.keys(i).forEach(e=>{let t=i[e];i[e]!==void 0&&(r[e]=t)});let{cache:o}=i;r.cache=r.cache||ij(),r.defaultCache=!o&&t.value.defaultCache,n.value=r},{immediate:!0}),(0,a.provide)(aj,n),n},uj={useStyleInject:cj,useStyleProvider:lj,StyleProvider:FA((0,a.defineComponent)({name:`AXStyleProvider`,inheritAttrs:!1,props:{autoClear:LA(),mock:BA(),cache:IA(),defaultCache:LA(),hashPriority:BA(),container:VA(),ssrInline:LA(),transformers:zA(),linters:zA()},setup(e,{slots:t}){return lj(e),()=>(0,a.h)(Mt,e,()=>t.default?.call(t))}}))};function dj(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function fj(e,t){return e&&e.contains?e.contains(t):!1}var pj=`data-vc-order`,mj=`vc-util-key`,hj=new Map;function gj({mark:e}={}){return e?e.startsWith(`data-`)?e:`data-${e}`:mj}function _j(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function vj(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function yj(e){return Array.from((hj.get(e)||e).children).filter(e=>e.tagName===`STYLE`)}function bj(e,t={}){if(!dj())return null;let{csp:n,prepend:r}=t,i=document.createElement(`style`);i.setAttribute(pj,vj(r)),n!=null&&n.nonce&&(i.nonce=n?.nonce),i.innerHTML=e;let a=_j(t),{firstChild:o}=a;if(r){if(r===`queue`){let e=yj(a).filter(e=>[`prepend`,`prependQueue`].includes(e.getAttribute(pj)));if(e.length)return a.insertBefore(i,e[e.length-1].nextSibling),i}a.insertBefore(i,o)}else a.appendChild(i);return i}function xj(e,t={}){return yj(_j(t)).find(n=>n.getAttribute(gj(t))===e)}function Sj(e,t={}){let n=xj(e,t);n&&_j(t).removeChild(n)}function Cj(e,t){let n=hj.get(e);if(!n||!fj(document,n)){let n=bj(``,t),{parentNode:r}=n;hj.set(e,r),e.removeChild(n)}}function wj(e,t,n={}){var r;Cj(_j(n),n);let i=xj(t,n);if(i)return(r=n.csp)!=null&&r.nonce&&i.nonce!==n.csp?.nonce&&(i.nonce=n.csp?.nonce),i.innerHTML!==e&&(i.innerHTML=e),i;let a=bj(e,n);return a.setAttribute(gj(n),t),a}function Tj(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var Ej=class e{constructor(){this.cache=new Map,this.keys=[],this.cacheCallTimes=0}size(){return this.keys.length}internalGet(e,t=!1){let n={map:this.cache};return e.forEach(e=>{n=n?(n?.map)?.get(e):void 0}),n!=null&&n.value&&t&&(n.value[1]=this.cacheCallTimes++),n?.value}get(e){return this.internalGet(e,!0)?.[0]}has(e){return!!this.internalGet(e)}set(t,n){if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){let[e]=this.keys.reduce((e,t)=>{let[,n]=e;return this.internalGet(t)[1]<n?[t,this.internalGet(t)[1]]:e},[this.keys[0],this.cacheCallTimes]);this.delete(e)}this.keys.push(t)}let r=this.cache;t.forEach((e,i)=>{if(i===t.length-1)r.set(e,{value:[n,this.cacheCallTimes++]});else{let t=r.get(e);t?t.map||=new Map:r.set(e,{map:new Map}),r=r.get(e).map}})}deleteByPath(e,t){let n=e.get(t[0]);if(t.length===1)return n.map?e.set(t[0],{map:n.map}):e.delete(t[0]),n.value?.[0];let r=this.deleteByPath(n.map,t.slice(1));return(!n.map||n.map.size===0)&&!n.value&&e.delete(t[0]),r}delete(e){if(this.has(e))return this.keys=this.keys.filter(t=>!Tj(t,e)),this.deleteByPath(this.cache,e)}};Ej.MAX_CACHE_SIZE=20,Ej.MAX_CACHE_OFFSET=5;var Dj=Ej;function Oj(){}var kj=Oj,Aj=Symbol(`WarningContext`),jj=(0,a.shallowRef)(),Mj=e=>{(0,a.provide)(Aj,e),(0,a.watch)(e,()=>{jj.value=(0,a.unref)(e),(0,a.triggerRef)(jj)},{immediate:!0,deep:!0})};(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return Mj((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}});var Nj=0,Pj=class{constructor(e){this.derivatives=Array.isArray(e)?e:[e],this.id=Nj,e.length===0&&kj(e.length>0),Nj+=1}getDerivativeToken(e){return this.derivatives.reduce((t,n)=>n(e,t),void 0)}},Fj=new WeakMap;function Ij(e){let t=Fj.get(e)||``;return t||(Object.keys(e).forEach(n=>{let r=e[n];t+=n,r instanceof Pj?t+=r.id:r&&typeof r==`object`?t+=Ij(r):t+=r}),Fj.set(e,t)),t}function Lj(e,t){return TE(`${t}_${Ij(e)}`)}var Rj=`random-${Date.now()}-${Math.random()}`.replace(/\./g,``),zj=`_bAmBoO_`;function Bj(e,t,n){var r;if(dj()){wj(e,Rj);let i=document.createElement(`div`);i.style.position=`fixed`,i.style.left=`0`,i.style.top=`0`,t?.(i),document.body.appendChild(i);let a=n?n(i):getComputedStyle(i).content?.includes(zj);return(r=i.parentNode)==null||r.removeChild(i),Sj(Rj),a}return!1}var Vj;function Hj(){return Vj===void 0&&(Vj=Bj(`@layer ${Rj} { .${Rj} { content: "${zj}"!important; } }`,e=>{e.className=Rj})),Vj}var Uj=dj();function Wj(e){return typeof e==`number`?`${e}px`:e}var Gj=(e,t=``)=>`--${t?`${t}-`:``}${e}`.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,`$1-$2`).replace(/([a-z])([A-Z0-9])/g,`$1-$2`).toLowerCase(),Kj=(e,t,n)=>Object.keys(e).length?`.${t}${n!=null&&n.scope?`.${n.scope}`:``}{${Object.entries(e).map(([e,t])=>`${e}:${t};`).join(``)}}`:``,qj=(e,t,n)=>{let r={},i={};return Object.entries(e).forEach(([e,t])=>{var a,o,s;if((a=n?.preserve)!=null&&a[e])i[e]=t;else if((typeof t==`string`||typeof t==`number`)&&!((o=n?.ignore)!=null&&o[e])){let a=Gj(e,n?.prefix);r[a]=typeof t==`number`&&!((s=n?.unitless)!=null&&s[e])?`${t}px`:String(t),i[e]=`var(${a})`}}),[i,Kj(r,t,{scope:n?.scope})]},Jj=class{constructor(e,t){this._keyframe=!0,this.name=e,this.style=t}getName(e=``){return e?`${e}-${this.name}`:this.name}},Yj=typeof CSSINJS_STATISTIC<`u`,Xj=!0;function Zj(...e){if(!Yj)return Object.assign({},...e);Xj=!1;let t={};return e.forEach(e=>{typeof e==`object`&&Object.keys(e).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get:()=>e[n]})})}),Xj=!0,t}var Qj={};function $j(){}var eM=e=>{let t,n=e,r=$j;return Yj&&typeof Proxy<`u`&&(t=new Set,n=new Proxy(e,{get(e,n){return Xj&&t?.add(n),e[n]}}),r=(e,n)=>{Qj[e]={global:Array.from(t),component:{...Qj[e]?.component,...n}}}),{token:n,keys:t,flush:r}};function tM(e,t,n,r){let i=cj(),o=(0,a.shallowRef)(``),s=(0,a.shallowRef)();(0,a.watchEffect)(()=>{o.value=[e,...t.value].join(`%`)});let c=e=>{i.value.cache.update(e,e=>{let[t=0,n]=e||[];return t-1==0?(r?.(n,!1),null):[t-1,n]})};return(0,a.watch)(o,(e,t)=>{t&&c(t),i.value.cache.update(e,e=>{let[t=0,r]=e||[],i=r||n();return[t+1,i]}),s.value=i.value.cache.get(o.value)[1]},{immediate:!0}),(0,a.onBeforeUnmount)(()=>{c(o.value)}),s}var nM=`data-ant-cssinjs-cache-path`,rM=`_FILE_STYLE__`,iM,aM=!0;function oM(){var e;if(!iM&&(iM={},dj())){let t=document.createElement(`div`);t.className=nM,t.style.position=`fixed`,t.style.visibility=`hidden`,t.style.top=`-9999px`,document.body.appendChild(t);let n=getComputedStyle(t).content||``;n=n.replace(/^"/,``).replace(/"$/,``),n.split(`;`).forEach(e=>{let[t,n]=e.split(`:`);iM[t]=n});let r=document.querySelector(`style[${nM}]`);r&&(aM=!1,(e=r.parentNode)==null||e.removeChild(r)),document.body.removeChild(t)}}function sM(e){return oM(),!!iM[e]}function cM(e){let t=iM[e],n=null;if(t&&dj())if(aM)n=rM;else{let t=document.querySelector(`style[${nj}="${iM[e]}"]`);t?n=t.innerHTML:delete iM[e]}return[n,t]}var lM=dj(),uM=`_skip_check_`,dM=`_multi_value_`;function fM(e){return gD(dD(e),_D).replace(/\{%%%\:[^;];}/g,`;`)}function pM(e){return typeof e==`object`&&e&&(uM in e||dM in e)}function mM(e,t,n){if(!t)return e;let r=`.${t}`,i=n===`low`?`:where(${r})`:r;return e.split(`,`).map(e=>{let t=e.trim().split(/\s+/),n=t[0]||``,r=n.match(/^\w+/)?.[0]||``;return n=`${r}${i}${n.slice(r.length)}`,[n,...t.slice(1)].join(` `)}).join(`,`)}var hM=new Set,gM=(e,t={},{root:n,injectHash:r,parentSelectors:i}={root:!0,parentSelectors:[]})=>{let{hashId:a,layer:o,path:s,hashPriority:c,transformers:l=[],linters:u=[]}=t,d=``,f={};function p(e){let n=e.getName(a);if(!f[n]){let[r]=gM(e.style,t,{root:!1,parentSelectors:i});f[n]=`@keyframes ${e.getName(a)}${r}`}}function m(e,t=[]){return e.forEach(e=>{Array.isArray(e)?m(e,t):e&&t.push(e)}),t}return m(Array.isArray(e)?e:[e]).forEach(e=>{let o=typeof e==`string`&&!n?{}:e;if(typeof o==`string`)d+=`${o}
349
- `;else if(o._keyframe)p(o);else{let e=l.reduce((e,t)=>(t?.visit)?.call(t,e)||e,o);Object.keys(e).forEach(o=>{let s=e[o];if(typeof s==`object`&&s&&(o!==`animationName`||!s._keyframe)&&!pM(s)){let e=!1,l=o.trim(),u=!1;(n||r)&&a?l.startsWith(`@`)?e=!0:l=mM(o,a,c):n&&!a&&(l===`&`||l===``)&&(l=``,u=!0);let[p,m]=gM(s,t,{root:u,injectHash:e,parentSelectors:[...i,l]});f={...f,...m},d+=`${l}${p}`}else{let e=function(e,t){let n=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),r=t;!EE[e]&&typeof r==`number`&&r!==0&&(r=`${r}px`),e===`animationName`&&t!=null&&t._keyframe&&(p(t),r=t.getName(a)),d+=`${n}:${r};`},t=s?.value??s;typeof s==`object`&&s&&s[dM]&&Array.isArray(t)?t.forEach(t=>{e(o,t)}):e(o,t)}})}}),n?o&&Hj():d=`{${d}}`,[d,f]};function _M(e,t){return TE(`${e.join(`%`)}${t}`)}function vM(e,t){let n=cj(),r=(0,a.computed)(()=>e.value?.token._tokenKey),i=(0,a.computed)(()=>[r.value,...e.value?.path||[]]),o=lM;return tM(`style`,i,()=>{let{path:a,hashId:s,layer:c,nonce:l,clientOnly:u,order:d=0}=e.value||{},f=i.value.join(`|`);if(sM(f)){let[e,t]=cM(f);if(e)return[e,r.value,t,{},u,d]}let p=t(),{hashPriority:m,container:h,transformers:g,linters:_,cache:v}=n.value,[y,b]=gM(p,{hashId:s,hashPriority:m,layer:c,path:a?.join(`-`),transformers:g,linters:_}),x=fM(y),S=_M(i.value,x);if(o){let e={mark:nj,prepend:`queue`,attachTo:h},t=typeof l==`function`?l():l;t&&(e.csp={nonce:t});let n=wj(x,S,e);n[rj]=v.instanceId,n.setAttribute(tj,r.value),Object.keys(b).forEach(e=>{hM.has(e)||(hM.add(e),wj(fM(b[e]),`_effect-${e}`,{mark:`data-css-hash`,prepend:`queue`,attachTo:h}))})}return[x,r.value,S,b,u,d]},([,,e],t)=>{(t||n.value.autoClear)&&lM&&Sj(e,{mark:`data-css-hash`})}),e=>e}var yM=`cssVar`,bM=(e,t)=>{let{key:n,prefix:r,unitless:i,ignore:a,token:o,scope:s=``}=e,{cache:{instanceId:c},container:l}=useContext(uj),{_tokenKey:u}=o,d=[...e.path,n,s,u];return tM(yM,d,()=>{let[e,o]=qj(t(),n,{prefix:r,unitless:i,ignore:a,scope:s});return[e,o,_M(d,o),n]},([,,e])=>{Uj&&Sj(e,{mark:`data-css-hash`})})},xM=class{},SM=`CALC_UNIT`,CM=new RegExp(SM,`g`);function wM(e){return typeof e==`number`?`${e}${SM}`:e}var TM=class e extends xM{constructor(t,n){super(),this.result=``;let r=typeof t;this.unitlessCssVar=n,t instanceof e?this.result=`(${t.result})`:r===`number`?this.result=wM(t):r===`string`&&(this.result=t)}add(t){return t instanceof e?this.result=`${this.result} + ${t.getResult()}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} + ${wM(t)}`),this.lowPriority=!0,this}sub(t){return t instanceof e?this.result=`${this.result} - ${t.getResult()}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} - ${wM(t)}`),this.lowPriority=!0,this}mul(t){return this.lowPriority&&(this.result=`(${this.result})`),t instanceof e?this.result=`${this.result} * ${t.getResult(!0)}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} * ${t}`),this.lowPriority=!1,this}div(t){return this.lowPriority&&(this.result=`(${this.result})`),t instanceof e?this.result=`${this.result} / ${t.getResult(!0)}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} / ${t}`),this.lowPriority=!1,this}getResult(e){return this.lowPriority||e?`(${this.result})`:this.result}equal(e){let{unit:t}=e||{},n=!0;return typeof t==`boolean`?n=t:Array.from(this.unitlessCssVar).some(e=>this.result.includes(e))&&(n=!1),this.result=this.result.replace(CM,n?`px`:``),typeof this.lowPriority<`u`?`calc(${this.result})`:this.result}},EM=class e extends xM{constructor(t){super(),this.result=0,t instanceof e?this.result=t.result:typeof t==`number`&&(this.result=t)}add(t){return t instanceof e?this.result+=t.result:typeof t==`number`&&(this.result+=t),this}sub(t){return t instanceof e?this.result-=t.result:typeof t==`number`&&(this.result-=t),this}mul(t){return t instanceof e?this.result*=t.result:typeof t==`number`&&(this.result*=t),this}div(t){return t instanceof e?this.result/=t.result:typeof t==`number`&&(this.result/=t),this}equal(){return this.result}},DM=(e,t)=>{let n=e===`css`?TM:EM;return e=>new n(e,t)},OM=(e,t)=>`${[t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,`$1-$2`).replace(/([a-z])([A-Z])/g,`$1-$2`)].filter(Boolean).join(`-`)}`;function kM(e,t={},n,r){let i={...t[e]};if(r!=null&&r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(([e,t])=>{(i!=null&&i[e]||i!=null&&i[t])&&(i[t]??(i[t]=i?.[e]))})}let a={...n,...i};return Object.keys(a).forEach(e=>{a[e]===t[e]&&delete a[e]}),a}function AM(e,t={},n){return typeof n==`function`?n(Zj(t,t[e]??{})):n??{}}function jM(e){return e===`js`?{max:Math.max,min:Math.min}:{max:(...e)=>`max(${e.map(e=>Wj(e)).join(`,`)})`,min:(...e)=>`min(${e.map(e=>Wj(e)).join(`,`)})`}}var MM=Object.defineProperty,NM=(e,t,n)=>t in e?MM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,PM=(e,t,n)=>NM(e,typeof t==`symbol`?t:t+``,n),FM=1e3*60*10,IM=new class{constructor(){PM(this,`map`,new Map),PM(this,`objectIDMap`,new WeakMap),PM(this,`nextID`,0),PM(this,`lastAccessBeat`,new Map),PM(this,`accessBeat`,0)}set(e,t){this.clear();let n=this.getCompositeKey(e);this.map.set(n,t),this.lastAccessBeat.set(n,Date.now())}get(e){let t=this.getCompositeKey(e),n=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,n}getCompositeKey(e){return e.map(e=>e&&typeof e==`object`?`obj_${this.getObjectID(e)}`:`${typeof e}_${e}`).join(`|`)}getObjectID(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);let t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}clear(){if(this.accessBeat>1e4){let e=Date.now();this.lastAccessBeat.forEach((t,n)=>{e-t>FM&&(this.map.delete(n),this.lastAccessBeat.delete(n))}),this.accessBeat=0}}};function LM(e,t){return(0,a.computed)(()=>{let n=IM.get(t);if(n)return n;let r=e();return IM.set(t,r),r})}var RM=()=>({});function zM(e){let{useCSP:t=RM,useToken:n,usePrefix:r,getResetStyles:i,getCommonStyle:o,getCompUnitless:s}=e;function c(e,t,n,r){let i=Array.isArray(e)?e[0]:e;function o(e){return`${String(i)}${e.slice(0,1).toUpperCase()}${e.slice(1)}`}let c=r?.unitless||{},d={...typeof s==`function`?s(e):{},[o(`zIndexPopup`)]:!0};Object.keys(c).forEach(e=>{d[o(e)]=c[e]});let f={...r,unitless:d,prefixToken:o},p=u(e,t,n,f),m=l(i,n,f);return(e,t=(0,a.toValue)(e))=>{let[,n]=p((0,a.toValue)(e),t),[r,i]=m(t);return[r,n,i]}}function l(e,t,r){let{unitless:i,injectStyle:o=!0,prefixToken:s,ignore:c}=r,l=({rootCls:a,cssVar:o={}})=>{let{realToken:l}=n();return bM({path:[e],prefix:o.prefix,key:o.key,unitless:i,ignore:c,token:l,scope:a},()=>{let n=AM(e,l,t),i=kM(e,l,n,{deprecatedTokens:r?.deprecatedTokens});return Object.keys(n).forEach(e=>{i[s(e)]=i[e],delete i[e]}),i}),null};return t=>{let{cssVar:r}=n();return[n=>o&&r?(0,a.createVNode)(a.Fragment,null,[(0,a.createVNode)(l,{rootCls:t,cssVar:r,component:e},null),n]):n,r?.key]}}function u(s,c,l,u={}){let d=Array.isArray(s)?s:[s,s],[f]=d,p=d.join(`-`),m=e.layer||{name:`antd`};return(e,s=e)=>{let{theme:d,realToken:h,hashId:g,token:_,cssVar:v}=n(),{rootPrefixCls:y,iconPrefixCls:b}=r(),x=t(),S=v?`css`:`js`,C=(0,a.unref)(LM(()=>{let e=new Set;return v&&Object.keys(u.unitless||{}).forEach(t=>{e.add(Gj(t,v.prefix)),e.add(Gj(t,OM(f,v.prefix)))}),DM(S,e)},[S,f,v?.prefix])),{max:w,min:T}=jM(S),E=(0,a.computed)(()=>({theme:d.value,token:_.value,hashId:g.value,nonce:()=>x.nonce,clientOnly:u.clientOnly,layer:m,order:u.order||-999}));return typeof i==`function`&&vM((0,a.computed)(()=>({...E.value,clientOnly:!1,path:[`Shared`,y]})),()=>i(_.value,{prefix:{rootPrefixCls:y,iconPrefixCls:b},csp:x})),[vM((0,a.computed)(()=>({...E.value,path:[p,e,b]})),()=>{if(u.injectStyle===!1)return[];let{token:t,flush:n}=eM(_),r=AM(f,h,l),i=`.${e}`,d=kM(f,h,r,{deprecatedTokens:u.deprecatedTokens});v&&r&&typeof r==`object`&&Object.keys(r).forEach(e=>{r[e]=`var(${Gj(e,OM(f,v.prefix))})`});let p=(0,a.computed)(()=>Zj(t.value,{componentCls:i,prefixCls:e,iconCls:`.${b}`,antCls:`.${y}`,calc:C,max:w,min:T},v?r:d)),m=(0,a.computed)(()=>c(p.value,{hashId:g.value,prefixCls:e,rootPrefixCls:y,iconPrefixCls:b}));n(f,d);let x=typeof o==`function`?o(p.value,e,s,u.resetFont):null;return[u.resetStyle===!1?null:x,m.value]}),g]}}function d(e,t,n,r={}){let i=u(e,t,n,{resetStyle:!1,order:-998,...r});return({prefixCls:e,rootCls:t=e})=>(i(e,t),null)}return{genStyleHooks:c,genSubStyleComponent:d,genComponentStyleHook:u}}var BM={},VM=`css`,HM=new Map;function UM(e){HM.set(e,(HM.get(e)||0)+1)}function WM(e,t){typeof document<`u`&&document.querySelectorAll(`style[data-token-hash="${e}"]`).forEach(e=>{var n;e.__cssinjs_instance__===t&&((n=e.parentNode)==null||n.removeChild(e))})}var GM=0;function KM(e,t){HM.set(e,(HM.get(e)||0)-1);let n=Array.from(HM.keys()),r=n.filter(e=>(HM.get(e)||0)<=0);n.length-r.length>GM&&r.forEach(e=>{WM(e,t),HM.delete(e)})}var qM=(e,t,n,r)=>{let i={...n?.getDerivativeToken(e),...t};return r&&(i=r(i)),i};function JM(e,t,n=(0,a.ref)({})){let r=cj(),i=(0,a.computed)(()=>Object.assign({},...t.value||[])),o=(0,a.computed)(()=>Ij(i.value)),s=(0,a.computed)(()=>Ij(n.value?.override||BM));return tM(`token`,(0,a.computed)(()=>[n.value?.salt||``,e.value?.id,o.value,s.value]),()=>{let{salt:t=``,override:r=BM,formatToken:a,getComputedToken:o}=n.value||{},s=o?o(i.value,r,e.value):qM(i.value,r,e.value,a),c=Lj(s,t);s._tokenKey=c,UM(c);let l=`${VM}-${TE(c)}`;return s._hashId=l,[s,l]},e=>{KM(e[0]._tokenKey,r.value?.cache.instanceId)})}var YM=new Dj;function XM(e){let t=Array.isArray(e)?e:[e];return YM.has(t)||YM.set(t,new Pj(t)),YM.get(t)}var ZM={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},QM={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},$M=`1.0.3`,eN=XM(LT.defaultAlgorithm),tN={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},nN=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:i,...a}=t,o={...r,override:i};return o=pi(o),a&&Object.entries(a).forEach(([e,t])=>{let{theme:n,...r}=t,i=r;n&&(i=nN({...o,...r},{override:r},n)),o[e]=i}),o};function rN(){let{token:e,hashId:t,theme:n}=LT.useToken(),r=(0,a.computed)(()=>({token:e.value,hashed:t.value,theme:n.value})),{override:i,cssVar:o}=(0,a.unref)(r),s=(0,a.computed)(()=>r.value.token),c=(0,a.computed)(()=>r.value.hashed),l=(0,a.computed)(()=>r.value.theme??eN),u=JM((0,a.computed)(()=>l.value),(0,a.computed)(()=>[LT.defaultSeed,s.value]),(0,a.computed)(()=>({salt:`${$M}-${c.value||``}`,override:i,getComputedToken:nN,cssVar:o&&{prefix:o.prefix,key:o.key,unitless:QM,ignore:ZM,preserve:tN}}))),[d,f,p]=(0,a.unref)(u),m=(0,a.computed)(()=>u.value[0]);return[l,p,(0,a.computed)(()=>c.value?u.value[1]:``),m,o]}function iN(){let{getPrefixCls:e,direction:t,csp:n,iconPrefixCls:r,theme:i}=Mi();return{theme:i,getPrefixCls:e,direction:t,csp:n,iconPrefixCls:r}}var{genStyleHooks:aN,genComponentStyleHook:oN,genSubStyleComponent:sN}=zM({usePrefix:()=>{let{getPrefixCls:e,iconPrefixCls:t}=iN();return{iconPrefixCls:(0,a.unref)(t),rootPrefixCls:e()}},useToken:()=>{let[e,t,n,r,i]=rN();return{theme:e,realToken:t,hashId:n,token:r,cssVar:i}},useCSP:()=>{let{csp:e}=iN();return e?.value??{}},layer:{name:`antdx`,dependencies:[`antd`]}}),cN=e=>{let{componentCls:t,paddingSM:n,padding:r}=e;return{[t]:{[`${t}-content`]:{"&-filled,&-outlined,&-shadow":{padding:`${Wj(n)} ${Wj(r)}`,borderRadius:e.borderRadiusLG},"&-filled":{backgroundColor:e.colorFillContent},"&-outlined":{border:`1px solid ${e.colorBorderSecondary}`},"&-shadow":{boxShadow:e.boxShadowTertiary}}}}},lN=e=>{let{componentCls:t,fontSize:n,lineHeight:r,paddingSM:i,padding:a,calc:o}=e,s=o(n).mul(r).div(2).add(i).equal(),c=`${t}-content`;return{[t]:{[c]:{"&-round":{borderRadius:{_skip_check_:!0,value:s},paddingInline:o(a).mul(1.25).equal()}},[`&-start ${c}-corner`]:{borderStartStartRadius:e.borderRadiusXS},[`&-end ${c}-corner`]:{borderStartEndRadius:e.borderRadiusXS}}}},uN=e=>{let{componentCls:t,padding:n}=e;return{[`${t}-list`]:{display:`flex`,flexDirection:`column`,gap:n,overflowY:`auto`,"&::-webkit-scrollbar":{width:8,backgroundColor:`transparent`},"&::-webkit-scrollbar-thumb":{backgroundColor:e.colorTextTertiary,borderRadius:e.borderRadiusSM},"&":{scrollbarWidth:`thin`,scrollbarColor:`${e.colorTextTertiary} transparent`}}}},dN=new Jj(`loadingMove`,{"0%":{transform:`translateY(0)`},"10%":{transform:`translateY(4px)`},"20%":{transform:`translateY(0)`},"30%":{transform:`translateY(-4px)`},"40%":{transform:`translateY(0)`}}),fN=new Jj(`cursorBlink`,{"0%":{opacity:1},"50%":{opacity:0},"100%":{opacity:1}}),pN=e=>{let{componentCls:t,fontSize:n,lineHeight:r,paddingSM:i,colorText:a,calc:o}=e;return{[t]:{display:`flex`,columnGap:i,[`&${t}-end`]:{justifyContent:`end`,flexDirection:`row-reverse`,[`& ${t}-content-wrapper`]:{alignItems:`flex-end`}},[`&${t}-rtl`]:{direction:`rtl`},[`&${t}-typing ${t}-content:last-child::after`]:{content:`"|"`,fontWeight:900,userSelect:`none`,opacity:1,marginInlineStart:`0.1em`,animationName:fN,animationDuration:`0.8s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`},[`& ${t}-avatar`]:{display:`inline-flex`,justifyContent:`center`,alignSelf:`flex-start`},[`& ${t}-header, & ${t}-footer`]:{fontSize:n,lineHeight:r,color:e.colorText},[`& ${t}-header`]:{marginBottom:e.paddingXXS},[`& ${t}-footer`]:{marginTop:i},[`& ${t}-content-wrapper`]:{flex:`auto`,display:`flex`,flexDirection:`column`,alignItems:`flex-start`,minWidth:0,maxWidth:`100%`},[`& ${t}-content`]:{position:`relative`,boxSizing:`border-box`,minWidth:0,maxWidth:`100%`,color:a,fontSize:e.fontSize,lineHeight:e.lineHeight,minHeight:o(i).mul(2).add(o(r).mul(n)).equal(),wordBreak:`break-word`,[`& ${t}-dot`]:{position:`relative`,height:`100%`,display:`flex`,alignItems:`center`,columnGap:e.marginXS,padding:`0 ${Wj(e.paddingXXS)}`,"&-item":{backgroundColor:e.colorPrimary,borderRadius:`100%`,width:4,height:4,animationName:dN,animationDuration:`2s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`,"&:nth-child(1)":{animationDelay:`0s`},"&:nth-child(2)":{animationDelay:`0.2s`},"&:nth-child(3)":{animationDelay:`0.4s`}}}}}}},mN=aN(`Bubble`,e=>{let t=Zj(e,{});return[pN(t),uN(t),cN(t),lN(t)]},()=>({})),hN=Symbol(`BubbleContext`),gN=(0,a.shallowRef)(),_N=e=>{(0,a.provide)(hN,e),(0,a.watch)(e,()=>{gN.value=(0,a.unref)(e),(0,a.triggerRef)(gN)},{immediate:!0,deep:!0})},vN=()=>(0,a.inject)(hN,(0,a.computed)(()=>gN.value||{})),yN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return _N((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),bN=CE((0,a.defineComponent)({name:`AXBubble`,__name:`Bubble`,props:{prefixCls:{type:String,required:!1},rootClassName:{type:String,required:!1},styles:{type:Object,required:!1,default:()=>({})},classNames:{type:Object,required:!1,default:()=>({})},avatar:{type:[Object,Function],required:!1},placement:{type:String,required:!1,default:`start`},loading:{type:Boolean,required:!1,default:!1},typing:{type:null,required:!1},content:{type:null,required:!1,default:``},messageRender:{type:Function,required:!1},loadingRender:{type:Function,required:!1},variant:{type:String,required:!1,default:`filled`},shape:{type:String,required:!1},_key:{type:[Number,String],required:!1},onTypingComplete:{type:null,required:!1},header:{type:null,required:!1},footer:{type:null,required:!1}},setup(e,{expose:t}){let n=SE(e,[`prefixCls`,`rootClassName`,`classNames`,`styles`,`avatar`,`placement`,`loading`,`loadingRender`,`typing`,`content`,`messageRender`,`variant`,`shape`,`onTypingComplete`,`header`,`footer`,`_key`]);(0,a.toRef)(e,`content`),(0,a.toRef)(e,`prefixCls`);let r=(0,a.useSlots)(),i=(0,a.ref)(e.content);(0,a.watch)(()=>e.content,()=>{i.value=e.content});let{onUpdate:o}=(0,a.unref)(vN()),s=(0,a.ref)(null),{direction:c,getPrefixCls:l}=iN(),u=l(`bubble`,e.prefixCls),d=qA(`bubble`),[f,p,m,h]=ZA(()=>e.typing),[g,_]=XA(i,f,p,m),v=(0,a.ref)(!1);(0,a.watch)(g,()=>{o?.()}),(0,a.watchEffect)(()=>{var t;!_.value&&!e.loading?v.value||(v.value=!0,(t=e.onTypingComplete)==null||t.call(e)):v.value=!1});let[y,b,x]=mN(()=>u),S=(0,a.computed)(()=>[u,e.rootClassName,d.value.className,b.value,x,`${u}-${e.placement}`,{[`${u}-rtl`]:c.value===`rtl`},{[`${u}-typing`]:_.value&&!e.loading&&!e.messageRender&&!r.message&&!h.value}]),C=e=>Array.isArray(e)&&e.every(a.isVNode),w=(0,a.computed)(()=>r.avatar?r.avatar():typeof e.avatar==`function`?e.avatar():(0,a.isVNode)(e.avatar)||C(e.avatar)?e.avatar:(0,a.createVNode)($l,e.avatar,null)),T=(0,a.computed)(()=>r.message?r.message({content:g.value}):e.messageRender?e.messageRender(g.value):g.value),E=(0,a.computed)(()=>e.loading?r.loading?r.loading():e.loadingRender?e.loadingRender():(0,a.createVNode)(QA,{prefixCls:u},null):(0,a.createVNode)(a.Fragment,null,[T.value,_.value&&(0,a.toValue)(h)])),D=(0,a.computed)(()=>{let t=(0,a.createVNode)(`div`,{style:{...d.value.styles.content,...e.styles.content},class:[`${u}-content`,`${u}-content-${e.variant}`,{[`${u}-content-${e.shape}`]:e.shape},d.value.classNames.content,e.classNames.content]},[(0,a.toValue)(E)]),n=r.header?r.header({content:g.value,info:{key:e._key}}):typeof e.header==`function`?e.header(g.value,{key:e._key}):e.header,i=r.footer?r.footer({content:g.value,info:{key:e._key}}):typeof e.footer==`function`?e.footer(g.value,{key:e._key}):e.footer;return n||i?(0,a.createVNode)(`div`,{class:`${u}-content-wrapper`},[n&&(0,a.createVNode)(`div`,{class:[`${u}-header`,d.value.classNames.header,e.classNames.header],style:{...d.value.styles.header,...e.styles.header}},[n]),t,i&&(0,a.createVNode)(`div`,{class:[`${u}-footer`,d.value.classNames.footer,e.classNames.footer],style:{...d.value.styles.footer,...e.styles.footer}},[i])]):t});return t({nativeElement:s}),()=>y((0,a.createVNode)(`div`,(0,a.mergeProps)({style:{...d.value.style},class:(0,a.toValue)(S)},n,{ref:s}),[(r.avatar||e.avatar)&&(0,a.createVNode)(`div`,{style:{...d.value.styles.avatar,...e.styles.avatar},class:[`${u}-avatar`,d.value.classNames.avatar,e.classNames.avatar]},[(0,a.toValue)(w)]),(0,a.toValue)(D)]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/bubble/Bubble.vue`]]);function xN(e){let[t,n]=JA(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,kA(e=>{e===(0,a.unref)(i)&&n((0,a.unref)(t)+1)})]}function SN(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 CN=1,wN=CE((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=SE(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)(()=>PA((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}=iN(),f=d(`bubble`,e.prefixCls),p=`${f}-list`,[m,h,g]=mN(f),[_,v]=JA(!1);(0,a.watchPostEffect)(()=>{v(!0),(0,a.onWatcherCleanup)(()=>{v(!1)})});let[y,b]=xN(SN(s,c)),[x,S]=JA(!0),[C,w]=JA(0),T=t=>{var n;let r=t.target;S(r.scrollHeight-Math.abs(r.scrollTop)-r.clientHeight<=CN),(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=kA(()=>{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];t&&(S((0,a.unref)(y).findIndex(t=>t.key===e)===(0,a.unref)(y).length-1),t.nativeElement.scrollIntoView({behavior:n,block:r}))}}}),()=>m((0,a.createVNode)(yN,{value:D.value},{default:()=>[(0,a.createVNode)(`div`,(0,a.mergeProps)(o.value,{class:xD(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)(bN,(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`]]),TN=CE((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=SE(e,[`prefixCls`,`info`,`class`,`direction`,`onClick`,`active`,`menu`]);(0,a.toRef)(e,`class`);let r=(0,a.computed)(()=>PA(n,{aria:!0,data:!0,attr:!0})),i=e=>{e.stopPropagation()},o=(0,a.computed)(()=>e.info.disabled),[s,c]=JA(!1),[l,u]=JA(!1),d=(0,a.computed)(()=>xD(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)(Rk,{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)(Gl,{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)(dT.Text,{class:`${e.prefixCls}-label`,ellipsis:{onEllipsis:c}},{default:()=>[e.info.label]}),!o.value&&e.menu&&(0,a.createVNode)(pp,{placement:e.direction===`rtl`?`bottomLeft`:`bottomRight`,trigger:[`click`],disabled:o.value,onOpenChange:p,getPopupContainer:g.value},{default:()=>_(e.info),overlay:()=>(0,a.createVNode)(fx,h.value,null)})])]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/ConversationsItem.vue`]]),EN=Symbol(`GroupTitleContext`),DN=(0,a.shallowRef)(),ON=e=>{(0,a.provide)(EN,e),(0,a.watch)(e,()=>{DN.value=(0,a.unref)(e),(0,a.triggerRef)(DN)},{immediate:!0,deep:!0})},kN=()=>(0,a.inject)(EN,(0,a.computed)(()=>DN.value||{})),AN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return ON((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),jN=CE((0,a.defineComponent)({name:`AXConversationsGroupTitle`,__name:`GroupTitle`,setup(e,{expose:t}){t();let n=(0,a.useSlots)(),r=kN(),i=(0,a.computed)(()=>n.default?.call(n));return()=>(0,a.createVNode)(`div`,{class:xD(`${r.value.prefixCls}-group-title`)},[i.value&&(0,a.createVNode)(dT.Text,null,{default:()=>[i.value]})])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/GroupTitle.vue`]]);function MN(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 NN=`__ungrouped`,PN=(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:NN,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||NN;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===NN?void 0:t,title:n.value.title,data:e[t]})),enableGroup:n.value.enableGroup}})},FN=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 ${Wj(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 ${Wj(e.paddingXS)}`}}}},IN=aN(`Conversations`,e=>FN(Zj(e,{})),()=>({})),LN=CE((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=SE(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)(()=>PA(n,{attr:!0,aria:!0,data:!0})),[o,s]=MN(e.defaultActiveKey,{value:r});(0,a.watch)(()=>e.activeKey,()=>{r.value=e.activeKey});let c=PN(()=>e.groupable,()=>e.items),{getPrefixCls:l,direction:u}=iN(),d=(0,a.computed)(()=>l(`conversations`,e.prefixCls)),f=qA(`conversations`),[p,m,h]=IN(d),g=(0,a.computed)(()=>xD(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)(TN,{key:t.key||`key-${n}`,info:t,prefixCls:d.value,direction:u.value,class:xD(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)(AN,{value:{prefixCls:d.value}},{default:()=>[t.title?.call(t,t.name,{components:{GroupTitle:jN}})||(0,a.createVNode)(jN,{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`]]),RN=Symbol(`SenderHeaderContext`),zN=(0,a.shallowRef)(),BN=e=>{(0,a.provide)(RN,e),(0,a.watch)(e,()=>{zN.value=(0,a.unref)(e),(0,a.triggerRef)(zN)},{immediate:!0,deep:!0})},VN=()=>(0,a.inject)(RN,(0,a.computed)(()=>zN.value||{})),HN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return BN((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),UN=Symbol(`ActionButtonContext`),WN=(0,a.shallowRef)(),GN=e=>{(0,a.provide)(UN,e),(0,a.watch)(e,()=>{WN.value=(0,a.unref)(e),(0,a.triggerRef)(WN)},{immediate:!0,deep:!0})},KN=()=>(0,a.inject)(UN,(0,a.computed)(()=>WN.value||{})),qN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return GN((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),JN=CE((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=SE(e,[`action`,`type`,`disabled`,`onClick`]);(0,a.toRef)(e,`disabled`);let r=(0,a.useSlots)(),i=KN(),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)(zf,(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:xD(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`]]),YN=CE((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=SE(e,[`disabled`]);return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({disabled:e.disabled},n,{action:`onClear`}),{default:()=>[(0,a.createVNode)(Ek,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/ClearButton.vue`]]),XN=CE((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`]]),ZN=CE((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=SE(e,[`type`,`shape`,`icon`,`disabled`]),r=KN(),{token:i}=LT.useToken();return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({type:e.type,disabled:e.disabled,shape:e.shape,icon:e.icon},n,{style:{backgroundColor:`transparent`,color:i.value.colorPrimary},class:xD(`${r.value.prefixCls}-loading-button`),action:`onCancel`}),{default:()=>[(0,a.createVNode)(XN,{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`]]),QN=CE((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=SE(e,[`type`,`shape`,`disabled`]);return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({type:e.type,shape:e.shape,disabled:e.disabled},n,{action:`onSend`}),{default:()=>[(0,a.createVNode)(mk,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SendButton.vue`]]),$N=1e3,eP=4,tP=140,nP=250,rP=500,iP=.8,aP=CE((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=tP/2;return()=>(0,a.createVNode)(`svg`,{color:`currentColor`,viewBox:`0 0 ${$N} ${$N}`,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:eP}).map((e,t)=>{let r=t*286.66666666666663,i=$N/2-nP/2,o=$N/2-rP/2;return(0,a.createVNode)(`rect`,{fill:`currentColor`,rx:n,ry:n,height:nP,width:tP,x:r,y:i,key:t},[(0,a.createVNode)(`animate`,{attributeName:`height`,values:`${nP}; ${rP}; ${nP}`,keyTimes:`0; 0.5; 1`,dur:`${iP}s`,begin:`${iP/eP*t}s`,repeatCount:`indefinite`},null),(0,a.createVNode)(`animate`,{attributeName:`y`,values:`${i}; ${o}; ${i}`,keyTimes:`0; 0.5; 1`,dur:`${iP}s`,begin:`${iP/eP*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`]]),oP=CE((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)(Sk,null,null),audioDisabledIcon:()=>(0,a.createVNode)(vk,null,null),audioRecordingIcon:void 0}),setup(e,{expose:t}){t();let n=SE(e,[`type`,`disabled`,`audioIcon`,`audioDisabledIcon`,`audioRecordingIcon`]),r=KN(),{token:i}=LT.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)(aP,{className:`${s.value}-recording-icon`},null):r.value.onSpeechDisabled?e.audioDisabledIcon:e.audioIcon,t});return()=>(0,a.createVNode)(JN,(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`]]),sP=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`}}}}}},cP=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(`,`)}}}}},lP=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`}}}},uP=aN(`Sender`,e=>{let{paddingXS:t,calc:n}=e,r=Zj(e,{SenderContentMaxWidth:`calc(100% - ${Wj(n(t).add(32).equal())})`});return[lP(r),sP(r),cP(r)]},()=>({})),dP;!dP&&typeof window<`u`&&(dP=window.SpeechRecognition||window.webkitSpeechRecognition);function fP(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)(()=>dP&&c.value!==`denied`),u=(0,a.ref)(null),[d,f]=MN(!1,{value:i}),p=(0,a.ref)(!1),m=()=>{if(l.value&&!u.value){let e=new dP;e.onstart=()=>{f(!0)},e.onend=()=>{f(!1)},e.onresult=e=>{p.value||n(e.results?.[0]?.[0]?.transcript),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 pP(e,t){for(var n=e,r=0;r<t.length;r+=1){if(n==null)return;n=n[t[r]]}return n}var mP=CE((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=SE(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 pP(e,t)||n}let o={SendButton:QN,ClearButton:YN,LoadingButton:ZN,SpeechButton:oP},s=n,c=(0,a.useSlots)(),{direction:l,getPrefixCls:u}=iN(),d=(0,a.computed)(()=>u(`sender`,e.prefixCls)),f=(0,a.ref)(null),p=(0,a.ref)(null),m=qA(`sender`),h=(0,a.computed)(()=>`${d.value}-input`),[g,_,v]=uP(d.value),y=(0,a.computed)(()=>xD(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}=fP(e=>{w(`${S.value} ${e}`)},()=>e.allowSpeech),O=i(e.components,[`input`],W_.TextArea),k=(0,a.computed)(()=>PA(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()},z=(0,a.computed)(()=>{let t=(0,a.createVNode)(OT,{class:`${x.value}-presets`},{default:()=>[e.allowSpeech&&(0,a.createVNode)(oP,typeof e.allowSpeech==`object`?{audioIcon:e.allowSpeech.audioIcon,audioDisabledIcon:e.allowSpeech.audioDisabledIcon,audioRecordingIcon:e.allowSpeech.audioRecordingIcon}:{},null),e.loading?(0,a.createVNode)(ZN,null,null):(0,a.createVNode)(QN,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}),ee=(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})),B=(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}),V=(0,a.computed)(()=>c.header?c.header():typeof e.header==`function`?e.header():e.header),H=(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}},[V.value&&(0,a.createVNode)(HN,{value:{prefixCls:d.value}},{default:()=>[V.value]}),(0,a.createVNode)(qN,{value:ee.value},{default:()=>[(0,a.createVNode)(`div`,{class:`${d.value}-content`,onMousedown:R},[H.value&&(0,a.createVNode)(`div`,{class:xD(`${d.value}-prefix`,m.value.classNames.prefix,e.classNames.prefix),style:{...m.value.styles.prefix,...e.styles.prefix}},[H.value]),(0,a.createVNode)(O,(0,a.mergeProps)(A.value,{disabled:e.disabled,style:{...m.value.styles.input,...e.styles.input},class:xD(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),z.value&&(0,a.createVNode)(`div`,{class:xD(x.value,m.value.classNames.actions,e.classNames.actions),style:{...m.value.styles.actions,...e.styles.actions}},[z.value])]),B.value&&(0,a.createVNode)(`div`,{class:xD(`${d.value}-footer`,m.value.classNames.footer,e.classNames.footer),style:{...m.value.styles.footer,...e.styles.footer}},[B.value])]})]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/Sender.vue`]]),hP=CE((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`]]),gP=CE((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=VN(),i=(0,a.computed)(()=>`${r.value.prefixCls}-header`),o=(0,a.useAttrs)();return()=>(0,a.createVNode)(hP,{prefixCls:r.value.prefixCls},{default:()=>[e.open||e.forceRender?(0,a.withDirectives)((0,a.createVNode)(`div`,(0,a.mergeProps)(o,{class:xD(i.value,e.className),style:{...e.style}}),[(e.closable!==!1||e.title)&&(0,a.createVNode)(`div`,{class:xD(`${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)(zf,{type:`text`,icon:(0,a.createVNode)(Pk,null,null),size:`small`,onClick:()=>{var t;(t=e.onOpenChange)==null||t.call(e,!e.open)}},null)])]),n.default&&(0,a.createVNode)(`div`,{class:xD(`${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`]]),_P=Object.assign(mP,{Header:gP});_P.install=function(e){return e.component(_P.name,_P),e.component(gP.name,gP),e};var vP={class:`agent-picker-wrap`},yP={class:`agent-option-item`},bP={class:`agent-option-label`},xP={class:`agent-picker__dynamic-form`},SP=(0,a.defineComponent)({__name:`AgentPicker`,props:{builtInAgents:{},value:{default:``},disabled:{type:Boolean,default:!1},storageKey:{default:`chat_panel_agent`},agentFactory:{},agentTypeOptions:{default:()=>[{value:`langchain_py`,label:`Langchain Py(SSE 流式)`},{value:`dify_sdk`,label:`Dify SDK`}]}},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)();function p(){return{label:``,type:n.agentTypeOptions[0]?.value??``,configJson:``}}let m=(0,a.reactive)(p()),h=(0,a.computed)(()=>({label:[{required:!0,message:`请输入名称`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]}));function g(){try{let e=localStorage.getItem(i);s.value=e?JSON.parse(e):[]}catch{s.value=[]}}function _(){localStorage.setItem(i,JSON.stringify(s.value))}function v(e){let t=`custom_${e.id}`;if(c.has(t))return c.get(t);if(!n.agentFactory)throw Error(`未提供 agentFactory prop,无法创建自定义 Agent 实例。请传入 agentFactory 回调函数。`);let r=(0,a.markRaw)(n.agentFactory(e));return c.set(t,r),r}let y=(0,a.computed)(()=>s.value.map(e=>({key:`custom_${e.id}`,label:e.label,agent:v(e)}))),b=(0,a.computed)(()=>[...n.builtInAgents,...y.value]),x=(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 S(){r(`update:agents`,b.value)}function C(){u.value=null,Object.assign(m,p()),l.value=!0}function w(e){let t=e.replace(/^custom_/,``),n=s.value.find(e=>e.id===t);n&&(u.value=t,Object.assign(m,{label:n.label,type:n.config?String(n.config.type||n.type||``):n.type||``,configJson:n.config?JSON.stringify(n.config,null,2):``}),l.value=!0)}function T(){l.value=!1,u.value=null,Object.assign(m,p())}async function E(){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;if(m.configJson.trim())try{n=JSON.parse(m.configJson.trim())}catch{eb.error(`配置 JSON 格式不正确`),d.value=!1;return}let r={id:t,label:m.label.trim(),type:m.type,config:n||{type:m.type}};e?(s.value=s.value.map(e=>e.id===t?r:e),c.delete(`custom_${t}`)):s.value=[...s.value,r],_(),S(),l.value=!1,u.value=null,Object.assign(m,p()),eb.success(e?`代理人已更新`:`代理人已添加`)}finally{d.value=!1}}function D(e){let t=e.replace(/^custom_/,``);if(s.value=s.value.filter(e=>e.id!==t),_(),c.delete(e),S(),n.value===e){let e=n.builtInAgents[0]?.key||``;localStorage.setItem(o,e),r(`update:value`,e)}eb.success(`已删除`)}function O(e){let t=String(e??``);localStorage.setItem(o,t),r(`update:value`,t)}return(0,a.onMounted)(()=>{g(),S()}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,vP,[n[8]||=(0,a.createElementVNode)(`span`,{class:`agent-picker-label`},`代理人`,-1),(0,a.createVNode)((0,a.unref)(iw),{value:e.value,size:`small`,class:`agent-picker`,disabled:e.disabled,options:x.value,onChange:O},{option:(0,a.withCtx)(e=>[(0,a.createElementVNode)(`div`,yP,[(0,a.createElementVNode)(`span`,bP,(0,a.toDisplayString)(e.label),1),e.isBuiltIn?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[(0,a.createVNode)((0,a.unref)(qw),{class:`agent-option-edit`,onMousedown:n[0]||=(0,a.withModifiers)(()=>{},[`stop`]),onClick:(0,a.withModifiers)(t=>w(String(e.value)),[`stop`])},null,8,[`onClick`]),(0,a.createVNode)((0,a.unref)(ZT),{class:`agent-option-del`,onMousedown:n[1]||=(0,a.withModifiers)(()=>{},[`stop`]),onClick:(0,a.withModifiers)(t=>D(String(e.value)),[`stop`])},null,8,[`onClick`])],64))])]),_:1},8,[`value`,`disabled`,`options`]),(0,a.createVNode)((0,a.unref)(Gl),{title:`新增代理人`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`text`,size:`small`,class:`agent-add-btn`,onClick:C},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),_:1})]),_:1}),(0,a.createVNode)((0,a.unref)(iS),{open:l.value,"onUpdate:open":n[5]||=e=>l.value=e,title:u.value?`编辑代理人`:`新增代理人`,footer:null,"destroy-on-close":!0,width:`480px`,onCancel:T},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(bg),{ref_key:`formRef`,ref:f,model:m,rules:h.value,layout:`vertical`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(ng),{label:`名称`,name:`label`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(W_),{value:m.label,"onUpdate:value":n[2]||=e=>m.label=e,placeholder:`代理人显示名称`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(ng),{label:`类型`,name:`type`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(iw),{value:m.type,"onUpdate:value":n[3]||=e=>m.type=e,style:{width:`100%`},options:e.agentTypeOptions},null,8,[`value`,`options`])]),_:1}),m.type?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(ng),{key:0,label:`配置`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,xP,[n[6]||=(0,a.createElementVNode)(`p`,{class:`agent-picker__dynamic-hint`},[(0,a.createTextVNode)(` 配置字段由 `),(0,a.createElementVNode)(`code`,null,`agentFactory`),(0,a.createTextVNode)(` 回调自动解析,请在实现时根据 `),(0,a.createElementVNode)(`code`,null,`type`),(0,a.createTextVNode)(` 决定展示哪些字段。 `)],-1),(0,a.createVNode)((0,a.unref)(j_),{value:m.configJson,"onUpdate:value":n[4]||=e=>m.configJson=e,placeholder:`请输入 JSON 配置,如 {"endpoint": "http://..."}`,rows:6},null,8,[`value`])])]),_:1})):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(ng),{style:{"margin-bottom":`0`,"margin-top":`8px`}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(cw),null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,loading:d.value,onClick:E},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(u.value?`保存修改`:`确认添加`),1)]),_:1},8,[`loading`]),(0,a.createVNode)((0,a.unref)(zf),{onClick:T},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`取消`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`,`rules`])]),_:1},8,[`open`,`title`])]))}}),CP=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},wP=CP(SP,[[`__scopeId`,`data-v-e6866801`]]),TP=(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))}}),EP={class:`think-node`},DP=[`role`,`tabindex`],OP={class:`think-node__header-left`},kP={class:`think-node__label`},AP={class:`think-node__text`},jP=1,MP=CP((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*jP+1;i.value=e.scrollHeight>a}return(0,a.onMounted)(()=>{(0,a.nextTick)(u)}),(0,a.onBeforeUnmount)(()=>{}),(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,EP,[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`think-node__header`,{"think-node__header--clickable":l.value}]),role:l.value?`button`:void 0,tabindex:l.value?0:void 0,onClick:t[0]||=e=>l.value&&(n.value=!n.value),onKeydown:[t[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>l.value&&(n.value=!n.value),[`prevent`]),[`enter`]),t[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>l.value&&(n.value=!n.value),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,OP,[s.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`think-node__icon is-spinning`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(UT),{key:1,class:`think-node__icon`})),(0,a.createElementVNode)(`span`,kP,(0,a.toDisplayString)(s.value?`思考中...`:`思考过程`),1)]),l.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.value?(0,a.unref)(_E):(0,a.unref)(IC)),{key:0,class:`think-node__chevron`})):(0,a.createCommentVNode)(``,!0)],42,DP),(0,a.createElementVNode)(`div`,{ref_key:`contentRef`,ref:r,class:(0,a.normalizeClass)([`think-node__content`,{"think-node__content--collapsed":!n.value}])},[(0,a.createElementVNode)(`pre`,AP,(0,a.toDisplayString)(c.value),1)],2)]))}}),[[`__scopeId`,`data-v-06924684`]]),NP=(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:TP,think:MP,...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`]))}}),PP=[`role`,`tabindex`],FP={class:`tool-call-node__prefix`},IP={class:`tool-call-node__title`},LP={key:0,class:`tool-call-node__waiting-badge`},RP={key:1,class:`tool-call-node__result-badge is-approved`},zP={key:2,class:`tool-call-node__result-badge is-rejected`},BP={key:0,class:`tool-call-node__toggle`},VP={key:0,class:`tool-call-node__detail`},HP={key:0,class:`tool-call-node__line`},UP={class:`tool-call-node__value tool-call-node__value--overflow`},WP={key:1,class:`tool-call-node__line`},GP={class:`tool-call-node__label`},KP={class:`tool-call-node__value tool-call-node__value--overflow`},qP={key:2,class:`tool-call-node__approval`},JP={key:0,class:`tool-call-node__approval-desc`},YP={key:1,class:`tool-call-node__approval-args`},XP={class:`tool-call-node__approval-code`},ZP={class:`tool-call-node__approval-actions`},QP=[`disabled`],$P=[`disabled`],eF=[`disabled`],tF={key:2,class:`tool-call-node__approval-edit`},nF=[`disabled`],rF={class:`tool-call-node__approval-edit-actions`},iF=[`disabled`],aF=[`disabled`],oF=CP((0,a.defineComponent)({__name:`ToolCallNode`,props:{tool:{},expanded:{type:Boolean},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],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`,FP,[r.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):r.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):r.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):u.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,IP,[(0,a.createTextVNode)((0,a.toDisplayString)(r.tool.title||r.tool.toolName||`工具调用`)+` `,1),u.value&&!c.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,LP,`待审批`)):c.value===`approved`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,RP,[(0,a.createVNode)((0,a.unref)(tv),{style:{"margin-right":`2px`}}),i[6]||=(0,a.createTextVNode)(`已批准 `,-1)])):c.value===`rejected`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,zP,[(0,a.createVNode)((0,a.unref)(lv),{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`,BP,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,PP),e.expanded?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,VP,[m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,HP,[i[8]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`入参:`,-1),(0,a.createVNode)((0,a.unref)(Gl),{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`,UP,(0,a.toDisplayString)(m.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),h.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,WP,[(0,a.createElementVNode)(`span`,GP,(0,a.toDisplayString)(r.tool.status===`error`?`错误:`:`结果:`),1),(0,a.createVNode)((0,a.unref)(Gl),{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`,KP,(0,a.toDisplayString)(h.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,qP,[(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)(tv),{key:0,class:`approval-result-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{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`,JP,(0,a.toDisplayString)(l.value.description),1)):(0,a.createCommentVNode)(``,!0),d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,YP,[i[9]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`参数:`,-1),(0,a.createElementVNode)(`code`,XP,(0,a.toDisplayString)(f.value),1)])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,ZP,[(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)(tv),{style:{"margin-right":`4px`}}),i[10]||=(0,a.createTextVNode)(` 批准 `,-1)],8,QP),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,$P)):(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)(lv),{style:{"margin-right":`4px`}}),i[11]||=(0,a.createTextVNode)(` 拒绝 `,-1)],8,eF)):(0,a.createCommentVNode)(``,!0)]),o.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,tF,[(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,nF),[[a.vModelText,s.value]]),(0,a.createElementVNode)(`div`,rF,[(0,a.createElementVNode)(`button`,{class:`tool-call-node__btn tool-call-node__btn-approve`,disabled:e.resolving,onClick:(0,a.withModifiers)(v,[`stop`])},` 提交修改 `,8,iF),(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,aF)])])):(0,a.createCommentVNode)(``,!0)],64))])):(0,a.createCommentVNode)(``,!0)])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-f2e29458`]]),sF={class:`todos-top-panel`},cF={class:`todos-top-panel__header`},lF={class:`todos-top-panel__meta`},uF={class:`todos-top-panel__list`},dF={class:`todos-top-panel__text`},fF=CP((0,a.defineComponent)({__name:`WriteTodosTopPanel`,props:{todos:{}},setup(e){let t=e,n=(0,a.computed)(()=>t.todos.filter(e=>r(e.status)===`completed`).length);function r(e){let t=String(e||``).toLowerCase();return t===`completed`||t===`done`||t===`success`?`completed`:t===`in_progress`||t===`running`||t===`doing`?`in_progress`:t===`cancelled`||t===`canceled`||t===`rejected`||t===`blocked`?`cancelled`:`pending`}return(t,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,sF,[(0,a.createElementVNode)(`header`,cF,[i[0]||=(0,a.createElementVNode)(`span`,{class:`todos-top-panel__title`},`任务清单`,-1),(0,a.createElementVNode)(`span`,lF,[(0,a.createVNode)((0,a.unref)(tv),{class:`todos-top-panel__meta-icon`}),(0,a.createTextVNode)(` `+(0,a.toDisplayString)(n.value)+`/`+(0,a.toDisplayString)(e.todos.length)+` 已完成 `,1)])]),(0,a.createElementVNode)(`ul`,uF,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.todos,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{key:e.id||`${t}-${e.title}`,class:`todos-top-panel__item`},[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`todos-top-panel__status`,`is-${r(e.status)}`])},[r(e.status)===`completed`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:0})):r(e.status)===`in_progress`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(pE),{key:1,class:`is-rotating`})):r(e.status)===`cancelled`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(aE),{key:2})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3}))],2),(0,a.createElementVNode)(`span`,dF,(0,a.toDisplayString)(e.title),1)]))),128))])]))}}),[[`__scopeId`,`data-v-d03a50e5`]]),pF=class extends Error{constructor(e,t){super(`${e} at position ${t}`),this.position=t}},mF=32,hF=10,gF=9,_F=13,vF=160,yF=6158,bF=8192,xF=8203,SF=8239,CF=8287,wF=12288,TF=65279;function EF(e){return/^[0-9A-Fa-f]$/.test(e)}function DF(e){return e>=`0`&&e<=`9`}function OF(e){return e>=` `}function kF(e){return`,:[]/{}()
349
+ `;else if(o._keyframe)p(o);else{let e=l.reduce((e,t)=>(t?.visit)?.call(t,e)||e,o);Object.keys(e).forEach(o=>{let s=e[o];if(typeof s==`object`&&s&&(o!==`animationName`||!s._keyframe)&&!pM(s)){let e=!1,l=o.trim(),u=!1;(n||r)&&a?l.startsWith(`@`)?e=!0:l=mM(o,a,c):n&&!a&&(l===`&`||l===``)&&(l=``,u=!0);let[p,m]=gM(s,t,{root:u,injectHash:e,parentSelectors:[...i,l]});f={...f,...m},d+=`${l}${p}`}else{let e=function(e,t){let n=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),r=t;!EE[e]&&typeof r==`number`&&r!==0&&(r=`${r}px`),e===`animationName`&&t!=null&&t._keyframe&&(p(t),r=t.getName(a)),d+=`${n}:${r};`},t=s?.value??s;typeof s==`object`&&s&&s[dM]&&Array.isArray(t)?t.forEach(t=>{e(o,t)}):e(o,t)}})}}),n?o&&Hj():d=`{${d}}`,[d,f]};function _M(e,t){return TE(`${e.join(`%`)}${t}`)}function vM(e,t){let n=cj(),r=(0,a.computed)(()=>e.value?.token._tokenKey),i=(0,a.computed)(()=>[r.value,...e.value?.path||[]]),o=lM;return tM(`style`,i,()=>{let{path:a,hashId:s,layer:c,nonce:l,clientOnly:u,order:d=0}=e.value||{},f=i.value.join(`|`);if(sM(f)){let[e,t]=cM(f);if(e)return[e,r.value,t,{},u,d]}let p=t(),{hashPriority:m,container:h,transformers:g,linters:_,cache:v}=n.value,[y,b]=gM(p,{hashId:s,hashPriority:m,layer:c,path:a?.join(`-`),transformers:g,linters:_}),x=fM(y),S=_M(i.value,x);if(o){let e={mark:nj,prepend:`queue`,attachTo:h},t=typeof l==`function`?l():l;t&&(e.csp={nonce:t});let n=wj(x,S,e);n[rj]=v.instanceId,n.setAttribute(tj,r.value),Object.keys(b).forEach(e=>{hM.has(e)||(hM.add(e),wj(fM(b[e]),`_effect-${e}`,{mark:`data-css-hash`,prepend:`queue`,attachTo:h}))})}return[x,r.value,S,b,u,d]},([,,e],t)=>{(t||n.value.autoClear)&&lM&&Sj(e,{mark:`data-css-hash`})}),e=>e}var yM=`cssVar`,bM=(e,t)=>{let{key:n,prefix:r,unitless:i,ignore:a,token:o,scope:s=``}=e,{cache:{instanceId:c},container:l}=useContext(uj),{_tokenKey:u}=o,d=[...e.path,n,s,u];return tM(yM,d,()=>{let[e,o]=qj(t(),n,{prefix:r,unitless:i,ignore:a,scope:s});return[e,o,_M(d,o),n]},([,,e])=>{Uj&&Sj(e,{mark:`data-css-hash`})})},xM=class{},SM=`CALC_UNIT`,CM=new RegExp(SM,`g`);function wM(e){return typeof e==`number`?`${e}${SM}`:e}var TM=class e extends xM{constructor(t,n){super(),this.result=``;let r=typeof t;this.unitlessCssVar=n,t instanceof e?this.result=`(${t.result})`:r===`number`?this.result=wM(t):r===`string`&&(this.result=t)}add(t){return t instanceof e?this.result=`${this.result} + ${t.getResult()}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} + ${wM(t)}`),this.lowPriority=!0,this}sub(t){return t instanceof e?this.result=`${this.result} - ${t.getResult()}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} - ${wM(t)}`),this.lowPriority=!0,this}mul(t){return this.lowPriority&&(this.result=`(${this.result})`),t instanceof e?this.result=`${this.result} * ${t.getResult(!0)}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} * ${t}`),this.lowPriority=!1,this}div(t){return this.lowPriority&&(this.result=`(${this.result})`),t instanceof e?this.result=`${this.result} / ${t.getResult(!0)}`:(typeof t==`number`||typeof t==`string`)&&(this.result=`${this.result} / ${t}`),this.lowPriority=!1,this}getResult(e){return this.lowPriority||e?`(${this.result})`:this.result}equal(e){let{unit:t}=e||{},n=!0;return typeof t==`boolean`?n=t:Array.from(this.unitlessCssVar).some(e=>this.result.includes(e))&&(n=!1),this.result=this.result.replace(CM,n?`px`:``),typeof this.lowPriority<`u`?`calc(${this.result})`:this.result}},EM=class e extends xM{constructor(t){super(),this.result=0,t instanceof e?this.result=t.result:typeof t==`number`&&(this.result=t)}add(t){return t instanceof e?this.result+=t.result:typeof t==`number`&&(this.result+=t),this}sub(t){return t instanceof e?this.result-=t.result:typeof t==`number`&&(this.result-=t),this}mul(t){return t instanceof e?this.result*=t.result:typeof t==`number`&&(this.result*=t),this}div(t){return t instanceof e?this.result/=t.result:typeof t==`number`&&(this.result/=t),this}equal(){return this.result}},DM=(e,t)=>{let n=e===`css`?TM:EM;return e=>new n(e,t)},OM=(e,t)=>`${[t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,`$1-$2`).replace(/([a-z])([A-Z])/g,`$1-$2`)].filter(Boolean).join(`-`)}`;function kM(e,t={},n,r){let i={...t[e]};if(r!=null&&r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(([e,t])=>{(i!=null&&i[e]||i!=null&&i[t])&&(i[t]??(i[t]=i?.[e]))})}let a={...n,...i};return Object.keys(a).forEach(e=>{a[e]===t[e]&&delete a[e]}),a}function AM(e,t={},n){return typeof n==`function`?n(Zj(t,t[e]??{})):n??{}}function jM(e){return e===`js`?{max:Math.max,min:Math.min}:{max:(...e)=>`max(${e.map(e=>Wj(e)).join(`,`)})`,min:(...e)=>`min(${e.map(e=>Wj(e)).join(`,`)})`}}var MM=Object.defineProperty,NM=(e,t,n)=>t in e?MM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,PM=(e,t,n)=>NM(e,typeof t==`symbol`?t:t+``,n),FM=1e3*60*10,IM=new class{constructor(){PM(this,`map`,new Map),PM(this,`objectIDMap`,new WeakMap),PM(this,`nextID`,0),PM(this,`lastAccessBeat`,new Map),PM(this,`accessBeat`,0)}set(e,t){this.clear();let n=this.getCompositeKey(e);this.map.set(n,t),this.lastAccessBeat.set(n,Date.now())}get(e){let t=this.getCompositeKey(e),n=this.map.get(t);return this.lastAccessBeat.set(t,Date.now()),this.accessBeat+=1,n}getCompositeKey(e){return e.map(e=>e&&typeof e==`object`?`obj_${this.getObjectID(e)}`:`${typeof e}_${e}`).join(`|`)}getObjectID(e){if(this.objectIDMap.has(e))return this.objectIDMap.get(e);let t=this.nextID;return this.objectIDMap.set(e,t),this.nextID+=1,t}clear(){if(this.accessBeat>1e4){let e=Date.now();this.lastAccessBeat.forEach((t,n)=>{e-t>FM&&(this.map.delete(n),this.lastAccessBeat.delete(n))}),this.accessBeat=0}}};function LM(e,t){return(0,a.computed)(()=>{let n=IM.get(t);if(n)return n;let r=e();return IM.set(t,r),r})}var RM=()=>({});function zM(e){let{useCSP:t=RM,useToken:n,usePrefix:r,getResetStyles:i,getCommonStyle:o,getCompUnitless:s}=e;function c(e,t,n,r){let i=Array.isArray(e)?e[0]:e;function o(e){return`${String(i)}${e.slice(0,1).toUpperCase()}${e.slice(1)}`}let c=r?.unitless||{},d={...typeof s==`function`?s(e):{},[o(`zIndexPopup`)]:!0};Object.keys(c).forEach(e=>{d[o(e)]=c[e]});let f={...r,unitless:d,prefixToken:o},p=u(e,t,n,f),m=l(i,n,f);return(e,t=(0,a.toValue)(e))=>{let[,n]=p((0,a.toValue)(e),t),[r,i]=m(t);return[r,n,i]}}function l(e,t,r){let{unitless:i,injectStyle:o=!0,prefixToken:s,ignore:c}=r,l=({rootCls:a,cssVar:o={}})=>{let{realToken:l}=n();return bM({path:[e],prefix:o.prefix,key:o.key,unitless:i,ignore:c,token:l,scope:a},()=>{let n=AM(e,l,t),i=kM(e,l,n,{deprecatedTokens:r?.deprecatedTokens});return Object.keys(n).forEach(e=>{i[s(e)]=i[e],delete i[e]}),i}),null};return t=>{let{cssVar:r}=n();return[n=>o&&r?(0,a.createVNode)(a.Fragment,null,[(0,a.createVNode)(l,{rootCls:t,cssVar:r,component:e},null),n]):n,r?.key]}}function u(s,c,l,u={}){let d=Array.isArray(s)?s:[s,s],[f]=d,p=d.join(`-`),m=e.layer||{name:`antd`};return(e,s=e)=>{let{theme:d,realToken:h,hashId:g,token:_,cssVar:v}=n(),{rootPrefixCls:y,iconPrefixCls:b}=r(),x=t(),S=v?`css`:`js`,C=(0,a.unref)(LM(()=>{let e=new Set;return v&&Object.keys(u.unitless||{}).forEach(t=>{e.add(Gj(t,v.prefix)),e.add(Gj(t,OM(f,v.prefix)))}),DM(S,e)},[S,f,v?.prefix])),{max:w,min:T}=jM(S),E=(0,a.computed)(()=>({theme:d.value,token:_.value,hashId:g.value,nonce:()=>x.nonce,clientOnly:u.clientOnly,layer:m,order:u.order||-999}));return typeof i==`function`&&vM((0,a.computed)(()=>({...E.value,clientOnly:!1,path:[`Shared`,y]})),()=>i(_.value,{prefix:{rootPrefixCls:y,iconPrefixCls:b},csp:x})),[vM((0,a.computed)(()=>({...E.value,path:[p,e,b]})),()=>{if(u.injectStyle===!1)return[];let{token:t,flush:n}=eM(_),r=AM(f,h,l),i=`.${e}`,d=kM(f,h,r,{deprecatedTokens:u.deprecatedTokens});v&&r&&typeof r==`object`&&Object.keys(r).forEach(e=>{r[e]=`var(${Gj(e,OM(f,v.prefix))})`});let p=(0,a.computed)(()=>Zj(t.value,{componentCls:i,prefixCls:e,iconCls:`.${b}`,antCls:`.${y}`,calc:C,max:w,min:T},v?r:d)),m=(0,a.computed)(()=>c(p.value,{hashId:g.value,prefixCls:e,rootPrefixCls:y,iconPrefixCls:b}));n(f,d);let x=typeof o==`function`?o(p.value,e,s,u.resetFont):null;return[u.resetStyle===!1?null:x,m.value]}),g]}}function d(e,t,n,r={}){let i=u(e,t,n,{resetStyle:!1,order:-998,...r});return({prefixCls:e,rootCls:t=e})=>(i(e,t),null)}return{genStyleHooks:c,genSubStyleComponent:d,genComponentStyleHook:u}}var BM={},VM=`css`,HM=new Map;function UM(e){HM.set(e,(HM.get(e)||0)+1)}function WM(e,t){typeof document<`u`&&document.querySelectorAll(`style[data-token-hash="${e}"]`).forEach(e=>{var n;e.__cssinjs_instance__===t&&((n=e.parentNode)==null||n.removeChild(e))})}var GM=0;function KM(e,t){HM.set(e,(HM.get(e)||0)-1);let n=Array.from(HM.keys()),r=n.filter(e=>(HM.get(e)||0)<=0);n.length-r.length>GM&&r.forEach(e=>{WM(e,t),HM.delete(e)})}var qM=(e,t,n,r)=>{let i={...n?.getDerivativeToken(e),...t};return r&&(i=r(i)),i};function JM(e,t,n=(0,a.ref)({})){let r=cj(),i=(0,a.computed)(()=>Object.assign({},...t.value||[])),o=(0,a.computed)(()=>Ij(i.value)),s=(0,a.computed)(()=>Ij(n.value?.override||BM));return tM(`token`,(0,a.computed)(()=>[n.value?.salt||``,e.value?.id,o.value,s.value]),()=>{let{salt:t=``,override:r=BM,formatToken:a,getComputedToken:o}=n.value||{},s=o?o(i.value,r,e.value):qM(i.value,r,e.value,a),c=Lj(s,t);s._tokenKey=c,UM(c);let l=`${VM}-${TE(c)}`;return s._hashId=l,[s,l]},e=>{KM(e[0]._tokenKey,r.value?.cache.instanceId)})}var YM=new Dj;function XM(e){let t=Array.isArray(e)?e:[e];return YM.has(t)||YM.set(t,new Pj(t)),YM.get(t)}var ZM={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},QM={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},$M=`1.0.3`,eN=XM(LT.defaultAlgorithm),tN={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},nN=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:i,...a}=t,o={...r,override:i};return o=pi(o),a&&Object.entries(a).forEach(([e,t])=>{let{theme:n,...r}=t,i=r;n&&(i=nN({...o,...r},{override:r},n)),o[e]=i}),o};function rN(){let{token:e,hashId:t,theme:n}=LT.useToken(),r=(0,a.computed)(()=>({token:e.value,hashed:t.value,theme:n.value})),{override:i,cssVar:o}=(0,a.unref)(r),s=(0,a.computed)(()=>r.value.token),c=(0,a.computed)(()=>r.value.hashed),l=(0,a.computed)(()=>r.value.theme??eN),u=JM((0,a.computed)(()=>l.value),(0,a.computed)(()=>[LT.defaultSeed,s.value]),(0,a.computed)(()=>({salt:`${$M}-${c.value||``}`,override:i,getComputedToken:nN,cssVar:o&&{prefix:o.prefix,key:o.key,unitless:QM,ignore:ZM,preserve:tN}}))),[d,f,p]=(0,a.unref)(u),m=(0,a.computed)(()=>u.value[0]);return[l,p,(0,a.computed)(()=>c.value?u.value[1]:``),m,o]}function iN(){let{getPrefixCls:e,direction:t,csp:n,iconPrefixCls:r,theme:i}=Mi();return{theme:i,getPrefixCls:e,direction:t,csp:n,iconPrefixCls:r}}var{genStyleHooks:aN,genComponentStyleHook:oN,genSubStyleComponent:sN}=zM({usePrefix:()=>{let{getPrefixCls:e,iconPrefixCls:t}=iN();return{iconPrefixCls:(0,a.unref)(t),rootPrefixCls:e()}},useToken:()=>{let[e,t,n,r,i]=rN();return{theme:e,realToken:t,hashId:n,token:r,cssVar:i}},useCSP:()=>{let{csp:e}=iN();return e?.value??{}},layer:{name:`antdx`,dependencies:[`antd`]}}),cN=e=>{let{componentCls:t,paddingSM:n,padding:r}=e;return{[t]:{[`${t}-content`]:{"&-filled,&-outlined,&-shadow":{padding:`${Wj(n)} ${Wj(r)}`,borderRadius:e.borderRadiusLG},"&-filled":{backgroundColor:e.colorFillContent},"&-outlined":{border:`1px solid ${e.colorBorderSecondary}`},"&-shadow":{boxShadow:e.boxShadowTertiary}}}}},lN=e=>{let{componentCls:t,fontSize:n,lineHeight:r,paddingSM:i,padding:a,calc:o}=e,s=o(n).mul(r).div(2).add(i).equal(),c=`${t}-content`;return{[t]:{[c]:{"&-round":{borderRadius:{_skip_check_:!0,value:s},paddingInline:o(a).mul(1.25).equal()}},[`&-start ${c}-corner`]:{borderStartStartRadius:e.borderRadiusXS},[`&-end ${c}-corner`]:{borderStartEndRadius:e.borderRadiusXS}}}},uN=e=>{let{componentCls:t,padding:n}=e;return{[`${t}-list`]:{display:`flex`,flexDirection:`column`,gap:n,overflowY:`auto`,"&::-webkit-scrollbar":{width:8,backgroundColor:`transparent`},"&::-webkit-scrollbar-thumb":{backgroundColor:e.colorTextTertiary,borderRadius:e.borderRadiusSM},"&":{scrollbarWidth:`thin`,scrollbarColor:`${e.colorTextTertiary} transparent`}}}},dN=new Jj(`loadingMove`,{"0%":{transform:`translateY(0)`},"10%":{transform:`translateY(4px)`},"20%":{transform:`translateY(0)`},"30%":{transform:`translateY(-4px)`},"40%":{transform:`translateY(0)`}}),fN=new Jj(`cursorBlink`,{"0%":{opacity:1},"50%":{opacity:0},"100%":{opacity:1}}),pN=e=>{let{componentCls:t,fontSize:n,lineHeight:r,paddingSM:i,colorText:a,calc:o}=e;return{[t]:{display:`flex`,columnGap:i,[`&${t}-end`]:{justifyContent:`end`,flexDirection:`row-reverse`,[`& ${t}-content-wrapper`]:{alignItems:`flex-end`}},[`&${t}-rtl`]:{direction:`rtl`},[`&${t}-typing ${t}-content:last-child::after`]:{content:`"|"`,fontWeight:900,userSelect:`none`,opacity:1,marginInlineStart:`0.1em`,animationName:fN,animationDuration:`0.8s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`},[`& ${t}-avatar`]:{display:`inline-flex`,justifyContent:`center`,alignSelf:`flex-start`},[`& ${t}-header, & ${t}-footer`]:{fontSize:n,lineHeight:r,color:e.colorText},[`& ${t}-header`]:{marginBottom:e.paddingXXS},[`& ${t}-footer`]:{marginTop:i},[`& ${t}-content-wrapper`]:{flex:`auto`,display:`flex`,flexDirection:`column`,alignItems:`flex-start`,minWidth:0,maxWidth:`100%`},[`& ${t}-content`]:{position:`relative`,boxSizing:`border-box`,minWidth:0,maxWidth:`100%`,color:a,fontSize:e.fontSize,lineHeight:e.lineHeight,minHeight:o(i).mul(2).add(o(r).mul(n)).equal(),wordBreak:`break-word`,[`& ${t}-dot`]:{position:`relative`,height:`100%`,display:`flex`,alignItems:`center`,columnGap:e.marginXS,padding:`0 ${Wj(e.paddingXXS)}`,"&-item":{backgroundColor:e.colorPrimary,borderRadius:`100%`,width:4,height:4,animationName:dN,animationDuration:`2s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`,"&:nth-child(1)":{animationDelay:`0s`},"&:nth-child(2)":{animationDelay:`0.2s`},"&:nth-child(3)":{animationDelay:`0.4s`}}}}}}},mN=aN(`Bubble`,e=>{let t=Zj(e,{});return[pN(t),uN(t),cN(t),lN(t)]},()=>({})),hN=Symbol(`BubbleContext`),gN=(0,a.shallowRef)(),_N=e=>{(0,a.provide)(hN,e),(0,a.watch)(e,()=>{gN.value=(0,a.unref)(e),(0,a.triggerRef)(gN)},{immediate:!0,deep:!0})},vN=()=>(0,a.inject)(hN,(0,a.computed)(()=>gN.value||{})),yN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return _N((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),bN=CE((0,a.defineComponent)({name:`AXBubble`,__name:`Bubble`,props:{prefixCls:{type:String,required:!1},rootClassName:{type:String,required:!1},styles:{type:Object,required:!1,default:()=>({})},classNames:{type:Object,required:!1,default:()=>({})},avatar:{type:[Object,Function],required:!1},placement:{type:String,required:!1,default:`start`},loading:{type:Boolean,required:!1,default:!1},typing:{type:null,required:!1},content:{type:null,required:!1,default:``},messageRender:{type:Function,required:!1},loadingRender:{type:Function,required:!1},variant:{type:String,required:!1,default:`filled`},shape:{type:String,required:!1},_key:{type:[Number,String],required:!1},onTypingComplete:{type:null,required:!1},header:{type:null,required:!1},footer:{type:null,required:!1}},setup(e,{expose:t}){let n=SE(e,[`prefixCls`,`rootClassName`,`classNames`,`styles`,`avatar`,`placement`,`loading`,`loadingRender`,`typing`,`content`,`messageRender`,`variant`,`shape`,`onTypingComplete`,`header`,`footer`,`_key`]);(0,a.toRef)(e,`content`),(0,a.toRef)(e,`prefixCls`);let r=(0,a.useSlots)(),i=(0,a.ref)(e.content);(0,a.watch)(()=>e.content,()=>{i.value=e.content});let{onUpdate:o}=(0,a.unref)(vN()),s=(0,a.ref)(null),{direction:c,getPrefixCls:l}=iN(),u=l(`bubble`,e.prefixCls),d=qA(`bubble`),[f,p,m,h]=ZA(()=>e.typing),[g,_]=XA(i,f,p,m),v=(0,a.ref)(!1);(0,a.watch)(g,()=>{o?.()}),(0,a.watchEffect)(()=>{var t;!_.value&&!e.loading?v.value||(v.value=!0,(t=e.onTypingComplete)==null||t.call(e)):v.value=!1});let[y,b,x]=mN(()=>u),S=(0,a.computed)(()=>[u,e.rootClassName,d.value.className,b.value,x,`${u}-${e.placement}`,{[`${u}-rtl`]:c.value===`rtl`},{[`${u}-typing`]:_.value&&!e.loading&&!e.messageRender&&!r.message&&!h.value}]),C=e=>Array.isArray(e)&&e.every(a.isVNode),w=(0,a.computed)(()=>r.avatar?r.avatar():typeof e.avatar==`function`?e.avatar():(0,a.isVNode)(e.avatar)||C(e.avatar)?e.avatar:(0,a.createVNode)($l,e.avatar,null)),T=(0,a.computed)(()=>r.message?r.message({content:g.value}):e.messageRender?e.messageRender(g.value):g.value),E=(0,a.computed)(()=>e.loading?r.loading?r.loading():e.loadingRender?e.loadingRender():(0,a.createVNode)(QA,{prefixCls:u},null):(0,a.createVNode)(a.Fragment,null,[T.value,_.value&&(0,a.toValue)(h)])),D=(0,a.computed)(()=>{let t=(0,a.createVNode)(`div`,{style:{...d.value.styles.content,...e.styles.content},class:[`${u}-content`,`${u}-content-${e.variant}`,{[`${u}-content-${e.shape}`]:e.shape},d.value.classNames.content,e.classNames.content]},[(0,a.toValue)(E)]),n=r.header?r.header({content:g.value,info:{key:e._key}}):typeof e.header==`function`?e.header(g.value,{key:e._key}):e.header,i=r.footer?r.footer({content:g.value,info:{key:e._key}}):typeof e.footer==`function`?e.footer(g.value,{key:e._key}):e.footer;return n||i?(0,a.createVNode)(`div`,{class:`${u}-content-wrapper`},[n&&(0,a.createVNode)(`div`,{class:[`${u}-header`,d.value.classNames.header,e.classNames.header],style:{...d.value.styles.header,...e.styles.header}},[n]),t,i&&(0,a.createVNode)(`div`,{class:[`${u}-footer`,d.value.classNames.footer,e.classNames.footer],style:{...d.value.styles.footer,...e.styles.footer}},[i])]):t});return t({nativeElement:s}),()=>y((0,a.createVNode)(`div`,(0,a.mergeProps)({style:{...d.value.style},class:(0,a.toValue)(S)},n,{ref:s}),[(r.avatar||e.avatar)&&(0,a.createVNode)(`div`,{style:{...d.value.styles.avatar,...e.styles.avatar},class:[`${u}-avatar`,d.value.classNames.avatar,e.classNames.avatar]},[(0,a.toValue)(w)]),(0,a.toValue)(D)]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/bubble/Bubble.vue`]]);function xN(e){let[t,n]=JA(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,kA(e=>{e===(0,a.unref)(i)&&n((0,a.unref)(t)+1)})]}function SN(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 CN=1,wN=CE((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=SE(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)(()=>PA((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}=iN(),f=d(`bubble`,e.prefixCls),p=`${f}-list`,[m,h,g]=mN(f),[_,v]=JA(!1);(0,a.watchPostEffect)(()=>{v(!0),(0,a.onWatcherCleanup)(()=>{v(!1)})});let[y,b]=xN(SN(s,c)),[x,S]=JA(!0),[C,w]=JA(0),T=t=>{var n;let r=t.target;S(r.scrollHeight-Math.abs(r.scrollTop)-r.clientHeight<=CN),(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=kA(()=>{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];t&&(S((0,a.unref)(y).findIndex(t=>t.key===e)===(0,a.unref)(y).length-1),t.nativeElement.scrollIntoView({behavior:n,block:r}))}}}),()=>m((0,a.createVNode)(yN,{value:D.value},{default:()=>[(0,a.createVNode)(`div`,(0,a.mergeProps)(o.value,{class:xD(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)(bN,(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`]]),TN=CE((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=SE(e,[`prefixCls`,`info`,`class`,`direction`,`onClick`,`active`,`menu`]);(0,a.toRef)(e,`class`);let r=(0,a.computed)(()=>PA(n,{aria:!0,data:!0,attr:!0})),i=e=>{e.stopPropagation()},o=(0,a.computed)(()=>e.info.disabled),[s,c]=JA(!1),[l,u]=JA(!1),d=(0,a.computed)(()=>xD(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)(Rk,{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)(Gl,{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)(dT.Text,{class:`${e.prefixCls}-label`,ellipsis:{onEllipsis:c}},{default:()=>[e.info.label]}),!o.value&&e.menu&&(0,a.createVNode)(pp,{placement:e.direction===`rtl`?`bottomLeft`:`bottomRight`,trigger:[`click`],disabled:o.value,onOpenChange:p,getPopupContainer:g.value},{default:()=>_(e.info),overlay:()=>(0,a.createVNode)(fx,h.value,null)})])]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/ConversationsItem.vue`]]),EN=Symbol(`GroupTitleContext`),DN=(0,a.shallowRef)(),ON=e=>{(0,a.provide)(EN,e),(0,a.watch)(e,()=>{DN.value=(0,a.unref)(e),(0,a.triggerRef)(DN)},{immediate:!0,deep:!0})},kN=()=>(0,a.inject)(EN,(0,a.computed)(()=>DN.value||{})),AN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return ON((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),jN=CE((0,a.defineComponent)({name:`AXConversationsGroupTitle`,__name:`GroupTitle`,setup(e,{expose:t}){t();let n=(0,a.useSlots)(),r=kN(),i=(0,a.computed)(()=>n.default?.call(n));return()=>(0,a.createVNode)(`div`,{class:xD(`${r.value.prefixCls}-group-title`)},[i.value&&(0,a.createVNode)(dT.Text,null,{default:()=>[i.value]})])}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/conversations/GroupTitle.vue`]]);function MN(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 NN=`__ungrouped`,PN=(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:NN,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||NN;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===NN?void 0:t,title:n.value.title,data:e[t]})),enableGroup:n.value.enableGroup}})},FN=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 ${Wj(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 ${Wj(e.paddingXS)}`}}}},IN=aN(`Conversations`,e=>FN(Zj(e,{})),()=>({})),LN=CE((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=SE(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)(()=>PA(n,{attr:!0,aria:!0,data:!0})),[o,s]=MN(e.defaultActiveKey,{value:r});(0,a.watch)(()=>e.activeKey,()=>{r.value=e.activeKey});let c=PN(()=>e.groupable,()=>e.items),{getPrefixCls:l,direction:u}=iN(),d=(0,a.computed)(()=>l(`conversations`,e.prefixCls)),f=qA(`conversations`),[p,m,h]=IN(d),g=(0,a.computed)(()=>xD(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)(TN,{key:t.key||`key-${n}`,info:t,prefixCls:d.value,direction:u.value,class:xD(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)(AN,{value:{prefixCls:d.value}},{default:()=>[t.title?.call(t,t.name,{components:{GroupTitle:jN}})||(0,a.createVNode)(jN,{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`]]),RN=Symbol(`SenderHeaderContext`),zN=(0,a.shallowRef)(),BN=e=>{(0,a.provide)(RN,e),(0,a.watch)(e,()=>{zN.value=(0,a.unref)(e),(0,a.triggerRef)(zN)},{immediate:!0,deep:!0})},VN=()=>(0,a.inject)(RN,(0,a.computed)(()=>zN.value||{})),HN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return BN((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),UN=Symbol(`ActionButtonContext`),WN=(0,a.shallowRef)(),GN=e=>{(0,a.provide)(UN,e),(0,a.watch)(e,()=>{WN.value=(0,a.unref)(e),(0,a.triggerRef)(WN)},{immediate:!0,deep:!0})},KN=()=>(0,a.inject)(UN,(0,a.computed)(()=>WN.value||{})),qN=(0,a.defineComponent)({props:{value:IA()},setup(e,{slots:t}){return GN((0,a.computed)(()=>e.value)),()=>t.default?.call(t)}}),JN=CE((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=SE(e,[`action`,`type`,`disabled`,`onClick`]);(0,a.toRef)(e,`disabled`);let r=(0,a.useSlots)(),i=KN(),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)(zf,(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:xD(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`]]),YN=CE((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=SE(e,[`disabled`]);return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({disabled:e.disabled},n,{action:`onClear`}),{default:()=>[(0,a.createVNode)(Ek,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/ClearButton.vue`]]),XN=CE((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`]]),ZN=CE((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=SE(e,[`type`,`shape`,`icon`,`disabled`]),r=KN(),{token:i}=LT.useToken();return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({type:e.type,disabled:e.disabled,shape:e.shape,icon:e.icon},n,{style:{backgroundColor:`transparent`,color:i.value.colorPrimary},class:xD(`${r.value.prefixCls}-loading-button`),action:`onCancel`}),{default:()=>[(0,a.createVNode)(XN,{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`]]),QN=CE((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=SE(e,[`type`,`shape`,`disabled`]);return()=>(0,a.createVNode)(JN,(0,a.mergeProps)({type:e.type,shape:e.shape,disabled:e.disabled},n,{action:`onSend`}),{default:()=>[(0,a.createVNode)(mk,null,null)]})}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/components/SendButton.vue`]]),$N=1e3,eP=4,tP=140,nP=250,rP=500,iP=.8,aP=CE((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=tP/2;return()=>(0,a.createVNode)(`svg`,{color:`currentColor`,viewBox:`0 0 ${$N} ${$N}`,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:eP}).map((e,t)=>{let r=t*286.66666666666663,i=$N/2-nP/2,o=$N/2-rP/2;return(0,a.createVNode)(`rect`,{fill:`currentColor`,rx:n,ry:n,height:nP,width:tP,x:r,y:i,key:t},[(0,a.createVNode)(`animate`,{attributeName:`height`,values:`${nP}; ${rP}; ${nP}`,keyTimes:`0; 0.5; 1`,dur:`${iP}s`,begin:`${iP/eP*t}s`,repeatCount:`indefinite`},null),(0,a.createVNode)(`animate`,{attributeName:`y`,values:`${i}; ${o}; ${i}`,keyTimes:`0; 0.5; 1`,dur:`${iP}s`,begin:`${iP/eP*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`]]),oP=CE((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)(Sk,null,null),audioDisabledIcon:()=>(0,a.createVNode)(vk,null,null),audioRecordingIcon:void 0}),setup(e,{expose:t}){t();let n=SE(e,[`type`,`disabled`,`audioIcon`,`audioDisabledIcon`,`audioRecordingIcon`]),r=KN(),{token:i}=LT.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)(aP,{className:`${s.value}-recording-icon`},null):r.value.onSpeechDisabled?e.audioDisabledIcon:e.audioIcon,t});return()=>(0,a.createVNode)(JN,(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`]]),sP=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`}}}}}},cP=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(`,`)}}}}},lP=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`}}}},uP=aN(`Sender`,e=>{let{paddingXS:t,calc:n}=e,r=Zj(e,{SenderContentMaxWidth:`calc(100% - ${Wj(n(t).add(32).equal())})`});return[lP(r),sP(r),cP(r)]},()=>({})),dP;!dP&&typeof window<`u`&&(dP=window.SpeechRecognition||window.webkitSpeechRecognition);function fP(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)(()=>dP&&c.value!==`denied`),u=(0,a.ref)(null),[d,f]=MN(!1,{value:i}),p=(0,a.ref)(!1),m=()=>{if(l.value&&!u.value){let e=new dP;e.onstart=()=>{f(!0)},e.onend=()=>{f(!1)},e.onresult=e=>{p.value||n(e.results?.[0]?.[0]?.transcript),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 pP(e,t){for(var n=e,r=0;r<t.length;r+=1){if(n==null)return;n=n[t[r]]}return n}var mP=CE((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=SE(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 pP(e,t)||n}let o={SendButton:QN,ClearButton:YN,LoadingButton:ZN,SpeechButton:oP},s=n,c=(0,a.useSlots)(),{direction:l,getPrefixCls:u}=iN(),d=(0,a.computed)(()=>u(`sender`,e.prefixCls)),f=(0,a.ref)(null),p=(0,a.ref)(null),m=qA(`sender`),h=(0,a.computed)(()=>`${d.value}-input`),[g,_,v]=uP(d.value),y=(0,a.computed)(()=>xD(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}=fP(e=>{w(`${S.value} ${e}`)},()=>e.allowSpeech),O=i(e.components,[`input`],W_.TextArea),k=(0,a.computed)(()=>PA(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()},z=(0,a.computed)(()=>{let t=(0,a.createVNode)(OT,{class:`${x.value}-presets`},{default:()=>[e.allowSpeech&&(0,a.createVNode)(oP,typeof e.allowSpeech==`object`?{audioIcon:e.allowSpeech.audioIcon,audioDisabledIcon:e.allowSpeech.audioDisabledIcon,audioRecordingIcon:e.allowSpeech.audioRecordingIcon}:{},null),e.loading?(0,a.createVNode)(ZN,null,null):(0,a.createVNode)(QN,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}),ee=(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})),B=(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}),V=(0,a.computed)(()=>c.header?c.header():typeof e.header==`function`?e.header():e.header),H=(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}},[V.value&&(0,a.createVNode)(HN,{value:{prefixCls:d.value}},{default:()=>[V.value]}),(0,a.createVNode)(qN,{value:ee.value},{default:()=>[(0,a.createVNode)(`div`,{class:`${d.value}-content`,onMousedown:R},[H.value&&(0,a.createVNode)(`div`,{class:xD(`${d.value}-prefix`,m.value.classNames.prefix,e.classNames.prefix),style:{...m.value.styles.prefix,...e.styles.prefix}},[H.value]),(0,a.createVNode)(O,(0,a.mergeProps)(A.value,{disabled:e.disabled,style:{...m.value.styles.input,...e.styles.input},class:xD(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),z.value&&(0,a.createVNode)(`div`,{class:xD(x.value,m.value.classNames.actions,e.classNames.actions),style:{...m.value.styles.actions,...e.styles.actions}},[z.value])]),B.value&&(0,a.createVNode)(`div`,{class:xD(`${d.value}-footer`,m.value.classNames.footer,e.classNames.footer),style:{...m.value.styles.footer,...e.styles.footer}},[B.value])]})]))}}),[[`__file`,`/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/Sender.vue`]]),hP=CE((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`]]),gP=CE((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=VN(),i=(0,a.computed)(()=>`${r.value.prefixCls}-header`),o=(0,a.useAttrs)();return()=>(0,a.createVNode)(hP,{prefixCls:r.value.prefixCls},{default:()=>[e.open||e.forceRender?(0,a.withDirectives)((0,a.createVNode)(`div`,(0,a.mergeProps)(o,{class:xD(i.value,e.className),style:{...e.style}}),[(e.closable!==!1||e.title)&&(0,a.createVNode)(`div`,{class:xD(`${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)(zf,{type:`text`,icon:(0,a.createVNode)(Pk,null,null),size:`small`,onClick:()=>{var t;(t=e.onOpenChange)==null||t.call(e,!e.open)}},null)])]),n.default&&(0,a.createVNode)(`div`,{class:xD(`${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`]]),_P=Object.assign(mP,{Header:gP});_P.install=function(e){return e.component(_P.name,_P),e.component(gP.name,gP),e};var vP={class:`agent-picker-wrap`},yP={class:`agent-option-item`},bP={class:`agent-option-label`},xP={class:`agent-picker__dynamic-form`},SP=(0,a.defineComponent)({__name:`AgentPicker`,props:{builtInAgents:{},value:{default:``},disabled:{type:Boolean,default:!1},storageKey:{default:`chat_panel_agent`},agentFactory:{},agentTypeOptions:{default:()=>[{value:`langchain_py`,label:`Langchain Py(SSE 流式)`},{value:`dify_sdk`,label:`Dify SDK`}]}},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)();function p(){return{label:``,type:n.agentTypeOptions[0]?.value??``,configJson:``}}let m=(0,a.reactive)(p()),h=(0,a.computed)(()=>({label:[{required:!0,message:`请输入名称`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}]}));function g(){try{let e=localStorage.getItem(i);s.value=e?JSON.parse(e):[]}catch{s.value=[]}}function _(){localStorage.setItem(i,JSON.stringify(s.value))}function v(e){let t=`custom_${e.id}`;if(c.has(t))return c.get(t);if(!n.agentFactory)throw Error(`未提供 agentFactory prop,无法创建自定义 Agent 实例。请传入 agentFactory 回调函数。`);let r=(0,a.markRaw)(n.agentFactory(e));return c.set(t,r),r}let y=(0,a.computed)(()=>s.value.map(e=>({key:`custom_${e.id}`,label:e.label,agent:v(e)}))),b=(0,a.computed)(()=>[...n.builtInAgents,...y.value]),x=(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 S(){r(`update:agents`,b.value)}function C(){u.value=null,Object.assign(m,p()),l.value=!0}function w(e){let t=e.replace(/^custom_/,``),n=s.value.find(e=>e.id===t);n&&(u.value=t,Object.assign(m,{label:n.label,type:n.config?String(n.config.type||n.type||``):n.type||``,configJson:n.config?JSON.stringify(n.config,null,2):``}),l.value=!0)}function T(){l.value=!1,u.value=null,Object.assign(m,p())}async function E(){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;if(m.configJson.trim())try{n=JSON.parse(m.configJson.trim())}catch{eb.error(`配置 JSON 格式不正确`),d.value=!1;return}let r={id:t,label:m.label.trim(),type:m.type,config:n||{type:m.type}};e?(s.value=s.value.map(e=>e.id===t?r:e),c.delete(`custom_${t}`)):s.value=[...s.value,r],_(),S(),l.value=!1,u.value=null,Object.assign(m,p()),eb.success(e?`代理人已更新`:`代理人已添加`)}finally{d.value=!1}}function D(e){let t=e.replace(/^custom_/,``);if(s.value=s.value.filter(e=>e.id!==t),_(),c.delete(e),S(),n.value===e){let e=n.builtInAgents[0]?.key||``;localStorage.setItem(o,e),r(`update:value`,e)}eb.success(`已删除`)}function O(e){let t=String(e??``);localStorage.setItem(o,t),r(`update:value`,t)}return(0,a.onMounted)(()=>{g(),S()}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,vP,[n[8]||=(0,a.createElementVNode)(`span`,{class:`agent-picker-label`},`代理人`,-1),(0,a.createVNode)((0,a.unref)(iw),{value:e.value,size:`small`,class:`agent-picker`,disabled:e.disabled,options:x.value,onChange:O},{option:(0,a.withCtx)(e=>[(0,a.createElementVNode)(`div`,yP,[(0,a.createElementVNode)(`span`,bP,(0,a.toDisplayString)(e.label),1),e.isBuiltIn?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[(0,a.createVNode)((0,a.unref)(qw),{class:`agent-option-edit`,onMousedown:n[0]||=(0,a.withModifiers)(()=>{},[`stop`]),onClick:(0,a.withModifiers)(t=>w(String(e.value)),[`stop`])},null,8,[`onClick`]),(0,a.createVNode)((0,a.unref)(ZT),{class:`agent-option-del`,onMousedown:n[1]||=(0,a.withModifiers)(()=>{},[`stop`]),onClick:(0,a.withModifiers)(t=>D(String(e.value)),[`stop`])},null,8,[`onClick`])],64))])]),_:1},8,[`value`,`disabled`,`options`]),(0,a.createVNode)((0,a.unref)(Gl),{title:`新增代理人`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`text`,size:`small`,class:`agent-add-btn`,onClick:C},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),_:1})]),_:1}),(0,a.createVNode)((0,a.unref)(iS),{open:l.value,"onUpdate:open":n[5]||=e=>l.value=e,title:u.value?`编辑代理人`:`新增代理人`,footer:null,"destroy-on-close":!0,width:`480px`,onCancel:T},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(bg),{ref_key:`formRef`,ref:f,model:m,rules:h.value,layout:`vertical`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(ng),{label:`名称`,name:`label`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(W_),{value:m.label,"onUpdate:value":n[2]||=e=>m.label=e,placeholder:`代理人显示名称`,"allow-clear":``},null,8,[`value`])]),_:1}),(0,a.createVNode)((0,a.unref)(ng),{label:`类型`,name:`type`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(iw),{value:m.type,"onUpdate:value":n[3]||=e=>m.type=e,style:{width:`100%`},options:e.agentTypeOptions},null,8,[`value`,`options`])]),_:1}),m.type?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(ng),{key:0,label:`配置`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,xP,[n[6]||=(0,a.createElementVNode)(`p`,{class:`agent-picker__dynamic-hint`},[(0,a.createTextVNode)(` 配置字段由 `),(0,a.createElementVNode)(`code`,null,`agentFactory`),(0,a.createTextVNode)(` 回调自动解析,请在实现时根据 `),(0,a.createElementVNode)(`code`,null,`type`),(0,a.createTextVNode)(` 决定展示哪些字段。 `)],-1),(0,a.createVNode)((0,a.unref)(j_),{value:m.configJson,"onUpdate:value":n[4]||=e=>m.configJson=e,placeholder:`请输入 JSON 配置,如 {"endpoint": "http://..."}`,rows:6},null,8,[`value`])])]),_:1})):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(ng),{style:{"margin-bottom":`0`,"margin-top":`8px`}},{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(cw),null,{default:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,loading:d.value,onClick:E},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(u.value?`保存修改`:`确认添加`),1)]),_:1},8,[`loading`]),(0,a.createVNode)((0,a.unref)(zf),{onClick:T},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`取消`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`,`rules`])]),_:1},8,[`open`,`title`])]))}}),CP=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},wP=CP(SP,[[`__scopeId`,`data-v-e6866801`]]),TP=(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))}}),EP={class:`think-node__layout`},DP={class:`think-node__header`},OP={class:`think-node__header-main`},kP={class:`think-node__prefix`},AP=1,jP=240,MP=CP((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*AP+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`,EP,[(0,a.createElementVNode)(`div`,DP,[(0,a.createElementVNode)(`div`,OP,[(0,a.createElementVNode)(`span`,kP,[s.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`think-node__prefix-icon is-spinning`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(UT),{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)(_E):(0,a.unref)(IC)),{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:`${jP}px`})},(0,a.toDisplayString)(c.value),5)):(0,a.createCommentVNode)(``,!0)])],2))}}),[[`__scopeId`,`data-v-5a2f210e`]]),NP=(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:TP,think:MP,...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`]))}}),PP=[`role`,`tabindex`],FP={class:`tool-call-node__prefix`},IP={class:`tool-call-node__title`},LP={key:0,class:`tool-call-node__waiting-badge`},RP={key:1,class:`tool-call-node__result-badge is-approved`},zP={key:2,class:`tool-call-node__result-badge is-rejected`},BP={key:0,class:`tool-call-node__toggle`},VP={key:0,class:`tool-call-node__detail`},HP={key:0,class:`tool-call-node__line`},UP={class:`tool-call-node__value tool-call-node__value--overflow`},WP={key:1,class:`tool-call-node__line`},GP={class:`tool-call-node__label`},KP={class:`tool-call-node__value tool-call-node__value--overflow`},qP={key:2,class:`tool-call-node__approval`},JP={key:0,class:`tool-call-node__approval-desc`},YP={key:1,class:`tool-call-node__approval-args`},XP={class:`tool-call-node__approval-code`},ZP={class:`tool-call-node__approval-actions`},QP=[`disabled`],$P=[`disabled`],eF=[`disabled`],tF={key:2,class:`tool-call-node__approval-edit`},nF=[`disabled`],rF={class:`tool-call-node__approval-edit-actions`},iF=[`disabled`],aF=[`disabled`],oF=CP((0,a.defineComponent)({__name:`ToolCallNode`,props:{tool:{},expanded:{type:Boolean},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],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`,FP,[r.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):r.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):r.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):u.value?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,IP,[(0,a.createTextVNode)((0,a.toDisplayString)(r.tool.title||r.tool.toolName||`工具调用`)+` `,1),u.value&&!c.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,LP,`待审批`)):c.value===`approved`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,RP,[(0,a.createVNode)((0,a.unref)(tv),{style:{"margin-right":`2px`}}),i[6]||=(0,a.createTextVNode)(`已批准 `,-1)])):c.value===`rejected`?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,zP,[(0,a.createVNode)((0,a.unref)(lv),{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`,BP,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(e.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,PP),e.expanded?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,VP,[m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,HP,[i[8]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`入参:`,-1),(0,a.createVNode)((0,a.unref)(Gl),{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`,UP,(0,a.toDisplayString)(m.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),h.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,WP,[(0,a.createElementVNode)(`span`,GP,(0,a.toDisplayString)(r.tool.status===`error`?`错误:`:`结果:`),1),(0,a.createVNode)((0,a.unref)(Gl),{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`,KP,(0,a.toDisplayString)(h.value),1)]),_:1})])):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,qP,[(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)(tv),{key:0,class:`approval-result-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{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`,JP,(0,a.toDisplayString)(l.value.description),1)):(0,a.createCommentVNode)(``,!0),d.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,YP,[i[9]||=(0,a.createElementVNode)(`span`,{class:`tool-call-node__label`},`参数:`,-1),(0,a.createElementVNode)(`code`,XP,(0,a.toDisplayString)(f.value),1)])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,ZP,[(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)(tv),{style:{"margin-right":`4px`}}),i[10]||=(0,a.createTextVNode)(` 批准 `,-1)],8,QP),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,$P)):(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)(lv),{style:{"margin-right":`4px`}}),i[11]||=(0,a.createTextVNode)(` 拒绝 `,-1)],8,eF)):(0,a.createCommentVNode)(``,!0)]),o.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,tF,[(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,nF),[[a.vModelText,s.value]]),(0,a.createElementVNode)(`div`,rF,[(0,a.createElementVNode)(`button`,{class:`tool-call-node__btn tool-call-node__btn-approve`,disabled:e.resolving,onClick:(0,a.withModifiers)(v,[`stop`])},` 提交修改 `,8,iF),(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,aF)])])):(0,a.createCommentVNode)(``,!0)],64))])):(0,a.createCommentVNode)(``,!0)])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-f2e29458`]]),sF={class:`todos-top-panel`},cF={class:`todos-top-panel__header`},lF={class:`todos-top-panel__meta`},uF={class:`todos-top-panel__list`},dF={class:`todos-top-panel__text`},fF=CP((0,a.defineComponent)({__name:`WriteTodosTopPanel`,props:{todos:{}},setup(e){let t=e,n=(0,a.computed)(()=>t.todos.filter(e=>r(e.status)===`completed`).length);function r(e){let t=String(e||``).toLowerCase();return t===`completed`||t===`done`||t===`success`?`completed`:t===`in_progress`||t===`running`||t===`doing`?`in_progress`:t===`cancelled`||t===`canceled`||t===`rejected`||t===`blocked`?`cancelled`:`pending`}return(t,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,sF,[(0,a.createElementVNode)(`header`,cF,[i[0]||=(0,a.createElementVNode)(`span`,{class:`todos-top-panel__title`},`任务清单`,-1),(0,a.createElementVNode)(`span`,lF,[(0,a.createVNode)((0,a.unref)(tv),{class:`todos-top-panel__meta-icon`}),(0,a.createTextVNode)(` `+(0,a.toDisplayString)(n.value)+`/`+(0,a.toDisplayString)(e.todos.length)+` 已完成 `,1)])]),(0,a.createElementVNode)(`ul`,uF,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.todos,(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{key:e.id||`${t}-${e.title}`,class:`todos-top-panel__item`},[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`todos-top-panel__status`,`is-${r(e.status)}`])},[r(e.status)===`completed`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:0})):r(e.status)===`in_progress`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(pE),{key:1,class:`is-rotating`})):r(e.status)===`cancelled`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(aE),{key:2})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3}))],2),(0,a.createElementVNode)(`span`,dF,(0,a.toDisplayString)(e.title),1)]))),128))])]))}}),[[`__scopeId`,`data-v-d03a50e5`]]),pF=class extends Error{constructor(e,t){super(`${e} at position ${t}`),this.position=t}},mF=32,hF=10,gF=9,_F=13,vF=160,yF=6158,bF=8192,xF=8203,SF=8239,CF=8287,wF=12288,TF=65279;function EF(e){return/^[0-9A-Fa-f]$/.test(e)}function DF(e){return e>=`0`&&e<=`9`}function OF(e){return e>=` `}function kF(e){return`,:[]/{}()
350
350
  +`.includes(e)}function AF(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`||e===`$`}function jF(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`_`||e===`$`||e>=`0`&&e<=`9`}var MF=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,NF=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function PF(e){return`,[]/{}
351
351
  +`.includes(e)}function FF(e){return VF(e)||IF.test(e)}var IF=/^[[{\w-]$/;function LF(e){return e===`
352
352
  `||e===`\r`||e===` `||e===`\b`||e===`\f`}function RF(e,t){let n=e.charCodeAt(t);return n===mF||n===hF||n===gF||n===_F}function zF(e,t){let n=e.charCodeAt(t);return n===mF||n===gF||n===_F}function BF(e,t){let n=e.charCodeAt(t);return n===vF||n===yF||n>=bF&&n<=xF||n===SF||n===CF||n===wF||n===TF}function VF(e){return HF(e)||WF(e)}function HF(e){return e===`"`||e===`“`||e===`”`}function UF(e){return e===`"`}function WF(e){return e===`'`||e===`‘`||e===`’`||e==="`"||e===`´`}function GF(e){return e===`'`}function KF(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=e.lastIndexOf(t);return r===-1?e:e.substring(0,r)+(n?``:e.substring(r+1))}function qF(e,t){let n=e.length;if(!RF(e,n-1))return e+t;for(;RF(e,n-1);)n--;return e.substring(0,n)+t+e.substring(n)}function JF(e,t,n){return e.substring(0,t)+e.substring(t+n)}function YF(e){return/[,\n][ \t\r]*$/.test(e)}function XF(e,t){let n=0;for(let r=0;r<e.length;r++)e.charAt(r)===t&&n++;return n}function ZF(e,t){switch(t){case`)`:return XF(e,`(`)>XF(e,`)`);case`]`:return XF(e,`[`)>XF(e,`]`);case`}`:return XF(e,`{`)>XF(e,`}`);default:return!1}}var QF={"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},$F={'"':`"`,"\\":`\\`,"/":`/`,b:`\b`,f:`\f`,n:`
353
353
  `,r:`\r`,t:` `};function eI(e){let t=0,n=``;c(["```","[```","{```"]),i()||k(),c(["```","```]","```}"]);let r=u(`,`);for(r&&a(),FF(e[t])&&YF(n)?(r||(n=qF(n,`,`)),g()):r&&(n=KF(n,`,`));e[t]===`}`||e[t]===`]`;)t++,a();if(t>=e.length)return n;O();function i(){a();let e=m()||h()||_()||y()||b()||S(!1)||C();return a(),e}function a(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,n=t,r=o(e);do r=s(),r&&=o(e);while(r);return t>n}function o(r){let i=r?RF:zF,a=``;for(;;)if(i(e,t))a+=e[t],t++;else if(BF(e,t))a+=` `,t++;else break;return a.length>0?(n+=a,!0):!1}function s(){if(e[t]===`/`&&e[t+1]===`*`){for(;t<e.length&&!tI(e,t);)t++;return t+=2,!0}if(e[t]===`/`&&e[t+1]===`/`){for(;t<e.length&&e[t]!==`
354
354
  `;)t++;return!0}return!1}function c(n){if(l(n)){if(AF(e[t]))for(;t<e.length&&jF(e[t]);)t++;return a(),!0}return!1}function l(n){o(!0);for(let r of n){let n=t+r.length;if(e.slice(t,n)===r)return t=n,!0}return!1}function u(r){return e[t]===r?(n+=e[t],t++,!0):!1}function d(n){return e[t]===n?(t++,!0):!1}function f(){return d(`\\`)}function p(){return a(),e[t]===`.`&&e[t+1]===`.`&&e[t+2]===`.`?(t+=3,a(),d(`,`),!0):!1}function m(){if(e[t]===`{`){n+=`{`,t++,a(),d(`,`)&&a();let r=!0;for(;t<e.length&&e[t]!==`}`;){let o;if(r?o=!0:(o=u(`,`),o||(n=qF(n,`,`)),a()),p(),!(_()||S(!0))){e[t]===`}`||e[t]===`{`||e[t]===`]`||e[t]===`[`||e[t]===void 0?r||(n=KF(n,`,`)):A();break}a();let s=u(`:`),c=t>=e.length;s||(FF(e[t])||c?n=qF(n,`:`):j()),i()||(s||c?n+=`null`:j()),r=!1}return e[t]===`}`?(n+=`}`,t++):n=qF(n,`}`),!0}return!1}function h(){if(e[t]===`[`){n+=`[`,t++,a(),d(`,`)&&a();let r=!0;for(;t<e.length&&e[t]!==`]`;){if(r||u(`,`)||(n=qF(n,`,`)),p(),!i()){r||(n=KF(n,`,`));break}r=!1}return e[t]===`]`?(n+=`]`,t++):n=qF(n,`]`),!0}return!1}function g(){let e=!0,t=!0;for(;t;)e?e=!1:u(`,`)||(n=qF(n,`,`)),t=i();t||(n=KF(n,`,`)),n=`[\n${n}\n]`}function _(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,o=e[t]===`\\`;if(o&&=(t++,!0),VF(e[t])){let s=UF(e[t])?UF:GF(e[t])?GF:WF(e[t])?WF:HF,c=t,l=n.length,u=`"`;for(t++;;){if(t>=e.length){let i=w(t-1);return!r&&kF(e.charAt(i))?(t=c,n=n.substring(0,l),_(!0)):(u=qF(u,`"`),n+=u,!0)}if(t===i)return u=qF(u,`"`),n+=u,!0;if(s(e[t])){let i=t,o=u.length;if(u+=`"`,t++,n+=u,a(!1),r||t>=e.length||kF(e[t])&&!ZF(u,e[t])||VF(e[t])&&!T(t)||DF(e[t]))return v(),!0;let s=w(i-1),d=e.charAt(s);if(d===`,`)return t=c,n=n.substring(0,l),_(!1,s);if(kF(d))return t=c,n=n.substring(0,l),_(!0);n=n.substring(0,l),t=i+1,u=`${u.substring(0,o)}\\${u.substring(o)}`}else if(r&&PF(e[t])){if(e[t-1]===`:`&&MF.test(e.substring(c+1,t+2)))for(;t<e.length&&NF.test(e[t]);)u+=e[t],t++;return u=qF(u,`"`),n+=u,v(),!0}else if(e[t]===`\\`){let n=e.charAt(t+1);if($F[n]!==void 0)u+=e.slice(t,t+2),t+=2;else if(n===`u`){let n=2;for(;n<6&&EF(e[t+n]);)n++;n===6?(u+=e.slice(t,t+6),t+=6):t+n>=e.length?t=e.length:M()}else n===`
355
- `?(u+=`\\n`,t+=2):(u+=n,t+=2)}else{let n=e.charAt(t);n===`"`&&e[t-1]!==`\\`?(u+=`\\${n}`,t++):LF(n)?(u+=QF[n],t++):(OF(n)||D(n),u+=n,t++)}o&&f()}}return!1}function v(){let r=!1;for(a();e[t]===`+`;){r=!0,t++,a(),n=KF(n,`"`,!0);let e=n.length;n=_()?JF(n,e,1):qF(n,`"`)}return r}function y(){let r=t,i=``,a=!1;for(e[t]===`-`&&(i+=e[t],t++,!DF(e[t])&&E()&&(i+=`0`)),e[t]===`0`&&DF(e[t+1])&&(a=!0);DF(e[t]);)i+=e[t],t++;if(e[t]===`.`)for((i===``||i===`-`)&&(i+=`0`),i+=e[t],t++,DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;if(t>r){if(e[t]===`e`||e[t]===`E`)for(i===`-`&&(a=!0),i+=e[t],t++,(e[t]===`-`||e[t]===`+`)&&(i+=e[t],t++),DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;return E()?(n+=a?`"${e.substring(r,t)}"`:i,!0):(t=r,!1)}return!1}function b(){return x(`true`,`true`)||x(`false`,`false`)||x(`null`,`null`)||x(`True`,`true`)||x(`False`,`false`)||x(`None`,`null`)}function x(r,i){return e.slice(t,t+r.length)===r&&!jF(e[t+r.length])?(n+=i,t+=r.length,!0):!1}function S(r){let a=t;if(AF(e[t])){for(;t<e.length&&jF(e[t]);)t++;let n=t;for(;RF(e,n);)n++;if(e[n]===`(`)return t=n+1,i(),e[t]===`)`&&(t++,e[t]===`;`&&t++),!0}for(;t<e.length&&!PF(e[t])&&!VF(e[t])&&(!r||e[t]!==`:`);)t++;if(e[t-1]===`:`&&MF.test(e.substring(a,t+2)))for(;t<e.length&&NF.test(e[t]);)t++;if(t>a){for(;RF(e,t-1)&&t>0;)t--;let r=e.slice(a,t);return n+=r===`undefined`?`null`:JSON.stringify(r),e[t]===`"`&&t++,!0}}function C(){if(e[t]===`/`){let r=t;for(t++;t<e.length&&(e[t]!==`/`||e[t-1]===`\\`);)t++;return t++,n+=JSON.stringify(e.substring(r,t)),!0}}function w(t){let n=t;for(;n>0&&RF(e,n);)n--;return n}function T(t){let n=t+1;for(;n<e.length&&RF(e,n);)n++;return n>=e.length||kF(e[n])}function E(){return t>=e.length||kF(e[t])||RF(e,t)}function D(e){throw new pF(`Invalid character ${JSON.stringify(e)}`,t)}function O(){throw new pF(`Unexpected character ${JSON.stringify(e[t])}`,t)}function k(){throw new pF(`Unexpected end of json string`,e.length)}function A(){throw new pF(`Object key expected`,t)}function j(){throw new pF(`Colon expected`,t)}function M(){throw new pF(`Invalid unicode character "${e.slice(t,t+6)}"`,t)}}function tI(e,t){return e[t]===`*`&&e[t+1]===`/`}var nI=[`role`,`tabindex`],rI={class:`tool-call-node__prefix`},iI={class:`tool-call-node__title`},aI={key:0,class:`tool-call-node__toggle`},oI={key:0,class:`smdr__body`},sI={key:0,class:`smdr__error`},cI={class:`smdr__tabs`},lI=[`onClick`],uI={class:`smdr__content`},dI=CP((0,a.defineComponent)({__name:`SaveModuleDocsRenderer`,props:{tool:{},expanded:{type:Boolean},stepNumber:{},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],setup(e,{emit:t}){let n=e,r=(0,a.computed)(()=>{let e=n.tool.input;if(!e)return{};if(typeof e==`object`)return e;if(typeof e==`string`)try{return JSON.parse(eI(e))}catch{return{}}return{}}),i=[{key:`requirement_docs`,label:`需求文档`},{key:`technical_docs`,label:`技术文档`},{key:`changelog_docs`,label:`变更日志`}],o=(0,a.computed)(()=>i.filter(e=>{let t=r.value[e.key];return typeof t==`string`&&t.trim().length>0}).map(e=>({key:e.key,label:e.label,content:r.value[e.key]}))),s=(0,a.computed)(()=>o.value.length>0||n.tool.status===`error`),c=(0,a.computed)(()=>{let e=r.value.model_name;return e?`存储文档:${e}`:n.tool.title||`存储模块文档`}),l=(0,a.ref)(o.value[0]?.key??``);return(0,a.watch)(()=>o.value[0]?.key,e=>{e&&!o.value.find(e=>e.key===l.value)&&(l.value=e)},{immediate:!0}),(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`tool-call-node`,`is-${n.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`tool-call-node__header`,{"tool-call-node__header--clickable":s.value}]),role:s.value?`button`:void 0,tabindex:s.value?0:void 0,onClick:r[0]||=e=>s.value&&t(`toggle`),onKeydown:[r[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`enter`]),r[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,rI,[n.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):n.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):n.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})),(0,a.createElementVNode)(`span`,iI,(0,a.toDisplayString)(c.value),1)]),s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,aI,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,nI),n.expanded&&s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,oI,[n.tool.status===`error`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,sI,(0,a.toDisplayString)(n.tool.error||`执行失败`),1)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,cI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.key,class:(0,a.normalizeClass)([`smdr__tab`,{"smdr__tab--active":l.value===e.key}]),onClick:t=>l.value=e.key},(0,a.toDisplayString)(e.label),11,lI))),128))]),(0,a.createElementVNode)(`div`,uI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>(0,a.withDirectives)(((0,a.openBlock)(),(0,a.createBlock)(NP,{key:e.key,content:e.content},null,8,[`content`])),[[a.vShow,l.value===e.key]])),128))])],64))])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-2ab50b51`]]),fI={save_module_docs_tool:dI},pI={class:`chat-panel`},mI={class:`chat-header`},hI={class:`header-meta`},gI={class:`conv-heading`},_I={key:0,class:`conv-subheading`},vI={class:`header-actions`},yI={class:`chat-body`},bI={key:0,class:`empty-state`},xI={key:0,class:`empty-sub`},SI={key:1,class:`messages-wrapper`},CI={key:0,class:`ai-loading`},wI={class:`input-footer`},TI={class:`input-panel`},EI=CP((0,a.defineComponent)({__name:`index`,props:{title:{default:`对话助手`},subtitle:{default:``},emptyHint:{default:``},agents:{},agentKey:{default:``},agentPickerStorageKey:{default:`chat_panel_agent`},roles:{},modelValue:{default:``},customHtmlTags:{},customComponents:{},sessionKey:{default:``},initialMessages:{default:()=>[]},onAgentEvent:{},defaultToolRenderers:{default:()=>fI}},emits:[`update:modelValue`,`update:agentKey`,`submit`,`cancel`,`reset`,`agentChange`,`update:agents`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({});function o(e,t){return`${e}:${t}`}function s(e,t){return!!i.value[o(e,t)]}function c(e,t){let n=o(e,t);i.value={...i.value,[n]:!i.value[n]}}function l(e){return e.map(e=>({...e,toolTimeline:e.toolTimeline?.map(e=>({...e})),segments:e.segments?.map(e=>({...e}))}))}let u=(0,a.ref)(n.modelValue||``),d=(0,a.ref)(!1),f=(0,a.ref)(l(n.initialMessages)),p=(0,a.ref)(``),m=(0,a.ref)(n.agentKey||n.agents[0]?.key||``),h=(0,a.ref)([...n.agents]),g=new Map;function _(e){return{replyChange:(t,r)=>{n.onAgentEvent?.({event:`replyChange`,agentKey:e.key,args:[t,r]}),ce(t,r)},stop:()=>{n.onAgentEvent?.({event:`stop`,agentKey:e.key,args:[]}),le()},toolCall:t=>{n.onAgentEvent?.({event:`toolCall`,agentKey:e.key,args:[t]}),ue(t)},interrupt:t=>{n.onAgentEvent?.({event:`interrupt`,agentKey:e.key,args:[t]}),de(t)}}}function v(e){if(g.has(e.key))return;let t=_(e);g.set(e.key,t),e.agent.on(`replyChange`,t.replyChange),e.agent.on(`stop`,t.stop),e.agent.on(`toolCall`,t.toolCall);let n=e.agent;typeof n.onInterrupt==`function`&&n.onInterrupt(t.interrupt)}function y(e){let t=g.get(e.key);if(!t)return;e.agent.off(`replyChange`,t.replyChange),e.agent.off(`stop`,t.stop),e.agent.off(`toolCall`,t.toolCall);let n=e.agent;typeof n.offInterrupt==`function`&&n.offInterrupt(t.interrupt),g.delete(e.key)}function b(e){let t=h.value;t.forEach(t=>{e.find(e=>e.key===t.key)||y(t)}),e.forEach(e=>{t.find(t=>t.key===e.key)||v(e)}),h.value=e,r(`update:agents`,e),e.find(e=>e.key===m.value)||(m.value=e[0]?.key||``,r(`update:agentKey`,m.value))}let x=(0,a.ref)(null),S=(0,a.ref)(!1),C=(0,a.ref)({}),w=(0,a.ref)(null),T=(0,a.computed)(()=>f.value);function E(e){return e===`write_todos`?`top`:`timeline`}let D=(0,a.computed)(()=>h.value.find(e=>e.key===m.value)||h.value[0]||null),O=(0,a.computed)(()=>D.value?.label||`未选择`);function k(e,t){let r=F(e.toolTimeline,t);if(!r?.toolName)return oF;let i=D.value?.toolRenderers,a=n.defaultToolRenderers;return i?.[r.toolName]??a?.[r.toolName]??oF}let A=(0,a.computed)(()=>yf(n.emptyHint)?`当前 Agent:${O.value},输入问题后按 Enter 发送`:n.emptyHint);(0,a.watch)(()=>n.modelValue,e=>{u.value=e||``}),(0,a.watch)(()=>n.agentKey,e=>{e&&(m.value=e)}),(0,a.watch)(()=>n.sessionKey,()=>{p.value=``,d.value=!1,i.value={},f.value=l(n.initialMessages),w.value=null},{immediate:!0});function j(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function M(e,t){let n=f.value.findIndex(t=>t.key===e);n!==-1&&(f.value[n]={...f.value[n],...t})}function N(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=i.findIndex(e=>e.toolCallId===t.toolCallId),o=r.segments?[...r.segments]:[];if(a===-1){let e=r.content.length;if(o.length===0)o=[{type:`text`,start:0,end:e}];else for(let t=o.length-1;t>=0;t--){let n=o[t];if(n.type===`text`&&n.end===-1){o[t]={...n,end:e};break}}o.push({type:`tool`,toolCallId:t.toolCallId}),o.push({type:`text`,start:e,end:-1})}if(a===-1)i.push({toolCallId:t.toolCallId,toolName:t.toolName,title:t.title,status:t.status,input:t.input,output:t.output,error:t.error,stepNumber:t.stepNumber,startedAt:t.timestamp,durationMs:t.durationMs,approvalConfig:t.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:void 0});else{let e=i[a];i[a]={...e,toolName:t.toolName||e.toolName,title:t.title??e.title,status:t.status,input:t.input??e.input,output:t.output??e.output,error:t.error??e.error,stepNumber:t.stepNumber??e.stepNumber,durationMs:t.durationMs??e.durationMs,approvalConfig:t.approvalConfig&&!e.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:e.approvalConfig}}f.value[n]={...r,toolTimeline:i,segments:o,loading:!1}}function P(e){let t=e;return!t.segments||t.segments.length===0?t.content?[{type:`text`,text:t.content}]:[]:t.segments.map(e=>e.type===`tool`?e:{type:`text`,text:t.content.slice(e.start,e.end===-1?void 0:e.end)})}function F(e,t){if(e)return e.find(e=>e.toolCallId===t)}function I(e,t){return E(F(e.toolTimeline,t)?.toolName)===`timeline`}function L(e){let t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{return e}}function R(e,t){if(typeof e==`string`)return{title:e,status:`pending`};if(!e||typeof e!=`object`)return{title:`Todo ${t+1}`,status:`pending`};let n=e,r=typeof n.title==`string`&&n.title||typeof n.content==`string`&&n.content||typeof n.text==`string`&&n.text||typeof n.task==`string`&&n.task||`Todo ${t+1}`,i=typeof n.status==`string`&&n.status||typeof n.state==`string`&&n.state||(typeof n.done==`boolean`&&n.done?`completed`:`pending`);return{id:typeof n.id==`string`?n.id:void 0,title:r,status:String(i)}}function z(e){if(typeof e!=`string`)return[];let t=e.trim();if(!t)return[];let n=L(t);if(typeof n==`string`)return[];if(Array.isArray(n))return n.map((e,t)=>R(e,t));if(n&&typeof n==`object`){let e=n.todos;if(Array.isArray(e))return e.map((e,t)=>R(e,t))}return[]}function ee(e){let t=z(e.input),n=t.length?t:z(e.output);if(!n.length)return null;let r=n.filter(e=>String(e.title||``).trim().length>0);return r.length?{todos:r}:null}(0,a.watch)((0,a.computed)(()=>{for(let e=f.value.length-1;e>=0;e--){let t=f.value[e].toolTimeline;if(t?.length)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.toolName!==`write_todos`)continue;let r=ee(n);if(r)return r}}return null}),e=>{e?.todos?.length&&(w.value=e)},{immediate:!0});function B(e,t){let n=(t||``).trim();if(n)return n;let r=F(f.value.find(e=>e.key===p.value)?.toolTimeline,e);return r?.toolName?r.toolName:x.value?.review_configs.length===1?x.value.review_configs[0].action_name:``}function V(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=r.segments?[...r.segments]:[],o=Date.now();t.review_configs.forEach((e,n)=>{let s=e.action_name;if(!s)return;let c=t.action_requests.find(e=>e.name===s),l={interruptId:t.interrupt_id,description:c?.description||``,args:c?.args??{},allowedDecisions:e.allowed_decisions,editContent:typeof c?.args?.content==`string`?String(c.args.content):``},u=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.toolName===s&&t.status===`running`){u=e;break}}if(u!==-1){i[u]={...i[u],status:`waiting`,approvalConfig:l};return}let d=`interrupt-${t.interrupt_id}-${n}`;i.push({toolCallId:d,toolName:s,title:s,status:`waiting`,stepNumber:i.length,startedAt:o,approvalConfig:l});let f=r.content.length;if(a.length===0)a=[{type:`text`,start:0,end:f}];else for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.type===`text`&&t.end===-1){a[e]={...t,end:f};break}}a.push({type:`tool`,toolCallId:d}),a.push({type:`text`,start:f,end:-1})}),f.value[n]={...r,toolTimeline:i,segments:a,loading:!1}}function H(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`approve`}])}function U(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`reject`}])}function te(e,t,n){let r=B(e,t);r&&fe([{action_name:r,decision:`edit`,edited_content:n||``}])}function ne(e=!1){p.value=``,u.value=``,i.value={},x.value=null,S.value=!1,C.value={},w.value=null,r(`update:modelValue`,``),d.value=!1,f.value=[],(e?h.value.map(e=>e.agent):D.value?[D.value.agent]:[]).forEach(e=>{e.stop(),e.reset()})}function re(e){u.value=e,r(`update:modelValue`,e)}async function ie(e){let t=(e??u.value).trim();if(!t||d.value||!D.value)return;let n=j(`user`),i=j(`ai`);p.value=i,x.value=null,S.value=!1,C.value={},f.value.push({key:n,role:`user`,content:t}),f.value.push({key:i,role:`ai`,content:``,loading:!0,toolTimeline:[]}),u.value=``,r(`update:modelValue`,``),d.value=!0,r(`submit`,t,m.value);try{await D.value.agent.ask(t);let e=f.value.findIndex(e=>e.key===i);e!==-1&&f.value[e].loading&&(f.value[e]={...f.value[e],content:f.value[e].content||`未收到响应,请重试`,loading:!1})}catch(e){let t=e instanceof Error?e.message:`请求失败`,n=f.value.find(e=>e.key===i)?.content||``;M(i,{content:n?`${n}\n\n请求失败:${t}`:`请求失败:${t}`,loading:!1})}finally{d.value=!1,x.value||(p.value=``)}}function ae(){if(!d.value||!D.value)return;let e=p.value;e&&M(e,{loading:!1}),p.value=``,d.value=!1,D.value.agent.stop(),r(`cancel`)}function oe(){ne(),r(`reset`)}function se(e){!e||e===m.value||(m.value=e,r(`update:agentKey`,e),ne(!0),r(`agentChange`,e))}let ce=(e,t)=>{let n=p.value;n&&M(n,{content:t,loading:!1})},le=()=>{let e=p.value;if(!e)return;let t=f.value.findIndex(t=>t.key===e);t!==-1&&f.value[t].loading&&(f.value[t]={...f.value[t],content:f.value[t].content||`已停止`,loading:!1})},ue=e=>{let t=p.value;t&&N(t,e)},de=e=>{let t=p.value;if(!t)return;x.value=e;let n={};for(let t of e.action_requests)n[t.name]=typeof t.args.content==`string`?t.args.content:``;C.value=n,V(t,e),M(t,{loading:!1})};async function fe(e){if(!D.value||S.value)return;let t=p.value;S.value=!0,x.value=null,t&&M(t,{loading:!1});try{await D.value.agent.resume(e),t&&M(t,{loading:!1})}catch(e){let n=e instanceof Error?e.message:`恢复失败`;t&&M(t,{content:`${f.value.find(e=>e.key===t)?.content||``}\n\n操作恢复失败:${n}`,loading:!1})}finally{S.value=!1,x.value||(p.value=``)}}return n.agents.forEach(v),(0,a.onBeforeUnmount)(()=>{p.value=``,d.value&&D.value&&D.value.agent.stop(),h.value.forEach(y)}),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,pI,[(0,a.createElementVNode)(`header`,mI,[(0,a.createElementVNode)(`div`,hI,[(0,a.createElementVNode)(`h2`,gI,(0,a.toDisplayString)(e.title),1),e.subtitle?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,_I,(0,a.toDisplayString)(e.subtitle),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`div`,vI,[(0,a.renderSlot)(t.$slots,`header-actions`,{},()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,disabled:d.value,onClick:oe},{default:(0,a.withCtx)(()=>[...r[0]||=[(0,a.createTextVNode)(`新会话`,-1)]]),_:1},8,[`disabled`])],!0)])]),w.value?((0,a.openBlock)(),(0,a.createBlock)(fF,{key:0,todos:w.value.todos},null,8,[`todos`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,yI,[T.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,SI,[(0,a.createVNode)((0,a.unref)(wN),{items:T.value,roles:e.roles,style:{width:`100%`},"auto-scroll":!0},{message:(0,a.withCtx)(n=>[(0,a.renderSlot)(t.$slots,`message`,(0,a.normalizeProps)((0,a.guardReactiveProps)(n)),()=>[n.item.loading&&!n.item.content?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,CI,[(0,a.createVNode)((0,a.unref)(bd),{style:{fontSize:`16px`,color:`var(--primary-color, var(--primary))`,marginRight:`8px`}}),r[2]||=(0,a.createElementVNode)(`span`,{class:`loading-text`},`AI 正在思考...`,-1)])):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(P(n.item),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:r},[t.type===`tool`&&I(n.item,t.toolCallId)?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(k(n.item,t.toolCallId)),{key:0,tool:F(n.item.toolTimeline,t.toolCallId),expanded:s(String(n.item.key),t.toolCallId),"step-number":F(n.item.toolTimeline,t.toolCallId)?.stepNumber,resolving:S.value,onToggle:e=>c(String(n.item.key),t.toolCallId),onApprove:e=>H(t.toolCallId,e),onReject:e=>U(t.toolCallId,e),onEdit:(e,n)=>te(t.toolCallId,e,n)},null,40,[`tool`,`expanded`,`step-number`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`text`&&t.text?((0,a.openBlock)(),(0,a.createBlock)(NP,{key:1,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))],!0)]),_:3},8,[`items`,`roles`])])):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,bI,[(0,a.createVNode)((0,a.unref)(tE),{class:`empty-icon`}),r[1]||=(0,a.createElementVNode)(`p`,{class:`empty-title`},`开始你的对话`,-1),A.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,xI,(0,a.toDisplayString)(A.value),1)):(0,a.createCommentVNode)(``,!0)]))]),(0,a.createElementVNode)(`footer`,wI,[(0,a.createElementVNode)(`div`,TI,[(0,a.createVNode)((0,a.unref)(_P),{value:u.value,placeholder:`输入问题,Enter 发送`,"submit-type":`enter`,loading:d.value,"onUpdate:value":re,onSubmit:ie,onCancel:ae},{footer:(0,a.withCtx)(()=>[(0,a.createVNode)(wP,{value:m.value,"built-in-agents":n.agents,disabled:d.value,"storage-key":n.agentPickerStorageKey,"onUpdate:value":se,"onUpdate:agents":b},null,8,[`value`,`built-in-agents`,`disabled`,`storage-key`])]),_:1},8,[`value`,`loading`])])])]))}}),[[`__scopeId`,`data-v-de8604c5`]]),DI={class:`agent-chat`},OI={class:`agent-chat__sidebar-header`},kI={key:0,class:`agent-chat__state-tip`},AI={key:1,class:`agent-chat__state-tip agent-chat__state-tip--error`},jI={class:`agent-chat__main`},MI={key:0,class:`agent-chat__toolbar`},NI=CP((0,a.defineComponent)({__name:`index`,props:{agentKey:{default:``},agents:{},emptyHint:{default:`从左侧选择历史会话,或直接开始新的对话`},hideHistory:{type:Boolean},onAgentEvent:{},title:{default:``}},emits:[`update:agentKey`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=(0,a.ref)([...r.agents]),s=(0,a.ref)(r.agentKey||r.agents[0]?.key||``),c=(0,a.computed)(()=>o.value.find(e=>e.key===s.value)??o.value[0]),l=(0,a.computed)(()=>r.hideHistory===void 0?c.value?.agent.supportsHistory?.()??!1:!r.hideHistory);(0,a.watch)(()=>r.agentKey,e=>{e&&e!==s.value&&T(e)});let u=(0,a.ref)(!1),d=(0,a.ref)(``),f=(0,a.ref)(!1),p=(0,a.ref)(``),m=(0,a.ref)([]),h=(0,a.ref)(``),g=(0,a.ref)(``),_=(0,a.ref)([]),v=(0,a.ref)(`session:new:${Date.now()}`),y=(0,a.ref)(!1),b=(0,a.computed)(()=>m.value.map(e=>({key:e.id,label:e.title||`新对话`}))),x=(0,a.computed)(()=>{let e=d.value.trim().toLowerCase();return e?b.value.filter(t=>t.label.toLowerCase().includes(e)):b.value});async function S(){if(c.value){f.value=!0,p.value=``;try{m.value=(await c.value.agent.listConversations()).items}catch(e){p.value=e instanceof Error?e.message:`加载失败`}finally{f.value=!1}}}(0,a.onMounted)(()=>{l.value&&S()});function C(e){!e||e===s.value||T(e)}function w(e){if(o.value=e,!e.find(e=>e.key===s.value)){let t=e[0]?.key||``;t&&(s.value=t,i(`update:agentKey`,t))}}function T(e){c.value?.agent.stop(),c.value?.agent.reset(),s.value=e,i(`update:agentKey`,e),O(),l.value&&S()}function E(){return c.value?.agent}function D(){return s.value}function O(){h.value=``,g.value=``,_.value=[],v.value=`session:new:${Date.now()}`}function k(){u.value=!1,c.value?.agent.stop(),c.value?.agent.reset(),O()}async function A(e){if(e!==h.value){u.value=!1,h.value=e,g.value=m.value.find(t=>t.id===e)?.title||`历史会话`,c.value?.agent.stop(),y.value=!0;try{_.value=await c.value?.agent.getConversationDetail(e)??[]}catch{_.value=[]}finally{y.value=!1}v.value=`session:${s.value}:${e}`}}let j=(0,a.computed)(()=>r.title||g.value||c.value?.label||`AI 助手`),M=(0,a.computed)(()=>y.value?`正在加载历史消息…`:h.value?`已载入历史会话`:``),N=(0,a.h)($l,{size:32,style:{background:`var(--primary-color, var(--primary))`,flexShrink:`0`}},()=>`AI`),P=(0,a.h)($l,{size:32,style:{background:`var(--success-color, #22c55e)`,flexShrink:`0`}},()=>`我`),F={ai:{placement:`start`,avatar:N,styles:{content:{background:`var(--component-background, #fff)`,border:`1px solid var(--border-color-split, var(--border))`,borderBottomLeftRadius:`4px`,borderRadius:`12px`,color:`var(--text-color, var(--text))`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}},user:{placement:`end`,avatar:P,styles:{content:{background:`var(--primary-color, var(--primary))`,borderBottomRightRadius:`4px`,borderRadius:`12px`,color:`#fff`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}}};return t({reloadConversations:S,newChat:k,getCurrentAgentRuntime:E,getCurrentAgentKey:D}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,DI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{key:0,class:(0,a.normalizeClass)([`agent-chat__sidebar`,{"is-open":u.value}])},[(0,a.createElementVNode)(`button`,{class:`agent-chat__close-btn`,"aria-label":`关闭侧边栏`,onClick:n[0]||=e=>u.value=!1},[(0,a.createVNode)((0,a.unref)(_v))]),(0,a.createElementVNode)(`div`,OI,[n[5]||=(0,a.createElementVNode)(`span`,{class:`agent-chat__sidebar-title`},`历史会话`,-1),(0,a.createVNode)((0,a.unref)(zf),{type:`text`,class:`agent-chat__new-btn`,disabled:f.value,onClick:k},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),default:(0,a.withCtx)(()=>[n[4]||=(0,a.createTextVNode)(` 新建 `,-1)]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(W_),{value:d.value,"onUpdate:value":n[1]||=e=>d.value=e,placeholder:`搜索对话…`,"allow-clear":``,class:`agent-chat__search`},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(f_),{style:{color:`#94a3b8`}})]),_:1},8,[`value`]),f.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kI,[(0,a.createVNode)((0,a.unref)(bd),{style:{"margin-right":`6px`}}),n[6]||=(0,a.createTextVNode)(`加载中… `,-1)])):p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,AI,[(0,a.createVNode)((0,a.unref)(xE),{style:{"margin-right":`6px`}}),(0,a.createTextVNode)((0,a.toDisplayString)(p.value)+` `,1),(0,a.createVNode)((0,a.unref)(zf),{size:`small`,type:`link`,onClick:S},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`重试`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(LN),{"active-key":h.value,items:x.value,class:`agent-chat__conv-list`,"on-active-change":A},null,8,[`active-key`,`items`])],2)):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:`agent-chat__mask`,onClick:n[2]||=e=>u.value=!1})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,jI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,MI,[(0,a.createVNode)((0,a.unref)(zf),{class:`agent-chat__history-btn`,onClick:n[3]||=e=>u.value=!0},{default:(0,a.withCtx)(()=>[...n[8]||=[(0,a.createTextVNode)(` 历史会话`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(EI,{"agent-key":s.value,agents:r.agents,roles:F,"session-key":v.value,"initial-messages":_.value,title:j.value,subtitle:M.value,"empty-hint":e.emptyHint,"on-agent-event":r.onAgentEvent,class:`agent-chat__panel`,"onUpdate:agentKey":C,"onUpdate:agents":w,onReset:k},null,8,[`agent-key`,`agents`,`session-key`,`initial-messages`,`title`,`subtitle`,`empty-hint`,`on-agent-event`])])]))}}),[[`__scopeId`,`data-v-a1f03075`]]);function PI(e){let t=e.split(`
355
+ `?(u+=`\\n`,t+=2):(u+=n,t+=2)}else{let n=e.charAt(t);n===`"`&&e[t-1]!==`\\`?(u+=`\\${n}`,t++):LF(n)?(u+=QF[n],t++):(OF(n)||D(n),u+=n,t++)}o&&f()}}return!1}function v(){let r=!1;for(a();e[t]===`+`;){r=!0,t++,a(),n=KF(n,`"`,!0);let e=n.length;n=_()?JF(n,e,1):qF(n,`"`)}return r}function y(){let r=t,i=``,a=!1;for(e[t]===`-`&&(i+=e[t],t++,!DF(e[t])&&E()&&(i+=`0`)),e[t]===`0`&&DF(e[t+1])&&(a=!0);DF(e[t]);)i+=e[t],t++;if(e[t]===`.`)for((i===``||i===`-`)&&(i+=`0`),i+=e[t],t++,DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;if(t>r){if(e[t]===`e`||e[t]===`E`)for(i===`-`&&(a=!0),i+=e[t],t++,(e[t]===`-`||e[t]===`+`)&&(i+=e[t],t++),DF(e[t])||(i+=`0`);DF(e[t]);)i+=e[t],t++;return E()?(n+=a?`"${e.substring(r,t)}"`:i,!0):(t=r,!1)}return!1}function b(){return x(`true`,`true`)||x(`false`,`false`)||x(`null`,`null`)||x(`True`,`true`)||x(`False`,`false`)||x(`None`,`null`)}function x(r,i){return e.slice(t,t+r.length)===r&&!jF(e[t+r.length])?(n+=i,t+=r.length,!0):!1}function S(r){let a=t;if(AF(e[t])){for(;t<e.length&&jF(e[t]);)t++;let n=t;for(;RF(e,n);)n++;if(e[n]===`(`)return t=n+1,i(),e[t]===`)`&&(t++,e[t]===`;`&&t++),!0}for(;t<e.length&&!PF(e[t])&&!VF(e[t])&&(!r||e[t]!==`:`);)t++;if(e[t-1]===`:`&&MF.test(e.substring(a,t+2)))for(;t<e.length&&NF.test(e[t]);)t++;if(t>a){for(;RF(e,t-1)&&t>0;)t--;let r=e.slice(a,t);return n+=r===`undefined`?`null`:JSON.stringify(r),e[t]===`"`&&t++,!0}}function C(){if(e[t]===`/`){let r=t;for(t++;t<e.length&&(e[t]!==`/`||e[t-1]===`\\`);)t++;return t++,n+=JSON.stringify(e.substring(r,t)),!0}}function w(t){let n=t;for(;n>0&&RF(e,n);)n--;return n}function T(t){let n=t+1;for(;n<e.length&&RF(e,n);)n++;return n>=e.length||kF(e[n])}function E(){return t>=e.length||kF(e[t])||RF(e,t)}function D(e){throw new pF(`Invalid character ${JSON.stringify(e)}`,t)}function O(){throw new pF(`Unexpected character ${JSON.stringify(e[t])}`,t)}function k(){throw new pF(`Unexpected end of json string`,e.length)}function A(){throw new pF(`Object key expected`,t)}function j(){throw new pF(`Colon expected`,t)}function M(){throw new pF(`Invalid unicode character "${e.slice(t,t+6)}"`,t)}}function tI(e,t){return e[t]===`*`&&e[t+1]===`/`}var nI=[`role`,`tabindex`],rI={class:`tool-call-node__prefix`},iI={class:`tool-call-node__title`},aI={key:0,class:`tool-call-node__toggle`},oI={key:0,class:`smdr__body`},sI={key:0,class:`smdr__error`},cI={class:`smdr__tabs`},lI=[`onClick`],uI={class:`smdr__content`},dI=CP((0,a.defineComponent)({__name:`SaveModuleDocsRenderer`,props:{tool:{},expanded:{type:Boolean},stepNumber:{},resolving:{type:Boolean}},emits:[`toggle`,`approve`,`reject`,`edit`],setup(e,{emit:t}){let n=e,r=(0,a.computed)(()=>{let e=n.tool.input;if(!e)return{};if(typeof e==`object`)return e;if(typeof e==`string`)try{return JSON.parse(eI(e))}catch{return{}}return{}}),i=[{key:`requirement_docs`,label:`需求文档`},{key:`technical_docs`,label:`技术文档`},{key:`changelog_docs`,label:`变更日志`}],o=(0,a.computed)(()=>i.filter(e=>{let t=r.value[e.key];return typeof t==`string`&&t.trim().length>0}).map(e=>({key:e.key,label:e.label,content:r.value[e.key]}))),s=(0,a.computed)(()=>o.value.length>0||n.tool.status===`error`),c=(0,a.computed)(()=>{let e=r.value.model_name;return e?`存储文档:${e}`:n.tool.title||`存储模块文档`}),l=(0,a.ref)(o.value[0]?.key??``);return(0,a.watch)(()=>o.value[0]?.key,e=>{e&&!o.value.find(e=>e.key===l.value)&&(l.value=e)},{immediate:!0}),(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)([`tool-call-node`,`is-${n.tool.status||`running`}`])},[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`tool-call-node__header`,{"tool-call-node__header--clickable":s.value}]),role:s.value?`button`:void 0,tabindex:s.value?0:void 0,onClick:r[0]||=e=>s.value&&t(`toggle`),onKeydown:[r[1]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`enter`]),r[2]||=(0,a.withKeys)((0,a.withModifiers)(e=>s.value&&t(`toggle`),[`prevent`]),[`space`])]},[(0,a.createElementVNode)(`span`,rI,[n.tool.status===`running`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(bd),{key:0,class:`tool-call-node__prefix-icon is-spinning`})):n.tool.status===`success`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(tv),{key:1,class:`tool-call-node__prefix-icon`})):n.tool.status===`error`?((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(lv),{key:2,class:`tool-call-node__prefix-icon`})):((0,a.openBlock)(),(0,a.createBlock)((0,a.unref)(qT),{key:3,class:`tool-call-node__prefix-icon is-waiting`})),(0,a.createElementVNode)(`span`,iI,(0,a.toDisplayString)(c.value),1)]),s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,aI,[((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(n.expanded?(0,a.unref)(_E):(0,a.unref)(IC)),{class:`tool-call-node__toggle-icon`}))])):(0,a.createCommentVNode)(``,!0)],42,nI),n.expanded&&s.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,oI,[n.tool.status===`error`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,sI,(0,a.toDisplayString)(n.tool.error||`执行失败`),1)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`div`,cI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{key:e.key,class:(0,a.normalizeClass)([`smdr__tab`,{"smdr__tab--active":l.value===e.key}]),onClick:t=>l.value=e.key},(0,a.toDisplayString)(e.label),11,lI))),128))]),(0,a.createElementVNode)(`div`,uI,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(o.value,e=>(0,a.withDirectives)(((0,a.openBlock)(),(0,a.createBlock)(NP,{key:e.key,content:e.content},null,8,[`content`])),[[a.vShow,l.value===e.key]])),128))])],64))])):(0,a.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-2ab50b51`]]),fI={save_module_docs_tool:dI},pI={class:`chat-panel`},mI={class:`chat-header`},hI={class:`header-meta`},gI={class:`conv-heading`},_I={key:0,class:`conv-subheading`},vI={class:`header-actions`},yI={class:`chat-body`},bI={key:0,class:`empty-state`},xI={key:0,class:`empty-sub`},SI={key:1,class:`messages-wrapper`},CI={key:0,class:`ai-loading`},wI={class:`input-footer`},TI={class:`input-panel`},EI=CP((0,a.defineComponent)({__name:`index`,props:{title:{default:`对话助手`},subtitle:{default:``},emptyHint:{default:``},agents:{},agentKey:{default:``},agentPickerStorageKey:{default:`chat_panel_agent`},roles:{},modelValue:{default:``},customHtmlTags:{},customComponents:{},sessionKey:{default:``},initialMessages:{default:()=>[]},onAgentEvent:{},defaultToolRenderers:{default:()=>fI}},emits:[`update:modelValue`,`update:agentKey`,`submit`,`cancel`,`reset`,`agentChange`,`update:agents`],setup(e,{emit:t}){let n=e,r=t,i=(0,a.ref)({});function o(e,t){return`${e}:${t}`}function s(e,t){return!!i.value[o(e,t)]}function c(e,t){let n=o(e,t);i.value={...i.value,[n]:!i.value[n]}}function l(e){return e.map(e=>({...e,toolTimeline:e.toolTimeline?.map(e=>({...e})),segments:e.segments?.map(e=>({...e}))}))}let u=(0,a.ref)(n.modelValue||``),d=(0,a.ref)(!1),f=(0,a.ref)(l(n.initialMessages)),p=(0,a.ref)(``),m=(0,a.ref)(n.agentKey||n.agents[0]?.key||``),h=(0,a.ref)([...n.agents]),g=new Map;function _(e){return{replyChange:(t,r)=>{n.onAgentEvent?.({event:`replyChange`,agentKey:e.key,args:[t,r]}),ce(t,r)},stop:()=>{n.onAgentEvent?.({event:`stop`,agentKey:e.key,args:[]}),le()},toolCall:t=>{n.onAgentEvent?.({event:`toolCall`,agentKey:e.key,args:[t]}),ue(t)},interrupt:t=>{n.onAgentEvent?.({event:`interrupt`,agentKey:e.key,args:[t]}),de(t)}}}function v(e){if(g.has(e.key))return;let t=_(e);g.set(e.key,t),e.agent.on(`replyChange`,t.replyChange),e.agent.on(`stop`,t.stop),e.agent.on(`toolCall`,t.toolCall);let n=e.agent;typeof n.onInterrupt==`function`&&n.onInterrupt(t.interrupt)}function y(e){let t=g.get(e.key);if(!t)return;e.agent.off(`replyChange`,t.replyChange),e.agent.off(`stop`,t.stop),e.agent.off(`toolCall`,t.toolCall);let n=e.agent;typeof n.offInterrupt==`function`&&n.offInterrupt(t.interrupt),g.delete(e.key)}function b(e){let t=h.value;t.forEach(t=>{e.find(e=>e.key===t.key)||y(t)}),e.forEach(e=>{t.find(t=>t.key===e.key)||v(e)}),h.value=e,r(`update:agents`,e),e.find(e=>e.key===m.value)||(m.value=e[0]?.key||``,r(`update:agentKey`,m.value))}let x=(0,a.ref)(null),S=(0,a.ref)(!1),C=(0,a.ref)({}),w=(0,a.ref)(null),T=(0,a.computed)(()=>f.value);function E(e){return e===`write_todos`?`top`:`timeline`}let D=(0,a.computed)(()=>h.value.find(e=>e.key===m.value)||h.value[0]||null),O=(0,a.computed)(()=>D.value?.label||`未选择`);function k(e,t){let r=F(e.toolTimeline,t);if(!r?.toolName)return oF;let i=D.value?.toolRenderers,a=n.defaultToolRenderers;return i?.[r.toolName]??a?.[r.toolName]??oF}let A=(0,a.computed)(()=>yf(n.emptyHint)?`当前 Agent:${O.value},输入问题后按 Enter 发送`:n.emptyHint);(0,a.watch)(()=>n.modelValue,e=>{u.value=e||``}),(0,a.watch)(()=>n.agentKey,e=>{e&&(m.value=e)}),(0,a.watch)(()=>n.sessionKey,()=>{p.value=``,d.value=!1,i.value={},f.value=l(n.initialMessages),w.value=null},{immediate:!0});function j(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function M(e,t){let n=f.value.findIndex(t=>t.key===e);n!==-1&&(f.value[n]={...f.value[n],...t})}function N(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=i.findIndex(e=>e.toolCallId===t.toolCallId),o=r.segments?[...r.segments]:[];if(a===-1){let e=r.content.length;if(o.length===0)o=[{type:`text`,start:0,end:e}];else for(let t=o.length-1;t>=0;t--){let n=o[t];if(n.type===`text`&&n.end===-1){o[t]={...n,end:e};break}}o.push({type:`tool`,toolCallId:t.toolCallId}),o.push({type:`text`,start:e,end:-1})}if(a===-1)i.push({toolCallId:t.toolCallId,toolName:t.toolName,title:t.title,status:t.status,input:t.input,output:t.output,error:t.error,stepNumber:t.stepNumber,startedAt:t.timestamp,durationMs:t.durationMs,approvalConfig:t.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:void 0});else{let e=i[a];i[a]={...e,toolName:t.toolName||e.toolName,title:t.title??e.title,status:t.status,input:t.input??e.input,output:t.output??e.output,error:t.error??e.error,stepNumber:t.stepNumber??e.stepNumber,durationMs:t.durationMs??e.durationMs,approvalConfig:t.approvalConfig&&!e.approvalConfig?{interruptId:t.approvalConfig.interruptId,description:t.approvalConfig.description,args:t.input??{},allowedDecisions:t.approvalConfig.allowedDecisions,editContent:``}:e.approvalConfig}}f.value[n]={...r,toolTimeline:i,segments:o,loading:!1}}function P(e){let t=e;return!t.segments||t.segments.length===0?t.content?[{type:`text`,text:t.content}]:[]:t.segments.map(e=>e.type===`tool`?e:{type:`text`,text:t.content.slice(e.start,e.end===-1?void 0:e.end)})}function F(e,t){if(e)return e.find(e=>e.toolCallId===t)}function I(e,t){return E(F(e.toolTimeline,t)?.toolName)===`timeline`}function L(e){let t=e.trim();if(!t)return e;try{return JSON.parse(t)}catch{return e}}function R(e,t){if(typeof e==`string`)return{title:e,status:`pending`};if(!e||typeof e!=`object`)return{title:`Todo ${t+1}`,status:`pending`};let n=e,r=typeof n.title==`string`&&n.title||typeof n.content==`string`&&n.content||typeof n.text==`string`&&n.text||typeof n.task==`string`&&n.task||`Todo ${t+1}`,i=typeof n.status==`string`&&n.status||typeof n.state==`string`&&n.state||(typeof n.done==`boolean`&&n.done?`completed`:`pending`);return{id:typeof n.id==`string`?n.id:void 0,title:r,status:String(i)}}function z(e){if(typeof e!=`string`)return[];let t=e.trim();if(!t)return[];let n=L(t);if(typeof n==`string`)return[];if(Array.isArray(n))return n.map((e,t)=>R(e,t));if(n&&typeof n==`object`){let e=n.todos;if(Array.isArray(e))return e.map((e,t)=>R(e,t))}return[]}function ee(e){let t=z(e.input),n=t.length?t:z(e.output);if(!n.length)return null;let r=n.filter(e=>String(e.title||``).trim().length>0);return r.length?{todos:r}:null}(0,a.watch)((0,a.computed)(()=>{for(let e=f.value.length-1;e>=0;e--){let t=f.value[e].toolTimeline;if(t?.length)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.toolName!==`write_todos`)continue;let r=ee(n);if(r)return r}}return null}),e=>{e?.todos?.length&&(w.value=e)},{immediate:!0});function B(e,t){let n=(t||``).trim();if(n)return n;let r=F(f.value.find(e=>e.key===p.value)?.toolTimeline,e);return r?.toolName?r.toolName:x.value?.review_configs.length===1?x.value.review_configs[0].action_name:``}function V(e,t){let n=f.value.findIndex(t=>t.key===e);if(n===-1)return;let r=f.value[n];if(r.role!==`ai`)return;let i=[...r.toolTimeline??[]],a=r.segments?[...r.segments]:[],o=Date.now();t.review_configs.forEach((e,n)=>{let s=e.action_name;if(!s)return;let c=t.action_requests.find(e=>e.name===s),l={interruptId:t.interrupt_id,description:c?.description||``,args:c?.args??{},allowedDecisions:e.allowed_decisions,editContent:typeof c?.args?.content==`string`?String(c.args.content):``},u=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.toolName===s&&t.status===`running`){u=e;break}}if(u!==-1){i[u]={...i[u],status:`waiting`,approvalConfig:l};return}let d=`interrupt-${t.interrupt_id}-${n}`;i.push({toolCallId:d,toolName:s,title:s,status:`waiting`,stepNumber:i.length,startedAt:o,approvalConfig:l});let f=r.content.length;if(a.length===0)a=[{type:`text`,start:0,end:f}];else for(let e=a.length-1;e>=0;e--){let t=a[e];if(t.type===`text`&&t.end===-1){a[e]={...t,end:f};break}}a.push({type:`tool`,toolCallId:d}),a.push({type:`text`,start:f,end:-1})}),f.value[n]={...r,toolTimeline:i,segments:a,loading:!1}}function H(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`approve`}])}function U(e,t){let n=B(e,t);n&&fe([{action_name:n,decision:`reject`}])}function te(e,t,n){let r=B(e,t);r&&fe([{action_name:r,decision:`edit`,edited_content:n||``}])}function ne(e=!1){p.value=``,u.value=``,i.value={},x.value=null,S.value=!1,C.value={},w.value=null,r(`update:modelValue`,``),d.value=!1,f.value=[],(e?h.value.map(e=>e.agent):D.value?[D.value.agent]:[]).forEach(e=>{e.stop(),e.reset()})}function re(e){u.value=e,r(`update:modelValue`,e)}async function ie(e){let t=(e??u.value).trim();if(!t||d.value||!D.value)return;let n=j(`user`),i=j(`ai`);p.value=i,x.value=null,S.value=!1,C.value={},f.value.push({key:n,role:`user`,content:t}),f.value.push({key:i,role:`ai`,content:``,loading:!0,toolTimeline:[]}),u.value=``,r(`update:modelValue`,``),d.value=!0,r(`submit`,t,m.value);try{await D.value.agent.ask(t);let e=f.value.findIndex(e=>e.key===i);e!==-1&&f.value[e].loading&&(f.value[e]={...f.value[e],content:f.value[e].content||`未收到响应,请重试`,loading:!1})}catch(e){let t=e instanceof Error?e.message:`请求失败`,n=f.value.find(e=>e.key===i)?.content||``;M(i,{content:n?`${n}\n\n请求失败:${t}`:`请求失败:${t}`,loading:!1})}finally{d.value=!1,x.value||(p.value=``)}}function ae(){if(!d.value||!D.value)return;let e=p.value;e&&M(e,{loading:!1}),p.value=``,d.value=!1,D.value.agent.stop(),r(`cancel`)}function oe(){ne(),r(`reset`)}function se(e){!e||e===m.value||(m.value=e,r(`update:agentKey`,e),ne(!0),r(`agentChange`,e))}let ce=(e,t)=>{let n=p.value;n&&M(n,{content:t,loading:!1})},le=()=>{let e=p.value;if(!e)return;let t=f.value.findIndex(t=>t.key===e);t!==-1&&f.value[t].loading&&(f.value[t]={...f.value[t],content:f.value[t].content||`已停止`,loading:!1})},ue=e=>{let t=p.value;t&&N(t,e)},de=e=>{let t=p.value;if(!t)return;x.value=e;let n={};for(let t of e.action_requests)n[t.name]=typeof t.args.content==`string`?t.args.content:``;C.value=n,V(t,e),M(t,{loading:!1})};async function fe(e){if(!D.value||S.value)return;let t=p.value;S.value=!0,x.value=null,t&&M(t,{loading:!1});try{await D.value.agent.resume(e),t&&M(t,{loading:!1})}catch(e){let n=e instanceof Error?e.message:`恢复失败`;t&&M(t,{content:`${f.value.find(e=>e.key===t)?.content||``}\n\n操作恢复失败:${n}`,loading:!1})}finally{S.value=!1,x.value||(p.value=``)}}return n.agents.forEach(v),(0,a.onBeforeUnmount)(()=>{p.value=``,d.value&&D.value&&D.value.agent.stop(),h.value.forEach(y)}),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`section`,pI,[(0,a.createElementVNode)(`header`,mI,[(0,a.createElementVNode)(`div`,hI,[(0,a.createElementVNode)(`h2`,gI,(0,a.toDisplayString)(e.title),1),e.subtitle?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,_I,(0,a.toDisplayString)(e.subtitle),1)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`div`,vI,[(0,a.renderSlot)(t.$slots,`header-actions`,{},()=>[(0,a.createVNode)((0,a.unref)(zf),{type:`primary`,disabled:d.value,onClick:oe},{default:(0,a.withCtx)(()=>[...r[0]||=[(0,a.createTextVNode)(`新会话`,-1)]]),_:1},8,[`disabled`])],!0)])]),w.value?((0,a.openBlock)(),(0,a.createBlock)(fF,{key:0,todos:w.value.todos},null,8,[`todos`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,yI,[T.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,SI,[(0,a.createVNode)((0,a.unref)(wN),{items:T.value,roles:e.roles,style:{width:`100%`},"auto-scroll":!0},{message:(0,a.withCtx)(n=>[(0,a.renderSlot)(t.$slots,`message`,(0,a.normalizeProps)((0,a.guardReactiveProps)(n)),()=>[n.item.loading&&!n.item.content?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,CI,[(0,a.createVNode)((0,a.unref)(bd),{style:{fontSize:`16px`,color:`var(--primary-color, var(--primary))`,marginRight:`8px`}}),r[2]||=(0,a.createElementVNode)(`span`,{class:`loading-text`},`AI 正在思考...`,-1)])):(0,a.createCommentVNode)(``,!0),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(P(n.item),(t,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:r},[t.type===`tool`&&I(n.item,t.toolCallId)?((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)(k(n.item,t.toolCallId)),{key:0,tool:F(n.item.toolTimeline,t.toolCallId),expanded:s(String(n.item.key),t.toolCallId),"step-number":F(n.item.toolTimeline,t.toolCallId)?.stepNumber,resolving:S.value,onToggle:e=>c(String(n.item.key),t.toolCallId),onApprove:e=>H(t.toolCallId,e),onReject:e=>U(t.toolCallId,e),onEdit:(e,n)=>te(t.toolCallId,e,n)},null,40,[`tool`,`expanded`,`step-number`,`resolving`,`onToggle`,`onApprove`,`onReject`,`onEdit`])):t.type===`text`&&t.text?((0,a.openBlock)(),(0,a.createBlock)(NP,{key:1,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))],!0)]),_:3},8,[`items`,`roles`])])):((0,a.openBlock)(),(0,a.createElementBlock)(`div`,bI,[(0,a.createVNode)((0,a.unref)(tE),{class:`empty-icon`}),r[1]||=(0,a.createElementVNode)(`p`,{class:`empty-title`},`开始你的对话`,-1),A.value?((0,a.openBlock)(),(0,a.createElementBlock)(`p`,xI,(0,a.toDisplayString)(A.value),1)):(0,a.createCommentVNode)(``,!0)]))]),(0,a.createElementVNode)(`footer`,wI,[(0,a.createElementVNode)(`div`,TI,[(0,a.createVNode)((0,a.unref)(_P),{value:u.value,placeholder:`输入问题,Enter 发送`,"submit-type":`enter`,loading:d.value,"onUpdate:value":re,onSubmit:ie,onCancel:ae},{footer:(0,a.withCtx)(()=>[(0,a.createVNode)(wP,{value:m.value,"built-in-agents":n.agents,disabled:d.value,"storage-key":n.agentPickerStorageKey,"onUpdate:value":se,"onUpdate:agents":b},null,8,[`value`,`built-in-agents`,`disabled`,`storage-key`])]),_:1},8,[`value`,`loading`])])])]))}}),[[`__scopeId`,`data-v-de8604c5`]]),DI={class:`agent-chat`},OI={class:`agent-chat__sidebar-header`},kI={key:0,class:`agent-chat__state-tip`},AI={key:1,class:`agent-chat__state-tip agent-chat__state-tip--error`},jI={class:`agent-chat__main`},MI={key:0,class:`agent-chat__toolbar`},NI=CP((0,a.defineComponent)({__name:`index`,props:{agentKey:{default:``},agents:{},emptyHint:{default:`从左侧选择历史会话,或直接开始新的对话`},hideHistory:{type:Boolean},onAgentEvent:{},roles:{},title:{default:``}},emits:[`update:agentKey`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=(0,a.ref)([...r.agents]),s=(0,a.ref)(r.agentKey||r.agents[0]?.key||``),c=(0,a.computed)(()=>o.value.find(e=>e.key===s.value)??o.value[0]),l=(0,a.computed)(()=>r.hideHistory===void 0?c.value?.agent.supportsHistory?.()??!1:!r.hideHistory);(0,a.watch)(()=>r.agentKey,e=>{e&&e!==s.value&&T(e)});let u=(0,a.ref)(!1),d=(0,a.ref)(``),f=(0,a.ref)(!1),p=(0,a.ref)(``),m=(0,a.ref)([]),h=(0,a.ref)(``),g=(0,a.ref)(``),_=(0,a.ref)([]),v=(0,a.ref)(`session:new:${Date.now()}`),y=(0,a.ref)(!1),b=(0,a.computed)(()=>m.value.map(e=>({key:e.id,label:e.title||`新对话`}))),x=(0,a.computed)(()=>{let e=d.value.trim().toLowerCase();return e?b.value.filter(t=>t.label.toLowerCase().includes(e)):b.value});async function S(){if(c.value){f.value=!0,p.value=``;try{m.value=(await c.value.agent.listConversations()).items}catch(e){p.value=e instanceof Error?e.message:`加载失败`}finally{f.value=!1}}}(0,a.onMounted)(()=>{l.value&&S()});function C(e){!e||e===s.value||T(e)}function w(e){if(o.value=e,!e.find(e=>e.key===s.value)){let t=e[0]?.key||``;t&&(s.value=t,i(`update:agentKey`,t))}}function T(e){c.value?.agent.stop(),c.value?.agent.reset(),s.value=e,i(`update:agentKey`,e),O(),l.value&&S()}function E(){return c.value?.agent}function D(){return s.value}function O(){h.value=``,g.value=``,_.value=[],v.value=`session:new:${Date.now()}`}function k(){u.value=!1,c.value?.agent.stop(),c.value?.agent.reset(),O()}async function A(e){if(e!==h.value){u.value=!1,h.value=e,g.value=m.value.find(t=>t.id===e)?.title||`历史会话`,c.value?.agent.stop(),y.value=!0;try{_.value=await c.value?.agent.getConversationDetail(e)??[]}catch{_.value=[]}finally{y.value=!1}v.value=`session:${s.value}:${e}`}}let j=(0,a.computed)(()=>r.title||g.value||c.value?.label||`AI 助手`),M=(0,a.computed)(()=>y.value?`正在加载历史消息…`:h.value?`已载入历史会话`:``),N=(0,a.h)($l,{size:32,style:{background:`#1677ff`,flexShrink:`0`}},()=>`AI`),P=(0,a.h)($l,{size:32,style:{background:`#22c55e`,flexShrink:`0`}},()=>`我`),F={ai:{placement:`start`,avatar:N,styles:{content:{background:`#fff`,border:`1px solid #e5e7eb`,borderBottomLeftRadius:`4px`,borderRadius:`12px`,color:`#1f2937`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}},user:{placement:`end`,avatar:P,styles:{content:{background:`#1677ff`,borderBottomRightRadius:`4px`,borderRadius:`12px`,color:`#fff`,fontSize:`14px`,lineHeight:`1.65`,padding:`0px 16px`,maxWidth:`74%`}}}},I=(0,a.computed)(()=>r.roles??F);return t({reloadConversations:S,newChat:k,getCurrentAgentRuntime:E,getCurrentAgentKey:D}),(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,DI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`aside`,{key:0,class:(0,a.normalizeClass)([`agent-chat__sidebar`,{"is-open":u.value}])},[(0,a.createElementVNode)(`button`,{class:`agent-chat__close-btn`,"aria-label":`关闭侧边栏`,onClick:n[0]||=e=>u.value=!1},[(0,a.createVNode)((0,a.unref)(_v))]),(0,a.createElementVNode)(`div`,OI,[n[5]||=(0,a.createElementVNode)(`span`,{class:`agent-chat__sidebar-title`},`历史会话`,-1),(0,a.createVNode)((0,a.unref)(zf),{type:`text`,class:`agent-chat__new-btn`,disabled:f.value,onClick:k},{icon:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(lE))]),default:(0,a.withCtx)(()=>[n[4]||=(0,a.createTextVNode)(` 新建 `,-1)]),_:1},8,[`disabled`])]),(0,a.createVNode)((0,a.unref)(W_),{value:d.value,"onUpdate:value":n[1]||=e=>d.value=e,placeholder:`搜索对话…`,"allow-clear":``,class:`agent-chat__search`},{prefix:(0,a.withCtx)(()=>[(0,a.createVNode)((0,a.unref)(f_),{style:{color:`#94a3b8`}})]),_:1},8,[`value`]),f.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,kI,[(0,a.createVNode)((0,a.unref)(bd),{style:{"margin-right":`6px`}}),n[6]||=(0,a.createTextVNode)(`加载中… `,-1)])):p.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,AI,[(0,a.createVNode)((0,a.unref)(xE),{style:{"margin-right":`6px`}}),(0,a.createTextVNode)((0,a.toDisplayString)(p.value)+` `,1),(0,a.createVNode)((0,a.unref)(zf),{size:`small`,type:`link`,onClick:S},{default:(0,a.withCtx)(()=>[...n[7]||=[(0,a.createTextVNode)(`重试`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)((0,a.unref)(LN),{"active-key":h.value,items:x.value,class:`agent-chat__conv-list`,"on-active-change":A},null,8,[`active-key`,`items`])],2)):(0,a.createCommentVNode)(``,!0),u.value&&l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:`agent-chat__mask`,onClick:n[2]||=e=>u.value=!1})):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`section`,jI,[l.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,MI,[(0,a.createVNode)((0,a.unref)(zf),{class:`agent-chat__history-btn`,onClick:n[3]||=e=>u.value=!0},{default:(0,a.withCtx)(()=>[...n[8]||=[(0,a.createTextVNode)(` 历史会话`,-1)]]),_:1})])):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(EI,{"agent-key":s.value,agents:r.agents,roles:I.value,"session-key":v.value,"initial-messages":_.value,title:j.value,subtitle:M.value,"empty-hint":e.emptyHint,"on-agent-event":r.onAgentEvent,class:`agent-chat__panel`,"onUpdate:agentKey":C,"onUpdate:agents":w,onReset:k},null,8,[`agent-key`,`agents`,`roles`,`session-key`,`initial-messages`,`title`,`subtitle`,`empty-hint`,`on-agent-event`])])]))}}),[[`__scopeId`,`data-v-41b9524a`]]);function PI(e){let t=e.split(`
356
356
  `),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 FI(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 II(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var LI=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){let t=new AbortController;this.abortController=t,this.activeToolCalls.clear(),this.pendingToolCallArgs.clear(),this.pendingInterruptId=``,this.replyParts=[],this.inThinkBlock=!1;let n=this.initialUserContexts.length>0?`${this.initialUserContexts.join(`
357
357
 
358
358
  `)}\n\n${e}`:e;try{let e=this.buildRequestHeaders(),r={prompt:n,conversation_id:this.conversationId||null,stream_mode:(this.mode,`messages,updates`),user:this.user,app:this.app};this.prepareRequestBody&&(r=this.prepareRequestBody(r));let i=await fetch(this.endpoint,{method:`POST`,headers:e,body:JSON.stringify(r),signal:t.signal});if(!i.ok)throw Error(await FI(i));let a=i.headers.get(`x-conversation-id`);if(a&&this.updateConversationId(a),await this.processSseStream(i,this.replyParts))return}catch(e){if(t.signal.aborted)return;throw Error(II(e))}finally{this.abortController===t&&(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 FI(n))}catch(e){throw Error(II(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 FI(r));n=await r.json()}catch(e){throw Error(II(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 FI(e));n=await e.json()}catch(e){throw Error(II(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 FI(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(II(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(`