@blueking/ai-blueking 2.0.0-dev.23 → 2.0.0-dev.24
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.
|
@@ -3042,7 +3042,7 @@ Use Shift + Enter to enter a new line`:`输入 “/”唤出 Prompt
|
|
|
3042
3042
|
<div class="tippy-dropdown-menu">
|
|
3043
3043
|
${i}
|
|
3044
3044
|
</div>
|
|
3045
|
-
`}),w=async()=>{if(r.sessionBusinessManager)try{await r.sessionBusinessManager.createNewSession()}catch(e){console.error(`Failed to create new session:`,e),df({theme:`error`,message:E9(`创建会话失败`)})}i(`new-chat`)},T=e=>{e.stopPropagation(),r.sessionBusinessManager?(h||g(),h&&h.handleTriggerClick(e)):i(`history-click`,e)},E=()=>{i(`help-click`)},D=e=>{e.stopPropagation(),h&&h.isVisible()&&h.hide(),p&&(p.state.isVisible?p.hide():p.show())},O=e=>{e.stopPropagation(),e.preventDefault();let t=e.currentTarget,n=t.dataset.action;if(!t.classList.contains(`disabled`))switch(p&&p.hide(),n){case`rename`:k();break;case`auto-generate`:i(`auto-generate-name`);break;case`share`:i(`share`);break}},k=()=>{document.removeEventListener(`click`,N),d.value=r.sessionName||``,u.value=!0,setTimeout(()=>{document.addEventListener(`click`,N)},100),setTimeout(()=>{if(f.value)try{let e=f.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)},A=()=>{let e=d.value.trim();if(!e){j();return}i(`rename`,e),u.value=!1,d.value=``},j=()=>{u.value=!1,d.value=``},M=(e,t)=>{d.value=e,t.key===`Enter`?A():t.key===`Escape`&&j()},N=e=>{if(!u.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&j()},P=async()=>{if(!l.value)return;let e=(await Promise.resolve().then(()=>(w9(),C0t))).default;p&&=(p.destroy(),null),p=e(l.value,{content:C.value,theme:`ai-blueking-light more-menu-light light`,placement:`bottom-start`,trigger:`manual`,interactive:!0,allowHTML:!0,arrow:!1,offset:[0,4],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body,onShow:()=>{setTimeout(async()=>{let{default:e}=await Promise.resolve().then(()=>(w9(),C0t));document.querySelectorAll(`.tippy-menu-item`).forEach(t=>{let n=t;n.addEventListener(`click`,O);let r=n.getAttribute(`data-tippy-content`);if(r&&!m.has(n)){let t=e(n,{content:r,theme:`ai-blueking-tooltip`,placement:`right`,trigger:`mouseenter focus`,arrow:!0,delay:[300,0]});m.set(n,t)}})},0)},onHide:()=>{document.querySelectorAll(`.tippy-menu-item`).forEach(e=>{let t=e;t.removeEventListener(`click`,O);let n=m.get(t);n&&(n.destroy(),m.delete(t))})}})};return _r(()=>[r.isCompressionHeight,r.hasSessionContents],()=>{p&&p.setContent(C.value)}),Yn(()=>{P(),r.sessionBusinessManager&&g(),document.addEventListener(`click`,N)}),Xn(()=>{p&&=(p.destroy(),null),m.forEach(e=>{e.destroy()}),m.clear(),h&&=(h.destroy(),null),document.removeEventListener(`click`,N)}),t({headerRef:o,historyIconRef:s}),(t,n)=>(U(),Lr(`div`,{ref_key:`headerRef`,ref:o,class:ge([`ai-header drag-handle`,{draggable:r.draggable}])},[Hr(`div`,Y3t,[Hr(`div`,X3t,[Hr(`img`,{alt:`logo`,src:H(_3t)},null,8,Z3t)]),Hr(`div`,{class:ge([`title`,{"title-with-tooltip":u.value}])},[Kr(Se(_.value)+` `,1),qr(` 重命名 tooltip 直接绑定在 title 上 `),u.value?(U(),Lr(`div`,Q3t,[Hr(`div`,$3t,[Ur(H(hd),{ref_key:`renameInputRef`,ref:f,modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,class:`rename-input`,placeholder:H(E9)(`请输入新的会话名称`),onKeyup:M},null,8,[`modelValue`,`placeholder`]),Hr(`div`,{class:`rename-buttons`},[Hr(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:A}),Hr(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:j})])])])):qr(`v-if`,!0)],2),r.showMoreIcon&&b.value?(U(),Lr(`span`,{key:0,ref_key:`moreIconRef`,ref:l,class:`bkai-icon bkai-more`,onClick:D},null,512)):qr(`v-if`,!0)]),Hr(`div`,e6t,[qr(` 新增会话按钮 `),r.showNewChatIcon&&e.enableChatSession!==!1?On((U(),Lr(`i`,{key:0,class:ge([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!b.value}]),style:de(S()),onClick:n[1]||=e=>b.value?w():void 0},null,6)),[[H(a),{content:x(H(E9)(`新增会话`)),boundary:`parent`}]]):qr(`v-if`,!0),qr(` 历史会话按钮 `),r.showHistoryIcon&&e.enableChatSession!==!1?On((U(),Lr(`i`,{key:1,ref_key:`historyIconRef`,ref:s,class:ge([`bkai-icon`,`bkai-history`,{disabled:!b.value}]),style:de(S()),onClick:n[2]||=e=>b.value?T(e):void 0},null,6)),[[H(a),{content:x(H(E9)(`历史会话`)),boundary:`parent`}]]):qr(`v-if`,!0),e.chatGroup?.enabled?On((U(),Lr(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:E},null,512)),[[H(a),{content:H(E9)(`转人工`),boundary:`parent`}]]):qr(`v-if`,!0),r.showCompressionIcon?On((U(),Lr(`i`,{key:3,class:ge([`bkai-icon`,v.value]),onClick:n[3]||=e=>i(`toggle-compression`)},null,2)),[[H(a),{content:y.value,boundary:`parent`}]]):qr(`v-if`,!0),On(Hr(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:n[4]||=e=>i(`close`)},null,512),[[H(a),{content:H(E9)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-049cc46a`]]);let n6t=e=>{var t;return{conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e==null||(t=e.conversation_settings)==null?void 0:t.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})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting,agentName:e?.agent_name,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}};var D9;(function(e){e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`})(D9||={});var O9;(function(e){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`})(O9||={});var k9;(function(e){e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`})(k9||={});var A9;(function(e){e.Binary=`binary`,e.Function=`function`,e.Text=`text`})(A9||={});function r6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){r6t(e,t,n[t])})}return e}function i6t(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 M9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let N9=e=>{let 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 O9.Activity:{let n=e;return M9(j9({},t),{activityType:n.activity_type,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})):{content:n.content.content,referenceDocument:n.content.reference_document.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url}))},role:n.role})}case O9.Assistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role,toolCalls:n.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 O9.Developer:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Guide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Hidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Info:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Pause:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Placeholder:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Reasoning:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,role:n.role})}case O9.System:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateHidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Tool:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id})}case O9.User:{let n=e,r=n.content;return M9(j9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===A9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},a6t=e=>{let 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 O9.Activity:{let n=e;return M9(j9({},t),{activity_type:n.activityType,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})):{content:n.content.content,reference_document:n.content.referenceDocument.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url}))},role:n.role})}case O9.Assistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role,tool_calls:n.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 O9.Developer:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Guide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Hidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Info:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Pause:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Placeholder:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Reasoning:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,role:n.role})}case O9.System:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateHidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Tool:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId})}case O9.User:{let n=e,r=n.content;return M9(j9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===A9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},P9=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,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}}),o6t=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,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}}),s6t=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),c6t=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables});function l6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function u6t(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){l6t(a,r,i,o,s,`next`,e)}function s(e){l6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function d6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d6t(e,t,n[t])})}return e}function p6t(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 m6t(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var h6t=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`;let g6t=e=>{let t=en([]),n=en(!1),r=en(!1);return{list:t,isListLoading:n,isDeleteLoading:r,getMessages:r=>(n.value=!0,e.http?.message.getMessages(r).then(e=>{t.value=e}).finally(()=>{n.value=!1})),getCurrentLoadingMessage:()=>t.value.findLast(e=>[k9.Pending,k9.Streaming].includes(e.status)),getMessageByMessageId:e=>t.value.find(t=>t.messageId===e),modifyMessage:e=>{t.value=t.value.map(t=>t.messageId===e.messageId?e:t)},plusMessage:e=>{t.value.push(e)},createAndPlusMessage:function(){var n=u6t(function*(n){let r=h6t(),i=m6t(f6t({},n),{id:r,messageId:r});t.value.push(i);try{let i=yield e.http?.message.plusMessage(n);if(i){let e=t.value.findIndex(e=>e.messageId===r);if(e!==-1){let r=f6t({},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]=m6t(f6t({},t.value[n]),{status:k9.Error})),e}});return function(e){return n.apply(this,arguments)}}(),deleteMessages:function(){var n=u6t(function*(n){let i=n.reduce((e,t)=>(t.role===O9.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{yield e.http?.message.batchDeleteMessages(i)}catch(e){throw t.value=a,e}finally{r.value=!1}});return function(e){return n.apply(this,arguments)}}(),shareMessages:function(){var t=u6t(function*(t,n,r){let i=n.reduce((e,t)=>(t.role===O9.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)});return function(e,n,r){return t.apply(this,arguments)}}(),reset:()=>{t.value=[],n.value=!1,r.value=!1}}};var F9;(function(e){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`})(F9||={});var I9;(function(e){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`})(I9||={});function L9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var R9=class{handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){}handleCustomEvent(e){switch(e.name){case F9.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case F9.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case F9.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case F9.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case F9.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;default:break}}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Activity&&t.activityType===D9.KnowledgeRag&&(t.status=k9.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Activity&&t.activityType===D9.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:O9.Activity,activityType:D9.KnowledgeRag,content:{content:``,referenceDocument:[]},status:k9.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===O9.Activity&&t.activityType===D9.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(N9))}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:O9.Activity,activityType:D9.ReferenceDocument,content:e.value,status:k9.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=k9.Complete),this.messageModule.plusMessage({role:O9.Assistant,content:e.message,status:k9.Error})}handleRunFinishedEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=k9.Complete)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:k9.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=k9.Complete)}handleTextMessageStartEvent(e){this.messageModule.plusMessage({role:e.role,content:``,status:k9.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&(t.duration=e.duration,t.status=k9.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:O9.Reasoning,content:[],status:k9.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===O9.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===O9.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=k9.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:O9.Tool,content:e.content,duration:e.duration,status:k9.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:O9.Assistant,content:``,status:k9.Streaming,toolCalls:[{id:e.toolCallId,type:A9.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){var e,t;(e=(t=this).onDoneCallback)==null||e.call(t)}onError(e){var t,n;this.messageModule.plusMessage({role:O9.Assistant,content:e.error?.message,status:k9.Error}),(t=(n=this).onErrorCallback)==null||t.call(n,e)}onMessage(e){var t,n;let r=e;switch((t=(n=this).onMessageCallback)==null||t.call(n,r),r.type){case I9.ActivityDelta:this.handleActivityDeltaEvent(r);break;case I9.ActivitySnapshot:this.handleActivitySnapshotEvent(r);break;case I9.Custom:this.handleCustomEvent(r);break;case I9.MessagesSnapshot:this.handleMessagesSnapshotEvent(r);break;case I9.Raw:this.handleRawEvent(r);break;case I9.RunError:this.handleRunErrorEvent(r);break;case I9.RunFinished:this.handleRunFinishedEvent(r);break;case I9.RunStarted:this.handleRunStartedEvent(r);break;case I9.StateDelta:this.handleStateDeltaEvent(r);break;case I9.StateSnapshot:this.handleStateSnapshotEvent(r);break;case I9.StepFinished:this.handleStepFinishedEvent(r);break;case I9.StepStarted:this.handleStepStartedEvent(r);break;case I9.TextMessageChunk:this.handleTextMessageChunkEvent(r);break;case I9.TextMessageContent:this.handleTextMessageContentEvent(r);break;case I9.TextMessageEnd:this.handleTextMessageEndEvent(r);break;case I9.TextMessageStart:this.handleTextMessageStartEvent(r);break;case I9.ThinkingEnd:this.handleThinkingEndEvent(r);break;case I9.ThinkingStart:this.handleThinkingStartEvent(r);break;case I9.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(r);break;case I9.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(r);break;case I9.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(r);break;case I9.ToolCallArgs:this.handleToolCallArgsEvent(r);break;case I9.ToolCallChunk:this.handleToolCallChunkEvent(r);break;case I9.ToolCallEnd:this.handleToolCallEndEvent(r);break;case I9.ToolCallResult:this.handleToolCallResultEvent(r);break;case I9.ToolCallStart:this.handleToolCallStartEvent(r);break;default:break}}onStart(){var e,t;(e=(t=this).onStartCallback)==null||e.call(t)}constructor(e){L9(this,`messageModule`,void 0),L9(this,`onDoneCallback`,void 0),L9(this,`onErrorCallback`,void 0),L9(this,`onMessageCallback`,void 0),L9(this,`onStartCallback`,void 0),this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}};function _6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function z9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){_6t(a,r,i,o,s,`next`,e)}function s(e){_6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function v6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){v6t(e,t,n[t])})}return e}let b6t=(e,t)=>{let n=en(null),r=en(!1),i=en(!1),a=t||new R9,o=null,s=()=>(r.value=!0,e.http?.agent.getAgentInfo().then(e=>{n.value=e}).finally(()=>{r.value=!1})),l=t=>{let n=t.promptSetting?.collectionContent?.at(-1);if(n?.role===O9.Pause){var r;(r=e.message)==null||r.createAndPlusMessage({role:O9.Assistant,content:n.content,status:k9.Complete})}},u=function(){var t=z9(function*(t,n,r){var s;a instanceof R9&&a.injectMessageModule(e.message),o=new AbortController,(s=e.http)==null||s.fetchClient.streamRequest(y6t({url:n||`chat_completion/`,method:`POST`,data:{session_code:t},controller:o,onDone:()=>{var e;i.value=!1,(e=a.onDone)==null||e.call(a)},onError:e=>{var t;i.value=!1,(t=a.onError)==null||t.call(a,e)},onMessage:e=>{var t;(t=a.onMessage)==null||t.call(a,e)},onStart:()=>{var e;i.value=!0,(e=a.onStart)==null||e.call(a)}},r))});return function(e,n,r){return t.apply(this,arguments)}}(),d=function(){var t=z9(function*(t,n,r,i,a){yield e.message?.createAndPlusMessage(y6t({role:O9.User,content:t,status:k9.Complete,sessionCode:n},a&&{property:a})),u(n,r,i)});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),f=(t,n,r)=>{let i=e.message?.list.value.at(-1);(i?.status===k9.Streaming||i?.role===O9.User)&&u(t,n,r)},p=()=>{var e;o==null||(e=o.abort)==null||e.call(o),o=null},m=function(){var t=z9(function*(t){return e.http.message?.stopChat(t)});return function(e){return t.apply(this,arguments)}}();return{info:n,isInfoLoading:r,isChatting:i,chat:d,handleRole:l,resendMessage:function(){var t=z9(function*(t,n,r,i,a){let o=e.message?.list.value||[],s=o.findIndex(e=>String(e.id)===t);if(s===-1)throw Error(`Message not found: ${t}`);let l=o[s];if(l.role!==O9.User)throw Error(`Can only resend user messages`);let d=l.content,f=l.property,p=r??d,m=o.slice(s),h=e.message?.deleteMessages(m),g=e.message?.createAndPlusMessage(y6t({role:O9.User,content:p,status:k9.Complete,sessionCode:n},f&&{property:f}));u(n,i,a),Promise.all([h,g]).catch(e=>{console.error(`[resendMessage] API error:`,e)})});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),resumeStreamingChat:f,abortChat:p,stopChat:m,getAgentInfo:s,reset:e=>{a=e||new R9,n.value=null,r.value=!1}}};function x6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function S6t(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){x6t(a,r,i,o,s,`next`,e)}function s(e){x6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function B9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){B9(e,t,n[t])})}return e}function C6t(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 H9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):C6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var w6t=class{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}constructor(){B9(this,`handlers`,[])}},T6t=class e{applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(W9(this.defaults,t||{}))}delete(e,t,n){return this.request(H9(V9({},n),{url:e,method:`DELETE`,params:t}))}get(e,t,n){return this.request(H9(V9({},n),{url:e,method:`GET`,params:t}))}head(e,t,n){return this.request(H9(V9({},n),{url:e,method:`HEAD`,params:t}))}options(e,t,n){return this.request(H9(V9({},n),{url:e,method:`OPTIONS`,params:t}))}patch(e,t,n){return this.request(H9(V9({},n),{url:e,method:`PATCH`,data:t}))}post(e,t,n){return this.request(H9(V9({},n),{url:e,method:`POST`,data:t}))}prepareRequest(e,t=!1){let n=W9(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=E6t(r,n.params);let i=D6t(n.data),a=new Headers(D6t(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i!=null&&(n.transformRequest?i=n.transformRequest(i,D6t(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?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(H9(V9({},n),{url:e,method:`PUT`,data:t}))}request(e){var t=this;return S6t(function*(){let{url:n,fetchConfig:r,requestConfig:i,controller:a}=t.prepareRequest(e),o=i.timeout&&i.timeout>0?setTimeout(()=>a.abort(),i.timeout):void 0;try{let e=yield fetch(n,r);o&&clearTimeout(o);let a,s=i.responseType||`json`;try{switch(s){case`json`:a=yield e.json();break;case`text`:a=yield e.text();break;case`blob`:a=yield e.blob();break;case`arrayBuffer`:a=yield e.arrayBuffer();break;case`formData`:a=yield e.formData();break;default:a=yield e.json()}}catch{a=null}i.transformResponse&&(a=i.transformResponse(a));let l={data:a,status:e.status,statusText:e.statusText,headers:e.headers,config:i};if(!(i.validateStatus||t.defaults.validateStatus)(e.status))throw U9(l.data?.message||`Request failed with status code ${e.status}`,i,`ERR_BAD_RESPONSE`,l);let u=l;t.interceptors.response.forEach(e=>{if(e.fulfilled)try{u=e.fulfilled(u)}catch(t){throw e.rejected?e.rejected(t):t}}),u instanceof Promise&&(u=yield u);let d=u.data;if(![0,`success`].includes(d.code))throw U9(d.message,i,d.code,u);return d.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`){let e=U9(`Request timeout`,i,`ECONNABORTED`,void 0);throw t.applyResponseErrorInterceptors(e)}let n=e.isAxiosError===!0?e:U9(e.message,i,e.code,void 0);throw t.applyResponseErrorInterceptors(n)}})()}stream(e,t){return this.streamRequest(H9(V9({},t),{url:e}))}streamRequest(e){var t=this;return S6t(function*(){let{url:n,fetchConfig:r,requestConfig:i}=t.prepareRequest(e,!0);try{var a;let u=yield fetch(n,r);if(!(i.validateStatus||t.defaults.validateStatus)(u.status)){var o;let t=`Request failed with status code ${u.status}`;try{let e=yield u.json();e?.message&&(t=e.message)}catch{t=`Request failed with status code ${u.status}`}let n=U9(t,i,`ERR_BAD_RESPONSE`,void 0);(o=e.onError)==null||o.call(e,n);return}(a=e.onStart)==null||a.call(e);let d=u.body?.pipeThrough(new window.TextDecoderStream).getReader();if(!d){var s;let t=Error(`IResponse body is not readable`);(s=e.onError)==null||s.call(e,t);return}let f=``,p=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:t,done:n}=yield d.read();if(n){var l;(l=e.onDone)==null||l.call(e);break}(f+t.toString()).split(`
|
|
3045
|
+
`}),w=async()=>{if(r.sessionBusinessManager)try{await r.sessionBusinessManager.createNewSession()}catch(e){console.error(`Failed to create new session:`,e),df({theme:`error`,message:E9(`创建会话失败`)})}i(`new-chat`)},T=e=>{e.stopPropagation(),r.sessionBusinessManager?(h||g(),h&&h.handleTriggerClick(e)):i(`history-click`,e)},E=()=>{i(`help-click`)},D=e=>{e.stopPropagation(),h&&h.isVisible()&&h.hide(),p&&(p.state.isVisible?p.hide():p.show())},O=e=>{e.stopPropagation(),e.preventDefault();let t=e.currentTarget,n=t.dataset.action;if(!t.classList.contains(`disabled`))switch(p&&p.hide(),n){case`rename`:k();break;case`auto-generate`:i(`auto-generate-name`);break;case`share`:i(`share`);break}},k=()=>{document.removeEventListener(`click`,N),d.value=r.sessionName||``,u.value=!0,setTimeout(()=>{document.addEventListener(`click`,N)},100),setTimeout(()=>{if(f.value)try{let e=f.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)},A=()=>{let e=d.value.trim();if(!e){j();return}i(`rename`,e),u.value=!1,d.value=``},j=()=>{u.value=!1,d.value=``},M=(e,t)=>{d.value=e,t.key===`Enter`?A():t.key===`Escape`&&j()},N=e=>{if(!u.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&j()},P=async()=>{if(!l.value)return;let e=(await Promise.resolve().then(()=>(w9(),C0t))).default;p&&=(p.destroy(),null),p=e(l.value,{content:C.value,theme:`ai-blueking-light more-menu-light light`,placement:`bottom-start`,trigger:`manual`,interactive:!0,allowHTML:!0,arrow:!1,offset:[0,4],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body,onShow:()=>{setTimeout(async()=>{let{default:e}=await Promise.resolve().then(()=>(w9(),C0t));document.querySelectorAll(`.tippy-menu-item`).forEach(t=>{let n=t;n.addEventListener(`click`,O);let r=n.getAttribute(`data-tippy-content`);if(r&&!m.has(n)){let t=e(n,{content:r,theme:`ai-blueking-tooltip`,placement:`right`,trigger:`mouseenter focus`,arrow:!0,delay:[300,0]});m.set(n,t)}})},0)},onHide:()=>{document.querySelectorAll(`.tippy-menu-item`).forEach(e=>{let t=e;t.removeEventListener(`click`,O);let n=m.get(t);n&&(n.destroy(),m.delete(t))})}})};return _r(()=>[r.isCompressionHeight,r.hasSessionContents],()=>{p&&p.setContent(C.value)}),Yn(()=>{P(),r.sessionBusinessManager&&g(),document.addEventListener(`click`,N)}),Xn(()=>{p&&=(p.destroy(),null),m.forEach(e=>{e.destroy()}),m.clear(),h&&=(h.destroy(),null),document.removeEventListener(`click`,N)}),t({headerRef:o,historyIconRef:s}),(t,n)=>(U(),Lr(`div`,{ref_key:`headerRef`,ref:o,class:ge([`ai-header drag-handle`,{draggable:r.draggable}])},[Hr(`div`,Y3t,[Hr(`div`,X3t,[Hr(`img`,{alt:`logo`,src:H(_3t)},null,8,Z3t)]),Hr(`div`,{class:ge([`title`,{"title-with-tooltip":u.value}])},[Kr(Se(_.value)+` `,1),qr(` 重命名 tooltip 直接绑定在 title 上 `),u.value?(U(),Lr(`div`,Q3t,[Hr(`div`,$3t,[Ur(H(hd),{ref_key:`renameInputRef`,ref:f,modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,class:`rename-input`,placeholder:H(E9)(`请输入新的会话名称`),onKeyup:M},null,8,[`modelValue`,`placeholder`]),Hr(`div`,{class:`rename-buttons`},[Hr(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:A}),Hr(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:j})])])])):qr(`v-if`,!0)],2),r.showMoreIcon&&b.value?(U(),Lr(`span`,{key:0,ref_key:`moreIconRef`,ref:l,class:`bkai-icon bkai-more`,onClick:D},null,512)):qr(`v-if`,!0)]),Hr(`div`,e6t,[qr(` 新增会话按钮 `),r.showNewChatIcon&&e.enableChatSession!==!1?On((U(),Lr(`i`,{key:0,class:ge([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!b.value}]),style:de(S()),onClick:n[1]||=e=>b.value?w():void 0},null,6)),[[H(a),{content:x(H(E9)(`新增会话`)),boundary:`parent`}]]):qr(`v-if`,!0),qr(` 历史会话按钮 `),r.showHistoryIcon&&e.enableChatSession!==!1?On((U(),Lr(`i`,{key:1,ref_key:`historyIconRef`,ref:s,class:ge([`bkai-icon`,`bkai-history`,{disabled:!b.value}]),style:de(S()),onClick:n[2]||=e=>b.value?T(e):void 0},null,6)),[[H(a),{content:x(H(E9)(`历史会话`)),boundary:`parent`}]]):qr(`v-if`,!0),e.chatGroup?.enabled?On((U(),Lr(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:E},null,512)),[[H(a),{content:H(E9)(`转人工`),boundary:`parent`}]]):qr(`v-if`,!0),r.showCompressionIcon?On((U(),Lr(`i`,{key:3,class:ge([`bkai-icon`,v.value]),onClick:n[3]||=e=>i(`toggle-compression`)},null,2)),[[H(a),{content:y.value,boundary:`parent`}]]):qr(`v-if`,!0),On(Hr(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:n[4]||=e=>i(`close`)},null,512),[[H(a),{content:H(E9)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-049cc46a`]]);let n6t=e=>{var t;return{conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e==null||(t=e.conversation_settings)==null?void 0:t.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})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting,agentName:e?.agent_name,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}};var D9;(function(e){e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`})(D9||={});var O9;(function(e){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`})(O9||={});var k9;(function(e){e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`})(k9||={});var A9;(function(e){e.Binary=`binary`,e.Function=`function`,e.Text=`text`})(A9||={});function r6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){r6t(e,t,n[t])})}return e}function i6t(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 M9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let N9=e=>{let 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 O9.Activity:{let n=e;return M9(j9({},t),{activityType:n.activity_type,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})):{content:n.content.content,referenceDocument:n.content.reference_document.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url}))},role:n.role})}case O9.Assistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role,toolCalls:n.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 O9.Developer:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Guide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Hidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Info:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Pause:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Placeholder:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Reasoning:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,role:n.role})}case O9.System:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateHidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Tool:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id})}case O9.User:{let n=e,r=n.content;return M9(j9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===A9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},a6t=e=>{let 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 O9.Activity:{let n=e;return M9(j9({},t),{activity_type:n.activityType,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})):{content:n.content.content,reference_document:n.content.referenceDocument.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url}))},role:n.role})}case O9.Assistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role,tool_calls:n.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 O9.Developer:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Guide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Hidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.HiddenUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Info:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Pause:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Placeholder:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Reasoning:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,role:n.role})}case O9.System:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateAssistant:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateGuide:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateHidden:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateSystem:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.TemplateUser:{let n=e;return M9(j9({},t),{content:n.content,role:n.role})}case O9.Tool:{let n=e;return M9(j9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId})}case O9.User:{let n=e,r=n.content;return M9(j9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===A9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},P9=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,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}}),o6t=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,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}}),s6t=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),c6t=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables});function l6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function u6t(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){l6t(a,r,i,o,s,`next`,e)}function s(e){l6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function d6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d6t(e,t,n[t])})}return e}function p6t(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 m6t(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):p6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var h6t=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`;let g6t=e=>{let t=en([]),n=en(!1),r=en(!1);return{list:t,isListLoading:n,isDeleteLoading:r,getMessages:r=>(n.value=!0,e.http?.message.getMessages(r).then(e=>{t.value=e}).finally(()=>{n.value=!1})),getCurrentLoadingMessage:()=>t.value.findLast(e=>[k9.Pending,k9.Streaming].includes(e.status)),getMessageByMessageId:e=>t.value.find(t=>t.messageId===e),modifyMessage:e=>{t.value=t.value.map(t=>t.messageId===e.messageId?e:t)},plusMessage:e=>{t.value.push(e)},createAndPlusMessage:function(){var n=u6t(function*(n){let r=h6t(),i=m6t(f6t({},n),{id:r,messageId:r});t.value.push(i);try{let i=yield e.http?.message.plusMessage(n);if(i){let e=t.value.findIndex(e=>e.messageId===r);if(e!==-1){let r=f6t({},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]=m6t(f6t({},t.value[n]),{status:k9.Error})),e}});return function(e){return n.apply(this,arguments)}}(),deleteMessages:function(){var n=u6t(function*(n){let i=n.reduce((e,t)=>(t.role===O9.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{yield e.http?.message.batchDeleteMessages(i)}catch(e){throw t.value=a,e}finally{r.value=!1}});return function(e){return n.apply(this,arguments)}}(),shareMessages:function(){var t=u6t(function*(t,n,r){let i=n.reduce((e,t)=>(t.role===O9.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)});return function(e,n,r){return t.apply(this,arguments)}}(),reset:()=>{t.value=[],n.value=!1,r.value=!1}}};var F9;(function(e){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`})(F9||={});var I9;(function(e){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`})(I9||={});function L9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var R9=class{handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){}handleCustomEvent(e){switch(e.name){case F9.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case F9.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case F9.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case F9.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case F9.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;default:break}}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Activity&&t.activityType===D9.KnowledgeRag&&(t.status=k9.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Activity&&t.activityType===D9.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:O9.Activity,activityType:D9.KnowledgeRag,content:{content:``,referenceDocument:[]},status:k9.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===O9.Activity&&t.activityType===D9.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(N9))}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:O9.Activity,activityType:D9.ReferenceDocument,content:e.value,status:k9.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=k9.Complete),this.messageModule.plusMessage({role:O9.Assistant,content:e.message,status:k9.Error})}handleRunFinishedEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=k9.Complete)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:k9.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=k9.Complete)}handleTextMessageStartEvent(e){this.messageModule.plusMessage({role:e.role,content:``,status:k9.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&(t.duration=e.duration,t.status=k9.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:O9.Reasoning,content:[],status:k9.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===O9.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===O9.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===O9.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=k9.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:O9.Tool,content:e.content,duration:e.duration,status:k9.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:O9.Assistant,content:``,status:k9.Streaming,toolCalls:[{id:e.toolCallId,type:A9.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){var e,t;(e=(t=this).onDoneCallback)==null||e.call(t)}onError(e){var t,n;this.messageModule.plusMessage({role:O9.Assistant,content:e.error?.message,status:k9.Error}),(t=(n=this).onErrorCallback)==null||t.call(n,e)}onMessage(e){var t,n;let r=e;switch((t=(n=this).onMessageCallback)==null||t.call(n,r),r.type){case I9.ActivityDelta:this.handleActivityDeltaEvent(r);break;case I9.ActivitySnapshot:this.handleActivitySnapshotEvent(r);break;case I9.Custom:this.handleCustomEvent(r);break;case I9.MessagesSnapshot:this.handleMessagesSnapshotEvent(r);break;case I9.Raw:this.handleRawEvent(r);break;case I9.RunError:this.handleRunErrorEvent(r);break;case I9.RunFinished:this.handleRunFinishedEvent(r);break;case I9.RunStarted:this.handleRunStartedEvent(r);break;case I9.StateDelta:this.handleStateDeltaEvent(r);break;case I9.StateSnapshot:this.handleStateSnapshotEvent(r);break;case I9.StepFinished:this.handleStepFinishedEvent(r);break;case I9.StepStarted:this.handleStepStartedEvent(r);break;case I9.TextMessageChunk:this.handleTextMessageChunkEvent(r);break;case I9.TextMessageContent:this.handleTextMessageContentEvent(r);break;case I9.TextMessageEnd:this.handleTextMessageEndEvent(r);break;case I9.TextMessageStart:this.handleTextMessageStartEvent(r);break;case I9.ThinkingEnd:this.handleThinkingEndEvent(r);break;case I9.ThinkingStart:this.handleThinkingStartEvent(r);break;case I9.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(r);break;case I9.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(r);break;case I9.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(r);break;case I9.ToolCallArgs:this.handleToolCallArgsEvent(r);break;case I9.ToolCallChunk:this.handleToolCallChunkEvent(r);break;case I9.ToolCallEnd:this.handleToolCallEndEvent(r);break;case I9.ToolCallResult:this.handleToolCallResultEvent(r);break;case I9.ToolCallStart:this.handleToolCallStartEvent(r);break;default:break}}onStart(){var e,t;(e=(t=this).onStartCallback)==null||e.call(t)}constructor(e){L9(this,`messageModule`,void 0),L9(this,`onDoneCallback`,void 0),L9(this,`onErrorCallback`,void 0),L9(this,`onMessageCallback`,void 0),L9(this,`onStartCallback`,void 0),this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}};function _6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function z9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){_6t(a,r,i,o,s,`next`,e)}function s(e){_6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function v6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){v6t(e,t,n[t])})}return e}let b6t=(e,t)=>{let n=en(null),r=en(!1),i=en(!1),a=t||new R9,o=null,s=()=>(r.value=!0,e.http?.agent.getAgentInfo().then(e=>{n.value=e}).finally(()=>{r.value=!1})),l=t=>{let n=t.promptSetting?.content?.at(-1);if(n?.role===O9.Pause){var r;(r=e.message)==null||r.createAndPlusMessage({role:O9.Assistant,content:n.content,status:k9.Complete})}},u=function(){var t=z9(function*(t,n,r){var s;a instanceof R9&&a.injectMessageModule(e.message),o=new AbortController,(s=e.http)==null||s.fetchClient.streamRequest(y6t({url:n||`chat_completion/`,method:`POST`,data:{session_code:t},controller:o,onDone:()=>{var e;i.value=!1,(e=a.onDone)==null||e.call(a)},onError:e=>{var t;i.value=!1,(t=a.onError)==null||t.call(a,e)},onMessage:e=>{var t;(t=a.onMessage)==null||t.call(a,e)},onStart:()=>{var e;i.value=!0,(e=a.onStart)==null||e.call(a)}},r))});return function(e,n,r){return t.apply(this,arguments)}}(),d=function(){var t=z9(function*(t,n,r,i,a){yield e.message?.createAndPlusMessage(y6t({role:O9.User,content:t,status:k9.Complete,sessionCode:n},a&&{property:a})),u(n,r,i)});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),f=(t,n,r)=>{let i=e.message?.list.value.at(-1);(i?.status===k9.Streaming||i?.role===O9.User)&&u(t,n,r)},p=()=>{var e;o==null||(e=o.abort)==null||e.call(o),o=null},m=function(){var t=z9(function*(t){return e.http.message?.stopChat(t)});return function(e){return t.apply(this,arguments)}}();return{info:n,isInfoLoading:r,isChatting:i,chat:d,handleRole:l,resendMessage:function(){var t=z9(function*(t,n,r,i,a){let o=e.message?.list.value||[],s=o.findIndex(e=>String(e.id)===t);if(s===-1)throw Error(`Message not found: ${t}`);let l=o[s];if(l.role!==O9.User)throw Error(`Can only resend user messages`);let d=l.content,f=l.property,p=r??d,m=o.slice(s),h=e.message?.deleteMessages(m),g=e.message?.createAndPlusMessage(y6t({role:O9.User,content:p,status:k9.Complete,sessionCode:n},f&&{property:f}));u(n,i,a),Promise.all([h,g]).catch(e=>{console.error(`[resendMessage] API error:`,e)})});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),resumeStreamingChat:f,abortChat:p,stopChat:m,getAgentInfo:s,reset:e=>{a=e||new R9,n.value=null,r.value=!1}}};function x6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function S6t(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){x6t(a,r,i,o,s,`next`,e)}function s(e){x6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function B9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){B9(e,t,n[t])})}return e}function C6t(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 H9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):C6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var w6t=class{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}constructor(){B9(this,`handlers`,[])}},T6t=class e{applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(W9(this.defaults,t||{}))}delete(e,t,n){return this.request(H9(V9({},n),{url:e,method:`DELETE`,params:t}))}get(e,t,n){return this.request(H9(V9({},n),{url:e,method:`GET`,params:t}))}head(e,t,n){return this.request(H9(V9({},n),{url:e,method:`HEAD`,params:t}))}options(e,t,n){return this.request(H9(V9({},n),{url:e,method:`OPTIONS`,params:t}))}patch(e,t,n){return this.request(H9(V9({},n),{url:e,method:`PATCH`,data:t}))}post(e,t,n){return this.request(H9(V9({},n),{url:e,method:`POST`,data:t}))}prepareRequest(e,t=!1){let n=W9(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=E6t(r,n.params);let i=D6t(n.data),a=new Headers(D6t(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i!=null&&(n.transformRequest?i=n.transformRequest(i,D6t(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?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(H9(V9({},n),{url:e,method:`PUT`,data:t}))}request(e){var t=this;return S6t(function*(){let{url:n,fetchConfig:r,requestConfig:i,controller:a}=t.prepareRequest(e),o=i.timeout&&i.timeout>0?setTimeout(()=>a.abort(),i.timeout):void 0;try{let e=yield fetch(n,r);o&&clearTimeout(o);let a,s=i.responseType||`json`;try{switch(s){case`json`:a=yield e.json();break;case`text`:a=yield e.text();break;case`blob`:a=yield e.blob();break;case`arrayBuffer`:a=yield e.arrayBuffer();break;case`formData`:a=yield e.formData();break;default:a=yield e.json()}}catch{a=null}i.transformResponse&&(a=i.transformResponse(a));let l={data:a,status:e.status,statusText:e.statusText,headers:e.headers,config:i};if(!(i.validateStatus||t.defaults.validateStatus)(e.status))throw U9(l.data?.message||`Request failed with status code ${e.status}`,i,`ERR_BAD_RESPONSE`,l);let u=l;t.interceptors.response.forEach(e=>{if(e.fulfilled)try{u=e.fulfilled(u)}catch(t){throw e.rejected?e.rejected(t):t}}),u instanceof Promise&&(u=yield u);let d=u.data;if(![0,`success`].includes(d.code))throw U9(d.message,i,d.code,u);return d.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`){let e=U9(`Request timeout`,i,`ECONNABORTED`,void 0);throw t.applyResponseErrorInterceptors(e)}let n=e.isAxiosError===!0?e:U9(e.message,i,e.code,void 0);throw t.applyResponseErrorInterceptors(n)}})()}stream(e,t){return this.streamRequest(H9(V9({},t),{url:e}))}streamRequest(e){var t=this;return S6t(function*(){let{url:n,fetchConfig:r,requestConfig:i}=t.prepareRequest(e,!0);try{var a;let u=yield fetch(n,r);if(!(i.validateStatus||t.defaults.validateStatus)(u.status)){var o;let t=`Request failed with status code ${u.status}`;try{let e=yield u.json();e?.message&&(t=e.message)}catch{t=`Request failed with status code ${u.status}`}let n=U9(t,i,`ERR_BAD_RESPONSE`,void 0);(o=e.onError)==null||o.call(e,n);return}(a=e.onStart)==null||a.call(e);let d=u.body?.pipeThrough(new window.TextDecoderStream).getReader();if(!d){var s;let t=Error(`IResponse body is not readable`);(s=e.onError)==null||s.call(e,t);return}let f=``,p=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:t,done:n}=yield d.read();if(n){var l;(l=e.onDone)==null||l.call(e);break}(f+t.toString()).split(`
|
|
3046
3046
|
`).forEach(t=>{let n=t.replace(`data:`,``).trim();if(p(n)){var r;let t=JSON.parse(n);(r=e.onMessage)==null||r.call(e,t),f=``}else n&&(f=n)})}}catch(t){if(t instanceof Error)if(t.name===`AbortError`){var u;(u=e.onDone)==null||u.call(e)}else{var d;(d=e.onError)==null||d.call(e,t)}throw t}})()}constructor(e={}){B9(this,`defaults`,void 0),B9(this,`interceptors`,void 0),this.defaults=W9({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 w6t,response:new w6t}}};function E6t(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 U9(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function D6t(e){return typeof e==`function`?e():e}function O6t(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function W9(e,t){let n=V9({},e);for(let r in t){let i=t[r];if(O6t(i)){let t=e[r];n[r]=W9(t||{},i)}else n[r]=i}return n}new T6t;let k6t=e=>{let t=new T6t({baseURL:e.requestData.urlPrefix});return 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(),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},A6t=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(n6t)});function j6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){j6t(e,t,n[t])})}return e}let N6t=e=>({getMessages:(t,n,r)=>e.get(`session_content/content/`,{session_code:t,limit:n},r).then(e=>e.map(N9)),plusMessage:(t,n)=>e.post(`session_content/`,a6t(t),n).then(N9),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,a6t(t),n).then(N9),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/`,M6t({session_code:t,content_ids:n},r?{expired_at:r}:{}),i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n)});function P6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){P6t(e,t,n[t])})}return e}function I6t(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 L6t(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):I6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let R6t=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:t=>e.get(`session/`,void 0,t).then(e=>e.map(P9)),plusSession:(t,n)=>e.post(`session/`,o6t(t),n).then(e=>P9(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,o6t(t),n).then(e=>P9(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=>P9(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,s6t(t),n).then(e=>c6t(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=>P9(e)),uploadFile:(t,n,r)=>{let i=encodeURIComponent(n.name);return n.arrayBuffer().then(a=>e.post(`session/${t}/upload/${i}/`,a,L6t(F6t({},r),{headers:{"Content-Disposition":`attachment; filename="${n.name}"`}})))}}),z6t=e=>({agent:A6t(e),session:R6t(e),message:N6t(e),fetchClient:e});function B6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){B6t(e,t,n[t])})}return e}function H6t(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 U6t(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):H6t(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let W6t=e=>{let{fetchClient:t,reset:n}=k6t(e);return U6t(V6t({},z6t(t)),{reset:n})},G6t=()=>({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}});function K6t(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function G9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){K6t(a,r,i,o,s,`next`,e)}function s(e){K6t(a,r,i,o,s,`throw`,e)}o(void 0)})}}function q6t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J6t(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){q6t(e,t,n[t])})}return e}let Y6t=e=>{let t=en([]),n=en(null),r=en(!1),i=en(!1),a=en(!1),o=en(!1),s=en(!1),l=en(!1),u=en(!1),d=e=>{t.value=t.value.map(t=>t.sessionCode===e.sessionCode?J6t({},t,e):t),n.value?.sessionCode===e.sessionCode&&(n.value=t.value.find(t=>t.sessionCode===e.sessionCode)??n.value)},f=()=>(i.value=!0,e.http?.session.getSessions().then(e=>{t.value=e}).finally(()=>{i.value=!1})),p=function(){var r=G9(function*(r,i){var a;if((a=e.agent)==null||a.abortChat(),n.value=t.value.find(e=>e.sessionCode===r)??null,i?.loadMessages!==!1){var o;yield e.message?.getMessages(r),(o=e.agent)==null||o.resumeStreamingChat(r)}else e.message&&(e.message.list.value=[])});return function(e,t){return r.apply(this,arguments)}}();return{list:t,current:n,isCurrentLoading:r,isListLoading:i,isCreateLoading:a,isUpdateLoading:o,isDeleteLoading:s,isBatchDeleteLoading:l,getSessions:f,chooseSession:p,getSession:t=>(r.value=!0,e.http?.session.getSession(t).then(e=>{n.value=e}).finally(()=>{r.value=!1})),createSession:function(){var n=G9(function*(n,r){a.value=!0;try{let i=yield e.http?.session.plusSession(n);i&&(t.value.unshift(i),yield p(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{a.value=!1}});return function(e,t){return n.apply(this,arguments)}}(),updateSession:t=>(o.value=!0,e.http?.session.modifySession(t).then(e=>{d(e)}).finally(()=>{o.value=!1})),deleteSession:function(){var r=G9(function*(r){s.value=!0;try{yield e.http?.session.deleteSession(r),t.value=t.value.filter(e=>e.sessionCode!==r),n.value?.sessionCode===r&&t.value[0]?.sessionCode&&(yield p(t.value[0].sessionCode))}finally{s.value=!1}});return function(e){return r.apply(this,arguments)}}(),batchDeleteSessions:function(){var r=G9(function*(r){if(r.length!==0){l.value=!0;try{yield e.http?.session.batchDeleteSessions(r);let i=new Set(r);t.value=t.value.filter(e=>!i.has(e.sessionCode)),n.value&&i.has(n.value.sessionCode)&&(t.value.length>0?yield p(t.value[0].sessionCode):(n.value=null,e.message&&(e.message.list.value=[])))}finally{l.value=!1}}});return function(e){return r.apply(this,arguments)}}(),postSessionFeedback:t=>e.http?.session.postSessionFeedback(t),getSessionFeedbackReasons:t=>e.http?.session.getSessionFeedbackReasons(t),renameSession:t=>(u.value=!0,e.http?.session.renameSession(t).then(e=>{d({sessionCode:e.sessionCode,sessionName:e.sessionName})}).finally(()=>{u.value=!1})),uploadFile:(t,n)=>e.http?.session.uploadFile(t,n),reset:()=>{t.value=[],n.value=null,r.value=!1,i.value=!1,a.value=!1,o.value=!1,s.value=!1,l.value=!1,u.value=!1}}},X6t=e=>{let t=G6t(),n=W6t(e),r=b6t(t,e.protocol),i=g6t(t),a=Y6t(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()}}};var Z6t=class{_isGenerating;agentModule;config;eventEmitter;messageModule;sessionModule;autoRenameSessionIfNeeded(e){this.sessionModule&&this.messageModule.list.value.length===1&&this.sessionModule.renameSession(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={}){this.agentModule=e,this.messageModule=t,this.sessionModule=n,this.eventEmitter=r,this.config=i,this._isGenerating=en(!1)}get isGenerating(){return this._isGenerating}get isMessagesLoading(){return this.messageModule.isListLoading}get messages(){return this.messageModule.list}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=v3t(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!==O9.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.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!==O9.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.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.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}}stopGeneration(){try{let e=this.sessionModule?.current?.value?.sessionCode??``;this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e})}}},Q6t=class{agentModule;config;eventEmitter;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t=null,n=null,r={}){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r}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 isUpdateLoading(){return this.sessionModule.isUpdateLoading}get sessionList(){return this.sessionModule.list}async createNewSession(){return this.createSession({name:`新会话`,sessionCode:`new_session_${Date.now()}`})}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1};await this.sessionModule.createSession(t);let n=this.agentModule?.info.value;n&&this.agentModule?.handleRole(n),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}}async loadRecentSession(e){try{e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){await this.switchSession(this.config.initialSessionCode);return}if(t.length>0){let e=t[0];(e.sessionContentCount??0)>0?await this.createNewSession():await this.switchSession(e.sessionCode,{loadMessages:!1});return}await this.createNewSession()}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 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}}},$6t=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.filter(e=>e.role===`user`).map(e=>String(e.id))}}},e8t=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,t=[]){this._propsShortcuts=en(t),this._agentShortcuts=en([]),this.eventEmitter=e,this._effectiveShortcuts=oi(()=>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}},t8t=class{config;_panelVisible;_nimbusMinimized;_isDraggingOrResizing;_positionAndSize;_isCompressed;containerRef=null;listeners;onceListeners;debugMode;cleanupFunctions;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=en(e.initialPanelVisible??!1),this._nimbusMinimized=en(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=en(!1),this._isCompressed=en(!1),this._positionAndSize=en({x:0,y:0,width:400,height:window.innerHeight})}getConfig(){return this.config}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}get panelVisible(){return this._panelVisible}get nimbusMinimized(){return this._nimbusMinimized}get isDraggingOrResizing(){return this._isDraggingOrResizing}get isCompressed(){return this._isCompressed}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:oi(()=>this._panelVisible.value)}}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:oi(()=>this._nimbusMinimized.value)}}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),positionAndSize:oi(()=>this._positionAndSize.value),isCompressed:oi(()=>this._isCompressed.value)}}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setCompressed(e){this._isCompressed.value=e}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}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)}}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}"`))}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)}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}hasListeners(e){return this.listenerCount(e)>0}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)}setDebugMode(e){this.debugMode=e}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}};function n8t(e){return new t8t(e)}let r8t={"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,"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`,"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 i8t(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName];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`: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 a8t=class{_selectedMessageIds;_isSelectionMode;_editingSessionCode;_loadingStates;constructor(){this._selectedMessageIds=en(new Set),this._isSelectionMode=en(!1),this._editingSessionCode=en(null),this._loadingStates=Vt({})}get isSelectionMode(){return this._isSelectionMode}get editingSessionCode(){return this._editingSessionCode}toggleSelectionMode(){this._isSelectionMode.value=!this._isSelectionMode.value,this._isSelectionMode.value||this.clearSelection()}enableSelectionMode(){this._isSelectionMode.value=!0}disableSelectionMode(){this._isSelectionMode.value=!1,this.clearSelection()}toggleMessageSelection(e){this._selectedMessageIds.value.has(e)?this._selectedMessageIds.value.delete(e):this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectMessage(e){this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}deselectMessage(e){this._selectedMessageIds.value.delete(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}isMessageSelected(e){return this._selectedMessageIds.value.has(e)}clearSelection(){this._selectedMessageIds.value.clear(),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectAllMessages(e){this._selectedMessageIds.value=new Set(e)}get selectedMessages(){return Array.from(this._selectedMessageIds.value)}get selectedCount(){return this._selectedMessageIds.value.size}get hasSelection(){return this._selectedMessageIds.value.size>0}startEditingSession(e){this._editingSessionCode.value=e}stopEditingSession(){this._editingSessionCode.value=null}isEditingSession(e){return e?this._editingSessionCode.value===e:this._editingSessionCode.value!==null}setLoading(e,t){this._loadingStates[e]=t}isLoading(e){return this._loadingStates[e]??!1}clearLoadingStates(){Object.keys(this._loadingStates).forEach(e=>{this._loadingStates[e]=!1})}reset(){this.clearSelection(),this.disableSelectionMode(),this.stopEditingSession(),this.clearLoadingStates()}},o8t={class:`selection-footer`},s8t={class:`selection-footer-left`},c8t={class:`select-all-text`},l8t={class:`selection-footer-right`},u8t=T9(Vn({__name:`selection-footer`,props:{isAllSelected:{type:Boolean},loading:{type:Boolean,default:!1},selectedCount:{}},emits:[`cancel`,`confirm`,`toggle-all`],setup(e){let t=e;return(e,n)=>(U(),Lr(`div`,o8t,[Hr(`div`,s8t,[Ur(H(Sd),{"model-value":t.isAllSelected,"onUpdate:modelValue":n[0]||=t=>e.$emit(`toggle-all`,t)},null,8,[`model-value`]),Hr(`span`,c8t,Se(H(E9)(`全选`)),1)]),Hr(`div`,l8t,[Ur(H(id),{disabled:t.loading,onClick:n[1]||=t=>e.$emit(`cancel`)},{default:Dn(()=>[Kr(Se(H(E9)(`取消`)),1)]),_:1},8,[`disabled`]),Ur(H(id),{disabled:t.selectedCount===0,loading:t.loading,theme:`primary`,onClick:n[2]||=t=>e.$emit(`confirm`)},{default:Dn(()=>[Kr(Se(H(E9)(`确定`)),1)]),_:1},8,[`disabled`,`loading`])])]))}}),[[`__scopeId`,`data-v-3247bea6`]]),d8t={key:0,class:`chatbot-error`},f8t={class:`chatbot-loading`},p8t={key:0,class:`chatbot-welcome`},m8t={class:`welcome-content`},h8t={key:0,class:`welcome-remark`},g8t={key:0,class:`chatbot-loading`},_8t={key:3,class:`chatbot-input`},v8t=Vn({__name:`chat-bot`,props:{autoLoad:{type:Boolean,default:!0},chatHelper:{default:void 0},enableSelection:{type:Boolean,default:!1},extCls:{},height:{},helloText:{},maxWidth:{},messageToolsTippyOptions:{},placeholder:{},prompts:{},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcutLimit:{default:10},shortcuts:{default:()=>[]},url:{default:``}},emits:[`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=en(),o=en(),s=en(null),l=tn([]),u=en(!1),d=en(!1),f=en(!1),p=en(null),m=()=>r.chatHelper?!r.chatHelper.agent||!r.chatHelper.session||!r.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:r.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),p.value=Error(e.error),null;if(r.chatHelper)return r.chatHelper;let t=new R9({onStart:()=>{i(`receive-start`)},onMessage:e=>{i(`receive-text`)},onDone:()=>{i(`receive-end`),le()},onError:e=>{i(`error`,e)}}),n=X6t({requestData:{urlPrefix:w3t(r.url),headers:r.requestOptions?.headers,data:r.requestOptions?.data},protocol:t});return t.injectMessageModule(n.message),n})(),g=oi(()=>((r.chatHelper||h)?.agent)?.isChatting?.value?Mi.Streaming:Mi.Complete),_=oi(()=>g.value===Mi.Streaming?c9.Disabled:void 0),v=async(e,t)=>{if(e.id===`cite`){F.value=t.filter(e=>e.role!==ji.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
|
|
3047
3047
|
`),Te();return}if(e.id===`rebuild`){await x(t);return}if(e.id===`delete`){await b(t);return}if(e.id===`share`){O&&(u.value=!0),i(`request-share`);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await h?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}console.log(`handleAgentAction`,e,t)},y=async(e,t,n,r)=>{if(!h){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let a=h.session.current?.value?.sessionCode;if(!a){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let o=y3t(M?.messages.value||[],t[0]);if(o===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let s=e.id===`like`?5:0;try{await h.session.postSessionFeedback({sessionCode:a,sessionContentIds:[o],rate:s,labels:n,comment:r}),i(`feedback`,e,t[0],n,r)}catch(e){console.error(`[ChatBot] Failed to submit feedback:`,e),i(`error`,e)}},b=async e=>{if(!M||!h){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=M.messages.value,n=v3t(t,e[0]);if(!n){console.error(`[ChatBot] No user message found before AI messages`);return}let r=[n,...e];await h.message.deleteMessages(r)}catch(e){console.error(`[ChatBot] Failed to delete messages:`,e),i(`error`,e)}},x=async e=>{if(!M||!h){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=h.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await M.regenerateFromAIMessages(e,t),le()}catch(e){console.error(`[ChatBot] Failed to regenerate:`,e),i(`error`,e)}},S=async(e,t)=>{if(e.id===`delete`){await E(t);return}if(e.id===`cite`){F.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),Te();return}console.log(`handleUserAction`,e,t)},C=async(e,t,n)=>{if(!h){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let r=h.session.current?.value?.sessionCode;if(!r){console.error(`[ChatBot] Cannot edit message: no active session`);return}let a=e.id;if(a===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{console.log(`handleUserInputConfirm`,a,r,t),await h.agent.resendMessage(String(a),r,t),le()}catch(e){console.error(`[ChatBot] Failed to edit and resend message:`,e),i(`error`,e)}},w=async(e,t)=>{if(!M||!h){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let n=h.session.current?.value?.sessionCode;if(!n){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let r=e.id;if(r===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let i=T(e);if(!i){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let a=ye(i,t),o=String(t.input??``);await M.resendMessageWithProperty(String(r),n,o,a),le()}catch(e){console.error(`[ChatBot] Failed to edit shortcut message:`,e),i(`error`,e)}},T=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?ce.value.find(e=>e.id===t.command)??null:null},E=async e=>{if(!M||!h){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=M.messages.value,n=t.findIndex(t=>t===e);if(n===-1){console.error(`[ChatBot] User message not found in messages list`);return}let r=[];for(let e=n+1;e<t.length;e++){let n=t[e];if(n.role===ji.User)break;r.push(n)}let i=[e,...r];await h.message.deleteMessages(i)}catch(e){console.error(`[ChatBot] Failed to delete user message:`,e),i(`error`,e)}},D=async()=>{((r.chatHelper||h)?.agent)?.stopChat?.(h?.session.current?.value?.sessionCode??``)},O=!r.chatHelper,k=oi(()=>O?u.value:r.enableSelection),A=oi(()=>O?d.value:r.shareLoading),j=h?new Q6t(h.session,h.agent,null,{enableChatSession:!0,autoSwitchToInitialSession:!!r.sessionCode,loadRecentSessionOnMount:r.autoLoad,initialSessionCode:r.sessionCode}):null,M=h?new Z6t(h.agent,h.message,h.session,null,{openingRemark:r.helloText,predefinedQuestions:r.prompts,placeholder:r.placeholder}):null,N=new e8t(null,r.shortcuts||[]),P=tn([[]]),F=en(``),I=oi(()=>M?.messages.value??[]),L=oi(()=>M?.isMessagesLoading.value??!1),R=oi(()=>M?.isGenerating.value??!1),ee=oi(()=>j?.currentSession.value??null),te=oi(()=>O&&!f.value?!1:!L.value&&I.value.length===0),z=oi(()=>h?.agent.info.value?.conversationSettings?.openingRemark||``),B=oi(()=>r.resources?.length?r.resources:x3t(h?.agent.info.value?.resources)),ne=oi(()=>r.prompts?.length?r.prompts:h?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),re=oi(()=>({height:typeof r.height==`number`?`${r.height}px`:r.height,maxWidth:typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth})),ie=oi(()=>{let e=N.shortcuts.value;return r.shortcutLimit&&e.length>r.shortcutLimit?e.slice(0,r.shortcutLimit):e}),ae=()=>{l.value=[],O&&(u.value=!1),i(`cancel-share`)},oe=async()=>{let e=l.value;O&&await V(e),i(`confirm-share`,e)},V=async e=>{if(!h||e.length===0)return;let t=h.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot share: no active session`);return}d.value=!0;try{let n=await h.message.shareMessages(t,e);n&&(await T3t(`${n.share_page}share-page/${n.share_token}`),df({message:`分享链接已复制到剪贴板`,theme:`success`}))}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),df({message:`分享失败,请重试`,theme:`error`})}finally{d.value=!1,u.value=!1,l.value=[]}},se=e=>{e?l.value=I.value:l.value=[]},ce=N.effectiveShortcuts;_r(()=>r.shortcuts,e=>{N.setShortcuts(e||[])},{immediate:!0}),_r(()=>h?.agent.info.value?.conversationSettings?.commands,e=>{e&&N.setAgentShortcuts(e)},{immediate:!0});let le=async()=>{await Sn(),a.value&&(a.value.scrollTop=a.value.scrollHeight)},ue=async(e,t={})=>{if(!M||!h)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let n=h.session.current?.value?.sessionCode;if(!n)throw Error(`[ChatBot] Cannot send message: no active session`);P.value=[[]],F.value=``,i(`send-message`,typeof e==`string`?e:``),await M.sendMessage(e,n,t)},fe=async e=>{let t=h?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);let n=await h.session.uploadFile(t,e);if(!n?.download_url)throw Error(`[ChatBot] Upload failed: no download URL returned`);return n},pe=async(e,t)=>{try{let t={};F.value&&(t.cite=F.value),s.value&&(t.command=s.value.id),await ue(e,Object.keys(t).length?{property:{extra:t}}:{})}catch(e){console.error(`Failed to send message:`,e),i(`error`,e)}},me=async()=>{xe()},he=(e,t)=>{_e(e,t),i(`shortcut-click`,{shortcut:e,source:`main`})},_e=(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});s.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else s.value={...n,formModel:{...n.formModel}}},ve=()=>{s.value=null},ye=(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]}))}}},be=async e=>{if(!s.value){console.error(`[ChatBot] No selected shortcut`);return}let t=ye(s.value,e),n=s.value.name,r=s.value;ve();try{await ue(n,{property:t})}catch(e){s.value=r,console.error(`[ChatBot] Failed to submit shortcut:`,e),i(`error`,e)}},xe=()=>{if(!M){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}M.stopGeneration(),i(`stop`)},Ce=async e=>{if(!j){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await j.switchSession(e),i(`session-switched`,j.currentSession.value)}catch(e){console.error(`Failed to switch session:`,e),i(`error`,e)}},we=e=>{F.value=e},Te=()=>{o.value?.focus?.()};return Yn(async()=>{if(!(!h||p.value))try{if(O){if(await h.agent.getAgentInfo(),await h.session.getSessions(),r.sessionCode)await h.session.chooseSession(r.sessionCode);else if(h.session.list.value.length>0){let e=h.session.list.value[0];await h.session.chooseSession(e.sessionCode)}f.value=!0}else f.value=!0;i(`agent-info-loaded`,h)}catch(e){console.error(`Failed to initialize ChatBot:`,e),p.value=e,i(`error`,e)}}),Xn(()=>{O&&h&&h.agent.stopChat(h.session.current?.value?.sessionCode??``)}),t({sendMessage:e=>pe(e,[[]]),stopGeneration:xe,switchSession:Ce,messages:I,currentSession:ee,isGenerating:R,getChatHelper:()=>h,setCiteText:we,focusInput:Te,selectShortcut:(e,t)=>{_e(e,t)}}),(e,t)=>(U(),Lr(`div`,{class:ge([`ai-chatbot`,r.extCls,{"welcome-state":te.value}]),style:de(re.value)},[qr(` 初始化错误提示 `),p.value?(U(),Lr(`div`,d8t,[Hr(`span`,null,Se(p.value.message),1)])):O&&!f.value?(U(),Lr(kr,{key:1},[qr(` 独立模式:初始化中(getAgentInfo → getSessions → chooseSession)统一展示 Loading `),Hr(`div`,f8t,[Ur(H(Xu),{mode:`spin`,size:`small`,theme:`primary`})])],2112)):(U(),Lr(kr,{key:2},[qr(` 内容区:欢迎状态 `),te.value?(U(),Lr(`div`,p8t,[Hr(`div`,m8t,[t[3]||=Hr(`img`,{alt:`ai-blueking`,class:`welcome-banner`,src:`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='309px'%20height='93px'%20viewBox='0%200%20309%2093'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eAI%20小鲸%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='45.02491%25'%20y1='35.5927467%25'%20x2='99.2803929%25'%20y2='81.0358394%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-2'%3e%3cstop%20stop-color='%23FFFFFF'%20stop-opacity='0.885701426'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20stop-opacity='0.29'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-3'%3e%3cstop%20stop-color='%231562FC'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='95.0902604%25'%20x2='35.112422%25'%20y2='19.6450217%25'%20id='linearGradient-4'%3e%3cstop%20stop-color='%23DC63FE'%20offset='0.0150240385%25'%3e%3c/stop%3e%3cstop%20stop-color='%23235DFA'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='46.6072083%25'%20y1='95.8855311%25'%20x2='46.6072083%25'%20y2='50%25'%20id='linearGradient-5'%3e%3cstop%20stop-color='%23B962FD'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23565FFB'%20offset='99.984976%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-6'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23A826E2'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='-38.6691405%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-7'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%239F7BF1'%20stop-opacity='0.15'%20offset='62.335824%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20stop-opacity='0'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='页面-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='AI--小鲸'%20transform='translate(-1710,%20-3457)'%3e%3cg%20id='聊天窗/默认页'%20transform='translate(1644,%203324)'%3e%3cg%20id='AI-小鲸'%20transform='translate(66,%20133.2974)'%3e%3cg%20transform='translate(124.4167,%20-0)'%20id='编组'%3e%3cg%20transform='translate(0,%200)'%3e%3cpath%20d='M28.3965776,12.9425679%20C38.3377031,12.9425679%2046.3965776,21.0014424%2046.3965776,30.9425679%20L46.3969075,48.6505618%20C51.2162571,49.132982%2054.5842089,50.4998157%2054.5842089,53.8408323%20C54.5842089,53.8444226%2054.5842089,53.8477257%2054.5824622,53.8507588%20L54.5702354,53.8590653%20C54.5370482,53.8709895%2054.4250414,53.8772107%2054.0470184,53.8795761%20L53.8473221,53.8804155%20C53.8227592,53.8804783%2053.7973775,53.8805312%2053.7711498,53.8805746%20L53.4140599,53.8806511%20C53.3806271,53.8806219%2053.3462391,53.8805842%2053.3108685,53.8805382%20L52.8375142,53.8796076%20C51.6610285,53.8767057%2049.6921211,53.8685916%2046.3970568,53.8605313%20L46.3965776,53.8807246%20L23.4584209,53.8807246%20C14.9044209,53.8807246%207.74404265,47.9139206%205.91235374,39.9153803%20C2.4976649,38.935189%200,35.8013205%200,32.0869334%20L1.43000256,32.0866983%20C1.58407741,32.0866469%201.73656386,32.0865873%201.88747828,32.0865198%20L3.20370552,32.0857063%20C4.00314289,32.0850715%204.75405903,32.0842107%205.4593989,32.0831725%20L5.45842089,30.9425679%20C5.45842089,21.0014424%2013.5172954,12.9425679%2023.4584209,12.9425679%20L28.3965776,12.9425679%20Z'%20id='形状结合'%20fill='url(%23linearGradient-1)'%3e%3c/path%3e%3crect%20id='矩形'%20fill='url(%23linearGradient-2)'%20x='10.9168418'%20y='18.4009888'%20width='30.0213149'%20height='30.0213149'%20rx='12'%3e%3c/rect%3e%3crect%20id='矩形'%20fill='url(%23linearGradient-3)'%20x='49.125788'%20y='21.1301993'%20width='5.45842089'%20height='24.562894'%20rx='2'%3e%3c/rect%3e%3cpath%20d='M51.8123687,2.72921045%20C51.8123687,6.90327561%2054.9358287,10.3478176%2058.9729609,10.8530485%20L60,10.9168418%20C55.8259348,10.9168418%2052.3813929,14.0403018%2051.8761619,18.077434%20L51.8123687,19.1044731%20C51.8123687,14.930408%2048.6889086,11.485866%2044.6517764,10.9806351%20L43.6247373,10.9168418%20C47.7988025,10.9168418%2051.2433445,7.79338174%2051.7485754,3.75624952%20L51.8123687,2.72921045%20Z'%20id='星形'%20fill='url(%23linearGradient-4)'%20fill-rule='nonzero'%3e%3c/path%3e%3cpath%20d='M40.8955269,-1.43884904e-13%20C40.8955269,2.78271011%2042.9778336,5.07907143%2045.6692551,5.41589204%20L46.3539478,5.45842089%20C43.5712377,5.45842089%2041.2748763,7.54072759%2040.9380557,10.2321491%20L40.8955269,10.9168418%20C40.8955269,8.13413168%2038.8132202,5.83777036%2036.1217987,5.50094974%20L35.437106,5.45842089%20C38.2198161,5.45842089%2040.5161774,3.3761142%2040.852998,0.684692719%20L40.8955269,-1.43884904e-13%20Z'%20id='星形'%20fill='url(%23linearGradient-5)'%20fill-rule='nonzero'%3e%3c/path%3e%3cpath%20d='M44.4235306,12.0484656%20C44.4235306,13.4398207%2045.464684,14.5880013%2046.8103947,14.7564116%20L47.1527411,14.7776761%20C45.761386,14.7776761%2044.6132054,15.8188294%2044.4447951,17.1645402%20L44.4235306,17.5068865%20C44.4235306,16.1155315%2043.3823773,14.9673508%2042.0366665,14.7989405%20L41.6943202,14.7776761%20C43.0856752,14.7776761%2044.2338559,13.7365227%2044.4022662,12.390812%20L44.4235306,12.0484656%20Z'%20id='星形'%20fill='%238860FC'%20fill-rule='nonzero'%3e%3c/path%3e%3crect%20id='矩形'%20fill='%2316204D'%20x='17.7398679'%20y='29.3178306'%20width='5.45842089'%20height='8.18763134'%20rx='2'%3e%3c/rect%3e%3crect%20id='矩形备份'%20fill='%2316204D'%20x='28.6567097'%20y='29.3178306'%20width='5.45842089'%20height='8.18763134'%20rx='2'%3e%3c/rect%3e%3cpath%20d='M33.2681489,12.9425679%20C32.5347773,9.30362068%2031.08981,7.48414704%2028.9332468,7.48414704%20C25.698402,7.48414704%2025.7333802,11.8081925%2028.9332468,11.4257275%20C30.6212196,11.223972%2031.7656965,11.7295855%2032.3666775,12.9425679%20L33.2681489,12.9425679%20Z'%20id='路径-7'%20fill='url(%23linearGradient-6)'%20transform='translate(29.8942,%2010.2134)%20scale(-1,%201)%20translate(-29.8942,%20-10.2134)'%3e%3c/path%3e%3cpath%20d='M26.5202122,12.9425679%20C25.7868406,9.30362068%2024.3418733,7.48414704%2022.1853101,7.48414704%20C18.9504653,7.48414704%2018.9854435,11.8081925%2022.1853101,11.4257275%20C23.8732829,11.223972%2025.0177598,11.7295855%2025.6187408,12.9425679%20L26.5202122,12.9425679%20Z'%20id='路径-7'%20fill='url(%23linearGradient-6)'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cpath%20d='M309,81.279814%20C309,66.0493667%20239.827994,53.7026496%20154.5,53.7026496%20C69.1720062,53.7026496%200,66.0493667%200,81.279814%20C0,96.5102614%20309,96.5102614%20309,81.279814%20Z'%20id='椭圆形'%20fill='url(%23linearGradient-7)'%20opacity='0.22710455'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e`},null,-1),t[4]||=Hr(`h2`,{class:`welcome-title`},`你好,我是小鲸`,-1),z.value?(U(),Lr(`div`,h8t,[Ur(H(Z$t),{content:z.value},null,8,[`content`])])):qr(`v-if`,!0)])])):(U(),Lr(kr,{key:1},[qr(` 内容区:消息列表 `),Hr(`div`,{ref_key:`messagesContainerRef`,ref:a,class:`chatbot-messages`},[L.value?(U(),Lr(`div`,g8t,[Ur(H(Xu),{mode:`spin`,size:`small`,theme:`primary`})])):(U(),Rr(H(g3t),{key:1,"selected-messages":l.value,"onUpdate:selectedMessages":t[0]||=e=>l.value=e,"enable-selection":k.value,"message-status":g.value,"message-tools-status":_.value,"message-tools-tippy-options":r.messageToolsTippyOptions,messages:I.value,"on-agent-action":v,"on-agent-feedback":y,"on-user-action":S,"on-user-input-confirm":C,"on-user-shortcut-confirm":w,onStopStreaming:D},null,8,[`selected-messages`,`enable-selection`,`message-status`,`message-tools-status`,`message-tools-tippy-options`,`messages`]))],512)],2112)),qr(` 统一底部区域 `),!te.value&&k.value?(U(),Rr(u8t,{key:2,"is-all-selected":l.value.length===I.value.length,loading:A.value,"selected-count":l.value.length,onCancel:ae,onConfirm:oe,onToggleAll:se},null,8,[`is-all-selected`,`loading`,`selected-count`])):(U(),Lr(`div`,_8t,[s.value?.components?.length?(U(),Rr(H(gwe),Zr({key:0},s.value,{onClose:ve,onSubmit:be}),null,16)):tr(e.$slots,`input`,{key:1},()=>[Ur(H(Z2t),{ref_key:`chatInputRef`,ref:o,modelValue:P.value,"onUpdate:modelValue":t[1]||=e=>P.value=e,cite:F.value,"onUpdate:cite":t[2]||=e=>F.value=e,"message-status":g.value,"on-send-message":pe,"on-stop-sending":me,"on-upload":fe,placeholder:r.placeholder,prompts:ne.value,resources:B.value,"shortcut-id":s.value?.id,shortcuts:ie.value,onDeleteShortcut:ve,onSelectShortcut:he},null,8,[`modelValue`,`cite`,`message-status`,`placeholder`,`prompts`,`resources`,`shortcut-id`,`shortcuts`])])]))],64))],6))}});let K9=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function y8t(e){let{url:t,requestOptions:n,autoInit:r=!0,protocolCallbacks:i}=e,a=an(t);if(!a)throw Error(`[useChatBootstrap] url is required`);let o=en(K9.IDLE),s=en(null),l=en(!1),u=new Map,d=new R9({onStart:()=>{i?.onStart?.()},onMessage:e=>{i?.onMessage?.(e)},onDone:()=>{i?.onDone?.()},onError:e=>{i?.onError?.(e)}}),f=X6t({requestData:{urlPrefix:a,headers:n?.headers,data:n?.data},protocol:d});d.injectMessageModule(f.message);let p=oi(()=>o.value===K9.LOADING_AGENT),m=oi(()=>o.value===K9.READY),h=oi(()=>f.agent.info.value??null),g=oi(()=>h.value?.agentName??``),_=oi(()=>f.session.current.value??null),v=oi(()=>f.session.list.value??[]),y=async()=>{if(!l.value&&!p.value){s.value=null;try{o.value=K9.LOADING_AGENT,await Promise.all([f.agent.getAgentInfo(),f.session.getSessions()]),o.value=K9.READY,l.value=!0}catch(e){throw console.error(`[useChatBootstrap] Initialization failed:`,e),s.value=e,o.value=K9.ERROR,e}}},b=async()=>{o.value=K9.IDLE,s.value=null,l.value=!1,await y()},x=async e=>{o.value=K9.IDLE,s.value=null,l.value=!1;let t=f.http;t?.updateConfig?t.updateConfig({urlPrefix:e}):console.warn(`[useChatBootstrap] chatHelper.http.updateConfig is not implemented yet, URL change may not take effect`),await y()};return _r(()=>an(t),(e,t)=>{e&&e!==t&&t&&x(e)}),r&&Promise.resolve().then(()=>{y()}),{chatHelper:f,protocol:d,phase:o,isInitializing:p,isReady:m,error:s,agentInfo:h,agentName:g,currentSession:_,sessionList:v,initialize:y,retry:b,updateConfig:x,registerExtension:(e,t)=>{u.set(e,t)},getExtension:e=>u.get(e)}}function b8t(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`,{}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:t=>e(`rename`,{newName:t}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function x8t(e){let{componentManager:t,emit:n,debug:r=!1}=e,i=[],a=()=>{for(let[e,a]of Object.entries(r8t)){if(a===null)continue;let o=t.on(e,t=>{let i=i8t(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(),Zn(()=>{l()}),{forwardToManager:o,emitDirect:s,cleanup:l}}function S8t(e,t=!1){let n=window.innerHeight-48-40,r=window.innerWidth-48-16,i=en(r),a=en(n),o=en(0),s=en(t),l=en(!1),u=en(!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=()=>{Sn(()=>{a.value=window.innerHeight-48-40+o.value,s.value?i.value=window.innerWidth-12:i.value=window.innerWidth-48-16})};return Yn(()=>{window.addEventListener(`resize`,m),m()}),Zn(()=>{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)}}}w9();function C8t(e={}){let t=en([]),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=C9(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 Xn(()=>{a()}),{instances:t,createTooltip:n,createTooltipsForSelector:r,createMultipleTooltips:i,destroyAll:a,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}let w8t={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,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:E9(`输入 "/" 唤出 Prompt
|
|
3048
3048
|
通过 Shift + Enter 进行换行输入`),helloText:E9(`你好,我是小鲸`),disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0};function T8t(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function q9(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 E8t(e,t,n){return e-t-n}function D8t(e,t,n){return e-t-n}function J9(e,t,n){return t!==null&&e<t?t:n!==null&&n<e?n:e}function O8t(e,t,n){let r=e,i=[`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`].find(e=>T8t(r[e]));if(!T8t(r[i]))return!1;do{if(r[i](t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function k8t(e){let t=window.getComputedStyle(e);return[parseFloat(t.getPropertyValue(`width`),10),parseFloat(t.getPropertyValue(`height`),10)]}function Y9(e,t,n){e&&(e.attachEvent?e.attachEvent(`on`+t,n):e.addEventListener?e.addEventListener(t,n,!0):e[`on`+t]=n)}function X9(e,t,n){e&&(e.detachEvent?e.detachEvent(`on`+t,n):e.removeEventListener?e.removeEventListener(t,n,!0):e[`on`+t]=null)}var A8t=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Z9={mouse:{start:`mousedown`,move:`mousemove`,stop:`mouseup`},touch:{start:`touchstart`,move:`touchmove`,stop:`touchend`}},j8t={userSelect:`none`,MozUserSelect:`none`,WebkitUserSelect:`none`,MsUserSelect:`none`},M8t={userSelect:`auto`,MozUserSelect:`auto`,WebkitUserSelect:`auto`,MsUserSelect:`auto`},Q9=Z9.mouse,N8t={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]=k8t(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`),Y9(document.documentElement,`mousedown`,this.deselect),Y9(document.documentElement,`touchend touchcancel`,this.deselect),Y9(window,`resize`,this.checkParentSize)},beforeUnmount:function(){X9(document.documentElement,`mousedown`,this.deselect),X9(document.documentElement,`touchstart`,this.handleUp),X9(document.documentElement,`mousemove`,this.move),X9(document.documentElement,`touchmove`,this.move),X9(document.documentElement,`mouseup`,this.handleUp),X9(document.documentElement,`touchend touchcancel`,this.deselect),X9(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){Q9=Z9.touch,this.elementDown(e)},elementMouseDown(e){Q9=Z9.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&&!O8t(t,this.dragHandle,this.$el)||this.dragCancel&&O8t(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()),Y9(document.documentElement,Q9.move,this.move),Y9(document.documentElement,Q9.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)),X9(document.documentElement,Q9.move,this.handleResize)),this.resetBoundsAndMouseState()},handleTouchDown(e,t){Q9=Z9.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(),Y9(document.documentElement,Q9.move,this.handleResize),Y9(document.documentElement,Q9.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]=q9(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=J9(i.left-a,r.minLeft,r.maxLeft),l=J9(i.top-o,r.minTop,r.maxTop);if(this.onDrag(s,l)===!1)return;let u=J9(i.right+a,r.minRight,r.maxRight),d=J9(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]=q9(this.grid,e,this.top,1),r=J9(t,this.bounds.minLeft,this.bounds.maxLeft);this.left=r,this.right=this.parentWidth-this.width-r},moveVertically(e){let[t,n]=q9(this.grid,this.left,e,1),r=J9(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]=q9(this.grid,s,l,this.scale);this.handle.includes(`b`)?(i=J9(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=J9(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=J9(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=J9(a.left-u,this.bounds.minLeft,this.bounds.maxLeft),this.lockAspectRatio&&this.resizingOnX&&(n=this.top-(this.left-t)/o));let f=E8t(this.parentWidth,t,r),p=D8t(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]=q9(this.grid,e,0,1),r=J9(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=E8t(this.parentWidth,this.left,r),o=D8t(this.parentHeight,this.top,i);this.right=r,this.bottom=i,this.width=a,this.height=o},changeHeight(e){let[t,n]=q9(this.grid,0,e,1),r=J9(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=E8t(this.parentWidth,this.left,i),o=D8t(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)),X9(document.documentElement,Q9.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?j8t:M8t}},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))}}},P8t=[`onMousedown`,`onTouchstart`];function F8t(e,t,n,r,i,a){return U(),Lr(`div`,{style:de(a.style),class:ge([{[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)},[(U(!0),Lr(kr,null,er(a.actualHandles,t=>(U(),Lr(`div`,{key:t,class:ge([n.classNameHandle,n.classNameHandle+`-`+t]),style:de({display:e.enabled?`block`:`none`}),onMousedown:Di(e=>a.handleDown(t,e),[`stop`,`prevent`]),onTouchstart:Di(e=>a.handleTouchDown(t,e),[`stop`,`prevent`])},[tr(e.$slots,t)],46,P8t))),128)),tr(e.$slots,`default`)],38)}var I8t=A8t(N8t,[[`render`,F8t]]);function L8t(e){L8t.installed||(L8t.installed=!0,e.component(`VueDraggableResizable`,I8t))}var R8t={install:L8t},$9=null;typeof window<`u`?$9=window.Vue:typeof global<`u`&&($9=global.Vue),$9&&$9.use(R8t);function z8t(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=en(e.defaultLeft===void 0?window.innerWidth-n:e.defaultLeft),u=en(e.defaultTop===void 0?0:e.defaultTop),d=en(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),f=en(n),p=en(u.value),m=en(l.value),h=en(f.value),g=en(d.value),_=en(Math.max(window.innerWidth*(a/100),h.value)),v=en(!1),y=en(0),b=()=>({x:m.value,y:p.value,width:h.value,height:g.value}),x=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),t?.onDragging?.(b())},S=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,t?.onResizing?.(b())},C=(e,n)=>{m.value=e,p.value=n,y.value=e-(window.innerWidth-h.value),t?.onDragStop?.(b())},w=(e,n,r,i)=>{m.value=e,p.value=n,h.value=Math.min(r,_.value),g.value=i,t?.onResizeStop?.(b())},T=()=>{_.value=Math.max(window.innerWidth*(a/100),h.value),Sn(()=>{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)})},E=()=>{v.value?(p.value=u.value,Sn(()=>{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},D=(e,t)=>{m.value=e,p.value=t,y.value=e-(window.innerWidth-h.value)},O=(e,t)=>{h.value=Math.max(r,Math.min(e,_.value)),g.value=Math.max(i,t)};return Yn(()=>{window.addEventListener(`resize`,T)}),Xn(()=>{window.removeEventListener(`resize`,T)}),{minWidth:r,minHeight:i,maxWidth:_,top:p,left:m,width:h,height:g,isCompressed:v,handleDragging:x,handleResizing:S,handleDragStop:C,handleResizeStop:w,toggleCompression:E,updatePosition:D,updateSize:O,updatePositionAndSize:(e,t,n,r)=>{D(e,t),O(n,r)}}}var B8t={class:`draggable-container-content`},V8t=T9(Vn({__name:`draggable-container`,props:{visible:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},defaultWidth:{default:400},defaultHeight:{default:void 0},defaultX:{default:void 0},defaultY:{default:0},minWidth:{default:400},minHeight:{default:400},maxWidth:{default:void 0},maxWidthPercent:{default:80},compressedHeight:{default:800},compressedPadding:{default:0},dragHandle:{default:`.drag-handle`},className:{default:``},teleportTo:{default:`body`}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=en(!1),{minWidth:o,minHeight:s,maxWidth:l,top:u,left:d,width:f,height:p,isCompressed:m,handleDragging:h,handleResizing:g,handleDragStop:_,handleResizeStop:v,toggleCompression:y,updatePosition:b,updateSize:x,updatePositionAndSize:S}=z8t({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)}),C=oi(()=>{let e=typeof r.maxWidth==`number`?`${r.maxWidth}px`:r.maxWidth??`${l.value}px`;return{"--draggable-max-width":e}}),w=oi(()=>({x:d.value,y:u.value,width:f.value,height:p.value})),T=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},E=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},D=(e,t)=>{a.value||(a.value=!0,T()),h(e,t)},O=(e,t,n,r)=>{a.value||(a.value=!0,T()),g(e,t,n,r)},k=(e,t)=>{_(e,t),a.value=!1,E()},A=(e,t,n,r)=>{v(e,t,n,r),a.value=!1,E()};return _r(m,e=>{i(`compression-change`,e)}),t({updatePosition:b,updateSize:x,updatePositionAndSize:S,toggleCompression:y,positionAndSize:w,isCompressed:m}),(e,t)=>On((U(),Rr(H(I8t),{ref:`draggableRef`,active:r.visible,class:ge([`draggable-container-wrapper`,r.className]),draggable:r.draggable,h:H(p),"max-width":H(l),"min-height":H(s),"min-width":H(o),parent:!0,"prevent-deactivation":!0,resizable:r.resizable,"drag-handle":r.dragHandle,style:de(C.value),"class-name":`draggable-container-inner`,w:H(f),x:H(d),y:H(u),onDragStop:k,onDragging:D,onResizeStop:A,onResizing:O},{default:Dn(()=>[Hr(`div`,B8t,[tr(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`drag-handle`,`style`,`w`,`x`,`y`])),[[vi,r.visible]])}}),[[`__scopeId`,`data-v-de563c20`]]),H8t={class:`nimbus-bkai-wrapper`},U8t=[`width`,`height`,`src`],W8t=T9(Vn({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:t}){bi(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=oi(()=>i[n.size]),o=en(null),s=en(null),{nimbusLeft:l,nimbusTop:u,isMinimize:d,handleClick:f,handleMinimize:p,handleDragging:m,handleMouseEnter:h,handleMouseLeave:g,handleMouseDown:_,handleMouseUp:v}=S8t(r,n.isMinimize);_r(d,e=>{r(`update:isMinimize`,e)});let y=oi(()=>d.value?E9(`恢复默认大小`):E9(`最小化,将缩成锚点`)),{createTooltip:b,destroyAll:x}=C8t({theme:`ai-blueking`,delay:[0,0]}),S=()=>{Sn(()=>{C()})},C=()=>{x(),o.value&&!d.value&&b(o.value,D3t(),{placement:`left`}),s.value&&b(s.value,y.value,{placement:`top`})};return _r(()=>d.value,()=>{Sn(()=>{C()})}),Yn(()=>{Sn(()=>{C()}),window.addEventListener(`resize`,S)}),Xn(()=>{window.removeEventListener(`resize`,S)}),(t,n)=>(U(),Rr(H(I8t),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:a.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:a.value.container,x:H(l),y:H(u),onDragging:H(m)},{default:Dn(()=>[Hr(`div`,{ref_key:`nimbusContainerRef`,ref:o,class:ge([`nimbus-container`,{"is-minimize":H(d)}]),onClick:n[1]||=(...e)=>H(f)&&H(f)(...e),onMousedown:n[2]||=(...e)=>H(_)&&H(_)(...e),onMouseenter:n[3]||=(...e)=>H(h)&&H(h)(...e),onMouseleave:n[4]||=(...e)=>H(g)&&H(g)(...e),onMouseup:n[5]||=(...e)=>H(v)&&H(v)(...e)},[Hr(`div`,H8t,[Hr(`img`,{width:a.value.img,height:a.value.img,src:H(_3t),alt:`nimbus`},null,8,U8t)]),Hr(`i`,{ref_key:`minimizeButtonRef`,ref:s,class:ge([`nimbus-mini bkai-icon`,H(d)?`bkai-yinyong`:`bkai-minus-line`]),onClick:n[0]||=Di((...e)=>H(p)&&H(p)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),G8t={class:`ai-blueking-panel`},K8t=T9(Vn({__name:`ai-blueking`,props:ite({autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enablePopup:{type:Boolean},extCls:{},helloText:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},placeholder:{},prompts:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},shortcutFilter:{type:Function}},w8t),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`,`new-chat`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=en(),o=en(),s=oi(()=>w3t(r.url)),l=n8t({initialPanelVisible:!1,initialNimbusMinimized:r.defaultMinimize,enablePopup:r.enablePopup,enableNimbus:!r.hideNimbus,enableDraggable:r.draggable}),u=l.panelVisible,d=l.nimbusMinimized,{forwardToManager:f}=x8t({componentManager:l,emit:i}),p=b8t(f),{chatHelper:m,isReady:h,agentInfo:g,agentName:_,currentSession:v}=y8t({url:s,requestOptions:r.requestOptions,autoInit:!0,protocolCallbacks:{onStart:()=>{p.receiveStart()},onMessage:()=>{p.receiveText()},onDone:()=>{p.receiveEnd()},onError:e=>{l.emitInternal(`sdk-error`,{apiName:`chat`,code:-1,message:e.message,data:e})}}}),y=m,b=new Q6t(y.session,y.agent,null,{enableChatSession:r.enableChatSession,initialSessionCode:r.initialSessionCode}),x=new $6t(y.message,y.session),S=new a8t,C=oi(()=>S.isSelectionMode.value),w=en(!1),T=new e8t(null,r.shortcuts||[]),E=en(!1),D=en(``),O={appendTo:e=>{let t=e.closest(`.draggable-container-content`);return console.log(`[ai-blueking] appendTo called, ref:`,e),console.log(`[ai-blueking] appendTo closest result:`,t),t??document.body}},k=oi(()=>l.isCompressed.value),A=oi(()=>_.value),j=en(``),M=en(!0),N=en(!1),P=oi(()=>r.resources?.length?r.resources:x3t(g.value?.resources)),F=oi(()=>r.prompts?.length?r.prompts:g.value?.conversationSettings?.predefinedQuestions??[]),I=oi(()=>{let e=T.effectiveShortcuts.value;return typeof r.shortcutFilter==`function`&&D.value?e.filter(e=>r.shortcutFilter?.(e,D.value)):e});_r(()=>h.value,async e=>{if(e&&g.value){let e=g.value;if(e.saasUrl&&fetch(e.saasUrl,{method:`GET`,credentials:`include`}).catch(()=>{}),e.conversationSettings&&(f(`session-initialized`,{openingRemark:e.conversationSettings.openingRemark||``,predefinedQuestions:e.conversationSettings.predefinedQuestions||[]}),e.conversationSettings.commands&&T.setAgentShortcuts(e.conversationSettings.commands)),r.loadRecentSessionOnMount)try{await b.loadRecentSession({skipLoadSessions:!0})}catch(e){console.error(`[AIBlueking] Failed to load recent session:`,e)}}},{immediate:!0}),_r(()=>r.shortcuts,e=>{T.setShortcuts(e||[])},{immediate:!0}),_r(()=>v.value,e=>{e&&(j.value=e.sessionName||``,N.value=(e.sessionContentCount??0)>0)},{immediate:!0}),_r(()=>y.message.list.value.length,e=>{e>0&&(N.value=!0)});let L=async e=>{l.showPanel(e),e&&o.value&&await o.value.switchSession(e)},R=async e=>{await L(e)},ee=()=>{l.hidePanel()},te=()=>{ee()},z=()=>{l.handleNimbusClick()},B=e=>{D.value=e},ne=async(e,t)=>{E.value=!1,await L(),e.components?.length&&o.value?o.value.selectShortcut(e,t):o.value&&(o.value.setCiteText(t),o.value.focusInput()),f(`shortcut-click`,{shortcut:e,source:`popup`})},re=e=>{f(`shortcut-click`,e)},ie=e=>{l.handleDragging(e)},ae=e=>{l.handleResizing(e)},oe=e=>{l.handleDragStop(e)},V=e=>{l.handleResizeStop(e)},se=()=>{l.container.toggleCompression()},ce=e=>{l.setCompressed(e)},le=async()=>{p.newChat()},ue=e=>{p.historyClick(e)},de=async e=>{await b.switchSession(e)},fe=async e=>{await b.deleteSession(e)},pe=async(e,t)=>{await b.updateSessionName(e,t)},me=async()=>{let e=y.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}try{await y.session.renameSession(e);let t=y.session.list.value.find(t=>t.sessionCode===e);t&&(j.value=t.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),Me(e)}p.autoGenerateName()},he=()=>{p.helpClick()},_e=async e=>{let t=y.session.current?.value;if(!t){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await y.session.updateSession({...t,sessionName:e}),j.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),Me(e)}p.rename(e)},ve=()=>{S.enableSelectionMode(),p.share()},ye=()=>{S.disableSelectionMode()},be=async e=>{w.value=!0;try{let{shareUrl:t,userMessageIds:n}=await x.shareMessages(e);await T3t(t),df({message:E9(`分享链接已复制到剪贴板`),theme:`success`}),S.disableSelectionMode(),p.shareMessages(n)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),Me(e)}finally{w.value=!1}},xe=async e=>{o.value&&await o.value.sendMessage(e)},Se=e=>{N.value=!0,p.sendMessage(e)},Ce=()=>{p.receiveStart()},we=()=>{p.receiveText()},Te=()=>{p.receiveEnd()},Ee=()=>{p.stop()},De=()=>{o.value&&o.value.stopGeneration()},Oe=async e=>{e?await b.createSession({sessionCode:e}):await b.createNewSession()},ke=async e=>{o.value&&await o.value.switchSession(e)},Ae=async(e,t)=>{try{await b.updateSessionName(e,t),j.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),Me(e)}},je=e=>{e&&(j.value=e.sessionName||``,N.value=(e.sessionContentCount??0)>0||y.message.list.value.length>0)},Me=e=>{console.error(`ChatBot error:`,e),l.emitInternal(`sdk-error`,{apiName:`chat`,code:-1,message:e.message,data:e})},Ne=(e,t)=>{l.container.updatePosition(e,t)},Pe=(e,t)=>{l.container.updateSize(e,t)},Fe=(e,t,n,r)=>{l.container.updatePositionAndSize(e,t,n,r)},Ie=e=>{o.value&&o.value.setCiteText(e)},Le=()=>{o.value&&o.value.focusInput()},Re=e=>{k3t(e)&&(e.preventDefault(),u.value?ee():L())};return Yn(async()=>{a.value&&l.setContainerRef(a.value),window.addEventListener(`keydown`,Re)}),Xn(()=>{window.removeEventListener(`keydown`,Re),l.destroy()}),t({show:L,handleShow:R,hide:ee,sendMessage:xe,stopGeneration:De,addNewSession:Oe,switchToSession:ke,updateSessionName:Ae,updatePosition:Ne,updateSize:Pe,updatePositionAndSize:Fe,setCiteText:Ie,focusInput:Le}),(e,t)=>(U(),Rr(Nn,{to:r.teleportTo},[Hr(`div`,{class:ge([`ai-blueking-v2`,r.extCls])},[qr(` 可拖拽容器 `),Ur(H(V8t),{ref_key:`draggableContainerRef`,ref:a,"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:H(u),onCompressionChange:ce,onDragStop:oe,onDragging:ie,onResizeStop:V,onResizing:ae},{default:Dn(()=>[Hr(`div`,G8t,[qr(` 独立的 Header 组件 `),r.hideHeader?qr(`v-if`,!0):(U(),Rr(t6t,{key:0,"agent-name":A.value,"chat-helper":H(y),draggable:r.draggable,"dropdown-menu-config":r.dropdownMenuConfig,"enable-chat-session":r.enableChatSession,"has-permission":M.value,"has-session-contents":N.value,"is-compression-height":k.value,"session-business-manager":H(b),"session-name":j.value,"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:me,onClose:te,onHelpClick:he,onHistoryClick:ue,onHistorySessionDelete:fe,onHistorySessionRename:pe,onHistorySessionSwitch:de,onNewChat:le,onRename:_e,onShare:ve,onToggleCompression:se},null,8,[`agent-name`,`chat-helper`,`draggable`,`dropdown-menu-config`,`enable-chat-session`,`has-permission`,`has-session-contents`,`is-compression-height`,`session-business-manager`,`session-name`,`show-compression-icon`,`show-history-icon`,`show-more-icon`,`show-new-chat-icon`,`title`])),qr(` ChatBot 核心组件(仅聊天区域) `),Ur(v8t,{ref_key:`chatBotRef`,ref:o,"auto-load":r.loadRecentSessionOnMount,"chat-helper":H(y),"enable-selection":C.value,"hello-text":r.helloText,"message-tools-tippy-options":O,placeholder:r.placeholder,prompts:F.value,"request-options":r.requestOptions,resources:P.value,"session-code":r.initialSessionCode,"share-loading":w.value,"shortcut-limit":r.shortcutLimit,shortcuts:r.shortcuts,url:s.value,onCancelShare:ye,onConfirmShare:t[0]||=e=>be(e),onError:t[1]||=e=>Me(e),onReceiveEnd:Te,onReceiveStart:Ce,onReceiveText:we,onRequestShare:ve,onSendMessage:t[2]||=e=>Se(e),onSessionSwitched:t[3]||=e=>je(e),onShortcutClick:re,onStop:Ee},null,8,[`auto-load`,`chat-helper`,`enable-selection`,`hello-text`,`placeholder`,`prompts`,`request-options`,`resources`,`session-code`,`share-loading`,`shortcut-limit`,`shortcuts`,`url`])])]),_:1},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`]),qr(` Nimbus 悬浮球 `),r.hideNimbus?qr(`v-if`,!0):(U(),Rr(W8t,{key:0,"is-minimize":H(d),"onUpdate:isMinimize":t[4]||=e=>$t(d)?d.value=e:null,"is-panel-show":H(u),"onUpdate:isPanelShow":t[5]||=e=>$t(u)?u.value=e:null,"default-minimize":r.defaultMinimize,size:r.nimbusSize,onClick:z},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`])),qr(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),r.enablePopup?(U(),Rr(H(woe),{key:1,visible:E.value,"onUpdate:visible":t[6]||=e=>E.value=e,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":r.shortcutLimit,shortcuts:I.value,onSelectShortcut:ne,onSelectionChange:B},null,8,[`visible`,`max-shortcut-count`,`shortcuts`])):qr(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-d0469064`]]);return e.default={name:`AIBluekingV2`,render(e){return e(`div`,{style:{width:`100%`,height:`100%`}})},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:``},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:700},defaultHeight:{type:Number,default:800},defaultLeft:{type:Number,default:void 0},defaultTop:{type:Number,default:void 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},loadRecentSessionOnMount:{type:Boolean,default:!1},shortcutLimit:{type:Number,default:3},shortcutFilter:{type:Function,default:void 0},placeholder:{type:String,default:``},enableChatSession:{type:Boolean,default:!0},nimbusSize:{type:String,default:`medium`},miniPadding:{type:Number,default:20},dropdownMenuConfig:{type:Array,default:()=>[]},hideDefaultTrigger:{type:Boolean,default:!1}},data(){return{app:null,componentInstance:null,unWatchStack:[]}},created(){let e=this.$emit.bind(this),t=this;this.app=ki({setup(){return()=>si(K8t,{extCls:t.extCls,shortcuts:t.shortcuts,shortcutLimit:t.shortcutLimit,shortcutFilter:t.shortcutFilter,enablePopup:t.enablePopup,url:t.url,title:t.title,helloText:t.helloText,requestOptions:t.requestOptions,prompts:t.prompts,disabledInput:t.disabledInput,teleportTo:t.teleportTo,defaultMinimize:t.defaultMinimize,hideHeader:t.hideHeader,hideNimbus:t.hideNimbus,draggable:t.draggable,defaultWidth:t.defaultWidth,defaultHeight:t.defaultHeight,defaultLeft:t.defaultLeft,defaultTop:t.defaultTop,initialSessionCode:t.initialSessionCode,autoSwitchToInitialSession:t.autoSwitchToInitialSession,loadRecentSessionOnMount:t.loadRecentSessionOnMount,showCompressionIcon:t.showCompressionIcon,showMoreIcon:t.showMoreIcon,showHistoryIcon:t.showHistoryIcon,showNewChatIcon:t.showNewChatIcon,defaultChatInputPosition:t.defaultChatInputPosition,maxWidth:t.maxWidth,placeholder:t.placeholder,enableChatSession:t.enableChatSession,nimbusSize:t.nimbusSize,miniPadding:t.miniPadding,dropdownMenuConfig:t.dropdownMenuConfig,hideDefaultTrigger:t.hideDefaultTrigger,onClose:()=>e(`close`),onShow:()=>e(`show`),onStop:()=>e(`stop`),onShortcutClick:t=>e(`shortcut-click`,t),onSendMessage:t=>e(`send-message`,t),onReceiveStart:()=>e(`receive-start`),onReceiveEnd:()=>e(`receive-end`),onReceiveText:()=>e(`receive-text`),onSessionInitialized:t=>e(`session-initialized`,t),onDragStop:t=>e(`drag-stop`,t),onResizeStop:t=>e(`resize-stop`,t),onDragging:t=>e(`dragging`,t),onResizing:t=>e(`resizing`,t),onTransferMessages:t=>e(`transfer-messages`,t),onShareMessages:t=>e(`share-messages`,t),onSdkError:t=>e(`sdk-error`,t),onSessionSwitched:t=>e(`session-switched`,t),onHelpClick:()=>e(`help-click`),onRename:()=>e(`rename`),onShare:()=>e(`share`),...t.$attrs,ref:e=>{t.componentInstance=e}})}}),this.unWatchStack.push(this.$watch(`requestOptions`,e=>{this.app&&(this.app.unmount(),this.app.mount(this.$el))},{deep:!0})),this.unWatchStack.push(this.$watch(`shortcuts`,()=>{this.app&&(this.app.unmount(),this.app.mount(this.$el))},{deep:!0}))},mounted(){this.app?.mount(this.$el),this.$nextTick(()=>{if(this.componentInstance){let e=this.componentInstance;this.show=e.show.bind(e),this.hide=e.hide.bind(e),this.sendMessage=e.sendMessage.bind(e),this.stopGeneration=e.stopGeneration.bind(e),this.addNewSession=e.addNewSession.bind(e),this.switchToSession=e.switchToSession.bind(e),this.updateSessionName=e.updateSessionName.bind(e),this.updatePosition=e.updatePosition.bind(e),this.updateSize=e.updateSize.bind(e),this.updatePositionAndSize=e.updatePositionAndSize.bind(e),this.setCiteText=e.setCiteText.bind(e),this.focusInput=e.focusInput.bind(e)}})},beforeDestroy(){this.unWatchStack.forEach(e=>e?.()),this.unWatchStack=[],this.app&&=(this.app.unmount(),null),this.componentInstance=null},methods:{show(e,t){return console.warn(`AIBluekingV2: show method not ready`),Promise.resolve()},hide(){console.warn(`AIBluekingV2: hide method not ready`)},sendMessage(e){return console.warn(`AIBluekingV2: sendMessage method not ready`),Promise.resolve()},stopGeneration(){console.warn(`AIBluekingV2: stopGeneration method not ready`)},addNewSession(e){return console.warn(`AIBluekingV2: addNewSession method not ready`),Promise.resolve()},switchToSession(e){return console.warn(`AIBluekingV2: switchToSession method not ready`),Promise.resolve()},updateSessionName(e,t){return console.warn(`AIBluekingV2: updateSessionName method not ready`),Promise.resolve()},updatePosition(e,t){console.warn(`AIBluekingV2: updatePosition method not ready`)},updateSize(e,t){console.warn(`AIBluekingV2: updateSize method not ready`)},updatePositionAndSize(e,t,n,r){console.warn(`AIBluekingV2: updatePositionAndSize method not ready`)},setCiteText(e){console.warn(`AIBluekingV2: setCiteText method not ready`)},focusInput(){console.warn(`AIBluekingV2: focusInput method not ready`)}}},e.h=si,e})({});
|
|
@@ -3042,7 +3042,7 @@ Use Shift + Enter to enter a new line`:`输入 “/”唤出 Prompt
|
|
|
3042
3042
|
<div class="tippy-dropdown-menu">
|
|
3043
3043
|
${r}
|
|
3044
3044
|
</div>
|
|
3045
|
-
`}),T=async()=>{if(i.sessionBusinessManager)try{await i.sessionBusinessManager.createNewSession()}catch(e){console.error(`Failed to create new session:`,e),jl({theme:`error`,message:h9(`创建会话失败`)})}a(`new-chat`)},E=e=>{e.stopPropagation(),i.sessionBusinessManager?(g||_(),g&&g.handleTriggerClick(e)):a(`history-click`,e)},D=()=>{a(`help-click`)},O=e=>{e.stopPropagation(),g&&g.isVisible()&&g.hide(),m&&(m.state.isVisible?m.hide():m.show())},k=e=>{e.stopPropagation(),e.preventDefault();let t=e.currentTarget,n=t.dataset.action;if(!t.classList.contains(`disabled`))switch(m&&m.hide(),n){case`rename`:A();break;case`auto-generate`:a(`auto-generate-name`);break;case`share`:a(`share`);break}},A=()=>{document.removeEventListener(`click`,P),f.value=i.sessionName||``,d.value=!0,setTimeout(()=>{document.addEventListener(`click`,P)},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)},j=()=>{let e=f.value.trim();if(!e){M();return}a(`rename`,e),d.value=!1,f.value=``},M=()=>{d.value=!1,f.value=``},N=(e,t)=>{f.value=e,t.key===`Enter`?j():t.key===`Escape`&&M()},P=e=>{if(!d.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&M()},F=async()=>{if(!u.value)return;let e=(await Promise.resolve().then(()=>(l9(),Dqt))).default;m&&=(m.destroy(),null),m=e(u.value,{content:w.value,theme:`ai-blueking-light more-menu-light light`,placement:`bottom-start`,trigger:`manual`,interactive:!0,allowHTML:!0,arrow:!1,offset:[0,4],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body,onShow:()=>{setTimeout(async()=>{let{default:e}=await Promise.resolve().then(()=>(l9(),Dqt));document.querySelectorAll(`.tippy-menu-item`).forEach(t=>{let n=t;n.addEventListener(`click`,k);let r=n.getAttribute(`data-tippy-content`);if(r&&!h.has(n)){let t=e(n,{content:r,theme:`ai-blueking-tooltip`,placement:`right`,trigger:`mouseenter focus`,arrow:!0,delay:[300,0]});h.set(n,t)}})},0)},onHide:()=>{document.querySelectorAll(`.tippy-menu-item`).forEach(e=>{let t=e;t.removeEventListener(`click`,k);let n=h.get(t);n&&(n.destroy(),h.delete(t))})}})};return(0,t.watch)(()=>[i.isCompressionHeight,i.hasSessionContents],()=>{m&&m.setContent(w.value)}),(0,t.onMounted)(()=>{F(),i.sessionBusinessManager&&_(),document.addEventListener(`click`,P)}),(0,t.onBeforeUnmount)(()=>{m&&=(m.destroy(),null),h.forEach(e=>{e.destroy()}),h.clear(),g&&=(g.destroy(),null),document.removeEventListener(`click`,P)}),n({headerRef:s,historyIconRef:l}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`headerRef`,ref:s,class:(0,t.normalizeClass)([`ai-header drag-handle`,{draggable:i.draggable}])},[(0,t.createElementVNode)(`div`,LXt,[(0,t.createElementVNode)(`div`,RXt,[(0,t.createElementVNode)(`img`,{alt:`logo`,src:(0,t.unref)(oXt)},null,8,zXt)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`title`,{"title-with-tooltip":d.value}])},[(0,t.createTextVNode)((0,t.toDisplayString)(v.value)+` `,1),(0,t.createCommentVNode)(` 重命名 tooltip 直接绑定在 title 上 `),d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BXt,[(0,t.createElementVNode)(`div`,VXt,[(0,t.createVNode)((0,t.unref)(Ic),{ref_key:`renameInputRef`,ref:p,modelValue:f.value,"onUpdate:modelValue":r[0]||=e=>f.value=e,class:`rename-input`,placeholder:(0,t.unref)(h9)(`请输入新的会话名称`),onKeyup:N},null,8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,{class:`rename-buttons`},[(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:j}),(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:M})])])])):(0,t.createCommentVNode)(`v-if`,!0)],2),i.showMoreIcon&&x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,ref_key:`moreIconRef`,ref:u,class:`bkai-icon bkai-more`,onClick:O},null,512)):(0,t.createCommentVNode)(`v-if`,!0)]),(0,t.createElementVNode)(`div`,HXt,[(0,t.createCommentVNode)(` 新增会话按钮 `),i.showNewChatIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!x.value}]),style:(0,t.normalizeStyle)(C()),onClick:r[1]||=e=>x.value?T():void 0},null,6)),[[(0,t.unref)(o),{content:S((0,t.unref)(h9)(`新增会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 历史会话按钮 `),i.showHistoryIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:1,ref_key:`historyIconRef`,ref:l,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-history`,{disabled:!x.value}]),style:(0,t.normalizeStyle)(C()),onClick:r[2]||=e=>x.value?E(e):void 0},null,6)),[[(0,t.unref)(o),{content:S((0,t.unref)(h9)(`历史会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),e.chatGroup?.enabled?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:D},null,512)),[[(0,t.unref)(o),{content:(0,t.unref)(h9)(`转人工`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),i.showCompressionIcon?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:3,class:(0,t.normalizeClass)([`bkai-icon`,y.value]),onClick:r[3]||=e=>a(`toggle-compression`)},null,2)),[[(0,t.unref)(o),{content:b.value,boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:r[4]||=e=>a(`close`)},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(h9)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-049cc46a`]]);let WXt=e=>{var t;return{conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e==null||(t=e.conversation_settings)==null?void 0:t.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})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting,agentName:e?.agent_name,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}};var g9;(function(e){e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`})(g9||={});var _9;(function(e){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`})(_9||={});var v9;(function(e){e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`})(v9||={});var y9;(function(e){e.Binary=`binary`,e.Function=`function`,e.Text=`text`})(y9||={});function GXt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){GXt(e,t,n[t])})}return e}function KXt(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 x9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):KXt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let S9=e=>{let 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 _9.Activity:{let n=e;return x9(b9({},t),{activityType:n.activity_type,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})):{content:n.content.content,referenceDocument:n.content.reference_document.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url}))},role:n.role})}case _9.Assistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role,toolCalls:n.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 _9.Developer:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Guide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Hidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Info:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Pause:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Placeholder:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Reasoning:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,role:n.role})}case _9.System:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateHidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Tool:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id})}case _9.User:{let n=e,r=n.content;return x9(b9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===y9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},qXt=e=>{let 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 _9.Activity:{let n=e;return x9(b9({},t),{activity_type:n.activityType,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})):{content:n.content.content,reference_document:n.content.referenceDocument.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url}))},role:n.role})}case _9.Assistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role,tool_calls:n.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 _9.Developer:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Guide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Hidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Info:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Pause:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Placeholder:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Reasoning:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,role:n.role})}case _9.System:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateHidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Tool:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId})}case _9.User:{let n=e,r=n.content;return x9(b9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===y9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},C9=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,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}}),JXt=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,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}}),YXt=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),XXt=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables});function ZXt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function w9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){ZXt(a,r,i,o,s,`next`,e)}function s(e){ZXt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function QXt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){QXt(e,t,n[t])})}return e}function $Xt(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 eZt(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):$Xt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var tZt=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`;let nZt=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(!1);return{list:n,isListLoading:r,isDeleteLoading:i,getMessages:t=>(r.value=!0,e.http?.message.getMessages(t).then(e=>{n.value=e}).finally(()=>{r.value=!1})),getCurrentLoadingMessage:()=>n.value.findLast(e=>[v9.Pending,v9.Streaming].includes(e.status)),getMessageByMessageId:e=>n.value.find(t=>t.messageId===e),modifyMessage:e=>{n.value=n.value.map(t=>t.messageId===e.messageId?e:t)},plusMessage:e=>{n.value.push(e)},createAndPlusMessage:function(){var t=w9(function*(t){let r=tZt(),i=eZt(T9({},t),{id:r,messageId:r});n.value.push(i);try{let i=yield e.http?.message.plusMessage(t);if(i){let e=n.value.findIndex(e=>e.messageId===r);if(e!==-1){let r=T9({},i,`property`in t&&t.property?{property:t.property}:{});n.value[e]=r}}}catch(e){let t=n.value.findIndex(e=>e.messageId===r);throw t!==-1&&(n.value[t]=eZt(T9({},n.value[t]),{status:v9.Error})),e}});return function(e){return t.apply(this,arguments)}}(),deleteMessages:function(){var t=w9(function*(t){let r=t.reduce((e,t)=>(t.role===_9.User&&e.push(t.id),e),[]);if(r.length<=0)return;let a=[...n.value];n.value=n.value.filter(e=>!t.includes(e)),i.value=!0;try{yield e.http?.message.batchDeleteMessages(r)}catch(e){throw n.value=a,e}finally{i.value=!1}});return function(e){return t.apply(this,arguments)}}(),shareMessages:function(){var t=w9(function*(t,n,r){let i=n.reduce((e,t)=>(t.role===_9.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)});return function(e,n,r){return t.apply(this,arguments)}}(),reset:()=>{n.value=[],r.value=!1,i.value=!1}}};var E9;(function(e){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`})(E9||={});var D9;(function(e){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`})(D9||={});function O9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k9=class{handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){}handleCustomEvent(e){switch(e.name){case E9.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case E9.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case E9.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case E9.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case E9.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;default:break}}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Activity&&t.activityType===g9.KnowledgeRag&&(t.status=v9.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Activity&&t.activityType===g9.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:_9.Activity,activityType:g9.KnowledgeRag,content:{content:``,referenceDocument:[]},status:v9.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===_9.Activity&&t.activityType===g9.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(S9))}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:_9.Activity,activityType:g9.ReferenceDocument,content:e.value,status:v9.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=v9.Complete),this.messageModule.plusMessage({role:_9.Assistant,content:e.message,status:v9.Error})}handleRunFinishedEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=v9.Complete)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:v9.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=v9.Complete)}handleTextMessageStartEvent(e){this.messageModule.plusMessage({role:e.role,content:``,status:v9.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&(t.duration=e.duration,t.status=v9.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:_9.Reasoning,content:[],status:v9.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===_9.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===_9.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=v9.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:_9.Tool,content:e.content,duration:e.duration,status:v9.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:_9.Assistant,content:``,status:v9.Streaming,toolCalls:[{id:e.toolCallId,type:y9.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){var e,t;(e=(t=this).onDoneCallback)==null||e.call(t)}onError(e){var t,n;this.messageModule.plusMessage({role:_9.Assistant,content:e.error?.message,status:v9.Error}),(t=(n=this).onErrorCallback)==null||t.call(n,e)}onMessage(e){var t,n;let r=e;switch((t=(n=this).onMessageCallback)==null||t.call(n,r),r.type){case D9.ActivityDelta:this.handleActivityDeltaEvent(r);break;case D9.ActivitySnapshot:this.handleActivitySnapshotEvent(r);break;case D9.Custom:this.handleCustomEvent(r);break;case D9.MessagesSnapshot:this.handleMessagesSnapshotEvent(r);break;case D9.Raw:this.handleRawEvent(r);break;case D9.RunError:this.handleRunErrorEvent(r);break;case D9.RunFinished:this.handleRunFinishedEvent(r);break;case D9.RunStarted:this.handleRunStartedEvent(r);break;case D9.StateDelta:this.handleStateDeltaEvent(r);break;case D9.StateSnapshot:this.handleStateSnapshotEvent(r);break;case D9.StepFinished:this.handleStepFinishedEvent(r);break;case D9.StepStarted:this.handleStepStartedEvent(r);break;case D9.TextMessageChunk:this.handleTextMessageChunkEvent(r);break;case D9.TextMessageContent:this.handleTextMessageContentEvent(r);break;case D9.TextMessageEnd:this.handleTextMessageEndEvent(r);break;case D9.TextMessageStart:this.handleTextMessageStartEvent(r);break;case D9.ThinkingEnd:this.handleThinkingEndEvent(r);break;case D9.ThinkingStart:this.handleThinkingStartEvent(r);break;case D9.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(r);break;case D9.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(r);break;case D9.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(r);break;case D9.ToolCallArgs:this.handleToolCallArgsEvent(r);break;case D9.ToolCallChunk:this.handleToolCallChunkEvent(r);break;case D9.ToolCallEnd:this.handleToolCallEndEvent(r);break;case D9.ToolCallResult:this.handleToolCallResultEvent(r);break;case D9.ToolCallStart:this.handleToolCallStartEvent(r);break;default:break}}onStart(){var e,t;(e=(t=this).onStartCallback)==null||e.call(t)}constructor(e){O9(this,`messageModule`,void 0),O9(this,`onDoneCallback`,void 0),O9(this,`onErrorCallback`,void 0),O9(this,`onMessageCallback`,void 0),O9(this,`onStartCallback`,void 0),this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}};function rZt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function A9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){rZt(a,r,i,o,s,`next`,e)}function s(e){rZt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function iZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){iZt(e,t,n[t])})}return e}let aZt=(e,n)=>{let r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=n||new k9,s=null,l=()=>(i.value=!0,e.http?.agent.getAgentInfo().then(e=>{r.value=e}).finally(()=>{i.value=!1})),u=t=>{let n=t.promptSetting?.collectionContent?.at(-1);if(n?.role===_9.Pause){var r;(r=e.message)==null||r.createAndPlusMessage({role:_9.Assistant,content:n.content,status:v9.Complete})}},d=function(){var t=A9(function*(t,n,r){var i;o instanceof k9&&o.injectMessageModule(e.message),s=new AbortController,(i=e.http)==null||i.fetchClient.streamRequest(j9({url:n||`chat_completion/`,method:`POST`,data:{session_code:t},controller:s,onDone:()=>{var e;a.value=!1,(e=o.onDone)==null||e.call(o)},onError:e=>{var t;a.value=!1,(t=o.onError)==null||t.call(o,e)},onMessage:e=>{var t;(t=o.onMessage)==null||t.call(o,e)},onStart:()=>{var e;a.value=!0,(e=o.onStart)==null||e.call(o)}},r))});return function(e,n,r){return t.apply(this,arguments)}}(),f=function(){var t=A9(function*(t,n,r,i,a){yield e.message?.createAndPlusMessage(j9({role:_9.User,content:t,status:v9.Complete,sessionCode:n},a&&{property:a})),d(n,r,i)});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),p=(t,n,r)=>{let i=e.message?.list.value.at(-1);(i?.status===v9.Streaming||i?.role===_9.User)&&d(t,n,r)},m=()=>{var e;s==null||(e=s.abort)==null||e.call(s),s=null},h=function(){var t=A9(function*(t){return e.http.message?.stopChat(t)});return function(e){return t.apply(this,arguments)}}();return{info:r,isInfoLoading:i,isChatting:a,chat:f,handleRole:u,resendMessage:function(){var t=A9(function*(t,n,r,i,a){let o=e.message?.list.value||[],s=o.findIndex(e=>String(e.id)===t);if(s===-1)throw Error(`Message not found: ${t}`);let l=o[s];if(l.role!==_9.User)throw Error(`Can only resend user messages`);let u=l.content,f=l.property,p=r??u,m=o.slice(s),h=e.message?.deleteMessages(m),g=e.message?.createAndPlusMessage(j9({role:_9.User,content:p,status:v9.Complete,sessionCode:n},f&&{property:f}));d(n,i,a),Promise.all([h,g]).catch(e=>{console.error(`[resendMessage] API error:`,e)})});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),resumeStreamingChat:p,abortChat:m,stopChat:h,getAgentInfo:l,reset:e=>{o=e||new k9,r.value=null,i.value=!1}}};function oZt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function sZt(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){oZt(a,r,i,o,s,`next`,e)}function s(e){oZt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function M9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){M9(e,t,n[t])})}return e}function cZt(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 P9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):cZt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var lZt=class{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}constructor(){M9(this,`handlers`,[])}},uZt=class e{applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(L9(this.defaults,t||{}))}delete(e,t,n){return this.request(P9(N9({},n),{url:e,method:`DELETE`,params:t}))}get(e,t,n){return this.request(P9(N9({},n),{url:e,method:`GET`,params:t}))}head(e,t,n){return this.request(P9(N9({},n),{url:e,method:`HEAD`,params:t}))}options(e,t,n){return this.request(P9(N9({},n),{url:e,method:`OPTIONS`,params:t}))}patch(e,t,n){return this.request(P9(N9({},n),{url:e,method:`PATCH`,data:t}))}post(e,t,n){return this.request(P9(N9({},n),{url:e,method:`POST`,data:t}))}prepareRequest(e,t=!1){let n=L9(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=dZt(r,n.params);let i=I9(n.data),a=new Headers(I9(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i!=null&&(n.transformRequest?i=n.transformRequest(i,I9(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?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(P9(N9({},n),{url:e,method:`PUT`,data:t}))}request(e){var t=this;return sZt(function*(){let{url:n,fetchConfig:r,requestConfig:i,controller:a}=t.prepareRequest(e),o=i.timeout&&i.timeout>0?setTimeout(()=>a.abort(),i.timeout):void 0;try{let e=yield fetch(n,r);o&&clearTimeout(o);let a,s=i.responseType||`json`;try{switch(s){case`json`:a=yield e.json();break;case`text`:a=yield e.text();break;case`blob`:a=yield e.blob();break;case`arrayBuffer`:a=yield e.arrayBuffer();break;case`formData`:a=yield e.formData();break;default:a=yield e.json()}}catch{a=null}i.transformResponse&&(a=i.transformResponse(a));let l={data:a,status:e.status,statusText:e.statusText,headers:e.headers,config:i};if(!(i.validateStatus||t.defaults.validateStatus)(e.status))throw F9(l.data?.message||`Request failed with status code ${e.status}`,i,`ERR_BAD_RESPONSE`,l);let u=l;t.interceptors.response.forEach(e=>{if(e.fulfilled)try{u=e.fulfilled(u)}catch(t){throw e.rejected?e.rejected(t):t}}),u instanceof Promise&&(u=yield u);let d=u.data;if(![0,`success`].includes(d.code))throw F9(d.message,i,d.code,u);return d.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`){let e=F9(`Request timeout`,i,`ECONNABORTED`,void 0);throw t.applyResponseErrorInterceptors(e)}let n=e.isAxiosError===!0?e:F9(e.message,i,e.code,void 0);throw t.applyResponseErrorInterceptors(n)}})()}stream(e,t){return this.streamRequest(P9(N9({},t),{url:e}))}streamRequest(e){var t=this;return sZt(function*(){let{url:n,fetchConfig:r,requestConfig:i}=t.prepareRequest(e,!0);try{var a;let u=yield fetch(n,r);if(!(i.validateStatus||t.defaults.validateStatus)(u.status)){var o;let t=`Request failed with status code ${u.status}`;try{let e=yield u.json();e?.message&&(t=e.message)}catch{t=`Request failed with status code ${u.status}`}let n=F9(t,i,`ERR_BAD_RESPONSE`,void 0);(o=e.onError)==null||o.call(e,n);return}(a=e.onStart)==null||a.call(e);let d=u.body?.pipeThrough(new window.TextDecoderStream).getReader();if(!d){var s;let t=Error(`IResponse body is not readable`);(s=e.onError)==null||s.call(e,t);return}let f=``,p=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:t,done:n}=yield d.read();if(n){var l;(l=e.onDone)==null||l.call(e);break}(f+t.toString()).split(`
|
|
3045
|
+
`}),T=async()=>{if(i.sessionBusinessManager)try{await i.sessionBusinessManager.createNewSession()}catch(e){console.error(`Failed to create new session:`,e),jl({theme:`error`,message:h9(`创建会话失败`)})}a(`new-chat`)},E=e=>{e.stopPropagation(),i.sessionBusinessManager?(g||_(),g&&g.handleTriggerClick(e)):a(`history-click`,e)},D=()=>{a(`help-click`)},O=e=>{e.stopPropagation(),g&&g.isVisible()&&g.hide(),m&&(m.state.isVisible?m.hide():m.show())},k=e=>{e.stopPropagation(),e.preventDefault();let t=e.currentTarget,n=t.dataset.action;if(!t.classList.contains(`disabled`))switch(m&&m.hide(),n){case`rename`:A();break;case`auto-generate`:a(`auto-generate-name`);break;case`share`:a(`share`);break}},A=()=>{document.removeEventListener(`click`,P),f.value=i.sessionName||``,d.value=!0,setTimeout(()=>{document.addEventListener(`click`,P)},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)},j=()=>{let e=f.value.trim();if(!e){M();return}a(`rename`,e),d.value=!1,f.value=``},M=()=>{d.value=!1,f.value=``},N=(e,t)=>{f.value=e,t.key===`Enter`?j():t.key===`Escape`&&M()},P=e=>{if(!d.value)return;let t=e.target,n=document.querySelector(`.rename-tooltip`);n&&!n.contains(t)&&M()},F=async()=>{if(!u.value)return;let e=(await Promise.resolve().then(()=>(l9(),Dqt))).default;m&&=(m.destroy(),null),m=e(u.value,{content:w.value,theme:`ai-blueking-light more-menu-light light`,placement:`bottom-start`,trigger:`manual`,interactive:!0,allowHTML:!0,arrow:!1,offset:[0,4],appendTo:()=>document.querySelector(`.ai-blueking-panel`)||document.body,onShow:()=>{setTimeout(async()=>{let{default:e}=await Promise.resolve().then(()=>(l9(),Dqt));document.querySelectorAll(`.tippy-menu-item`).forEach(t=>{let n=t;n.addEventListener(`click`,k);let r=n.getAttribute(`data-tippy-content`);if(r&&!h.has(n)){let t=e(n,{content:r,theme:`ai-blueking-tooltip`,placement:`right`,trigger:`mouseenter focus`,arrow:!0,delay:[300,0]});h.set(n,t)}})},0)},onHide:()=>{document.querySelectorAll(`.tippy-menu-item`).forEach(e=>{let t=e;t.removeEventListener(`click`,k);let n=h.get(t);n&&(n.destroy(),h.delete(t))})}})};return(0,t.watch)(()=>[i.isCompressionHeight,i.hasSessionContents],()=>{m&&m.setContent(w.value)}),(0,t.onMounted)(()=>{F(),i.sessionBusinessManager&&_(),document.addEventListener(`click`,P)}),(0,t.onBeforeUnmount)(()=>{m&&=(m.destroy(),null),h.forEach(e=>{e.destroy()}),h.clear(),g&&=(g.destroy(),null),document.removeEventListener(`click`,P)}),n({headerRef:s,historyIconRef:l}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`headerRef`,ref:s,class:(0,t.normalizeClass)([`ai-header drag-handle`,{draggable:i.draggable}])},[(0,t.createElementVNode)(`div`,LXt,[(0,t.createElementVNode)(`div`,RXt,[(0,t.createElementVNode)(`img`,{alt:`logo`,src:(0,t.unref)(oXt)},null,8,zXt)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`title`,{"title-with-tooltip":d.value}])},[(0,t.createTextVNode)((0,t.toDisplayString)(v.value)+` `,1),(0,t.createCommentVNode)(` 重命名 tooltip 直接绑定在 title 上 `),d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,BXt,[(0,t.createElementVNode)(`div`,VXt,[(0,t.createVNode)((0,t.unref)(Ic),{ref_key:`renameInputRef`,ref:p,modelValue:f.value,"onUpdate:modelValue":r[0]||=e=>f.value=e,class:`rename-input`,placeholder:(0,t.unref)(h9)(`请输入新的会话名称`),onKeyup:N},null,8,[`modelValue`,`placeholder`]),(0,t.createElementVNode)(`div`,{class:`rename-buttons`},[(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-check-1 rename-btn confirm-btn`,onClick:j}),(0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close rename-btn cancel-btn`,onClick:M})])])])):(0,t.createCommentVNode)(`v-if`,!0)],2),i.showMoreIcon&&x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,ref_key:`moreIconRef`,ref:u,class:`bkai-icon bkai-more`,onClick:O},null,512)):(0,t.createCommentVNode)(`v-if`,!0)]),(0,t.createElementVNode)(`div`,HXt,[(0,t.createCommentVNode)(` 新增会话按钮 `),i.showNewChatIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:0,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-xinzengliaotian`,{disabled:!x.value}]),style:(0,t.normalizeStyle)(C()),onClick:r[1]||=e=>x.value?T():void 0},null,6)),[[(0,t.unref)(o),{content:S((0,t.unref)(h9)(`新增会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 历史会话按钮 `),i.showHistoryIcon&&e.enableChatSession!==!1?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:1,ref_key:`historyIconRef`,ref:l,class:(0,t.normalizeClass)([`bkai-icon`,`bkai-history`,{disabled:!x.value}]),style:(0,t.normalizeStyle)(C()),onClick:r[2]||=e=>x.value?E(e):void 0},null,6)),[[(0,t.unref)(o),{content:S((0,t.unref)(h9)(`历史会话`)),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),e.chatGroup?.enabled?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:2,class:`bkai-icon bkai-zhushou`,onClick:D},null,512)),[[(0,t.unref)(o),{content:(0,t.unref)(h9)(`转人工`),boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),i.showCompressionIcon?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:3,class:(0,t.normalizeClass)([`bkai-icon`,y.value]),onClick:r[3]||=e=>a(`toggle-compression`)},null,2)),[[(0,t.unref)(o),{content:b.value,boundary:`parent`}]]):(0,t.createCommentVNode)(`v-if`,!0),(0,t.withDirectives)((0,t.createElementVNode)(`i`,{class:`bkai-icon bkai-close-line-2`,onClick:r[4]||=e=>a(`close`)},null,512),[[(0,t.unref)(o),{content:(0,t.unref)(h9)(`关闭`),boundary:`parent`}]])])],2))}}),[[`__scopeId`,`data-v-049cc46a`]]);let WXt=e=>{var t;return{conversationSettings:{openingRemark:e?.conversation_settings?.opening_remark,predefinedQuestions:e?.conversation_settings?.predefined_questions,commands:e==null||(t=e.conversation_settings)==null?void 0:t.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})),enableChatSession:e?.conversation_settings?.enable_chat_session},promptSetting:e?.prompt_setting,agentName:e?.agent_name,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}};var g9;(function(e){e.KnowledgeRag=`knowledge_rag`,e.ReferenceDocument=`reference_document`})(g9||={});var _9;(function(e){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`})(_9||={});var v9;(function(e){e.Complete=`complete`,e.Error=`error`,e.Pending=`pending`,e.Stop=`stop`,e.Streaming=`streaming`})(v9||={});var y9;(function(e){e.Binary=`binary`,e.Function=`function`,e.Text=`text`})(y9||={});function GXt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){GXt(e,t,n[t])})}return e}function KXt(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 x9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):KXt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let S9=e=>{let 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 _9.Activity:{let n=e;return x9(b9({},t),{activityType:n.activity_type,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url})):{content:n.content.content,referenceDocument:n.content.reference_document.map(e=>({name:e.name,originFileUrl:e.origin_file_url,url:e.url}))},role:n.role})}case _9.Assistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role,toolCalls:n.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 _9.Developer:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Guide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Hidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Info:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Pause:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Placeholder:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Reasoning:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,role:n.role})}case _9.System:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateHidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Tool:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,toolCallId:n.tool_call_id})}case _9.User:{let n=e,r=n.content;return x9(b9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===y9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mimeType:t.mime_type,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},qXt=e=>{let 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 _9.Activity:{let n=e;return x9(b9({},t),{activity_type:n.activityType,content:Array.isArray(n.content)?n.content.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url})):{content:n.content.content,reference_document:n.content.referenceDocument.map(e=>({name:e.name,origin_file_url:e.originFileUrl,url:e.url}))},role:n.role})}case _9.Assistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role,tool_calls:n.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 _9.Developer:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Guide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Hidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.HiddenUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Info:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Pause:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Placeholder:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Reasoning:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,role:n.role})}case _9.System:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateAssistant:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateGuide:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateHidden:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateSystem:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.TemplateUser:{let n=e;return x9(b9({},t),{content:n.content,role:n.role})}case _9.Tool:{let n=e;return x9(b9({},t),{content:n.content,duration:n.duration,error:n.error,role:n.role,tool_call_id:n.toolCallId})}case _9.User:{let n=e,r=n.content;return x9(b9({},t),{content:Array.isArray(r)?r.map(e=>{if(e.type===y9.Binary){let t=e;return{data:t.data,filename:t.filename,id:t.id,mime_type:t.mimeType,type:t.type,url:t.url}}return e}):r,property:n.property,role:n.role})}}},C9=e=>({sessionCode:e.session_code,sessionContentCount:e.session_content_count,sessionName:e.session_name,isTemporary:e.is_temporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updatedAt:e.updated_at,createdAt:e.created_at,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}}),JXt=e=>({session_code:e.sessionCode,session_content_count:e.sessionContentCount,session_name:e.sessionName,is_temporary:e.isTemporary,model:e.model,comment:e.comment,labels:e.labels,rate:e.rate,updated_at:e.updatedAt,created_at:e.createdAt,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}}),YXt=e=>({session_code:e.sessionCode,session_content_ids:e.sessionContentIds,rate:e.rate,comment:e.comment,labels:e.labels}),XXt=e=>({sessionCode:e.session_code,sessionContentIds:e.session_content_ids,rate:e.rate,comment:e.comment,labels:e.lables});function ZXt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function w9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){ZXt(a,r,i,o,s,`next`,e)}function s(e){ZXt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function QXt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){QXt(e,t,n[t])})}return e}function $Xt(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 eZt(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):$Xt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var tZt=()=>`temp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`;let nZt=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(!1);return{list:n,isListLoading:r,isDeleteLoading:i,getMessages:t=>(r.value=!0,e.http?.message.getMessages(t).then(e=>{n.value=e}).finally(()=>{r.value=!1})),getCurrentLoadingMessage:()=>n.value.findLast(e=>[v9.Pending,v9.Streaming].includes(e.status)),getMessageByMessageId:e=>n.value.find(t=>t.messageId===e),modifyMessage:e=>{n.value=n.value.map(t=>t.messageId===e.messageId?e:t)},plusMessage:e=>{n.value.push(e)},createAndPlusMessage:function(){var t=w9(function*(t){let r=tZt(),i=eZt(T9({},t),{id:r,messageId:r});n.value.push(i);try{let i=yield e.http?.message.plusMessage(t);if(i){let e=n.value.findIndex(e=>e.messageId===r);if(e!==-1){let r=T9({},i,`property`in t&&t.property?{property:t.property}:{});n.value[e]=r}}}catch(e){let t=n.value.findIndex(e=>e.messageId===r);throw t!==-1&&(n.value[t]=eZt(T9({},n.value[t]),{status:v9.Error})),e}});return function(e){return t.apply(this,arguments)}}(),deleteMessages:function(){var t=w9(function*(t){let r=t.reduce((e,t)=>(t.role===_9.User&&e.push(t.id),e),[]);if(r.length<=0)return;let a=[...n.value];n.value=n.value.filter(e=>!t.includes(e)),i.value=!0;try{yield e.http?.message.batchDeleteMessages(r)}catch(e){throw n.value=a,e}finally{i.value=!1}});return function(e){return t.apply(this,arguments)}}(),shareMessages:function(){var t=w9(function*(t,n,r){let i=n.reduce((e,t)=>(t.role===_9.User&&e.push(t.id),e),[]);if(!(i.length<=0))return e.http?.message.shareMessages(t,i,r)});return function(e,n,r){return t.apply(this,arguments)}}(),reset:()=>{n.value=[],r.value=!1,i.value=!1}}};var E9;(function(e){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`})(E9||={});var D9;(function(e){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`})(D9||={});function O9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k9=class{handleActivityDeltaEvent(e){}handleActivitySnapshotEvent(e){}handleCustomEvent(e){switch(e.name){case E9.ReferenceDocument:this.handleReferenceDocumentCustomEvent(e);break;case E9.KnowledgeRagStart:this.handleKnowledgeRagStartCustomEvent(e);break;case E9.KnowledgeRagTextContent:this.handleKnowledgeRagTextContentCustomEvent(e);break;case E9.KnowledgeRagResult:this.handleKnowledgeRagResultCustomEvent(e);break;case E9.KnowledgeRagEnd:this.handleKnowledgeRagEndCustomEvent(e);break;default:break}}handleKnowledgeRagEndCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Activity&&t.activityType===g9.KnowledgeRag&&(t.status=v9.Complete)}handleKnowledgeRagResultCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Activity&&t.activityType===g9.KnowledgeRag&&(t.content.referenceDocument=e.value)}handleKnowledgeRagStartCustomEvent(e){this.messageModule.plusMessage({role:_9.Activity,activityType:g9.KnowledgeRag,content:{content:``,referenceDocument:[]},status:v9.Streaming})}handleKnowledgeRagTextContentCustomEvent(e){let t=this.messageModule.getCurrentLoadingMessage();if(t&&t.role===_9.Activity&&t.activityType===g9.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(S9))}handleRawEvent(e){}handleReferenceDocumentCustomEvent(e){this.messageModule.plusMessage({role:_9.Activity,activityType:g9.ReferenceDocument,content:e.value,status:v9.Complete})}handleRunErrorEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=v9.Complete),this.messageModule.plusMessage({role:_9.Assistant,content:e.message,status:v9.Error})}handleRunFinishedEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&(t.status=v9.Complete)}handleRunStartedEvent(e){}handleStateDeltaEvent(e){}handleStateSnapshotEvent(e){}handleStepFinishedEvent(e){}handleStepStartedEvent(e){}handleTextMessageChunkEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t?t.content+=e.delta||``:this.messageModule.plusMessage({role:e.role,content:e.delta||``,status:v9.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=v9.Complete)}handleTextMessageStartEvent(e){this.messageModule.plusMessage({role:e.role,content:``,status:v9.Streaming,messageId:e.messageId})}handleThinkingEndEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&(t.duration=e.duration,t.status=v9.Complete)}handleThinkingStartEvent(e){this.messageModule.plusMessage({role:_9.Reasoning,content:[],status:v9.Streaming})}handleThinkingTextMessageContentEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&(t.content[t.content.length-1]+=e.delta)}handleThinkingTextMessageEndEvent(e){}handleThinkingTextMessageStartEvent(e){let t=this.messageModule.getCurrentLoadingMessage();t&&t.role===_9.Reasoning&&t.content.push(``)}handleToolCallArgsEvent(e){this.messageModule.list.value.forEach(t=>{t.role===_9.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===_9.Assistant&&t.toolCalls&&t.toolCalls.some(t=>t.id===e.toolCallId)&&(t.status=v9.Complete)})}handleToolCallResultEvent(e){this.messageModule.plusMessage({role:_9.Tool,content:e.content,duration:e.duration,status:v9.Complete,toolCallId:e.toolCallId,messageId:e.messageId})}handleToolCallStartEvent(e){this.messageModule.plusMessage({role:_9.Assistant,content:``,status:v9.Streaming,toolCalls:[{id:e.toolCallId,type:y9.Function,function:{mcpName:e.mcpName,name:e.toolCallName,arguments:``,description:e.description}}]})}injectMessageModule(e){this.messageModule=e}onDone(){var e,t;(e=(t=this).onDoneCallback)==null||e.call(t)}onError(e){var t,n;this.messageModule.plusMessage({role:_9.Assistant,content:e.error?.message,status:v9.Error}),(t=(n=this).onErrorCallback)==null||t.call(n,e)}onMessage(e){var t,n;let r=e;switch((t=(n=this).onMessageCallback)==null||t.call(n,r),r.type){case D9.ActivityDelta:this.handleActivityDeltaEvent(r);break;case D9.ActivitySnapshot:this.handleActivitySnapshotEvent(r);break;case D9.Custom:this.handleCustomEvent(r);break;case D9.MessagesSnapshot:this.handleMessagesSnapshotEvent(r);break;case D9.Raw:this.handleRawEvent(r);break;case D9.RunError:this.handleRunErrorEvent(r);break;case D9.RunFinished:this.handleRunFinishedEvent(r);break;case D9.RunStarted:this.handleRunStartedEvent(r);break;case D9.StateDelta:this.handleStateDeltaEvent(r);break;case D9.StateSnapshot:this.handleStateSnapshotEvent(r);break;case D9.StepFinished:this.handleStepFinishedEvent(r);break;case D9.StepStarted:this.handleStepStartedEvent(r);break;case D9.TextMessageChunk:this.handleTextMessageChunkEvent(r);break;case D9.TextMessageContent:this.handleTextMessageContentEvent(r);break;case D9.TextMessageEnd:this.handleTextMessageEndEvent(r);break;case D9.TextMessageStart:this.handleTextMessageStartEvent(r);break;case D9.ThinkingEnd:this.handleThinkingEndEvent(r);break;case D9.ThinkingStart:this.handleThinkingStartEvent(r);break;case D9.ThinkingTextMessageContent:this.handleThinkingTextMessageContentEvent(r);break;case D9.ThinkingTextMessageEnd:this.handleThinkingTextMessageEndEvent(r);break;case D9.ThinkingTextMessageStart:this.handleThinkingTextMessageStartEvent(r);break;case D9.ToolCallArgs:this.handleToolCallArgsEvent(r);break;case D9.ToolCallChunk:this.handleToolCallChunkEvent(r);break;case D9.ToolCallEnd:this.handleToolCallEndEvent(r);break;case D9.ToolCallResult:this.handleToolCallResultEvent(r);break;case D9.ToolCallStart:this.handleToolCallStartEvent(r);break;default:break}}onStart(){var e,t;(e=(t=this).onStartCallback)==null||e.call(t)}constructor(e){O9(this,`messageModule`,void 0),O9(this,`onDoneCallback`,void 0),O9(this,`onErrorCallback`,void 0),O9(this,`onMessageCallback`,void 0),O9(this,`onStartCallback`,void 0),this.onDoneCallback=e?.onDone,this.onErrorCallback=e?.onError,this.onMessageCallback=e?.onMessage,this.onStartCallback=e?.onStart}};function rZt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function A9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){rZt(a,r,i,o,s,`next`,e)}function s(e){rZt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function iZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){iZt(e,t,n[t])})}return e}let aZt=(e,n)=>{let r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=n||new k9,s=null,l=()=>(i.value=!0,e.http?.agent.getAgentInfo().then(e=>{r.value=e}).finally(()=>{i.value=!1})),u=t=>{let n=t.promptSetting?.content?.at(-1);if(n?.role===_9.Pause){var r;(r=e.message)==null||r.createAndPlusMessage({role:_9.Assistant,content:n.content,status:v9.Complete})}},d=function(){var t=A9(function*(t,n,r){var i;o instanceof k9&&o.injectMessageModule(e.message),s=new AbortController,(i=e.http)==null||i.fetchClient.streamRequest(j9({url:n||`chat_completion/`,method:`POST`,data:{session_code:t},controller:s,onDone:()=>{var e;a.value=!1,(e=o.onDone)==null||e.call(o)},onError:e=>{var t;a.value=!1,(t=o.onError)==null||t.call(o,e)},onMessage:e=>{var t;(t=o.onMessage)==null||t.call(o,e)},onStart:()=>{var e;a.value=!0,(e=o.onStart)==null||e.call(o)}},r))});return function(e,n,r){return t.apply(this,arguments)}}(),f=function(){var t=A9(function*(t,n,r,i,a){yield e.message?.createAndPlusMessage(j9({role:_9.User,content:t,status:v9.Complete,sessionCode:n},a&&{property:a})),d(n,r,i)});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),p=(t,n,r)=>{let i=e.message?.list.value.at(-1);(i?.status===v9.Streaming||i?.role===_9.User)&&d(t,n,r)},m=()=>{var e;s==null||(e=s.abort)==null||e.call(s),s=null},h=function(){var t=A9(function*(t){return e.http.message?.stopChat(t)});return function(e){return t.apply(this,arguments)}}();return{info:r,isInfoLoading:i,isChatting:a,chat:f,handleRole:u,resendMessage:function(){var t=A9(function*(t,n,r,i,a){let o=e.message?.list.value||[],s=o.findIndex(e=>String(e.id)===t);if(s===-1)throw Error(`Message not found: ${t}`);let l=o[s];if(l.role!==_9.User)throw Error(`Can only resend user messages`);let u=l.content,f=l.property,p=r??u,m=o.slice(s),h=e.message?.deleteMessages(m),g=e.message?.createAndPlusMessage(j9({role:_9.User,content:p,status:v9.Complete,sessionCode:n},f&&{property:f}));d(n,i,a),Promise.all([h,g]).catch(e=>{console.error(`[resendMessage] API error:`,e)})});return function(e,n,r,i,a){return t.apply(this,arguments)}}(),resumeStreamingChat:p,abortChat:m,stopChat:h,getAgentInfo:l,reset:e=>{o=e||new k9,r.value=null,i.value=!1}}};function oZt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function sZt(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){oZt(a,r,i,o,s,`next`,e)}function s(e){oZt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function M9(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N9(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){M9(e,t,n[t])})}return e}function cZt(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 P9(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):cZt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var lZt=class{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}constructor(){M9(this,`handlers`,[])}},uZt=class e{applyResponseErrorInterceptors(e){let t=e;return this.interceptors.response.forEach(e=>{e.rejected&&(t=e.rejected(t))}),t}create(t){return new e(L9(this.defaults,t||{}))}delete(e,t,n){return this.request(P9(N9({},n),{url:e,method:`DELETE`,params:t}))}get(e,t,n){return this.request(P9(N9({},n),{url:e,method:`GET`,params:t}))}head(e,t,n){return this.request(P9(N9({},n),{url:e,method:`HEAD`,params:t}))}options(e,t,n){return this.request(P9(N9({},n),{url:e,method:`OPTIONS`,params:t}))}patch(e,t,n){return this.request(P9(N9({},n),{url:e,method:`PATCH`,data:t}))}post(e,t,n){return this.request(P9(N9({},n),{url:e,method:`POST`,data:t}))}prepareRequest(e,t=!1){let n=L9(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=dZt(r,n.params);let i=I9(n.data),a=new Headers(I9(n.headers));t&&!a.has(`Accept`)&&a.set(`Accept`,`text/event-stream`),i!=null&&(n.transformRequest?i=n.transformRequest(i,I9(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?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(P9(N9({},n),{url:e,method:`PUT`,data:t}))}request(e){var t=this;return sZt(function*(){let{url:n,fetchConfig:r,requestConfig:i,controller:a}=t.prepareRequest(e),o=i.timeout&&i.timeout>0?setTimeout(()=>a.abort(),i.timeout):void 0;try{let e=yield fetch(n,r);o&&clearTimeout(o);let a,s=i.responseType||`json`;try{switch(s){case`json`:a=yield e.json();break;case`text`:a=yield e.text();break;case`blob`:a=yield e.blob();break;case`arrayBuffer`:a=yield e.arrayBuffer();break;case`formData`:a=yield e.formData();break;default:a=yield e.json()}}catch{a=null}i.transformResponse&&(a=i.transformResponse(a));let l={data:a,status:e.status,statusText:e.statusText,headers:e.headers,config:i};if(!(i.validateStatus||t.defaults.validateStatus)(e.status))throw F9(l.data?.message||`Request failed with status code ${e.status}`,i,`ERR_BAD_RESPONSE`,l);let u=l;t.interceptors.response.forEach(e=>{if(e.fulfilled)try{u=e.fulfilled(u)}catch(t){throw e.rejected?e.rejected(t):t}}),u instanceof Promise&&(u=yield u);let d=u.data;if(![0,`success`].includes(d.code))throw F9(d.message,i,d.code,u);return d.data}catch(e){if(o&&clearTimeout(o),e instanceof Error&&e.name===`AbortError`){let e=F9(`Request timeout`,i,`ECONNABORTED`,void 0);throw t.applyResponseErrorInterceptors(e)}let n=e.isAxiosError===!0?e:F9(e.message,i,e.code,void 0);throw t.applyResponseErrorInterceptors(n)}})()}stream(e,t){return this.streamRequest(P9(N9({},t),{url:e}))}streamRequest(e){var t=this;return sZt(function*(){let{url:n,fetchConfig:r,requestConfig:i}=t.prepareRequest(e,!0);try{var a;let u=yield fetch(n,r);if(!(i.validateStatus||t.defaults.validateStatus)(u.status)){var o;let t=`Request failed with status code ${u.status}`;try{let e=yield u.json();e?.message&&(t=e.message)}catch{t=`Request failed with status code ${u.status}`}let n=F9(t,i,`ERR_BAD_RESPONSE`,void 0);(o=e.onError)==null||o.call(e,n);return}(a=e.onStart)==null||a.call(e);let d=u.body?.pipeThrough(new window.TextDecoderStream).getReader();if(!d){var s;let t=Error(`IResponse body is not readable`);(s=e.onError)==null||s.call(e,t);return}let f=``,p=e=>{try{return JSON.parse(e),!0}catch{return!1}};for(;;){let{value:t,done:n}=yield d.read();if(n){var l;(l=e.onDone)==null||l.call(e);break}(f+t.toString()).split(`
|
|
3046
3046
|
`).forEach(t=>{let n=t.replace(`data:`,``).trim();if(p(n)){var r;let t=JSON.parse(n);(r=e.onMessage)==null||r.call(e,t),f=``}else n&&(f=n)})}}catch(t){if(t instanceof Error)if(t.name===`AbortError`){var u;(u=e.onDone)==null||u.call(e)}else{var d;(d=e.onError)==null||d.call(e,t)}throw t}})()}constructor(e={}){M9(this,`defaults`,void 0),M9(this,`interceptors`,void 0),this.defaults=L9({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 lZt,response:new lZt}}};function dZt(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 F9(e,t,n,r){let i=Error(e);return i.config=t,i.code=String(n),i.response=r,i.isAxiosError=!0,i}function I9(e){return typeof e==`function`?e():e}function fZt(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function L9(e,t){let n=N9({},e);for(let r in t){let i=t[r];if(fZt(i)){let t=e[r];n[r]=L9(t||{},i)}else n[r]=i}return n}new uZt;let pZt=e=>{let t=new uZt({baseURL:e.requestData.urlPrefix});return 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(),e.interceptors?.request&&t.interceptors.request.use(e.interceptors.request),e.interceptors?.response&&t.interceptors.response.use(e.interceptors.response)}}},mZt=e=>({getAgentInfo:t=>e.get(`agent/info/`,void 0,t).then(WXt)});function hZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gZt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){hZt(e,t,n[t])})}return e}let _Zt=e=>({getMessages:(t,n,r)=>e.get(`session_content/content/`,{session_code:t,limit:n},r).then(e=>e.map(S9)),plusMessage:(t,n)=>e.post(`session_content/`,qXt(t),n).then(S9),modifyMessage:(t,n)=>e.put(`session_content/${t.id}/`,qXt(t),n).then(S9),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/`,gZt({session_code:t,content_ids:n},r?{expired_at:r}:{}),i),stopChat:(t,n)=>e.post(`session_content/stop/`,{session_code:t},n)});function vZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yZt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){vZt(e,t,n[t])})}return e}function bZt(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 xZt(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):bZt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let SZt=e=>({clearSession:(t,n)=>e.post(`chat_completion/${t}/clear/`,void 0,n),getSessions:t=>e.get(`session/`,void 0,t).then(e=>e.map(C9)),plusSession:(t,n)=>e.post(`session/`,JXt(t),n).then(e=>C9(e)),modifySession:(t,n)=>e.put(`session/${t.sessionCode}/`,JXt(t),n).then(e=>C9(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=>C9(e)),postSessionFeedback:(t,n)=>e.post(`session_feedback/`,YXt(t),n).then(e=>XXt(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=>C9(e)),uploadFile:(t,n,r)=>{let i=encodeURIComponent(n.name);return n.arrayBuffer().then(a=>e.post(`session/${t}/upload/${i}/`,a,xZt(yZt({},r),{headers:{"Content-Disposition":`attachment; filename="${n.name}"`}})))}}),CZt=e=>({agent:mZt(e),session:SZt(e),message:_Zt(e),fetchClient:e});function wZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function TZt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){wZt(e,t,n[t])})}return e}function EZt(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 DZt(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):EZt(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}let OZt=e=>{let{fetchClient:t,reset:n}=pZt(e);return DZt(TZt({},CZt(t)),{reset:n})},kZt=()=>({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}});function AZt(e,t,n,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){n(e);return}s.done?t(l):Promise.resolve(l).then(r,i)}function R9(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){AZt(a,r,i,o,s,`next`,e)}function s(e){AZt(a,r,i,o,s,`throw`,e)}o(void 0)})}}function jZt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function MZt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){jZt(e,t,n[t])})}return e}let NZt=e=>{let n=(0,t.ref)([]),r=(0,t.ref)(null),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=e=>{n.value=n.value.map(t=>t.sessionCode===e.sessionCode?MZt({},t,e):t),r.value?.sessionCode===e.sessionCode&&(r.value=n.value.find(t=>t.sessionCode===e.sessionCode)??r.value)},p=()=>(a.value=!0,e.http?.session.getSessions().then(e=>{n.value=e}).finally(()=>{a.value=!1})),m=function(){var t=R9(function*(t,i){var a;if((a=e.agent)==null||a.abortChat(),r.value=n.value.find(e=>e.sessionCode===t)??null,i?.loadMessages!==!1){var o;yield e.message?.getMessages(t),(o=e.agent)==null||o.resumeStreamingChat(t)}else e.message&&(e.message.list.value=[])});return function(e,n){return t.apply(this,arguments)}}();return{list:n,current:r,isCurrentLoading:i,isListLoading:a,isCreateLoading:o,isUpdateLoading:s,isDeleteLoading:l,isBatchDeleteLoading:u,getSessions:p,chooseSession:m,getSession:t=>(i.value=!0,e.http?.session.getSession(t).then(e=>{r.value=e}).finally(()=>{i.value=!1})),createSession:function(){var t=R9(function*(t,r){o.value=!0;try{let i=yield e.http?.session.plusSession(t);i&&(n.value.unshift(i),yield m(i.sessionCode,{loadMessages:r?.loadMessages??!1}))}finally{o.value=!1}});return function(e,n){return t.apply(this,arguments)}}(),updateSession:t=>(s.value=!0,e.http?.session.modifySession(t).then(e=>{f(e)}).finally(()=>{s.value=!1})),deleteSession:function(){var t=R9(function*(t){l.value=!0;try{yield e.http?.session.deleteSession(t),n.value=n.value.filter(e=>e.sessionCode!==t),r.value?.sessionCode===t&&n.value[0]?.sessionCode&&(yield m(n.value[0].sessionCode))}finally{l.value=!1}});return function(e){return t.apply(this,arguments)}}(),batchDeleteSessions:function(){var t=R9(function*(t){if(t.length!==0){u.value=!0;try{yield e.http?.session.batchDeleteSessions(t);let i=new Set(t);n.value=n.value.filter(e=>!i.has(e.sessionCode)),r.value&&i.has(r.value.sessionCode)&&(n.value.length>0?yield m(n.value[0].sessionCode):(r.value=null,e.message&&(e.message.list.value=[])))}finally{u.value=!1}}});return function(e){return t.apply(this,arguments)}}(),postSessionFeedback:t=>e.http?.session.postSessionFeedback(t),getSessionFeedbackReasons:t=>e.http?.session.getSessionFeedbackReasons(t),renameSession:t=>(d.value=!0,e.http?.session.renameSession(t).then(e=>{f({sessionCode:e.sessionCode,sessionName:e.sessionName})}).finally(()=>{d.value=!1})),uploadFile:(t,n)=>e.http?.session.uploadFile(t,n),reset:()=>{n.value=[],r.value=null,i.value=!1,a.value=!1,o.value=!1,s.value=!1,l.value=!1,u.value=!1,d.value=!1}}},z9=e=>{let t=kZt(),n=OZt(e),r=aZt(t,e.protocol),i=nZt(t),a=NZt(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()}}};var PZt=class{_isGenerating;agentModule;config;eventEmitter;messageModule;sessionModule;autoRenameSessionIfNeeded(e){this.sessionModule&&this.messageModule.list.value.length===1&&this.sessionModule.renameSession(e).catch(e=>{console.error(`[ChatBusinessManager] Auto rename session failed:`,e)})}emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,n,r=null,i=null,a={}){this.agentModule=e,this.messageModule=n,this.sessionModule=r,this.eventEmitter=i,this.config=a,this._isGenerating=(0,t.ref)(!1)}get isGenerating(){return this._isGenerating}get isMessagesLoading(){return this.messageModule.isListLoading}get messages(){return this.messageModule.list}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=m9(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!==_9.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.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!==_9.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.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.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}}stopGeneration(){try{let e=this.sessionModule?.current?.value?.sessionCode??``;this.agentModule.stopChat(e),this._isGenerating.value=!1,this.emit(`stop`,{})}catch(e){console.error(`Failed to stop generation:`,e),this.emit(`chat-error`,{action:`stop`,error:e})}}},B9=class{agentModule;config;eventEmitter;sessionModule;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e,t=null,n=null,r={}){this.sessionModule=e,this.agentModule=t,this.eventEmitter=n,this.config=r}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 isUpdateLoading(){return this.sessionModule.isUpdateLoading}get sessionList(){return this.sessionModule.list}async createNewSession(){return this.createSession({name:`新会话`,sessionCode:`new_session_${Date.now()}`})}async createSession(e={}){if(this.config.enableChatSession===!1)throw Error(`Chat session is disabled`);try{let t={sessionName:e.name||`新会话`,sessionCode:e.sessionCode||`session_${Date.now()}`,isTemporary:e.isTemporary||!1};await this.sessionModule.createSession(t);let n=this.agentModule?.info.value;n&&this.agentModule?.handleRole(n),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}}async loadRecentSession(e){try{e?.skipLoadSessions||await this.loadSessions();let t=this.sessionList.value;if(this.config.initialSessionCode){await this.switchSession(this.config.initialSessionCode);return}if(t.length>0){let e=t[0];(e.sessionContentCount??0)>0?await this.createNewSession():await this.switchSession(e.sessionCode,{loadMessages:!1});return}await this.createNewSession()}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 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}}},FZt=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.filter(e=>e.role===`user`).map(e=>String(e.id))}}},V9=class{_agentShortcuts;_effectiveShortcuts;_propsShortcuts;eventEmitter;emit(e,t){this.eventEmitter?.emit(e,t)}constructor(e=null,n=[]){this._propsShortcuts=(0,t.ref)(n),this._agentShortcuts=(0,t.ref)([]),this.eventEmitter=e,this._effectiveShortcuts=(0,t.computed)(()=>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}},IZt=class{config;_panelVisible;_nimbusMinimized;_isDraggingOrResizing;_positionAndSize;_isCompressed;containerRef=null;listeners;onceListeners;debugMode;cleanupFunctions;constructor(e={}){this.config=e,this.listeners=new Map,this.onceListeners=new Map,this.debugMode=e.debug??!1,this.cleanupFunctions=[],this._panelVisible=(0,t.ref)(e.initialPanelVisible??!1),this._nimbusMinimized=(0,t.ref)(e.initialNimbusMinimized??!1),this._isDraggingOrResizing=(0,t.ref)(!1),this._isCompressed=(0,t.ref)(!1),this._positionAndSize=(0,t.ref)({x:0,y:0,width:400,height:window.innerHeight})}getConfig(){return this.config}get state(){return{panelVisible:this._panelVisible,nimbusMinimized:this._nimbusMinimized,isDraggingOrResizing:this._isDraggingOrResizing,positionAndSize:this._positionAndSize}}get panelVisible(){return this._panelVisible}get nimbusMinimized(){return this._nimbusMinimized}get isDraggingOrResizing(){return this._isDraggingOrResizing}get isCompressed(){return this._isCompressed}get panel(){return{show:this.showPanel.bind(this),hide:this.hidePanel.bind(this),toggle:this.togglePanel.bind(this),isVisible:(0,t.computed)(()=>this._panelVisible.value)}}showPanel(e){this._panelVisible.value=!0,this.emit(`panel-show`,{sessionCode:e})}hidePanel(){this._panelVisible.value=!1,this.emit(`panel-hide`,{})}togglePanel(){this._panelVisible.value?this.hidePanel():this.showPanel()}get nimbus(){return{minimize:this.minimizeNimbus.bind(this),restore:this.restoreNimbus.bind(this),toggle:this.toggleNimbus.bind(this),isMinimized:(0,t.computed)(()=>this._nimbusMinimized.value)}}minimizeNimbus(){this._nimbusMinimized.value=!0,this.emit(`nimbus-minimize`,{})}restoreNimbus(){this._nimbusMinimized.value=!1,this.emit(`nimbus-restore`,{})}toggleNimbus(){this._nimbusMinimized.value?this.restoreNimbus():this.minimizeNimbus()}handleNimbusClick(){this.emit(`nimbus-click`,{}),this.showPanel()}get container(){return{updatePosition:this.updatePosition.bind(this),updateSize:this.updateSize.bind(this),updatePositionAndSize:this.updatePositionAndSize.bind(this),toggleCompression:this.toggleCompression.bind(this),positionAndSize:(0,t.computed)(()=>this._positionAndSize.value),isCompressed:(0,t.computed)(()=>this._isCompressed.value)}}updatePosition(e,t){this._positionAndSize.value={...this._positionAndSize.value,x:e,y:t}}updateSize(e,t){this._positionAndSize.value={...this._positionAndSize.value,width:e,height:t}}updatePositionAndSize(e,t,n,r){this._positionAndSize.value={x:e,y:t,width:n,height:r}}setContainerRef(e){this.containerRef=e,e?.isCompressed&&(this._isCompressed.value=e.isCompressed.value)}setCompressed(e){this._isCompressed.value=e}toggleCompression(){this.containerRef?this.containerRef.toggleCompression():this._isCompressed.value=!this._isCompressed.value}setDraggingOrResizing(e){this._isDraggingOrResizing.value=e}handleDragging(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`dragging`,e)}handleResizing(e){this._isDraggingOrResizing.value=!0,this._positionAndSize.value=e,this.emit(`resizing`,e)}handleDragStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`drag-stop`,e)}handleResizeStop(e){this._isDraggingOrResizing.value=!1,this._positionAndSize.value=e,this.emit(`resize-stop`,e)}handlePopupClick(){this.emit(`popup-click`,{}),this.showPanel()}handlePopupShortcutClick(e){this.emit(`popup-shortcut-click`,{shortcut:e}),this.emit(`shortcut-click`,{shortcut:e,source:`popup`})}handleShortcutClick(e,t){this.emit(`shortcut-click`,{shortcut:e,source:t})}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)}}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}"`))}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)}listenerCount(e){return(this.listeners.get(e)?.size??0)+(this.onceListeners.get(e)?.size??0)}hasListeners(e){return this.listenerCount(e)>0}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)}setDebugMode(e){this.debugMode=e}destroy(){this.listeners.clear(),this.onceListeners.clear(),this.cleanupFunctions.forEach(e=>e()),this.cleanupFunctions=[],this.debugMode&&console.debug(`[ComponentManager] Destroyed`)}};function LZt(e){return new IZt(e)}let RZt={"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,"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`,"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 zZt(e,t){switch(e){case`send-message`:return[t.content];case`rename`:return[t.newName];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`: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 BZt=class{_selectedMessageIds;_isSelectionMode;_editingSessionCode;_loadingStates;constructor(){this._selectedMessageIds=(0,t.ref)(new Set),this._isSelectionMode=(0,t.ref)(!1),this._editingSessionCode=(0,t.ref)(null),this._loadingStates=(0,t.reactive)({})}get isSelectionMode(){return this._isSelectionMode}get editingSessionCode(){return this._editingSessionCode}toggleSelectionMode(){this._isSelectionMode.value=!this._isSelectionMode.value,this._isSelectionMode.value||this.clearSelection()}enableSelectionMode(){this._isSelectionMode.value=!0}disableSelectionMode(){this._isSelectionMode.value=!1,this.clearSelection()}toggleMessageSelection(e){this._selectedMessageIds.value.has(e)?this._selectedMessageIds.value.delete(e):this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectMessage(e){this._selectedMessageIds.value.add(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}deselectMessage(e){this._selectedMessageIds.value.delete(e),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}isMessageSelected(e){return this._selectedMessageIds.value.has(e)}clearSelection(){this._selectedMessageIds.value.clear(),this._selectedMessageIds.value=new Set(this._selectedMessageIds.value)}selectAllMessages(e){this._selectedMessageIds.value=new Set(e)}get selectedMessages(){return Array.from(this._selectedMessageIds.value)}get selectedCount(){return this._selectedMessageIds.value.size}get hasSelection(){return this._selectedMessageIds.value.size>0}startEditingSession(e){this._editingSessionCode.value=e}stopEditingSession(){this._editingSessionCode.value=null}isEditingSession(e){return e?this._editingSessionCode.value===e:this._editingSessionCode.value!==null}setLoading(e,t){this._loadingStates[e]=t}isLoading(e){return this._loadingStates[e]??!1}clearLoadingStates(){Object.keys(this._loadingStates).forEach(e=>{this._loadingStates[e]=!1})}reset(){this.clearSelection(),this.disableSelectionMode(),this.stopEditingSession(),this.clearLoadingStates()}},VZt={class:`selection-footer`},HZt={class:`selection-footer-left`},UZt={class:`select-all-text`},WZt={class:`selection-footer-right`},GZt=p9((0,t.defineComponent)({__name:`selection-footer`,props:{isAllSelected:{type:Boolean},loading:{type:Boolean,default:!1},selectedCount:{}},emits:[`cancel`,`confirm`,`toggle-all`],setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,VZt,[(0,t.createElementVNode)(`div`,HZt,[(0,t.createVNode)((0,t.unref)(Uc),{"model-value":n.isAllSelected,"onUpdate:modelValue":r[0]||=t=>e.$emit(`toggle-all`,t)},null,8,[`model-value`]),(0,t.createElementVNode)(`span`,UZt,(0,t.toDisplayString)((0,t.unref)(h9)(`全选`)),1)]),(0,t.createElementVNode)(`div`,WZt,[(0,t.createVNode)((0,t.unref)(Tc),{disabled:n.loading,onClick:r[1]||=t=>e.$emit(`cancel`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h9)(`取消`)),1)]),_:1},8,[`disabled`]),(0,t.createVNode)((0,t.unref)(Tc),{disabled:n.selectedCount===0,loading:n.loading,theme:`primary`,onClick:r[2]||=t=>e.$emit(`confirm`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)((0,t.unref)(h9)(`确定`)),1)]),_:1},8,[`disabled`,`loading`])])]))}}),[[`__scopeId`,`data-v-3247bea6`]]),KZt={key:0,class:`chatbot-error`},qZt={class:`chatbot-loading`},JZt={key:0,class:`chatbot-welcome`},YZt={class:`welcome-content`},XZt={key:0,class:`welcome-remark`},ZZt={key:0,class:`chatbot-loading`},QZt={key:3,class:`chatbot-input`},$Zt=(0,t.defineComponent)({__name:`chat-bot`,props:{autoLoad:{type:Boolean,default:!0},chatHelper:{default:void 0},enableSelection:{type:Boolean,default:!1},extCls:{},height:{},helloText:{},maxWidth:{},messageToolsTippyOptions:{},placeholder:{},prompts:{},requestOptions:{},resources:{default:()=>[]},sessionCode:{},shareLoading:{type:Boolean,default:!1},shortcutLimit:{default:10},shortcuts:{default:()=>[]},url:{default:``}},emits:[`agent-info-loaded`,`cancel-share`,`confirm-share`,`error`,`feedback`,`receive-end`,`receive-start`,`receive-text`,`request-share`,`send-message`,`session-switched`,`shortcut-click`,`stop`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(),s=(0,t.ref)(),l=(0,t.ref)(null),u=(0,t.shallowRef)([]),d=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.ref)(!1),m=(0,t.ref)(null),h=()=>i.chatHelper?!i.chatHelper.agent||!i.chatHelper.session||!i.chatHelper.message?{valid:!1,error:`[ChatBot] Invalid chatHelper: missing required modules (agent, session, message)`}:{valid:!0}:i.url?{valid:!0}:{valid:!1,error:`[ChatBot] Neither chatHelper nor url provided. Component requires at least one.`},v=(()=>{let e=h();if(!e.valid)return console.error(e.error),m.value=Error(e.error),null;if(i.chatHelper)return i.chatHelper;let t=new k9({onStart:()=>{a(`receive-start`)},onMessage:e=>{a(`receive-text`)},onDone:()=>{a(`receive-end`),de()},onError:e=>{a(`error`,e)}}),n=z9({requestData:{urlPrefix:fXt(i.url),headers:i.requestOptions?.headers,data:i.requestOptions?.data},protocol:t});return t.injectMessageModule(n.message),n})(),y=(0,t.computed)(()=>((i.chatHelper||v)?.agent)?.isChatting?.value?_.Streaming:_.Complete),b=(0,t.computed)(()=>y.value===_.Streaming?F7.Disabled:void 0),x=async(e,t)=>{if(e.id===`cite`){R.value=t.filter(e=>e.role!==g.Reasoning).map(e=>typeof e.content==`string`?e.content:JSON.stringify(e.content||``)).join(`
|
|
3047
3047
|
`),we();return}if(e.id===`rebuild`){await w(t);return}if(e.id===`delete`){await C(t);return}if(e.id===`share`){j&&(d.value=!0),a(`request-share`);return}if(e.id===`like`||e.id===`unlike`){let t=e.id===`like`?5:0;try{return await v?.session.getSessionFeedbackReasons(t)||[]}catch(e){return console.error(`[ChatBot] Failed to get feedback reasons:`,e),[]}}console.log(`handleAgentAction`,e,t)},S=async(e,t,n,r)=>{if(!v){console.error(`[ChatBot] Cannot submit feedback: chatHelper not initialized`);return}let i=v.session.current?.value?.sessionCode;if(!i){console.error(`[ChatBot] Cannot submit feedback: no active session`);return}let o=sXt(F?.messages.value||[],t[0]);if(o===void 0){console.error(`[ChatBot] Cannot submit feedback: no user message found`);return}let s=e.id===`like`?5:0;try{await v.session.postSessionFeedback({sessionCode:i,sessionContentIds:[o],rate:s,labels:n,comment:r}),a(`feedback`,e,t[0],n,r)}catch(e){console.error(`[ChatBot] Failed to submit feedback:`,e),a(`error`,e)}},C=async e=>{if(!F||!v){console.error(`[ChatBot] Cannot delete messages: chatBusinessManager not initialized`);return}try{let t=F.messages.value,n=m9(t,e[0]);if(!n){console.error(`[ChatBot] No user message found before AI messages`);return}let r=[n,...e];await v.message.deleteMessages(r)}catch(e){console.error(`[ChatBot] Failed to delete messages:`,e),a(`error`,e)}},w=async e=>{if(!F||!v){console.error(`[ChatBot] Cannot regenerate: chatBusinessManager not initialized`);return}let t=v.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot regenerate: no active session`);return}try{await F.regenerateFromAIMessages(e,t),de()}catch(e){console.error(`[ChatBot] Failed to regenerate:`,e),a(`error`,e)}},T=async(e,t)=>{if(e.id===`delete`){await k(t);return}if(e.id===`cite`){R.value=typeof t.content==`string`?t.content:JSON.stringify(t.content||``),we();return}console.log(`handleUserAction`,e,t)},E=async(e,t,n)=>{if(!v){console.error(`[ChatBot] Cannot edit message: chatHelper not initialized`);return}let r=v.session.current?.value?.sessionCode;if(!r){console.error(`[ChatBot] Cannot edit message: no active session`);return}let i=e.id;if(i===void 0){console.error(`[ChatBot] Cannot edit message: message has no id`);return}try{console.log(`handleUserInputConfirm`,i,r,t),await v.agent.resendMessage(String(i),r,t),de()}catch(e){console.error(`[ChatBot] Failed to edit and resend message:`,e),a(`error`,e)}},D=async(e,t)=>{if(!F||!v){console.error(`[ChatBot] Cannot edit shortcut message: chatHelper not initialized`);return}let n=v.session.current?.value?.sessionCode;if(!n){console.error(`[ChatBot] Cannot edit shortcut message: no active session`);return}let r=e.id;if(r===void 0){console.error(`[ChatBot] Cannot edit shortcut message: message has no id`);return}try{let i=O(e);if(!i){console.error(`[ChatBot] Cannot edit shortcut message: shortcut not found`);return}let a=ye(i,t),o=String(t.input??``);await F.resendMessageWithProperty(String(r),n,o,a),de()}catch(e){console.error(`[ChatBot] Failed to edit shortcut message:`,e),a(`error`,e)}},O=e=>{let t=e.property?.extra;return t?.shortcut?t.shortcut:t?.command?ue.value.find(e=>e.id===t.command)??null:null},k=async e=>{if(!F||!v){console.error(`[ChatBot] Cannot delete message: chatHelper not initialized`);return}try{let t=F.messages.value,n=t.findIndex(t=>t===e);if(n===-1){console.error(`[ChatBot] User message not found in messages list`);return}let r=[];for(let e=n+1;e<t.length;e++){let n=t[e];if(n.role===g.User)break;r.push(n)}let i=[e,...r];await v.message.deleteMessages(i)}catch(e){console.error(`[ChatBot] Failed to delete user message:`,e),a(`error`,e)}},A=async()=>{((i.chatHelper||v)?.agent)?.stopChat?.(v?.session.current?.value?.sessionCode??``)},j=!i.chatHelper,M=(0,t.computed)(()=>j?d.value:i.enableSelection),N=(0,t.computed)(()=>j?f.value:i.shareLoading),P=v?new B9(v.session,v.agent,null,{enableChatSession:!0,autoSwitchToInitialSession:!!i.sessionCode,loadRecentSessionOnMount:i.autoLoad,initialSessionCode:i.sessionCode}):null,F=v?new PZt(v.agent,v.message,v.session,null,{openingRemark:i.helloText,predefinedQuestions:i.prompts,placeholder:i.placeholder}):null,I=new V9(null,i.shortcuts||[]),L=(0,t.shallowRef)([[]]),R=(0,t.ref)(``),ee=(0,t.computed)(()=>F?.messages.value??[]),z=(0,t.computed)(()=>F?.isMessagesLoading.value??!1),B=(0,t.computed)(()=>F?.isGenerating.value??!1),V=(0,t.computed)(()=>P?.currentSession.value??null),te=(0,t.computed)(()=>j&&!p.value?!1:!z.value&&ee.value.length===0),ne=(0,t.computed)(()=>v?.agent.info.value?.conversationSettings?.openingRemark||``),re=(0,t.computed)(()=>i.resources?.length?i.resources:lXt(v?.agent.info.value?.resources)),ie=(0,t.computed)(()=>i.prompts?.length?i.prompts:v?.agent.info.value?.conversationSettings?.predefinedQuestions??[]),ae=(0,t.computed)(()=>({height:typeof i.height==`number`?`${i.height}px`:i.height,maxWidth:typeof i.maxWidth==`number`?`${i.maxWidth}px`:i.maxWidth})),H=(0,t.computed)(()=>{let e=I.shortcuts.value;return i.shortcutLimit&&e.length>i.shortcutLimit?e.slice(0,i.shortcutLimit):e}),oe=()=>{u.value=[],j&&(d.value=!1),a(`cancel-share`)},se=async()=>{let e=u.value;j&&await ce(e),a(`confirm-share`,e)},ce=async e=>{if(!v||e.length===0)return;let t=v.session.current?.value?.sessionCode;if(!t){console.error(`[ChatBot] Cannot share: no active session`);return}f.value=!0;try{let n=await v.message.shareMessages(t,e);n&&(await pXt(`${n.share_page}share-page/${n.share_token}`),jl({message:`分享链接已复制到剪贴板`,theme:`success`}))}catch(e){console.error(`[ChatBot] Failed to share messages:`,e),jl({message:`分享失败,请重试`,theme:`error`})}finally{f.value=!1,d.value=!1,u.value=[]}},le=e=>{e?u.value=ee.value:u.value=[]},ue=I.effectiveShortcuts;(0,t.watch)(()=>i.shortcuts,e=>{I.setShortcuts(e||[])},{immediate:!0}),(0,t.watch)(()=>v?.agent.info.value?.conversationSettings?.commands,e=>{e&&I.setAgentShortcuts(e)},{immediate:!0});let de=async()=>{await(0,t.nextTick)(),o.value&&(o.value.scrollTop=o.value.scrollHeight)},fe=async(e,t={})=>{if(!F||!v)throw Error(`[ChatBot] Cannot send message: chatBusinessManager not initialized`);let n=v.session.current?.value?.sessionCode;if(!n)throw Error(`[ChatBot] Cannot send message: no active session`);L.value=[[]],R.value=``,a(`send-message`,typeof e==`string`?e:``),await F.sendMessage(e,n,t)},pe=async e=>{let t=v?.session.current?.value?.sessionCode;if(!t)throw Error(`[ChatBot] Cannot upload: no active session`);let n=await v.session.uploadFile(t,e);if(!n?.download_url)throw Error(`[ChatBot] Upload failed: no download URL returned`);return n},me=async(e,t)=>{try{let t={};R.value&&(t.cite=R.value),l.value&&(t.command=l.value.id),await fe(e,Object.keys(t).length?{property:{extra:t}}:{})}catch(e){console.error(`Failed to send message:`,e),a(`error`,e)}},he=async()=>{xe()},ge=(e,t)=>{_e(e,t),a(`shortcut-click`,{shortcut:e,source:`main`})},_e=(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});l.value={...n,components:e,formModel:{...n.formModel,[r]:t}}}else l.value={...n,formModel:{...n.formModel}}},ve=()=>{l.value=null},ye=(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]}))}}},be=async e=>{if(!l.value){console.error(`[ChatBot] No selected shortcut`);return}let t=ye(l.value,e),n=l.value.name,r=l.value;ve();try{await fe(n,{property:t})}catch(e){l.value=r,console.error(`[ChatBot] Failed to submit shortcut:`,e),a(`error`,e)}},xe=()=>{if(!F){console.error(`[ChatBot] Cannot stop generation: chatBusinessManager not initialized`);return}F.stopGeneration(),a(`stop`)},Se=async e=>{if(!P){console.error(`[ChatBot] Cannot switch session: sessionBusinessManager not initialized`);return}try{await P.switchSession(e),a(`session-switched`,P.currentSession.value)}catch(e){console.error(`Failed to switch session:`,e),a(`error`,e)}},Ce=e=>{R.value=e},we=()=>{s.value?.focus?.()};return(0,t.onMounted)(async()=>{if(!(!v||m.value))try{if(j){if(await v.agent.getAgentInfo(),await v.session.getSessions(),i.sessionCode)await v.session.chooseSession(i.sessionCode);else if(v.session.list.value.length>0){let e=v.session.list.value[0];await v.session.chooseSession(e.sessionCode)}p.value=!0}else p.value=!0;a(`agent-info-loaded`,v)}catch(e){console.error(`Failed to initialize ChatBot:`,e),m.value=e,a(`error`,e)}}),(0,t.onBeforeUnmount)(()=>{j&&v&&v.agent.stopChat(v.session.current?.value?.sessionCode??``)}),n({sendMessage:e=>me(e,[[]]),stopGeneration:xe,switchSession:Se,messages:ee,currentSession:V,isGenerating:B,getChatHelper:()=>v,setCiteText:Ce,focusInput:we,selectShortcut:(e,t)=>{_e(e,t)}}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`ai-chatbot`,i.extCls,{"welcome-state":te.value}]),style:(0,t.normalizeStyle)(ae.value)},[(0,t.createCommentVNode)(` 初始化错误提示 `),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,KZt,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(m.value.message),1)])):j&&!p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createCommentVNode)(` 独立模式:初始化中(getAgentInfo → getSessions → chooseSession)统一展示 Loading `),(0,t.createElementVNode)(`div`,qZt,[(0,t.createVNode)((0,t.unref)(_c),{mode:`spin`,size:`small`,theme:`primary`})])],2112)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createCommentVNode)(` 内容区:欢迎状态 `),te.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,JZt,[(0,t.createElementVNode)(`div`,YZt,[n[3]||=(0,t.createElementVNode)(`img`,{alt:`ai-blueking`,class:`welcome-banner`,src:`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='309px'%20height='93px'%20viewBox='0%200%20309%2093'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eAI%20小鲸%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='45.02491%25'%20y1='35.5927467%25'%20x2='99.2803929%25'%20y2='81.0358394%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-2'%3e%3cstop%20stop-color='%23FFFFFF'%20stop-opacity='0.885701426'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20stop-opacity='0.29'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-3'%3e%3cstop%20stop-color='%231562FC'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='95.0902604%25'%20x2='35.112422%25'%20y2='19.6450217%25'%20id='linearGradient-4'%3e%3cstop%20stop-color='%23DC63FE'%20offset='0.0150240385%25'%3e%3c/stop%3e%3cstop%20stop-color='%23235DFA'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='46.6072083%25'%20y1='95.8855311%25'%20x2='46.6072083%25'%20y2='50%25'%20id='linearGradient-5'%3e%3cstop%20stop-color='%23B962FD'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23565FFB'%20offset='99.984976%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-6'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23A826E2'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20x1='50%25'%20y1='-38.6691405%25'%20x2='50%25'%20y2='100%25'%20id='linearGradient-7'%3e%3cstop%20stop-color='%23235DFA'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%239F7BF1'%20stop-opacity='0.15'%20offset='62.335824%25'%3e%3c/stop%3e%3cstop%20stop-color='%23EB8CEC'%20stop-opacity='0'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='页面-1'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='AI--小鲸'%20transform='translate(-1710,%20-3457)'%3e%3cg%20id='聊天窗/默认页'%20transform='translate(1644,%203324)'%3e%3cg%20id='AI-小鲸'%20transform='translate(66,%20133.2974)'%3e%3cg%20transform='translate(124.4167,%20-0)'%20id='编组'%3e%3cg%20transform='translate(0,%200)'%3e%3cpath%20d='M28.3965776,12.9425679%20C38.3377031,12.9425679%2046.3965776,21.0014424%2046.3965776,30.9425679%20L46.3969075,48.6505618%20C51.2162571,49.132982%2054.5842089,50.4998157%2054.5842089,53.8408323%20C54.5842089,53.8444226%2054.5842089,53.8477257%2054.5824622,53.8507588%20L54.5702354,53.8590653%20C54.5370482,53.8709895%2054.4250414,53.8772107%2054.0470184,53.8795761%20L53.8473221,53.8804155%20C53.8227592,53.8804783%2053.7973775,53.8805312%2053.7711498,53.8805746%20L53.4140599,53.8806511%20C53.3806271,53.8806219%2053.3462391,53.8805842%2053.3108685,53.8805382%20L52.8375142,53.8796076%20C51.6610285,53.8767057%2049.6921211,53.8685916%2046.3970568,53.8605313%20L46.3965776,53.8807246%20L23.4584209,53.8807246%20C14.9044209,53.8807246%207.74404265,47.9139206%205.91235374,39.9153803%20C2.4976649,38.935189%200,35.8013205%200,32.0869334%20L1.43000256,32.0866983%20C1.58407741,32.0866469%201.73656386,32.0865873%201.88747828,32.0865198%20L3.20370552,32.0857063%20C4.00314289,32.0850715%204.75405903,32.0842107%205.4593989,32.0831725%20L5.45842089,30.9425679%20C5.45842089,21.0014424%2013.5172954,12.9425679%2023.4584209,12.9425679%20L28.3965776,12.9425679%20Z'%20id='形状结合'%20fill='url(%23linearGradient-1)'%3e%3c/path%3e%3crect%20id='矩形'%20fill='url(%23linearGradient-2)'%20x='10.9168418'%20y='18.4009888'%20width='30.0213149'%20height='30.0213149'%20rx='12'%3e%3c/rect%3e%3crect%20id='矩形'%20fill='url(%23linearGradient-3)'%20x='49.125788'%20y='21.1301993'%20width='5.45842089'%20height='24.562894'%20rx='2'%3e%3c/rect%3e%3cpath%20d='M51.8123687,2.72921045%20C51.8123687,6.90327561%2054.9358287,10.3478176%2058.9729609,10.8530485%20L60,10.9168418%20C55.8259348,10.9168418%2052.3813929,14.0403018%2051.8761619,18.077434%20L51.8123687,19.1044731%20C51.8123687,14.930408%2048.6889086,11.485866%2044.6517764,10.9806351%20L43.6247373,10.9168418%20C47.7988025,10.9168418%2051.2433445,7.79338174%2051.7485754,3.75624952%20L51.8123687,2.72921045%20Z'%20id='星形'%20fill='url(%23linearGradient-4)'%20fill-rule='nonzero'%3e%3c/path%3e%3cpath%20d='M40.8955269,-1.43884904e-13%20C40.8955269,2.78271011%2042.9778336,5.07907143%2045.6692551,5.41589204%20L46.3539478,5.45842089%20C43.5712377,5.45842089%2041.2748763,7.54072759%2040.9380557,10.2321491%20L40.8955269,10.9168418%20C40.8955269,8.13413168%2038.8132202,5.83777036%2036.1217987,5.50094974%20L35.437106,5.45842089%20C38.2198161,5.45842089%2040.5161774,3.3761142%2040.852998,0.684692719%20L40.8955269,-1.43884904e-13%20Z'%20id='星形'%20fill='url(%23linearGradient-5)'%20fill-rule='nonzero'%3e%3c/path%3e%3cpath%20d='M44.4235306,12.0484656%20C44.4235306,13.4398207%2045.464684,14.5880013%2046.8103947,14.7564116%20L47.1527411,14.7776761%20C45.761386,14.7776761%2044.6132054,15.8188294%2044.4447951,17.1645402%20L44.4235306,17.5068865%20C44.4235306,16.1155315%2043.3823773,14.9673508%2042.0366665,14.7989405%20L41.6943202,14.7776761%20C43.0856752,14.7776761%2044.2338559,13.7365227%2044.4022662,12.390812%20L44.4235306,12.0484656%20Z'%20id='星形'%20fill='%238860FC'%20fill-rule='nonzero'%3e%3c/path%3e%3crect%20id='矩形'%20fill='%2316204D'%20x='17.7398679'%20y='29.3178306'%20width='5.45842089'%20height='8.18763134'%20rx='2'%3e%3c/rect%3e%3crect%20id='矩形备份'%20fill='%2316204D'%20x='28.6567097'%20y='29.3178306'%20width='5.45842089'%20height='8.18763134'%20rx='2'%3e%3c/rect%3e%3cpath%20d='M33.2681489,12.9425679%20C32.5347773,9.30362068%2031.08981,7.48414704%2028.9332468,7.48414704%20C25.698402,7.48414704%2025.7333802,11.8081925%2028.9332468,11.4257275%20C30.6212196,11.223972%2031.7656965,11.7295855%2032.3666775,12.9425679%20L33.2681489,12.9425679%20Z'%20id='路径-7'%20fill='url(%23linearGradient-6)'%20transform='translate(29.8942,%2010.2134)%20scale(-1,%201)%20translate(-29.8942,%20-10.2134)'%3e%3c/path%3e%3cpath%20d='M26.5202122,12.9425679%20C25.7868406,9.30362068%2024.3418733,7.48414704%2022.1853101,7.48414704%20C18.9504653,7.48414704%2018.9854435,11.8081925%2022.1853101,11.4257275%20C23.8732829,11.223972%2025.0177598,11.7295855%2025.6187408,12.9425679%20L26.5202122,12.9425679%20Z'%20id='路径-7'%20fill='url(%23linearGradient-6)'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cpath%20d='M309,81.279814%20C309,66.0493667%20239.827994,53.7026496%20154.5,53.7026496%20C69.1720062,53.7026496%200,66.0493667%200,81.279814%20C0,96.5102614%20309,96.5102614%20309,81.279814%20Z'%20id='椭圆形'%20fill='url(%23linearGradient-7)'%20opacity='0.22710455'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e`},null,-1),n[4]||=(0,t.createElementVNode)(`h2`,{class:`welcome-title`},`你好,我是小鲸`,-1),ne.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,XZt,[(0,t.createVNode)((0,t.unref)(c7),{content:ne.value},null,8,[`content`])])):(0,t.createCommentVNode)(`v-if`,!0)])])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createCommentVNode)(` 内容区:消息列表 `),(0,t.createElementVNode)(`div`,{ref_key:`messagesContainerRef`,ref:o,class:`chatbot-messages`},[z.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ZZt,[(0,t.createVNode)((0,t.unref)(_c),{mode:`spin`,size:`small`,theme:`primary`})])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(aXt),{key:1,"selected-messages":u.value,"onUpdate:selectedMessages":n[0]||=e=>u.value=e,"enable-selection":M.value,"message-status":y.value,"message-tools-status":b.value,"message-tools-tippy-options":i.messageToolsTippyOptions,messages:ee.value,"on-agent-action":x,"on-agent-feedback":S,"on-user-action":T,"on-user-input-confirm":E,"on-user-shortcut-confirm":D,onStopStreaming:A},null,8,[`selected-messages`,`enable-selection`,`message-status`,`message-tools-status`,`message-tools-tippy-options`,`messages`]))],512)],2112)),(0,t.createCommentVNode)(` 统一底部区域 `),!te.value&&M.value?((0,t.openBlock)(),(0,t.createBlock)(GZt,{key:2,"is-all-selected":u.value.length===ee.value.length,loading:N.value,"selected-count":u.value.length,onCancel:oe,onConfirm:se,onToggleAll:le},null,8,[`is-all-selected`,`loading`,`selected-count`])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,QZt,[l.value?.components?.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Dve),(0,t.mergeProps)({key:0},l.value,{onClose:ve,onSubmit:be}),null,16)):(0,t.renderSlot)(e.$slots,`input`,{key:1},()=>[(0,t.createVNode)((0,t.unref)(HJt),{ref_key:`chatInputRef`,ref:s,modelValue:L.value,"onUpdate:modelValue":n[1]||=e=>L.value=e,cite:R.value,"onUpdate:cite":n[2]||=e=>R.value=e,"message-status":y.value,"on-send-message":me,"on-stop-sending":he,"on-upload":pe,placeholder:i.placeholder,prompts:ie.value,resources:re.value,"shortcut-id":l.value?.id,shortcuts:H.value,onDeleteShortcut:ve,onSelectShortcut:ge},null,8,[`modelValue`,`cite`,`message-status`,`placeholder`,`prompts`,`resources`,`shortcut-id`,`shortcuts`])])]))],64))],6))}});let H9=function(e){return e.ERROR=`error`,e.IDLE=`idle`,e.LOADING_AGENT=`loading_agent`,e.READY=`ready`,e}({});function eQt(e){let{url:n,requestOptions:r,autoInit:i=!0,protocolCallbacks:a}=e,o=(0,t.toValue)(n);if(!o)throw Error(`[useChatBootstrap] url is required`);let s=(0,t.ref)(H9.IDLE),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=new Map,f=new k9({onStart:()=>{a?.onStart?.()},onMessage:e=>{a?.onMessage?.(e)},onDone:()=>{a?.onDone?.()},onError:e=>{a?.onError?.(e)}}),p=z9({requestData:{urlPrefix:o,headers:r?.headers,data:r?.data},protocol:f});f.injectMessageModule(p.message);let m=(0,t.computed)(()=>s.value===H9.LOADING_AGENT),h=(0,t.computed)(()=>s.value===H9.READY),g=(0,t.computed)(()=>p.agent.info.value??null),_=(0,t.computed)(()=>g.value?.agentName??``),v=(0,t.computed)(()=>p.session.current.value??null),y=(0,t.computed)(()=>p.session.list.value??[]),b=async()=>{if(!u.value&&!m.value){l.value=null;try{s.value=H9.LOADING_AGENT,await Promise.all([p.agent.getAgentInfo(),p.session.getSessions()]),s.value=H9.READY,u.value=!0}catch(e){throw console.error(`[useChatBootstrap] Initialization failed:`,e),l.value=e,s.value=H9.ERROR,e}}},x=async()=>{s.value=H9.IDLE,l.value=null,u.value=!1,await b()},S=async e=>{s.value=H9.IDLE,l.value=null,u.value=!1;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 b()};return(0,t.watch)(()=>(0,t.toValue)(n),(e,t)=>{e&&e!==t&&t&&S(e)}),i&&Promise.resolve().then(()=>{b()}),{chatHelper:p,protocol:f,phase:s,isInitializing:m,isReady:h,error:l,agentInfo:g,agentName:_,currentSession:v,sessionList:y,initialize:b,retry:x,updateConfig:S,registerExtension:(e,t)=>{d.set(e,t)},getExtension:e=>d.get(e)}}function tQt(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`,{}),historyClick:t=>e(`history-click`,{event:t}),autoGenerateName:()=>e(`auto-generate-name`,{}),helpClick:()=>e(`help-click`,{}),rename:t=>e(`rename`,{newName:t}),share:()=>e(`share`,{}),transferMessages:t=>e(`transfer-messages`,{messageIds:t}),shareMessages:t=>e(`share-messages`,{messageIds:t})}}function nQt(e){let{componentManager:n,emit:r,debug:i=!1}=e,a=[],o=()=>{for(let[e,t]of Object.entries(RZt)){if(t===null)continue;let o=n.on(e,n=>{let a=zZt(e,n);i&&console.debug(`[useEventBridge] ${e} -> ${t}`,a),r(t,...a)});a.push(o)}},s=(e,t)=>{i&&console.debug(`[useEventBridge] Forwarding to manager: ${e}`,t),n.emit(e,t)},l=(e,...t)=>{i&&console.debug(`[useEventBridge] Direct emit: ${e}`,t),r(e,...t)},u=()=>{a.forEach(e=>e()),a.length=0};return o(),(0,t.onUnmounted)(()=>{u()}),{forwardToManager:s,emitDirect:l,cleanup:u}}function rQt(e,n=!1){let r=window.innerHeight-48-40,i=window.innerWidth-48-16,a=(0,t.ref)(i),o=(0,t.ref)(r),s=(0,t.ref)(0),l=(0,t.ref)(n),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=0,p=e=>{e?a.value=window.innerWidth-12:a.value=i},m=(e,t)=>{o.value=t,s.value=t-r},h=()=>{(0,t.nextTick)(()=>{o.value=window.innerHeight-48-40+s.value,l.value?a.value=window.innerWidth-12:a.value=window.innerWidth-48-16})};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,h),h()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`resize`,h)}),{nimbusWidth:48,nimbusHeight:48,nimbusLeft:a,nimbusTop:o,isMinimize:l,isHovering:u,isDragging:d,handleNimbusDragging:m,handleNimbusMinimize:p,handleClick:()=>{if(d.value){d.value=!1;return}e(`click`)},handleMinimize:()=>{l.value=!l.value,e(`minimize`,l.value),l.value?a.value=window.innerWidth-12:a.value=window.innerWidth-60},handleDragging:(e,t)=>{a.value=e,o.value=t},handleMouseEnter:()=>{u.value=!0},handleMouseLeave:()=>{u.value=!1},handleMouseDown:()=>{f=Date.now(),d.value=!1},handleMouseUp:()=>{Date.now()-f>200&&(d.value=!0)}}}l9();function iQt(e={}){let n=(0,t.ref)([]),r=(t,r,i={})=>{try{let a=typeof t==`string`?document.querySelector(t):t;if(!a)return console.warn(`Tooltip target not found: ${t}`),null;let o=c9(a,{content:r,placement:`top`,arrow:!0,delay:[300,0],theme:`ai-blueking-tooltip`,...e,...i});return n.value.push(o),o}catch(e){return console.error(`Failed to create tooltip:`,e),null}},i=(e,t,n={})=>{let i=document.querySelectorAll(e),a=[];return i.forEach(e=>{let i=r(e,t,n);i&&a.push(i)}),a},a=e=>{let t=[];return e.forEach(({element:e,content:n,options:i})=>{let a=r(e,n,i);a&&t.push(a)}),t},o=()=>{n.value.forEach(e=>{e.destroy()}),n.value=[]};return(0,t.onBeforeUnmount)(()=>{o()}),{instances:n,createTooltip:r,createTooltipsForSelector:i,createMultipleTooltips:a,destroyAll:o,updateContent:(e,t)=>{e.setContent(t)},destroyInstance:e=>{e.destroy()}}}let aQt={url:``,title:``,extCls:``,hideNimbus:!1,hideHeader:!1,enablePopup:!0,draggable:!0,enableChatSession:!0,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:h9(`输入 "/" 唤出 Prompt
|
|
3048
3048
|
通过 Shift + Enter 进行换行输入`),helloText:h9(`你好,我是小鲸`),disabledInput:!1,showHistoryIcon:!0,showNewChatIcon:!0,showCompressionIcon:!0,showMoreIcon:!0,initialSessionCode:``,autoSwitchToInitialSession:!1,loadRecentSessionOnMount:!0,prompts:()=>[],dropdownMenuConfig:()=>({showRename:!0,showAutoGenerate:!0,showShare:!0}),defaultChatInputPosition:void 0};var oQt=class extends k9{eventEmitter;constructor(e={}){super({onStart:e.onStart,onMessage:e.onMessage,onDone:e.onDone,onError:e.onError}),this.eventEmitter=e.eventEmitter}handleRunErrorEvent(e){super.handleRunErrorEvent(e),this.eventEmitter?.emit(`run-error`,{event:e})}handleTextMessageChunkEvent(e){super.handleTextMessageChunkEvent(e),this.eventEmitter?.emit(`text-chunk`,{event:e})}handleThinkingEndEvent(e){super.handleThinkingEndEvent(e),this.eventEmitter?.emit(`thinking-end`,{event:e})}handleThinkingStartEvent(e){super.handleThinkingStartEvent(e),this.eventEmitter?.emit(`thinking-start`,{event:e})}handleToolCallEndEvent(e){super.handleToolCallEndEvent(e),this.eventEmitter?.emit(`tool-call-end`,{event:e})}handleToolCallStartEvent(e){super.handleToolCallStartEvent(e),this.eventEmitter?.emit(`tool-call-start`,{event:e})}};function sQt(e={}){let{eventEmitter:t,onStart:n,onMessage:r,onDone:i,onError:a,onTextChunk:o}=e;return new k9({onStart:()=>{t?.emit(`receive-start`,{}),n?.()},onMessage:e=>{t?.emit(`receive-message`,{event:e}),e.type===`TextMessageChunk`&&o&&o(e),r?.(e)},onDone:()=>{t?.emit(`receive-end`,{}),i?.()},onError:e=>{t?.emit(`receive-error`,{error:e}),a?.(e)}})}function cQt(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function U9(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 W9(e,t,n){return e-t-n}function G9(e,t,n){return e-t-n}function K9(e,t,n){return t!==null&&e<t?t:n!==null&&n<e?n:e}function lQt(e,t,n){let r=e,i=[`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`].find(e=>cQt(r[e]));if(!cQt(r[i]))return!1;do{if(r[i](t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function uQt(e){let t=window.getComputedStyle(e);return[parseFloat(t.getPropertyValue(`width`),10),parseFloat(t.getPropertyValue(`height`),10)]}function q9(e,t,n){e&&(e.attachEvent?e.attachEvent(`on`+t,n):e.addEventListener?e.addEventListener(t,n,!0):e[`on`+t]=n)}function J9(e,t,n){e&&(e.detachEvent?e.detachEvent(`on`+t,n):e.removeEventListener?e.removeEventListener(t,n,!0):e[`on`+t]=null)}var dQt=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Y9={mouse:{start:`mousedown`,move:`mousemove`,stop:`mouseup`},touch:{start:`touchstart`,move:`touchmove`,stop:`touchend`}},fQt={userSelect:`none`,MozUserSelect:`none`,WebkitUserSelect:`none`,MsUserSelect:`none`},pQt={userSelect:`auto`,MozUserSelect:`auto`,WebkitUserSelect:`auto`,MsUserSelect:`auto`},X9=Y9.mouse,mQt={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]=uQt(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`),q9(document.documentElement,`mousedown`,this.deselect),q9(document.documentElement,`touchend touchcancel`,this.deselect),q9(window,`resize`,this.checkParentSize)},beforeUnmount:function(){J9(document.documentElement,`mousedown`,this.deselect),J9(document.documentElement,`touchstart`,this.handleUp),J9(document.documentElement,`mousemove`,this.move),J9(document.documentElement,`touchmove`,this.move),J9(document.documentElement,`mouseup`,this.handleUp),J9(document.documentElement,`touchend touchcancel`,this.deselect),J9(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){X9=Y9.touch,this.elementDown(e)},elementMouseDown(e){X9=Y9.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&&!lQt(t,this.dragHandle,this.$el)||this.dragCancel&&lQt(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()),q9(document.documentElement,X9.move,this.move),q9(document.documentElement,X9.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)),J9(document.documentElement,X9.move,this.handleResize)),this.resetBoundsAndMouseState()},handleTouchDown(e,t){X9=Y9.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(),q9(document.documentElement,X9.move,this.handleResize),q9(document.documentElement,X9.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]=U9(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=K9(i.left-a,r.minLeft,r.maxLeft),l=K9(i.top-o,r.minTop,r.maxTop);if(this.onDrag(s,l)===!1)return;let u=K9(i.right+a,r.minRight,r.maxRight),d=K9(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]=U9(this.grid,e,this.top,1),r=K9(t,this.bounds.minLeft,this.bounds.maxLeft);this.left=r,this.right=this.parentWidth-this.width-r},moveVertically(e){let[t,n]=U9(this.grid,this.left,e,1),r=K9(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]=U9(this.grid,s,l,this.scale);this.handle.includes(`b`)?(i=K9(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=K9(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=K9(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=K9(a.left-u,this.bounds.minLeft,this.bounds.maxLeft),this.lockAspectRatio&&this.resizingOnX&&(n=this.top-(this.left-t)/o));let f=W9(this.parentWidth,t,r),p=G9(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]=U9(this.grid,e,0,1),r=K9(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=W9(this.parentWidth,this.left,r),o=G9(this.parentHeight,this.top,i);this.right=r,this.bottom=i,this.width=a,this.height=o},changeHeight(e){let[t,n]=U9(this.grid,0,e,1),r=K9(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=W9(this.parentWidth,this.left,i),o=G9(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)),J9(document.documentElement,X9.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?fQt:pQt}},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))}}},hQt=[`onMousedown`,`onTouchstart`];function gQt(e,n,r,i,a,o){return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,{style:(0,t.normalizeStyle)(o.style),class:(0,t.normalizeClass)([{[r.classNameActive]:e.enabled,[r.classNameDragging]:e.dragging,[r.classNameResizing]:e.resizing,[r.classNameDraggable]:r.draggable,[r.classNameResizable]:r.resizable},r.className]),onMousedown:n[0]||=(...e)=>o.elementMouseDown&&o.elementMouseDown(...e),onTouchstart:n[1]||=(...e)=>o.elementTouchDown&&o.elementTouchDown(...e)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.actualHandles,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:(0,t.normalizeClass)([r.classNameHandle,r.classNameHandle+`-`+n]),style:(0,t.normalizeStyle)({display:e.enabled?`block`:`none`}),onMousedown:(0,t.withModifiers)(e=>o.handleDown(n,e),[`stop`,`prevent`]),onTouchstart:(0,t.withModifiers)(e=>o.handleTouchDown(n,e),[`stop`,`prevent`])},[(0,t.renderSlot)(e.$slots,n)],46,hQt))),128)),(0,t.renderSlot)(e.$slots,`default`)],38)}var Z9=dQt(mQt,[[`render`,gQt]]);function Q9(e){Q9.installed||(Q9.installed=!0,e.component(`VueDraggableResizable`,Z9))}var _Qt={install:Q9},$9=null;typeof window<`u`?$9=window.Vue:typeof global<`u`&&($9=global.Vue),$9&&$9.use(_Qt);function vQt(e={},n){let r=e.initWidth||400,i=e.minWidth||400,a=e.minHeight||400,o=e.maxWidthPercent||40,s=e.compressedHeight||800,l=e.compressedPadding===void 0?0:e.compressedPadding,u=(0,t.ref)(e.defaultLeft===void 0?window.innerWidth-r:e.defaultLeft),d=(0,t.ref)(e.defaultTop===void 0?0:e.defaultTop),f=(0,t.ref)(e.defaultHeight===void 0?window.innerHeight-(e.defaultTop===void 0?0:e.defaultTop):e.defaultHeight),p=(0,t.ref)(r),m=(0,t.ref)(d.value),h=(0,t.ref)(u.value),g=(0,t.ref)(p.value),_=(0,t.ref)(f.value),v=(0,t.ref)(Math.max(window.innerWidth*(o/100),g.value)),y=(0,t.ref)(!1),b=(0,t.ref)(0),x=()=>({x:h.value,y:m.value,width:g.value,height:_.value}),S=(e,t)=>{h.value=e,m.value=t,b.value=e-(window.innerWidth-g.value),n?.onDragging?.(x())},C=(e,t,r,i)=>{h.value=e,m.value=t,g.value=Math.min(r,v.value),_.value=i,n?.onResizing?.(x())},w=(e,t)=>{h.value=e,m.value=t,b.value=e-(window.innerWidth-g.value),n?.onDragStop?.(x())},T=(e,t,r,i)=>{h.value=e,m.value=t,g.value=Math.min(r,v.value),_.value=i,n?.onResizeStop?.(x())},E=()=>{v.value=Math.max(window.innerWidth*(o/100),g.value),(0,t.nextTick)(()=>{if(y.value)h.value=window.innerWidth-g.value-l,m.value=window.innerHeight-s-l;else{let e=window.innerWidth-g.value-b.value;h.value=Math.max(0,e),setTimeout(()=>{_.value=window.innerHeight-m.value},0)}g.value>v.value&&(g.value=v.value)})},D=()=>{y.value?(m.value=d.value,(0,t.nextTick)(()=>{_.value=f.value,h.value=u.value,g.value=p.value})):(m.value=window.innerHeight-s-l,h.value=u.value-l,g.value=r,_.value=s),y.value=!y.value},O=(e,t)=>{h.value=e,m.value=t,b.value=e-(window.innerWidth-g.value)},k=(e,t)=>{g.value=Math.max(i,Math.min(e,v.value)),_.value=Math.max(a,t)};return(0,t.onMounted)(()=>{window.addEventListener(`resize`,E)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,E)}),{minWidth:i,minHeight:a,maxWidth:v,top:m,left:h,width:g,height:_,isCompressed:y,handleDragging:S,handleResizing:C,handleDragStop:w,handleResizeStop:T,toggleCompression:D,updatePosition:O,updateSize:k,updatePositionAndSize:(e,t,n,r)=>{O(e,t),k(n,r)}}}var yQt={class:`draggable-container-content`},bQt=p9((0,t.defineComponent)({__name:`draggable-container`,props:{visible:{type:Boolean,default:!1},draggable:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},defaultWidth:{default:400},defaultHeight:{default:void 0},defaultX:{default:void 0},defaultY:{default:0},minWidth:{default:400},minHeight:{default:400},maxWidth:{default:void 0},maxWidthPercent:{default:80},compressedHeight:{default:800},compressedPadding:{default:0},dragHandle:{default:`.drag-handle`},className:{default:``},teleportTo:{default:`body`}},emits:[`dragging`,`resizing`,`drag-stop`,`resize-stop`,`compression-change`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(!1),{minWidth:s,minHeight:l,maxWidth:u,top:d,left:f,width:p,height:m,isCompressed:h,handleDragging:g,handleResizing:_,handleDragStop:v,handleResizeStop:y,toggleCompression:b,updatePosition:x,updateSize:S,updatePositionAndSize:C}=vQt({initWidth:i.defaultWidth,minWidth:i.minWidth,minHeight:i.minHeight,maxWidthPercent:i.maxWidthPercent,compressedHeight:i.compressedHeight,defaultHeight:i.defaultHeight,defaultTop:i.defaultY,defaultLeft:i.defaultX,compressedPadding:i.compressedPadding},{onDragStop:e=>a(`drag-stop`,e),onResizeStop:e=>a(`resize-stop`,e),onDragging:e=>a(`dragging`,e),onResizing:e=>a(`resizing`,e)}),w=(0,t.computed)(()=>{let e=typeof i.maxWidth==`number`?`${i.maxWidth}px`:i.maxWidth??`${u.value}px`;return{"--draggable-max-width":e}}),T=(0,t.computed)(()=>({x:f.value,y:d.value,width:p.value,height:m.value})),E=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=`none`})},D=()=>{document.querySelectorAll(`iframe`).forEach(e=>{e.style.pointerEvents=``})},O=(e,t)=>{o.value||(o.value=!0,E()),g(e,t)},k=(e,t,n,r)=>{o.value||(o.value=!0,E()),_(e,t,n,r)},A=(e,t)=>{v(e,t),o.value=!1,D()},j=(e,t,n,r)=>{y(e,t,n,r),o.value=!1,D()};return(0,t.watch)(h,e=>{a(`compression-change`,e)}),n({updatePosition:x,updateSize:S,updatePositionAndSize:C,toggleCompression:b,positionAndSize:T,isCompressed:h}),(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z9),{ref:`draggableRef`,active:i.visible,class:(0,t.normalizeClass)([`draggable-container-wrapper`,i.className]),draggable:i.draggable,h:(0,t.unref)(m),"max-width":(0,t.unref)(u),"min-height":(0,t.unref)(l),"min-width":(0,t.unref)(s),parent:!0,"prevent-deactivation":!0,resizable:i.resizable,"drag-handle":i.dragHandle,style:(0,t.normalizeStyle)(w.value),"class-name":`draggable-container-inner`,w:(0,t.unref)(p),x:(0,t.unref)(f),y:(0,t.unref)(d),onDragStop:A,onDragging:O,onResizeStop:j,onResizing:k},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,yQt,[(0,t.renderSlot)(e.$slots,`default`,{},void 0,!0)])]),_:3},8,[`active`,`class`,`draggable`,`h`,`max-width`,`min-height`,`min-width`,`resizable`,`drag-handle`,`style`,`w`,`x`,`y`])),[[t.vShow,i.visible]])}}),[[`__scopeId`,`data-v-de563c20`]]),xQt={class:`nimbus-bkai-wrapper`},SQt=[`width`,`height`,`src`],CQt=p9((0,t.defineComponent)({name:`NimbusButton`,__name:`nimbus`,props:{isPanelShow:{type:Boolean},isMinimize:{type:Boolean},size:{default:`normal`}},emits:[`click`,`minimize`,`update:isMinimize`],setup(e,{emit:n}){(0,t.useCssVars)(e=>({v05a8b16e:`${o.value.container}px`,v4e1cf4ca:`${o.value.wrapper}px`,v5ab0c513:`${o.value.mini.right}px`,v40c13a80:`${o.value.mini.size}px`,v0d35a9ef:`${o.value.mini.fontSize}px`}));let r=e,i=n,a={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}}},o=(0,t.computed)(()=>a[r.size]),s=(0,t.ref)(null),l=(0,t.ref)(null),{nimbusLeft:u,nimbusTop:d,isMinimize:f,handleClick:p,handleMinimize:m,handleDragging:h,handleMouseEnter:g,handleMouseLeave:_,handleMouseDown:v,handleMouseUp:y}=rQt(i,r.isMinimize);(0,t.watch)(f,e=>{i(`update:isMinimize`,e)});let b=(0,t.computed)(()=>f.value?h9(`恢复默认大小`):h9(`最小化,将缩成锚点`)),{createTooltip:x,destroyAll:S}=iQt({theme:`ai-blueking`,delay:[0,0]}),C=()=>{(0,t.nextTick)(()=>{w()})},w=()=>{S(),s.value&&!f.value&&x(s.value,hXt(),{placement:`left`}),l.value&&x(l.value,b.value,{placement:`top`})};return(0,t.watch)(()=>f.value,()=>{(0,t.nextTick)(()=>{w()})}),(0,t.onMounted)(()=>{(0,t.nextTick)(()=>{w()}),window.addEventListener(`resize`,C)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,C)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z9),{active:!e.isPanelShow,axis:`y`,draggable:!0,h:o.value.container,parent:!0,"prevent-deactivation":!0,resizable:!1,w:o.value.container,x:(0,t.unref)(u),y:(0,t.unref)(d),onDragging:(0,t.unref)(h)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{ref_key:`nimbusContainerRef`,ref:s,class:(0,t.normalizeClass)([`nimbus-container`,{"is-minimize":(0,t.unref)(f)}]),onClick:r[1]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),onMousedown:r[2]||=(...e)=>(0,t.unref)(v)&&(0,t.unref)(v)(...e),onMouseenter:r[3]||=(...e)=>(0,t.unref)(g)&&(0,t.unref)(g)(...e),onMouseleave:r[4]||=(...e)=>(0,t.unref)(_)&&(0,t.unref)(_)(...e),onMouseup:r[5]||=(...e)=>(0,t.unref)(y)&&(0,t.unref)(y)(...e)},[(0,t.createElementVNode)(`div`,xQt,[(0,t.createElementVNode)(`img`,{width:o.value.img,height:o.value.img,src:(0,t.unref)(oXt),alt:`nimbus`},null,8,SQt)]),(0,t.createElementVNode)(`i`,{ref_key:`minimizeButtonRef`,ref:l,class:(0,t.normalizeClass)([`nimbus-mini bkai-icon`,(0,t.unref)(f)?`bkai-yinyong`:`bkai-minus-line`]),onClick:r[0]||=(0,t.withModifiers)((...e)=>(0,t.unref)(m)&&(0,t.unref)(m)(...e),[`stop`])},null,2)],34)]),_:1},8,[`active`,`h`,`w`,`x`,`y`,`onDragging`]))}}),[[`__scopeId`,`data-v-26b6f3ea`]]),wQt={class:`ai-blueking-panel`},TQt=p9((0,t.defineComponent)({__name:`ai-blueking`,props:(0,t.mergeDefaults)({autoSwitchToInitialSession:{type:Boolean},defaultChatInputPosition:{},defaultHeight:{},defaultLeft:{},defaultMinimize:{type:Boolean},defaultTop:{},defaultWidth:{},disabledInput:{type:Boolean},draggable:{type:Boolean},dropdownMenuConfig:{},enableChatSession:{type:Boolean},enablePopup:{type:Boolean},extCls:{},helloText:{},hideDefaultTrigger:{type:Boolean},hideHeader:{type:Boolean},hideNimbus:{type:Boolean},initialSessionCode:{},loadRecentSessionOnMount:{type:Boolean},maxWidth:{},miniPadding:{},nimbusSize:{},placeholder:{},prompts:{},requestOptions:{},resources:{},shortcutLimit:{},shortcuts:{},showCompressionIcon:{type:Boolean},showHistoryIcon:{type:Boolean},showMoreIcon:{type:Boolean},showNewChatIcon:{type:Boolean},teleportTo:{},title:{},url:{},shortcutFilter:{type:Function}},aQt),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`,`new-chat`,`history-click`,`auto-generate-name`,`help-click`,`rename`,`share`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(),s=(0,t.ref)(),l=(0,t.computed)(()=>fXt(i.url)),u=LZt({initialPanelVisible:!1,initialNimbusMinimized:i.defaultMinimize,enablePopup:i.enablePopup,enableNimbus:!i.hideNimbus,enableDraggable:i.draggable}),d=u.panelVisible,f=u.nimbusMinimized,{forwardToManager:p}=nQt({componentManager:u,emit:a}),m=tQt(p),{chatHelper:h,isReady:g,agentInfo:_,agentName:v,currentSession:y}=eQt({url:l,requestOptions:i.requestOptions,autoInit:!0,protocolCallbacks:{onStart:()=>{m.receiveStart()},onMessage:()=>{m.receiveText()},onDone:()=>{m.receiveEnd()},onError:e=>{u.emitInternal(`sdk-error`,{apiName:`chat`,code:-1,message:e.message,data:e})}}}),b=h,x=new B9(b.session,b.agent,null,{enableChatSession:i.enableChatSession,initialSessionCode:i.initialSessionCode}),S=new FZt(b.message,b.session),C=new BZt,w=(0,t.computed)(()=>C.isSelectionMode.value),T=(0,t.ref)(!1),E=new V9(null,i.shortcuts||[]),D=(0,t.ref)(!1),O=(0,t.ref)(``),k={appendTo:e=>{let t=e.closest(`.draggable-container-content`);return console.log(`[ai-blueking] appendTo called, ref:`,e),console.log(`[ai-blueking] appendTo closest result:`,t),t??document.body}},A=(0,t.computed)(()=>u.isCompressed.value),j=(0,t.computed)(()=>v.value),M=(0,t.ref)(``),N=(0,t.ref)(!0),P=(0,t.ref)(!1),F=(0,t.computed)(()=>i.resources?.length?i.resources:lXt(_.value?.resources)),I=(0,t.computed)(()=>i.prompts?.length?i.prompts:_.value?.conversationSettings?.predefinedQuestions??[]),L=(0,t.computed)(()=>{let e=E.effectiveShortcuts.value;return typeof i.shortcutFilter==`function`&&O.value?e.filter(e=>i.shortcutFilter?.(e,O.value)):e});(0,t.watch)(()=>g.value,async e=>{if(e&&_.value){let e=_.value;if(e.saasUrl&&fetch(e.saasUrl,{method:`GET`,credentials:`include`}).catch(()=>{}),e.conversationSettings&&(p(`session-initialized`,{openingRemark:e.conversationSettings.openingRemark||``,predefinedQuestions:e.conversationSettings.predefinedQuestions||[]}),e.conversationSettings.commands&&E.setAgentShortcuts(e.conversationSettings.commands)),i.loadRecentSessionOnMount)try{await x.loadRecentSession({skipLoadSessions:!0})}catch(e){console.error(`[AIBlueking] Failed to load recent session:`,e)}}},{immediate:!0}),(0,t.watch)(()=>i.shortcuts,e=>{E.setShortcuts(e||[])},{immediate:!0}),(0,t.watch)(()=>y.value,e=>{e&&(M.value=e.sessionName||``,P.value=(e.sessionContentCount??0)>0)},{immediate:!0}),(0,t.watch)(()=>b.message.list.value.length,e=>{e>0&&(P.value=!0)});let R=async e=>{u.showPanel(e),e&&s.value&&await s.value.switchSession(e)},ee=async e=>{await R(e)},z=()=>{u.hidePanel()},B=()=>{z()},V=()=>{u.handleNimbusClick()},te=e=>{O.value=e},ne=async(e,t)=>{D.value=!1,await R(),e.components?.length&&s.value?s.value.selectShortcut(e,t):s.value&&(s.value.setCiteText(t),s.value.focusInput()),p(`shortcut-click`,{shortcut:e,source:`popup`})},re=e=>{p(`shortcut-click`,e)},ie=e=>{u.handleDragging(e)},ae=e=>{u.handleResizing(e)},H=e=>{u.handleDragStop(e)},oe=e=>{u.handleResizeStop(e)},se=()=>{u.container.toggleCompression()},ce=e=>{u.setCompressed(e)},le=async()=>{m.newChat()},ue=e=>{m.historyClick(e)},de=async e=>{await x.switchSession(e)},fe=async e=>{await x.deleteSession(e)},pe=async(e,t)=>{await x.updateSessionName(e,t)},me=async()=>{let e=b.session.current?.value?.sessionCode;if(!e){console.error(`[AIBlueking] Cannot auto-generate name: no active session`);return}try{await b.session.renameSession(e);let t=b.session.list.value.find(t=>t.sessionCode===e);t&&(M.value=t.sessionName||``)}catch(e){console.error(`[AIBlueking] Failed to auto-generate session name:`,e),je(e)}m.autoGenerateName()},he=()=>{m.helpClick()},ge=async e=>{let t=b.session.current?.value;if(!t){console.error(`[AIBlueking] Cannot rename: no active session`);return}try{await b.session.updateSession({...t,sessionName:e}),M.value=e}catch(e){console.error(`[AIBlueking] Failed to rename session:`,e),je(e)}m.rename(e)},_e=()=>{C.enableSelectionMode(),m.share()},ve=()=>{C.disableSelectionMode()},ye=async e=>{T.value=!0;try{let{shareUrl:t,userMessageIds:n}=await S.shareMessages(e);await pXt(t),jl({message:h9(`分享链接已复制到剪贴板`),theme:`success`}),C.disableSelectionMode(),m.shareMessages(n)}catch(e){console.error(`[AIBlueking] Failed to share messages:`,e),je(e)}finally{T.value=!1}},be=async e=>{s.value&&await s.value.sendMessage(e)},xe=e=>{P.value=!0,m.sendMessage(e)},Se=()=>{m.receiveStart()},Ce=()=>{m.receiveText()},we=()=>{m.receiveEnd()},Te=()=>{m.stop()},Ee=()=>{s.value&&s.value.stopGeneration()},De=async e=>{e?await x.createSession({sessionCode:e}):await x.createNewSession()},Oe=async e=>{s.value&&await s.value.switchSession(e)},ke=async(e,t)=>{try{await x.updateSessionName(e,t),M.value=t}catch(e){console.error(`[AIBlueking] Failed to update session name:`,e),je(e)}},Ae=e=>{e&&(M.value=e.sessionName||``,P.value=(e.sessionContentCount??0)>0||b.message.list.value.length>0)},je=e=>{console.error(`ChatBot error:`,e),u.emitInternal(`sdk-error`,{apiName:`chat`,code:-1,message:e.message,data:e})},Me=(e,t)=>{u.container.updatePosition(e,t)},Ne=(e,t)=>{u.container.updateSize(e,t)},Pe=(e,t,n,r)=>{u.container.updatePositionAndSize(e,t,n,r)},Fe=e=>{s.value&&s.value.setCiteText(e)},Ie=()=>{s.value&&s.value.focusInput()},Le=e=>{_Xt(e)&&(e.preventDefault(),d.value?z():R())};return(0,t.onMounted)(async()=>{o.value&&u.setContainerRef(o.value),window.addEventListener(`keydown`,Le)}),(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,Le),u.destroy()}),n({show:R,handleShow:ee,hide:z,sendMessage:be,stopGeneration:Ee,addNewSession:De,switchToSession:Oe,updateSessionName:ke,updatePosition:Me,updateSize:Ne,updatePositionAndSize:Pe,setCiteText:Fe,focusInput:Ie}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:i.teleportTo},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`ai-blueking-v2`,i.extCls])},[(0,t.createCommentVNode)(` 可拖拽容器 `),(0,t.createVNode)((0,t.unref)(bQt),{ref_key:`draggableContainerRef`,ref:o,"compressed-padding":i.miniPadding,"default-height":i.defaultHeight,"default-width":i.defaultWidth,"default-x":i.defaultLeft,"default-y":i.defaultTop,"drag-handle":`.drag-handle`,draggable:i.draggable,"max-width":i.maxWidth,"max-width-percent":80,visible:(0,t.unref)(d),onCompressionChange:ce,onDragStop:H,onDragging:ie,onResizeStop:oe,onResizing:ae},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,wQt,[(0,t.createCommentVNode)(` 独立的 Header 组件 `),i.hideHeader?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(UXt,{key:0,"agent-name":j.value,"chat-helper":(0,t.unref)(b),draggable:i.draggable,"dropdown-menu-config":i.dropdownMenuConfig,"enable-chat-session":i.enableChatSession,"has-permission":N.value,"has-session-contents":P.value,"is-compression-height":A.value,"session-business-manager":(0,t.unref)(x),"session-name":M.value,"show-compression-icon":i.showCompressionIcon,"show-history-icon":i.showHistoryIcon,"show-more-icon":i.showMoreIcon,"show-new-chat-icon":i.showNewChatIcon,title:i.title,onAutoGenerateName:me,onClose:B,onHelpClick:he,onHistoryClick:ue,onHistorySessionDelete:fe,onHistorySessionRename:pe,onHistorySessionSwitch:de,onNewChat:le,onRename:ge,onShare:_e,onToggleCompression:se},null,8,[`agent-name`,`chat-helper`,`draggable`,`dropdown-menu-config`,`enable-chat-session`,`has-permission`,`has-session-contents`,`is-compression-height`,`session-business-manager`,`session-name`,`show-compression-icon`,`show-history-icon`,`show-more-icon`,`show-new-chat-icon`,`title`])),(0,t.createCommentVNode)(` ChatBot 核心组件(仅聊天区域) `),(0,t.createVNode)($Zt,{ref_key:`chatBotRef`,ref:s,"auto-load":i.loadRecentSessionOnMount,"chat-helper":(0,t.unref)(b),"enable-selection":w.value,"hello-text":i.helloText,"message-tools-tippy-options":k,placeholder:i.placeholder,prompts:I.value,"request-options":i.requestOptions,resources:F.value,"session-code":i.initialSessionCode,"share-loading":T.value,"shortcut-limit":i.shortcutLimit,shortcuts:i.shortcuts,url:l.value,onCancelShare:ve,onConfirmShare:n[0]||=e=>ye(e),onError:n[1]||=e=>je(e),onReceiveEnd:we,onReceiveStart:Se,onReceiveText:Ce,onRequestShare:_e,onSendMessage:n[2]||=e=>xe(e),onSessionSwitched:n[3]||=e=>Ae(e),onShortcutClick:re,onStop:Te},null,8,[`auto-load`,`chat-helper`,`enable-selection`,`hello-text`,`placeholder`,`prompts`,`request-options`,`resources`,`session-code`,`share-loading`,`shortcut-limit`,`shortcuts`,`url`])])]),_:1},8,[`compressed-padding`,`default-height`,`default-width`,`default-x`,`default-y`,`draggable`,`max-width`,`visible`]),(0,t.createCommentVNode)(` Nimbus 悬浮球 `),i.hideNimbus?(0,t.createCommentVNode)(`v-if`,!0):((0,t.openBlock)(),(0,t.createBlock)(CQt,{key:0,"is-minimize":(0,t.unref)(f),"onUpdate:isMinimize":n[4]||=e=>(0,t.isRef)(f)?f.value=e:null,"is-panel-show":(0,t.unref)(d),"onUpdate:isPanelShow":n[5]||=e=>(0,t.isRef)(d)?d.value=e:null,"default-minimize":i.defaultMinimize,size:i.nimbusSize,onClick:V},null,8,[`is-minimize`,`is-panel-show`,`default-minimize`,`size`])),(0,t.createCommentVNode)(` 划词选择弹窗(使用 chat-x 的 AiSelection 组件) `),i.enablePopup?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(ute),{key:1,visible:D.value,"onUpdate:visible":n[6]||=e=>D.value=e,"exclude-selectors":[`.draggable-container-wrapper`],"max-shortcut-count":i.shortcutLimit,shortcuts:L.value,onSelectShortcut:ne,onSelectionChange:te},null,8,[`visible`,`max-shortcut-count`,`shortcuts`])):(0,t.createCommentVNode)(`v-if`,!0)],2)],8,[`to`]))}}),[[`__scopeId`,`data-v-d0469064`]]);return e.AGUIProtocol=k9,e.AIBlueking=TQt,e.default=TQt,e.BluekingProtocol=oQt,e.BootstrapPhase=H9,e.ChatBot=$Zt,e.ChatBusinessManager=PZt,e.ComponentManager=IZt,e.DraggableContainer=bQt,e.MessageContentType=h,e.SessionBusinessManager=B9,e.ShortcutManager=V9,e.UIStateManager=BZt,e.createBluekingProtocol=sQt,e.createComponentManager=LZt,e.defaultProps=aQt,e.useChatBootstrap=eQt,e.useChatHelper=z9,e.useDraggable=vQt,e})({},Vue);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/ai-blueking",
|
|
3
|
-
"version": "2.0.0-dev.
|
|
3
|
+
"version": "2.0.0-dev.24",
|
|
4
4
|
"description": "AI 小鲸 V2 - 基于新架构的智能对话组件",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Tencent BlueKing",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"vue": "^3.5.24"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@blueking/chat-helper": "0.0.1-beta.
|
|
60
|
+
"@blueking/chat-helper": "0.0.1-beta.22",
|
|
61
61
|
"@blueking/chat-x": "0.0.1-beta.16",
|
|
62
62
|
"bkui-vue": "2.0.2-beta.81",
|
|
63
63
|
"tippy.js": "^6.3.7",
|