filecat 5.22.4 → 5.22.6

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 710.89fefedcf8d9d8826c8b.js.LICENSE.txt */
2
- "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[10,710],{4777(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function i(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,{CP:()=>h,Gd:()=>s,Mu:()=>y,aM:()=>l,cL:()=>v,jk:()=>d,qq:()=>m,yw:()=>f});var l=function(e){return e[e.close=0]="close",e[e.length=1]="length",e[e.forver=2]="forver",e}({}),s=i(function e(){u(this,e)}),f="\n# 获取最多文章数量\ndocs_max_num=5\n# 强制每次聊天前都执行本地知识库搜索\nforce_use_local_data=false\n# 读取知识库目录的时候,递归最大深度\ndir_recursion_depth=10\n",m=i(function e(){u(this,e),o(this,"tool_error_max",1),o(this,"tool_call_max",5),o(this,"char_max",12e3),o(this,"messages_show_max",100),o(this,"messages_current_max",100)}),h="\n# 工具报错最大尝试次数\ntool_error_max=1\n# 工具最多调用次数\ntool_call_max=5\n# 单轮请求字符最大数量,多了会截断前面的\nchar_max=12000\n# 聊天消息最多展示多少条\nmessages_show_max=100\n# 聊天消息最多发送最近的多少条去请求(这些设置更能节省token)\nmessages_current_max=100\n",v=JSON.stringify({stream:!1}),d=function(e){return e.ffmpeg="ffmpeg",e.smartmontools="smartmontools",e.ntfs_3g="ntfs_3g",e}({}),y=function(e){return e[e.auth=0]="auth",e[e.cmd=1]="cmd",e[e.cyc=2]="cyc",e[e.sys_env=3]="sys_env",e}({})},8671(e,t,n){n.r(t),n.d(t,{default:()=>H,getMessagesFromLocal:()=>I,learAllMessages:()=>L,pushMessageToLocal:()=>P,setMessagesToLocal:()=>M});var r=n(6540),o=n(4284),a=n(4299),i=n(9844),c=n(7952),u=n(5997),l=n(8247),s=n(3430),f=n(505),m=n(2042),h=n(2389),v=n(7444),d=n(6417);function y(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,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(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)?p(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 p(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}var g=n(3459),b=n(4777),_=n(7361),w=n(7767);function x(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)||k(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 S(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return E(l,"_invoke",function(n,r,o){var a,c,u,l=0,s=o||[],f=!1,m={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,n){return a=t,c=0,u=e,m.n=n,i}};function h(n,r){for(c=n,u=r,t=0;!f&&l&&!o&&t<s.length;t++){var o,a=s[t],h=m.p,v=a[2];n>3?(o=v===r)&&(u=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=h&&((o=n<2&&h<a[1])?(c=0,m.v=r,m.n=a[1]):h<v&&(o=n<3||a[0]>r||r>v)&&(a[4]=n,a[5]=r,m.n=v,c=0))}if(o||n>1)return i;throw f=!0,r}return function(o,s,v){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&h(s,v),c=s,u=v;(t=c<2?e:u)||!f;){a||(c?c<3?(c>1&&(m.n=-1),h(c,u)):m.n=u:m.v=u);try{if(l=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(f=m.n<0)?u:n.call(r,m))!==i)break}catch(t){a=e,c=1,u=t}finally{l=1}}return{value:t,done:f}}}(n,o,a),!0),l}var i={};function c(){}function u(){}function l(){}t=Object.getPrototypeOf;var s=[][r]?t(t([][r]())):(E(t={},r,function(){return this}),t),f=l.prototype=c.prototype=Object.create(s);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,E(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=l,E(f,"constructor",l),E(l,"constructor",u),u.displayName="GeneratorFunction",E(l,o,"GeneratorFunction"),E(f),E(f,o,"Generator"),E(f,r,function(){return this}),E(f,"toString",function(){return"[object Generator]"}),(S=function(){return{w:a,m}})()}function E(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}E=function(e,t,n,r){function a(t,n){E(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},E(e,t,n,r)}function A(e,t,n,r,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){A(a,r,o,i,c,"next",e)}function c(e){A(a,r,o,i,c,"throw",e)}i(void 0)})}}function O(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,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||k(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 k(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}var C="chat_messages";function N(e){var t=e.onDelete,n=e.onCopy,o=(0,h.Bd)().t;return r.createElement("div",{className:"message-actions"},r.createElement("button",{onClick:t},o("删除")),r.createElement("button",{onClick:n},o("复制")))}function I(){try{var e=localStorage.getItem(C);if(!e)return[];var t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return console.error("读取 messages 失败",e),[]}}function M(e){try{var t=e.slice(-200);localStorage.setItem(C,JSON.stringify(t))}catch(e){console.error("保存 messages 到 localStorage 失败",e)}}function P(e,t){var n=I();if(!((null==n?void 0:n.length)>0&&n[n.length-1].id===e.id)){n.push(e);var r=n;n.length>t&&(r=n.slice(-t)),M(r)}}function L(){M([])}function H(){var e,t,n=O((0,r.useState)([]),2),h=n[0],p=n[1],E=(0,r.useRef)((0,i.sg)(function(e){var t=e;e.length>V.current.messages_show_max&&(t=e.slice(-V.current.messages_show_max)),p(t),B.current&&z(!1)},50)).current,A=O((0,r.useState)(!1),2),k=A[0],T=A[1],C=(0,l.MH)().check_user_auth,H=O((0,r.useState)(""),2),D=H[0],F=H[1],G=(0,r.useRef)(null),q=(0,r.useRef)(null),J=((e=y((0,v.L4)(d.A.confirm),2))[0],t=e[1],function(e){var n=e.sub_title,r=e.confirm_fun,o=e.title;t({open:!0,sub_title:n,handle:function(){r(),t({open:!1,handle:null})},title:o})}),R=(0,w.Zp)(),B=(0,r.useRef)(!0),V=(0,r.useRef)(new b.qq),z=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=q.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},K=function(){var e=j(S().m(function e(){var t;return S().w(function(e){for(;;)switch(e.n){case 0:return p(I()),e.n=1,o.XO.get("ai_agent_setting/env");case 1:(t=e.v).code===g.m.Sucess&&(V.current=t.data);case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();(0,r.useEffect)(function(){K(),requestAnimationFrame(function(){z(!1)})},[]),(0,r.useEffect)(function(){var e=q.current;if(e){var t=function(){B.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(){B.current&&z(!1)},[h]);var U=function(){var e=D.trim();if(e){var t={id:Date.now(),sender:"user",text:e},n=[].concat(x(h),[t]);P(t,V.current.messages_show_max),p(n),F(""),T(!0);var r,a,c=(r=n,a=V.current.messages_current_max,(r.length<a?r:r.slice(-a)).map(function(e){return{content:e.text,role:"bot"===e.sender?"system":"user"}})),u={id:t.id+1,sender:"bot",text:"AI思考中..."};n.push(u),p(n);var l=!0;o.jV.sse_post("chat",{messages:c},{onMessage:function(e){l&&(u.text="",l=!1);try{var t,r=JSON.parse(e),o=null==r||null===(t=r.choices[0])||void 0===t?void 0:t.delta.content;o&&(u.text+=o)}catch(t){try{u.text+=JSON.parse(e)}catch(t){u.text+=e}}E(x(n))},onDone:(0,i.nF)(function(){T(!1),P(u,V.current.messages_show_max),z(!0)},100)})}},$=function(){var e=j(S().m(function e(t){return S().w(function(e){for(;;)switch(e.n){case 0:(0,f.l)(t),(0,m.LW)("复制成功");case 1:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}();return r.createElement(r.Fragment,null,r.createElement(c.A,null,r.createElement(u.rA,{icon:"delete_sweep",title:"清空聊天历史",onClick:function(){J({sub_title:"确认删除全部聊天内容吗",confirm_fun:function(){L(),K()}})}}),C(s.oV.ai_agent_setting)&&r.createElement(u.rA,{icon:"settings",title:"ai setting",onClick:function(){R("/".concat(_.o.ai_agent_setting_page))}})),r.createElement("div",{className:"chat-page"},0===(null==h?void 0:h.length)&&r.createElement("div",{className:"chat-header"},"询问服务器的一切"),r.createElement("div",{className:"chat-messages",ref:q},h.map(function(e){return r.createElement("div",{key:e.id,className:"chat-message ".concat(e.sender)},r.createElement(a.default,{context:e.text}),r.createElement(N,{onDelete:function(){return t=e.id,n=h.filter(function(e){return e.id!==t}),p(n),void M(n);var t,n},onCopy:function(){return $(e.text)}}))}),r.createElement("div",{ref:G})),r.createElement("div",{className:"chat-input-area"},r.createElement("textarea",{value:D,onChange:function(e){var t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,200)+"px",F(t.value)},onKeyDown:function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),U())},placeholder:"输入消息,Shift+Enter换行",className:"chat-input"}),!1===k&&r.createElement("button",{onClick:U},"发送"))))}},4299(e,t,n){n.r(t),n.d(t,{default:()=>v});var r=n(6540),o=n(3557),a=n(3311),i=n(950),c=n(7979),u=n(8263),l=n(9428),s=n.n(l),f=(n(3775),n(1499)),m=n(9214),h=new o.A({html:!0,highlight:function(e,t){return'<pre class="custom-code-block"><code>'.concat(h.utils.escapeHtml(e),"</code></pre>")}});function v(e){return(0,m.VD)(),r.createElement("div",{dangerouslySetInnerHTML:{__html:h.render(e.context)}})}h.use(a.BB).use(i.A).use(c.A).use(u.A).use(s()).use(function(e){e.renderer.rules.fence;e.renderer.rules.fence=function(t,n,r,o,a){var i=t[n].content.trim();return'\n <div class="code-block-with-copy">\n <button class="copy-btn" data-code="'.concat(e.utils.escapeHtml(i),'">复制</button>\n <pre><code>').concat(e.utils.escapeHtml(i),"</code></pre>\n </div>")}}).use(function(e){var t=e.renderer.rules.link_open||function(e,t,n,r,o){return o.renderToken(e,t,n)};e.renderer.rules.link_open=function(e,n,r,o,a){var i=e[n],c=i.attrIndex("href");if(c>=0){var u=i.attrs[c][1];i.attrs[c][1]=(0,f.bi)(window.location.href,u)}return t(e,n,r,o,a)}})},840(e){e.exports="data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 version=%271.1%27 aria-hidden=%27true%27><path fill-rule=%27evenodd%27 d=%27M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z%27></path></svg>"}}]);
1
+ /*! For license information please see 710.e9c245256dc4e654e6f8.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[10,710],{4777(e,t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function i(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,{CP:()=>d,Gd:()=>s,Mu:()=>y,aM:()=>l,cL:()=>h,jk:()=>v,qq:()=>m,yw:()=>f});var l=function(e){return e[e.close=0]="close",e[e.length=1]="length",e[e.forver=2]="forver",e}({}),s=i(function e(){u(this,e)}),f='\n# 获取最多文章数量\ndocs_max_num=5\n# 强制每次聊天前都执行本地知识库搜索\nforce_use_local_data=false\n# 读取知识库目录的时候,递归最大深度\ndir_recursion_depth=10\n# gitignore类型的忽略表达式,用于忽略某些文件不被索引,也支持数组 ["abc","node_modules"]\nignore_dir=node_modules\n# 加载最多文件数量\nmax_file_num=1000000\n',m=i(function e(){u(this,e),o(this,"tool_error_max",1),o(this,"tool_call_max",5),o(this,"char_max",12e3),o(this,"messages_show_max",100),o(this,"messages_current_max",100)}),d="\n# 工具报错最大尝试次数\ntool_error_max=1\n# 工具最多调用次数\ntool_call_max=5\n# 单轮请求字符最大数量,多了会截断前面的\nchar_max=12000\n# 聊天消息最多展示多少条\nmessages_show_max=100\n# 聊天消息最多发送最近的多少条去请求(这些设置更能节省token)\nmessages_current_max=100\n",h=JSON.stringify({stream:!1}),v=function(e){return e.ffmpeg="ffmpeg",e.smartmontools="smartmontools",e.ntfs_3g="ntfs_3g",e}({}),y=function(e){return e[e.auth=0]="auth",e[e.cmd=1]="cmd",e[e.cyc=2]="cyc",e[e.sys_env=3]="sys_env",e}({})},8671(e,t,n){n.r(t),n.d(t,{default:()=>H,getMessagesFromLocal:()=>I,learAllMessages:()=>L,pushMessageToLocal:()=>P,setMessagesToLocal:()=>M});var r=n(6540),o=n(4284),a=n(4299),i=n(9844),c=n(7952),u=n(5997),l=n(8247),s=n(3430),f=n(505),m=n(2042),d=n(2389),h=n(7444),v=n(6417);function y(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,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(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)?p(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 p(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}var g=n(3459),b=n(4777),_=n(7361),w=n(7767);function x(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)||k(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 S(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function a(n,r,o,a){var u=r&&r.prototype instanceof c?r:c,l=Object.create(u.prototype);return E(l,"_invoke",function(n,r,o){var a,c,u,l=0,s=o||[],f=!1,m={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return a=t,c=0,u=e,m.n=n,i}};function d(n,r){for(c=n,u=r,t=0;!f&&l&&!o&&t<s.length;t++){var o,a=s[t],d=m.p,h=a[2];n>3?(o=h===r)&&(u=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=d&&((o=n<2&&d<a[1])?(c=0,m.v=r,m.n=a[1]):d<h&&(o=n<3||a[0]>r||r>h)&&(a[4]=n,a[5]=r,m.n=h,c=0))}if(o||n>1)return i;throw f=!0,r}return function(o,s,h){if(l>1)throw TypeError("Generator is already running");for(f&&1===s&&d(s,h),c=s,u=h;(t=c<2?e:u)||!f;){a||(c?c<3?(c>1&&(m.n=-1),d(c,u)):m.n=u:m.v=u);try{if(l=2,a){if(c||(o="next"),t=a[o]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=a.return)&&t.call(a),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((t=(f=m.n<0)?u:n.call(r,m))!==i)break}catch(t){a=e,c=1,u=t}finally{l=1}}return{value:t,done:f}}}(n,o,a),!0),l}var i={};function c(){}function u(){}function l(){}t=Object.getPrototypeOf;var s=[][r]?t(t([][r]())):(E(t={},r,function(){return this}),t),f=l.prototype=c.prototype=Object.create(s);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,E(e,o,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=l,E(f,"constructor",l),E(l,"constructor",u),u.displayName="GeneratorFunction",E(l,o,"GeneratorFunction"),E(f),E(f,o,"Generator"),E(f,r,function(){return this}),E(f,"toString",function(){return"[object Generator]"}),(S=function(){return{w:a,m}})()}function E(e,t,n,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}E=function(e,t,n,r){function a(t,n){E(e,t,function(e){return this._invoke(t,n,e)})}t?o?o(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(a("next",0),a("throw",1),a("return",2))},E(e,t,n,r)}function A(e,t,n,r,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}function j(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){A(a,r,o,i,c,"next",e)}function c(e){A(a,r,o,i,c,"throw",e)}i(void 0)})}}function O(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,o,a,i,c=[],u=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);u=!0);}catch(e){l=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return c}}(e,t)||k(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 k(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}var C="chat_messages";function N(e){var t=e.onDelete,n=e.onCopy,o=(0,d.Bd)().t;return r.createElement("div",{className:"message-actions"},r.createElement("button",{onClick:t},o("删除")),r.createElement("button",{onClick:n},o("复制")))}function I(){try{var e=localStorage.getItem(C);if(!e)return[];var t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return console.error("读取 messages 失败",e),[]}}function M(e){try{var t=e.slice(-200);localStorage.setItem(C,JSON.stringify(t))}catch(e){console.error("保存 messages 到 localStorage 失败",e)}}function P(e,t){var n=I();if(!((null==n?void 0:n.length)>0&&n[n.length-1].id===e.id)){n.push(e);var r=n;n.length>t&&(r=n.slice(-t)),M(r)}}function L(){M([])}function H(){var e,t,n=O((0,r.useState)([]),2),d=n[0],p=n[1],E=(0,r.useRef)((0,i.sg)(function(e){var t=e;e.length>V.current.messages_show_max&&(t=e.slice(-V.current.messages_show_max)),p(t),B.current&&z(!1)},50)).current,A=O((0,r.useState)(!1),2),k=A[0],T=A[1],C=(0,l.MH)().check_user_auth,H=O((0,r.useState)(""),2),D=H[0],F=H[1],G=(0,r.useRef)(null),q=(0,r.useRef)(null),J=((e=y((0,h.L4)(v.A.confirm),2))[0],t=e[1],function(e){var n=e.sub_title,r=e.confirm_fun,o=e.title;t({open:!0,sub_title:n,handle:function(){r(),t({open:!1,handle:null})},title:o})}),R=(0,w.Zp)(),B=(0,r.useRef)(!0),V=(0,r.useRef)(new b.qq),z=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=q.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},K=function(){var e=j(S().m(function e(){var t;return S().w(function(e){for(;;)switch(e.n){case 0:return p(I()),e.n=1,o.XO.get("ai_agent_setting/env");case 1:(t=e.v).code===g.m.Sucess&&(V.current=t.data);case 2:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}();(0,r.useEffect)(function(){K(),requestAnimationFrame(function(){z(!1)})},[]),(0,r.useEffect)(function(){var e=q.current;if(e){var t=function(){B.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(){B.current&&z(!1)},[d]);var U=function(){var e=D.trim();if(e){var t={id:Date.now(),sender:"user",text:e},n=[].concat(x(d),[t]);P(t,V.current.messages_show_max),p(n),F(""),T(!0);var r,a,c=(r=n,a=V.current.messages_current_max,(r.length<a?r:r.slice(-a)).map(function(e){return{content:e.text,role:"bot"===e.sender?"system":"user"}})),u={id:t.id+1,sender:"bot",text:"AI思考中..."};n.push(u),p(n);var l=!0;o.jV.sse_post("chat",{messages:c},{onMessage:function(e){l&&(u.text="",l=!1);try{var t,r=JSON.parse(e),o=null==r||null===(t=r.choices[0])||void 0===t?void 0:t.delta.content;o&&(u.text+=o)}catch(t){try{u.text+=JSON.parse(e)}catch(t){u.text+=e}}E(x(n))},onDone:(0,i.nF)(function(){T(!1),P(u,V.current.messages_show_max),z(!0)},100)})}},$=function(){var e=j(S().m(function e(t){return S().w(function(e){for(;;)switch(e.n){case 0:(0,f.l)(t),(0,m.LW)("复制成功");case 1:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}();return r.createElement(r.Fragment,null,r.createElement(c.A,null,r.createElement(u.rA,{icon:"delete_sweep",title:"清空聊天历史",onClick:function(){J({sub_title:"确认删除全部聊天内容吗",confirm_fun:function(){L(),K()}})}}),C(s.oV.ai_agent_setting)&&r.createElement(u.rA,{icon:"settings",title:"ai setting",onClick:function(){R("/".concat(_.o.ai_agent_setting_page))}})),r.createElement("div",{className:"chat-page"},0===(null==d?void 0:d.length)&&r.createElement("div",{className:"chat-header"},"询问服务器的一切"),r.createElement("div",{className:"chat-messages",ref:q},d.map(function(e){return r.createElement("div",{key:e.id,className:"chat-message ".concat(e.sender)},r.createElement(a.default,{context:e.text}),r.createElement(N,{onDelete:function(){return t=e.id,n=d.filter(function(e){return e.id!==t}),p(n),void M(n);var t,n},onCopy:function(){return $(e.text)}}))}),r.createElement("div",{ref:G})),r.createElement("div",{className:"chat-input-area"},r.createElement("textarea",{value:D,onChange:function(e){var t=e.target;t.style.height="auto",t.style.height=Math.min(t.scrollHeight,200)+"px",F(t.value)},onKeyDown:function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),U())},placeholder:"输入消息,Shift+Enter换行",className:"chat-input"}),!1===k&&r.createElement("button",{onClick:U},"发送"))))}},4299(e,t,n){n.r(t),n.d(t,{default:()=>h});var r=n(6540),o=n(3557),a=n(3311),i=n(950),c=n(7979),u=n(8263),l=n(9428),s=n.n(l),f=(n(3775),n(1499)),m=n(9214),d=new o.A({html:!0,highlight:function(e,t){return'<pre class="custom-code-block"><code>'.concat(d.utils.escapeHtml(e),"</code></pre>")}});function h(e){return(0,m.VD)(),r.createElement("div",{dangerouslySetInnerHTML:{__html:d.render(e.context)}})}d.use(a.BB).use(i.A).use(c.A).use(u.A).use(s()).use(function(e){e.renderer.rules.fence;e.renderer.rules.fence=function(t,n,r,o,a){var i=t[n].content.trim();return'\n <div class="code-block-with-copy">\n <button class="copy-btn" data-code="'.concat(e.utils.escapeHtml(i),'">复制</button>\n <pre><code>').concat(e.utils.escapeHtml(i),"</code></pre>\n </div>")}}).use(function(e){var t=e.renderer.rules.link_open||function(e,t,n,r,o){return o.renderToken(e,t,n)};e.renderer.rules.link_open=function(e,n,r,o,a){var i=e[n],c=i.attrIndex("href");if(c>=0){var u=i.attrs[c][1];i.attrs[c][1]=(0,f.bi)(window.location.href,u)}return t(e,n,r,o,a)}})},840(e){e.exports="data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 version=%271.1%27 aria-hidden=%27true%27><path fill-rule=%27evenodd%27 d=%27M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z%27></path></svg>"}}]);