@blueking/ai-blueking 2.2.5-beta.1 → 2.2.5-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/chat-bot.vue.d.ts.map +1 -1
- package/dist/components/composables/use-message-sender.d.ts +2 -1
- package/dist/components/composables/use-message-sender.d.ts.map +1 -1
- package/dist/composables/use-ai-blueking-init.d.ts.map +1 -1
- package/dist/standalone/index.es.min.js +112 -77
- package/dist/standalone/index.iife.min.js +4 -4
- package/dist/standalone/index.umd.min.js +4 -4
- package/dist/vue2/index.es.min.js +263 -228
- package/dist/vue2/index.iife.min.js +4 -4
- package/dist/vue2/index.umd.min.js +4 -4
- package/dist/vue3/index.es.min.js +110 -75
- package/dist/vue3/index.iife.min.js +4 -4
- package/dist/vue3/index.umd.min.js +4 -4
- package/package.json +3 -3
|
@@ -235,7 +235,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
235
235
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,l;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,l=e},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}}}function t(e,t){if(e){if(typeof e==`string`)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===`Object`&&e.constructor&&(r=e.constructor.name),r===`Map`||r===`Set`)return Array.from(e);if(r===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}}function n(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var r=function(e){return typeof Element>`u`?!1:e instanceof Element},i=new Map,a;document.addEventListener(`mousedown`,function(e){return a=e}),document.addEventListener(`mouseup`,function(t){var n=e(i.values()),r;try{for(n.s();!(r=n.n()).done;){var o=r.value,s=e(o),l;try{for(s.s();!(l=s.n()).done;){var u=l.value.documentHandler;u(t,a)}}catch(e){s.e(e)}finally{s.f()}}}catch(e){n.e(e)}finally{n.f()}});function o(e,t){var n=[];return Array.isArray(t.arg)?n=t.arg:r(t.arg)&&n.push(t.arg),function(r,i){var a=t.instance.popperRef,o=r.target,s=i?.target,l=!t||!t.instance,u=!o||!s,d=e.contains(o)||e.contains(s),f=e===o,p=n.length&&n.some(function(e){return e?.contains(o)})||n.length&&n.includes(s),m=a&&(a.contains(o)||a.contains(s));l||u||d||f||p||m||t.value(r,i)}}var s={beforeMount:function(e,t){i.has(e)||i.set(e,[]),i.get(e).push({documentHandler:o(e,t),bindingFn:t.value})},updated:function(e,t){i.has(e)||i.set(e,[]);var n=i.get(e),r=n.findIndex(function(e){return e.bindingFn===t.oldValue}),a={documentHandler:o(e,t),bindingFn:t.value};r>=0?n.splice(r,1,a):n.push(a)},unmounted:function(e){i.delete(e)}};s.install=function(e){e.directive(`bkTooltips`,s)};let l=s;var u=Id(6522),d=Id(563),f=function(e,t){var n={content:``,target:e};return(0,u.default)(t)===`object`?(Object.assign(n,t),Object.prototype.hasOwnProperty.call(t,`popoverOption`)&&Object.assign(n,t.popoverOption)):n.content=t,n},p=function(e,t){var n=null,r=null,i=null;if(!(f(e,t).disabled||n)){var a=function(){i&&clearTimeout(i),i=null},o=function(){var e,t;r&&clearTimeout(r),(e=n)==null||e.hide(),(t=n)==null||t.close(),n=null},s=function(){o(),r&&clearTimeout(r),r=setTimeout(function(){var r=f(e,t);r.isShow=!0,r.content=typeof r.content==`function`?r.content():r.content||e.innerText,r.allowHtml=!0,Object.assign(r,{onContentMouseenter:a,onContentMouseleave:o}),n=(0,d.$bkPopover)(r)},300)},l=function(){i=setTimeout(function(){var e,t;r&&clearTimeout(r),(e=n)==null||e.hide(),(t=n)==null||t.close(),n=null},120)};return e.addEventListener(`mouseenter`,s),e.addEventListener(`mouseleave`,l),{destroyInstance:function(t){var n,r;l(),(n=t??e)==null||n.removeEventListener(`mouseenter`,s),(r=t??e)==null||r.removeEventListener(`mouseleave`,l)},instance:n}}};let m={mounted:function(e,t){p(e,t)}};var h=Id(2439),g=Id.n(h),_=typeof navigator<`u`&&navigator.userAgent.toLowerCase().indexOf(`firefox`)>-1,v=function(e,t){e!=null&&e.addEventListener&&e.addEventListener(_?`DOMMouseScroll`:`mousewheel`,function(e){var n=g()(e);t?.apply(this,[e,n])})};let y={beforeMount:function(e,t){v(e,t.value)}};var b=Id(6666),x=Id(7930),S=Id(6609),C=Id(9253);let w=(e=>{var t={};return Id.d(t,e),t})({createPopper:()=>fa});function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?T(Object(n),!0).forEach(function(t){(0,b.default)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var D=new WeakMap,O={beforeMount:function(e,t){var n=A(t),r=n.trigger,i=n.showOnInit,a=M(n),o=null;if(i&&(0,S.nextTick)(function(){F(e)}),r===`hover`){var s=null;e.addEventListener(`mouseenter`,function(){o=setTimeout(function(){F(e),clearTimeout(s),clearTimeout(o)},n.delay)}),a.addEventListener(`mouseenter`,function(){clearTimeout(s)}),e.addEventListener(`mouseleave`,function(){clearTimeout(o),s=setTimeout(function(){I(e)},100)}),a.addEventListener(`mouseleave`,function(){clearTimeout(o),s=setTimeout(function(){I(e)},100)})}else r===`click`&&document.body.addEventListener(`click`,function(t){e.contains(t.target)&&!a.hasAttribute(`data-show`)?o=setTimeout(function(){F(e),clearTimeout(o)},n.delay):!e.contains(t.target)&&a.hasAttribute(`data-show`)&&I(e)});D.set(e,{opts:n,popper:a,popperInstance:null})},updated:function(e,t){D.get(e)&&(D.get(e).opts=A(t))},unmounted:function(e){I(e),D.delete(e)}};function k(){return{arrow:!0,disabled:!1,trigger:`hover`,theme:`dark`,content:``,showOnInit:!1,placement:`top`,distance:8,extCls:``,sameWidth:!1,delay:0,onShow:function(){},onHide:function(){}}}function A(e){var t=k();return(0,u.default)(e.value)===`object`?Object.assign(t,e.value):t.content=e.value,t}function j(e,t){if(typeof e==`string`)t.innerText=e;else{var n=document.createElement(`div`),r=(0,S.h)(e);(0,S.render)(r,n),t.innerHTML=n.innerHTML}}function M(e){var t=e.content,n=e.arrow,r=e.theme,i=e.extCls,a=r===`light`,o=C.bkZIndexManager.getPopperIndex(),s=document.createElement(`div`),l=document.documentElement.style.getPropertyValue(`--bk-prefix`)||`bk`;if(s.className=`${(0,C.resolveClassName)(`popper`,l)} ${a?`light`:`dark`} ${i}`,s.innerText=t,s.style.zIndex=String(o),j(t,s),n){var u=N();s.appendChild(u)}return s}function N(){var e=document.createElement(`div`),t=document.documentElement.style.getPropertyValue(`--bk-prefix`)||`bk`;return e.className=(0,C.resolveClassName)(`popper-arrow`,t),e.setAttribute(`data-popper-arrow`,``),e}function P(e,t){if(D.get(e)){var n=D.get(e).opts,r=n.placement,i=n.distance,a=n.sameWidth;return(0,w.createPopper)(e,t,{placement:r,modifiers:[{name:`offset`,options:{offset:[0,i]}},{name:`arrow`,options:{padding:5}}].concat((0,x.default)(a?[{name:`sameWidth`,enabled:!0,phase:`beforeWrite`,requires:[`computeStyles`],fn:function(e){var t=e.state;t.styles.popper.width=`${t.rects.reference.width}px`},effect:function(e){var t=e.state;t.elements.popper.style.overflowWrap=`break-word`,t.elements.popper.style.width=`${t.elements.reference.offsetWidth}px`}}]:[]))})}}function F(e){if(D.get(e)){var t=D.get(e),n=t.popper,r=t.opts,i=r.disabled,a=r.content,o=r.arrow,s=r.onShow,l=r.boundary,u=r.modifiers,d=u===void 0?[]:u;if(!i){if(j(a,n),o){var f=N();n.appendChild(f)}var p=document.body;l&&(l===`parent`?p=e.parentElement:l instanceof HTMLElement&&(p=l)),p.appendChild(n);var m=P(e,n);s(),n.setAttribute(`data-show`,``),m.setOptions(function(e){return E(E({},e),{},{modifiers:[].concat((0,x.default)(e.modifiers),(0,x.default)(d),[{name:`eventListeners`,enabled:!0}])})}),m.forceUpdate(),D.get(e).popperInstance=m}}}function I(e){if(D.get(e)){var t=D.get(e),n=t.popper,r=t.popperInstance,i=t.opts.onHide;if(n&&document.body.contains(n)){var a;n.removeAttribute(`data-show`),r?.destroy(),n==null||(a=n.parentNode)==null||a.removeChild(n),i()}}}let L=O,R=(e=>{var t={};return Id.d(t,e),t})({vBkloading:()=>Ige}),ee=(e=>{var t={};return Id.d(t,e),t})({overflowTitle:()=>o_e})})(),Ld.bkEllipsis,Ld.bkEllipsisInstance,Ld.bkLoading;var gxe=Ld.bkTooltips;Ld.clickoutside,Ld.mousewheel,Ld.overflowTitle;var _xe=e=>e.some(e=>e.some(e=>e.type===`tag`)),vxe=e=>{let t=(e??[]).filter(e=>e.length>0);return _xe(t)?t:void 0},yxe=[`skill`,`mcp`,`tool`,`knowledgebase`,`doc`],bxe=e=>yxe.includes(e),xxe=e=>e.type===`knowledgebase`||e.type===`doc`?e.id!==null&&e.id!==void 0?String(e.id):e.code??``:e.code??(e.id!==null&&e.id!==void 0?String(e.id):``),Sxe=e=>{let t=e.skill_code??``;if(t)return{type:`skill`,id:t,name:e.skill_name,description:e.description,icon:e.icon}},Cxe=e=>{if(!bxe(e.type)||e.type===`skill`)return;let t=xxe(e);if(t)return{type:e.type,id:t,name:e.name,icon:e.icon}},wxe=(e,t)=>({type:`prompt`,id:`prompt-${t}`,name:e,content:e}),Txe=({skills:e=[],resources:t=[],prompts:n=[]}={})=>{let r=e.map(Sxe).filter(e=>!!e),i=t.map(Cxe).filter(e=>!!e),a=n.map(wxe);return[...r,...i,...a]},Rd=function(e){return e.ArtifactsGenerated=`artifacts_generated`,e.FlowAgent=`flow_agent`,e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`,e.Info=`info`,e.Interrupt=`interrupt`,e}({}),zd=function(e){return e.Activity=`activity`,e.Assistant=`assistant`,e.Developer=`developer`,e.Guide=`guide`,e.Hidden=`hidden`,e.HiddenAssistant=`hidden-assistant`,e.HiddenGuide=`hidden-guide`,e.HiddenSystem=`hidden-system`,e.HiddenUser=`hidden-user`,e.Info=`info`,e.Pause=`pause`,e.Placeholder=`placeholder`,e.Reasoning=`reasoning`,e.System=`system`,e.TemplateAssistant=`template-assistant`,e.TemplateGuide=`template-guide`,e.TemplateHidden=`template-hidden`,e.TemplateSystem=`template-system`,e.TemplateUser=`template-user`,e.Tool=`tool`,e.User=`user`,e.Interrupt=`interrupt`,e}({}),Bd=function(e){return e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`,e}({}),Vd=function(e){return e.Binary=`binary`,e.Function=`function`,e.Text=`text`,e}({}),Hd=function(e){return e.FlowNodeRetry=`flow_node_retry`,e.FlowNodeSkip=`flow_node_skip`,e.ApprovalCancel=`approval_cancel`,e}({}),Exe=e=>e.createdAt??e.created_at,Dxe=e=>{if(typeof e!=`number`||!Number.isFinite(e))return;let t=new Date(e);if(!Number.isNaN(t.getTime()))return t.toISOString()},Oxe=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`,kxe=e=>{let t=sn([]),n=sn(!1),r=sn(!1),i=r=>(n.value=!0,e.http?.message.getMessages(r).then(e=>{t.value=e}).finally(()=>{n.value=!1})),a=()=>f(t.value),o=e=>{t.value=t.value.map(t=>t.messageId===e.messageId?e:t)},s=e=>{t.value.push(e)},l=()=>t.value.findLast(e=>[Bd.Pending,Bd.Streaming].includes(e.status)),u=e=>t.value.find(t=>t.messageId===e),d=async n=>{let r=Oxe(),i={...n,id:r,messageId:r};t.value.push(i);try{let i=await e.http?.message.plusMessage(n);if(i){let e=t.value.findIndex(e=>e.messageId===r);if(e!==-1){let r={...i,...`property`in n&&n.property?{property:n.property}:{}};t.value[e]=r}}}catch(e){let n=t.value.findIndex(e=>e.messageId===r);throw n!==-1&&(t.value[n]={...t.value[n],status:Bd.Error}),e}},f=async n=>{let i=n.reduce((e,t)=>(t.role===zd.User&&e.push(t.id),e),[]);if(i.length<=0)return;let a=[...t.value];t.value=t.value.filter(e=>!n.includes(e)),r.value=!0;try{await e.http?.message.batchDeleteMessages(i)}catch(e){throw t.value=a,e}finally{r.value=!1}};return{list:t,isListLoading:n,isDeleteLoading:r,getMessages:i,clearMessages:a,getCurrentLoadingMessage:l,getMessageByMessageId:u,modifyMessage:o,plusMessage:s,createAndPlusMessage:d,deleteMessages:f,shareMessages:async(t,n,r)=>{let i=n.reduce((e,t)=>(t.role===zd.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)},getFlowAgentTaskInfo:t=>e.http?.message.getFlowAgentTaskInfo(t),getFlowAgentTaskNodeInfo:(t,n)=>e.http?.message.getFlowAgentTaskNodeInfo(t,n),reset:()=>{t.value=[],n.value=!1,r.value=!1}}},Ud=function(e){return e.ArtifactsGenerated=`artifacts_generated`,e.FlowAgentEnd=`flow_agent_end`,e.FlowAgentResult=`flow_agent_result`,e.FlowAgentStart=`flow_agent_start`,e.FlowAgentUpdate=`flow_agent_update`,e.FlowAgentRestart=`flow_agent_restart`,e.Info=`info`,e.KnowledgeRagEnd=`knowledge_rag_end`,e.KnowledgeRagResult=`knowledge_rag_result`,e.KnowledgeRagStart=`knowledge_rag_start`,e.KnowledgeRagTextContent=`knowledge_rag_text_content`,e.ReferenceDocument=`reference_document`,e.TempMessage=`temp_message`,e.ApprovalResult=`approval_result`,e}({}),Wd=function(e){return e.ActivityDelta=`ACTIVITY_DELTA`,e.ActivitySnapshot=`ACTIVITY_SNAPSHOT`,e.Custom=`CUSTOM`,e.MessagesSnapshot=`MESSAGES_SNAPSHOT`,e.Raw=`RAW`,e.RunError=`RUN_ERROR`,e.RunFinished=`RUN_FINISHED`,e.RunStarted=`RUN_STARTED`,e.StateDelta=`STATE_DELTA`,e.StateSnapshot=`STATE_SNAPSHOT`,e.StepFinished=`STEP_FINISHED`,e.StepStarted=`STEP_STARTED`,e.TextMessageChunk=`TEXT_MESSAGE_CHUNK`,e.TextMessageContent=`TEXT_MESSAGE_CONTENT`,e.TextMessageEnd=`TEXT_MESSAGE_END`,e.TextMessageStart=`TEXT_MESSAGE_START`,e.ThinkingEnd=`THINKING_END`,e.ThinkingStart=`THINKING_START`,e.ThinkingTextMessageContent=`THINKING_TEXT_MESSAGE_CONTENT`,e.ThinkingTextMessageEnd=`THINKING_TEXT_MESSAGE_END`,e.ThinkingTextMessageStart=`THINKING_TEXT_MESSAGE_START`,e.ToolCallArgs=`TOOL_CALL_ARGS`,e.ToolCallChunk=`TOOL_CALL_CHUNK`,e.ToolCallEnd=`TOOL_CALL_END`,e.ToolCallResult=`TOOL_CALL_RESULT`,e.ToolCallStart=`TOOL_CALL_START`,e}({}),Axe=function(e){return e.Blocked=`BLOCKED`,e.Created=`CREATED`,e.Failed=`FAILED`,e.Finished=`FINISHED`,e.LoopReady=`LOOP_READY`,e.Ready=`READY`,e.Revoked=`REVOKED`,e.RollBackFailed=`ROLL_BACK_FAILED`,e.RollBackSuccess=`ROLL_BACK_SUCCESS`,e.RollingBack=`ROLLING_BACK`,e.Running=`RUNNING`,e.Suspended=`SUSPENDED`,e}({}),Gd=function(e){return e.Success=`success`,e.Interrupt=`interrupt`,e}({}),jxe=function(e){return e.Abandoned=`abandoned`,e.Approved=`approved`,e.Cancelled=`cancelled`,e.Draft=`draft`,e.Expired=`expired`,e.Rejected=`rejected`,e.Pending=`pending`,e}({}),Kd=function(e){return e.Resolved=`resolved`,e.Cancelled=`cancelled`,e}({}),Mxe=e=>({conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e?.conversation_settings?.commands?.map(e=>({id:e.id,name:e.name,alias:e.alias,icon:e.icon,components:e.components.map(e=>({type:e.type,name:e.name,key:e.key,placeholder:e.placeholder,default:e.default,required:e.required,fillBack:e.fill_back,fillRegx:e.fill_regx,rows:e.rows,min:e.min,max:e.max,options:e.options})),content:e.content,agentId:e.agent_id,status:e.status,supportUpload:e.support_upload})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting?{content:e.prompt_setting.content,supportUpload:e.prompt_setting.support_upload}:void 0,agentName:e?.agent_name,agentType:e?.agent_type,agentSdkVersion:e?.agent_sdk_version,relatedSkills:e?.related_skills?.map(e=>({id:e.id,skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})),chatGroup:e?.chat_group?{enabled:e.chat_group.enabled,staff:e.chat_group.staff,username:e.chat_group.username}:void 0,saasUrl:e?.saas_url,resources:e?.resources}),Nxe=e=>({id:e.id??0,llm_code:e.llm_code,llm_name:e.llm_name,llm_type:e.llm_type??`chat.completion`,icon:e.icon??``,description:e.description??``,base_model:e.base_model,max_token_size:e.max_token_size??0,property:e.property??{},space_auth_mode:e.space_auth_mode??``,user_auth_mode:e.user_auth_mode??``,tag_names:e.tag_names}),Pxe=e=>Array.isArray(e)?e.map(Nxe):[],qd=e=>{let t=Exe(e),n={...t?{createdAt:t}:{},id:e.id,messageId:e.message_id,name:e.name,role:e.role,sessionCode:e.session_code,status:e.status};switch(e.role){case zd.Activity:{let t=e,r=e=>e.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})),i;switch(t.activity_type){case Rd.ReferenceDocument:i=r(t.content);break;case Rd.KnowledgeRag:{let e=t.content;i={content:e.content,referenceDocument:r(e.reference_document)};break}case Rd.FlowAgent:case Rd.ArtifactsGenerated:default:i=t.content;break}return{...n,activityType:t.activity_type,content:i,property:t.property,role:t.role}}case zd.Assistant:{let t=e;return{...n,content:t.content,property:t.property,role:t.role,toolCalls:t.tool_calls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcpName:e.function.mcp_name},id:e.id,type:e.type}))}}case zd.Developer:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Guide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Hidden:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenAssistant:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenGuide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenSystem:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenUser:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Info:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Pause:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Placeholder:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Reasoning:{let t=e;return{...n,content:t.content,duration:t.duration,role:t.role}}case zd.System:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateAssistant:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateGuide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateHidden:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateSystem:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateUser:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Tool:{let t=e;return{...n,content:t.content,duration:t.duration,error:t.error,role:t.role,toolCallId:t.tool_call_id}}case zd.User:{let t=e,r=t.content;return{...n,content:Array.isArray(r)?r.map(e=>{if(e.type===Vd.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,outputId:t.output_id,size:t.size,type:t.type,url:t.url}}return e}):r,property:t.property,role:t.role}}case zd.Interrupt:return{...n,...e}}},Fxe=e=>{let t=Exe(e),n={...t?{created_at:t}:{},id:e.id,message_id:e.messageId,name:e.name,role:e.role,session_code:e.sessionCode,status:e.status};switch(e.role){case zd.Activity:{let t=e,r=e=>e.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})),i;switch(t.activityType){case Rd.ReferenceDocument:i=r(t.content);break;case Rd.KnowledgeRag:{let e=t.content;i={content:e.content,reference_document:r(e.referenceDocument)};break}case Rd.FlowAgent:case Rd.ArtifactsGenerated:default:i=t.content;break}return{...n,activity_type:t.activityType,content:i,property:t.property,role:t.role}}case zd.Assistant:{let t=e;return{...n,property:t.property,content:t.content,role:t.role,tool_calls:t.toolCalls?.map(e=>({function:{arguments:e.function.arguments,name:e.function.name,description:e.function.description,mcp_name:e.function.mcpName},id:e.id,type:e.type}))}}case zd.Developer:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Guide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Hidden:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenAssistant:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenGuide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenSystem:{let t=e;return{...n,content:t.content,role:t.role}}case zd.HiddenUser:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Info:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Pause:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Placeholder:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Reasoning:{let t=e;return{...n,content:t.content,duration:t.duration,role:t.role}}case zd.System:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateAssistant:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateGuide:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateHidden:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateSystem:{let t=e;return{...n,content:t.content,role:t.role}}case zd.TemplateUser:{let t=e;return{...n,content:t.content,role:t.role}}case zd.Tool:{let t=e;return{...n,content:t.content,duration:t.duration,error:t.error,role:t.role,tool_call_id:t.toolCallId}}case zd.User:{let t=e,r=t.content;return{...n,content:Array.isArray(r)?r.map(e=>{if(e.type===Vd.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,output_id:t.outputId,size:t.size,type:t.type,url:t.url}}return e}):r,property:t.property,role:t.role}}case zd.Interrupt:return{...n,...e}}},Jd=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,status:e.status,roleInfo:e.role_info?{collectionId:e.role_info.collection_id,collectionName:e.role_info.collection_name,content:e.role_info.content,variables:e.role_info.variables}:void 0,sessionProperty:{isAutoClear:e.session_property?.is_auto_clear,isAutoCalcPrompt:e.session_property?.is_auto_clac_prompt,labels:e.session_property?.labels}}),Ixe=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,status:e.status,role_info:e.roleInfo?{collection_id:e.roleInfo.collectionId,collection_name:e.roleInfo.collectionName,content:e.roleInfo.content,variables:e.roleInfo.variables}:void 0,session_property:{is_auto_clear:e.sessionProperty?.isAutoClear,is_auto_clac_prompt:e.sessionProperty?.isAutoCalcPrompt,labels:e.sessionProperty?.labels}}),Lxe=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),Rxe=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables}),Yd=class{messageModule;onDoneCallback;onErrorCallback;onMessageCallback;onStartCallback;constructor(e){this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){if(e.activityType===Rd.Info){let t=this.messageModule.getMessageByMessageId(e.messageId);t?.role===zd.Info&&(t.content=e.content);return}if(e.activityType===Rd.Interrupt){let t=this.messageModule.getCurrentLoadingMessage();t?.role===zd.Interrupt&&(t.content=e.content,t.status=Bd.Complete)}}handleArtifactsGeneratedCustomEvent(e){let t=this.messageModule.list.value.findLast(e=>e.role===zd.Assistant);if(t){let n=e.value;t.property??={},t.property.artifacts=n.artifacts}}handleCustomEvent(e){switch(e.name){case Ud.ArtifactsGenerated:this.handleArtifactsGeneratedCustomEvent(e);break;case Ud.FlowAgentStart:this.handleFlowAgentStartCustomEvent(e);break;case Ud.FlowAgentResult:this.handleFlowAgentResultCustomEvent(e);break;case Ud.FlowAgentEnd:this.handleFlowAgentEndCustomEvent(e);break;case Ud.FlowAgentRestart:this.handleFlowAgentRestartCustomEvent(e);break;case Ud.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case Ud.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case Ud.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case Ud.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case Ud.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;case Ud.TempMessage:this.handleTempMessageCustomEvent(e);break;case Ud.ApprovalResult:this.handleApprovalResultCustomEvent(e);break;case Ud.FlowAgentUpdate:this.handleFlowAgentUpdateCustomEvent(e);break;case Ud.Info:this.handleInfoCustomEvent(e);break;default:break}}handleFlowAgentEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===zd.Activity&&t.activityType===Rd.FlowAgent){t.status=Bd.Complete;let n=e.value;this.messageModule.plusMessage({role:zd.Assistant,content:n.map(e=>e.task_outputs.join(`
|
|
236
236
|
`)).join(`
|
|
237
237
|
`),status:Bd.Complete})}}handleFlowAgentRestartCustomEvent(e){let t=e.value;this.messageModule.list.value.forEach(e=>{e.role===zd.Activity&&e.activityType===Rd.FlowAgent&&e.content[0].task_id===t[0].task_id&&(e.status=Bd.Streaming)})}handleFlowAgentResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Activity&&t.activityType===Rd.FlowAgent&&(t.content=e.value)}handleFlowAgentStartCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:zd.Activity,activityType:Rd.FlowAgent,content:t.map(e=>({nodes:{},task_id:e.task_id,task_name:``,task_outputs:[],task_state:Axe.Created})),status:Bd.Streaming})}handleFlowAgentUpdateCustomEvent(e){let t=e.value;this.messageModule.list.value.forEach(e=>{e.role===zd.Activity&&e.activityType===Rd.FlowAgent&&e.content[0].task_id===t[0].task_id&&(e.content=t)})}handleInfoCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:zd.Info,messageId:t.messageId,content:t.content,status:Bd.Complete})}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Activity&&t.activityType===Rd.KnowledgeRag&&(t.status=Bd.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Activity&&t.activityType===Rd.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:zd.Activity,activityType:Rd.KnowledgeRag,content:{content:``,referenceDocument:[]},status:Bd.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===zd.Activity&&t.activityType===Rd.KnowledgeRag){let n=e.value;t.content.content=n.cover?n.chunk.content:t.content.content+n.chunk.content}}handleMessagesSnapshotEvent(e){e.messages&&e.messages.length>0&&(this.messageModule.list.value=e.messages.map(qd))}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:zd.Activity,activityType:Rd.ReferenceDocument,content:e.value,status:Bd.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=Bd.Complete),this.messageModule.plusMessage({role:zd.Assistant,content:e.message,status:Bd.Error})}handleRunFinishedEvent(e){let t=Dxe(e.timestamp),n=this.messageModule.getCurrentLoadingMessage();n&&(n.status=Bd.Complete),t&&zxe(this.messageModule.list.value,t),e.outcome?.type===Gd.Interrupt&&this.messageModule.plusMessage({role:zd.Interrupt,content:e,status:Bd.Pending,...t?{createdAt:t}:{}}),e.outcome?.type===Gd.Success&&n?.role===zd.Interrupt&&(n.content=e)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTempMessageCustomEvent(e){let t=e.value;this.messageModule.plusMessage({role:zd.Assistant,content:t.message,status:t.status})}handleApprovalResultCustomEvent(e){let t=e.value,n=this.messageModule.getCurrentLoadingMessage();n&&(n.content=t,n.status=Bd.Complete)}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:Bd.Complete,messageId:e.messageId})}handleTextMessageContentEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);t&&(t.content+=e.delta)}handleTextMessageEndEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);t&&(t.status=Bd.Complete)}handleTextMessageStartEvent(e){let t=this.messageModule.getMessageByMessageId(e.messageId);if(t){t.content=``,t.status=Bd.Streaming;return}this.messageModule.plusMessage({role:e.role,content:``,status:Bd.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Reasoning&&(t.duration=e.duration,t.status=Bd.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:zd.Reasoning,content:[],status:Bd.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===zd.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===zd.Assistant&&t.toolCalls&&t.toolCalls.forEach(t=>{t.id===e.toolCallId&&(t.function.arguments+=e.delta)})})}handleToolCallChunkEvent(e){}handleToolCallEndEvent(e){this.messageModule.list.value.forEach(t=>{t.role===zd.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=Bd.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:zd.Tool,content:e.content,duration:e.duration,status:e.isError?Bd.Error:Bd.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:zd.Assistant,content:``,status:Bd.Streaming,toolCalls:[{id:e.toolCallId,type:Vd.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){this.onDoneCallback?.()}onError(e){this.messageModule?.plusMessage({role:zd.Assistant,content:e.message,status:Bd.Error}),this.onErrorCallback?.(e)}onMessage(e){let t=e;switch(this.onMessageCallback?.(t),t.type){case Wd.ActivityDelta:this.handleActivityDeltaEvent(t);break;case Wd.ActivitySnapshot:this.handleActivitySnapshotEvent(t);break;case Wd.Custom:this.handleCustomEvent(t);break;case Wd.MessagesSnapshot:this.handleMessagesSnapshotEvent(t);break;case Wd.Raw:this.handleRawEvent(t);break;case Wd.RunError:this.handleRunErrorEvent(t);break;case Wd.RunFinished:this.handleRunFinishedEvent(t);break;case Wd.RunStarted:this.handleRunStartedEvent(t);break;case Wd.StateDelta:this.handleStateDeltaEvent(t);break;case Wd.StateSnapshot:this.handleStateSnapshotEvent(t);break;case Wd.StepFinished:this.handleStepFinishedEvent(t);break;case Wd.StepStarted:this.handleStepStartedEvent(t);break;case Wd.TextMessageChunk:this.handleTextMessageChunkEvent(t);break;case Wd.TextMessageContent:this.handleTextMessageContentEvent(t);break;case Wd.TextMessageEnd:this.handleTextMessageEndEvent(t);break;case Wd.TextMessageStart:this.handleTextMessageStartEvent(t);break;case Wd.ThinkingEnd:this.handleThinkingEndEvent(t);break;case Wd.ThinkingStart:this.handleThinkingStartEvent(t);break;case Wd.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(t);break;case Wd.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(t);break;case Wd.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(t);break;case Wd.ToolCallArgs:this.handleToolCallArgsEvent(t);break;case Wd.ToolCallChunk:this.handleToolCallChunkEvent(t);break;case Wd.ToolCallEnd:this.handleToolCallEndEvent(t);break;case Wd.ToolCallResult:this.handleToolCallResultEvent(t);break;case Wd.ToolCallStart:this.handleToolCallStartEvent(t);break;default:break}}onStart(){this.onStartCallback?.()}};function zxe(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.createdAt)break;r.createdAt=t}}var Xd=function(e){return e.Running=`running`,e.Finished=`finished`,e.Failed=`failed`,e.Cancelled=`cancelled`,e}({}),Bxe=5,Vxe=1e3,Hxe=8e3,Uxe=e=>Math.min(Vxe*2**(e-1),Hxe),Wxe=e=>/No active or replayable stream/i.test(e.message),Gxe=e=>{if(e.name===`AbortError`||Wxe(e))return!1;let t=e.response?.status,n=e.message.match(/status code (\d+)/i),r=t??(n?Number(n[1]):void 0);if(r!==void 0){if(r===408||r===429)return!0;if(r>=400&&r<500)return!1;if(r>=500)return!0}return!0},Kxe=(e,t)=>{let n=sn(null),r=sn(!1),i=sn(!1),a=sn([]),o=sn(!1),s=t||new Yd,l=null,u=null,d=null,f=!1,p=0,m=!1,h=0,g=null,_=null,v=null,y=(t,n)=>{o.value=!0;let r=e.http?.agent.getLlms(t,n);return r?r.then(e=>(a.value=e,e)).catch(e=>{throw a.value=[],e}).finally(()=>{o.value=!1}):(o.value=!1,a.value=[],Promise.resolve([]))},b=()=>(r.value=!0,e.http?.agent.getAgentInfo().then(e=>{n.value=e}).finally(()=>{r.value=!1})),x=(t,n)=>{let r=t.promptSetting?.content?.at(-1);r?.role===zd.Pause&&e.message?.createAndPlusMessage({role:zd.Assistant,content:r.content,status:Bd.Complete,sessionCode:n,property:{extra:{pause:!0}}})},S=(t,n,r,i,a)=>e.http?.message.userOperation(t,n,r,i).then(()=>{n===Hd.ApprovalCancel?(N(),M(t,a)):k({sessionCode:t,config:i,model:a})}),C=(e=!1)=>{if(g&&=(clearTimeout(g),null),_){let t=_;_=null,t(e)}},w=e=>new Promise(t=>{_=t,g=setTimeout(()=>{g=null,_=null,t(!0)},e)}),T=()=>{f=!1,p=0,m=!1,C(!1)},E=()=>{let t=e.message?.list.value;if(t?.length)for(;t.length>0;){let e=t[t.length-1];if(e.role===zd.User)break;if(e.status===Bd.Streaming||e.status===Bd.Pending){t.pop();continue}break}},D=t=>t===e.session?.current?.value?.sessionCode,O=async(t,n)=>{let r=()=>n===h&&!f;if(!r()||!D(t))return`failed`;try{await e.session?.getSession(t)}catch{}if(!r()||!D(t))return`failed`;if(e.session?.current.value?.status!==Xd.Running)return`finished`;if(p>=Bxe||(p+=1,i.value=!0,!await w(Uxe(p))||!r()||!D(t)))return`failed`;if(e.session?.current.value?.status!==Xd.Running)return`finished`;if(!r())return`failed`;E();let a=e.message?.list.value.at(-1)?.id,o=v;return k({sessionCode:t,model:o?.model,url:o?.url,config:o?.config,lastMessageId:a===void 0?void 0:String(a),isReconnect:!0,streamMode:`attach`}),`reconnected`},k=async({sessionCode:t,model:n,url:r,config:a,resume:o,input:u,lastMessageId:d,isReconnect:p=!1,streamMode:g=`start`})=>{p||T(),v={sessionCode:t,model:n,url:r,config:a,streamMode:g};let _=++h,y=l;l=new AbortController,y?.abort?.();let b=()=>_===h;s instanceof Yd&&s.injectMessageModule(e.message),u&&e.message?.list.value.push({role:zd.User,content:u,status:Bd.Complete,sessionCode:t});let x=()=>{b()&&(i.value=!1,s.onDone?.call(s),u&&e.http?.message?.getMessages(t).then(t=>{let n=e.message?.list.value.findLast(e=>e.role===zd.User),r=t.findLast(e=>e.role===zd.User);n&&r&&(n.id=r.id)}),M(t))},S=e=>{b()&&(i.value=!1,s.onError?.call(s,e))},C=()=>{if(b()&&!f){if(m){x();return}O(t,_).then(e=>{if(b()&&e!==`reconnected`){if(e===`finished`){x();return}if(f||!D(t)){i.value=!1;return}S(Error(`Connection lost, please try again`))}})}},w=n=>{if(!(!b()||f)){if(g===`attach`&&Wxe(n)){let n=()=>{if(!b()||f||!D(t)){b()&&(i.value=!1);return}if(e.session?.current.value?.status!==Xd.Running){x();return}i.value=!1},r=e.session?.getSession(t);r?r.catch(()=>void 0).then(n):n();return}if(!Gxe(n)){S(n);return}O(t,_).then(e=>{if(b()&&e!==`reconnected`){if(e===`finished`){x();return}if(f||!D(t)){i.value=!1;return}S(n)}})}},E=e=>{if(!b())return;let t=e;(t?.type===Wd.RunFinished||t?.type===Wd.RunError)&&(m=!0),s.onMessage?.call(s,e)},k=()=>{b()&&(i.value=!0,s.onStart?.call(s))};e.http?.fetchClient.streamRequest({url:r||`chat_completion/`,method:`POST`,data:{session_code:t,model:n,input:u,execute_kwargs:{stream:!0,stream_mode:g,persist_input:!!u,last_message_id:d,resume:o}},...a,controller:l,onDone:C,onError:w,onMessage:E,onStart:k}).catch(()=>{})},A=async(t,n,r,i,a,o)=>{await e.message?.createAndPlusMessage({role:zd.User,content:t,status:Bd.Complete,sessionCode:n,...a&&{property:a}}),k({sessionCode:n,model:o,url:r,config:i})},j=(t,n,r,i)=>{if(e.session?.current.value?.status===Xd.Running){let a=e.message?.list.value.at(-1)?.id;k({sessionCode:t,model:i,url:n,config:r,lastMessageId:a,streamMode:`attach`})}},M=(t,n)=>{let r=e.message?.list.value.at(-1),i=r?.content?.outcome?.type===Gd.Interrupt?r.content.outcome.interrupts.find(e=>[jxe.Pending,jxe.Draft].includes(e.metadata?.ticket?.status)):void 0;r?.role===zd.Interrupt&&i&&(N(),u=new AbortController,e.http?.session.isResumeSession(t,{controller:u}).then(r=>{r?k({sessionCode:t,model:n,resume:{interruptId:i.id,status:Kd.Resolved}}):d=setTimeout(()=>{t===e.session?.current?.value?.sessionCode&&M(t,n)},1e4)}))},N=()=>{clearTimeout(d),d=null,u?.abort?.(),u=null},P=()=>{f=!0,h+=1,C(!1),N(),i.value=!1,l?.abort?.(),l=null};return{info:n,isInfoLoading:r,isChatting:i,models:a,isModelsLoading:o,chat:A,handleRole:x,resendMessage:async(t,n,r,i,a,o)=>{let s=e.message?.list.value||[],l=s.findIndex(e=>String(e.id)===t);if(l===-1)throw Error(`Message not found: ${t}`);let u=s[l];if(u.role!==zd.User)throw Error(`Can only resend user messages`);let d=u.content,f=u.property,p=r??d,m=s.slice(l),h=e.message?.deleteMessages(m),g=e.message?.createAndPlusMessage({role:zd.User,content:p,status:Bd.Complete,sessionCode:n,...f&&{property:f}});k({sessionCode:n,model:o,url:i,config:a}),Promise.all([h,g]).catch(e=>{console.error(`[resendMessage] API error:`,e)})},resumeStreamingChat:j,abortChat:P,stopChat:async t=>e.http.message?.stopChat(t),getAgentInfo:b,getLlms:y,reset:e=>{P(),s=e||new Yd,n.value=null,r.value=!1,i.value=!1,a.value=[],o.value=!1,v=null,p=0,m=!1},pollResumeSession:M,clearLongPollTimer:N,userOperationStreamRequest:S,streamRequest:k}};function qxe(e){return on(e)}function Zd(e){if(e==null)return;let t=e,n=0;for(;n<32;){if(n+=1,typeof t==`function`){t=t();continue}if(qxe(t)){t=z(t);continue}break}return n>=32&&console.warn(`[chat-helper] resolveRequestValue: exceeded max unwrap depth`),t}var Jxe=class{handlers=[];clear(){this.handlers=[]}eject(e){this.handlers[e]&&(this.handlers[e]=null)}forEach(e){this.handlers.forEach(t=>{t!==null&&e(t)})}use(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1}},Yxe=class e{defaults;interceptors;globalErrorHandler;ignoreErrorPatterns=[];constructor(e={}){this.defaults=nf({method:`GET`,headers:{"Content-Type":`application/json`},timeout:3e4,responseType:`json`,credentials:`include`,mode:`cors`,validateStatus:e=>e>=200&&e<300},e),this.interceptors={request:new Jxe,response:new Jxe}}onError(e,t){this.globalErrorHandler=e,t?.ignoreErrors&&(this.ignoreErrorPatterns=t.ignoreErrors)}shouldIgnoreError(e){let t=e.config?.url||``,n=e.config?.baseURL||``,r=n&&!t.startsWith(`http`)?n+t:t;return this.ignoreErrorPatterns.some(e=>typeof e==`string`?t.includes(e)||r.includes(e):e.test(t)||e.test(r))}dispatchError(e){this.globalErrorHandler&&!this.shouldIgnoreError(e)&&this.globalErrorHandler(e)}applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(nf(this.defaults,t||{}))}delete(e,t,n){return this.request({...n,url:e,method:`DELETE`,params:t})}get(e,t,n){return this.request({...n,url:e,method:`GET`,params:t})}head(e,t,n){return this.request({...n,url:e,method:`HEAD`,params:t})}options(e,t,n){return this.request({...n,url:e,method:`OPTIONS`,params:t})}patch(e,t,n){return this.request({...n,url:e,method:`PATCH`,data:t})}post(e,t,n){return this.request({...n,url:e,method:`POST`,data:t})}prepareRequest(e,t=!1){let n=nf(this.defaults,e);this.interceptors.request.forEach(e=>{if(e.fulfilled)try{n=e.fulfilled(n)}catch(t){throw e.rejected?e.rejected(t):t}});let r=n.url||``;n.baseURL&&!r.startsWith(`http`)&&(r=n.baseURL+r),r=Xxe(r,n.params);let i=tf(n.data),a=new Headers(tf(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i instanceof FormData&&a.delete(`Content-Type`),i!=null&&(n.transformRequest?i=n.transformRequest(i,tf(n.headers)):a.get(`Content-Type`)?.includes(`application/json`)&&typeof i==`object`&&!(i instanceof FormData)&&!(i instanceof Blob)&&!(i instanceof ArrayBuffer)&&(i=JSON.stringify(i)));let o=n.controller??new AbortController,s={method:n.method,credentials:n.credentials,mode:n.mode,headers:a,body:i,signal:o.signal};return{url:r,requestConfig:n,fetchConfig:s,controller:o}}put(e,t,n){return this.request({...n,url:e,method:`PUT`,data:t})}async request(e){let{url:t,fetchConfig:n,requestConfig:r,controller:i}=this.prepareRequest(e),a=!1,o=r.timeout&&r.timeout>0?setTimeout(()=>{a=!0,i.abort()},r.timeout):void 0;try{let e=await fetch(t,n);o&&clearTimeout(o);let i,a=r.responseType||`json`;try{switch(a){case`json`:i=await e.json();break;case`text`:i=await e.text();break;case`blob`:i=await e.blob();break;case`arrayBuffer`:i=await e.arrayBuffer();break;case`formData`:i=await e.formData();break;default:i=await e.json()}}catch{i=null}r.transformResponse&&(i=r.transformResponse(i));let s={data:i,status:e.status,statusText:e.statusText,headers:e.headers,config:r};if(!(r.validateStatus||this.defaults.validateStatus)(e.status)){let{code:t,message:n}=Qd(s.data,`Request failed with status code ${e.status}`);throw ef(n,r,t,s)}let l=s;this.interceptors.response.forEach(e=>{if(e.fulfilled)try{l=e.fulfilled(l)}catch(t){throw e.rejected?e.rejected(t):t}}),l instanceof Promise&&(l=await l);let u=l.data;if(!u)return;if(![0,`success`].includes(u.code)){let{code:e,message:t}=Qd(u,`Request failed with code ${u.code}`);throw ef(t,r,e,l)}return u.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`&&!a){console.warn(`User canceled request`,e.message);return}let t=a?ef(`timeout of ${r.timeout}ms exceeded`,r,`ECONNABORTED`,void 0):e.isAxiosError===!0?e:ef(e.message,r,e.code,void 0);throw this.dispatchError(t),this.applyResponseErrorInterceptors(t)}}stream(e,t){return this.streamRequest({...t,url:e})}async streamRequest(e){let t=!1,n=e.onError,r=e=>{if(!t){let n=e;n.config||=s,this.dispatchError(n),t=!0}n?.(e)},i={...e,onError:r},{url:a,fetchConfig:o,requestConfig:s,controller:l}=this.prepareRequest(i,!0),u,d=()=>{u?.cancel().catch(()=>{})};try{let e=await fetch(a,o);if(!(s.validateStatus||this.defaults.validateStatus)(e.status)){let t=null;try{t=await e.json()}catch{t=null}let{code:n,message:i}=Qd(t,`Request failed with status code ${e.status}`);r(ef(i,s,n,void 0));return}if(i.onStart?.(),u=e.body?.pipeThrough(new window.TextDecoderStream).getReader(),!u){r(Error(`IResponse body is not readable`));return}if(l.signal.addEventListener(`abort`,d,{once:!0}),l.signal.aborted){d(),i.onDone?.();return}let t=``,n=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:e,done:r}=await u.read();if(r){i.onDone?.();break}(t+e.toString()).split(`
|
|
238
|
-
`).forEach(e=>{let r=e.replace(`data:`,``).trim();if(n(r)){let e=JSON.parse(r);i.onMessage?.(e),t=``}else r&&(t=r)})}}catch(e){if(e instanceof Error){if(e.name===`AbortError`){i.onDone?.();return}r(e)}throw e}finally{l.signal.removeEventListener(`abort`,d)}}};function Xxe(e,t){if(!t)return e;let n=new URLSearchParams;Object.keys(t).forEach(e=>{let r=t[e];r!=null&&(Array.isArray(r)?r.forEach(t=>n.append(e,String(t))):n.append(e,String(r)))});let r=n.toString();return r?`${e}${e.includes(`?`)?`&`:`?`}${r}`:e}function Qd(e,t){let n=`ERR_BAD_RESPONSE`;if(!e||typeof e!=`object`)return{code:n,message:t};let r=e;return r.error?.message?{code:r.error.code??n,data:r.error.data,message:$d(r.error.message,t)}:r.message?{code:r.code??n,data:r.data,message:$d(r.message,t)}:r.detail?{code:r.code??n,data:r.data,message:$d(r.detail,t)}:{code:r.code??n,data:r.data,message:t}}function $d(e,t){if(typeof e==`string`)return e||t;try{return JSON.stringify(e)||t}catch{return t}}function ef(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function tf(e){return Zd(e)}function Zxe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function nf(e,t){let n={...e};for(let r in t){let i=t[r];if(Zxe(i)){let t=e[r];n[r]=nf(t||{},i)}else n[r]=i}return n}new Yxe;var Qxe=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),$xe=new Set([`GET`,`HEAD`,`OPTIONS`]);function eSe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function tSe(e,t){let{headers:n,data:r}=t.requestData;!n&&!r||e.interceptors.request.use(e=>{let t=e,i=(e.method??`GET`).toUpperCase();if(n){let r=Zd(n);if(r&&Object.keys(r).length>0){let n=Zd(e.headers)??{};t={...t,headers:{...n,...r}}}}if(r){let n=Zd(r);if(n&&Object.keys(n).length>0){if(Qxe.has(i)){let r=Zd(e.data);r==null?t={...t,data:n}:eSe(r)?t={...t,data:{...n,...r}}:console.warn(`[chat-helper] requestData.data 无法注入:当前请求体不是普通对象(FormData/Blob/string 等),已跳过合并。`,{method:i,existingType:typeof r})}else if($xe.has(i)){let r=e.params??{};t={...t,params:{...n,...r}}}}}return t})}var nSe=e=>{let t=new Yxe({baseURL:e.requestData.urlPrefix});return tSe(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response),{fetchClient:t,reset:e=>{t.defaults.baseURL=e.requestData.urlPrefix,t.interceptors.request.clear(),t.interceptors.response.clear(),tSe(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},rSe=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(Mxe),getLlms:(t,n)=>{let r={llm_type:t?.llm_type??`chat.completion`};return t?.fuzzy&&(r.fuzzy=t.fuzzy),t?.supports&&(r.supports=t.supports),e.get(`llms/`,r,n).then(Pxe)}}),iSe=e=>({getMessages:(t,n,r,i)=>e.get(`session_content/content/`,{session_code:t,limit:n,fuzzy:i},r).then(e=>e.map(qd)),plusMessage:(t,n)=>e.post(`session_content/`,Fxe(t),n).then(qd),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,Fxe(t),n).then(qd),deleteMessage:(t,n)=>e.delete(`session_content/${t}/`,void 0,n),batchDeleteMessages:(t,n)=>e.post(`session_content/batch_delete/`,{ids:t},n),shareMessages:(t,n,r,i)=>e.post(`share/`,{session_code:t,content_ids:n,...r?{expired_at:r}:{}},i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n),getFlowAgentTaskInfo:(t,n)=>e.get(`flow_agent/${t}/task_info/`,void 0,n),getFlowAgentTaskNodeInfo:(t,n,r)=>e.get(`flow_agent/${t}/task_node_info/${n}/`,void 0,r),retryFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/retry/`,{task_id:r},i),skipFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/skip/`,{task_id:r},i),userOperation:(t,n,r,i)=>e.post(`user_operation/`,{session_code:t,operation:n,payload:r},i)}),aSe=`upload_file`,oSe=20,sSe=600,cSe=2e4,lSe=e=>{if(Array.isArray(e))return{page:1,numPages:1,count:e.length,results:e.map(Jd)};let t=Array.isArray(e?.results)?e.results:[];return{page:e?.page??1,numPages:e?.num_pages??1,count:e?.count??t.length,results:t.map(Jd)}},uSe=e=>{let t=e.split(`.`).pop();if(!t||t===e)return``;let n=t.replace(/[^A-Za-z0-9]/g,``).slice(0,20).toLowerCase();return n?`.${n}`:``},dSe=e=>`${aSe}_${`${Date.now()}_${Math.random().toString(36).slice(2,8)}`}${uSe(e.name)}`,fSe=e=>`attachment; filename="${e}"`,pSe=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:(t,n)=>e.get(`session/`,{page:t?.page??1,page_size:t?.page_size??oSe},n).then(lSe),plusSession:(t,n)=>e.post(`session/`,Ixe(t),n).then(e=>Jd(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,Ixe(t),n).then(e=>Jd(e)),deleteSession:(t,n)=>e.delete(`session/${t}/`,void 0,n),batchDeleteSessions:(t,n)=>e.post(`session/batch_delete/`,{session_codes:t},n),getSession:(t,n)=>e.get(`session/${t}/`,void 0,n).then(e=>Jd(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,Lxe(t),n).then(e=>Rxe(e)),getSessionFeedbackReasons:(t,n)=>e.get(`session_feedback/reasons/`,{rate:t},n),renameSession:(t,n)=>e.post(`session/${t}/ai_rename/`,void 0,n).then(e=>Jd(e)),uploadFile:(t,n,r)=>{let i=dSe(n),a=encodeURIComponent(i),o=Zd(r?.headers)??{};return n.arrayBuffer().then(n=>e.post(`session/${t}/upload/${a}/`,n,{...r,headers:{...o,"Content-Disposition":fSe(i)}}))},uploadPvFiles:(t,n,r)=>{let i=new FormData;for(let e of n)i.append(`files`,e);return e.post(`session/${t}/pv_files/upload/`,i,r)},getPvFileDownloadUrl:(t,n,r,i)=>{let a=r?.expiresIn??sSe,o=r?.timeout??cSe;return e.get(`session/${t}/pv_files/download_url/`,{expires_in:a,path:n},{...i,timeout:i?.timeout??o})},isResumeSession:(t,n)=>e.get(`session/${t}/is_resume/`,void 0,n)}),mSe=e=>({agent:rSe(e),session:pSe(e),message:iSe(e),fetchClient:e}),hSe=e=>{let{fetchClient:t,reset:n}=nSe(e);return{...mSe(t),reset:n,onError:t.onError.bind(t)}},gSe=()=>({agent:null,http:null,message:null,session:null,registerAgent(e){this.agent=e},registerHttp(e){this.http=e},registerMessage(e){this.message=e},registerSession(e){this.session=e}}),_Se=`2.2.2rc25`,rf={a:0,b:1,rc:2,final:3},vSe={a:`a`,alpha:`a`,b:`b`,beta:`b`,c:`rc`,pre:`rc`,rc:`rc`},ySe=/^(\d+)\.(\d+)\.(\d+)(?:[-.]?(a|alpha|b|beta|c|pre|rc)[.-]?(\d+))?$/i,bSe=e=>{let t=e.trim().match(ySe);if(!t)return null;let n=t[4]?vSe[t[4].toLowerCase()]:`final`;return{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),pre:n,preNum:t[5]?Number(t[5]):0}},xSe=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch===t.patch?rf[e.pre]===rf[t.pre]?e.preNum-t.preNum:rf[e.pre]-rf[t.pre]:e.patch-t.patch:e.minor-t.minor:e.major-t.major,SSe=e=>{let t=e?bSe(e):null,n=bSe(_Se);return!t||!n?!0:xSe(t,n)>=0},CSe=20,wSe=e=>{let t=sn([]),n=sn(null),r=sn(0),i=sn(0),a=sn(0),o=sn(!1),s=sn(!1),l=sn(!1),u=sn(!1),d=sn(!1),f=sn(!1),p=sn(!1),m=sn(!1),h=U(()=>r.value>0&&r.value<i.value),g=e=>{t.value=t.value.map(t=>t.sessionCode===e.sessionCode?{...t,...e}:t),n.value?.sessionCode===e.sessionCode&&(n.value=t.value.find(t=>t.sessionCode===e.sessionCode)??{...n.value,...e})},_=n=>{s.value=!0;let o={page:n?.page??1,page_size:n?.page_size??CSe};return e.http?.session.getSessions(o).then(e=>{t.value=e.results,r.value=e.page,i.value=e.numPages,a.value=e.count}).finally(()=>{s.value=!1})},v=async(n=CSe)=>{if(!(!h.value||s.value||l.value)){l.value=!0;try{let o=await e.http?.session.getSessions({page:r.value+1,page_size:n});if(!o)return;let s=new Set(t.value.map(e=>e.sessionCode)),l=o.results.filter(e=>!s.has(e.sessionCode));t.value=[...t.value,...l],r.value=o.page,i.value=o.numPages,a.value=o.count}finally{l.value=!1}}},y=async(r,i)=>{e.agent?.abortChat();let a=i?.loadMessages!==!1,o=t.value.find(e=>e.sessionCode===r);!a&&o?n.value=o:await b(r),a?(await e.message?.getMessages(r),e.agent?.resumeStreamingChat(r),e.agent?.pollResumeSession(r)):e.message&&(e.message.list.value=[])},b=t=>(o.value=!0,e.http?.session.getSession(t).then(e=>{n.value=e}).finally(()=>{o.value=!1})),x=async(n,r)=>{u.value=!0;try{let i=await e.http?.session.plusSession(n);i&&(t.value.unshift(i),a.value+=1,await y(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{u.value=!1}},S=t=>(d.value=!0,e.http?.session.modifySession(t).then(e=>{g(e)}).finally(()=>{d.value=!1})),C=async r=>{f.value=!0;try{await e.http?.session.deleteSession(r),t.value=t.value.filter(e=>e.sessionCode!==r),a.value=Math.max(0,a.value-1),n.value?.sessionCode===r&&t.value[0]?.sessionCode&&await y(t.value[0].sessionCode)}finally{f.value=!1}},w=async r=>{if(r.length!==0){p.value=!0;try{await e.http?.session.batchDeleteSessions(r);let i=new Set(r),o=t.value.length;t.value=t.value.filter(e=>!i.has(e.sessionCode));let s=o-t.value.length;a.value=Math.max(0,a.value-s),n.value&&i.has(n.value.sessionCode)&&(t.value.length>0?await y(t.value[0].sessionCode):(n.value=null,e.message&&(e.message.list.value=[])))}finally{p.value=!1}}},T=t=>e.http?.session.postSessionFeedback(t),E=t=>e.http?.session.getSessionFeedbackReasons(t),D=t=>(m.value=!0,e.http?.session.renameSession(t).then(e=>(g({sessionCode:e.sessionCode,sessionName:e.sessionName}),e)).finally(()=>{m.value=!1})),O=e=>{if(!e)throw Error(`Upload failed: empty results`);return e};return{list:t,current:n,page:r,numPages:i,count:a,hasMore:h,isCurrentLoading:o,isListLoading:s,isLoadingMore:l,isCreateLoading:u,isUpdateLoading:d,isDeleteLoading:f,isBatchDeleteLoading:p,getSessions:_,loadMoreSessions:v,chooseSession:y,getSession:b,createSession:x,updateSession:S,deleteSession:C,batchDeleteSessions:w,postSessionFeedback:T,getSessionFeedbackReasons:E,renameSession:D,uploadFile:(t,n)=>{let r=e.agent?.info.value?.agentSdkVersion;return SSe(r)?Promise.resolve(e.http?.session.uploadPvFiles(t,[n])).then(e=>O(e?.results?.[0])):Promise.resolve(e.http?.session.uploadFile(t,n))},uploadFiles:async(t,n)=>{let r=e.agent?.info.value?.agentSdkVersion;return SSe(r)?(await e.http?.session.uploadPvFiles(t,n))?.results??[]:(await Promise.all(n.map(n=>e.http?.session.uploadFile(t,n)))).filter(e=>!!e)},getPvFileDownloadUrl:(t,n,r)=>e.http?.session.getPvFileDownloadUrl(t,n,r),reset:()=>{t.value=[],n.value=null,r.value=0,i.value=0,a.value=0,o.value=!1,s.value=!1,l.value=!1,u.value=!1,d.value=!1,f.value=!1,p.value=!1,m.value=!1}}},TSe=e=>{let t=gSe(),n=hSe(e),r=Kxe(t,e.protocol),i=kxe(t),a=wSe(t);return t.registerHttp(n),t.registerMessage(i),t.registerAgent(r),t.registerSession(a),{agent:r,session:a,message:i,http:n,reset:e=>{n.reset(e),r.reset(e.protocol),i.reset(),a.reset()},onError:n.onError}},ESe=new Set([`context_type`,`__label`,`__key`,`__value`]);function DSe(e,t){return{urlPrefix:e,headers:()=>Zd(un(t)?.headers),data:()=>Zd(un(t)?.data)}}function OSe(e){return e?Array.isArray(e)?e.map(e=>{if(e.__key)return e;let t=Object.entries(e).filter(([e])=>!ESe.has(e));if(t.length===0)return e;let[n,r]=t[0];return{...e,[n]:r,context_type:e.context_type??`input`,__label:e.__label??n,__key:e.__key??n,__value:e.__value??r}}):Object.entries(e).map(([e,t])=>({[e]:t,context_type:`input`,__label:e,__key:e,__value:t})):[]}function af(e,t){if(!t)return e;let n=t()?.context;if(!n)return e;let r=OSe(n);return r.length===0?e:kSe(e,r)}function kSe(e,t){if(t.length===0)return e??{};let n=e??{},r=n.extra??{},i=r.context??[],a=new Set(t.map(e=>e.__key).filter(Boolean)),o=i.filter(e=>{let t=e.__key;return!t||!a.has(t)});return{...n,extra:{...r,context:[...o,...t]}}}function ASe(e){return e.some(e=>{if(!(`property`in e))return!0;let{property:t}=e;return!t?.extra?.pause})}function of(e,t){let n=null;for(let r of e)if(r.role===`user`&&r.id!==void 0&&(n=r),r===t)break;return n}function jSe(e,t){let n=of(e,t);if(n?.id!==void 0)return typeof n.id==`number`?n.id:Number(n.id)}var MSe=e=>{if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let{message:t}=e;if(typeof t==`string`&&t)return Error(t);try{return Error(JSON.stringify(e)??String(e))}catch{return Error(String(e))}}return Error(String(e))},NSe=e=>{let t=document.cookie.match(RegExp(`(^| )${e}=([^;]*)(;|$)`));return t?t[2]:``},PSe=e=>e.endsWith(`/`)?e:`${e}/`,sf=e=>{if(!e)return e;try{let t=new URL(e,window.location.origin);return t.protocol=window.location.protocol,PSe(t.toString())}catch(t){return console.warn(`Failed to normalize URL:`,t),PSe(e)}};async function FSe(e){if(typeof navigator<`u`&&`clipboard`in navigator)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`-9999px`,t.style.opacity=`0`,document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{document.body.removeChild(t)}}function ISe(){let e=window.navigator.userAgent.toLowerCase(),t=window.navigator.platform.toLowerCase();return t.includes(`mac`)||e.includes(`mac`)?`mac`:t.includes(`win`)||e.includes(`win`)?`windows`:t.includes(`linux`)||e.includes(`linux`)?`linux`:`unknown`}function LSe(){return RSe()?`Cmd + I`:`Ctrl + I`}function RSe(){return ISe()===`mac`}function zSe(e){let t=RSe()?e.metaKey:e.ctrlKey,n=e.key.toLowerCase()===`i`;return t&&n&&!e.shiftKey&&!e.altKey}var BSe=NSe(`blueking_language`)||`zh-cn`,VSe={小鲸:`BK GPT`,关闭:`close`,发送:`Send`,请输入:`Please input`,昨天:`yesterday`,"3天前":`3 days ago`,"5天前":`5 days ago`,"1周前":`1 week ago`,更早:`Older`,删除:`Delete`,恢复默认大小:`Restore default size`,"AI 小鲸":`AI BK GPT`,新增会话:`New chat`,历史会话:`History session`,停止生成:`Stop generating`,复制:`Copy`,编辑:`Edit`,今天:`Today`,搜索会话名称:`Search session name`,重命名:`Rename`,自动生成命名:`Auto generate name`,分享会话:`Share session`,无智能体使用权限:`No permission to use this agent`,暂无使用权限:`No permission`,请输入新的会话名称:`Please enter new session name`,"确认删除会话 ?":`Confirm delete session?`,搜索为空:`No search results`,暂无对话:`No conversations`,"加载中...":`Loading...`,转人工:`Transfer to human`,缩小高度:`Shrink height`,展开侧栏:`Expand side panel`,收起侧栏:`Collapse side panel`,全选:`Select all`,取消:`Cancel`,确定:`Confirm`,分享链接已复制到剪贴板:`Share link copied to clipboard`,请求失败:`Request failed`,当前已是新会话:`Already in a new session`,"正在创建会话...":`Creating session...`},HSe={重命名:`重命名`,自动生成命名:`自动生成命名`,分享会话:`分享会话`,全选:`全选`,取消:`取消`,确定:`确定`,分享链接已复制到剪贴板:`分享链接已复制到剪贴板`,请求失败:`请求失败`},cf=e=>BSe===`en`?VSe[e]||e:HSe[e]||e,USe={class:`history-item-actions`},WSe=Ni(Qn({__name:`history-item`,props:{isActive:{type:Boolean},isEditing:{type:Boolean},session:{}},emits:[`click`,`delete`,`edit`,`rename-cancel`,`rename-confirm`],setup(e,{emit:t}){let n=e,r=t,i=gxe,a=sn(null),o=sn(``);Ln(()=>n.isEditing,e=>{e&&(o.value=n.session.sessionName,Dn(()=>{if(a.value)try{let e=a.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus edit input:`,e)}}))});let s=()=>{n.isEditing||r(`click`,n.session)},l=()=>{r(`edit`,n.session)},u=()=>{r(`delete`,n.session.sessionCode)},d=()=>{let e=o.value.trim();e&&e!==n.session.sessionName?r(`rename-confirm`,n.session.sessionCode,e):r(`rename-cancel`)},f=()=>{r(`rename-cancel`)},p=(e,t)=>{t.key===`Enter`?d():t.key===`Escape`&&f()};return(e,t)=>(B(),V(`div`,{class:xe([`history-item`,{active:n.isActive}]),onClick:s},[n.isEditing?(B(),Wr(z(mu),{key:1,ref_key:`editInputRef`,ref:a,modelValue:o.value,"onUpdate:modelValue":t[1]||=e=>o.value=e,style:{width:`100%`,height:`28px`},onBlur:d,onKeyup:p,onClick:t[2]||=Ai(()=>{},[`stop`])},null,8,[`modelValue`])):(B(),V(Ir,{key:0},[Jr(z(a_e),{style:{width:`calc(100% - 42px)`}},{default:Mn(()=>[Zr(ke(n.session.sessionName),1)]),_:1}),H(`span`,USe,[Nn(H(`i`,{class:`bkai-icon bkai-bianji`,onClick:Ai(l,[`stop`])},null,512),[[z(i),{content:z(cf)(`编辑`),boundary:`parent`}]]),Jr(z(wbe),{title:z(cf)(`确认删除会话 ?`),content:`删除操作无法撤回,请谨慎操作!`,"confirm-config":{theme:`danger`},trigger:`click`,boundary:`parent`,onConfirm:u},{default:Mn(()=>[Nn(H(`i`,{class:`bkai-icon bkai-shanchu`,onClick:t[0]||=Ai(()=>{},[`stop`])},null,512),[[z(i),{content:z(cf)(`删除`),boundary:`parent`}]])]),_:1},8,[`title`])])],64))],2))}}),[[`__scopeId`,`data-v-fea14d3a`]]),GSe={class:`history-search`},KSe={class:`input-icon`},qSe=Ni(Qn({__name:`history-search`,props:{modelValue:{default:``},placeholder:{default:``}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=e=>{r(`update:modelValue`,e)};return(e,t)=>(B(),V(`div`,GSe,[Jr(z(mu),{"model-value":n.modelValue,behavior:`simplicity`,placeholder:n.placeholder||z(cf)(`搜索会话名称`),style:{height:`22px`},"onUpdate:modelValue":i},{suffix:Mn(()=>[H(`span`,KSe,[Jr(z(cl))])]),_:1},8,[`model-value`,`placeholder`])]))}}),[[`__scopeId`,`data-v-e7ff40b2`]]),JSe={class:`history-dropdown-header`},YSe={class:`history-dropdown-header-title`},XSe={class:`history-dropdown-content`},ZSe={key:0,class:`history-dropdown-loading`},QSe={class:`history-dropdown-loading-dots`},$Se=40,eCe=Ni(Qn({__name:`index`,props:{sessionBusinessManager:{}},emits:[`close`,`session-delete`,`session-rename`,`session-switch`],setup(e,{emit:t}){let n=e,r=t,i=sn(``),a=sn(null),o=U(()=>n.sessionBusinessManager.currentSession.value?.sessionCode),s=U(()=>n.sessionBusinessManager.isLoadingMore.value),l=e=>{let t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight>$Se||n.sessionBusinessManager.hasMoreSessions.value&&(n.sessionBusinessManager.isLoadingMore.value||n.sessionBusinessManager.loadMoreSessions())},u=U(()=>{let e={today:{key:`today`,alias:cf(`今天`),sessionList:[]},yesterday:{key:`yesterday`,alias:cf(`昨天`),sessionList:[]},"3days":{key:`3days`,alias:cf(`3天前`),sessionList:[]},"5days":{key:`5days`,alias:cf(`5天前`),sessionList:[]},"1week":{key:`1week`,alias:cf(`1周前`),sessionList:[]},before:{key:`before`,alias:cf(`更早`),sessionList:[]}},t=n.sessionBusinessManager.sessionList.value.filter(e=>e.sessionName.toLowerCase().includes(i.value.toLowerCase())),r=new Date,a=new Date(r);a.setDate(a.getDate()-1);let o=new Date(r);o.setDate(r.getDate()-3);let s=new Date(r);s.setDate(r.getDate()-5);let l=new Date(r);l.setDate(r.getDate()-7);for(let n of t){let t=new Date(n.createdAt||``),i=t.toDateString();i===r.toDateString()?e.today.sessionList.push(n):i===a.toDateString()?e.yesterday.sessionList.push(n):t>=o&&t>s?e[`3days`].sessionList.push(n):t>=s&&t>l?e[`5days`].sessionList.push(n):t>=l?e[`1week`].sessionList.push(n):e.before.sessionList.push(n)}for(let t of Object.values(e))t.sessionList.sort((e,t)=>{let n=new Date(e.createdAt||0).getTime();return new Date(t.createdAt||0).getTime()-n});return Object.values(e).filter(e=>e.sessionList.length>0)}),d=e=>o.value===e,f=e=>{d(e.sessionCode)||(r(`session-switch`,e.sessionCode),r(`close`))},p=e=>{a.value=e.sessionCode},m=e=>{r(`session-delete`,e)},h=(e,t)=>{let i=n.sessionBusinessManager.sessionList.value.find(t=>t.sessionCode===e);i&&(i.sessionName=t),a.value=null,r(`session-rename`,e,t)},g=()=>{a.value=null};return(e,t)=>(B(),V(`div`,{class:`bkai-history-dropdown`,onScroll:l},[H(`div`,JSe,[H(`h1`,YSe,ke(z(cf)(`历史会话`)),1),Jr(qSe,{modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.value=e,placeholder:z(cf)(`搜索会话名称`)},null,8,[`modelValue`,`placeholder`])]),H(`div`,XSe,[u.value.length>0?(B(),V(Ir,{key:0},[(B(!0),V(Ir,null,dr(u.value,e=>(B(),Wr(Ire,{key:e.key,"current-session-code":o.value,sessions:e.sessionList,title:e.alias},{default:Mn(()=>[(B(!0),V(Ir,null,dr(e.sessionList,e=>(B(),Wr(WSe,{key:e.sessionCode,"is-active":d(e.sessionCode),"is-editing":a.value===e.sessionCode,session:e,onClick:f,onDelete:m,onEdit:p,onRenameCancel:g,onRenameConfirm:h},null,8,[`is-active`,`is-editing`,`session`]))),128))]),_:2},1032,[`current-session-code`,`sessions`,`title`]))),128)),s.value?(B(),V(`div`,ZSe,[H(`span`,QSe,[(B(),V(Ir,null,dr(3,e=>H(`i`,{key:e,class:`history-dropdown-loading-dot`,style:ge({"--dot-index":e-1})},null,4)),64))])])):Qr(`v-if`,!0)],64)):(B(),Wr(z(ad),{key:1,description:i.value?z(cf)(`搜索为空`):z(cf)(`暂无对话`),scene:`part`,style:{"margin-top":`100px`},type:i.value?`search-empty`:`empty`},null,8,[`description`,`type`]))])],32))}}),[[`__scopeId`,`data-v-bf2401b6`]]),tCe=`tippy-box`,nCe=`tippy-content`,rCe=`tippy-backdrop`,iCe=`tippy-arrow`,aCe=`tippy-svg-arrow`,lf={passive:!0,capture:!0},oCe=function(){return document.body};function uf(e,t,n){return Array.isArray(e)?e[t]??(Array.isArray(n)?n[t]:n):e}function df(e,t){var n={}.toString.call(e);return n.indexOf(`[object`)===0&&n.indexOf(t+`]`)>-1}function sCe(e,t){return typeof e==`function`?e.apply(void 0,t):e}function cCe(e,t){if(t===0)return e;var n;return function(r){clearTimeout(n),n=setTimeout(function(){e(r)},t)}}function lCe(e){return e.split(/\s+/).filter(Boolean)}function ff(e){return[].concat(e)}function uCe(e,t){e.indexOf(t)===-1&&e.push(t)}function dCe(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function fCe(e){return e.split(`-`)[0]}function pf(e){return[].slice.call(e)}function pCe(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function mf(){return document.createElement(`div`)}function hf(e){return[`Element`,`Fragment`].some(function(t){return df(e,t)})}function mCe(e){return df(e,`NodeList`)}function hCe(e){return df(e,`MouseEvent`)}function gCe(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function _Ce(e){return hf(e)?[e]:mCe(e)?pf(e):Array.isArray(e)?e:pf(document.querySelectorAll(e))}function gf(e,t){e.forEach(function(e){e&&(e.style.transitionDuration=t+`ms`)})}function vCe(e,t){e.forEach(function(e){e&&e.setAttribute(`data-state`,t)})}function yCe(e){var t,n=ff(e)[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}function bCe(e,t){var n=t.clientX,r=t.clientY;return e.every(function(e){var t=e.popperRect,i=e.popperState,a=e.props.interactiveBorder,o=fCe(i.placement),s=i.modifiersData.offset;if(!s)return!0;var l=o===`bottom`?s.top.y:0,u=o===`top`?s.bottom.y:0,d=o===`right`?s.left.x:0,f=o===`left`?s.right.x:0,p=t.top-r+l>a,m=r-t.bottom-u>a,h=t.left-n+d>a,g=n-t.right-f>a;return p||m||h||g})}function _f(e,t,n){var r=t+`EventListener`;[`transitionend`,`webkitTransitionEnd`].forEach(function(t){e[r](t,n)})}function xCe(e,t){for(var n=t;n;){if(e.contains(n))return!0;n=n.getRootNode==null?void 0:n.getRootNode()?.host}return!1}var vf={isTouch:!1},SCe=0;function CCe(){vf.isTouch||(vf.isTouch=!0,window.performance&&document.addEventListener(`mousemove`,wCe))}function wCe(){var e=performance.now();e-SCe<20&&(vf.isTouch=!1,document.removeEventListener(`mousemove`,wCe)),SCe=e}function TCe(){var e=document.activeElement;if(gCe(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function ECe(){document.addEventListener(`touchstart`,CCe,lf),window.addEventListener(`blur`,TCe)}var DCe=typeof window<`u`&&typeof document<`u`?!!window.msCrypto:!1,yf=Object.assign({appendTo:oCe,aria:{content:`auto`,expanded:`auto`},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:``,offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:`top`,plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:`mouseenter focus`,triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:`fade`,arrow:!0,content:``,inertia:!1,maxWidth:350,role:`tooltip`,theme:``,zIndex:9999}),OCe=Object.keys(yf),kCe=function(e){Object.keys(e).forEach(function(t){yf[t]=e[t]})};function ACe(e){var t=(e.plugins||[]).reduce(function(t,n){var r=n.name,i=n.defaultValue;return r&&(t[r]=e[r]===void 0?yf[r]??i:e[r]),t},{});return Object.assign({},e,t)}function jCe(e,t){return(t?Object.keys(ACe(Object.assign({},yf,{plugins:t}))):OCe).reduce(function(t,n){var r=(e.getAttribute(`data-tippy-`+n)||``).trim();if(!r)return t;if(n===`content`)t[n]=r;else try{t[n]=JSON.parse(r)}catch{t[n]=r}return t},{})}function MCe(e,t){var n=Object.assign({},t,{content:sCe(t.content,[e])},t.ignoreAttributes?{}:jCe(e,t.plugins));return n.aria=Object.assign({},yf.aria,n.aria),n.aria={expanded:n.aria.expanded===`auto`?t.interactive:n.aria.expanded,content:n.aria.content===`auto`?t.interactive?null:`describedby`:n.aria.content},n}var NCe=function(){return`innerHTML`};function bf(e,t){e[NCe()]=t}function PCe(e){var t=mf();return e===!0?t.className=iCe:(t.className=aCe,hf(e)?t.appendChild(e):bf(t,e)),t}function FCe(e,t){hf(t.content)?(bf(e,``),e.appendChild(t.content)):typeof t.content!=`function`&&(t.allowHTML?bf(e,t.content):e.textContent=t.content)}function xf(e){var t=e.firstElementChild,n=pf(t.children);return{box:t,content:n.find(function(e){return e.classList.contains(nCe)}),arrow:n.find(function(e){return e.classList.contains(iCe)||e.classList.contains(aCe)}),backdrop:n.find(function(e){return e.classList.contains(rCe)})}}function ICe(e){var t=mf(),n=mf();n.className=tCe,n.setAttribute(`data-state`,`hidden`),n.setAttribute(`tabindex`,`-1`);var r=mf();r.className=nCe,r.setAttribute(`data-state`,`hidden`),FCe(r,e.props),t.appendChild(n),n.appendChild(r),i(e.props,e.props);function i(n,r){var i=xf(t),a=i.box,o=i.content,s=i.arrow;r.theme?a.setAttribute(`data-theme`,r.theme):a.removeAttribute(`data-theme`),typeof r.animation==`string`?a.setAttribute(`data-animation`,r.animation):a.removeAttribute(`data-animation`),r.inertia?a.setAttribute(`data-inertia`,``):a.removeAttribute(`data-inertia`),a.style.maxWidth=typeof r.maxWidth==`number`?r.maxWidth+`px`:r.maxWidth,r.role?a.setAttribute(`role`,r.role):a.removeAttribute(`role`),(n.content!==r.content||n.allowHTML!==r.allowHTML)&&FCe(o,e.props),r.arrow?s?n.arrow!==r.arrow&&(a.removeChild(s),a.appendChild(PCe(r.arrow))):a.appendChild(PCe(r.arrow)):s&&a.removeChild(s)}return{popper:t,onUpdate:i}}ICe.$$tippy=!0;var LCe=1,Sf=[],Cf=[];function RCe(e,t){var n=MCe(e,Object.assign({},yf,ACe(pCe(t)))),r,i,a,o=!1,s=!1,l=!1,u=!1,d,f,p,m=[],h=cCe(de,n.interactiveDebounce),g,_=LCe++,v=null,y=dCe(n.plugins),b={id:_,reference:e,popper:mf(),popperInstance:v,props:n,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:y,clearDelayTimeouts:Ce,setProps:we,setContent:Te,show:Ee,hide:De,hideWithInteractivity:Oe,enable:xe,disable:Se,unmount:ke,destroy:Ae};if(!n.render)return b;var x=n.render(b),S=x.popper,C=x.onUpdate;S.setAttribute(`data-tippy-root`,``),S.id=`tippy-`+b.id,b.popper=S,e._tippy=b,S._tippy=b;var w=y.map(function(e){return e.fn(b)}),T=e.hasAttribute(`aria-expanded`);return ce(),I(),N(),P(`onCreate`,[b]),n.showOnCreate&&ye(),S.addEventListener(`mouseenter`,function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()}),S.addEventListener(`mouseleave`,function(){b.props.interactive&&b.props.trigger.indexOf(`mouseenter`)>=0&&A().addEventListener(`mousemove`,h)}),b;function E(){var e=b.props.touch;return Array.isArray(e)?e:[e,0]}function D(){return E()[0]===`hold`}function O(){var e;return!!((e=b.props.render)!=null&&e.$$tippy)}function k(){return g||e}function A(){var e=k().parentNode;return e?yCe(e):document}function j(){return xf(S)}function M(e){return b.state.isMounted&&!b.state.isVisible||vf.isTouch||d&&d.type===`focus`?0:uf(b.props.delay,+!e,yf.delay)}function N(e){e===void 0&&(e=!1),S.style.pointerEvents=b.props.interactive&&!e?``:`none`,S.style.zIndex=``+b.props.zIndex}function P(e,t,n){if(n===void 0&&(n=!0),w.forEach(function(n){n[e]&&n[e].apply(n,t)}),n){var r;(r=b.props)[e].apply(r,t)}}function F(){var t=b.props.aria;if(t.content){var n=`aria-`+t.content,r=S.id;ff(b.props.triggerTarget||e).forEach(function(e){var t=e.getAttribute(n);if(b.state.isVisible)e.setAttribute(n,t?t+` `+r:r);else{var i=t&&t.replace(r,``).trim();i?e.setAttribute(n,i):e.removeAttribute(n)}})}}function I(){T||!b.props.aria.expanded||ff(b.props.triggerTarget||e).forEach(function(e){b.props.interactive?e.setAttribute(`aria-expanded`,b.state.isVisible&&e===k()?`true`:`false`):e.removeAttribute(`aria-expanded`)})}function L(){A().removeEventListener(`mousemove`,h),Sf=Sf.filter(function(e){return e!==h})}function R(t){if(!(vf.isTouch&&(l||t.type===`mousedown`))){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!(b.props.interactive&&xCe(S,n))){if(ff(b.props.triggerTarget||e).some(function(e){return xCe(e,n)})){if(vf.isTouch||b.state.isVisible&&b.props.trigger.indexOf(`click`)>=0)return}else P(`onClickOutside`,[b,t]);b.props.hideOnClick===!0&&(b.clearDelayTimeouts(),b.hide(),s=!0,setTimeout(function(){s=!1}),b.state.isMounted||re())}}}function ee(){l=!0}function te(){l=!1}function ne(){var e=A();e.addEventListener(`mousedown`,R,!0),e.addEventListener(`touchend`,R,lf),e.addEventListener(`touchstart`,te,lf),e.addEventListener(`touchmove`,ee,lf)}function re(){var e=A();e.removeEventListener(`mousedown`,R,!0),e.removeEventListener(`touchend`,R,lf),e.removeEventListener(`touchstart`,te,lf),e.removeEventListener(`touchmove`,ee,lf)}function ie(e,t){oe(e,function(){!b.state.isVisible&&S.parentNode&&S.parentNode.contains(S)&&t()})}function ae(e,t){oe(e,t)}function oe(e,t){var n=j().box;function r(e){e.target===n&&(_f(n,`remove`,r),t())}if(e===0)return t();_f(n,`remove`,f),_f(n,`add`,r),f=r}function se(t,n,r){r===void 0&&(r=!1),ff(b.props.triggerTarget||e).forEach(function(e){e.addEventListener(t,n,r),m.push({node:e,eventType:t,handler:n,options:r})})}function ce(){D()&&(se(`touchstart`,ue,{passive:!0}),se(`touchend`,fe,{passive:!0})),lCe(b.props.trigger).forEach(function(e){if(e!==`manual`)switch(se(e,ue),e){case`mouseenter`:se(`mouseleave`,fe);break;case`focus`:se(DCe?`focusout`:`blur`,pe);break;case`focusin`:se(`focusout`,pe);break}})}function le(){m.forEach(function(e){var t=e.node,n=e.eventType,r=e.handler,i=e.options;t.removeEventListener(n,r,i)}),m=[]}function ue(e){var t=!1;if(!(!b.state.isEnabled||me(e)||s)){var n=d?.type===`focus`;d=e,g=e.currentTarget,I(),!b.state.isVisible&&hCe(e)&&Sf.forEach(function(t){return t(e)}),e.type===`click`&&(b.props.trigger.indexOf(`mouseenter`)<0||o)&&b.props.hideOnClick!==!1&&b.state.isVisible?t=!0:ye(e),e.type===`click`&&(o=!t),t&&!n&&be(e)}}function de(e){var t=e.target,r=k().contains(t)||S.contains(t);e.type===`mousemove`&&r||bCe(ve().concat(S).map(function(e){var t=e._tippy.popperInstance?.state;return t?{popperRect:e.getBoundingClientRect(),popperState:t,props:n}:null}).filter(Boolean),e)&&(L(),be(e))}function fe(e){if(!(me(e)||b.props.trigger.indexOf(`click`)>=0&&o)){if(b.props.interactive){b.hideWithInteractivity(e);return}be(e)}}function pe(e){b.props.trigger.indexOf(`focusin`)<0&&e.target!==k()||b.props.interactive&&e.relatedTarget&&S.contains(e.relatedTarget)||be(e)}function me(e){return vf.isTouch?D()!==e.type.indexOf(`touch`)>=0:!1}function he(){ge();var t=b.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,o=t.moveTransition,s=O()?xf(S).arrow:null,l=a?{getBoundingClientRect:a,contextElement:a.contextElement||k()}:e,u=[{name:`offset`,options:{offset:i}},{name:`preventOverflow`,options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:`flip`,options:{padding:5}},{name:`computeStyles`,options:{adaptive:!o}},{name:`$$tippy`,enabled:!0,phase:`beforeWrite`,requires:[`computeStyles`],fn:function(e){var t=e.state;if(O()){var n=j().box;[`placement`,`reference-hidden`,`escaped`].forEach(function(e){e===`placement`?n.setAttribute(`data-placement`,t.placement):t.attributes.popper[`data-popper-`+e]?n.setAttribute(`data-`+e,``):n.removeAttribute(`data-`+e)}),t.attributes.popper={}}}}];O()&&s&&u.push({name:`arrow`,options:{element:s,padding:3}}),u.push.apply(u,n?.modifiers||[]),b.popperInstance=fa(l,S,Object.assign({},n,{placement:r,onFirstUpdate:p,modifiers:u}))}function ge(){b.popperInstance&&=(b.popperInstance.destroy(),null)}function _e(){var e=b.props.appendTo,t,n=k();t=b.props.interactive&&e===oCe||e===`parent`?n.parentNode:sCe(e,[n]),t.contains(S)||t.appendChild(S),b.state.isMounted=!0,he()}function ve(){return pf(S.querySelectorAll(`[data-tippy-root]`))}function ye(e){b.clearDelayTimeouts(),e&&P(`onTrigger`,[b,e]),ne();var t=M(!0),n=E(),i=n[0],a=n[1];vf.isTouch&&i===`hold`&&a&&(t=a),t?r=setTimeout(function(){b.show()},t):b.show()}function be(e){if(b.clearDelayTimeouts(),P(`onUntrigger`,[b,e]),!b.state.isVisible){re();return}if(!(b.props.trigger.indexOf(`mouseenter`)>=0&&b.props.trigger.indexOf(`click`)>=0&&[`mouseleave`,`mousemove`].indexOf(e.type)>=0&&o)){var t=M(!1);t?i=setTimeout(function(){b.state.isVisible&&b.hide()},t):a=requestAnimationFrame(function(){b.hide()})}}function xe(){b.state.isEnabled=!0}function Se(){b.hide(),b.state.isEnabled=!1}function Ce(){clearTimeout(r),clearTimeout(i),cancelAnimationFrame(a)}function we(t){if(!b.state.isDestroyed){P(`onBeforeUpdate`,[b,t]),le();var n=b.props,r=MCe(e,Object.assign({},n,pCe(t),{ignoreAttributes:!0}));b.props=r,ce(),n.interactiveDebounce!==r.interactiveDebounce&&(L(),h=cCe(de,r.interactiveDebounce)),n.triggerTarget&&!r.triggerTarget?ff(n.triggerTarget).forEach(function(e){e.removeAttribute(`aria-expanded`)}):r.triggerTarget&&e.removeAttribute(`aria-expanded`),I(),N(),C&&C(n,r),b.popperInstance&&(he(),ve().forEach(function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})),P(`onAfterUpdate`,[b,t])}}function Te(e){b.setProps({content:e})}function Ee(){var e=b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=vf.isTouch&&!b.props.touch,i=uf(b.props.duration,0,yf.duration);if(!(e||t||n||r)&&!k().hasAttribute(`disabled`)&&(P(`onShow`,[b],!1),b.props.onShow(b)!==!1)){if(b.state.isVisible=!0,O()&&(S.style.visibility=`visible`),N(),ne(),b.state.isMounted||(S.style.transition=`none`),O()){var a=j(),o=a.box,s=a.content;gf([o,s],0)}p=function(){var e;if(!(!b.state.isVisible||u)){if(u=!0,S.offsetHeight,S.style.transition=b.props.moveTransition,O()&&b.props.animation){var t=j(),n=t.box,r=t.content;gf([n,r],i),vCe([n,r],`visible`)}F(),I(),uCe(Cf,b),(e=b.popperInstance)==null||e.forceUpdate(),P(`onMount`,[b]),b.props.animation&&O()&&ae(i,function(){b.state.isShown=!0,P(`onShown`,[b])})}},_e()}}function De(){var e=!b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=uf(b.props.duration,1,yf.duration);if(!(e||t||n)&&(P(`onHide`,[b],!1),b.props.onHide(b)!==!1)){if(b.state.isVisible=!1,b.state.isShown=!1,u=!1,o=!1,O()&&(S.style.visibility=`hidden`),L(),re(),N(!0),O()){var i=j(),a=i.box,s=i.content;b.props.animation&&(gf([a,s],r),vCe([a,s],`hidden`))}F(),I(),b.props.animation?O()&&ie(r,b.unmount):b.unmount()}}function Oe(e){A().addEventListener(`mousemove`,h),uCe(Sf,h),h(e)}function ke(){b.state.isVisible&&b.hide(),b.state.isMounted&&(ge(),ve().forEach(function(e){e._tippy.unmount()}),S.parentNode&&S.parentNode.removeChild(S),Cf=Cf.filter(function(e){return e!==b}),b.state.isMounted=!1,P(`onHidden`,[b]))}function Ae(){b.state.isDestroyed||(b.clearDelayTimeouts(),b.unmount(),le(),delete e._tippy,b.state.isDestroyed=!0,P(`onDestroy`,[b]))}}function wf(e,t){t===void 0&&(t={});var n=yf.plugins.concat(t.plugins||[]);ECe();var r=Object.assign({},t,{plugins:n}),i=_Ce(e).reduce(function(e,t){var n=t&&RCe(t,r);return n&&e.push(n),e},[]);return hf(e)?i[0]:i}wf.defaultProps=yf,wf.setDefaultProps=kCe,wf.currentInput=vf,Object.assign({},qre,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),wf.setDefaultProps({render:ICe});function zCe(e){let{triggerRef:t,panelComponent:n,panelProps:r={},tippyOptions:i={}}=e,a=sn(null),o=null,s=()=>(o||=document.createElement(`div`),ji(W(n,{...r,onClose:f}),o),o),l=e=>{let n=e.target,r=t.value;if(r&&r.contains(n))return;let i=document.querySelector(`.tippy-box[data-theme~="history-panel"]`);if(i&&i.contains(n))return;let o=document.querySelector(`.tippy-box[data-theme~="more-menu-light"]`);o&&o.contains(n)||a.value?.state.isVisible&&a.value.hide()},u=()=>{if(!t.value||a.value)return;let e={placement:`bottom-end`,offset:[0,8],appendTo:document.querySelector(`.ai-blueking-container-wrapper`)||document.body};a.value=wf(t.value,{content:s(),interactive:!0,trigger:`manual`,theme:`light history-panel`,arrow:!1,hideOnClick:!1,animation:`scale`,duration:200,delay:[0,0],...e,...i,onShow:()=>{a.value&&o&&a.value.setContent(s()),setTimeout(()=>{document.addEventListener(`click`,l,!1)},0)},onHidden:()=>{document.removeEventListener(`click`,l,!1)}})},d=()=>{a.value||u(),a.value?.show()},f=()=>{a.value?.hide()},p=()=>{a.value||u(),a.value?.state.isVisible?f():d()},m=e=>{e.stopPropagation(),p()},h=()=>{a.value&&=(a.value.destroy(),null),o&&=(ji(null,o),null),document.removeEventListener(`click`,l,!1)};return sr(()=>{h()}),{show:d,hide:f,toggle:p,handleTriggerClick:m,destroy:h,isVisible:()=>a.value?.state.isVisible??!1}}function BCe(e){return e.sessionBusinessManager?zCe({triggerRef:e.triggerRef,panelComponent:eCe,panelProps:{sessionBusinessManager:e.sessionBusinessManager,onSessionSwitch:e.onSessionSwitch,onSessionDelete:e.onSessionDelete,onSessionRename:e.onSessionRename},tippyOptions:{placement:`bottom-end`,offset:[0,8],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body}}):{handleTriggerClick:()=>{},show:()=>{},hide:()=>{},toggle:()=>{},destroy:()=>{},isVisible:()=>!1}}var VCe=e=>{if(typeof document>`u`)return null;let t=document.cookie.split(`;`).find(t=>t.trim().startsWith(`${e}=`));return t?t.split(`=`)[1]:null},HCe=e=>{let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3),r=e%1e3,i=[];return t>0&&i.push(`${t}m`),n>0&&i.push(`${n}s`),(r>0||i.length===0)&&i.push(`${r}ms`),i.join(``)},Tf=()=>`id_${Math.random().toString(36).substring(2,9)}`,UCe=e=>{if(e<1)return`<1s`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=e%60,a=[];return t>0&&a.push(`${t}d`),n>0&&a.push(`${n}h`),r>0&&a.push(`${r}m`),i>0&&a.push(`${i}s`),a.join(``)},Ef=VCe(`blueking_language`)===`en`,WCe={发送:`Send`,停止:`Stop`,添加:`Add`,Skill:`Skill`,MCP:`MCP`,Prompt:`Prompt`,文件:`File`,图片:`Image`,工具:`Tool`,知识库:`Knowledge Base`,会话产物:`Conversation Files`,收起:`Collapse`,显示更多:`Show More`,问问小鲸:`Ask AI`,复制:`Copy`,分享:`Share`,点赞:`Like`,不满意:`Unsatisfied`,删除:`Delete`,引用:`Quote`,重新生成:`Regenerate`,重新生成将清空下文内容:`Regenerating will clear the content below`,提交:`Submit`,取消:`Cancel`,预览内容:`Preview Content`,跳转详情:`Jump to Detail`,调用工具:`Call Tool`,"读取 Skill":`Read Skill`,正在调用:`Calling`,正在读取:`Reading`,说出您的想法:`Tell us your thoughts`,"什么原因让你满意?":`What makes you satisfied?`,"什么原因让你不满意?":`What makes you dissatisfied?`,返回内容:`Return Content`,编辑:`Edit`,深度思考:`Deep Thinking`,快速思考:`Quick Thinking`,图生文:`Image to Text`,"图片加载中...":`Loading image...`,图片加载失败:`Failed to load image`,思考中:`Thinking...`,已思考完成:`Thinking Completed`,思考失败:`Thinking Failed`,复制成功:`Copy Success`,复制失败:`Copy Failed`,返回底部:`Return to bottom`,停止生成:`Stop generating`,正在停止:`Stopping`,耗时:`Duration`,昨天:`Yesterday`,参数:`Parameters`,描述:`Description`,执行情况:`Execution Status`,执行中:`Running`,成功:`Success`,失败:`Failed`,挂起:`Pending`,待执行:`To Be Executed`,详情:`Details`,重试:`Retry`,重试中:`Retrying`,跳过中:`Skipping`,"任务正在重试中,不可跳过":`The task is retrying and cannot be skipped`,"任务正在跳过中,不可重试":`The task is skipping and cannot be retried`,节点:`Node`,节点配置:`Node Config`,节点输出:`Node Output`,基础信息:`Basic Info`,流程模板:`Flow Template`,节点名称:`Node Name`,步骤名称:`Step Name`,执行方案:`Execution Plan`,是否可选:`Optional`,失败处理:`Failure Handler`,超时控制:`Timeout Control`,是:`Yes`,否:`No`,输入参数:`Input Params`,输出参数:`Output Params`,参数名:`Param Name`,参数值:`Param Value`,名称:`Name`,变量说明:`Description`,结构化输出:`Structured Output`,手动跳过:`Manual Skip`,暂无数据:`No Data`,"调用 MCP":`Call MCP`,更多:`More`,算法方案评审单:`Algorithm Plan Review Ticket`,评审中:`Reviewing`,审批中:`Approving`,已废弃:`Abandoned`,已批准:`Approved`,已通过:`Approved`,已取消:`Cancelled`,已过期:`Expired`,已拒绝:`Rejected`,已撤销:`Revoked`,单据编号:`Ticket No.`,提交时间:`Submitted At`,当前处理人:`Current Handler`,无:`None`,查看单据详情:`View Ticket Detail`,复制单据:`Copy Ticket`,复制单据链接:`Copy Ticket Link`,取消审批:`Cancel Approval`,已取消审批:`Approval Cancelled`,刷新单据状态:`Refresh Ticket Status`,单据已取消审批:`Approval Cancelled`,"该单据已被拒绝,无法取消":`This ticket has been rejected and cannot be cancelled`,"该单据已通过,无法取消":`This ticket has been approved and cannot be cancelled`,"单据已取消,无需重复点击":`This ticket has been cancelled, no need to click again`,当前状态无法取消审批:`Approval cannot be cancelled in the current status`,"当前会话有 {count} 个待审批单,如需继续,请先取消审批":`There are {count} pending approval tickets in the current conversation. To continue, cancel approval first.`,暂不支持的中断消息:`Unsupported interrupt message`,检索中:`Searching`,检索完成:`Search Completed`,上传文件:`Upload File`,选择模型:`Select model`,搜索模型关键字:`Search models`,"请求中...":`Requesting...`,取消满意:`Cancel satisfied`,取消不满意:`Cancel dissatisfied`,"确认删除该回答?":`Confirm delete this answer?`,"删除操作无法撤回,请谨慎操作!":`This operation cannot be undone. Please proceed with caution!`,预览:`Preview`,缩小:`Zoom Out`,放大:`Zoom In`,旋转:`Rotate`,下载:`Download`,"抱歉,图片加载失败,可尝试重新加载":`Sorry, image loading failed. Please try reloading.`,重置:`Reset`,重新加载:`Reload`,宽:`W`,高:`H`,上传图片:`Upload Image`,"搜索 关键字":`Search keyword`,选择日期:`Select date`,在对话中定位:`Locate in Chat`,全选:`Select All`,确定:`Confirm`,"上传文件,最多支持 {count} 个,单个最大 {size}MB":`Upload file, up to {count} files, max {size}MB each`,"你好,我是小鲸":`Hello, I am BlueKing AI Bot`,清空搜索:`Clear Search`,搜索结果为空:`Search Result is Empty`,有效证据:`Valid Evidence`,全屏:`Full Screen`,退出全屏:`Exit Full Screen`,请选择以继续:`Please choose to continue`,继续:`Continue`,"收到信息:":`Received: `,待审批:`Pending`,已审批:`Approved`,完成:`Done`,跳过:`Skip`,单选:`Single`,多选:`Multiple`,其他:`Others`,已完成:`Completed`,题:`question(s)`,回答内容:`Answers`,已回复:`Replied`,"请输入...":`Please enter...`,文件产物:`File Artifacts`,文件列表:`File List`,搜索文件关键字:`Search file keyword`,预览加载失败:`Failed to load preview`,暂无可预览的文件:`No file to preview`,"文件上传中,请稍候":`Uploading files, please wait`,"存在上传失败的文件,请删除后重试":`Remove failed uploads before sending`,上传失败:`Upload failed`,"有 {count} 个文件因格式不支持未添加":`{count} file(s) were not added because the format is not supported`},Df=e=>Ef?WCe[e]:e,Of=function(e){return e.ABANDONED=`abandoned`,e.APPROVED=`approved`,e.CANCELLED=`cancelled`,e.DRAFT=`draft`,e.EXPIRED=`expired`,e.PENDING=`pending`,e.REJECTED=`rejected`,e.REVOKED=`revoked`,e}({}),kf=function(e){return e.AIDevToolApproval=`aidev:tool_approval`,e.UserQuestion=`aidev:user_question`,e}({}),Af=function(e){return e.Binary=`binary`,e.FlowAgent=`flow_agent`,e.Function=`function`,e.KeyValue=`key_value`,e.KnowledgeRag=`knowledge_rag`,e.Other=`other`,e.ReferenceDocument=`reference_document`,e.Text=`text`,e}({}),jf=function(e){return e.Activity=`activity`,e.Assistant=`assistant`,e.Developer=`developer`,e.Guide=`guide`,e.Hidden=`hidden`,e.HiddenAssistant=`hidden-assistant`,e.HiddenGuide=`hidden-guide`,e.HiddenSystem=`hidden-system`,e.HiddenUser=`hidden-user`,e.Info=`info`,e.Interrupt=`interrupt`,e.Loading=`loading`,e.Pause=`pause`,e.Placeholder=`placeholder`,e.Reasoning=`reasoning`,e.System=`system`,e.TemplateAssistant=`template-assistant`,e.TemplateGuide=`template-guide`,e.TemplateHidden=`template-hidden`,e.TemplateSystem=`template-system`,e.TemplateUser=`template-user`,e.Tool=`tool`,e.User=`user`,e}({}),Mf=function(e){return e.Complete=`complete`,e.Completed=`completed`,e.Disabled=`disabled`,e.Error=`error`,e.Fetching=`fetching`,e.Pending=`pending`,e.Stop=`stop`,e.StopLoading=`stop-loading`,e.Streaming=`streaming`,e.Success=`success`,e}({}),GCe={[Of.ABANDONED]:Df(`已废弃`),[Of.APPROVED]:Df(`已通过`),[Of.CANCELLED]:Df(`已取消`),[Of.EXPIRED]:Df(`已过期`),[Of.PENDING]:Df(`待审批`),[Of.REJECTED]:Df(`已拒绝`),[Of.REVOKED]:Df(`已撤销`),[Of.DRAFT]:Df(`待审批`)},Nf=function(e){return e.ApprovalCancel=`approval_cancel`,e.ApprovalRefresh=`approval_refresh`,e.FlowNodeRetry=`flow_node_retry`,e.FlowNodeSkip=`flow_node_skip`,e}({}),KCe=Object.values({image:[`.gif`,`.jpeg`,`.jpg`,`.png`,`.webp`],document:[`.doc`,`.docx`,`.ppt`,`.pptx`,`.xls`,`.xlsx`,`.pdf`,`.epub`,`.mobi`,`.csv`],text:[`.txt`,`.md`,`.rst`,`.log`,`.json`,`.xml`,`.yaml`,`.yml`,`.toml`,`.ini`,`.conf`,`.html`,`.css`,`.scss`,`.sql`],code:[`.py`,`.js`,`.jsx`,`.ts`,`.tsx`,`.vue`,`.java`,`.go`,`.c`,`.cpp`,`.h`,`.hpp`,`.cs`,`.php`,`.rb`,`.rs`,`.kt`,`.swift`,`.sh`,`.bash`]}).flat().join(`,`),qCe=9999,Pf=qCe+1+1,JCe=Pf+1,YCe=JCe+1,XCe=[{description:Df(`复制`),id:`copy`,name:Df(`复制`)},{description:Df(`重新生成将清空下文内容`),id:`rebuild`,name:Df(`重新生成`)},{description:Df(`分享`),id:`share`,name:Df(`分享`)}],ZCe=[{description:Df(`复制`),id:`copy`,name:Df(`复制`)},{description:Df(`编辑`),id:`edit`,name:Df(`编辑`)},{description:Df(`删除`),id:`delete`,name:Df(`删除`)}],QCe=[{description:Df(`点赞`),id:`like`,name:Df(`点赞`)},{description:Df(`不满意`),id:`unlike`,name:Df(`不满意`)},{description:Df(`删除`),id:`delete`,name:Df(`删除`)}],$Ce=45*1024*1024,ewe=`ai-is-keyword`,Ff=function(e){return e.Chat=`chat`,e.Share=`share`,e.Test=`test`,e}({}),twe=`__loading__`,If={class:`ai-common-icon`,style:{verticalAlign:`middle`,fill:`currentColor`,overflow:`hidden`},viewBox:`0 0 1024 1024`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},nwe={js:`javascript`,ts:`typescript`,py:`python`},rwe=0;function iwe(e){let t=`${e}-${++rwe}`;return{id:e=>`${t}-${e}`,ref:e=>`url(#${t}-${e})`}}var awe=Qn({name:`AIBluekingIcon`,setup(){let e=iwe(`blueking-icon`);return()=>W(`svg`,{...If,viewBox:`0 0 24 24`,class:{[If.class]:!0,"ai-blueking-icon":!0}},[W(`defs`,{},[W(`linearGradient`,{x1:`45.02491%`,y1:`35.5927467%`,x2:`99.2803929%`,y2:`81.0358394%`,id:e.id(1)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(2)},[W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.885701426`,offset:`0%`}),W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.29`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(3)},[W(`stop`,{"stop-color":`#1562FC`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`95.0902604%`,x2:`35.112422%`,y2:`19.6450217%`,id:e.id(4)},[W(`stop`,{"stop-color":`#DC63FE`,offset:`0.0150240385%`}),W(`stop`,{"stop-color":`#235DFA`,offset:`100%`})]),W(`linearGradient`,{x1:`46.6072083%`,y1:`95.8855311%`,x2:`46.6072083%`,y2:`50%`,id:e.id(5)},[W(`stop`,{"stop-color":`#B962FD`,offset:`0%`}),W(`stop`,{"stop-color":`#565FFB`,offset:`99.984976%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(6)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#A826E2`,offset:`100%`})])]),W(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[W(`g`,{transform:`translate(-1940, -1102)`},[W(`g`,{transform:`translate(1941, 1103.2578)`},[W(`path`,{d:`M9.5,4.7422389 C13.6421356,4.7422389 17,8.10010327 17,12.2422389 L17.001443,17.8260065 C18.766577,18.002886 20,18.503758 20,19.7276221 C19.9911111,19.736626 19.9733333,19.7388478 19.92,19.740251 L19.8835437,19.7409966 C19.8766933,19.7411051 19.86944,19.7412059 19.86176,19.7412992 L19.223277,19.7414596 C19.1990044,19.7413893 19.1739733,19.7413146 19.14816,19.7412361 L18.89408,19.7404278 C18.86336,19.7403275 18.8317867,19.7402239 18.7993363,19.7401172 L18.59392,19.7394428 C18.5578667,19.7393249 18.5208889,19.7392045 18.482963,19.7390817 L18.24384,19.7383188 C18.1184,19.7379252 17.984,19.7375147 17.84,19.7370938 L17.5390104,19.7362397 C17.371281,19.7357782 17.19212,19.7353095 17.0007483,19.7348414 L9.5,19.7422389 C6.21251981,19.7422389 3.41905896,17.6270907 2.40625547,14.6834322 C1.03363082,14.4093871 0,13.203242 0,11.7568557 L1.21619234,11.7563718 C1.49913049,11.7561381 1.76533428,11.755827 2.01579346,11.7554549 C2.26623611,7.84031745 5.52132054,4.7422389 9.5,4.7422389 Z`,fill:e.ref(1)}),W(`path`,{d:`M9.5,6.7422389 C12.5375661,6.7422389 15,9.20467277 15,12.2422389 L15,15.7422389 C15,16.8468084 14.1045695,17.7422389 13,17.7422389 L9.5,17.7422389 C6.46243388,17.7422389 4,15.279805 4,12.2422389 C4,9.20467277 6.46243388,6.7422389 9.5,6.7422389 Z`,fill:e.ref(2)}),W(`rect`,{fill:e.ref(3),x:`18`,y:`7.7422389`,width:`2`,height:`9`,rx:`1`}),W(`path`,{d:`M18.9843802,1 C18.9843802,2.52940392 20.1288357,3.79150593 21.6080665,3.97662574 L21.9843802,4 C20.4549762,4 19.1928742,5.14445555 19.0077544,6.62368637 L18.9843802,7 C18.9843802,5.47059608 17.8399246,4.20849407 16.3606938,4.02337426 L15.9843802,4 C17.5137841,4 18.7758861,2.85554445 18.9610059,1.37631363 L18.9843802,1 Z`,fill:e.ref(4),"fill-rule":`nonzero`}),W(`path`,{d:`M14.9843802,-1.0658141e-14 C14.9843802,1.01960262 15.7473505,1.86100395 16.7335044,1.98441716 L16.9843802,2 C15.9647776,2 15.1233762,2.76297037 14.999963,3.74912425 L14.9843802,4 C14.9843802,2.98039738 14.2214098,2.13899605 13.2352559,2.01558284 L12.9843802,2 C14.0039828,2 14.8453841,1.23702963 14.9687973,0.250875751 L14.9843802,-1.0658141e-14 Z`,fill:e.ref(5),"fill-rule":`nonzero`}),W(`path`,{d:`M15.9843802,5 C15.9843802,5.50980131 16.3658654,5.93050198 16.8589423,5.99220858 L16.9843802,6 C16.4745789,6 16.0538782,6.38148518 15.9921716,6.87456212 L15.9843802,7 C15.9843802,6.49019869 15.602895,6.06949802 15.109818,6.00779142 L14.9843802,6 C15.4941815,6 15.9148821,5.61851482 15.9765887,5.12543788 L15.9843802,5 Z`,fill:`#8860FC`,"fill-rule":`nonzero`}),W(`rect`,{fill:`#16204D`,x:`6.5`,y:`10.7422389`,width:`2`,height:`3`,rx:`1`}),W(`rect`,{fill:`#16204D`,x:`10.5`,y:`10.7422389`,width:`2`,height:`3`,rx:`1`}),W(`path`,{d:`M12.1896605,4.7422389 C11.9209486,3.40890556 11.3915034,2.7422389 10.6013249,2.7422389 C9.41605731,2.7422389 9.42887356,4.32659654 10.6013249,4.18645894 C11.2198089,4.11253447 11.6391525,4.29779445 11.8593557,4.7422389 L12.1896605,4.7422389 Z`,fill:e.ref(6),transform:`translate(10.9534, 3.7422) scale(-1, 1) translate(-10.9534, -3.7422)`}),W(`path`,{d:`M9.71717378,4.7422389 C9.4484618,3.40890556 8.9190166,2.7422389 8.12883818,2.7422389 C6.94357055,2.7422389 6.95638679,4.32659654 8.12883818,4.18645894 C8.74732212,4.11253447 9.16666571,4.29779445 9.38686894,4.7422389 L9.71717378,4.7422389 Z`,fill:e.ref(6)})])])])])}}),owe=Qn({name:`AIBluekingBannerIcon`,setup(){let e=iwe(`banner-icon`);return()=>W(`svg`,{...If,viewBox:`0 0 309 93`,class:{[If.class]:!0,"ai-blueking-banner-icon":!0}},[W(`defs`,{},[W(`linearGradient`,{x1:`45.02491%`,y1:`35.5927467%`,x2:`99.2803929%`,y2:`81.0358394%`,id:e.id(1)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(2)},[W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.885701426`,offset:`0%`}),W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.29`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(3)},[W(`stop`,{"stop-color":`#1562FC`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`95.0902604%`,x2:`35.112422%`,y2:`19.6450217%`,id:e.id(4)},[W(`stop`,{"stop-color":`#DC63FE`,offset:`0.0150240385%`}),W(`stop`,{"stop-color":`#235DFA`,offset:`100%`})]),W(`linearGradient`,{x1:`46.6072083%`,y1:`95.8855311%`,x2:`46.6072083%`,y2:`50%`,id:e.id(5)},[W(`stop`,{"stop-color":`#B962FD`,offset:`0%`}),W(`stop`,{"stop-color":`#565FFB`,offset:`99.984976%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(6)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#A826E2`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`-38.6691405%`,x2:`50%`,y2:`100%`,id:e.id(7)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#9F7BF1`,"stop-opacity":`0.15`,offset:`62.335824%`}),W(`stop`,{"stop-color":`#EB8CEC`,"stop-opacity":`0`,offset:`100%`})])]),W(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[W(`g`,{transform:`translate(0, 0.2974)`},[W(`g`,{transform:`translate(124.4167, 0)`},[W(`path`,{d:`M28.3965776,12.9425679 C38.3377031,12.9425679 46.3965776,21.0014424 46.3965776,30.9425679 L46.3969075,48.6505618 C51.2162571,49.132982 54.5842089,50.4998157 54.5842089,53.8408323 C54.5842089,53.8444226 54.5842089,53.8477257 54.5824622,53.8507588 L54.5702354,53.8590653 C54.5370482,53.8709895 54.4250414,53.8772107 54.0470184,53.8795761 L53.8473221,53.8804155 C53.8227592,53.8804783 53.7973775,53.8805312 53.7711498,53.8805746 L53.4140599,53.8806511 C53.3806271,53.8806219 53.3462391,53.8805842 53.3108685,53.8805382 L52.8375142,53.8796076 C51.6610285,53.8767057 49.6921211,53.8685916 46.3970568,53.8605313 L46.3965776,53.8807246 L23.4584209,53.8807246 C14.9044209,53.8807246 7.74404265,47.9139206 5.91235374,39.9153803 C2.4976649,38.935189 0,35.8013205 0,32.0869334 L1.43000256,32.0866983 C1.58407741,32.0866469 1.73656386,32.0865873 1.88747828,32.0865198 L3.20370552,32.0857063 C4.00314289,32.0850715 4.75405903,32.0842107 5.4593989,32.0831725 L5.45842089,30.9425679 C5.45842089,21.0014424 13.5172954,12.9425679 23.4584209,12.9425679 L28.3965776,12.9425679 Z`,fill:e.ref(1)}),W(`rect`,{fill:e.ref(2),x:`10.9168418`,y:`18.4009888`,width:`30.0213149`,height:`30.0213149`,rx:`12`}),W(`rect`,{fill:e.ref(3),x:`49.125788`,y:`21.1301993`,width:`5.45842089`,height:`24.562894`,rx:`2`}),W(`path`,{d:`M51.8123687,2.72921045 C51.8123687,6.90327561 54.9358287,10.3478176 58.9729609,10.8530485 L60,10.9168418 C55.8259348,10.9168418 52.3813929,14.0403018 51.8761619,18.077434 L51.8123687,19.1044731 C51.8123687,14.930408 48.6889086,11.485866 44.6517764,10.9806351 L43.6247373,10.9168418 C47.7988025,10.9168418 51.2433445,7.79338174 51.7485754,3.75624952 L51.8123687,2.72921045 Z`,fill:e.ref(4),"fill-rule":`nonzero`}),W(`path`,{d:`M40.8955269,0 C40.8955269,2.78271011 42.9778336,5.07907143 45.6692551,5.41589204 L46.3539478,5.45842089 C43.5712377,5.45842089 41.2748763,7.54072759 40.9380557,10.2321491 L40.8955269,10.9168418 C40.8955269,8.13413168 38.8132202,5.83777036 36.1217987,5.50094974 L35.437106,5.45842089 C38.2198161,5.45842089 40.5161774,3.3761142 40.852998,0.684692719 L40.8955269,0 Z`,fill:e.ref(5),"fill-rule":`nonzero`}),W(`path`,{d:`M44.4235306,12.0484656 C44.4235306,13.4398207 45.464684,14.5880013 46.8103947,14.7564116 L47.1527411,14.7776761 C45.761386,14.7776761 44.6132054,15.8188294 44.4447951,17.1645402 L44.4235306,17.5068865 C44.4235306,16.1155315 43.3823773,14.9673508 42.0366665,14.7989405 L41.6943202,14.7776761 C43.0856752,14.7776761 44.2338559,13.7365227 44.4022662,12.390812 L44.4235306,12.0484656 Z`,fill:`#8860FC`,"fill-rule":`nonzero`}),W(`rect`,{fill:`#16204D`,x:`17.7398679`,y:`29.3178306`,width:`5.45842089`,height:`8.18763134`,rx:`2`}),W(`rect`,{fill:`#16204D`,x:`28.6567097`,y:`29.3178306`,width:`5.45842089`,height:`8.18763134`,rx:`2`}),W(`path`,{d:`M33.2681489,12.9425679 C32.5347773,9.30362068 31.08981,7.48414704 28.9332468,7.48414704 C25.698402,7.48414704 25.7333802,11.8081925 28.9332468,11.4257275 C30.6212196,11.223972 31.7656965,11.7295855 32.3666775,12.9425679 L33.2681489,12.9425679 Z`,fill:e.ref(6),transform:`translate(29.8942, 10.2134) scale(-1, 1) translate(-29.8942, -10.2134)`}),W(`path`,{d:`M26.5202122,12.9425679 C25.7868406,9.30362068 24.3418733,7.48414704 22.1853101,7.48414704 C18.9504653,7.48414704 18.9854435,11.8081925 22.1853101,11.4257275 C23.8732829,11.223972 25.0177598,11.7295855 25.6187408,12.9425679 L26.5202122,12.9425679 Z`,fill:e.ref(6)})]),W(`path`,{d:`M309,81.279814 C309,66.0493667 239.827994,53.7026496 154.5,53.7026496 C69.1720062,53.7026496 0,66.0493667 0,81.279814 C0,96.5102614 309,96.5102614 309,81.279814 Z`,fill:e.ref(7),opacity:`0.22710455`})])])])}}),swe=W(`svg`,{...If,class:{[If.class]:!0,"ai-document-icon":!0}},[W(`g`,{fill:`none`},[W(`path`,{fill:`#3D4265`,d:`M708.9230754909091 157.53846132363637L984.6153867636364 157.53846132363637C1006.3669061818182 157.53846132363637 1024 175.17155421090908 1024 196.9230764218182L1024 945.2307688727273C1024 988.7338123636364 988.7338123636364 1024 945.2307688727273 1024L708.9230754909091 1024 708.9230754909091 157.53846132363637Z`}),W(`path`,{fill:`#3A84FF`,d:`M0 984.6153867636364C0 995.0608337454545 4.149438594327273 1005.0784674909091 11.535486650181818 1012.4645143272728 18.921534743272726 1019.8505611636365 28.939165649454548 1024 39.38461500509091 1024L945.2307688727273 1024C901.7277253818182 1024 866.4615377454545 988.7338123636364 866.4615377454545 945.2307688727273L866.4615377454545 39.384615051636366C866.4615377454545 17.633092747636365 848.8284439272727 0 827.0769245090909 0L39.38461500509091 0C17.633092747636365 0 0 17.633092747636365 0 39.384615051636366L0 984.6153867636364Z`}),W(`path`,{fill:`#FFF`,d:`M196.92307688727274 288.82051304727275C175.17155467636363 288.82051304727275 157.53846132363637 306.45360593454546 157.53846132363637 328.2051281454546 157.53846132363637 349.9566508218182 175.17155467636363 367.5897437090909 196.92307688727274 367.5897437090909L354.4615391418182 367.5897437090909C376.2130618181818 367.5897437090909 393.8461547054545 349.9566508218182 393.8461547054545 328.2051281454546 393.8461547054545 306.45360593454546 376.2130618181818 288.82051304727275 354.4615391418182 288.82051304727275L196.92307688727274 288.82051304727275ZM196.92307688727274 525.1282059636363C175.17155467636363 525.1282059636363 157.53846132363637 542.7612997818183 157.53846132363637 564.5128192000001 157.53846132363637 586.2643432727273 175.17155467636363 603.8974370909091 196.92307688727274 603.8974370909091L669.5384622545455 603.8974370909091C691.2899816727273 603.8974370909091 708.9230754909091 586.2643432727273 708.9230754909091 564.5128192000001 708.9230754909091 542.7612997818183 691.2899816727273 525.1282059636363 669.5384622545455 525.1282059636363L196.92307688727274 525.1282059636363ZM196.92307688727274 761.4358993454546C175.17155467636363 761.4358993454546 157.53846132363637 779.0689885090909 157.53846132363637 800.8205125818182 157.53846132363637 822.5720366545454 175.17155467636363 840.2051304727273 196.92307688727274 840.2051304727273L433.23076933818186 840.2051304727273C454.9822915490909 840.2051304727273 472.61538676363637 822.5720366545454 472.61538676363637 800.8205125818182 472.61538676363637 779.0689885090909 454.9822915490909 761.4358993454546 433.23076933818186 761.4358993454546L196.92307688727274 761.4358993454546Z`})])]),cwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-preview-icon":!0}},[W(`path`,{fillRule:`evenodd`,d:`M512 192C759.4 192 960 335.3 960 512 960 688.7 759.4 832 512 832 264.6 832 64 688.7 64 512 64 335.3 264.6 192 512 192ZM512 256C457.8 256 405.4 263.5 356.1 278.4 309.5 292.5 267.8 312.5 232.4 337.8 165.1 385.9 128 447.8 128 512 128 576.2 165.1 638.1 232.4 686.2 267.8 711.5 309.5 731.5 356.1 745.6 405.4 760.5 457.8 768 512 768 566.2 768 618.6 760.5 667.9 745.6 714.5 731.5 756.2 711.5 791.6 686.2 858.9 638.1 896 576.2 896 512 896 447.8 858.9 385.9 791.6 337.8 756.2 312.5 714.5 292.5 667.9 278.4 618.6 263.5 566.2 256 512 256ZM512 352C600.4 352 672 423.6 672 512 672 600.4 600.4 672 512 672 423.6 672 352 600.4 352 512 352 423.6 423.6 352 512 352ZM512 416C459.1 416 416 459.1 416 512 416 564.9 459.1 608 512 608 564.9 608 608 564.9 608 512 608 459.1 564.9 416 512 416Z`})]),lwe=W(`svg`,{...If,viewBox:`0 0 64 64`,class:{[If.class]:!0,"ai-target-icon":!0}},[W(`g`,null,[W(`path`,{d:`M54 8H31v4h18.2L22.6 38.6l2.8 2.8L52 14.8V33h4V10c0-1.1-.9-2-2-2z`}),W(`path`,{d:`M52 44v8H12V12h7.9V8H10c-1.1 0-2 .9-2 2v44c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V44h-4z`})])]);W(`svg`,{...If,viewBox:`0 0 64 64`,class:{[If.class]:!0,"ai-remove-icon":!0}},[W(`path`,{fill:`#737987`,d:`M32,4C16.5,4,4,16.5,4,32s12.5,28,28,28s28-12.5,28-28S47.5,4,32,4z M43.3,40.5l-2.8,2.8L32,34.8l-8.5,8.5l-2.8-2.8l8.5-8.5l-8.5-8.5l2.8-2.8l8.5,8.5l8.5-8.5l2.8,2.8L34.8,32L43.3,40.5z`})]);var uwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-arrow-right-icon":!0}},[W(`path`,{d:`M822.3999999999999 493.43999999999994l-439.03999999999996-356.48c-10.239999999999998-8.32-26.24-10.879999999999999-40.31999999999999-7.04s-23.04 14.08-23.04 25.599999999999998v712.96c0 11.52 8.959999999999999 21.119999999999997 23.04 25.599999999999998 4.4799999999999995 1.2799999999999998 8.959999999999999 1.92 13.44 1.92 10.239999999999998 0 19.84-3.1999999999999997 26.88-8.959999999999999l439.03999999999996-356.48c12.799999999999999-10.239999999999998 12.799999999999999-26.88 0-37.12z`})]);W(`svg`,{...If,class:{[If.class]:!0,"ai-link-icon":!0}},[W(`path`,{d:`M263.04 760.96a148.48 148.48 0 0 1-1.92-224l92.48-92.48L308.48 398.72 216 491.2a212.8 212.8 0 0 0 1.92 314.88 212.8 212.8 0 0 0 314.88 1.92l92.48-92.48L579.84 672l-92.48 92.48A148.48 148.48 0 0 1 263.04 760.96Z`}),W(`path`,{d:`M491.2 216L398.72 308.48l45.44 45.12 92.48-92.48a148.48 148.48 0 0 1 224 1.92 148.48 148.48 0 0 1 1.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 0 0-1.92-314.88A212.8 212.8 0 0 0 491.2 216Z`}),W(`path`,{d:`M398.78566017615634 579.8877413259167L579.8049961599127 398.86840534216054 625.0598301558516 444.1232393380996 444.0404941720955 625.1425753218557 398.78566017615634 579.8877413259167z`})]);var dwe=W(`svg`,{...If,viewBox:`0 0 24 18`,class:{[If.class]:!0,"ai-image-error-icon":!0}},[W(`path`,{d:`M8.018 0l-.774 2.941.856 2.206-.757 1.47 1.26-1.272-.232-2.224 1.102-3.088h7.228c1.322.01 2.388 1.085 2.39 2.408v5.196a5.42 5.42 0 0 0-1.186.144V2.46c-.035-.645-.542-1.164-1.186-1.213H10.346L9.388 3.04l-.18 2.573-2.636 2.261.859-2.629-1.186-2.006.18-1.978H2.57c-.334-.01-.658.115-.9.346a1.24 1.24 0 0 0-.385.885L1.252 13.07l3.921-4.834c.477-.481 1.068-.481 1.436 0l3.44 4.47 3.344-3.375c.194-.242.495-.372.804-.349.309.024.586.198.742.467l.171.221a5.45 5.45 0 0 0-.928 2.874c0 1.896 1.074 3.54 2.648 4.359l-.122.005H2.39C1.065 16.877.017 15.776.048 14.45L0 2.393C.044 1.071 1.131.024 2.452.033h5.566zM19.09 8.25a4.295 4.295 0 1 1 0 8.591 4.295 4.295 0 0 1 0-8.591zm0 5.83a.46.46 0 1 0 0 .92.46.46 0 0 0 0-.92zm0-3.936a.434.434 0 0 0-.433.408l.126 2.915a.307.307 0 0 0 .614 0l.122-2.822a.434.434 0 0 0-.43-.5zm-5.405-5.737a2.03 2.03 0 0 1 .95 1.653 2.03 2.03 0 0 1-.95 1.653 1.93 1.93 0 0 1-1.918 0 2.03 2.03 0 0 1-.95-1.653c.004-.678.364-1.304.95-1.653a1.93 1.93 0 0 1 1.918 0z`,fill:`currentColor`,"fill-rule":`nonzero`})]),fwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-success-icon":!0}},[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M16 2C23.7313 2 30 8.26875 30 16C30 23.7313 23.7313 30 16 30C8.26875 30 2 23.7313 2 16C2 8.26875 8.26875 2 16 2ZM22.0028 11L14.0038 19L10 15L8.5 16.5026L14.0038 22L23.5 12.5L22.0028 11Z`,fill:`#65C389`})]),pwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-failed-icon":!0}},[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M16 2C23.7313 2 30 8.26875 30 16C30 23.7313 23.7313 30 16 30C8.26875 30 2 23.7313 2 16C2 8.26875 8.26875 2 16 2ZM20.2426 10.3431L15.9996 14.5862L11.757 10.3435L10.3431 11.7574L14.5858 16L10.3431 20.2426L11.758 21.6575L16.0006 17.4149L20.2426 21.6569L21.6565 20.243L17.4145 16.001L21.6575 11.758L20.2426 10.3431Z`,fill:`#FF5656`})]),mwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-suspended-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM14 10H11V22H14V10ZM21 10H18V22H21V10Z`,fill:`#F59500`})]),hwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-pending-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM9.69434 7.7002C9.14293 7.7002 8.7002 8.15033 8.7002 8.7002V8.74023C8.70032 9.28999 9.14301 9.74023 9.69434 9.74023H11.1191V12.1201C11.1192 13.6989 11.8616 15.1043 13.0137 16C11.8616 16.8957 11.1192 18.3011 11.1191 19.8799V22.2598H9.71387C9.69649 22.2598 9.67908 22.2608 9.66211 22.2627C9.14435 22.2999 8.73938 22.734 8.73926 23.2598V23.2998C8.73926 23.8316 9.15347 24.2693 9.67969 24.2979C9.69103 24.2987 9.70239 24.2998 9.71387 24.2998H22.3057C22.8571 24.2998 23.2998 23.8497 23.2998 23.2998V23.2598C23.2997 22.71 22.857 22.2598 22.3057 22.2598H20.8408V19.8799C20.8408 18.3007 20.0978 16.8956 18.9453 16C20.0978 15.1044 20.8408 13.6993 20.8408 12.1201V9.74023H22.2666C22.8178 9.74006 23.2606 9.28989 23.2607 8.74023V8.7002C23.2607 8.15043 22.8179 7.70037 22.2666 7.7002H9.69434ZM22.4463 23.9854L22.3057 24C22.3951 24 22.48 23.9813 22.5586 23.9502C22.5223 23.9645 22.4852 23.9773 22.4463 23.9854ZM9.05273 23.4316C9.06084 23.4745 9.07245 23.516 9.08789 23.5557C9.07298 23.5174 9.06081 23.4777 9.05273 23.4365V23.4316ZM9.44531 22.623C9.48274 22.6058 9.52184 22.5915 9.5625 22.5811L9.56445 22.5801C9.5231 22.5906 9.48336 22.6054 9.44531 22.623ZM15.9805 17.0195C16.7368 17.0196 17.447 17.3158 17.9814 17.8564L17.9824 17.8574C18.5188 18.3966 18.8134 19.1145 18.8135 19.8799V22.2598H13.1475V19.8799C13.1475 19.1145 13.4412 18.3966 13.9775 17.8574L13.9785 17.8564C14.5131 17.3156 15.2239 17.0195 15.9805 17.0195ZM18.8135 9.74023V12.1201C18.8134 12.8855 18.5188 13.6034 17.9824 14.1426L17.9814 14.1436C17.447 14.6842 16.7368 14.9804 15.9805 14.9805C15.2239 14.9805 14.5131 14.6844 13.9785 14.1436L13.9775 14.1426L13.7881 13.9316C13.3725 13.4226 13.1475 12.7897 13.1475 12.1201V9.74023H18.8135ZM12.875 12.5459C12.87 12.5086 12.866 12.4712 12.8623 12.4336L12.8506 12.2773C12.8549 12.3676 12.8632 12.4572 12.875 12.5459Z`,fill:`#B8BBC4`})]),gwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-skipped-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM17.0156 8.8125C16.6831 8.81258 16.4131 9.08514 16.4131 9.4209V11.8574L16.3984 11.8594C14.1864 12.2432 12.5291 13.4566 12.3467 13.5947C11.5353 14.1512 10.813 14.8455 10.1973 15.6533C9.70507 16.3019 9.28342 17.0276 8.93945 17.8086C8.4036 19.027 8.23229 19.9214 8.19238 20.167V20.1709C8.18865 20.1842 8.18638 20.1997 8.18262 20.2168L8.18066 20.2246C8.16356 20.309 8.13736 20.4356 8.12598 20.6387C8.11649 20.8244 8.18634 20.9396 8.24707 21.0049C8.33639 21.1008 8.46603 21.1533 8.61426 21.1533C8.8347 21.1533 9.00412 20.9708 9.15234 20.8115L9.1543 20.8096C9.17706 20.7847 9.19793 20.7613 9.2207 20.7383C9.86489 20.0898 10.6804 19.5176 11.5811 19.084C12.3449 18.7176 13.2058 18.4188 14.1387 18.1963C15.0584 17.9775 15.8738 17.8771 16.3945 17.8311L16.415 17.8291V20.5596C16.415 20.8953 16.6851 21.1679 17.0176 21.168L16.999 21.1836L17.0371 21.1875L17.0176 21.168C17.1639 21.168 17.3068 21.1145 17.417 21.0166L23.6729 15.4385C23.6918 15.4213 23.7086 15.4039 23.7256 15.3848C23.9441 15.1315 23.9197 14.748 23.6709 14.5254L17.415 8.96387C17.3048 8.86601 17.1619 8.8125 17.0156 8.8125Z`,fill:`#5B7290`})]),_we=W(`svg`,{...If,class:{[If.class]:!0,"ai-execution-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,d:`M512 64A448 448 0 1 1 64 512 448 448 0 0 1 512 64Zm0 64A384 384 0 0 0 128 512 384 384 0 0 0 784 784 384 384 0 0 0 784 240 384 384 0 0 0 512 128ZM448 576V256h64V512H768v64Z`})]),Lf=W(`svg`,{...If,class:{[If.class]:!0,"ai-node-output-icon":!0}},[W(`path`,{d:`M800 128c17.664 0 32 12.288 32 27.424v545.408L594.016 896H224c-17.664 0-32-12.288-32-27.424V155.424C192 140.288 206.336 128 224 128z m-26.176 59.072H250.176v649.856h276.384v-134.88c0-31.52 28.704-57.12 64-57.12h183.264V187.072zM735.52 704h-144.96a13.024 13.024 0 0 0-5.824 1.216v122.432L735.52 704zM704 480v64H320v-64h384z m-128-96v64h-256v-64h256z m96-128v64H320V256h352z`})]),vwe=W(`svg`,{...If,viewBox:`0 0 16 16`,class:{[If.class]:!0,"ai-toolcall-icon":!0}},[W(`path`,{d:`M10.1019 8.26041C10.5201 8.4339 10.9764 8.53219 11.4568 8.53219C13.4324 8.53219 15.033 6.90153 15.033 4.88878C15.033 4.67918 15.0119 4.47459 14.9788 4.27502L12.4416 7.04092L10.0457 6.59766L9.2254 4.26299L11.9582 1.28448C11.7922 1.25938 11.6247 1.24598 11.4568 1.24436C9.48113 1.24436 7.87956 2.87603 7.87956 4.88777C7.87956 5.40525 7.98686 5.89666 8.17741 6.34193C7.07325 8.32259 5.41853 9.97731 4.76767 10.5891C4.5615 10.5249 4.34678 10.4924 4.13085 10.4928C2.91136 10.4928 1.92254 11.4997 1.92254 12.7422C1.92254 13.9838 2.91136 14.9906 4.13085 14.9906C5.35033 14.9906 6.33916 13.9838 6.33916 12.7422C6.33916 12.4414 6.27999 12.1565 6.17569 11.8948C7.26118 10.4625 8.59017 9.23226 10.1019 8.26041ZM4.13185 13.9396C3.81764 13.9367 3.51744 13.8092 3.29723 13.585C3.07702 13.3609 2.95482 13.0584 2.9575 12.7442C2.9575 12.0833 3.483 11.5478 4.13185 11.5478C4.7797 11.5478 5.30621 12.0833 5.30621 12.7442C5.30861 13.0584 5.18633 13.3606 4.96618 13.5847C4.74603 13.8088 4.44598 13.9365 4.13185 13.9396ZM4.34245 5.43634L6.43543 7.62259L7.4383 6.59966L5.34632 4.41442L5.84775 3.90296L3.03873 1.04279L1.033 3.08663L3.84102 5.9478L4.34245 5.43634ZM10.8541 8.73878C10.8541 8.73878 9.13214 9.21614 7.94976 11.3101C7.90262 11.1898 11.1178 14.6095 11.1178 14.6095C11.2483 14.7436 11.4043 14.8502 11.5766 14.9229C11.7489 14.9957 11.9341 15.0332 12.1212 15.0332C12.3082 15.0332 12.4934 14.9957 12.6657 14.9229C12.8381 14.8502 12.9941 14.7436 13.1245 14.6095L13.9268 13.7932C14.1933 13.5198 14.3424 13.1531 14.3424 12.7713C14.3424 12.3895 14.1933 12.0228 13.9268 11.7494L10.8541 8.73878ZM12.239 14.0469C12.2064 14.0807 12.1673 14.1076 12.124 14.126C12.0808 14.1443 12.0343 14.1538 11.9873 14.1538C11.9403 14.1538 11.8938 14.1443 11.8506 14.126C11.8073 14.1076 11.7682 14.0807 11.7356 14.0469L9.15621 11.4194C9.01681 11.278 9.01681 11.0484 9.15621 10.906C9.2956 10.7636 9.52125 10.7636 9.66065 10.906L12.239 13.5325C12.3794 13.6749 12.3794 13.9055 12.239 14.0469ZM13.3743 12.8906C13.3416 12.9244 13.3025 12.9513 13.2593 12.9696C13.216 12.988 13.1695 12.9975 13.1225 12.9975C13.0756 12.9975 13.0291 12.988 12.9858 12.9696C12.9426 12.9513 12.9035 12.9244 12.8708 12.8906L10.2915 10.2641C10.1521 10.1217 10.1521 9.89307 10.2915 9.75067C10.4308 9.60826 10.6555 9.60826 10.7959 9.75067L13.3743 12.3772C13.4414 12.4458 13.479 12.5379 13.479 12.6339C13.479 12.7299 13.4414 12.822 13.3743 12.8906Z`})]),ywe=W(`svg`,{...If,viewBox:`0 0 10 10`,class:{[If.class]:!0,"ai-chevron-right-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M7.5 5L3.39844 9.0625L2.5 8.17344L5.70312 5L2.5 1.82656L3.39844 0.9375L7.5 5Z`})]),bwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-node-tab-icon":!0}},[W(`path`,{d:`M374.656 640c57.184 0 105.184 41.088 118.72 96.384 1.312-0.16 2.624-0.384 3.968-0.384h368c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-368c-1.376 0-2.656-0.256-3.936-0.384-13.568 55.296-61.568 96.384-118.72 96.384-57.184 0-105.216-41.088-118.72-96.384-1.344 0.16-2.624 0.384-3.968 0.384H190.656C173.76 800 160 785.664 160 768s13.76-32 30.656-32h61.344c1.344 0 2.624 0.256 3.936 0.384C269.472 681.088 317.504 640 374.656 640z m0 64c-33.824 0-61.312 28.704-61.312 64s27.52 64 61.312 64c33.824 0 61.344-28.704 61.344-64s-27.52-64-61.344-64z m306.688-320c57.152 0 105.184 41.088 118.72 96.384 1.28-0.16 2.56-0.384 3.936-0.384h61.344c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-61.344c-1.344 0-2.624-0.256-3.936-0.384-13.536 55.296-61.568 96.384-118.72 96.384-57.184 0-105.184-41.088-118.72-96.384-1.312 0.16-2.624 0.384-3.968 0.384h-368C173.76 544 160 529.664 160 512s13.76-32 30.656-32h368c1.376 0 2.656 0.256 3.936 0.384 13.568-55.296 61.568-96.384 118.72-96.384z m0 64c-33.824 0-61.344 28.704-61.344 64s27.52 64 61.344 64 61.312-28.704 61.312-64-27.52-64-61.312-64z m-306.688-288c57.184 0 105.184 41.088 118.72 96.384 1.312-0.16 2.624-0.384 3.968-0.384h368c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-368c-1.376 0-2.656-0.256-3.936-0.384-13.568 55.296-61.568 96.384-118.72 96.384-57.184 0-105.216-41.088-118.72-96.384-1.344 0.16-2.624 0.384-3.968 0.384H190.656C173.76 320 160 305.664 160 288s13.76-32 30.656-32h61.344c1.344 0 2.624 0.256 3.936 0.384C269.472 201.088 317.504 160 374.656 160z m0 64c-33.824 0-61.312 28.704-61.312 64s27.52 64 61.312 64c33.824 0 61.344-28.704 61.344-64s-27.52-64-61.344-64z`})]),xwe=W(`svg`,{...If,viewBox:`0 0 16 16`,class:{[If.class]:!0,"ai-file-artifact-tab-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M3.5 14C3.22386 14 3 13.8082 3 13.5715L3 5.04938L6.71864 2L12.5 2C12.7761 2 13 2.192 13 2.42854L13 13.5715C13 13.8082 12.7761 14 12.5 14L3.5 14ZM3.90909 13.0769L12.0909 13.0769L12.0909 2.92308L7.77273 2.92308L7.77273 5.03069C7.77273 5.52292 7.32409 5.92308 6.77273 5.92308L3.90909 5.92308L3.90909 13.0769ZM4.50727 5L6.77273 5C6.81523 5 6.84568 4.98985 6.86364 4.98085L6.86363 3.06777L4.50727 5ZM5 8.5L5 7.5L11 7.5L11 8.5L5 8.5ZM7 10L7 9L11 9L11 10L7 10ZM5.5 12L5.5 11L11 11L11 12L5.5 12Z`})]),Swe=W(`svg`,{...If,class:{[If.class]:!0,"ai-file-download-icon":!0}},[W(`path`,{d:`M192 640v192h640v-192h64v224c0 17.6-14.4 32-32 32h-704a32.064 32.064 0 0 1-32-32V640h64z m352-512v452.8l104-102.4 44.8 44.8L556.8 659.2 512 704l-44.8-44.8-136-136 44.8-44.8 104 102.4V128h64z`})]),Cwe=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
238
|
+
`).forEach(e=>{let r=e.replace(`data:`,``).trim();if(n(r)){let e=JSON.parse(r);i.onMessage?.(e),t=``}else r&&(t=r)})}}catch(e){if(e instanceof Error){if(e.name===`AbortError`){i.onDone?.();return}r(e)}throw e}finally{l.signal.removeEventListener(`abort`,d)}}};function Xxe(e,t){if(!t)return e;let n=new URLSearchParams;Object.keys(t).forEach(e=>{let r=t[e];r!=null&&(Array.isArray(r)?r.forEach(t=>n.append(e,String(t))):n.append(e,String(r)))});let r=n.toString();return r?`${e}${e.includes(`?`)?`&`:`?`}${r}`:e}function Qd(e,t){let n=`ERR_BAD_RESPONSE`;if(!e||typeof e!=`object`)return{code:n,message:t};let r=e;return r.error?.message?{code:r.error.code??n,data:r.error.data,message:$d(r.error.message,t)}:r.message?{code:r.code??n,data:r.data,message:$d(r.message,t)}:r.detail?{code:r.code??n,data:r.data,message:$d(r.detail,t)}:{code:r.code??n,data:r.data,message:t}}function $d(e,t){if(typeof e==`string`)return e||t;try{return JSON.stringify(e)||t}catch{return t}}function ef(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function tf(e){return Zd(e)}function Zxe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function nf(e,t){let n={...e};for(let r in t){let i=t[r];if(Zxe(i)){let t=e[r];n[r]=nf(t||{},i)}else n[r]=i}return n}new Yxe;var Qxe=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),$xe=new Set([`GET`,`HEAD`,`OPTIONS`]);function eSe(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function tSe(e,t){let{headers:n,data:r}=t.requestData;!n&&!r||e.interceptors.request.use(e=>{let t=e,i=(e.method??`GET`).toUpperCase();if(n){let r=Zd(n);if(r&&Object.keys(r).length>0){let n=Zd(e.headers)??{};t={...t,headers:{...n,...r}}}}if(r){let n=Zd(r);if(n&&Object.keys(n).length>0){if(Qxe.has(i)){let r=Zd(e.data);r==null?t={...t,data:n}:eSe(r)?t={...t,data:{...n,...r}}:console.warn(`[chat-helper] requestData.data 无法注入:当前请求体不是普通对象(FormData/Blob/string 等),已跳过合并。`,{method:i,existingType:typeof r})}else if($xe.has(i)){let r=e.params??{};t={...t,params:{...n,...r}}}}}return t})}var nSe=e=>{let t=new Yxe({baseURL:e.requestData.urlPrefix});return tSe(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response),{fetchClient:t,reset:e=>{t.defaults.baseURL=e.requestData.urlPrefix,t.interceptors.request.clear(),t.interceptors.response.clear(),tSe(t,e),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},rSe=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(Mxe),getLlms:(t,n)=>{let r={llm_type:t?.llm_type??`chat.completion`};return t?.fuzzy&&(r.fuzzy=t.fuzzy),t?.supports&&(r.supports=t.supports),e.get(`llms/`,r,n).then(Pxe)}}),iSe=e=>({getMessages:(t,n,r,i)=>e.get(`session_content/content/`,{session_code:t,limit:n,fuzzy:i},r).then(e=>e.map(qd)),plusMessage:(t,n)=>e.post(`session_content/`,Fxe(t),n).then(qd),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,Fxe(t),n).then(qd),deleteMessage:(t,n)=>e.delete(`session_content/${t}/`,void 0,n),batchDeleteMessages:(t,n)=>e.post(`session_content/batch_delete/`,{ids:t},n),shareMessages:(t,n,r,i)=>e.post(`share/`,{session_code:t,content_ids:n,...r?{expired_at:r}:{}},i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n),getFlowAgentTaskInfo:(t,n)=>e.get(`flow_agent/${t}/task_info/`,void 0,n),getFlowAgentTaskNodeInfo:(t,n,r)=>e.get(`flow_agent/${t}/task_node_info/${n}/`,void 0,r),retryFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/retry/`,{task_id:r},i),skipFlowAgentTaskNode:(t,n,r,i)=>e.post(`flow_agent/${t}/node/${n}/skip/`,{task_id:r},i),userOperation:(t,n,r,i)=>e.post(`user_operation/`,{session_code:t,operation:n,payload:r},i)}),aSe=`upload_file`,oSe=20,sSe=600,cSe=2e4,lSe=e=>{if(Array.isArray(e))return{page:1,numPages:1,count:e.length,results:e.map(Jd)};let t=Array.isArray(e?.results)?e.results:[];return{page:e?.page??1,numPages:e?.num_pages??1,count:e?.count??t.length,results:t.map(Jd)}},uSe=e=>{let t=e.split(`.`).pop();if(!t||t===e)return``;let n=t.replace(/[^A-Za-z0-9]/g,``).slice(0,20).toLowerCase();return n?`.${n}`:``},dSe=e=>`${aSe}_${`${Date.now()}_${Math.random().toString(36).slice(2,8)}`}${uSe(e.name)}`,fSe=e=>`attachment; filename="${e}"`,pSe=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:(t,n)=>e.get(`session/`,{page:t?.page??1,page_size:t?.page_size??oSe},n).then(lSe),plusSession:(t,n)=>e.post(`session/`,Ixe(t),n).then(e=>Jd(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,Ixe(t),n).then(e=>Jd(e)),deleteSession:(t,n)=>e.delete(`session/${t}/`,void 0,n),batchDeleteSessions:(t,n)=>e.post(`session/batch_delete/`,{session_codes:t},n),getSession:(t,n)=>e.get(`session/${t}/`,void 0,n).then(e=>Jd(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,Lxe(t),n).then(e=>Rxe(e)),getSessionFeedbackReasons:(t,n)=>e.get(`session_feedback/reasons/`,{rate:t},n),renameSession:(t,n)=>e.post(`session/${t}/ai_rename/`,void 0,n).then(e=>Jd(e)),uploadFile:(t,n,r)=>{let i=dSe(n),a=encodeURIComponent(i),o=Zd(r?.headers)??{};return n.arrayBuffer().then(n=>e.post(`session/${t}/upload/${a}/`,n,{...r,headers:{...o,"Content-Disposition":fSe(i)}}))},uploadPvFiles:(t,n,r)=>{let i=new FormData;for(let e of n)i.append(`files`,e);return e.post(`session/${t}/pv_files/upload/`,i,r)},getPvFileDownloadUrl:(t,n,r,i)=>{let a=r?.expiresIn??sSe,o=r?.timeout??cSe;return e.get(`session/${t}/pv_files/download_url/`,{expires_in:a,path:n},{...i,timeout:i?.timeout??o})},deletePvFile:(t,n,r)=>e.delete(`session/${t}/pv_files/`,{path:n},r),isResumeSession:(t,n)=>e.get(`session/${t}/is_resume/`,void 0,n)}),mSe=e=>({agent:rSe(e),session:pSe(e),message:iSe(e),fetchClient:e}),hSe=e=>{let{fetchClient:t,reset:n}=nSe(e);return{...mSe(t),reset:n,onError:t.onError.bind(t)}},gSe=()=>({agent:null,http:null,message:null,session:null,registerAgent(e){this.agent=e},registerHttp(e){this.http=e},registerMessage(e){this.message=e},registerSession(e){this.session=e}}),_Se=`2.2.2rc25`,rf={a:0,b:1,rc:2,final:3},vSe={a:`a`,alpha:`a`,b:`b`,beta:`b`,c:`rc`,pre:`rc`,rc:`rc`},ySe=/^(\d+)\.(\d+)\.(\d+)(?:[-.]?(a|alpha|b|beta|c|pre|rc)[.-]?(\d+))?$/i,bSe=e=>{let t=e.trim().match(ySe);if(!t)return null;let n=t[4]?vSe[t[4].toLowerCase()]:`final`;return{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3]),pre:n,preNum:t[5]?Number(t[5]):0}},xSe=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch===t.patch?rf[e.pre]===rf[t.pre]?e.preNum-t.preNum:rf[e.pre]-rf[t.pre]:e.patch-t.patch:e.minor-t.minor:e.major-t.major,SSe=e=>{let t=e?bSe(e):null,n=bSe(_Se);return!t||!n?!0:xSe(t,n)>=0},CSe=20,wSe=e=>{let t=sn([]),n=sn(null),r=sn(0),i=sn(0),a=sn(0),o=sn(!1),s=sn(!1),l=sn(!1),u=sn(!1),d=sn(!1),f=sn(!1),p=sn(!1),m=sn(!1),h=U(()=>r.value>0&&r.value<i.value),g=e=>{t.value=t.value.map(t=>t.sessionCode===e.sessionCode?{...t,...e}:t),n.value?.sessionCode===e.sessionCode&&(n.value=t.value.find(t=>t.sessionCode===e.sessionCode)??{...n.value,...e})},_=n=>{s.value=!0;let o={page:n?.page??1,page_size:n?.page_size??CSe};return e.http?.session.getSessions(o).then(e=>{t.value=e.results,r.value=e.page,i.value=e.numPages,a.value=e.count}).finally(()=>{s.value=!1})},v=async(n=CSe)=>{if(!(!h.value||s.value||l.value)){l.value=!0;try{let o=await e.http?.session.getSessions({page:r.value+1,page_size:n});if(!o)return;let s=new Set(t.value.map(e=>e.sessionCode)),l=o.results.filter(e=>!s.has(e.sessionCode));t.value=[...t.value,...l],r.value=o.page,i.value=o.numPages,a.value=o.count}finally{l.value=!1}}},y=async(r,i)=>{e.agent?.abortChat();let a=i?.loadMessages!==!1,o=t.value.find(e=>e.sessionCode===r);!a&&o?n.value=o:await b(r),a?(await e.message?.getMessages(r),e.agent?.resumeStreamingChat(r),e.agent?.pollResumeSession(r)):e.message&&(e.message.list.value=[])},b=t=>(o.value=!0,e.http?.session.getSession(t).then(e=>{n.value=e}).finally(()=>{o.value=!1})),x=async(n,r)=>{u.value=!0;try{let i=await e.http?.session.plusSession(n);i&&(t.value.unshift(i),a.value+=1,await y(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{u.value=!1}},S=t=>(d.value=!0,e.http?.session.modifySession(t).then(e=>{g(e)}).finally(()=>{d.value=!1})),C=async r=>{f.value=!0;try{await e.http?.session.deleteSession(r),t.value=t.value.filter(e=>e.sessionCode!==r),a.value=Math.max(0,a.value-1),n.value?.sessionCode===r&&t.value[0]?.sessionCode&&await y(t.value[0].sessionCode)}finally{f.value=!1}},w=async r=>{if(r.length!==0){p.value=!0;try{await e.http?.session.batchDeleteSessions(r);let i=new Set(r),o=t.value.length;t.value=t.value.filter(e=>!i.has(e.sessionCode));let s=o-t.value.length;a.value=Math.max(0,a.value-s),n.value&&i.has(n.value.sessionCode)&&(t.value.length>0?await y(t.value[0].sessionCode):(n.value=null,e.message&&(e.message.list.value=[])))}finally{p.value=!1}}},T=t=>e.http?.session.postSessionFeedback(t),E=t=>e.http?.session.getSessionFeedbackReasons(t),D=t=>(m.value=!0,e.http?.session.renameSession(t).then(e=>(g({sessionCode:e.sessionCode,sessionName:e.sessionName}),e)).finally(()=>{m.value=!1})),O=e=>{if(!e)throw Error(`Upload failed: empty results`);return e};return{list:t,current:n,page:r,numPages:i,count:a,hasMore:h,isCurrentLoading:o,isListLoading:s,isLoadingMore:l,isCreateLoading:u,isUpdateLoading:d,isDeleteLoading:f,isBatchDeleteLoading:p,getSessions:_,loadMoreSessions:v,chooseSession:y,getSession:b,createSession:x,updateSession:S,deleteSession:C,batchDeleteSessions:w,postSessionFeedback:T,getSessionFeedbackReasons:E,renameSession:D,uploadFile:(t,n)=>{let r=e.agent?.info.value?.agentSdkVersion;return SSe(r)?Promise.resolve(e.http?.session.uploadPvFiles(t,[n])).then(e=>O(e?.results?.[0])):Promise.resolve(e.http?.session.uploadFile(t,n))},uploadFiles:async(t,n)=>{let r=e.agent?.info.value?.agentSdkVersion;return SSe(r)?(await e.http?.session.uploadPvFiles(t,n))?.results??[]:(await Promise.all(n.map(n=>e.http?.session.uploadFile(t,n)))).filter(e=>!!e)},getPvFileDownloadUrl:(t,n,r)=>e.http?.session.getPvFileDownloadUrl(t,n,r),deletePvFile:(t,n)=>e.http?.session.deletePvFile(t,n),reset:()=>{t.value=[],n.value=null,r.value=0,i.value=0,a.value=0,o.value=!1,s.value=!1,l.value=!1,u.value=!1,d.value=!1,f.value=!1,p.value=!1,m.value=!1}}},TSe=e=>{let t=gSe(),n=hSe(e),r=Kxe(t,e.protocol),i=kxe(t),a=wSe(t);return t.registerHttp(n),t.registerMessage(i),t.registerAgent(r),t.registerSession(a),{agent:r,session:a,message:i,http:n,reset:e=>{n.reset(e),r.reset(e.protocol),i.reset(),a.reset()},onError:n.onError}},ESe=new Set([`context_type`,`__label`,`__key`,`__value`]);function DSe(e,t){return{urlPrefix:e,headers:()=>Zd(un(t)?.headers),data:()=>Zd(un(t)?.data)}}function OSe(e){return e?Array.isArray(e)?e.map(e=>{if(e.__key)return e;let t=Object.entries(e).filter(([e])=>!ESe.has(e));if(t.length===0)return e;let[n,r]=t[0];return{...e,[n]:r,context_type:e.context_type??`input`,__label:e.__label??n,__key:e.__key??n,__value:e.__value??r}}):Object.entries(e).map(([e,t])=>({[e]:t,context_type:`input`,__label:e,__key:e,__value:t})):[]}function af(e,t){if(!t)return e;let n=t()?.context;if(!n)return e;let r=OSe(n);return r.length===0?e:kSe(e,r)}function kSe(e,t){if(t.length===0)return e??{};let n=e??{},r=n.extra??{},i=r.context??[],a=new Set(t.map(e=>e.__key).filter(Boolean)),o=i.filter(e=>{let t=e.__key;return!t||!a.has(t)});return{...n,extra:{...r,context:[...o,...t]}}}function ASe(e){return e.some(e=>{if(!(`property`in e))return!0;let{property:t}=e;return!t?.extra?.pause})}function of(e,t){let n=null;for(let r of e)if(r.role===`user`&&r.id!==void 0&&(n=r),r===t)break;return n}function jSe(e,t){let n=of(e,t);if(n?.id!==void 0)return typeof n.id==`number`?n.id:Number(n.id)}var MSe=e=>{if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let{message:t}=e;if(typeof t==`string`&&t)return Error(t);try{return Error(JSON.stringify(e)??String(e))}catch{return Error(String(e))}}return Error(String(e))},NSe=e=>{let t=document.cookie.match(RegExp(`(^| )${e}=([^;]*)(;|$)`));return t?t[2]:``},PSe=e=>e.endsWith(`/`)?e:`${e}/`,sf=e=>{if(!e)return e;try{let t=new URL(e,window.location.origin);return t.protocol=window.location.protocol,PSe(t.toString())}catch(t){return console.warn(`Failed to normalize URL:`,t),PSe(e)}};async function FSe(e){if(typeof navigator<`u`&&`clipboard`in navigator)try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.left=`-9999px`,t.style.top=`-9999px`,t.style.opacity=`0`,document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand(`copy`)}catch{return!1}finally{document.body.removeChild(t)}}function ISe(){let e=window.navigator.userAgent.toLowerCase(),t=window.navigator.platform.toLowerCase();return t.includes(`mac`)||e.includes(`mac`)?`mac`:t.includes(`win`)||e.includes(`win`)?`windows`:t.includes(`linux`)||e.includes(`linux`)?`linux`:`unknown`}function LSe(){return RSe()?`Cmd + I`:`Ctrl + I`}function RSe(){return ISe()===`mac`}function zSe(e){let t=RSe()?e.metaKey:e.ctrlKey,n=e.key.toLowerCase()===`i`;return t&&n&&!e.shiftKey&&!e.altKey}var BSe=NSe(`blueking_language`)||`zh-cn`,VSe={小鲸:`BK GPT`,关闭:`close`,发送:`Send`,请输入:`Please input`,昨天:`yesterday`,"3天前":`3 days ago`,"5天前":`5 days ago`,"1周前":`1 week ago`,更早:`Older`,删除:`Delete`,恢复默认大小:`Restore default size`,"AI 小鲸":`AI BK GPT`,新增会话:`New chat`,历史会话:`History session`,停止生成:`Stop generating`,复制:`Copy`,编辑:`Edit`,今天:`Today`,搜索会话名称:`Search session name`,重命名:`Rename`,自动生成命名:`Auto generate name`,分享会话:`Share session`,无智能体使用权限:`No permission to use this agent`,暂无使用权限:`No permission`,请输入新的会话名称:`Please enter new session name`,"确认删除会话 ?":`Confirm delete session?`,搜索为空:`No search results`,暂无对话:`No conversations`,"加载中...":`Loading...`,转人工:`Transfer to human`,缩小高度:`Shrink height`,展开侧栏:`Expand side panel`,收起侧栏:`Collapse side panel`,全选:`Select all`,取消:`Cancel`,确定:`Confirm`,分享链接已复制到剪贴板:`Share link copied to clipboard`,请求失败:`Request failed`,当前已是新会话:`Already in a new session`,"正在创建会话...":`Creating session...`},HSe={重命名:`重命名`,自动生成命名:`自动生成命名`,分享会话:`分享会话`,全选:`全选`,取消:`取消`,确定:`确定`,分享链接已复制到剪贴板:`分享链接已复制到剪贴板`,请求失败:`请求失败`},cf=e=>BSe===`en`?VSe[e]||e:HSe[e]||e,USe={class:`history-item-actions`},WSe=Ni(Qn({__name:`history-item`,props:{isActive:{type:Boolean},isEditing:{type:Boolean},session:{}},emits:[`click`,`delete`,`edit`,`rename-cancel`,`rename-confirm`],setup(e,{emit:t}){let n=e,r=t,i=gxe,a=sn(null),o=sn(``);Ln(()=>n.isEditing,e=>{e&&(o.value=n.session.sessionName,Dn(()=>{if(a.value)try{let e=a.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus edit input:`,e)}}))});let s=()=>{n.isEditing||r(`click`,n.session)},l=()=>{r(`edit`,n.session)},u=()=>{r(`delete`,n.session.sessionCode)},d=()=>{let e=o.value.trim();e&&e!==n.session.sessionName?r(`rename-confirm`,n.session.sessionCode,e):r(`rename-cancel`)},f=()=>{r(`rename-cancel`)},p=(e,t)=>{t.key===`Enter`?d():t.key===`Escape`&&f()};return(e,t)=>(B(),V(`div`,{class:xe([`history-item`,{active:n.isActive}]),onClick:s},[n.isEditing?(B(),Wr(z(mu),{key:1,ref_key:`editInputRef`,ref:a,modelValue:o.value,"onUpdate:modelValue":t[1]||=e=>o.value=e,style:{width:`100%`,height:`28px`},onBlur:d,onKeyup:p,onClick:t[2]||=Ai(()=>{},[`stop`])},null,8,[`modelValue`])):(B(),V(Ir,{key:0},[Jr(z(a_e),{style:{width:`calc(100% - 42px)`}},{default:Mn(()=>[Zr(ke(n.session.sessionName),1)]),_:1}),H(`span`,USe,[Nn(H(`i`,{class:`bkai-icon bkai-bianji`,onClick:Ai(l,[`stop`])},null,512),[[z(i),{content:z(cf)(`编辑`),boundary:`parent`}]]),Jr(z(wbe),{title:z(cf)(`确认删除会话 ?`),content:`删除操作无法撤回,请谨慎操作!`,"confirm-config":{theme:`danger`},trigger:`click`,boundary:`parent`,onConfirm:u},{default:Mn(()=>[Nn(H(`i`,{class:`bkai-icon bkai-shanchu`,onClick:t[0]||=Ai(()=>{},[`stop`])},null,512),[[z(i),{content:z(cf)(`删除`),boundary:`parent`}]])]),_:1},8,[`title`])])],64))],2))}}),[[`__scopeId`,`data-v-fea14d3a`]]),GSe={class:`history-search`},KSe={class:`input-icon`},qSe=Ni(Qn({__name:`history-search`,props:{modelValue:{default:``},placeholder:{default:``}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,i=e=>{r(`update:modelValue`,e)};return(e,t)=>(B(),V(`div`,GSe,[Jr(z(mu),{"model-value":n.modelValue,behavior:`simplicity`,placeholder:n.placeholder||z(cf)(`搜索会话名称`),style:{height:`22px`},"onUpdate:modelValue":i},{suffix:Mn(()=>[H(`span`,KSe,[Jr(z(cl))])]),_:1},8,[`model-value`,`placeholder`])]))}}),[[`__scopeId`,`data-v-e7ff40b2`]]),JSe={class:`history-dropdown-header`},YSe={class:`history-dropdown-header-title`},XSe={class:`history-dropdown-content`},ZSe={key:0,class:`history-dropdown-loading`},QSe={class:`history-dropdown-loading-dots`},$Se=40,eCe=Ni(Qn({__name:`index`,props:{sessionBusinessManager:{}},emits:[`close`,`session-delete`,`session-rename`,`session-switch`],setup(e,{emit:t}){let n=e,r=t,i=sn(``),a=sn(null),o=U(()=>n.sessionBusinessManager.currentSession.value?.sessionCode),s=U(()=>n.sessionBusinessManager.isLoadingMore.value),l=e=>{let t=e.target;t.scrollHeight-t.scrollTop-t.clientHeight>$Se||n.sessionBusinessManager.hasMoreSessions.value&&(n.sessionBusinessManager.isLoadingMore.value||n.sessionBusinessManager.loadMoreSessions())},u=U(()=>{let e={today:{key:`today`,alias:cf(`今天`),sessionList:[]},yesterday:{key:`yesterday`,alias:cf(`昨天`),sessionList:[]},"3days":{key:`3days`,alias:cf(`3天前`),sessionList:[]},"5days":{key:`5days`,alias:cf(`5天前`),sessionList:[]},"1week":{key:`1week`,alias:cf(`1周前`),sessionList:[]},before:{key:`before`,alias:cf(`更早`),sessionList:[]}},t=n.sessionBusinessManager.sessionList.value.filter(e=>e.sessionName.toLowerCase().includes(i.value.toLowerCase())),r=new Date,a=new Date(r);a.setDate(a.getDate()-1);let o=new Date(r);o.setDate(r.getDate()-3);let s=new Date(r);s.setDate(r.getDate()-5);let l=new Date(r);l.setDate(r.getDate()-7);for(let n of t){let t=new Date(n.createdAt||``),i=t.toDateString();i===r.toDateString()?e.today.sessionList.push(n):i===a.toDateString()?e.yesterday.sessionList.push(n):t>=o&&t>s?e[`3days`].sessionList.push(n):t>=s&&t>l?e[`5days`].sessionList.push(n):t>=l?e[`1week`].sessionList.push(n):e.before.sessionList.push(n)}for(let t of Object.values(e))t.sessionList.sort((e,t)=>{let n=new Date(e.createdAt||0).getTime();return new Date(t.createdAt||0).getTime()-n});return Object.values(e).filter(e=>e.sessionList.length>0)}),d=e=>o.value===e,f=e=>{d(e.sessionCode)||(r(`session-switch`,e.sessionCode),r(`close`))},p=e=>{a.value=e.sessionCode},m=e=>{r(`session-delete`,e)},h=(e,t)=>{let i=n.sessionBusinessManager.sessionList.value.find(t=>t.sessionCode===e);i&&(i.sessionName=t),a.value=null,r(`session-rename`,e,t)},g=()=>{a.value=null};return(e,t)=>(B(),V(`div`,{class:`bkai-history-dropdown`,onScroll:l},[H(`div`,JSe,[H(`h1`,YSe,ke(z(cf)(`历史会话`)),1),Jr(qSe,{modelValue:i.value,"onUpdate:modelValue":t[0]||=e=>i.value=e,placeholder:z(cf)(`搜索会话名称`)},null,8,[`modelValue`,`placeholder`])]),H(`div`,XSe,[u.value.length>0?(B(),V(Ir,{key:0},[(B(!0),V(Ir,null,dr(u.value,e=>(B(),Wr(Ire,{key:e.key,"current-session-code":o.value,sessions:e.sessionList,title:e.alias},{default:Mn(()=>[(B(!0),V(Ir,null,dr(e.sessionList,e=>(B(),Wr(WSe,{key:e.sessionCode,"is-active":d(e.sessionCode),"is-editing":a.value===e.sessionCode,session:e,onClick:f,onDelete:m,onEdit:p,onRenameCancel:g,onRenameConfirm:h},null,8,[`is-active`,`is-editing`,`session`]))),128))]),_:2},1032,[`current-session-code`,`sessions`,`title`]))),128)),s.value?(B(),V(`div`,ZSe,[H(`span`,QSe,[(B(),V(Ir,null,dr(3,e=>H(`i`,{key:e,class:`history-dropdown-loading-dot`,style:ge({"--dot-index":e-1})},null,4)),64))])])):Qr(`v-if`,!0)],64)):(B(),Wr(z(ad),{key:1,description:i.value?z(cf)(`搜索为空`):z(cf)(`暂无对话`),scene:`part`,style:{"margin-top":`100px`},type:i.value?`search-empty`:`empty`},null,8,[`description`,`type`]))])],32))}}),[[`__scopeId`,`data-v-bf2401b6`]]),tCe=`tippy-box`,nCe=`tippy-content`,rCe=`tippy-backdrop`,iCe=`tippy-arrow`,aCe=`tippy-svg-arrow`,lf={passive:!0,capture:!0},oCe=function(){return document.body};function uf(e,t,n){return Array.isArray(e)?e[t]??(Array.isArray(n)?n[t]:n):e}function df(e,t){var n={}.toString.call(e);return n.indexOf(`[object`)===0&&n.indexOf(t+`]`)>-1}function sCe(e,t){return typeof e==`function`?e.apply(void 0,t):e}function cCe(e,t){if(t===0)return e;var n;return function(r){clearTimeout(n),n=setTimeout(function(){e(r)},t)}}function lCe(e){return e.split(/\s+/).filter(Boolean)}function ff(e){return[].concat(e)}function uCe(e,t){e.indexOf(t)===-1&&e.push(t)}function dCe(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function fCe(e){return e.split(`-`)[0]}function pf(e){return[].slice.call(e)}function pCe(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function mf(){return document.createElement(`div`)}function hf(e){return[`Element`,`Fragment`].some(function(t){return df(e,t)})}function mCe(e){return df(e,`NodeList`)}function hCe(e){return df(e,`MouseEvent`)}function gCe(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function _Ce(e){return hf(e)?[e]:mCe(e)?pf(e):Array.isArray(e)?e:pf(document.querySelectorAll(e))}function gf(e,t){e.forEach(function(e){e&&(e.style.transitionDuration=t+`ms`)})}function vCe(e,t){e.forEach(function(e){e&&e.setAttribute(`data-state`,t)})}function yCe(e){var t,n=ff(e)[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}function bCe(e,t){var n=t.clientX,r=t.clientY;return e.every(function(e){var t=e.popperRect,i=e.popperState,a=e.props.interactiveBorder,o=fCe(i.placement),s=i.modifiersData.offset;if(!s)return!0;var l=o===`bottom`?s.top.y:0,u=o===`top`?s.bottom.y:0,d=o===`right`?s.left.x:0,f=o===`left`?s.right.x:0,p=t.top-r+l>a,m=r-t.bottom-u>a,h=t.left-n+d>a,g=n-t.right-f>a;return p||m||h||g})}function _f(e,t,n){var r=t+`EventListener`;[`transitionend`,`webkitTransitionEnd`].forEach(function(t){e[r](t,n)})}function xCe(e,t){for(var n=t;n;){if(e.contains(n))return!0;n=n.getRootNode==null?void 0:n.getRootNode()?.host}return!1}var vf={isTouch:!1},SCe=0;function CCe(){vf.isTouch||(vf.isTouch=!0,window.performance&&document.addEventListener(`mousemove`,wCe))}function wCe(){var e=performance.now();e-SCe<20&&(vf.isTouch=!1,document.removeEventListener(`mousemove`,wCe)),SCe=e}function TCe(){var e=document.activeElement;if(gCe(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function ECe(){document.addEventListener(`touchstart`,CCe,lf),window.addEventListener(`blur`,TCe)}var DCe=typeof window<`u`&&typeof document<`u`?!!window.msCrypto:!1,yf=Object.assign({appendTo:oCe,aria:{content:`auto`,expanded:`auto`},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:``,offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:`top`,plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:`mouseenter focus`,triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:`fade`,arrow:!0,content:``,inertia:!1,maxWidth:350,role:`tooltip`,theme:``,zIndex:9999}),OCe=Object.keys(yf),kCe=function(e){Object.keys(e).forEach(function(t){yf[t]=e[t]})};function ACe(e){var t=(e.plugins||[]).reduce(function(t,n){var r=n.name,i=n.defaultValue;return r&&(t[r]=e[r]===void 0?yf[r]??i:e[r]),t},{});return Object.assign({},e,t)}function jCe(e,t){return(t?Object.keys(ACe(Object.assign({},yf,{plugins:t}))):OCe).reduce(function(t,n){var r=(e.getAttribute(`data-tippy-`+n)||``).trim();if(!r)return t;if(n===`content`)t[n]=r;else try{t[n]=JSON.parse(r)}catch{t[n]=r}return t},{})}function MCe(e,t){var n=Object.assign({},t,{content:sCe(t.content,[e])},t.ignoreAttributes?{}:jCe(e,t.plugins));return n.aria=Object.assign({},yf.aria,n.aria),n.aria={expanded:n.aria.expanded===`auto`?t.interactive:n.aria.expanded,content:n.aria.content===`auto`?t.interactive?null:`describedby`:n.aria.content},n}var NCe=function(){return`innerHTML`};function bf(e,t){e[NCe()]=t}function PCe(e){var t=mf();return e===!0?t.className=iCe:(t.className=aCe,hf(e)?t.appendChild(e):bf(t,e)),t}function FCe(e,t){hf(t.content)?(bf(e,``),e.appendChild(t.content)):typeof t.content!=`function`&&(t.allowHTML?bf(e,t.content):e.textContent=t.content)}function xf(e){var t=e.firstElementChild,n=pf(t.children);return{box:t,content:n.find(function(e){return e.classList.contains(nCe)}),arrow:n.find(function(e){return e.classList.contains(iCe)||e.classList.contains(aCe)}),backdrop:n.find(function(e){return e.classList.contains(rCe)})}}function ICe(e){var t=mf(),n=mf();n.className=tCe,n.setAttribute(`data-state`,`hidden`),n.setAttribute(`tabindex`,`-1`);var r=mf();r.className=nCe,r.setAttribute(`data-state`,`hidden`),FCe(r,e.props),t.appendChild(n),n.appendChild(r),i(e.props,e.props);function i(n,r){var i=xf(t),a=i.box,o=i.content,s=i.arrow;r.theme?a.setAttribute(`data-theme`,r.theme):a.removeAttribute(`data-theme`),typeof r.animation==`string`?a.setAttribute(`data-animation`,r.animation):a.removeAttribute(`data-animation`),r.inertia?a.setAttribute(`data-inertia`,``):a.removeAttribute(`data-inertia`),a.style.maxWidth=typeof r.maxWidth==`number`?r.maxWidth+`px`:r.maxWidth,r.role?a.setAttribute(`role`,r.role):a.removeAttribute(`role`),(n.content!==r.content||n.allowHTML!==r.allowHTML)&&FCe(o,e.props),r.arrow?s?n.arrow!==r.arrow&&(a.removeChild(s),a.appendChild(PCe(r.arrow))):a.appendChild(PCe(r.arrow)):s&&a.removeChild(s)}return{popper:t,onUpdate:i}}ICe.$$tippy=!0;var LCe=1,Sf=[],Cf=[];function RCe(e,t){var n=MCe(e,Object.assign({},yf,ACe(pCe(t)))),r,i,a,o=!1,s=!1,l=!1,u=!1,d,f,p,m=[],h=cCe(de,n.interactiveDebounce),g,_=LCe++,v=null,y=dCe(n.plugins),b={id:_,reference:e,popper:mf(),popperInstance:v,props:n,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:y,clearDelayTimeouts:Ce,setProps:we,setContent:Te,show:Ee,hide:De,hideWithInteractivity:Oe,enable:xe,disable:Se,unmount:ke,destroy:Ae};if(!n.render)return b;var x=n.render(b),S=x.popper,C=x.onUpdate;S.setAttribute(`data-tippy-root`,``),S.id=`tippy-`+b.id,b.popper=S,e._tippy=b,S._tippy=b;var w=y.map(function(e){return e.fn(b)}),T=e.hasAttribute(`aria-expanded`);return ce(),I(),N(),P(`onCreate`,[b]),n.showOnCreate&&ye(),S.addEventListener(`mouseenter`,function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()}),S.addEventListener(`mouseleave`,function(){b.props.interactive&&b.props.trigger.indexOf(`mouseenter`)>=0&&A().addEventListener(`mousemove`,h)}),b;function E(){var e=b.props.touch;return Array.isArray(e)?e:[e,0]}function D(){return E()[0]===`hold`}function O(){var e;return!!((e=b.props.render)!=null&&e.$$tippy)}function k(){return g||e}function A(){var e=k().parentNode;return e?yCe(e):document}function j(){return xf(S)}function M(e){return b.state.isMounted&&!b.state.isVisible||vf.isTouch||d&&d.type===`focus`?0:uf(b.props.delay,+!e,yf.delay)}function N(e){e===void 0&&(e=!1),S.style.pointerEvents=b.props.interactive&&!e?``:`none`,S.style.zIndex=``+b.props.zIndex}function P(e,t,n){if(n===void 0&&(n=!0),w.forEach(function(n){n[e]&&n[e].apply(n,t)}),n){var r;(r=b.props)[e].apply(r,t)}}function F(){var t=b.props.aria;if(t.content){var n=`aria-`+t.content,r=S.id;ff(b.props.triggerTarget||e).forEach(function(e){var t=e.getAttribute(n);if(b.state.isVisible)e.setAttribute(n,t?t+` `+r:r);else{var i=t&&t.replace(r,``).trim();i?e.setAttribute(n,i):e.removeAttribute(n)}})}}function I(){T||!b.props.aria.expanded||ff(b.props.triggerTarget||e).forEach(function(e){b.props.interactive?e.setAttribute(`aria-expanded`,b.state.isVisible&&e===k()?`true`:`false`):e.removeAttribute(`aria-expanded`)})}function L(){A().removeEventListener(`mousemove`,h),Sf=Sf.filter(function(e){return e!==h})}function R(t){if(!(vf.isTouch&&(l||t.type===`mousedown`))){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!(b.props.interactive&&xCe(S,n))){if(ff(b.props.triggerTarget||e).some(function(e){return xCe(e,n)})){if(vf.isTouch||b.state.isVisible&&b.props.trigger.indexOf(`click`)>=0)return}else P(`onClickOutside`,[b,t]);b.props.hideOnClick===!0&&(b.clearDelayTimeouts(),b.hide(),s=!0,setTimeout(function(){s=!1}),b.state.isMounted||re())}}}function ee(){l=!0}function te(){l=!1}function ne(){var e=A();e.addEventListener(`mousedown`,R,!0),e.addEventListener(`touchend`,R,lf),e.addEventListener(`touchstart`,te,lf),e.addEventListener(`touchmove`,ee,lf)}function re(){var e=A();e.removeEventListener(`mousedown`,R,!0),e.removeEventListener(`touchend`,R,lf),e.removeEventListener(`touchstart`,te,lf),e.removeEventListener(`touchmove`,ee,lf)}function ie(e,t){oe(e,function(){!b.state.isVisible&&S.parentNode&&S.parentNode.contains(S)&&t()})}function ae(e,t){oe(e,t)}function oe(e,t){var n=j().box;function r(e){e.target===n&&(_f(n,`remove`,r),t())}if(e===0)return t();_f(n,`remove`,f),_f(n,`add`,r),f=r}function se(t,n,r){r===void 0&&(r=!1),ff(b.props.triggerTarget||e).forEach(function(e){e.addEventListener(t,n,r),m.push({node:e,eventType:t,handler:n,options:r})})}function ce(){D()&&(se(`touchstart`,ue,{passive:!0}),se(`touchend`,fe,{passive:!0})),lCe(b.props.trigger).forEach(function(e){if(e!==`manual`)switch(se(e,ue),e){case`mouseenter`:se(`mouseleave`,fe);break;case`focus`:se(DCe?`focusout`:`blur`,pe);break;case`focusin`:se(`focusout`,pe);break}})}function le(){m.forEach(function(e){var t=e.node,n=e.eventType,r=e.handler,i=e.options;t.removeEventListener(n,r,i)}),m=[]}function ue(e){var t=!1;if(!(!b.state.isEnabled||me(e)||s)){var n=d?.type===`focus`;d=e,g=e.currentTarget,I(),!b.state.isVisible&&hCe(e)&&Sf.forEach(function(t){return t(e)}),e.type===`click`&&(b.props.trigger.indexOf(`mouseenter`)<0||o)&&b.props.hideOnClick!==!1&&b.state.isVisible?t=!0:ye(e),e.type===`click`&&(o=!t),t&&!n&&be(e)}}function de(e){var t=e.target,r=k().contains(t)||S.contains(t);e.type===`mousemove`&&r||bCe(ve().concat(S).map(function(e){var t=e._tippy.popperInstance?.state;return t?{popperRect:e.getBoundingClientRect(),popperState:t,props:n}:null}).filter(Boolean),e)&&(L(),be(e))}function fe(e){if(!(me(e)||b.props.trigger.indexOf(`click`)>=0&&o)){if(b.props.interactive){b.hideWithInteractivity(e);return}be(e)}}function pe(e){b.props.trigger.indexOf(`focusin`)<0&&e.target!==k()||b.props.interactive&&e.relatedTarget&&S.contains(e.relatedTarget)||be(e)}function me(e){return vf.isTouch?D()!==e.type.indexOf(`touch`)>=0:!1}function he(){ge();var t=b.props,n=t.popperOptions,r=t.placement,i=t.offset,a=t.getReferenceClientRect,o=t.moveTransition,s=O()?xf(S).arrow:null,l=a?{getBoundingClientRect:a,contextElement:a.contextElement||k()}:e,u=[{name:`offset`,options:{offset:i}},{name:`preventOverflow`,options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:`flip`,options:{padding:5}},{name:`computeStyles`,options:{adaptive:!o}},{name:`$$tippy`,enabled:!0,phase:`beforeWrite`,requires:[`computeStyles`],fn:function(e){var t=e.state;if(O()){var n=j().box;[`placement`,`reference-hidden`,`escaped`].forEach(function(e){e===`placement`?n.setAttribute(`data-placement`,t.placement):t.attributes.popper[`data-popper-`+e]?n.setAttribute(`data-`+e,``):n.removeAttribute(`data-`+e)}),t.attributes.popper={}}}}];O()&&s&&u.push({name:`arrow`,options:{element:s,padding:3}}),u.push.apply(u,n?.modifiers||[]),b.popperInstance=fa(l,S,Object.assign({},n,{placement:r,onFirstUpdate:p,modifiers:u}))}function ge(){b.popperInstance&&=(b.popperInstance.destroy(),null)}function _e(){var e=b.props.appendTo,t,n=k();t=b.props.interactive&&e===oCe||e===`parent`?n.parentNode:sCe(e,[n]),t.contains(S)||t.appendChild(S),b.state.isMounted=!0,he()}function ve(){return pf(S.querySelectorAll(`[data-tippy-root]`))}function ye(e){b.clearDelayTimeouts(),e&&P(`onTrigger`,[b,e]),ne();var t=M(!0),n=E(),i=n[0],a=n[1];vf.isTouch&&i===`hold`&&a&&(t=a),t?r=setTimeout(function(){b.show()},t):b.show()}function be(e){if(b.clearDelayTimeouts(),P(`onUntrigger`,[b,e]),!b.state.isVisible){re();return}if(!(b.props.trigger.indexOf(`mouseenter`)>=0&&b.props.trigger.indexOf(`click`)>=0&&[`mouseleave`,`mousemove`].indexOf(e.type)>=0&&o)){var t=M(!1);t?i=setTimeout(function(){b.state.isVisible&&b.hide()},t):a=requestAnimationFrame(function(){b.hide()})}}function xe(){b.state.isEnabled=!0}function Se(){b.hide(),b.state.isEnabled=!1}function Ce(){clearTimeout(r),clearTimeout(i),cancelAnimationFrame(a)}function we(t){if(!b.state.isDestroyed){P(`onBeforeUpdate`,[b,t]),le();var n=b.props,r=MCe(e,Object.assign({},n,pCe(t),{ignoreAttributes:!0}));b.props=r,ce(),n.interactiveDebounce!==r.interactiveDebounce&&(L(),h=cCe(de,r.interactiveDebounce)),n.triggerTarget&&!r.triggerTarget?ff(n.triggerTarget).forEach(function(e){e.removeAttribute(`aria-expanded`)}):r.triggerTarget&&e.removeAttribute(`aria-expanded`),I(),N(),C&&C(n,r),b.popperInstance&&(he(),ve().forEach(function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})),P(`onAfterUpdate`,[b,t])}}function Te(e){b.setProps({content:e})}function Ee(){var e=b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=vf.isTouch&&!b.props.touch,i=uf(b.props.duration,0,yf.duration);if(!(e||t||n||r)&&!k().hasAttribute(`disabled`)&&(P(`onShow`,[b],!1),b.props.onShow(b)!==!1)){if(b.state.isVisible=!0,O()&&(S.style.visibility=`visible`),N(),ne(),b.state.isMounted||(S.style.transition=`none`),O()){var a=j(),o=a.box,s=a.content;gf([o,s],0)}p=function(){var e;if(!(!b.state.isVisible||u)){if(u=!0,S.offsetHeight,S.style.transition=b.props.moveTransition,O()&&b.props.animation){var t=j(),n=t.box,r=t.content;gf([n,r],i),vCe([n,r],`visible`)}F(),I(),uCe(Cf,b),(e=b.popperInstance)==null||e.forceUpdate(),P(`onMount`,[b]),b.props.animation&&O()&&ae(i,function(){b.state.isShown=!0,P(`onShown`,[b])})}},_e()}}function De(){var e=!b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=uf(b.props.duration,1,yf.duration);if(!(e||t||n)&&(P(`onHide`,[b],!1),b.props.onHide(b)!==!1)){if(b.state.isVisible=!1,b.state.isShown=!1,u=!1,o=!1,O()&&(S.style.visibility=`hidden`),L(),re(),N(!0),O()){var i=j(),a=i.box,s=i.content;b.props.animation&&(gf([a,s],r),vCe([a,s],`hidden`))}F(),I(),b.props.animation?O()&&ie(r,b.unmount):b.unmount()}}function Oe(e){A().addEventListener(`mousemove`,h),uCe(Sf,h),h(e)}function ke(){b.state.isVisible&&b.hide(),b.state.isMounted&&(ge(),ve().forEach(function(e){e._tippy.unmount()}),S.parentNode&&S.parentNode.removeChild(S),Cf=Cf.filter(function(e){return e!==b}),b.state.isMounted=!1,P(`onHidden`,[b]))}function Ae(){b.state.isDestroyed||(b.clearDelayTimeouts(),b.unmount(),le(),delete e._tippy,b.state.isDestroyed=!0,P(`onDestroy`,[b]))}}function wf(e,t){t===void 0&&(t={});var n=yf.plugins.concat(t.plugins||[]);ECe();var r=Object.assign({},t,{plugins:n}),i=_Ce(e).reduce(function(e,t){var n=t&&RCe(t,r);return n&&e.push(n),e},[]);return hf(e)?i[0]:i}wf.defaultProps=yf,wf.setDefaultProps=kCe,wf.currentInput=vf,Object.assign({},qre,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),wf.setDefaultProps({render:ICe});function zCe(e){let{triggerRef:t,panelComponent:n,panelProps:r={},tippyOptions:i={}}=e,a=sn(null),o=null,s=()=>(o||=document.createElement(`div`),ji(W(n,{...r,onClose:f}),o),o),l=e=>{let n=e.target,r=t.value;if(r&&r.contains(n))return;let i=document.querySelector(`.tippy-box[data-theme~="history-panel"]`);if(i&&i.contains(n))return;let o=document.querySelector(`.tippy-box[data-theme~="more-menu-light"]`);o&&o.contains(n)||a.value?.state.isVisible&&a.value.hide()},u=()=>{if(!t.value||a.value)return;let e={placement:`bottom-end`,offset:[0,8],appendTo:document.querySelector(`.ai-blueking-container-wrapper`)||document.body};a.value=wf(t.value,{content:s(),interactive:!0,trigger:`manual`,theme:`light history-panel`,arrow:!1,hideOnClick:!1,animation:`scale`,duration:200,delay:[0,0],...e,...i,onShow:()=>{a.value&&o&&a.value.setContent(s()),setTimeout(()=>{document.addEventListener(`click`,l,!1)},0)},onHidden:()=>{document.removeEventListener(`click`,l,!1)}})},d=()=>{a.value||u(),a.value?.show()},f=()=>{a.value?.hide()},p=()=>{a.value||u(),a.value?.state.isVisible?f():d()},m=e=>{e.stopPropagation(),p()},h=()=>{a.value&&=(a.value.destroy(),null),o&&=(ji(null,o),null),document.removeEventListener(`click`,l,!1)};return sr(()=>{h()}),{show:d,hide:f,toggle:p,handleTriggerClick:m,destroy:h,isVisible:()=>a.value?.state.isVisible??!1}}function BCe(e){return e.sessionBusinessManager?zCe({triggerRef:e.triggerRef,panelComponent:eCe,panelProps:{sessionBusinessManager:e.sessionBusinessManager,onSessionSwitch:e.onSessionSwitch,onSessionDelete:e.onSessionDelete,onSessionRename:e.onSessionRename},tippyOptions:{placement:`bottom-end`,offset:[0,8],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body}}):{handleTriggerClick:()=>{},show:()=>{},hide:()=>{},toggle:()=>{},destroy:()=>{},isVisible:()=>!1}}var VCe=e=>{if(typeof document>`u`)return null;let t=document.cookie.split(`;`).find(t=>t.trim().startsWith(`${e}=`));return t?t.split(`=`)[1]:null},HCe=e=>{let t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3),r=e%1e3,i=[];return t>0&&i.push(`${t}m`),n>0&&i.push(`${n}s`),(r>0||i.length===0)&&i.push(`${r}ms`),i.join(``)},Tf=()=>`id_${Math.random().toString(36).substring(2,9)}`,UCe=e=>{if(e<1)return`<1s`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60),i=e%60,a=[];return t>0&&a.push(`${t}d`),n>0&&a.push(`${n}h`),r>0&&a.push(`${r}m`),i>0&&a.push(`${i}s`),a.join(``)},Ef=VCe(`blueking_language`)===`en`,WCe={发送:`Send`,停止:`Stop`,添加:`Add`,Skill:`Skill`,MCP:`MCP`,Prompt:`Prompt`,文件:`File`,图片:`Image`,工具:`Tool`,知识库:`Knowledge Base`,会话产物:`Conversation Files`,收起:`Collapse`,显示更多:`Show More`,问问小鲸:`Ask AI`,复制:`Copy`,分享:`Share`,点赞:`Like`,不满意:`Unsatisfied`,删除:`Delete`,引用:`Quote`,重新生成:`Regenerate`,重新生成将清空下文内容:`Regenerating will clear the content below`,提交:`Submit`,取消:`Cancel`,预览内容:`Preview Content`,跳转详情:`Jump to Detail`,调用工具:`Call Tool`,"读取 Skill":`Read Skill`,正在调用:`Calling`,正在读取:`Reading`,说出您的想法:`Tell us your thoughts`,"什么原因让你满意?":`What makes you satisfied?`,"什么原因让你不满意?":`What makes you dissatisfied?`,返回内容:`Return Content`,编辑:`Edit`,深度思考:`Deep Thinking`,快速思考:`Quick Thinking`,图生文:`Image to Text`,"图片加载中...":`Loading image...`,图片加载失败:`Failed to load image`,思考中:`Thinking...`,已思考完成:`Thinking Completed`,思考失败:`Thinking Failed`,复制成功:`Copy Success`,复制失败:`Copy Failed`,返回底部:`Return to bottom`,停止生成:`Stop generating`,正在停止:`Stopping`,耗时:`Duration`,昨天:`Yesterday`,参数:`Parameters`,描述:`Description`,执行情况:`Execution Status`,执行中:`Running`,成功:`Success`,失败:`Failed`,挂起:`Pending`,待执行:`To Be Executed`,详情:`Details`,重试:`Retry`,重试中:`Retrying`,跳过中:`Skipping`,"任务正在重试中,不可跳过":`The task is retrying and cannot be skipped`,"任务正在跳过中,不可重试":`The task is skipping and cannot be retried`,节点:`Node`,节点配置:`Node Config`,节点输出:`Node Output`,基础信息:`Basic Info`,流程模板:`Flow Template`,节点名称:`Node Name`,步骤名称:`Step Name`,执行方案:`Execution Plan`,是否可选:`Optional`,失败处理:`Failure Handler`,超时控制:`Timeout Control`,是:`Yes`,否:`No`,输入参数:`Input Params`,输出参数:`Output Params`,参数名:`Param Name`,参数值:`Param Value`,名称:`Name`,变量说明:`Description`,结构化输出:`Structured Output`,手动跳过:`Manual Skip`,暂无数据:`No Data`,"调用 MCP":`Call MCP`,更多:`More`,算法方案评审单:`Algorithm Plan Review Ticket`,评审中:`Reviewing`,审批中:`Approving`,已废弃:`Abandoned`,已批准:`Approved`,已通过:`Approved`,已取消:`Cancelled`,已过期:`Expired`,已拒绝:`Rejected`,已撤销:`Revoked`,单据编号:`Ticket No.`,提交时间:`Submitted At`,当前处理人:`Current Handler`,无:`None`,查看单据详情:`View Ticket Detail`,复制单据:`Copy Ticket`,复制单据链接:`Copy Ticket Link`,取消审批:`Cancel Approval`,已取消审批:`Approval Cancelled`,刷新单据状态:`Refresh Ticket Status`,单据已取消审批:`Approval Cancelled`,"该单据已被拒绝,无法取消":`This ticket has been rejected and cannot be cancelled`,"该单据已通过,无法取消":`This ticket has been approved and cannot be cancelled`,"单据已取消,无需重复点击":`This ticket has been cancelled, no need to click again`,当前状态无法取消审批:`Approval cannot be cancelled in the current status`,"当前会话有 {count} 个待审批单,如需继续,请先取消审批":`There are {count} pending approval tickets in the current conversation. To continue, cancel approval first.`,暂不支持的中断消息:`Unsupported interrupt message`,检索中:`Searching`,检索完成:`Search Completed`,上传文件:`Upload File`,选择模型:`Select model`,搜索模型关键字:`Search models`,"请求中...":`Requesting...`,取消满意:`Cancel satisfied`,取消不满意:`Cancel dissatisfied`,"确认删除该回答?":`Confirm delete this answer?`,"删除操作无法撤回,请谨慎操作!":`This operation cannot be undone. Please proceed with caution!`,预览:`Preview`,缩小:`Zoom Out`,放大:`Zoom In`,旋转:`Rotate`,下载:`Download`,"抱歉,图片加载失败,可尝试重新加载":`Sorry, image loading failed. Please try reloading.`,重置:`Reset`,重新加载:`Reload`,宽:`W`,高:`H`,上传图片:`Upload Image`,"搜索 关键字":`Search keyword`,选择日期:`Select date`,在对话中定位:`Locate in Chat`,全选:`Select All`,确定:`Confirm`,"上传文件,最多支持 {count} 个,单个最大 {size}MB":`Upload file, up to {count} files, max {size}MB each`,"你好,我是小鲸":`Hello, I am BlueKing AI Bot`,清空搜索:`Clear Search`,搜索结果为空:`Search Result is Empty`,有效证据:`Valid Evidence`,全屏:`Full Screen`,退出全屏:`Exit Full Screen`,请选择以继续:`Please choose to continue`,继续:`Continue`,"收到信息:":`Received: `,待审批:`Pending`,已审批:`Approved`,完成:`Done`,跳过:`Skip`,单选:`Single`,多选:`Multiple`,其他:`Others`,已完成:`Completed`,题:`question(s)`,回答内容:`Answers`,已回复:`Replied`,"请输入...":`Please enter...`,文件产物:`File Artifacts`,文件列表:`File List`,搜索文件关键字:`Search file keyword`,预览加载失败:`Failed to load preview`,暂无可预览的文件:`No file to preview`,"文件上传中,请稍候":`Uploading files, please wait`,"存在上传失败的文件,请删除后重试":`Remove failed uploads before sending`,上传失败:`Upload failed`,"有 {count} 个文件因格式不支持未添加":`{count} file(s) were not added because the format is not supported`},Df=e=>Ef?WCe[e]:e,Of=function(e){return e.ABANDONED=`abandoned`,e.APPROVED=`approved`,e.CANCELLED=`cancelled`,e.DRAFT=`draft`,e.EXPIRED=`expired`,e.PENDING=`pending`,e.REJECTED=`rejected`,e.REVOKED=`revoked`,e}({}),kf=function(e){return e.AIDevToolApproval=`aidev:tool_approval`,e.UserQuestion=`aidev:user_question`,e}({}),Af=function(e){return e.Binary=`binary`,e.FlowAgent=`flow_agent`,e.Function=`function`,e.KeyValue=`key_value`,e.KnowledgeRag=`knowledge_rag`,e.Other=`other`,e.ReferenceDocument=`reference_document`,e.Text=`text`,e}({}),jf=function(e){return e.Activity=`activity`,e.Assistant=`assistant`,e.Developer=`developer`,e.Guide=`guide`,e.Hidden=`hidden`,e.HiddenAssistant=`hidden-assistant`,e.HiddenGuide=`hidden-guide`,e.HiddenSystem=`hidden-system`,e.HiddenUser=`hidden-user`,e.Info=`info`,e.Interrupt=`interrupt`,e.Loading=`loading`,e.Pause=`pause`,e.Placeholder=`placeholder`,e.Reasoning=`reasoning`,e.System=`system`,e.TemplateAssistant=`template-assistant`,e.TemplateGuide=`template-guide`,e.TemplateHidden=`template-hidden`,e.TemplateSystem=`template-system`,e.TemplateUser=`template-user`,e.Tool=`tool`,e.User=`user`,e}({}),Mf=function(e){return e.Complete=`complete`,e.Completed=`completed`,e.Disabled=`disabled`,e.Error=`error`,e.Fetching=`fetching`,e.Pending=`pending`,e.Stop=`stop`,e.StopLoading=`stop-loading`,e.Streaming=`streaming`,e.Success=`success`,e}({}),GCe={[Of.ABANDONED]:Df(`已废弃`),[Of.APPROVED]:Df(`已通过`),[Of.CANCELLED]:Df(`已取消`),[Of.EXPIRED]:Df(`已过期`),[Of.PENDING]:Df(`待审批`),[Of.REJECTED]:Df(`已拒绝`),[Of.REVOKED]:Df(`已撤销`),[Of.DRAFT]:Df(`待审批`)},Nf=function(e){return e.ApprovalCancel=`approval_cancel`,e.ApprovalRefresh=`approval_refresh`,e.FlowNodeRetry=`flow_node_retry`,e.FlowNodeSkip=`flow_node_skip`,e}({}),KCe=Object.values({image:[`.gif`,`.jpeg`,`.jpg`,`.png`,`.webp`],document:[`.doc`,`.docx`,`.ppt`,`.pptx`,`.xls`,`.xlsx`,`.pdf`,`.epub`,`.mobi`,`.csv`],text:[`.txt`,`.md`,`.rst`,`.log`,`.json`,`.xml`,`.yaml`,`.yml`,`.toml`,`.ini`,`.conf`,`.html`,`.css`,`.scss`,`.sql`],code:[`.py`,`.js`,`.jsx`,`.ts`,`.tsx`,`.vue`,`.java`,`.go`,`.c`,`.cpp`,`.h`,`.hpp`,`.cs`,`.php`,`.rb`,`.rs`,`.kt`,`.swift`,`.sh`,`.bash`]}).flat().join(`,`),qCe=9999,Pf=qCe+1+1,JCe=Pf+1,YCe=JCe+1,XCe=[{description:Df(`复制`),id:`copy`,name:Df(`复制`)},{description:Df(`重新生成将清空下文内容`),id:`rebuild`,name:Df(`重新生成`)},{description:Df(`分享`),id:`share`,name:Df(`分享`)}],ZCe=[{description:Df(`复制`),id:`copy`,name:Df(`复制`)},{description:Df(`编辑`),id:`edit`,name:Df(`编辑`)},{description:Df(`删除`),id:`delete`,name:Df(`删除`)}],QCe=[{description:Df(`点赞`),id:`like`,name:Df(`点赞`)},{description:Df(`不满意`),id:`unlike`,name:Df(`不满意`)},{description:Df(`删除`),id:`delete`,name:Df(`删除`)}],$Ce=20*1024*1024,ewe=`ai-is-keyword`,Ff=function(e){return e.Chat=`chat`,e.Share=`share`,e.Test=`test`,e}({}),twe=`__loading__`,If={class:`ai-common-icon`,style:{verticalAlign:`middle`,fill:`currentColor`,overflow:`hidden`},viewBox:`0 0 1024 1024`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},nwe={js:`javascript`,ts:`typescript`,py:`python`},rwe=0;function iwe(e){let t=`${e}-${++rwe}`;return{id:e=>`${t}-${e}`,ref:e=>`url(#${t}-${e})`}}var awe=Qn({name:`AIBluekingIcon`,setup(){let e=iwe(`blueking-icon`);return()=>W(`svg`,{...If,viewBox:`0 0 24 24`,class:{[If.class]:!0,"ai-blueking-icon":!0}},[W(`defs`,{},[W(`linearGradient`,{x1:`45.02491%`,y1:`35.5927467%`,x2:`99.2803929%`,y2:`81.0358394%`,id:e.id(1)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(2)},[W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.885701426`,offset:`0%`}),W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.29`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(3)},[W(`stop`,{"stop-color":`#1562FC`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`95.0902604%`,x2:`35.112422%`,y2:`19.6450217%`,id:e.id(4)},[W(`stop`,{"stop-color":`#DC63FE`,offset:`0.0150240385%`}),W(`stop`,{"stop-color":`#235DFA`,offset:`100%`})]),W(`linearGradient`,{x1:`46.6072083%`,y1:`95.8855311%`,x2:`46.6072083%`,y2:`50%`,id:e.id(5)},[W(`stop`,{"stop-color":`#B962FD`,offset:`0%`}),W(`stop`,{"stop-color":`#565FFB`,offset:`99.984976%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(6)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#A826E2`,offset:`100%`})])]),W(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[W(`g`,{transform:`translate(-1940, -1102)`},[W(`g`,{transform:`translate(1941, 1103.2578)`},[W(`path`,{d:`M9.5,4.7422389 C13.6421356,4.7422389 17,8.10010327 17,12.2422389 L17.001443,17.8260065 C18.766577,18.002886 20,18.503758 20,19.7276221 C19.9911111,19.736626 19.9733333,19.7388478 19.92,19.740251 L19.8835437,19.7409966 C19.8766933,19.7411051 19.86944,19.7412059 19.86176,19.7412992 L19.223277,19.7414596 C19.1990044,19.7413893 19.1739733,19.7413146 19.14816,19.7412361 L18.89408,19.7404278 C18.86336,19.7403275 18.8317867,19.7402239 18.7993363,19.7401172 L18.59392,19.7394428 C18.5578667,19.7393249 18.5208889,19.7392045 18.482963,19.7390817 L18.24384,19.7383188 C18.1184,19.7379252 17.984,19.7375147 17.84,19.7370938 L17.5390104,19.7362397 C17.371281,19.7357782 17.19212,19.7353095 17.0007483,19.7348414 L9.5,19.7422389 C6.21251981,19.7422389 3.41905896,17.6270907 2.40625547,14.6834322 C1.03363082,14.4093871 0,13.203242 0,11.7568557 L1.21619234,11.7563718 C1.49913049,11.7561381 1.76533428,11.755827 2.01579346,11.7554549 C2.26623611,7.84031745 5.52132054,4.7422389 9.5,4.7422389 Z`,fill:e.ref(1)}),W(`path`,{d:`M9.5,6.7422389 C12.5375661,6.7422389 15,9.20467277 15,12.2422389 L15,15.7422389 C15,16.8468084 14.1045695,17.7422389 13,17.7422389 L9.5,17.7422389 C6.46243388,17.7422389 4,15.279805 4,12.2422389 C4,9.20467277 6.46243388,6.7422389 9.5,6.7422389 Z`,fill:e.ref(2)}),W(`rect`,{fill:e.ref(3),x:`18`,y:`7.7422389`,width:`2`,height:`9`,rx:`1`}),W(`path`,{d:`M18.9843802,1 C18.9843802,2.52940392 20.1288357,3.79150593 21.6080665,3.97662574 L21.9843802,4 C20.4549762,4 19.1928742,5.14445555 19.0077544,6.62368637 L18.9843802,7 C18.9843802,5.47059608 17.8399246,4.20849407 16.3606938,4.02337426 L15.9843802,4 C17.5137841,4 18.7758861,2.85554445 18.9610059,1.37631363 L18.9843802,1 Z`,fill:e.ref(4),"fill-rule":`nonzero`}),W(`path`,{d:`M14.9843802,-1.0658141e-14 C14.9843802,1.01960262 15.7473505,1.86100395 16.7335044,1.98441716 L16.9843802,2 C15.9647776,2 15.1233762,2.76297037 14.999963,3.74912425 L14.9843802,4 C14.9843802,2.98039738 14.2214098,2.13899605 13.2352559,2.01558284 L12.9843802,2 C14.0039828,2 14.8453841,1.23702963 14.9687973,0.250875751 L14.9843802,-1.0658141e-14 Z`,fill:e.ref(5),"fill-rule":`nonzero`}),W(`path`,{d:`M15.9843802,5 C15.9843802,5.50980131 16.3658654,5.93050198 16.8589423,5.99220858 L16.9843802,6 C16.4745789,6 16.0538782,6.38148518 15.9921716,6.87456212 L15.9843802,7 C15.9843802,6.49019869 15.602895,6.06949802 15.109818,6.00779142 L14.9843802,6 C15.4941815,6 15.9148821,5.61851482 15.9765887,5.12543788 L15.9843802,5 Z`,fill:`#8860FC`,"fill-rule":`nonzero`}),W(`rect`,{fill:`#16204D`,x:`6.5`,y:`10.7422389`,width:`2`,height:`3`,rx:`1`}),W(`rect`,{fill:`#16204D`,x:`10.5`,y:`10.7422389`,width:`2`,height:`3`,rx:`1`}),W(`path`,{d:`M12.1896605,4.7422389 C11.9209486,3.40890556 11.3915034,2.7422389 10.6013249,2.7422389 C9.41605731,2.7422389 9.42887356,4.32659654 10.6013249,4.18645894 C11.2198089,4.11253447 11.6391525,4.29779445 11.8593557,4.7422389 L12.1896605,4.7422389 Z`,fill:e.ref(6),transform:`translate(10.9534, 3.7422) scale(-1, 1) translate(-10.9534, -3.7422)`}),W(`path`,{d:`M9.71717378,4.7422389 C9.4484618,3.40890556 8.9190166,2.7422389 8.12883818,2.7422389 C6.94357055,2.7422389 6.95638679,4.32659654 8.12883818,4.18645894 C8.74732212,4.11253447 9.16666571,4.29779445 9.38686894,4.7422389 L9.71717378,4.7422389 Z`,fill:e.ref(6)})])])])])}}),owe=Qn({name:`AIBluekingBannerIcon`,setup(){let e=iwe(`banner-icon`);return()=>W(`svg`,{...If,viewBox:`0 0 309 93`,class:{[If.class]:!0,"ai-blueking-banner-icon":!0}},[W(`defs`,{},[W(`linearGradient`,{x1:`45.02491%`,y1:`35.5927467%`,x2:`99.2803929%`,y2:`81.0358394%`,id:e.id(1)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(2)},[W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.885701426`,offset:`0%`}),W(`stop`,{"stop-color":`#FFFFFF`,"stop-opacity":`0.29`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(3)},[W(`stop`,{"stop-color":`#1562FC`,offset:`0%`}),W(`stop`,{"stop-color":`#EB8CEC`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`95.0902604%`,x2:`35.112422%`,y2:`19.6450217%`,id:e.id(4)},[W(`stop`,{"stop-color":`#DC63FE`,offset:`0.0150240385%`}),W(`stop`,{"stop-color":`#235DFA`,offset:`100%`})]),W(`linearGradient`,{x1:`46.6072083%`,y1:`95.8855311%`,x2:`46.6072083%`,y2:`50%`,id:e.id(5)},[W(`stop`,{"stop-color":`#B962FD`,offset:`0%`}),W(`stop`,{"stop-color":`#565FFB`,offset:`99.984976%`})]),W(`linearGradient`,{x1:`50%`,y1:`0%`,x2:`50%`,y2:`100%`,id:e.id(6)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#A826E2`,offset:`100%`})]),W(`linearGradient`,{x1:`50%`,y1:`-38.6691405%`,x2:`50%`,y2:`100%`,id:e.id(7)},[W(`stop`,{"stop-color":`#235DFA`,offset:`0%`}),W(`stop`,{"stop-color":`#9F7BF1`,"stop-opacity":`0.15`,offset:`62.335824%`}),W(`stop`,{"stop-color":`#EB8CEC`,"stop-opacity":`0`,offset:`100%`})])]),W(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},[W(`g`,{transform:`translate(0, 0.2974)`},[W(`g`,{transform:`translate(124.4167, 0)`},[W(`path`,{d:`M28.3965776,12.9425679 C38.3377031,12.9425679 46.3965776,21.0014424 46.3965776,30.9425679 L46.3969075,48.6505618 C51.2162571,49.132982 54.5842089,50.4998157 54.5842089,53.8408323 C54.5842089,53.8444226 54.5842089,53.8477257 54.5824622,53.8507588 L54.5702354,53.8590653 C54.5370482,53.8709895 54.4250414,53.8772107 54.0470184,53.8795761 L53.8473221,53.8804155 C53.8227592,53.8804783 53.7973775,53.8805312 53.7711498,53.8805746 L53.4140599,53.8806511 C53.3806271,53.8806219 53.3462391,53.8805842 53.3108685,53.8805382 L52.8375142,53.8796076 C51.6610285,53.8767057 49.6921211,53.8685916 46.3970568,53.8605313 L46.3965776,53.8807246 L23.4584209,53.8807246 C14.9044209,53.8807246 7.74404265,47.9139206 5.91235374,39.9153803 C2.4976649,38.935189 0,35.8013205 0,32.0869334 L1.43000256,32.0866983 C1.58407741,32.0866469 1.73656386,32.0865873 1.88747828,32.0865198 L3.20370552,32.0857063 C4.00314289,32.0850715 4.75405903,32.0842107 5.4593989,32.0831725 L5.45842089,30.9425679 C5.45842089,21.0014424 13.5172954,12.9425679 23.4584209,12.9425679 L28.3965776,12.9425679 Z`,fill:e.ref(1)}),W(`rect`,{fill:e.ref(2),x:`10.9168418`,y:`18.4009888`,width:`30.0213149`,height:`30.0213149`,rx:`12`}),W(`rect`,{fill:e.ref(3),x:`49.125788`,y:`21.1301993`,width:`5.45842089`,height:`24.562894`,rx:`2`}),W(`path`,{d:`M51.8123687,2.72921045 C51.8123687,6.90327561 54.9358287,10.3478176 58.9729609,10.8530485 L60,10.9168418 C55.8259348,10.9168418 52.3813929,14.0403018 51.8761619,18.077434 L51.8123687,19.1044731 C51.8123687,14.930408 48.6889086,11.485866 44.6517764,10.9806351 L43.6247373,10.9168418 C47.7988025,10.9168418 51.2433445,7.79338174 51.7485754,3.75624952 L51.8123687,2.72921045 Z`,fill:e.ref(4),"fill-rule":`nonzero`}),W(`path`,{d:`M40.8955269,0 C40.8955269,2.78271011 42.9778336,5.07907143 45.6692551,5.41589204 L46.3539478,5.45842089 C43.5712377,5.45842089 41.2748763,7.54072759 40.9380557,10.2321491 L40.8955269,10.9168418 C40.8955269,8.13413168 38.8132202,5.83777036 36.1217987,5.50094974 L35.437106,5.45842089 C38.2198161,5.45842089 40.5161774,3.3761142 40.852998,0.684692719 L40.8955269,0 Z`,fill:e.ref(5),"fill-rule":`nonzero`}),W(`path`,{d:`M44.4235306,12.0484656 C44.4235306,13.4398207 45.464684,14.5880013 46.8103947,14.7564116 L47.1527411,14.7776761 C45.761386,14.7776761 44.6132054,15.8188294 44.4447951,17.1645402 L44.4235306,17.5068865 C44.4235306,16.1155315 43.3823773,14.9673508 42.0366665,14.7989405 L41.6943202,14.7776761 C43.0856752,14.7776761 44.2338559,13.7365227 44.4022662,12.390812 L44.4235306,12.0484656 Z`,fill:`#8860FC`,"fill-rule":`nonzero`}),W(`rect`,{fill:`#16204D`,x:`17.7398679`,y:`29.3178306`,width:`5.45842089`,height:`8.18763134`,rx:`2`}),W(`rect`,{fill:`#16204D`,x:`28.6567097`,y:`29.3178306`,width:`5.45842089`,height:`8.18763134`,rx:`2`}),W(`path`,{d:`M33.2681489,12.9425679 C32.5347773,9.30362068 31.08981,7.48414704 28.9332468,7.48414704 C25.698402,7.48414704 25.7333802,11.8081925 28.9332468,11.4257275 C30.6212196,11.223972 31.7656965,11.7295855 32.3666775,12.9425679 L33.2681489,12.9425679 Z`,fill:e.ref(6),transform:`translate(29.8942, 10.2134) scale(-1, 1) translate(-29.8942, -10.2134)`}),W(`path`,{d:`M26.5202122,12.9425679 C25.7868406,9.30362068 24.3418733,7.48414704 22.1853101,7.48414704 C18.9504653,7.48414704 18.9854435,11.8081925 22.1853101,11.4257275 C23.8732829,11.223972 25.0177598,11.7295855 25.6187408,12.9425679 L26.5202122,12.9425679 Z`,fill:e.ref(6)})]),W(`path`,{d:`M309,81.279814 C309,66.0493667 239.827994,53.7026496 154.5,53.7026496 C69.1720062,53.7026496 0,66.0493667 0,81.279814 C0,96.5102614 309,96.5102614 309,81.279814 Z`,fill:e.ref(7),opacity:`0.22710455`})])])])}}),swe=W(`svg`,{...If,class:{[If.class]:!0,"ai-document-icon":!0}},[W(`g`,{fill:`none`},[W(`path`,{fill:`#3D4265`,d:`M708.9230754909091 157.53846132363637L984.6153867636364 157.53846132363637C1006.3669061818182 157.53846132363637 1024 175.17155421090908 1024 196.9230764218182L1024 945.2307688727273C1024 988.7338123636364 988.7338123636364 1024 945.2307688727273 1024L708.9230754909091 1024 708.9230754909091 157.53846132363637Z`}),W(`path`,{fill:`#3A84FF`,d:`M0 984.6153867636364C0 995.0608337454545 4.149438594327273 1005.0784674909091 11.535486650181818 1012.4645143272728 18.921534743272726 1019.8505611636365 28.939165649454548 1024 39.38461500509091 1024L945.2307688727273 1024C901.7277253818182 1024 866.4615377454545 988.7338123636364 866.4615377454545 945.2307688727273L866.4615377454545 39.384615051636366C866.4615377454545 17.633092747636365 848.8284439272727 0 827.0769245090909 0L39.38461500509091 0C17.633092747636365 0 0 17.633092747636365 0 39.384615051636366L0 984.6153867636364Z`}),W(`path`,{fill:`#FFF`,d:`M196.92307688727274 288.82051304727275C175.17155467636363 288.82051304727275 157.53846132363637 306.45360593454546 157.53846132363637 328.2051281454546 157.53846132363637 349.9566508218182 175.17155467636363 367.5897437090909 196.92307688727274 367.5897437090909L354.4615391418182 367.5897437090909C376.2130618181818 367.5897437090909 393.8461547054545 349.9566508218182 393.8461547054545 328.2051281454546 393.8461547054545 306.45360593454546 376.2130618181818 288.82051304727275 354.4615391418182 288.82051304727275L196.92307688727274 288.82051304727275ZM196.92307688727274 525.1282059636363C175.17155467636363 525.1282059636363 157.53846132363637 542.7612997818183 157.53846132363637 564.5128192000001 157.53846132363637 586.2643432727273 175.17155467636363 603.8974370909091 196.92307688727274 603.8974370909091L669.5384622545455 603.8974370909091C691.2899816727273 603.8974370909091 708.9230754909091 586.2643432727273 708.9230754909091 564.5128192000001 708.9230754909091 542.7612997818183 691.2899816727273 525.1282059636363 669.5384622545455 525.1282059636363L196.92307688727274 525.1282059636363ZM196.92307688727274 761.4358993454546C175.17155467636363 761.4358993454546 157.53846132363637 779.0689885090909 157.53846132363637 800.8205125818182 157.53846132363637 822.5720366545454 175.17155467636363 840.2051304727273 196.92307688727274 840.2051304727273L433.23076933818186 840.2051304727273C454.9822915490909 840.2051304727273 472.61538676363637 822.5720366545454 472.61538676363637 800.8205125818182 472.61538676363637 779.0689885090909 454.9822915490909 761.4358993454546 433.23076933818186 761.4358993454546L196.92307688727274 761.4358993454546Z`})])]),cwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-preview-icon":!0}},[W(`path`,{fillRule:`evenodd`,d:`M512 192C759.4 192 960 335.3 960 512 960 688.7 759.4 832 512 832 264.6 832 64 688.7 64 512 64 335.3 264.6 192 512 192ZM512 256C457.8 256 405.4 263.5 356.1 278.4 309.5 292.5 267.8 312.5 232.4 337.8 165.1 385.9 128 447.8 128 512 128 576.2 165.1 638.1 232.4 686.2 267.8 711.5 309.5 731.5 356.1 745.6 405.4 760.5 457.8 768 512 768 566.2 768 618.6 760.5 667.9 745.6 714.5 731.5 756.2 711.5 791.6 686.2 858.9 638.1 896 576.2 896 512 896 447.8 858.9 385.9 791.6 337.8 756.2 312.5 714.5 292.5 667.9 278.4 618.6 263.5 566.2 256 512 256ZM512 352C600.4 352 672 423.6 672 512 672 600.4 600.4 672 512 672 423.6 672 352 600.4 352 512 352 423.6 423.6 352 512 352ZM512 416C459.1 416 416 459.1 416 512 416 564.9 459.1 608 512 608 564.9 608 608 564.9 608 512 608 459.1 564.9 416 512 416Z`})]),lwe=W(`svg`,{...If,viewBox:`0 0 64 64`,class:{[If.class]:!0,"ai-target-icon":!0}},[W(`g`,null,[W(`path`,{d:`M54 8H31v4h18.2L22.6 38.6l2.8 2.8L52 14.8V33h4V10c0-1.1-.9-2-2-2z`}),W(`path`,{d:`M52 44v8H12V12h7.9V8H10c-1.1 0-2 .9-2 2v44c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V44h-4z`})])]);W(`svg`,{...If,viewBox:`0 0 64 64`,class:{[If.class]:!0,"ai-remove-icon":!0}},[W(`path`,{fill:`#737987`,d:`M32,4C16.5,4,4,16.5,4,32s12.5,28,28,28s28-12.5,28-28S47.5,4,32,4z M43.3,40.5l-2.8,2.8L32,34.8l-8.5,8.5l-2.8-2.8l8.5-8.5l-8.5-8.5l2.8-2.8l8.5,8.5l8.5-8.5l2.8,2.8L34.8,32L43.3,40.5z`})]);var uwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-arrow-right-icon":!0}},[W(`path`,{d:`M822.3999999999999 493.43999999999994l-439.03999999999996-356.48c-10.239999999999998-8.32-26.24-10.879999999999999-40.31999999999999-7.04s-23.04 14.08-23.04 25.599999999999998v712.96c0 11.52 8.959999999999999 21.119999999999997 23.04 25.599999999999998 4.4799999999999995 1.2799999999999998 8.959999999999999 1.92 13.44 1.92 10.239999999999998 0 19.84-3.1999999999999997 26.88-8.959999999999999l439.03999999999996-356.48c12.799999999999999-10.239999999999998 12.799999999999999-26.88 0-37.12z`})]);W(`svg`,{...If,class:{[If.class]:!0,"ai-link-icon":!0}},[W(`path`,{d:`M263.04 760.96a148.48 148.48 0 0 1-1.92-224l92.48-92.48L308.48 398.72 216 491.2a212.8 212.8 0 0 0 1.92 314.88 212.8 212.8 0 0 0 314.88 1.92l92.48-92.48L579.84 672l-92.48 92.48A148.48 148.48 0 0 1 263.04 760.96Z`}),W(`path`,{d:`M491.2 216L398.72 308.48l45.44 45.12 92.48-92.48a148.48 148.48 0 0 1 224 1.92 148.48 148.48 0 0 1 1.92 224L672 579.84l45.12 45.44 92.48-92.48a212.8 212.8 0 0 0-1.92-314.88A212.8 212.8 0 0 0 491.2 216Z`}),W(`path`,{d:`M398.78566017615634 579.8877413259167L579.8049961599127 398.86840534216054 625.0598301558516 444.1232393380996 444.0404941720955 625.1425753218557 398.78566017615634 579.8877413259167z`})]);var dwe=W(`svg`,{...If,viewBox:`0 0 24 18`,class:{[If.class]:!0,"ai-image-error-icon":!0}},[W(`path`,{d:`M8.018 0l-.774 2.941.856 2.206-.757 1.47 1.26-1.272-.232-2.224 1.102-3.088h7.228c1.322.01 2.388 1.085 2.39 2.408v5.196a5.42 5.42 0 0 0-1.186.144V2.46c-.035-.645-.542-1.164-1.186-1.213H10.346L9.388 3.04l-.18 2.573-2.636 2.261.859-2.629-1.186-2.006.18-1.978H2.57c-.334-.01-.658.115-.9.346a1.24 1.24 0 0 0-.385.885L1.252 13.07l3.921-4.834c.477-.481 1.068-.481 1.436 0l3.44 4.47 3.344-3.375c.194-.242.495-.372.804-.349.309.024.586.198.742.467l.171.221a5.45 5.45 0 0 0-.928 2.874c0 1.896 1.074 3.54 2.648 4.359l-.122.005H2.39C1.065 16.877.017 15.776.048 14.45L0 2.393C.044 1.071 1.131.024 2.452.033h5.566zM19.09 8.25a4.295 4.295 0 1 1 0 8.591 4.295 4.295 0 0 1 0-8.591zm0 5.83a.46.46 0 1 0 0 .92.46.46 0 0 0 0-.92zm0-3.936a.434.434 0 0 0-.433.408l.126 2.915a.307.307 0 0 0 .614 0l.122-2.822a.434.434 0 0 0-.43-.5zm-5.405-5.737a2.03 2.03 0 0 1 .95 1.653 2.03 2.03 0 0 1-.95 1.653 1.93 1.93 0 0 1-1.918 0 2.03 2.03 0 0 1-.95-1.653c.004-.678.364-1.304.95-1.653a1.93 1.93 0 0 1 1.918 0z`,fill:`currentColor`,"fill-rule":`nonzero`})]),fwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-success-icon":!0}},[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M16 2C23.7313 2 30 8.26875 30 16C30 23.7313 23.7313 30 16 30C8.26875 30 2 23.7313 2 16C2 8.26875 8.26875 2 16 2ZM22.0028 11L14.0038 19L10 15L8.5 16.5026L14.0038 22L23.5 12.5L22.0028 11Z`,fill:`#65C389`})]),pwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-failed-icon":!0}},[W(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M16 2C23.7313 2 30 8.26875 30 16C30 23.7313 23.7313 30 16 30C8.26875 30 2 23.7313 2 16C2 8.26875 8.26875 2 16 2ZM20.2426 10.3431L15.9996 14.5862L11.757 10.3435L10.3431 11.7574L14.5858 16L10.3431 20.2426L11.758 21.6575L16.0006 17.4149L20.2426 21.6569L21.6565 20.243L17.4145 16.001L21.6575 11.758L20.2426 10.3431Z`,fill:`#FF5656`})]),mwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-suspended-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM14 10H11V22H14V10ZM21 10H18V22H21V10Z`,fill:`#F59500`})]),hwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-pending-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM9.69434 7.7002C9.14293 7.7002 8.7002 8.15033 8.7002 8.7002V8.74023C8.70032 9.28999 9.14301 9.74023 9.69434 9.74023H11.1191V12.1201C11.1192 13.6989 11.8616 15.1043 13.0137 16C11.8616 16.8957 11.1192 18.3011 11.1191 19.8799V22.2598H9.71387C9.69649 22.2598 9.67908 22.2608 9.66211 22.2627C9.14435 22.2999 8.73938 22.734 8.73926 23.2598V23.2998C8.73926 23.8316 9.15347 24.2693 9.67969 24.2979C9.69103 24.2987 9.70239 24.2998 9.71387 24.2998H22.3057C22.8571 24.2998 23.2998 23.8497 23.2998 23.2998V23.2598C23.2997 22.71 22.857 22.2598 22.3057 22.2598H20.8408V19.8799C20.8408 18.3007 20.0978 16.8956 18.9453 16C20.0978 15.1044 20.8408 13.6993 20.8408 12.1201V9.74023H22.2666C22.8178 9.74006 23.2606 9.28989 23.2607 8.74023V8.7002C23.2607 8.15043 22.8179 7.70037 22.2666 7.7002H9.69434ZM22.4463 23.9854L22.3057 24C22.3951 24 22.48 23.9813 22.5586 23.9502C22.5223 23.9645 22.4852 23.9773 22.4463 23.9854ZM9.05273 23.4316C9.06084 23.4745 9.07245 23.516 9.08789 23.5557C9.07298 23.5174 9.06081 23.4777 9.05273 23.4365V23.4316ZM9.44531 22.623C9.48274 22.6058 9.52184 22.5915 9.5625 22.5811L9.56445 22.5801C9.5231 22.5906 9.48336 22.6054 9.44531 22.623ZM15.9805 17.0195C16.7368 17.0196 17.447 17.3158 17.9814 17.8564L17.9824 17.8574C18.5188 18.3966 18.8134 19.1145 18.8135 19.8799V22.2598H13.1475V19.8799C13.1475 19.1145 13.4412 18.3966 13.9775 17.8574L13.9785 17.8564C14.5131 17.3156 15.2239 17.0195 15.9805 17.0195ZM18.8135 9.74023V12.1201C18.8134 12.8855 18.5188 13.6034 17.9824 14.1426L17.9814 14.1436C17.447 14.6842 16.7368 14.9804 15.9805 14.9805C15.2239 14.9805 14.5131 14.6844 13.9785 14.1436L13.9775 14.1426L13.7881 13.9316C13.3725 13.4226 13.1475 12.7897 13.1475 12.1201V9.74023H18.8135ZM12.875 12.5459C12.87 12.5086 12.866 12.4712 12.8623 12.4336L12.8506 12.2773C12.8549 12.3676 12.8632 12.4572 12.875 12.5459Z`,fill:`#B8BBC4`})]),gwe=W(`svg`,{...If,viewBox:`0 0 32 32`,class:{[If.class]:!0,"ai-bk-flow-skipped-icon":!0}},[W(`path`,{d:`M16 2C23.732 2 30 8.26801 30 16C30 23.732 23.732 30 16 30C8.26801 30 2 23.732 2 16C2 8.26801 8.26801 2 16 2ZM17.0156 8.8125C16.6831 8.81258 16.4131 9.08514 16.4131 9.4209V11.8574L16.3984 11.8594C14.1864 12.2432 12.5291 13.4566 12.3467 13.5947C11.5353 14.1512 10.813 14.8455 10.1973 15.6533C9.70507 16.3019 9.28342 17.0276 8.93945 17.8086C8.4036 19.027 8.23229 19.9214 8.19238 20.167V20.1709C8.18865 20.1842 8.18638 20.1997 8.18262 20.2168L8.18066 20.2246C8.16356 20.309 8.13736 20.4356 8.12598 20.6387C8.11649 20.8244 8.18634 20.9396 8.24707 21.0049C8.33639 21.1008 8.46603 21.1533 8.61426 21.1533C8.8347 21.1533 9.00412 20.9708 9.15234 20.8115L9.1543 20.8096C9.17706 20.7847 9.19793 20.7613 9.2207 20.7383C9.86489 20.0898 10.6804 19.5176 11.5811 19.084C12.3449 18.7176 13.2058 18.4188 14.1387 18.1963C15.0584 17.9775 15.8738 17.8771 16.3945 17.8311L16.415 17.8291V20.5596C16.415 20.8953 16.6851 21.1679 17.0176 21.168L16.999 21.1836L17.0371 21.1875L17.0176 21.168C17.1639 21.168 17.3068 21.1145 17.417 21.0166L23.6729 15.4385C23.6918 15.4213 23.7086 15.4039 23.7256 15.3848C23.9441 15.1315 23.9197 14.748 23.6709 14.5254L17.415 8.96387C17.3048 8.86601 17.1619 8.8125 17.0156 8.8125Z`,fill:`#5B7290`})]),_we=W(`svg`,{...If,class:{[If.class]:!0,"ai-execution-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,d:`M512 64A448 448 0 1 1 64 512 448 448 0 0 1 512 64Zm0 64A384 384 0 0 0 128 512 384 384 0 0 0 784 784 384 384 0 0 0 784 240 384 384 0 0 0 512 128ZM448 576V256h64V512H768v64Z`})]),Lf=W(`svg`,{...If,class:{[If.class]:!0,"ai-node-output-icon":!0}},[W(`path`,{d:`M800 128c17.664 0 32 12.288 32 27.424v545.408L594.016 896H224c-17.664 0-32-12.288-32-27.424V155.424C192 140.288 206.336 128 224 128z m-26.176 59.072H250.176v649.856h276.384v-134.88c0-31.52 28.704-57.12 64-57.12h183.264V187.072zM735.52 704h-144.96a13.024 13.024 0 0 0-5.824 1.216v122.432L735.52 704zM704 480v64H320v-64h384z m-128-96v64h-256v-64h256z m96-128v64H320V256h352z`})]),vwe=W(`svg`,{...If,viewBox:`0 0 16 16`,class:{[If.class]:!0,"ai-toolcall-icon":!0}},[W(`path`,{d:`M10.1019 8.26041C10.5201 8.4339 10.9764 8.53219 11.4568 8.53219C13.4324 8.53219 15.033 6.90153 15.033 4.88878C15.033 4.67918 15.0119 4.47459 14.9788 4.27502L12.4416 7.04092L10.0457 6.59766L9.2254 4.26299L11.9582 1.28448C11.7922 1.25938 11.6247 1.24598 11.4568 1.24436C9.48113 1.24436 7.87956 2.87603 7.87956 4.88777C7.87956 5.40525 7.98686 5.89666 8.17741 6.34193C7.07325 8.32259 5.41853 9.97731 4.76767 10.5891C4.5615 10.5249 4.34678 10.4924 4.13085 10.4928C2.91136 10.4928 1.92254 11.4997 1.92254 12.7422C1.92254 13.9838 2.91136 14.9906 4.13085 14.9906C5.35033 14.9906 6.33916 13.9838 6.33916 12.7422C6.33916 12.4414 6.27999 12.1565 6.17569 11.8948C7.26118 10.4625 8.59017 9.23226 10.1019 8.26041ZM4.13185 13.9396C3.81764 13.9367 3.51744 13.8092 3.29723 13.585C3.07702 13.3609 2.95482 13.0584 2.9575 12.7442C2.9575 12.0833 3.483 11.5478 4.13185 11.5478C4.7797 11.5478 5.30621 12.0833 5.30621 12.7442C5.30861 13.0584 5.18633 13.3606 4.96618 13.5847C4.74603 13.8088 4.44598 13.9365 4.13185 13.9396ZM4.34245 5.43634L6.43543 7.62259L7.4383 6.59966L5.34632 4.41442L5.84775 3.90296L3.03873 1.04279L1.033 3.08663L3.84102 5.9478L4.34245 5.43634ZM10.8541 8.73878C10.8541 8.73878 9.13214 9.21614 7.94976 11.3101C7.90262 11.1898 11.1178 14.6095 11.1178 14.6095C11.2483 14.7436 11.4043 14.8502 11.5766 14.9229C11.7489 14.9957 11.9341 15.0332 12.1212 15.0332C12.3082 15.0332 12.4934 14.9957 12.6657 14.9229C12.8381 14.8502 12.9941 14.7436 13.1245 14.6095L13.9268 13.7932C14.1933 13.5198 14.3424 13.1531 14.3424 12.7713C14.3424 12.3895 14.1933 12.0228 13.9268 11.7494L10.8541 8.73878ZM12.239 14.0469C12.2064 14.0807 12.1673 14.1076 12.124 14.126C12.0808 14.1443 12.0343 14.1538 11.9873 14.1538C11.9403 14.1538 11.8938 14.1443 11.8506 14.126C11.8073 14.1076 11.7682 14.0807 11.7356 14.0469L9.15621 11.4194C9.01681 11.278 9.01681 11.0484 9.15621 10.906C9.2956 10.7636 9.52125 10.7636 9.66065 10.906L12.239 13.5325C12.3794 13.6749 12.3794 13.9055 12.239 14.0469ZM13.3743 12.8906C13.3416 12.9244 13.3025 12.9513 13.2593 12.9696C13.216 12.988 13.1695 12.9975 13.1225 12.9975C13.0756 12.9975 13.0291 12.988 12.9858 12.9696C12.9426 12.9513 12.9035 12.9244 12.8708 12.8906L10.2915 10.2641C10.1521 10.1217 10.1521 9.89307 10.2915 9.75067C10.4308 9.60826 10.6555 9.60826 10.7959 9.75067L13.3743 12.3772C13.4414 12.4458 13.479 12.5379 13.479 12.6339C13.479 12.7299 13.4414 12.822 13.3743 12.8906Z`})]),ywe=W(`svg`,{...If,viewBox:`0 0 10 10`,class:{[If.class]:!0,"ai-chevron-right-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M7.5 5L3.39844 9.0625L2.5 8.17344L5.70312 5L2.5 1.82656L3.39844 0.9375L7.5 5Z`})]),bwe=W(`svg`,{...If,class:{[If.class]:!0,"ai-node-tab-icon":!0}},[W(`path`,{d:`M374.656 640c57.184 0 105.184 41.088 118.72 96.384 1.312-0.16 2.624-0.384 3.968-0.384h368c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-368c-1.376 0-2.656-0.256-3.936-0.384-13.568 55.296-61.568 96.384-118.72 96.384-57.184 0-105.216-41.088-118.72-96.384-1.344 0.16-2.624 0.384-3.968 0.384H190.656C173.76 800 160 785.664 160 768s13.76-32 30.656-32h61.344c1.344 0 2.624 0.256 3.936 0.384C269.472 681.088 317.504 640 374.656 640z m0 64c-33.824 0-61.312 28.704-61.312 64s27.52 64 61.312 64c33.824 0 61.344-28.704 61.344-64s-27.52-64-61.344-64z m306.688-320c57.152 0 105.184 41.088 118.72 96.384 1.28-0.16 2.56-0.384 3.936-0.384h61.344c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-61.344c-1.344 0-2.624-0.256-3.936-0.384-13.536 55.296-61.568 96.384-118.72 96.384-57.184 0-105.184-41.088-118.72-96.384-1.312 0.16-2.624 0.384-3.968 0.384h-368C173.76 544 160 529.664 160 512s13.76-32 30.656-32h368c1.376 0 2.656 0.256 3.936 0.384 13.568-55.296 61.568-96.384 118.72-96.384z m0 64c-33.824 0-61.344 28.704-61.344 64s27.52 64 61.344 64 61.312-28.704 61.312-64-27.52-64-61.312-64z m-306.688-288c57.184 0 105.184 41.088 118.72 96.384 1.312-0.16 2.624-0.384 3.968-0.384h368c16.928 0 30.656 14.336 30.656 32s-13.76 32-30.656 32h-368c-1.376 0-2.656-0.256-3.936-0.384-13.568 55.296-61.568 96.384-118.72 96.384-57.184 0-105.216-41.088-118.72-96.384-1.344 0.16-2.624 0.384-3.968 0.384H190.656C173.76 320 160 305.664 160 288s13.76-32 30.656-32h61.344c1.344 0 2.624 0.256 3.936 0.384C269.472 201.088 317.504 160 374.656 160z m0 64c-33.824 0-61.312 28.704-61.312 64s27.52 64 61.312 64c33.824 0 61.344-28.704 61.344-64s-27.52-64-61.344-64z`})]),xwe=W(`svg`,{...If,viewBox:`0 0 16 16`,class:{[If.class]:!0,"ai-file-artifact-tab-icon":!0}},[W(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M3.5 14C3.22386 14 3 13.8082 3 13.5715L3 5.04938L6.71864 2L12.5 2C12.7761 2 13 2.192 13 2.42854L13 13.5715C13 13.8082 12.7761 14 12.5 14L3.5 14ZM3.90909 13.0769L12.0909 13.0769L12.0909 2.92308L7.77273 2.92308L7.77273 5.03069C7.77273 5.52292 7.32409 5.92308 6.77273 5.92308L3.90909 5.92308L3.90909 13.0769ZM4.50727 5L6.77273 5C6.81523 5 6.84568 4.98985 6.86364 4.98085L6.86363 3.06777L4.50727 5ZM5 8.5L5 7.5L11 7.5L11 8.5L5 8.5ZM7 10L7 9L11 9L11 10L7 10ZM5.5 12L5.5 11L11 11L11 12L5.5 12Z`})]),Swe=W(`svg`,{...If,class:{[If.class]:!0,"ai-file-download-icon":!0}},[W(`path`,{d:`M192 640v192h640v-192h64v224c0 17.6-14.4 32-32 32h-704a32.064 32.064 0 0 1-32-32V640h64z m352-512v452.8l104-102.4 44.8 44.8L556.8 659.2 512 704l-44.8-44.8-136-136 44.8-44.8 104 102.4V128h64z`})]),Cwe=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
239
239
|
<g id="c">
|
|
240
240
|
<path id="path4-path" fill-rule="evenodd" clip-rule="evenodd" d="M11.5109 11.4029L11.8566 13.4943C11.6374 13.6143 11.2832 13.7257 10.811 13.8286C10.3304 13.94 9.76538 14 9.11607 14C7.25248 13.9657 5.85268 13.4 4.91667 12.32C3.97222 11.2314 3.5 9.85143 3.5 8.18C3.54216 6.2 4.10714 4.68286 5.18651 3.62C6.2996 2.54857 7.68254 2 9.35218 2C9.98462 2 10.5327 2.06 10.9881 2.16286C11.4435 2.26571 11.7808 2.37714 12 2.50571L11.5109 4.64L10.6171 4.34857C10.2798 4.26286 9.89187 4.22 9.44494 4.22C8.46677 4.21143 7.65724 4.52857 7.0248 5.16286C6.38393 5.78857 6.05506 6.74857 6.02976 8.02571C6.02976 9.19143 6.34177 10.1 6.94048 10.7686C7.53919 11.4286 8.38244 11.7714 9.46181 11.78L10.5833 11.6771C10.9459 11.6086 11.2495 11.5143 11.5109 11.4029Z" fill="#3965BD"/>
|
|
241
241
|
</g>
|
|
@@ -3904,7 +3904,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3904
3904
|
data-tag-* 是编辑器 void 节点的识别依据(见 ai-slash-input/constants.ts 的 tagSchema)。
|
|
3905
3905
|
在消息里它们不参与交互,但保留后从消息复制到输入框可以原样还原成标签。
|
|
3906
3906
|
`),Nn((B(),V(`span`,{class:xe([`ai-mention-tag`,{"is-interactive":!!e.description||r.value}]),contenteditable:`false`,"data-tag-description":e.description||void 0,"data-tag-icon":e.icon||void 0,"data-tag-label":e.label,"data-tag-type":e.type,"data-tag-value":e.value,onClick:i},[Jr(z(R9),{icon:e.icon,name:e.label,type:e.type},null,8,[`icon`,`name`,`type`]),H(`span`,Kqt,ke(e.label),1)],10,Gqt)),[[z(Hp),a.value]])],2112))}}),Jqt={class:`ai-mention-text`},Yqt={key:0},Xqt={key:0},Zqt=Qn({__name:`mention-text`,props:{doc:{}},setup(e){return(t,n)=>(B(),V(`div`,Jqt,[(B(!0),V(Ir,null,dr(e.doc,(e,t)=>(B(),V(Ir,{key:t},[t>0?(B(),V(`br`,Yqt)):Qr(`v-if`,!0),(B(!0),V(Ir,null,dr(e,(e,t)=>(B(),V(Ir,{key:t},[e.type===`text`?(B(),V(`span`,Xqt,ke(e.text),1)):(B(),Wr(qqt,{key:1,description:e.data.description,icon:e.data.icon,label:e.data.label,type:e.data.type,value:e.data.value},null,8,[`description`,`icon`,`label`,`type`,`value`]))],64))),128))],64))),128))]))}}),Qqt=(e,t,n,r)=>new w9().delete(n,r),$qt=(e,t,n,r)=>new w9().insert(n,[[{data:{label:r.name,value:r.id,type:r.type,icon:typeof r.icon==`string`?r.icon:``,description:r.description??``}}]]),eJt=(e,t,n,r)=>new w9().insert(n,[[{text:r}]]),tJt=e=>{let t=e.data;return t.type===`skill`?`/${t.value}`:`@${t.label}`},nJt=e=>b9(e,tJt),rJt=WKt({multiline:!0,void:{tag:UKt({is:e=>e.contentEditable===`false`&&e.dataset.tagType!==void 0,data:e=>({label:e.dataset.tagLabel??e.textContent,value:e.dataset.tagValue,type:e.dataset.tagType,icon:e.dataset.tagIcon??``,description:e.dataset.tagDescription??``}),plain:e=>e.type===`skill`?`/${e.value}`:e.label})}}),iJt=()=>{if(typeof window>`u`)return null;let e=window.getSelection();if(!e||e.rangeCount===0)return null;let t=e.getRangeAt(0),n=t.startContainer;if(n.nodeType!==Node.TEXT_NODE)return null;let r=t.startOffset;return{node:n,offset:r,textBefore:(n.textContent||``).slice(0,r)}},aJt=()=>{let e=cn(null),t=cn(``),n=null,r=()=>{e.value=null,t.value=``,n=null},i=e=>{let n=iJt();if(!n){r();return}let i=e===`\\`?`\\\\`:e,a=n.textBefore.match(RegExp(`(${i}[^\\s]*)$`));if(!a){r();return}t.value=a[1].slice(1)},a=()=>{let e=iJt();if(!e){t.value=``;return}if(n){if(e.node!==n.node||e.offset<n.offset){r();return}t.value=(e.node.textContent||``).slice(n.offset,e.offset);return}t.value=e.textBefore.match(/(\S*)$/)?.[1]??``};return{trigger:e,keyword:t,activateChar:r=>{e.value=r,t.value=``,n=null},activatePlus:()=>{let r=iJt();e.value=`plus`,t.value=``,n=r?{node:r.node,offset:r.offset}:null},close:r,sync:()=>{if(e.value){if(e.value===`plus`){a();return}i(e.value)}},getConsumeLength:()=>t.value.length+(e.value&&e.value!==`plus`?1:0)}},oJt={class:`ai-slash-input-wrapper`},sJt=[`aria-placeholder`],cJt={key:0},lJt={key:1},uJt=Qn({__name:`ai-slash-input`,props:{modelValue:{},placeholder:{default:Ef?`Please enter content`:`请输入内容`}},emits:[`update:modelValue`,`keydown`,`upload`,`menuChange`],setup(e,{expose:t,emit:n}){let r=$n(`editorRef`),i=n,a=e,o=dn((e,t)=>({get(){return e(),typeof a.modelValue==`string`?x9(a.modelValue):a.modelValue},set(e){i(`update:modelValue`,e),t()}})),{commandSelection:s,GetCursorPosition:l,GetDocSnapshot:u,docSnapshot:d}=nke(),f=aJt(),p,m,h=null,g=null,_=()=>{h!==null&&(clearTimeout(h),h=null),g!==null&&(clearTimeout(g),g=null)};Ln(()=>a.modelValue,()=>{p.command(u),b9(d.value||[])!==b9(o.value||[])&&p.command(O9,b9(o.value||[]))},{deep:!1}),Ln([f.trigger,f.keyword],()=>{i(`menuChange`,{trigger:f.trigger.value,keyword:f.keyword.value})});let v=()=>{h!==null&&clearTimeout(h),h=setTimeout(()=>{h=null,f.sync()},16)},y=e=>{if(i(`keydown`,e),e.key===`Enter`||e.key===`NumpadEnter`)return e.shiftKey?void 0:(e.preventDefault?.(),!1);Bqt.includes(e.key)&&f.activateChar(e.key),v()},b=()=>{if(typeof window>`u`||!r.value)return;r.value.focus();let e=window.getSelection(),t=document.createRange();e&&(t.selectNodeContents(r.value),t.collapse(!1),e.removeAllRanges(),e.addRange(t))},x=()=>{g!==null&&clearTimeout(g),g=setTimeout(()=>{g=null,b()},100)},S=()=>{p.command(l);let{column:e,line:t}=s.value,n=Math.max(e-f.getConsumeLength(),0);return n<e&&p.command(Qqt,[t,n],[t,e]),[t,n]},C=e=>{let[t,n]=S();p.command($qt,[t,n],e),p.command(eJt,[t,n+1],` `),f.close(),x()},w=e=>{p.command(O9,e),f.close(),x()},T=e=>{let t=o.value??[],n=Math.max(t.length-1,0),r=(t[n]??[]).reduce((e,t)=>e+(t.type===`text`?t.text.length:1),0);p.command($qt,[n,r],e),p.command(eJt,[n,r+1],` `),x()},E=()=>{if(!r.value)return;let e=window.getSelection()?.anchorNode??null;(!e||!r.value.contains(e))&&b(),f.activatePlus()},D=e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t)if(e.kind===`file`){let t=e.getAsFile();t&&n.push(t)}n.length>0&&(e.preventDefault(),i(`upload`,n))},O=()=>{m?.(),p=VKt({doc:o.value,schema:rJt,onChange:async e=>{o.value=e,v()},onKeyDown:e=>y(e)}),m=p.input(r.value)};return or(()=>{O(),r.value?.addEventListener(`paste`,D)}),cr(()=>{_(),p.command(O9,``),m?.(),r.value?.removeEventListener(`paste`,D)}),t({appendMention:T,cleanup:()=>{p.command(O9,``),f.close()},closeMenu:f.close,consumeTriggerText:S,focus:x,insertMenuItem:C,openPlusMenu:E,replaceAll:w}),(t,n)=>(B(),V(`div`,oJt,[H(`div`,{ref_key:`editorRef`,ref:r,"aria-placeholder":e.placeholder,class:`ai-slash-input`,spellcheck:`false`},[o.value?.length&&o.value.some(e=>e.length)?(B(!0),V(Ir,{key:0},dr(o.value,(e,t)=>(B(),V(`div`,{key:t},[e.length?(B(!0),V(Ir,{key:0},dr(e,(e,t)=>(B(),V(Ir,{key:t},[e.type===`text`?(B(),V(`span`,cJt,ke(e.text),1)):e.type===`tag`?(B(),Wr(z(qqt),{key:1,description:e.data.description,icon:e.data.icon,label:e.data.label,type:e.data.type,value:e.data.value},null,8,[`description`,`icon`,`label`,`type`,`value`])):Qr(`v-if`,!0)],64))),128)):(B(),V(`br`,lJt))]))),128)):Qr(`v-if`,!0)],8,sJt)]))}});function dJt(e){let{isEn:t,hasSlashMenu:n,hasPromptMenu:r,hasAtMenu:i}=e,a=[];return n&&a.push(t?`Input "/" to trigger Skill, tool and MCP`:`输入 "/" 唤出 Skill,工具,MCP`),i&&a.push(t?`Input "@" to trigger conversation files and knowledge base`:`输入 "@" 唤出会话产物,知识库`),r&&a.push(t?`Input "\\" to trigger prompt`:`输入 "\\" 唤出 Prompt`),a.push(t?`Use Shift + Enter to enter a new line`:`通过 Shift + Enter 进行换行输入`),a.join(`
|
|
3907
|
-
`)}var fJt={class:`ai-input-attachment`},pJt={class:`ai-input-attachment-default`},mJt={class:`ai-input-attachment-before-send`},hJt=Qn({__name:`input-attachment`,props:{messageState:{},sendDisabledTip:{},tippyOptions:{}},emits:[`sendMessage`,`stopSending`],setup(e,{emit:t}){let n=e,r=t,i=()=>{r(`stopSending`)},a=()=>{n.sendDisabledTip||n.messageState===Mf.Disabled||n.messageState===Mf.Pending||n.messageState===Mf.Streaming||r(`sendMessage`)};return(t,r)=>(B(),V(`div`,fJt,[H(`div`,pJt,[pr(t.$slots,`default`)]),H(`div`,mJt,[pr(t.$slots,`before-send`)]),pr(t.$slots,`send-icon`,{},()=>[H(`div`,{class:xe([`send-message-icon`,[e.messageState&&`send-message-icon__${e.messageState}`,{"send-message-icon__disabled":e.sendDisabledTip}]]),onClick:a},[e.messageState===z(Mf).Streaming||e.messageState===z(Mf).Pending||e.messageState===z(Mf).Fetching?Nn((B(),Wr(z(WTe),{key:0,onClick:i},null,512)),[[z(Hp),{...e.tippyOptions,content:z(Df)(`停止`),theme:`ai-chat-box`,offset:[0,16]}]]):Nn((B(),Wr(z(UTe),{key:1},null,512)),[[z(Hp),{...e.tippyOptions,content:e.sendDisabledTip||(n.messageState===z(Mf).Disabled?void 0:z(Df)(`发送`)),theme:`ai-chat-box`,offset:[0,16]}]])],2)])]))}}),gJt={class:`ai-input-menu-option-name`},_Jt=Qn({__name:`input-menu-option`,props:{active:{type:Boolean},item:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=U(()=>{if(!n.item.description)return{content:``,onShow:()=>!1};let e=Hqt(n.item.type);return Iqt({title:e?`${Df(e)}:${n.item.name}`:n.item.name,description:n.item.description})}),a=()=>{n.item.disabled||r(`select`,n.item)};return(t,n)=>Nn((B(),V(`div`,{class:xe([`ai-input-menu-option`,{"is-active":e.active,"is-disabled":e.item.disabled}]),onClick:a},[Jr(z(R9),{icon:e.item.icon,name:e.item.name,type:e.item.type},null,8,[`icon`,`name`,`type`]),Nn((B(),V(`span`,gJt,[Zr(ke(e.item.name),1)])),[[z(rm),{text:e.item.name,zIndex:z(Pf)}]])],2)),[[z(Hp),i.value]])}}),vJt={class:`ai-input-menu-title`},yJt={key:0,class:`ai-input-menu-empty`},bJt=[`onClick`],xJt=Qn({__name:`input-menu-panel`,props:{flatItems:{},groups:{}},emits:[`select`,`toggleGroup`,`close`],setup(e,{emit:t}){let n=e,r=t,i=$n(`panelRef`),a=U(()=>n.flatItems),{activeIndex:o}=gke({items:a,onSelect:e=>r(`select`,e),menuRef:i}),s=U(()=>n.flatItems[o.value]);Ln(a,()=>{o.value=0});let l=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),r(`close`))};return or(()=>{window.addEventListener(`keydown`,l,!0)}),cr(()=>{window.removeEventListener(`keydown`,l,!0)}),(t,n)=>(B(),V(`div`,{ref_key:`panelRef`,ref:i,class:`ai-input-menu`},[(B(!0),V(Ir,null,dr(e.groups,e=>(B(),V(`div`,{key:e.key,class:xe([`ai-input-menu-group`,{"is-divided":e.divided}])},[H(`div`,vJt,ke(z(Df)(e.name)),1),(B(!0),V(Ir,null,dr(e.items,e=>(B(),Wr(_Jt,{key:e.id,active:s.value?.id===e.id,item:e,onSelect:n[0]||=e=>r(`select`,e)},null,8,[`active`,`item`]))),128)),e.items.length?Qr(`v-if`,!0):(B(),V(`div`,yJt,ke(z(Df)(`暂无数据`)),1)),e.restCount?(B(),V(`div`,{key:1,class:`ai-input-menu-toggle`,onClick:t=>r(`toggleGroup`,e.key)},[Jr(z(zf),{class:xe([`ai-input-menu-toggle-icon`,{"is-expanded":e.expanded}])},null,8,[`class`]),H(`span`,null,ke(e.expanded?z(Df)(`收起`):z(Df)(`更多`))+` +`+ke(e.restCount),1)],8,bJt)):Qr(`v-if`,!0)],2))),128))],512))}}),SJt=e=>{let t=cn([]);Ln([()=>e.keyword.value,()=>e.trigger.value],()=>{t.value=[]});let n=U(()=>{let n=e.trigger.value;if(!n)return[];let r=Math.max(e.groupItemLimit.value,1),i=e.keyword.value.trim().toLowerCase(),a=[];for(let o of Rqt[n]){let n=Lqt[o],s=e.sources.value.filter(e=>(e.type!==`artifact`||!!e.id)&&n.types.includes(e.type)&&(!i||e.name.toLowerCase().includes(i)));if(!s.length)continue;let l=t.value.includes(o),u=Math.max(s.length-r,0);a.push({key:o,name:n.name,divided:zqt.includes(o),expanded:l,items:l||!u?s:s.slice(0,r),restCount:u})}return a});return{groups:n,flatItems:U(()=>n.value.flatMap(e=>e.items.filter(e=>!e.disabled))),hasContent:U(()=>n.value.length>0),toggleGroup:e=>{let n=t.value.indexOf(e);t.value=n===-1?[...t.value,e]:[...t.value.slice(0,n),...t.value.slice(n+1)]}}},CJt=[{key:`support_thinking`,label:()=>Df(`深度思考`),theme:`primary`},{key:`support_thinking_quick`,label:()=>Df(`快速思考`),theme:`success`},{key:`support_vision`,label:()=>Df(`图生文`),theme:`warning`}],wJt=e=>CJt.filter(t=>e.property?.[t.key]).map(e=>({text:e.label(),theme:e.theme})),TJt={class:`ai-model-selector-panel-search`},EJt={class:`ai-model-selector-panel-list`},DJt=[`title`,`onClick`],OJt=[`title`],kJt={key:1,class:`ai-model-selector-panel-option-tags`},AJt={key:0,class:`ai-model-selector-panel-empty`},jJt=Qn({__name:`model-selector-panel`,props:yr({models:{},searchPlaceholder:{},selectedName:{}},{keyword:{default:``},keywordModifiers:{}}),emits:yr([`select`],[`update:keyword`]),setup(e,{expose:t,emit:n}){let r=e,i=U(()=>{let e=new Map;return r.models.forEach(t=>e.set(t.llm_name,wJt(t))),e}),a=n,o=Er(e,`keyword`),s=$n(`panelRef`),l=$n(`searchInputRef`),u=cn(r.models),{activeIndex:d}=gke({items:u,menuRef:s,onSelect:e=>f(e)});Ln(()=>r.models,e=>{u.value=e,d.value=0});let f=e=>{e.disabled||a(`select`,e)};return t({focusSearch:()=>{Dn(()=>{l.value?.focus()})}}),(t,n)=>(B(),V(`div`,{ref_key:`panelRef`,ref:s,class:`ai-model-selector-panel`},[H(`div`,TJt,[Jr(z(mu),{ref_key:`searchInputRef`,ref:l,modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,behavior:`simplicity`,class:`ai-model-selector-panel-search-input`,clearable:``,placeholder:e.searchPlaceholder,type:`text`},{prefix:Mn(()=>[Jr(z(ATe),{class:`ai-model-selector-panel-search-icon`})]),_:1},8,[`modelValue`,`placeholder`])]),H(`div`,EJt,[(B(!0),V(Ir,null,dr(e.models,(t,n)=>(B(),V(`div`,{key:t.id,class:xe([`ai-model-selector-panel-option`,{"is-selected":t.llm_name===e.selectedName,"is-active":n===z(d),"is-disabled":t.disabled}]),title:t.description,onClick:e=>f(t)},[t.icon?(B(),Wr(z(R9),{key:0,class:`ai-model-selector-panel-option-icon`,icon:t.icon,name:t.llm_name,type:`model`},null,8,[`icon`,`name`])):Qr(`v-if`,!0),H(`span`,{class:`ai-model-selector-panel-option-name`,title:t.llm_name},ke(t.llm_name),9,OJt),i.value.get(t.llm_name)?.length?(B(),V(`span`,kJt,[(B(!0),V(Ir,null,dr(i.value.get(t.llm_name),(e,t)=>(B(),V(`span`,{key:t,class:xe([`ai-model-capability-tag`,`is-${e.theme||`default`}`])},ke(e.text),3))),128))])):Qr(`v-if`,!0)],10,DJt))),128)),e.models.length?Qr(`v-if`,!0):(B(),V(`div`,AJt,[Jr(z(ad),{scene:`part`,type:`empty`},{default:Mn(()=>[Zr(ke(z(Df)(`搜索结果为空`)),1)]),_:1})]))])],512))}}),MJt={class:`ai-model-selector-trigger-name`},NJt=Qn({__name:`model-selector-trigger`,props:{disabled:{type:Boolean},expanded:{type:Boolean},model:{},placeholder:{}},setup(e){return(t,n)=>(B(),V(`div`,{class:xe([`ai-model-selector-trigger`,{"is-expanded":e.expanded,"is-disabled":e.disabled}])},[e.model?.icon?(B(),Wr(z(R9),{key:0,class:`ai-model-selector-trigger-icon`,icon:e.model.icon,name:e.model.llm_name,type:`model`},null,8,[`icon`,`name`])):Qr(`v-if`,!0),H(`span`,MJt,ke(e.model?.llm_name||e.placeholder),1),Jr(z(zf),{class:`ai-model-selector-trigger-arrow`})],2))}}),PJt=e=>{let t=cn(``);return{keyword:t,filteredModels:U(()=>{let n=t.value.trim().toLowerCase();return n?e.models.value.filter(e=>e.llm_name.toLowerCase().includes(n)):e.models.value}),currentModel:U(()=>e.models.value.find(t=>t.llm_name===e.selectedModel.value)),resetKeyword:()=>{t.value=``}}},FJt=Qn({__name:`model-selector`,props:yr({disabled:{type:Boolean},models:{default:()=>[]},placeholder:{default:()=>Df(`选择模型`)},searchPlaceholder:{default:()=>Df(`搜索模型关键字`)},tippyOptions:{default:void 0}},{modelValue:{},modelModifiers:{}}),emits:yr([`change`],[`update:modelValue`]),setup(e,{emit:t}){let n=e,r=t,i=Er(e,`modelValue`),a=$n(`tippyRef`),o=$n(`panelRef`),s=cn(!1),{keyword:l,filteredModels:u,currentModel:d,resetKeyword:f}=PJt({models:pn(n,`models`),selectedModel:i}),p=U(()=>({arrow:!1,interactive:!0,offset:[0,6],placement:`top-end`,theme:`ai-model-selector`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),m=()=>{if(n.disabled||!n.models.length)return!1;s.value=!0,f(),o.value?.focusSearch()},h=()=>{s.value=!1},g=e=>{i.value=e.llm_name,r(`change`,e),a.value?.hide?.()};return(t,n)=>(B(),Wr(z(Vp),ni({ref_key:`tippyRef`,ref:a},p.value,{onHidden:h,onShow:m}),{content:Mn(()=>[Jr(jJt,{ref_key:`panelRef`,ref:o,keyword:z(l),"onUpdate:keyword":n[0]||=e=>on(l)?l.value=e:null,models:z(u),"search-placeholder":e.searchPlaceholder,"selected-name":i.value,onSelect:g},null,8,[`keyword`,`models`,`search-placeholder`,`selected-name`])]),default:Mn(()=>[Jr(NJt,{disabled:e.disabled,expanded:s.value,model:z(d),placeholder:e.placeholder},null,8,[`disabled`,`expanded`,`model`,`placeholder`])]),_:1},16))}}),IJt={class:`chat-input-wrapper`},LJt=[`accept`],RJt={key:1,class:`ai-divider`},zJt=Qn({__name:`chat-input`,props:yr({accept:{default:KCe},defaultUploadFiles:{},inputMaxHeight:{default:280},menuGroupItemLimit:{default:4},menuSources:{default:()=>[]},messageStatus:{},models:{},modelValue:{},onSendMessage:{},onStopSending:{},onUpload:{},placeholder:{},sendDisabledTip:{},shortcutId:{},shortcuts:{},supportUpload:{type:Boolean,default:!0},tippyOptions:{}},{cite:{required:!1,default:``},citeModifiers:{},selectedModel:{required:!1},selectedModelModifiers:{}}),emits:yr([`selectShortcut`,`deleteShortcut`,`deleteFile`,`update:modelValue`,`modelChange`],[`update:cite`,`update:selectedModel`]),setup(e,{expose:t,emit:n}){let r=$n(`aiSlashInputRef`),i=$n(`containerRef`),a=$n(`filesRef`),o=$n(`fileInputRef`),s=Er(e,`cite`),l=Er(e,`selectedModel`),u=cn(280),d=e,f=n,p=U(()=>new Set(_.value.map(e=>e.type))),m=U(()=>d.placeholder===void 0?dJt({isEn:Ef,hasSlashMenu:[`skill`,`mcp`,`tool`].some(e=>p.value.has(e)),hasAtMenu:[`knowledgebase`,`doc`,`artifact`].some(e=>p.value.has(e)),hasPromptMenu:p.value.has(`prompt`)}):d.placeholder),h=sn(d.defaultUploadFiles||[]),g=U(()=>h.value.map(Zp).filter(e=>!!e)),_=U(()=>{let e=new Map(d.menuSources.map(e=>[`${e.type}:${e.id}`,e]));for(let t of g.value)e.set(`artifact:${t.outputId}`,Qp(t));return[...e.values()]}),v=U(()=>d.shortcuts?.find(e=>e.id===d.shortcutId)),y=cn(null),b=cn(``),x=U(()=>typeof d.modelValue==`string`?new Set:new Set(d.modelValue.flat().filter(e=>e.type===`tag`).map(e=>`${e.data.type}:${e.data.value}`))),S=U(()=>{let e=_.value.filter(e=>!x.value.has(`${e.type}:${e.id}`));return d.supportUpload?[{id:`__built_in_file__`,type:`file`,name:Df(`文件`)},...e]:e}),C=U(()=>d.accept||void 0),{groups:w,flatItems:T,hasContent:E,toggleGroup:D}=SJt({sources:S,keyword:b,trigger:y,groupItemLimit:U(()=>d.menuGroupItemLimit)}),O=U(()=>!!y.value&&E.value),k=U(()=>d.supportUpload||d.menuSources.length>0),A=e=>{y.value=e.trigger,b.value=e.keyword},j=()=>{r.value?.closeMenu?.()},M=()=>{if(y.value===`plus`){j();return}r.value?.openPlusMenu?.()},N=e=>{D(e)},P=()=>{o.value?.click()},F=e=>{if(e.type===`file`){r.value?.consumeTriggerText?.(),j(),P();return}if(e.type===`prompt`){r.value?.replaceAll?.(e.content??e.name);return}r.value?.insertMenuItem?.(e)},I=U(()=>typeof d.modelValue==`string`?d.modelValue:nJt(d.modelValue)),L=U(()=>d.messageStatus&&[Mf.Pending,Mf.Streaming,Mf.Fetching].includes(d.messageStatus)||h.value.length>0||I.value.trim()?d.messageStatus:Mf.Disabled),R=U(()=>h.value.some(e=>e.status===F9.Pending)),ee=U(()=>h.value.some(e=>e.status===F9.Error)),te=U(()=>{if(d.sendDisabledTip)return d.sendDisabledTip;if(R.value)return Df(`文件上传中,请稍候`);if(ee.value)return Df(`存在上传失败的文件,请删除后重试`)});wee(()=>{let e=d.inputMaxHeight||280;if(h.value.length<1||!a.value){u.value=e;return}u.value=e+(a.value?.clientHeight||0)});let ne=()=>yke(Array.isArray(d.modelValue)?d.modelValue:[],g.value),re=async()=>{try{if(te.value)return;r.value?.cleanup?.();let e;h.value?.length?(e=h.value?.slice().map(e=>({type:Af.Binary,id:e.id,outputId:e.outputId,url:e.url,mimeType:e.mimeType||e.file?.type||``,filename:Yp(e),size:Xp(e)})),I.value.trim()&&e.push({type:Af.Text,text:I.value})):e=I.value,d.onSendMessage?.(e,ne()),h.value=[]}catch(e){console.error(e)}},ie=e=>{if(e.key===`Enter`||e.key===`NumpadEnter`){if(e.shiftKey||O.value||L.value===Mf.Disabled||te.value||L.value===Mf.Fetching||L.value===Mf.Streaming||L.value===Mf.Pending)return;re()}},ae=async()=>{try{d.onStopSending?.()}catch(e){console.error(e)}},oe=()=>{s.value=``},se=e=>{f(`selectShortcut`,e)},ce=()=>{f(`deleteShortcut`)},le=e=>{f(`modelChange`,e)},ue=($Ce/(1024*1024)).toFixed(1),de=(e,t)=>{if(t?.status!==`failed`&&(t?.id||t?.path||t?.download_url||t?.status===`success`)){e.id=t.id||t.path,e.outputId=t.path,e.url=t.download_url,e.status=F9.Success;return}e.status=F9.Error},fe=async e=>{if(!d.supportUpload)return;let t=new Set(h.value.map(e=>e.file?Jp(e.file):``)),n=[],r=0,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=Jp(o);if(t.has(s))continue;if(h.value.length>=9){r+=e.length-a;break}if(!Eke(o,d.accept)){i+=1;continue}if(o.size<=0||o.size>=47185920){r+=1;continue}t.add(s);let l=Jt({file:o,mimeType:o.type,status:F9.Pending});h.value.push(l),n.push(l)}if(i>0&&ud({message:Df(`有 {count} 个文件因格式不支持未添加`).replace(`{count}`,String(i)),theme:`error`}),r>0&&ud({message:Cke(r,ue,Ef),theme:`error`}),n.length>0){Oe();let e=n.map(e=>e.file).filter(e=>!!e),t=d.onUpload?.(e);if(!t)return;t.then(e=>{let t=Array.isArray(e)?e:[e];n.forEach((e,n)=>{de(e,t[n])})}).catch(()=>{n.forEach(e=>{e.status=F9.Error})})}},pe=cn(!1),me=0,he=e=>!!e.dataTransfer?.types?.includes(`Files`),_e=e=>d.supportUpload&&he(e),ve=e=>{_e(e)&&(me+=1,pe.value=!0)},ye=e=>{_e(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))},be=e=>{_e(e)&&(me=Math.max(me-1,0),me===0&&(pe.value=!1))},Ce=e=>{if(!_e(e))return;e.preventDefault(),me=0,pe.value=!1;let t=Array.from(e.dataTransfer?.files??[]);t.length&&fe(t)},we=e=>{h.value=h.value.filter(t=>t.id&&e.id?t.id!==e.id:t.file?t.file!==e.file:t.url?t.url!==e.url:t.filename?t.filename!==e.filename:!0),f(`deleteFile`,e)},Te=e=>{f(`update:modelValue`,e,e.flat().filter(e=>e.type===`tag`).map(e=>_.value.find(t=>t.id===e.data.value&&t.type===e.data.type)).filter(e=>!!e))},Ee=e=>{let t=e.target,n=Array.from(t.files??[]);n.length&&fe(n),t.value=``},De=e=>{i.value?.contains(e.target)||j()};Ln(O,e=>{if(e){document.addEventListener(`mousedown`,De,!0);return}document.removeEventListener(`mousedown`,De,!0)}),cr(()=>{document.removeEventListener(`mousedown`,De,!0)});let Oe=()=>{r.value?.focus?.()};return t({focus:Oe,insertMention:e=>{r.value?.appendMention?.(e)},triggerSendMessage:re,uploadedArtifacts:g}),(t,n)=>(B(),V(`div`,{ref_key:`containerRef`,ref:i,class:`ai-chat-input-container`,style:ge({"--chat-z-index":z(qCe),"--chat-menu-z-index":z(Pf)})},[pr(t.$slots,`top`),pr(t.$slots,`interrupt`),H(`div`,IJt,[O.value?(B(),Wr(z(xJt),{key:0,class:`chat-input-menu`,"flat-items":z(T),groups:z(w),onClose:j,onSelect:F,onToggleGroup:N},null,8,[`flat-items`,`groups`])):Qr(`v-if`,!0),H(`div`,{class:xe([`chat-input`,{"is-dragover":pe.value}]),style:ge({maxHeight:u.value+`px`}),onDragenter:ve,onDragleave:be,onDragover:ye,onDrop:Ce},[pr(t.$slots,`input-header`,{},()=>[s.value?(B(),Wr(JKt,{key:0,class:`chat-input-cite`,content:s.value,onClose:oe},null,8,[`content`])):Qr(`v-if`,!0)]),pr(t.$slots,`files`,Se(Yr({files:h.value})),()=>[h.value.length?(B(),V(`div`,{key:0,ref_key:`filesRef`,ref:a,class:`chat-input-files`},[Jr(Aqt,{files:h.value,onDeleteFile:we},null,8,[`files`])],512)):Qr(`v-if`,!0)]),Jr(uJt,{ref_key:`aiSlashInputRef`,ref:r,"model-value":e.modelValue,placeholder:m.value,onKeydown:ie,onMenuChange:A,"onUpdate:modelValue":Te,onUpload:fe},null,8,[`model-value`,`placeholder`]),Jr(hJt,{"message-state":L.value,"send-disabled-tip":te.value,"tippy-options":e.tippyOptions,onSendMessage:re,onStopSending:ae},{default:Mn(()=>[H(`input`,{ref_key:`fileInputRef`,ref:o,accept:C.value,class:`chat-input-file-input`,multiple:``,type:`file`,onChange:Ee},null,40,LJt),k.value?(B(),Wr(GKt,{key:0,active:y.value===`plus`,"tippy-options":e.tippyOptions,onToggle:M},null,8,[`active`,`tippy-options`])):Qr(`v-if`,!0),k.value&&(e.shortcuts?.length||v.value)?(B(),V(`span`,RJt)):Qr(`v-if`,!0),pr(t.$slots,`attachment`,{},()=>[e.shortcuts&&!v.value?(B(),Wr(HOe,{key:0,shortcuts:e.shortcuts,onSelectShortcut:se},null,8,[`shortcuts`])):Qr(`v-if`,!0),v.value?(B(),Wr(Up,{key:1,class:`selected-shortcut-btn`,shortcut:v.value},{append:Mn(()=>[Jr(z(Hf),{onClick:ce})]),_:1},8,[`shortcut`])):Qr(`v-if`,!0)])]),"before-send":Mn(()=>[pr(t.$slots,`model-selector`,Se(Yr({models:e.models,selectedModel:l.value})),()=>[e.models?.length?(B(),Wr(z(FJt),{key:0,modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,class:`chat-input-model-selector`,models:e.models,"tippy-options":e.tippyOptions,onChange:le},null,8,[`modelValue`,`models`,`tippy-options`])):Qr(`v-if`,!0)])]),"send-icon":Mn(()=>[pr(t.$slots,`send-icon`)]),_:3},8,[`message-state`,`send-disabled-tip`,`tippy-options`])],38)])],4))}}),BJt={class:`ai-chat-input-info-alert`},VJt={class:`ai-chat-input-info-alert__text`},HJt=Qn({__name:`input-info-alert`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`div`,BJt,[Jr(z(ITe),{class:`ai-chat-input-info-alert__icon`}),H(`span`,VJt,ke(e.content),1)]))}}),UJt={class:`ai-artifact-file-card-info`},WJt={class:`ai-artifact-file-card-name`},GJt={class:`ai-artifact-file-card-actions`},KJt=Qn({__name:`artifact-file-card`,props:{active:{type:Boolean},file:{},onDownload:{type:Function},onPreview:{type:Function},variant:{}},setup(e){let t=e,n=Wp(),r=nm(),i=hke(),a=U(()=>!!t.onPreview||!!n),o=U(()=>!!t.onDownload||!!n?.canResolveArtifactUrl.value),s=U(()=>Xr(Swe)),l=U(()=>Xr(Wf)),u=cn(!1),d=U(()=>({...r?.value,content:Df(`下载`),theme:`ai-chat-box`,placement:`top`})),f=U(()=>({...r?.value,content:Df(`引用`),theme:`ai-chat-box`,placement:`top`})),p=()=>{t.file.outputId&&i?.insertMention(Qp(t.file))},m=()=>{if(t.onPreview){t.onPreview(t.file);return}n?.openPreview({file:t.file})},h=async()=>{if(!u.value){if(t.onDownload){t.onDownload(t.file);return}if(n?.canResolveArtifactUrl.value){u.value=!0;try{let{download_url:e}=await n.resolveArtifactUrls(t.file);e&&QOe(e,t.file.name)}finally{u.value=!1}}}};return(t,n)=>(B(),V(`div`,{class:xe([`ai-artifact-file-card`,{"is-active":e.active,"is-clickable":a.value,"is-list":e.variant===`list`}]),onClick:m},[Qr(` 左侧:文件类型图标 + 文件名 `),H(`div`,UJt,[Jr(L9,{class:`ai-artifact-file-card-icon`,"file-name":e.file.name,"file-type":e.file.type},null,8,[`file-name`,`file-type`]),Nn((B(),V(`span`,WJt,[Zr(ke(e.file.name),1)])),[[z(rm),{...z(r),text:e.file.name,placement:`top`}]])]),Qr(` 右侧操作区:hover 显示,设计稿中引用在下载左侧 `),H(`div`,GJt,[z(i)&&e.file.outputId?Nn((B(),V(`div`,{key:0,class:`ai-artifact-file-card-action ai-artifact-file-card-cite`,onClick:Ai(p,[`stop`])},[(B(),Wr(lr(l.value)))])),[[z(Hp),f.value]]):Qr(`v-if`,!0),o.value?Nn((B(),V(`div`,{key:1,class:xe([`ai-artifact-file-card-action ai-artifact-file-card-download`,{"is-loading":u.value}]),onClick:Ai(h,[`stop`])},[u.value?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(s.value),{key:1}))],2)),[[z(Hp),d.value]]):Qr(`v-if`,!0)])],2))}}),qJt={class:`ai-message-loading-row`},JJt={class:`ai-message-loading-icon-wrap`},YJt={key:0,class:`ai-message-loading-text ai-message-loading-text-custom`},XJt={key:1,"aria-live":`polite`,class:`ai-message-loading-text`},ZJt=Qn({name:`MessageLoading`,inheritAttrs:!1,__name:`message-loading`,props:{duration:{default:1.8},gap:{default:8},iconSize:{default:32},stagger:{default:.135},text:{default:`加载中...`}},setup(e){let t=e,n=fte(),r=U(()=>{let{class:e,style:t,...r}=n;return r}),i=U(()=>({display:`block`,width:`${t.iconSize}px`,height:`${t.iconSize}px`})),a=U(()=>[...t.text]),o=U(()=>{let e=n.style,r={"--ai-message-loading-duration":`${t.duration}s`,"--ai-message-loading-stagger":`${t.stagger}s`,"--ai-message-loading-gap":`${t.gap}px`};return e&&typeof e==`object`&&!Array.isArray(e)?{...r,...e}:r});return(e,t)=>(B(),V(`div`,ni({class:[`ai-message-loading`,z(n).class],style:o.value},r.value),[H(`div`,qJt,[H(`span`,JJt,[pr(e.$slots,`icon`,{},()=>[Jr(z(awe),{class:`ai-message-loading-icon-svg`,style:ge(i.value)},null,8,[`style`])])]),e.$slots.text?(B(),V(`span`,YJt,[pr(e.$slots,`text`)])):(B(),V(`span`,XJt,[(B(!0),V(Ir,null,dr(a.value,(e,t)=>(B(),V(`span`,{key:`${t}-${e}`,class:`ai-message-loading-char`,style:ge({"--char-index":t})},ke(e),5))),128))]))])],16))}}),QJt={class:`ai-artifact-code-preview`},$Jt=[`innerHTML`],eYt=3e5,tYt=Qn({__name:`code-preview`,props:{content:{},extension:{}},setup(e){let t={cfg:`ini`,conf:`ini`,dockerignore:`plaintext`,editorconfig:`ini`,env:`ini`,gitignore:`plaintext`,jsonc:`json`,jsx:`javascript`,tsx:`typescript`,vue:`xml`,zsh:`bash`},n=e,r=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),i=e=>t[e]||(Wh.getLanguage(e)?e:`plaintext`),a=U(()=>{let{content:e}=n;if(!e)return``;let t=i(n.extension);if(t===`plaintext`||e.length>eYt)return r(e);try{return Wh.highlight(e,{language:t,ignoreIllegals:!0}).value}catch{return r(e)}});return(e,t)=>(B(),V(Ir,null,[Qr(` 高亮结果由 highlight.js 生成,未识别语言时走 escapeHtml 兜底,无注入风险 `),H(`pre`,QJt,[H(`code`,{class:`hljs`,innerHTML:a.value},null,8,$Jt)])],2112))}}),nYt=[`srcdoc`],rYt=Qn({__name:`html-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`iframe`,{class:`ai-artifact-html-preview`,srcdoc:e.content},null,8,nYt))}}),iYt={class:`ai-artifact-image-preview`},aYt=[`alt`,`src`],oYt=Qn({__name:`image-preview`,props:{name:{},url:{}},setup(e){return(t,n)=>(B(),V(`div`,iYt,[H(`img`,{alt:e.name,src:e.url},null,8,aYt)]))}}),sYt={class:`ai-artifact-markdown-preview`},cYt=Qn({__name:`markdown-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`div`,sYt,[Jr(g9,{content:e.content,status:z(Mf).Success},null,8,[`content`,`status`])]))}}),lYt={class:`ai-artifact-txt-preview`},uYt=Qn({__name:`txt-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`pre`,lYt,ke(e.content),1))}}),dYt=[`src`],fYt=Qn({__name:`url-iframe-preview`,props:{url:{}},setup(e){return(t,n)=>(B(),V(`iframe`,{class:`ai-artifact-url-iframe-preview`,src:e.url},null,8,dYt))}}),pYt={binary:{load:`preview_url`,renderer:`urlIframe`},code:{load:`text_from_download`,renderer:`code`},html:{load:`text_from_download`,renderer:`html`},image:{load:`preview_url`,renderer:`image`},markdown:{load:`text_from_download`,renderer:`markdown`},text:{load:`text_from_download`,renderer:`txt`}},mYt=(e,t)=>pYt[fTe(e,t)],hYt=e=>{let t=cn(`idle`),n=cn(``),r=cn(``),i=cn(``),a=cn(`urlIframe`),o,s=0,l=()=>{n.value=``,r.value=``,i.value=``},u=async()=>{let u=++s;o?.abort(),o=void 0;let d=e.getFile();if(!d||!e.canResolve()){t.value=`empty`,l();return}t.value=`loading`,l();let f=mYt(d.type,d.name);a.value=f.renderer;try{let a=await e.resolveUrls(d);if(u!==s)return;if(f.load===`text_from_download`){if(!a.download_url){t.value=`empty`;return}let e=new AbortController;o=e;let r=await fetch(a.download_url,{signal:e.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.text();if(e.signal.aborted||u!==s)return;n.value=i,t.value=`ready`;return}if(f.renderer===`image`){if(!a.download_url){t.value=`empty`;return}i.value=a.download_url,t.value=`ready`;return}if(!a.preview_url){t.value=`empty`;return}r.value=a.preview_url,t.value=`ready`}catch{if(u!==s||o?.signal.aborted)return;t.value=`error`}},d=()=>{s+=1,o?.abort()};return sr(d),{content:n,dispose:d,downloadUrl:i,load:u,previewUrl:r,renderer:a,status:t}},gYt={class:`ai-artifact-preview-host`},_Yt={key:0,class:`ai-artifact-preview-host-loading`},vYt={key:1,class:`ai-artifact-preview-host-error`},yYt={key:2,class:`ai-artifact-preview-host-empty`},bYt=Qn({__name:`artifact-preview-host`,props:{file:{}},setup(e,{expose:t}){let n=e,r=Wp(),{content:i,downloadUrl:a,load:o,previewUrl:s,renderer:l,status:u}=hYt({canResolve:()=>!!r?.canResolveArtifactUrl.value,getFile:()=>n.file,resolveUrls:e=>r?.resolveArtifactUrls(e)??Promise.resolve({})}),d=U(()=>Rf(n.file?.type,n.file?.name));return Ln(()=>n.file?`${n.file.outputId}:${n.file.type}`:``,()=>{o()},{immediate:!0}),t({content:i,renderer:l,status:u}),(t,n)=>(B(),V(`div`,gYt,[z(u)===`loading`?(B(),V(`div`,_Yt,[Jr(ZJt)])):z(u)===`error`?(B(),V(`div`,vYt,[H(`span`,null,ke(z(Df)(`预览加载失败`)),1),Jr(z(ru),{size:`small`,text:``,theme:`primary`,onClick:n[0]||=()=>z(o)()},{default:Mn(()=>[Zr(ke(z(Df)(`重试`)),1)]),_:1})])):z(u)===`empty`||!e.file?(B(),V(`div`,yYt,ke(z(Df)(`暂无可预览的文件`)),1)):z(l)===`html`?(B(),Wr(rYt,{key:3,content:z(i)},null,8,[`content`])):z(l)===`code`?(B(),Wr(tYt,{key:4,content:z(i),extension:d.value},null,8,[`content`,`extension`])):z(l)===`txt`?(B(),Wr(uYt,{key:5,content:z(i)},null,8,[`content`])):z(l)===`markdown`?(B(),Wr(cYt,{key:6,content:z(i)},null,8,[`content`])):z(l)===`image`?(B(),Wr(oYt,{key:7,name:e.file?.name,url:z(a)},null,8,[`name`,`url`])):(B(),Wr(fYt,{key:8,url:z(s)},null,8,[`url`]))]))}}),xYt={key:0,class:`ai-file-artifact-panel is-empty`},SYt={class:`ai-file-artifact-panel-empty-text`},CYt={key:1,class:`ai-file-artifact-panel`},wYt={class:`ai-file-artifact-panel-list`},TYt={class:`ai-file-artifact-panel-list-title`},EYt={class:`ai-file-artifact-panel-list-scroll`},DYt={key:1,class:`ai-file-artifact-panel-list-empty`},OYt={class:`ai-file-artifact-panel-preview`},kYt={key:0,class:`ai-file-artifact-panel-preview-header`},AYt={class:`ai-file-artifact-panel-preview-header-info`},jYt={class:`ai-file-artifact-panel-preview-header-name`},MYt={class:`ai-file-artifact-panel-preview-header-actions`},NYt={class:`ai-file-artifact-panel-preview-body`},PYt=Qn({__name:`file-artifact-panel`,props:{activeId:{},artifacts:{}},emits:[`select`],setup(e,{emit:t}){let n=new Set([`code`,`html`,`markdown`,`text`]),r=e,i=t,a=Wp(),o=U(()=>!!a?.canResolveArtifactUrl.value),s=hke(),{copy:l}=Gp(),u=nm(),d=$n(`previewHostRef`),f=()=>Xr(Swe),p=()=>Xr(Uf),m=()=>Xr(Wf),h=cn(``),g=cn(!1),_=U(()=>({...u?.value,content:Df(`复制`),placement:`top`,theme:`ai-chat-box`})),v=U(()=>({...u?.value,content:Df(`下载`),placement:`top`,theme:`ai-chat-box`})),y=U(()=>({...u?.value,content:Df(`引用`),placement:`top`,theme:`ai-chat-box`})),b=e=>{e.outputId&&s?.insertMention(Qp(e))},x=U(()=>{let e=h.value.trim().toLowerCase();return e?r.artifacts.filter(t=>t.name.toLowerCase().includes(e)):r.artifacts}),S=U(()=>r.artifacts.find(e=>e.outputId===r.activeId)),C=U(()=>{let e=S.value;return e?n.has(fTe(e.type,e.name)):!1}),w=U(()=>{let e=d.value;return!!e&&e.status===`ready`&&!!e.content}),T=e=>{e.outputId!==r.activeId&&i(`select`,e.outputId)},E=()=>{if(!w.value)return;let e=d.value?.content;e&&l(e)},D=async e=>{if(!(g.value||!a?.canResolveArtifactUrl.value)){g.value=!0;try{let{download_url:t}=await a.resolveArtifactUrls(e);t&&QOe(t,e.name)}finally{g.value=!1}}};return Ln(()=>S.value?.outputId,()=>{g.value=!1}),(t,n)=>(B(),V(Ir,null,[Qr(` 无产物:整块空态,不展示文件列表与预览区 `),e.artifacts.length?(B(),V(`div`,CYt,[Qr(` 左侧:文件列表 + 搜索 `),H(`div`,wYt,[H(`p`,TYt,ke(z(Df)(`文件列表`))+`(`+ke(e.artifacts.length)+`)`,1),Jr(z(mu),{modelValue:h.value,"onUpdate:modelValue":n[0]||=e=>h.value=e,class:`ai-file-artifact-panel-list-search`,clearable:``,placeholder:z(Df)(`搜索文件关键字`)},null,8,[`modelValue`,`placeholder`]),H(`div`,EYt,[x.value.length?(B(!0),V(Ir,{key:0},dr(x.value,t=>(B(),Wr(KJt,{key:t.outputId,active:t.outputId===e.activeId,file:t,"on-preview":()=>T(t),variant:`list`},null,8,[`active`,`file`,`on-preview`]))),128)):(B(),V(`div`,DYt,ke(z(Df)(`搜索结果为空`)),1))])]),Qr(` 右侧:预览区 `),H(`div`,OYt,[S.value?(B(),V(`div`,kYt,[H(`div`,AYt,[Jr(L9,{class:`ai-file-artifact-panel-preview-header-icon`,"file-name":S.value.name,"file-type":S.value.type},null,8,[`file-name`,`file-type`]),Nn((B(),V(`span`,jYt,[Zr(ke(S.value.name),1)])),[[z(rm),{...z(u),text:S.value.name,placement:`top`}]])]),H(`div`,MYt,[C.value?Nn((B(),V(`span`,{key:0,class:xe([`ai-file-artifact-panel-preview-header-action`,{"is-disabled":!w.value}]),onClick:E},[(B(),Wr(lr(p())))],2)),[[z(Hp),_.value]]):Qr(`v-if`,!0),Qr(` 设计稿:引用位于下载左侧,点击后该文件以标签形式进入输入框 `),z(s)&&S.value.outputId?Nn((B(),V(`span`,{key:1,class:`ai-file-artifact-panel-preview-header-action`,onClick:n[1]||=e=>b(S.value)},[(B(),Wr(lr(m())))])),[[z(Hp),y.value]]):Qr(`v-if`,!0),o.value?Nn((B(),V(`span`,{key:2,class:xe([`ai-file-artifact-panel-preview-header-action`,{"is-loading":g.value}]),onClick:n[2]||=e=>D(S.value)},[g.value?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(f()),{key:1}))],2)),[[z(Hp),v.value]]):Qr(`v-if`,!0)])])):Qr(`v-if`,!0),H(`div`,NYt,[Jr(bYt,{ref_key:`previewHostRef`,ref:d,file:S.value},null,8,[`file`])])])])):(B(),V(`div`,xYt,[Jr(z(ad),{class:`ai-file-artifact-panel-empty-exception`,scene:`part`,type:`empty`}),H(`div`,SYt,ke(z(Df)(`暂无数据`)),1)]))],2112))}}),FYt=`others`,IYt=e=>e<26?String.fromCharCode(65+e):String(e+1),LYt=e=>{let t=U(()=>e()?.metadata?.questions??[]),n=cn({}),r=cn(0),i=U(()=>t.value.length),a=U(()=>t.value.reduce((e,t,r)=>e+ +!!n.value[r],0)),o=U(()=>i.value>0&&a.value===i.value),s=U(()=>r.value>0),l=U(()=>r.value<i.value-1),u=e=>n.value[e],d=()=>{s.value&&--r.value},f=()=>{l.value&&(r.value+=1)},p=(e,n,i)=>{n||e===r.value&&t.value[e]?.multiSelect!==!0&&(i.answer.some(e=>e.label===`others`)||l.value&&(r.value+=1))},m=(e,t)=>{let r=n.value[e];n.value={...n.value,[e]:t},t&&p(e,r,t)},h=()=>t.value.map((e,t)=>n.value[t]??{question:e.question,answer:[]});return{questions:t,answeredCount:a,totalCount:i,completed:o,currentIndex:r,canGoPrev:s,canGoNext:l,goPrev:d,goNext:f,getAnswer:u,setAnswer:m,buildResolvePayload:()=>({interruptId:e()?.id??``,reason:kf.UserQuestion,status:`resolved`,payload:{answers:h()}}),buildSkipPayload:()=>RYt(e())}},RYt=e=>({interruptId:e?.id??``,reason:kf.UserQuestion,status:`cancelled`,payload:{answers:[]}}),zYt={class:`ai-user-question-answered`},BYt={class:`ai-user-question-answered__header`},VYt={class:`ai-user-question-answered__title-wrap`},HYt={class:`ai-user-question-answered__title`},UYt={class:`ai-user-question-answered__status`},WYt={class:`ai-user-question-answered__body`},GYt={class:`ai-user-question-answered__question`},KYt={class:`ai-user-question-answered__question-text`},qYt={key:0,class:`ai-user-question-answered__tag`},JYt=Qn({__name:`user-question-answered-card`,props:{answers:{},status:{default:`resolved`}},setup(e){let t=e,n=U(()=>t.status===`cancelled`?Df(`已取消`):Df(`已回复`));return(t,r)=>(B(),V(`section`,zYt,[H(`header`,BYt,[H(`div`,VYt,[Jr(z(FTe),{class:`ai-user-question-answered__help-icon`}),H(`span`,HYt,ke(z(Df)(`回答内容`)),1)]),H(`span`,UYt,ke(n.value),1)]),H(`div`,WYt,[(B(!0),V(Ir,null,dr(e.answers,(n,r)=>(B(),V(`div`,{key:r,class:`ai-user-question-answered__item`},[H(`div`,GYt,[H(`span`,KYt,ke(r+1)+`. `+ke(n.question),1),n.multiSelect===void 0?Qr(`v-if`,!0):(B(),V(`span`,qYt,ke(n.multiSelect?z(Df)(`多选`):z(Df)(`单选`)),1))]),Qr(` 默认逐条回显选择题答案;业务方可覆盖此 slot 渲染自定义表单的回显 `),pr(t.$slots,`answer`,ni({ref_for:!0},{item:n,index:r,status:e.status}),()=>[(B(!0),V(Ir,null,dr(n.answer,(e,t)=>(B(),V(`p`,{key:t,class:`ai-user-question-answered__answer`},ke(e.description||e.label),1))),128))])]))),128))])]))}}),YYt={class:`ai-user-question-option__badge`},XYt=[`placeholder`,`value`],ZYt={key:1,class:`ai-user-question-option__text`},QYt=Qn({__name:`user-question-option`,props:{option:{},othersText:{},selected:{type:Boolean}},emits:[`confirm`,`select`,`update:othersText`],setup(e,{emit:t}){let n=e,r=t,i=()=>{r(`select`)},a=()=>{n.selected||r(`select`)},o=e=>{let t=e.target.value;r(`update:othersText`,t),n.selected||r(`select`)};return(t,n)=>(B(),V(`div`,{class:xe([`ai-user-question-option`,{"ai-user-question-option--selected":e.selected,"ai-user-question-option--others":e.option.isOthers}]),onClick:i},[H(`span`,YYt,ke(e.option.letter),1),Qr(` Others:自定义输入 `),e.option.isOthers?(B(),V(`input`,{key:0,class:`ai-user-question-option__input`,placeholder:z(Df)(`请输入...`),value:e.othersText,onClick:n[0]||=Ai(()=>{},[`stop`]),onFocus:a,onInput:o,onKeydown:n[1]||=Ere(Ai(e=>r(`confirm`),[`stop`]),[`enter`])},null,40,XYt)):(B(),V(`span`,ZYt,ke(e.option.description),1))],2))}}),$Yt={class:`ai-user-question-choice`},eXt=Qn({__name:`user-question-choice`,props:{question:{}},emits:[`answer`,`confirm`],setup(e,{emit:t}){let n=e,r=t,i=cn([]),a=cn(``),o=U(()=>{let e=(n.question.options??[]).filter(e=>e.label!==FYt).map((e,t)=>({...e,isOthers:!1,letter:IYt(t)}));return e.push({label:FYt,description:``,isOthers:!0,letter:IYt(e.length)}),e}),s=U(()=>o.value.findIndex(e=>e.isOthers)),l=e=>i.value.includes(e),u=U(()=>i.value.length?s.value>=0&&i.value.includes(s.value)?a.value.trim().length>0:!0:!1),d=()=>({question:n.question.question,multiSelect:n.question.multiSelect,answer:i.value.map(e=>{let t=o.value[e];return t?.isOthers?{label:FYt,description:a.value.trim()}:{label:t?.label??``,description:t?.description??``}})}),f=()=>r(`answer`,u.value?d():void 0),p=e=>{let t=i.value;i.value=n.question.multiSelect?t.includes(e)?t.filter(t=>t!==e):[...t,e]:[e],f()},m=e=>{a.value=e,f()};return Ln(()=>n.question,()=>{i.value=[],a.value=``,f()}),(e,t)=>(B(),V(`div`,$Yt,[(B(!0),V(Ir,null,dr(o.value,(e,n)=>(B(),Wr(QYt,{key:n,option:e,"others-text":a.value,selected:l(n),onConfirm:t[0]||=e=>r(`confirm`),onSelect:e=>p(n),"onUpdate:othersText":m},null,8,[`option`,`others-text`,`selected`,`onSelect`]))),128))]))}}),tXt={class:`ai-user-question-card__title-wrap`},nXt={class:`ai-user-question-card__title`},rXt={class:`ai-user-question-card__header-actions`},iXt={class:`ai-user-question-card__pager`},aXt=[`disabled`],oXt={class:`ai-user-question-card__pager-text`},sXt=[`disabled`],cXt={class:`ai-user-question-card__body`},lXt={class:`ai-user-question-card__question-title`},uXt={class:`ai-user-question-card__question-text`},dXt={key:0,class:`ai-user-question-card__tag`},fXt={class:`ai-user-question-card__options`},pXt={class:`ai-user-question-card__footer`},mXt={class:`ai-user-question-card__progress`},hXt={class:`ai-user-question-card__progress-num`},gXt={class:`ai-user-question-card__actions`},_Xt=Qn({__name:`user-question-card`,props:{interrupt:{},onResume:{type:Function}},setup(e){let t=e,n=nm(),r=cn(!1),{questions:i,answeredCount:a,totalCount:o,completed:s,currentIndex:l,canGoPrev:u,canGoNext:d,goPrev:f,goNext:p,getAnswer:m,setAnswer:h,buildResolvePayload:g,buildSkipPayload:_}=LYt(()=>t.interrupt),v=U(()=>t.interrupt.metadata?.questions?.[0]?.header||t.interrupt.message||``),y=()=>{r.value=!r.value},b=()=>{r.value&&=!1},x=cn(null),S=()=>{!s.value||x.value!==null||(x.value=`complete`,t.onResume?.(g(),t.interrupt))},C=()=>{x.value===null&&(x.value=`skip`,t.onResume?.(_(),t.interrupt))};return(e,t)=>(B(),V(`section`,{class:xe([`ai-user-question-card`,{"ai-user-question-card--collapsed":r.value}])},[H(`header`,{class:`ai-user-question-card__header`,onClick:b},[H(`div`,tXt,[Jr(z(FTe),{class:`ai-user-question-card__help-icon`}),Nn((B(),V(`span`,nXt,[Zr(ke(v.value),1)])),[[z(rm),{...z(n)}]])]),H(`div`,rXt,[H(`div`,iXt,[H(`button`,{class:xe([`ai-user-question-card__nav-btn`,{"is-disabled":!z(u)}]),disabled:!z(u),type:`button`,onClick:t[0]||=Ai((...e)=>z(f)&&z(f)(...e),[`stop`])},[Jr(z(zf),{class:`ai-user-question-card__nav-icon`})],10,aXt),H(`span`,oXt,ke(z(l)+1)+` / `+ke(z(o)),1),H(`button`,{class:xe([`ai-user-question-card__nav-btn`,{"is-disabled":!z(d)}]),disabled:!z(d),type:`button`,onClick:t[1]||=Ai((...e)=>z(p)&&z(p)(...e),[`stop`])},[Jr(z(STe),{class:`ai-user-question-card__nav-icon`})],10,sXt)]),t[2]||=H(`span`,{class:`ai-user-question-card__divider`},null,-1),H(`button`,{class:`ai-user-question-card__collapse-btn`,type:`button`,onClick:Ai(y,[`stop`])},[Jr(z(zf),{class:`ai-user-question-card__arrow`,style:ge({transform:r.value?`rotate(180deg)`:`rotate(-90deg)`})},null,8,[`style`])])])]),Qr(` 折叠用 v-show 而非 v-if:保留 UserQuestionChoice 及自定义 slot 的勾选态,避免卸载丢失选中 `),Nn(H(`div`,cXt,[Qr(` 一次只展示一题;全部题目仍挂载以保留勾选 / Others 输入态 `),(B(!0),V(Ir,null,dr(z(i),(t,n)=>Nn((B(),V(`div`,{key:n,class:`ai-user-question-card__question`},[H(`div`,lXt,[H(`span`,uXt,ke(n+1)+`. `+ke(t.question),1),t.multiSelect===void 0?Qr(`v-if`,!0):(B(),V(`span`,dXt,ke(t.multiSelect?z(Df)(`多选`):z(Df)(`单选`)),1))]),H(`div`,fXt,[Qr(` 默认渲染选择题;业务方可覆盖此 slot 渲染任意表单,作答有效时通过 setAnswer 回传 `),pr(e.$slots,`question`,ni({ref_for:!0},{question:t,qIndex:n,answer:z(m)(n),setAnswer:e=>z(h)(n,e),confirm:S}),()=>[Jr(eXt,{question:t,onAnswer:e=>z(h)(n,e),onConfirm:S},null,8,[`question`,`onAnswer`])])])])),[[Si,n===z(l)]])),128))],512),[[Si,!r.value]]),Nn(H(`footer`,pXt,[H(`span`,mXt,[Zr(ke(z(Df)(`已完成`))+` `,1),H(`span`,hXt,ke(z(a)),1),Zr(` `+ke(z(Df)(`题`)),1)]),H(`div`,gXt,[Jr(z(ru),{class:`ai-user-question-card__skip`,disabled:x.value===`complete`,loading:x.value===`skip`,size:`small`,text:``,onClick:C},{default:Mn(()=>[x.value===`skip`?Qr(`v-if`,!0):(B(),Wr(z(RTe),{key:0,class:`ai-user-question-card__skip-icon`})),Zr(` `+ke(z(Df)(`跳过`)),1)]),_:1},8,[`disabled`,`loading`]),Jr(z(ru),{class:`ai-user-question-card__complete`,disabled:!z(s)||x.value===`skip`,loading:x.value===`complete`,size:`small`,theme:`primary`,onClick:S},{default:Mn(()=>[x.value===`complete`?Qr(`v-if`,!0):(B(),Wr(z(LTe),{key:0,class:`ai-user-question-card__enter-icon`})),Zr(` `+ke(z(Df)(`完成`)),1)]),_:1},8,[`disabled`,`loading`])])],512),[[Si,!r.value]])],2))}}),vXt=864e5,yXt={day:`numeric`,hour:`2-digit`,hourCycle:`h23`,minute:`2-digit`,month:`numeric`,year:`numeric`},bXt=new Map,xXt=e=>{let t=e??``,n=bXt.get(t);if(n)return n;let r;try{r=new Intl.DateTimeFormat(`en-US`,{...yXt,timeZone:e})}catch{r=new Intl.DateTimeFormat(`en-US`,yXt)}return bXt.set(t,r),r},SXt=(e,t)=>{let n=e.formatToParts(t),r=e=>Number(n.find(t=>t.type===e)?.value);return{day:r(`day`),hour:r(`hour`),minute:r(`minute`),month:r(`month`),year:r(`year`)}},CXt=e=>Date.UTC(e.year,e.month-1,e.day),wXt=e=>String(e).padStart(2,`0`),TXt=(e,t)=>{if(e==null||e===``)return``;let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=xXt(t),i=SXt(r,n),a=SXt(r,Date.now()),o=`${wXt(i.hour)}:${wXt(i.minute)}`,s=Math.round((CXt(a)-CXt(i))/vXt);if(s===0)return o;if(s===1)return`${Df(`昨天`)} ${o}`;let l=`${i.month}-${i.day} ${o}`;return i.year===a.year?l:`${i.year}-${l}`},EXt={key:0,class:`ai-message-time`},DXt=Qn({__name:`message-time`,props:{createdAt:{},timezone:{}},setup(e){let t=e,n=fke(),r=U(()=>t.timezone??n?.timezone?.value),i=U(()=>TXt(t.createdAt,r.value));return(e,t)=>i.value?(B(),V(`span`,EXt,ke(i.value),1)):Qr(`v-if`,!0)}}),OXt={class:`ai-delete-confirm`},kXt={class:`ai-delete-confirm__title`},AXt={class:`ai-delete-confirm__desc`},jXt={class:`ai-delete-confirm__actions`},MXt=Qn({__name:`delete-tool`,props:{description:{},hidden:{type:Boolean},icon:{},id:{},name:{},triggerSelection:{type:Boolean},disabled:{type:Boolean},tippyOptions:{}},emits:[`confirm`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=$n(`tippyRef`),a=U(()=>({id:n.id,name:n.name,description:n.description,disabled:n.disabled,tippyOptions:n.tippyOptions})),o=U(()=>({arrow:!1,interactive:!0,offset:[0,6],theme:`ai-chat-box-light light`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),s=()=>{if(n.disabled)return!1},l=()=>{i.value?.hide?.()},u=()=>{l(),r(`confirm`)},d=()=>{l(),r(`cancel`)};return cr(()=>{l()}),(e,t)=>(B(),Wr(z(Vp),ni({ref_key:`tippyRef`,ref:i},o.value,{onShow:s}),{content:Mn(()=>[H(`div`,OXt,[H(`div`,kXt,ke(z(Df)(`确认删除该回答?`)),1),H(`div`,AXt,ke(z(Df)(`删除操作无法撤回,请谨慎操作!`)),1),H(`div`,jXt,[Jr(z(ru),{size:`small`,theme:`danger`,onClick:u},{default:Mn(()=>[Zr(ke(z(Df)(`删除`)),1)]),_:1}),Jr(z(ru),{size:`small`,onClick:d},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1})])])]),default:Mn(()=>[Jr(im,Se(Yr(a.value)),null,16)]),_:1},16))}}),NXt={class:`ai-feedback-title`},PXt={class:`ai-feedback-reason-list`},FXt=[`onClick`],IXt={class:`ai-feedback-other`},LXt={class:`ai-feedback-footer`},RXt=Qn({__name:`user-feedback`,props:{loading:{type:Boolean},reasonList:{},title:{}},emits:[`submit`,`cancel`],setup(e,{emit:t}){let n=t,r=cn(``),i=cn([]),a=e=>{i.value.includes(e)?i.value=i.value.filter(t=>t!==e):i.value=[...i.value,e]},o=()=>{n(`submit`,i.value,r.value)},s=()=>{i.value=[],r.value=``,n(`cancel`)};return(t,n)=>(B(),V(`div`,{class:`ai-user-feedback`,onMouseenter:n[1]||=Ai(()=>{},[`stop`,`prevent`])},[H(`div`,NXt,ke(e.title),1),H(`div`,PXt,[e.loading?(B(),V(Ir,{key:0},dr(8,e=>H(`div`,{key:e,class:`reason-item ai-skeleton-element`})),64)):(B(!0),V(Ir,{key:1},dr(e.reasonList,e=>(B(),V(`div`,{key:e,class:xe([`reason-item`,{"is-active":i.value.includes(e)}]),onClick:t=>a(e)},ke(e),11,FXt))),128))]),H(`div`,IXt,[Jr(z(mu),{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,placeholder:z(Df)(`说出您的想法`),rows:3,type:`textarea`},null,8,[`modelValue`,`placeholder`])]),H(`div`,LXt,[Jr(z(ru),{class:`custom-btn`,disabled:!r.value&&i.value.length===0,size:`small`,theme:`primary`,onClick:o},{default:Mn(()=>[Zr(ke(z(Df)(`提交`)),1)]),_:1},8,[`disabled`]),Jr(z(ru),{class:`custom-btn`,size:`small`,width:`80px`,onClick:s},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1})])],32))}}),zXt={ref:`messageToolsRef`,class:`ai-message-tools-container`},BXt={key:0,class:`ai-message-tools-prepend`},VXt={class:`message-tools`},HXt={key:1,class:`ai-divider`,style:{"margin-right":`4px`,"margin-left":`4px`}},UXt={key:2,class:`message-tools`},WXt={key:3,class:`ai-message-tools-append`},GXt=Qn({__name:`message-tools`,props:{messageTools:{default:()=>XCe},messageToolsStatus:{},onAction:{},tippyOptions:{},updateTools:{default:()=>QCe}},emits:[`feedback`],setup(e,{emit:t}){let n=e,r=t,i=$n(`feedbackTippyRef`),a=cn(!1),o=cn([]),s=cn(null),l=U(()=>({arrow:!1,interactive:!0,offset:[0,6],theme:`ai-chat-box-light light`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),u=async e=>{if(e.id===`like`||e.id===`unlike`){try{a.value=!0,o.value=[],o.value=await n.onAction?.(e)||[]}finally{a.value=!1}return}await n.onAction?.(e)},d=async e=>{await n.onAction?.(e)},f=()=>{i.value?.forEach(e=>e?.hide?.())},p=e=>s.value?s.value===`like`&&e===`like`?`activeLike`:s.value===`unlike`&&e===`unlike`?`activeUnLike`:e:e,m=e=>{let t=p(e);return t===`activeLike`?Df(`取消满意`):t===`activeUnLike`?Df(`取消不满意`):n.updateTools?.find(e=>e.id===t)?.description||``},h=(e,t,n)=>{f(),s.value===e.id?s.value=null:s.value=e.id,r(`feedback`,e,t,n)},g=e=>{if(n.messageToolsStatus===I9.Disabled)return!1;if(s.value&&s.value===e)return s.value=null,!1};return cr(()=>{f(),o.value=[]}),(t,n)=>(B(),V(`div`,zXt,[t.$slots.prepend?(B(),V(`div`,BXt,[pr(t.$slots,`prepend`)])):Qr(`v-if`,!0),H(`div`,VXt,[(B(!0),V(Ir,null,dr(e.messageTools,t=>(B(),V(Ir,{key:t.id},[t.id===`delete`?(B(),Wr(MXt,ni({key:0,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onConfirm:e=>d(t)}),null,16,[`disabled`,`tippy-options`,`onConfirm`])):(B(),Wr(im,ni({key:1,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onClick:e=>u(t)}),null,16,[`disabled`,`tippy-options`,`onClick`]))],64))),128))]),e.updateTools.length>0?(B(),V(`div`,HXt)):Qr(`v-if`,!0),e.updateTools.length>0?(B(),V(`div`,UXt,[(B(!0),V(Ir,null,dr(e.updateTools,t=>(B(),V(Ir,{key:t.id},[t.id===`like`||t.id===`unlike`?(B(),Wr(z(Vp),ni({key:0,ref_for:!0,ref_key:`feedbackTippyRef`,ref:i},{ref_for:!0},l.value,{onShow:e=>g(t.id)}),{content:Mn(()=>[Jr(RXt,{loading:a.value,"reason-list":o.value,title:t.id===`like`?z(Df)(`什么原因让你满意?`):z(Df)(`什么原因让你不满意?`),onCancel:f,onSubmit:(e,n)=>h(t,e,n)},null,8,[`loading`,`reason-list`,`title`,`onSubmit`])]),default:Mn(()=>[Jr(im,ni({ref_for:!0},t,{id:p(t.id),active:s.value===t.id,disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":{...e.tippyOptions,content:m(t.id)},onClick:e=>u(t)}),null,16,[`id`,`active`,`disabled`,`tippy-options`,`onClick`])]),_:2},1040,[`onShow`])):t.id===`delete`?(B(),Wr(MXt,ni({key:1,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onConfirm:e=>d(t)}),null,16,[`disabled`,`tippy-options`,`onConfirm`])):(B(),Wr(im,ni({key:2,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onClick:e=>u(t)}),null,16,[`disabled`,`tippy-options`,`onClick`]))],64))),128))])):Qr(`v-if`,!0),t.$slots.append?(B(),V(`div`,WXt,[pr(t.$slots,`append`)])):Qr(`v-if`,!0)],512))}}),z9=Qn({name:`HighlightKeyword`,props:{text:{type:String,required:!0}},setup(e){let t=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),n=fAe(),r=U(()=>{if(!e.text||!n?.value)return e.text;let r=n.value.trim();if(!r)return e.text;let i=RegExp(`(${t(r)})`,`ig`),a=e.text?.toString().split(i);return a.length<=1?e.text:a.map(e=>i.test(e)?W(`span`,{class:ewe},e):e)});return()=>W(`span`,r.value)}}),KXt={class:`ai-activity-message`},qXt={class:`ai-activity-message-content`},JXt=Qn({__name:`activity-layout`,props:yr({activityType:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=Er(e,`collapsed`);return(n,r)=>(B(),V(`div`,KXt,[H(`div`,{class:`ai-activity-message-title`,onClick:r[0]||=e=>t.value=!t.value},[pr(n.$slots,`title`,Se(Yr({collapsed:t.value}))),e.activityType===z(Af).FlowAgent?Qr(`v-if`,!0):(B(),V(`span`,{key:0,class:xe([`ai-activity-message-title-icon collapsed-icon`,{"is-collapsed":t.value}])},[Jr(z(Vf))],2))]),Nn(H(`div`,qXt,[pr(n.$slots,`default`)],512),[[Si,!t.value]])]))}}),B9=[{color:`#3A84FF`,icon:null,key:`running`,label:Df(`执行中`),rawStates:[`CREATED`,`LOOP_READY`,`READY`,`RUNNING`,`BLOCKED`,`ROLLING_BACK`,`ROLL_BACK_SUCCESS`]},{color:`#65C389`,icon:fwe,key:`success`,label:Df(`成功`),rawStates:[`FINISHED`]},{color:`#EA3636`,icon:pwe,key:`failed`,label:Df(`失败`),rawStates:[`FAILED`,`REVOKED`,`ROLL_BACK_FAILED`]},{color:`#F59500`,icon:mwe,key:`suspended`,label:Df(`挂起`),rawStates:[`SUSPENDED`]},{color:`#4D4F56`,dotColor:`#DCDEE5`,icon:hwe,key:`pending`,label:Df(`待执行`),rawStates:[`PENDING`]},{color:`#5B7290`,icon:gwe,key:`skipped`,label:Df(`跳过`),rawStates:[`SKIPPED`]}],YXt=Object.fromEntries(B9.map(e=>[e.key,e])),XXt=Object.fromEntries(B9.flatMap(e=>e.rawStates.map(t=>[t,e.key]))),ZXt=e=>XXt[e]??`running`,QXt=e=>YXt[e].dotColor??YXt[e].color,$Xt=e=>{let t=YXt[e].icon;return t?Xr(t):null},eZt=e=>{let t=U(()=>Array.isArray(e.value)?e.value:[e.value??{}]),n=cn({}),r=e=>n.value[e.task_id]!==!1;return{isTaskExpanded:r,taskList:t,toggleTaskExpanded:e=>{n.value={...n.value,[e.task_id]:!r(e)}},viewTasks:U(()=>t.value.map(e=>{let t=Object.values(e.nodes??{}).map(e=>{let t=ZXt(e.state);return{convergedState:t,dotColor:QXt(t),elapsedTimeText:UCe(e.elapsed_time),id:e.id,name:e.name,raw:e,retryable:!!e.retryable,skippable:!!e.skippable}}),n=t.reduce((e,t)=>e+t.raw.elapsed_time,0),r=ZXt(e.task_state??``);return{convergedState:r,hasConfidence:!!e.has_confidence,confidenceTitle:e.confidence_title,isActive:!!e.is_active,nodes:t,raw:e,stateIcon:$Xt(r),taskId:e.task_id,taskName:e.task_name,totalTimeText:UCe(n)}})),visibleStats:U(()=>{let e={};for(let t of B9)e[t.key]=0;for(let n of t.value)for(let[t,r]of Object.entries(n.statistics?.state_counts??{}))e[ZXt(t)]+=r;return B9.filter(t=>e[t.key]>0).map(t=>({color:t.color,display:e[t.key]>99?`99+`:String(e[t.key]),dotColor:QXt(t.key),key:t.key,label:t.label}))})}},tZt=[{blockedTip:()=>Df(`任务正在跳过中,不可重试`),icon:Gf,id:Nf.FlowNodeRetry,label:()=>Df(`重试`),pendingLabel:()=>Df(`重试中`),visible:e=>e.convergedState===`failed`&&e.retryable},{blockedTip:()=>Df(`任务正在重试中,不可跳过`),icon:RTe,id:Nf.FlowNodeSkip,label:()=>Df(`跳过`),pendingLabel:()=>Df(`跳过中`),visible:e=>e.convergedState===`failed`&&e.skippable}],nZt=(e,t)=>`${e.task_id}:${t.id}:${t.retry}`,rZt=e=>{let{hideResumeActions:t,onInterruptResume:n,openNodeDetail:r}=e,i=cn({}),a=(e,t,r)=>{let a=nZt(t,r);i.value[a]||(i.value={...i.value,[a]:e},n.value?.({payload:{node_id:r.id,task_id:t.task_id},operation:e}))};return{getNodeActions:(e,n)=>{let o=i.value[nZt(e.raw,n.raw)],s=(t?.value?[]:tZt).filter(e=>e.visible(n)).map(t=>{let r=o===t.id,i=o!==void 0&&!r;return{disabled:o!==void 0,icon:t.icon,id:t.id,label:r?t.pendingLabel():t.label(),loading:r,run:()=>a(t.id,e.raw,n.raw),tooltip:i?t.blockedTip():void 0}});return s.push({disabled:!1,icon:Lf,id:`detail`,label:Df(`详情`),loading:!1,run:()=>r(e.raw,n.raw)}),s},isNodePending:(e,t)=>i.value[nZt(e.raw,t.raw)]!==void 0}},iZt={class:`ai-detail-section`},aZt={class:`section-heading`},oZt={class:`section-text`},V9=Qn({__name:`detail-section`,props:{title:{}},setup(e){return(t,n)=>(B(),V(`div`,iZt,[H(`div`,aZt,[n[0]||=H(`span`,{class:`section-bar`},null,-1),H(`span`,oZt,ke(e.title),1)]),pr(t.$slots,`default`)]))}}),sZt={class:`ai-simple-table`},cZt={key:0},lZt=[`colspan`],uZt=Qn({__name:`simple-table`,props:{columns:{},data:{}},setup(e){return(t,n)=>(B(),V(`table`,sZt,[H(`thead`,null,[H(`tr`,null,[(B(!0),V(Ir,null,dr(e.columns,e=>(B(),V(`th`,{key:e.key},ke(e.label),1))),128))])]),H(`tbody`,null,[(B(!0),V(Ir,null,dr(e.data,(t,n)=>(B(),V(`tr`,{key:n},[(B(!0),V(Ir,null,dr(e.columns,e=>(B(),V(`td`,{key:e.key,class:xe({"is-break-all":e.breakAll})},ke(t[e.key]??`--`),3))),128))]))),128)),e.data.length?Qr(`v-if`,!0):(B(),V(`tr`,cZt,[H(`td`,{class:`is-empty`,colspan:e.columns.length},` -- `,8,lZt)]))])]))}}),dZt={class:`ai-flow-agent-node-detail`},fZt={class:`detail-title`},pZt={key:1,class:`detail-title-content`},mZt={class:`detail-tab-bar`},hZt=[`onClick`],gZt={class:`detail-body`},_Zt={class:`skeleton-section`},vZt={class:`skeleton-section`},yZt={class:`info-form`},bZt={class:`info-label`},xZt={class:`info-value`},SZt={class:`info-row`},CZt={class:`info-label`},wZt={class:`info-value`},TZt={key:0,class:`failure-item`},EZt={key:1,class:`failure-item`},DZt={class:`info-row`},OZt={class:`info-label`},kZt={class:`info-value`},AZt={key:0,class:`skeleton-section`},H9=function(e){return e.Config=`config`,e.Output=`output`,e}(H9||{}),jZt=Qn({__name:`flow-agent-node-detail`,props:{data:{},has_confidence:{type:Boolean},loading:{type:Boolean},node_id:{},node_name:{},task_id:{},task_name:{}},setup(e){let t=[{key:H9.Config,label:Df(`节点配置`)},{key:H9.Output,label:Df(`节点输出`)}],n=[{key:`key`,label:Df(`参数名`)},{breakAll:!0,key:`value`,label:Df(`参数值`)}],r=[{key:`name`,label:Df(`名称`)},{key:`description`,label:Df(`变量说明`)},{key:`key`,label:`KEY`}],i=[{key:`key`,label:Df(`参数名`)},{breakAll:!0,key:`value`,label:Df(`参数值`)}],a={forced_fail:Ef?`Force Fail`:`强制失败`},o=e,s=cn(H9.Config),l=U(()=>o.data?.basic_info),u=U(()=>{let e=l.value;return e?[{label:Df(`流程模板`),value:e.template_name||`--`},{label:Df(`节点名称`),value:e.node_name||`--`},{label:Df(`步骤名称`),value:e.stage_name||`--`},{label:Df(`是否可选`),value:e.optional?Df(`是`):Df(`否`)}]:[]}),d=U(()=>{let e=l.value;return e?.skippable||e?.auto_retry?.enable}),f=U(()=>{let e=l.value?.auto_retry;return e?.enable?Ef?`In ${e.interval} seconds, auto retry ${e.times} times`:`在 ${e.interval} 秒后,自动重试 ${e.times} 次`:``}),p=U(()=>{let e=l.value?.timeout_config;if(!e?.enable)return`--`;let t=a[e.action]??e.action;return Ef?`Timeout ${e.seconds} seconds later, ${t}`:`超时 ${e.seconds} 秒后则${t}`}),m=U(()=>Object.entries(o.data?.inputs??{}).map(([e,t])=>({key:e,value:_(t)}))),h=U(()=>(o.data?.plugin_output??[]).map(e=>({description:e.schema?.description||`--`,name:e.name,key:e.key}))),g=U(()=>(o.data?.outputs??[]).map(e=>({key:e.key,value:_(e.value)}))),_=e=>e==null?`--`:typeof e==`object`?JSON.stringify(e):String(e);return(a,o)=>(B(),V(`div`,dZt,[H(`h3`,fZt,[e.loading?(B(),V(Ir,{key:0},[H(`span`,null,ke(z(Df)(`节点`))+`:`,1),o[0]||=H(`span`,{class:`skeleton-title ai-skeleton-element`},null,-1)],64)):(B(),V(`div`,pZt,ke(z(Df)(`节点`))+`:`+ke(l.value?.node_name),1)),pr(a.$slots,`locateButton`)]),H(`div`,mZt,[(B(),V(Ir,null,dr(t,e=>H(`div`,{key:e.key,class:xe([`detail-tab`,{"is-active":s.value===e.key}]),onClick:t=>s.value=e.key},[(B(),Wr(lr(e.key===H9.Config?z(bwe):z(Lf)),{class:`detail-tab-icon`})),Zr(` `+ke(e.label),1)],10,hZt)),64))]),H(`div`,gZt,[s.value===H9.Config?(B(),V(Ir,{key:0},[e.loading?(B(),V(Ir,{key:0},[H(`div`,_Zt,[o[1]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(6,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))]),H(`div`,vZt,[o[2]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(4,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))])],64)):(B(),V(Ir,{key:1},[Jr(V9,{title:z(Df)(`基础信息`)},{default:Mn(()=>[H(`div`,yZt,[(B(!0),V(Ir,null,dr(u.value,e=>(B(),V(`div`,{key:e.label,class:`info-row`},[H(`div`,bZt,ke(e.label),1),H(`div`,xZt,ke(e.value),1)]))),128)),H(`div`,SZt,[H(`div`,CZt,ke(z(Df)(`失败处理`)),1),H(`div`,wZt,[d.value?(B(),V(Ir,{key:0},[l.value?.skippable?(B(),V(`span`,TZt,[o[3]||=H(`span`,{class:`tag-badge`},`MS`,-1),Zr(` `+ke(z(Df)(`手动跳过`))+ke(l.value?.auto_retry?.enable?`;`:``),1)])):Qr(`v-if`,!0),l.value?.auto_retry?.enable?(B(),V(`span`,EZt,[o[4]||=H(`span`,{class:`tag-badge`},`AR`,-1),Zr(` `+ke(f.value),1)])):Qr(`v-if`,!0)],64)):(B(),V(Ir,{key:1},[Zr(`--`)],64))])]),H(`div`,DZt,[H(`div`,OZt,ke(z(Df)(`超时控制`)),1),H(`div`,kZt,ke(p.value),1)])])]),_:1},8,[`title`]),Jr(V9,{title:z(Df)(`输入参数`)},{default:Mn(()=>[Jr(uZt,{columns:n,data:m.value},null,8,[`data`])]),_:1},8,[`title`]),Jr(V9,{title:z(Df)(`输出参数`)},{default:Mn(()=>[Jr(uZt,{columns:r,data:h.value},null,8,[`data`])]),_:1},8,[`title`])],64))],64)):(B(),V(Ir,{key:1},[e.loading?(B(),V(`div`,AZt,[o[5]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(5,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))])):(B(),Wr(V9,{key:1,title:z(Df)(`结构化输出`)},{default:Mn(()=>[Jr(uZt,{columns:i,data:g.value},null,8,[`data`])]),_:1},8,[`title`]))],64))])]))}}),U9=e=>e.task_id==null?``:`${e.task_id}`,MZt=U9,NZt=(e,t)=>e.task_id==null?``:`${e.task_id}|${t.id}|${t.name}`,PZt=e=>{let{messageUid:t,taskList:n}=e,r=cke(),i=Kp(),a=U(()=>r.selectedTab.value?.name??``),o=cn(!1),s=()=>{o.value=!0},l=U(()=>{if(o.value)return a.value;let e=n.value.find(e=>e.is_active);return e?.task_id==null?a.value:U9(e)}),u=e=>{let t=l.value;return t===U9(e)||t===MZt(e)},d=(e,t)=>l.value===NZt(e,t),f=(e,n)=>{let i=e.task_id;i!=null&&(s(),r.addCustomTab?.({closable:n.closable,label:n.name,name:NZt(e,n),order:n.tab_order??100,data:{component:jZt,messageUid:t.value,props:{data:{},loading:!0,node_id:n.id,node_name:n.name,task_id:i,task_name:e.task_name}}}))},p=e=>{let n=e?.task_id;n&&(s(),r.addCustomTab?.({closable:e.closable,label:Df(`有效证据`),name:MZt(e),order:e.tab_order??10,data:{component:jZt,messageUid:t.value,props:{data:{},has_confidence:e.has_confidence,loading:!0,task_id:n,task_name:e.task_name}}}))};return Ln(a,(e,t)=>{t!==void 0&&s()}),or(()=>{i?.value&&p(n.value.find(e=>e.is_active&&e.has_confidence))}),cr(()=>{if(i?.value)for(let e of n.value){r.removeCustomTab?.(U9(e)),r.removeCustomTab?.(MZt(e));for(let t of Object.values(e.nodes??{}))r.removeCustomTab?.(NZt(e,t))}}),{displaySelectedTabName:l,isNodeSelected:d,isTaskSelected:u,markUserTabSelection:s,openConfidence:p,openNodeDetail:f}},FZt={class:`ai-activity-message-title-text`},IZt={class:`flow-agent-title-label`},LZt={class:`flow-agent-stat-tooltip`},RZt={class:`flow-agent-stat-tooltip-status`},zZt={class:`flow-agent-stat-tooltip-label`},BZt=[`onClick`],VZt={class:`flow-agent-task-state-icon`},HZt={class:`flow-agent-task-name`},UZt={class:`flow-agent-task-trailing`},WZt={class:`flow-agent-task-time`},GZt=[`onClick`],KZt={class:`flow-agent-task-nodes`},qZt={class:`flow-agent-node-status`},JZt=[`title`],YZt={class:`flow-agent-node-trailing`},XZt={class:`flow-agent-node-time`},ZZt={class:`flow-agent-node-actions`},QZt=[`onClick`],$Zt=Qn({__name:`flow-agent-content`,props:yr({content:{},messageUid:{},onInterruptResume:{type:Function},status:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=nm(),r=Er(e,`collapsed`),i=uAe(),a=U(()=>i.value===Ff.Share),o=U(()=>t.status===Mf.Pending||t.status===Mf.Streaming),{isTaskExpanded:s,taskList:l,toggleTaskExpanded:u,viewTasks:d,visibleStats:f}=eZt(pn(t,`content`)),{isNodeSelected:p,isTaskSelected:m,openConfidence:h,openNodeDetail:g}=PZt({messageUid:pn(t,`messageUid`),taskList:l}),{getNodeActions:_,isNodePending:v}=rZt({hideResumeActions:a,onInterruptResume:pn(t,`onInterruptResume`),openNodeDetail:g}),y=e=>{e.disabled||e.run()};return(e,t)=>(B(),Wr(JXt,{collapsed:r.value,"onUpdate:collapsed":t[0]||=e=>r.value=e,"activity-type":z(Af).FlowAgent,class:`ai-flow-agent-activity`},{title:Mn(()=>[Qr(` hover 整条执行情况栏展示统计 tooltip(设计稿 annotation) `),Jr(z(Vp),ni({class:`flow-agent-title-bar`,theme:`ai-chat-box-light light`},{...z(n),tag:`div`,arrow:!0,followCursor:!1,offset:[0,10]}),{content:Mn(()=>[H(`div`,LZt,[(B(!0),V(Ir,null,dr(z(f),e=>(B(),V(`div`,{key:e.key,class:`flow-agent-stat-tooltip-item`},[H(`span`,RZt,[e.key===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-stat-dot`,style:ge({borderColor:e.dotColor})},null,4))]),H(`span`,zZt,ke(e.label)+`:`,1),H(`span`,{class:`flow-agent-stat-tooltip-count`,style:ge({color:e.color})},ke(e.display),5)]))),128))])]),default:Mn(()=>[H(`span`,{class:xe([`ai-activity-message-title-icon`,{"icon-collapsed":r.value}])},[o.value?(B(),Wr(Kf,{key:0,size:12})):(B(),Wr(z(uwe),{key:1}))],2),H(`span`,FZt,[H(`span`,IZt,ke(z(Df)(`执行情况`))+`:`,1),(B(!0),V(Ir,null,dr(z(f),e=>(B(),V(`span`,{key:e.key,class:`flow-agent-stat-item`},[e.key===`running`?(B(),Wr(z(Yl),{key:0,class:`flow-agent-stat-loading`,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-stat-dot`,style:ge({borderColor:e.dotColor})},null,4)),H(`span`,{class:`flow-agent-stat-count`,style:ge({color:e.color})},ke(e.display),5)]))),128))])]),_:1},16)]),default:Mn(()=>[(B(!0),V(Ir,null,dr(z(d),e=>(B(),V(`div`,{key:e.taskId,class:`flow-agent-task-group`},[H(`div`,{class:xe([`flow-agent-task-header`,{"has-confidence":e.hasConfidence,"is-selected":z(m)(e.raw)}])},[H(`span`,{class:xe([`flow-agent-task-arrow`,{"is-expanded":z(s)(e.raw)}]),onClick:Ai(t=>z(u)(e.raw),[`stop`])},[Jr(z(uwe))],10,BZt),H(`span`,VZt,[e.convergedState===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(e.stateIcon),{key:1}))]),Nn((B(),V(`span`,HZt,[Jr(z(z9),{text:e.taskName},null,8,[`text`])])),[[z(rm),{...z(n)}]]),H(`span`,UZt,[H(`span`,WZt,ke(e.totalTimeText),1),e.hasConfidence?(B(),V(`span`,{key:0,class:`flow-agent-task-action-btn flow-agent-task-confidence-btn`,onClick:Ai(t=>z(h)(e.raw),[`stop`])},[Jr(z(Lf)),Zr(` `+ke(e.confidenceTitle??z(Df)(`有效证据`)),1)],8,GZt)):Qr(`v-if`,!0)])],2),Nn(H(`div`,KZt,[(B(!0),V(Ir,null,dr(e.nodes,t=>(B(),V(`div`,{key:t.id,class:xe([`flow-agent-node-item`,{"is-selected":z(p)(e.raw,t.raw),"is-pending":z(v)(e,t)}])},[H(`span`,qZt,[t.convergedState===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-status-dot`,style:ge({borderColor:t.dotColor})},null,4))]),Nn((B(),V(`span`,{class:`flow-agent-node-name`,title:t.name},[Jr(z(z9),{text:t.name},null,8,[`text`])],8,JZt)),[[z(rm),{...z(n)}]]),H(`span`,YZt,[H(`span`,XZt,ke(t.elapsedTimeText),1),H(`span`,ZZt,[(B(!0),V(Ir,null,dr(z(_)(e,t),e=>Nn((B(),V(`span`,{key:e.id,class:xe([`flow-agent-node-action-btn`,{"is-disabled":e.disabled}]),onClick:Ai(t=>y(e),[`stop`])},[Qr(` 进行中:图标切换为 loading 菊花(与节点执行中态一致) `),e.loading?(B(),Wr(z(Yl),{key:0,class:`flow-agent-node-action-loading`,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(e.icon),{key:1})),Zr(` `+ke(e.label),1)],10,QZt)),[[z(Hp),e.tooltip?{...z(n),content:e.tooltip,theme:`ai-chat-box`,offset:[0,8]}:{content:``}]])),128))])])],2))),128))],512),[[Si,z(s)(e.raw)]])]))),128))]),_:1},8,[`collapsed`,`activity-type`]))}}),eQt={class:`ai-activity-message-title-icon`},tQt={class:`ai-activity-message-title-text`},nQt={class:`ai-knowledge-rag-content`},rQt=Qn({__name:`knowledge-rag-content`,props:yr({content:{},messageUid:{},status:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),r=U(()=>t.status===Mf.Pending||t.status===Mf.Streaming),i=U(()=>r.value?Df(`检索中`):Df(`检索完成`));return(t,a)=>(B(),Wr(JXt,{collapsed:n.value,"onUpdate:collapsed":a[0]||=e=>n.value=e},{title:Mn(()=>[H(`span`,eQt,[r.value?(B(),Wr(Kf,{key:0})):(B(),Wr(z(swe),{key:1,style:{"font-size":`12px`}}))]),H(`span`,tQt,ke(i.value),1)]),default:Mn(()=>[H(`div`,nQt,[Jr(g9,{content:e.content?.content||``},null,8,[`content`])]),Jr(LGt,{content:e.content?.referenceDocument||[]},null,8,[`content`])]),_:1},8,[`collapsed`]))}}),iQt={class:`ai-activity-message-title-icon`},aQt={class:`ai-activity-message-title-text`},oQt=Qn({__name:`reference-doc-content`,props:yr({content:{},messageUid:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),r=U(()=>{let e=t.content?.length??0;return Ef?`Reference ${e} documents as reference`:`引用 ${e} 篇资料作为参考`});return(t,i)=>(B(),Wr(JXt,{collapsed:n.value,"onUpdate:collapsed":i[0]||=e=>n.value=e},{title:Mn(()=>[H(`span`,iQt,[Jr(z(swe),{style:{"font-size":`12px`}})]),H(`span`,aQt,ke(r.value),1)]),default:Mn(()=>[Jr(LGt,{content:e.content||[]},null,8,[`content`])]),_:1},8,[`collapsed`]))}}),sQt=Qn({__name:`activity-message`,props:yr({activityType:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{},onInterruptResume:{type:Function}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t={[Af.FlowAgent]:$Zt,[Af.KnowledgeRag]:rQt,[Af.ReferenceDocument]:oQt},n=e,r=Er(e,`collapsed`),i=U(()=>t[n.activityType??``]);return(t,n)=>i.value?(B(),Wr(lr(i.value),{key:0,collapsed:r.value,"onUpdate:collapsed":n[0]||=e=>r.value=e,content:e.content,"message-uid":e.uid,"on-interrupt-resume":e.onInterruptResume,status:e.status},null,40,[`collapsed`,`content`,`message-uid`,`on-interrupt-resume`,`status`])):Qr(`v-if`,!0)}}),cQt={class:`ai-toolcall-desc`},lQt={class:`desc-title`},uQt=[`title`],dQt={class:`desc-panel`},fQt={class:`desc-label`},pQt={class:`desc-value`},mQt=Qn({__name:`desc-panel`,props:{desc:{},title:{}},setup(e){let t=e,{copy:n}=Gp(),r=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),i=U(()=>{try{return JSON.parse(t.desc||``)}catch{return t.desc}}),a=()=>{t.desc&&n(t.desc)};return(t,n)=>(B(),V(`div`,cQt,[H(`div`,lQt,[Zr(ke(e.title)+` `,1),e.desc?(B(),V(`span`,{key:0,class:`desc-copy`,title:z(Df)(`复制`),onClick:a},[Jr(z(Uf))],8,uQt)):Qr(`v-if`,!0)]),H(`div`,dQt,[Qr(` null 的 typeof 为 object,需排除,避免 v-for 异常;键/值统一转字符串以满足 HighlightKeyword `),i.value!==null&&typeof i.value==`object`?(B(!0),V(Ir,{key:0},dr(i.value,(e,t)=>(B(),V(`div`,{key:t,class:`desc-panel-item`},[H(`span`,fQt,[Jr(z(z9),{text:String(t)},null,8,[`text`]),n[0]||=Zr(`:`,-1)]),H(`span`,pQt,[Jr(z(z9),{style:{"word-break":`break-all`},text:r(e)},null,8,[`text`])])]))),128)):(B(),Wr(z(z9),{key:1,style:{wordBreak:`break-all`},text:r(i.value)},null,8,[`text`]))])]))}}),hQt={class:`ai-tool-message`},gQt=Qn({__name:`tool-message`,props:{duration:{},error:{type:[Boolean,String]},toolCallId:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},setup(e){return(t,n)=>(B(),V(`div`,hQt,[Jr(mQt,{desc:e.content||(typeof e.error==`string`?e.error:void 0),title:z(Df)(`返回内容`)},null,8,[`desc`,`title`])]))}}),_Qt={class:`ai-toolcall-render`},vQt={class:`toolcall-header-text`},yQt={key:0,class:`toolcall-header-status`},bQt={class:`ai-toolcall-render-content`},xQt=Qn({__name:`toolcall-render`,props:{duration:{},status:{},toolCall:{}},setup(e){let t=e,n=cn(!0),r=cn(null),i=nm(),{keywordMatched:a,keyword:o}=pAe(()=>[t.toolCall?.function.name,t.toolCall?.function.mcpName,t.toolCall?.function.description,t.toolCall?.function.arguments,t.toolCall?.id]),s=U(()=>r.value===null?o?.value?.trim()?!a.value:n.value:r.value);function l(){n.value=!s.value,r.value=n.value}let u=U(()=>[Mf.Complete,Mf.Completed,Mf.Success].includes(t.status)),d=U(()=>t.status===Mf.Error||!!t.toolCall?.toolMessage?.error),f=U(()=>!u.value&&!d.value),p=U(()=>{let e=t.toolCall?.function;return e?.type??(e?.mcpName?`mcp`:`function`)}),m=U(()=>p.value===`skill`?Df(`读取 Skill`):p.value===`mcp`?Df(`调用 MCP`):Df(`调用工具`)),h=U(()=>p.value===`skill`?Df(`正在读取`):Df(`正在调用`)),g=U(()=>{let e=t.toolCall?.function,n=e?.mcpName||``,r=e?.name||t.toolCall?.id||``;return n?`${n} / ${r}`:r}),_=U(()=>d.value?Df(`失败`):u.value?Df(`成功`):``),v=U(()=>{let e=t.duration||t.toolCall?.toolMessage?.duration;return e?HCe(e):``}),y=U(()=>{let e=`${f.value?h.value:m.value} ${g.value}`;if(!_.value)return e;let t=v.value?`,${Df(`耗时`)}:${v.value}`:``;return`${e}(${_.value}${t})`});return(t,n)=>(B(),V(`div`,_Qt,[H(`div`,{class:xe([`ai-toolcall-render-header`,{"is-expanded":!s.value}]),onClick:l},[Jr(z(vwe)),Qr(` 前缀、工具名与状态同处一个内联文本块,保证「(成功,…)」紧贴工具名,与设计稿一致 `),Nn((B(),V(`span`,vQt,[H(`span`,{class:xe([`toolcall-header-title`,{"is-loading":f.value}])},[Zr(ke(f.value?h.value:m.value)+` `,1),Jr(z(z9),{text:g.value},null,8,[`text`])],2),_.value?(B(),V(`span`,yQt,[n[0]||=Zr(`\xA0(\xA0`,-1),H(`span`,{class:xe([`toolcall-header-result`,d.value?`is-error`:`is-success`])},ke(_.value),3),v.value?(B(),V(Ir,{key:0},[Zr(`,`+ke(z(Df)(`耗时`))+`:`+ke(v.value),1)],64)):Qr(`v-if`,!0),n[1]||=Zr(`\xA0)`,-1)])):Qr(`v-if`,!0)])),[[z(rm),{...z(i),text:y.value,appendTo:`parent`}]]),f.value?Qr(`v-if`,!0):(B(),Wr(z(ywe),{key:0,class:xe({"is-expanded":!s.value})},null,8,[`class`]))],2),Nn(H(`div`,bQt,[Jr(mQt,{desc:e.toolCall?.function.description,title:z(Df)(`描述`)},null,8,[`desc`,`title`]),Jr(mQt,{desc:e.toolCall?.function.arguments,title:z(Df)(`参数`)},null,8,[`desc`,`title`]),e.toolCall?.toolMessage?(B(),Wr(gQt,Se(ni({key:0},e.toolCall.toolMessage)),null,16)):Qr(`v-if`,!0)],512),[[Si,!s.value]])]))}}),SQt={class:`ai-message-artifacts`},CQt=Qn({__name:`message-artifacts`,props:{artifacts:{},onDownload:{type:Function},onPreview:{type:Function}},setup(e){return(t,n)=>(B(),V(`div`,SQt,[(B(!0),V(Ir,null,dr(e.artifacts,t=>(B(),Wr(KJt,{key:t.outputId,file:t,"on-download":e.onDownload,"on-preview":e.onPreview},null,8,[`file`,`on-download`,`on-preview`]))),128))]))}}),wQt={class:`ai-assistant-message`},TQt={key:0,class:`ai-assistant-message-content`},EQt={key:1,class:`ai-assistant-message-toolcalls`},DQt=Qn({__name:`assistant-message`,props:{content:{},id:{},messageId:{},name:{},property:{},role:{},status:{},toolCalls:{},uid:{}},setup(e){let t=e,n=U(()=>t.property?.artifacts);return(t,r)=>(B(),V(`div`,wQt,[Qr(` 内容 `),e.content?(B(),V(`div`,TQt,[pr(t.$slots,`default`,Se(Yr({content:e.content})),()=>[Jr(RGt,{content:e.content||``,status:e.status,type:z(Af).Text},null,8,[`content`,`status`,`type`])])])):Qr(`v-if`,!0),Qr(` 工具调用 `),e.toolCalls&&e.toolCalls.length>0?(B(),V(`div`,EQt,[(B(!0),V(Ir,null,dr(e.toolCalls,t=>(B(),Wr(xQt,{key:t.id,status:t.toolMessage?t.toolMessage.error?z(Mf).Error:t.toolMessage.status??e.status:z(Mf).Pending,"tool-call":t},null,8,[`status`,`tool-call`]))),128))])):Qr(`v-if`,!0),Qr(` 生成文件产物 `),n.value&&n.value.length>0?(B(),Wr(CQt,{key:2,artifacts:n.value},null,8,[`artifacts`])):Qr(`v-if`,!0)]))}}),OQt={class:`ai-info-message`},kQt={class:`ai-info-message-body`},AQt=Qn({__name:`info-message`,props:{content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},setup(e){return(t,n)=>(B(),V(`div`,OQt,[H(`div`,kQt,[(B(!0),V(Ir,null,dr(Array.isArray(e.content)?e.content:[e.content],(e,t)=>(B(),V(`div`,{key:t,class:`ai-info-message-content`},ke(e),1))),128))])]))}}),jQt={class:`ai-tool-approval-card`},MQt={class:`ai-tool-approval-card__header`},NQt={class:`ai-tool-approval-card__title-wrap`},PQt={class:`ai-tool-approval-card__title`},FQt={class:`ai-tool-approval-card__fields`},IQt={class:`ai-tool-approval-card__field`},LQt={class:`ai-tool-approval-card__field`},RQt={key:0,class:`ai-tool-approval-card__processor`},zQt={class:`ai-tool-approval-card__processor-text`},BQt={class:`ai-tool-approval-card__actions`},VQt={class:`ai-tool-approval-card__cancel-wrap`},HQt=2e3,UQt=Qn({__name:`tool-approval-card`,props:{interrupt:{},onInterruptResume:{type:Function},readonly:{type:Boolean}},setup(e){let t=e,n=nm(),r=uAe(),i=U(()=>r.value===Ff.Share),{copy:a}=Gp(),o=new Set([Of.PENDING,Of.DRAFT]),s=new Set([Of.ABANDONED,Of.CANCELLED,Of.EXPIRED,Of.REJECTED]),l=U(()=>t.interrupt.metadata?.ticket??{approvers:[],sn:``,status:Of.PENDING,submit_time:``,title:``,url:``}),u=new Set([Of.CANCELLED,Of.REVOKED]),d={[Of.APPROVED]:Df(`该单据已通过,无法取消`),[Of.CANCELLED]:Df(`单据已取消审批`),[Of.REJECTED]:Df(`该单据已被拒绝,无法取消`),[Of.REVOKED]:Df(`单据已取消审批`)},f=U(()=>o.has(l.value.status)),p=U(()=>f.value?`pending`:l.value.status),m=U(()=>f.value?Df(`审批中`):GCe[l.value.status]??l.value.status),h=U(()=>l.value.approvers.filter(Boolean).join(`、`)||Df(`无`)),g=U(()=>l.value.url||l.value.sn),_=U(()=>u.has(l.value.status)?Df(`已取消审批`):Df(`取消审批`)),v=U(()=>d[l.value.status]??Df(`当前状态无法取消审批`)),y=()=>{l.value.url&&window.open(l.value.url,`_blank`,`noopener`)},b=()=>{g.value&&a(g.value)},x=cn(!1),S=cn(!1),C,w=()=>{S.value=!0,clearTimeout(C),C=setTimeout(()=>{S.value=!1},HQt)},T=()=>{x.value||(x.value=!0,w(),t.onInterruptResume?.({operation:Nf.ApprovalCancel,payload:{interrupt_id:t.interrupt.id}},t.interrupt))},E=()=>{S.value||i.value||(w(),t.onInterruptResume?.({operation:Nf.ApprovalRefresh,payload:{interrupt_id:t.interrupt.id}},t.interrupt))};return cr(()=>clearTimeout(C)),(t,r)=>(B(),V(`section`,jQt,[H(`header`,MQt,[H(`div`,NQt,[r[0]||=H(`span`,{class:`ai-tool-approval-card__title-bar`},null,-1),H(`span`,PQt,ke(l.value.title||z(Df)(`算法方案评审单`)),1),Nn(Jr(z(Uf),{class:xe([`ai-tool-approval-card__copy-icon`,{"is-disabled":!g.value}]),onClick:b},null,8,[`class`]),[[z(Hp),{...z(n),content:z(Df)(`复制单据链接`),theme:`ai-chat-box`,offset:[0,8]}]]),Qr(` 审批中态提供刷新图标:取消为后端轮询、无法实时返回,用户可手动拉取单据最新状态;每次刷新 2s 冷却 `),f.value&&!e.readonly?Nn((B(),Wr(z(Gf),{key:0,class:xe([`ai-tool-approval-card__refresh-icon`,{"is-disabled":S.value||i.value}]),onClick:E},null,8,[`class`])),[[z(Hp),{...z(n),content:z(Df)(`刷新单据状态`),theme:`ai-chat-box`,offset:[0,8]}]]):Qr(`v-if`,!0)]),H(`span`,{class:xe([`ai-tool-approval-card__status`,`ai-tool-approval-card__status--${p.value}`])},[l.value.status===z(Of).APPROVED?(B(),Wr(z(jTe),{key:0,class:`ai-tool-approval-card__status-icon`})):z(s).has(l.value.status)?(B(),Wr(z(NTe),{key:1,class:`ai-tool-approval-card__status-icon`})):l.value.status===z(Of).REVOKED?(B(),Wr(z(PTe),{key:2,class:xe([`ai-tool-approval-card__status-icon`,{"ai-tool-approval-card__status-icon--revoked":l.value.status===z(Of).REVOKED}])},null,8,[`class`])):(B(),Wr(z(Yl),{key:3,class:`ai-tool-approval-card__status-icon`,mode:`spin`,size:`mini`,theme:`primary`})),Zr(` `+ke(m.value),1)],2)]),H(`dl`,FQt,[H(`div`,IQt,[H(`dt`,null,ke(z(Df)(`单据编号`)),1),H(`dd`,null,ke(l.value.sn||`--`),1)]),H(`div`,LQt,[H(`dt`,null,ke(z(Df)(`提交时间`)),1),H(`dd`,null,ke(l.value.submit_time||`--`),1)])]),f.value?(B(),V(`div`,RQt,[Jr(z(MTe),{class:`ai-tool-approval-card__processor-icon`}),Nn((B(),V(`span`,zQt,[Zr(ke(z(Df)(`当前处理人`))+`:`+ke(h.value),1)])),[[z(rm),{...z(n)}]])])):Qr(`v-if`,!0),H(`div`,BQt,[Jr(z(ru),{class:`ai-tool-approval-card__detail`,disabled:!l.value.url,theme:`primary`,onClick:y},{default:Mn(()=>[Zr(ke(z(Df)(`查看单据详情`))+` `,1),Jr(z(zf),{class:`ai-tool-approval-card__detail-icon`})]),_:1},8,[`disabled`]),Qr(` 待审批态:可点「取消审批」;点击后按钮进入 loading(同步 resume 无结果,防重复提交) `),f.value&&!e.readonly?(B(),Wr(z(ru),{key:0,class:`ai-tool-approval-card__cancel`,disabled:x.value||i.value,loading:x.value,outline:``,theme:`primary`,onClick:T},{default:Mn(()=>[Zr(ke(z(Df)(`取消审批`)),1)]),_:1},8,[`disabled`,`loading`])):e.readonly?Qr(`v-if`,!0):(B(),V(Ir,{key:1},[Qr(` 终态:保留「取消审批」按钮但置灰,hover 显示当前状态无法取消的原因(tooltip 挂在外层 span,规避 disabled 按钮不触发 hover) `),Nn((B(),V(`span`,VQt,[Jr(z(ru),{class:`ai-tool-approval-card__cancel`,disabled:``,outline:``},{default:Mn(()=>[Zr(ke(_.value),1)]),_:1})])),[[z(Hp),{...z(n),content:v.value,theme:`ai-chat-box`,offset:[0,8]}]])],2112))])]))}}),WQt={class:`ai-interrupt-message`},GQt={key:0,class:`ai-interrupt-message__content`},KQt={class:`ai-interrupt-message__fallback`},qQt=Qn({__name:`interrupt-message`,props:{content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{},onInterruptResume:{type:Function}},setup(e){let t={[kf.AIDevToolApproval]:UQt},n=e=>({id:e.interruptId||e.id||``,reason:kf.AIDevToolApproval,toolCallId:``,metadata:e.payload.metadata}),r={[kf.AIDevToolApproval]:e=>({component:UQt,props:{interrupt:n(e),onInterruptResume:a.onInterruptResume,readonly:!1}}),[kf.UserQuestion]:e=>({component:JYt,props:{answers:e.payload?.answers??[],status:e.status}})},i=new Set([kf.UserQuestion]),a=e,o=U(()=>a.content?.outcome?.type===`interrupt`?a.content.outcome.interrupts:[]),s=U(()=>a.content?.message),l=e=>t[e.reason],u=e=>i.has(e.reason),d=U(()=>{if(a.content?.outcome?.type!==`success`)return;let e=a.content?.result;if(e)return r[e.reason]?.(e)});return(t,n)=>(B(),V(`div`,WQt,[s.value?(B(),V(`div`,GQt,ke(s.value),1)):Qr(`v-if`,!0),(B(!0),V(Ir,null,dr(o.value,t=>(B(),V(Ir,{key:t.toolCallId},[l(t)?(B(),Wr(lr(l(t)),{key:0,interrupt:t,"on-interrupt-resume":e.onInterruptResume},null,40,[`interrupt`,`on-interrupt-resume`])):u(t)?Qr(`v-if`,!0):(B(),V(Ir,{key:1},[Qr(` UserQuestion 的交互浮层渲染在 chat-input 上方,不在会话内渲染 `),H(`div`,KQt,ke(t.message||z(Df)(`暂不支持的中断消息`)),1)],2112))],64))),128)),Qr(` outcome.success 时按 reason 在会话内回显 resume 结果(审批单 / 已回答内容等) `),d.value?(B(),Wr(lr(d.value.component),Se(ni({key:1},d.value.props)),fr({_:2},[t.$slots.answeredQuestion?{name:`answer`,fn:Mn(e=>[pr(t.$slots,`answeredQuestion`,Se(Yr(e)))]),key:`0`}:void 0]),1040)):Qr(`v-if`,!0)]))}}),JQt={class:`ai-loading-message`},YQt=Qn({__name:`loading-message`,setup(e){let t=Kp();return or(()=>{t?.value?.jumpToBottom?.()}),(e,t)=>(B(),V(`div`,JQt,[Jr(Kf,{size:18}),pr(e.$slots,`default`,{},()=>[Zr(ke(z(Df)(`请求中...`)),1)])]))}}),XQt={class:`ai-reasoning-message`},ZQt={key:0,class:`ai-reasoning-message-title-icon`},QQt={class:`ai-reasoning-message-title-text`},$Qt={class:`ai-reasoning-message-content`},e$t=Qn({__name:`reasoning-message`,props:yr({duration:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),{stop:r}=Ln(()=>t.duration,async e=>{e&&(n.value=!0,await Dn(),r?.())},{immediate:!0}),i=U(()=>{switch(t.status){case Mf.Pending:return Df(`思考中`);case Mf.Success:case Mf.Complete:return Df(`已思考完成`)+(t.duration?` (${Df(`耗时`)} :${HCe(t.duration)})`:``);case Mf.Error:return Df(`思考失败`);default:return Df(`思考中`)}});return(t,r)=>(B(),V(`div`,XQt,[H(`div`,{class:xe([`ai-reasoning-message-title`,{"ai-reasoning-message-title-collapsed":n.value,"is-thinking":e.status===z(Mf).Pending||e.status===z(Mf).Streaming,"is-complete":e.status===z(Mf).Complete||e.status===z(Mf).Success,"is-error":e.status===z(Mf).Error}]),onClick:r[0]||=e=>n.value=!n.value},[e.status===z(Mf).Pending||e.status===z(Mf).Streaming?(B(),V(`span`,ZQt,[Jr(Kf)])):Qr(`v-if`,!0),H(`span`,QQt,ke(i.value),1),Qr(` <template v-if="status === MessageStatus.Pending || status === MessageStatus.Streaming">
|
|
3907
|
+
`)}var fJt={class:`ai-input-attachment`},pJt={class:`ai-input-attachment-default`},mJt={class:`ai-input-attachment-before-send`},hJt=Qn({__name:`input-attachment`,props:{messageState:{},sendDisabledTip:{},tippyOptions:{}},emits:[`sendMessage`,`stopSending`],setup(e,{emit:t}){let n=e,r=t,i=()=>{r(`stopSending`)},a=()=>{n.sendDisabledTip||n.messageState===Mf.Disabled||n.messageState===Mf.Pending||n.messageState===Mf.Streaming||r(`sendMessage`)};return(t,r)=>(B(),V(`div`,fJt,[H(`div`,pJt,[pr(t.$slots,`default`)]),H(`div`,mJt,[pr(t.$slots,`before-send`)]),pr(t.$slots,`send-icon`,{},()=>[H(`div`,{class:xe([`send-message-icon`,[e.messageState&&`send-message-icon__${e.messageState}`,{"send-message-icon__disabled":e.sendDisabledTip}]]),onClick:a},[e.messageState===z(Mf).Streaming||e.messageState===z(Mf).Pending||e.messageState===z(Mf).Fetching?Nn((B(),Wr(z(WTe),{key:0,onClick:i},null,512)),[[z(Hp),{...e.tippyOptions,content:z(Df)(`停止`),theme:`ai-chat-box`,offset:[0,16]}]]):Nn((B(),Wr(z(UTe),{key:1},null,512)),[[z(Hp),{...e.tippyOptions,content:e.sendDisabledTip||(n.messageState===z(Mf).Disabled?void 0:z(Df)(`发送`)),theme:`ai-chat-box`,offset:[0,16]}]])],2)])]))}}),gJt={class:`ai-input-menu-option-name`},_Jt=Qn({__name:`input-menu-option`,props:{active:{type:Boolean},item:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=U(()=>{if(!n.item.description)return{content:``,onShow:()=>!1};let e=Hqt(n.item.type);return Iqt({title:e?`${Df(e)}:${n.item.name}`:n.item.name,description:n.item.description})}),a=()=>{n.item.disabled||r(`select`,n.item)};return(t,n)=>Nn((B(),V(`div`,{class:xe([`ai-input-menu-option`,{"is-active":e.active,"is-disabled":e.item.disabled}]),onClick:a},[Jr(z(R9),{icon:e.item.icon,name:e.item.name,type:e.item.type},null,8,[`icon`,`name`,`type`]),Nn((B(),V(`span`,gJt,[Zr(ke(e.item.name),1)])),[[z(rm),{text:e.item.name,zIndex:z(Pf)}]])],2)),[[z(Hp),i.value]])}}),vJt={class:`ai-input-menu-title`},yJt={key:0,class:`ai-input-menu-empty`},bJt=[`onClick`],xJt=Qn({__name:`input-menu-panel`,props:{flatItems:{},groups:{}},emits:[`select`,`toggleGroup`,`close`],setup(e,{emit:t}){let n=e,r=t,i=$n(`panelRef`),a=U(()=>n.flatItems),{activeIndex:o}=gke({items:a,onSelect:e=>r(`select`,e),menuRef:i}),s=U(()=>n.flatItems[o.value]);Ln(a,()=>{o.value=0});let l=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),r(`close`))};return or(()=>{window.addEventListener(`keydown`,l,!0)}),cr(()=>{window.removeEventListener(`keydown`,l,!0)}),(t,n)=>(B(),V(`div`,{ref_key:`panelRef`,ref:i,class:`ai-input-menu`},[(B(!0),V(Ir,null,dr(e.groups,e=>(B(),V(`div`,{key:e.key,class:xe([`ai-input-menu-group`,{"is-divided":e.divided}])},[H(`div`,vJt,ke(z(Df)(e.name)),1),(B(!0),V(Ir,null,dr(e.items,e=>(B(),Wr(_Jt,{key:e.id,active:s.value?.id===e.id,item:e,onSelect:n[0]||=e=>r(`select`,e)},null,8,[`active`,`item`]))),128)),e.items.length?Qr(`v-if`,!0):(B(),V(`div`,yJt,ke(z(Df)(`暂无数据`)),1)),e.restCount?(B(),V(`div`,{key:1,class:`ai-input-menu-toggle`,onClick:t=>r(`toggleGroup`,e.key)},[Jr(z(zf),{class:xe([`ai-input-menu-toggle-icon`,{"is-expanded":e.expanded}])},null,8,[`class`]),H(`span`,null,ke(e.expanded?z(Df)(`收起`):z(Df)(`更多`))+` +`+ke(e.restCount),1)],8,bJt)):Qr(`v-if`,!0)],2))),128))],512))}}),SJt=e=>{let t=cn([]);Ln([()=>e.keyword.value,()=>e.trigger.value],()=>{t.value=[]});let n=U(()=>{let n=e.trigger.value;if(!n)return[];let r=Math.max(e.groupItemLimit.value,1),i=e.keyword.value.trim().toLowerCase(),a=[];for(let o of Rqt[n]){let n=Lqt[o],s=e.sources.value.filter(e=>(e.type!==`artifact`||!!e.id)&&n.types.includes(e.type)&&(!i||e.name.toLowerCase().includes(i)));if(!s.length)continue;let l=t.value.includes(o),u=Math.max(s.length-r,0);a.push({key:o,name:n.name,divided:zqt.includes(o),expanded:l,items:l||!u?s:s.slice(0,r),restCount:u})}return a});return{groups:n,flatItems:U(()=>n.value.flatMap(e=>e.items.filter(e=>!e.disabled))),hasContent:U(()=>n.value.length>0),toggleGroup:e=>{let n=t.value.indexOf(e);t.value=n===-1?[...t.value,e]:[...t.value.slice(0,n),...t.value.slice(n+1)]}}},CJt=[{key:`support_thinking`,label:()=>Df(`深度思考`),theme:`primary`},{key:`support_thinking_quick`,label:()=>Df(`快速思考`),theme:`success`},{key:`support_vision`,label:()=>Df(`图生文`),theme:`warning`}],wJt=e=>CJt.filter(t=>e.property?.[t.key]).map(e=>({text:e.label(),theme:e.theme})),TJt={class:`ai-model-selector-panel-search`},EJt={class:`ai-model-selector-panel-list`},DJt=[`title`,`onClick`],OJt=[`title`],kJt={key:1,class:`ai-model-selector-panel-option-tags`},AJt={key:0,class:`ai-model-selector-panel-empty`},jJt=Qn({__name:`model-selector-panel`,props:yr({models:{},searchPlaceholder:{},selectedName:{}},{keyword:{default:``},keywordModifiers:{}}),emits:yr([`select`],[`update:keyword`]),setup(e,{expose:t,emit:n}){let r=e,i=U(()=>{let e=new Map;return r.models.forEach(t=>e.set(t.llm_name,wJt(t))),e}),a=n,o=Er(e,`keyword`),s=$n(`panelRef`),l=$n(`searchInputRef`),u=cn(r.models),{activeIndex:d}=gke({items:u,menuRef:s,onSelect:e=>f(e)});Ln(()=>r.models,e=>{u.value=e,d.value=0});let f=e=>{e.disabled||a(`select`,e)};return t({focusSearch:()=>{Dn(()=>{l.value?.focus()})}}),(t,n)=>(B(),V(`div`,{ref_key:`panelRef`,ref:s,class:`ai-model-selector-panel`},[H(`div`,TJt,[Jr(z(mu),{ref_key:`searchInputRef`,ref:l,modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,behavior:`simplicity`,class:`ai-model-selector-panel-search-input`,clearable:``,placeholder:e.searchPlaceholder,type:`text`},{prefix:Mn(()=>[Jr(z(ATe),{class:`ai-model-selector-panel-search-icon`})]),_:1},8,[`modelValue`,`placeholder`])]),H(`div`,EJt,[(B(!0),V(Ir,null,dr(e.models,(t,n)=>(B(),V(`div`,{key:t.id,class:xe([`ai-model-selector-panel-option`,{"is-selected":t.llm_name===e.selectedName,"is-active":n===z(d),"is-disabled":t.disabled}]),title:t.description,onClick:e=>f(t)},[t.icon?(B(),Wr(z(R9),{key:0,class:`ai-model-selector-panel-option-icon`,icon:t.icon,name:t.llm_name,type:`model`},null,8,[`icon`,`name`])):Qr(`v-if`,!0),H(`span`,{class:`ai-model-selector-panel-option-name`,title:t.llm_name},ke(t.llm_name),9,OJt),i.value.get(t.llm_name)?.length?(B(),V(`span`,kJt,[(B(!0),V(Ir,null,dr(i.value.get(t.llm_name),(e,t)=>(B(),V(`span`,{key:t,class:xe([`ai-model-capability-tag`,`is-${e.theme||`default`}`])},ke(e.text),3))),128))])):Qr(`v-if`,!0)],10,DJt))),128)),e.models.length?Qr(`v-if`,!0):(B(),V(`div`,AJt,[Jr(z(ad),{scene:`part`,type:`empty`},{default:Mn(()=>[Zr(ke(z(Df)(`搜索结果为空`)),1)]),_:1})]))])],512))}}),MJt={class:`ai-model-selector-trigger-name`},NJt=Qn({__name:`model-selector-trigger`,props:{disabled:{type:Boolean},expanded:{type:Boolean},model:{},placeholder:{}},setup(e){return(t,n)=>(B(),V(`div`,{class:xe([`ai-model-selector-trigger`,{"is-expanded":e.expanded,"is-disabled":e.disabled}])},[e.model?.icon?(B(),Wr(z(R9),{key:0,class:`ai-model-selector-trigger-icon`,icon:e.model.icon,name:e.model.llm_name,type:`model`},null,8,[`icon`,`name`])):Qr(`v-if`,!0),H(`span`,MJt,ke(e.model?.llm_name||e.placeholder),1),Jr(z(zf),{class:`ai-model-selector-trigger-arrow`})],2))}}),PJt=e=>{let t=cn(``);return{keyword:t,filteredModels:U(()=>{let n=t.value.trim().toLowerCase();return n?e.models.value.filter(e=>e.llm_name.toLowerCase().includes(n)):e.models.value}),currentModel:U(()=>e.models.value.find(t=>t.llm_name===e.selectedModel.value)),resetKeyword:()=>{t.value=``}}},FJt=Qn({__name:`model-selector`,props:yr({disabled:{type:Boolean},models:{default:()=>[]},placeholder:{default:()=>Df(`选择模型`)},searchPlaceholder:{default:()=>Df(`搜索模型关键字`)},tippyOptions:{default:void 0}},{modelValue:{},modelModifiers:{}}),emits:yr([`change`],[`update:modelValue`]),setup(e,{emit:t}){let n=e,r=t,i=Er(e,`modelValue`),a=$n(`tippyRef`),o=$n(`panelRef`),s=cn(!1),{keyword:l,filteredModels:u,currentModel:d,resetKeyword:f}=PJt({models:pn(n,`models`),selectedModel:i}),p=U(()=>({arrow:!1,interactive:!0,offset:[0,6],placement:`top-end`,theme:`ai-model-selector`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),m=()=>{if(n.disabled||!n.models.length)return!1;s.value=!0,f(),o.value?.focusSearch()},h=()=>{s.value=!1},g=e=>{i.value=e.llm_name,r(`change`,e),a.value?.hide?.()};return(t,n)=>(B(),Wr(z(Vp),ni({ref_key:`tippyRef`,ref:a},p.value,{onHidden:h,onShow:m}),{content:Mn(()=>[Jr(jJt,{ref_key:`panelRef`,ref:o,keyword:z(l),"onUpdate:keyword":n[0]||=e=>on(l)?l.value=e:null,models:z(u),"search-placeholder":e.searchPlaceholder,"selected-name":i.value,onSelect:g},null,8,[`keyword`,`models`,`search-placeholder`,`selected-name`])]),default:Mn(()=>[Jr(NJt,{disabled:e.disabled,expanded:s.value,model:z(d),placeholder:e.placeholder},null,8,[`disabled`,`expanded`,`model`,`placeholder`])]),_:1},16))}}),IJt={class:`chat-input-wrapper`},LJt=[`accept`],RJt={key:1,class:`ai-divider`},zJt=Qn({__name:`chat-input`,props:yr({accept:{default:KCe},defaultUploadFiles:{},inputMaxHeight:{default:280},menuGroupItemLimit:{default:4},menuSources:{default:()=>[]},messageStatus:{},models:{},modelValue:{},onSendMessage:{},onStopSending:{},onUpload:{},placeholder:{},sendDisabledTip:{},shortcutId:{},shortcuts:{},supportUpload:{type:Boolean,default:!0},tippyOptions:{}},{cite:{required:!1,default:``},citeModifiers:{},selectedModel:{required:!1},selectedModelModifiers:{}}),emits:yr([`selectShortcut`,`deleteShortcut`,`deleteFile`,`update:modelValue`,`modelChange`],[`update:cite`,`update:selectedModel`]),setup(e,{expose:t,emit:n}){let r=$n(`aiSlashInputRef`),i=$n(`containerRef`),a=$n(`filesRef`),o=$n(`fileInputRef`),s=Er(e,`cite`),l=Er(e,`selectedModel`),u=cn(280),d=e,f=n,p=U(()=>new Set(_.value.map(e=>e.type))),m=U(()=>d.placeholder===void 0?dJt({isEn:Ef,hasSlashMenu:[`skill`,`mcp`,`tool`].some(e=>p.value.has(e)),hasAtMenu:[`knowledgebase`,`doc`,`artifact`].some(e=>p.value.has(e)),hasPromptMenu:p.value.has(`prompt`)}):d.placeholder),h=sn(d.defaultUploadFiles||[]),g=U(()=>h.value.map(Zp).filter(e=>!!e)),_=U(()=>{let e=new Map(d.menuSources.map(e=>[`${e.type}:${e.id}`,e]));for(let t of g.value)e.set(`artifact:${t.outputId}`,Qp(t));return[...e.values()]}),v=U(()=>d.shortcuts?.find(e=>e.id===d.shortcutId)),y=cn(null),b=cn(``),x=U(()=>typeof d.modelValue==`string`?new Set:new Set(d.modelValue.flat().filter(e=>e.type===`tag`).map(e=>`${e.data.type}:${e.data.value}`))),S=U(()=>{let e=_.value.filter(e=>!x.value.has(`${e.type}:${e.id}`));return d.supportUpload?[{id:`__built_in_file__`,type:`file`,name:Df(`文件`)},...e]:e}),C=U(()=>d.accept||void 0),{groups:w,flatItems:T,hasContent:E,toggleGroup:D}=SJt({sources:S,keyword:b,trigger:y,groupItemLimit:U(()=>d.menuGroupItemLimit)}),O=U(()=>!!y.value&&E.value),k=U(()=>d.supportUpload||d.menuSources.length>0),A=e=>{y.value=e.trigger,b.value=e.keyword},j=()=>{r.value?.closeMenu?.()},M=()=>{if(y.value===`plus`){j();return}r.value?.openPlusMenu?.()},N=e=>{D(e)},P=()=>{o.value?.click()},F=e=>{if(e.type===`file`){r.value?.consumeTriggerText?.(),j(),P();return}if(e.type===`prompt`){r.value?.replaceAll?.(e.content??e.name);return}r.value?.insertMenuItem?.(e)},I=U(()=>typeof d.modelValue==`string`?d.modelValue:nJt(d.modelValue)),L=U(()=>d.messageStatus&&[Mf.Pending,Mf.Streaming,Mf.Fetching].includes(d.messageStatus)||h.value.length>0||I.value.trim()?d.messageStatus:Mf.Disabled),R=U(()=>h.value.some(e=>e.status===F9.Pending)),ee=U(()=>h.value.some(e=>e.status===F9.Error)),te=U(()=>{if(d.sendDisabledTip)return d.sendDisabledTip;if(R.value)return Df(`文件上传中,请稍候`);if(ee.value)return Df(`存在上传失败的文件,请删除后重试`)});wee(()=>{let e=d.inputMaxHeight||280;if(h.value.length<1||!a.value){u.value=e;return}u.value=e+(a.value?.clientHeight||0)});let ne=()=>yke(Array.isArray(d.modelValue)?d.modelValue:[],g.value),re=async()=>{try{if(te.value)return;r.value?.cleanup?.();let e;h.value?.length?(e=h.value?.slice().map(e=>({type:Af.Binary,id:e.id,outputId:e.outputId,url:e.url,mimeType:e.mimeType||e.file?.type||``,filename:Yp(e),size:Xp(e)})),I.value.trim()&&e.push({type:Af.Text,text:I.value})):e=I.value,d.onSendMessage?.(e,ne()),h.value=[]}catch(e){console.error(e)}},ie=e=>{if(e.key===`Enter`||e.key===`NumpadEnter`){if(e.shiftKey||O.value||L.value===Mf.Disabled||te.value||L.value===Mf.Fetching||L.value===Mf.Streaming||L.value===Mf.Pending)return;re()}},ae=async()=>{try{d.onStopSending?.()}catch(e){console.error(e)}},oe=()=>{s.value=``},se=e=>{f(`selectShortcut`,e)},ce=()=>{f(`deleteShortcut`)},le=e=>{f(`modelChange`,e)},ue=($Ce/(1024*1024)).toFixed(1),de=(e,t)=>{if(t?.status!==`failed`&&(t?.id||t?.path||t?.download_url||t?.status===`success`)){e.id=t.id||t.path,e.outputId=t.path,e.url=t.download_url,e.status=F9.Success;return}e.status=F9.Error},fe=async e=>{if(!d.supportUpload)return;let t=new Set(h.value.map(e=>e.file?Jp(e.file):``)),n=[],r=0,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=Jp(o);if(t.has(s))continue;if(h.value.length>=9){r+=e.length-a;break}if(!Eke(o,d.accept)){i+=1;continue}if(o.size<=0||o.size>=20971520){r+=1;continue}t.add(s);let l=Jt({file:o,mimeType:o.type,status:F9.Pending});h.value.push(l),n.push(l)}if(i>0&&ud({message:Df(`有 {count} 个文件因格式不支持未添加`).replace(`{count}`,String(i)),theme:`error`}),r>0&&ud({message:Cke(r,ue,Ef),theme:`error`}),n.length>0){Oe();let e=n.map(e=>e.file).filter(e=>!!e),t=d.onUpload?.(e);if(!t)return;t.then(e=>{let t=Array.isArray(e)?e:[e];n.forEach((e,n)=>{de(e,t[n])})}).catch(()=>{n.forEach(e=>{e.status=F9.Error})})}},pe=cn(!1),me=0,he=e=>!!e.dataTransfer?.types?.includes(`Files`),_e=e=>d.supportUpload&&he(e),ve=e=>{_e(e)&&(me+=1,pe.value=!0)},ye=e=>{_e(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))},be=e=>{_e(e)&&(me=Math.max(me-1,0),me===0&&(pe.value=!1))},Ce=e=>{if(!_e(e))return;e.preventDefault(),me=0,pe.value=!1;let t=Array.from(e.dataTransfer?.files??[]);t.length&&fe(t)},we=e=>{h.value=h.value.filter(t=>t.id&&e.id?t.id!==e.id:t.file?t.file!==e.file:t.url?t.url!==e.url:t.filename?t.filename!==e.filename:!0),f(`deleteFile`,e)},Te=e=>{f(`update:modelValue`,e,e.flat().filter(e=>e.type===`tag`).map(e=>_.value.find(t=>t.id===e.data.value&&t.type===e.data.type)).filter(e=>!!e))},Ee=e=>{let t=e.target,n=Array.from(t.files??[]);n.length&&fe(n),t.value=``},De=e=>{i.value?.contains(e.target)||j()};Ln(O,e=>{if(e){document.addEventListener(`mousedown`,De,!0);return}document.removeEventListener(`mousedown`,De,!0)}),cr(()=>{document.removeEventListener(`mousedown`,De,!0)});let Oe=()=>{r.value?.focus?.()};return t({focus:Oe,insertMention:e=>{r.value?.appendMention?.(e)},triggerSendMessage:re,uploadedArtifacts:g}),(t,n)=>(B(),V(`div`,{ref_key:`containerRef`,ref:i,class:`ai-chat-input-container`,style:ge({"--chat-z-index":z(qCe),"--chat-menu-z-index":z(Pf)})},[pr(t.$slots,`top`),pr(t.$slots,`interrupt`),H(`div`,IJt,[O.value?(B(),Wr(z(xJt),{key:0,class:`chat-input-menu`,"flat-items":z(T),groups:z(w),onClose:j,onSelect:F,onToggleGroup:N},null,8,[`flat-items`,`groups`])):Qr(`v-if`,!0),H(`div`,{class:xe([`chat-input`,{"is-dragover":pe.value}]),style:ge({maxHeight:u.value+`px`}),onDragenter:ve,onDragleave:be,onDragover:ye,onDrop:Ce},[pr(t.$slots,`input-header`,{},()=>[s.value?(B(),Wr(JKt,{key:0,class:`chat-input-cite`,content:s.value,onClose:oe},null,8,[`content`])):Qr(`v-if`,!0)]),pr(t.$slots,`files`,Se(Yr({files:h.value})),()=>[h.value.length?(B(),V(`div`,{key:0,ref_key:`filesRef`,ref:a,class:`chat-input-files`},[Jr(Aqt,{files:h.value,onDeleteFile:we},null,8,[`files`])],512)):Qr(`v-if`,!0)]),Jr(uJt,{ref_key:`aiSlashInputRef`,ref:r,"model-value":e.modelValue,placeholder:m.value,onKeydown:ie,onMenuChange:A,"onUpdate:modelValue":Te,onUpload:fe},null,8,[`model-value`,`placeholder`]),Jr(hJt,{"message-state":L.value,"send-disabled-tip":te.value,"tippy-options":e.tippyOptions,onSendMessage:re,onStopSending:ae},{default:Mn(()=>[H(`input`,{ref_key:`fileInputRef`,ref:o,accept:C.value,class:`chat-input-file-input`,multiple:``,type:`file`,onChange:Ee},null,40,LJt),k.value?(B(),Wr(GKt,{key:0,active:y.value===`plus`,"tippy-options":e.tippyOptions,onToggle:M},null,8,[`active`,`tippy-options`])):Qr(`v-if`,!0),k.value&&(e.shortcuts?.length||v.value)?(B(),V(`span`,RJt)):Qr(`v-if`,!0),pr(t.$slots,`attachment`,{},()=>[e.shortcuts&&!v.value?(B(),Wr(HOe,{key:0,shortcuts:e.shortcuts,onSelectShortcut:se},null,8,[`shortcuts`])):Qr(`v-if`,!0),v.value?(B(),Wr(Up,{key:1,class:`selected-shortcut-btn`,shortcut:v.value},{append:Mn(()=>[Jr(z(Hf),{onClick:ce})]),_:1},8,[`shortcut`])):Qr(`v-if`,!0)])]),"before-send":Mn(()=>[pr(t.$slots,`model-selector`,Se(Yr({models:e.models,selectedModel:l.value})),()=>[e.models?.length?(B(),Wr(z(FJt),{key:0,modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,class:`chat-input-model-selector`,models:e.models,"tippy-options":e.tippyOptions,onChange:le},null,8,[`modelValue`,`models`,`tippy-options`])):Qr(`v-if`,!0)])]),"send-icon":Mn(()=>[pr(t.$slots,`send-icon`)]),_:3},8,[`message-state`,`send-disabled-tip`,`tippy-options`])],38)])],4))}}),BJt={class:`ai-chat-input-info-alert`},VJt={class:`ai-chat-input-info-alert__text`},HJt=Qn({__name:`input-info-alert`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`div`,BJt,[Jr(z(ITe),{class:`ai-chat-input-info-alert__icon`}),H(`span`,VJt,ke(e.content),1)]))}}),UJt={class:`ai-artifact-file-card-info`},WJt={class:`ai-artifact-file-card-name`},GJt={class:`ai-artifact-file-card-actions`},KJt=Qn({__name:`artifact-file-card`,props:{active:{type:Boolean},file:{},onDownload:{type:Function},onPreview:{type:Function},variant:{}},setup(e){let t=e,n=Wp(),r=nm(),i=hke(),a=U(()=>!!t.onPreview||!!n),o=U(()=>!!t.onDownload||!!n?.canResolveArtifactUrl.value),s=U(()=>Xr(Swe)),l=U(()=>Xr(Wf)),u=cn(!1),d=U(()=>({...r?.value,content:Df(`下载`),theme:`ai-chat-box`,placement:`top`})),f=U(()=>({...r?.value,content:Df(`引用`),theme:`ai-chat-box`,placement:`top`})),p=()=>{t.file.outputId&&i?.insertMention(Qp(t.file))},m=()=>{if(t.onPreview){t.onPreview(t.file);return}n?.openPreview({file:t.file})},h=async()=>{if(!u.value){if(t.onDownload){t.onDownload(t.file);return}if(n?.canResolveArtifactUrl.value){u.value=!0;try{let{download_url:e}=await n.resolveArtifactUrls(t.file);e&&QOe(e,t.file.name)}finally{u.value=!1}}}};return(t,n)=>(B(),V(`div`,{class:xe([`ai-artifact-file-card`,{"is-active":e.active,"is-clickable":a.value,"is-list":e.variant===`list`}]),onClick:m},[Qr(` 左侧:文件类型图标 + 文件名 `),H(`div`,UJt,[Jr(L9,{class:`ai-artifact-file-card-icon`,"file-name":e.file.name,"file-type":e.file.type},null,8,[`file-name`,`file-type`]),Nn((B(),V(`span`,WJt,[Zr(ke(e.file.name),1)])),[[z(rm),{...z(r),text:e.file.name,placement:`top`}]])]),Qr(` 右侧操作区:hover 显示,设计稿中引用在下载左侧 `),H(`div`,GJt,[z(i)&&e.file.outputId?Nn((B(),V(`div`,{key:0,class:`ai-artifact-file-card-action ai-artifact-file-card-cite`,onClick:Ai(p,[`stop`])},[(B(),Wr(lr(l.value)))])),[[z(Hp),f.value]]):Qr(`v-if`,!0),o.value?Nn((B(),V(`div`,{key:1,class:xe([`ai-artifact-file-card-action ai-artifact-file-card-download`,{"is-loading":u.value}]),onClick:Ai(h,[`stop`])},[u.value?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(s.value),{key:1}))],2)),[[z(Hp),d.value]]):Qr(`v-if`,!0)])],2))}}),qJt={class:`ai-message-loading-row`},JJt={class:`ai-message-loading-icon-wrap`},YJt={key:0,class:`ai-message-loading-text ai-message-loading-text-custom`},XJt={key:1,"aria-live":`polite`,class:`ai-message-loading-text`},ZJt=Qn({name:`MessageLoading`,inheritAttrs:!1,__name:`message-loading`,props:{duration:{default:1.8},gap:{default:8},iconSize:{default:32},stagger:{default:.135},text:{default:`加载中...`}},setup(e){let t=e,n=fte(),r=U(()=>{let{class:e,style:t,...r}=n;return r}),i=U(()=>({display:`block`,width:`${t.iconSize}px`,height:`${t.iconSize}px`})),a=U(()=>[...t.text]),o=U(()=>{let e=n.style,r={"--ai-message-loading-duration":`${t.duration}s`,"--ai-message-loading-stagger":`${t.stagger}s`,"--ai-message-loading-gap":`${t.gap}px`};return e&&typeof e==`object`&&!Array.isArray(e)?{...r,...e}:r});return(e,t)=>(B(),V(`div`,ni({class:[`ai-message-loading`,z(n).class],style:o.value},r.value),[H(`div`,qJt,[H(`span`,JJt,[pr(e.$slots,`icon`,{},()=>[Jr(z(awe),{class:`ai-message-loading-icon-svg`,style:ge(i.value)},null,8,[`style`])])]),e.$slots.text?(B(),V(`span`,YJt,[pr(e.$slots,`text`)])):(B(),V(`span`,XJt,[(B(!0),V(Ir,null,dr(a.value,(e,t)=>(B(),V(`span`,{key:`${t}-${e}`,class:`ai-message-loading-char`,style:ge({"--char-index":t})},ke(e),5))),128))]))])],16))}}),QJt={class:`ai-artifact-code-preview`},$Jt=[`innerHTML`],eYt=3e5,tYt=Qn({__name:`code-preview`,props:{content:{},extension:{}},setup(e){let t={cfg:`ini`,conf:`ini`,dockerignore:`plaintext`,editorconfig:`ini`,env:`ini`,gitignore:`plaintext`,jsonc:`json`,jsx:`javascript`,tsx:`typescript`,vue:`xml`,zsh:`bash`},n=e,r=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`),i=e=>t[e]||(Wh.getLanguage(e)?e:`plaintext`),a=U(()=>{let{content:e}=n;if(!e)return``;let t=i(n.extension);if(t===`plaintext`||e.length>eYt)return r(e);try{return Wh.highlight(e,{language:t,ignoreIllegals:!0}).value}catch{return r(e)}});return(e,t)=>(B(),V(Ir,null,[Qr(` 高亮结果由 highlight.js 生成,未识别语言时走 escapeHtml 兜底,无注入风险 `),H(`pre`,QJt,[H(`code`,{class:`hljs`,innerHTML:a.value},null,8,$Jt)])],2112))}}),nYt=[`srcdoc`],rYt=Qn({__name:`html-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`iframe`,{class:`ai-artifact-html-preview`,srcdoc:e.content},null,8,nYt))}}),iYt={class:`ai-artifact-image-preview`},aYt=[`alt`,`src`],oYt=Qn({__name:`image-preview`,props:{name:{},url:{}},setup(e){return(t,n)=>(B(),V(`div`,iYt,[H(`img`,{alt:e.name,src:e.url},null,8,aYt)]))}}),sYt={class:`ai-artifact-markdown-preview`},cYt=Qn({__name:`markdown-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`div`,sYt,[Jr(g9,{content:e.content,status:z(Mf).Success},null,8,[`content`,`status`])]))}}),lYt={class:`ai-artifact-txt-preview`},uYt=Qn({__name:`txt-preview`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`pre`,lYt,ke(e.content),1))}}),dYt=[`src`],fYt=Qn({__name:`url-iframe-preview`,props:{url:{}},setup(e){return(t,n)=>(B(),V(`iframe`,{class:`ai-artifact-url-iframe-preview`,src:e.url},null,8,dYt))}}),pYt={binary:{load:`preview_url`,renderer:`urlIframe`},code:{load:`text_from_download`,renderer:`code`},html:{load:`text_from_download`,renderer:`html`},image:{load:`preview_url`,renderer:`image`},markdown:{load:`text_from_download`,renderer:`markdown`},text:{load:`text_from_download`,renderer:`txt`}},mYt=(e,t)=>pYt[fTe(e,t)],hYt=e=>{let t=cn(`idle`),n=cn(``),r=cn(``),i=cn(``),a=cn(`urlIframe`),o,s=0,l=()=>{n.value=``,r.value=``,i.value=``},u=async()=>{let u=++s;o?.abort(),o=void 0;let d=e.getFile();if(!d||!e.canResolve()){t.value=`empty`,l();return}t.value=`loading`,l();let f=mYt(d.type,d.name);a.value=f.renderer;try{let a=await e.resolveUrls(d);if(u!==s)return;if(f.load===`text_from_download`){if(!a.download_url){t.value=`empty`;return}let e=new AbortController;o=e;let r=await fetch(a.download_url,{signal:e.signal});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.text();if(e.signal.aborted||u!==s)return;n.value=i,t.value=`ready`;return}if(f.renderer===`image`){if(!a.download_url){t.value=`empty`;return}i.value=a.download_url,t.value=`ready`;return}if(!a.preview_url){t.value=`empty`;return}r.value=a.preview_url,t.value=`ready`}catch{if(u!==s||o?.signal.aborted)return;t.value=`error`}},d=()=>{s+=1,o?.abort()};return sr(d),{content:n,dispose:d,downloadUrl:i,load:u,previewUrl:r,renderer:a,status:t}},gYt={class:`ai-artifact-preview-host`},_Yt={key:0,class:`ai-artifact-preview-host-loading`},vYt={key:1,class:`ai-artifact-preview-host-error`},yYt={key:2,class:`ai-artifact-preview-host-empty`},bYt=Qn({__name:`artifact-preview-host`,props:{file:{}},setup(e,{expose:t}){let n=e,r=Wp(),{content:i,downloadUrl:a,load:o,previewUrl:s,renderer:l,status:u}=hYt({canResolve:()=>!!r?.canResolveArtifactUrl.value,getFile:()=>n.file,resolveUrls:e=>r?.resolveArtifactUrls(e)??Promise.resolve({})}),d=U(()=>Rf(n.file?.type,n.file?.name));return Ln(()=>n.file?`${n.file.outputId}:${n.file.type}`:``,()=>{o()},{immediate:!0}),t({content:i,renderer:l,status:u}),(t,n)=>(B(),V(`div`,gYt,[z(u)===`loading`?(B(),V(`div`,_Yt,[Jr(ZJt)])):z(u)===`error`?(B(),V(`div`,vYt,[H(`span`,null,ke(z(Df)(`预览加载失败`)),1),Jr(z(ru),{size:`small`,text:``,theme:`primary`,onClick:n[0]||=()=>z(o)()},{default:Mn(()=>[Zr(ke(z(Df)(`重试`)),1)]),_:1})])):z(u)===`empty`||!e.file?(B(),V(`div`,yYt,ke(z(Df)(`暂无可预览的文件`)),1)):z(l)===`html`?(B(),Wr(rYt,{key:3,content:z(i)},null,8,[`content`])):z(l)===`code`?(B(),Wr(tYt,{key:4,content:z(i),extension:d.value},null,8,[`content`,`extension`])):z(l)===`txt`?(B(),Wr(uYt,{key:5,content:z(i)},null,8,[`content`])):z(l)===`markdown`?(B(),Wr(cYt,{key:6,content:z(i)},null,8,[`content`])):z(l)===`image`?(B(),Wr(oYt,{key:7,name:e.file?.name,url:z(a)},null,8,[`name`,`url`])):(B(),Wr(fYt,{key:8,url:z(s)},null,8,[`url`]))]))}}),xYt={key:0,class:`ai-file-artifact-panel is-empty`},SYt={class:`ai-file-artifact-panel-empty-text`},CYt={key:1,class:`ai-file-artifact-panel`},wYt={class:`ai-file-artifact-panel-list`},TYt={class:`ai-file-artifact-panel-list-title`},EYt={class:`ai-file-artifact-panel-list-scroll`},DYt={key:1,class:`ai-file-artifact-panel-list-empty`},OYt={class:`ai-file-artifact-panel-preview`},kYt={key:0,class:`ai-file-artifact-panel-preview-header`},AYt={class:`ai-file-artifact-panel-preview-header-info`},jYt={class:`ai-file-artifact-panel-preview-header-name`},MYt={class:`ai-file-artifact-panel-preview-header-actions`},NYt={class:`ai-file-artifact-panel-preview-body`},PYt=Qn({__name:`file-artifact-panel`,props:{activeId:{},artifacts:{}},emits:[`select`],setup(e,{emit:t}){let n=new Set([`code`,`html`,`markdown`,`text`]),r=e,i=t,a=Wp(),o=U(()=>!!a?.canResolveArtifactUrl.value),s=hke(),{copy:l}=Gp(),u=nm(),d=$n(`previewHostRef`),f=()=>Xr(Swe),p=()=>Xr(Uf),m=()=>Xr(Wf),h=cn(``),g=cn(!1),_=U(()=>({...u?.value,content:Df(`复制`),placement:`top`,theme:`ai-chat-box`})),v=U(()=>({...u?.value,content:Df(`下载`),placement:`top`,theme:`ai-chat-box`})),y=U(()=>({...u?.value,content:Df(`引用`),placement:`top`,theme:`ai-chat-box`})),b=e=>{e.outputId&&s?.insertMention(Qp(e))},x=U(()=>{let e=h.value.trim().toLowerCase();return e?r.artifacts.filter(t=>t.name.toLowerCase().includes(e)):r.artifacts}),S=U(()=>r.artifacts.find(e=>e.outputId===r.activeId)),C=U(()=>{let e=S.value;return e?n.has(fTe(e.type,e.name)):!1}),w=U(()=>{let e=d.value;return!!e&&e.status===`ready`&&!!e.content}),T=e=>{e.outputId!==r.activeId&&i(`select`,e.outputId)},E=()=>{if(!w.value)return;let e=d.value?.content;e&&l(e)},D=async e=>{if(!(g.value||!a?.canResolveArtifactUrl.value)){g.value=!0;try{let{download_url:t}=await a.resolveArtifactUrls(e);t&&QOe(t,e.name)}finally{g.value=!1}}};return Ln(()=>S.value?.outputId,()=>{g.value=!1}),(t,n)=>(B(),V(Ir,null,[Qr(` 无产物:整块空态,不展示文件列表与预览区 `),e.artifacts.length?(B(),V(`div`,CYt,[Qr(` 左侧:文件列表 + 搜索 `),H(`div`,wYt,[H(`p`,TYt,ke(z(Df)(`文件列表`))+`(`+ke(e.artifacts.length)+`)`,1),Jr(z(mu),{modelValue:h.value,"onUpdate:modelValue":n[0]||=e=>h.value=e,class:`ai-file-artifact-panel-list-search`,clearable:``,placeholder:z(Df)(`搜索文件关键字`)},null,8,[`modelValue`,`placeholder`]),H(`div`,EYt,[x.value.length?(B(!0),V(Ir,{key:0},dr(x.value,t=>(B(),Wr(KJt,{key:t.outputId,active:t.outputId===e.activeId,file:t,"on-preview":()=>T(t),variant:`list`},null,8,[`active`,`file`,`on-preview`]))),128)):(B(),V(`div`,DYt,ke(z(Df)(`搜索结果为空`)),1))])]),Qr(` 右侧:预览区 `),H(`div`,OYt,[S.value?(B(),V(`div`,kYt,[H(`div`,AYt,[Jr(L9,{class:`ai-file-artifact-panel-preview-header-icon`,"file-name":S.value.name,"file-type":S.value.type},null,8,[`file-name`,`file-type`]),Nn((B(),V(`span`,jYt,[Zr(ke(S.value.name),1)])),[[z(rm),{...z(u),text:S.value.name,placement:`top`}]])]),H(`div`,MYt,[C.value?Nn((B(),V(`span`,{key:0,class:xe([`ai-file-artifact-panel-preview-header-action`,{"is-disabled":!w.value}]),onClick:E},[(B(),Wr(lr(p())))],2)),[[z(Hp),_.value]]):Qr(`v-if`,!0),Qr(` 设计稿:引用位于下载左侧,点击后该文件以标签形式进入输入框 `),z(s)&&S.value.outputId?Nn((B(),V(`span`,{key:1,class:`ai-file-artifact-panel-preview-header-action`,onClick:n[1]||=e=>b(S.value)},[(B(),Wr(lr(m())))])),[[z(Hp),y.value]]):Qr(`v-if`,!0),o.value?Nn((B(),V(`span`,{key:2,class:xe([`ai-file-artifact-panel-preview-header-action`,{"is-loading":g.value}]),onClick:n[2]||=e=>D(S.value)},[g.value?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(f()),{key:1}))],2)),[[z(Hp),v.value]]):Qr(`v-if`,!0)])])):Qr(`v-if`,!0),H(`div`,NYt,[Jr(bYt,{ref_key:`previewHostRef`,ref:d,file:S.value},null,8,[`file`])])])])):(B(),V(`div`,xYt,[Jr(z(ad),{class:`ai-file-artifact-panel-empty-exception`,scene:`part`,type:`empty`}),H(`div`,SYt,ke(z(Df)(`暂无数据`)),1)]))],2112))}}),FYt=`others`,IYt=e=>e<26?String.fromCharCode(65+e):String(e+1),LYt=e=>{let t=U(()=>e()?.metadata?.questions??[]),n=cn({}),r=cn(0),i=U(()=>t.value.length),a=U(()=>t.value.reduce((e,t,r)=>e+ +!!n.value[r],0)),o=U(()=>i.value>0&&a.value===i.value),s=U(()=>r.value>0),l=U(()=>r.value<i.value-1),u=e=>n.value[e],d=()=>{s.value&&--r.value},f=()=>{l.value&&(r.value+=1)},p=(e,n,i)=>{n||e===r.value&&t.value[e]?.multiSelect!==!0&&(i.answer.some(e=>e.label===`others`)||l.value&&(r.value+=1))},m=(e,t)=>{let r=n.value[e];n.value={...n.value,[e]:t},t&&p(e,r,t)},h=()=>t.value.map((e,t)=>n.value[t]??{question:e.question,answer:[]});return{questions:t,answeredCount:a,totalCount:i,completed:o,currentIndex:r,canGoPrev:s,canGoNext:l,goPrev:d,goNext:f,getAnswer:u,setAnswer:m,buildResolvePayload:()=>({interruptId:e()?.id??``,reason:kf.UserQuestion,status:`resolved`,payload:{answers:h()}}),buildSkipPayload:()=>RYt(e())}},RYt=e=>({interruptId:e?.id??``,reason:kf.UserQuestion,status:`cancelled`,payload:{answers:[]}}),zYt={class:`ai-user-question-answered`},BYt={class:`ai-user-question-answered__header`},VYt={class:`ai-user-question-answered__title-wrap`},HYt={class:`ai-user-question-answered__title`},UYt={class:`ai-user-question-answered__status`},WYt={class:`ai-user-question-answered__body`},GYt={class:`ai-user-question-answered__question`},KYt={class:`ai-user-question-answered__question-text`},qYt={key:0,class:`ai-user-question-answered__tag`},JYt=Qn({__name:`user-question-answered-card`,props:{answers:{},status:{default:`resolved`}},setup(e){let t=e,n=U(()=>t.status===`cancelled`?Df(`已取消`):Df(`已回复`));return(t,r)=>(B(),V(`section`,zYt,[H(`header`,BYt,[H(`div`,VYt,[Jr(z(FTe),{class:`ai-user-question-answered__help-icon`}),H(`span`,HYt,ke(z(Df)(`回答内容`)),1)]),H(`span`,UYt,ke(n.value),1)]),H(`div`,WYt,[(B(!0),V(Ir,null,dr(e.answers,(n,r)=>(B(),V(`div`,{key:r,class:`ai-user-question-answered__item`},[H(`div`,GYt,[H(`span`,KYt,ke(r+1)+`. `+ke(n.question),1),n.multiSelect===void 0?Qr(`v-if`,!0):(B(),V(`span`,qYt,ke(n.multiSelect?z(Df)(`多选`):z(Df)(`单选`)),1))]),Qr(` 默认逐条回显选择题答案;业务方可覆盖此 slot 渲染自定义表单的回显 `),pr(t.$slots,`answer`,ni({ref_for:!0},{item:n,index:r,status:e.status}),()=>[(B(!0),V(Ir,null,dr(n.answer,(e,t)=>(B(),V(`p`,{key:t,class:`ai-user-question-answered__answer`},ke(e.description||e.label),1))),128))])]))),128))])]))}}),YYt={class:`ai-user-question-option__badge`},XYt=[`placeholder`,`value`],ZYt={key:1,class:`ai-user-question-option__text`},QYt=Qn({__name:`user-question-option`,props:{option:{},othersText:{},selected:{type:Boolean}},emits:[`confirm`,`select`,`update:othersText`],setup(e,{emit:t}){let n=e,r=t,i=()=>{r(`select`)},a=()=>{n.selected||r(`select`)},o=e=>{let t=e.target.value;r(`update:othersText`,t),n.selected||r(`select`)};return(t,n)=>(B(),V(`div`,{class:xe([`ai-user-question-option`,{"ai-user-question-option--selected":e.selected,"ai-user-question-option--others":e.option.isOthers}]),onClick:i},[H(`span`,YYt,ke(e.option.letter),1),Qr(` Others:自定义输入 `),e.option.isOthers?(B(),V(`input`,{key:0,class:`ai-user-question-option__input`,placeholder:z(Df)(`请输入...`),value:e.othersText,onClick:n[0]||=Ai(()=>{},[`stop`]),onFocus:a,onInput:o,onKeydown:n[1]||=Ere(Ai(e=>r(`confirm`),[`stop`]),[`enter`])},null,40,XYt)):(B(),V(`span`,ZYt,ke(e.option.description),1))],2))}}),$Yt={class:`ai-user-question-choice`},eXt=Qn({__name:`user-question-choice`,props:{question:{}},emits:[`answer`,`confirm`],setup(e,{emit:t}){let n=e,r=t,i=cn([]),a=cn(``),o=U(()=>{let e=(n.question.options??[]).filter(e=>e.label!==FYt).map((e,t)=>({...e,isOthers:!1,letter:IYt(t)}));return e.push({label:FYt,description:``,isOthers:!0,letter:IYt(e.length)}),e}),s=U(()=>o.value.findIndex(e=>e.isOthers)),l=e=>i.value.includes(e),u=U(()=>i.value.length?s.value>=0&&i.value.includes(s.value)?a.value.trim().length>0:!0:!1),d=()=>({question:n.question.question,multiSelect:n.question.multiSelect,answer:i.value.map(e=>{let t=o.value[e];return t?.isOthers?{label:FYt,description:a.value.trim()}:{label:t?.label??``,description:t?.description??``}})}),f=()=>r(`answer`,u.value?d():void 0),p=e=>{let t=i.value;i.value=n.question.multiSelect?t.includes(e)?t.filter(t=>t!==e):[...t,e]:[e],f()},m=e=>{a.value=e,f()};return Ln(()=>n.question,()=>{i.value=[],a.value=``,f()}),(e,t)=>(B(),V(`div`,$Yt,[(B(!0),V(Ir,null,dr(o.value,(e,n)=>(B(),Wr(QYt,{key:n,option:e,"others-text":a.value,selected:l(n),onConfirm:t[0]||=e=>r(`confirm`),onSelect:e=>p(n),"onUpdate:othersText":m},null,8,[`option`,`others-text`,`selected`,`onSelect`]))),128))]))}}),tXt={class:`ai-user-question-card__title-wrap`},nXt={class:`ai-user-question-card__title`},rXt={class:`ai-user-question-card__header-actions`},iXt={class:`ai-user-question-card__pager`},aXt=[`disabled`],oXt={class:`ai-user-question-card__pager-text`},sXt=[`disabled`],cXt={class:`ai-user-question-card__body`},lXt={class:`ai-user-question-card__question-title`},uXt={class:`ai-user-question-card__question-text`},dXt={key:0,class:`ai-user-question-card__tag`},fXt={class:`ai-user-question-card__options`},pXt={class:`ai-user-question-card__footer`},mXt={class:`ai-user-question-card__progress`},hXt={class:`ai-user-question-card__progress-num`},gXt={class:`ai-user-question-card__actions`},_Xt=Qn({__name:`user-question-card`,props:{interrupt:{},onResume:{type:Function}},setup(e){let t=e,n=nm(),r=cn(!1),{questions:i,answeredCount:a,totalCount:o,completed:s,currentIndex:l,canGoPrev:u,canGoNext:d,goPrev:f,goNext:p,getAnswer:m,setAnswer:h,buildResolvePayload:g,buildSkipPayload:_}=LYt(()=>t.interrupt),v=U(()=>t.interrupt.metadata?.questions?.[0]?.header||t.interrupt.message||``),y=()=>{r.value=!r.value},b=()=>{r.value&&=!1},x=cn(null),S=()=>{!s.value||x.value!==null||(x.value=`complete`,t.onResume?.(g(),t.interrupt))},C=()=>{x.value===null&&(x.value=`skip`,t.onResume?.(_(),t.interrupt))};return(e,t)=>(B(),V(`section`,{class:xe([`ai-user-question-card`,{"ai-user-question-card--collapsed":r.value}])},[H(`header`,{class:`ai-user-question-card__header`,onClick:b},[H(`div`,tXt,[Jr(z(FTe),{class:`ai-user-question-card__help-icon`}),Nn((B(),V(`span`,nXt,[Zr(ke(v.value),1)])),[[z(rm),{...z(n)}]])]),H(`div`,rXt,[H(`div`,iXt,[H(`button`,{class:xe([`ai-user-question-card__nav-btn`,{"is-disabled":!z(u)}]),disabled:!z(u),type:`button`,onClick:t[0]||=Ai((...e)=>z(f)&&z(f)(...e),[`stop`])},[Jr(z(zf),{class:`ai-user-question-card__nav-icon`})],10,aXt),H(`span`,oXt,ke(z(l)+1)+` / `+ke(z(o)),1),H(`button`,{class:xe([`ai-user-question-card__nav-btn`,{"is-disabled":!z(d)}]),disabled:!z(d),type:`button`,onClick:t[1]||=Ai((...e)=>z(p)&&z(p)(...e),[`stop`])},[Jr(z(STe),{class:`ai-user-question-card__nav-icon`})],10,sXt)]),t[2]||=H(`span`,{class:`ai-user-question-card__divider`},null,-1),H(`button`,{class:`ai-user-question-card__collapse-btn`,type:`button`,onClick:Ai(y,[`stop`])},[Jr(z(zf),{class:`ai-user-question-card__arrow`,style:ge({transform:r.value?`rotate(180deg)`:`rotate(-90deg)`})},null,8,[`style`])])])]),Qr(` 折叠用 v-show 而非 v-if:保留 UserQuestionChoice 及自定义 slot 的勾选态,避免卸载丢失选中 `),Nn(H(`div`,cXt,[Qr(` 一次只展示一题;全部题目仍挂载以保留勾选 / Others 输入态 `),(B(!0),V(Ir,null,dr(z(i),(t,n)=>Nn((B(),V(`div`,{key:n,class:`ai-user-question-card__question`},[H(`div`,lXt,[H(`span`,uXt,ke(n+1)+`. `+ke(t.question),1),t.multiSelect===void 0?Qr(`v-if`,!0):(B(),V(`span`,dXt,ke(t.multiSelect?z(Df)(`多选`):z(Df)(`单选`)),1))]),H(`div`,fXt,[Qr(` 默认渲染选择题;业务方可覆盖此 slot 渲染任意表单,作答有效时通过 setAnswer 回传 `),pr(e.$slots,`question`,ni({ref_for:!0},{question:t,qIndex:n,answer:z(m)(n),setAnswer:e=>z(h)(n,e),confirm:S}),()=>[Jr(eXt,{question:t,onAnswer:e=>z(h)(n,e),onConfirm:S},null,8,[`question`,`onAnswer`])])])])),[[Si,n===z(l)]])),128))],512),[[Si,!r.value]]),Nn(H(`footer`,pXt,[H(`span`,mXt,[Zr(ke(z(Df)(`已完成`))+` `,1),H(`span`,hXt,ke(z(a)),1),Zr(` `+ke(z(Df)(`题`)),1)]),H(`div`,gXt,[Jr(z(ru),{class:`ai-user-question-card__skip`,disabled:x.value===`complete`,loading:x.value===`skip`,size:`small`,text:``,onClick:C},{default:Mn(()=>[x.value===`skip`?Qr(`v-if`,!0):(B(),Wr(z(RTe),{key:0,class:`ai-user-question-card__skip-icon`})),Zr(` `+ke(z(Df)(`跳过`)),1)]),_:1},8,[`disabled`,`loading`]),Jr(z(ru),{class:`ai-user-question-card__complete`,disabled:!z(s)||x.value===`skip`,loading:x.value===`complete`,size:`small`,theme:`primary`,onClick:S},{default:Mn(()=>[x.value===`complete`?Qr(`v-if`,!0):(B(),Wr(z(LTe),{key:0,class:`ai-user-question-card__enter-icon`})),Zr(` `+ke(z(Df)(`完成`)),1)]),_:1},8,[`disabled`,`loading`])])],512),[[Si,!r.value]])],2))}}),vXt=864e5,yXt={day:`numeric`,hour:`2-digit`,hourCycle:`h23`,minute:`2-digit`,month:`numeric`,year:`numeric`},bXt=new Map,xXt=e=>{let t=e??``,n=bXt.get(t);if(n)return n;let r;try{r=new Intl.DateTimeFormat(`en-US`,{...yXt,timeZone:e})}catch{r=new Intl.DateTimeFormat(`en-US`,yXt)}return bXt.set(t,r),r},SXt=(e,t)=>{let n=e.formatToParts(t),r=e=>Number(n.find(t=>t.type===e)?.value);return{day:r(`day`),hour:r(`hour`),minute:r(`minute`),month:r(`month`),year:r(`year`)}},CXt=e=>Date.UTC(e.year,e.month-1,e.day),wXt=e=>String(e).padStart(2,`0`),TXt=(e,t)=>{if(e==null||e===``)return``;let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=xXt(t),i=SXt(r,n),a=SXt(r,Date.now()),o=`${wXt(i.hour)}:${wXt(i.minute)}`,s=Math.round((CXt(a)-CXt(i))/vXt);if(s===0)return o;if(s===1)return`${Df(`昨天`)} ${o}`;let l=`${i.month}-${i.day} ${o}`;return i.year===a.year?l:`${i.year}-${l}`},EXt={key:0,class:`ai-message-time`},DXt=Qn({__name:`message-time`,props:{createdAt:{},timezone:{}},setup(e){let t=e,n=fke(),r=U(()=>t.timezone??n?.timezone?.value),i=U(()=>TXt(t.createdAt,r.value));return(e,t)=>i.value?(B(),V(`span`,EXt,ke(i.value),1)):Qr(`v-if`,!0)}}),OXt={class:`ai-delete-confirm`},kXt={class:`ai-delete-confirm__title`},AXt={class:`ai-delete-confirm__desc`},jXt={class:`ai-delete-confirm__actions`},MXt=Qn({__name:`delete-tool`,props:{description:{},hidden:{type:Boolean},icon:{},id:{},name:{},triggerSelection:{type:Boolean},disabled:{type:Boolean},tippyOptions:{}},emits:[`confirm`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=$n(`tippyRef`),a=U(()=>({id:n.id,name:n.name,description:n.description,disabled:n.disabled,tippyOptions:n.tippyOptions})),o=U(()=>({arrow:!1,interactive:!0,offset:[0,6],theme:`ai-chat-box-light light`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),s=()=>{if(n.disabled)return!1},l=()=>{i.value?.hide?.()},u=()=>{l(),r(`confirm`)},d=()=>{l(),r(`cancel`)};return cr(()=>{l()}),(e,t)=>(B(),Wr(z(Vp),ni({ref_key:`tippyRef`,ref:i},o.value,{onShow:s}),{content:Mn(()=>[H(`div`,OXt,[H(`div`,kXt,ke(z(Df)(`确认删除该回答?`)),1),H(`div`,AXt,ke(z(Df)(`删除操作无法撤回,请谨慎操作!`)),1),H(`div`,jXt,[Jr(z(ru),{size:`small`,theme:`danger`,onClick:u},{default:Mn(()=>[Zr(ke(z(Df)(`删除`)),1)]),_:1}),Jr(z(ru),{size:`small`,onClick:d},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1})])])]),default:Mn(()=>[Jr(im,Se(Yr(a.value)),null,16)]),_:1},16))}}),NXt={class:`ai-feedback-title`},PXt={class:`ai-feedback-reason-list`},FXt=[`onClick`],IXt={class:`ai-feedback-other`},LXt={class:`ai-feedback-footer`},RXt=Qn({__name:`user-feedback`,props:{loading:{type:Boolean},reasonList:{},title:{}},emits:[`submit`,`cancel`],setup(e,{emit:t}){let n=t,r=cn(``),i=cn([]),a=e=>{i.value.includes(e)?i.value=i.value.filter(t=>t!==e):i.value=[...i.value,e]},o=()=>{n(`submit`,i.value,r.value)},s=()=>{i.value=[],r.value=``,n(`cancel`)};return(t,n)=>(B(),V(`div`,{class:`ai-user-feedback`,onMouseenter:n[1]||=Ai(()=>{},[`stop`,`prevent`])},[H(`div`,NXt,ke(e.title),1),H(`div`,PXt,[e.loading?(B(),V(Ir,{key:0},dr(8,e=>H(`div`,{key:e,class:`reason-item ai-skeleton-element`})),64)):(B(!0),V(Ir,{key:1},dr(e.reasonList,e=>(B(),V(`div`,{key:e,class:xe([`reason-item`,{"is-active":i.value.includes(e)}]),onClick:t=>a(e)},ke(e),11,FXt))),128))]),H(`div`,IXt,[Jr(z(mu),{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,placeholder:z(Df)(`说出您的想法`),rows:3,type:`textarea`},null,8,[`modelValue`,`placeholder`])]),H(`div`,LXt,[Jr(z(ru),{class:`custom-btn`,disabled:!r.value&&i.value.length===0,size:`small`,theme:`primary`,onClick:o},{default:Mn(()=>[Zr(ke(z(Df)(`提交`)),1)]),_:1},8,[`disabled`]),Jr(z(ru),{class:`custom-btn`,size:`small`,width:`80px`,onClick:s},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1})])],32))}}),zXt={ref:`messageToolsRef`,class:`ai-message-tools-container`},BXt={key:0,class:`ai-message-tools-prepend`},VXt={class:`message-tools`},HXt={key:1,class:`ai-divider`,style:{"margin-right":`4px`,"margin-left":`4px`}},UXt={key:2,class:`message-tools`},WXt={key:3,class:`ai-message-tools-append`},GXt=Qn({__name:`message-tools`,props:{messageTools:{default:()=>XCe},messageToolsStatus:{},onAction:{},tippyOptions:{},updateTools:{default:()=>QCe}},emits:[`feedback`],setup(e,{emit:t}){let n=e,r=t,i=$n(`feedbackTippyRef`),a=cn(!1),o=cn([]),s=cn(null),l=U(()=>({arrow:!1,interactive:!0,offset:[0,6],theme:`ai-chat-box-light light`,trigger:`click`,appendTo:()=>document.body,...n.tippyOptions||{}})),u=async e=>{if(e.id===`like`||e.id===`unlike`){try{a.value=!0,o.value=[],o.value=await n.onAction?.(e)||[]}finally{a.value=!1}return}await n.onAction?.(e)},d=async e=>{await n.onAction?.(e)},f=()=>{i.value?.forEach(e=>e?.hide?.())},p=e=>s.value?s.value===`like`&&e===`like`?`activeLike`:s.value===`unlike`&&e===`unlike`?`activeUnLike`:e:e,m=e=>{let t=p(e);return t===`activeLike`?Df(`取消满意`):t===`activeUnLike`?Df(`取消不满意`):n.updateTools?.find(e=>e.id===t)?.description||``},h=(e,t,n)=>{f(),s.value===e.id?s.value=null:s.value=e.id,r(`feedback`,e,t,n)},g=e=>{if(n.messageToolsStatus===I9.Disabled)return!1;if(s.value&&s.value===e)return s.value=null,!1};return cr(()=>{f(),o.value=[]}),(t,n)=>(B(),V(`div`,zXt,[t.$slots.prepend?(B(),V(`div`,BXt,[pr(t.$slots,`prepend`)])):Qr(`v-if`,!0),H(`div`,VXt,[(B(!0),V(Ir,null,dr(e.messageTools,t=>(B(),V(Ir,{key:t.id},[t.id===`delete`?(B(),Wr(MXt,ni({key:0,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onConfirm:e=>d(t)}),null,16,[`disabled`,`tippy-options`,`onConfirm`])):(B(),Wr(im,ni({key:1,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onClick:e=>u(t)}),null,16,[`disabled`,`tippy-options`,`onClick`]))],64))),128))]),e.updateTools.length>0?(B(),V(`div`,HXt)):Qr(`v-if`,!0),e.updateTools.length>0?(B(),V(`div`,UXt,[(B(!0),V(Ir,null,dr(e.updateTools,t=>(B(),V(Ir,{key:t.id},[t.id===`like`||t.id===`unlike`?(B(),Wr(z(Vp),ni({key:0,ref_for:!0,ref_key:`feedbackTippyRef`,ref:i},{ref_for:!0},l.value,{onShow:e=>g(t.id)}),{content:Mn(()=>[Jr(RXt,{loading:a.value,"reason-list":o.value,title:t.id===`like`?z(Df)(`什么原因让你满意?`):z(Df)(`什么原因让你不满意?`),onCancel:f,onSubmit:(e,n)=>h(t,e,n)},null,8,[`loading`,`reason-list`,`title`,`onSubmit`])]),default:Mn(()=>[Jr(im,ni({ref_for:!0},t,{id:p(t.id),active:s.value===t.id,disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":{...e.tippyOptions,content:m(t.id)},onClick:e=>u(t)}),null,16,[`id`,`active`,`disabled`,`tippy-options`,`onClick`])]),_:2},1040,[`onShow`])):t.id===`delete`?(B(),Wr(MXt,ni({key:1,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onConfirm:e=>d(t)}),null,16,[`disabled`,`tippy-options`,`onConfirm`])):(B(),Wr(im,ni({key:2,ref_for:!0},t,{disabled:e.messageToolsStatus===z(I9).Disabled,"tippy-options":e.tippyOptions,onClick:e=>u(t)}),null,16,[`disabled`,`tippy-options`,`onClick`]))],64))),128))])):Qr(`v-if`,!0),t.$slots.append?(B(),V(`div`,WXt,[pr(t.$slots,`append`)])):Qr(`v-if`,!0)],512))}}),z9=Qn({name:`HighlightKeyword`,props:{text:{type:String,required:!0}},setup(e){let t=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),n=fAe(),r=U(()=>{if(!e.text||!n?.value)return e.text;let r=n.value.trim();if(!r)return e.text;let i=RegExp(`(${t(r)})`,`ig`),a=e.text?.toString().split(i);return a.length<=1?e.text:a.map(e=>i.test(e)?W(`span`,{class:ewe},e):e)});return()=>W(`span`,r.value)}}),KXt={class:`ai-activity-message`},qXt={class:`ai-activity-message-content`},JXt=Qn({__name:`activity-layout`,props:yr({activityType:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=Er(e,`collapsed`);return(n,r)=>(B(),V(`div`,KXt,[H(`div`,{class:`ai-activity-message-title`,onClick:r[0]||=e=>t.value=!t.value},[pr(n.$slots,`title`,Se(Yr({collapsed:t.value}))),e.activityType===z(Af).FlowAgent?Qr(`v-if`,!0):(B(),V(`span`,{key:0,class:xe([`ai-activity-message-title-icon collapsed-icon`,{"is-collapsed":t.value}])},[Jr(z(Vf))],2))]),Nn(H(`div`,qXt,[pr(n.$slots,`default`)],512),[[Si,!t.value]])]))}}),B9=[{color:`#3A84FF`,icon:null,key:`running`,label:Df(`执行中`),rawStates:[`CREATED`,`LOOP_READY`,`READY`,`RUNNING`,`BLOCKED`,`ROLLING_BACK`,`ROLL_BACK_SUCCESS`]},{color:`#65C389`,icon:fwe,key:`success`,label:Df(`成功`),rawStates:[`FINISHED`]},{color:`#EA3636`,icon:pwe,key:`failed`,label:Df(`失败`),rawStates:[`FAILED`,`REVOKED`,`ROLL_BACK_FAILED`]},{color:`#F59500`,icon:mwe,key:`suspended`,label:Df(`挂起`),rawStates:[`SUSPENDED`]},{color:`#4D4F56`,dotColor:`#DCDEE5`,icon:hwe,key:`pending`,label:Df(`待执行`),rawStates:[`PENDING`]},{color:`#5B7290`,icon:gwe,key:`skipped`,label:Df(`跳过`),rawStates:[`SKIPPED`]}],YXt=Object.fromEntries(B9.map(e=>[e.key,e])),XXt=Object.fromEntries(B9.flatMap(e=>e.rawStates.map(t=>[t,e.key]))),ZXt=e=>XXt[e]??`running`,QXt=e=>YXt[e].dotColor??YXt[e].color,$Xt=e=>{let t=YXt[e].icon;return t?Xr(t):null},eZt=e=>{let t=U(()=>Array.isArray(e.value)?e.value:[e.value??{}]),n=cn({}),r=e=>n.value[e.task_id]!==!1;return{isTaskExpanded:r,taskList:t,toggleTaskExpanded:e=>{n.value={...n.value,[e.task_id]:!r(e)}},viewTasks:U(()=>t.value.map(e=>{let t=Object.values(e.nodes??{}).map(e=>{let t=ZXt(e.state);return{convergedState:t,dotColor:QXt(t),elapsedTimeText:UCe(e.elapsed_time),id:e.id,name:e.name,raw:e,retryable:!!e.retryable,skippable:!!e.skippable}}),n=t.reduce((e,t)=>e+t.raw.elapsed_time,0),r=ZXt(e.task_state??``);return{convergedState:r,hasConfidence:!!e.has_confidence,confidenceTitle:e.confidence_title,isActive:!!e.is_active,nodes:t,raw:e,stateIcon:$Xt(r),taskId:e.task_id,taskName:e.task_name,totalTimeText:UCe(n)}})),visibleStats:U(()=>{let e={};for(let t of B9)e[t.key]=0;for(let n of t.value)for(let[t,r]of Object.entries(n.statistics?.state_counts??{}))e[ZXt(t)]+=r;return B9.filter(t=>e[t.key]>0).map(t=>({color:t.color,display:e[t.key]>99?`99+`:String(e[t.key]),dotColor:QXt(t.key),key:t.key,label:t.label}))})}},tZt=[{blockedTip:()=>Df(`任务正在跳过中,不可重试`),icon:Gf,id:Nf.FlowNodeRetry,label:()=>Df(`重试`),pendingLabel:()=>Df(`重试中`),visible:e=>e.convergedState===`failed`&&e.retryable},{blockedTip:()=>Df(`任务正在重试中,不可跳过`),icon:RTe,id:Nf.FlowNodeSkip,label:()=>Df(`跳过`),pendingLabel:()=>Df(`跳过中`),visible:e=>e.convergedState===`failed`&&e.skippable}],nZt=(e,t)=>`${e.task_id}:${t.id}:${t.retry}`,rZt=e=>{let{hideResumeActions:t,onInterruptResume:n,openNodeDetail:r}=e,i=cn({}),a=(e,t,r)=>{let a=nZt(t,r);i.value[a]||(i.value={...i.value,[a]:e},n.value?.({payload:{node_id:r.id,task_id:t.task_id},operation:e}))};return{getNodeActions:(e,n)=>{let o=i.value[nZt(e.raw,n.raw)],s=(t?.value?[]:tZt).filter(e=>e.visible(n)).map(t=>{let r=o===t.id,i=o!==void 0&&!r;return{disabled:o!==void 0,icon:t.icon,id:t.id,label:r?t.pendingLabel():t.label(),loading:r,run:()=>a(t.id,e.raw,n.raw),tooltip:i?t.blockedTip():void 0}});return s.push({disabled:!1,icon:Lf,id:`detail`,label:Df(`详情`),loading:!1,run:()=>r(e.raw,n.raw)}),s},isNodePending:(e,t)=>i.value[nZt(e.raw,t.raw)]!==void 0}},iZt={class:`ai-detail-section`},aZt={class:`section-heading`},oZt={class:`section-text`},V9=Qn({__name:`detail-section`,props:{title:{}},setup(e){return(t,n)=>(B(),V(`div`,iZt,[H(`div`,aZt,[n[0]||=H(`span`,{class:`section-bar`},null,-1),H(`span`,oZt,ke(e.title),1)]),pr(t.$slots,`default`)]))}}),sZt={class:`ai-simple-table`},cZt={key:0},lZt=[`colspan`],uZt=Qn({__name:`simple-table`,props:{columns:{},data:{}},setup(e){return(t,n)=>(B(),V(`table`,sZt,[H(`thead`,null,[H(`tr`,null,[(B(!0),V(Ir,null,dr(e.columns,e=>(B(),V(`th`,{key:e.key},ke(e.label),1))),128))])]),H(`tbody`,null,[(B(!0),V(Ir,null,dr(e.data,(t,n)=>(B(),V(`tr`,{key:n},[(B(!0),V(Ir,null,dr(e.columns,e=>(B(),V(`td`,{key:e.key,class:xe({"is-break-all":e.breakAll})},ke(t[e.key]??`--`),3))),128))]))),128)),e.data.length?Qr(`v-if`,!0):(B(),V(`tr`,cZt,[H(`td`,{class:`is-empty`,colspan:e.columns.length},` -- `,8,lZt)]))])]))}}),dZt={class:`ai-flow-agent-node-detail`},fZt={class:`detail-title`},pZt={key:1,class:`detail-title-content`},mZt={class:`detail-tab-bar`},hZt=[`onClick`],gZt={class:`detail-body`},_Zt={class:`skeleton-section`},vZt={class:`skeleton-section`},yZt={class:`info-form`},bZt={class:`info-label`},xZt={class:`info-value`},SZt={class:`info-row`},CZt={class:`info-label`},wZt={class:`info-value`},TZt={key:0,class:`failure-item`},EZt={key:1,class:`failure-item`},DZt={class:`info-row`},OZt={class:`info-label`},kZt={class:`info-value`},AZt={key:0,class:`skeleton-section`},H9=function(e){return e.Config=`config`,e.Output=`output`,e}(H9||{}),jZt=Qn({__name:`flow-agent-node-detail`,props:{data:{},has_confidence:{type:Boolean},loading:{type:Boolean},node_id:{},node_name:{},task_id:{},task_name:{}},setup(e){let t=[{key:H9.Config,label:Df(`节点配置`)},{key:H9.Output,label:Df(`节点输出`)}],n=[{key:`key`,label:Df(`参数名`)},{breakAll:!0,key:`value`,label:Df(`参数值`)}],r=[{key:`name`,label:Df(`名称`)},{key:`description`,label:Df(`变量说明`)},{key:`key`,label:`KEY`}],i=[{key:`key`,label:Df(`参数名`)},{breakAll:!0,key:`value`,label:Df(`参数值`)}],a={forced_fail:Ef?`Force Fail`:`强制失败`},o=e,s=cn(H9.Config),l=U(()=>o.data?.basic_info),u=U(()=>{let e=l.value;return e?[{label:Df(`流程模板`),value:e.template_name||`--`},{label:Df(`节点名称`),value:e.node_name||`--`},{label:Df(`步骤名称`),value:e.stage_name||`--`},{label:Df(`是否可选`),value:e.optional?Df(`是`):Df(`否`)}]:[]}),d=U(()=>{let e=l.value;return e?.skippable||e?.auto_retry?.enable}),f=U(()=>{let e=l.value?.auto_retry;return e?.enable?Ef?`In ${e.interval} seconds, auto retry ${e.times} times`:`在 ${e.interval} 秒后,自动重试 ${e.times} 次`:``}),p=U(()=>{let e=l.value?.timeout_config;if(!e?.enable)return`--`;let t=a[e.action]??e.action;return Ef?`Timeout ${e.seconds} seconds later, ${t}`:`超时 ${e.seconds} 秒后则${t}`}),m=U(()=>Object.entries(o.data?.inputs??{}).map(([e,t])=>({key:e,value:_(t)}))),h=U(()=>(o.data?.plugin_output??[]).map(e=>({description:e.schema?.description||`--`,name:e.name,key:e.key}))),g=U(()=>(o.data?.outputs??[]).map(e=>({key:e.key,value:_(e.value)}))),_=e=>e==null?`--`:typeof e==`object`?JSON.stringify(e):String(e);return(a,o)=>(B(),V(`div`,dZt,[H(`h3`,fZt,[e.loading?(B(),V(Ir,{key:0},[H(`span`,null,ke(z(Df)(`节点`))+`:`,1),o[0]||=H(`span`,{class:`skeleton-title ai-skeleton-element`},null,-1)],64)):(B(),V(`div`,pZt,ke(z(Df)(`节点`))+`:`+ke(l.value?.node_name),1)),pr(a.$slots,`locateButton`)]),H(`div`,mZt,[(B(),V(Ir,null,dr(t,e=>H(`div`,{key:e.key,class:xe([`detail-tab`,{"is-active":s.value===e.key}]),onClick:t=>s.value=e.key},[(B(),Wr(lr(e.key===H9.Config?z(bwe):z(Lf)),{class:`detail-tab-icon`})),Zr(` `+ke(e.label),1)],10,hZt)),64))]),H(`div`,gZt,[s.value===H9.Config?(B(),V(Ir,{key:0},[e.loading?(B(),V(Ir,{key:0},[H(`div`,_Zt,[o[1]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(6,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))]),H(`div`,vZt,[o[2]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(4,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))])],64)):(B(),V(Ir,{key:1},[Jr(V9,{title:z(Df)(`基础信息`)},{default:Mn(()=>[H(`div`,yZt,[(B(!0),V(Ir,null,dr(u.value,e=>(B(),V(`div`,{key:e.label,class:`info-row`},[H(`div`,bZt,ke(e.label),1),H(`div`,xZt,ke(e.value),1)]))),128)),H(`div`,SZt,[H(`div`,CZt,ke(z(Df)(`失败处理`)),1),H(`div`,wZt,[d.value?(B(),V(Ir,{key:0},[l.value?.skippable?(B(),V(`span`,TZt,[o[3]||=H(`span`,{class:`tag-badge`},`MS`,-1),Zr(` `+ke(z(Df)(`手动跳过`))+ke(l.value?.auto_retry?.enable?`;`:``),1)])):Qr(`v-if`,!0),l.value?.auto_retry?.enable?(B(),V(`span`,EZt,[o[4]||=H(`span`,{class:`tag-badge`},`AR`,-1),Zr(` `+ke(f.value),1)])):Qr(`v-if`,!0)],64)):(B(),V(Ir,{key:1},[Zr(`--`)],64))])]),H(`div`,DZt,[H(`div`,OZt,ke(z(Df)(`超时控制`)),1),H(`div`,kZt,ke(p.value),1)])])]),_:1},8,[`title`]),Jr(V9,{title:z(Df)(`输入参数`)},{default:Mn(()=>[Jr(uZt,{columns:n,data:m.value},null,8,[`data`])]),_:1},8,[`title`]),Jr(V9,{title:z(Df)(`输出参数`)},{default:Mn(()=>[Jr(uZt,{columns:r,data:h.value},null,8,[`data`])]),_:1},8,[`title`])],64))],64)):(B(),V(Ir,{key:1},[e.loading?(B(),V(`div`,AZt,[o[5]||=H(`div`,{class:`skeleton-heading ai-skeleton-element`},null,-1),(B(),V(Ir,null,dr(5,e=>H(`div`,{key:e,class:`skeleton-row ai-skeleton-element`})),64))])):(B(),Wr(V9,{key:1,title:z(Df)(`结构化输出`)},{default:Mn(()=>[Jr(uZt,{columns:i,data:g.value},null,8,[`data`])]),_:1},8,[`title`]))],64))])]))}}),U9=e=>e.task_id==null?``:`${e.task_id}`,MZt=U9,NZt=(e,t)=>e.task_id==null?``:`${e.task_id}|${t.id}|${t.name}`,PZt=e=>{let{messageUid:t,taskList:n}=e,r=cke(),i=Kp(),a=U(()=>r.selectedTab.value?.name??``),o=cn(!1),s=()=>{o.value=!0},l=U(()=>{if(o.value)return a.value;let e=n.value.find(e=>e.is_active);return e?.task_id==null?a.value:U9(e)}),u=e=>{let t=l.value;return t===U9(e)||t===MZt(e)},d=(e,t)=>l.value===NZt(e,t),f=(e,n)=>{let i=e.task_id;i!=null&&(s(),r.addCustomTab?.({closable:n.closable,label:n.name,name:NZt(e,n),order:n.tab_order??100,data:{component:jZt,messageUid:t.value,props:{data:{},loading:!0,node_id:n.id,node_name:n.name,task_id:i,task_name:e.task_name}}}))},p=e=>{let n=e?.task_id;n&&(s(),r.addCustomTab?.({closable:e.closable,label:Df(`有效证据`),name:MZt(e),order:e.tab_order??10,data:{component:jZt,messageUid:t.value,props:{data:{},has_confidence:e.has_confidence,loading:!0,task_id:n,task_name:e.task_name}}}))};return Ln(a,(e,t)=>{t!==void 0&&s()}),or(()=>{i?.value&&p(n.value.find(e=>e.is_active&&e.has_confidence))}),cr(()=>{if(i?.value)for(let e of n.value){r.removeCustomTab?.(U9(e)),r.removeCustomTab?.(MZt(e));for(let t of Object.values(e.nodes??{}))r.removeCustomTab?.(NZt(e,t))}}),{displaySelectedTabName:l,isNodeSelected:d,isTaskSelected:u,markUserTabSelection:s,openConfidence:p,openNodeDetail:f}},FZt={class:`ai-activity-message-title-text`},IZt={class:`flow-agent-title-label`},LZt={class:`flow-agent-stat-tooltip`},RZt={class:`flow-agent-stat-tooltip-status`},zZt={class:`flow-agent-stat-tooltip-label`},BZt=[`onClick`],VZt={class:`flow-agent-task-state-icon`},HZt={class:`flow-agent-task-name`},UZt={class:`flow-agent-task-trailing`},WZt={class:`flow-agent-task-time`},GZt=[`onClick`],KZt={class:`flow-agent-task-nodes`},qZt={class:`flow-agent-node-status`},JZt=[`title`],YZt={class:`flow-agent-node-trailing`},XZt={class:`flow-agent-node-time`},ZZt={class:`flow-agent-node-actions`},QZt=[`onClick`],$Zt=Qn({__name:`flow-agent-content`,props:yr({content:{},messageUid:{},onInterruptResume:{type:Function},status:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=nm(),r=Er(e,`collapsed`),i=uAe(),a=U(()=>i.value===Ff.Share),o=U(()=>t.status===Mf.Pending||t.status===Mf.Streaming),{isTaskExpanded:s,taskList:l,toggleTaskExpanded:u,viewTasks:d,visibleStats:f}=eZt(pn(t,`content`)),{isNodeSelected:p,isTaskSelected:m,openConfidence:h,openNodeDetail:g}=PZt({messageUid:pn(t,`messageUid`),taskList:l}),{getNodeActions:_,isNodePending:v}=rZt({hideResumeActions:a,onInterruptResume:pn(t,`onInterruptResume`),openNodeDetail:g}),y=e=>{e.disabled||e.run()};return(e,t)=>(B(),Wr(JXt,{collapsed:r.value,"onUpdate:collapsed":t[0]||=e=>r.value=e,"activity-type":z(Af).FlowAgent,class:`ai-flow-agent-activity`},{title:Mn(()=>[Qr(` hover 整条执行情况栏展示统计 tooltip(设计稿 annotation) `),Jr(z(Vp),ni({class:`flow-agent-title-bar`,theme:`ai-chat-box-light light`},{...z(n),tag:`div`,arrow:!0,followCursor:!1,offset:[0,10]}),{content:Mn(()=>[H(`div`,LZt,[(B(!0),V(Ir,null,dr(z(f),e=>(B(),V(`div`,{key:e.key,class:`flow-agent-stat-tooltip-item`},[H(`span`,RZt,[e.key===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-stat-dot`,style:ge({borderColor:e.dotColor})},null,4))]),H(`span`,zZt,ke(e.label)+`:`,1),H(`span`,{class:`flow-agent-stat-tooltip-count`,style:ge({color:e.color})},ke(e.display),5)]))),128))])]),default:Mn(()=>[H(`span`,{class:xe([`ai-activity-message-title-icon`,{"icon-collapsed":r.value}])},[o.value?(B(),Wr(Kf,{key:0,size:12})):(B(),Wr(z(uwe),{key:1}))],2),H(`span`,FZt,[H(`span`,IZt,ke(z(Df)(`执行情况`))+`:`,1),(B(!0),V(Ir,null,dr(z(f),e=>(B(),V(`span`,{key:e.key,class:`flow-agent-stat-item`},[e.key===`running`?(B(),Wr(z(Yl),{key:0,class:`flow-agent-stat-loading`,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-stat-dot`,style:ge({borderColor:e.dotColor})},null,4)),H(`span`,{class:`flow-agent-stat-count`,style:ge({color:e.color})},ke(e.display),5)]))),128))])]),_:1},16)]),default:Mn(()=>[(B(!0),V(Ir,null,dr(z(d),e=>(B(),V(`div`,{key:e.taskId,class:`flow-agent-task-group`},[H(`div`,{class:xe([`flow-agent-task-header`,{"has-confidence":e.hasConfidence,"is-selected":z(m)(e.raw)}])},[H(`span`,{class:xe([`flow-agent-task-arrow`,{"is-expanded":z(s)(e.raw)}]),onClick:Ai(t=>z(u)(e.raw),[`stop`])},[Jr(z(uwe))],10,BZt),H(`span`,VZt,[e.convergedState===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(e.stateIcon),{key:1}))]),Nn((B(),V(`span`,HZt,[Jr(z(z9),{text:e.taskName},null,8,[`text`])])),[[z(rm),{...z(n)}]]),H(`span`,UZt,[H(`span`,WZt,ke(e.totalTimeText),1),e.hasConfidence?(B(),V(`span`,{key:0,class:`flow-agent-task-action-btn flow-agent-task-confidence-btn`,onClick:Ai(t=>z(h)(e.raw),[`stop`])},[Jr(z(Lf)),Zr(` `+ke(e.confidenceTitle??z(Df)(`有效证据`)),1)],8,GZt)):Qr(`v-if`,!0)])],2),Nn(H(`div`,KZt,[(B(!0),V(Ir,null,dr(e.nodes,t=>(B(),V(`div`,{key:t.id,class:xe([`flow-agent-node-item`,{"is-selected":z(p)(e.raw,t.raw),"is-pending":z(v)(e,t)}])},[H(`span`,qZt,[t.convergedState===`running`?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`span`,{key:1,class:`flow-agent-status-dot`,style:ge({borderColor:t.dotColor})},null,4))]),Nn((B(),V(`span`,{class:`flow-agent-node-name`,title:t.name},[Jr(z(z9),{text:t.name},null,8,[`text`])],8,JZt)),[[z(rm),{...z(n)}]]),H(`span`,YZt,[H(`span`,XZt,ke(t.elapsedTimeText),1),H(`span`,ZZt,[(B(!0),V(Ir,null,dr(z(_)(e,t),e=>Nn((B(),V(`span`,{key:e.id,class:xe([`flow-agent-node-action-btn`,{"is-disabled":e.disabled}]),onClick:Ai(t=>y(e),[`stop`])},[Qr(` 进行中:图标切换为 loading 菊花(与节点执行中态一致) `),e.loading?(B(),Wr(z(Yl),{key:0,class:`flow-agent-node-action-loading`,mode:`spin`,size:`mini`,theme:`primary`})):(B(),Wr(lr(e.icon),{key:1})),Zr(` `+ke(e.label),1)],10,QZt)),[[z(Hp),e.tooltip?{...z(n),content:e.tooltip,theme:`ai-chat-box`,offset:[0,8]}:{content:``}]])),128))])])],2))),128))],512),[[Si,z(s)(e.raw)]])]))),128))]),_:1},8,[`collapsed`,`activity-type`]))}}),eQt={class:`ai-activity-message-title-icon`},tQt={class:`ai-activity-message-title-text`},nQt={class:`ai-knowledge-rag-content`},rQt=Qn({__name:`knowledge-rag-content`,props:yr({content:{},messageUid:{},status:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),r=U(()=>t.status===Mf.Pending||t.status===Mf.Streaming),i=U(()=>r.value?Df(`检索中`):Df(`检索完成`));return(t,a)=>(B(),Wr(JXt,{collapsed:n.value,"onUpdate:collapsed":a[0]||=e=>n.value=e},{title:Mn(()=>[H(`span`,eQt,[r.value?(B(),Wr(Kf,{key:0})):(B(),Wr(z(swe),{key:1,style:{"font-size":`12px`}}))]),H(`span`,tQt,ke(i.value),1)]),default:Mn(()=>[H(`div`,nQt,[Jr(g9,{content:e.content?.content||``},null,8,[`content`])]),Jr(LGt,{content:e.content?.referenceDocument||[]},null,8,[`content`])]),_:1},8,[`collapsed`]))}}),iQt={class:`ai-activity-message-title-icon`},aQt={class:`ai-activity-message-title-text`},oQt=Qn({__name:`reference-doc-content`,props:yr({content:{},messageUid:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),r=U(()=>{let e=t.content?.length??0;return Ef?`Reference ${e} documents as reference`:`引用 ${e} 篇资料作为参考`});return(t,i)=>(B(),Wr(JXt,{collapsed:n.value,"onUpdate:collapsed":i[0]||=e=>n.value=e},{title:Mn(()=>[H(`span`,iQt,[Jr(z(swe),{style:{"font-size":`12px`}})]),H(`span`,aQt,ke(r.value),1)]),default:Mn(()=>[Jr(LGt,{content:e.content||[]},null,8,[`content`])]),_:1},8,[`collapsed`]))}}),sQt=Qn({__name:`activity-message`,props:yr({activityType:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{},onInterruptResume:{type:Function}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t={[Af.FlowAgent]:$Zt,[Af.KnowledgeRag]:rQt,[Af.ReferenceDocument]:oQt},n=e,r=Er(e,`collapsed`),i=U(()=>t[n.activityType??``]);return(t,n)=>i.value?(B(),Wr(lr(i.value),{key:0,collapsed:r.value,"onUpdate:collapsed":n[0]||=e=>r.value=e,content:e.content,"message-uid":e.uid,"on-interrupt-resume":e.onInterruptResume,status:e.status},null,40,[`collapsed`,`content`,`message-uid`,`on-interrupt-resume`,`status`])):Qr(`v-if`,!0)}}),cQt={class:`ai-toolcall-desc`},lQt={class:`desc-title`},uQt=[`title`],dQt={class:`desc-panel`},fQt={class:`desc-label`},pQt={class:`desc-value`},mQt=Qn({__name:`desc-panel`,props:{desc:{},title:{}},setup(e){let t=e,{copy:n}=Gp(),r=e=>e==null?``:typeof e==`object`?JSON.stringify(e):String(e),i=U(()=>{try{return JSON.parse(t.desc||``)}catch{return t.desc}}),a=()=>{t.desc&&n(t.desc)};return(t,n)=>(B(),V(`div`,cQt,[H(`div`,lQt,[Zr(ke(e.title)+` `,1),e.desc?(B(),V(`span`,{key:0,class:`desc-copy`,title:z(Df)(`复制`),onClick:a},[Jr(z(Uf))],8,uQt)):Qr(`v-if`,!0)]),H(`div`,dQt,[Qr(` null 的 typeof 为 object,需排除,避免 v-for 异常;键/值统一转字符串以满足 HighlightKeyword `),i.value!==null&&typeof i.value==`object`?(B(!0),V(Ir,{key:0},dr(i.value,(e,t)=>(B(),V(`div`,{key:t,class:`desc-panel-item`},[H(`span`,fQt,[Jr(z(z9),{text:String(t)},null,8,[`text`]),n[0]||=Zr(`:`,-1)]),H(`span`,pQt,[Jr(z(z9),{style:{"word-break":`break-all`},text:r(e)},null,8,[`text`])])]))),128)):(B(),Wr(z(z9),{key:1,style:{wordBreak:`break-all`},text:r(i.value)},null,8,[`text`]))])]))}}),hQt={class:`ai-tool-message`},gQt=Qn({__name:`tool-message`,props:{duration:{},error:{type:[Boolean,String]},toolCallId:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},setup(e){return(t,n)=>(B(),V(`div`,hQt,[Jr(mQt,{desc:e.content||(typeof e.error==`string`?e.error:void 0),title:z(Df)(`返回内容`)},null,8,[`desc`,`title`])]))}}),_Qt={class:`ai-toolcall-render`},vQt={class:`toolcall-header-text`},yQt={key:0,class:`toolcall-header-status`},bQt={class:`ai-toolcall-render-content`},xQt=Qn({__name:`toolcall-render`,props:{duration:{},status:{},toolCall:{}},setup(e){let t=e,n=cn(!0),r=cn(null),i=nm(),{keywordMatched:a,keyword:o}=pAe(()=>[t.toolCall?.function.name,t.toolCall?.function.mcpName,t.toolCall?.function.description,t.toolCall?.function.arguments,t.toolCall?.id]),s=U(()=>r.value===null?o?.value?.trim()?!a.value:n.value:r.value);function l(){n.value=!s.value,r.value=n.value}let u=U(()=>[Mf.Complete,Mf.Completed,Mf.Success].includes(t.status)),d=U(()=>t.status===Mf.Error||!!t.toolCall?.toolMessage?.error),f=U(()=>!u.value&&!d.value),p=U(()=>{let e=t.toolCall?.function;return e?.type??(e?.mcpName?`mcp`:`function`)}),m=U(()=>p.value===`skill`?Df(`读取 Skill`):p.value===`mcp`?Df(`调用 MCP`):Df(`调用工具`)),h=U(()=>p.value===`skill`?Df(`正在读取`):Df(`正在调用`)),g=U(()=>{let e=t.toolCall?.function,n=e?.mcpName||``,r=e?.name||t.toolCall?.id||``;return n?`${n} / ${r}`:r}),_=U(()=>d.value?Df(`失败`):u.value?Df(`成功`):``),v=U(()=>{let e=t.duration||t.toolCall?.toolMessage?.duration;return e?HCe(e):``}),y=U(()=>{let e=`${f.value?h.value:m.value} ${g.value}`;if(!_.value)return e;let t=v.value?`,${Df(`耗时`)}:${v.value}`:``;return`${e}(${_.value}${t})`});return(t,n)=>(B(),V(`div`,_Qt,[H(`div`,{class:xe([`ai-toolcall-render-header`,{"is-expanded":!s.value}]),onClick:l},[Jr(z(vwe)),Qr(` 前缀、工具名与状态同处一个内联文本块,保证「(成功,…)」紧贴工具名,与设计稿一致 `),Nn((B(),V(`span`,vQt,[H(`span`,{class:xe([`toolcall-header-title`,{"is-loading":f.value}])},[Zr(ke(f.value?h.value:m.value)+` `,1),Jr(z(z9),{text:g.value},null,8,[`text`])],2),_.value?(B(),V(`span`,yQt,[n[0]||=Zr(`\xA0(\xA0`,-1),H(`span`,{class:xe([`toolcall-header-result`,d.value?`is-error`:`is-success`])},ke(_.value),3),v.value?(B(),V(Ir,{key:0},[Zr(`,`+ke(z(Df)(`耗时`))+`:`+ke(v.value),1)],64)):Qr(`v-if`,!0),n[1]||=Zr(`\xA0)`,-1)])):Qr(`v-if`,!0)])),[[z(rm),{...z(i),text:y.value,appendTo:`parent`}]]),f.value?Qr(`v-if`,!0):(B(),Wr(z(ywe),{key:0,class:xe({"is-expanded":!s.value})},null,8,[`class`]))],2),Nn(H(`div`,bQt,[Jr(mQt,{desc:e.toolCall?.function.description,title:z(Df)(`描述`)},null,8,[`desc`,`title`]),Jr(mQt,{desc:e.toolCall?.function.arguments,title:z(Df)(`参数`)},null,8,[`desc`,`title`]),e.toolCall?.toolMessage?(B(),Wr(gQt,Se(ni({key:0},e.toolCall.toolMessage)),null,16)):Qr(`v-if`,!0)],512),[[Si,!s.value]])]))}}),SQt={class:`ai-message-artifacts`},CQt=Qn({__name:`message-artifacts`,props:{artifacts:{},onDownload:{type:Function},onPreview:{type:Function}},setup(e){return(t,n)=>(B(),V(`div`,SQt,[(B(!0),V(Ir,null,dr(e.artifacts,t=>(B(),Wr(KJt,{key:t.outputId,file:t,"on-download":e.onDownload,"on-preview":e.onPreview},null,8,[`file`,`on-download`,`on-preview`]))),128))]))}}),wQt={class:`ai-assistant-message`},TQt={key:0,class:`ai-assistant-message-content`},EQt={key:1,class:`ai-assistant-message-toolcalls`},DQt=Qn({__name:`assistant-message`,props:{content:{},id:{},messageId:{},name:{},property:{},role:{},status:{},toolCalls:{},uid:{}},setup(e){let t=e,n=U(()=>t.property?.artifacts);return(t,r)=>(B(),V(`div`,wQt,[Qr(` 内容 `),e.content?(B(),V(`div`,TQt,[pr(t.$slots,`default`,Se(Yr({content:e.content})),()=>[Jr(RGt,{content:e.content||``,status:e.status,type:z(Af).Text},null,8,[`content`,`status`,`type`])])])):Qr(`v-if`,!0),Qr(` 工具调用 `),e.toolCalls&&e.toolCalls.length>0?(B(),V(`div`,EQt,[(B(!0),V(Ir,null,dr(e.toolCalls,t=>(B(),Wr(xQt,{key:t.id,status:t.toolMessage?t.toolMessage.error?z(Mf).Error:t.toolMessage.status??e.status:z(Mf).Pending,"tool-call":t},null,8,[`status`,`tool-call`]))),128))])):Qr(`v-if`,!0),Qr(` 生成文件产物 `),n.value&&n.value.length>0?(B(),Wr(CQt,{key:2,artifacts:n.value},null,8,[`artifacts`])):Qr(`v-if`,!0)]))}}),OQt={class:`ai-info-message`},kQt={class:`ai-info-message-body`},AQt=Qn({__name:`info-message`,props:{content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},setup(e){return(t,n)=>(B(),V(`div`,OQt,[H(`div`,kQt,[(B(!0),V(Ir,null,dr(Array.isArray(e.content)?e.content:[e.content],(e,t)=>(B(),V(`div`,{key:t,class:`ai-info-message-content`},ke(e),1))),128))])]))}}),jQt={class:`ai-tool-approval-card`},MQt={class:`ai-tool-approval-card__header`},NQt={class:`ai-tool-approval-card__title-wrap`},PQt={class:`ai-tool-approval-card__title`},FQt={class:`ai-tool-approval-card__fields`},IQt={class:`ai-tool-approval-card__field`},LQt={class:`ai-tool-approval-card__field`},RQt={key:0,class:`ai-tool-approval-card__processor`},zQt={class:`ai-tool-approval-card__processor-text`},BQt={class:`ai-tool-approval-card__actions`},VQt={class:`ai-tool-approval-card__cancel-wrap`},HQt=2e3,UQt=Qn({__name:`tool-approval-card`,props:{interrupt:{},onInterruptResume:{type:Function},readonly:{type:Boolean}},setup(e){let t=e,n=nm(),r=uAe(),i=U(()=>r.value===Ff.Share),{copy:a}=Gp(),o=new Set([Of.PENDING,Of.DRAFT]),s=new Set([Of.ABANDONED,Of.CANCELLED,Of.EXPIRED,Of.REJECTED]),l=U(()=>t.interrupt.metadata?.ticket??{approvers:[],sn:``,status:Of.PENDING,submit_time:``,title:``,url:``}),u=new Set([Of.CANCELLED,Of.REVOKED]),d={[Of.APPROVED]:Df(`该单据已通过,无法取消`),[Of.CANCELLED]:Df(`单据已取消审批`),[Of.REJECTED]:Df(`该单据已被拒绝,无法取消`),[Of.REVOKED]:Df(`单据已取消审批`)},f=U(()=>o.has(l.value.status)),p=U(()=>f.value?`pending`:l.value.status),m=U(()=>f.value?Df(`审批中`):GCe[l.value.status]??l.value.status),h=U(()=>l.value.approvers.filter(Boolean).join(`、`)||Df(`无`)),g=U(()=>l.value.url||l.value.sn),_=U(()=>u.has(l.value.status)?Df(`已取消审批`):Df(`取消审批`)),v=U(()=>d[l.value.status]??Df(`当前状态无法取消审批`)),y=()=>{l.value.url&&window.open(l.value.url,`_blank`,`noopener`)},b=()=>{g.value&&a(g.value)},x=cn(!1),S=cn(!1),C,w=()=>{S.value=!0,clearTimeout(C),C=setTimeout(()=>{S.value=!1},HQt)},T=()=>{x.value||(x.value=!0,w(),t.onInterruptResume?.({operation:Nf.ApprovalCancel,payload:{interrupt_id:t.interrupt.id}},t.interrupt))},E=()=>{S.value||i.value||(w(),t.onInterruptResume?.({operation:Nf.ApprovalRefresh,payload:{interrupt_id:t.interrupt.id}},t.interrupt))};return cr(()=>clearTimeout(C)),(t,r)=>(B(),V(`section`,jQt,[H(`header`,MQt,[H(`div`,NQt,[r[0]||=H(`span`,{class:`ai-tool-approval-card__title-bar`},null,-1),H(`span`,PQt,ke(l.value.title||z(Df)(`算法方案评审单`)),1),Nn(Jr(z(Uf),{class:xe([`ai-tool-approval-card__copy-icon`,{"is-disabled":!g.value}]),onClick:b},null,8,[`class`]),[[z(Hp),{...z(n),content:z(Df)(`复制单据链接`),theme:`ai-chat-box`,offset:[0,8]}]]),Qr(` 审批中态提供刷新图标:取消为后端轮询、无法实时返回,用户可手动拉取单据最新状态;每次刷新 2s 冷却 `),f.value&&!e.readonly?Nn((B(),Wr(z(Gf),{key:0,class:xe([`ai-tool-approval-card__refresh-icon`,{"is-disabled":S.value||i.value}]),onClick:E},null,8,[`class`])),[[z(Hp),{...z(n),content:z(Df)(`刷新单据状态`),theme:`ai-chat-box`,offset:[0,8]}]]):Qr(`v-if`,!0)]),H(`span`,{class:xe([`ai-tool-approval-card__status`,`ai-tool-approval-card__status--${p.value}`])},[l.value.status===z(Of).APPROVED?(B(),Wr(z(jTe),{key:0,class:`ai-tool-approval-card__status-icon`})):z(s).has(l.value.status)?(B(),Wr(z(NTe),{key:1,class:`ai-tool-approval-card__status-icon`})):l.value.status===z(Of).REVOKED?(B(),Wr(z(PTe),{key:2,class:xe([`ai-tool-approval-card__status-icon`,{"ai-tool-approval-card__status-icon--revoked":l.value.status===z(Of).REVOKED}])},null,8,[`class`])):(B(),Wr(z(Yl),{key:3,class:`ai-tool-approval-card__status-icon`,mode:`spin`,size:`mini`,theme:`primary`})),Zr(` `+ke(m.value),1)],2)]),H(`dl`,FQt,[H(`div`,IQt,[H(`dt`,null,ke(z(Df)(`单据编号`)),1),H(`dd`,null,ke(l.value.sn||`--`),1)]),H(`div`,LQt,[H(`dt`,null,ke(z(Df)(`提交时间`)),1),H(`dd`,null,ke(l.value.submit_time||`--`),1)])]),f.value?(B(),V(`div`,RQt,[Jr(z(MTe),{class:`ai-tool-approval-card__processor-icon`}),Nn((B(),V(`span`,zQt,[Zr(ke(z(Df)(`当前处理人`))+`:`+ke(h.value),1)])),[[z(rm),{...z(n)}]])])):Qr(`v-if`,!0),H(`div`,BQt,[Jr(z(ru),{class:`ai-tool-approval-card__detail`,disabled:!l.value.url,theme:`primary`,onClick:y},{default:Mn(()=>[Zr(ke(z(Df)(`查看单据详情`))+` `,1),Jr(z(zf),{class:`ai-tool-approval-card__detail-icon`})]),_:1},8,[`disabled`]),Qr(` 待审批态:可点「取消审批」;点击后按钮进入 loading(同步 resume 无结果,防重复提交) `),f.value&&!e.readonly?(B(),Wr(z(ru),{key:0,class:`ai-tool-approval-card__cancel`,disabled:x.value||i.value,loading:x.value,outline:``,theme:`primary`,onClick:T},{default:Mn(()=>[Zr(ke(z(Df)(`取消审批`)),1)]),_:1},8,[`disabled`,`loading`])):e.readonly?Qr(`v-if`,!0):(B(),V(Ir,{key:1},[Qr(` 终态:保留「取消审批」按钮但置灰,hover 显示当前状态无法取消的原因(tooltip 挂在外层 span,规避 disabled 按钮不触发 hover) `),Nn((B(),V(`span`,VQt,[Jr(z(ru),{class:`ai-tool-approval-card__cancel`,disabled:``,outline:``},{default:Mn(()=>[Zr(ke(_.value),1)]),_:1})])),[[z(Hp),{...z(n),content:v.value,theme:`ai-chat-box`,offset:[0,8]}]])],2112))])]))}}),WQt={class:`ai-interrupt-message`},GQt={key:0,class:`ai-interrupt-message__content`},KQt={class:`ai-interrupt-message__fallback`},qQt=Qn({__name:`interrupt-message`,props:{content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{},onInterruptResume:{type:Function}},setup(e){let t={[kf.AIDevToolApproval]:UQt},n=e=>({id:e.interruptId||e.id||``,reason:kf.AIDevToolApproval,toolCallId:``,metadata:e.payload.metadata}),r={[kf.AIDevToolApproval]:e=>({component:UQt,props:{interrupt:n(e),onInterruptResume:a.onInterruptResume,readonly:!1}}),[kf.UserQuestion]:e=>({component:JYt,props:{answers:e.payload?.answers??[],status:e.status}})},i=new Set([kf.UserQuestion]),a=e,o=U(()=>a.content?.outcome?.type===`interrupt`?a.content.outcome.interrupts:[]),s=U(()=>a.content?.message),l=e=>t[e.reason],u=e=>i.has(e.reason),d=U(()=>{if(a.content?.outcome?.type!==`success`)return;let e=a.content?.result;if(e)return r[e.reason]?.(e)});return(t,n)=>(B(),V(`div`,WQt,[s.value?(B(),V(`div`,GQt,ke(s.value),1)):Qr(`v-if`,!0),(B(!0),V(Ir,null,dr(o.value,t=>(B(),V(Ir,{key:t.toolCallId},[l(t)?(B(),Wr(lr(l(t)),{key:0,interrupt:t,"on-interrupt-resume":e.onInterruptResume},null,40,[`interrupt`,`on-interrupt-resume`])):u(t)?Qr(`v-if`,!0):(B(),V(Ir,{key:1},[Qr(` UserQuestion 的交互浮层渲染在 chat-input 上方,不在会话内渲染 `),H(`div`,KQt,ke(t.message||z(Df)(`暂不支持的中断消息`)),1)],2112))],64))),128)),Qr(` outcome.success 时按 reason 在会话内回显 resume 结果(审批单 / 已回答内容等) `),d.value?(B(),Wr(lr(d.value.component),Se(ni({key:1},d.value.props)),fr({_:2},[t.$slots.answeredQuestion?{name:`answer`,fn:Mn(e=>[pr(t.$slots,`answeredQuestion`,Se(Yr(e)))]),key:`0`}:void 0]),1040)):Qr(`v-if`,!0)]))}}),JQt={class:`ai-loading-message`},YQt=Qn({__name:`loading-message`,setup(e){let t=Kp();return or(()=>{t?.value?.jumpToBottom?.()}),(e,t)=>(B(),V(`div`,JQt,[Jr(Kf,{size:18}),pr(e.$slots,`default`,{},()=>[Zr(ke(z(Df)(`请求中...`)),1)])]))}}),XQt={class:`ai-reasoning-message`},ZQt={key:0,class:`ai-reasoning-message-title-icon`},QQt={class:`ai-reasoning-message-title-text`},$Qt={class:`ai-reasoning-message-content`},e$t=Qn({__name:`reasoning-message`,props:yr({duration:{},content:{},createdAt:{},id:{},messageId:{},name:{},role:{},status:{},uid:{},property:{}},{collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:[`update:collapsed`],setup(e){let t=e,n=Er(e,`collapsed`),{stop:r}=Ln(()=>t.duration,async e=>{e&&(n.value=!0,await Dn(),r?.())},{immediate:!0}),i=U(()=>{switch(t.status){case Mf.Pending:return Df(`思考中`);case Mf.Success:case Mf.Complete:return Df(`已思考完成`)+(t.duration?` (${Df(`耗时`)} :${HCe(t.duration)})`:``);case Mf.Error:return Df(`思考失败`);default:return Df(`思考中`)}});return(t,r)=>(B(),V(`div`,XQt,[H(`div`,{class:xe([`ai-reasoning-message-title`,{"ai-reasoning-message-title-collapsed":n.value,"is-thinking":e.status===z(Mf).Pending||e.status===z(Mf).Streaming,"is-complete":e.status===z(Mf).Complete||e.status===z(Mf).Success,"is-error":e.status===z(Mf).Error}]),onClick:r[0]||=e=>n.value=!n.value},[e.status===z(Mf).Pending||e.status===z(Mf).Streaming?(B(),V(`span`,ZQt,[Jr(Kf)])):Qr(`v-if`,!0),H(`span`,QQt,ke(i.value),1),Qr(` <template v-if="status === MessageStatus.Pending || status === MessageStatus.Streaming">
|
|
3908
3908
|
<ContentLoadingIcon
|
|
3909
3909
|
v-for="i in 3"
|
|
3910
3910
|
:key="i"
|
|
@@ -3912,5 +3912,5 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
3912
3912
|
/>
|
|
3913
3913
|
</template> `),H(`span`,{class:xe([`ai-reasoning-message-title-icon collapsed-icon`,{"is-collapsed":n.value}])},[Jr(z(Vf))],2)],2),Nn(H(`div`,$Qt,[e.status===z(Mf).Error?(B(),Wr(SGt,{key:0,content:e.content?.join(`
|
|
3914
3914
|
`)||``},null,8,[`content`])):(B(!0),V(Ir,{key:1},dr(Array.isArray(e.content)?e.content:[e.content],e=>(B(),Wr(g9,{key:e,content:e},null,8,[`content`]))),128))],512),[[Si,!n.value]])]))}}),t$t={class:`ai-collapsible-content`},n$t=Qn({__name:`collapsible-content`,props:yr({maxHeight:{default:200}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(e){let t=e,n=Er(e,`expanded`),r=$n(`measureRef`),i=cn(0),a=U(()=>i.value>t.maxHeight),o=U(()=>a.value&&!n.value),s=null,l=()=>{s?.disconnect(),s=null};return Ln(r,e=>{l(),!(!e||typeof ResizeObserver>`u`)&&(s=new ResizeObserver(([e])=>{i.value=e.contentRect.height}),s.observe(e))},{flush:`post`}),cr(l),(t,i)=>(B(),V(`div`,t$t,[H(`div`,{class:xe([`ai-collapsible-content-body`,{"is-collapsed":o.value}]),style:ge(o.value?{maxHeight:`${e.maxHeight}px`}:void 0)},[Qr(` 折叠由外层 max-height 实现,真实高度始终从这一层测量 `),H(`div`,{ref_key:`measureRef`,ref:r},[pr(t.$slots,`default`)],512)],6),a.value?(B(),V(`div`,{key:0,class:`ai-collapsible-content-toggle`,onClick:i[0]||=e=>n.value=!n.value},[H(`span`,null,ke(n.value?z(Df)(`收起`):z(Df)(`显示更多`)),1),Jr(z(zf),{class:xe([`ai-collapsible-content-toggle-icon`,{"is-expanded":n.value}])},null,8,[`class`])])):Qr(`v-if`,!0)]))}}),r$t={class:`ai-key-value-content`},i$t={key:0,class:`ai-key-value-title`},a$t={class:`ai-key-value-content`},o$t={class:`item-key`},s$t={class:`item-value`},c$t=Qn({__name:`key-value-content`,props:{content:{},title:{}},setup(e){return(t,n)=>(B(),V(`div`,r$t,[e.title?(B(),V(`div`,i$t,[Jr(z(GTe)),Zr(` `+ke(e.title),1)])):Qr(`v-if`,!0),H(`div`,a$t,[(B(!0),V(Ir,null,dr(e.content,e=>(B(),V(`div`,{key:e.key,class:`key-value-item`},[H(`div`,o$t,ke(e.key),1),n[0]||=Zr(` : `,-1),H(`div`,s$t,ke(e.value),1)]))),128))])]))}}),l$t={class:`ai-text-content`},u$t=Qn({__name:`text-content`,props:{content:{}},setup(e){return(t,n)=>(B(),V(`div`,l$t,ke(e.content),1))}}),d$t={class:`ai-user-message`},f$t={key:1,class:`ai-user-message-content`},p$t={class:`user-edit-footer`},m$t=Qn({__name:`user-message`,props:{content:{},createdAt:{},id:{},messageId:{},messageTools:{},name:{},onAction:{type:Function},property:{},role:{},status:{},tippyOptions:{},uid:{},messageToolsStatus:{},onInputConfirm:{type:Function},onShortcutConfirm:{type:Function}},setup(e){let t=e,n=fke(),{copy:r}=Gp(),i=U(()=>$p(ZCe,t.messageTools)),a=cn(!1),o=cn(``),s=$n(`chatInputRef`),l=U(()=>{let e=t.property?.extra?.cite;if(!(!e||typeof e==`string`))return e.title}),u=U(()=>{let e=t.property?.extra?.cite;return!e||typeof e==`string`?e:e.data}),d=U(()=>{if(!t.property?.extra)return null;let{extra:e}=t.property,{shortcut:n,cite:r,context:i}=e||{};if(n)return n;if(r&&typeof r==`object`&&r.data?.length){let e=[];for(let t of r.data){let n=i?.find(e=>e.__label===t.key);n?.__key&&e.push({formItemProps:{label:n.__label,required:!!n.fillBack},props:{default:n.__value},key:n.__key,type:`textarea`})}return{components:e,name:r.title}}return null}),f=U(()=>Array.isArray(t.content)?t.content?.filter(e=>e.type===Af.Binary):[]),p=U(()=>{let e=t.property?.docSchema;if(!e)return;let n=bke(e,f.value);return n.some(e=>e.some(e=>e.type===`tag`))?n:void 0}),m=U(()=>t.content?typeof t.content==`string`?[t.content]:t.content.filter(e=>e.type===Af.Text&&!!e.text?.trim()).map(e=>e.text):[]),h=async e=>{e.id===`edit`?(m.value.length&&(o.value=p.value??m.value[0]??``,a.value=!0),f.value.length&&(a.value=!0),a.value&&(await Dn(),s.value?.focus?.())):e.id===`copy`&&r(typeof t.content==`string`?t.content:JSON.stringify(t.content||``)),await t.onAction?.(e)},g=async()=>{await s.value?.triggerSendMessage?.(),a.value=!1},_=()=>{a.value=!1},v=()=>{a.value=!1},y=async e=>{t.onShortcutConfirm?.(e),a.value=!1},b=async(e,n)=>{t.onInputConfirm?.(e,n),a.value=!1};return(t,r)=>(B(),V(`div`,d$t,[u.value&&typeof u.value==`string`?(B(),Wr(JKt,{key:0,class:`ai-user-message-cite`,content:u.value},null,8,[`content`])):Qr(`v-if`,!0),Qr(` 非编辑状态 `),a.value?(B(),V(Ir,{key:2},[Qr(` 编辑状态 `),d.value?(B(),Wr(YOe,ni({key:0},d.value,{class:`user-shortcut-render`,onClose:v,onSubmit:y}),null,16)):(B(),Wr(zJt,{key:1,ref_key:`chatInputRef`,ref:s,modelValue:o.value,"onUpdate:modelValue":r[0]||=e=>o.value=e,class:`user-edit-input`,"default-upload-files":f.value,"menu-sources":z(n)?.menuSources?.value??[],"on-send-message":b,"support-upload":z(n)?.supportUpload.value??!1},{"send-icon":Mn(()=>[H(`div`,p$t,[Jr(z(ru),{size:`small`,onClick:_},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1}),Jr(z(ru),{size:`small`,theme:`primary`,onClick:g},{default:Mn(()=>[Zr(ke(z(Df)(`发送`)),1)]),_:1})])]),_:1},8,[`modelValue`,`default-upload-files`,`menu-sources`,`support-upload`]))],64)):(B(),V(Ir,{key:1},[Qr(` 图片 / 文件的分组与排序由 FileContent 内部按设计稿处理 `),f.value.length?(B(),Wr(Aqt,{key:0,class:`ai-user-message-binary-files`,files:f.value,readonly:!0,variant:`message`},null,8,[`files`])):Qr(`v-if`,!0),u.value||m.value.length?(B(),V(`div`,f$t,[Qr(` 设计稿标注:消息最高显示 200px,超出后由「显示更多 / 收起」控制 `),Jr(n$t,{"max-height":z(200)},{default:Mn(()=>[Array.isArray(u.value)?(B(),V(Ir,{key:0},[Qr(` property.extra.cite 是数组时,显示结构化内容 `),Jr(c$t,{content:u.value,title:l.value},null,8,[`content`,`title`])],64)):p.value?(B(),V(Ir,{key:1},[Qr(` 发送时保留了富文本文档:把 @ 选中的资源原样还原成标签 `),Jr(z(Zqt),{doc:p.value},null,8,[`doc`])],2112)):e.content?(B(),V(Ir,{key:2},[Qr(` agui user message content 显示`),(B(!0),V(Ir,null,dr(m.value,(e,t)=>(B(),Wr(u$t,{key:t,content:e},null,8,[`content`]))),128))],2112)):Qr(`v-if`,!0)]),_:1},8,[`max-height`])])):Qr(`v-if`,!0),e.messageToolsStatus===z(I9).Hidden?Qr(`v-if`,!0):(B(),Wr(GXt,{key:2,class:`ai-user-message-tools`,"message-tools":i.value,"message-tools-status":e.messageToolsStatus,"on-action":h,"tippy-options":e.tippyOptions,"update-tools":[]},{prepend:Mn(()=>[Jr(DXt,{"created-at":e.createdAt},null,8,[`created-at`])]),_:1},8,[`message-tools`,`message-tools-status`,`tippy-options`]))],64))]))}}),h$t=Qn({__name:`message-render`,props:{messageToolsStatus:{},onInputConfirm:{type:Function},onShortcutConfirm:{type:Function},onAction:{type:Function},tippyOptions:{},message:{},messageTools:{},onInterruptResume:{type:Function}},setup(e){let t=e,n=_r(),r=U(()=>{switch(t.message.role){case jf.User:return W(m$t,{...t.message,onAction:t.onAction,onInputConfirm:t.onInputConfirm,onShortcutConfirm:t.onShortcutConfirm,messageTools:t.messageTools,messageToolsStatus:t.messageToolsStatus,tippyOptions:t.tippyOptions});case jf.Assistant:return W(DQt,t.message,{default:e=>pr(n,`default`,e,()=>[W(RGt,{content:t.message.content||``,status:t.message.status},n.codeHeader?{codeHeader:e=>n.codeHeader?.(e)}:void 0)])});case jf.Info:return W(AQt,t.message);case jf.Reasoning:return W(e$t,t.message);case jf.Tool:return W(gQt,t.message);case jf.Activity:return W(sQt,{...t.message,onInterruptResume:t.onInterruptResume});case jf.Interrupt:return W(qQt,{...t.message,onInterruptResume:t.onInterruptResume},n.answeredQuestion?{answeredQuestion:e=>n.answeredQuestion?.(e)}:void 0);case jf.Loading:return W(YQt,t.message);default:return null}});return(e,t)=>(B(),Wr(lr(r.value)))}}),g$t=[`id`,`data-message-group-id`,`onMouseenter`,`onMouseleave`],_$t=[`data-message-id`],v$t={class:`ai-message-fixed-bottom`},y$t=Qn({__name:`message-container`,props:yr({enableSelection:{type:Boolean,default:!1},messageGroups:{},messages:{},messageStatus:{},messageTools:{},messageToolsStatus:{},messageToolsTippyOptions:{},onAgentAction:{},onAgentFeedback:{},onInterruptResume:{},onUserAction:{},renderMode:{},updateTools:{},userMessageTools:{},onUserInputConfirm:{},onUserShortcutConfirm:{}},{selectedUserMessages:{required:!1},selectedUserMessagesModifiers:{}}),emits:yr([`stopStreaming`],[`update:selectedUserMessages`]),setup(e){let t=e,n=Er(e,`selectedUserMessages`),r=e=>{let t=e.id||e.uid;return t===void 0?void 0:String(t)},i=e=>{for(let t=e.length-1;t>=0;t--){let n=e[t]?.createdAt;if(n)return n}},a=$n(`messageContainerRef`),o=$n(`messageContainerBottomRef`),{jumpToBottom:s,toScrollBottom:l,debouncedShowScrollBottomBtn:u}=ike(a,o);or(()=>{t.messageGroups?.length&&(s(),requestAnimationFrame(()=>s()))});let{copy:d}=Gp(),f=U(()=>$p(XCe,t.messageTools).filter(e=>t.renderMode!==Ff.Test||e.id!==`share`)),p=U(()=>$p(QCe,t.updateTools)),m=U(()=>t.renderMode===Ff.Share?t.messageGroups.filter(e=>e.type!==jf.Loading):t.messageGroups),h=e=>{e.messages?.at(-1)?.role!==jf.Interrupt&&(e.isHover=!0)},g=(e,t)=>{let n=t.toElement??t.relatedTarget;n instanceof Element&&n.classList.contains(`ai-user-feedback`)||(e.isHover=!1)},_=(e,r)=>{let i=e.type===jf.User;t.messageGroups?.forEach((n,a)=>{if(n===e){n.checked=r;let e=i?t.messageGroups.at(a+1):t.messageGroups.at(a-1);e&&(e.checked=r)}}),n.value=t.messageGroups?.filter(e=>e.checked).map(e=>e.messages).flat()},v=async(e,n)=>(e.id===`copy`&&d(n.filter(e=>e.role!==jf.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
|
|
3915
|
-
`)),t.onAgentAction?.(e,n)),y=async(e,n)=>{t.onUserAction?.(e,n)},b=async(e,n,r)=>{t.onUserInputConfirm?.(e,n,r)},x=async(e,n)=>{t.onUserShortcutConfirm?.(e,n)};return(n,s)=>(B(),V(`div`,{ref_key:`messageContainerRef`,ref:a,class:`ai-message-container`},[(B(!0),V(Ir,null,dr(m.value,(a,o)=>(B(),V(`div`,{id:a.uid,key:o,class:`message-group`,"data-message-group-id":a.uid,style:ge({backgroundColor:a.checked?`#f5f7fa`:`transparent`}),onMouseenter:e=>h(a),onMouseleave:e=>g(a,e)},[pr(n.$slots,`group`,ni({ref_for:!0},{group:a}),()=>[e.enableSelection&&a.type!==z(jf).Loading?(B(),Wr(z(xu),{key:0,class:xe([`message-group-checkbox`,{"is-user-group":a.type===z(jf).User}]),"model-value":a.checked,"onUpdate:modelValue":e=>_(a,e)},null,8,[`class`,`model-value`,`onUpdate:modelValue`])):Qr(`v-if`,!0),H(`div`,{class:xe([`message-group-messages`,{"message-group-enabled-selection":e.renderMode===z(Ff).Share||e.enableSelection&&a.type!==z(jf).Loading}]),style:ge({width:e.enableSelection&&a.type!==z(jf).Loading?`calc(100% - 16px)`:`100%`})},[(B(!0),V(Ir,null,dr(a.messages,(i,a)=>(B(),V(`div`,{key:a,class:`ai-message-item`,"data-message-id":r(i)},[pr(n.$slots,`default`,ni({ref_for:!0},{message:i,messageToolsStatus:e.messageToolsStatus,onInterruptResume:t.onInterruptResume}),()=>[(B(),Wr(h$t,{key:a,message:i,"message-tools":e.userMessageTools,"message-tools-status":e.messageToolsStatus,"on-action":e=>y(e,i),"on-input-confirm":(e,t)=>b(i,e,t),"on-interrupt-resume":t.onInterruptResume,"on-shortcut-confirm":e=>x(i,e),"tippy-options":e.messageToolsTippyOptions},fr({_:2},[n.$slots.answeredQuestion?{name:`answeredQuestion`,fn:Mn(e=>[pr(n.$slots,`answeredQuestion`,ni({ref_for:!0},e))]),key:`0`}:void 0]),1032,[`message`,`message-tools`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`]))])],8,_$t))),128)),e.renderMode!==z(Ff).Share&&!(e.enableSelection&&a.type!==z(jf).Loading)&&!a.pause&&a.type===z(jf).Assistant&&e.messageToolsStatus!==z(I9).Hidden?(B(),Wr(GXt,{key:0,"message-tools":f.value,"message-tools-status":e.messageToolsStatus,"on-action":e=>v(e,a.messages),style:ge({visibility:a.isHover?`visible`:`hidden`}),"tippy-options":t.messageToolsTippyOptions,"update-tools":p.value,onFeedback:(e,n,r)=>t.onAgentFeedback?.(e,a.messages,n,r)},{append:Mn(()=>[Jr(DXt,{"created-at":i(a.messages)},null,8,[`created-at`])]),_:2},1032,[`message-tools`,`message-tools-status`,`on-action`,`style`,`tippy-options`,`update-tools`,`onFeedback`])):Qr(`v-if`,!0)],6)])],44,g$t))),128)),H(`div`,{ref_key:`messageContainerBottomRef`,ref:o,class:`message-container-bottom`,tabindex:`0`},null,512),H(`div`,v$t,[Nn(Jr(cEe,{loading:e.messageStatus===z(Mf).StopLoading,title:e.messageStatus===z(Mf).StopLoading?z(Df)(`正在停止`):z(Df)(`停止生成`),onClick:s[0]||=e=>n.$emit(`stopStreaming`)},{icon:Mn(()=>[Jr(z(TTe))]),_:1},8,[`loading`,`title`]),[[Si,e.renderMode!==z(Ff).Share&&(e.messageStatus===z(Mf).Streaming||e.messageStatus===z(Mf).StopLoading||e.messageStatus===z(Mf).Fetching||e.messageStatus===z(Mf).Pending)]]),Nn(Jr(cEe,{title:z(Df)(`返回底部`),onClick:s[1]||=()=>z(l)(`smooth`)},{icon:Mn(()=>[Jr(z(qTe))]),_:1},8,[`title`]),[[Si,z(u)]])])],512))}}),b$t={class:`ai-execution-summary`},x$t={key:0,class:`ai-execution-summary-header`},S$t={class:`ai-execution-summary-content`},C$t=[`onMouseenter`],w$t={class:`content-item-header`},T$t={class:`content-item-title`},E$t={class:`content-item-messages`},D$t={key:0,class:`timeline-line`},O$t={key:1,class:`ai-execution-summary-content-empty`},k$t={class:`ai-execution-summary-content-empty-text`},A$t=Qn({__name:`execution-summary`,props:{messageGroups:{}},emits:[`locateMessageGroup`,`updateKeyword`],setup(e,{emit:t}){let n=t,r=nm(),{keyword:i}=cAe(),a=cn(void 0),o=e=>{if(!e)return``;let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`},s=e=>{n(`locateMessageGroup`,e.uid,e)},l=()=>{i.value=``,n(`updateKeyword`,``)};return(t,u)=>(B(),V(`div`,b$t,[e.messageGroups.length?(B(),V(`div`,x$t,[Jr(z(mu),{modelValue:z(i),"onUpdate:modelValue":[u[0]||=e=>on(i)?i.value=e:null,u[1]||=e=>n(`updateKeyword`,e)],class:`ai-execution-summary-header-input`,clearable:``,placeholder:z(Df)(`搜索 关键字`)},null,8,[`modelValue`,`placeholder`])])):Qr(`v-if`,!0),H(`div`,S$t,[e.messageGroups.length?(B(!0),V(Ir,{key:0},dr(e.messageGroups,(t,n)=>(B(),V(`div`,{key:t.uid,class:`ai-execution-summary-content-item`,onMouseenter:e=>a.value=t.uid,onMouseleave:u[2]||=e=>a.value=void 0},[H(`div`,w$t,[u[3]||=H(`span`,{class:`timeline-dot`},null,-1),Nn((B(),V(`span`,T$t,[Zr(ke(typeof t.userMessageTitle==`number`?o(t.userMessageTitle):t.userMessageTitle),1)])),[[z(rm),{...z(r)}]]),Nn(Jr(z(ru),{class:`content-item-locate`,text:``,theme:`primary`,onClick:e=>s(t)},{default:Mn(()=>[Zr(ke(z(Df)(`在对话中定位`)),1)]),_:1},8,[`onClick`]),[[Si,a.value===t.uid]])]),H(`div`,E$t,[(B(!0),V(Ir,null,dr(t.messages,(e,t)=>(B(),Wr(h$t,{key:t,message:e},null,8,[`message`]))),128))]),n<e.messageGroups.length-1?(B(),V(`div`,D$t)):Qr(`v-if`,!0)],40,C$t))),128)):(B(),V(`div`,O$t,[Jr(z(ad),{class:`empty-exception`,scene:`part`,type:`empty`}),H(`div`,k$t,[Zr(ke(z(i)?z(Df)(`搜索结果为空`):z(Df)(`暂无数据`))+` `,1),z(i)?(B(),Wr(z(ru),{key:0,text:``,theme:`primary`,onClick:l},{default:Mn(()=>[Zr(ke(z(Df)(`清空搜索`)),1)]),_:1})):Qr(`v-if`,!0)])]))])]))}}),j$t={class:`ai-selection-footer`},M$t={class:`ai-selection-footer-left`},N$t={class:`select-all-text`},P$t={class:`ai-selection-footer-right`},F$t=Qn({__name:`selection-footer`,props:{isAllSelected:{type:Boolean},loading:{type:Boolean},selectedCount:{}},emits:[`cancel`,`confirm`,`toggle-all`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,j$t,[H(`div`,M$t,[Jr(z(xu),{"model-value":e.isAllSelected,"onUpdate:modelValue":r[0]||=e=>n(`toggle-all`,e)},null,8,[`model-value`]),H(`span`,N$t,ke(z(Df)(`全选`)),1)]),H(`div`,P$t,[Jr(z(ru),{disabled:e.loading,onClick:r[1]||=e=>n(`cancel`)},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1},8,[`disabled`]),Jr(z(ru),{disabled:e.selectedCount===0,loading:e.loading,theme:`primary`,onClick:r[2]||=e=>n(`confirm`)},{default:Mn(()=>[Zr(ke(z(Df)(`确定`)),1)]),_:1},8,[`disabled`,`loading`])])]))}}),I$t=[`data-ai-size`],L$t={key:0,class:`ai-chat-container-loading`},R$t={class:`screen-wrapper`},z$t={key:1,class:`ai-welcome-content`},B$t={class:`ai-welcome-title`},V$t={key:0,class:`ai-welcome-remark`},H$t=Qn({__name:`chat-container`,props:yr({asideCollapsed:{type:Boolean,default:void 0},chatLoading:{type:Boolean},commonTippyOptions:{},executionTabVisible:{type:Boolean,default:!0},getSideRenderComponent:{},getSideTabRenderComponent:{},onArtifactClick:{},onCustomTabChange:{},openingRemark:{},resizeProps:{},size:{default:`small`},timezone:{},welcomeTitle:{},accept:{},defaultUploadFiles:{},inputMaxHeight:{},menuGroupItemLimit:{},menuSources:{},messageStatus:{},models:{},modelValue:{},onSendMessage:{},onStopSending:{},onUpload:{},placeholder:{},sendDisabledTip:{},shortcutId:{},shortcuts:{},supportUpload:{type:Boolean},tippyOptions:{},messages:{},messageTools:{},messageToolsStatus:{},onAgentAction:{},onAgentFeedback:{},onInterruptResume:{},onUserAction:{},renderMode:{},updateTools:{},userMessageTools:{},onUserInputConfirm:{},onUserShortcutConfirm:{}},{renderMode:{required:!1,default:Ff.Chat},renderModeModifiers:{},selectedShortcut:{required:!1},selectedShortcutModifiers:{},cite:{required:!1,default:``},citeModifiers:{},selectedModel:{required:!1},selectedModelModifiers:{}}),emits:yr([`selectShortcut`,`deleteShortcut`,`deleteFile`,`update:modelValue`,`modelChange`,`stopStreaming`,`shortcutClose`,`shortcutSubmit`,`confirmShare`,`collapseChange`,`update:asideCollapsed`],[`update:renderMode`,`update:selectedShortcut`,`update:cite`,`update:selectedModel`]),setup(e,{expose:t,emit:n}){let r=pxe.TabPanel,i=e,a=Er(e,`renderMode`),o=$n(`fullScreenRef`),{isFullScreen:s,enter:l,exit:u}=lke(o);lAe({renderMode:a});let d=U(()=>({collapsible:!1,immediate:!0,min:400,...i.resizeProps,placement:`right`})),f=U(()=>i.getSideRenderComponent?.(W,w.value.data?.props??{})??w.value.data?.component),p=U(()=>{let e=i.menuSources??[];return e.some(e=>e.type===`artifact`)?e:[...e,...Mke(i.messages)]}),m=$n(`chatInputRef`);mke({insertMention:e=>m.value?.insertMention?.(e)}),dke({menuSources:p,size:U(()=>i.size??`small`),supportUpload:U(()=>i.supportUpload??!1),timezone:U(()=>i.timezone)}),Ln(()=>i.size??`small`,e=>{typeof document<`u`&&(document.body.dataset.aiSize=e)},{immediate:!0});let h=Er(e,`selectedShortcut`),g=Er(e,`cite`),_=Er(e,`selectedModel`),v=n,y=cn(!0),b=U({get:()=>i.asideCollapsed??y.value,set:e=>{i.asideCollapsed===void 0&&(y.value=e),v(`update:asideCollapsed`,e)}}),x=U(()=>s.value&&o.value?{...i.commonTippyOptions,appendTo:o.value}:{...i.commonTippyOptions});dAe({tippyOptions:x});let{displayTabs:S,tabs:C,selectedTab:w,isCollapse:T,addCustomTab:E,ensureCustomTab:D,removeCustomTab:O,selectCustomTab:k,resetCustomTab:A}=ske({collapsed:b,executionTabVisible:()=>i.executionTabVisible,onTabChange:async e=>{if(e.name===`file-artifact`)return;let t=w.value.data?.props||{loading:!0,data:{}};w.value.data={...w.value.data,props:t};let n=await i.onCustomTabChange?.(e);w.value.data={...w.value.data,props:{...t,loading:!1,data:n}}}}),j={closable:!1,label:Df(`文件产物`),name:ZOe,order:-1};D(j);let M=cn(``),N=sn([]),P=cn(),F=()=>{let e=i.resizeProps?.initialDivide;return typeof e==`number`?e:400},I=cn(F()),L=cn(F()),R=cn(!1),ee=U(()=>`calc(100% - ${I.value}px)`),te=U(()=>`${L.value}px`),{messageGroups:ne,executionGroups:re,sessionArtifacts:ie,isShareMode:ae,isAllSelected:oe,onToggleShareAll:se,onCancelShare:ce,onConfirmShare:le,pendingApprovalTipText:ue,activeUserQuestionInterrupt:de}=iAe({keyword:M,messages:U(()=>i.messages),renderMode:U(()=>a.value),selectedUserMessages:N}),fe=U(()=>{let e=new Map(ie.value.map(e=>[e.outputId,e]));for(let t of m.value?.uploadedArtifacts??[])e.set(t.outputId,t);return[...e.values()]}),{activeArtifactId:pe,setActiveArtifactId:me}=$Oe({getOnArtifactClick:()=>i.onArtifactClick,onOpen:()=>{E(j)}});Ln(fe,e=>{if(!e.length){me(``);return}e.some(e=>e.outputId===pe.value)||me(e[0].outputId)},{immediate:!0}),Ln(T,e=>{e?(M.value=``,I.value=0):I.value=L.value,v(`collapseChange`,e,I.value)});let he=U(()=>i.messageStatus===Mf.StopLoading?Mf.StopLoading:ne.value?.some(e=>e.messages.some(e=>e.id===`__loading__`))?Mf.Fetching:i.messageStatus),_e=()=>{h.value=null,v(`shortcutClose`)},ve=e=>{v(`shortcutSubmit`,e)},ye=()=>{v(`deleteShortcut`)},be=e=>{v(`selectShortcut`,e)},xe=(e,t)=>{v(`update:modelValue`,e,t)},Ce=async(e,t)=>{let n=de.value;return i.onSendMessage?.(e,t,n?{payload:RYt(n),interrupt:n}:void 0)},we=e=>{if(!e)return;let t=document.getElementById(e);if(!t){let t=ne.value.find(t=>t.messages.some(t=>t.uid===e));t&&document.getElementById(t.uid)?.scrollIntoView({behavior:`smooth`});return}t.scrollIntoView({behavior:`smooth`})},Te=e=>{if(!(e instanceof HTMLElement))return;let t=e.getBoundingClientRect();t.bottom<0||t.top>window.innerHeight||e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})},Ee=e=>e===`execution`?_we:e===`file-artifact`?xwe:bwe,De=e=>{k(C.value.find(t=>t.name===e))},Oe=e=>{M.value=e},Ae=async(e,t)=>{if(e.id===`share`||e.triggerSelection){P.value=e,ae.value=!0;return}return i.onAgentAction?.(e,t)},je=()=>{v(`confirmShare`,le(),P.value),Dn(()=>{ae.value=!1,N.value=[],P.value=void 0})},Me=()=>{ce(),P.value=void 0},Ne=e=>{R.value=!0,I.value=e,L.value=e},Pe=()=>{R.value=!1};return cr(()=>{A(),typeof document<`u`&&delete document.body.dataset.aiSize}),t({selectedTab:w,addCustomTab:E,removeCustomTab:O,selectCustomTab:k,enterShareMode:()=>{ae.value=!0},exitShareMode:()=>{Me()}}),(t,n)=>(B(),V(`div`,{class:`ai-chat-container`,"data-ai-size":e.size,style:ge({"--resize-main-width":ee.value,"--resize-aside-width":te.value})},[e.chatLoading?(B(),V(`div`,L$t,[Jr(ZJt)])):(B(),Wr(z(Qbe),ni({key:1,class:[`ai-chat-container-resize-layout`,{"ai-is-collapse":z(T)||z(S).length===0,"ai-is-welcome":!e.messages?.length,"is-resizing":R.value}]},d.value,{onAfterResize:Pe,onResizing:Ne}),{aside:Mn(()=>[Jr(gi,{name:`ai-aside-content`},{default:Mn(()=>[!z(T)&&z(S).length>0?(B(),V(`div`,{key:0,ref_key:`fullScreenRef`,ref:o,class:`ai-full-screen-wrapper`},[Jr(z(pxe),{active:z(w).name,class:`ai-chat-container-tab`,"label-height":40,type:`unborder-card`,onChange:De},{setting:Mn(()=>[H(`div`,R$t,[Jr(im,{class:`screen-btn`,"tippy-options":{...x.value,content:z(s)?z(Df)(`退出全屏`):z(Df)(`全屏`)}},{default:Mn(()=>[z(s)?(B(),Wr(z(YTe),{key:1,onClick:z(u)},null,8,[`onClick`])):(B(),Wr(z(JTe),{key:0,onClick:z(l)},null,8,[`onClick`]))]),_:1},8,[`tippy-options`])])]),default:Mn(()=>[(B(!0),V(Ir,null,dr(z(S),t=>(B(),Wr(z(r),{key:t.name,class:`ai-chat-container-tab-panel`,label:()=>W(`div`,{class:`ai-execution-summary-label`,onVnodeMounted:e=>{z(w).name===t.name&&Te(e.el)}},e.getSideTabRenderComponent?.(W,t,{removeCustomTab:z(O)})??[W(Ee(t.name),{class:`ai-execution-summary-icon`}),Nn(W(`span`,{class:`ai-execution-summary-label-text`},t.label??``),[[z(rm),{...x.value,text:t.label??``}]]),t.closable!==!1&&t.name!==z(`execution`)?W(z(Hf),{class:`ai-execution-close-icon`,onClick:()=>{z(O)(t.name)}}):null]),name:t.name},null,8,[`label`,`name`]))),128))]),_:1},8,[`active`]),z(w)?.name===z(`execution`)&&e.executionTabVisible!==!1?(B(),V(Ir,{key:0},[z(T)?Qr(`v-if`,!0):(B(),Wr(A$t,{key:0,"message-groups":z(re),style:{height:`calc(100% - 40px)`},onLocateMessageGroup:we,onUpdateKeyword:Oe},null,8,[`message-groups`]))],64)):z(w)?.name===z(`file-artifact`)?(B(),Wr(PYt,{key:1,"active-id":z(pe),artifacts:fe.value,style:{height:`calc(100% - 40px)`},onSelect:z(me)},null,8,[`active-id`,`artifacts`,`onSelect`])):Qr(`v-if`,!0),z(w)&&z(w).name!==z(`file-artifact`)?(B(),V(`div`,{key:z(w).name,class:`ai-chat-container-message-slot`},[(B(),Wr(lr(f.value),ni({key:z(w).name},z(w)?.data?.props),{locateButton:Mn(()=>[Jr(z(ru),{class:`ai-locate-button`,size:`small`,text:``,theme:`primary`,onClick:n[0]||=e=>we(z(w)?.data?.messageUid)},{default:Mn(()=>[Zr(ke(z(Df)(`在对话中定位`)),1)]),_:1})]),_:1},16))])):Qr(`v-if`,!0)],512)):Qr(`v-if`,!0)]),_:1})]),main:Mn(()=>[e.messages?.length?pr(t.$slots,`default`,Se(ni({key:0},{messages:e.messages,messageStatus:e.messageStatus,messageGroups:z(ne),selectedUserMessages:N.value,messageToolsStatus:e.messageToolsStatus,isShareMode:z(ae),commonTippyOptions:x.value,handleAgentAction:Ae,onAgentFeedback:e.onAgentFeedback,onInterruptResume:e.onInterruptResume,onUserAction:e.onUserAction,onUserInputConfirm:e.onUserInputConfirm,onUserShortcutConfirm:e.onUserShortcutConfirm})),()=>[e.messages?.length?(B(),Wr(y$t,{key:0,"selected-user-messages":N.value,"onUpdate:selectedUserMessages":n[1]||=e=>N.value=e,"enable-selection":z(ae),"message-groups":z(ne),"message-status":he.value,"message-tools":e.messageTools,"message-tools-status":e.messageToolsStatus,"message-tools-tippy-options":x.value,messages:e.messages,"on-agent-action":Ae,"on-agent-feedback":e.onAgentFeedback,"on-interrupt-resume":e.onInterruptResume,"on-user-action":e.onUserAction,"on-user-input-confirm":e.onUserInputConfirm,"on-user-shortcut-confirm":e.onUserShortcutConfirm,"render-mode":a.value,"update-tools":e.updateTools,"user-message-tools":e.userMessageTools,onStopStreaming:n[2]||=e=>v(`stopStreaming`)},{group:Mn(({group:e})=>[pr(t.$slots,`group`,Se(Yr({group:e})))]),default:Mn(({message:e,messageToolsStatus:n,onInterruptResume:r})=>[pr(t.$slots,`message`,Se(Yr({message:e,messageToolsStatus:n,onInterruptResume:r})))]),_:3},8,[`selected-user-messages`,`enable-selection`,`message-groups`,`message-status`,`message-tools`,`message-tools-status`,`message-tools-tippy-options`,`messages`,`on-agent-feedback`,`on-interrupt-resume`,`on-user-action`,`on-user-input-confirm`,`on-user-shortcut-confirm`,`render-mode`,`update-tools`,`user-message-tools`])):Qr(`v-if`,!0)]):(B(),V(`div`,z$t,[pr(t.$slots,`welcome`,Se(Yr({openingRemark:e.openingRemark,welcomeTitle:e.welcomeTitle})),()=>[Jr(z(owe)),H(`h2`,B$t,ke(e.welcomeTitle??z(Df)(`你好,我是小鲸`)),1),e.openingRemark?(B(),V(`div`,V$t,[Jr(RGt,{content:e.openingRemark},null,8,[`content`])])):Qr(`v-if`,!0)])])),a.value===z(Ff).Share?Qr(`v-if`,!0):(B(),V(Ir,{key:2},[z(ae)?(B(),Wr(F$t,{key:0,"is-all-selected":z(oe),loading:!1,"selected-count":N.value.length,onCancel:Me,onConfirm:je,onToggleAll:z(se)},null,8,[`is-all-selected`,`selected-count`,`onToggleAll`])):h.value?.components?.length?(B(),Wr(YOe,ni({key:1},h.value,{class:{"is-welcome-overlay":!e.messages?.length},onClose:_e,onSubmit:ve}),null,16,[`class`])):(B(),Wr(zJt,{key:2,ref_key:`chatInputRef`,ref:m,cite:g.value,"onUpdate:cite":n[3]||=e=>g.value=e,"selected-model":_.value,"onUpdate:selectedModel":n[4]||=e=>_.value=e,"menu-sources":p.value,"message-status":he.value,"model-value":e.modelValue,models:e.models,"on-send-message":Ce,"on-stop-sending":e.onStopSending,"on-upload":e.onUpload,placeholder:e.placeholder,"send-disabled-tip":z(ue),"shortcut-id":h.value?.id,shortcuts:e.shortcuts,"support-upload":e.supportUpload,"tippy-options":x.value,onDeleteFile:n[5]||=e=>v(`deleteFile`,e),onDeleteShortcut:ye,onModelChange:n[6]||=e=>v(`modelChange`,e),onSelectShortcut:be,"onUpdate:modelValue":xe},{interrupt:Mn(()=>[z(de)?(B(),Wr(z(_Xt),{key:0,interrupt:z(de),"on-resume":e.onInterruptResume},{question:Mn(({question:e,qIndex:n,answer:r,setAnswer:i,confirm:a})=>[pr(t.$slots,`interruptQuestion`,Se(Yr({question:e,qIndex:n,answer:r,setAnswer:i,confirm:a})))]),_:3},8,[`interrupt`,`on-resume`])):Qr(`v-if`,!0),z(ue)?(B(),Wr(HJt,{key:1,content:z(ue)},null,8,[`content`])):Qr(`v-if`,!0)]),_:3},8,[`cite`,`selected-model`,`menu-sources`,`message-status`,`model-value`,`models`,`on-stop-sending`,`on-upload`,`placeholder`,`send-disabled-tip`,`shortcut-id`,`shortcuts`,`support-upload`,`tippy-options`]))],64))]),_:3},16,[`class`]))],12,I$t))}}),U$t=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAAGVn0euAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAACpM19OAAAj4UlEQVR4Ae1dB4AURbqu7pnZyOICShIVBI5TDPgwR0yn5yknKigIy+5KMCJ4ohgQMGdP8BQDsAsqHsZTnnqcPlEU1DNwnnqKYATxRDIsuxO63/f91dXTMzuzzBLEd28Leqq66q+//lR/he7qVWpbh35lsYVBnHbwJpjuPqB2Be/3s9X+jH9TFnMZZwxdBkVXdhkc+02w8E8VifoVOg+Kurze/tRxuw2OuodU1tUHMlgI2GdczH1/kSPXR1847ieLE+6AC2uk0v7DoxKn8DDkt7aaMOFOtWaNq8YjXr/WVS3DupEehXHBLRWInXc/rXbV22/NU+vWOurNN+epmnWoENEV9g9WWDIjzyoOuWo9AG694xlVi/ihe55SsfUJtOAI5h5FCYnD8oufj6ryrVcLNrknHmyrkO2qSEgpx3ZUK7SAf5Y11rIIKz+mEuM/jNzgtgDdpd4l6ZCjGO99Vat68MG6v5R09/61NfVoGe/6+vITBqg2HLoJevnK3DO+61v3CXPvi7VbpVsSj8XW7b2HUsNPDamrQ3VuKXRzVlF+wYhJVj9TwRcTtT1rbBgyVyqM3BBS190VVS0i7psfRMNHLnwwT2CFpD3LYmM6trXU8lWuWvzlCrV6jaO+/GqFumpoRLUMOUfu72mZrdgdyzd1tFz3liP3sdRaGNuI84eoDYiHDhuqatdrTRvDYwWfpIMr6tzKk21VBLoLYRqFaJvxFwuiqhtaOHZsiyRJrEmbef31mIoCa3yDqxIbHOXiYr4BTmmBNxeN2PgWbOjwUtoOACklY1c9r2npU0PYX07YYrL69nXzrKJ4ncfKglnVkcOZ3nNgbNyXj0YmGBZzauCSo39yPUBHWRZ0Y/We9HrLFwwSNlZYGFuUb1l7FECxBTCqAmWPu6E6dH2DDRjfYxCZ2EatAstV/6zOt24uc1vZduKnMVW0V6VeqUwsOWFqqLOBzdiAQdyji6VuroSRaz+miJiB5j1kQlQaKYArem5yoY+n7Xnx73+YEm4vgPjxC0yGQT71ct2PCEDENthmHMIF4pF2JT3pATQEof1pYrF10sW1IsqX7ytgNQnSmzsPqluOakXIac7cy84KqR/Q74jswvLTBbBqxrPSaQcO7CP3Tz/+jJTT65ILhgPQY8jty/pWfv2WDOWkkl3s4tNtQUjJRnAxTl5oHBxFIKu3X9EcjLqtuTXzOnRqwPWfsBN+dfD9EccGZh1SWesU2Mp65sWEOvUoW5DHIY48tJxQDly/gtMHIGKKjRyw3zNg7FgOBtrpO/3rtxTMZLo/xkBygsZExrSaQogieM+05LHMdh4+7roWwy0LN03hP0cCvXq5vhVm4yqrFWWrYPL7DY5ehM55H+9tK97piarCr01Zo+J9zqkd0X1A9C5W6n5u3d6YXc4zCG4sjz9k0oyPw0zzlLL45GDeZjkYAVcNF60mvt7KMm574hs7p9TrPzB2IvrDnHxgLgBsAfxFfjjcavwUa1UKYLBlk24/zC0q3BR7Bfc90XFnLnk0r9yUpcf3VsTdfHSz86voVHTwEybDxJg7TwFspbkPxnnorEUF8fbvP1S8/Nby+DfwIhddMS08+6+D3OKTZlgbg7AZGzCOzwCOHRhSR3S31FPzHDXjpYTnMuBGLGvBq4/ky1BpYNPjeg0Ekb94M8YEz7NwRktgXptqXXXZ7THto2znlKceKH6JiNtVxh+37dAVyx6xlvKewfOD+ib4y4nbhk1KbajVVw1iIubFSvdeERG3XmRbL5p6rSNO/11Cse/MPeOUBgz1V/UPqfVEjmvjJlfVeohr0Yi5YlGFaZr2tCNH1owksnYRR7XFhCoYUhowBe1aErmrNgLx0PIKHymRDyqrUDGsQ+pQdkllnioSl+7cw7ptMDa0Cev1hMHlDZnRtSaDMSmnzC/2hktyEAYpZd5wGfXuuUThYMOxgkFTn5kDjsUyHhOwBgjqsFBrvlML3kq6DhyVlur7GKZbnHIlAFPozWYJR+rTRSQccLg08o+AmjqIIgHKrr1hiozDMn8DR3fcPAVjsQPEmH9x8Mb/QsCbQb9dXir1bNTXARvJt1VdEXJehL1TDJpSxi4oxhQaiB0o14nhQtrFxSGTdRgy6cBvgACfVucVcBzeuC6h4kBEpDE0RFHIhTzGDi4XaRfK1uN2UgdtvcUj8THU8+eg6B5Mm0bNmx9X+3a2VBtYVAKiCIEUh8pELMtJxOtWOUJ9Pohi2HtM/Tk+qtYPfS+oeRrWcQYtJN/SEyuxFpokZY58mU3gPh/3wkXY6tfr2tIn07FlbMAAjbx0o0vqfORAXIAlcSEUzOmiXGwAejBw+cr9qNtVrWQnwuBpipsksF0l0Lfcbbs1DcCud1zoNzjmWm58OeKjs1HR4TwXniR72GEMXFQRf5Bzt50xrLVS6m+j+rqF6WTuPyh6futobGV6fvC+QT8UBGwofeqp2OiDM+UQi/D3F2Y3P/i001bt7jrhb3SexXHpsednlwxMx1N9Xnzw4Cnh6mB+X0g9EY+v5KYkXJysESPKemBKdfjCIBzT24SBINJ7enw/G7uO7wPxWEw2mg1/v339LbpghbT05Zh5WnZ8acSySkk8xyq5gBAMnfeHqvDUYJWtYqDzoNizGNn0JkAQa+Z03Lat47+ojryRqfiWytgJV02NcP7uh8cqEj9hht7KKrBL+t1vbfALAolGM4B5DXeZKZycAzc7/P0H2JpOu5fPn1ogS6Zby9zdlZV4dUx1uGs60oWVsWN7TI28lp5v7nNmwEzITEUT331BSO3bKTMazskYGI15IK6+/I7EY/MEGWQihHSerapfmFxYTrgtCV4T2at2Hlh3O3rn6CDEeb+11WmHYYtFz4L8Iq8Tc74kRBsGCMCGvEmmuvTmqDDiawWMzLy/KIWWzkOjj6Pr9zfIFz9MtuuHjJkGrPPA2DPYNdMbW17mo1fVmwL6jHBzjQh5CfFkBDf01YxNGVF9vthRz74Y88yJGsETi0nFBJFw5IWYlQbCm/fn+2WBbMEZvPfTXc51m7t2LGU1MnmkNn0j+SBRJi3EAksmwrUGkkz+6zM8l3krrvfkQB40Er3zj8VcxKszR2yCM9M0u2jw6YnJ7UyfSCTqi9MrBfH/HQQ893hbllMmj6gfuf8u9e78eSZLTX/8WV/6LL9v0t1qfqD8mT/rcs2cq7p2stR7C3Sf4MYiGMgzyNpiESmjBzJkkDEFabHPALZLX4bcTkor9293b20JA5QwJckrSDwBudoykmd5kHiWc6Fk6pJBEs2FqXRozQDBJMjaxdMAirIG0iNhyYz8k5FY592mRELMx45eX8I0uZDldd3ND/twRcUlKooyvZrTK7k7bnvILy9GeRyLLC7E9AoPMRZeXFVwycKLzJjQFktIMiFXnn6KZ8qCMQVRL3QeGK2C/gYn/beW0nm/C6FD6s0JI0nCUAoSI22hnD2FwmMscF5MibNBA8t6781N9Ujn39KcIOr5CWuwoyxJ1HJV73Gl+oaFgeCbUCBPebtY5T3Koz3gqz8Udwcks16Oq95HhVR+hESAGAhMVpxAzR0JwtETcS9bd3fYL5vlJSFpQpQ1pqIiecGPNGMTKPlgJzb56XFGBgzQwqq8hScMc0vjTt0aujkCv4blMhs67pAQYpCBtDFVGaKNUbIMgWWOEKalT3gyJaWIuSDlkw/BL/lwPhBN+7C7m2O73wkSV62SOMMPquQWThu+aQEIP1QaA5HB0bRjB1vtglk7GRNzwg81YMxL5+vnJ9Qc82vwLHz9DwlNOOxMM6HUqeN3shvzQCBnBgybZRfXnI3GniBRhgkjPeb5aVTg85aUPJZT2syX2AIOzZDGpfsP02SU9SO2NXa/MS1uNO2nxwDdujBm1IZRIGgCCCrRxCYZEyKEqQBjICwMIzGM+oQDjszQTIVB1vOYJUynK/5vPOHfOmk21W6SQJMEmiTQKAmcUxE7vFEVMgBjqNhxwXGsR/HmiJk2bREhO4yBfoPjWO+6nfCOzepslHcZXNc9W5nJb3AyZ4C2ZXxmeW3XsGP/DXPWPTy8JdwjxQyvfNb00HRM//QsEIWuY41ANLyh9n92DTxdVfCFsynyK+yHck9U7azjG2dND1cHiSfRWBkMO3BwvDfT2QJmGVsZ8CZf90XRhUDUPJyX12NhlbXGYNzn3Lo/YzpzMt7JOfNfjxek7LoR5iY8IQfR114zLXSTqWPiY8pif4kotze2GNVL1ZwNZQ5ZCzKD18897dT1eOHGxYt+GlVBYbPwk09aCWz4rkNeCWugXM2erVdaQQzTKhPjK6aGxgfzmO4D4tGze8vkEPfs5TU14SLgxVPa1LDVfaDTOkhZWZdqtBDouuinI3utPslZFxPi9dIls5zauPafDDnnVLi7hZ34KBA0SmarQCU7FRCMzFiLEzXXDI4vjoTcC8ZNDb/KRQ/rZsZssDYynrjf0g4JO4QNRHc+OtfckQvbX9NIFOryisTFIdedJNNqVGZMDWAV+83GjqEu48dbXPj5YZswgLdFT8ALoIOA9Rhc7XCth2i+sFzr+ZrC8L3fP2Q1aov9wWFupCaaiAoToBD94O4hU0N/8KkOJLaYgT3PrdsXT9Q/BK6cBiLsVsxePCP/tEDbfvLWisTwMdNCD/oZSMysdNu7bmJZWFnf9JsW6hgsC6YbzUC3cza2j0ci3wJJToSbxrgCo0fBKmvmwur8ASb/lor42SjCK8bWJ0Uldk+8PVxnyuZUJlbN393eGWaTdWOoUQxgs/dy9J07TAO5xGzALB8DS05nwdR8XwC3Do6vyLdCXUcFXDBxf1jpnnvAVOuxhtqhmeUU8HzgA3iUAzIBQ7Cq8mRb7benpbp1sNRK7O99vhQbsm846gt5JpDcdeA6OWxb9rFDat2CRKz1S9NKVuDl+EPTiWc7zVw1J1N7wbycNADiq1GpLFiR6b12xztjF/uC9IsNUjLG9Cdf4TjBw9yFTmpDXCNc1YsPJt9p9RE0ImHaylqly6C6vtiSmpUOwPeiigtSc0lwMPDWXMy/c3pcLfrK8bdaZNsF+15PT+b2VmrYdYjbIeHE30Xnn7t8ap7fZ1KhchgHMj1aehabKMFgCOdzAyEYP4wZGHN/1NzPfTehnn81AW2wU3OLhVpRMx+7vyiFyC5Dk4dWMK7MXPJwZiagxOyhc1m03vzliWvDKoahhBcf9/GqwztEvOJIx7FJKjHTuGKY7sRAC6840kf9l6326ojRFS2b/R+kMbVODcXYqW7mXSWh+uUGukEGIKTjDSDjS88ICYGG8CiI5kVmgsRGQSwvEpzwyshYzGNy8BlhjKz6wYY2I1edP2LjC8G2SvA6WDPvKoamsoWsDOw5MOrNb5JV6WUo6SDhRhuUtJF8AsTyMmWSj3qOl58A7KAzI2I+NCPp0Mo9NdkSPJBIn7FSZCZbyMoA7Fqe4ZqKfMRkJBsFAeYyJqI1kNQG7yl9wwzjOI5WkXjmt9tF74vqPgAm0FHG42VV014zdOtivF7Fi8xkC1kZQIUUz3DIr/EEDg3L5Wnh3z/+pC4cUqEm3nOXL32jBcY//rhCVVRUqNvvvMsnPMjYrnhsRemTeGoi2myjr/ViDL6mD/D8VbaQ6k6yQSGfhAcDOb/sgiGStQAnwFwM9hdefJlsr/N5AMuHDx8q5TwhBpNXl43Q5XywwfK9u4XU2yvxqBVpMSPL5errFlZCx0WV7IQThsHXANzl2sBV71lZ0O6NlDUK/fv2/HkBG9fmEyx/E8fdHJiQXBAGTaoFnhppDfgDXFdTJ+iF2A+yhaAGmmcDYj41QH9PXIgQ15cOvQysQS68mMlqKYG2z1zC8FlaMSyefUBLX7bcuUyWQA+URJF1LifaM3Ugk1S7NwWM6VH4ZIVvX7JzpJO3E96UpXQlH1ymC41vzrpogeXGxEhWYDATZpAlgX1AXoA1GVlivx0nkeicBQYEw3OgcRmMIGXTEflo1YTLx9wm3oVEJgiDi49WTZhwNcuJB0x6poQXdaUD66m2ZsbAsw/440ADXsg3oa8eL/wGfYBe4F6DhLE31Kt16zGw4KUwStB0wutvmQ5z0B0SypE+QPuiVGgmf7yjSqflnoSna4BPZMx0Qo8HAJUgJiTGytt0fWsY/voa4A1eQZ4ITXREEgZjiNcNzP0Ap/jEh2s/rn28SWviKGGHFyWM2KXNk2iROmLmMR0oMwOZ54XYrAR23FzGAV8DpiI1gXSk8yC3dcSK/ttoYMVKEgWx4r8RjKyTeM8MXxOQFns77qUESa01aEhyMLcFcUamMpUAjG4HCS+Q+FxCigaCFZbMsH7kAKMRc6TEcbG3cCyLNg4J+hfmPEFps1xLmbE2K1OuIH1yQc0wzbGDEgyakaFB+oA3mdvSkRjvfFtHknCeKGMjUbzM8ekizQQJdUCIeB4QYswmJZ8Eg1kRvUPz0UzxsT6ZcPDuBPHLSAz82DrxQ8o4EFLL/YK0RFYNEO69KZG3MGtcTuKlIZjFMuzDffElvDyIE+KFEWohQBzyDJHa/j27J0PeRfNb96P3oBt4iZ/eyAR04lWcD/FqbrkHm/z0OGl06SWB+5OG1bqyMEeemcMX422SnvuG5IE0Hq2Lq+U4gfbkbX1KhmlzRDI9TdjvPo5JvaCp/n5C5pc6gCpjqNeJM0E1L84vim6qrdG2qideCdj+hwsTqrTEUp12gyuFG4Gc9XsQtHMiApHsz3InHdvcK7X0c/26Gbda9OqMDCc1wFq5BEGfC+BpmOoWh2s3pmgCDZpOzljMAMgEBvfBMuYJsYgFVspNfU08NRGynKtsJ/TUseN3WpwLXTkzYJBVXFzzAwho4zPiESSmRYbEcyFOY8T4ec1UJubABIWQyvjKvGiL9t3HW1HTfnrcaAaI4PxLag6O2O47WqqGGB2LObBDGu0gTaJ8M6EmPK+WnRlqgtqh1rDeDsWa7T+6bcpBOMMI+1qjw+RJRe9OuhevSFqJVnB9L4uXEsl53gTEa/eoGfGZAoxI2GPOeB4hVBjVBBvC89A/yORObvj1RhPZVKFJAk0SaJJAkwSaJNAkgSYJbE8JDBjgtsBEH1OVHRe2aCa348jdti3Hw/ELzh6cSHmutW1b2Dy2/7cKwBtid2O5exMWwI+eXR6VDz9sXlypELtvgx60Q7tfKjvb/45L+qLa+Fg4Hb70EtyBYuNxfMJo9J+r8v6YKyU4pVOG9eKixY/lvZ1rnXS4/3gFlJe7pQkr1s1NWMfjWMtQbPt0pBB4ModH6+qllfWVYzkTsXP7Wl048vWTD1kpxwClAn743ZySTbGlWNgv/df0vP1MfmPj/3gFZBLImIr4EMj+ITAPA5aA50DuKbdNi/w1E3x63uHYsnes2KchZeE8CR9VWZ9YdvjAuVUWto0bF34RCjjijI34YKZ1vU+6Z5mw2K9DcXX0G38p+s4vQ+LIPhtOVrb9HEw4X/I9a0aER3fW0fOeKXorCJ8pfTfO64fjic8xDnx5SVXoUPP2YybYZJ5rnVSWeATbPZXUHAdQ9ADFJ1+M8X/ck9WRJB/JillTvwgFDDpxzWoQUso9YWFDYtJM8pDnWsNmvFL6MHPKTljzBB7Nne2XMdPAMbbcp2fMaXGWZG/m5+nz3CPwBctvT59mpSg4WI2fQmvdMVZmu9YECBwH5TzBoy2mpQdA83hZU+5DklaLbVuNundaCAeBTScLYk2mfxEKGNbTjbQJ//siHDA9GRw1c1zXsW27peM4e6NngDcw59oHgZcT8EDlFrBLvqLIXohixC5PLa62HPfh8e+2nZ1kr/Epjhm2XdcmlAgfCJxHwbrPgXXvJMIOCFnf621oipjb0RRmUkHsFdZ3IP55fNNoTsgNLY5H1LIxaWPKL0IBDYnpNVjgNz8umw93g89jqUPB7MTyz3Yb3VCd7VE2Hm/fWk6iCgI+0RcyNGRTKZCi5IFAGMQsFbWHjnjMqveSSSa6dqgCOuJzPKFErB+8TD+YDx/epU8NM9GcKY8PPd4B/8/godfjfCycCWhzeTeWubsWbVKrLsvwar+pOwvnfFY3S7yKT4IeQ6F7gzAVUD1oWqjcwOUa/6wK2LOs9leWa08AcfDh0mNzpbNRcLRIPghF9CYeb4/9uCoyd3MIbocx4LtwH+DVgRXhhH346LSvIabXf7YicQXw30afj0d5fU6ZEn4uHSaXe+DYvqHLwFgvDJo416Fab8+WIAdxA/6giG5FvwxLxSVuYi3Gjf7vTS14KUjHbXAtGGt6w1ffAFCeQmL4Cou1a2wr9PqVU63vdVb93zfPS8zAGLHo8KmhG+qX5pazXRTAz4knYvFpmNWcmRsZWw5FgcurAeCEzKR8JyKlTCuEMDiUU11YmDf8pcDhBFJw6+DERbbtfsNvgvJ+c+GzSvdAwHz+66nW+s3BZivfpgroibMuazfF/hu++MRsDWbK79nVUr32t9Vhe+PzTXjVEPUzBhLLMkM002vA+oJPHDX/n476x2L9qQdt+VAMyvEVKc8dmcFSK0wU5aoFdmHBsemKQLWfLRhetrpBfEvmRojmmlwQtcNXJIecYit+5X5LQ7oyiIduiBr6+6eOmjnHUStWOvKijCyaUCaKQQx3k0yjCl4CuPy5yUUpb1YT388RSPJWhe593Wa1BfHPwPmum0N06qG2GgrBY5GyRQFykykfYxIuAmfsYTMxM5h28JLPrL/G1et/TySniiiQxRLdEy6TxmC9NhJ39noUnyf20GWMeI4ERw7+gUJ8uSQlrMLLWvsHPwKcUprlxqc5S3mD2V0H1e2FTRQS0+D08bf4ix38YyIiOLTImIECNHk6J/NvkEimteCJhEuyYGzKNB5Tj/Gzf0uo+R9AEUjrebtxSWkKse1jq+4rnKsx1P/de1gdBmW7Xf0S5jjLP30ov33mssy5hsbMpQ3k4ot+x0F8rzYAolrjz17cVBGSt3sbgksvCxJl3AphdD78vGf6Wvgm34sBZOqnx7U4D/jgo1G1Bp+BpOWzBxBGjxlUjB4foNZeD08qfD2dLt4fdH4dVt0aM1foTDNmYPrdB/TfD5CMHH4MjTmAJkG6nFvTwbXDXyOH0+2MoXN7S/Ej4Y0JJEYIwo8mTAuIOPx88Orx78Hoew1v6jUcz3gqqpb/QGFrgcuADATY1cQ/GR/iiTxn18l3ltRb0B17Ib4j5jWmoXmrM6iI1+5v3Bm+nF6wTBcihD8DeVmly8OIo/D3L9IPqJBM7TA0RqbpErgJRyY8NjwL9/mUfI/nFOH7ecDBtK8Y3HCgJQa6G/o5bbUa54A+EfXs7Jhatky7IYIEZ07YuwnnRa2nkH00rpTA9+eTlGp8ehORYLonpFTYzE2jh0PtelSvbHgphDLslvBsFs9imZjpOi+PMS++t89zW3xnn2ex5NAZ3k/Wx/uQx/zghTJzyoJ1dZnGo48K6jTfvuW9/ya61DNnAuCpgfPEY3DqDtybNxP51qG8eYheIW8jhtRR+ExVyt/iIs98+5wvcPPiQTYTywk95DU2NL4HWO6QhhR98kG2yseXEdOtn4TR0hholatW/aTGXTlKbdyQuoYpblaibrr9HtWqpV6UGgthXW3h2gJZf/Toy+rVb4b6d995t9oZ9dkOJkK6F7BhyIc46GZI44E9Quqjf3Bg1j2BbckFGIlthw/s57CqCTz+iKdlEihu0mXEznRjg4eqEdVcdVhD0Lvtog82meOSJvYtWSxcqRuuGV1PeMRLhYy/erT0ClqwtnTPsr3ewvyrr7oiY/0NqH8lysx5DMZx9Aj2CjkF4+FgL2iDz0On9wDpFRCy7h32Mem80gWZHsDzF0z7Bwu3RQ/AeaWv0GjH9IZzvW+Nl/yN9XNyoH2wthTjo5m3ds3qrCjXoIyCF2sFDm21AWtGHmGyhdWrV8sRDG3xADZ0oAKt1OArxV9BoqBphRwD2DMkDQK9wbjelFLOUAFfpmBmR5nKsuVlcEH8WzXundkqbC5/FQ6V7cyPvXgMYZ0gzJBxBjJIt7C5QMv1FQhg1qer0C7FYMuOheMKDFkWfZydUGZUfHrMt8nrT0mNS3LhqFKDPnWUrf1cOEvFR3mkhCUzIncB/eMpmTnekKxlK+iC6DI4COJvZiE27kcPtvr+gIOOyor1wIOPkh7Ak008niinoBDzyKO4FqQPAUy2cNghR8qBOgeno+iuzAkpcxiJdOiDeMlX+vkqf3AglrR039RWxN3ADWlXhHPN4pLM4exU2FzusqlS7VlWNwAPuB/LFYnZZ2mPBXq/XtgERj9nN2YD5iIuwxPz1q1doWY/N0Mt+eJjFqkuXfdRv+8zSLUs3dl3E6auxPhJ3rtq9dqV6qmnZ6jPF+n6v/5Vd3XOmWWo3yq1vldPWxutm1hAG7rDvDlR6ZWkSy7ks9ykL7k19dtNVWPxV9y8oDkkj8RHjK4qvyH51908sAYjXbMBkM5ldXwA/iBw75QORoYMobKnAo6YdzR2NvfaA2UB0gzTLDeNsi7TcgXSzNdzd42DrEkesrUQk3WC+aYe26LyGUy5aSf9/p3/ierNORRo2rRL8sYAZT5TLMjw89Q4fK5YFEgSOU4Bkr7SC2dt65NuS6bn82EKL9VpwKY9LDt0Os5U9Uezh/gbWSjjBpth4J2PcAIOfwOoDV59Ja3Mp3WIXPFjhKEztJAoGPLBP7BHdgwMDyczzTzioZeVaaAHxLPtUo6G8Lk0D1bHxCnwqCMB9wa3pFCHc34svAKDsFY22+KYkx64DtAjEWmkmvQoRzhNeXqNhu8zDMLZK3hnie8FxL3dB9dNA/HlevagiTVpxq+966gj8OeHO+DbEJppMOZJmRH+S6CCKCTDKhlnGfNZk72I/8XKdFLxoCiScglKpImBeRKzMu71e88QkxRo8Zh2BBTKxd83kHpUhKGLZ9SEDo1QQM0PzzGn9gCPNgDodgxkbnGjFBBE+Ul1fsWB5bV7gvqjzSyCDGjLQYzEe/9MqG9b2OrQ/bRP5clbwiCSmII3TBuGtcVSmPyH4PUAMifwQgQQeEI2eRS2EQBFzbTpUewlgh91+f4KlWNguQ4Qny8xe4K2a21MKeqSlnn6l/UzhizZGWG9TNK1xeG9qoJjMFuYLIsZYNInH71DhsDKE5Fr8aep58xLqK+/Q2f1FkFyEB1pakIOoyOW49MyY2EaLFJLkK5MR5lmnl+OviFpNMJ8agGxzHI4w/HSrE84gSEcLrZpMQZc3UZHaNQHHfU3RPgn2/SWBGdF7IO6H6GGBMyCZpqFV3pcElYzDVyuMc1hq0OvIXVnwV8+qZf0tHZt6VwY0r9yY8xYWUtMEvbqHFIR/MkbWj/E4lkd4HBnegTT4oJokahPixVrQexbJ2RjdjSJh+W8fFiDD3RIHuoGcS5bFFdxbG5qGtl2kk7jTvtcjw+9sxsGwtLbVnYIh9TtyOrFdoF1LvaeruhwZaulAbCckuRzm4Tx+Kbou9/XPYlB9AwjCApTLiMc3qM15pHBEpzW3Q2PNpqXMDcgQA+GhBGW7BsB0q+IcJChFUuh6ktgpQ4Uxhi/FCplZJTC/GiNo376Fr6cikUhnoYB1msfAEEafzeucV/aB/pGBdKzTUPfivW7OPmRl6CInsIcWmAjZMpYrhkzmE/rE4YJg4xm+FM5zfENgQKsQcPoJXnwBxGMVDzNLo8yIUxjnYIXP75VCw4tfFMm7iyOP+JY46oaPIjh31RkO7pN0/u0Uv38QPlJ40rReVN7AJrZZoF0bqfgWgMu2nQLxqwrjTBoZWaQEwGgIFUpWpgGhmVaKNo10GKTCjMWq63XWDHbSsGJDKnH2GufbVOmHE9ThM720mg0yjY48UrLGiB6BXB/sWO1zxw4vnF/iCxd2KR3u4fykatLw4m8m8HwcDFkj1EzLlAIRujiCuAvjIUGy9KFEbz3BUlXIvg9KxfcWvimPdOWESpdlVas7j1GMb7CDL2QlOA2+BnDKODmPsSHZXp33ZFjQGO0OGLExp6Ya18EIfcH4/IMj8IQy/St1BMk8ikQ42a0gjzhIp+CkzIKEbBaaIwJwx6TqkxRrNdWUtnJtpLlyCN+GkMK3tReLOWe0kHLqE6jW+V8xAnohU7GOzzw4/bdO9QcELLdY7DSwqMSaxf4/J0hfHyr0N0FwigUJXHwxVQRjLsUkBE40m7SOkVIWERDiFSAWKkuFyXRlbE+3BAV5Slf18e9pzhdXyuL31GTb6kBFjVdfY/miQO4OMYTz6rdRrdqhWRTaJJAkwSaJNAkgSYJNEmgSQJNEmhQAv8Lix8k/gNx6O4AAAAASUVORK5CYII=`,W$t={class:`left-section`},G$t={class:`logo`},K$t=[`src`],q$t={key:0,class:`rename-tooltip`},J$t={class:`rename-content`},Y$t={key:0,class:`tippy-dropdown-menu`},X$t={key:1,class:`bkai-icon bkai-auto-refresh-line`},Z$t={class:`right-section`},Q$t={key:4,"aria-hidden":`true`,class:`header-toolbar-divider`},$$t=Ni(Qn({__name:`index`,props:{agentName:{default:``},asideCollapsed:{type:Boolean,default:!0},autoGenerateLoading:{type:Boolean},draggable:{type:Boolean,default:!0},enableChatSession:{type:Boolean,default:!0},hasPermission:{type:Boolean,default:!0},hasSessionContents:{type:Boolean},isCompressionHeight:{type:Boolean,default:!1},renderMode:{default:Ff.Chat},selectedLlmCode:{default:void 0},sessionBusinessManager:{default:void 0},sessionName:{default:``},showAsideToggle:{type:Boolean,default:!0},showCompressionIcon:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},title:{default:``},chatGroup:{default:()=>({enabled:!1,staff:[],username:``})},dropdownMenuConfig:{default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!1})}},emits:[`auto-generate-name`,`close`,`help-click`,`history-click`,`history-session-delete`,`history-session-rename`,`history-session-switch`,`new-chat`,`new-chat-created`,`rename`,`share`,`toggle-aside`,`toggle-compression`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=Qn({name:`AsideToggleIcon`,setup(){return()=>Xr(aEe)}}),o=gxe,s=sn(null),l=sn(null),u=$n(`moreMenuTippyRef`),d=sn(!1),f=sn(``),p=sn(null),m=sn(!1),h=()=>document.querySelector(`.ai-blueking-panel`)||document.body,g=null,_=()=>{!l.value||!r.sessionBusinessManager||(g=BCe({triggerRef:l,sessionBusinessManager:r.sessionBusinessManager,onSessionSwitch:e=>i(`history-session-switch`,e),onSessionDelete:e=>i(`history-session-delete`,e),onSessionRename:(e,t)=>i(`history-session-rename`,e,t)}))},v=U(()=>r.hasPermission?r.enableChatSession?r.title||`${r.agentName||``}-${r.sessionName||``}`:r.agentName:cf(`无智能体使用权限`)),y=U(()=>r.isCompressionHeight?`bkai-morenchicun`:`bkai-yasuo`),b=U(()=>r.isCompressionHeight?cf(`恢复默认尺寸`):cf(`缩小高度`)),x=U(()=>r.hasPermission),S=e=>x.value?e:cf(`暂无使用权限`),C=()=>({cursor:x.value?`pointer`:`not-allowed`}),w=sn(!1),T=async()=>{if(!w.value){w.value=!0;try{if(r.sessionBusinessManager)try{let e=await r.sessionBusinessManager.createNewSession({model:r.selectedLlmCode});e&&i(`new-chat-created`,{sessionCode:e.sessionCode,sessionName:e.sessionName,createdAt:e.createdAt})}catch(e){console.error(`Failed to create new session:`,e),ud({theme:`error`,message:cf(`创建会话失败`)})}i(`new-chat`)}finally{w.value=!1}}},E=e=>{e.stopPropagation(),r.sessionBusinessManager?(g||_(),g&&g.handleTriggerClick(e)):i(`history-click`,e)},D=()=>{i(`help-click`)},O=e=>{e.stopPropagation(),g&&g.isVisible()&&g.hide(),u.value&&(m.value?u.value.hide():u.value.show())},k=()=>{u.value?.hide(),M()},A=()=>{!r.hasSessionContents||r.autoGenerateLoading||i(`auto-generate-name`)},j=()=>{r.hasSessionContents&&(u.value?.hide(),i(`share`))},M=()=>{document.removeEventListener(`click`,I),f.value=r.sessionName||``,d.value=!0,setTimeout(()=>{document.addEventListener(`click`,I)},100),setTimeout(()=>{if(p.value)try{let e=p.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus rename input:`,e)}},100)},N=()=>{let e=f.value.trim();if(!e){P();return}i(`rename`,e),d.value=!1,f.value=``},P=()=>{d.value=!1,f.value=``},F=(e,t)=>{f.value=e,t.key===`Enter`?N():t.key===`Escape`&&P()},I=e=>{if(!d.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&P()};return Ln(()=>r.autoGenerateLoading,(e,t)=>{t&&!e&&m.value&&u.value?.hide()}),or(()=>{r.sessionBusinessManager&&_(),document.addEventListener(`click`,I)}),sr(()=>{g&&=(g.destroy(),null),document.removeEventListener(`click`,I)}),t({headerRef:s,historyIconRef:l}),(t,n)=>(B(),V(`div`,{ref_key:`headerRef`,ref:s,class:xe([`ai-header drag-handle`,{draggable:r.draggable,"is-aside-expanded":!r.asideCollapsed}])},[H(`div`,W$t,[H(`div`,G$t,[H(`img`,{alt:`logo`,src:z(U$t)},null,8,K$t)]),H(`div`,{class:xe([`title`,{"title-with-tooltip":d.value}])},[Zr(ke(v.value)+` `,1),Qr(` 重命名 tooltip 直接绑定在 title 上 `),d.value?(B(),V(`div`,q$t,[H(`div`,J$t,[Jr(z(mu),{ref_key:`renameInputRef`,ref:p,modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,class:`rename-input`,placeholder:z(cf)(`请输入新的会话名称`),onKeyup:F},null,8,[`modelValue`,`placeholder`]),H(`div`,{class:`rename-buttons`},[H(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:N}),H(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:P})])])])):Qr(`v-if`,!0)],2),Qr(` 更多图标下拉菜单 - 使用 vue-tippy `),r.showMoreIcon&&x.value?(B(),Wr(z(Vp),{key:0,ref_key:`moreMenuTippyRef`,ref:u,"append-to":h,arrow:!1,interactive:``,offset:[0,4],placement:`bottom-start`,theme:`ai-blueking-light more-menu-light light`,trigger:`manual`,onHidden:n[1]||=e=>m.value=!1,onShown:n[2]||=e=>m.value=!0},{content:Mn(()=>[m.value?(B(),V(`div`,Y$t,[r.dropdownMenuConfig?.showRename?(B(),V(`div`,{key:0,class:`tippy-menu-item`,onClick:k},[n[8]||=H(`i`,{class:`bkai-icon bkai-bianji`},null,-1),H(`span`,null,ke(z(cf)(`重命名`)),1)])):Qr(`v-if`,!0),r.dropdownMenuConfig?.showAutoGenerate?Nn((B(),V(`div`,{key:1,class:xe([`tippy-menu-item`,{disabled:!r.hasSessionContents||r.autoGenerateLoading}]),onClick:A},[r.autoGenerateLoading?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`i`,X$t)),H(`span`,null,ke(z(cf)(`自动生成命名`)),1)],2)),[[z(Hp),{content:r.hasSessionContents?``:z(cf)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:h}]]):Qr(`v-if`,!0),r.dropdownMenuConfig?.showShare&&r.renderMode!==z(Ff).Test?Nn((B(),V(`div`,{key:2,class:xe([`tippy-menu-item`,{disabled:!r.hasSessionContents}]),onClick:j},[n[9]||=H(`i`,{class:`bkai-icon bkai-fenxiang`},null,-1),H(`span`,null,ke(z(cf)(`分享会话`)),1)],2)),[[z(Hp),{content:r.hasSessionContents?``:z(cf)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:h}]]):Qr(`v-if`,!0)])):Qr(`v-if`,!0)]),default:Mn(()=>[H(`span`,{class:`bkai-icon bkai-more`,onClick:O})]),_:1},512)):Qr(`v-if`,!0)]),pr(t.$slots,`headerLeft`,{},void 0,!0),H(`div`,Z$t,[Qr(` 新增会话按钮 `),r.showNewChatIcon&&e.enableChatSession!==!1?Nn((B(),V(`i`,{key:0,class:xe([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!x.value||w.value||!e.hasSessionContents}]),style:ge(C()),onClick:n[3]||=t=>x.value&&!w.value&&e.hasSessionContents?T():void 0},null,6)),[[z(o),{content:w.value?z(cf)(`正在创建会话...`):e.hasSessionContents?S(z(cf)(`新增会话`)):z(cf)(`当前已是新会话`),boundary:`parent`}]]):Qr(`v-if`,!0),Qr(` 历史会话按钮 `),r.showHistoryIcon&&e.enableChatSession!==!1?Nn((B(),V(`i`,{key:1,ref_key:`historyIconRef`,ref:l,class:xe([`bkai-icon`,`bkai-history`,{disabled:!x.value}]),style:ge(C()),onClick:n[4]||=e=>x.value?E(e):void 0},null,6)),[[z(o),{content:S(z(cf)(`历史会话`)),boundary:`parent`}]]):Qr(`v-if`,!0),e.chatGroup?.enabled?Nn((B(),V(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:D},null,512)),[[z(o),{content:z(cf)(`转人工`),boundary:`parent`}]]):Qr(`v-if`,!0),r.showCompressionIcon?Nn((B(),V(`i`,{key:3,class:xe([`bkai-icon`,y.value]),onClick:n[5]||=e=>i(`toggle-compression`)},null,2)),[[z(o),{content:b.value,boundary:`parent`}]]):Qr(`v-if`,!0),Nn(H(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:n[6]||=e=>i(`close`)},null,512),[[z(o),{content:z(cf)(`关闭`),boundary:`parent`}]]),Qr(` 设计稿:关闭与侧栏展开之间有竖线分隔 `),r.showAsideToggle?(B(),V(`span`,Q$t)):Qr(`v-if`,!0),r.showAsideToggle?Nn((B(),V(`span`,{key:5,class:`bkai-icon aside-toggle`,onClick:n[7]||=Ai(e=>i(`toggle-aside`),[`stop`])},[Jr(z(a))])),[[z(o),{content:r.asideCollapsed?z(cf)(`展开侧栏`):z(cf)(`收起侧栏`),boundary:`parent`}]]):Qr(`v-if`,!0)])],2))}}),[[`__scopeId`,`data-v-03aace06`]]);function e1t(e){let t=sf(e);fetch(t,{method:`GET`,credentials:`include`}).catch(()=>{})}async function t1t(e,t={}){let{enableModelSelect:n=!0}=t,r=[e.agent.getAgentInfo(),e.session.getSessions()];n&&typeof e.agent.getLlms==`function`&&r.push(e.agent.getLlms().catch(e=>{console.error(`[runAgentBootstrap] Failed to load models:`,e)})),await Promise.all(r);let i=e.agent.info.value?.saasUrl;i&&e1t(i)}var n1t=class extends Error{constructor(e=`当前没有可用模型,无法创建会话`){super(e),this.name=`ModelUnavailableError`}},W9=class{_isLoading;_models;_selectedLlmCode;_selectedModelName;_selectedModelSupportsVision;agentModule;config;loadPromise=null;pendingPersist=new Map;sessionModule;defaultModelCode(){let e=this._models.value;return(e.find(e=>e.property?.default)??e[0])?.llm_code}hasValidSelection(){let e=this._selectedLlmCode.value;return!!e&&this._models.value.some(t=>t.llm_code===e)}isSessionPending(){return this.sessionModule!=null&&this.sessionModule.current?.value==null}constructor(e,t=null,n={}){this.agentModule=e,this.sessionModule=t,this.config=n,this._models=sn([]),this._selectedLlmCode=sn(void 0),this._isLoading=sn(!1),this._selectedModelName=U(()=>{let e=this._selectedLlmCode.value;return e?this._models.value.find(t=>t.llm_code===e)?.llm_name??``:``}),this._selectedModelSupportsVision=U(()=>{let e=this._selectedLlmCode.value;return e?!!this._models.value.find(t=>t.llm_code===e)?.property?.support_vision:!1}),this.enabled&&this.sessionModule&&Ln(()=>this.sessionModule.current?.value?.sessionCode,()=>{this.applySessionModel(this.sessionModule.current?.value?.model)})}get enabled(){return this.config.enabled!==!1}get isLoading(){return this._isLoading}get models(){return this._models}get selectedLlmCode(){return this._selectedLlmCode}get selectedModelName(){return this._selectedModelName}get selectedModelSupportsVision(){return this._selectedModelSupportsVision}applySessionModel(e){let t=this._models.value;if(t.length===0){this._selectedLlmCode.value=void 0;return}if(!this.isSessionPending()){if(e&&t.some(t=>t.llm_code===e)){this._selectedLlmCode.value=e;return}this.hasValidSelection()||(this._selectedLlmCode.value=this.defaultModelCode())}}ensureLoaded(){return!this.enabled||this._models.value.length>0?Promise.resolve():(this.loadPromise||=this.loadModels().finally(()=>{this.loadPromise=null}),this.loadPromise)}async loadModels(e={}){this._isLoading.value=!0;try{let t=this.agentModule?.models?.value;if(!e.force&&Array.isArray(t)&&t.length>0)this._models.value=[...t];else if(typeof this.agentModule?.getLlms==`function`){let e=await this.agentModule.getLlms();this._models.value=Array.isArray(e)?e:[]}else this._models.value=[];this.applySessionModel(this.sessionModule?.current?.value?.model)}catch(e){console.error(`[ModelSelectionManager] Failed to load models:`,e),this._models.value=[],this._selectedLlmCode.value=void 0}finally{this._isLoading.value=!1}}async persistSessionModel(e,t){let n=t??this.sessionModule?.current?.value;if(!n?.sessionCode||!e||n.model===e)return;let{sessionCode:r}=n,i=this.pendingPersist.get(r);if(i?.llmCode===e)return i.promise;let a=Promise.resolve(this.sessionModule.updateSession({...n,model:e})).then(()=>void 0).finally(()=>{this.pendingPersist.get(r)?.promise===a&&this.pendingPersist.delete(r)});return this.pendingPersist.set(r,{llmCode:e,promise:a}),a}resolveModelForSession(e){if(!this.enabled)return e;let t=this._models.value;if(t.length===0)throw new n1t;return e&&t.some(t=>t.llm_code===e)?e:this.hasValidSelection()?this._selectedLlmCode.value:this.defaultModelCode()}setModels(e){this._models.value=e,this.applySessionModel(this.sessionModule?.current?.value?.model)}setSelectedModel(e){this._selectedLlmCode.value=e?.llm_code}setSelectedModelByName(e){if(!e){this._selectedLlmCode.value=void 0;return}this._selectedLlmCode.value=this._models.value.find(t=>t.llm_name===e)?.llm_code}},r1t=class{_isGenerating;_isStopLoading;agentModule;config;eventEmitter;messageModule;modelSelection;sessionModule;persistSelection(e){this.modelSelection.persistSessionModel(e).catch(e=>{console.error(`[ChatBusinessManager] Failed to persist session model:`,e),this.emit(`chat-error`,{action:`persistSessionModel`,error:e})})}resolveChatModel(e){return(e??this.modelSelection.selectedLlmCode.value)||void 0}autoRenameSessionIfNeeded(e){let t=this.sessionModule;if(!t||this.messageModule.list.value.length!==1)return;let n=t.renameSession(e);n&&n.then(n=>{let r=t.list.value.find(t=>t.sessionCode===e)??(t.current?.value?.sessionCode===e?t.current.value:null),i=n?.sessionName??r?.sessionName;i&&this.config.onSessionRenamed?.(i,e)}).catch(e=>{console.error(`[ChatBusinessManager] Auto rename session failed:`,e)})}emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t,n=null,r=null,i={},a){this.agentModule=e,this.messageModule=t,this.sessionModule=n,this.eventEmitter=r,this.config=i,this.modelSelection=a??new W9(e,n),this._isGenerating=sn(!1),this._isStopLoading=sn(!1)}get isGenerating(){return this._isGenerating}get isStopLoading(){return this._isStopLoading}get isMessagesLoading(){return this.messageModule.isListLoading}get models(){return this.modelSelection.models}get isModelsLoading(){return this.modelSelection.isLoading}get selectedLlmCode(){return this.modelSelection.selectedLlmCode}get selectedModelName(){return this.modelSelection.selectedModelName}get selectedModelSupportsVision(){return this.modelSelection.selectedModelSupportsVision}get messages(){return this.messageModule.list}async ensureModelsLoaded(){return this.modelSelection.ensureLoaded()}async loadModels(e={}){return this.modelSelection.loadModels(e)}setModels(e){this.modelSelection.setModels(e)}setSelectedModelByName(e){this.modelSelection.setSelectedModelByName(e),this.persistSelection(this.modelSelection.selectedLlmCode.value)}setSelectedModel(e){this.modelSelection.setSelectedModel(e),this.persistSelection(this.modelSelection.selectedLlmCode.value)}get openingRemark(){return this.config.openingRemark||``}get predefinedQuestions(){return this.config.predefinedQuestions||[]}async batchDeleteMessages(e){try{await this.messageModule.deleteMessages(e);let t=e.map(e=>e.id).filter(Boolean);this.emit(`messages-batch-deleted`,{messageIds:t})}catch(e){throw console.error(`Failed to batch delete messages:`,e),this.emit(`chat-error`,{action:`batch-delete-messages`,error:e}),e}}async deleteMessage(e){try{await this.messageModule.deleteMessages([e]),this.emit(`message-deleted`,{messageId:e.id})}catch(e){throw console.error(`Failed to delete message:`,e),this.emit(`chat-error`,{action:`delete-message`,error:e}),e}}handleStreamEnd(){this._isGenerating.value=!1,this.emit(`receive-end`,{})}handleStreamError(e){this._isGenerating.value=!1,this.emit(`receive-error`,{error:e})}handleStreamStart(){this._isGenerating.value=!0,this.emit(`receive-start`,{})}async regenerateFromAIMessages(e,t){try{if(!e||e.length===0)throw Error(`No AI messages provided`);let n=this.messages.value,r=of(n,e[0]);if(!r)throw Error(`No user message found before AI messages`);let i=r.id;if(i===void 0)throw Error(`User message has no id`);await this.regenerateMessage(String(i),t)}catch(e){throw console.error(`Failed to regenerate from AI messages:`,e),this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async regenerateMessage(e,t){try{let n=this.messages.value,r=n.findIndex(t=>String(t.id)===e);if(r===-1)throw Error(`Message not found: ${e}`);let i=n[r];if(i.role!==zd.User)throw Error(`Can only regenerate from user messages`);let a=n.slice(r),o=typeof i.content==`string`?i.content:JSON.stringify(i.content),s=i.property;this._isGenerating.value=!0;let l=this.messageModule.deleteMessages(a);this.agentModule.chat(o,t,void 0,void 0,s,this.resolveChatModel()),this.emit(`chat-regenerate`,{messageId:e}),l.catch(e=>{console.error(`[regenerateMessage] Delete API error:`,e)})}catch(e){throw console.error(`Failed to regenerate message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async resendMessageWithProperty(e,t,n,r){try{let i=this.messages.value,a=i.findIndex(t=>String(t.id)===e);if(a===-1)throw Error(`Message not found: ${e}`);if(i[a].role!==zd.User)throw Error(`Can only resend user messages`);let o=i.slice(a);this._isGenerating.value=!0;let s=this.messageModule.deleteMessages(o);this.agentModule.chat(n,t,void 0,void 0,r,this.resolveChatModel()),this.emit(`chat-resend`,{messageId:e}),s.catch(e=>{console.error(`[resendMessageWithProperty] Delete API error:`,e)})}catch(e){throw console.error(`Failed to resend message with property:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`resend`,error:e}),e}}async retryMessage(e){try{console.warn(`retryMessage not implemented yet`),this.emit(`chat-retry`,{messageId:e})}catch(e){throw console.error(`Failed to retry message:`,e),this.emit(`chat-error`,{action:`retry`,error:e}),e}}async sendMessage(e,t,n={}){try{if(!t)throw Error(`No active session. Please create or select a session first.`);this._isGenerating.value=!0,this.emit(`send-message`,{content:e}),await this.agentModule.chat(e,t,void 0,void 0,n.property,this.resolveChatModel(n.model)),this.autoRenameSessionIfNeeded(t)}catch(e){throw console.error(`Failed to send message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`send`,error:e}),e}}async stopGeneration(){let e=this.sessionModule?.current?.value?.sessionCode??``;this._isStopLoading.value=!0;try{await this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){throw console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e}),e}finally{this._isStopLoading.value=!1}}},i1t=class{agentModule;config;eventEmitter;messageModule;modelSelection;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}async resolveSessionModel(e){return await this.modelSelection.ensureLoaded(),this.modelSelection.resolveModelForSession(e)}constructor(e,t=null,n=null,r={},i=null,a){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r,this.messageModule=i,this.modelSelection=a??new W9(t,e,{enabled:!1})}get currentSession(){return this.sessionModule.current}get isCreateLoading(){return this.sessionModule.isCreateLoading}get isCurrentLoading(){return this.sessionModule.isCurrentLoading}get isDeleteLoading(){return this.sessionModule.isDeleteLoading}get isListLoading(){return this.sessionModule.isListLoading}get isLoadingMore(){return this.sessionModule.isLoadingMore}get isUpdateLoading(){return this.sessionModule.isUpdateLoading}get hasMoreSessions(){return this.sessionModule.hasMore}get sessionCount(){return this.sessionModule.count}get sessionList(){return this.sessionModule.list}async createNewSession(e){let t=this.currentSession.value;if(t?.sessionCode&&this.isCurrentSessionEmpty(t))return null;await this.loadSessions();let n=this.sessionList.value;if(n.length>0){let r=n[0];if(r.sessionCode===t?.sessionCode?this.isCurrentSessionEmpty(r):this.isSessionEmpty(r))return await this.modelSelection.persistSessionModel(await this.resolveSessionModel(e?.model),r),await this.switchSession(r.sessionCode,{loadMessages:!1}),null}return await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode(),model:e?.model}),this.sessionModule.current.value}generateSessionCode(){return`new_session_${Date.now()}`}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t=await this.resolveSessionModel(e.model),n={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1,...t?{model:t}:{},sessionProperty:{labels:e.labels}};await this.sessionModule.createSession(n);let r=this.agentModule?.info?.value;r&&this.agentModule?.handleRole(r,n.sessionCode),this.emit(`session-created`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to create session:`,e),this.emit(`session-error`,{action:`create`,error:e}),e}}async deleteSession(e){try{await this.sessionModule.deleteSession(e),this.emit(`session-deleted`,{sessionCode:e})}catch(e){throw console.error(`Failed to delete session:`,e),this.emit(`session-error`,{action:`delete`,error:e}),e}}async getSession(e){try{await this.sessionModule.getSession(e)}catch(e){throw console.error(`Failed to get session:`,e),this.emit(`session-error`,{action:`get`,error:e}),e}}isSessionEmpty(e){let t=this.findSession(e.sessionCode)?.sessionContentCount??e.sessionContentCount;return t==null?!1:t===0}isCurrentSessionEmpty(e){return this.messageModule&&ASe(this.messageModule.list.value)?!1:this.isSessionEmpty(e)}findSession(e){return this.sessionList.value.find(t=>t.sessionCode===e)}async loadRecentSession(e){try{if(this.currentSession.value?.sessionCode)return;e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){let e=this.findSession(this.config.initialSessionCode);await this.switchSession(this.config.initialSessionCode,{loadMessages:e?!this.isSessionEmpty(e):!0});return}if(t.length>0){let n=t[0],r=(n.sessionContentCount??0)>0,i=e?.alwaysCreateNewSession??this.config.alwaysCreateNewSession??!1;r||i?await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()}):await this.switchSession(n.sessionCode,{loadMessages:!1});return}await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()})}catch(e){throw console.error(`Failed to load recent session:`,e),e}}async loadSessions(){try{await this.sessionModule.getSessions(),this.emit(`sessions-loaded`,{sessions:this.sessionList.value})}catch(e){throw console.error(`Failed to load sessions:`,e),this.emit(`session-error`,{action:`load`,error:e}),e}}async loadMoreSessions(){try{await this.sessionModule.loadMoreSessions()}catch(e){throw console.error(`Failed to load more sessions:`,e),this.emit(`session-error`,{action:`loadMore`,error:e}),e}}async switchSession(e,t){try{await this.sessionModule.chooseSession(e,t),this.emit(`session-switched`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to switch session:`,e),this.emit(`session-error`,{action:`switch`,error:e}),e}}async updateSessionName(e,t){try{let n=this.sessionList.value.find(t=>t.sessionCode===e);if(!n)throw Error(`Session not found: ${e}`);await this.sessionModule.updateSession({...n,sessionName:t}),this.emit(`session-updated`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to update session name:`,e),this.emit(`session-error`,{action:`update`,error:e}),e}}},a1t=class{messageModule;sessionModule;constructor(e,t){this.messageModule=e,this.sessionModule=t}async shareMessages(e){if(e.length===0)throw Error(`No messages to share`);let t=this.sessionModule.current?.value?.sessionCode;if(!t)throw Error(`No active session`);let n=await this.messageModule.shareMessages(t,e);if(!n)throw Error(`Share failed: no result returned`);return{shareUrl:`${n.share_page}share-page/${n.share_token}`,userMessageIds:e.map(e=>String(e.id))}}},o1t=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,t=[]){this._propsShortcuts=sn(t),this._agentShortcuts=sn([]),this.eventEmitter=e,this._effectiveShortcuts=U(()=>this._propsShortcuts.value.length>0?this._propsShortcuts.value:this._agentShortcuts.value.length>0?this._agentShortcuts.value:[])}get count(){return this._effectiveShortcuts.value.length}get effectiveShortcuts(){return this._effectiveShortcuts}get hasShortcuts(){return this._effectiveShortcuts.value.length>0}get shortcuts(){return this._effectiveShortcuts}addShortcut(e){this._propsShortcuts.value.push(e)}clear(){this._propsShortcuts.value=[],this._agentShortcuts.value=[]}filterByTextLength(e,t){return!e||e.length>t?[]:this._effectiveShortcuts.value}filterShortcuts(e,t){return t?this._effectiveShortcuts.value.filter(n=>t(n,e)):this._effectiveShortcuts.value}getShortcutById(e){return this._effectiveShortcuts.value.find(t=>t.id===e)}handleShortcutClick(e,t,n=`main`){this.emit(`shortcut-click`,{shortcut:e,selectedText:t,source:n})}limitShortcuts(e){return this._effectiveShortcuts.value.slice(0,e)}removeShortcut(e){this._propsShortcuts.value=this._propsShortcuts.value.filter(t=>t.id!==e)}setAgentShortcuts(e){this._agentShortcuts.value=e}setShortcuts(e){this._propsShortcuts.value=e}},s1t=class{_isCompressed;_isDraggingOrResizing;_nimbusMinimized;_panelVisible;_positionAndSize;cleanupFunctions;config;containerRef=null;debugMode;listeners;onceListeners;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=sn(e.initialPanelVisible??!1),this._nimbusMinimized=sn(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=sn(!1),this._isCompressed=sn(!1),this._positionAndSize=sn({x:0,y:0,width:400,height:window.innerHeight})}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),expandForSidePanel:this.expandForSidePanel.bind(this),collapseSidePanel:this.collapseSidePanel.bind(this),abortSidePanelSequence:this.abortSidePanelSequence.bind(this),positionAndSize:U(()=>this.containerRef?.positionAndSize?.value??this._positionAndSize.value),isCompressed:U(()=>this._isCompressed.value),isSidePanelExpanded:U(()=>this.containerRef?.isSidePanelExpanded?.value??!1)}}get isCompressed(){return this._isCompressed}get isDraggingOrResizing(){return this._isDraggingOrResizing}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:U(()=>this._nimbusMinimized.value)}}get nimbusMinimized(){return this._nimbusMinimized}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:U(()=>this._panelVisible.value)}}get panelVisible(){return this._panelVisible}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}abortSidePanelSequence(){this.containerRef?.abortSidePanelSequence?.()}collapseSidePanel(e){return this.containerRef?.collapseSidePanel?this.containerRef.collapseSidePanel(e):(e?.onBeforeSizeChange?.(),Promise.resolve())}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}emit(e,t){this.debugMode&&console.debug(`[ComponentManager] Emitting "${e}"`,t);let n=this.listeners.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in listener for "${e}":`,t)}});let r=this.onceListeners.get(e);if(r&&r.size>0){let n=Array.from(r);this.onceListeners.delete(e),n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in once listener for "${e}":`,t)}})}}emitInternal(e,t){this.emit(e,t)}expandForSidePanel(e,t){return this.containerRef?.expandForSidePanel?this.containerRef.expandForSidePanel(e,t):(t?.onBeforeSizeChange?.(),Promise.resolve())}getConfig(){return this.config}getRegisteredEvents(){let e=new Set;return this.listeners.forEach((t,n)=>e.add(n)),this.onceListeners.forEach((t,n)=>e.add(n)),Array.from(e)}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}hasListeners(e){return this.listenerCount(e)>0}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}off(e,t){t?(this.listeners.get(e)?.delete(t),this.onceListeners.get(e)?.delete(t),this.debugMode&&console.debug(`[ComponentManager] Unsubscribed from "${e}", remaining: ${this.listenerCount(e)}`)):(this.listeners.delete(e),this.onceListeners.delete(e),this.debugMode&&console.debug(`[ComponentManager] Removed all listeners for "${e}"`))}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed to "${e}", total: ${this.listenerCount(e)}`),()=>{this.off(e,t)}}once(e,t){return this.onceListeners.has(e)||this.onceListeners.set(e,new Set),this.onceListeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed once to "${e}"`),()=>{this.onceListeners.get(e)?.delete(t)}}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}setCompressed(e){this._isCompressed.value=e}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setDebugMode(e){this.debugMode=e}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}};function c1t(e){return new s1t(e)}var l1t={"panel-show":`show`,"panel-hide":`close`,"panel-toggle":null,"nimbus-click":null,"nimbus-minimize":null,"nimbus-restore":null,"popup-click":null,"popup-shortcut-click":null,dragging:`dragging`,resizing:`resizing`,"drag-stop":`drag-stop`,"resize-stop":`resize-stop`,"compression-toggle":null,"side-panel-expand":null,"side-panel-collapse":null,"send-message":`send-message`,"receive-start":`receive-start`,"receive-text":`receive-text`,"receive-end":`receive-end`,"receive-error":null,stop:`stop`,"chat-regenerate":null,"chat-retry":null,"message-deleted":null,"messages-batch-deleted":null,"session-created":null,"session-switched":null,"session-deleted":null,"session-updated":null,"sessions-loaded":null,"session-initialized":`session-initialized`,"session-error":null,"shortcut-click":`shortcut-click`,"chat-error":null,"sdk-error":`sdk-error`,"new-chat":`new-chat`,"new-chat-created":`new-chat-created`,"history-click":`history-click`,"auto-generate-name":`auto-generate-name`,"help-click":`help-click`,rename:`rename`,share:`share`,close:`close`,"toggle-compression":null,"transfer-messages":`transfer-messages`,"share-messages":`share-messages`,"agent-info-loaded":null,error:null};function u1t(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName,t.sessionCode];case`history-click`:return[t.event];case`dragging`:case`resizing`:case`drag-stop`:case`resize-stop`:case`shortcut-click`:case`session-initialized`:case`sdk-error`:case`transfer-messages`:case`share-messages`:case`new-chat-created`:return[t];case`panel-show`:case`panel-hide`:case`receive-start`:case`receive-text`:case`receive-end`:case`stop`:case`new-chat`:case`auto-generate-name`:case`help-click`:case`share`:case`close`:return[];default:return[t]}}var d1t=class extends Error{constructor(){super(`[ChatBot] Initialization was superseded by a newer init`),this.name=`ChatBotInitStaleError`}};function f1t(e){let{props:t,emit:n,reportError:r,managerErrorBridge:i}=e,a=cn(null),o=cn(null),s=cn(null),l=cn(null),u=sn(!1),d=sn(!t.chatHelper),f=sn(null),p=U(()=>u.value),m=()=>t.chatHelper?!t.chatHelper.agent||!t.chatHelper.session||!t.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:t.url?{valid:!0}:{valid:!1,error:`[ChatBot] Neither chatHelper nor url provided. Component requires at least one.`},h=()=>{let e=m();if(!e.valid)return console.error(e.error),f.value=Error(e.error),null;if(t.chatHelper)return t.chatHelper;let i=new Yd({onStart:()=>{n(`receive-start`)},onMessage:e=>{n(`receive-text`)},onDone:()=>{n(`receive-end`)},onError:e=>{r(e,`Stream error`)}}),a=TSe({requestData:DSe(sf(t.url),()=>un(t.requestOptions)),protocol:i});return i.injectMessageModule(a.message),a},g=e=>{if(e)try{e.agent.abortChat(),e.agent.clearLongPollTimer?.()}catch{}},_=0,v=null,y=null,b=null,x=e=>{b&&=(e?b.reject(e):b.resolve(),null),v=null},S=e=>{if(e!==_)throw new d1t},C=async e=>{if(t.enableModelSelect!==!1){if(t.models?.length){e.setModels(t.models);return}await e.ensureLoaded()}},w=async e=>{let p=a.value;u.value=!1,f.value=null,d.value=!t.chatHelper,g(p),S(e),a.value=null,o.value=null,s.value=null,l.value=null;let m=h();if(!m)throw f.value??Error(`[ChatBot] Failed to create chatHelper`);let _=t.modelSelectionManager??new W9(m.agent,m.session,{enabled:t.enableModelSelect!==!1}),v=new i1t(m.session,m.agent,i,{enableChatSession:!0,autoSwitchToInitialSession:!!t.sessionCode,loadRecentSessionOnMount:t.autoLoad,initialSessionCode:t.sessionCode,alwaysCreateNewSession:t.alwaysCreateNewSession},m.message,_),y=new r1t(m.agent,m.message,m.session,i,{openingRemark:t.helloText,predefinedQuestions:t.prompts?.length?t.prompts:void 0,placeholder:t.placeholder,onSessionRenamed:(e,t)=>n(`rename`,e,t)},_),b=new o1t(null,t.shortcuts||[]);a.value=m,o.value=v,s.value=y,l.value=b;try{d.value?(await t1t(m,{enableModelSelect:t.enableModelSelect!==!1&&!t.models?.length}),S(e),await C(_),S(e),await v.loadRecentSession({skipLoadSessions:!0}),S(e)):await C(_),S(e),u.value=!0,n(`agent-info-loaded`,m)}catch(t){throw S(e),f.value=r(t,`Failed to initialize ChatBot`),t}},T=()=>{x(new d1t),y=null;let e=++_;v=new Promise((t,n)=>{b={resolve:t,reject:n},w(e).then(()=>{b&&=(y=Promise.resolve(),b.resolve(),null)}).catch(e=>{b&&=(b.reject(MSe(e)),null)}).finally(()=>{e===_&&(v=null)})}),v.catch(()=>{})};return Ln([()=>t.url,()=>t.chatHelper],()=>T(),{immediate:!0}),sr(()=>{x(),g(a.value)}),{chatHelper:a,isStandaloneMode:d,isInitialized:u,isReady:p,initError:f,whenReady:()=>u.value?(y||=Promise.resolve(),y):f.value?Promise.reject(f.value):v||Promise.resolve(),chatBusinessManager:s,sessionBusinessManager:o,shortcutManager:l}}var p1t=[{id:`rebuild`,hidden:!0}],m1t=[{id:`delete`,hidden:!0}],h1t=[{id:`edit`,hidden:!0},{id:`delete`,hidden:!0}];function g1t(e,t,n){return e?[...n,...t??[]]:t}function _1t(e){let{props:t,chatHelper:n,chatBusinessManager:r,sessionBusinessManager:i,shortcutManager:a,isStandaloneMode:o,isInitialized:s,selectedShortcut:l}=e,u=U(()=>r.value?.isStopLoading.value?Mf.StopLoading:((t.chatHelper||n.value)?.agent)?.isChatting?.value?Mf.Streaming:Mf.Complete),d=U(()=>u.value===Mf.Streaming?I9.Disabled:void 0),f=U(()=>((t.chatHelper||n.value)?.agent)?.info.value?.agentType===`claw`),p=U(()=>g1t(f.value,t.messageTools,p1t)),m=U(()=>g1t(f.value,t.updateTools,m1t)),h=U(()=>g1t(f.value,void 0,h1t)),g=U(()=>r.value?.messages.value??[]),_=U(()=>r.value?.isMessagesLoading.value??!1),v=U(()=>r.value?.isGenerating.value??!1),y=U(()=>i.value?.currentSession.value??null),b=U(()=>o.value&&!s.value?!1:!_.value&&g.value.length===0),x=U(()=>n.value?.agent.info.value?.conversationSettings?.openingRemark||``),S=U(()=>t.resources?.length?t.resources:n.value?.agent.info.value?.resources??[]),C=U(()=>t.prompts?.length?t.prompts:n.value?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),w=U(()=>t.skills?.length?t.skills:(n.value?.agent.info.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})));return{messageStatus:u,messageToolsStatus:d,effectiveMessageTools:p,effectiveUpdateTools:m,effectiveUserMessageTools:h,messages:g,isMessagesLoading:_,isGenerating:v,currentSession:y,isWelcomeState:b,openingRemark:x,effectiveMenuSources:U(()=>Txe({skills:w.value,resources:S.value,prompts:C.value})),effectiveSupportUpload:U(()=>l.value?.supportUpload?l.value.supportUpload.vision===!0:r.value?.selectedModelSupportsVision.value??!1),chatbotStyle:U(()=>({height:typeof t.height==`number`?`${t.height}px`:t.height,maxWidth:typeof t.maxWidth==`number`?`${t.maxWidth}px`:t.maxWidth})),filteredShortcuts:U(()=>a.value?.shortcuts.value??[])}}var v1t=new Set([`chat-error`,`receive-error`,`session-error`]);function y1t(e,t={}){let n=new WeakSet,r=(r,i)=>{let a=MSe(r);return n.has(a)?a:(n.add(a),console.error(i?`[ChatBot] ${i}:`:`[ChatBot] error:`,r),e(`error`,a),un(t.errorToast)!==!1&&ud({message:a.message||cf(`请求失败`),theme:`error`}),a)};return{managerErrorBridge:{emit:(e,t)=>{v1t.has(e)&&r(t?.error)}},reportError:r}}var b1t={[Nf.ApprovalCancel]:Hd.ApprovalCancel,[Nf.FlowNodeRetry]:Hd.FlowNodeRetry,[Nf.FlowNodeSkip]:Hd.FlowNodeSkip};function x1t(e){return`operation`in e}function S1t(e){return`interruptId`in e&&`reason`in e&&e.reason===kf.UserQuestion}function C1t(e){return e===`cancelled`?Kd.Cancelled:Kd.Resolved}function w1t(e){let t=e?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resume interrupt: no active session`);return t}function T1t(e){return{interruptId:e.interruptId,status:C1t(e.status),payload:e.payload}}function E1t(e){let{chatHelper:t,reportError:n}=e,r=async e=>{let n=t.value;if(!n)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);if(!x1t(e))throw Error(`[ChatBot] Unsupported interrupt resume payload`);let r=w1t(n);if(e.operation===Nf.ApprovalRefresh){n.agent.pollResumeSession(r);return}let i=b1t[e.operation];if(!i)throw Error(`[ChatBot] Unsupported interrupt resume operation: ${e.operation}`);let a=n.agent;if(e.operation===Nf.ApprovalCancel){await a.userOperationStreamRequest(r,i,{interrupt_id:e.payload.interrupt_id});return}(e.operation===Nf.FlowNodeRetry||e.operation===Nf.FlowNodeSkip)&&await a.userOperationStreamRequest(r,i,{node_id:e.payload.node_id,task_id:String(e.payload.task_id)})},i=async(e,n)=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);let i=w1t(r);await r.agent.streamRequest({sessionCode:i,resume:T1t(e),...n?{input:n}:{}})};return{handleInterruptResume:async(e,t)=>{try{if(x1t(e)){await r(e);return}if(S1t(e)){await i(e);return}throw Error(`[ChatBot] Unsupported interrupt resume payload`)}catch(e){n(e,`Failed to handle interrupt resume`)}},resumeUserQuestionWithInput:async(e,t)=>{try{if(!t.payload||!S1t(t.payload))throw Error(`[ChatBot] Invalid user question resume options`);let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`[ChatBot] User question free text input is empty`);await i(t.payload,n)}catch(e){n(e,`Failed to resume user question with input`)}}}}function D1t(e){let{emit:t,chatHelper:n,chatBusinessManager:r,getRequestOptions:i,reportError:a,resumeUserQuestionWithInput:o,selectedShortcut:s}=e,l=cn([[]]),u=cn(``);Ln(()=>n.value?.session.current?.value?.sessionCode,(e,t)=>{t&&t!==e&&(u.value=``)});let d=e=>{l.value=e},f=async(e,a={})=>{if(!r.value||!n.value)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let o=n.value.session.current?.value?.sessionCode;if(!o)throw Error(`[ChatBot] Cannot send message: no active session`);l.value=[[]],u.value=``,t(`send-message`,typeof e==`string`?e:``);let s=af(a.property,i);await r.value.sendMessage(e,o,{...a,...s?{property:s}:{}})},p=async e=>{let t=n.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);let r=await n.value.session.uploadFiles(t,e);if(!r?.length)throw Error(`[ChatBot] Upload failed: empty response`);return r},m=async e=>{let t=n.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resolve artifact URL: no active session`);let r=await n.value.session.getPvFileDownloadUrl(t,e.outputId);return{download_url:r?.download_url,preview_url:r?.preview_url}},h=async(e,t,n)=>{try{if(n?.payload&&o){l.value=[[]],u.value=``,await o(e,n);return}let r={};u.value&&(r.cite=u.value),s.value&&(r.command=s.value.id);let i=vxe(t),a={...Object.keys(r).length?{extra:r}:{},...i?{docSchema:i}:{}};await f(e,Object.keys(a).length?{property:a}:{})}catch(e){a(e,`Failed to send message`)}},g=async()=>{await _()},_=async()=>{if(!r.value){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}try{await r.value.stopGeneration(),t(`stop`)}catch(e){a(e,`Failed to stop generation`)}};return{userInput:l,cite:u,handleUpdateModelValue:d,doSendMessage:f,handleSendMessage:h,handleArtifactClick:m,handleUpload:p,handleStopSending:g,stopGeneration:_}}var O1t=e=>!e||e.id===`share`;function k1t(e){let{emit:t,chatHelper:n,isStandaloneMode:r}=e,i=async e=>{if(!(!n.value||e.length===0))try{await FSe((await new a1t(n.value.message,n.value.session).shareMessages(e)).shareUrl),ud({message:`分享链接已复制到剪贴板`,theme:`success`})}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),ud({message:`分享失败,请重试`,theme:`error`})}};return{handleConfirmShare:async(e,n)=>{r.value&&O1t(n)&&await i(e),t(`confirm-share`,e,n)}}}function A1t(e){let{props:t,emit:n,shortcutManager:r,doSendMessage:i,reportError:a,selectedShortcut:o}=e,s=U(()=>r.value?.effectiveShortcuts.value??[]),l=(e,t)=>{let n=e,r;if(r=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:n.components?.find(e=>e.fillBack)?.key,r&&t){let e=n.components?.map(e=>e.key===r?{...e,default:t}:{...e,default:e.default??void 0});o.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else o.value={...n,formModel:{...n.formModel}}},u=(e,t)=>{let n=e.components||[];return{extra:{cite:{type:`structured`,title:e.alias||e.name,data:n.map(e=>({key:e.name||e.key,value:String(t[e.key]??``)}))},command:e.id,context:n.map(e=>({[e.key]:t[e.key],context_type:e.type,__label:e.name||e.key,__key:e.key,__value:t[e.key]}))}}},d=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?s.value.find(e=>e.id===t.command)??null:null},f=(e,t)=>{l(e,t),n(`shortcut-click`,{shortcut:e,source:`main`})},p=()=>{o.value=null};return Ln(()=>t.shortcuts,e=>{r.value?.setShortcuts(e||[])},{immediate:!0}),Ln(()=>e.chatHelper.value?.agent.info.value?.conversationSettings?.commands,e=>{e&&r.value?.setAgentShortcuts(e)},{immediate:!0}),{effectiveShortcuts:s,selectShortcutWithText:l,buildShortcutProperty:u,getShortcutFromMessage:d,handleSelectShortcut:f,handleCloseShortcut:p,handleShortcutSubmit:async e=>{if(!o.value){console.error(`[ChatBot] No selected shortcut`);return}let t=u(o.value,e),n=o.value.name,r=o.value;p();try{await i(n,{property:t})}catch(e){o.value=r,a(e,`Failed to submit shortcut`)}},sendShortcutDirectly:async(e,t)=>{let n=e,r={...n.formModel},o=n.components||[];for(let e of o)e.key in r||(r[e.key]=e.default??``);let s;s=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:o.find(e=>e.fillBack)?.key,s&&t&&(r[s]=t);let l=u(n,r),d=n.name;try{await i(d,{property:l})}catch(e){a(e,`Failed to send shortcut directly`)}}}}function j1t(e){let{emit:t,chatHelper:n,chatBusinessManager:r,cite:i,focusInput:a,getShortcutFromMessage:o,buildShortcutProperty:s,getRequestOptions:l,reportError:u,stopGeneration:d}=e,f=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=r.value.messages.value,i=of(t,e[0]);if(!i){console.error(`[ChatBot] No user message found before AI messages`);return}let a=[i,...e];await n.value.message.deleteMessages(a)}catch(e){u(e,`Failed to delete messages`)}},p=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=n.value.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await r.value.regenerateFromAIMessages(e,t)}catch(e){u(e,`Failed to regenerate`)}},m=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=r.value.messages.value,i=t.findIndex(t=>t===e);if(i===-1){console.error(`[ChatBot] User message not found in messages list`);return}let a=[];for(let e=i+1;e<t.length;e++){let n=t[e];if(n.role===jf.User)break;a.push(n)}let o=[e,...a];await n.value.message.deleteMessages(o)}catch(e){u(e,`Failed to delete user message`)}};return{handleAgentAction:async(e,r)=>{if(e.id===`cite`){i.value=r.filter(e=>e.role!==jf.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
|
|
3916
|
-
`),a();return}if(e.id===`rebuild`){await p(r);return}if(e.id===`delete`){await f(r);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await n.value?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}t(`agent-action`,e,r)},handleAgentFeedback:async(e,i,a,o)=>{if(!n.value){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let s=n.value.session.current?.value?.sessionCode;if(!s){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let l=jSe(r.value?.messages.value||[],i[0]);if(l===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let d=e.id===`like`?5:0;try{await n.value.session.postSessionFeedback({sessionCode:s,sessionContentIds:[l],rate:d,labels:a,comment:o}),t(`feedback`,e,i[0],a,o)}catch(e){u(e,`Failed to submit feedback`)}},handleUserAction:async(e,t)=>{if(e.id===`delete`){await m(t);return}if(e.id===`cite`){i.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),a();return}console.log(`handleUserAction`,e,t)},handleUserInputConfirm:async(e,t,i)=>{if(!n.value){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let a=n.value.session.current?.value?.sessionCode;if(!a){console.error(`[ChatBot] Cannot edit message: no active session`);return}let o=e.id;if(o===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{let n=e.property,s=vxe(i),u=af(s?{...n,docSchema:s}:n,l);await r.value?.resendMessageWithProperty(String(o),a,typeof t==`string`?t:``,u)}catch(e){u(e,`Failed to edit and resend message`)}},handleUserShortcutConfirm:async(e,t)=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let i=n.value.session.current?.value?.sessionCode;if(!i){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let a=e.id;if(a===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let n=o(e);if(!n){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let u=af(s(n,t),l),d=String(t.input??``);await r.value.resendMessageWithProperty(String(a),i,d,u)}catch(e){u(e,`Failed to edit shortcut message`)}},handleStopStreaming:d}}var M1t=Qn({__name:`chat-bot`,props:{alwaysCreateNewSession:{type:Boolean},asideCollapsed:{type:Boolean,default:void 0},autoLoad:{type:Boolean,default:!0},chatHelper:{default:void 0},enableModelSelect:{type:Boolean,default:!0},enableSelection:{type:Boolean,default:!1},errorToast:{type:Boolean,default:!0},executionTabVisible:{type:Boolean,default:!0},extCls:{},getSideRenderComponent:{},getSideTabRenderComponent:{},height:{},helloText:{},maxWidth:{},messageTools:{},messageToolsTippyOptions:{},models:{default:void 0},modelSelectionManager:{default:void 0},onCustomTabChange:{},placeholder:{},prompts:{},renderMode:{default:Ff.Chat},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcuts:{default:()=>[]},size:{},timezone:{},skills:{},updateTools:{},url:{default:``},useAgentName:{type:Boolean,default:!1},resizeProps:{}},emits:[`agent-action`,`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`execution-panel-change`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`rename`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`,`update:asideCollapsed`],setup(e,{expose:t,emit:n}){let r=e,i={initialDivide:560,min:400},a=U(()=>({...i,...r.resizeProps})),o=n,s=_r(),l=sn(!0),u=U({get:()=>r.asideCollapsed??l.value,set:e=>{r.asideCollapsed===void 0&&(l.value=e),o(`update:asideCollapsed`,e)}}),d=sn(),f=sn(),p=sn(),m=U(()=>({...r.messageToolsTippyOptions,appendTo:r.messageToolsTippyOptions?.appendTo??(()=>d.value??document.body)})),h=sn(null),g=U({get:()=>r.renderMode??Ff.Chat,set:()=>{}}),_=U(()=>D.value?.selectedLlmCode.value),v=()=>{p.value?.focus?.()},{reportError:y,managerErrorBridge:b}=y1t(o,{errorToast:()=>r.errorToast}),{chatHelper:x,isStandaloneMode:S,isInitialized:C,isReady:w,initError:T,whenReady:E,chatBusinessManager:D,sessionBusinessManager:O,shortcutManager:k}=f1t({props:r,emit:o,reportError:y,managerErrorBridge:b}),{handleInterruptResume:A,resumeUserQuestionWithInput:j}=E1t({chatHelper:x,reportError:y}),{userInput:M,cite:N,handleUpdateModelValue:P,doSendMessage:F,handleSendMessage:I,handleUpload:L,handleArtifactClick:R,handleStopSending:ee,stopGeneration:te}=D1t({emit:o,chatHelper:x,chatBusinessManager:D,getRequestOptions:()=>r.requestOptions,reportError:y,resumeUserQuestionWithInput:j,selectedShortcut:h}),{handleSelectShortcut:ne,handleCloseShortcut:re,handleShortcutSubmit:ie,selectShortcutWithText:ae,getShortcutFromMessage:oe,buildShortcutProperty:se,sendShortcutDirectly:ce}=A1t({props:r,emit:o,chatHelper:x,shortcutManager:k,doSendMessage:F,reportError:y,selectedShortcut:h}),{messageStatus:le,messageToolsStatus:ue,effectiveMessageTools:de,effectiveUpdateTools:fe,effectiveUserMessageTools:pe,messages:me,isMessagesLoading:he,isGenerating:_e,currentSession:ve,isWelcomeState:ye,openingRemark:be,effectiveMenuSources:Ce,effectiveSupportUpload:we,chatbotStyle:Te,filteredShortcuts:Ee}=_1t({props:r,chatHelper:x,chatBusinessManager:D,sessionBusinessManager:O,shortcutManager:k,isStandaloneMode:S,isInitialized:C,selectedShortcut:h}),{handleAgentAction:De,handleAgentFeedback:Oe,handleUserAction:ke,handleUserInputConfirm:Ae,handleUserShortcutConfirm:je,handleStopStreaming:Me}=j1t({emit:o,chatHelper:x,chatBusinessManager:D,cite:N,focusInput:v,getShortcutFromMessage:oe,buildShortcutProperty:se,getRequestOptions:()=>r.requestOptions,reportError:y,stopGeneration:te}),Ne=U(()=>!C.value||he.value),Pe=U(()=>{if(r.useAgentName)return x.value?.agent.info.value?.agentName||void 0}),Fe=U(()=>{if(r.enableModelSelect===!1)return;let e=D.value?.models.value??[];return e.length>0?e:void 0}),Ie=U({get:()=>D.value?.selectedModelName.value??``,set:e=>{D.value?.setSelectedModelByName(e)}}),Le=e=>{D.value?.setSelectedModel(e)};Ln(()=>r.models,e=>{r.enableModelSelect===!1||!D.value||e?.length&&D.value.setModels(e)});let{handleConfirmShare:Re}=k1t({emit:o,chatHelper:x,isStandaloneMode:S}),ze=(e,t)=>{o(`execution-panel-change`,e,t)},Be=async e=>{if(r.onCustomTabChange)return r.onCustomTabChange(e);let t=e.data?.props;if(t?.task_id!=null&&t?.node_id)return x.value?.message.getFlowAgentTaskNodeInfo(t.task_id,t.node_id)};return t({sendMessage:e=>I(e,[[]]),stopGeneration:te,switchSession:async e=>{if(!O.value){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await O.value.switchSession(e),o(`session-switched`,O.value.currentSession.value)}catch(e){y(e,`Failed to switch session`)}},messages:me,currentSession:ve,isGenerating:_e,get isReady(){return w.value},whenReady:E,getChatHelper:()=>x.value,setCiteText:e=>{N.value=e},focusInput:v,enterShareMode:()=>f.value?.enterShareMode(),exitShareMode:()=>f.value?.exitShareMode(),selectShortcut:(e,t)=>{ae(e,t)},sendShortcut:(e,t)=>ce(e,t),updateAgentInfo:async()=>{let e=x.value;if(!e)return null;try{await e.agent.getAgentInfo();let t=e.agent.info.value??null;return t?.conversationSettings?.commands&&k.value?.setAgentShortcuts(t.conversationSettings.commands),t}catch(e){return y(e,`Failed to update agentInfo`),null}},selectedLlmCode:_}),(e,t)=>(B(),V(`div`,{ref_key:`rootRef`,ref:d,class:xe([`ai-chatbot`,r.extCls,{"welcome-state":z(ye)}]),style:ge(z(Te))},[Jr(z(H$t),{ref_key:`chatContainerRef`,ref:f,"aside-collapsed":u.value,"onUpdate:asideCollapsed":t[0]||=e=>u.value=e,cite:z(N),"onUpdate:cite":t[1]||=e=>on(N)?N.value=e:null,"render-mode":g.value,"onUpdate:renderMode":t[2]||=e=>g.value=e,"selected-model":Ie.value,"onUpdate:selectedModel":t[3]||=e=>Ie.value=e,"selected-shortcut":h.value,"onUpdate:selectedShortcut":t[4]||=e=>h.value=e,"chat-loading":Ne.value,"common-tippy-options":m.value,"execution-tab-visible":r.executionTabVisible,"get-side-render-component":r.getSideRenderComponent,"get-side-tab-render-component":r.getSideTabRenderComponent,"message-status":z(le),"message-tools":z(de),"message-tools-status":z(ue),"menu-sources":z(Ce),messages:z(me),"model-value":z(M),models:Fe.value,"on-agent-action":z(De),"on-agent-feedback":z(Oe),"on-artifact-click":z(R),"on-custom-tab-change":Be,"on-interrupt-resume":z(A),"on-send-message":z(I),"on-stop-sending":z(ee),"on-upload":z(L),"on-user-action":z(ke),"on-user-input-confirm":z(Ae),"on-user-shortcut-confirm":z(je),"opening-remark":z(be),placeholder:r.placeholder,"resize-props":a.value,"shortcut-id":h.value?.id,shortcuts:z(Ee),size:r.size,timezone:r.timezone,"support-upload":z(we),"update-tools":z(fe),"user-message-tools":z(pe),"welcome-title":Pe.value,onCollapseChange:ze,onConfirmShare:z(Re),onDeleteShortcut:z(re),onModelChange:Le,onSelectShortcut:z(ne),onShortcutClose:z(re),onShortcutSubmit:z(ie),onStopStreaming:z(Me),"onUpdate:modelValue":z(P)},fr({message:Mn(({message:t,messageToolsStatus:n,onInterruptResume:r})=>[Qr(` 消费方提供了 #message slot 时,优先使用消费方的渲染 `),z(s).message?pr(e.$slots,`message`,{key:0,message:t,messageToolsStatus:n,onInterruptResume:r}):(B(),V(Ir,{key:1},[Qr(` 否则使用默认的 MessageRender `),Jr(z(h$t),{message:t,"message-tools":z(pe),"message-tools-status":n,"on-action":e=>z(ke)(e,t),"on-input-confirm":(e,n)=>z(Ae)(t,e,n),"on-interrupt-resume":r,"on-shortcut-confirm":e=>z(je)(t,e),"tippy-options":m.value},fr({_:2},[e.$slots.codeHeader?{name:`codeHeader`,fn:Mn(t=>[pr(e.$slots,`codeHeader`,Se(Yr(t)))]),key:`0`}:void 0]),1032,[`message`,`message-tools`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`])],2112))]),_:2},[e.$slots.welcome?{name:`welcome`,fn:Mn(t=>[pr(e.$slots,`welcome`,Se(Yr(t)))]),key:`0`}:void 0]),1032,`aside-collapsed.cite.render-mode.selected-model.selected-shortcut.chat-loading.common-tippy-options.execution-tab-visible.get-side-render-component.get-side-tab-render-component.message-status.message-tools.message-tools-status.menu-sources.messages.model-value.models.on-agent-action.on-agent-feedback.on-artifact-click.on-interrupt-resume.on-send-message.on-stop-sending.on-upload.on-user-action.on-user-input-confirm.on-user-shortcut-confirm.opening-remark.placeholder.resize-props.shortcut-id.shortcuts.size.timezone.support-upload.update-tools.user-message-tools.welcome-title.onConfirmShare.onDeleteShortcut.onSelectShortcut.onShortcutClose.onShortcutSubmit.onStopStreaming.onUpdate:modelValue`.split(`.`))],6))}});function N1t(e,t){let{name:n,props:r,emitNames:i,exposeKeys:a,slots:o=[],deepWatchProps:s=[],methods:l={}}=t,u=Object.keys(r);return{name:n,render(e){return e(`div`,{style:{width:`100%`,height:`100%`}})},props:r,data(){return{app:null,componentInstance:null,unWatchStack:[]}},created(){let t=this.$emit.bind(this),n=this,r=()=>Mi({setup(){return()=>{let r={};for(let e of u)r[e]=n[e];let a={};for(let e of o){let t=n.$scopedSlots?.[e];t!==void 0&&(a[e]=e=>t(e))}let s=Object.keys(a).length>0?a:void 0;return W(Ele,{prefix:I1t()},{default:()=>W(e,{...n.$attrs,...r,...F1t(t,i),ref:e=>{n.componentInstance=e}},s)})}}});n.app=r();for(let e of s)n.unWatchStack.push(n.$watch(e,()=>{n.app&&(n.app.unmount(),n.app=r(),n.app.mount(n.$el))},{deep:!0}))},mounted(){let e=this;e.app?.mount(e.$el),e.$nextTick(()=>{let t=e.componentInstance;if(t)for(let n of a){let r=t[n];typeof r==`function`?e[n]=r.bind(t):e[n]=r}})},beforeDestroy(){let e=this;e.unWatchStack.forEach(e=>e?.()),e.unWatchStack=[],e.app&&=(e.app.unmount(),null),e.componentInstance=null},methods:l}}function P1t(e){return`on`+e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function F1t(e,t){let n={};for(let r of t)n[P1t(r)]=(...t)=>{e(r,...t)};return n}function I1t(){return`ai-bk`}var G9=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function L1t(e){let{url:t,requestOptions:n,autoInit:r=!0,protocolCallbacks:i,enableModelSelect:a=!0}=e,o=un(t);if(!o)throw Error(`[useChatBootstrap] url is required`);let s=sn(G9.IDLE),l=sn(null),u=sn(!1),d=new Map,f=new Yd({onStart:()=>{i?.onStart?.()},onMessage:e=>{i?.onMessage?.(e)},onDone:()=>{i?.onDone?.()},onError:e=>{i?.onError?.(e)}}),p=TSe({requestData:DSe(o,n),protocol:f});f.injectMessageModule(p.message);let m=U(()=>s.value===G9.LOADING_AGENT),h=U(()=>s.value===G9.READY),g=U(()=>p.agent.info.value??null),_=U(()=>g.value?.agentName??``),v=U(()=>p.session.current.value??null),y=U(()=>p.session.list.value??[]),b=null,x=0,S=async e=>{l.value=null;try{if(s.value=G9.LOADING_AGENT,await t1t(p,{enableModelSelect:a}),e!==x)return;s.value=G9.READY,u.value=!0}catch(t){if(e!==x)return;throw console.error(`[useChatBootstrap] Initialization failed:`,t),l.value=t,s.value=G9.ERROR,t}},C=async()=>{if(u.value)return;if(b)return b;let e=x;return b=S(e).finally(()=>{e===x&&(b=null)}),b},w=()=>{x+=1,s.value=G9.IDLE,l.value=null,u.value=!1,b=null},T=async()=>{w(),await C()},E=async e=>{w();let t=p.http;t?.updateConfig?t.updateConfig({urlPrefix:e}):console.warn(`[useChatBootstrap] chatHelper.http.updateConfig is not implemented yet, URL change may not take effect`),await C()};return Ln(()=>un(t),(e,t)=>{e&&e!==t&&t&&E(e).catch(()=>{})}),r&&Promise.resolve().then(()=>{C().catch(()=>{})}),{chatHelper:p,protocol:f,phase:s,isInitializing:m,isReady:h,error:l,agentInfo:g,agentName:_,currentSession:v,sessionList:y,initialize:C,retry:T,updateConfig:E,registerExtension:(e,t)=>{d.set(e,t)},getExtension:e=>d.get(e)}}function R1t(e){return{sendMessage:t=>e(`send-message`,{content:t}),receiveStart:()=>e(`receive-start`,{}),receiveText:()=>e(`receive-text`,{}),receiveEnd:()=>e(`receive-end`,{}),stop:()=>e(`stop`,{}),newChat:()=>e(`new-chat`,{}),newChatCreated:t=>e(`new-chat-created`,{session:t}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:(t,n)=>e(`rename`,{newName:t,sessionCode:n}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function z1t(e){let{componentManager:t,emit:n,debug:r=!1}=e,i=[],a=()=>{for(let[e,a]of Object.entries(l1t)){if(a===null)continue;let o=t.on(e,t=>{let i=u1t(e,t);r&&console.debug(`[useEventBridge] ${e} -> ${a}`,i),n(a,...i)});i.push(o)}},o=(e,n)=>{r&&console.debug(`[useEventBridge] Forwarding to manager: ${e}`,n),t.emit(e,n)},s=(e,...t)=>{r&&console.debug(`[useEventBridge] Direct emit: ${e}`,t),n(e,...t)},l=()=>{i.forEach(e=>e()),i.length=0};return a(),cr(()=>{l()}),{forwardToManager:o,emitDirect:s,cleanup:l}}function B1t(e){let{props:t,emit:n}=e,r=sn(),i=sn(),a=U(()=>sf(t.url??``)),o=c1t({initialPanelVisible:!1,initialNimbusMinimized:t.defaultMinimize,enablePopup:t.enablePopup,enableNimbus:!t.hideNimbus,enableDraggable:t.draggable}),s=o.panelVisible,l=o.nimbusMinimized,{forwardToManager:u}=z1t({componentManager:o,emit:n}),d=R1t(u),f=new WeakSet,p=null,m=null,h=()=>{p&&=(clearTimeout(p.timer),null)},g=e=>{let{apiName:n,error:r,action:i,source:a,shouldToast:s=!0}=e,l=r instanceof Error?r.message:String(r),u=r instanceof Error?r:null;u&&f.has(u)||(u&&f.add(u),a!==`http`&&u&&p?.error===u&&h(),console.error(`[AIBlueking] ${n} error:`,r),s&&t.errorToast!==!1&&ud({message:l||cf(`请求失败`),theme:`error`}),o.emitInternal(`sdk-error`,{apiName:n,action:i,source:a,code:-1,message:l,data:r}))},_=e=>{h();let t=m??(x.value?`chat`:`init`);p={error:e,timer:setTimeout(()=>{p=null,g({apiName:t,error:e,source:`http`})},0)}},v=async(e,t)=>{let n=m;m=e;try{return await t()}finally{m=n}},y=e=>{g({apiName:`chat`,error:e,source:`business`})},{chatHelper:b,isReady:x,error:S,agentInfo:C,agentName:w,currentSession:T,initialize:E}=L1t({url:a,requestOptions:()=>un(t.requestOptions),autoInit:!0,enableModelSelect:t.enableModelSelect!==!1,protocolCallbacks:{onStart:()=>{d.receiveStart()},onMessage:()=>{d.receiveText()},onDone:()=>{d.receiveEnd()},onError:e=>{g({apiName:`chat`,error:e,source:`protocol`})}}}),D=b;D.onError?.(e=>{_(e)},{ignoreErrors:t.ignoreErrors});let O=new W9(D.agent,D.session,{enabled:t.enableModelSelect!==!1}),k=async()=>{if(t.enableModelSelect!==!1){if(t.models?.length){O.setModels(t.models);return}await O.ensureLoaded()}},A=new i1t(D.session,D.agent,null,{enableChatSession:t.enableChatSession,initialSessionCode:t.initialSessionCode,alwaysCreateNewSession:t.alwaysCreateNewSession},D.message,O),j=new a1t(D.message,D.session),M=new o1t(null,t.shortcuts||[]),N=null,P=()=>t.loadRecentSessionOnMount?(N||=k().then(()=>A.loadRecentSession({skipLoadSessions:!0})).finally(()=>{N=null}),N):Promise.resolve(),F=async()=>{await v(`init`,async()=>{await E(),await P()})},I=U(()=>o.isCompressed.value),L=U(()=>w.value),R=U(()=>D.message.list.value.length===0);Ln(()=>S.value,e=>{e&&(h(),g({apiName:`init`,error:e,source:`http`}))});let ee=e=>{e.conversationSettings?.commands&&M.setAgentShortcuts(e.conversationSettings.commands)},te=async()=>{try{await D.agent.getAgentInfo();let e=C.value;return e&&ee(e),e}catch(e){return g({apiName:`getAgentInfo`,error:e,source:`http`}),null}};Ln(()=>x.value,async e=>{if(e&&C.value&&(ee(C.value),C.value.conversationSettings&&u(`session-initialized`,{openingRemark:C.value.conversationSettings.openingRemark||``,predefinedQuestions:C.value.conversationSettings.predefinedQuestions||[]}),t.loadRecentSessionOnMount))try{await P()}catch(e){g({apiName:`session`,action:`loadRecentSession`,error:e,source:`business`})}},{immediate:!0}),Ln(()=>t.shortcuts,e=>{M.setShortcuts(e||[])},{immediate:!0});let ne=e=>{zSe(e)&&(e.preventDefault(),s.value?o.hidePanel():o.showPanel())};return or(async()=>{r.value&&o.setContainerRef(r.value),window.addEventListener(`keydown`,ne)}),sr(()=>{h(),window.removeEventListener(`keydown`,ne),o.destroy()}),{chatHelper:D,componentManager:o,modelSelection:O,sessionBusinessManager:A,shareBusinessManager:j,shortcutManager:M,forwarders:d,forwardToManager:u,chatBotRef:i,draggableContainerRef:r,panelVisible:s,nimbusMinimized:l,normalizedUrl:a,agentInfo:C,agentName:L,currentSession:T,isCompressed:I,isWelcomeState:R,handleError:y,reportSdkError:g,ensureSessionReady:F,updateAgentInfo:te}}function V1t(e){let{shortcutManager:t,chatBotRef:n,forwardToManager:r,show:i,props:a}=e,o=sn(!1),s=sn(``);return{aiSelectionVisible:o,selectedText:s,filteredPopupShortcuts:U(()=>{let e=t.effectiveShortcuts.value;return typeof a.shortcutFilter==`function`&&s.value?e.filter(e=>a.shortcutFilter?.(e,s.value)):e}),handleSelectionChange:e=>{s.value=e},handleAiSelectionShortcut:async(e,t)=>{o.value=!1,await i(),n.value&&(e.components?.length?n.value.selectShortcut(e,t):(n.value.selectShortcut(e),n.value.setCiteText(t),n.value.focusInput())),r(`shortcut-click`,{shortcut:e,source:`popup`})}}}function H1t(e,t=!1){let n=window.innerHeight-48-40,r=window.innerWidth-48-16,i=sn(r),a=sn(n),o=sn(0),s=sn(t),l=sn(!1),u=sn(!1),d=0,f=e=>{e?i.value=window.innerWidth-12:i.value=r},p=(e,t)=>{a.value=t,o.value=t-n},m=()=>{Dn(()=>{a.value=window.innerHeight-48-40+o.value,s.value?i.value=window.innerWidth-12:i.value=window.innerWidth-48-16})};return or(()=>{window.addEventListener(`resize`,m),m()}),cr(()=>{window.removeEventListener(`resize`,m)}),{nimbusWidth:48,nimbusHeight:48,nimbusLeft:i,nimbusTop:a,isMinimize:s,isHovering:l,isDragging:u,handleNimbusDragging:p,handleNimbusMinimize:f,handleClick:()=>{if(u.value){u.value=!1;return}e(`click`)},handleMinimize:()=>{s.value=!s.value,e(`minimize`,s.value),s.value?i.value=window.innerWidth-12:i.value=window.innerWidth-60},handleDragging:(e,t)=>{i.value=e,a.value=t},handleMouseEnter:()=>{l.value=!0},handleMouseLeave:()=>{l.value=!1},handleMouseDown:()=>{d=Date.now(),u.value=!1},handleMouseUp:()=>{Date.now()-d>200&&(u.value=!0)}}}var U1t=560;function W1t(e){let{componentManager:t,chatBotRef:n,forwarders:r,forwardToManager:i,beforeNimbusClick:a,ensureSessionReady:o}=e,s=sn(!0),l=U1t,u=async e=>{t.showPanel(e),o&&await o(),e&&n.value&&await n.value.switchSession(e)},d=async e=>{await u(e)},f=()=>{s.value=!0,t.abortSidePanelSequence(),t.hidePanel()},p=()=>{f()},m=async()=>{if(a&&await a()===!1){t.emit(`nimbus-click`,{});return}t.handleNimbusClick()},h=e=>{t.handleDragging(e)},g=e=>{t.handleResizing(e)},_=e=>{t.handleDragStop(e)},v=e=>{t.handleResizeStop(e)},y=()=>{t.container.toggleCompression()},b=e=>{t.setCompressed(e)},x=(e,t)=>{l=Math.max(U1t,t??l)},S=async()=>{s.value&&=(await t.expandForSidePanel(l,{onBeforeSizeChange:()=>{s.value=!1}}),!1)},C=async()=>{s.value||=(await t.collapseSidePanel({onBeforeSizeChange:()=>{s.value=!0}}),!0)};return{show:u,handleShow:d,hide:f,handleClose:p,handleNimbusClick:m,handleDragging:h,handleResizing:g,handleDragStop:_,handleResizeStop:v,handleToggleCompression:y,handleCompressionChange:b,handleExecutionPanelChange:x,handleToggleAside:async()=>{s.value?await S():await C()},handleAsideCollapsedUpdate:async e=>{e!==s.value&&(e?await C():await S())},asideCollapsed:s,sendMessage:async e=>{n.value&&await n.value.sendMessage(e)},handleReceiveStart:()=>{r.receiveStart()},handleReceiveText:()=>{r.receiveText()},handleReceiveEnd:()=>{r.receiveEnd()},handleStop:()=>{r.stop()},stopGeneration:()=>{n.value&&n.value.stopGeneration()},updatePosition:(e,n)=>{t.container.updatePosition(e,n)},updateSize:(e,n)=>{t.container.updateSize(e,n)},updatePositionAndSize:(e,n,r,i)=>{t.container.updatePositionAndSize(e,n,r,i)},setCiteText:e=>{n.value&&n.value.setCiteText(e)},focusInput:()=>{n.value&&n.value.focusInput()},selectShortcut:(e,t)=>{n.value&&n.value.selectShortcut(e,t)},sendShortcut:(e,t)=>n.value?n.value.sendShortcut(e,t):Promise.resolve(),getChatHelper:()=>n.value?n.value.getChatHelper():null,handleShortcutClick:e=>{i(`shortcut-click`,e)}}}function G1t(e){let{chatHelper:t,sessionBusinessManager:n,chatBotRef:r,forwarders:i,reportSdkError:a,currentSession:o}=e,s=sn(``),l=sn(!0),u=sn(!1),d=sn(!1),f=()=>ASe(t.message.list.value);return Ln(()=>o.value,e=>{e&&(s.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},{immediate:!0}),Ln(()=>t.message.list.value.length,()=>{u.value=f()}),{sessionName:s,hasPermission:l,hasSessionContents:u,autoGenerateLoading:d,handleNewChat:async()=>{r.value?.exitShareMode(),r.value?.setCiteText(``),i.newChat()},handleNewChatCreated:e=>{i.newChatCreated(e)},handleHistoryClick:e=>{i.historyClick(e)},handleHistorySessionSwitch:async e=>{try{r.value?.exitShareMode(),await n.switchSession(e)}catch(e){console.error(`[AIBlueking] Failed to switch history session:`,e),a({apiName:`session`,action:`historySwitch`,error:e,source:`business`})}},handleHistorySessionDelete:async e=>{try{await n.deleteSession(e)}catch(e){console.error(`[AIBlueking] Failed to delete history session:`,e),a({apiName:`session`,action:`historyDelete`,error:e,source:`business`})}},handleHistorySessionRename:async(e,t)=>{try{await n.updateSessionName(e,t)}catch(e){console.error(`[AIBlueking] Failed to rename history session:`,e),a({apiName:`session`,action:`historyRename`,error:e,source:`business`})}},handleAutoGenerateName:async()=>{let e=t.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}d.value=!0;try{await t.session.renameSession(e);let n=t.session.list.value.find(t=>t.sessionCode===e);n&&(s.value=n.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),a({apiName:`session`,action:`autoGenerateName`,error:e,source:`business`})}finally{d.value=!1}i.autoGenerateName()},handleHelpClick:()=>{i.helpClick()},handleRename:async e=>{let n=t.session.current?.value;if(!n){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await t.session.updateSession({...n,sessionName:e}),s.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),a({apiName:`session`,action:`rename`,error:e,source:`business`})}i.rename(e,n.sessionCode)},handleSessionRenamed:(e,t)=>{o.value?.sessionCode===t&&(s.value=e),i.rename(e,t)},handleSessionSwitched:e=>{e&&(s.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},addNewSession:async e=>{e?await n.createSession(e):await n.createNewSession()},switchToSession:async e=>{r.value&&await r.value.switchSession(e)},updateSessionName:async(e,t)=>{try{await n.updateSessionName(e,t),s.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),a({apiName:`session`,action:`updateSessionName`,error:e,source:`business`})}}}}function K1t(e){let{shareBusinessManager:t,chatBotRef:n,emit:r,forwarders:i,reportSdkError:a}=e,o=sn(!1);return{isShareLoading:o,handleShare:()=>{n.value?.enterShareMode(),i.share()},handleCancelShare:()=>{n.value?.exitShareMode()},handleConfirmShare:async(e,s)=>{if(!O1t(s)){n.value?.exitShareMode(),r(`confirm-share`,e,s);return}o.value=!0;try{let{shareUrl:a,userMessageIds:o}=await t.shareMessages(e);await FSe(a),ud({message:cf(`分享链接已复制到剪贴板`),theme:`success`}),n.value?.exitShareMode(),i.shareMessages(o),r(`confirm-share`,e,s)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),a({apiName:`share`,action:`confirmShare`,error:e,source:`business`})}finally{o.value=!1}}}}function q1t(e={}){let t=sn([]),n=(n,r,i={})=>{try{let a=typeof n==`string`?document.querySelector(n):n;if(!a)return console.warn(`Tooltip target not found: ${n}`),null;let o=wf(a,{content:r,placement:`top`,arrow:!0,delay:[300,0],theme:`ai-blueking-tooltip`,...e,...i});return t.value.push(o),o}catch(e){return console.error(`Failed to create tooltip:`,e),null}},r=(e,t,r={})=>{let i=document.querySelectorAll(e),a=[];return i.forEach(e=>{let i=n(e,t,r);i&&a.push(i)}),a},i=e=>{let t=[];return e.forEach(({element:e,content:r,options:i})=>{let a=n(e,r,i);a&&t.push(a)}),t},a=()=>{t.value.forEach(e=>{e.destroy()}),t.value=[]};return sr(()=>{a()}),{instances:t,createTooltip:n,createTooltipsForSelector:r,createMultipleTooltips:i,destroyAll:a,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}var J1t={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,enableModelSelect:!0,executionTabVisible:!0,renderMode:Ff.Chat,defaultWidth:400,defaultHeight:void 0,defaultTop:0,defaultLeft:void 0,maxWidth:1e3,miniPadding:0,nimbusSize:`normal`,defaultMinimize:!1,shortcuts:()=>[],shortcutLimit:3,shortcutFilter:void 0,hideDefaultTrigger:!1,requestOptions:()=>({}),teleportTo:`body`,placeholder:void 0,helloText:cf(`你好,我是小鲸`),useAgentName:!1,disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,alwaysCreateNewSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0,errorToast:!0,ignoreErrors:()=>[]};function Y1t(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function K9(e,t,n,r=1){let[i,a]=typeof r==`number`?[r,r]:r;return[Math.round(t/i/e[0])*e[0],Math.round(n/a/e[1])*e[1]]}function X1t(e,t,n){return e-t-n}function Z1t(e,t,n){return e-t-n}function q9(e,t,n){return t!==null&&e<t?t:n!==null&&n<e?n:e}function Q1t(e,t,n){let r=e,i=[`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`].find(e=>Y1t(r[e]));if(!Y1t(r[i]))return!1;do{if(r[i](t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function $1t(e){let t=window.getComputedStyle(e);return[parseFloat(t.getPropertyValue(`width`),10),parseFloat(t.getPropertyValue(`height`),10)]}function J9(e,t,n){e&&(e.attachEvent?e.attachEvent(`on`+t,n):e.addEventListener?e.addEventListener(t,n,!0):e[`on`+t]=n)}function Y9(e,t,n){e&&(e.detachEvent?e.detachEvent(`on`+t,n):e.removeEventListener?e.removeEventListener(t,n,!0):e[`on`+t]=null)}var e0t=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},X9={mouse:{start:`mousedown`,move:`mousemove`,stop:`mouseup`},touch:{start:`touchstart`,move:`touchmove`,stop:`touchend`}},t0t={userSelect:`none`,MozUserSelect:`none`,WebkitUserSelect:`none`,MsUserSelect:`none`},n0t={userSelect:`auto`,MozUserSelect:`auto`,WebkitUserSelect:`auto`,MsUserSelect:`auto`},Z9=X9.mouse,r0t={replace:!0,name:`vue-draggable-resizable`,props:{className:{type:String,default:`vdr`},classNameDraggable:{type:String,default:`draggable`},classNameResizable:{type:String,default:`resizable`},classNameDragging:{type:String,default:`dragging`},classNameResizing:{type:String,default:`resizing`},classNameActive:{type:String,default:`active`},classNameHandle:{type:String,default:`handle`},disableUserSelect:{type:Boolean,default:!0},enableNativeDrag:{type:Boolean,default:!1},preventDeactivation:{type:Boolean,default:!1},active:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},lockAspectRatio:{type:Boolean,default:!1},w:{type:[Number,String],default:200,validator:e=>typeof e==`number`?e>0:e===`auto`},h:{type:[Number,String],default:200,validator:e=>typeof e==`number`?e>0:e===`auto`},minWidth:{type:Number,default:0,validator:e=>e>=0},minHeight:{type:Number,default:0,validator:e=>e>=0},maxWidth:{type:Number,default:null,validator:e=>e>=0},maxHeight:{type:Number,default:null,validator:e=>e>=0},x:{type:Number,default:0},y:{type:Number,default:0},z:{type:[String,Number],default:`auto`,validator:e=>typeof e==`string`?e===`auto`:e>=0},handles:{type:Array,default:()=>[`tl`,`tm`,`tr`,`mr`,`br`,`bm`,`bl`,`ml`],validator:e=>{let t=new Set([`tl`,`tm`,`tr`,`mr`,`br`,`bm`,`bl`,`ml`]);return new Set(e.filter(e=>t.has(e))).size===e.length}},dragHandle:{type:String,default:null},dragCancel:{type:String,default:null},axis:{type:String,default:`both`,validator:e=>[`x`,`y`,`both`].includes(e)},grid:{type:Array,default:()=>[1,1]},parent:{type:Boolean,default:!1},scale:{type:[Number,Array],default:1,validator:e=>typeof e==`number`?e>0:e.length===2&&e[0]>0&&e[1]>0},onDragStart:{type:Function,default:()=>!0},onDrag:{type:Function,default:()=>!0},onResizeStart:{type:Function,default:()=>!0},onResize:{type:Function,default:()=>!0}},data:function(){return{left:this.x,top:this.y,right:null,bottom:null,width:null,height:null,widthTouched:!1,heightTouched:!1,aspectFactor:null,parentWidth:null,parentHeight:null,handle:null,enabled:this.active,resizing:!1,dragging:!1,dragEnable:!1,resizeEnable:!1,zIndex:this.z}},created:function(){this.maxWidth&&this.minWidth>this.maxWidth&&console.warn(`[Vdr warn]: Invalid prop: minWidth cannot be greater than maxWidth`),this.maxHeight&&this.minHeight>this.maxHeight&&console.warn(`[Vdr warn]: Invalid prop: minHeight cannot be greater than maxHeight`),this.resetBoundsAndMouseState()},mounted:function(){this.enableNativeDrag||(this.$el.ondragstart=()=>!1);let[e,t]=this.getParentSize();this.parentWidth=e,this.parentHeight=t;let[n,r]=$1t(this.$el);this.aspectFactor=(this.w===`auto`?n:this.w)/(this.h===`auto`?r:this.h),this.width=this.w===`auto`?n:this.w,this.height=this.h===`auto`?r:this.h,this.right=this.parentWidth-this.width-this.left,this.bottom=this.parentHeight-this.height-this.top,this.active&&this.$emit(`activated`),J9(document.documentElement,`mousedown`,this.deselect),J9(document.documentElement,`touchend touchcancel`,this.deselect),J9(window,`resize`,this.checkParentSize)},beforeUnmount:function(){Y9(document.documentElement,`mousedown`,this.deselect),Y9(document.documentElement,`touchstart`,this.handleUp),Y9(document.documentElement,`mousemove`,this.move),Y9(document.documentElement,`touchmove`,this.move),Y9(document.documentElement,`mouseup`,this.handleUp),Y9(document.documentElement,`touchend touchcancel`,this.deselect),Y9(window,`resize`,this.checkParentSize)},methods:{resetBoundsAndMouseState(){this.mouseClickPosition={mouseX:0,mouseY:0,x:0,y:0,w:0,h:0},this.bounds={minLeft:null,maxLeft:null,minRight:null,maxRight:null,minTop:null,maxTop:null,minBottom:null,maxBottom:null}},checkParentSize(){if(this.parent){let[e,t]=this.getParentSize();this.parentWidth=e,this.parentHeight=t,this.right=this.parentWidth-this.width-this.left,this.bottom=this.parentHeight-this.height-this.top}},getParentSize(){if(this.parent){let e=window.getComputedStyle(this.$el.parentNode,null);return[parseInt(e.getPropertyValue(`width`),10),parseInt(e.getPropertyValue(`height`),10)]}return[null,null]},elementTouchDown(e){Z9=X9.touch,this.elementDown(e)},elementMouseDown(e){Z9=X9.mouse,this.elementDown(e)},elementDown(e){if(e instanceof MouseEvent&&e.button!==0)return;let t=e.target||e.srcElement;if(this.$el.contains(t)){if(this.onDragStart(e)===!1)return;if(this.dragHandle&&!Q1t(t,this.dragHandle,this.$el)||this.dragCancel&&Q1t(t,this.dragCancel,this.$el)){this.dragging=!1;return}this.enabled||(this.enabled=!0,this.$emit(`activated`),this.$emit(`update:active`,!0)),this.draggable&&(this.dragEnable=!0),this.mouseClickPosition.mouseX=e.touches?e.touches[0].pageX:e.pageX,this.mouseClickPosition.mouseY=e.touches?e.touches[0].pageY:e.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.parent&&(this.bounds=this.calcDragLimits()),J9(document.documentElement,Z9.move,this.move),J9(document.documentElement,Z9.stop,this.handleUp)}},calcDragLimits(){return{minLeft:this.left%this.grid[0],maxLeft:Math.floor((this.parentWidth-this.width-this.left)/this.grid[0])*this.grid[0]+this.left,minRight:this.right%this.grid[0],maxRight:Math.floor((this.parentWidth-this.width-this.right)/this.grid[0])*this.grid[0]+this.right,minTop:this.top%this.grid[1],maxTop:Math.floor((this.parentHeight-this.height-this.top)/this.grid[1])*this.grid[1]+this.top,minBottom:this.bottom%this.grid[1],maxBottom:Math.floor((this.parentHeight-this.height-this.bottom)/this.grid[1])*this.grid[1]+this.bottom}},deselect(e){let t=e.target||e.srcElement,n=RegExp(this.className+`-([trmbl]{2})`,``);!this.$el.contains(t)&&!n.test(t.className)&&(this.enabled&&!this.preventDeactivation&&(this.enabled=!1,this.$emit(`deactivated`),this.$emit(`update:active`,!1)),Y9(document.documentElement,Z9.move,this.handleResize)),this.resetBoundsAndMouseState()},handleTouchDown(e,t){Z9=X9.touch,this.handleDown(e,t)},handleDown(e,t){t instanceof MouseEvent&&t.which!==1||this.onResizeStart(e,t)!==!1&&(t.stopPropagation&&t.stopPropagation(),this.lockAspectRatio&&!e.includes(`m`)?this.handle=`m`+e.substring(1):this.handle=e,this.resizeEnable=!0,this.mouseClickPosition.mouseX=t.touches?t.touches[0].pageX:t.pageX,this.mouseClickPosition.mouseY=t.touches?t.touches[0].pageY:t.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.bounds=this.calcResizeLimits(),J9(document.documentElement,Z9.move,this.handleResize),J9(document.documentElement,Z9.stop,this.handleUp))},calcResizeLimits(){let e=this.minW,t=this.minH,n=this.maxW,r=this.maxH,i=this.aspectFactor,[a,o]=this.grid,s=this.width,l=this.height,u=this.left,d=this.top,f=this.right,p=this.bottom;this.lockAspectRatio&&(e/t>i?t=e/i:e=i*t,n&&r?(n=Math.min(n,i*r),r=Math.min(r,n/i)):n?r=n/i:r&&(n=i*r)),n-=n%a,r-=r%o;let m={minLeft:null,maxLeft:null,minTop:null,maxTop:null,minRight:null,maxRight:null,minBottom:null,maxBottom:null};return this.parent?(m.minLeft=u%a,m.maxLeft=u+Math.floor((s-e)/a)*a,m.minTop=d%o,m.maxTop=d+Math.floor((l-t)/o)*o,m.minRight=f%a,m.maxRight=f+Math.floor((s-e)/a)*a,m.minBottom=p%o,m.maxBottom=p+Math.floor((l-t)/o)*o,n&&(m.minLeft=Math.max(m.minLeft,this.parentWidth-f-n),m.minRight=Math.max(m.minRight,this.parentWidth-u-n)),r&&(m.minTop=Math.max(m.minTop,this.parentHeight-p-r),m.minBottom=Math.max(m.minBottom,this.parentHeight-d-r)),this.lockAspectRatio&&(m.minLeft=Math.max(m.minLeft,u-d*i),m.minTop=Math.max(m.minTop,d-u/i),m.minRight=Math.max(m.minRight,f-p*i),m.minBottom=Math.max(m.minBottom,p-f/i))):(m.minLeft=null,m.maxLeft=u+Math.floor((s-e)/a)*a,m.minTop=null,m.maxTop=d+Math.floor((l-t)/o)*o,m.minRight=null,m.maxRight=f+Math.floor((s-e)/a)*a,m.minBottom=null,m.maxBottom=p+Math.floor((l-t)/o)*o,n&&(m.minLeft=-(f+n),m.minRight=-(u+n)),r&&(m.minTop=-(p+r),m.minBottom=-(d+r)),this.lockAspectRatio&&n&&r&&(m.minLeft=Math.min(m.minLeft,-(f+n)),m.minTop=Math.min(m.minTop,-(r+p)),m.minRight=Math.min(m.minRight,-u-n),m.minBottom=Math.min(m.minBottom,-d-r))),m},move(e){this.resizing?this.handleResize(e):this.dragEnable&&this.handleDrag(e)},handleDrag(e){let t=this.axis,n=this.grid,r=this.bounds,i=this.mouseClickPosition,[a,o]=K9(n,t&&t!==`y`?i.mouseX-(e.touches?e.touches[0].pageX:e.pageX):0,t&&t!==`x`?i.mouseY-(e.touches?e.touches[0].pageY:e.pageY):0,this.scale),s=q9(i.left-a,r.minLeft,r.maxLeft),l=q9(i.top-o,r.minTop,r.maxTop);if(this.onDrag(s,l)===!1)return;let u=q9(i.right+a,r.minRight,r.maxRight),d=q9(i.bottom+o,r.minBottom,r.maxBottom);this.left=s,this.top=l,this.right=u,this.bottom=d,this.$emit(`dragging`,this.left,this.top),this.dragging=!0},moveHorizontally(e){let[t,n]=K9(this.grid,e,this.top,1),r=q9(t,this.bounds.minLeft,this.bounds.maxLeft);this.left=r,this.right=this.parentWidth-this.width-r},moveVertically(e){let[t,n]=K9(this.grid,this.left,e,1),r=q9(n,this.bounds.minTop,this.bounds.maxTop);this.top=r,this.bottom=this.parentHeight-this.height-r},handleResize(e){let t=this.left,n=this.top,r=this.right,i=this.bottom,a=this.mouseClickPosition,o=this.aspectFactor,s=a.mouseX-(e.touches?e.touches[0].pageX:e.pageX),l=a.mouseY-(e.touches?e.touches[0].pageY:e.pageY);!this.widthTouched&&s&&(this.widthTouched=!0),!this.heightTouched&&l&&(this.heightTouched=!0);let[u,d]=K9(this.grid,s,l,this.scale);this.handle.includes(`b`)?(i=q9(a.bottom+d,this.bounds.minBottom,this.bounds.maxBottom),this.lockAspectRatio&&this.resizingOnY&&(r=this.right-(this.bottom-i)*o)):this.handle.includes(`t`)&&(n=q9(a.top-d,this.bounds.minTop,this.bounds.maxTop),this.lockAspectRatio&&this.resizingOnY&&(t=this.left-(this.top-n)*o)),this.handle.includes(`r`)?(r=q9(a.right+u,this.bounds.minRight,this.bounds.maxRight),this.lockAspectRatio&&this.resizingOnX&&(i=this.bottom-(this.right-r)/o)):this.handle.includes(`l`)&&(t=q9(a.left-u,this.bounds.minLeft,this.bounds.maxLeft),this.lockAspectRatio&&this.resizingOnX&&(n=this.top-(this.left-t)/o));let f=X1t(this.parentWidth,t,r),p=Z1t(this.parentHeight,n,i);this.onResize(this.handle,t,n,f,p)!==!1&&(this.left=t,this.top=n,this.right=r,this.bottom=i,this.width=f,this.height=p,this.$emit(`resizing`,this.left,this.top,this.width,this.height),this.resizing=!0)},changeWidth(e){let[t,n]=K9(this.grid,e,0,1),r=q9(this.parentWidth-t-this.left,this.bounds.minRight,this.bounds.maxRight),i=this.bottom;this.lockAspectRatio&&(i=this.bottom-(this.right-r)/this.aspectFactor);let a=X1t(this.parentWidth,this.left,r),o=Z1t(this.parentHeight,this.top,i);this.right=r,this.bottom=i,this.width=a,this.height=o},changeHeight(e){let[t,n]=K9(this.grid,0,e,1),r=q9(this.parentHeight-n-this.top,this.bounds.minBottom,this.bounds.maxBottom),i=this.right;this.lockAspectRatio&&(i=this.right-(this.bottom-r)*this.aspectFactor);let a=X1t(this.parentWidth,this.left,i),o=Z1t(this.parentHeight,this.top,r);this.right=i,this.bottom=r,this.width=a,this.height=o},handleUp(e){this.handle=null,this.resetBoundsAndMouseState(),this.dragEnable=!1,this.resizeEnable=!1,this.resizing&&(this.resizing=!1,this.$emit(`resizeStop`,this.left,this.top,this.width,this.height)),this.dragging&&(this.dragging=!1,this.$emit(`dragStop`,this.left,this.top)),Y9(document.documentElement,Z9.move,this.handleResize)}},computed:{style(){return{transform:`translate(${this.left}px, ${this.top}px)`,width:this.computedWidth,height:this.computedHeight,zIndex:this.zIndex,...this.dragging&&this.disableUserSelect?t0t:n0t}},actualHandles(){return this.resizable?this.handles:[]},computedWidth(){return this.w===`auto`&&!this.widthTouched?`auto`:this.width+`px`},computedHeight(){return this.h===`auto`&&!this.heightTouched?`auto`:this.height+`px`},minW(){return this.minWidth},minH(){return this.minHeight},maxW(){return this.maxWidth},maxH(){return this.maxHeight},resizingOnX(){return!!this.handle&&(this.handle.includes(`l`)||this.handle.includes(`r`))},resizingOnY(){return!!this.handle&&(this.handle.includes(`t`)||this.handle.includes(`b`))},isCornerHandle(){return!!this.handle&&[`tl`,`tr`,`br`,`bl`].includes(this.handle)}},watch:{active(e){this.enabled=e,e?this.$emit(`activated`):this.$emit(`deactivated`)},z(e){(e>=0||e===`auto`)&&(this.zIndex=e)},x(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcDragLimits()),this.moveHorizontally(e))},y(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcDragLimits()),this.moveVertically(e))},lockAspectRatio(e){e?this.aspectFactor=this.width/this.height:this.aspectFactor=void 0},w(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcResizeLimits()),this.changeWidth(e))},h(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcResizeLimits()),this.changeHeight(e))}}},i0t=[`onMousedown`,`onTouchstart`];function a0t(e,t,n,r,i,a){return B(),V(`div`,{style:ge(a.style),class:xe([{[n.classNameActive]:e.enabled,[n.classNameDragging]:e.dragging,[n.classNameResizing]:e.resizing,[n.classNameDraggable]:n.draggable,[n.classNameResizable]:n.resizable},n.className]),onMousedown:t[0]||=(...e)=>a.elementMouseDown&&a.elementMouseDown(...e),onTouchstart:t[1]||=(...e)=>a.elementTouchDown&&a.elementTouchDown(...e)},[(B(!0),V(Ir,null,dr(a.actualHandles,t=>(B(),V(`div`,{key:t,class:xe([n.classNameHandle,n.classNameHandle+`-`+t]),style:ge({display:e.enabled?`block`:`none`}),onMousedown:Ai(e=>a.handleDown(t,e),[`stop`,`prevent`]),onTouchstart:Ai(e=>a.handleTouchDown(t,e),[`stop`,`prevent`])},[pr(e.$slots,t)],46,i0t))),128)),pr(e.$slots,`default`)],38)}var o0t=e0t(r0t,[[`render`,a0t]]);function Q9(e){Q9.installed||(Q9.installed=!0,e.component(`VueDraggableResizable`,o0t))}var s0t={install:Q9},$9=null;typeof window<`u`?$9=window.Vue:typeof global<`u`&&($9=global.Vue),$9&&$9.use(s0t);var c0t=3;function l0t(e={},t){let n=e.initWidth||400,r=e.minWidth||400,i=e.minHeight||400,a=e.maxWidthPercent||40,o=e.compressedHeight||800,s=e.compressedPadding===void 0?0:e.compressedPadding,l=sn(e.defaultLeft===void 0?window.innerWidth-n:e.defaultLeft),u=sn(e.defaultTop===void 0?0:e.defaultTop),d=sn(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),f=sn(n),p=sn(u.value),m=sn(l.value),h=sn(f.value),g=sn(d.value),_=sn(Math.max(window.innerWidth*(a/100),h.value)),v=sn(!1),y=sn(0),b=null,x=null,S=0,C=0,w=!1,T=null,E=sn(!1),D=e=>{let t=window.innerWidth,n={...e};return n.width>t&&(n.width=t),n.x+n.width>t&&(n.x=t-n.width),n.x<0&&(n.x=0),n},O=()=>({x:m.value,y:p.value,width:h.value,height:g.value}),k=(e,t)=>{E.value&&(T!==null&&Math.abs(e-T.x)<=c0t&&Math.abs(t-T.width)<=c0t||(b=null,w=!1))},A=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),k(e,h.value),t?.onDragging?.(O())},j=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,k(e,h.value),t?.onResizing?.(O())},M=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),k(e,h.value),x=E.value?O():null,t?.onDragStop?.(O())},N=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,k(e,h.value),x=E.value?O():null,t?.onResizeStop?.(O())},P=()=>{_.value=Math.max(window.innerWidth*(a/100),h.value),Dn(()=>{if(v.value)m.value=window.innerWidth-h.value-s,p.value=window.innerHeight-o-s;else{let e=window.innerWidth-h.value-y.value;m.value=Math.max(0,e),setTimeout(()=>{g.value=window.innerHeight-p.value},0)}h.value>_.value&&(h.value=_.value)})},F=()=>{v.value?(p.value=u.value,Dn(()=>{g.value=d.value,m.value=l.value,h.value=f.value})):(p.value=window.innerHeight-o-s,m.value=l.value-s,h.value=n,g.value=o),v.value=!v.value},I=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value)},L=(e,t)=>{h.value=Math.max(r,Math.min(e,_.value)),g.value=Math.max(i,t)},R=(e,t,n,r)=>{I(e,t),L(n,r)},ee=()=>{y.value=m.value-(window.innerWidth-h.value)},te=async(e,t,n,r,i=`expand`)=>{let a=t.x!==e.x,o=t.width!==e.width,s=async()=>{a&&(I(t.x,t.y),await Dn())},l=async()=>{r?.onBeforeSizeChange?.(),o&&(L(t.width,t.height),await Dn())};try{if(i===`expand`){if(await s(),n!==C)return;await l();return}if(await l(),n!==C)return;await s()}finally{ee(),T=O()}};return or(()=>{window.addEventListener(`resize`,P)}),sr(()=>{window.removeEventListener(`resize`,P)}),{minWidth:r,minHeight:i,maxWidth:_,top:p,left:m,width:h,height:g,isCompressed:v,isSidePanelExpanded:E,handleDragging:A,handleResizing:j,handleDragStop:M,handleResizeStop:N,toggleCompression:F,updatePosition:I,updateSize:L,updatePositionAndSize:R,expandForSidePanel:async(e,t)=>{if(E.value)return;let n=O();b={...n},E.value=!0;let i=++C,a=window.innerWidth,o=r+e;if(n.width>=o){S=0,w=!1,x={...n},T={...n},t?.onBeforeSizeChange?.();return}let s=x?.width??n.width+e;s=Math.min(s,_.value,a),s=Math.max(s,o,r);let l=Math.max(0,s-n.width),u=a-(n.x+n.width),d=Math.max(0,l-u),f=Math.max(0,n.x-d);s=Math.min(s,a-f),S=Math.max(0,s-n.width);let p=D({x:f,y:n.y,width:s,height:n.height});w=p.x!==n.x,await te(n,p,i,t,`expand`),i===C&&(x=O())},collapseSidePanel:async e=>{if(!E.value)return;let t=O();x={...t},E.value=!1;let n=++C,i=b,a=w&&i!==null,o=i?.width??Math.max(r,t.width-S),s=D({x:a&&i?i.x:t.x,y:t.y,width:o,height:t.height});w=!1,await te(t,s,n,e,`collapse`)},abortSidePanelSequence:()=>{C+=1,E.value=!1,w=!1,b&&(I(b.x,b.y),L(b.width,b.height)),ee(),T=O()}}}var u0t={class:`draggable-container-content`},d0t=Ni(Qn({__name:`draggable-container`,props:{className:{default:``},compressedHeight:{default:800},compressedPadding:{default:0},defaultHeight:{default:void 0},defaultWidth:{default:400},defaultX:{default:void 0},defaultY:{default:0},draggable:{type:Boolean,default:!0},dragHandle:{default:`.drag-handle`},maxWidth:{default:void 0},maxWidthPercent:{default:80},minHeight:{default:400},minWidth:{default:400},resizable:{type:Boolean,default:!0},teleportTo:{default:`body`},visible:{type:Boolean,default:!1}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=sn(!1),{minWidth:o,minHeight:s,maxWidth:l,top:u,left:d,width:f,height:p,isCompressed:m,isSidePanelExpanded:h,handleDragging:g,handleResizing:_,handleDragStop:v,handleResizeStop:y,toggleCompression:b,updatePosition:x,updateSize:S,updatePositionAndSize:C,expandForSidePanel:w,collapseSidePanel:T,abortSidePanelSequence:E}=l0t({initWidth:r.defaultWidth,minWidth:r.minWidth,minHeight:r.minHeight,maxWidthPercent:r.maxWidthPercent,compressedHeight:r.compressedHeight,defaultHeight:r.defaultHeight,defaultTop:r.defaultY,defaultLeft:r.defaultX,compressedPadding:r.compressedPadding},{onDragStop:e=>i(`drag-stop`,e),onResizeStop:e=>i(`resize-stop`,e),onDragging:e=>i(`dragging`,e),onResizing:e=>i(`resizing`,e)}),D=U(()=>({"--draggable-max-width":typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth??`${l.value}px`})),O=U(()=>({x:d.value,y:u.value,width:f.value,height:p.value})),k=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},A=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},j=(e,t)=>{a.value||(a.value=!0,k()),g(e,t)},M=(e,t,n,r)=>{a.value||(a.value=!0,k()),_(e,t,n,r)},N=(e,t)=>{v(e,t),a.value=!1,A()},P=(e,t,n,r)=>{y(e,t,n,r),a.value=!1,A()};return Ln(m,e=>{i(`compression-change`,e)}),t({updatePosition:x,updateSize:S,updatePositionAndSize:C,toggleCompression:b,expandForSidePanel:w,collapseSidePanel:T,abortSidePanelSequence:E,positionAndSize:O,isCompressed:m,isSidePanelExpanded:h}),(e,t)=>Nn((B(),Wr(z(o0t),{ref:`draggableRef`,active:r.visible,class:xe([`draggable-container-wrapper`,r.className,{"is-dragging-or-resizing":a.value}]),"class-name":`draggable-container-inner`,"drag-handle":r.dragHandle,draggable:r.draggable,h:z(p),"max-width":z(l),"min-height":z(s),"min-width":z(o),parent:!0,"prevent-deactivation":!0,resizable:r.resizable,style:ge(D.value),w:z(f),x:z(d),y:z(u),onDragStop:N,onDragging:j,onResizeStop:P,onResizing:M},{default:Mn(()=>[H(`div`,u0t,[pr(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`drag-handle`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`style`,`w`,`x`,`y`])),[[Si,r.visible]])}}),[[`__scopeId`,`data-v-7417a71b`]]),f0t={class:`nimbus-bkai-wrapper`},p0t=[`width`,`height`,`src`],m0t=Ni(Qn({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:t}){Yne(e=>({v05a8b16e:`${a.value.container}px`,v4e1cf4ca:`${a.value.wrapper}px`,v5ab0c513:`${a.value.mini.right}px`,v40c13a80:`${a.value.mini.size}px`,v0d35a9ef:`${a.value.mini.fontSize}px`}));let n=e,r=t,i={small:{container:40,wrapper:32,img:24,mini:{size:14,fontSize:10,right:-4}},normal:{container:48,wrapper:40,img:32,mini:{size:16,fontSize:12,right:-6}},large:{container:56,wrapper:48,img:40,mini:{size:18,fontSize:14,right:-6}}},a=U(()=>i[n.size]),o=sn(null),s=sn(null),{nimbusLeft:l,nimbusTop:u,isMinimize:d,handleClick:f,handleMinimize:p,handleDragging:m,handleMouseEnter:h,handleMouseLeave:g,handleMouseDown:_,handleMouseUp:v}=H1t(r,n.isMinimize);Ln(d,e=>{r(`update:isMinimize`,e)});let y=U(()=>d.value?cf(`恢复默认大小`):cf(`最小化,将缩成锚点`)),{createTooltip:b,destroyAll:x}=q1t({theme:`ai-blueking`,delay:[0,0]}),S=()=>{Dn(()=>{C()})},C=()=>{x(),o.value&&!d.value&&b(o.value,LSe(),{placement:`left`}),s.value&&b(s.value,y.value,{placement:`top`})};return Ln(()=>d.value,()=>{Dn(()=>{C()})}),or(()=>{Dn(()=>{C()}),window.addEventListener(`resize`,S)}),sr(()=>{window.removeEventListener(`resize`,S)}),(t,n)=>(B(),Wr(z(o0t),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:a.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:a.value.container,x:z(l),y:z(u),onDragging:z(m)},{default:Mn(()=>[H(`div`,{ref_key:`nimbusContainerRef`,ref:o,class:xe([`nimbus-container`,{"is-minimize":z(d)}]),onClick:n[1]||=(...e)=>z(f)&&z(f)(...e),onMousedown:n[2]||=(...e)=>z(_)&&z(_)(...e),onMouseenter:n[3]||=(...e)=>z(h)&&z(h)(...e),onMouseleave:n[4]||=(...e)=>z(g)&&z(g)(...e),onMouseup:n[5]||=(...e)=>z(v)&&z(v)(...e)},[H(`div`,f0t,[H(`img`,{width:a.value.img,height:a.value.img,src:z(U$t),alt:`nimbus`},null,8,p0t)]),H(`i`,{ref_key:`minimizeButtonRef`,ref:s,class:xe([`nimbus-mini bkai-icon`,z(d)?`bkai-yinyong`:`bkai-minus-line`]),onClick:n[0]||=Ai((...e)=>z(p)&&z(p)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),h0t=Ni(Qn({inheritAttrs:!1,__name:`ai-blueking`,props:mte({alwaysCreateNewSession:{type:Boolean},autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enableModelSelect:{type:Boolean},models:{},enablePopup:{type:Boolean},errorToast:{type:Boolean},executionTabVisible:{type:Boolean},extCls:{},getSideRenderComponent:{type:Function},getSideTabRenderComponent:{type:Function},helloText:{},messageTools:{},updateTools:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},ignoreErrors:{},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},onCustomTabChange:{type:Function},placeholder:{},prompts:{},renderMode:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},useAgentName:{type:Boolean},beforeNimbusClick:{type:Function},shortcutFilter:{type:Function},resizeProps:{},size:{},timezone:{}},J1t),emits:[`show`,`close`,`dragging`,`resizing`,`drag-stop`,`resize-stop`,`send-message`,`receive-start`,`receive-text`,`receive-end`,`stop`,`shortcut-click`,`session-initialized`,`sdk-error`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=fte(),{chatHelper:o,componentManager:s,modelSelection:l,sessionBusinessManager:u,shareBusinessManager:d,shortcutManager:f,forwarders:p,forwardToManager:m,chatBotRef:h,draggableContainerRef:g,panelVisible:_,nimbusMinimized:v,normalizedUrl:y,agentName:b,currentSession:x,isCompressed:S,isWelcomeState:C,handleError:w,reportSdkError:T,ensureSessionReady:E,updateAgentInfo:D}=B1t({props:r,emit:i}),O=U(()=>l.selectedLlmCode.value),{show:k,hide:A,handleShow:j,handleClose:M,handleNimbusClick:N,handleDragging:P,handleResizing:F,handleDragStop:I,handleResizeStop:L,handleToggleCompression:R,handleCompressionChange:ee,handleExecutionPanelChange:te,handleToggleAside:ne,handleAsideCollapsedUpdate:re,asideCollapsed:ie,sendMessage:ae,handleReceiveStart:oe,handleReceiveText:se,handleReceiveEnd:ce,handleStop:le,stopGeneration:ue,setCiteText:de,focusInput:fe,selectShortcut:pe,sendShortcut:me,getChatHelper:he,updatePosition:_e,updateSize:ve,updatePositionAndSize:ye,handleShortcutClick:be}=W1t({componentManager:s,chatBotRef:h,forwarders:p,forwardToManager:m,beforeNimbusClick:r.beforeNimbusClick,ensureSessionReady:E}),{sessionName:Ce,hasPermission:we,hasSessionContents:Te,autoGenerateLoading:Ee,handleNewChat:De,handleNewChatCreated:Oe,handleHistoryClick:ke,handleHistorySessionSwitch:Ae,handleHistorySessionDelete:je,handleHistorySessionRename:Me,handleAutoGenerateName:Ne,handleHelpClick:Pe,handleRename:Fe,handleSessionRenamed:Ie,handleSessionSwitched:Le,addNewSession:Re,switchToSession:ze,updateSessionName:Be}=G1t({chatHelper:o,sessionBusinessManager:u,chatBotRef:h,forwarders:p,reportSdkError:T,currentSession:x}),{isShareLoading:Ve,handleShare:He,handleCancelShare:Ue,handleConfirmShare:We}=K1t({shareBusinessManager:d,chatBotRef:h,emit:(e,t,n)=>i(e,t,n),forwarders:p,reportSdkError:T}),{aiSelectionVisible:Ge,filteredPopupShortcuts:Ke,handleSelectionChange:qe,handleAiSelectionShortcut:Je}=V1t({shortcutManager:f,chatBotRef:h,forwardToManager:m,show:k,props:r}),Ye=e=>{Te.value=!0,p.sendMessage(e)};return t({show:k,handleShow:j,handleClose:M,hide:A,sendMessage:ae,selectShortcut:pe,sendShortcut:me,getChatHelper:he,stopGeneration:ue,addNewSession:Re,switchToSession:ze,updateSessionName:Be,updatePosition:_e,updateSize:ve,updatePositionAndSize:ye,setCiteText:de,focusInput:fe,updateAgentInfo:D}),(e,t)=>(B(),Wr(Un,{to:r.teleportTo},[H(`div`,{class:xe([`ai-blueking-v2`,r.extCls,z(a).class])},[Qr(` 可拖拽容器 `),Jr(z(d0t),{ref_key:`draggableContainerRef`,ref:g,"compressed-padding":r.miniPadding,"default-height":r.defaultHeight,"default-width":r.defaultWidth,"default-x":r.defaultLeft,"default-y":r.defaultTop,"drag-handle":`.drag-handle`,draggable:r.draggable,"max-width":r.maxWidth,"max-width-percent":80,visible:z(_),onCompressionChange:z(ee),onDragStop:z(I),onDragging:z(P),onResizeStop:z(L),onResizing:z(F)},{default:Mn(()=>[H(`div`,{class:xe([`ai-blueking-panel`,{"has-messages":!z(C)}])},[Qr(` 独立的 Header 组件 `),r.hideHeader?Qr(`v-if`,!0):(B(),Wr($$t,{key:0,"agent-name":z(b),"aside-collapsed":z(ie),"auto-generate-loading":z(Ee),"chat-helper":z(o),draggable:r.draggable,"dropdown-menu-config":r.dropdownMenuConfig,"enable-chat-session":r.enableChatSession,"has-permission":z(we),"has-session-contents":z(Te),"is-compression-height":z(S),"render-mode":r.renderMode,"selected-llm-code":O.value,"session-business-manager":z(u),"session-name":z(Ce),"show-compression-icon":r.showCompressionIcon,"show-history-icon":r.showHistoryIcon,"show-more-icon":r.showMoreIcon,"show-new-chat-icon":r.showNewChatIcon,title:r.title,onAutoGenerateName:z(Ne),onClose:z(M),onHelpClick:z(Pe),onHistoryClick:z(ke),onHistorySessionDelete:z(je),onHistorySessionRename:z(Me),onHistorySessionSwitch:z(Ae),onNewChat:z(De),onNewChatCreated:z(Oe),onRename:z(Fe),onShare:z(He),onToggleAside:z(ne),onToggleCompression:z(R)},fr({_:2},[e.$slots.headerLeft?{name:`headerLeft`,fn:Mn(()=>[pr(e.$slots,`headerLeft`,{},void 0,!0)]),key:`0`}:void 0]),1032,`agent-name.aside-collapsed.auto-generate-loading.chat-helper.draggable.dropdown-menu-config.enable-chat-session.has-permission.has-session-contents.is-compression-height.render-mode.selected-llm-code.session-business-manager.session-name.show-compression-icon.show-history-icon.show-more-icon.show-new-chat-icon.title.onAutoGenerateName.onClose.onHelpClick.onHistoryClick.onHistorySessionDelete.onHistorySessionRename.onHistorySessionSwitch.onNewChat.onNewChatCreated.onRename.onShare.onToggleAside.onToggleCompression`.split(`.`))),Qr(` ChatBot 核心组件(仅聊天区域) `),Jr(M1t,{ref_key:`chatBotRef`,ref:h,"always-create-new-session":r.alwaysCreateNewSession,"aside-collapsed":z(ie),"auto-load":r.loadRecentSessionOnMount,"chat-helper":z(o),"enable-model-select":r.enableModelSelect,"error-toast":!1,"execution-tab-visible":r.executionTabVisible,"get-side-render-component":r.getSideRenderComponent,"get-side-tab-render-component":r.getSideTabRenderComponent,"hello-text":r.helloText,"message-tools":r.messageTools,"model-selection-manager":z(l),models:r.models,"on-custom-tab-change":r.onCustomTabChange,placeholder:r.placeholder,prompts:r.prompts,"render-mode":r.renderMode,"request-options":r.requestOptions,"resize-props":r.resizeProps,resources:r.resources,"session-code":r.initialSessionCode,"share-loading":z(Ve),shortcuts:r.shortcuts,size:r.size,timezone:r.timezone,style:ge({height:r.hideHeader?`100%`:`calc(100% - 48px)`}),"update-tools":r.updateTools,url:z(y),"use-agent-name":r.useAgentName,onAgentAction:t[0]||=(e,t)=>i(`agent-action`,e,t),onCancelShare:z(Ue),onConfirmShare:t[1]||=(e,t)=>z(We)(e,t),onError:t[2]||=e=>z(w)(e),onExecutionPanelChange:z(te),onReceiveEnd:z(ce),onReceiveStart:z(oe),onReceiveText:z(se),onRename:z(Ie),onRequestShare:z(He),onSendMessage:t[3]||=e=>Ye(e),onSessionSwitched:t[4]||=e=>z(Le)(e),onShortcutClick:z(be),onStop:z(le),"onUpdate:asideCollapsed":z(re)},fr({_:2},[e.$slots.welcome?{name:`welcome`,fn:Mn(t=>[pr(e.$slots,`welcome`,Se(Yr(t)),void 0,!0)]),key:`0`}:void 0,e.$slots.codeHeader?{name:`codeHeader`,fn:Mn(t=>[pr(e.$slots,`codeHeader`,Se(Yr(t)),void 0,!0)]),key:`1`}:void 0,e.$slots.message?{name:`message`,fn:Mn(({message:t,messageToolsStatus:n,onInterruptResume:r})=>[pr(e.$slots,`message`,{message:t,messageToolsStatus:n,onInterruptResume:r},void 0,!0)]),key:`2`}:void 0]),1032,`always-create-new-session.aside-collapsed.auto-load.chat-helper.enable-model-select.execution-tab-visible.get-side-render-component.get-side-tab-render-component.hello-text.message-tools.model-selection-manager.models.on-custom-tab-change.placeholder.prompts.render-mode.request-options.resize-props.resources.session-code.share-loading.shortcuts.size.timezone.style.update-tools.url.use-agent-name.onCancelShare.onExecutionPanelChange.onReceiveEnd.onReceiveStart.onReceiveText.onRename.onRequestShare.onShortcutClick.onStop.onUpdate:asideCollapsed`.split(`.`))],2)]),_:3},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`,`onCompressionChange`,`onDragStop`,`onDragging`,`onResizeStop`,`onResizing`]),Qr(` Nimbus 悬浮球 `),r.hideNimbus?Qr(`v-if`,!0):(B(),Wr(m0t,{key:0,"is-minimize":z(v),"onUpdate:isMinimize":t[5]||=e=>on(v)?v.value=e:null,"is-panel-show":z(_),"onUpdate:isPanelShow":t[6]||=e=>on(_)?_.value=e:null,"default-minimize":r.defaultMinimize,size:r.nimbusSize,onClick:z(N)},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`,`onClick`])),Qr(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),r.enablePopup?(B(),Wr(z(ROe),{key:1,visible:z(Ge),"onUpdate:visible":t[7]||=e=>on(Ge)?Ge.value=e:null,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":r.shortcutLimit,shortcuts:z(Ke),onSelectShortcut:z(Je),onSelectionChange:z(qe)},null,8,[`visible`,`max-shortcut-count`,`shortcuts`,`onSelectShortcut`,`onSelectionChange`])):Qr(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-af633e66`]]),g0t=[`close`,`show`,`stop`,`shortcut-click`,`send-message`,`receive-start`,`receive-end`,`receive-text`,`session-initialized`,`drag-stop`,`resize-stop`,`dragging`,`resizing`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`sdk-error`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],_0t=[`show`,`handleShow`,`handleClose`,`hide`,`sendMessage`,`stopGeneration`,`addNewSession`,`switchToSession`,`updateSessionName`,`updatePosition`,`updateSize`,`updatePositionAndSize`,`setCiteText`,`focusInput`,`getChatHelper`,`selectShortcut`,`sendShortcut`],v0t=N1t(h0t,{name:`AIBluekingV2`,props:{extCls:{type:String,default:``},shortcuts:{type:Array,default:()=>[]},enablePopup:{type:Boolean,default:!0},url:{type:String,default:``},prompts:{type:Array,default:()=>[]},teleportTo:{type:String,default:`body`},title:{type:String,default:``},helloText:{type:String,default:()=>cf(`你好,我是小鲸`)},useAgentName:{type:Boolean,default:!1},requestOptions:{type:Object,default:()=>({})},defaultMinimize:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},hideNimbus:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},defaultWidth:{type:Number,default:400},defaultHeight:{type:Number,default:void 0},defaultLeft:{type:Number,default:void 0},defaultTop:{type:Number,default:0},disabledInput:{type:Boolean,default:!1},showCompressionIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},defaultChatInputPosition:{type:String,default:void 0},maxWidth:{type:[Number,String],default:1e3},initialSessionCode:{type:String,default:``},autoSwitchToInitialSession:{type:Boolean,default:!1},alwaysCreateNewSession:{type:Boolean,default:!1},loadRecentSessionOnMount:{type:Boolean,default:!0},shortcutLimit:{type:Number,default:3},shortcutFilter:{type:Function,default:void 0},placeholder:{type:String,default:void 0},enableChatSession:{type:Boolean,default:!0},nimbusSize:{type:String,default:`normal`},miniPadding:{type:Number,default:0},dropdownMenuConfig:{type:Object,default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0})},resources:{type:Array,default:void 0},messageTools:{type:Array,default:void 0},updateTools:{type:Array,default:void 0},hideDefaultTrigger:{type:Boolean,default:!1},beforeNimbusClick:{type:Function,default:void 0},getSideRenderComponent:{type:Function,default:void 0},getSideTabRenderComponent:{type:Function,default:void 0},onCustomTabChange:{type:Function,default:void 0},executionTabVisible:{type:Boolean,default:!0},resizeProps:{type:Object,default:void 0},size:{type:String,default:void 0},timezone:{type:String,default:void 0}},emitNames:[...g0t],exposeKeys:[..._0t],slots:[`codeHeader`,`headerLeft`,`message`,`welcome`],deepWatchProps:[`requestOptions`,`shortcuts`,`beforeNimbusClick`],methods:{show(){return console.warn(`AIBluekingV2: show method not ready`),Promise.resolve()},handleShow(){return console.warn(`AIBluekingV2: handleShow method not ready`),Promise.resolve()},handleClose(){console.warn(`AIBluekingV2: handleClose method not ready`)},hide(){console.warn(`AIBluekingV2: hide method not ready`)},sendMessage(){return console.warn(`AIBluekingV2: sendMessage method not ready`),Promise.resolve()},stopGeneration(){console.warn(`AIBluekingV2: stopGeneration method not ready`)},addNewSession(){return console.warn(`AIBluekingV2: addNewSession method not ready`),Promise.resolve()},switchToSession(){return console.warn(`AIBluekingV2: switchToSession method not ready`),Promise.resolve()},updateSessionName(){return console.warn(`AIBluekingV2: updateSessionName method not ready`),Promise.resolve()},updatePosition(){console.warn(`AIBluekingV2: updatePosition method not ready`)},updateSize(){console.warn(`AIBluekingV2: updateSize method not ready`)},updatePositionAndSize(){console.warn(`AIBluekingV2: updatePositionAndSize method not ready`)},setCiteText(){console.warn(`AIBluekingV2: setCiteText method not ready`)},focusInput(){console.warn(`AIBluekingV2: focusInput method not ready`)},getChatHelper(){return console.warn(`AIBluekingV2: getChatHelper method not ready`),null},selectShortcut(){console.warn(`AIBluekingV2: selectShortcut method not ready`)},sendShortcut(){return console.warn(`AIBluekingV2: sendShortcut method not ready`),Promise.resolve()}}}),y0t=[`send-message`,`error`,`stop`,`receive-start`,`receive-end`,`receive-text`,`shortcut-click`,`session-switched`,`agent-info-loaded`,`request-share`,`confirm-share`,`cancel-share`,`execution-panel-change`,`update:asideCollapsed`,`feedback`,`agent-action`,`rename`],b0t=[`sendMessage`,`stopGeneration`,`focusInput`,`setCiteText`,`switchSession`,`selectShortcut`,`sendShortcut`,`enterShareMode`,`exitShareMode`,`getChatHelper`,`currentSession`,`isGenerating`,`messages`,`isReady`,`whenReady`];return e.ChatBotV2=N1t(M1t,{name:`ChatBotV2`,props:{chatHelper:{type:Object,default:void 0},url:{type:String,default:``},height:{type:[Number,String],default:void 0},maxWidth:{type:[Number,String],default:void 0},extCls:{type:String,default:``},helloText:{type:String,default:void 0},useAgentName:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},shortcuts:{type:Array,default:()=>[]},prompts:{type:Array,default:()=>[]},resources:{type:Array,default:()=>[]},requestOptions:{type:Object,default:()=>({})},messageToolsTippyOptions:{type:Object,default:void 0},messageTools:{type:Array,default:void 0},updateTools:{type:Array,default:void 0},enableSelection:{type:Boolean,default:!1},shareLoading:{type:Boolean,default:!1},autoLoad:{type:Boolean,default:!0},alwaysCreateNewSession:{type:Boolean,default:!1},sessionCode:{type:String,default:void 0},resizeProps:{type:Object,default:void 0},size:{type:String,default:void 0},timezone:{type:String,default:void 0},getSideRenderComponent:{type:Function,default:void 0},getSideTabRenderComponent:{type:Function,default:void 0},onCustomTabChange:{type:Function,default:void 0},executionTabVisible:{type:Boolean,default:!0}},emitNames:[...y0t],exposeKeys:[...b0t],slots:[`codeHeader`,`message`,`welcome`],deepWatchProps:[`requestOptions`,`shortcuts`,`beforeNimbusClick`]}),e.default=v0t,e.h=W,e})({});
|
|
3915
|
+
`)),t.onAgentAction?.(e,n)),y=async(e,n)=>{t.onUserAction?.(e,n)},b=async(e,n,r)=>{t.onUserInputConfirm?.(e,n,r)},x=async(e,n)=>{t.onUserShortcutConfirm?.(e,n)};return(n,s)=>(B(),V(`div`,{ref_key:`messageContainerRef`,ref:a,class:`ai-message-container`},[(B(!0),V(Ir,null,dr(m.value,(a,o)=>(B(),V(`div`,{id:a.uid,key:o,class:`message-group`,"data-message-group-id":a.uid,style:ge({backgroundColor:a.checked?`#f5f7fa`:`transparent`}),onMouseenter:e=>h(a),onMouseleave:e=>g(a,e)},[pr(n.$slots,`group`,ni({ref_for:!0},{group:a}),()=>[e.enableSelection&&a.type!==z(jf).Loading?(B(),Wr(z(xu),{key:0,class:xe([`message-group-checkbox`,{"is-user-group":a.type===z(jf).User}]),"model-value":a.checked,"onUpdate:modelValue":e=>_(a,e)},null,8,[`class`,`model-value`,`onUpdate:modelValue`])):Qr(`v-if`,!0),H(`div`,{class:xe([`message-group-messages`,{"message-group-enabled-selection":e.renderMode===z(Ff).Share||e.enableSelection&&a.type!==z(jf).Loading}]),style:ge({width:e.enableSelection&&a.type!==z(jf).Loading?`calc(100% - 16px)`:`100%`})},[(B(!0),V(Ir,null,dr(a.messages,(i,a)=>(B(),V(`div`,{key:a,class:`ai-message-item`,"data-message-id":r(i)},[pr(n.$slots,`default`,ni({ref_for:!0},{message:i,messageToolsStatus:e.messageToolsStatus,onInterruptResume:t.onInterruptResume}),()=>[(B(),Wr(h$t,{key:a,message:i,"message-tools":e.userMessageTools,"message-tools-status":e.messageToolsStatus,"on-action":e=>y(e,i),"on-input-confirm":(e,t)=>b(i,e,t),"on-interrupt-resume":t.onInterruptResume,"on-shortcut-confirm":e=>x(i,e),"tippy-options":e.messageToolsTippyOptions},fr({_:2},[n.$slots.answeredQuestion?{name:`answeredQuestion`,fn:Mn(e=>[pr(n.$slots,`answeredQuestion`,ni({ref_for:!0},e))]),key:`0`}:void 0]),1032,[`message`,`message-tools`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`]))])],8,_$t))),128)),e.renderMode!==z(Ff).Share&&!(e.enableSelection&&a.type!==z(jf).Loading)&&!a.pause&&a.type===z(jf).Assistant&&e.messageToolsStatus!==z(I9).Hidden?(B(),Wr(GXt,{key:0,"message-tools":f.value,"message-tools-status":e.messageToolsStatus,"on-action":e=>v(e,a.messages),style:ge({visibility:a.isHover?`visible`:`hidden`}),"tippy-options":t.messageToolsTippyOptions,"update-tools":p.value,onFeedback:(e,n,r)=>t.onAgentFeedback?.(e,a.messages,n,r)},{append:Mn(()=>[Jr(DXt,{"created-at":i(a.messages)},null,8,[`created-at`])]),_:2},1032,[`message-tools`,`message-tools-status`,`on-action`,`style`,`tippy-options`,`update-tools`,`onFeedback`])):Qr(`v-if`,!0)],6)])],44,g$t))),128)),H(`div`,{ref_key:`messageContainerBottomRef`,ref:o,class:`message-container-bottom`,tabindex:`0`},null,512),H(`div`,v$t,[Nn(Jr(cEe,{loading:e.messageStatus===z(Mf).StopLoading,title:e.messageStatus===z(Mf).StopLoading?z(Df)(`正在停止`):z(Df)(`停止生成`),onClick:s[0]||=e=>n.$emit(`stopStreaming`)},{icon:Mn(()=>[Jr(z(TTe))]),_:1},8,[`loading`,`title`]),[[Si,e.renderMode!==z(Ff).Share&&(e.messageStatus===z(Mf).Streaming||e.messageStatus===z(Mf).StopLoading||e.messageStatus===z(Mf).Fetching||e.messageStatus===z(Mf).Pending)]]),Nn(Jr(cEe,{title:z(Df)(`返回底部`),onClick:s[1]||=()=>z(l)(`smooth`)},{icon:Mn(()=>[Jr(z(qTe))]),_:1},8,[`title`]),[[Si,z(u)]])])],512))}}),b$t={class:`ai-execution-summary`},x$t={key:0,class:`ai-execution-summary-header`},S$t={class:`ai-execution-summary-content`},C$t=[`onMouseenter`],w$t={class:`content-item-header`},T$t={class:`content-item-title`},E$t={class:`content-item-messages`},D$t={key:0,class:`timeline-line`},O$t={key:1,class:`ai-execution-summary-content-empty`},k$t={class:`ai-execution-summary-content-empty-text`},A$t=Qn({__name:`execution-summary`,props:{messageGroups:{}},emits:[`locateMessageGroup`,`updateKeyword`],setup(e,{emit:t}){let n=t,r=nm(),{keyword:i}=cAe(),a=cn(void 0),o=e=>{if(!e)return``;let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`},s=e=>{n(`locateMessageGroup`,e.uid,e)},l=()=>{i.value=``,n(`updateKeyword`,``)};return(t,u)=>(B(),V(`div`,b$t,[e.messageGroups.length?(B(),V(`div`,x$t,[Jr(z(mu),{modelValue:z(i),"onUpdate:modelValue":[u[0]||=e=>on(i)?i.value=e:null,u[1]||=e=>n(`updateKeyword`,e)],class:`ai-execution-summary-header-input`,clearable:``,placeholder:z(Df)(`搜索 关键字`)},null,8,[`modelValue`,`placeholder`])])):Qr(`v-if`,!0),H(`div`,S$t,[e.messageGroups.length?(B(!0),V(Ir,{key:0},dr(e.messageGroups,(t,n)=>(B(),V(`div`,{key:t.uid,class:`ai-execution-summary-content-item`,onMouseenter:e=>a.value=t.uid,onMouseleave:u[2]||=e=>a.value=void 0},[H(`div`,w$t,[u[3]||=H(`span`,{class:`timeline-dot`},null,-1),Nn((B(),V(`span`,T$t,[Zr(ke(typeof t.userMessageTitle==`number`?o(t.userMessageTitle):t.userMessageTitle),1)])),[[z(rm),{...z(r)}]]),Nn(Jr(z(ru),{class:`content-item-locate`,text:``,theme:`primary`,onClick:e=>s(t)},{default:Mn(()=>[Zr(ke(z(Df)(`在对话中定位`)),1)]),_:1},8,[`onClick`]),[[Si,a.value===t.uid]])]),H(`div`,E$t,[(B(!0),V(Ir,null,dr(t.messages,(e,t)=>(B(),Wr(h$t,{key:t,message:e},null,8,[`message`]))),128))]),n<e.messageGroups.length-1?(B(),V(`div`,D$t)):Qr(`v-if`,!0)],40,C$t))),128)):(B(),V(`div`,O$t,[Jr(z(ad),{class:`empty-exception`,scene:`part`,type:`empty`}),H(`div`,k$t,[Zr(ke(z(i)?z(Df)(`搜索结果为空`):z(Df)(`暂无数据`))+` `,1),z(i)?(B(),Wr(z(ru),{key:0,text:``,theme:`primary`,onClick:l},{default:Mn(()=>[Zr(ke(z(Df)(`清空搜索`)),1)]),_:1})):Qr(`v-if`,!0)])]))])]))}}),j$t={class:`ai-selection-footer`},M$t={class:`ai-selection-footer-left`},N$t={class:`select-all-text`},P$t={class:`ai-selection-footer-right`},F$t=Qn({__name:`selection-footer`,props:{isAllSelected:{type:Boolean},loading:{type:Boolean},selectedCount:{}},emits:[`cancel`,`confirm`,`toggle-all`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,j$t,[H(`div`,M$t,[Jr(z(xu),{"model-value":e.isAllSelected,"onUpdate:modelValue":r[0]||=e=>n(`toggle-all`,e)},null,8,[`model-value`]),H(`span`,N$t,ke(z(Df)(`全选`)),1)]),H(`div`,P$t,[Jr(z(ru),{disabled:e.loading,onClick:r[1]||=e=>n(`cancel`)},{default:Mn(()=>[Zr(ke(z(Df)(`取消`)),1)]),_:1},8,[`disabled`]),Jr(z(ru),{disabled:e.selectedCount===0,loading:e.loading,theme:`primary`,onClick:r[2]||=e=>n(`confirm`)},{default:Mn(()=>[Zr(ke(z(Df)(`确定`)),1)]),_:1},8,[`disabled`,`loading`])])]))}}),I$t=[`data-ai-size`],L$t={key:0,class:`ai-chat-container-loading`},R$t={class:`screen-wrapper`},z$t={key:1,class:`ai-welcome-content`},B$t={class:`ai-welcome-title`},V$t={key:0,class:`ai-welcome-remark`},H$t=Qn({__name:`chat-container`,props:yr({asideCollapsed:{type:Boolean,default:void 0},chatLoading:{type:Boolean},commonTippyOptions:{},executionTabVisible:{type:Boolean,default:!0},getSideRenderComponent:{},getSideTabRenderComponent:{},onArtifactClick:{},onCustomTabChange:{},openingRemark:{},resizeProps:{},size:{default:`small`},timezone:{},welcomeTitle:{},accept:{},defaultUploadFiles:{},inputMaxHeight:{},menuGroupItemLimit:{},menuSources:{},messageStatus:{},models:{},modelValue:{},onSendMessage:{},onStopSending:{},onUpload:{},placeholder:{},sendDisabledTip:{},shortcutId:{},shortcuts:{},supportUpload:{type:Boolean},tippyOptions:{},messages:{},messageTools:{},messageToolsStatus:{},onAgentAction:{},onAgentFeedback:{},onInterruptResume:{},onUserAction:{},renderMode:{},updateTools:{},userMessageTools:{},onUserInputConfirm:{},onUserShortcutConfirm:{}},{renderMode:{required:!1,default:Ff.Chat},renderModeModifiers:{},selectedShortcut:{required:!1},selectedShortcutModifiers:{},cite:{required:!1,default:``},citeModifiers:{},selectedModel:{required:!1},selectedModelModifiers:{}}),emits:yr([`selectShortcut`,`deleteShortcut`,`deleteFile`,`update:modelValue`,`modelChange`,`stopStreaming`,`shortcutClose`,`shortcutSubmit`,`confirmShare`,`collapseChange`,`update:asideCollapsed`],[`update:renderMode`,`update:selectedShortcut`,`update:cite`,`update:selectedModel`]),setup(e,{expose:t,emit:n}){let r=pxe.TabPanel,i=e,a=Er(e,`renderMode`),o=$n(`fullScreenRef`),{isFullScreen:s,enter:l,exit:u}=lke(o);lAe({renderMode:a});let d=U(()=>({collapsible:!1,immediate:!0,min:400,...i.resizeProps,placement:`right`})),f=U(()=>i.getSideRenderComponent?.(W,w.value.data?.props??{})??w.value.data?.component),p=U(()=>{let e=i.menuSources??[];return e.some(e=>e.type===`artifact`)?e:[...e,...Mke(i.messages)]}),m=$n(`chatInputRef`);mke({insertMention:e=>m.value?.insertMention?.(e)}),dke({menuSources:p,size:U(()=>i.size??`small`),supportUpload:U(()=>i.supportUpload??!1),timezone:U(()=>i.timezone)}),Ln(()=>i.size??`small`,e=>{typeof document<`u`&&(document.body.dataset.aiSize=e)},{immediate:!0});let h=Er(e,`selectedShortcut`),g=Er(e,`cite`),_=Er(e,`selectedModel`),v=n,y=cn(!0),b=U({get:()=>i.asideCollapsed??y.value,set:e=>{i.asideCollapsed===void 0&&(y.value=e),v(`update:asideCollapsed`,e)}}),x=U(()=>s.value&&o.value?{...i.commonTippyOptions,appendTo:o.value}:{...i.commonTippyOptions});dAe({tippyOptions:x});let{displayTabs:S,tabs:C,selectedTab:w,isCollapse:T,addCustomTab:E,ensureCustomTab:D,removeCustomTab:O,selectCustomTab:k,resetCustomTab:A}=ske({collapsed:b,executionTabVisible:()=>i.executionTabVisible,onTabChange:async e=>{if(e.name===`file-artifact`)return;let t=w.value.data?.props||{loading:!0,data:{}};w.value.data={...w.value.data,props:t};let n=await i.onCustomTabChange?.(e);w.value.data={...w.value.data,props:{...t,loading:!1,data:n}}}}),j={closable:!1,label:Df(`文件产物`),name:ZOe,order:-1};D(j);let M=cn(``),N=sn([]),P=cn(),F=()=>{let e=i.resizeProps?.initialDivide;return typeof e==`number`?e:400},I=cn(F()),L=cn(F()),R=cn(!1),ee=U(()=>`calc(100% - ${I.value}px)`),te=U(()=>`${L.value}px`),{messageGroups:ne,executionGroups:re,sessionArtifacts:ie,isShareMode:ae,isAllSelected:oe,onToggleShareAll:se,onCancelShare:ce,onConfirmShare:le,pendingApprovalTipText:ue,activeUserQuestionInterrupt:de}=iAe({keyword:M,messages:U(()=>i.messages),renderMode:U(()=>a.value),selectedUserMessages:N}),fe=U(()=>{let e=new Map(ie.value.map(e=>[e.outputId,e]));for(let t of m.value?.uploadedArtifacts??[])e.set(t.outputId,t);return[...e.values()]}),{activeArtifactId:pe,setActiveArtifactId:me}=$Oe({getOnArtifactClick:()=>i.onArtifactClick,onOpen:()=>{E(j)}});Ln(fe,e=>{if(!e.length){me(``);return}e.some(e=>e.outputId===pe.value)||me(e[0].outputId)},{immediate:!0}),Ln(T,e=>{e?(M.value=``,I.value=0):I.value=L.value,v(`collapseChange`,e,I.value)});let he=U(()=>i.messageStatus===Mf.StopLoading?Mf.StopLoading:ne.value?.some(e=>e.messages.some(e=>e.id===`__loading__`))?Mf.Fetching:i.messageStatus),_e=()=>{h.value=null,v(`shortcutClose`)},ve=e=>{v(`shortcutSubmit`,e)},ye=()=>{v(`deleteShortcut`)},be=e=>{v(`selectShortcut`,e)},xe=(e,t)=>{v(`update:modelValue`,e,t)},Ce=async(e,t)=>{let n=de.value;return i.onSendMessage?.(e,t,n?{payload:RYt(n),interrupt:n}:void 0)},we=e=>{if(!e)return;let t=document.getElementById(e);if(!t){let t=ne.value.find(t=>t.messages.some(t=>t.uid===e));t&&document.getElementById(t.uid)?.scrollIntoView({behavior:`smooth`});return}t.scrollIntoView({behavior:`smooth`})},Te=e=>{if(!(e instanceof HTMLElement))return;let t=e.getBoundingClientRect();t.bottom<0||t.top>window.innerHeight||e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})},Ee=e=>e===`execution`?_we:e===`file-artifact`?xwe:bwe,De=e=>{k(C.value.find(t=>t.name===e))},Oe=e=>{M.value=e},Ae=async(e,t)=>{if(e.id===`share`||e.triggerSelection){P.value=e,ae.value=!0;return}return i.onAgentAction?.(e,t)},je=()=>{v(`confirmShare`,le(),P.value),Dn(()=>{ae.value=!1,N.value=[],P.value=void 0})},Me=()=>{ce(),P.value=void 0},Ne=e=>{R.value=!0,I.value=e,L.value=e},Pe=()=>{R.value=!1};return cr(()=>{A(),typeof document<`u`&&delete document.body.dataset.aiSize}),t({selectedTab:w,addCustomTab:E,removeCustomTab:O,selectCustomTab:k,enterShareMode:()=>{ae.value=!0},exitShareMode:()=>{Me()}}),(t,n)=>(B(),V(`div`,{class:`ai-chat-container`,"data-ai-size":e.size,style:ge({"--resize-main-width":ee.value,"--resize-aside-width":te.value})},[e.chatLoading?(B(),V(`div`,L$t,[Jr(ZJt)])):(B(),Wr(z(Qbe),ni({key:1,class:[`ai-chat-container-resize-layout`,{"ai-is-collapse":z(T)||z(S).length===0,"ai-is-welcome":!e.messages?.length,"is-resizing":R.value}]},d.value,{onAfterResize:Pe,onResizing:Ne}),{aside:Mn(()=>[Jr(gi,{name:`ai-aside-content`},{default:Mn(()=>[!z(T)&&z(S).length>0?(B(),V(`div`,{key:0,ref_key:`fullScreenRef`,ref:o,class:`ai-full-screen-wrapper`},[Jr(z(pxe),{active:z(w).name,class:`ai-chat-container-tab`,"label-height":40,type:`unborder-card`,onChange:De},{setting:Mn(()=>[H(`div`,R$t,[Jr(im,{class:`screen-btn`,"tippy-options":{...x.value,content:z(s)?z(Df)(`退出全屏`):z(Df)(`全屏`)}},{default:Mn(()=>[z(s)?(B(),Wr(z(YTe),{key:1,onClick:z(u)},null,8,[`onClick`])):(B(),Wr(z(JTe),{key:0,onClick:z(l)},null,8,[`onClick`]))]),_:1},8,[`tippy-options`])])]),default:Mn(()=>[(B(!0),V(Ir,null,dr(z(S),t=>(B(),Wr(z(r),{key:t.name,class:`ai-chat-container-tab-panel`,label:()=>W(`div`,{class:`ai-execution-summary-label`,onVnodeMounted:e=>{z(w).name===t.name&&Te(e.el)}},e.getSideTabRenderComponent?.(W,t,{removeCustomTab:z(O)})??[W(Ee(t.name),{class:`ai-execution-summary-icon`}),Nn(W(`span`,{class:`ai-execution-summary-label-text`},t.label??``),[[z(rm),{...x.value,text:t.label??``}]]),t.closable!==!1&&t.name!==z(`execution`)?W(z(Hf),{class:`ai-execution-close-icon`,onClick:()=>{z(O)(t.name)}}):null]),name:t.name},null,8,[`label`,`name`]))),128))]),_:1},8,[`active`]),z(w)?.name===z(`execution`)&&e.executionTabVisible!==!1?(B(),V(Ir,{key:0},[z(T)?Qr(`v-if`,!0):(B(),Wr(A$t,{key:0,"message-groups":z(re),style:{height:`calc(100% - 40px)`},onLocateMessageGroup:we,onUpdateKeyword:Oe},null,8,[`message-groups`]))],64)):z(w)?.name===z(`file-artifact`)?(B(),Wr(PYt,{key:1,"active-id":z(pe),artifacts:fe.value,style:{height:`calc(100% - 40px)`},onSelect:z(me)},null,8,[`active-id`,`artifacts`,`onSelect`])):Qr(`v-if`,!0),z(w)&&z(w).name!==z(`file-artifact`)?(B(),V(`div`,{key:z(w).name,class:`ai-chat-container-message-slot`},[(B(),Wr(lr(f.value),ni({key:z(w).name},z(w)?.data?.props),{locateButton:Mn(()=>[Jr(z(ru),{class:`ai-locate-button`,size:`small`,text:``,theme:`primary`,onClick:n[0]||=e=>we(z(w)?.data?.messageUid)},{default:Mn(()=>[Zr(ke(z(Df)(`在对话中定位`)),1)]),_:1})]),_:1},16))])):Qr(`v-if`,!0)],512)):Qr(`v-if`,!0)]),_:1})]),main:Mn(()=>[e.messages?.length?pr(t.$slots,`default`,Se(ni({key:0},{messages:e.messages,messageStatus:e.messageStatus,messageGroups:z(ne),selectedUserMessages:N.value,messageToolsStatus:e.messageToolsStatus,isShareMode:z(ae),commonTippyOptions:x.value,handleAgentAction:Ae,onAgentFeedback:e.onAgentFeedback,onInterruptResume:e.onInterruptResume,onUserAction:e.onUserAction,onUserInputConfirm:e.onUserInputConfirm,onUserShortcutConfirm:e.onUserShortcutConfirm})),()=>[e.messages?.length?(B(),Wr(y$t,{key:0,"selected-user-messages":N.value,"onUpdate:selectedUserMessages":n[1]||=e=>N.value=e,"enable-selection":z(ae),"message-groups":z(ne),"message-status":he.value,"message-tools":e.messageTools,"message-tools-status":e.messageToolsStatus,"message-tools-tippy-options":x.value,messages:e.messages,"on-agent-action":Ae,"on-agent-feedback":e.onAgentFeedback,"on-interrupt-resume":e.onInterruptResume,"on-user-action":e.onUserAction,"on-user-input-confirm":e.onUserInputConfirm,"on-user-shortcut-confirm":e.onUserShortcutConfirm,"render-mode":a.value,"update-tools":e.updateTools,"user-message-tools":e.userMessageTools,onStopStreaming:n[2]||=e=>v(`stopStreaming`)},{group:Mn(({group:e})=>[pr(t.$slots,`group`,Se(Yr({group:e})))]),default:Mn(({message:e,messageToolsStatus:n,onInterruptResume:r})=>[pr(t.$slots,`message`,Se(Yr({message:e,messageToolsStatus:n,onInterruptResume:r})))]),_:3},8,[`selected-user-messages`,`enable-selection`,`message-groups`,`message-status`,`message-tools`,`message-tools-status`,`message-tools-tippy-options`,`messages`,`on-agent-feedback`,`on-interrupt-resume`,`on-user-action`,`on-user-input-confirm`,`on-user-shortcut-confirm`,`render-mode`,`update-tools`,`user-message-tools`])):Qr(`v-if`,!0)]):(B(),V(`div`,z$t,[pr(t.$slots,`welcome`,Se(Yr({openingRemark:e.openingRemark,welcomeTitle:e.welcomeTitle})),()=>[Jr(z(owe)),H(`h2`,B$t,ke(e.welcomeTitle??z(Df)(`你好,我是小鲸`)),1),e.openingRemark?(B(),V(`div`,V$t,[Jr(RGt,{content:e.openingRemark},null,8,[`content`])])):Qr(`v-if`,!0)])])),a.value===z(Ff).Share?Qr(`v-if`,!0):(B(),V(Ir,{key:2},[z(ae)?(B(),Wr(F$t,{key:0,"is-all-selected":z(oe),loading:!1,"selected-count":N.value.length,onCancel:Me,onConfirm:je,onToggleAll:z(se)},null,8,[`is-all-selected`,`selected-count`,`onToggleAll`])):h.value?.components?.length?(B(),Wr(YOe,ni({key:1},h.value,{class:{"is-welcome-overlay":!e.messages?.length},onClose:_e,onSubmit:ve}),null,16,[`class`])):(B(),Wr(zJt,{key:2,ref_key:`chatInputRef`,ref:m,cite:g.value,"onUpdate:cite":n[3]||=e=>g.value=e,"selected-model":_.value,"onUpdate:selectedModel":n[4]||=e=>_.value=e,"menu-sources":p.value,"message-status":he.value,"model-value":e.modelValue,models:e.models,"on-send-message":Ce,"on-stop-sending":e.onStopSending,"on-upload":e.onUpload,placeholder:e.placeholder,"send-disabled-tip":z(ue),"shortcut-id":h.value?.id,shortcuts:e.shortcuts,"support-upload":e.supportUpload,"tippy-options":x.value,onDeleteFile:n[5]||=e=>v(`deleteFile`,e),onDeleteShortcut:ye,onModelChange:n[6]||=e=>v(`modelChange`,e),onSelectShortcut:be,"onUpdate:modelValue":xe},{interrupt:Mn(()=>[z(de)?(B(),Wr(z(_Xt),{key:0,interrupt:z(de),"on-resume":e.onInterruptResume},{question:Mn(({question:e,qIndex:n,answer:r,setAnswer:i,confirm:a})=>[pr(t.$slots,`interruptQuestion`,Se(Yr({question:e,qIndex:n,answer:r,setAnswer:i,confirm:a})))]),_:3},8,[`interrupt`,`on-resume`])):Qr(`v-if`,!0),z(ue)?(B(),Wr(HJt,{key:1,content:z(ue)},null,8,[`content`])):Qr(`v-if`,!0)]),_:3},8,[`cite`,`selected-model`,`menu-sources`,`message-status`,`model-value`,`models`,`on-stop-sending`,`on-upload`,`placeholder`,`send-disabled-tip`,`shortcut-id`,`shortcuts`,`support-upload`,`tippy-options`]))],64))]),_:3},16,[`class`]))],12,I$t))}}),U$t=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAAGVn0euAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAACpM19OAAAj4UlEQVR4Ae1dB4AURbqu7pnZyOICShIVBI5TDPgwR0yn5yknKigIy+5KMCJ4ohgQMGdP8BQDsAsqHsZTnnqcPlEU1DNwnnqKYATxRDIsuxO63/f91dXTMzuzzBLEd28Leqq66q+//lR/he7qVWpbh35lsYVBnHbwJpjuPqB2Be/3s9X+jH9TFnMZZwxdBkVXdhkc+02w8E8VifoVOg+Kurze/tRxuw2OuodU1tUHMlgI2GdczH1/kSPXR1847ieLE+6AC2uk0v7DoxKn8DDkt7aaMOFOtWaNq8YjXr/WVS3DupEehXHBLRWInXc/rXbV22/NU+vWOurNN+epmnWoENEV9g9WWDIjzyoOuWo9AG694xlVi/ihe55SsfUJtOAI5h5FCYnD8oufj6ryrVcLNrknHmyrkO2qSEgpx3ZUK7SAf5Y11rIIKz+mEuM/jNzgtgDdpd4l6ZCjGO99Vat68MG6v5R09/61NfVoGe/6+vITBqg2HLoJevnK3DO+61v3CXPvi7VbpVsSj8XW7b2HUsNPDamrQ3VuKXRzVlF+wYhJVj9TwRcTtT1rbBgyVyqM3BBS190VVS0i7psfRMNHLnwwT2CFpD3LYmM6trXU8lWuWvzlCrV6jaO+/GqFumpoRLUMOUfu72mZrdgdyzd1tFz3liP3sdRaGNuI84eoDYiHDhuqatdrTRvDYwWfpIMr6tzKk21VBLoLYRqFaJvxFwuiqhtaOHZsiyRJrEmbef31mIoCa3yDqxIbHOXiYr4BTmmBNxeN2PgWbOjwUtoOACklY1c9r2npU0PYX07YYrL69nXzrKJ4ncfKglnVkcOZ3nNgbNyXj0YmGBZzauCSo39yPUBHWRZ0Y/We9HrLFwwSNlZYGFuUb1l7FECxBTCqAmWPu6E6dH2DDRjfYxCZ2EatAstV/6zOt24uc1vZduKnMVW0V6VeqUwsOWFqqLOBzdiAQdyji6VuroSRaz+miJiB5j1kQlQaKYArem5yoY+n7Xnx73+YEm4vgPjxC0yGQT71ct2PCEDENthmHMIF4pF2JT3pATQEof1pYrF10sW1IsqX7ytgNQnSmzsPqluOakXIac7cy84KqR/Q74jswvLTBbBqxrPSaQcO7CP3Tz/+jJTT65ILhgPQY8jty/pWfv2WDOWkkl3s4tNtQUjJRnAxTl5oHBxFIKu3X9EcjLqtuTXzOnRqwPWfsBN+dfD9EccGZh1SWesU2Mp65sWEOvUoW5DHIY48tJxQDly/gtMHIGKKjRyw3zNg7FgOBtrpO/3rtxTMZLo/xkBygsZExrSaQogieM+05LHMdh4+7roWwy0LN03hP0cCvXq5vhVm4yqrFWWrYPL7DY5ehM55H+9tK97piarCr01Zo+J9zqkd0X1A9C5W6n5u3d6YXc4zCG4sjz9k0oyPw0zzlLL45GDeZjkYAVcNF60mvt7KMm574hs7p9TrPzB2IvrDnHxgLgBsAfxFfjjcavwUa1UKYLBlk24/zC0q3BR7Bfc90XFnLnk0r9yUpcf3VsTdfHSz86voVHTwEybDxJg7TwFspbkPxnnorEUF8fbvP1S8/Nby+DfwIhddMS08+6+D3OKTZlgbg7AZGzCOzwCOHRhSR3S31FPzHDXjpYTnMuBGLGvBq4/ky1BpYNPjeg0Ekb94M8YEz7NwRktgXptqXXXZ7THto2znlKceKH6JiNtVxh+37dAVyx6xlvKewfOD+ib4y4nbhk1KbajVVw1iIubFSvdeERG3XmRbL5p6rSNO/11Cse/MPeOUBgz1V/UPqfVEjmvjJlfVeohr0Yi5YlGFaZr2tCNH1owksnYRR7XFhCoYUhowBe1aErmrNgLx0PIKHymRDyqrUDGsQ+pQdkllnioSl+7cw7ptMDa0Cev1hMHlDZnRtSaDMSmnzC/2hktyEAYpZd5wGfXuuUThYMOxgkFTn5kDjsUyHhOwBgjqsFBrvlML3kq6DhyVlur7GKZbnHIlAFPozWYJR+rTRSQccLg08o+AmjqIIgHKrr1hiozDMn8DR3fcPAVjsQPEmH9x8Mb/QsCbQb9dXir1bNTXARvJt1VdEXJehL1TDJpSxi4oxhQaiB0o14nhQtrFxSGTdRgy6cBvgACfVucVcBzeuC6h4kBEpDE0RFHIhTzGDi4XaRfK1uN2UgdtvcUj8THU8+eg6B5Mm0bNmx9X+3a2VBtYVAKiCIEUh8pELMtJxOtWOUJ9Pohi2HtM/Tk+qtYPfS+oeRrWcQYtJN/SEyuxFpokZY58mU3gPh/3wkXY6tfr2tIn07FlbMAAjbx0o0vqfORAXIAlcSEUzOmiXGwAejBw+cr9qNtVrWQnwuBpipsksF0l0Lfcbbs1DcCud1zoNzjmWm58OeKjs1HR4TwXniR72GEMXFQRf5Bzt50xrLVS6m+j+rqF6WTuPyh6futobGV6fvC+QT8UBGwofeqp2OiDM+UQi/D3F2Y3P/i001bt7jrhb3SexXHpsednlwxMx1N9Xnzw4Cnh6mB+X0g9EY+v5KYkXJysESPKemBKdfjCIBzT24SBINJ7enw/G7uO7wPxWEw2mg1/v339LbpghbT05Zh5WnZ8acSySkk8xyq5gBAMnfeHqvDUYJWtYqDzoNizGNn0JkAQa+Z03Lat47+ojryRqfiWytgJV02NcP7uh8cqEj9hht7KKrBL+t1vbfALAolGM4B5DXeZKZycAzc7/P0H2JpOu5fPn1ogS6Zby9zdlZV4dUx1uGs60oWVsWN7TI28lp5v7nNmwEzITEUT331BSO3bKTMazskYGI15IK6+/I7EY/MEGWQihHSerapfmFxYTrgtCV4T2at2Hlh3O3rn6CDEeb+11WmHYYtFz4L8Iq8Tc74kRBsGCMCGvEmmuvTmqDDiawWMzLy/KIWWzkOjj6Pr9zfIFz9MtuuHjJkGrPPA2DPYNdMbW17mo1fVmwL6jHBzjQh5CfFkBDf01YxNGVF9vthRz74Y88yJGsETi0nFBJFw5IWYlQbCm/fn+2WBbMEZvPfTXc51m7t2LGU1MnmkNn0j+SBRJi3EAksmwrUGkkz+6zM8l3krrvfkQB40Er3zj8VcxKszR2yCM9M0u2jw6YnJ7UyfSCTqi9MrBfH/HQQ893hbllMmj6gfuf8u9e78eSZLTX/8WV/6LL9v0t1qfqD8mT/rcs2cq7p2stR7C3Sf4MYiGMgzyNpiESmjBzJkkDEFabHPALZLX4bcTkor9293b20JA5QwJckrSDwBudoykmd5kHiWc6Fk6pJBEs2FqXRozQDBJMjaxdMAirIG0iNhyYz8k5FY592mRELMx45eX8I0uZDldd3ND/twRcUlKooyvZrTK7k7bnvILy9GeRyLLC7E9AoPMRZeXFVwycKLzJjQFktIMiFXnn6KZ8qCMQVRL3QeGK2C/gYn/beW0nm/C6FD6s0JI0nCUAoSI22hnD2FwmMscF5MibNBA8t6781N9Ujn39KcIOr5CWuwoyxJ1HJV73Gl+oaFgeCbUCBPebtY5T3Koz3gqz8Udwcks16Oq95HhVR+hESAGAhMVpxAzR0JwtETcS9bd3fYL5vlJSFpQpQ1pqIiecGPNGMTKPlgJzb56XFGBgzQwqq8hScMc0vjTt0aujkCv4blMhs67pAQYpCBtDFVGaKNUbIMgWWOEKalT3gyJaWIuSDlkw/BL/lwPhBN+7C7m2O73wkSV62SOMMPquQWThu+aQEIP1QaA5HB0bRjB1vtglk7GRNzwg81YMxL5+vnJ9Qc82vwLHz9DwlNOOxMM6HUqeN3shvzQCBnBgybZRfXnI3GniBRhgkjPeb5aVTg85aUPJZT2syX2AIOzZDGpfsP02SU9SO2NXa/MS1uNO2nxwDdujBm1IZRIGgCCCrRxCYZEyKEqQBjICwMIzGM+oQDjszQTIVB1vOYJUynK/5vPOHfOmk21W6SQJMEmiTQKAmcUxE7vFEVMgBjqNhxwXGsR/HmiJk2bREhO4yBfoPjWO+6nfCOzepslHcZXNc9W5nJb3AyZ4C2ZXxmeW3XsGP/DXPWPTy8JdwjxQyvfNb00HRM//QsEIWuY41ANLyh9n92DTxdVfCFsynyK+yHck9U7azjG2dND1cHiSfRWBkMO3BwvDfT2QJmGVsZ8CZf90XRhUDUPJyX12NhlbXGYNzn3Lo/YzpzMt7JOfNfjxek7LoR5iY8IQfR114zLXSTqWPiY8pif4kotze2GNVL1ZwNZQ5ZCzKD18897dT1eOHGxYt+GlVBYbPwk09aCWz4rkNeCWugXM2erVdaQQzTKhPjK6aGxgfzmO4D4tGze8vkEPfs5TU14SLgxVPa1LDVfaDTOkhZWZdqtBDouuinI3utPslZFxPi9dIls5zauPafDDnnVLi7hZ34KBA0SmarQCU7FRCMzFiLEzXXDI4vjoTcC8ZNDb/KRQ/rZsZssDYynrjf0g4JO4QNRHc+OtfckQvbX9NIFOryisTFIdedJNNqVGZMDWAV+83GjqEu48dbXPj5YZswgLdFT8ALoIOA9Rhc7XCth2i+sFzr+ZrC8L3fP2Q1aov9wWFupCaaiAoToBD94O4hU0N/8KkOJLaYgT3PrdsXT9Q/BK6cBiLsVsxePCP/tEDbfvLWisTwMdNCD/oZSMysdNu7bmJZWFnf9JsW6hgsC6YbzUC3cza2j0ci3wJJToSbxrgCo0fBKmvmwur8ASb/lor42SjCK8bWJ0Uldk+8PVxnyuZUJlbN393eGWaTdWOoUQxgs/dy9J07TAO5xGzALB8DS05nwdR8XwC3Do6vyLdCXUcFXDBxf1jpnnvAVOuxhtqhmeUU8HzgA3iUAzIBQ7Cq8mRb7benpbp1sNRK7O99vhQbsm846gt5JpDcdeA6OWxb9rFDat2CRKz1S9NKVuDl+EPTiWc7zVw1J1N7wbycNADiq1GpLFiR6b12xztjF/uC9IsNUjLG9Cdf4TjBw9yFTmpDXCNc1YsPJt9p9RE0ImHaylqly6C6vtiSmpUOwPeiigtSc0lwMPDWXMy/c3pcLfrK8bdaZNsF+15PT+b2VmrYdYjbIeHE30Xnn7t8ap7fZ1KhchgHMj1aehabKMFgCOdzAyEYP4wZGHN/1NzPfTehnn81AW2wU3OLhVpRMx+7vyiFyC5Dk4dWMK7MXPJwZiagxOyhc1m03vzliWvDKoahhBcf9/GqwztEvOJIx7FJKjHTuGKY7sRAC6840kf9l6326ojRFS2b/R+kMbVODcXYqW7mXSWh+uUGukEGIKTjDSDjS88ICYGG8CiI5kVmgsRGQSwvEpzwyshYzGNy8BlhjKz6wYY2I1edP2LjC8G2SvA6WDPvKoamsoWsDOw5MOrNb5JV6WUo6SDhRhuUtJF8AsTyMmWSj3qOl58A7KAzI2I+NCPp0Mo9NdkSPJBIn7FSZCZbyMoA7Fqe4ZqKfMRkJBsFAeYyJqI1kNQG7yl9wwzjOI5WkXjmt9tF74vqPgAm0FHG42VV014zdOtivF7Fi8xkC1kZQIUUz3DIr/EEDg3L5Wnh3z/+pC4cUqEm3nOXL32jBcY//rhCVVRUqNvvvMsnPMjYrnhsRemTeGoi2myjr/ViDL6mD/D8VbaQ6k6yQSGfhAcDOb/sgiGStQAnwFwM9hdefJlsr/N5AMuHDx8q5TwhBpNXl43Q5XywwfK9u4XU2yvxqBVpMSPL5errFlZCx0WV7IQThsHXANzl2sBV71lZ0O6NlDUK/fv2/HkBG9fmEyx/E8fdHJiQXBAGTaoFnhppDfgDXFdTJ+iF2A+yhaAGmmcDYj41QH9PXIgQ15cOvQysQS68mMlqKYG2z1zC8FlaMSyefUBLX7bcuUyWQA+URJF1LifaM3Ugk1S7NwWM6VH4ZIVvX7JzpJO3E96UpXQlH1ymC41vzrpogeXGxEhWYDATZpAlgX1AXoA1GVlivx0nkeicBQYEw3OgcRmMIGXTEflo1YTLx9wm3oVEJgiDi49WTZhwNcuJB0x6poQXdaUD66m2ZsbAsw/440ADXsg3oa8eL/wGfYBe4F6DhLE31Kt16zGw4KUwStB0wutvmQ5z0B0SypE+QPuiVGgmf7yjSqflnoSna4BPZMx0Qo8HAJUgJiTGytt0fWsY/voa4A1eQZ4ITXREEgZjiNcNzP0Ap/jEh2s/rn28SWviKGGHFyWM2KXNk2iROmLmMR0oMwOZ54XYrAR23FzGAV8DpiI1gXSk8yC3dcSK/ttoYMVKEgWx4r8RjKyTeM8MXxOQFns77qUESa01aEhyMLcFcUamMpUAjG4HCS+Q+FxCigaCFZbMsH7kAKMRc6TEcbG3cCyLNg4J+hfmPEFps1xLmbE2K1OuIH1yQc0wzbGDEgyakaFB+oA3mdvSkRjvfFtHknCeKGMjUbzM8ekizQQJdUCIeB4QYswmJZ8Eg1kRvUPz0UzxsT6ZcPDuBPHLSAz82DrxQ8o4EFLL/YK0RFYNEO69KZG3MGtcTuKlIZjFMuzDffElvDyIE+KFEWohQBzyDJHa/j27J0PeRfNb96P3oBt4iZ/eyAR04lWcD/FqbrkHm/z0OGl06SWB+5OG1bqyMEeemcMX422SnvuG5IE0Hq2Lq+U4gfbkbX1KhmlzRDI9TdjvPo5JvaCp/n5C5pc6gCpjqNeJM0E1L84vim6qrdG2qideCdj+hwsTqrTEUp12gyuFG4Gc9XsQtHMiApHsz3InHdvcK7X0c/26Gbda9OqMDCc1wFq5BEGfC+BpmOoWh2s3pmgCDZpOzljMAMgEBvfBMuYJsYgFVspNfU08NRGynKtsJ/TUseN3WpwLXTkzYJBVXFzzAwho4zPiESSmRYbEcyFOY8T4ec1UJubABIWQyvjKvGiL9t3HW1HTfnrcaAaI4PxLag6O2O47WqqGGB2LObBDGu0gTaJ8M6EmPK+WnRlqgtqh1rDeDsWa7T+6bcpBOMMI+1qjw+RJRe9OuhevSFqJVnB9L4uXEsl53gTEa/eoGfGZAoxI2GPOeB4hVBjVBBvC89A/yORObvj1RhPZVKFJAk0SaJJAkwSaJNAkgSYJbE8JDBjgtsBEH1OVHRe2aCa348jdti3Hw/ELzh6cSHmutW1b2Dy2/7cKwBtid2O5exMWwI+eXR6VDz9sXlypELtvgx60Q7tfKjvb/45L+qLa+Fg4Hb70EtyBYuNxfMJo9J+r8v6YKyU4pVOG9eKixY/lvZ1rnXS4/3gFlJe7pQkr1s1NWMfjWMtQbPt0pBB4ModH6+qllfWVYzkTsXP7Wl048vWTD1kpxwClAn743ZySTbGlWNgv/df0vP1MfmPj/3gFZBLImIr4EMj+ITAPA5aA50DuKbdNi/w1E3x63uHYsnes2KchZeE8CR9VWZ9YdvjAuVUWto0bF34RCjjijI34YKZ1vU+6Z5mw2K9DcXX0G38p+s4vQ+LIPhtOVrb9HEw4X/I9a0aER3fW0fOeKXorCJ8pfTfO64fjic8xDnx5SVXoUPP2YybYZJ5rnVSWeATbPZXUHAdQ9ADFJ1+M8X/ck9WRJB/JillTvwgFDDpxzWoQUso9YWFDYtJM8pDnWsNmvFL6MHPKTljzBB7Nne2XMdPAMbbcp2fMaXGWZG/m5+nz3CPwBctvT59mpSg4WI2fQmvdMVZmu9YECBwH5TzBoy2mpQdA83hZU+5DklaLbVuNundaCAeBTScLYk2mfxEKGNbTjbQJ//siHDA9GRw1c1zXsW27peM4e6NngDcw59oHgZcT8EDlFrBLvqLIXohixC5PLa62HPfh8e+2nZ1kr/Epjhm2XdcmlAgfCJxHwbrPgXXvJMIOCFnf621oipjb0RRmUkHsFdZ3IP55fNNoTsgNLY5H1LIxaWPKL0IBDYnpNVjgNz8umw93g89jqUPB7MTyz3Yb3VCd7VE2Hm/fWk6iCgI+0RcyNGRTKZCi5IFAGMQsFbWHjnjMqveSSSa6dqgCOuJzPKFErB+8TD+YDx/epU8NM9GcKY8PPd4B/8/godfjfCycCWhzeTeWubsWbVKrLsvwar+pOwvnfFY3S7yKT4IeQ6F7gzAVUD1oWqjcwOUa/6wK2LOs9leWa08AcfDh0mNzpbNRcLRIPghF9CYeb4/9uCoyd3MIbocx4LtwH+DVgRXhhH346LSvIabXf7YicQXw30afj0d5fU6ZEn4uHSaXe+DYvqHLwFgvDJo416Fab8+WIAdxA/6giG5FvwxLxSVuYi3Gjf7vTS14KUjHbXAtGGt6w1ffAFCeQmL4Cou1a2wr9PqVU63vdVb93zfPS8zAGLHo8KmhG+qX5pazXRTAz4knYvFpmNWcmRsZWw5FgcurAeCEzKR8JyKlTCuEMDiUU11YmDf8pcDhBFJw6+DERbbtfsNvgvJ+c+GzSvdAwHz+66nW+s3BZivfpgroibMuazfF/hu++MRsDWbK79nVUr32t9Vhe+PzTXjVEPUzBhLLMkM002vA+oJPHDX/n476x2L9qQdt+VAMyvEVKc8dmcFSK0wU5aoFdmHBsemKQLWfLRhetrpBfEvmRojmmlwQtcNXJIecYit+5X5LQ7oyiIduiBr6+6eOmjnHUStWOvKijCyaUCaKQQx3k0yjCl4CuPy5yUUpb1YT388RSPJWhe593Wa1BfHPwPmum0N06qG2GgrBY5GyRQFykykfYxIuAmfsYTMxM5h28JLPrL/G1et/TySniiiQxRLdEy6TxmC9NhJ39noUnyf20GWMeI4ERw7+gUJ8uSQlrMLLWvsHPwKcUprlxqc5S3mD2V0H1e2FTRQS0+D08bf4ix38YyIiOLTImIECNHk6J/NvkEimteCJhEuyYGzKNB5Tj/Gzf0uo+R9AEUjrebtxSWkKse1jq+4rnKsx1P/de1gdBmW7Xf0S5jjLP30ov33mssy5hsbMpQ3k4ot+x0F8rzYAolrjz17cVBGSt3sbgksvCxJl3AphdD78vGf6Wvgm34sBZOqnx7U4D/jgo1G1Bp+BpOWzBxBGjxlUjB4foNZeD08qfD2dLt4fdH4dVt0aM1foTDNmYPrdB/TfD5CMHH4MjTmAJkG6nFvTwbXDXyOH0+2MoXN7S/Ej4Y0JJEYIwo8mTAuIOPx88Orx78Hoew1v6jUcz3gqqpb/QGFrgcuADATY1cQ/GR/iiTxn18l3ltRb0B17Ib4j5jWmoXmrM6iI1+5v3Bm+nF6wTBcihD8DeVmly8OIo/D3L9IPqJBM7TA0RqbpErgJRyY8NjwL9/mUfI/nFOH7ecDBtK8Y3HCgJQa6G/o5bbUa54A+EfXs7Jhatky7IYIEZ07YuwnnRa2nkH00rpTA9+eTlGp8ehORYLonpFTYzE2jh0PtelSvbHgphDLslvBsFs9imZjpOi+PMS++t89zW3xnn2ex5NAZ3k/Wx/uQx/zghTJzyoJ1dZnGo48K6jTfvuW9/ya61DNnAuCpgfPEY3DqDtybNxP51qG8eYheIW8jhtRR+ExVyt/iIs98+5wvcPPiQTYTywk95DU2NL4HWO6QhhR98kG2yseXEdOtn4TR0hholatW/aTGXTlKbdyQuoYpblaibrr9HtWqpV6UGgthXW3h2gJZf/Toy+rVb4b6d995t9oZ9dkOJkK6F7BhyIc46GZI44E9Quqjf3Bg1j2BbckFGIlthw/s57CqCTz+iKdlEihu0mXEznRjg4eqEdVcdVhD0Lvtog82meOSJvYtWSxcqRuuGV1PeMRLhYy/erT0ClqwtnTPsr3ewvyrr7oiY/0NqH8lysx5DMZx9Aj2CjkF4+FgL2iDz0On9wDpFRCy7h32Mem80gWZHsDzF0z7Bwu3RQ/AeaWv0GjH9IZzvW+Nl/yN9XNyoH2wthTjo5m3ds3qrCjXoIyCF2sFDm21AWtGHmGyhdWrV8sRDG3xADZ0oAKt1OArxV9BoqBphRwD2DMkDQK9wbjelFLOUAFfpmBmR5nKsuVlcEH8WzXundkqbC5/FQ6V7cyPvXgMYZ0gzJBxBjJIt7C5QMv1FQhg1qer0C7FYMuOheMKDFkWfZydUGZUfHrMt8nrT0mNS3LhqFKDPnWUrf1cOEvFR3mkhCUzIncB/eMpmTnekKxlK+iC6DI4COJvZiE27kcPtvr+gIOOyor1wIOPkh7Ak008niinoBDzyKO4FqQPAUy2cNghR8qBOgeno+iuzAkpcxiJdOiDeMlX+vkqf3AglrR039RWxN3ADWlXhHPN4pLM4exU2FzusqlS7VlWNwAPuB/LFYnZZ2mPBXq/XtgERj9nN2YD5iIuwxPz1q1doWY/N0Mt+eJjFqkuXfdRv+8zSLUs3dl3E6auxPhJ3rtq9dqV6qmnZ6jPF+n6v/5Vd3XOmWWo3yq1vldPWxutm1hAG7rDvDlR6ZWkSy7ks9ykL7k19dtNVWPxV9y8oDkkj8RHjK4qvyH51908sAYjXbMBkM5ldXwA/iBw75QORoYMobKnAo6YdzR2NvfaA2UB0gzTLDeNsi7TcgXSzNdzd42DrEkesrUQk3WC+aYe26LyGUy5aSf9/p3/ierNORRo2rRL8sYAZT5TLMjw89Q4fK5YFEgSOU4Bkr7SC2dt65NuS6bn82EKL9VpwKY9LDt0Os5U9Uezh/gbWSjjBpth4J2PcAIOfwOoDV59Ja3Mp3WIXPFjhKEztJAoGPLBP7BHdgwMDyczzTzioZeVaaAHxLPtUo6G8Lk0D1bHxCnwqCMB9wa3pFCHc34svAKDsFY22+KYkx64DtAjEWmkmvQoRzhNeXqNhu8zDMLZK3hnie8FxL3dB9dNA/HlevagiTVpxq+966gj8OeHO+DbEJppMOZJmRH+S6CCKCTDKhlnGfNZk72I/8XKdFLxoCiScglKpImBeRKzMu71e88QkxRo8Zh2BBTKxd83kHpUhKGLZ9SEDo1QQM0PzzGn9gCPNgDodgxkbnGjFBBE+Ul1fsWB5bV7gvqjzSyCDGjLQYzEe/9MqG9b2OrQ/bRP5clbwiCSmII3TBuGtcVSmPyH4PUAMifwQgQQeEI2eRS2EQBFzbTpUewlgh91+f4KlWNguQ4Qny8xe4K2a21MKeqSlnn6l/UzhizZGWG9TNK1xeG9qoJjMFuYLIsZYNInH71DhsDKE5Fr8aep58xLqK+/Q2f1FkFyEB1pakIOoyOW49MyY2EaLFJLkK5MR5lmnl+OviFpNMJ8agGxzHI4w/HSrE84gSEcLrZpMQZc3UZHaNQHHfU3RPgn2/SWBGdF7IO6H6GGBMyCZpqFV3pcElYzDVyuMc1hq0OvIXVnwV8+qZf0tHZt6VwY0r9yY8xYWUtMEvbqHFIR/MkbWj/E4lkd4HBnegTT4oJokahPixVrQexbJ2RjdjSJh+W8fFiDD3RIHuoGcS5bFFdxbG5qGtl2kk7jTvtcjw+9sxsGwtLbVnYIh9TtyOrFdoF1LvaeruhwZaulAbCckuRzm4Tx+Kbou9/XPYlB9AwjCApTLiMc3qM15pHBEpzW3Q2PNpqXMDcgQA+GhBGW7BsB0q+IcJChFUuh6ktgpQ4Uxhi/FCplZJTC/GiNo376Fr6cikUhnoYB1msfAEEafzeucV/aB/pGBdKzTUPfivW7OPmRl6CInsIcWmAjZMpYrhkzmE/rE4YJg4xm+FM5zfENgQKsQcPoJXnwBxGMVDzNLo8yIUxjnYIXP75VCw4tfFMm7iyOP+JY46oaPIjh31RkO7pN0/u0Uv38QPlJ40rReVN7AJrZZoF0bqfgWgMu2nQLxqwrjTBoZWaQEwGgIFUpWpgGhmVaKNo10GKTCjMWq63XWDHbSsGJDKnH2GufbVOmHE9ThM720mg0yjY48UrLGiB6BXB/sWO1zxw4vnF/iCxd2KR3u4fykatLw4m8m8HwcDFkj1EzLlAIRujiCuAvjIUGy9KFEbz3BUlXIvg9KxfcWvimPdOWESpdlVas7j1GMb7CDL2QlOA2+BnDKODmPsSHZXp33ZFjQGO0OGLExp6Ya18EIfcH4/IMj8IQy/St1BMk8ikQ42a0gjzhIp+CkzIKEbBaaIwJwx6TqkxRrNdWUtnJtpLlyCN+GkMK3tReLOWe0kHLqE6jW+V8xAnohU7GOzzw4/bdO9QcELLdY7DSwqMSaxf4/J0hfHyr0N0FwigUJXHwxVQRjLsUkBE40m7SOkVIWERDiFSAWKkuFyXRlbE+3BAV5Slf18e9pzhdXyuL31GTb6kBFjVdfY/miQO4OMYTz6rdRrdqhWRTaJJAkwSaJNAkgSYJNEmgSQJNEmhQAv8Lix8k/gNx6O4AAAAASUVORK5CYII=`,W$t={class:`left-section`},G$t={class:`logo`},K$t=[`src`],q$t={key:0,class:`rename-tooltip`},J$t={class:`rename-content`},Y$t={key:0,class:`tippy-dropdown-menu`},X$t={key:1,class:`bkai-icon bkai-auto-refresh-line`},Z$t={class:`right-section`},Q$t={key:4,"aria-hidden":`true`,class:`header-toolbar-divider`},$$t=Ni(Qn({__name:`index`,props:{agentName:{default:``},asideCollapsed:{type:Boolean,default:!0},autoGenerateLoading:{type:Boolean},draggable:{type:Boolean,default:!0},enableChatSession:{type:Boolean,default:!0},hasPermission:{type:Boolean,default:!0},hasSessionContents:{type:Boolean},isCompressionHeight:{type:Boolean,default:!1},renderMode:{default:Ff.Chat},selectedLlmCode:{default:void 0},sessionBusinessManager:{default:void 0},sessionName:{default:``},showAsideToggle:{type:Boolean,default:!0},showCompressionIcon:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},title:{default:``},chatGroup:{default:()=>({enabled:!1,staff:[],username:``})},dropdownMenuConfig:{default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!1})}},emits:[`auto-generate-name`,`close`,`help-click`,`history-click`,`history-session-delete`,`history-session-rename`,`history-session-switch`,`new-chat`,`new-chat-created`,`rename`,`share`,`toggle-aside`,`toggle-compression`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=Qn({name:`AsideToggleIcon`,setup(){return()=>Xr(aEe)}}),o=gxe,s=sn(null),l=sn(null),u=$n(`moreMenuTippyRef`),d=sn(!1),f=sn(``),p=sn(null),m=sn(!1),h=()=>document.querySelector(`.ai-blueking-panel`)||document.body,g=null,_=()=>{!l.value||!r.sessionBusinessManager||(g=BCe({triggerRef:l,sessionBusinessManager:r.sessionBusinessManager,onSessionSwitch:e=>i(`history-session-switch`,e),onSessionDelete:e=>i(`history-session-delete`,e),onSessionRename:(e,t)=>i(`history-session-rename`,e,t)}))},v=U(()=>r.hasPermission?r.enableChatSession?r.title||`${r.agentName||``}-${r.sessionName||``}`:r.agentName:cf(`无智能体使用权限`)),y=U(()=>r.isCompressionHeight?`bkai-morenchicun`:`bkai-yasuo`),b=U(()=>r.isCompressionHeight?cf(`恢复默认尺寸`):cf(`缩小高度`)),x=U(()=>r.hasPermission),S=e=>x.value?e:cf(`暂无使用权限`),C=()=>({cursor:x.value?`pointer`:`not-allowed`}),w=sn(!1),T=async()=>{if(!w.value){w.value=!0;try{if(r.sessionBusinessManager)try{let e=await r.sessionBusinessManager.createNewSession({model:r.selectedLlmCode});e&&i(`new-chat-created`,{sessionCode:e.sessionCode,sessionName:e.sessionName,createdAt:e.createdAt})}catch(e){console.error(`Failed to create new session:`,e),ud({theme:`error`,message:cf(`创建会话失败`)})}i(`new-chat`)}finally{w.value=!1}}},E=e=>{e.stopPropagation(),r.sessionBusinessManager?(g||_(),g&&g.handleTriggerClick(e)):i(`history-click`,e)},D=()=>{i(`help-click`)},O=e=>{e.stopPropagation(),g&&g.isVisible()&&g.hide(),u.value&&(m.value?u.value.hide():u.value.show())},k=()=>{u.value?.hide(),M()},A=()=>{!r.hasSessionContents||r.autoGenerateLoading||i(`auto-generate-name`)},j=()=>{r.hasSessionContents&&(u.value?.hide(),i(`share`))},M=()=>{document.removeEventListener(`click`,I),f.value=r.sessionName||``,d.value=!0,setTimeout(()=>{document.addEventListener(`click`,I)},100),setTimeout(()=>{if(p.value)try{let e=p.value;e&&typeof e.focus==`function`&&e.focus();let t=e.$el?.querySelector(`input`);t&&typeof t.select==`function`&&t.select()}catch(e){console.warn(`Failed to focus rename input:`,e)}},100)},N=()=>{let e=f.value.trim();if(!e){P();return}i(`rename`,e),d.value=!1,f.value=``},P=()=>{d.value=!1,f.value=``},F=(e,t)=>{f.value=e,t.key===`Enter`?N():t.key===`Escape`&&P()},I=e=>{if(!d.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&P()};return Ln(()=>r.autoGenerateLoading,(e,t)=>{t&&!e&&m.value&&u.value?.hide()}),or(()=>{r.sessionBusinessManager&&_(),document.addEventListener(`click`,I)}),sr(()=>{g&&=(g.destroy(),null),document.removeEventListener(`click`,I)}),t({headerRef:s,historyIconRef:l}),(t,n)=>(B(),V(`div`,{ref_key:`headerRef`,ref:s,class:xe([`ai-header drag-handle`,{draggable:r.draggable,"is-aside-expanded":!r.asideCollapsed}])},[H(`div`,W$t,[H(`div`,G$t,[H(`img`,{alt:`logo`,src:z(U$t)},null,8,K$t)]),H(`div`,{class:xe([`title`,{"title-with-tooltip":d.value}])},[Zr(ke(v.value)+` `,1),Qr(` 重命名 tooltip 直接绑定在 title 上 `),d.value?(B(),V(`div`,q$t,[H(`div`,J$t,[Jr(z(mu),{ref_key:`renameInputRef`,ref:p,modelValue:f.value,"onUpdate:modelValue":n[0]||=e=>f.value=e,class:`rename-input`,placeholder:z(cf)(`请输入新的会话名称`),onKeyup:F},null,8,[`modelValue`,`placeholder`]),H(`div`,{class:`rename-buttons`},[H(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:N}),H(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:P})])])])):Qr(`v-if`,!0)],2),Qr(` 更多图标下拉菜单 - 使用 vue-tippy `),r.showMoreIcon&&x.value?(B(),Wr(z(Vp),{key:0,ref_key:`moreMenuTippyRef`,ref:u,"append-to":h,arrow:!1,interactive:``,offset:[0,4],placement:`bottom-start`,theme:`ai-blueking-light more-menu-light light`,trigger:`manual`,onHidden:n[1]||=e=>m.value=!1,onShown:n[2]||=e=>m.value=!0},{content:Mn(()=>[m.value?(B(),V(`div`,Y$t,[r.dropdownMenuConfig?.showRename?(B(),V(`div`,{key:0,class:`tippy-menu-item`,onClick:k},[n[8]||=H(`i`,{class:`bkai-icon bkai-bianji`},null,-1),H(`span`,null,ke(z(cf)(`重命名`)),1)])):Qr(`v-if`,!0),r.dropdownMenuConfig?.showAutoGenerate?Nn((B(),V(`div`,{key:1,class:xe([`tippy-menu-item`,{disabled:!r.hasSessionContents||r.autoGenerateLoading}]),onClick:A},[r.autoGenerateLoading?(B(),Wr(z(Yl),{key:0,mode:`spin`,size:`mini`,theme:`primary`})):(B(),V(`i`,X$t)),H(`span`,null,ke(z(cf)(`自动生成命名`)),1)],2)),[[z(Hp),{content:r.hasSessionContents?``:z(cf)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:h}]]):Qr(`v-if`,!0),r.dropdownMenuConfig?.showShare&&r.renderMode!==z(Ff).Test?Nn((B(),V(`div`,{key:2,class:xe([`tippy-menu-item`,{disabled:!r.hasSessionContents}]),onClick:j},[n[9]||=H(`i`,{class:`bkai-icon bkai-fenxiang`},null,-1),H(`span`,null,ke(z(cf)(`分享会话`)),1)],2)),[[z(Hp),{content:r.hasSessionContents?``:z(cf)(`请先发起会话`),theme:`ai-blueking-tooltip`,arrow:!0,delay:[300,0],appendTo:h}]]):Qr(`v-if`,!0)])):Qr(`v-if`,!0)]),default:Mn(()=>[H(`span`,{class:`bkai-icon bkai-more`,onClick:O})]),_:1},512)):Qr(`v-if`,!0)]),pr(t.$slots,`headerLeft`,{},void 0,!0),H(`div`,Z$t,[Qr(` 新增会话按钮 `),r.showNewChatIcon&&e.enableChatSession!==!1?Nn((B(),V(`i`,{key:0,class:xe([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!x.value||w.value||!e.hasSessionContents}]),style:ge(C()),onClick:n[3]||=t=>x.value&&!w.value&&e.hasSessionContents?T():void 0},null,6)),[[z(o),{content:w.value?z(cf)(`正在创建会话...`):e.hasSessionContents?S(z(cf)(`新增会话`)):z(cf)(`当前已是新会话`),boundary:`parent`}]]):Qr(`v-if`,!0),Qr(` 历史会话按钮 `),r.showHistoryIcon&&e.enableChatSession!==!1?Nn((B(),V(`i`,{key:1,ref_key:`historyIconRef`,ref:l,class:xe([`bkai-icon`,`bkai-history`,{disabled:!x.value}]),style:ge(C()),onClick:n[4]||=e=>x.value?E(e):void 0},null,6)),[[z(o),{content:S(z(cf)(`历史会话`)),boundary:`parent`}]]):Qr(`v-if`,!0),e.chatGroup?.enabled?Nn((B(),V(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:D},null,512)),[[z(o),{content:z(cf)(`转人工`),boundary:`parent`}]]):Qr(`v-if`,!0),r.showCompressionIcon?Nn((B(),V(`i`,{key:3,class:xe([`bkai-icon`,y.value]),onClick:n[5]||=e=>i(`toggle-compression`)},null,2)),[[z(o),{content:b.value,boundary:`parent`}]]):Qr(`v-if`,!0),Nn(H(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:n[6]||=e=>i(`close`)},null,512),[[z(o),{content:z(cf)(`关闭`),boundary:`parent`}]]),Qr(` 设计稿:关闭与侧栏展开之间有竖线分隔 `),r.showAsideToggle?(B(),V(`span`,Q$t)):Qr(`v-if`,!0),r.showAsideToggle?Nn((B(),V(`span`,{key:5,class:`bkai-icon aside-toggle`,onClick:n[7]||=Ai(e=>i(`toggle-aside`),[`stop`])},[Jr(z(a))])),[[z(o),{content:r.asideCollapsed?z(cf)(`展开侧栏`):z(cf)(`收起侧栏`),boundary:`parent`}]]):Qr(`v-if`,!0)])],2))}}),[[`__scopeId`,`data-v-03aace06`]]);function e1t(e){let t=sf(e);fetch(t,{method:`GET`,credentials:`include`}).catch(()=>{})}async function t1t(e,t={}){let{enableModelSelect:n=!0}=t,r=[e.agent.getAgentInfo(),e.session.getSessions()];n&&typeof e.agent.getLlms==`function`&&r.push(e.agent.getLlms().catch(e=>{console.error(`[runAgentBootstrap] Failed to load models:`,e)})),await Promise.all(r);let i=e.agent.info.value?.saasUrl;i&&e1t(i)}var n1t=class extends Error{constructor(e=`当前没有可用模型,无法创建会话`){super(e),this.name=`ModelUnavailableError`}},W9=class{_isLoading;_models;_selectedLlmCode;_selectedModelName;_selectedModelSupportsVision;agentModule;config;loadPromise=null;pendingPersist=new Map;sessionModule;defaultModelCode(){let e=this._models.value;return(e.find(e=>e.property?.default)??e[0])?.llm_code}hasValidSelection(){let e=this._selectedLlmCode.value;return!!e&&this._models.value.some(t=>t.llm_code===e)}isSessionPending(){return this.sessionModule!=null&&this.sessionModule.current?.value==null}constructor(e,t=null,n={}){this.agentModule=e,this.sessionModule=t,this.config=n,this._models=sn([]),this._selectedLlmCode=sn(void 0),this._isLoading=sn(!1),this._selectedModelName=U(()=>{let e=this._selectedLlmCode.value;return e?this._models.value.find(t=>t.llm_code===e)?.llm_name??``:``}),this._selectedModelSupportsVision=U(()=>{let e=this._selectedLlmCode.value;return e?!!this._models.value.find(t=>t.llm_code===e)?.property?.support_vision:!1}),this.enabled&&this.sessionModule&&Ln(()=>this.sessionModule.current?.value?.sessionCode,()=>{this.applySessionModel(this.sessionModule.current?.value?.model)})}get enabled(){return this.config.enabled!==!1}get isLoading(){return this._isLoading}get models(){return this._models}get selectedLlmCode(){return this._selectedLlmCode}get selectedModelName(){return this._selectedModelName}get selectedModelSupportsVision(){return this._selectedModelSupportsVision}applySessionModel(e){let t=this._models.value;if(t.length===0){this._selectedLlmCode.value=void 0;return}if(!this.isSessionPending()){if(e&&t.some(t=>t.llm_code===e)){this._selectedLlmCode.value=e;return}this.hasValidSelection()||(this._selectedLlmCode.value=this.defaultModelCode())}}ensureLoaded(){return!this.enabled||this._models.value.length>0?Promise.resolve():(this.loadPromise||=this.loadModels().finally(()=>{this.loadPromise=null}),this.loadPromise)}async loadModels(e={}){this._isLoading.value=!0;try{let t=this.agentModule?.models?.value;if(!e.force&&Array.isArray(t)&&t.length>0)this._models.value=[...t];else if(typeof this.agentModule?.getLlms==`function`){let e=await this.agentModule.getLlms();this._models.value=Array.isArray(e)?e:[]}else this._models.value=[];this.applySessionModel(this.sessionModule?.current?.value?.model)}catch(e){console.error(`[ModelSelectionManager] Failed to load models:`,e),this._models.value=[],this._selectedLlmCode.value=void 0}finally{this._isLoading.value=!1}}async persistSessionModel(e,t){let n=t??this.sessionModule?.current?.value;if(!n?.sessionCode||!e||n.model===e)return;let{sessionCode:r}=n,i=this.pendingPersist.get(r);if(i?.llmCode===e)return i.promise;let a=Promise.resolve(this.sessionModule.updateSession({...n,model:e})).then(()=>void 0).finally(()=>{this.pendingPersist.get(r)?.promise===a&&this.pendingPersist.delete(r)});return this.pendingPersist.set(r,{llmCode:e,promise:a}),a}resolveModelForSession(e){if(!this.enabled)return e;let t=this._models.value;if(t.length===0)throw new n1t;return e&&t.some(t=>t.llm_code===e)?e:this.hasValidSelection()?this._selectedLlmCode.value:this.defaultModelCode()}setModels(e){this._models.value=e,this.applySessionModel(this.sessionModule?.current?.value?.model)}setSelectedModel(e){this._selectedLlmCode.value=e?.llm_code}setSelectedModelByName(e){if(!e){this._selectedLlmCode.value=void 0;return}this._selectedLlmCode.value=this._models.value.find(t=>t.llm_name===e)?.llm_code}},r1t=class{_isGenerating;_isStopLoading;agentModule;config;eventEmitter;messageModule;modelSelection;sessionModule;persistSelection(e){this.modelSelection.persistSessionModel(e).catch(e=>{console.error(`[ChatBusinessManager] Failed to persist session model:`,e),this.emit(`chat-error`,{action:`persistSessionModel`,error:e})})}resolveChatModel(e){return(e??this.modelSelection.selectedLlmCode.value)||void 0}autoRenameSessionIfNeeded(e){let t=this.sessionModule;if(!t||this.messageModule.list.value.length!==1)return;let n=t.renameSession(e);n&&n.then(n=>{let r=t.list.value.find(t=>t.sessionCode===e)??(t.current?.value?.sessionCode===e?t.current.value:null),i=n?.sessionName??r?.sessionName;i&&this.config.onSessionRenamed?.(i,e)}).catch(e=>{console.error(`[ChatBusinessManager] Auto rename session failed:`,e)})}emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t,n=null,r=null,i={},a){this.agentModule=e,this.messageModule=t,this.sessionModule=n,this.eventEmitter=r,this.config=i,this.modelSelection=a??new W9(e,n),this._isGenerating=sn(!1),this._isStopLoading=sn(!1)}get isGenerating(){return this._isGenerating}get isStopLoading(){return this._isStopLoading}get isMessagesLoading(){return this.messageModule.isListLoading}get models(){return this.modelSelection.models}get isModelsLoading(){return this.modelSelection.isLoading}get selectedLlmCode(){return this.modelSelection.selectedLlmCode}get selectedModelName(){return this.modelSelection.selectedModelName}get selectedModelSupportsVision(){return this.modelSelection.selectedModelSupportsVision}get messages(){return this.messageModule.list}async ensureModelsLoaded(){return this.modelSelection.ensureLoaded()}async loadModels(e={}){return this.modelSelection.loadModels(e)}setModels(e){this.modelSelection.setModels(e)}setSelectedModelByName(e){this.modelSelection.setSelectedModelByName(e),this.persistSelection(this.modelSelection.selectedLlmCode.value)}setSelectedModel(e){this.modelSelection.setSelectedModel(e),this.persistSelection(this.modelSelection.selectedLlmCode.value)}get openingRemark(){return this.config.openingRemark||``}get predefinedQuestions(){return this.config.predefinedQuestions||[]}async batchDeleteMessages(e){try{await this.messageModule.deleteMessages(e);let t=e.map(e=>e.id).filter(Boolean);this.emit(`messages-batch-deleted`,{messageIds:t})}catch(e){throw console.error(`Failed to batch delete messages:`,e),this.emit(`chat-error`,{action:`batch-delete-messages`,error:e}),e}}async deleteMessage(e){try{await this.messageModule.deleteMessages([e]),this.emit(`message-deleted`,{messageId:e.id})}catch(e){throw console.error(`Failed to delete message:`,e),this.emit(`chat-error`,{action:`delete-message`,error:e}),e}}handleStreamEnd(){this._isGenerating.value=!1,this.emit(`receive-end`,{})}handleStreamError(e){this._isGenerating.value=!1,this.emit(`receive-error`,{error:e})}handleStreamStart(){this._isGenerating.value=!0,this.emit(`receive-start`,{})}async regenerateFromAIMessages(e,t){try{if(!e||e.length===0)throw Error(`No AI messages provided`);let n=this.messages.value,r=of(n,e[0]);if(!r)throw Error(`No user message found before AI messages`);let i=r.id;if(i===void 0)throw Error(`User message has no id`);await this.regenerateMessage(String(i),t)}catch(e){throw console.error(`Failed to regenerate from AI messages:`,e),this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async regenerateMessage(e,t){try{let n=this.messages.value,r=n.findIndex(t=>String(t.id)===e);if(r===-1)throw Error(`Message not found: ${e}`);let i=n[r];if(i.role!==zd.User)throw Error(`Can only regenerate from user messages`);let a=n.slice(r),o=typeof i.content==`string`?i.content:JSON.stringify(i.content),s=i.property;this._isGenerating.value=!0;let l=this.messageModule.deleteMessages(a);this.agentModule.chat(o,t,void 0,void 0,s,this.resolveChatModel()),this.emit(`chat-regenerate`,{messageId:e}),l.catch(e=>{console.error(`[regenerateMessage] Delete API error:`,e)})}catch(e){throw console.error(`Failed to regenerate message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`regenerate`,error:e}),e}}async resendMessageWithProperty(e,t,n,r){try{let i=this.messages.value,a=i.findIndex(t=>String(t.id)===e);if(a===-1)throw Error(`Message not found: ${e}`);if(i[a].role!==zd.User)throw Error(`Can only resend user messages`);let o=i.slice(a);this._isGenerating.value=!0;let s=this.messageModule.deleteMessages(o);this.agentModule.chat(n,t,void 0,void 0,r,this.resolveChatModel()),this.emit(`chat-resend`,{messageId:e}),s.catch(e=>{console.error(`[resendMessageWithProperty] Delete API error:`,e)})}catch(e){throw console.error(`Failed to resend message with property:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`resend`,error:e}),e}}async retryMessage(e){try{console.warn(`retryMessage not implemented yet`),this.emit(`chat-retry`,{messageId:e})}catch(e){throw console.error(`Failed to retry message:`,e),this.emit(`chat-error`,{action:`retry`,error:e}),e}}async sendMessage(e,t,n={}){try{if(!t)throw Error(`No active session. Please create or select a session first.`);this._isGenerating.value=!0,this.emit(`send-message`,{content:e}),await this.agentModule.chat(e,t,void 0,void 0,n.property,this.resolveChatModel(n.model)),this.autoRenameSessionIfNeeded(t)}catch(e){throw console.error(`Failed to send message:`,e),this._isGenerating.value=!1,this.emit(`chat-error`,{action:`send`,error:e}),e}}async stopGeneration(){let e=this.sessionModule?.current?.value?.sessionCode??``;this._isStopLoading.value=!0;try{await this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){throw console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e}),e}finally{this._isStopLoading.value=!1}}},i1t=class{agentModule;config;eventEmitter;messageModule;modelSelection;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}async resolveSessionModel(e){return await this.modelSelection.ensureLoaded(),this.modelSelection.resolveModelForSession(e)}constructor(e,t=null,n=null,r={},i=null,a){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r,this.messageModule=i,this.modelSelection=a??new W9(t,e,{enabled:!1})}get currentSession(){return this.sessionModule.current}get isCreateLoading(){return this.sessionModule.isCreateLoading}get isCurrentLoading(){return this.sessionModule.isCurrentLoading}get isDeleteLoading(){return this.sessionModule.isDeleteLoading}get isListLoading(){return this.sessionModule.isListLoading}get isLoadingMore(){return this.sessionModule.isLoadingMore}get isUpdateLoading(){return this.sessionModule.isUpdateLoading}get hasMoreSessions(){return this.sessionModule.hasMore}get sessionCount(){return this.sessionModule.count}get sessionList(){return this.sessionModule.list}async createNewSession(e){let t=this.currentSession.value;if(t?.sessionCode&&this.isCurrentSessionEmpty(t))return null;await this.loadSessions();let n=this.sessionList.value;if(n.length>0){let r=n[0];if(r.sessionCode===t?.sessionCode?this.isCurrentSessionEmpty(r):this.isSessionEmpty(r))return await this.modelSelection.persistSessionModel(await this.resolveSessionModel(e?.model),r),await this.switchSession(r.sessionCode,{loadMessages:!1}),null}return await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode(),model:e?.model}),this.sessionModule.current.value}generateSessionCode(){return`new_session_${Date.now()}`}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t=await this.resolveSessionModel(e.model),n={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1,...t?{model:t}:{},sessionProperty:{labels:e.labels}};await this.sessionModule.createSession(n);let r=this.agentModule?.info?.value;r&&this.agentModule?.handleRole(r,n.sessionCode),this.emit(`session-created`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to create session:`,e),this.emit(`session-error`,{action:`create`,error:e}),e}}async deleteSession(e){try{await this.sessionModule.deleteSession(e),this.emit(`session-deleted`,{sessionCode:e})}catch(e){throw console.error(`Failed to delete session:`,e),this.emit(`session-error`,{action:`delete`,error:e}),e}}async getSession(e){try{await this.sessionModule.getSession(e)}catch(e){throw console.error(`Failed to get session:`,e),this.emit(`session-error`,{action:`get`,error:e}),e}}isSessionEmpty(e){let t=this.findSession(e.sessionCode)?.sessionContentCount??e.sessionContentCount;return t==null?!1:t===0}isCurrentSessionEmpty(e){return this.messageModule&&ASe(this.messageModule.list.value)?!1:this.isSessionEmpty(e)}findSession(e){return this.sessionList.value.find(t=>t.sessionCode===e)}async loadRecentSession(e){try{if(this.currentSession.value?.sessionCode)return;e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){let e=this.findSession(this.config.initialSessionCode);await this.switchSession(this.config.initialSessionCode,{loadMessages:e?!this.isSessionEmpty(e):!0});return}if(t.length>0){let n=t[0],r=(n.sessionContentCount??0)>0,i=e?.alwaysCreateNewSession??this.config.alwaysCreateNewSession??!1;r||i?await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()}):await this.switchSession(n.sessionCode,{loadMessages:!1});return}await this.createSession({name:`新会话`,sessionCode:this.generateSessionCode()})}catch(e){throw console.error(`Failed to load recent session:`,e),e}}async loadSessions(){try{await this.sessionModule.getSessions(),this.emit(`sessions-loaded`,{sessions:this.sessionList.value})}catch(e){throw console.error(`Failed to load sessions:`,e),this.emit(`session-error`,{action:`load`,error:e}),e}}async loadMoreSessions(){try{await this.sessionModule.loadMoreSessions()}catch(e){throw console.error(`Failed to load more sessions:`,e),this.emit(`session-error`,{action:`loadMore`,error:e}),e}}async switchSession(e,t){try{await this.sessionModule.chooseSession(e,t),this.emit(`session-switched`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to switch session:`,e),this.emit(`session-error`,{action:`switch`,error:e}),e}}async updateSessionName(e,t){try{let n=this.sessionList.value.find(t=>t.sessionCode===e);if(!n)throw Error(`Session not found: ${e}`);await this.sessionModule.updateSession({...n,sessionName:t}),this.emit(`session-updated`,{session:this.sessionModule.current.value})}catch(e){throw console.error(`Failed to update session name:`,e),this.emit(`session-error`,{action:`update`,error:e}),e}}},a1t=class{messageModule;sessionModule;constructor(e,t){this.messageModule=e,this.sessionModule=t}async shareMessages(e){if(e.length===0)throw Error(`No messages to share`);let t=this.sessionModule.current?.value?.sessionCode;if(!t)throw Error(`No active session`);let n=await this.messageModule.shareMessages(t,e);if(!n)throw Error(`Share failed: no result returned`);return{shareUrl:`${n.share_page}share-page/${n.share_token}`,userMessageIds:e.map(e=>String(e.id))}}},o1t=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,t=[]){this._propsShortcuts=sn(t),this._agentShortcuts=sn([]),this.eventEmitter=e,this._effectiveShortcuts=U(()=>this._propsShortcuts.value.length>0?this._propsShortcuts.value:this._agentShortcuts.value.length>0?this._agentShortcuts.value:[])}get count(){return this._effectiveShortcuts.value.length}get effectiveShortcuts(){return this._effectiveShortcuts}get hasShortcuts(){return this._effectiveShortcuts.value.length>0}get shortcuts(){return this._effectiveShortcuts}addShortcut(e){this._propsShortcuts.value.push(e)}clear(){this._propsShortcuts.value=[],this._agentShortcuts.value=[]}filterByTextLength(e,t){return!e||e.length>t?[]:this._effectiveShortcuts.value}filterShortcuts(e,t){return t?this._effectiveShortcuts.value.filter(n=>t(n,e)):this._effectiveShortcuts.value}getShortcutById(e){return this._effectiveShortcuts.value.find(t=>t.id===e)}handleShortcutClick(e,t,n=`main`){this.emit(`shortcut-click`,{shortcut:e,selectedText:t,source:n})}limitShortcuts(e){return this._effectiveShortcuts.value.slice(0,e)}removeShortcut(e){this._propsShortcuts.value=this._propsShortcuts.value.filter(t=>t.id!==e)}setAgentShortcuts(e){this._agentShortcuts.value=e}setShortcuts(e){this._propsShortcuts.value=e}},s1t=class{_isCompressed;_isDraggingOrResizing;_nimbusMinimized;_panelVisible;_positionAndSize;cleanupFunctions;config;containerRef=null;debugMode;listeners;onceListeners;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=sn(e.initialPanelVisible??!1),this._nimbusMinimized=sn(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=sn(!1),this._isCompressed=sn(!1),this._positionAndSize=sn({x:0,y:0,width:400,height:window.innerHeight})}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),expandForSidePanel:this.expandForSidePanel.bind(this),collapseSidePanel:this.collapseSidePanel.bind(this),abortSidePanelSequence:this.abortSidePanelSequence.bind(this),positionAndSize:U(()=>this.containerRef?.positionAndSize?.value??this._positionAndSize.value),isCompressed:U(()=>this._isCompressed.value),isSidePanelExpanded:U(()=>this.containerRef?.isSidePanelExpanded?.value??!1)}}get isCompressed(){return this._isCompressed}get isDraggingOrResizing(){return this._isDraggingOrResizing}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:U(()=>this._nimbusMinimized.value)}}get nimbusMinimized(){return this._nimbusMinimized}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:U(()=>this._panelVisible.value)}}get panelVisible(){return this._panelVisible}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}abortSidePanelSequence(){this.containerRef?.abortSidePanelSequence?.()}collapseSidePanel(e){return this.containerRef?.collapseSidePanel?this.containerRef.collapseSidePanel(e):(e?.onBeforeSizeChange?.(),Promise.resolve())}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}emit(e,t){this.debugMode&&console.debug(`[ComponentManager] Emitting "${e}"`,t);let n=this.listeners.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in listener for "${e}":`,t)}});let r=this.onceListeners.get(e);if(r&&r.size>0){let n=Array.from(r);this.onceListeners.delete(e),n.forEach(n=>{try{n(t)}catch(t){console.error(`[ComponentManager] Error in once listener for "${e}":`,t)}})}}emitInternal(e,t){this.emit(e,t)}expandForSidePanel(e,t){return this.containerRef?.expandForSidePanel?this.containerRef.expandForSidePanel(e,t):(t?.onBeforeSizeChange?.(),Promise.resolve())}getConfig(){return this.config}getRegisteredEvents(){let e=new Set;return this.listeners.forEach((t,n)=>e.add(n)),this.onceListeners.forEach((t,n)=>e.add(n)),Array.from(e)}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}hasListeners(e){return this.listenerCount(e)>0}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}off(e,t){t?(this.listeners.get(e)?.delete(t),this.onceListeners.get(e)?.delete(t),this.debugMode&&console.debug(`[ComponentManager] Unsubscribed from "${e}", remaining: ${this.listenerCount(e)}`)):(this.listeners.delete(e),this.onceListeners.delete(e),this.debugMode&&console.debug(`[ComponentManager] Removed all listeners for "${e}"`))}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed to "${e}", total: ${this.listenerCount(e)}`),()=>{this.off(e,t)}}once(e,t){return this.onceListeners.has(e)||this.onceListeners.set(e,new Set),this.onceListeners.get(e).add(t),this.debugMode&&console.debug(`[ComponentManager] Subscribed once to "${e}"`),()=>{this.onceListeners.get(e)?.delete(t)}}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}setCompressed(e){this._isCompressed.value=e}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setDebugMode(e){this.debugMode=e}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}};function c1t(e){return new s1t(e)}var l1t={"panel-show":`show`,"panel-hide":`close`,"panel-toggle":null,"nimbus-click":null,"nimbus-minimize":null,"nimbus-restore":null,"popup-click":null,"popup-shortcut-click":null,dragging:`dragging`,resizing:`resizing`,"drag-stop":`drag-stop`,"resize-stop":`resize-stop`,"compression-toggle":null,"side-panel-expand":null,"side-panel-collapse":null,"send-message":`send-message`,"receive-start":`receive-start`,"receive-text":`receive-text`,"receive-end":`receive-end`,"receive-error":null,stop:`stop`,"chat-regenerate":null,"chat-retry":null,"message-deleted":null,"messages-batch-deleted":null,"session-created":null,"session-switched":null,"session-deleted":null,"session-updated":null,"sessions-loaded":null,"session-initialized":`session-initialized`,"session-error":null,"shortcut-click":`shortcut-click`,"chat-error":null,"sdk-error":`sdk-error`,"new-chat":`new-chat`,"new-chat-created":`new-chat-created`,"history-click":`history-click`,"auto-generate-name":`auto-generate-name`,"help-click":`help-click`,rename:`rename`,share:`share`,close:`close`,"toggle-compression":null,"transfer-messages":`transfer-messages`,"share-messages":`share-messages`,"agent-info-loaded":null,error:null};function u1t(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName,t.sessionCode];case`history-click`:return[t.event];case`dragging`:case`resizing`:case`drag-stop`:case`resize-stop`:case`shortcut-click`:case`session-initialized`:case`sdk-error`:case`transfer-messages`:case`share-messages`:case`new-chat-created`:return[t];case`panel-show`:case`panel-hide`:case`receive-start`:case`receive-text`:case`receive-end`:case`stop`:case`new-chat`:case`auto-generate-name`:case`help-click`:case`share`:case`close`:return[];default:return[t]}}var d1t=class extends Error{constructor(){super(`[ChatBot] Initialization was superseded by a newer init`),this.name=`ChatBotInitStaleError`}};function f1t(e){let{props:t,emit:n,reportError:r,managerErrorBridge:i}=e,a=cn(null),o=cn(null),s=cn(null),l=cn(null),u=sn(!1),d=sn(!t.chatHelper),f=sn(null),p=U(()=>u.value),m=()=>t.chatHelper?!t.chatHelper.agent||!t.chatHelper.session||!t.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:t.url?{valid:!0}:{valid:!1,error:`[ChatBot] Neither chatHelper nor url provided. Component requires at least one.`},h=()=>{let e=m();if(!e.valid)return console.error(e.error),f.value=Error(e.error),null;if(t.chatHelper)return t.chatHelper;let i=new Yd({onStart:()=>{n(`receive-start`)},onMessage:e=>{n(`receive-text`)},onDone:()=>{n(`receive-end`)},onError:e=>{r(e,`Stream error`)}}),a=TSe({requestData:DSe(sf(t.url),()=>un(t.requestOptions)),protocol:i});return i.injectMessageModule(a.message),a},g=e=>{if(e)try{e.agent.abortChat(),e.agent.clearLongPollTimer?.()}catch{}},_=0,v=null,y=null,b=null,x=e=>{b&&=(e?b.reject(e):b.resolve(),null),v=null},S=e=>{if(e!==_)throw new d1t},C=async e=>{if(t.enableModelSelect!==!1){if(t.models?.length){e.setModels(t.models);return}await e.ensureLoaded()}},w=async e=>{let p=a.value;u.value=!1,f.value=null,d.value=!t.chatHelper,g(p),S(e),a.value=null,o.value=null,s.value=null,l.value=null;let m=h();if(!m)throw f.value??Error(`[ChatBot] Failed to create chatHelper`);let _=t.modelSelectionManager??new W9(m.agent,m.session,{enabled:t.enableModelSelect!==!1}),v=new i1t(m.session,m.agent,i,{enableChatSession:!0,autoSwitchToInitialSession:!!t.sessionCode,loadRecentSessionOnMount:t.autoLoad,initialSessionCode:t.sessionCode,alwaysCreateNewSession:t.alwaysCreateNewSession},m.message,_),y=new r1t(m.agent,m.message,m.session,i,{openingRemark:t.helloText,predefinedQuestions:t.prompts?.length?t.prompts:void 0,placeholder:t.placeholder,onSessionRenamed:(e,t)=>n(`rename`,e,t)},_),b=new o1t(null,t.shortcuts||[]);a.value=m,o.value=v,s.value=y,l.value=b;try{d.value?(await t1t(m,{enableModelSelect:t.enableModelSelect!==!1&&!t.models?.length}),S(e),await C(_),S(e),await v.loadRecentSession({skipLoadSessions:!0}),S(e)):await C(_),S(e),u.value=!0,n(`agent-info-loaded`,m)}catch(t){throw S(e),f.value=r(t,`Failed to initialize ChatBot`),t}},T=()=>{x(new d1t),y=null;let e=++_;v=new Promise((t,n)=>{b={resolve:t,reject:n},w(e).then(()=>{b&&=(y=Promise.resolve(),b.resolve(),null)}).catch(e=>{b&&=(b.reject(MSe(e)),null)}).finally(()=>{e===_&&(v=null)})}),v.catch(()=>{})};return Ln([()=>t.url,()=>t.chatHelper],()=>T(),{immediate:!0}),sr(()=>{x(),g(a.value)}),{chatHelper:a,isStandaloneMode:d,isInitialized:u,isReady:p,initError:f,whenReady:()=>u.value?(y||=Promise.resolve(),y):f.value?Promise.reject(f.value):v||Promise.resolve(),chatBusinessManager:s,sessionBusinessManager:o,shortcutManager:l}}var p1t=[{id:`rebuild`,hidden:!0}],m1t=[{id:`delete`,hidden:!0}],h1t=[{id:`edit`,hidden:!0},{id:`delete`,hidden:!0}];function g1t(e,t,n){return e?[...n,...t??[]]:t}function _1t(e){let{props:t,chatHelper:n,chatBusinessManager:r,sessionBusinessManager:i,shortcutManager:a,isStandaloneMode:o,isInitialized:s,selectedShortcut:l}=e,u=U(()=>r.value?.isStopLoading.value?Mf.StopLoading:((t.chatHelper||n.value)?.agent)?.isChatting?.value?Mf.Streaming:Mf.Complete),d=U(()=>u.value===Mf.Streaming?I9.Disabled:void 0),f=U(()=>((t.chatHelper||n.value)?.agent)?.info.value?.agentType===`claw`),p=U(()=>g1t(f.value,t.messageTools,p1t)),m=U(()=>g1t(f.value,t.updateTools,m1t)),h=U(()=>g1t(f.value,void 0,h1t)),g=U(()=>r.value?.messages.value??[]),_=U(()=>r.value?.isMessagesLoading.value??!1),v=U(()=>r.value?.isGenerating.value??!1),y=U(()=>i.value?.currentSession.value??null),b=U(()=>o.value&&!s.value?!1:!_.value&&g.value.length===0),x=U(()=>n.value?.agent.info.value?.conversationSettings?.openingRemark||``),S=U(()=>t.resources?.length?t.resources:n.value?.agent.info.value?.resources??[]),C=U(()=>t.prompts?.length?t.prompts:n.value?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),w=U(()=>t.skills?.length?t.skills:(n.value?.agent.info.value?.relatedSkills??[]).map(e=>({skill_name:e.skill_name,skill_code:e.skill_code,description:e.description,icon:e.icon})));return{messageStatus:u,messageToolsStatus:d,effectiveMessageTools:p,effectiveUpdateTools:m,effectiveUserMessageTools:h,messages:g,isMessagesLoading:_,isGenerating:v,currentSession:y,isWelcomeState:b,openingRemark:x,effectiveMenuSources:U(()=>Txe({skills:w.value,resources:S.value,prompts:C.value})),effectiveSupportUpload:U(()=>l.value?.supportUpload?l.value.supportUpload.vision===!0:r.value?.selectedModelSupportsVision.value??!1),chatbotStyle:U(()=>({height:typeof t.height==`number`?`${t.height}px`:t.height,maxWidth:typeof t.maxWidth==`number`?`${t.maxWidth}px`:t.maxWidth})),filteredShortcuts:U(()=>a.value?.shortcuts.value??[])}}var v1t=new Set([`chat-error`,`receive-error`,`session-error`]);function y1t(e,t={}){let n=new WeakSet,r=(r,i)=>{let a=MSe(r);return n.has(a)?a:(n.add(a),console.error(i?`[ChatBot] ${i}:`:`[ChatBot] error:`,r),e(`error`,a),un(t.errorToast)!==!1&&ud({message:a.message||cf(`请求失败`),theme:`error`}),a)};return{managerErrorBridge:{emit:(e,t)=>{v1t.has(e)&&r(t?.error)}},reportError:r}}var b1t={[Nf.ApprovalCancel]:Hd.ApprovalCancel,[Nf.FlowNodeRetry]:Hd.FlowNodeRetry,[Nf.FlowNodeSkip]:Hd.FlowNodeSkip};function x1t(e){return`operation`in e}function S1t(e){return`interruptId`in e&&`reason`in e&&e.reason===kf.UserQuestion}function C1t(e){return e===`cancelled`?Kd.Cancelled:Kd.Resolved}function w1t(e){let t=e?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resume interrupt: no active session`);return t}function T1t(e){return{interruptId:e.interruptId,status:C1t(e.status),payload:e.payload}}function E1t(e){let{chatHelper:t,reportError:n}=e,r=async e=>{let n=t.value;if(!n)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);if(!x1t(e))throw Error(`[ChatBot] Unsupported interrupt resume payload`);let r=w1t(n);if(e.operation===Nf.ApprovalRefresh){n.agent.pollResumeSession(r);return}let i=b1t[e.operation];if(!i)throw Error(`[ChatBot] Unsupported interrupt resume operation: ${e.operation}`);let a=n.agent;if(e.operation===Nf.ApprovalCancel){await a.userOperationStreamRequest(r,i,{interrupt_id:e.payload.interrupt_id});return}(e.operation===Nf.FlowNodeRetry||e.operation===Nf.FlowNodeSkip)&&await a.userOperationStreamRequest(r,i,{node_id:e.payload.node_id,task_id:String(e.payload.task_id)})},i=async(e,n)=>{let r=t.value;if(!r)throw Error(`[ChatBot] Cannot resume interrupt: chatHelper not initialized`);let i=w1t(r);await r.agent.streamRequest({sessionCode:i,resume:T1t(e),...n?{input:n}:{}})};return{handleInterruptResume:async(e,t)=>{try{if(x1t(e)){await r(e);return}if(S1t(e)){await i(e);return}throw Error(`[ChatBot] Unsupported interrupt resume payload`)}catch(e){n(e,`Failed to handle interrupt resume`)}},resumeUserQuestionWithInput:async(e,t)=>{try{if(!t.payload||!S1t(t.payload))throw Error(`[ChatBot] Invalid user question resume options`);let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`[ChatBot] User question free text input is empty`);await i(t.payload,n)}catch(e){n(e,`Failed to resume user question with input`)}}}}function D1t(e){let{emit:t,chatHelper:n,chatBusinessManager:r,getRequestOptions:i,reportError:a,resumeUserQuestionWithInput:o,selectedShortcut:s}=e,l=cn([[]]),u=cn(``);Ln(()=>n.value?.session.current?.value?.sessionCode,(e,t)=>{t&&t!==e&&(u.value=``)});let d=e=>{l.value=e},f=new Set,p=e=>{if(e){if(`path`in e&&e.path)return e.path;if(`id`in e&&e.id)return e.id}},m=async(e,t)=>{try{await n.value.session.deletePvFile(e,t)}catch(e){a(e,`Failed to delete uploaded file`)}},h=(e,t,n)=>{t.forEach((t,r)=>{if(!f.has(t))return;f.delete(t);let i=p(n[r]);i&&m(e,i)})},g=async(e,a={})=>{if(!r.value||!n.value)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let o=n.value.session.current?.value?.sessionCode;if(!o)throw Error(`[ChatBot] Cannot send message: no active session`);l.value=[[]],u.value=``,t(`send-message`,typeof e==`string`?e:``);let s=af(a.property,i);await r.value.sendMessage(e,o,{...a,...s?{property:s}:{}})},_=async e=>{let t=n.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);try{let r=await n.value.session.uploadFiles(t,e);if(!r?.length)throw Error(`[ChatBot] Upload failed: empty response`);return h(t,e,r),r}catch(t){throw e.forEach(e=>f.delete(e)),t}},v=async e=>{let t=n.value?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot resolve artifact URL: no active session`);let r=await n.value.session.getPvFileDownloadUrl(t,e.outputId);return{download_url:r?.download_url,preview_url:r?.preview_url}},y=async e=>{let t=e.outputId||e.id;if(e.file&&!t){f.add(e.file);return}e.file&&f.delete(e.file);let r=n.value?.session.current?.value?.sessionCode;!t||!r||await m(r,t)},b=async(e,t,n)=>{try{if(n?.payload&&o){l.value=[[]],u.value=``,await o(e,n);return}let r={};u.value&&(r.cite=u.value),s.value&&(r.command=s.value.id);let i=vxe(t),a={...Object.keys(r).length?{extra:r}:{},...i?{docSchema:i}:{}};await g(e,Object.keys(a).length?{property:a}:{})}catch(e){a(e,`Failed to send message`)}},x=async()=>{await S()},S=async()=>{if(!r.value){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}try{await r.value.stopGeneration(),t(`stop`)}catch(e){a(e,`Failed to stop generation`)}};return{userInput:l,cite:u,handleUpdateModelValue:d,doSendMessage:g,handleSendMessage:b,handleArtifactClick:v,handleDeleteFile:y,handleUpload:_,handleStopSending:x,stopGeneration:S}}var O1t=e=>!e||e.id===`share`;function k1t(e){let{emit:t,chatHelper:n,isStandaloneMode:r}=e,i=async e=>{if(!(!n.value||e.length===0))try{await FSe((await new a1t(n.value.message,n.value.session).shareMessages(e)).shareUrl),ud({message:`分享链接已复制到剪贴板`,theme:`success`})}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),ud({message:`分享失败,请重试`,theme:`error`})}};return{handleConfirmShare:async(e,n)=>{r.value&&O1t(n)&&await i(e),t(`confirm-share`,e,n)}}}function A1t(e){let{props:t,emit:n,shortcutManager:r,doSendMessage:i,reportError:a,selectedShortcut:o}=e,s=U(()=>r.value?.effectiveShortcuts.value??[]),l=(e,t)=>{let n=e,r;if(r=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:n.components?.find(e=>e.fillBack)?.key,r&&t){let e=n.components?.map(e=>e.key===r?{...e,default:t}:{...e,default:e.default??void 0});o.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else o.value={...n,formModel:{...n.formModel}}},u=(e,t)=>{let n=e.components||[];return{extra:{cite:{type:`structured`,title:e.alias||e.name,data:n.map(e=>({key:e.name||e.key,value:String(t[e.key]??``)}))},command:e.id,context:n.map(e=>({[e.key]:t[e.key],context_type:e.type,__label:e.name||e.key,__key:e.key,__value:t[e.key]}))}}},d=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?s.value.find(e=>e.id===t.command)??null:null},f=(e,t)=>{l(e,t),n(`shortcut-click`,{shortcut:e,source:`main`})},p=()=>{o.value=null};return Ln(()=>t.shortcuts,e=>{r.value?.setShortcuts(e||[])},{immediate:!0}),Ln(()=>e.chatHelper.value?.agent.info.value?.conversationSettings?.commands,e=>{e&&r.value?.setAgentShortcuts(e)},{immediate:!0}),{effectiveShortcuts:s,selectShortcutWithText:l,buildShortcutProperty:u,getShortcutFromMessage:d,handleSelectShortcut:f,handleCloseShortcut:p,handleShortcutSubmit:async e=>{if(!o.value){console.error(`[ChatBot] No selected shortcut`);return}let t=u(o.value,e),n=o.value.name,r=o.value;p();try{await i(n,{property:t})}catch(e){o.value=r,a(e,`Failed to submit shortcut`)}},sendShortcutDirectly:async(e,t)=>{let n=e,r={...n.formModel},o=n.components||[];for(let e of o)e.key in r||(r[e.key]=e.default??``);let s;s=n.enable_fill_back&&n.fill_back_component_key?n.fill_back_component_key:o.find(e=>e.fillBack)?.key,s&&t&&(r[s]=t);let l=u(n,r),d=n.name;try{await i(d,{property:l})}catch(e){a(e,`Failed to send shortcut directly`)}}}}function j1t(e){let{emit:t,chatHelper:n,chatBusinessManager:r,cite:i,focusInput:a,getShortcutFromMessage:o,buildShortcutProperty:s,getRequestOptions:l,reportError:u,stopGeneration:d}=e,f=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=r.value.messages.value,i=of(t,e[0]);if(!i){console.error(`[ChatBot] No user message found before AI messages`);return}let a=[i,...e];await n.value.message.deleteMessages(a)}catch(e){u(e,`Failed to delete messages`)}},p=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=n.value.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await r.value.regenerateFromAIMessages(e,t)}catch(e){u(e,`Failed to regenerate`)}},m=async e=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=r.value.messages.value,i=t.findIndex(t=>t===e);if(i===-1){console.error(`[ChatBot] User message not found in messages list`);return}let a=[];for(let e=i+1;e<t.length;e++){let n=t[e];if(n.role===jf.User)break;a.push(n)}let o=[e,...a];await n.value.message.deleteMessages(o)}catch(e){u(e,`Failed to delete user message`)}};return{handleAgentAction:async(e,r)=>{if(e.id===`cite`){i.value=r.filter(e=>e.role!==jf.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
|
|
3916
|
+
`),a();return}if(e.id===`rebuild`){await p(r);return}if(e.id===`delete`){await f(r);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await n.value?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}t(`agent-action`,e,r)},handleAgentFeedback:async(e,i,a,o)=>{if(!n.value){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let s=n.value.session.current?.value?.sessionCode;if(!s){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let l=jSe(r.value?.messages.value||[],i[0]);if(l===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let d=e.id===`like`?5:0;try{await n.value.session.postSessionFeedback({sessionCode:s,sessionContentIds:[l],rate:d,labels:a,comment:o}),t(`feedback`,e,i[0],a,o)}catch(e){u(e,`Failed to submit feedback`)}},handleUserAction:async(e,t)=>{if(e.id===`delete`){await m(t);return}if(e.id===`cite`){i.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),a();return}console.log(`handleUserAction`,e,t)},handleUserInputConfirm:async(e,t,i)=>{if(!n.value){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let a=n.value.session.current?.value?.sessionCode;if(!a){console.error(`[ChatBot] Cannot edit message: no active session`);return}let o=e.id;if(o===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{let n=e.property,s=vxe(i),u=af(s?{...n,docSchema:s}:n,l);await r.value?.resendMessageWithProperty(String(o),a,typeof t==`string`?t:``,u)}catch(e){u(e,`Failed to edit and resend message`)}},handleUserShortcutConfirm:async(e,t)=>{if(!r.value||!n.value){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let i=n.value.session.current?.value?.sessionCode;if(!i){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let a=e.id;if(a===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let n=o(e);if(!n){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let u=af(s(n,t),l),d=String(t.input??``);await r.value.resendMessageWithProperty(String(a),i,d,u)}catch(e){u(e,`Failed to edit shortcut message`)}},handleStopStreaming:d}}var M1t=Qn({__name:`chat-bot`,props:{alwaysCreateNewSession:{type:Boolean},asideCollapsed:{type:Boolean,default:void 0},autoLoad:{type:Boolean,default:!0},chatHelper:{default:void 0},enableModelSelect:{type:Boolean,default:!0},enableSelection:{type:Boolean,default:!1},errorToast:{type:Boolean,default:!0},executionTabVisible:{type:Boolean,default:!0},extCls:{},getSideRenderComponent:{},getSideTabRenderComponent:{},height:{},helloText:{},maxWidth:{},messageTools:{},messageToolsTippyOptions:{},models:{default:void 0},modelSelectionManager:{default:void 0},onCustomTabChange:{},placeholder:{},prompts:{},renderMode:{default:Ff.Chat},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcuts:{default:()=>[]},size:{},timezone:{},skills:{},updateTools:{},url:{default:``},useAgentName:{type:Boolean,default:!1},resizeProps:{}},emits:[`agent-action`,`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`execution-panel-change`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`rename`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`,`update:asideCollapsed`],setup(e,{expose:t,emit:n}){let r=e,i={initialDivide:560,min:400},a=U(()=>({...i,...r.resizeProps})),o=n,s=_r(),l=sn(!0),u=U({get:()=>r.asideCollapsed??l.value,set:e=>{r.asideCollapsed===void 0&&(l.value=e),o(`update:asideCollapsed`,e)}}),d=sn(),f=sn(),p=sn(),m=U(()=>({...r.messageToolsTippyOptions,appendTo:r.messageToolsTippyOptions?.appendTo??(()=>d.value??document.body)})),h=sn(null),g=U({get:()=>r.renderMode??Ff.Chat,set:()=>{}}),_=U(()=>D.value?.selectedLlmCode.value),v=()=>{p.value?.focus?.()},{reportError:y,managerErrorBridge:b}=y1t(o,{errorToast:()=>r.errorToast}),{chatHelper:x,isStandaloneMode:S,isInitialized:C,isReady:w,initError:T,whenReady:E,chatBusinessManager:D,sessionBusinessManager:O,shortcutManager:k}=f1t({props:r,emit:o,reportError:y,managerErrorBridge:b}),{handleInterruptResume:A,resumeUserQuestionWithInput:j}=E1t({chatHelper:x,reportError:y}),{userInput:M,cite:N,handleUpdateModelValue:P,doSendMessage:F,handleSendMessage:I,handleUpload:L,handleDeleteFile:R,handleArtifactClick:ee,handleStopSending:te,stopGeneration:ne}=D1t({emit:o,chatHelper:x,chatBusinessManager:D,getRequestOptions:()=>r.requestOptions,reportError:y,resumeUserQuestionWithInput:j,selectedShortcut:h}),{handleSelectShortcut:re,handleCloseShortcut:ie,handleShortcutSubmit:ae,selectShortcutWithText:oe,getShortcutFromMessage:se,buildShortcutProperty:ce,sendShortcutDirectly:le}=A1t({props:r,emit:o,chatHelper:x,shortcutManager:k,doSendMessage:F,reportError:y,selectedShortcut:h}),{messageStatus:ue,messageToolsStatus:de,effectiveMessageTools:fe,effectiveUpdateTools:pe,effectiveUserMessageTools:me,messages:he,isMessagesLoading:_e,isGenerating:ve,currentSession:ye,isWelcomeState:be,openingRemark:Ce,effectiveMenuSources:we,effectiveSupportUpload:Te,chatbotStyle:Ee,filteredShortcuts:De}=_1t({props:r,chatHelper:x,chatBusinessManager:D,sessionBusinessManager:O,shortcutManager:k,isStandaloneMode:S,isInitialized:C,selectedShortcut:h}),{handleAgentAction:Oe,handleAgentFeedback:ke,handleUserAction:Ae,handleUserInputConfirm:je,handleUserShortcutConfirm:Me,handleStopStreaming:Ne}=j1t({emit:o,chatHelper:x,chatBusinessManager:D,cite:N,focusInput:v,getShortcutFromMessage:se,buildShortcutProperty:ce,getRequestOptions:()=>r.requestOptions,reportError:y,stopGeneration:ne}),Pe=U(()=>!C.value||_e.value),Fe=U(()=>{if(r.useAgentName)return x.value?.agent.info.value?.agentName||void 0}),Ie=U(()=>{if(r.enableModelSelect===!1)return;let e=D.value?.models.value??[];return e.length>0?e:void 0}),Le=U({get:()=>D.value?.selectedModelName.value??``,set:e=>{D.value?.setSelectedModelByName(e)}}),Re=e=>{D.value?.setSelectedModel(e)};Ln(()=>r.models,e=>{r.enableModelSelect===!1||!D.value||e?.length&&D.value.setModels(e)});let{handleConfirmShare:ze}=k1t({emit:o,chatHelper:x,isStandaloneMode:S}),Be=(e,t)=>{o(`execution-panel-change`,e,t)},Ve=async e=>{if(r.onCustomTabChange)return r.onCustomTabChange(e);let t=e.data?.props;if(t?.task_id!=null&&t?.node_id)return x.value?.message.getFlowAgentTaskNodeInfo(t.task_id,t.node_id)};return t({sendMessage:e=>I(e,[[]]),stopGeneration:ne,switchSession:async e=>{if(!O.value){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await O.value.switchSession(e),o(`session-switched`,O.value.currentSession.value)}catch(e){y(e,`Failed to switch session`)}},messages:he,currentSession:ye,isGenerating:ve,get isReady(){return w.value},whenReady:E,getChatHelper:()=>x.value,setCiteText:e=>{N.value=e},focusInput:v,enterShareMode:()=>f.value?.enterShareMode(),exitShareMode:()=>f.value?.exitShareMode(),selectShortcut:(e,t)=>{oe(e,t)},sendShortcut:(e,t)=>le(e,t),updateAgentInfo:async()=>{let e=x.value;if(!e)return null;try{await e.agent.getAgentInfo();let t=e.agent.info.value??null;return t?.conversationSettings?.commands&&k.value?.setAgentShortcuts(t.conversationSettings.commands),t}catch(e){return y(e,`Failed to update agentInfo`),null}},selectedLlmCode:_}),(e,t)=>(B(),V(`div`,{ref_key:`rootRef`,ref:d,class:xe([`ai-chatbot`,r.extCls,{"welcome-state":z(be)}]),style:ge(z(Ee))},[Jr(z(H$t),{ref_key:`chatContainerRef`,ref:f,"aside-collapsed":u.value,"onUpdate:asideCollapsed":t[0]||=e=>u.value=e,cite:z(N),"onUpdate:cite":t[1]||=e=>on(N)?N.value=e:null,"render-mode":g.value,"onUpdate:renderMode":t[2]||=e=>g.value=e,"selected-model":Le.value,"onUpdate:selectedModel":t[3]||=e=>Le.value=e,"selected-shortcut":h.value,"onUpdate:selectedShortcut":t[4]||=e=>h.value=e,"chat-loading":Pe.value,"common-tippy-options":m.value,"execution-tab-visible":r.executionTabVisible,"get-side-render-component":r.getSideRenderComponent,"get-side-tab-render-component":r.getSideTabRenderComponent,"message-status":z(ue),"message-tools":z(fe),"message-tools-status":z(de),"menu-sources":z(we),messages:z(he),"model-value":z(M),models:Ie.value,"on-agent-action":z(Oe),"on-agent-feedback":z(ke),"on-artifact-click":z(ee),"on-custom-tab-change":Ve,"on-interrupt-resume":z(A),"on-send-message":z(I),"on-stop-sending":z(te),"on-upload":z(L),"on-user-action":z(Ae),"on-user-input-confirm":z(je),"on-user-shortcut-confirm":z(Me),"opening-remark":z(Ce),placeholder:r.placeholder,"resize-props":a.value,"shortcut-id":h.value?.id,shortcuts:z(De),size:r.size,timezone:r.timezone,"support-upload":z(Te),"update-tools":z(pe),"user-message-tools":z(me),"welcome-title":Fe.value,onCollapseChange:Be,onConfirmShare:z(ze),onDeleteFile:z(R),onDeleteShortcut:z(ie),onModelChange:Re,onSelectShortcut:z(re),onShortcutClose:z(ie),onShortcutSubmit:z(ae),onStopStreaming:z(Ne),"onUpdate:modelValue":z(P)},fr({message:Mn(({message:t,messageToolsStatus:n,onInterruptResume:r})=>[Qr(` 消费方提供了 #message slot 时,优先使用消费方的渲染 `),z(s).message?pr(e.$slots,`message`,{key:0,message:t,messageToolsStatus:n,onInterruptResume:r}):(B(),V(Ir,{key:1},[Qr(` 否则使用默认的 MessageRender `),Jr(z(h$t),{message:t,"message-tools":z(me),"message-tools-status":n,"on-action":e=>z(Ae)(e,t),"on-input-confirm":(e,n)=>z(je)(t,e,n),"on-interrupt-resume":r,"on-shortcut-confirm":e=>z(Me)(t,e),"tippy-options":m.value},fr({_:2},[e.$slots.codeHeader?{name:`codeHeader`,fn:Mn(t=>[pr(e.$slots,`codeHeader`,Se(Yr(t)))]),key:`0`}:void 0]),1032,[`message`,`message-tools`,`message-tools-status`,`on-action`,`on-input-confirm`,`on-interrupt-resume`,`on-shortcut-confirm`,`tippy-options`])],2112))]),_:2},[e.$slots.welcome?{name:`welcome`,fn:Mn(t=>[pr(e.$slots,`welcome`,Se(Yr(t)))]),key:`0`}:void 0]),1032,`aside-collapsed.cite.render-mode.selected-model.selected-shortcut.chat-loading.common-tippy-options.execution-tab-visible.get-side-render-component.get-side-tab-render-component.message-status.message-tools.message-tools-status.menu-sources.messages.model-value.models.on-agent-action.on-agent-feedback.on-artifact-click.on-interrupt-resume.on-send-message.on-stop-sending.on-upload.on-user-action.on-user-input-confirm.on-user-shortcut-confirm.opening-remark.placeholder.resize-props.shortcut-id.shortcuts.size.timezone.support-upload.update-tools.user-message-tools.welcome-title.onConfirmShare.onDeleteFile.onDeleteShortcut.onSelectShortcut.onShortcutClose.onShortcutSubmit.onStopStreaming.onUpdate:modelValue`.split(`.`))],6))}});function N1t(e,t){let{name:n,props:r,emitNames:i,exposeKeys:a,slots:o=[],deepWatchProps:s=[],methods:l={}}=t,u=Object.keys(r);return{name:n,render(e){return e(`div`,{style:{width:`100%`,height:`100%`}})},props:r,data(){return{app:null,componentInstance:null,unWatchStack:[]}},created(){let t=this.$emit.bind(this),n=this,r=()=>Mi({setup(){return()=>{let r={};for(let e of u)r[e]=n[e];let a={};for(let e of o){let t=n.$scopedSlots?.[e];t!==void 0&&(a[e]=e=>t(e))}let s=Object.keys(a).length>0?a:void 0;return W(Ele,{prefix:I1t()},{default:()=>W(e,{...n.$attrs,...r,...F1t(t,i),ref:e=>{n.componentInstance=e}},s)})}}});n.app=r();for(let e of s)n.unWatchStack.push(n.$watch(e,()=>{n.app&&(n.app.unmount(),n.app=r(),n.app.mount(n.$el))},{deep:!0}))},mounted(){let e=this;e.app?.mount(e.$el),e.$nextTick(()=>{let t=e.componentInstance;if(t)for(let n of a){let r=t[n];typeof r==`function`?e[n]=r.bind(t):e[n]=r}})},beforeDestroy(){let e=this;e.unWatchStack.forEach(e=>e?.()),e.unWatchStack=[],e.app&&=(e.app.unmount(),null),e.componentInstance=null},methods:l}}function P1t(e){return`on`+e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}function F1t(e,t){let n={};for(let r of t)n[P1t(r)]=(...t)=>{e(r,...t)};return n}function I1t(){return`ai-bk`}var G9=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function L1t(e){let{url:t,requestOptions:n,autoInit:r=!0,protocolCallbacks:i,enableModelSelect:a=!0}=e,o=un(t);if(!o)throw Error(`[useChatBootstrap] url is required`);let s=sn(G9.IDLE),l=sn(null),u=sn(!1),d=new Map,f=new Yd({onStart:()=>{i?.onStart?.()},onMessage:e=>{i?.onMessage?.(e)},onDone:()=>{i?.onDone?.()},onError:e=>{i?.onError?.(e)}}),p=TSe({requestData:DSe(o,n),protocol:f});f.injectMessageModule(p.message);let m=U(()=>s.value===G9.LOADING_AGENT),h=U(()=>s.value===G9.READY),g=U(()=>p.agent.info.value??null),_=U(()=>g.value?.agentName??``),v=U(()=>p.session.current.value??null),y=U(()=>p.session.list.value??[]),b=null,x=0,S=async e=>{l.value=null;try{if(s.value=G9.LOADING_AGENT,await t1t(p,{enableModelSelect:a}),e!==x)return;s.value=G9.READY,u.value=!0}catch(t){if(e!==x)return;throw console.error(`[useChatBootstrap] Initialization failed:`,t),l.value=t,s.value=G9.ERROR,t}},C=async()=>{if(u.value)return;if(b)return b;let e=x;return b=S(e).finally(()=>{e===x&&(b=null)}),b},w=()=>{x+=1,s.value=G9.IDLE,l.value=null,u.value=!1,b=null},T=async()=>{w(),await C()},E=async e=>{w();let t=p.http;t?.updateConfig?t.updateConfig({urlPrefix:e}):console.warn(`[useChatBootstrap] chatHelper.http.updateConfig is not implemented yet, URL change may not take effect`),await C()};return Ln(()=>un(t),(e,t)=>{e&&e!==t&&t&&E(e).catch(()=>{})}),r&&Promise.resolve().then(()=>{C().catch(()=>{})}),{chatHelper:p,protocol:f,phase:s,isInitializing:m,isReady:h,error:l,agentInfo:g,agentName:_,currentSession:v,sessionList:y,initialize:C,retry:T,updateConfig:E,registerExtension:(e,t)=>{d.set(e,t)},getExtension:e=>d.get(e)}}function R1t(e){return{sendMessage:t=>e(`send-message`,{content:t}),receiveStart:()=>e(`receive-start`,{}),receiveText:()=>e(`receive-text`,{}),receiveEnd:()=>e(`receive-end`,{}),stop:()=>e(`stop`,{}),newChat:()=>e(`new-chat`,{}),newChatCreated:t=>e(`new-chat-created`,{session:t}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:(t,n)=>e(`rename`,{newName:t,sessionCode:n}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function z1t(e){let{componentManager:t,emit:n,debug:r=!1}=e,i=[],a=()=>{for(let[e,a]of Object.entries(l1t)){if(a===null)continue;let o=t.on(e,t=>{let i=u1t(e,t);r&&console.debug(`[useEventBridge] ${e} -> ${a}`,i),n(a,...i)});i.push(o)}},o=(e,n)=>{r&&console.debug(`[useEventBridge] Forwarding to manager: ${e}`,n),t.emit(e,n)},s=(e,...t)=>{r&&console.debug(`[useEventBridge] Direct emit: ${e}`,t),n(e,...t)},l=()=>{i.forEach(e=>e()),i.length=0};return a(),cr(()=>{l()}),{forwardToManager:o,emitDirect:s,cleanup:l}}function B1t(e){let{props:t,emit:n}=e,r=sn(),i=sn(),a=U(()=>sf(t.url??``)),o=c1t({initialPanelVisible:!1,initialNimbusMinimized:t.defaultMinimize,enablePopup:t.enablePopup,enableNimbus:!t.hideNimbus,enableDraggable:t.draggable}),s=o.panelVisible,l=o.nimbusMinimized,{forwardToManager:u}=z1t({componentManager:o,emit:n}),d=R1t(u),f=new WeakSet,p=null,m=null,h=()=>{p&&=(clearTimeout(p.timer),null)},g=e=>{let{apiName:n,error:r,action:i,source:a,shouldToast:s=!0}=e,l=r instanceof Error?r.message:String(r),u=r instanceof Error?r:null;u&&f.has(u)||(u&&f.add(u),a!==`http`&&u&&p?.error===u&&h(),console.error(`[AIBlueking] ${n} error:`,r),s&&t.errorToast!==!1&&ud({message:l||cf(`请求失败`),theme:`error`}),o.emitInternal(`sdk-error`,{apiName:n,action:i,source:a,code:-1,message:l,data:r}))},_=e=>{h();let t=m??(x.value?`chat`:`init`);p={error:e,timer:setTimeout(()=>{p=null,g({apiName:t,error:e,source:`http`})},0)}},v=async(e,t)=>{let n=m;m=e;try{return await t()}finally{m=n}},y=e=>{g({apiName:`chat`,error:e,source:`business`})},{chatHelper:b,isReady:x,error:S,agentInfo:C,agentName:w,currentSession:T,initialize:E}=L1t({url:a,requestOptions:()=>un(t.requestOptions),autoInit:!0,enableModelSelect:t.enableModelSelect!==!1,protocolCallbacks:{onStart:()=>{d.receiveStart()},onMessage:()=>{d.receiveText()},onDone:()=>{d.receiveEnd()},onError:e=>{g({apiName:`chat`,error:e,source:`protocol`})}}}),D=b;D.onError?.(e=>{_(e)},{ignoreErrors:t.ignoreErrors});let O=new W9(D.agent,D.session,{enabled:t.enableModelSelect!==!1}),k=async()=>{if(t.enableModelSelect!==!1){if(t.models?.length){O.setModels(t.models);return}await O.ensureLoaded()}},A=new i1t(D.session,D.agent,null,{enableChatSession:t.enableChatSession,initialSessionCode:t.initialSessionCode,alwaysCreateNewSession:t.alwaysCreateNewSession},D.message,O),j=new a1t(D.message,D.session),M=new o1t(null,t.shortcuts||[]),N=null,P=()=>t.loadRecentSessionOnMount?(N||=k().then(()=>A.loadRecentSession({skipLoadSessions:!0})).finally(()=>{N=null}),N):Promise.resolve(),F=async()=>{await v(`init`,async()=>{await E(),await P()})},I=U(()=>o.isCompressed.value),L=U(()=>w.value),R=U(()=>D.message.list.value.length===0);Ln(()=>S.value,e=>{e&&(h(),g({apiName:`init`,error:e,source:`http`}))});let ee=e=>{e.conversationSettings?.commands&&M.setAgentShortcuts(e.conversationSettings.commands)},te=async()=>{try{await D.agent.getAgentInfo();let e=C.value;return e&&ee(e),e}catch(e){return g({apiName:`getAgentInfo`,error:e,source:`http`}),null}};Ln(()=>x.value,async e=>{if(e&&C.value&&(ee(C.value),C.value.conversationSettings&&u(`session-initialized`,{openingRemark:C.value.conversationSettings.openingRemark||``,predefinedQuestions:C.value.conversationSettings.predefinedQuestions||[]}),t.loadRecentSessionOnMount))try{await P()}catch(e){g({apiName:`session`,action:`loadRecentSession`,error:e,source:`business`})}},{immediate:!0}),Ln(()=>t.shortcuts,e=>{M.setShortcuts(e||[])},{immediate:!0});let ne=e=>{zSe(e)&&(e.preventDefault(),s.value?o.hidePanel():o.showPanel())};return or(async()=>{r.value&&o.setContainerRef(r.value),window.addEventListener(`keydown`,ne)}),sr(()=>{h(),window.removeEventListener(`keydown`,ne),o.destroy()}),{chatHelper:D,componentManager:o,modelSelection:O,sessionBusinessManager:A,shareBusinessManager:j,shortcutManager:M,forwarders:d,forwardToManager:u,chatBotRef:i,draggableContainerRef:r,panelVisible:s,nimbusMinimized:l,normalizedUrl:a,agentInfo:C,agentName:L,currentSession:T,isCompressed:I,isWelcomeState:R,handleError:y,reportSdkError:g,ensureSessionReady:F,updateAgentInfo:te}}function V1t(e){let{shortcutManager:t,chatBotRef:n,forwardToManager:r,show:i,props:a}=e,o=sn(!1),s=sn(``);return{aiSelectionVisible:o,selectedText:s,filteredPopupShortcuts:U(()=>{let e=t.effectiveShortcuts.value;return typeof a.shortcutFilter==`function`&&s.value?e.filter(e=>a.shortcutFilter?.(e,s.value)):e}),handleSelectionChange:e=>{s.value=e},handleAiSelectionShortcut:async(e,t)=>{o.value=!1,await i(),n.value&&(e.components?.length?n.value.selectShortcut(e,t):(n.value.selectShortcut(e),n.value.setCiteText(t),n.value.focusInput())),r(`shortcut-click`,{shortcut:e,source:`popup`})}}}function H1t(e,t=!1){let n=window.innerHeight-48-40,r=window.innerWidth-48-16,i=sn(r),a=sn(n),o=sn(0),s=sn(t),l=sn(!1),u=sn(!1),d=0,f=e=>{e?i.value=window.innerWidth-12:i.value=r},p=(e,t)=>{a.value=t,o.value=t-n},m=()=>{Dn(()=>{a.value=window.innerHeight-48-40+o.value,s.value?i.value=window.innerWidth-12:i.value=window.innerWidth-48-16})};return or(()=>{window.addEventListener(`resize`,m),m()}),cr(()=>{window.removeEventListener(`resize`,m)}),{nimbusWidth:48,nimbusHeight:48,nimbusLeft:i,nimbusTop:a,isMinimize:s,isHovering:l,isDragging:u,handleNimbusDragging:p,handleNimbusMinimize:f,handleClick:()=>{if(u.value){u.value=!1;return}e(`click`)},handleMinimize:()=>{s.value=!s.value,e(`minimize`,s.value),s.value?i.value=window.innerWidth-12:i.value=window.innerWidth-60},handleDragging:(e,t)=>{i.value=e,a.value=t},handleMouseEnter:()=>{l.value=!0},handleMouseLeave:()=>{l.value=!1},handleMouseDown:()=>{d=Date.now(),u.value=!1},handleMouseUp:()=>{Date.now()-d>200&&(u.value=!0)}}}var U1t=560;function W1t(e){let{componentManager:t,chatBotRef:n,forwarders:r,forwardToManager:i,beforeNimbusClick:a,ensureSessionReady:o}=e,s=sn(!0),l=U1t,u=async e=>{t.showPanel(e),o&&await o(),e&&n.value&&await n.value.switchSession(e)},d=async e=>{await u(e)},f=()=>{s.value=!0,t.abortSidePanelSequence(),t.hidePanel()},p=()=>{f()},m=async()=>{if(a&&await a()===!1){t.emit(`nimbus-click`,{});return}t.handleNimbusClick()},h=e=>{t.handleDragging(e)},g=e=>{t.handleResizing(e)},_=e=>{t.handleDragStop(e)},v=e=>{t.handleResizeStop(e)},y=()=>{t.container.toggleCompression()},b=e=>{t.setCompressed(e)},x=(e,t)=>{l=Math.max(U1t,t??l)},S=async()=>{s.value&&=(await t.expandForSidePanel(l,{onBeforeSizeChange:()=>{s.value=!1}}),!1)},C=async()=>{s.value||=(await t.collapseSidePanel({onBeforeSizeChange:()=>{s.value=!0}}),!0)};return{show:u,handleShow:d,hide:f,handleClose:p,handleNimbusClick:m,handleDragging:h,handleResizing:g,handleDragStop:_,handleResizeStop:v,handleToggleCompression:y,handleCompressionChange:b,handleExecutionPanelChange:x,handleToggleAside:async()=>{s.value?await S():await C()},handleAsideCollapsedUpdate:async e=>{e!==s.value&&(e?await C():await S())},asideCollapsed:s,sendMessage:async e=>{n.value&&await n.value.sendMessage(e)},handleReceiveStart:()=>{r.receiveStart()},handleReceiveText:()=>{r.receiveText()},handleReceiveEnd:()=>{r.receiveEnd()},handleStop:()=>{r.stop()},stopGeneration:()=>{n.value&&n.value.stopGeneration()},updatePosition:(e,n)=>{t.container.updatePosition(e,n)},updateSize:(e,n)=>{t.container.updateSize(e,n)},updatePositionAndSize:(e,n,r,i)=>{t.container.updatePositionAndSize(e,n,r,i)},setCiteText:e=>{n.value&&n.value.setCiteText(e)},focusInput:()=>{n.value&&n.value.focusInput()},selectShortcut:(e,t)=>{n.value&&n.value.selectShortcut(e,t)},sendShortcut:(e,t)=>n.value?n.value.sendShortcut(e,t):Promise.resolve(),getChatHelper:()=>n.value?n.value.getChatHelper():null,handleShortcutClick:e=>{i(`shortcut-click`,e)}}}function G1t(e){let{chatHelper:t,sessionBusinessManager:n,chatBotRef:r,forwarders:i,reportSdkError:a,currentSession:o}=e,s=sn(``),l=sn(!0),u=sn(!1),d=sn(!1),f=()=>ASe(t.message.list.value);return Ln(()=>o.value,e=>{e&&(s.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},{immediate:!0}),Ln(()=>t.message.list.value.length,()=>{u.value=f()}),{sessionName:s,hasPermission:l,hasSessionContents:u,autoGenerateLoading:d,handleNewChat:async()=>{r.value?.exitShareMode(),r.value?.setCiteText(``),i.newChat()},handleNewChatCreated:e=>{i.newChatCreated(e)},handleHistoryClick:e=>{i.historyClick(e)},handleHistorySessionSwitch:async e=>{try{r.value?.exitShareMode(),await n.switchSession(e)}catch(e){console.error(`[AIBlueking] Failed to switch history session:`,e),a({apiName:`session`,action:`historySwitch`,error:e,source:`business`})}},handleHistorySessionDelete:async e=>{try{await n.deleteSession(e)}catch(e){console.error(`[AIBlueking] Failed to delete history session:`,e),a({apiName:`session`,action:`historyDelete`,error:e,source:`business`})}},handleHistorySessionRename:async(e,t)=>{try{await n.updateSessionName(e,t)}catch(e){console.error(`[AIBlueking] Failed to rename history session:`,e),a({apiName:`session`,action:`historyRename`,error:e,source:`business`})}},handleAutoGenerateName:async()=>{let e=t.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}d.value=!0;try{await t.session.renameSession(e);let n=t.session.list.value.find(t=>t.sessionCode===e);n&&(s.value=n.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),a({apiName:`session`,action:`autoGenerateName`,error:e,source:`business`})}finally{d.value=!1}i.autoGenerateName()},handleHelpClick:()=>{i.helpClick()},handleRename:async e=>{let n=t.session.current?.value;if(!n){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await t.session.updateSession({...n,sessionName:e}),s.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),a({apiName:`session`,action:`rename`,error:e,source:`business`})}i.rename(e,n.sessionCode)},handleSessionRenamed:(e,t)=>{o.value?.sessionCode===t&&(s.value=e),i.rename(e,t)},handleSessionSwitched:e=>{e&&(s.value=e.sessionName||``,u.value=(e.sessionContentCount??0)>0||f())},addNewSession:async e=>{e?await n.createSession(e):await n.createNewSession()},switchToSession:async e=>{r.value&&await r.value.switchSession(e)},updateSessionName:async(e,t)=>{try{await n.updateSessionName(e,t),s.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),a({apiName:`session`,action:`updateSessionName`,error:e,source:`business`})}}}}function K1t(e){let{shareBusinessManager:t,chatBotRef:n,emit:r,forwarders:i,reportSdkError:a}=e,o=sn(!1);return{isShareLoading:o,handleShare:()=>{n.value?.enterShareMode(),i.share()},handleCancelShare:()=>{n.value?.exitShareMode()},handleConfirmShare:async(e,s)=>{if(!O1t(s)){n.value?.exitShareMode(),r(`confirm-share`,e,s);return}o.value=!0;try{let{shareUrl:a,userMessageIds:o}=await t.shareMessages(e);await FSe(a),ud({message:cf(`分享链接已复制到剪贴板`),theme:`success`}),n.value?.exitShareMode(),i.shareMessages(o),r(`confirm-share`,e,s)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),a({apiName:`share`,action:`confirmShare`,error:e,source:`business`})}finally{o.value=!1}}}}function q1t(e={}){let t=sn([]),n=(n,r,i={})=>{try{let a=typeof n==`string`?document.querySelector(n):n;if(!a)return console.warn(`Tooltip target not found: ${n}`),null;let o=wf(a,{content:r,placement:`top`,arrow:!0,delay:[300,0],theme:`ai-blueking-tooltip`,...e,...i});return t.value.push(o),o}catch(e){return console.error(`Failed to create tooltip:`,e),null}},r=(e,t,r={})=>{let i=document.querySelectorAll(e),a=[];return i.forEach(e=>{let i=n(e,t,r);i&&a.push(i)}),a},i=e=>{let t=[];return e.forEach(({element:e,content:r,options:i})=>{let a=n(e,r,i);a&&t.push(a)}),t},a=()=>{t.value.forEach(e=>{e.destroy()}),t.value=[]};return sr(()=>{a()}),{instances:t,createTooltip:n,createTooltipsForSelector:r,createMultipleTooltips:i,destroyAll:a,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}var J1t={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,enableModelSelect:!0,executionTabVisible:!0,renderMode:Ff.Chat,defaultWidth:400,defaultHeight:void 0,defaultTop:0,defaultLeft:void 0,maxWidth:1e3,miniPadding:0,nimbusSize:`normal`,defaultMinimize:!1,shortcuts:()=>[],shortcutLimit:3,shortcutFilter:void 0,hideDefaultTrigger:!1,requestOptions:()=>({}),teleportTo:`body`,placeholder:void 0,helloText:cf(`你好,我是小鲸`),useAgentName:!1,disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,alwaysCreateNewSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0,errorToast:!0,ignoreErrors:()=>[]};function Y1t(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function K9(e,t,n,r=1){let[i,a]=typeof r==`number`?[r,r]:r;return[Math.round(t/i/e[0])*e[0],Math.round(n/a/e[1])*e[1]]}function X1t(e,t,n){return e-t-n}function Z1t(e,t,n){return e-t-n}function q9(e,t,n){return t!==null&&e<t?t:n!==null&&n<e?n:e}function Q1t(e,t,n){let r=e,i=[`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`].find(e=>Y1t(r[e]));if(!Y1t(r[i]))return!1;do{if(r[i](t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function $1t(e){let t=window.getComputedStyle(e);return[parseFloat(t.getPropertyValue(`width`),10),parseFloat(t.getPropertyValue(`height`),10)]}function J9(e,t,n){e&&(e.attachEvent?e.attachEvent(`on`+t,n):e.addEventListener?e.addEventListener(t,n,!0):e[`on`+t]=n)}function Y9(e,t,n){e&&(e.detachEvent?e.detachEvent(`on`+t,n):e.removeEventListener?e.removeEventListener(t,n,!0):e[`on`+t]=null)}var e0t=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},X9={mouse:{start:`mousedown`,move:`mousemove`,stop:`mouseup`},touch:{start:`touchstart`,move:`touchmove`,stop:`touchend`}},t0t={userSelect:`none`,MozUserSelect:`none`,WebkitUserSelect:`none`,MsUserSelect:`none`},n0t={userSelect:`auto`,MozUserSelect:`auto`,WebkitUserSelect:`auto`,MsUserSelect:`auto`},Z9=X9.mouse,r0t={replace:!0,name:`vue-draggable-resizable`,props:{className:{type:String,default:`vdr`},classNameDraggable:{type:String,default:`draggable`},classNameResizable:{type:String,default:`resizable`},classNameDragging:{type:String,default:`dragging`},classNameResizing:{type:String,default:`resizing`},classNameActive:{type:String,default:`active`},classNameHandle:{type:String,default:`handle`},disableUserSelect:{type:Boolean,default:!0},enableNativeDrag:{type:Boolean,default:!1},preventDeactivation:{type:Boolean,default:!1},active:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},lockAspectRatio:{type:Boolean,default:!1},w:{type:[Number,String],default:200,validator:e=>typeof e==`number`?e>0:e===`auto`},h:{type:[Number,String],default:200,validator:e=>typeof e==`number`?e>0:e===`auto`},minWidth:{type:Number,default:0,validator:e=>e>=0},minHeight:{type:Number,default:0,validator:e=>e>=0},maxWidth:{type:Number,default:null,validator:e=>e>=0},maxHeight:{type:Number,default:null,validator:e=>e>=0},x:{type:Number,default:0},y:{type:Number,default:0},z:{type:[String,Number],default:`auto`,validator:e=>typeof e==`string`?e===`auto`:e>=0},handles:{type:Array,default:()=>[`tl`,`tm`,`tr`,`mr`,`br`,`bm`,`bl`,`ml`],validator:e=>{let t=new Set([`tl`,`tm`,`tr`,`mr`,`br`,`bm`,`bl`,`ml`]);return new Set(e.filter(e=>t.has(e))).size===e.length}},dragHandle:{type:String,default:null},dragCancel:{type:String,default:null},axis:{type:String,default:`both`,validator:e=>[`x`,`y`,`both`].includes(e)},grid:{type:Array,default:()=>[1,1]},parent:{type:Boolean,default:!1},scale:{type:[Number,Array],default:1,validator:e=>typeof e==`number`?e>0:e.length===2&&e[0]>0&&e[1]>0},onDragStart:{type:Function,default:()=>!0},onDrag:{type:Function,default:()=>!0},onResizeStart:{type:Function,default:()=>!0},onResize:{type:Function,default:()=>!0}},data:function(){return{left:this.x,top:this.y,right:null,bottom:null,width:null,height:null,widthTouched:!1,heightTouched:!1,aspectFactor:null,parentWidth:null,parentHeight:null,handle:null,enabled:this.active,resizing:!1,dragging:!1,dragEnable:!1,resizeEnable:!1,zIndex:this.z}},created:function(){this.maxWidth&&this.minWidth>this.maxWidth&&console.warn(`[Vdr warn]: Invalid prop: minWidth cannot be greater than maxWidth`),this.maxHeight&&this.minHeight>this.maxHeight&&console.warn(`[Vdr warn]: Invalid prop: minHeight cannot be greater than maxHeight`),this.resetBoundsAndMouseState()},mounted:function(){this.enableNativeDrag||(this.$el.ondragstart=()=>!1);let[e,t]=this.getParentSize();this.parentWidth=e,this.parentHeight=t;let[n,r]=$1t(this.$el);this.aspectFactor=(this.w===`auto`?n:this.w)/(this.h===`auto`?r:this.h),this.width=this.w===`auto`?n:this.w,this.height=this.h===`auto`?r:this.h,this.right=this.parentWidth-this.width-this.left,this.bottom=this.parentHeight-this.height-this.top,this.active&&this.$emit(`activated`),J9(document.documentElement,`mousedown`,this.deselect),J9(document.documentElement,`touchend touchcancel`,this.deselect),J9(window,`resize`,this.checkParentSize)},beforeUnmount:function(){Y9(document.documentElement,`mousedown`,this.deselect),Y9(document.documentElement,`touchstart`,this.handleUp),Y9(document.documentElement,`mousemove`,this.move),Y9(document.documentElement,`touchmove`,this.move),Y9(document.documentElement,`mouseup`,this.handleUp),Y9(document.documentElement,`touchend touchcancel`,this.deselect),Y9(window,`resize`,this.checkParentSize)},methods:{resetBoundsAndMouseState(){this.mouseClickPosition={mouseX:0,mouseY:0,x:0,y:0,w:0,h:0},this.bounds={minLeft:null,maxLeft:null,minRight:null,maxRight:null,minTop:null,maxTop:null,minBottom:null,maxBottom:null}},checkParentSize(){if(this.parent){let[e,t]=this.getParentSize();this.parentWidth=e,this.parentHeight=t,this.right=this.parentWidth-this.width-this.left,this.bottom=this.parentHeight-this.height-this.top}},getParentSize(){if(this.parent){let e=window.getComputedStyle(this.$el.parentNode,null);return[parseInt(e.getPropertyValue(`width`),10),parseInt(e.getPropertyValue(`height`),10)]}return[null,null]},elementTouchDown(e){Z9=X9.touch,this.elementDown(e)},elementMouseDown(e){Z9=X9.mouse,this.elementDown(e)},elementDown(e){if(e instanceof MouseEvent&&e.button!==0)return;let t=e.target||e.srcElement;if(this.$el.contains(t)){if(this.onDragStart(e)===!1)return;if(this.dragHandle&&!Q1t(t,this.dragHandle,this.$el)||this.dragCancel&&Q1t(t,this.dragCancel,this.$el)){this.dragging=!1;return}this.enabled||(this.enabled=!0,this.$emit(`activated`),this.$emit(`update:active`,!0)),this.draggable&&(this.dragEnable=!0),this.mouseClickPosition.mouseX=e.touches?e.touches[0].pageX:e.pageX,this.mouseClickPosition.mouseY=e.touches?e.touches[0].pageY:e.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.parent&&(this.bounds=this.calcDragLimits()),J9(document.documentElement,Z9.move,this.move),J9(document.documentElement,Z9.stop,this.handleUp)}},calcDragLimits(){return{minLeft:this.left%this.grid[0],maxLeft:Math.floor((this.parentWidth-this.width-this.left)/this.grid[0])*this.grid[0]+this.left,minRight:this.right%this.grid[0],maxRight:Math.floor((this.parentWidth-this.width-this.right)/this.grid[0])*this.grid[0]+this.right,minTop:this.top%this.grid[1],maxTop:Math.floor((this.parentHeight-this.height-this.top)/this.grid[1])*this.grid[1]+this.top,minBottom:this.bottom%this.grid[1],maxBottom:Math.floor((this.parentHeight-this.height-this.bottom)/this.grid[1])*this.grid[1]+this.bottom}},deselect(e){let t=e.target||e.srcElement,n=RegExp(this.className+`-([trmbl]{2})`,``);!this.$el.contains(t)&&!n.test(t.className)&&(this.enabled&&!this.preventDeactivation&&(this.enabled=!1,this.$emit(`deactivated`),this.$emit(`update:active`,!1)),Y9(document.documentElement,Z9.move,this.handleResize)),this.resetBoundsAndMouseState()},handleTouchDown(e,t){Z9=X9.touch,this.handleDown(e,t)},handleDown(e,t){t instanceof MouseEvent&&t.which!==1||this.onResizeStart(e,t)!==!1&&(t.stopPropagation&&t.stopPropagation(),this.lockAspectRatio&&!e.includes(`m`)?this.handle=`m`+e.substring(1):this.handle=e,this.resizeEnable=!0,this.mouseClickPosition.mouseX=t.touches?t.touches[0].pageX:t.pageX,this.mouseClickPosition.mouseY=t.touches?t.touches[0].pageY:t.pageY,this.mouseClickPosition.left=this.left,this.mouseClickPosition.right=this.right,this.mouseClickPosition.top=this.top,this.mouseClickPosition.bottom=this.bottom,this.bounds=this.calcResizeLimits(),J9(document.documentElement,Z9.move,this.handleResize),J9(document.documentElement,Z9.stop,this.handleUp))},calcResizeLimits(){let e=this.minW,t=this.minH,n=this.maxW,r=this.maxH,i=this.aspectFactor,[a,o]=this.grid,s=this.width,l=this.height,u=this.left,d=this.top,f=this.right,p=this.bottom;this.lockAspectRatio&&(e/t>i?t=e/i:e=i*t,n&&r?(n=Math.min(n,i*r),r=Math.min(r,n/i)):n?r=n/i:r&&(n=i*r)),n-=n%a,r-=r%o;let m={minLeft:null,maxLeft:null,minTop:null,maxTop:null,minRight:null,maxRight:null,minBottom:null,maxBottom:null};return this.parent?(m.minLeft=u%a,m.maxLeft=u+Math.floor((s-e)/a)*a,m.minTop=d%o,m.maxTop=d+Math.floor((l-t)/o)*o,m.minRight=f%a,m.maxRight=f+Math.floor((s-e)/a)*a,m.minBottom=p%o,m.maxBottom=p+Math.floor((l-t)/o)*o,n&&(m.minLeft=Math.max(m.minLeft,this.parentWidth-f-n),m.minRight=Math.max(m.minRight,this.parentWidth-u-n)),r&&(m.minTop=Math.max(m.minTop,this.parentHeight-p-r),m.minBottom=Math.max(m.minBottom,this.parentHeight-d-r)),this.lockAspectRatio&&(m.minLeft=Math.max(m.minLeft,u-d*i),m.minTop=Math.max(m.minTop,d-u/i),m.minRight=Math.max(m.minRight,f-p*i),m.minBottom=Math.max(m.minBottom,p-f/i))):(m.minLeft=null,m.maxLeft=u+Math.floor((s-e)/a)*a,m.minTop=null,m.maxTop=d+Math.floor((l-t)/o)*o,m.minRight=null,m.maxRight=f+Math.floor((s-e)/a)*a,m.minBottom=null,m.maxBottom=p+Math.floor((l-t)/o)*o,n&&(m.minLeft=-(f+n),m.minRight=-(u+n)),r&&(m.minTop=-(p+r),m.minBottom=-(d+r)),this.lockAspectRatio&&n&&r&&(m.minLeft=Math.min(m.minLeft,-(f+n)),m.minTop=Math.min(m.minTop,-(r+p)),m.minRight=Math.min(m.minRight,-u-n),m.minBottom=Math.min(m.minBottom,-d-r))),m},move(e){this.resizing?this.handleResize(e):this.dragEnable&&this.handleDrag(e)},handleDrag(e){let t=this.axis,n=this.grid,r=this.bounds,i=this.mouseClickPosition,[a,o]=K9(n,t&&t!==`y`?i.mouseX-(e.touches?e.touches[0].pageX:e.pageX):0,t&&t!==`x`?i.mouseY-(e.touches?e.touches[0].pageY:e.pageY):0,this.scale),s=q9(i.left-a,r.minLeft,r.maxLeft),l=q9(i.top-o,r.minTop,r.maxTop);if(this.onDrag(s,l)===!1)return;let u=q9(i.right+a,r.minRight,r.maxRight),d=q9(i.bottom+o,r.minBottom,r.maxBottom);this.left=s,this.top=l,this.right=u,this.bottom=d,this.$emit(`dragging`,this.left,this.top),this.dragging=!0},moveHorizontally(e){let[t,n]=K9(this.grid,e,this.top,1),r=q9(t,this.bounds.minLeft,this.bounds.maxLeft);this.left=r,this.right=this.parentWidth-this.width-r},moveVertically(e){let[t,n]=K9(this.grid,this.left,e,1),r=q9(n,this.bounds.minTop,this.bounds.maxTop);this.top=r,this.bottom=this.parentHeight-this.height-r},handleResize(e){let t=this.left,n=this.top,r=this.right,i=this.bottom,a=this.mouseClickPosition,o=this.aspectFactor,s=a.mouseX-(e.touches?e.touches[0].pageX:e.pageX),l=a.mouseY-(e.touches?e.touches[0].pageY:e.pageY);!this.widthTouched&&s&&(this.widthTouched=!0),!this.heightTouched&&l&&(this.heightTouched=!0);let[u,d]=K9(this.grid,s,l,this.scale);this.handle.includes(`b`)?(i=q9(a.bottom+d,this.bounds.minBottom,this.bounds.maxBottom),this.lockAspectRatio&&this.resizingOnY&&(r=this.right-(this.bottom-i)*o)):this.handle.includes(`t`)&&(n=q9(a.top-d,this.bounds.minTop,this.bounds.maxTop),this.lockAspectRatio&&this.resizingOnY&&(t=this.left-(this.top-n)*o)),this.handle.includes(`r`)?(r=q9(a.right+u,this.bounds.minRight,this.bounds.maxRight),this.lockAspectRatio&&this.resizingOnX&&(i=this.bottom-(this.right-r)/o)):this.handle.includes(`l`)&&(t=q9(a.left-u,this.bounds.minLeft,this.bounds.maxLeft),this.lockAspectRatio&&this.resizingOnX&&(n=this.top-(this.left-t)/o));let f=X1t(this.parentWidth,t,r),p=Z1t(this.parentHeight,n,i);this.onResize(this.handle,t,n,f,p)!==!1&&(this.left=t,this.top=n,this.right=r,this.bottom=i,this.width=f,this.height=p,this.$emit(`resizing`,this.left,this.top,this.width,this.height),this.resizing=!0)},changeWidth(e){let[t,n]=K9(this.grid,e,0,1),r=q9(this.parentWidth-t-this.left,this.bounds.minRight,this.bounds.maxRight),i=this.bottom;this.lockAspectRatio&&(i=this.bottom-(this.right-r)/this.aspectFactor);let a=X1t(this.parentWidth,this.left,r),o=Z1t(this.parentHeight,this.top,i);this.right=r,this.bottom=i,this.width=a,this.height=o},changeHeight(e){let[t,n]=K9(this.grid,0,e,1),r=q9(this.parentHeight-n-this.top,this.bounds.minBottom,this.bounds.maxBottom),i=this.right;this.lockAspectRatio&&(i=this.right-(this.bottom-r)*this.aspectFactor);let a=X1t(this.parentWidth,this.left,i),o=Z1t(this.parentHeight,this.top,r);this.right=i,this.bottom=r,this.width=a,this.height=o},handleUp(e){this.handle=null,this.resetBoundsAndMouseState(),this.dragEnable=!1,this.resizeEnable=!1,this.resizing&&(this.resizing=!1,this.$emit(`resizeStop`,this.left,this.top,this.width,this.height)),this.dragging&&(this.dragging=!1,this.$emit(`dragStop`,this.left,this.top)),Y9(document.documentElement,Z9.move,this.handleResize)}},computed:{style(){return{transform:`translate(${this.left}px, ${this.top}px)`,width:this.computedWidth,height:this.computedHeight,zIndex:this.zIndex,...this.dragging&&this.disableUserSelect?t0t:n0t}},actualHandles(){return this.resizable?this.handles:[]},computedWidth(){return this.w===`auto`&&!this.widthTouched?`auto`:this.width+`px`},computedHeight(){return this.h===`auto`&&!this.heightTouched?`auto`:this.height+`px`},minW(){return this.minWidth},minH(){return this.minHeight},maxW(){return this.maxWidth},maxH(){return this.maxHeight},resizingOnX(){return!!this.handle&&(this.handle.includes(`l`)||this.handle.includes(`r`))},resizingOnY(){return!!this.handle&&(this.handle.includes(`t`)||this.handle.includes(`b`))},isCornerHandle(){return!!this.handle&&[`tl`,`tr`,`br`,`bl`].includes(this.handle)}},watch:{active(e){this.enabled=e,e?this.$emit(`activated`):this.$emit(`deactivated`)},z(e){(e>=0||e===`auto`)&&(this.zIndex=e)},x(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcDragLimits()),this.moveHorizontally(e))},y(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcDragLimits()),this.moveVertically(e))},lockAspectRatio(e){e?this.aspectFactor=this.width/this.height:this.aspectFactor=void 0},w(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcResizeLimits()),this.changeWidth(e))},h(e){this.resizing||this.dragging||(this.parent&&(this.bounds=this.calcResizeLimits()),this.changeHeight(e))}}},i0t=[`onMousedown`,`onTouchstart`];function a0t(e,t,n,r,i,a){return B(),V(`div`,{style:ge(a.style),class:xe([{[n.classNameActive]:e.enabled,[n.classNameDragging]:e.dragging,[n.classNameResizing]:e.resizing,[n.classNameDraggable]:n.draggable,[n.classNameResizable]:n.resizable},n.className]),onMousedown:t[0]||=(...e)=>a.elementMouseDown&&a.elementMouseDown(...e),onTouchstart:t[1]||=(...e)=>a.elementTouchDown&&a.elementTouchDown(...e)},[(B(!0),V(Ir,null,dr(a.actualHandles,t=>(B(),V(`div`,{key:t,class:xe([n.classNameHandle,n.classNameHandle+`-`+t]),style:ge({display:e.enabled?`block`:`none`}),onMousedown:Ai(e=>a.handleDown(t,e),[`stop`,`prevent`]),onTouchstart:Ai(e=>a.handleTouchDown(t,e),[`stop`,`prevent`])},[pr(e.$slots,t)],46,i0t))),128)),pr(e.$slots,`default`)],38)}var o0t=e0t(r0t,[[`render`,a0t]]);function Q9(e){Q9.installed||(Q9.installed=!0,e.component(`VueDraggableResizable`,o0t))}var s0t={install:Q9},$9=null;typeof window<`u`?$9=window.Vue:typeof global<`u`&&($9=global.Vue),$9&&$9.use(s0t);var c0t=3;function l0t(e={},t){let n=e.initWidth||400,r=e.minWidth||400,i=e.minHeight||400,a=e.maxWidthPercent||40,o=e.compressedHeight||800,s=e.compressedPadding===void 0?0:e.compressedPadding,l=sn(e.defaultLeft===void 0?window.innerWidth-n:e.defaultLeft),u=sn(e.defaultTop===void 0?0:e.defaultTop),d=sn(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),f=sn(n),p=sn(u.value),m=sn(l.value),h=sn(f.value),g=sn(d.value),_=sn(Math.max(window.innerWidth*(a/100),h.value)),v=sn(!1),y=sn(0),b=null,x=null,S=0,C=0,w=!1,T=null,E=sn(!1),D=e=>{let t=window.innerWidth,n={...e};return n.width>t&&(n.width=t),n.x+n.width>t&&(n.x=t-n.width),n.x<0&&(n.x=0),n},O=()=>({x:m.value,y:p.value,width:h.value,height:g.value}),k=(e,t)=>{E.value&&(T!==null&&Math.abs(e-T.x)<=c0t&&Math.abs(t-T.width)<=c0t||(b=null,w=!1))},A=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),k(e,h.value),t?.onDragging?.(O())},j=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,k(e,h.value),t?.onResizing?.(O())},M=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),k(e,h.value),x=E.value?O():null,t?.onDragStop?.(O())},N=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,k(e,h.value),x=E.value?O():null,t?.onResizeStop?.(O())},P=()=>{_.value=Math.max(window.innerWidth*(a/100),h.value),Dn(()=>{if(v.value)m.value=window.innerWidth-h.value-s,p.value=window.innerHeight-o-s;else{let e=window.innerWidth-h.value-y.value;m.value=Math.max(0,e),setTimeout(()=>{g.value=window.innerHeight-p.value},0)}h.value>_.value&&(h.value=_.value)})},F=()=>{v.value?(p.value=u.value,Dn(()=>{g.value=d.value,m.value=l.value,h.value=f.value})):(p.value=window.innerHeight-o-s,m.value=l.value-s,h.value=n,g.value=o),v.value=!v.value},I=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value)},L=(e,t)=>{h.value=Math.max(r,Math.min(e,_.value)),g.value=Math.max(i,t)},R=(e,t,n,r)=>{I(e,t),L(n,r)},ee=()=>{y.value=m.value-(window.innerWidth-h.value)},te=async(e,t,n,r,i=`expand`)=>{let a=t.x!==e.x,o=t.width!==e.width,s=async()=>{a&&(I(t.x,t.y),await Dn())},l=async()=>{r?.onBeforeSizeChange?.(),o&&(L(t.width,t.height),await Dn())};try{if(i===`expand`){if(await s(),n!==C)return;await l();return}if(await l(),n!==C)return;await s()}finally{ee(),T=O()}};return or(()=>{window.addEventListener(`resize`,P)}),sr(()=>{window.removeEventListener(`resize`,P)}),{minWidth:r,minHeight:i,maxWidth:_,top:p,left:m,width:h,height:g,isCompressed:v,isSidePanelExpanded:E,handleDragging:A,handleResizing:j,handleDragStop:M,handleResizeStop:N,toggleCompression:F,updatePosition:I,updateSize:L,updatePositionAndSize:R,expandForSidePanel:async(e,t)=>{if(E.value)return;let n=O();b={...n},E.value=!0;let i=++C,a=window.innerWidth,o=r+e;if(n.width>=o){S=0,w=!1,x={...n},T={...n},t?.onBeforeSizeChange?.();return}let s=x?.width??n.width+e;s=Math.min(s,_.value,a),s=Math.max(s,o,r);let l=Math.max(0,s-n.width),u=a-(n.x+n.width),d=Math.max(0,l-u),f=Math.max(0,n.x-d);s=Math.min(s,a-f),S=Math.max(0,s-n.width);let p=D({x:f,y:n.y,width:s,height:n.height});w=p.x!==n.x,await te(n,p,i,t,`expand`),i===C&&(x=O())},collapseSidePanel:async e=>{if(!E.value)return;let t=O();x={...t},E.value=!1;let n=++C,i=b,a=w&&i!==null,o=i?.width??Math.max(r,t.width-S),s=D({x:a&&i?i.x:t.x,y:t.y,width:o,height:t.height});w=!1,await te(t,s,n,e,`collapse`)},abortSidePanelSequence:()=>{C+=1,E.value=!1,w=!1,b&&(I(b.x,b.y),L(b.width,b.height)),ee(),T=O()}}}var u0t={class:`draggable-container-content`},d0t=Ni(Qn({__name:`draggable-container`,props:{className:{default:``},compressedHeight:{default:800},compressedPadding:{default:0},defaultHeight:{default:void 0},defaultWidth:{default:400},defaultX:{default:void 0},defaultY:{default:0},draggable:{type:Boolean,default:!0},dragHandle:{default:`.drag-handle`},maxWidth:{default:void 0},maxWidthPercent:{default:80},minHeight:{default:400},minWidth:{default:400},resizable:{type:Boolean,default:!0},teleportTo:{default:`body`},visible:{type:Boolean,default:!1}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=sn(!1),{minWidth:o,minHeight:s,maxWidth:l,top:u,left:d,width:f,height:p,isCompressed:m,isSidePanelExpanded:h,handleDragging:g,handleResizing:_,handleDragStop:v,handleResizeStop:y,toggleCompression:b,updatePosition:x,updateSize:S,updatePositionAndSize:C,expandForSidePanel:w,collapseSidePanel:T,abortSidePanelSequence:E}=l0t({initWidth:r.defaultWidth,minWidth:r.minWidth,minHeight:r.minHeight,maxWidthPercent:r.maxWidthPercent,compressedHeight:r.compressedHeight,defaultHeight:r.defaultHeight,defaultTop:r.defaultY,defaultLeft:r.defaultX,compressedPadding:r.compressedPadding},{onDragStop:e=>i(`drag-stop`,e),onResizeStop:e=>i(`resize-stop`,e),onDragging:e=>i(`dragging`,e),onResizing:e=>i(`resizing`,e)}),D=U(()=>({"--draggable-max-width":typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth??`${l.value}px`})),O=U(()=>({x:d.value,y:u.value,width:f.value,height:p.value})),k=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},A=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},j=(e,t)=>{a.value||(a.value=!0,k()),g(e,t)},M=(e,t,n,r)=>{a.value||(a.value=!0,k()),_(e,t,n,r)},N=(e,t)=>{v(e,t),a.value=!1,A()},P=(e,t,n,r)=>{y(e,t,n,r),a.value=!1,A()};return Ln(m,e=>{i(`compression-change`,e)}),t({updatePosition:x,updateSize:S,updatePositionAndSize:C,toggleCompression:b,expandForSidePanel:w,collapseSidePanel:T,abortSidePanelSequence:E,positionAndSize:O,isCompressed:m,isSidePanelExpanded:h}),(e,t)=>Nn((B(),Wr(z(o0t),{ref:`draggableRef`,active:r.visible,class:xe([`draggable-container-wrapper`,r.className,{"is-dragging-or-resizing":a.value}]),"class-name":`draggable-container-inner`,"drag-handle":r.dragHandle,draggable:r.draggable,h:z(p),"max-width":z(l),"min-height":z(s),"min-width":z(o),parent:!0,"prevent-deactivation":!0,resizable:r.resizable,style:ge(D.value),w:z(f),x:z(d),y:z(u),onDragStop:N,onDragging:j,onResizeStop:P,onResizing:M},{default:Mn(()=>[H(`div`,u0t,[pr(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`drag-handle`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`style`,`w`,`x`,`y`])),[[Si,r.visible]])}}),[[`__scopeId`,`data-v-7417a71b`]]),f0t={class:`nimbus-bkai-wrapper`},p0t=[`width`,`height`,`src`],m0t=Ni(Qn({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:t}){Yne(e=>({v05a8b16e:`${a.value.container}px`,v4e1cf4ca:`${a.value.wrapper}px`,v5ab0c513:`${a.value.mini.right}px`,v40c13a80:`${a.value.mini.size}px`,v0d35a9ef:`${a.value.mini.fontSize}px`}));let n=e,r=t,i={small:{container:40,wrapper:32,img:24,mini:{size:14,fontSize:10,right:-4}},normal:{container:48,wrapper:40,img:32,mini:{size:16,fontSize:12,right:-6}},large:{container:56,wrapper:48,img:40,mini:{size:18,fontSize:14,right:-6}}},a=U(()=>i[n.size]),o=sn(null),s=sn(null),{nimbusLeft:l,nimbusTop:u,isMinimize:d,handleClick:f,handleMinimize:p,handleDragging:m,handleMouseEnter:h,handleMouseLeave:g,handleMouseDown:_,handleMouseUp:v}=H1t(r,n.isMinimize);Ln(d,e=>{r(`update:isMinimize`,e)});let y=U(()=>d.value?cf(`恢复默认大小`):cf(`最小化,将缩成锚点`)),{createTooltip:b,destroyAll:x}=q1t({theme:`ai-blueking`,delay:[0,0]}),S=()=>{Dn(()=>{C()})},C=()=>{x(),o.value&&!d.value&&b(o.value,LSe(),{placement:`left`}),s.value&&b(s.value,y.value,{placement:`top`})};return Ln(()=>d.value,()=>{Dn(()=>{C()})}),or(()=>{Dn(()=>{C()}),window.addEventListener(`resize`,S)}),sr(()=>{window.removeEventListener(`resize`,S)}),(t,n)=>(B(),Wr(z(o0t),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:a.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:a.value.container,x:z(l),y:z(u),onDragging:z(m)},{default:Mn(()=>[H(`div`,{ref_key:`nimbusContainerRef`,ref:o,class:xe([`nimbus-container`,{"is-minimize":z(d)}]),onClick:n[1]||=(...e)=>z(f)&&z(f)(...e),onMousedown:n[2]||=(...e)=>z(_)&&z(_)(...e),onMouseenter:n[3]||=(...e)=>z(h)&&z(h)(...e),onMouseleave:n[4]||=(...e)=>z(g)&&z(g)(...e),onMouseup:n[5]||=(...e)=>z(v)&&z(v)(...e)},[H(`div`,f0t,[H(`img`,{width:a.value.img,height:a.value.img,src:z(U$t),alt:`nimbus`},null,8,p0t)]),H(`i`,{ref_key:`minimizeButtonRef`,ref:s,class:xe([`nimbus-mini bkai-icon`,z(d)?`bkai-yinyong`:`bkai-minus-line`]),onClick:n[0]||=Ai((...e)=>z(p)&&z(p)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),h0t=Ni(Qn({inheritAttrs:!1,__name:`ai-blueking`,props:mte({alwaysCreateNewSession:{type:Boolean},autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enableModelSelect:{type:Boolean},models:{},enablePopup:{type:Boolean},errorToast:{type:Boolean},executionTabVisible:{type:Boolean},extCls:{},getSideRenderComponent:{type:Function},getSideTabRenderComponent:{type:Function},helloText:{},messageTools:{},updateTools:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},ignoreErrors:{},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},onCustomTabChange:{type:Function},placeholder:{},prompts:{},renderMode:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},useAgentName:{type:Boolean},beforeNimbusClick:{type:Function},shortcutFilter:{type:Function},resizeProps:{},size:{},timezone:{}},J1t),emits:[`show`,`close`,`dragging`,`resizing`,`drag-stop`,`resize-stop`,`send-message`,`receive-start`,`receive-text`,`receive-end`,`stop`,`shortcut-click`,`session-initialized`,`sdk-error`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=fte(),{chatHelper:o,componentManager:s,modelSelection:l,sessionBusinessManager:u,shareBusinessManager:d,shortcutManager:f,forwarders:p,forwardToManager:m,chatBotRef:h,draggableContainerRef:g,panelVisible:_,nimbusMinimized:v,normalizedUrl:y,agentName:b,currentSession:x,isCompressed:S,isWelcomeState:C,handleError:w,reportSdkError:T,ensureSessionReady:E,updateAgentInfo:D}=B1t({props:r,emit:i}),O=U(()=>l.selectedLlmCode.value),{show:k,hide:A,handleShow:j,handleClose:M,handleNimbusClick:N,handleDragging:P,handleResizing:F,handleDragStop:I,handleResizeStop:L,handleToggleCompression:R,handleCompressionChange:ee,handleExecutionPanelChange:te,handleToggleAside:ne,handleAsideCollapsedUpdate:re,asideCollapsed:ie,sendMessage:ae,handleReceiveStart:oe,handleReceiveText:se,handleReceiveEnd:ce,handleStop:le,stopGeneration:ue,setCiteText:de,focusInput:fe,selectShortcut:pe,sendShortcut:me,getChatHelper:he,updatePosition:_e,updateSize:ve,updatePositionAndSize:ye,handleShortcutClick:be}=W1t({componentManager:s,chatBotRef:h,forwarders:p,forwardToManager:m,beforeNimbusClick:r.beforeNimbusClick,ensureSessionReady:E}),{sessionName:Ce,hasPermission:we,hasSessionContents:Te,autoGenerateLoading:Ee,handleNewChat:De,handleNewChatCreated:Oe,handleHistoryClick:ke,handleHistorySessionSwitch:Ae,handleHistorySessionDelete:je,handleHistorySessionRename:Me,handleAutoGenerateName:Ne,handleHelpClick:Pe,handleRename:Fe,handleSessionRenamed:Ie,handleSessionSwitched:Le,addNewSession:Re,switchToSession:ze,updateSessionName:Be}=G1t({chatHelper:o,sessionBusinessManager:u,chatBotRef:h,forwarders:p,reportSdkError:T,currentSession:x}),{isShareLoading:Ve,handleShare:He,handleCancelShare:Ue,handleConfirmShare:We}=K1t({shareBusinessManager:d,chatBotRef:h,emit:(e,t,n)=>i(e,t,n),forwarders:p,reportSdkError:T}),{aiSelectionVisible:Ge,filteredPopupShortcuts:Ke,handleSelectionChange:qe,handleAiSelectionShortcut:Je}=V1t({shortcutManager:f,chatBotRef:h,forwardToManager:m,show:k,props:r}),Ye=e=>{Te.value=!0,p.sendMessage(e)};return t({show:k,handleShow:j,handleClose:M,hide:A,sendMessage:ae,selectShortcut:pe,sendShortcut:me,getChatHelper:he,stopGeneration:ue,addNewSession:Re,switchToSession:ze,updateSessionName:Be,updatePosition:_e,updateSize:ve,updatePositionAndSize:ye,setCiteText:de,focusInput:fe,updateAgentInfo:D}),(e,t)=>(B(),Wr(Un,{to:r.teleportTo},[H(`div`,{class:xe([`ai-blueking-v2`,r.extCls,z(a).class])},[Qr(` 可拖拽容器 `),Jr(z(d0t),{ref_key:`draggableContainerRef`,ref:g,"compressed-padding":r.miniPadding,"default-height":r.defaultHeight,"default-width":r.defaultWidth,"default-x":r.defaultLeft,"default-y":r.defaultTop,"drag-handle":`.drag-handle`,draggable:r.draggable,"max-width":r.maxWidth,"max-width-percent":80,visible:z(_),onCompressionChange:z(ee),onDragStop:z(I),onDragging:z(P),onResizeStop:z(L),onResizing:z(F)},{default:Mn(()=>[H(`div`,{class:xe([`ai-blueking-panel`,{"has-messages":!z(C)}])},[Qr(` 独立的 Header 组件 `),r.hideHeader?Qr(`v-if`,!0):(B(),Wr($$t,{key:0,"agent-name":z(b),"aside-collapsed":z(ie),"auto-generate-loading":z(Ee),"chat-helper":z(o),draggable:r.draggable,"dropdown-menu-config":r.dropdownMenuConfig,"enable-chat-session":r.enableChatSession,"has-permission":z(we),"has-session-contents":z(Te),"is-compression-height":z(S),"render-mode":r.renderMode,"selected-llm-code":O.value,"session-business-manager":z(u),"session-name":z(Ce),"show-compression-icon":r.showCompressionIcon,"show-history-icon":r.showHistoryIcon,"show-more-icon":r.showMoreIcon,"show-new-chat-icon":r.showNewChatIcon,title:r.title,onAutoGenerateName:z(Ne),onClose:z(M),onHelpClick:z(Pe),onHistoryClick:z(ke),onHistorySessionDelete:z(je),onHistorySessionRename:z(Me),onHistorySessionSwitch:z(Ae),onNewChat:z(De),onNewChatCreated:z(Oe),onRename:z(Fe),onShare:z(He),onToggleAside:z(ne),onToggleCompression:z(R)},fr({_:2},[e.$slots.headerLeft?{name:`headerLeft`,fn:Mn(()=>[pr(e.$slots,`headerLeft`,{},void 0,!0)]),key:`0`}:void 0]),1032,`agent-name.aside-collapsed.auto-generate-loading.chat-helper.draggable.dropdown-menu-config.enable-chat-session.has-permission.has-session-contents.is-compression-height.render-mode.selected-llm-code.session-business-manager.session-name.show-compression-icon.show-history-icon.show-more-icon.show-new-chat-icon.title.onAutoGenerateName.onClose.onHelpClick.onHistoryClick.onHistorySessionDelete.onHistorySessionRename.onHistorySessionSwitch.onNewChat.onNewChatCreated.onRename.onShare.onToggleAside.onToggleCompression`.split(`.`))),Qr(` ChatBot 核心组件(仅聊天区域) `),Jr(M1t,{ref_key:`chatBotRef`,ref:h,"always-create-new-session":r.alwaysCreateNewSession,"aside-collapsed":z(ie),"auto-load":r.loadRecentSessionOnMount,"chat-helper":z(o),"enable-model-select":r.enableModelSelect,"error-toast":!1,"execution-tab-visible":r.executionTabVisible,"get-side-render-component":r.getSideRenderComponent,"get-side-tab-render-component":r.getSideTabRenderComponent,"hello-text":r.helloText,"message-tools":r.messageTools,"model-selection-manager":z(l),models:r.models,"on-custom-tab-change":r.onCustomTabChange,placeholder:r.placeholder,prompts:r.prompts,"render-mode":r.renderMode,"request-options":r.requestOptions,"resize-props":r.resizeProps,resources:r.resources,"session-code":r.initialSessionCode,"share-loading":z(Ve),shortcuts:r.shortcuts,size:r.size,timezone:r.timezone,style:ge({height:r.hideHeader?`100%`:`calc(100% - 48px)`}),"update-tools":r.updateTools,url:z(y),"use-agent-name":r.useAgentName,onAgentAction:t[0]||=(e,t)=>i(`agent-action`,e,t),onCancelShare:z(Ue),onConfirmShare:t[1]||=(e,t)=>z(We)(e,t),onError:t[2]||=e=>z(w)(e),onExecutionPanelChange:z(te),onReceiveEnd:z(ce),onReceiveStart:z(oe),onReceiveText:z(se),onRename:z(Ie),onRequestShare:z(He),onSendMessage:t[3]||=e=>Ye(e),onSessionSwitched:t[4]||=e=>z(Le)(e),onShortcutClick:z(be),onStop:z(le),"onUpdate:asideCollapsed":z(re)},fr({_:2},[e.$slots.welcome?{name:`welcome`,fn:Mn(t=>[pr(e.$slots,`welcome`,Se(Yr(t)),void 0,!0)]),key:`0`}:void 0,e.$slots.codeHeader?{name:`codeHeader`,fn:Mn(t=>[pr(e.$slots,`codeHeader`,Se(Yr(t)),void 0,!0)]),key:`1`}:void 0,e.$slots.message?{name:`message`,fn:Mn(({message:t,messageToolsStatus:n,onInterruptResume:r})=>[pr(e.$slots,`message`,{message:t,messageToolsStatus:n,onInterruptResume:r},void 0,!0)]),key:`2`}:void 0]),1032,`always-create-new-session.aside-collapsed.auto-load.chat-helper.enable-model-select.execution-tab-visible.get-side-render-component.get-side-tab-render-component.hello-text.message-tools.model-selection-manager.models.on-custom-tab-change.placeholder.prompts.render-mode.request-options.resize-props.resources.session-code.share-loading.shortcuts.size.timezone.style.update-tools.url.use-agent-name.onCancelShare.onExecutionPanelChange.onReceiveEnd.onReceiveStart.onReceiveText.onRename.onRequestShare.onShortcutClick.onStop.onUpdate:asideCollapsed`.split(`.`))],2)]),_:3},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`,`onCompressionChange`,`onDragStop`,`onDragging`,`onResizeStop`,`onResizing`]),Qr(` Nimbus 悬浮球 `),r.hideNimbus?Qr(`v-if`,!0):(B(),Wr(m0t,{key:0,"is-minimize":z(v),"onUpdate:isMinimize":t[5]||=e=>on(v)?v.value=e:null,"is-panel-show":z(_),"onUpdate:isPanelShow":t[6]||=e=>on(_)?_.value=e:null,"default-minimize":r.defaultMinimize,size:r.nimbusSize,onClick:z(N)},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`,`onClick`])),Qr(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),r.enablePopup?(B(),Wr(z(ROe),{key:1,visible:z(Ge),"onUpdate:visible":t[7]||=e=>on(Ge)?Ge.value=e:null,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":r.shortcutLimit,shortcuts:z(Ke),onSelectShortcut:z(Je),onSelectionChange:z(qe)},null,8,[`visible`,`max-shortcut-count`,`shortcuts`,`onSelectShortcut`,`onSelectionChange`])):Qr(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-af633e66`]]),g0t=[`close`,`show`,`stop`,`shortcut-click`,`send-message`,`receive-start`,`receive-end`,`receive-text`,`session-initialized`,`drag-stop`,`resize-stop`,`dragging`,`resizing`,`transfer-messages`,`share-messages`,`confirm-share`,`agent-action`,`sdk-error`,`new-chat`,`new-chat-created`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],_0t=[`show`,`handleShow`,`handleClose`,`hide`,`sendMessage`,`stopGeneration`,`addNewSession`,`switchToSession`,`updateSessionName`,`updatePosition`,`updateSize`,`updatePositionAndSize`,`setCiteText`,`focusInput`,`getChatHelper`,`selectShortcut`,`sendShortcut`],v0t=N1t(h0t,{name:`AIBluekingV2`,props:{extCls:{type:String,default:``},shortcuts:{type:Array,default:()=>[]},enablePopup:{type:Boolean,default:!0},url:{type:String,default:``},prompts:{type:Array,default:()=>[]},teleportTo:{type:String,default:`body`},title:{type:String,default:``},helloText:{type:String,default:()=>cf(`你好,我是小鲸`)},useAgentName:{type:Boolean,default:!1},requestOptions:{type:Object,default:()=>({})},defaultMinimize:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},hideNimbus:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},defaultWidth:{type:Number,default:400},defaultHeight:{type:Number,default:void 0},defaultLeft:{type:Number,default:void 0},defaultTop:{type:Number,default:0},disabledInput:{type:Boolean,default:!1},showCompressionIcon:{type:Boolean,default:!0},showMoreIcon:{type:Boolean,default:!0},showHistoryIcon:{type:Boolean,default:!0},showNewChatIcon:{type:Boolean,default:!0},defaultChatInputPosition:{type:String,default:void 0},maxWidth:{type:[Number,String],default:1e3},initialSessionCode:{type:String,default:``},autoSwitchToInitialSession:{type:Boolean,default:!1},alwaysCreateNewSession:{type:Boolean,default:!1},loadRecentSessionOnMount:{type:Boolean,default:!0},shortcutLimit:{type:Number,default:3},shortcutFilter:{type:Function,default:void 0},placeholder:{type:String,default:void 0},enableChatSession:{type:Boolean,default:!0},nimbusSize:{type:String,default:`normal`},miniPadding:{type:Number,default:0},dropdownMenuConfig:{type:Object,default:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0})},resources:{type:Array,default:void 0},messageTools:{type:Array,default:void 0},updateTools:{type:Array,default:void 0},hideDefaultTrigger:{type:Boolean,default:!1},beforeNimbusClick:{type:Function,default:void 0},getSideRenderComponent:{type:Function,default:void 0},getSideTabRenderComponent:{type:Function,default:void 0},onCustomTabChange:{type:Function,default:void 0},executionTabVisible:{type:Boolean,default:!0},resizeProps:{type:Object,default:void 0},size:{type:String,default:void 0},timezone:{type:String,default:void 0}},emitNames:[...g0t],exposeKeys:[..._0t],slots:[`codeHeader`,`headerLeft`,`message`,`welcome`],deepWatchProps:[`requestOptions`,`shortcuts`,`beforeNimbusClick`],methods:{show(){return console.warn(`AIBluekingV2: show method not ready`),Promise.resolve()},handleShow(){return console.warn(`AIBluekingV2: handleShow method not ready`),Promise.resolve()},handleClose(){console.warn(`AIBluekingV2: handleClose method not ready`)},hide(){console.warn(`AIBluekingV2: hide method not ready`)},sendMessage(){return console.warn(`AIBluekingV2: sendMessage method not ready`),Promise.resolve()},stopGeneration(){console.warn(`AIBluekingV2: stopGeneration method not ready`)},addNewSession(){return console.warn(`AIBluekingV2: addNewSession method not ready`),Promise.resolve()},switchToSession(){return console.warn(`AIBluekingV2: switchToSession method not ready`),Promise.resolve()},updateSessionName(){return console.warn(`AIBluekingV2: updateSessionName method not ready`),Promise.resolve()},updatePosition(){console.warn(`AIBluekingV2: updatePosition method not ready`)},updateSize(){console.warn(`AIBluekingV2: updateSize method not ready`)},updatePositionAndSize(){console.warn(`AIBluekingV2: updatePositionAndSize method not ready`)},setCiteText(){console.warn(`AIBluekingV2: setCiteText method not ready`)},focusInput(){console.warn(`AIBluekingV2: focusInput method not ready`)},getChatHelper(){return console.warn(`AIBluekingV2: getChatHelper method not ready`),null},selectShortcut(){console.warn(`AIBluekingV2: selectShortcut method not ready`)},sendShortcut(){return console.warn(`AIBluekingV2: sendShortcut method not ready`),Promise.resolve()}}}),y0t=[`send-message`,`error`,`stop`,`receive-start`,`receive-end`,`receive-text`,`shortcut-click`,`session-switched`,`agent-info-loaded`,`request-share`,`confirm-share`,`cancel-share`,`execution-panel-change`,`update:asideCollapsed`,`feedback`,`agent-action`,`rename`],b0t=[`sendMessage`,`stopGeneration`,`focusInput`,`setCiteText`,`switchSession`,`selectShortcut`,`sendShortcut`,`enterShareMode`,`exitShareMode`,`getChatHelper`,`currentSession`,`isGenerating`,`messages`,`isReady`,`whenReady`];return e.ChatBotV2=N1t(M1t,{name:`ChatBotV2`,props:{chatHelper:{type:Object,default:void 0},url:{type:String,default:``},height:{type:[Number,String],default:void 0},maxWidth:{type:[Number,String],default:void 0},extCls:{type:String,default:``},helloText:{type:String,default:void 0},useAgentName:{type:Boolean,default:!1},placeholder:{type:String,default:void 0},shortcuts:{type:Array,default:()=>[]},prompts:{type:Array,default:()=>[]},resources:{type:Array,default:()=>[]},requestOptions:{type:Object,default:()=>({})},messageToolsTippyOptions:{type:Object,default:void 0},messageTools:{type:Array,default:void 0},updateTools:{type:Array,default:void 0},enableSelection:{type:Boolean,default:!1},shareLoading:{type:Boolean,default:!1},autoLoad:{type:Boolean,default:!0},alwaysCreateNewSession:{type:Boolean,default:!1},sessionCode:{type:String,default:void 0},resizeProps:{type:Object,default:void 0},size:{type:String,default:void 0},timezone:{type:String,default:void 0},getSideRenderComponent:{type:Function,default:void 0},getSideTabRenderComponent:{type:Function,default:void 0},onCustomTabChange:{type:Function,default:void 0},executionTabVisible:{type:Boolean,default:!0}},emitNames:[...y0t],exposeKeys:[...b0t],slots:[`codeHeader`,`message`,`welcome`],deepWatchProps:[`requestOptions`,`shortcuts`,`beforeNimbusClick`]}),e.default=v0t,e.h=W,e})({});
|