filecat 6.7.5 → 6.7.7

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.
@@ -1,2 +1,2 @@
1
- /*! For license information please see 9213.b5a57e055b13867f7890.js.LICENSE.txt */
2
- (self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[4627,9213],{5219(e){!function(){var t=function(e,n){var r=this;t.count=(t.count||0)+1,this.count=t.count,this.isOpened=!1,this.input=a(e),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-autocomplete","list"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-controls","awesomplete_list_"+this.count),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},function(e,t,n){for(var r in t){var a=t[r],i=e.input.getAttribute("data-"+r.toLowerCase());e[r]="number"==typeof a?parseInt(i):!1===a?null!==i:a instanceof Function?null:i,e[r]||0===e[r]||(e[r]=r in n?n[r]:a)}}(this,{minChars:2,maxItems:10,autoFirst:!1,data:t.DATA,filter:t.FILTER_CONTAINS,sort:!1!==n.sort&&t.SORT_BYLENGTH,container:t.CONTAINER,item:t.ITEM,replace:t.REPLACE,tabSelect:!1,listLabel:"Results List",statusNoResults:"No results found",statusXResults:"{0} results found",statusTypeXChar:"Type {0} or more characters for results"},n),this.index=-1,this.container=this.container(e),this.ul=a.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container,"aria-label":this.listLabel}),this.status=a.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:""}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(e){var t=e.keyCode;r.opened&&(13===t&&r.selected||9===t&&r.selected&&r.tabSelect?(e.preventDefault(),r.select(void 0,void 0,e)):27===t?r.close({reason:"esc"}):38!==t&&40!==t||(e.preventDefault(),r[38===t?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(e){e.preventDefault()},click:function(e){var t=e.target;if(t!==this){for(;t&&!/li/i.test(t.nodeName);)t=t.parentNode;t&&0===e.button&&(e.preventDefault(),r.select(t,e.target,e))}}}},a.bind(this.input,this._events.input),a.bind(this.input.form,this._events.form),a.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],t.all.push(this)};function n(e){var t=Array.isArray(e)?{label:e[0],value:e[1]}:"object"==typeof e&&"label"in e&&"value"in e?e:{label:e,value:e};this.label=t.label||t.value,this.value=t.value}t.prototype={set list(e){if(Array.isArray(e))this._list=e;else if("string"==typeof e&&e.indexOf(",")>-1)this._list=e.split(/\s*,\s*/);else if((e=a(e))&&e.children){var t=[];r.apply(e.children).forEach(function(e){if(!e.disabled){var n=e.textContent.trim(),r=e.value||n,a=e.label||n;""!==r&&t.push({label:a,value:r})}}),this._list=t}document.activeElement===this.input&&this.evaluate()},get selected(){return this.index>-1},get opened(){return this.isOpened},close:function(e){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),this.input.setAttribute("aria-activedescendant",""),a.fire(this.input,"awesomplete-close",e||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),a.fire(this.input,"awesomplete-open")},destroy:function(){if(a.unbind(this.input,this._events.input),a.unbind(this.input.form,this._events.form),!this.options.container){var e=this.container.parentNode;e.insertBefore(this.input,this.container),e.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-owns"),this.input.removeAttribute("role");var n=t.all.indexOf(this);-1!==n&&t.all.splice(n,1)},next:function(){var e=this.ul.children.length;this.goto(this.index<e-1?this.index+1:e?0:-1)},previous:function(){var e=this.ul.children.length,t=this.index-1;this.goto(this.selected&&-1!==t?t:e-1)},goto:function(e){var t=this.ul.children;this.selected&&t[this.index].setAttribute("aria-selected","false"),this.index=e,e>-1&&t.length>0&&(t[e].setAttribute("aria-selected","true"),this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=t[e].offsetTop-this.ul.clientHeight+t[e].clientHeight,a.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(e,t,n){if(e?this.index=a.siblingIndex(e):e=this.ul.children[this.index],e){var r=this.suggestions[this.index];a.fire(this.input,"awesomplete-select",{text:r,origin:t||e,originalEvent:n})&&(this.replace(r),this.close({reason:"select"}),a.fire(this.input,"awesomplete-selectcomplete",{text:r,originalEvent:n}))}},evaluate:function(){var e=this,t=this.input.value;t.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map(function(r){return new n(e.data(r,t))}).filter(function(n){return e.filter(n,t)}),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach(function(n,r){e.ul.appendChild(e.item(n,t,r))}),0===this.ul.children.length?(this.status.textContent=this.statusNoResults,this.close({reason:"nomatches"})):(this.input.setAttribute("aria-activedescendant",""),this.open(),this.status.textContent=this.statusXResults.replaceAll("{0}",this.ul.children.length))):(this.close({reason:"nomatches"}),this.minChar<=1||t.length>=this.minChars?this.status.textContent=this.statusNoResults:this.status.textContent=this.statusTypeXChar.replaceAll("{0}",this.minChars))}},t.all=[],t.FILTER_CONTAINS=function(e,t){return RegExp(a.regExpEscape(t.trim()),"i").test(e)},t.FILTER_STARTSWITH=function(e,t){return RegExp("^"+a.regExpEscape(t.trim()),"i").test(e)},t.SORT_BYLENGTH=function(e,t){return e.length!==t.length?e.length-t.length:e<t?-1:1},t.CONTAINER=function(e){return a.create("div",{className:"awesomplete",around:e})},t.ITEM=function(e,t,n){var r=""===t.trim()?e:e.replace(RegExp(a.regExpEscape(t.trim()),"gi"),"<mark>$&</mark>");return a.create("li",{innerHTML:r,role:"option","aria-selected":"false",tabindex:"-1",id:"awesomplete_list_"+this.count+"_item_"+n})},t.REPLACE=function(e){this.input.value=e.value},t.DATA=function(e){return e},Object.defineProperty(n.prototype=Object.create(String.prototype),"length",{get:function(){return this.label.length}}),n.prototype.toString=n.prototype.valueOf=function(){return""+this.label};var r=Array.prototype.slice;function a(e,t){return"string"==typeof e?(t||document).querySelector(e):e||null}function i(e,t){return r.call((t||document).querySelectorAll(e))}function o(){i("input.awesomplete").forEach(function(e){new t(e)})}a.create=function(e,t){var n=document.createElement(e);for(var r in t){var i=t[r];if("inside"===r)a(i).appendChild(n);else if("around"===r){var o=a(i);o.parentNode.insertBefore(n,o),n.appendChild(o),null!=o.getAttribute("autofocus")&&o.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},a.bind=function(e,t){if(e)for(var n in t){var r=t[n];n.split(/\s+/).forEach(function(t){e.addEventListener(t,r)})}},a.unbind=function(e,t){if(e)for(var n in t){var r=t[n];n.split(/\s+/).forEach(function(t){e.removeEventListener(t,r)})}},a.fire=function(e,t,n){var r=document.createEvent("HTMLEvents");for(var a in r.initEvent(t,!0,!0),n)r[a]=n[a];return e.dispatchEvent(r)},a.regExpEscape=function(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},a.siblingIndex=function(e){for(var t=0;e=e.previousElementSibling;t++);return t},"undefined"!=typeof self&&(self.Awesomplete=t),"undefined"!=typeof Document&&("loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)),t.$=a,t.$$=i,e.exports&&(e.exports=t)}()},6271(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>be});var r=n(6540),a=n(4284),i=n(9844),o=n(7952),s=n(5997),l=n(8247),c=n(3430),u=n(505),d=n(2042),m=n(2389),f=n(5907),p=n(3459),h=n(7361),v=n(7767),g=n(7444),b=n(6417),y=n(7690),E=n(3033),_=n(2693),w=n(3277);function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function A(e){var t=e.sessions,n=e.activeSessionId,a=e.onSelectSession,i=e.onRenameSession,o=e.onDeleteSession,l=e.onShowUsageStats,c=(0,m.Bd)().t,u=x((0,g.L4)(b.AG.ai_session_collapsed),2),d=u[0];u[1];return r.createElement("aside",{className:"chat-session-list ".concat(d?"active":""," ").concat(d?"collapsed":"")},t.map(function(e){return r.createElement("div",{key:e.id},r.createElement("button",{className:"chat-session-item ".concat(n===e.id?"active":""),onClick:function(){return a(e.id)},title:e.summary||e.long_term_memory||e.title},r.createElement("span",null,e.title||"新会话"),r.createElement("small",null,e.message_count),"cli"===e.source&&r.createElement("em",{className:"chat-session-source"},"CLI"),r.createElement(y.MenuSelect,{list:[{name:c("重命名"),click:function(){return i(e.id,e.title)}},{name:c("字符消耗统计"),click:function(){return l(e.id)}},{name:c("删除"),click:function(){return o(e.id)}}]},r.createElement(s.In,{icon:"more_horiz"}))))}))}function k(e){var t=e.pendingAttachments,n=e.onRemove;return 0===t.length?null:r.createElement("div",{className:"chat-attachment-strip"},t.map(function(e,t){return r.createElement("div",{key:"".concat(e.name,"_").concat(t),className:"chat-attachment-chip"},r.createElement(s.In,{icon:"attach_file"}),r.createElement("span",{title:e.name},e.name),r.createElement("button",{type:"button",onClick:function(){return n(t)}},r.createElement(s.In,{icon:"close"})))}))}function N(e){var t=e.inputValue,n=e.onInputChange,a=e.onKeyDown,i=e.onPaste,o=e.onSend,l=e.sending,c=e.pendingAttachments,u=e.onRemoveAttachment,d=e.onOpenFilePicker,f=e.onAddFiles,p=e.onDrop,h=e.onDragOver,v=e.fileInputRef,g=(0,m.Bd)().t;return r.createElement("div",{className:"chat-input-area",onDrop:p,onDragOver:h},r.createElement("input",{ref:v,type:"file",multiple:!0,style:{display:"none"},onChange:function(e){var t;null!==(t=e.target.files)&&void 0!==t&&t.length&&(f(e.target.files),e.currentTarget.value="")}}),r.createElement("div",{className:"chat-input-shell"},r.createElement(k,{pendingAttachments:c,onRemove:u}),r.createElement("textarea",{value:t,onChange:n,onPaste:i,onKeyDown:a,placeholder:g("输入消息"),className:"chat-input"})),r.createElement(s.rA,{title:g("添加文件"),icon:"attach_file",onClick:d}),!1===l?r.createElement(s.Vi,{text:g("发送"),clickFun:o}):r.createElement("div",{className:"ai-thinking-indicator"},r.createElement("div",{className:"ai-thinking-dots"},r.createElement("div",{className:"ai-thinking-dot"}),r.createElement("div",{className:"ai-thinking-dot"}),r.createElement("div",{className:"ai-thinking-dot"}))))}var I=n(6494);function O(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||C(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){if(e){if("string"==typeof e)return T(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(){try{var e=localStorage.getItem("ai_images_extra_params");if(e)return JSON.parse(e)}catch(e){}return{size:"1024x1024",n:1}}function F(e){var t,n=e.onClose,a=(0,m.Bd)().t,i=j((0,r.useState)(R),2),o=i[0],l=(i[1],j((0,r.useState)(o.size||"1024x1024"),2)),c=l[0],u=l[1],d=j((0,r.useState)(String(null!==(t=o.n)&&void 0!==t?t:1)),2),f=d[0],p=d[1],h=j((0,r.useState)(o.quality||""),2),v=h[0],g=h[1],b=j((0,r.useState)(o.style||""),2),y=b[0],_=b[1],w=j((0,r.useState)(o.extra_json||""),2),x=w[0],S=w[1];return r.createElement("div",{className:"card images-params-card"},r.createElement("h3",null,a("图片生成参数设置")),r.createElement("p",{className:"images-params-hint"},"不同模型支持的参数不同,请参考模型文档。常见 size 值: 1024x1024, 1792x1024, 1024x1792 (DALL-E 3)"),r.createElement("div",{className:"images-params-fields"},r.createElement("div",null,r.createElement("label",null,"size (图片尺寸)"),r.createElement(E.Sm,{value:c,handleInputChange:u,no_border:!1})),r.createElement("div",null,r.createElement("label",null,"n (生成数量)"),r.createElement(E.Sm,{value:f,handleInputChange:p,no_border:!1})),r.createElement("div",null,r.createElement("label",null,'quality (画质, 如 "standard" / "hd")'),r.createElement(E.Sm,{value:v,handleInputChange:g,no_border:!1})),r.createElement("div",null,r.createElement("label",null,'style (风格, 如 "vivid" / "natural")'),r.createElement(E.Sm,{value:y,handleInputChange:_,no_border:!1})),r.createElement("div",null,r.createElement("label",null,"额外参数 (JSON,会合并到请求体中)"),r.createElement(E.Sm,{value:x,handleInputChange:S,no_border:!1}))),r.createElement("div",{className:"images-params-actions"},r.createElement(s.rA,{icon:"close",title:a("取消"),onClick:n}),r.createElement(s.rA,{icon:"save",title:a("保存"),onClick:function(){var e={size:c,n:parseInt(f)||1};v&&(e.quality=v),y&&(e.style=y),x&&(e.extra_json=x),function(e){localStorage.setItem("ai_images_extra_params",JSON.stringify(e))}(e),n()}})))}function L(){var e,t=(0,m.Bd)().t,n=j((0,g.L4)(b.AG.ai_request_type),2),a=n[0],i=n[1],o=j((0,r.useState)(!1),2),s=o[0],l=o[1],c=(0,I.r)(),u=null!==(e=c.find(function(e){return e.value===a}))&&void 0!==e?e:c[0];return r.createElement(r.Fragment,null,r.createElement(y.MenuSelect,{list:[].concat(O(c.map(function(e){return{name:e.label,click:function(){return i(e.value)}}})),O("images"===a?[{name:t("图片参数设置"),click:function(){return l(!0)}}]:[]),O("audio_speech"===a?[{name:t("语音参数设置"),click:function(){var e=localStorage.getItem("ai_audio_extra_params"),n=e?JSON.parse(e):{},r=n.voice||"alloy",a=n.speed||"1.0",i=prompt(t("输入 voice (如 alloy, echo, fable, onyx, nova, shimmer)"),r);if(null!==i){var o=prompt(t("输入 speed (0.25 ~ 4.0)"),a);null!==o&&localStorage.setItem("ai_audio_extra_params",JSON.stringify({voice:i,speed:parseFloat(o)||1}))}}}]:[]))},r.createElement("div",{className:"menu-select-trigger"},r.createElement("span",null,u.label),r.createElement("span",{className:"menu-select-arrow"},"▾"))),s&&r.createElement("div",{className:"modal-overlay",onClick:function(){return l(!1)}},r.createElement("div",{onClick:function(e){return e.stopPropagation()}},r.createElement(F,{onClose:function(){return l(!1)}}))))}var D=n(4299);function P(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return J(c,"_invoke",function(n,r,a){var i,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,l=e,m.n=n,o}};function f(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,i=u[t],f=m.p,p=i[2];n>3?(a=p===r)&&(l=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((a=n<2&&f<i[1])?(s=0,m.v=r,m.n=i[1]):f<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,m.n=p,s=0))}if(a||n>1)return o;throw d=!0,r}return function(a,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),s=u,l=p;(t=s<2?e:l)||!d;){i||(s?s<3?(s>1&&(m.n=-1),f(s,l)):m.n=l:m.v=l);try{if(c=2,i){if(s||(a="next"),t=i[a]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);i=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==o)break}catch(t){i=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(J(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,J(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,J(d,"constructor",c),J(c,"constructor",l),l.displayName="GeneratorFunction",J(c,a,"GeneratorFunction"),J(d),J(d,a,"Generator"),J(d,r,function(){return this}),J(d,"toString",function(){return"[object Generator]"}),(G=function(){return{w:i,m}})()}function J(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}J=function(e,t,n,r){function i(t,n){J(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},J(e,t,n,r)}function M(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function H(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){M(i,r,a,o,s,"next",e)}function s(e){M(i,r,a,o,s,"throw",e)}o(void 0)})}}function V(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||q(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return z(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $(e){var t=e.images,n=e.text,a=t||[];if(!a.length&&n)try{a=JSON.parse(n).data||[]}catch(e){}return a.length?r.createElement("div",{className:"image-generation-result"},a.map(function(e,t){return r.createElement("div",{key:t,className:"image-generation-item"},e.url&&r.createElement("div",{className:"image-generation-image-wrapper"},r.createElement("img",{src:e.url,alt:e.revised_prompt||"生成的图片 ".concat(t+1),loading:"lazy"})),e.b64_json&&r.createElement("div",{className:"image-generation-image-wrapper"},r.createElement("img",{src:"data:image/png;base64,".concat(e.b64_json),alt:"生成的图片 ".concat(t+1)})),e.revised_prompt&&r.createElement("p",{className:"image-generation-prompt"},r.createElement("small",null,e.revised_prompt)))}),n&&!t&&r.createElement(D.default,{context:n})):r.createElement(D.default,{context:n||""})}function B(e){var t=e.audio,n=e.text;if(t){if(t.url)return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:t.url},"您的浏览器不支持音频播放"));if(t.data){var a=t.mime_type||"audio/mpeg";return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:"data:".concat(a,";base64,").concat(t.data)},"您的浏览器不支持音频播放"))}}var i=n||"";if(i.startsWith("http://")||i.startsWith("https://"))return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:i},"您的浏览器不支持音频播放"));try{var o=JSON.parse(i);if(null!=o&&o.data||null!=o&&o.audio_data){var s=o.data||o.audio_data;return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:"data:audio/mpeg;base64,".concat(s)},"您的浏览器不支持音频播放"))}}catch(e){}return r.createElement(D.default,{context:i})}function K(e){var t=e.content,n=e.label,a=V(r.useState(!1),2),i=a[0],o=a[1];return r.createElement("button",{className:"embeddings-copy-btn",onClick:function(){(0,u.lW)(t),o(!0),setTimeout(function(){return o(!1)},1500)}},r.createElement(s.In,{icon:i?"check":"content_copy"}),i?"已复制":n||"复制")}function U(e){var t,n,a,i,o,s,l,c=e.embeddings,u=e.text,d=c||null;if(!d&&u)try{d=JSON.parse(u)}catch(e){return r.createElement(D.default,{context:u})}if(!d)return r.createElement(D.default,{context:u||""});var m=(null===(t=d)||void 0===t?void 0:t.data)||[],f=null===(n=d)||void 0===n?void 0:n.usage,p=JSON.stringify(d,null,2);return r.createElement("div",{className:"embeddings-result"},r.createElement("div",{className:"embeddings-summary"},r.createElement("strong",null,"向量嵌入结果"),r.createElement("span",null,"维度: ",null!==(a=null===(i=m[0])||void 0===i||null===(i=i.embedding)||void 0===i?void 0:i.length)&&void 0!==a?a:"N/A"),r.createElement("span",null,"数量: ",m.length),f&&r.createElement("span",null,"使用 tokens: ",null!==(o=f.total_tokens)&&void 0!==o?o:"N/A")),r.createElement("div",{className:"embeddings-toolbar"},r.createElement(K,{content:p,label:"复制全部结果"}),m.length>0&&(null===(s=m[0])||void 0===s?void 0:s.embedding)&&r.createElement(K,{content:JSON.stringify(m[0].embedding,null,2),label:"复制第一条向量"}),m.length>0&&r.createElement(K,{content:JSON.stringify(m.map(function(e){return e.embedding}),null,2),label:"复制所有向量数据"})),m.length>0&&(null===(l=m[0])||void 0===l?void 0:l.embedding)&&r.createElement("div",{className:"embeddings-preview"},r.createElement("span",null,"向量预览: [",m[0].embedding.slice(0,5).join(", "),m[0].embedding.length>5?", ...":"","]")),m.length>0&&r.createElement("details",null,r.createElement("summary",null,"查看详细数据"),r.createElement("pre",{className:"embeddings-raw"},p)))}function W(){try{var e=localStorage.getItem("ai_images_extra_params");if(e)return JSON.parse(e)}catch(e){}return{}}function X(e,t){return Y.apply(this,arguments)}function Y(){return(Y=H(G().m(function e(t,n){var r,i,o,s,l,c,u,d,m;return G().w(function(e){for(;;)switch(e.n){case 0:if(o=W(),s={prompt:t,n:null!==(r=o.n)&&void 0!==r?r:1,size:null!==(i=o.size)&&void 0!==i?i:"1024x1024",session_id:n},o.quality&&(s.quality=o.quality),o.style&&(s.style=o.style),o.extra_json)try{l=JSON.parse(o.extra_json),Object.assign(s,l)}catch(e){console.warn("图片额外参数 JSON 解析失败:",e)}return e.n=1,a.jV.post("images/generations",s);case 1:if(0===(c=e.v).code){e.n=2;break}throw new Error(c.message||"图片生成失败");case 2:return u=c.data||{},d=(u.data||[]).map(function(e){return{url:e.url,b64_json:e.b64_json,revised_prompt:e.revised_prompt}}),m=d.map(function(e,t){return"![生成图片".concat(t+1,"](").concat(e.url||"data:image/png;base64,".concat(e.b64_json),")").concat(e.revised_prompt?"\n> ".concat(e.revised_prompt):"")}).join("\n\n"),e.a(2,{session_id:u.session_id||n,images:d,text:m||"生成了 ".concat(d.length," 张图片")})}},e)}))).apply(this,arguments)}function Z(e,t){return Q.apply(this,arguments)}function Q(){return(Q=H(G().m(function e(t,n){var r,a,i,o,s,l,c,u;return G().w(function(e){for(;;)switch(e.n){case 0:r={input:t,session_id:n};try{(a=localStorage.getItem("ai_audio_extra_params"))&&((i=JSON.parse(a)).voice&&(r.voice=i.voice),i.speed&&(r.speed=parseFloat(i.speed)))}catch(e){}return o=localStorage.getItem("token")||"",e.n=1,fetch("/api/ai_agent/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:o},body:JSON.stringify(r)});case 1:if((s=e.v).ok){e.n=2;break}throw new Error("语音合成失败: ".concat(s.statusText));case 2:return l=s.headers.get("X-Session-Id")||n,e.n=3,s.arrayBuffer();case 3:return c=e.v,u=btoa(String.fromCharCode.apply(String,P(Array.from(new Uint8Array(c))))),e.a(2,{session_id:l,audio:{data:u,mime_type:s.headers.get("content-type")||"audio/mpeg"},text:"[音频文件: ".concat(t.slice(0,50),"...]")})}},e)}))).apply(this,arguments)}function ee(e,t){return te.apply(this,arguments)}function te(){return(te=H(G().m(function e(t,n){var r,i,o,s,l,c,u,d;return G().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("embeddings",{input:t,session_id:n});case 1:if(0===(s=e.v).code){e.n=2;break}throw new Error(s.message||"Embeddings 请求失败");case 2:return l=s.data||{},c=null!==(r=null==l?void 0:l.data)&&void 0!==r?r:[],u=null!==(i=null===(o=c[0])||void 0===o||null===(o=o.embedding)||void 0===o?void 0:o.length)&&void 0!==i?i:0,d="向量维度: ".concat(u,", 数量: ").concat(c.length),e.a(2,{session_id:l.session_id||n,embeddings:l,text:"✅ Embeddings 结果 - ".concat(d,"\n```json\n").concat(JSON.stringify(l,null,2).slice(0,2e3),"\n```")})}},e)}))).apply(this,arguments)}function ne(e,t,n,r){return re.apply(this,arguments)}function re(){return(re=H(G().m(function e(t,n,r,a){var i,o,s,l,c;return G().w(function(e){for(;;)switch(e.p=e.n){case 0:e.p=0,l=t,e.n="images"===l?1:"audio_speech"===l?3:"embeddings"===l?5:7;break;case 1:return e.n=2,X(n,r);case 2:return(i=e.v)&&a(i.text,{images:i.images}),e.a(2,!0);case 3:return e.n=4,Z(n,r);case 4:return(o=e.v)&&a(o.text,{audio:o.audio}),e.a(2,!0);case 5:return e.n=6,ee(n,r);case 6:return(s=e.v)&&a(s.text,{embeddings:s.embeddings}),e.a(2,!0);case 7:return e.a(2,!1);case 8:e.n=10;break;case 9:return e.p=9,c=e.v,a("请求失败: ".concat((null==c?void 0:c.message)||JSON.stringify(c))),e.a(2,!0);case 10:return e.a(2)}},e,null,[[0,9]])}))).apply(this,arguments)}function ae(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return ie(c,"_invoke",function(n,r,a){var i,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,l=e,m.n=n,o}};function f(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,i=u[t],f=m.p,p=i[2];n>3?(a=p===r)&&(l=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((a=n<2&&f<i[1])?(s=0,m.v=r,m.n=i[1]):f<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,m.n=p,s=0))}if(a||n>1)return o;throw d=!0,r}return function(a,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),s=u,l=p;(t=s<2?e:l)||!d;){i||(s?s<3?(s>1&&(m.n=-1),f(s,l)):m.n=l:m.v=l);try{if(c=2,i){if(s||(a="next"),t=i[a]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);i=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==o)break}catch(t){i=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(ie(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,ie(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,ie(d,"constructor",c),ie(c,"constructor",l),l.displayName="GeneratorFunction",ie(c,a,"GeneratorFunction"),ie(d),ie(d,a,"Generator"),ie(d,r,function(){return this}),ie(d,"toString",function(){return"[object Generator]"}),(ae=function(){return{w:i,m}})()}function ie(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}ie=function(e,t,n,r){function i(t,n){ie(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},ie(e,t,n,r)}function oe(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=de(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function se(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function le(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){se(i,r,a,o,s,"next",e)}function s(e){se(i,r,a,o,s,"throw",e)}o(void 0)})}}function ce(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||de(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||de(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function de(e,t){if(e){if("string"==typeof e)return me(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(e,t):void 0}}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e){var t,n;return null!==(t=e.type)&&void 0!==t&&t.startsWith("image/")?"image":null!==(n=e.type)&&void 0!==n&&n.startsWith("text/")||/\.(md|txt|json|js|jsx|ts|tsx|css|html?|xml|ya?ml|py|java|go|rs|c|cpp|h|hpp|sh|bat|cmd|ini|toml|csv|log|sql|env|gitignore|dockerfile)$/i.test(e.name)?"text":"binary"}function pe(e){return e.text()}function he(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){return t(r.result)},r.onerror=n,r.readAsDataURL(e)})}function ve(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){return"user"===e.role||"assistant"===e.role}).map(function(e,t){var n;return{id:Date.now()+t,sender:"assistant"===e.role?"bot":"user",text:(0,w.$j)(e.content),attachments:null!==(n=e.attachments)&&void 0!==n?n:[],images:e.images,audio:e.audio,embeddings:e.embeddings}})}function ge(e){return e.map(function(e){var t;return{role:"bot"===e.sender?"assistant":"user",content:e.text,attachments:null!==(t=e.attachments)&&void 0!==t?t:[],images:e.images,audio:e.audio,embeddings:e.embeddings}})}function be(){var e,t,n=ue((0,r.useState)([]),2),x=n[0],S=n[1],k=ue((0,r.useState)([]),2),O=k[0],j=k[1],C=ue((0,r.useState)(""),2),T=C[0],R=C[1],F=ue((0,g.L4)(b.AG.ai_session_collapsed),2),P=F[0],G=F[1],J=ue((0,r.useState)([]),2),M=J[0],H=J[1],V=ue((0,g.L4)(b.AG.ai_request_type),2),q=V[0];V[1];(0,_.w)();var z=(0,I.r)(),K=(0,m.Bd)().t,W=(0,r.useRef)(null),X=ue((0,g.L4)(b.AG.prompt_card),2),Y=(X[0],X[1]),Z=(0,r.useRef)((0,i.sg)(function(e){S(e),_e.current&&ke(!1)},50)).current,Q=ue((0,r.useState)(!1),2),ee=Q[0],te=Q[1],re=(0,l.MH)().check_user_auth,ie=ue((0,r.useState)(""),2),se=ie[0],de=ie[1],me=(0,r.useRef)(null),be=(0,r.useRef)(null),ye=(0,f.y)(),Ee=(0,v.Zp)(),_e=(0,r.useRef)(!0),we=(0,r.useRef)(new w.qq),xe=ue((0,r.useState)([]),2),Se=xe[0],Ae=xe[1],ke=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=be.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},Ne=function(e){var t=Array.from(null!=e?e:[]).filter(Boolean);t.length&&H(function(e){return[].concat(ce(e),ce(t))})},Ie=function(){var e=le(ae().m(function e(t){var n,r,a,i,o,s,l,c,u;return ae().w(function(e){for(;;)switch(e.p=e.n){case 0:n=[],r=oe(t),e.p=1,r.s();case 2:if((a=r.n()).done){e.n=15;break}if(i=a.value,o=fe(i),s="","text"!==o){e.n=7;break}return e.p=3,e.n=4,pe(i);case 4:l=e.v,c=12e4,s=l.length>c?"".concat(l.slice(0,c),"\n\n[内容已截断,原始长度 ").concat(l.length," 字符]"):l,e.n=6;break;case 5:e.p=5,e.v,s="[文本读取失败]";case 6:e.n=13;break;case 7:if("image"!==o){e.n=12;break}return e.p=8,e.n=9,he(i);case 9:s=e.v,e.n=11;break;case 10:e.p=10,e.v,s="[图片文件: ".concat(i.name,"]");case 11:e.n=13;break;case 12:s="[二进制文件: ".concat(i.name,"]");case 13:n.push({name:i.name,mime_type:i.type,size:i.size,kind:o,content:s});case 14:e.n=2;break;case 15:e.n=17;break;case 16:e.p=16,u=e.v,r.e(u);case 17:return e.p=17,r.f(),e.f(17);case 18:return e.a(2,n)}},e,null,[[8,10],[3,5],[1,16,17,18]])}));return function(t){return e.apply(this,arguments)}}(),Oe=function(){var e=le(ae().m(function e(t){var n,r,i,o,s,l,c;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.get("sessions");case 1:if((s=e.v).code===p.m.Success){e.n=2;break}return e.a(2);case 2:if(l=null!==(n=s.data)&&void 0!==n?n:[],j(l),!(c=null===t?null!==(r=null===(i=l[0])||void 0===i?void 0:i.id)&&void 0!==r?r:"":t||T||(null===(o=l[0])||void 0===o?void 0:o.id)||"")){e.n=4;break}return e.n=3,Ce(c);case 3:e.n=5;break;case 4:S([]),R("");case 5:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),je=function(){var e=le(ae().m(function e(){var t,n;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.get("sessions");case 1:(t=e.v).code===p.m.Success&&j(null!==(n=t.data)&&void 0!==n?n:[]);case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Ce=function(){var e=le(ae().m(function e(t){var n,r,i,o=arguments;return ae().w(function(e){for(;;)switch(e.n){case 0:return n=o.length>1&&void 0!==o[1]&&o[1],e.n=1,a.jV.post("session/get",{session_id:t});case 1:if((r=e.v).code===p.m.Success&&r.data){e.n=2;break}return e.a(2);case 2:i=r.data,R(i.id),S(ve(i.messages)),n&&G(!1),requestAnimationFrame(function(){return ke(!1)});case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Te=function(){var e=le(ae().m(function e(t){var n,r;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("session",{title:"新会话"});case 1:if((n=e.v).code===p.m.Success){e.n=2;break}return e.a(2);case 2:return r=n.data,R(r.id),t?(de(t),S([])):S([]),G(!1),e.n=3,Oe(r.id);case 3:requestAnimationFrame(function(){var e=document.querySelector(".chat-input");e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,200)+"px")});case 4:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Re=function(){var e=le(ae().m(function e(){var t,n,r;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.XO.get("ai_agent_setting/env");case 1:return(t=e.v).code===p.m.Success&&(we.current=t.data),e.n=2,Oe();case 2:return e.n=3,a.jV.get("system_prompts");case 3:(n=e.v).code===p.m.Success&&Ae(null!==(r=n.data)&&void 0!==r?r:[]);case 4:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();(0,r.useEffect)(function(){Re(),requestAnimationFrame(function(){ke(!1)})},[]),(0,r.useEffect)(function(){var e=be.current;if(e){var t=function(){_e.current=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120,n=e.scrollTop;return e.scrollHeight-(n+e.clientHeight)<t}(e)};return e.addEventListener("scroll",t),function(){return e.removeEventListener("scroll",t)}}},[]),(0,r.useLayoutEffect)(function(){_e.current&&ke(!1)},[x]);var Fe=function(e){var t,n,r=(null!==(t=e.attachments)&&void 0!==t?t:[]).filter(function(e){return"image"===e.kind});if(r.length>0){var a,i=[];e.text&&i.push({type:"text",text:e.text});var o,s=oe(r);try{for(s.s();!(o=s.n()).done;){var l=o.value;i.push({type:"image_url",image_url:{url:l.content}})}}catch(e){s.e(e)}finally{s.f()}return[{content:i,role:"user",attachments:null!==(a=e.attachments)&&void 0!==a?a:[]}]}return[{content:e.text,role:"bot"===e.sender?"assistant":"user",attachments:null!==(n=e.attachments)&&void 0!==n?n:[]}]},Le=function(){var e=le(ae().m(function e(){var t,n,r,o,s,l,c,u,d,m,f;return ae().w(function(e){for(;;)switch(e.n){case 0:if(t=se.trim(),!ee&&(t||0!==M.length)){e.n=1;break}return e.a(2);case 1:if(n=T){e.n=4;break}return e.n=2,a.jV.post("session",{title:(t||(null===(r=M[0])||void 0===r?void 0:r.name)||"新会话").slice(0,28)});case 2:if((o=e.v).code===p.m.Success){e.n=3;break}return e.a(2);case 3:return s=o.data,n=s.id,R(n),e.n=4,Oe(n);case 4:return e.n=5,Ie(M);case 5:if(l=e.v,c={id:Date.now(),sender:"user",text:t,attachments:l},u=[].concat(ce(x),[c]),S(u),de(""),H([]),te(!0),"completions"===q){e.n=7;break}return d={id:c.id+1,sender:"bot",text:"处理中..."},u.push(d),S(ce(u)),e.n=6,ne(q,t,n,function(){var e=le(ae().m(function e(t,n){return ae().w(function(e){for(;;)switch(e.n){case 0:d.text=t,null!=n&&n.images&&(d.images=n.images),null!=n&&n.audio&&(d.audio=n.audio),null!=n&&n.embeddings&&(d.embeddings=n.embeddings),S(ce(u)),te(!1),je(),ke(!0);case 1:return e.a(2)}},e)}));return function(t,n){return e.apply(this,arguments)}}());case 6:return e.v||(d.text='请求类型 "'.concat(q,'" 的专用处理器尚未实现,请使用 completions 类型。'),S(ce(u)),te(!1)),e.a(2);case 7:m={id:c.id+1,sender:"bot",text:"AI思考中..."},u.push(m),S(ce(u)),f=!0,a.jV.sse_post("chat",{messages:Fe(c),session_id:n},{onMessage:function(e){f&&(m.text="",f=!1);try{var t,n,r,a=JSON.parse(e),i="string"==typeof a?a:null!==(t=null==a||null===(n=a.choices)||void 0===n||null===(n=n[0])||void 0===n||null===(n=n.delta)||void 0===n?void 0:n.content)&&void 0!==t?t:null==a||null===(r=a.choices)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.message)||void 0===r?void 0:r.content;i&&(m.text+=i)}catch(t){try{m.text+=JSON.parse(e)}catch(t){m.text+=e}}Z(ce(u))},onDone:(0,i.nF)(le(ae().m(function e(){return ae().w(function(e){for(;;)switch(e.n){case 0:return te(!1),e.n=1,je();case 1:ke(!0);case 2:return e.a(2)}},e)})),100)});case 8:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),De=function(){var e=le(ae().m(function e(t){return ae().w(function(e){for(;;)switch(e.n){case 0:(0,u.lW)(t),(0,d.LW)("复制成功");case 1:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Pe=function(){var e=le(ae().m(function e(t){var n,i,o;return ae().w(function(e){for(;;)switch(e.p=e.n){case 0:return Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-loading"},K("加载中...")),cancel:function(){return Y({open:!1})}}),e.p=1,e.n=2,a.jV.post("session/usage_stats",{session_id:t});case 2:(n=e.v).code===p.m.Success&&n.data?(o=n.data,Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-panel"},[{l:K("对话轮次"),v:(null!==(i=o.turns)&&void 0!==i?i:0).toString()},{l:K("AI输入字符"),v:Ge(o.input_chars)},{l:K("AI输出字符"),v:Ge(o.output_chars)},{l:K("AI输入字符(最近一轮)"),v:Ge(o.recent_input_chars)},{l:K("AI输出字符(最近一轮)"),v:Ge(o.recent_output_chars)}].map(function(e,t){return r.createElement("div",{key:t,className:"usage-stats-row"},r.createElement("span",{className:"usage-stats-label"},e.l),r.createElement("span",{className:"usage-stats-value"},e.v))}),r.createElement("div",{className:"usage-stats-row usage-stats-total"},r.createElement("span",{className:"usage-stats-label"},K("AI字符总计消耗")),r.createElement("span",{className:"usage-stats-value"},Ge((o.input_chars||0)+(o.output_chars||0))))),cancel:function(){return Y({open:!1})}})):Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-empty"},K("暂无统计数据")),cancel:function(){return Y({open:!1})}}),e.n=4;break;case 3:e.p=3,e.v,Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-empty"},K("暂无统计数据")),cancel:function(){return Y({open:!1})}});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(t){return e.apply(this,arguments)}}(),Ge=function(e){return null==e||e<0?"0":e.toLocaleString()};return r.createElement(r.Fragment,null,r.createElement(o.A,null,r.createElement(s.rA,{icon:"menu",title:K("会话"),onClick:function(){window.innerWidth<=736?G(!0):G(function(e){return!e})}}),r.createElement(s.rA,{icon:"add",title:K("新会话"),onClick:function(){return Te()}}),Se.length>0&&r.createElement(y.MenuSelect,{list:Se.map(function(e,t){return{name:e.note||"".concat(K("提示词")," ").concat(t+1),click:function(){e.prompt&&Te(e.prompt)}}})},r.createElement(s.rA,{icon:"add_comment",title:K("提示词模板创建会话")})),r.createElement(L,null),r.createElement(s.rA,{icon:"delete_sweep",title:K("清空全部会话"),onClick:function(){var e;ye({sub_title:K("确认删除全部聊天会话吗?"),confirm_fun:(e=le(ae().m(function e(){return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("sessions/clear",{});case 1:return e.n=2,Re();case 2:return e.a(2)}},e)})),function(){return e.apply(this,arguments)})})}}),re(c.oV.ai_agent_setting)&&r.createElement(s.rA,{icon:"settings",title:"ai setting",onClick:function(){Ee("/".concat(h.o.ai_agent_setting_page))}})),r.createElement("div",{className:"chat-page chat-page-with-sessions"},P&&r.createElement("div",{className:"chat-session-overlay",onClick:function(){return G(!1)}}),r.createElement(A,{sessions:O,activeSessionId:T,onSelectSession:function(e){return Ce(e,!1)},onRenameSession:function(e,t){var n,i=t;ye({confirm_fun:(n=le(ae().m(function t(){return ae().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,a.jV.post("sessions/update/meta",{id:e,title:i});case 1:return t.n=2,Oe(T);case 2:return t.a(2)}},t)})),function(){return n.apply(this,arguments)}),context_div:r.createElement("div",{className:"card-content"},r.createElement(E.Sm,{value:i,handleInputChange:function(e){return i=e}}))})},onDeleteSession:function(e){var t;ye({sub_title:"确认删除这个会话吗?",confirm_fun:(t=le(ae().m(function t(){return ae().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,a.jV.post("session/delete",{session_id:e});case 1:if(T!==e){t.n=3;break}return R(""),t.n=2,Oe(null);case 2:t.n=4;break;case 3:return t.n=4,Oe(T);case 4:return t.a(2)}},t)})),function(){return t.apply(this,arguments)})})},onShowUsageStats:Pe}),r.createElement("section",{className:"chat-main"},0===(null==x?void 0:x.length)&&r.createElement("div",{className:"chat-header"},"completions"===q?K("询问服务器的一切"):null!==(e=null===(t=z.find(function(e){return e.value===q}))||void 0===t?void 0:t.label)&&void 0!==e?e:q),r.createElement("div",{className:"chat-messages",ref:be},x.map(function(e){return r.createElement("div",{key:e.id,className:"chat-message ".concat(e.sender)},function(e){var t=e.attachments&&e.attachments.length>0?r.createElement("div",{className:"chat-message-attachments"},e.attachments.map(function(e,t){return r.createElement("div",{key:"".concat(e.name,"_").concat(t),className:"chat-message-attachment"},r.createElement(s.In,{icon:"attach_file"}),r.createElement("span",null,e.name),r.createElement("small",null,e.size," B"))})):null,n=[];return e.images&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"images"},r.createElement($,{images:e.images,text:e.text}))),e.audio&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"audio"},r.createElement(B,{audio:e.audio,text:e.text}))),e.embeddings&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"embeddings"},r.createElement(U,{embeddings:e.embeddings,text:e.text}))),0===n.length?r.createElement(r.Fragment,null,t,r.createElement(D.default,{context:e.text})):r.createElement(r.Fragment,null,n,t,e.text&&r.createElement(D.default,{context:e.text}))}(e),r.createElement("div",{className:"message-actions"},r.createElement("button",{onClick:function(){return t=e.id,n=x.filter(function(e){return e.id!==t}),S(n),void(T&&a.jV.post("session/messages",{session_id:T,messages:ge(n)}).catch(console.error));var t,n}},K("删除")),r.createElement("button",{onClick:function(){return De(e.text)}},K("复制"))))}),r.createElement("div",{ref:me})),r.createElement(N,{inputValue:se,onInputChange:function(e){var t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,200)+"px",de(t.value)},onKeyDown:function(e){"Process"===e.key||e.nativeEvent.isComposing||e.shiftKey||e.ctrlKey||"Enter"===e.key&&(e.preventDefault(),Le())},onPaste:function(e){var t,n=null===(t=e.clipboardData)||void 0===t?void 0:t.files;n&&n.length>0&&(e.preventDefault(),Ne(n))},onSend:Le,sending:ee,pendingAttachments:M,onRemoveAttachment:function(e){H(function(t){return t.filter(function(t,n){return n!==e})})},onOpenFilePicker:function(){var e;null===(e=W.current)||void 0===e||e.click()},onAddFiles:Ne,onDrop:function(e){var t,n=null===(t=e.dataTransfer)||void 0===t?void 0:t.files;n&&n.length>0&&(e.preventDefault(),Ne(n))},onDragOver:function(e){var t;null!==(t=e.dataTransfer)&&void 0!==t&&null!==(t=t.types)&&void 0!==t&&t.includes("Files")&&e.preventDefault()},fileInputRef:W}))))}},2693(e,t,n){"use strict";n.d(t,{w:()=>m});var r=n(6540),a=n(2389),i=n(4944),o=n(4188),s=n(7444),l=n(6417),c=n(5997);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(){var e=u((0,s.L4)(l.AG.prompt_card),2),t=(e[0],e[1]),n=(0,a.Bd)().t,d=(0,r.useRef)([]),m=(0,r.useRef)(!1),f=(0,r.useCallback)(function(){if(!m.current){if(0===d.current.length)return m.current=!1,void t({open:!1});m.current=!0;var e=d.current.shift();e?t({open:!0,title:n("命令确认"),cancel:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!1}),t({open:!1}),m.current=!1,f()},context_div:r.createElement("div",null,r.createElement("span",null,e.cmd),r.createElement(c.$n,{text:n("允许"),clickFun:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!0}),t({open:!1}),m.current=!1,f()}}),r.createElement(c.$n,{text:n("拒绝"),color:"var(--red)",clickFun:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!1}),t({open:!1}),m.current=!1,f()}}))}):m.current=!1}},[n]),p=(0,r.useCallback)(function(e){d.current.push(e),f()},[f]);(0,r.useEffect)(function(){return i.ws.addMsg(o.HK.ai_confirm_cmd,function(e){var t=e.context||{};t.askId&&t.cmd&&p({askId:t.askId,cmd:t.cmd})}),function(){i.ws.removeMsg(o.HK.ai_confirm_cmd)}},[p]),(0,r.useEffect)(function(){return function(){d.current=[],m.current=!1}},[])}},1028(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(1601),a=n.n(r),i=n(6314),o=n.n(i)()(a());o.push([e.id,'.awesomplete [hidden] {\n display: none;\n}\n\n.awesomplete .visually-hidden {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n}\n\n.awesomplete {\n display: inline-block;\n position: relative;\n}\n\n.awesomplete > input {\n display: block;\n}\n\n.awesomplete > ul {\n position: absolute;\n left: 0;\n z-index: 1;\n min-width: 100%;\n box-sizing: border-box;\n list-style: none;\n padding: 0;\n margin: 0;\n background: #fff;\n}\n\n.awesomplete > ul:empty {\n display: none;\n}\n\n.awesomplete > ul {\n\tborder-radius: .3em;\n\tmargin: .2em 0 0;\n\tbackground: hsla(0,0%,100%,.9);\n\tbackground: linear-gradient(to bottom right, white, hsla(0,0%,100%,.8));\n\tborder: 1px solid rgba(0,0,0,.3);\n\tbox-shadow: .05em .2em .6em rgba(0,0,0,.2);\n\ttext-shadow: none;\n}\n\n@supports (transform: scale(0)) {\n\t.awesomplete > ul {\n\t\ttransition: .3s cubic-bezier(.4,.2,.5,1.4);\n\t\ttransform-origin: 1.43em -.43em;\n\t}\n\t\n\t.awesomplete > ul[hidden],\n\t.awesomplete > ul:empty {\n\t\topacity: 0;\n\t\ttransform: scale(0);\n\t\tdisplay: block;\n\t\tvisibility: hidden;\n\t\ttransition-timing-function: ease;\n\t}\n}\n\n\t/* Pointer */\n\t.awesomplete > ul:before {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t\ttop: -.43em;\n\t\tleft: 1em;\n\t\twidth: 0; height: 0;\n\t\tpadding: .4em;\n\t\tbackground: white;\n\t\tborder: inherit;\n\t\tborder-right: 0;\n\t\tborder-bottom: 0;\n\t\t-webkit-transform: rotate(45deg);\n\t\ttransform: rotate(45deg);\n\t}\n\n\t.awesomplete > ul > li {\n\t\tposition: relative;\n\t\tpadding: .2em .5em;\n\t\tcursor: pointer;\n\t}\n\t\n\t.awesomplete > ul > li:hover {\n\t\tbackground: hsl(200, 40%, 80%);\n\t\tcolor: black;\n\t}\n\t\n\t.awesomplete > ul > li[aria-selected="true"] {\n\t\tbackground: hsl(205, 40%, 40%);\n\t\tcolor: white;\n\t}\n\t\n\t\t.awesomplete mark {\n\t\t\tbackground: hsl(65, 100%, 50%);\n\t\t}\n\t\t\n\t\t.awesomplete li:hover mark {\n\t\t\tbackground: hsl(68, 100%, 41%);\n\t\t}\n\t\t\n\t\t.awesomplete li[aria-selected="true"] mark {\n\t\t\tbackground: hsl(86, 100%, 21%);\n\t\t\tcolor: inherit;\n\t\t}\n',""]);const s=o},9145(e,t,n){"use strict";var r=n(5072),a=n.n(r),i=n(7825),o=n.n(i),s=n(7659),l=n.n(s),c=n(5056),u=n.n(c),d=n(540),m=n.n(d),f=n(1113),p=n.n(f),h=n(1028),v={};v.styleTagTransform=p(),v.setAttributes=u(),v.insert=l().bind(null,"head"),v.domAPI=o(),v.insertStyleElement=m();a()(h.A,v),h.A&&h.A.locals&&h.A.locals}}]);
1
+ /*! For license information please see 9213.51e739fc3528f771d1c9.js.LICENSE.txt */
2
+ (self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[4627,9213],{5219(e){!function(){var t=function(e,n){var r=this;t.count=(t.count||0)+1,this.count=t.count,this.isOpened=!1,this.input=a(e),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-autocomplete","list"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-controls","awesomplete_list_"+this.count),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},function(e,t,n){for(var r in t){var a=t[r],i=e.input.getAttribute("data-"+r.toLowerCase());e[r]="number"==typeof a?parseInt(i):!1===a?null!==i:a instanceof Function?null:i,e[r]||0===e[r]||(e[r]=r in n?n[r]:a)}}(this,{minChars:2,maxItems:10,autoFirst:!1,data:t.DATA,filter:t.FILTER_CONTAINS,sort:!1!==n.sort&&t.SORT_BYLENGTH,container:t.CONTAINER,item:t.ITEM,replace:t.REPLACE,tabSelect:!1,listLabel:"Results List",statusNoResults:"No results found",statusXResults:"{0} results found",statusTypeXChar:"Type {0} or more characters for results"},n),this.index=-1,this.container=this.container(e),this.ul=a.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container,"aria-label":this.listLabel}),this.status=a.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:""}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(e){var t=e.keyCode;r.opened&&(13===t&&r.selected||9===t&&r.selected&&r.tabSelect?(e.preventDefault(),r.select(void 0,void 0,e)):27===t?r.close({reason:"esc"}):38!==t&&40!==t||(e.preventDefault(),r[38===t?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(e){e.preventDefault()},click:function(e){var t=e.target;if(t!==this){for(;t&&!/li/i.test(t.nodeName);)t=t.parentNode;t&&0===e.button&&(e.preventDefault(),r.select(t,e.target,e))}}}},a.bind(this.input,this._events.input),a.bind(this.input.form,this._events.form),a.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],t.all.push(this)};function n(e){var t=Array.isArray(e)?{label:e[0],value:e[1]}:"object"==typeof e&&"label"in e&&"value"in e?e:{label:e,value:e};this.label=t.label||t.value,this.value=t.value}t.prototype={set list(e){if(Array.isArray(e))this._list=e;else if("string"==typeof e&&e.indexOf(",")>-1)this._list=e.split(/\s*,\s*/);else if((e=a(e))&&e.children){var t=[];r.apply(e.children).forEach(function(e){if(!e.disabled){var n=e.textContent.trim(),r=e.value||n,a=e.label||n;""!==r&&t.push({label:a,value:r})}}),this._list=t}document.activeElement===this.input&&this.evaluate()},get selected(){return this.index>-1},get opened(){return this.isOpened},close:function(e){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),this.input.setAttribute("aria-activedescendant",""),a.fire(this.input,"awesomplete-close",e||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),a.fire(this.input,"awesomplete-open")},destroy:function(){if(a.unbind(this.input,this._events.input),a.unbind(this.input.form,this._events.form),!this.options.container){var e=this.container.parentNode;e.insertBefore(this.input,this.container),e.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete"),this.input.removeAttribute("aria-expanded"),this.input.removeAttribute("aria-controls"),this.input.removeAttribute("aria-owns"),this.input.removeAttribute("role");var n=t.all.indexOf(this);-1!==n&&t.all.splice(n,1)},next:function(){var e=this.ul.children.length;this.goto(this.index<e-1?this.index+1:e?0:-1)},previous:function(){var e=this.ul.children.length,t=this.index-1;this.goto(this.selected&&-1!==t?t:e-1)},goto:function(e){var t=this.ul.children;this.selected&&t[this.index].setAttribute("aria-selected","false"),this.index=e,e>-1&&t.length>0&&(t[e].setAttribute("aria-selected","true"),this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=t[e].offsetTop-this.ul.clientHeight+t[e].clientHeight,a.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(e,t,n){if(e?this.index=a.siblingIndex(e):e=this.ul.children[this.index],e){var r=this.suggestions[this.index];a.fire(this.input,"awesomplete-select",{text:r,origin:t||e,originalEvent:n})&&(this.replace(r),this.close({reason:"select"}),a.fire(this.input,"awesomplete-selectcomplete",{text:r,originalEvent:n}))}},evaluate:function(){var e=this,t=this.input.value;t.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map(function(r){return new n(e.data(r,t))}).filter(function(n){return e.filter(n,t)}),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach(function(n,r){e.ul.appendChild(e.item(n,t,r))}),0===this.ul.children.length?(this.status.textContent=this.statusNoResults,this.close({reason:"nomatches"})):(this.input.setAttribute("aria-activedescendant",""),this.open(),this.status.textContent=this.statusXResults.replaceAll("{0}",this.ul.children.length))):(this.close({reason:"nomatches"}),this.minChar<=1||t.length>=this.minChars?this.status.textContent=this.statusNoResults:this.status.textContent=this.statusTypeXChar.replaceAll("{0}",this.minChars))}},t.all=[],t.FILTER_CONTAINS=function(e,t){return RegExp(a.regExpEscape(t.trim()),"i").test(e)},t.FILTER_STARTSWITH=function(e,t){return RegExp("^"+a.regExpEscape(t.trim()),"i").test(e)},t.SORT_BYLENGTH=function(e,t){return e.length!==t.length?e.length-t.length:e<t?-1:1},t.CONTAINER=function(e){return a.create("div",{className:"awesomplete",around:e})},t.ITEM=function(e,t,n){var r=""===t.trim()?e:e.replace(RegExp(a.regExpEscape(t.trim()),"gi"),"<mark>$&</mark>");return a.create("li",{innerHTML:r,role:"option","aria-selected":"false",tabindex:"-1",id:"awesomplete_list_"+this.count+"_item_"+n})},t.REPLACE=function(e){this.input.value=e.value},t.DATA=function(e){return e},Object.defineProperty(n.prototype=Object.create(String.prototype),"length",{get:function(){return this.label.length}}),n.prototype.toString=n.prototype.valueOf=function(){return""+this.label};var r=Array.prototype.slice;function a(e,t){return"string"==typeof e?(t||document).querySelector(e):e||null}function i(e,t){return r.call((t||document).querySelectorAll(e))}function o(){i("input.awesomplete").forEach(function(e){new t(e)})}a.create=function(e,t){var n=document.createElement(e);for(var r in t){var i=t[r];if("inside"===r)a(i).appendChild(n);else if("around"===r){var o=a(i);o.parentNode.insertBefore(n,o),n.appendChild(o),null!=o.getAttribute("autofocus")&&o.focus()}else r in n?n[r]=i:n.setAttribute(r,i)}return n},a.bind=function(e,t){if(e)for(var n in t){var r=t[n];n.split(/\s+/).forEach(function(t){e.addEventListener(t,r)})}},a.unbind=function(e,t){if(e)for(var n in t){var r=t[n];n.split(/\s+/).forEach(function(t){e.removeEventListener(t,r)})}},a.fire=function(e,t,n){var r=document.createEvent("HTMLEvents");for(var a in r.initEvent(t,!0,!0),n)r[a]=n[a];return e.dispatchEvent(r)},a.regExpEscape=function(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},a.siblingIndex=function(e){for(var t=0;e=e.previousElementSibling;t++);return t},"undefined"!=typeof self&&(self.Awesomplete=t),"undefined"!=typeof Document&&("loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)),t.$=a,t.$$=i,e.exports&&(e.exports=t)}()},6271(e,t,n){"use strict";n.r(t),n.d(t,{default:()=>be});var r=n(6540),a=n(4284),i=n(9844),o=n(7952),s=n(5997),l=n(8247),c=n(3430),u=n(505),d=n(2042),m=n(2389),f=n(5907),p=n(3459),h=n(7361),v=n(7767),g=n(7444),b=n(6417),y=n(7690),E=n(3033),_=n(2693),w=n(3277);function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return S(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function A(e){var t=e.sessions,n=e.activeSessionId,a=e.onSelectSession,i=e.onRenameSession,o=e.onDeleteSession,l=e.onShowUsageStats,c=(0,m.Bd)().t,u=x((0,g.L4)(b.AG.ai_session_collapsed),2),d=u[0];u[1];return r.createElement("aside",{className:"chat-session-list ".concat(d?"active":""," ").concat(d?"collapsed":"")},t.map(function(e){return r.createElement("div",{key:e.id},r.createElement("button",{className:"chat-session-item ".concat(n===e.id?"active":""),onClick:function(){return a(e.id)},title:e.summary||e.long_term_memory||e.title},r.createElement("span",null,e.title||"新会话"),r.createElement("small",null,e.message_count),"cli"===e.source&&r.createElement("em",{className:"chat-session-source"},"CLI"),r.createElement(y.MenuSelect,{list:[{name:c("重命名"),click:function(){return i(e.id,e.title)}},{name:c("字符消耗统计"),click:function(){return l(e.id)}},{name:c("删除"),click:function(){return o(e.id)}}]},r.createElement(s.In,{icon:"more_horiz"}))))}))}function k(e){var t=e.pendingAttachments,n=e.onRemove;return 0===t.length?null:r.createElement("div",{className:"chat-attachment-strip"},t.map(function(e,t){return r.createElement("div",{key:"".concat(e.name,"_").concat(t),className:"chat-attachment-chip"},r.createElement(s.In,{icon:"attach_file"}),r.createElement("span",{title:e.name},e.name),r.createElement("button",{type:"button",onClick:function(){return n(t)}},r.createElement(s.In,{icon:"close"})))}))}function N(e){var t=e.inputValue,n=e.onInputChange,a=e.onKeyDown,i=e.onPaste,o=e.onSend,l=e.sending,c=e.pendingAttachments,u=e.onRemoveAttachment,d=e.onOpenFilePicker,f=e.onAddFiles,p=e.onDrop,h=e.onDragOver,v=e.fileInputRef,g=(0,m.Bd)().t;return r.createElement("div",{className:"chat-input-area",onDrop:p,onDragOver:h},r.createElement("input",{ref:v,type:"file",multiple:!0,style:{display:"none"},onChange:function(e){var t;null!==(t=e.target.files)&&void 0!==t&&t.length&&(f(e.target.files),e.currentTarget.value="")}}),r.createElement("div",{className:"chat-input-shell"},r.createElement(k,{pendingAttachments:c,onRemove:u}),r.createElement("textarea",{value:t,onChange:n,onPaste:i,onKeyDown:a,placeholder:g("输入消息"),className:"chat-input"})),r.createElement(s.rA,{title:g("添加文件"),icon:"attach_file",onClick:d}),!1===l?r.createElement(s.Vi,{text:g("发送"),clickFun:o}):r.createElement("div",{className:"ai-thinking-indicator"},r.createElement("div",{className:"ai-thinking-dots"},r.createElement("div",{className:"ai-thinking-dot"}),r.createElement("div",{className:"ai-thinking-dot"}),r.createElement("div",{className:"ai-thinking-dot"}))))}var I=n(6494);function O(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||C(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(e,t){if(e){if("string"==typeof e)return T(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function R(){try{var e=localStorage.getItem("ai_images_extra_params");if(e)return JSON.parse(e)}catch(e){}return{size:"1024x1024",n:1}}function F(e){var t,n=e.onClose,a=(0,m.Bd)().t,i=j((0,r.useState)(R),2),o=i[0],l=(i[1],j((0,r.useState)(o.size||"1024x1024"),2)),c=l[0],u=l[1],d=j((0,r.useState)(String(null!==(t=o.n)&&void 0!==t?t:1)),2),f=d[0],p=d[1],h=j((0,r.useState)(o.quality||""),2),v=h[0],g=h[1],b=j((0,r.useState)(o.style||""),2),y=b[0],_=b[1],w=j((0,r.useState)(o.extra_json||""),2),x=w[0],S=w[1];return r.createElement("div",{className:"card images-params-card"},r.createElement("h3",null,a("图片生成参数设置")),r.createElement("p",{className:"images-params-hint"},"不同模型支持的参数不同,请参考模型文档。常见 size 值: 1024x1024, 1792x1024, 1024x1792 (DALL-E 3)"),r.createElement("div",{className:"images-params-fields"},r.createElement("div",null,r.createElement("label",null,"size (图片尺寸)"),r.createElement(E.Sm,{value:c,handleInputChange:u,no_border:!1})),r.createElement("div",null,r.createElement("label",null,"n (生成数量)"),r.createElement(E.Sm,{value:f,handleInputChange:p,no_border:!1})),r.createElement("div",null,r.createElement("label",null,'quality (画质, 如 "standard" / "hd")'),r.createElement(E.Sm,{value:v,handleInputChange:g,no_border:!1})),r.createElement("div",null,r.createElement("label",null,'style (风格, 如 "vivid" / "natural")'),r.createElement(E.Sm,{value:y,handleInputChange:_,no_border:!1})),r.createElement("div",null,r.createElement("label",null,"额外参数 (JSON,会合并到请求体中)"),r.createElement(E.Sm,{value:x,handleInputChange:S,no_border:!1}))),r.createElement("div",{className:"images-params-actions"},r.createElement(s.rA,{icon:"close",title:a("取消"),onClick:n}),r.createElement(s.rA,{icon:"save",title:a("保存"),onClick:function(){var e={size:c,n:parseInt(f)||1};v&&(e.quality=v),y&&(e.style=y),x&&(e.extra_json=x),function(e){localStorage.setItem("ai_images_extra_params",JSON.stringify(e))}(e),n()}})))}function L(){var e,t=(0,m.Bd)().t,n=j((0,g.L4)(b.AG.ai_request_type),2),a=n[0],i=n[1],o=j((0,r.useState)(!1),2),s=o[0],l=o[1],c=(0,I.r)(),u=null!==(e=c.find(function(e){return e.value===a}))&&void 0!==e?e:c[0];return r.createElement(r.Fragment,null,r.createElement(y.MenuSelect,{list:[].concat(O(c.map(function(e){return{name:e.label,click:function(){return i(e.value)}}})),O("images"===a?[{name:t("图片参数设置"),click:function(){return l(!0)}}]:[]),O("audio_speech"===a?[{name:t("语音参数设置"),click:function(){var e=localStorage.getItem("ai_audio_extra_params"),n=e?JSON.parse(e):{},r=n.voice||"alloy",a=n.speed||"1.0",i=prompt(t("输入 voice (如 alloy, echo, fable, onyx, nova, shimmer)"),r);if(null!==i){var o=prompt(t("输入 speed (0.25 ~ 4.0)"),a);null!==o&&localStorage.setItem("ai_audio_extra_params",JSON.stringify({voice:i,speed:parseFloat(o)||1}))}}}]:[]))},r.createElement("div",{className:"menu-select-trigger"},r.createElement("span",null,u.label),r.createElement("span",{className:"menu-select-arrow"},"▾"))),s&&r.createElement("div",{className:"modal-overlay",onClick:function(){return l(!1)}},r.createElement("div",{onClick:function(e){return e.stopPropagation()}},r.createElement(F,{onClose:function(){return l(!1)}}))))}var D=n(4299);function P(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||q(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function G(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return J(c,"_invoke",function(n,r,a){var i,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,l=e,m.n=n,o}};function f(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,i=u[t],f=m.p,p=i[2];n>3?(a=p===r)&&(l=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((a=n<2&&f<i[1])?(s=0,m.v=r,m.n=i[1]):f<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,m.n=p,s=0))}if(a||n>1)return o;throw d=!0,r}return function(a,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),s=u,l=p;(t=s<2?e:l)||!d;){i||(s?s<3?(s>1&&(m.n=-1),f(s,l)):m.n=l:m.v=l);try{if(c=2,i){if(s||(a="next"),t=i[a]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);i=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==o)break}catch(t){i=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(J(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,J(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,J(d,"constructor",c),J(c,"constructor",l),l.displayName="GeneratorFunction",J(c,a,"GeneratorFunction"),J(d),J(d,a,"Generator"),J(d,r,function(){return this}),J(d,"toString",function(){return"[object Generator]"}),(G=function(){return{w:i,m}})()}function J(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}J=function(e,t,n,r){function i(t,n){J(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},J(e,t,n,r)}function M(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function H(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){M(i,r,a,o,s,"next",e)}function s(e){M(i,r,a,o,s,"throw",e)}o(void 0)})}}function V(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||q(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){if(e){if("string"==typeof e)return z(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?z(e,t):void 0}}function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $(e){var t=e.images,n=e.text,a=t||[];if(!a.length&&n)try{a=JSON.parse(n).data||[]}catch(e){}return a.length?r.createElement("div",{className:"image-generation-result"},a.map(function(e,t){return r.createElement("div",{key:t,className:"image-generation-item"},e.url&&r.createElement("div",{className:"image-generation-image-wrapper"},r.createElement("img",{src:e.url,alt:e.revised_prompt||"生成的图片 ".concat(t+1),loading:"lazy"})),e.b64_json&&r.createElement("div",{className:"image-generation-image-wrapper"},r.createElement("img",{src:"data:image/png;base64,".concat(e.b64_json),alt:"生成的图片 ".concat(t+1)})),e.revised_prompt&&r.createElement("p",{className:"image-generation-prompt"},r.createElement("small",null,e.revised_prompt)))}),n&&!t&&r.createElement(D.default,{context:n})):r.createElement(D.default,{context:n||""})}function B(e){var t=e.audio,n=e.text;if(t){if(t.url)return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:t.url},"您的浏览器不支持音频播放"));if(t.data){var a=t.mime_type||"audio/mpeg";return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:"data:".concat(a,";base64,").concat(t.data)},"您的浏览器不支持音频播放"))}}var i=n||"";if(i.startsWith("http://")||i.startsWith("https://"))return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:i},"您的浏览器不支持音频播放"));try{var o=JSON.parse(i);if(null!=o&&o.data||null!=o&&o.audio_data){var s=o.data||o.audio_data;return r.createElement("div",{className:"audio-result"},r.createElement("audio",{controls:!0,src:"data:audio/mpeg;base64,".concat(s)},"您的浏览器不支持音频播放"))}}catch(e){}return r.createElement(D.default,{context:i})}function K(e){var t=e.content,n=e.label,a=V(r.useState(!1),2),i=a[0],o=a[1];return r.createElement("button",{className:"embeddings-copy-btn",onClick:function(){(0,u.lW)(t),o(!0),setTimeout(function(){return o(!1)},1500)}},r.createElement(s.In,{icon:i?"check":"content_copy"}),i?"已复制":n||"复制")}function U(e){var t,n,a,i,o,s,l,c=e.embeddings,u=e.text,d=c||null;if(!d&&u)try{d=JSON.parse(u)}catch(e){return r.createElement(D.default,{context:u})}if(!d)return r.createElement(D.default,{context:u||""});var m=(null===(t=d)||void 0===t?void 0:t.data)||[],f=null===(n=d)||void 0===n?void 0:n.usage,p=JSON.stringify(d,null,2);return r.createElement("div",{className:"embeddings-result"},r.createElement("div",{className:"embeddings-summary"},r.createElement("strong",null,"向量嵌入结果"),r.createElement("span",null,"维度: ",null!==(a=null===(i=m[0])||void 0===i||null===(i=i.embedding)||void 0===i?void 0:i.length)&&void 0!==a?a:"N/A"),r.createElement("span",null,"数量: ",m.length),f&&r.createElement("span",null,"使用 tokens: ",null!==(o=f.total_tokens)&&void 0!==o?o:"N/A")),r.createElement("div",{className:"embeddings-toolbar"},r.createElement(K,{content:p,label:"复制全部结果"}),m.length>0&&(null===(s=m[0])||void 0===s?void 0:s.embedding)&&r.createElement(K,{content:JSON.stringify(m[0].embedding,null,2),label:"复制第一条向量"}),m.length>0&&r.createElement(K,{content:JSON.stringify(m.map(function(e){return e.embedding}),null,2),label:"复制所有向量数据"})),m.length>0&&(null===(l=m[0])||void 0===l?void 0:l.embedding)&&r.createElement("div",{className:"embeddings-preview"},r.createElement("span",null,"向量预览: [",m[0].embedding.slice(0,5).join(", "),m[0].embedding.length>5?", ...":"","]")),m.length>0&&r.createElement("details",null,r.createElement("summary",null,"查看详细数据"),r.createElement("pre",{className:"embeddings-raw"},p)))}function W(){try{var e=localStorage.getItem("ai_images_extra_params");if(e)return JSON.parse(e)}catch(e){}return{}}function X(e,t){return Y.apply(this,arguments)}function Y(){return(Y=H(G().m(function e(t,n){var r,i,o,s,l,c,u,d,m;return G().w(function(e){for(;;)switch(e.n){case 0:if(o=W(),s={prompt:t,n:null!==(r=o.n)&&void 0!==r?r:1,size:null!==(i=o.size)&&void 0!==i?i:"1024x1024",session_id:n},o.quality&&(s.quality=o.quality),o.style&&(s.style=o.style),o.extra_json)try{l=JSON.parse(o.extra_json),Object.assign(s,l)}catch(e){console.warn("图片额外参数 JSON 解析失败:",e)}return e.n=1,a.jV.post("images/generations",s);case 1:if(0===(c=e.v).code){e.n=2;break}throw new Error(c.message||"图片生成失败");case 2:return u=c.data||{},d=(u.data||[]).map(function(e){return{url:e.url,b64_json:e.b64_json,revised_prompt:e.revised_prompt}}),m=d.map(function(e,t){return"![生成图片".concat(t+1,"](").concat(e.url||"data:image/png;base64,".concat(e.b64_json),")").concat(e.revised_prompt?"\n> ".concat(e.revised_prompt):"")}).join("\n\n"),e.a(2,{session_id:u.session_id||n,images:d,text:m||"生成了 ".concat(d.length," 张图片")})}},e)}))).apply(this,arguments)}function Z(e,t){return Q.apply(this,arguments)}function Q(){return(Q=H(G().m(function e(t,n){var r,a,i,o,s,l,c,u;return G().w(function(e){for(;;)switch(e.n){case 0:r={input:t,session_id:n};try{(a=localStorage.getItem("ai_audio_extra_params"))&&((i=JSON.parse(a)).voice&&(r.voice=i.voice),i.speed&&(r.speed=parseFloat(i.speed)))}catch(e){}return o=localStorage.getItem("token")||"",e.n=1,fetch("/api/ai_agent/audio/speech",{method:"POST",headers:{"Content-Type":"application/json",Authorization:o},body:JSON.stringify(r)});case 1:if((s=e.v).ok){e.n=2;break}throw new Error("语音合成失败: ".concat(s.statusText));case 2:return l=s.headers.get("X-Session-Id")||n,e.n=3,s.arrayBuffer();case 3:return c=e.v,u=btoa(String.fromCharCode.apply(String,P(Array.from(new Uint8Array(c))))),e.a(2,{session_id:l,audio:{data:u,mime_type:s.headers.get("content-type")||"audio/mpeg"},text:"[音频文件: ".concat(t.slice(0,50),"...]")})}},e)}))).apply(this,arguments)}function ee(e,t){return te.apply(this,arguments)}function te(){return(te=H(G().m(function e(t,n){var r,i,o,s,l,c,u,d;return G().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("embeddings",{input:t,session_id:n});case 1:if(0===(s=e.v).code){e.n=2;break}throw new Error(s.message||"Embeddings 请求失败");case 2:return l=s.data||{},c=null!==(r=null==l?void 0:l.data)&&void 0!==r?r:[],u=null!==(i=null===(o=c[0])||void 0===o||null===(o=o.embedding)||void 0===o?void 0:o.length)&&void 0!==i?i:0,d="向量维度: ".concat(u,", 数量: ").concat(c.length),e.a(2,{session_id:l.session_id||n,embeddings:l,text:"✅ Embeddings 结果 - ".concat(d,"\n```json\n").concat(JSON.stringify(l,null,2).slice(0,2e3),"\n```")})}},e)}))).apply(this,arguments)}function ne(e,t,n,r){return re.apply(this,arguments)}function re(){return(re=H(G().m(function e(t,n,r,a){var i,o,s,l,c;return G().w(function(e){for(;;)switch(e.p=e.n){case 0:e.p=0,l=t,e.n="images"===l?1:"audio_speech"===l?3:"embeddings"===l?5:7;break;case 1:return e.n=2,X(n,r);case 2:return(i=e.v)&&a(i.text,{images:i.images}),e.a(2,!0);case 3:return e.n=4,Z(n,r);case 4:return(o=e.v)&&a(o.text,{audio:o.audio}),e.a(2,!0);case 5:return e.n=6,ee(n,r);case 6:return(s=e.v)&&a(s.text,{embeddings:s.embeddings}),e.a(2,!0);case 7:return e.a(2,!1);case 8:e.n=10;break;case 9:return e.p=9,c=e.v,a("请求失败: ".concat((null==c?void 0:c.message)||JSON.stringify(c))),e.a(2,!0);case 10:return e.a(2)}},e,null,[[0,9]])}))).apply(this,arguments)}function ae(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function i(n,r,a,i){var l=r&&r.prototype instanceof s?r:s,c=Object.create(l.prototype);return ie(c,"_invoke",function(n,r,a){var i,s,l,c=0,u=a||[],d=!1,m={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return i=t,s=0,l=e,m.n=n,o}};function f(n,r){for(s=n,l=r,t=0;!d&&c&&!a&&t<u.length;t++){var a,i=u[t],f=m.p,p=i[2];n>3?(a=p===r)&&(l=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=f&&((a=n<2&&f<i[1])?(s=0,m.v=r,m.n=i[1]):f<p&&(a=n<3||i[0]>r||r>p)&&(i[4]=n,i[5]=r,m.n=p,s=0))}if(a||n>1)return o;throw d=!0,r}return function(a,u,p){if(c>1)throw TypeError("Generator is already running");for(d&&1===u&&f(u,p),s=u,l=p;(t=s<2?e:l)||!d;){i||(s?s<3?(s>1&&(m.n=-1),f(s,l)):m.n=l:m.v=l);try{if(c=2,i){if(s||(a="next"),t=i[a]){if(!(t=t.call(i,l)))throw TypeError("iterator result is not an object");if(!t.done)return t;l=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(l=TypeError("The iterator does not provide a '"+a+"' method"),s=1);i=e}else if((t=(d=m.n<0)?l:n.call(r,m))!==o)break}catch(t){i=e,s=1,l=t}finally{c=1}}return{value:t,done:d}}}(n,a,i),!0),c}var o={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var u=[][r]?t(t([][r]())):(ie(t={},r,function(){return this}),t),d=c.prototype=s.prototype=Object.create(u);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,ie(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=c,ie(d,"constructor",c),ie(c,"constructor",l),l.displayName="GeneratorFunction",ie(c,a,"GeneratorFunction"),ie(d),ie(d,a,"Generator"),ie(d,r,function(){return this}),ie(d,"toString",function(){return"[object Generator]"}),(ae=function(){return{w:i,m}})()}function ie(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}ie=function(e,t,n,r){function i(t,n){ie(e,t,function(e){return this._invoke(t,n,e)})}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(i("next",0),i("throw",1),i("return",2))},ie(e,t,n,r)}function oe(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=de(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function se(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,a)}function le(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var i=e.apply(t,n);function o(e){se(i,r,a,o,s,"next",e)}function s(e){se(i,r,a,o,s,"throw",e)}o(void 0)})}}function ce(e){return function(e){if(Array.isArray(e))return me(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||de(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||de(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function de(e,t){if(e){if("string"==typeof e)return me(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?me(e,t):void 0}}function me(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e){var t,n;return null!==(t=e.type)&&void 0!==t&&t.startsWith("image/")?"image":null!==(n=e.type)&&void 0!==n&&n.startsWith("text/")||/\.(md|txt|json|js|jsx|ts|tsx|css|html?|xml|ya?ml|py|java|go|rs|c|cpp|h|hpp|sh|bat|cmd|ini|toml|csv|log|sql|env|gitignore|dockerfile)$/i.test(e.name)?"text":"binary"}function pe(e){return e.text()}function he(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){return t(r.result)},r.onerror=n,r.readAsDataURL(e)})}function ve(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){return"user"===e.role||"assistant"===e.role}).map(function(e,t){var n;return{id:Date.now()+t,sender:"assistant"===e.role?"bot":"user",text:(0,w.$j)(e.content),attachments:null!==(n=e.attachments)&&void 0!==n?n:[],images:e.images,audio:e.audio,embeddings:e.embeddings}})}function ge(e){return e.map(function(e){var t;return{role:"bot"===e.sender?"assistant":"user",content:e.text,attachments:null!==(t=e.attachments)&&void 0!==t?t:[],images:e.images,audio:e.audio,embeddings:e.embeddings}})}function be(){var e,t,n=ue((0,r.useState)([]),2),x=n[0],S=n[1],k=ue((0,r.useState)([]),2),O=k[0],j=k[1],C=ue((0,r.useState)(""),2),T=C[0],R=C[1],F=ue((0,g.L4)(b.AG.ai_session_collapsed),2),P=F[0],G=F[1],J=ue((0,r.useState)([]),2),M=J[0],H=J[1],V=ue((0,g.L4)(b.AG.ai_request_type),2),q=V[0];V[1];(0,_.w)();var z=(0,I.r)(),K=(0,m.Bd)().t,W=(0,r.useRef)(null),X=ue((0,g.L4)(b.AG.prompt_card),2),Y=(X[0],X[1]),Z=(0,r.useRef)((0,i.sg)(function(e){S(e),_e.current&&ke(!1)},50)).current,Q=ue((0,r.useState)(!1),2),ee=Q[0],te=Q[1],re=(0,l.MH)().check_user_auth,ie=ue((0,r.useState)(""),2),se=ie[0],de=ie[1],me=(0,r.useRef)(null),be=(0,r.useRef)(null),ye=(0,f.y)(),Ee=(0,v.Zp)(),_e=(0,r.useRef)(!0),we=(0,r.useRef)(new w.qq),xe=ue((0,r.useState)([]),2),Se=xe[0],Ae=xe[1],ke=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=be.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},Ne=function(e){var t=Array.from(null!=e?e:[]).filter(Boolean);t.length&&H(function(e){return[].concat(ce(e),ce(t))})},Ie=function(){var e=le(ae().m(function e(t){var n,r,a,i,o,s,l,c,u;return ae().w(function(e){for(;;)switch(e.p=e.n){case 0:n=[],r=oe(t),e.p=1,r.s();case 2:if((a=r.n()).done){e.n=15;break}if(i=a.value,o=fe(i),s="","text"!==o){e.n=7;break}return e.p=3,e.n=4,pe(i);case 4:l=e.v,c=12e4,s=l.length>c?"".concat(l.slice(0,c),"\n\n[内容已截断,原始长度 ").concat(l.length," 字符]"):l,e.n=6;break;case 5:e.p=5,e.v,s="[文本读取失败]";case 6:e.n=13;break;case 7:if("image"!==o){e.n=12;break}return e.p=8,e.n=9,he(i);case 9:s=e.v,e.n=11;break;case 10:e.p=10,e.v,s="[图片文件: ".concat(i.name,"]");case 11:e.n=13;break;case 12:s="[二进制文件: ".concat(i.name,"]");case 13:n.push({name:i.name,mime_type:i.type,size:i.size,kind:o,content:s});case 14:e.n=2;break;case 15:e.n=17;break;case 16:e.p=16,u=e.v,r.e(u);case 17:return e.p=17,r.f(),e.f(17);case 18:return e.a(2,n)}},e,null,[[8,10],[3,5],[1,16,17,18]])}));return function(t){return e.apply(this,arguments)}}(),Oe=function(){var e=le(ae().m(function e(t){var n,r,i,o,s,l,c;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.get("sessions");case 1:if((s=e.v).code===p.m.Success){e.n=2;break}return e.a(2);case 2:if(l=null!==(n=s.data)&&void 0!==n?n:[],j(l),!(c=null===t?null!==(r=null===(i=l[0])||void 0===i?void 0:i.id)&&void 0!==r?r:"":t||T||(null===(o=l[0])||void 0===o?void 0:o.id)||"")){e.n=4;break}return e.n=3,Ce(c);case 3:e.n=5;break;case 4:S([]),R("");case 5:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),je=function(){var e=le(ae().m(function e(){var t,n;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.get("sessions");case 1:(t=e.v).code===p.m.Success&&j(null!==(n=t.data)&&void 0!==n?n:[]);case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),Ce=function(){var e=le(ae().m(function e(t){var n,r,i,o=arguments;return ae().w(function(e){for(;;)switch(e.n){case 0:return n=o.length>1&&void 0!==o[1]&&o[1],e.n=1,a.jV.post("session/get",{session_id:t});case 1:if((r=e.v).code===p.m.Success&&r.data){e.n=2;break}return e.a(2);case 2:i=r.data,R(i.id),S(ve(i.messages)),n&&G(!1),requestAnimationFrame(function(){return ke(!1)});case 3:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Te=function(){var e=le(ae().m(function e(t){var n,r;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("session",{title:"新会话"});case 1:if((n=e.v).code===p.m.Success){e.n=2;break}return e.a(2);case 2:return r=n.data,R(r.id),t?(de(t),S([])):S([]),G(!1),e.n=3,Oe(r.id);case 3:requestAnimationFrame(function(){var e=document.querySelector(".chat-input");e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,200)+"px")});case 4:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Re=function(){var e=le(ae().m(function e(){var t,n,r;return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.XO.get("ai_agent_setting/env");case 1:return(t=e.v).code===p.m.Success&&(we.current=t.data),e.n=2,Oe();case 2:return e.n=3,a.jV.get("system_prompts");case 3:(n=e.v).code===p.m.Success&&Ae(null!==(r=n.data)&&void 0!==r?r:[]);case 4:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();(0,r.useEffect)(function(){Re(),requestAnimationFrame(function(){ke(!1)})},[]),(0,r.useEffect)(function(){var e=be.current;if(e){var t=function(){_e.current=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120,n=e.scrollTop;return e.scrollHeight-(n+e.clientHeight)<t}(e)};return e.addEventListener("scroll",t),function(){return e.removeEventListener("scroll",t)}}},[]),(0,r.useLayoutEffect)(function(){_e.current&&ke(!1)},[x]);var Fe=function(e){var t,n,r=(null!==(t=e.attachments)&&void 0!==t?t:[]).filter(function(e){return"image"===e.kind});if(r.length>0){var a,i=[];e.text&&i.push({type:"text",text:e.text});var o,s=oe(r);try{for(s.s();!(o=s.n()).done;){var l=o.value;i.push({type:"image_url",image_url:{url:l.content}})}}catch(e){s.e(e)}finally{s.f()}return[{content:i,role:"user",attachments:null!==(a=e.attachments)&&void 0!==a?a:[]}]}return[{content:e.text,role:"bot"===e.sender?"assistant":"user",attachments:null!==(n=e.attachments)&&void 0!==n?n:[]}]},Le=function(){var e=le(ae().m(function e(){var t,n,r,o,s,l,c,u,d,m,f;return ae().w(function(e){for(;;)switch(e.n){case 0:if(t=se.trim(),!ee&&(t||0!==M.length)){e.n=1;break}return e.a(2);case 1:if(n=T){e.n=4;break}return e.n=2,a.jV.post("session",{title:(t||(null===(r=M[0])||void 0===r?void 0:r.name)||"新会话").slice(0,28)});case 2:if((o=e.v).code===p.m.Success){e.n=3;break}return e.a(2);case 3:return s=o.data,n=s.id,R(n),e.n=4,Oe(n);case 4:return e.n=5,Ie(M);case 5:if(l=e.v,c={id:Date.now(),sender:"user",text:t,attachments:l},u=[].concat(ce(x),[c]),S(u),de(""),H([]),te(!0),"completions"===q){e.n=7;break}return d={id:c.id+1,sender:"bot",text:"处理中..."},u.push(d),S(ce(u)),e.n=6,ne(q,t,n,function(){var e=le(ae().m(function e(t,n){return ae().w(function(e){for(;;)switch(e.n){case 0:d.text=t,null!=n&&n.images&&(d.images=n.images),null!=n&&n.audio&&(d.audio=n.audio),null!=n&&n.embeddings&&(d.embeddings=n.embeddings),S(ce(u)),te(!1),je(),ke(!0);case 1:return e.a(2)}},e)}));return function(t,n){return e.apply(this,arguments)}}());case 6:return e.v||(d.text='请求类型 "'.concat(q,'" 的专用处理器尚未实现,请使用 completions 类型。'),S(ce(u)),te(!1)),e.a(2);case 7:m={id:c.id+1,sender:"bot",text:"AI思考中..."},u.push(m),S(ce(u)),f=!0,a.jV.sse_post("chat",{messages:Fe(c),session_id:n},{onMessage:function(e){f&&(m.text="",f=!1);try{var t,n,r,a=JSON.parse(e),i="string"==typeof a?a:null!==(t=null==a||null===(n=a.choices)||void 0===n||null===(n=n[0])||void 0===n||null===(n=n.delta)||void 0===n?void 0:n.content)&&void 0!==t?t:null==a||null===(r=a.choices)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.message)||void 0===r?void 0:r.content;i&&(m.text+=i)}catch(t){try{m.text+=JSON.parse(e)}catch(t){m.text+=e}}Z(ce(u))},onDone:(0,i.nF)(le(ae().m(function e(){return ae().w(function(e){for(;;)switch(e.n){case 0:return te(!1),e.n=1,je();case 1:ke(!0);case 2:return e.a(2)}},e)})),100)});case 8:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),De=function(){var e=le(ae().m(function e(t){return ae().w(function(e){for(;;)switch(e.n){case 0:(0,u.lW)(t),(0,d.LW)("复制成功");case 1:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}(),Pe=function(){var e=le(ae().m(function e(t){var n,i,o;return ae().w(function(e){for(;;)switch(e.p=e.n){case 0:return Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-loading"},K("加载中...")),cancel:function(){return Y({open:!1})}}),e.p=1,e.n=2,a.jV.post("session/usage_stats",{session_id:t});case 2:(n=e.v).code===p.m.Success&&n.data?(o=n.data,Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-panel"},[{l:K("对话轮次"),v:(null!==(i=o.turns)&&void 0!==i?i:0).toString()},{l:K("AI输入字符"),v:Ge(o.input_chars)},{l:K("AI输出字符"),v:Ge(o.output_chars)},{l:K("AI输入字符(最近一轮)"),v:Ge(o.recent_input_chars)},{l:K("AI输出字符(最近一轮)"),v:Ge(o.recent_output_chars)}].map(function(e,t){return r.createElement("div",{key:t,className:"usage-stats-row"},r.createElement("span",{className:"usage-stats-label"},e.l),r.createElement("span",{className:"usage-stats-value"},e.v))}),r.createElement("div",{className:"usage-stats-row usage-stats-total"},r.createElement("span",{className:"usage-stats-label"},K("AI字符总计消耗")),r.createElement("span",{className:"usage-stats-value"},Ge((o.input_chars||0)+(o.output_chars||0))))),cancel:function(){return Y({open:!1})}})):Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-empty"},K("暂无统计数据")),cancel:function(){return Y({open:!1})}}),e.n=4;break;case 3:e.p=3,e.v,Y({open:!0,title:K("字符消耗统计"),context_div:r.createElement("div",{className:"usage-stats-empty"},K("暂无统计数据")),cancel:function(){return Y({open:!1})}});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(t){return e.apply(this,arguments)}}(),Ge=function(e){return null==e||e<0?"0":e.toLocaleString()};return r.createElement(r.Fragment,null,r.createElement(o.A,null,r.createElement(s.rA,{icon:"menu",title:K("会话"),onClick:function(){window.innerWidth<=736?G(!0):G(function(e){return!e})}}),r.createElement(s.rA,{icon:"add",title:K("新会话"),onClick:function(){return Te()}}),Se.length>0&&r.createElement(y.MenuSelect,{list:Se.map(function(e,t){return{name:e.note||"".concat(K("提示词")," ").concat(t+1),click:function(){e.prompt&&Te(e.prompt)}}})},r.createElement(s.rA,{icon:"add_comment",title:K("提示词模板创建会话")})),r.createElement(L,null),r.createElement(s.rA,{icon:"delete_sweep",title:K("清空全部会话"),onClick:function(){var e;ye({sub_title:K("确认删除全部聊天会话吗?"),confirm_fun:(e=le(ae().m(function e(){return ae().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,a.jV.post("sessions/clear",{});case 1:return R(""),S([]),e.n=2,Oe(null);case 2:return e.a(2)}},e)})),function(){return e.apply(this,arguments)})})}}),re(c.oV.ai_agent_setting)&&r.createElement(s.rA,{icon:"settings",title:"ai setting",onClick:function(){Ee("/".concat(h.o.ai_agent_setting_page))}})),r.createElement("div",{className:"chat-page chat-page-with-sessions"},P&&r.createElement("div",{className:"chat-session-overlay",onClick:function(){return G(!1)}}),r.createElement(A,{sessions:O,activeSessionId:T,onSelectSession:function(e){return Ce(e,!1)},onRenameSession:function(e,t){var n,i=t;ye({confirm_fun:(n=le(ae().m(function t(){return ae().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,a.jV.post("sessions/update/meta",{id:e,title:i});case 1:return t.n=2,Oe(T);case 2:return t.a(2)}},t)})),function(){return n.apply(this,arguments)}),context_div:r.createElement("div",{className:"card-content"},r.createElement(E.Sm,{value:i,handleInputChange:function(e){return i=e}}))})},onDeleteSession:function(e){var t;ye({sub_title:"确认删除这个会话吗?",confirm_fun:(t=le(ae().m(function t(){return ae().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,a.jV.post("session/delete",{session_id:e});case 1:if(T!==e){t.n=3;break}return R(""),t.n=2,Oe(null);case 2:t.n=4;break;case 3:return t.n=4,Oe(T);case 4:return t.a(2)}},t)})),function(){return t.apply(this,arguments)})})},onShowUsageStats:Pe}),r.createElement("section",{className:"chat-main"},0===(null==x?void 0:x.length)&&r.createElement("div",{className:"chat-header"},"completions"===q?K("询问服务器的一切"):null!==(e=null===(t=z.find(function(e){return e.value===q}))||void 0===t?void 0:t.label)&&void 0!==e?e:q),r.createElement("div",{className:"chat-messages",ref:be},x.map(function(e){return r.createElement("div",{key:e.id,className:"chat-message ".concat(e.sender)},function(e){var t=e.attachments&&e.attachments.length>0?r.createElement("div",{className:"chat-message-attachments"},e.attachments.map(function(e,t){return r.createElement("div",{key:"".concat(e.name,"_").concat(t),className:"chat-message-attachment"},r.createElement(s.In,{icon:"attach_file"}),r.createElement("span",null,e.name),r.createElement("small",null,e.size," B"))})):null,n=[];return e.images&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"images"},r.createElement($,{images:e.images,text:e.text}))),e.audio&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"audio"},r.createElement(B,{audio:e.audio,text:e.text}))),e.embeddings&&"bot"===e.sender&&n.push(r.createElement(r.Fragment,{key:"embeddings"},r.createElement(U,{embeddings:e.embeddings,text:e.text}))),0===n.length?r.createElement(r.Fragment,null,t,r.createElement(D.default,{context:e.text})):r.createElement(r.Fragment,null,n,t,e.text&&r.createElement(D.default,{context:e.text}))}(e),r.createElement("div",{className:"message-actions"},r.createElement("button",{onClick:function(){return t=e.id,n=x.filter(function(e){return e.id!==t}),S(n),void(T&&a.jV.post("session/messages",{session_id:T,messages:ge(n)}).catch(console.error));var t,n}},K("删除")),r.createElement("button",{onClick:function(){return De(e.text)}},K("复制"))))}),r.createElement("div",{ref:me})),r.createElement(N,{inputValue:se,onInputChange:function(e){var t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,200)+"px",de(t.value)},onKeyDown:function(e){"Process"===e.key||e.nativeEvent.isComposing||e.shiftKey||e.ctrlKey||"Enter"===e.key&&(e.preventDefault(),Le())},onPaste:function(e){var t,n=null===(t=e.clipboardData)||void 0===t?void 0:t.files;n&&n.length>0&&(e.preventDefault(),Ne(n))},onSend:Le,sending:ee,pendingAttachments:M,onRemoveAttachment:function(e){H(function(t){return t.filter(function(t,n){return n!==e})})},onOpenFilePicker:function(){var e;null===(e=W.current)||void 0===e||e.click()},onAddFiles:Ne,onDrop:function(e){var t,n=null===(t=e.dataTransfer)||void 0===t?void 0:t.files;n&&n.length>0&&(e.preventDefault(),Ne(n))},onDragOver:function(e){var t;null!==(t=e.dataTransfer)&&void 0!==t&&null!==(t=t.types)&&void 0!==t&&t.includes("Files")&&e.preventDefault()},fileInputRef:W}))))}},2693(e,t,n){"use strict";n.d(t,{w:()=>m});var r=n(6540),a=n(2389),i=n(4944),o=n(4188),s=n(7444),l=n(6417),c=n(5997);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(){var e=u((0,s.L4)(l.AG.prompt_card),2),t=(e[0],e[1]),n=(0,a.Bd)().t,d=(0,r.useRef)([]),m=(0,r.useRef)(!1),f=(0,r.useCallback)(function(){if(!m.current){if(0===d.current.length)return m.current=!1,void t({open:!1});m.current=!0;var e=d.current.shift();e?t({open:!0,title:n("命令确认"),cancel:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!1}),t({open:!1}),m.current=!1,f()},context_div:r.createElement("div",null,r.createElement("span",null,e.cmd),r.createElement(c.$n,{text:n("允许"),clickFun:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!0}),t({open:!1}),m.current=!1,f()}}),r.createElement(c.$n,{text:n("拒绝"),color:"var(--red)",clickFun:function(){i.ws.sendData(o.HK.ai_confirm_cmd,{askId:e.askId,approved:!1}),t({open:!1}),m.current=!1,f()}}))}):m.current=!1}},[n]),p=(0,r.useCallback)(function(e){d.current.push(e),f()},[f]);(0,r.useEffect)(function(){return i.ws.addMsg(o.HK.ai_confirm_cmd,function(e){var t=e.context||{};t.askId&&t.cmd&&p({askId:t.askId,cmd:t.cmd})}),function(){i.ws.removeMsg(o.HK.ai_confirm_cmd)}},[p]),(0,r.useEffect)(function(){return function(){d.current=[],m.current=!1}},[])}},1028(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(1601),a=n.n(r),i=n(6314),o=n.n(i)()(a());o.push([e.id,'.awesomplete [hidden] {\n display: none;\n}\n\n.awesomplete .visually-hidden {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n}\n\n.awesomplete {\n display: inline-block;\n position: relative;\n}\n\n.awesomplete > input {\n display: block;\n}\n\n.awesomplete > ul {\n position: absolute;\n left: 0;\n z-index: 1;\n min-width: 100%;\n box-sizing: border-box;\n list-style: none;\n padding: 0;\n margin: 0;\n background: #fff;\n}\n\n.awesomplete > ul:empty {\n display: none;\n}\n\n.awesomplete > ul {\n\tborder-radius: .3em;\n\tmargin: .2em 0 0;\n\tbackground: hsla(0,0%,100%,.9);\n\tbackground: linear-gradient(to bottom right, white, hsla(0,0%,100%,.8));\n\tborder: 1px solid rgba(0,0,0,.3);\n\tbox-shadow: .05em .2em .6em rgba(0,0,0,.2);\n\ttext-shadow: none;\n}\n\n@supports (transform: scale(0)) {\n\t.awesomplete > ul {\n\t\ttransition: .3s cubic-bezier(.4,.2,.5,1.4);\n\t\ttransform-origin: 1.43em -.43em;\n\t}\n\t\n\t.awesomplete > ul[hidden],\n\t.awesomplete > ul:empty {\n\t\topacity: 0;\n\t\ttransform: scale(0);\n\t\tdisplay: block;\n\t\tvisibility: hidden;\n\t\ttransition-timing-function: ease;\n\t}\n}\n\n\t/* Pointer */\n\t.awesomplete > ul:before {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t\ttop: -.43em;\n\t\tleft: 1em;\n\t\twidth: 0; height: 0;\n\t\tpadding: .4em;\n\t\tbackground: white;\n\t\tborder: inherit;\n\t\tborder-right: 0;\n\t\tborder-bottom: 0;\n\t\t-webkit-transform: rotate(45deg);\n\t\ttransform: rotate(45deg);\n\t}\n\n\t.awesomplete > ul > li {\n\t\tposition: relative;\n\t\tpadding: .2em .5em;\n\t\tcursor: pointer;\n\t}\n\t\n\t.awesomplete > ul > li:hover {\n\t\tbackground: hsl(200, 40%, 80%);\n\t\tcolor: black;\n\t}\n\t\n\t.awesomplete > ul > li[aria-selected="true"] {\n\t\tbackground: hsl(205, 40%, 40%);\n\t\tcolor: white;\n\t}\n\t\n\t\t.awesomplete mark {\n\t\t\tbackground: hsl(65, 100%, 50%);\n\t\t}\n\t\t\n\t\t.awesomplete li:hover mark {\n\t\t\tbackground: hsl(68, 100%, 41%);\n\t\t}\n\t\t\n\t\t.awesomplete li[aria-selected="true"] mark {\n\t\t\tbackground: hsl(86, 100%, 21%);\n\t\t\tcolor: inherit;\n\t\t}\n',""]);const s=o},9145(e,t,n){"use strict";var r=n(5072),a=n.n(r),i=n(7825),o=n.n(i),s=n(7659),l=n.n(s),c=n(5056),u=n.n(c),d=n(540),m=n.n(d),f=n(1113),p=n.n(f),h=n(1028),v={};v.styleTagTransform=p(),v.setAttributes=u(),v.insert=l().bind(null,"head"),v.domAPI=o(),v.insertStyleElement=m();a()(h.A,v),h.A&&h.A.locals&&h.A.locals}}]);