You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
82 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

exports.id=649,exports.ids=[649],exports.modules={17382:(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});var a,n,r=s(6413);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let o=function(e){return r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),a||(a=r.createElement("defs",null,r.createElement("path",{id:"clear_svg__a",d:"M0 0h16v16H0z"}))),r.createElement("g",null,n||(n=r.createElement("mask",{id:"clear_svg__b",fill:"#fff"},r.createElement("use",{xlinkHref:"#clear_svg__a"}))),r.createElement("g",{mask:"url(#clear_svg__b)"},r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M1 9.67h8.67l1-9.67H0l1 9.67Z",transform:"translate(2.667 5)"}),r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M0 0v3.33",transform:"translate(6.667 8.334)"}),r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M0 0v3.33",transform:"translate(9.334 8.333)"}),r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"m0 4 5.44-4L8 4",transform:"translate(4 1)"}))))}},60403:(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});var a,n,r=s(6413);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let o=function(e){return r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"#fff"},e),a||(a=r.createElement("rect",{width:"100%",height:"100%",fill:"none"})),n||(n=r.createElement("g",{className:"loading_svg__currentLayer"},r.createElement("circle",{cx:4,cy:8,r:1.926,fill:"#333"},r.createElement("animate",{attributeName:"r",begin:"0s",calcMode:"linear",dur:"0.8s",from:2,repeatCount:"indefinite",to:2,values:"2;1.2;2"}),r.createElement("animate",{attributeName:"fill-opacity",begin:"0s",calcMode:"linear",dur:"0.8s",from:1,repeatCount:"indefinite",to:1,values:"1;.5;1"})),r.createElement("circle",{cx:8,cy:8,r:1.274,fill:"#333",fillOpacity:.3},r.createElement("animate",{attributeName:"r",begin:"0s",calcMode:"linear",dur:"0.8s",from:1.2,repeatCount:"indefinite",to:1.2,values:"1.2;2;1.2"}),r.createElement("animate",{attributeName:"fill-opacity",begin:"0s",calcMode:"linear",dur:"0.8s",from:.5,repeatCount:"indefinite",to:.5,values:".5;1;.5"})),r.createElement("circle",{cx:12,cy:8,r:1.926,fill:"#333"},r.createElement("animate",{attributeName:"r",begin:"0s",calcMode:"linear",dur:"0.8s",from:2,repeatCount:"indefinite",to:2,values:"2;1.2;2"}),r.createElement("animate",{attributeName:"fill-opacity",begin:"0s",calcMode:"linear",dur:"0.8s",from:1,repeatCount:"indefinite",to:1,values:"1;.5;1"})))))}},30892:(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var a,n=s(6413);function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let i=function(e){return n.createElement("svg",r({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},e),a||(a=n.createElement("rect",{x:3,y:3,width:18,height:18,rx:2,ry:2})))}},20733:(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});var a,n,r=s(6413);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let o=function(e){return r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),a||(a=r.createElement("defs",null,r.createElement("path",{id:"return_svg__a",d:"M0 0h16v16H0z"}))),r.createElement("g",null,n||(n=r.createElement("mask",{id:"return_svg__b",fill:"#fff"},r.createElement("use",{xlinkHref:"#return_svg__a"}))),r.createElement("g",{mask:"url(#return_svg__b)"},r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M2.33 0 0 2l2.33 2.33",transform:"translate(2 2.667)"}),r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M0 0h7.66c2.3 0 4.25 1.87 4.34 4.17.09 2.42-1.91 4.5-4.34 4.5H2",transform:"translate(2 4.667)"}))))}},24443:(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});var a,n,r=s(6413);function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let o=function(e){return r.createElement("svg",i({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),a||(a=r.createElement("defs",null,r.createElement("path",{id:"share_svg__a",d:"M0 0h16v16H0z"}))),r.createElement("g",null,n||(n=r.createElement("mask",{id:"share_svg__b",fill:"#fff"},r.createElement("use",{xlinkHref:"#share_svg__a"}))),r.createElement("g",{mask:"url(#share_svg__b)"},r.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M6.67 3.67C1.67 3.67 0 7.33 0 13c0 0 2-5 6.67-5v3.67l6-5.67-6-6v3.67Z",transform:"translate(2 1.333)"}))))}},50952:(e,t,s)=>{"use strict";s.d(t,{UK:()=>l,YZ:()=>i,x6:()=>o});var a=s(3729),n=s(76060),r=s(9719);function i(e={}){let[t,s]=(0,n.lr)();(0,a.useEffect)(()=>{let a=!1;t.forEach((s,n)=>{"function"==typeof e[n]&&(e[n](s),t.delete(n),a=!0)}),a&&s(t)},[t,e])}let o=/^[:]/;function l(e={}){function t(e){return e.match(o)?e.slice(1):e}return{match:function(s){let a=t(s),n="function"==typeof e[a];return{matched:n,invoke:()=>n&&e[a](s)}},search:function(s){let a=t(s),n=r.ZP.Chat.Commands;return Object.keys(e).filter(e=>e.startsWith(a)).map(e=>({title:n[e],content:":"+e}))}}}},21649:(e,t,s)=>{"use strict";s.r(t),s.d(t,{Chat:()=>t$,ChatAction:()=>tB,ChatActions:()=>tH,DeleteImageButton:()=>tU,EditMessageModal:()=>tz,PromptHints:()=>tR,SessionConfigModel:()=>tI,ShortcutKeyModal:()=>tW});var a,n,r,i,o,l,c,h,d,m,u,p,g,f,x,v,w,y,_,k,j,C,b,E,S,N,M,P,O,Z,T,A,L,D,I,K,R,F,B,H=s(95344),z=s(75499),U=s(3729),W=s(6413);function V(){return(V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let $=function(e){return W.createElement("svg",V({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),a||(a=W.createElement("defs",null,W.createElement("path",{id:"send-white_svg__a",d:"M0 0h16v16H0z"}))),W.createElement("g",null,n||(n=W.createElement("mask",{id:"send-white_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#send-white_svg__a"}))),W.createElement("g",{mask:"url(#send-white_svg__b)"},W.createElement("path",{style:{stroke:"#fff",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M0 4.71 6.67 6l1.67 6.67L12.67 0 0 4.71Z",transform:"translate(1.333 2)"}),W.createElement("path",{style:{stroke:"#fff",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M0 1.89 1.89 0",transform:"translate(8.003 6.117)"}))))};function G(){return(G=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let X=function(e){return W.createElement("svg",G({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),r||(r=W.createElement("defs",null,W.createElement("path",{id:"brain_svg__a",d:"M0 0h16v16H0z"}))),W.createElement("g",null,i||(i=W.createElement("mask",{id:"brain_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#brain_svg__a"}))),W.createElement("g",{mask:"url(#brain_svg__b)"},W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M5.01 13.33c-.32-1.06-.82-1.86-1.48-2.38-.98-.78-2.56-.3-3.14-1.11-.58-.8.41-2.29.76-3.17.34-.88-1.33-1.19-1.13-1.44.13-.16.97-.64 2.53-1.44C3 1.26 4.63 0 7.47 0c4.24 0 5.86 3.6 5.86 5.89 0 2.29-1.96 4.76-4.75 5.29-.25.37.11 1.08 1.08 2.15",transform:"translate(1.333 1.333)"}),W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M2.1 3.33c-.19 1.09.04 1.6.69 1.53.65-.07 1.05-.34 1.18-.81 1.02.28 1.57.04 1.66-.72.12-1.15-.5-2.07-.75-2.07s-.91-.03-.91-.38C3.97.52 3.2.33 2.5.33c-.69 0-.27-.47-1.23-.29C.64.17.26.44.13.88c-.22.84-.16 1.43.19 1.78.35.34.94.56 1.78.67Z",transform:"translate(6.374 3.957)"}),W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M1.97 0c-.34.21-.8.56-1 .83-.49.69-.88 1.1-.97 1.54",transform:"translate(8.193 8.5)"}))))};function q(){return(q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let Y=function(e){return W.createElement("svg",q({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),o||(o=W.createElement("defs",null,W.createElement("path",{id:"rename_svg__a",d:"M0 0h16v16H0z"}))),W.createElement("g",null,l||(l=W.createElement("mask",{id:"rename_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#rename_svg__a"}))),W.createElement("g",{mask:"url(#rename_svg__b)"},W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M2.83 13.2 13.2 2.83 10.37 0 0 10.37v2.83h2.83Z",transform:"translate(1.775 1.3)"}),W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"m0 0 2.83 2.83",transform:"translate(9.317 4.13)"}))))};var Q=s(24443),J=s(20733),ee=s(81482);function et(){return(et=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let es=function(e){return W.createElement("svg",et({xmlns:"http://www.w3.org/2000/svg",fill:"none",width:16,height:16,viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"speak_svg__w-4 speak_svg__h-4"},e),c||(c=W.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.01 9.01 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25h2.24z"})))};function ea(){return(ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let en=function(e){return W.createElement("svg",ea({xmlns:"http://www.w3.org/2000/svg",fill:"none",width:16,height:16,viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"speak-stop_svg__w-4 speak-stop_svg__h-4"},e),h||(h=W.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25m-10.5-6 4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25h2.24Z"})))};var er=s(39866),ei=s(60403),eo=s(34423),el=s(66363),ec=s(30841);function eh(){return(eh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let ed=function(e){return W.createElement("svg",eh({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),W.createElement("g",null,d||(d=W.createElement("mask",{id:"chat-settings_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#chat-settings_svg__a"}))),W.createElement("g",{mask:"url(#chat-settings_svg__b)"},W.createElement("path",{style:{fill:"#333",opacity:1},d:"M6.728 14.598a.665.665 0 0 1-.828.434 7.294 7.294 0 0 1-3.187-1.945.666.666 0 0 1-.026-.896c.207-.241.31-.527.31-.857 0-.37-.13-.685-.389-.944A1.286 1.286 0 0 0 1.663 10h-.08a.662.662 0 0 1-.665-.288.665.665 0 0 1-.098-.235 7.234 7.234 0 0 1 .188-3.675.662.662 0 0 1 .635-.465h.02c.37 0 .684-.13.944-.392.26-.26.39-.574.39-.942 0-.215-.045-.415-.134-.6a.666.666 0 0 1 .148-.78A7.292 7.292 0 0 1 6.034.932a.666.666 0 0 1 .774.34c.11.219.272.394.483.524.216.135.454.202.712.202.254 0 .488-.067.703-.201.211-.131.372-.306.483-.524a.666.666 0 0 1 .773-.34 7.404 7.404 0 0 1 3.03 1.688.664.664 0 0 1 .143.8c-.09.174-.135.368-.135.583 0 .366.13.68.392.941.262.262.575.393.941.393h.03a.664.664 0 0 1 .636.465c.22.695.331 1.43.331 2.201a7.34 7.34 0 0 1-.143 1.474.66.66 0 0 1-.27.411.666.666 0 0 1-.478.115 1 1 0 0 0-.106-.003c-.367 0-.681.13-.941.39-.261.26-.392.574-.392.943 0 .322.106.61.317.865a.662.662 0 0 1 .1.686.671.671 0 0 1-.133.202 7.294 7.294 0 0 1-3.187 1.945.674.674 0 0 1-.503-.047.659.659 0 0 1-.325-.387 1.311 1.311 0 0 0-.477-.667 1.288 1.288 0 0 0-.789-.26c-.297 0-.564.087-.798.26-.23.17-.389.393-.477.667zm3.52-1.032c.626-.253 1.191-.6 1.696-1.042a2.603 2.603 0 0 1-.277-1.19 2.642 2.642 0 0 1 .784-1.888 2.646 2.646 0 0 1 1.51-.753 6.393 6.393 0 0 0-.118-2.067 2.655 2.655 0 0 1-1.394-.738 2.656 2.656 0 0 1-.782-1.884c0-.239.029-.468.087-.687a6.05 6.05 0 0 0-1.693-.954c-.182.22-.398.41-.65.566-.431.268-.9.402-1.408.402-.511 0-.983-.134-1.414-.401a2.632 2.632 0 0 1-.653-.567 5.936 5.936 0 0 0-1.69.957 2.74 2.74 0 0 1-.125 1.72c-.134.319-.324.601-.57.847a2.641 2.641 0 0 1-1.389.738 5.903 5.903 0 0 0-.12 2.069 2.642 2.642 0 0 1 1.509.753 2.654 2.654 0 0 1 .779 1.888c0 .433-.091.831-.274 1.192.504.44 1.068.787 1.692 1.04.172-.272.393-.507.664-.707.47-.348 1-.522 1.591-.522.587 0 1.115.174 1.584.523.27.2.49.435.661.705z"}),W.createElement("path",{style:{fill:"#333",opacity:1},d:"M10.122 10.122a2.987 2.987 0 0 1-2.125.881 2.969 2.969 0 0 1-2.122-.883 2.983 2.983 0 0 1-.64-.955A2.984 2.984 0 0 1 5 7.997a2.974 2.974 0 0 1 .876-2.12A2.974 2.974 0 0 1 7.996 5c.407 0 .797.078 1.169.235.36.151.678.364.955.64a2.969 2.969 0 0 1 .883 2.122 2.987 2.987 0 0 1-.881 2.125zM7.997 6.333c-.461 0-.854.162-1.178.486a1.603 1.603 0 0 0-.486 1.178c0 .462.163.857.488 1.183.324.327.716.49 1.176.49.46 0 .855-.164 1.182-.491.327-.327.491-.721.491-1.182 0-.46-.163-.852-.49-1.176a1.618 1.618 0 0 0-1.183-.488z"}))),m||(m=W.createElement("defs",null,W.createElement("path",{id:"chat-settings_svg__a",d:"M0 0h16v16H0z"}))))};var em=s(17382);function eu(){return(eu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let ep=function(e){return W.createElement("svg",eu({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),W.createElement("g",null,u||(u=W.createElement("mask",{id:"pin_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#pin_svg__a"}))),W.createElement("g",{mask:"url(#pin_svg__b)"},W.createElement("path",{style:{fill:"#333",opacity:1},d:"m6.685 8.81-4 5.44-.537-.394-.397-.536 5.42-4.01a.666.666 0 0 1 .866.062l.532.528 2.07 2.063-.471.473-.472-.472c.3-.3.457-.62.472-.963.015-.353-.108-.798-.37-1.333a.665.665 0 0 1 .017-.616l2.36-4.25a.662.662 0 0 1 .679-.336l1.65.24-.096.66-.472.471-3.77-3.77.472-.471.66-.096.24 1.65a.664.664 0 0 1-.337.678l-4.25 2.36a.665.665 0 0 1-.646.001c-.479-.265-.903-.388-1.27-.369-.358.018-.69.18-.996.487l-.471-.471.471-.472 2.06 2.06.52.52a.665.665 0 0 1 .066.867zM5.61 8.02l.537.396-.472.471-.52-.52-2.06-2.06a.665.665 0 0 1 0-.943c.548-.548 1.172-.84 1.87-.875.622-.032 1.283.146 1.984.533l-.322.584-.324-.583 4.25-2.36.324.583-.66.096-.24-1.65a.664.664 0 0 1 .66-.763.665.665 0 0 1 .471.195l3.77 3.77a.666.666 0 0 1-.567 1.131l-1.65-.24.096-.66.583.324-2.36 4.25-.583-.323.599-.293c.36.738.527 1.396.503 1.974-.029.689-.316 1.305-.86 1.85a.664.664 0 0 1-.842.083.667.667 0 0 1-.101-.082l-2.068-2.062-.531-.527.47-.473.396.535-5.42 4.01a.663.663 0 0 1-.791.002.664.664 0 0 1-.142-.932z"}))),p||(p=W.createElement("defs",null,W.createElement("path",{id:"pin_svg__a",d:"M0 0h16v16H0z"}))))};var eg=s(99992),ef=s(26989),ex=s(85759);function ev(){return(ev=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let ew=function(e){return W.createElement("svg",ev({xmlns:"http://www.w3.org/2000/svg",fill:"none",height:16,width:16,xmlSpace:"preserve"},e),g||(g=W.createElement("rect",{width:"100%",height:"100%"})),f||(f=W.createElement("g",{className:"image_svg__currentLayer"},W.createElement("g",{fill:"#333"},W.createElement("path",{d:"M2.47 2.47h1.977v-.782H1.688v2.76h.781zM11.553 1.688v.781h1.978v1.978h.78V1.688zM13.53 13.53h-1.977v.782h2.759v-2.76h-.781zM2.47 11.553h-.782v2.759h2.76v-.781H2.468zM8.83 6.243c.682 0 1.237-.555 1.237-1.236S9.512 3.77 8.83 3.77a1.238 1.238 0 0 0 0 2.473zM3.77 12.23h8.46V9.71l-1.527-1.611-1.85 1.077-2.578-1.842L3.77 9.977z"})))))};function ey(){return(ey=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let e_=function(e){return W.createElement("svg",ey({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),x||(x=W.createElement("defs",null,W.createElement("path",{id:"bottom_svg__a",d:"M0 0h16v16H0z"}))),W.createElement("g",null,v||(v=W.createElement("mask",{id:"bottom_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#bottom_svg__a"}))),W.createElement("g",{mask:"url(#bottom_svg__b)"},W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M8 0 4 4 0 0",transform:"translate(4 4)"}),W.createElement("path",{style:{stroke:"#333",strokeWidth:1.3333333333333333,strokeOpacity:1,strokeDasharray:"0 0"},d:"M8 0 4 4 0 0",transform:"translate(4 8)"}))))};var ek=s(30892);function ej(){return(ej=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eC=function(e){return W.createElement("svg",ej({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),W.createElement("g",null,w||(w=W.createElement("mask",{id:"robot_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#robot_svg__a"}))),W.createElement("g",{mask:"url(#robot_svg__b)"},W.createElement("path",{style:{fill:"#333",opacity:1},d:"M3.67 13.67h8.66c.002 0 .003-.001.003-.003V6.334H3.67c-.002 0-.003 0-.003.003v7.33c0 .002 0 .003.003.003zm0 1.333c-.37 0-.684-.13-.945-.391a1.288 1.288 0 0 1-.392-.945v-7.33c0-.37.13-.685.392-.946.26-.26.576-.391.945-.391h8.66c.37 0 .684.13.945.391.261.261.392.577.392.946v7.33c0 .369-.13.684-.392.945a1.288 1.288 0 0 1-.945.391z"}),W.createElement("path",{style:{fill:"#333",opacity:1},d:"M9.819 6.127a.666.666 0 0 1-1.05-.81l1.67-2.67a.665.665 0 0 1 1.107-.034.663.663 0 0 1 .023.74l-1.67 2.67a.665.665 0 0 1-.08.104zM7.293 5.434a.665.665 0 0 1-1.01.779.665.665 0 0 1-.178-.19l-1.67-2.67a.665.665 0 0 1 .952-.896.665.665 0 0 1 .178.19l1.67 2.67a.665.665 0 0 1 .058.117z"}),W.createElement("path",{style:{fill:"#333",opacity:1},d:"M11.337 2.333c-.003 0-.004.001-.004.004l-.001-.01a.007.007 0 0 0 .005.003h-.007v.007c0-.002 0-.004-.002-.005l.009.001zm0-1.333c.366 0 .679.131.939.394.258.261.387.575.387.943 0 .364-.13.676-.39.936s-.572.39-.936.39c-.368 0-.682-.129-.943-.388A1.273 1.273 0 0 1 10 2.337c0-.37.13-.685.391-.946.262-.26.577-.391.946-.391zM4.67 2.333c-.002 0-.003.001-.003.004 0-.005 0-.008-.002-.01a.007.007 0 0 0 .005.003h-.006v.007c0-.002-.001-.004-.003-.005l.009.001zM4.67 1c.366 0 .679.131.939.394.258.261.388.575.388.943 0 .364-.13.676-.39.936s-.573.39-.937.39c-.367 0-.681-.129-.943-.388a1.273 1.273 0 0 1-.394-.938c0-.37.13-.685.392-.946.26-.26.576-.391.945-.391zM6.663 10.003h2.67c.184 0 .34-.065.469-.194a.655.655 0 0 0 .195-.479.638.638 0 0 0-.196-.467.638.638 0 0 0-.468-.196h-2.67a.638.638 0 0 0-.467.196A.638.638 0 0 0 6 9.33c0 .188.065.347.195.479.128.13.284.194.468.194zm0 1.334a1.974 1.974 0 0 1-1.416-.59 2.001 2.001 0 0 1 1.416-3.413h2.67a1.99 1.99 0 0 1 1.41.587 1.99 1.99 0 0 1 .587 1.409 2.002 2.002 0 0 1-1.997 2.007zM2 10.663h1.003a.666.666 0 1 1 0 1.334h-1.67a.666.666 0 0 1-.666-.667V8a.665.665 0 0 1 .666-.667h1.67a.665.665 0 0 1 .555 1.037.665.665 0 0 1-.555.297H2zM14.8 7.346a.664.664 0 0 1 .537.654v3.33a.666.666 0 0 1-.667.667H13a.666.666 0 1 1 0-1.334h1.003V8.667H13a.665.665 0 0 1-.471-1.138.664.664 0 0 1 .471-.196h1.67c.044 0 .087.005.13.013z"}))),y||(y=W.createElement("defs",null,W.createElement("path",{id:"robot_svg__a",d:"M0 0h16v16H0z"}))))};function eb(){return(eb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eE=function(e){return W.createElement("svg",eb({width:16,height:16,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),_||(_=W.createElement("path",{d:"M42 7H6a2 2 0 0 0-2 2v30a2 2 0 0 0 2 2h36a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2Z",stroke:"#333",strokeWidth:4})),k||(k=W.createElement("path",{d:"M30 30V18l8 12V18M10 30V18l8 12V18",stroke:"#333",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})),j||(j=W.createElement("path",{d:"M24 20v1M24 27v1",stroke:"#333",strokeWidth:4,strokeLinecap:"round"})))};function eS(){return(eS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eN=function(e){return W.createElement("svg",eS({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"#333",className:"hd_svg__bi hd_svg__bi-badge-hd"},e),C||(C=W.createElement("path",{d:"M7.396 11V5.001H6.209v2.44H3.687V5H2.5v6h1.187V8.43h2.522V11zM8.5 5.001V11h2.188c1.811 0 2.685-1.107 2.685-3.015 0-1.894-.86-2.984-2.684-2.984zm1.187.967h.843c1.112 0 1.622.686 1.622 2.04 0 1.353-.505 2.02-1.622 2.02h-.843z"})),b||(b=W.createElement("path",{d:"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z"})))};function eM(){return(eM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eP=function(e){return W.createElement("svg",eM({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"#333",className:"palette_svg__bi palette_svg__bi-palette"},e),E||(E=W.createElement("path",{d:"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"})),S||(S=W.createElement("path",{d:"M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8m-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7"})))};function eO(){return(eO=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eZ=function(e){return W.createElement("svg",eO({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:16,height:16,fill:"none"},e),W.createElement("g",null,N||(N=W.createElement("mask",{id:"plugin_svg__b",fill:"#fff"},W.createElement("use",{xlinkHref:"#plugin_svg__a"}))),W.createElement("g",{mask:"url(#plugin_svg__b)"},W.createElement("path",{style:{fill:"#333",opacity:1},d:"M6.945 1.725c.261.26.392.576.392.945V6c0 .37-.13.684-.392.945A1.288 1.288 0 0 1 6 7.337H2.67c-.37 0-.684-.13-.945-.392A1.288 1.288 0 0 1 1.333 6V2.67c0-.37.13-.684.392-.945.26-.261.576-.392.945-.392H6c.37 0 .684.13.945.392zM2.667 6c0 .002 0 .003.003.003H6c.002 0 .003 0 .003-.003V2.67c0-.002 0-.003-.003-.003H2.67c-.002 0-.003 0-.003.003zM6.945 9.058c.261.261.392.576.392.945v3.33c0 .37-.13.685-.392.946A1.288 1.288 0 0 1 6 14.67H2.67c-.37 0-.684-.13-.945-.391a1.288 1.288 0 0 1-.392-.946v-3.33c0-.369.13-.684.392-.945.26-.26.576-.391.945-.391H6c.37 0 .684.13.945.391zm-4.278 4.275c0 .003 0 .004.003.004H6c.002 0 .003-.001.003-.004v-3.33c0-.002 0-.003-.003-.003H2.67c-.002 0-.003.001-.003.003zM13.789 6.455a2.987 2.987 0 0 1-2.126.882c-.407 0-.797-.08-1.169-.238a2.97 2.97 0 0 1-.952-.645 2.983 2.983 0 0 1-.64-.956 2.984 2.984 0 0 1-.235-1.168 2.974 2.974 0 0 1 .876-2.12 2.973 2.973 0 0 1 2.12-.877c.407 0 .796.079 1.169.235.36.151.678.365.955.64a2.97 2.97 0 0 1 .883 2.122 2.988 2.988 0 0 1-.882 2.125zm-2.126-3.788c-.46 0-.853.162-1.177.486A1.603 1.603 0 0 0 10 4.33c0 .462.162.857.487 1.184.325.326.717.49 1.176.49.461 0 .855-.164 1.183-.492.327-.327.49-.721.49-1.182 0-.46-.163-.851-.489-1.176a1.618 1.618 0 0 0-1.184-.487zM14.278 9.058c.261.261.392.576.392.945v3.33c0 .37-.13.685-.392.946a1.288 1.288 0 0 1-.945.391h-3.33c-.369 0-.684-.13-.945-.391a1.288 1.288 0 0 1-.391-.946v-3.33c0-.369.13-.684.391-.945.261-.26.576-.391.945-.391h3.33c.37 0 .684.13.945.391zM10 13.333c0 .003.001.004.003.004h3.33c.003 0 .004-.001.004-.004v-3.33c0-.002-.001-.003-.004-.003h-3.33c-.002 0-.003.001-.003.003z"}))),M||(M=W.createElement("defs",null,W.createElement("path",{id:"plugin_svg__a",d:"M0 0h16v16H0z"}))))};function eT(){return(eT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let eA=function(e){return W.createElement("svg",eT({width:16,height:16,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),P||(P=W.createElement("path",{d:"M4 28a2 2 0 0 1 2-2h4v12H6a2 2 0 0 1-2-2v-8ZM38 26h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4V26Z"})),O||(O=W.createElement("path",{d:"M10 36V24c0-7.732 6.268-14 14-14s14 6.268 14 14v12M10 26H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4V26Zm28 0h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-4V26Z",stroke:"#333",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})),Z||(Z=W.createElement("path",{d:"M16 32h4l2-6 4 12 2-6h4",stroke:"#333",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})))};var eL=s(33362),eD=s(25166),eI=s(22824),eK=s(97273),eR=s(74975),eF=s(52061),eB=s(9719),eH=s(70580),ez=s(93949),eU=s.n(ez),eW=s(6068),eV=s(17304),e$=s(99608),eG=s(67938),eX=s(86111),eq=s(1566),eY=s(50952),eQ=s(74872),eJ=s(52097),e0=s.n(eJ),e1=s(55246);let e3={src:"/_next/static/media/bot.0c800005.png"};var e6=s(13262),e2=s(56270),e4=s.n(e2),e8=s(56815);function e7(e){let t=(0,eL.aK)().currentSession(),s=e=>e.content&&!e.isError&&!e.streaming,a=(0,U.useMemo)(()=>{let e=Math.max(0,t.clearContextIndex??0);return e===t.messages.length-1&&(e=0),t.messages.slice(e)},[t.messages,t.clearContextIndex]),n=(0,U.useMemo)(()=>a.filter((e,t)=>e.id&&s(e)&&(t>=a.length-1||s(a[t+1]))),[a]),r=n.length,i=(0,eL.MG)(),[o,l]=(0,U.useState)(""),[c,h]=(0,U.useState)(new Set),d=e=>0===o.length||c.has(e),m=e=>{let t=new Set;e.length>0&&n.forEach(s=>(0,eD.YK)(s).includes(e)?t.add(s.id):null),h(t)},{startIndex:u,endIndex:p,onClickIndex:g}=function(){let[e,t]=(0,U.useState)(),[s,a]=(0,U.useState)(),[n,r]=(0,U.useState)(!1);return(0,U.useEffect)(()=>{let e=e=>{"Shift"===e.key&&r(!0)},s=e=>{"Shift"===e.key&&(r(!1),t(void 0),a(void 0))};return window.addEventListener("keyup",s),window.addEventListener("keydown",e),()=>{window.removeEventListener("keyup",s),window.removeEventListener("keydown",e)}},[]),{onClickIndex:s=>{n&&void 0!==e?a(s):(t(s),a(void 0))},startIndex:e,endIndex:s}}(),f=()=>{e.updateSelection(e=>n.forEach(t=>e.add(t.id)))};return(0,U.useEffect)(()=>{e.defaultSelectAll&&f()},[]),(0,U.useEffect)(()=>{if(void 0===u||void 0===p)return;let[t,s]=[u,p].sort((e,t)=>e-t);e.updateSelection(e=>{for(let a=t;a<=s;a+=1)e.add(n[a].id??a)})},[u,p]),(0,H.jsxs)("div",{className:e4()["message-selector"],children:[(0,H.jsxs)("div",{className:e4()["message-filter"],children:[H.jsx("input",{type:"text",placeholder:eB.ZP.Select.Search,className:(0,e8.Z)(e4()["filter-item"],e4()["search-bar"]),value:o,onInput:e=>{l(e.currentTarget.value),m(e.currentTarget.value)}}),(0,H.jsxs)("div",{className:e4().actions,children:[H.jsx(eH.h,{text:eB.ZP.Select.All,bordered:!0,className:e4()["filter-item"],onClick:f}),H.jsx(eH.h,{text:eB.ZP.Select.Latest,bordered:!0,className:e4()["filter-item"],onClick:()=>e.updateSelection(e=>{e.clear(),n.slice(r-4).forEach(t=>e.add(t.id))})}),H.jsx(eH.h,{text:eB.ZP.Select.Clear,bordered:!0,className:e4()["filter-item"],onClick:()=>e.updateSelection(e=>e.clear())})]})]}),H.jsx("div",{className:e4().messages,children:n.map((s,a)=>{if(!d(s.id))return null;let n=s.id??a,r=e.selection.has(n);return(0,H.jsxs)("div",{className:(0,e8.Z)(e4().message,{[e4()["message-selected"]]:e.selection.has(s.id)}),onClick:()=>{e.updateSelection(e=>{e.has(n)?e.delete(n):e.add(n)}),g(a)},children:[H.jsx("div",{className:e4().avatar,children:"user"===s.role?H.jsx(eG.qE,{avatar:i.avatar}):H.jsx(eX.MaskAvatar,{avatar:t.mask.avatar,model:s.model||t.mask.modelConfig.model})}),(0,H.jsxs)("div",{className:e4().body,children:[H.jsx("div",{className:e4().date,children:new Date(s.date).toLocaleString()}),H.jsx("div",{className:(0,e8.Z)(e4().content,"one-line"),children:(0,eD.YK)(s)})]}),H.jsx("div",{className:e4().checkbox,children:H.jsx("input",{type:"checkbox",checked:r,readOnly:!0})})]},a)})})]})}var e5=s(89410),e9=s(71052),te=s(54508),tt=s(31604);let ts=(0,eK.default)(async()=>(await s.e(768).then(s.bind(s,49768))).Markdown,{loadableGenerated:{modules:["D:\\NextWeb\\app\\components\\exporter.tsx -> ./markdown"]},loading:()=>H.jsx(er.Z,{})});function ta(e){return H.jsx("div",{className:"modal-mask",children:H.jsx(eW.u_,{title:eB.ZP.Export.Title,onClose:e.onClose,footer:H.jsx("div",{style:{width:"100%",textAlign:"center",fontSize:14,opacity:.5},children:eB.ZP.Exporter.Description.Title}),children:H.jsx("div",{style:{minHeight:"40vh"},children:H.jsx(tr,{})})})})}function tn(e){let t=e.steps,s=t.length;return(0,H.jsxs)("div",{className:e0().steps,children:[H.jsx("div",{className:e0()["steps-progress"],children:H.jsx("div",{className:e0()["steps-progress-inner"],style:{width:`${(e.index+1)/s*100}%`}})}),H.jsx("div",{className:e0()["steps-inner"],children:t.map((t,s)=>(0,H.jsxs)("div",{className:(0,e8.Z)("clickable",e0().step,{[e0()["step-finished"]]:s<=e.index,[e0()["step-current"]]:s===e.index}),onClick:()=>{e.onStepChange?.(s)},role:"button",children:[H.jsx("span",{className:e0()["step-index"],children:s+1}),H.jsx("span",{className:e0()["step-name"],children:t.name})]},s))})]})}function tr(){let e=[{name:eB.ZP.Export.Steps.Select,value:"select"},{name:eB.ZP.Export.Steps.Preview,value:"preview"}],{currentStep:t,setCurrentStepIndex:s,currentStepIndex:a}=function(e){let t=e.length,[s,a]=(0,U.useState)(0);return{currentStepIndex:s,setCurrentStepIndex:a,nextStep:()=>a((s+1)%t),prevStep:()=>a((s-1+t)%t),currentStep:e[s]}}(e),[n,r]=(0,U.useState)({format:"image",includeContext:!0});function i(e){let t={...n};e(t),r(t)}let o=(0,eL.aK)().currentSession(),{selection:l,updateSelection:c}=function(){let[e,t]=(0,U.useState)(new Set);return{selection:e,updateSelection:s=>{let a=new Set(e);s(a),t(a)}}}(),h=(0,U.useMemo)(()=>{let e=[];return n.includeContext&&e.push(...o.mask.context),e.push(...o.messages.filter(e=>l.has(e.id))),e},[n.includeContext,o.messages,o.mask.context,l]);return(0,H.jsxs)(H.Fragment,{children:[H.jsx(tn,{steps:e,index:a,onStepChange:s}),(0,H.jsxs)("div",{className:e0()["message-exporter-body"],style:"select"!==t.value?{display:"none"}:{},children:[(0,H.jsxs)(eW.aV,{children:[H.jsx(eW.HC,{title:eB.ZP.Export.Format.Title,subTitle:eB.ZP.Export.Format.SubTitle,children:H.jsx(eW.Ph,{value:n.format,onChange:e=>i(t=>t.format=e.currentTarget.value),children:["text","image","json"].map(e=>H.jsx("option",{value:e,children:e},e))})}),H.jsx(eW.HC,{title:eB.ZP.Export.IncludeContext.Title,subTitle:eB.ZP.Export.IncludeContext.SubTitle,children:H.jsx("input",{type:"checkbox",checked:n.includeContext,onChange:e=>{i(t=>t.includeContext=e.currentTarget.checked)}})})]}),H.jsx(e7,{selection:l,updateSelection:c,defaultSelectAll:!0})]}),"preview"===t.value&&H.jsx("div",{className:e0()["message-exporter-body"],children:"text"===n.format?H.jsx(th,{messages:h,topic:o.topic}):"json"===n.format?H.jsx(td,{messages:h,topic:o.topic}):H.jsx(tc,{messages:h,topic:o.topic})})]})}function ti(e){let t=(0,U.useRef)(null);return(0,U.useEffect)(()=>{if(!t.current)return;let s=Array.from(t.current.getElementsByClassName(e$.yY));if(s.length!==e.messages.length)return;let a=s.map((e,t)=>{let[s,a]=e.id.split(":");return{id:t.toString(),role:s,content:"user"===s?e.textContent??"":e.innerHTML,date:""}});e.onRender(a)},[]),H.jsx("div",{ref:t,children:e.messages.map((e,t)=>H.jsx("div",{id:`${e.role}:${t}`,className:e$.yY,children:H.jsx(ts,{content:(0,eD.YK)(e),defaultShow:!0})},t))})}function to(e){let[t,s]=(0,U.useState)(!1),[a,n]=(0,U.useState)(!1),r=(0,eL.MG)(),i=async()=>{e.messages?.length&&(s(!0),n(!0))};return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:e0()["preview-actions"],children:[e.showCopy&&H.jsx(eH.h,{text:eB.ZP.Export.Copy,bordered:!0,shadow:!0,icon:H.jsx(ee.Z,{}),onClick:e.copy}),H.jsx(eH.h,{text:eB.ZP.Export.Download,bordered:!0,shadow:!0,icon:H.jsx(e6.Z,{}),onClick:e.download}),H.jsx(eH.h,{text:eB.ZP.Export.Share,bordered:!0,shadow:!0,icon:t?H.jsx(er.Z,{}):H.jsx(Q.Z,{}),onClick:i})]}),H.jsx("div",{style:{position:"fixed",right:"200vw",pointerEvents:"none"},children:a&&H.jsx(ti,{messages:e.messages??[],onRender:e=>{n(!1),(0,tt.Lw)(r.modelConfig.providerName).share(e).then(e=>{e&&((0,eW.K4)({title:eB.ZP.Export.Share,children:[H.jsx("input",{type:"text",value:e,style:{width:"100%",maxWidth:"unset"},readOnly:!0,onClick:e=>e.currentTarget.select()},"input")],actions:[H.jsx(eH.h,{icon:H.jsx(ee.Z,{}),text:eB.ZP.Chat.Actions.Copy,onClick:()=>(0,eD.vQ)(e)},"copy")]}),setTimeout(()=>{window.open(e,"_blank")},800))}).catch(e=>{console.error("[Share]",e),(0,eW.CF)((0,eQ.B)(e))}).finally(()=>s(!1))}})})]})}function tl(e){return e.avatar===eq._G?H.jsx("img",{src:e3.src,width:30,height:30,alt:"bot",className:"user-avatar"}):H.jsx(eG.qE,{avatar:e.avatar})}function tc(e){let t=(0,eL.aK)().currentSession(),s=t.mask,a=(0,eL.MG)(),n=(0,U.useRef)(null),r=(0,eD.S0)(),i=async()=>{(0,eW.CF)(eB.ZP.Export.Image.Toast);let t=n.current;if(!t)return;let s=te.Z()?.isApp;try{let a=await (0,e9.YM)(t);if(!a)return;if(r||s&&window.__TAURI__){if(s&&window.__TAURI__){let t=await window.__TAURI__.dialog.save({defaultPath:`${e.topic}.png`,filters:[{name:"PNG Files",extensions:["png"]},{name:"All Files",extensions:["*"]}]});if(null!==t){let e=await fetch(a),s=await e.arrayBuffer(),n=new Uint8Array(s);await window.__TAURI__.fs.writeBinaryFile(t,n),(0,eW.CF)(eB.ZP.Download.Success)}else(0,eW.CF)(eB.ZP.Download.Failed)}else(0,eW.vi)(a)}else{let t=document.createElement("a");t.download=`${e.topic}.png`,t.href=a,t.click(),o()}}catch(e){(0,eW.CF)(eB.ZP.Download.Failed)}},o=()=>{let e=n.current;e&&(e.innerHTML=e.innerHTML)};return(0,H.jsxs)("div",{className:e0()["image-previewer"],children:[H.jsx(to,{copy:()=>{(0,eW.CF)(eB.ZP.Export.Image.Toast);let e=n.current;e&&(0,e9.SE)(e).then(e=>{if(e)try{navigator.clipboard.write([new ClipboardItem({"image/png":e})]).then(()=>{(0,eW.CF)(eB.ZP.Copy.Success),o()})}catch(e){console.error("[Copy Image] ",e),(0,eW.CF)(eB.ZP.Copy.Failed)}})},download:i,showCopy:!r,messages:e.messages}),(0,H.jsxs)("div",{className:(0,e8.Z)(e0()["preview-body"],e0()["default-theme"]),ref:n,children:[(0,H.jsxs)("div",{className:e0()["chat-info"],children:[H.jsx("div",{className:(0,e8.Z)(e0().logo,"no-dark"),children:H.jsx(e5.default,{src:e1.Z.src,alt:"logo",width:50,height:50})}),(0,H.jsxs)("div",{children:[H.jsx("div",{className:e0()["main-title"],children:"NextChat"}),H.jsx("div",{className:e0()["sub-title"],children:"github.com/ChatGPTNextWeb/ChatGPT-Next-Web"}),(0,H.jsxs)("div",{className:e0().icons,children:[H.jsx(tl,{avatar:a.avatar}),H.jsx("span",{className:e0()["icon-space"],children:"&"}),H.jsx(tl,{avatar:s.avatar})]})]}),(0,H.jsxs)("div",{children:[(0,H.jsxs)("div",{className:e0()["chat-info-item"],children:[eB.ZP.Exporter.Model,": ",s.modelConfig.model]}),(0,H.jsxs)("div",{className:e0()["chat-info-item"],children:[eB.ZP.Exporter.Messages,": ",e.messages.length]}),(0,H.jsxs)("div",{className:e0()["chat-info-item"],children:[eB.ZP.Exporter.Topic,": ",t.topic]}),(0,H.jsxs)("div",{className:e0()["chat-info-item"],children:[eB.ZP.Exporter.Time,":"," ",new Date(e.messages.at(-1)?.date??Date.now()).toLocaleString()]})]})]}),e.messages.map((e,t)=>(0,H.jsxs)("div",{className:(0,e8.Z)(e0().message,e0()["message-"+e.role]),children:[H.jsx("div",{className:e0().avatar,children:H.jsx(tl,{avatar:"user"===e.role?a.avatar:s.avatar})}),(0,H.jsxs)("div",{className:e0().body,children:[H.jsx(ts,{content:(0,eD.YK)(e),fontSize:a.fontSize,fontFamily:a.fontFamily,defaultShow:!0}),1==(0,eD.Bs)(e).length&&H.jsx("img",{src:(0,eD.Bs)(e)[0],alt:"message",className:e0()["message-image"]},t),(0,eD.Bs)(e).length>1&&H.jsx("div",{className:e0()["message-images"],style:{"--image-count":(0,eD.Bs)(e).length},children:(0,eD.Bs)(e).map((e,t)=>H.jsx("img",{src:e,alt:"message",className:e0()["message-image-multi"]},t))})]})]},t))]})]})}function th(e){let t=`# ${e.topic}
`+e.messages.map(e=>"user"===e.role?`## ${eB.ZP.Export.MessageFromYou}:
${(0,eD.YK)(e)}`:`## ${eB.ZP.Export.MessageFromChatGPT}:
${(0,eD.YK)(e).trim()}`).join("\n\n");return(0,H.jsxs)(H.Fragment,{children:[H.jsx(to,{copy:()=>{(0,eD.vQ)(t)},download:()=>{(0,eD.CP)(t,`${e.topic}.md`)},showCopy:!0,messages:e.messages}),H.jsx("div",{className:"markdown-body",children:H.jsx("pre",{className:e0()["export-content"],children:t})})]})}function td(e){let t={messages:[{role:"system",content:`${eB.ZP.FineTuned.Sysmessage} ${e.topic}`},...e.messages.map(e=>({role:e.role,content:e.content}))]},s="```json\n"+JSON.stringify(t,null,2)+"\n```",a=JSON.stringify(t),n=()=>{(0,eD.vQ)(a)};return(0,H.jsxs)(H.Fragment,{children:[H.jsx(to,{copy:n,download:()=>{(0,eD.CP)(JSON.stringify(t),`${e.topic}.json`)},showCopy:!1,messages:e.messages}),H.jsx("div",{className:"markdown-body",onClick:n,children:H.jsx(ts,{content:s})})]})}var tm=s(74255),tu=s(14300),tp=s(6113),tg=s(12781);(function(e){e.SILENT="silent",e.X_SOFT="x-soft",e.SOFT="soft",e.MEDIUM="medium",e.LOUD="loud",e.X_LOUD="x-LOUD",e.DEFAULT="default"})(T||(T={})),function(e){e.X_SLOW="x-slow",e.SLOW="slow",e.MEDIUM="medium",e.FAST="fast",e.X_FAST="x-fast",e.DEFAULT="default"}(A||(A={})),function(e){e.X_LOW="x-low",e.LOW="low",e.MEDIUM="medium",e.HIGH="high",e.X_HIGH="x-high",e.DEFAULT="default"}(L||(L={})),function(e){e.AUDIO_24KHZ_48KBITRATE_MONO_MP3="audio-24khz-48kbitrate-mono-mp3",e.AUDIO_24KHZ_96KBITRATE_MONO_MP3="audio-24khz-96kbitrate-mono-mp3",e.WEBM_24KHZ_16BIT_MONO_OPUS="webm-24khz-16bit-mono-opus"}(D||(D={}));class tf{constructor(){this.pitch="+0Hz",this.rate=1,this.volume=100}}class tx{static{this.OUTPUT_FORMAT=D}static{this.TRUSTED_CLIENT_TOKEN="6A5AA1D4EAFF4E9FB37E23D68491D6F4"}static{this.VOICES_URL=`https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=${tx.TRUSTED_CLIENT_TOKEN}`}static{this.SYNTH_URL=`wss://speech.platform.bing.com/consumer/speech/synthesize/readaloud/edge/v1?TrustedClientToken=${tx.TRUSTED_CLIENT_TOKEN}`}static{this.BINARY_DELIM="Path:audio\r\n"}static{this.VOICE_LANG_REGEX=/\w{2}-\w{2}/}_log(...e){this._enableLogger&&console.log(...e)}constructor(e=!1){this._streams={},this._startTime=0,this._enableLogger=e}async _send(e){for(let e=1;e<=3&&this._ws.readyState!==this._ws.OPEN;e++)1==e&&(this._startTime=Date.now()),this._log("connecting: ",e),await this._initClient();this._ws.send(e)}_initClient(){return this._ws=new WebSocket(tx.SYNTH_URL),this._ws.binaryType="arraybuffer",new Promise((e,t)=>{this._ws.onopen=()=>{this._log("Connected in",(Date.now()-this._startTime)/1e3,"seconds"),this._send(`Content-Type:application/json; charset=utf-8\r
Path:speech.config\r
\r
{
"context": {
"synthesis": {
"audio": {
"metadataoptions": {
"sentenceBoundaryEnabled": "false",
"wordBoundaryEnabled": "false"
},
"outputFormat": "${this._outputFormat}"
}
}
}
}
`).then(e)},this._ws.onmessage=e=>{let t=tu.Buffer.from(e.data),s=t.toString(),a=/X-RequestId:(.*?)\r\n/gm.exec(s)[1];s.includes("Path:turn.start")||(s.includes("Path:turn.end")?this._streams[a].push(null):s.includes("Path:response")||(s.includes("Path:audio")&&e.data instanceof ArrayBuffer?this._pushAudioData(t,a):this._log("UNKNOWN MESSAGE",s)))},this._ws.onclose=()=>{for(let e in this._log("disconnected after:",(Date.now()-this._startTime)/1e3,"seconds"),this._streams)this._streams[e].push(null)},this._ws.onerror=function(e){t("Connect Error: "+e)}})}_pushAudioData(e,t){let s=e.indexOf(tx.BINARY_DELIM)+tx.BINARY_DELIM.length,a=e.subarray(s);this._streams[t].push(a),this._log("received audio chunk, size: ",a?.length)}_SSMLTemplate(e,t={}){return t={...new tf,...t},`<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="${this._voiceLocale}">
<voice name="${this._voice}">
<prosody pitch="${t.pitch}" rate="${t.rate}" volume="${t.volume}">
${e}
</prosody>
</voice>
</speak>`}getVoices(){return fetch(tx.VOICES_URL).then(e=>{if(!e.ok)throw Error("Network response was not ok");return e.json()}).then(e=>e).catch(e=>{throw e})}async setMetadata(e,t,s){let a=this._voice,n=this._voiceLocale,r=this._outputFormat;if(this._voice=e,this._voiceLocale=s,!this._voiceLocale){let e=tx.VOICE_LANG_REGEX.exec(this._voice);if(!e)throw Error("Could not infer voiceLocale from voiceName!");this._voiceLocale=e[0]}this._outputFormat=t,(a!==this._voice||n!==this._voiceLocale||r!==this._outputFormat||this._ws.readyState!==this._ws.OPEN)&&(this._startTime=Date.now(),await this._initClient())}_metadataCheck(){if(!this._ws)throw Error("Speech synthesis not configured yet. Run setMetadata before calling toStream or toFile.")}close(){this._ws.close()}toStream(e,t){let{stream:s}=this._rawSSMLRequest(this._SSMLTemplate(e,t));return s}toArrayBuffer(e,t){return new Promise((s,a)=>{let n=[],r=this.toStream(e,t);r.on("data",e=>{n.push(e)}),r.on("end",()=>{s(tu.Buffer.concat(n).buffer)}),r.on("error",e=>{a(e)})})}rawToStream(e){let{stream:t}=this._rawSSMLRequest(e);return t}_rawSSMLRequest(e){this._metadataCheck();let t=(0,tp.randomBytes)(16).toString("hex"),s=`X-RequestId:${t}\r
Content-Type:application/ssml+xml\r
Path:ssml\r
\r
`+e.trim(),a=this,n=new tg.Readable({read(){},destroy(e,s){delete a._streams[t],s(e)}});return this._streams[t]=n,this._send(s).then(),{stream:n,requestId:t}}}var tv=s(20582),tw=s(6111);function ty(){return(ty=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let t_=function(e){return W.createElement("svg",ty({width:24,height:24,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),I||(I=W.createElement("rect",{x:17,y:4,width:14,height:27,rx:7,stroke:"#333",strokeWidth:4,strokeLinejoin:"round"})),K||(K=W.createElement("path",{d:"M9 23c0 8.284 6.716 15 15 15 8.284 0 15-6.716 15-15M24 38v6",stroke:"#333",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})))};function tk(){return(tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let tj=function(e){return W.createElement("svg",tk({width:24,height:24,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),R||(R=W.createElement("path",{d:"M31 24V11a7 7 0 1 0-14 0v13a7 7 0 1 0 14 0Z",stroke:"#d0021b",strokeWidth:4,strokeLinejoin:"round"})),F||(F=W.createElement("path",{d:"M9 23c0 8.284 6.716 15 15 15 1.753 0 3.436-.3 5-.853M39 23a14.95 14.95 0 0 1-1.248 6M24 38v6M42 42 6 6",stroke:"#d0021b",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})))};function tC(){return(tC=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e}).apply(this,arguments)}let tb=function(e){return W.createElement("svg",tC({width:24,height:24,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),B||(B=W.createElement("path",{d:"M14.5 8a19.05 19.05 0 0 0-4.75 3.84C6.794 15.146 5 19.49 5 24.245 5 34.603 13.507 43 24 43s19-8.397 19-18.755c0-4.756-1.794-9.099-4.75-12.405A19.02 19.02 0 0 0 33.5 8M24 4v20",stroke:"#333",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})))};var tE=s(45136),tS=s.n(tE),tN=s(37824);class tM{constructor(){this.workletNode=null,this.stream=null,this.source=null,this.recordBuffer=[],this.sampleRate=24e3,this.nextPlayTime=0,this.isPlaying=!1,this.playbackQueue=[],this.playBuffer=[],this.context=new AudioContext({sampleRate:this.sampleRate}),this.mergeNode=new ChannelMergerNode(this.context,{numberOfInputs:2}),this.analyser=new AnalyserNode(this.context,{fftSize:256}),this.analyserData=new Uint8Array(this.analyser.frequencyBinCount),this.mergeNode.connect(this.analyser)}getByteFrequencyData(){return this.analyser.getByteFrequencyData(this.analyserData),this.analyserData}async initialize(){await this.context.audioWorklet.addModule("/audio-processor.js")}async startRecording(e){try{this.workletNode||await this.initialize(),this.stream=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:this.sampleRate,echoCancellation:!0,noiseSuppression:!0}}),await this.context.resume(),this.source=this.context.createMediaStreamSource(this.stream),this.workletNode=new AudioWorkletNode(this.context,"audio-recorder-processor"),this.workletNode.port.onmessage=t=>{if("audio"===t.data.eventType){let s=t.data.audioData,a=new Int16Array(s.length);for(let e=0;e<s.length;e++){let t=Math.max(-1,Math.min(1,s[e]));a[e]=t<0?32768*t:32767*t}let n=new Uint8Array(a.buffer);e(n),this.recordBuffer.push.apply(this.recordBuffer,a)}},this.source.connect(this.workletNode),this.source.connect(this.mergeNode,0,0),this.workletNode.connect(this.context.destination),this.workletNode.port.postMessage({command:"START_RECORDING"})}catch(e){throw console.error("Error starting recording:",e),e}}stopRecording(){if(!this.workletNode||!this.source||!this.stream)throw Error("Recording not started");this.workletNode.port.postMessage({command:"STOP_RECORDING"}),this.workletNode.disconnect(),this.source.disconnect(),this.stream.getTracks().forEach(e=>e.stop())}startStreamingPlayback(){this.isPlaying=!0,this.nextPlayTime=this.context.currentTime}stopStreamingPlayback(){this.isPlaying=!1,this.playbackQueue.forEach(e=>e.stop()),this.playbackQueue=[],this.playBuffer=[]}playChunk(e){if(!this.isPlaying)return;let t=new Int16Array(e.buffer);this.playBuffer.push.apply(this.playBuffer,t);let s=new Float32Array(t.length);for(let e=0;e<t.length;e++)s[e]=t[e]/(t[e]<0?32768:32767);let a=this.context.createBuffer(1,s.length,this.sampleRate);a.getChannelData(0).set(s);let n=this.context.createBufferSource();n.buffer=a,n.connect(this.context.destination),n.connect(this.mergeNode,0,1);let r=a.length/this.sampleRate;n.start(this.nextPlayTime),this.playbackQueue.push(n),n.onended=()=>{let e=this.playbackQueue.indexOf(n);e>-1&&this.playbackQueue.splice(e,1)},this.nextPlayTime+=r,this.nextPlayTime<this.context.currentTime&&(this.nextPlayTime=this.context.currentTime)}_saveData(e,t=16){let s=e.buffer.byteLength,a=new Uint8Array(44),n=new DataView(a.buffer);return n.setUint32(0,1380533830,!1),n.setUint32(4,36+s,!0),n.setUint32(8,1463899717,!1),n.setUint32(12,1718449184,!1),n.setUint32(16,16,!0),n.setUint16(20,1,!0),n.setUint16(22,1,!0),n.setUint32(24,this.sampleRate,!0),n.setUint32(28,4*this.sampleRate,!0),n.setUint16(32,2,!0),n.setUint16(34,t,!0),n.setUint32(36,1684108385,!1),n.setUint32(40,s,!0),new Blob([n,e.buffer],{type:"audio/mpeg"})}savePlayFile(){return this._saveData(new Int16Array(this.playBuffer))}saveRecordFile(e,t){let s=e?Math.floor(e*this.sampleRate/1e3):0,a=t?Math.floor(t*this.sampleRate/1e3):this.recordBuffer.length;return this._saveData(new Int16Array(this.recordBuffer.slice(s,a)))}async close(){this.recordBuffer=[],this.workletNode?.disconnect(),this.source?.disconnect(),this.stream?.getTracks().forEach(e=>e.stop()),await this.context.close()}}var tP=s(19262),tO=s.n(tP);function tZ({frequencies:e,isActive:t}){let s=(0,U.useRef)(null),a=(0,U.useRef)([]),n=(0,U.useRef)(10),r=(0,U.useRef)(),i=(0,U.useCallback)(e=>{a.current.push(e),a.current.length>n.current&&a.current.shift()},[]);return(0,U.useEffect)(()=>{let n=s.current;if(!n)return;let o=n.getContext("2d");if(!o)return;let l=window.devicePixelRatio||1;n.width=n.offsetWidth*l,n.height=n.offsetHeight*l,o.scale(l,l);let c=()=>{if(o.clearRect(0,0,n.width,n.height),!e||!t){a.current=[];return}i(Array.from(e));let s=[],l=n.height/2,h=n.width/(e.length-1);o.beginPath(),o.moveTo(0,l);for(let t=0;t<e.length;t++){let r=t*h,i=e[t];a.current.length>0&&(i=(i+a.current.map(e=>e[t]||0).reduce((e,t)=>e+t,0))/(a.current.length+1));let c=i/255,d=l+n.height/2*c*Math.sin(.2*t+.002*Date.now());if(s.push([r,d]),0===t)o.moveTo(r,d);else{let e=s[t-1],a=(e[0]+r)/2;o.quadraticCurveTo(e[0],e[1],a,(e[1]+d)/2)}}for(let e=s.length-1;e>=0;e--){let[t,a]=s[e],n=l-(a-l);if(e===s.length-1)o.lineTo(t,n);else{let n=s[e+1],r=(n[0]+t)/2;o.quadraticCurveTo(n[0],l-(n[1]-l),r,l-((n[1]+a)/2-l))}}o.closePath();let d=o.createLinearGradient(0,0,n.width,0);d.addColorStop(0,"rgba(100, 180, 255, 0.95)"),d.addColorStop(.5,"rgba(140, 200, 255, 0.9)"),d.addColorStop(1,"rgba(180, 220, 255, 0.95)"),o.fillStyle=d,o.fill(),r.current=requestAnimationFrame(c)};return c(),()=>{r.current&&cancelAnimationFrame(r.current)}},[e,t,i]),H.jsx("div",{className:tO()["voice-print"],children:H.jsx("canvas",{ref:s})})}function tT({onClose:e,onStartVoice:t,onPausedVoice:s}){let a=(0,eL.aK)(),n=a.currentSession(),r=(0,eL.MG)(),[i,o]=(0,U.useState)(""),[l,c]=(0,U.useState)(!1),[h,d]=(0,U.useState)(!1),[m,u]=(0,U.useState)(!1),[p,g]=(0,U.useState)("audio"),[f,x]=(0,U.useState)(!0),[v,w]=(0,U.useState)(),y=(0,U.useRef)(null),_=(0,U.useRef)(null),k=(0,U.useRef)(!1),j=r.realtimeConfig.temperature,C=r.realtimeConfig.apiKey,b=r.realtimeConfig.model,E="Azure"===r.realtimeConfig.provider,S=r.realtimeConfig.azure.endpoint,N=r.realtimeConfig.azure.deployment,M=r.realtimeConfig.voice,P=async()=>{if(!m){if(h)await O();else try{u(!0),y.current=E?new tN.G2(new URL(S),{key:C},{deployment:N}):new tN.G2({key:C},{model:b}),await y.current.configure({instructions:"",voice:M,input_audio_transcription:{model:"whisper-1"},turn_detection:f?{type:"server_vad"}:null,tools:[],temperature:j,modalities:"audio"===p?["text","audio"]:["text"]}),Z(),d(!0)}catch(e){console.error("Connection failed:",e),o("Connection failed")}finally{u(!1)}}},O=async()=>{if(y.current)try{await y.current.close(),y.current=null,d(!1)}catch(e){console.error("Disconnect failed:",e)}},Z=async()=>{if(y.current)try{for await(let e of y.current.events())"response"===e.type?await T(e):"input_audio"===e.type&&await A(e)}catch(e){y.current&&console.error("Response iteration error:",e)}},T=async e=>{for await(let t of e)if("message"===t.type&&"assistant"===t.role){let e=(0,eL.tn)({role:t.role,content:""});a.updateTargetSession(n,t=>{t.messages=t.messages.concat([e])});let s=!1;for await(let r of t){if("text"===r.type)for await(let t of r.textChunks())e.content+=t;else if("audio"===r.type){let t=async()=>{for await(let t of r.transcriptChunks())e.content+=t},a=async()=>{for await(let e of(_.current?.startStreamingPlayback(),r.audioChunks()))s=!0,_.current?.playChunk(e)};await Promise.all([t(),a()])}a.updateTargetSession(n,e=>{e.messages=e.messages.concat()})}if(s){let t=_.current?.savePlayFile();(0,eI.Ix)(t).then(t=>{e.audio_url=t,a.updateTargetSession(n,e=>{e.messages=e.messages.concat()})})}}},A=async e=>{if(await e.waitForCompletion(),e.transcription){let t=(0,eL.tn)({role:"user",content:e.transcription});a.updateTargetSession(n,e=>{e.messages=e.messages.concat([t])});let{audioStartMillis:s,audioEndMillis:r}=e,i=_.current?.saveRecordFile(s,r);(0,eI.Ix)(i).then(e=>{t.audio_url=e,a.updateTargetSession(n,e=>{e.messages=e.messages.concat()})})}_.current?.stopStreamingPlayback()},L=async()=>{if(!l&&y.current)try{_.current||(_.current=new tM,await _.current.initialize()),await _.current.startRecording(async e=>{await y.current?.sendAudio(e)}),c(!0)}catch(e){console.error("Failed to start recording:",e)}else if(_.current)try{if(_.current.stopRecording(),!f){let e=await y.current?.commitAudio();await A(e),await y.current?.generateResponse()}c(!1)}catch(e){console.error("Failed to stop recording:",e)}};(0,U.useEffect)(()=>{if(!k.current)return k.current=!0,(async()=>{let e=new tM;await e.initialize(),_.current=e,await P(),await L()})().catch(e=>{o(e),console.error(e)}),()=>{l&&L(),_.current?.close().catch(console.error),O()}},[]),(0,U.useEffect)(()=>{let e;if(h&&l){let t=()=>{_.current&&w(_.current.getByteFrequencyData()),e=requestAnimationFrame(t)};e=requestAnimationFrame(t)}else w(void 0);return()=>{e&&cancelAnimationFrame(e)}},[h,l]),(0,U.useEffect)(()=>{y.current?.configure({voice:M})},[M]),(0,U.useEffect)(()=>{y.current?.configure({temperature:j})},[j]);let D=async()=>{e?.(),l&&await L(),O().catch(console.error)};return(0,H.jsxs)("div",{className:tS()["realtime-chat"],children:[H.jsx("div",{className:(0,e8.Z)(tS()["circle-mic"],{[tS().pulse]:l}),children:H.jsx(tZ,{frequencies:v,isActive:l})}),(0,H.jsxs)("div",{className:tS()["bottom-icons"],children:[H.jsx("div",{children:H.jsx(eH.h,{icon:l?H.jsx(t_,{}):H.jsx(tj,{}),onClick:L,disabled:!h,shadow:!0,bordered:!0})}),H.jsx("div",{className:tS()["icon-center"],children:i}),H.jsx("div",{children:H.jsx(eH.h,{icon:H.jsx(tb,{}),onClick:D,shadow:!0,bordered:!0})})]})]})}s(85824);let tA=(0,eD.EN)(),tL=function(){let e=null,t=null;return{init:()=>{(e=new(window.AudioContext||window.webkitAudioContext)).suspend()},play:async(s,a)=>{t&&(t.stop(),t.disconnect());let n=await e.decodeAudioData(s);(t=e.createBufferSource()).buffer=n,t.connect(e.destination),e.resume().then(()=>{t.start()}),t.onended=a},stop:()=>{t&&(t.stop(),t.disconnect(),t=null),e&&(e.close(),e=null)}}}(),tD=(0,eK.default)(async()=>(await s.e(768).then(s.bind(s,49768))).Markdown,{loadableGenerated:{modules:["D:\\NextWeb\\app\\components\\chat.tsx -> ./markdown"]},loading:()=>H.jsx(er.Z,{})});function tI(e){let t=(0,eL.aK)(),s=t.currentSession(),a=(0,eq.Zy)(),n=(0,eV.s0)();return H.jsx("div",{className:"modal-mask",children:H.jsx(eW.u_,{title:eB.ZP.Context.Edit,onClose:()=>e.onClose(),actions:[H.jsx(eH.h,{icon:H.jsx(ec.Z,{}),bordered:!0,text:eB.ZP.Chat.Config.Reset,onClick:async()=>{await (0,eW.i0)(eB.ZP.Memory.ResetConfirm)&&t.updateTargetSession(s,e=>e.memoryPrompt="")}},"reset"),H.jsx(eH.h,{icon:H.jsx(ee.Z,{}),bordered:!0,text:eB.ZP.Chat.Config.SaveAs,onClick:()=>{n(e$.y$.Masks),setTimeout(()=>{a.create(s.mask)},500)}},"copy")],children:H.jsx(eX.MaskConfig,{mask:s.mask,updateMask:e=>{let a={...s.mask};e(a),t.updateTargetSession(s,e=>e.mask=a)},shouldSyncFromGlobal:!0,extraListItems:s.mask.modelConfig.sendMemory?H.jsx(eW.HC,{className:"copyable",title:`${eB.ZP.Memory.Title} (${s.lastSummarizeIndex} of ${s.messages.length})`,subTitle:s.memoryPrompt||eB.ZP.Memory.EmptyContent}):H.jsx(H.Fragment,{})})})})}function tK(e){let t=(0,eL.aK)().currentSession().mask.context;return(0,H.jsxs)("div",{className:eU()["prompt-toast"],children:[e.showToast&&t.length>0&&(0,H.jsxs)("div",{className:(0,e8.Z)(eU()["prompt-toast-inner"],"clickable"),role:"button",onClick:()=>e.setShowModal(!0),children:[H.jsx(X,{}),H.jsx("span",{className:eU()["prompt-toast-content"],children:eB.ZP.Context.Toast(t.length)})]}),e.showModal&&H.jsx(tI,{onClose:()=>e.setShowModal(!1)})]},"prompt-toast")}function tR(e){let t=0===e.prompts.length,[s,a]=(0,U.useState)(0),n=(0,U.useRef)(null);return((0,U.useEffect)(()=>{a(0)},[e.prompts.length]),(0,U.useEffect)(()=>{let r=r=>{if(t||r.metaKey||r.altKey||r.ctrlKey)return;let i=t=>{r.stopPropagation(),r.preventDefault(),a(Math.max(0,Math.min(e.prompts.length-1,s+t))),n.current?.scrollIntoView({block:"center"})};if("ArrowUp"===r.key)i(1);else if("ArrowDown"===r.key)i(-1);else if("Enter"===r.key){let t=e.prompts.at(s);t&&e.onPromptSelect(t)}};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e.prompts.length,s]),t)?null:H.jsx("div",{className:eU()["prompt-hints"],children:e.prompts.map((t,r)=>(0,H.jsxs)("div",{ref:r===s?n:null,className:(0,e8.Z)(eU()["prompt-hint"],{[eU()["prompt-hint-selected"]]:r===s}),onClick:()=>e.onPromptSelect(t),onMouseEnter:()=>a(r),children:[H.jsx("div",{className:eU()["hint-title"],children:t.title}),H.jsx("div",{className:eU()["hint-content"],children:t.content})]},t.title+r.toString()))})}function tF(){let e=(0,eL.aK)(),t=e.currentSession();return(0,H.jsxs)("div",{className:eU()["clear-context"],onClick:()=>e.updateTargetSession(t,e=>e.clearContextIndex=void 0),children:[H.jsx("div",{className:eU()["clear-context-tips"],children:eB.ZP.Context.Clear}),H.jsx("div",{className:eU()["clear-context-revert-btn"],children:eB.ZP.Context.Revert})]})}function tB(e){let t=(0,U.useRef)(null),s=(0,U.useRef)(null),[a,n]=(0,U.useState)({full:16,icon:16});function r(){if(!t.current||!s.current)return;let e=s.current.getBoundingClientRect().width,a=t.current.getBoundingClientRect().width;n({full:e+a,icon:a})}return(0,H.jsxs)("div",{className:(0,e8.Z)(eU()["chat-input-action"],"clickable"),onClick:()=>{e.onClick(),setTimeout(r,1)},onMouseEnter:r,onTouchStart:r,style:{"--icon-width":`${a.icon}px`,"--full-width":`${a.full}px`},children:[H.jsx("div",{ref:t,className:eU().icon,children:e.icon}),H.jsx("div",{className:eU().text,ref:s,children:e.text})]})}function tH(e){let t=(0,eL.MG)(),s=(0,eV.s0)(),a=(0,eL.aK)(),n=(0,eL.RQ)(),r=a.currentSession();t.theme;let i=eR.L.hasPending(),o=r.mask.modelConfig.model,l=r.mask.modelConfig?.providerName||e$.UT.OpenAI,c=(0,tm.l)(),h=(0,U.useMemo)(()=>{let e=c.filter(e=>e.available),t=e.find(e=>e.isDefault);return t?[t,...e.filter(e=>e!==t)]:e},[c]),d=(0,U.useMemo)(()=>{let e=h.find(e=>e.name==o&&e?.provider?.providerName==l);return e?.displayName??""},[h,o,l]),[m,u]=(0,U.useState)(!1),[p,g]=(0,U.useState)(!1),[f,x]=(0,U.useState)(!1),[v,w]=(0,U.useState)(!1),[y,_]=(0,U.useState)(!1),[k,j]=(0,U.useState)(!1),C=(0,eD.h1)(o),b=r.mask.modelConfig?.size??"1024x1024",E=r.mask.modelConfig?.quality??"standard",S=r.mask.modelConfig?.style??"vivid";return(0,eD.S0)(),(0,U.useEffect)(()=>{let t=(0,eD.Xf)(o);if(x(t),t||(e.setAttachImages([]),e.setUploading(!1)),!h.some(e=>e.name===o)&&h.length>0){let e=h.find(e=>e.isDefault)||h[0];a.updateTargetSession(r,t=>{t.mask.modelConfig.model=e.name,t.mask.modelConfig.providerName=e?.provider?.providerName}),(0,eW.CF)(e?.provider?.providerName=="ByteDance"?e.displayName:e.name)}},[a,o,h,r]),(0,H.jsxs)("div",{className:eU()["chat-input-actions"],children:[(0,H.jsxs)(H.Fragment,{children:[i&&H.jsx(tB,{onClick:()=>eR.L.stopAll(),text:eB.ZP.Chat.InputActions.Stop,icon:H.jsx(ek.Z,{})}),!e.hitBottom&&H.jsx(tB,{onClick:e.scrollToBottom,text:eB.ZP.Chat.InputActions.ToBottom,icon:H.jsx(e_,{})}),e.hitBottom&&H.jsx(tB,{onClick:e.showPromptModal,text:eB.ZP.Chat.InputActions.Settings,icon:H.jsx(ed,{})}),f&&H.jsx(tB,{onClick:e.uploadImage,text:eB.ZP.Chat.InputActions.UploadImage,icon:e.uploading?H.jsx(ei.Z,{}):H.jsx(ew,{})}),H.jsx(tB,{onClick:()=>u(!0),text:d,icon:H.jsx(eC,{})}),m&&H.jsx(eW.Qf,{defaultSelectedValue:`${o}@${l}`,items:h.map(e=>({title:`${e.displayName}${e?.provider?.providerName?" ("+e?.provider?.providerName+")":""}`,value:`${e.name}@${e?.provider?.providerName}`})),onClose:()=>u(!1),onSelection:e=>{if(0===e.length)return;let[t,s]=(0,tw.En)(e[0]);if(a.updateTargetSession(r,e=>{e.mask.modelConfig.model=t,e.mask.modelConfig.providerName=s,e.mask.syncGlobalConfig=!1}),"ByteDance"==s){let e=h.find(e=>e.name==t&&e?.provider?.providerName==s);(0,eW.CF)(e?.displayName??"")}else(0,eW.CF)(t)}}),(0,eD.ZT)(o)&&H.jsx(tB,{onClick:()=>w(!0),text:b,icon:H.jsx(eE,{})}),v&&H.jsx(eW.Qf,{defaultSelectedValue:b,items:C.map(e=>({title:e,value:e})),onClose:()=>w(!1),onSelection:e=>{if(0===e.length)return;let t=e[0];a.updateTargetSession(r,e=>{e.mask.modelConfig.size=t}),(0,eW.CF)(t)}}),(0,eD.Wu)(o)&&H.jsx(tB,{onClick:()=>_(!0),text:E,icon:H.jsx(eN,{})}),y&&H.jsx(eW.Qf,{defaultSelectedValue:E,items:["standard","hd"].map(e=>({title:e,value:e})),onClose:()=>_(!1),onSelection:e=>{if(0===e.length)return;let t=e[0];a.updateTargetSession(r,e=>{e.mask.modelConfig.quality=t}),(0,eW.CF)(t)}}),(0,eD.Wu)(o)&&H.jsx(tB,{onClick:()=>j(!0),text:S,icon:H.jsx(eP,{})}),k&&H.jsx(eW.Qf,{defaultSelectedValue:S,items:["vivid","natural"].map(e=>({title:e,value:e})),onClose:()=>j(!1),onSelection:e=>{if(0===e.length)return;let t=e[0];a.updateTargetSession(r,e=>{e.mask.modelConfig.style=t}),(0,eW.CF)(t)}}),(0,eD.up)(l,o)&&H.jsx(tB,{onClick:()=>{0==n.getAll().length?s(e$.y$.Plugins):g(!0)},text:eB.ZP.Plugin.Name,icon:H.jsx(eZ,{})}),p&&H.jsx(eW.Qf,{multiple:!0,defaultSelectedValue:a.currentSession().mask?.plugin,items:n.getAll().map(e=>({title:`${e?.title}@${e?.version}`,value:e?.id})),onClose:()=>g(!1),onSelection:e=>{a.updateTargetSession(r,t=>{t.mask.plugin=e})}})]}),H.jsx("div",{className:eU()["chat-input-actions-end"],children:t.realtimeConfig.enable&&H.jsx(tB,{onClick:()=>e.setShowChatSidePanel(!0),text:"Realtime Chat",icon:H.jsx(eA,{})})})]})}function tz(e){let t=(0,eL.aK)(),s=t.currentSession(),[a,n]=(0,U.useState)(s.messages.slice());return H.jsx("div",{className:"modal-mask",children:(0,H.jsxs)(eW.u_,{title:eB.ZP.Chat.EditMessage.Title,onClose:e.onClose,actions:[H.jsx(eH.h,{text:eB.ZP.UI.Cancel,icon:H.jsx(ex.Z,{}),onClick:()=>{e.onClose()}},"cancel"),H.jsx(eH.h,{type:"primary",text:eB.ZP.UI.Confirm,icon:H.jsx(eg.Z,{}),onClick:()=>{t.updateTargetSession(s,e=>e.messages=a),e.onClose()}},"ok")],children:[H.jsx(eW.aV,{children:H.jsx(eW.HC,{title:eB.ZP.Chat.EditMessage.Topic.Title,subTitle:eB.ZP.Chat.EditMessage.Topic.SubTitle,children:H.jsx("input",{type:"text",value:s.topic,onInput:e=>t.updateTargetSession(s,t=>t.topic=e.currentTarget.value)})})}),H.jsx(eX.ContextPrompts,{context:a,updateContext:e=>{let t=a.slice();e(t),n(t)}})]})})}function tU(e){return H.jsx("div",{className:eU()["delete-image"],onClick:e.deleteImage,children:H.jsx(em.Z,{})})}function tW(e){let t=navigator.platform.toUpperCase().indexOf("MAC")>=0,s=[{title:eB.ZP.Chat.ShortcutKey.newChat,keys:t?["⌘","Shift","O"]:["Ctrl","Shift","O"]},{title:eB.ZP.Chat.ShortcutKey.focusInput,keys:["Shift","Esc"]},{title:eB.ZP.Chat.ShortcutKey.copyLastCode,keys:t?["⌘","Shift",";"]:["Ctrl","Shift",";"]},{title:eB.ZP.Chat.ShortcutKey.copyLastMessage,keys:t?["⌘","Shift","C"]:["Ctrl","Shift","C"]},{title:eB.ZP.Chat.ShortcutKey.showShortcutKey,keys:t?["⌘","/"]:["Ctrl","/"]},{title:eB.ZP.Chat.ShortcutKey.clearContext,keys:t?["⌘","Shift","backspace"]:["Ctrl","Shift","backspace"]}];return H.jsx("div",{className:"modal-mask",children:H.jsx(eW.u_,{title:eB.ZP.Chat.ShortcutKey.Title,onClose:e.onClose,actions:[H.jsx(eH.h,{type:"primary",text:eB.ZP.UI.Confirm,icon:H.jsx(eg.Z,{}),onClick:()=>{e.onClose()}},"ok")],children:H.jsx("div",{className:eU()["shortcut-key-container"],children:H.jsx("div",{className:eU()["shortcut-key-grid"],children:s.map((e,t)=>(0,H.jsxs)("div",{className:eU()["shortcut-key-item"],children:[H.jsx("div",{className:eU()["shortcut-key-title"],children:e.title}),H.jsx("div",{className:eU()["shortcut-key-keys"],children:e.keys.map((e,t)=>H.jsx("div",{className:eU()["shortcut-key"],children:H.jsx("span",{children:e})},t))})]},t))})})})})}function tV(){let e=(0,eL.aK)(),t=e.currentSession(),a=(0,eL.MG)(),n=a.fontSize,r=a.fontFamily,[i,o]=(0,U.useState)(!1),l=(0,U.useRef)(null),[c,h]=(0,U.useState)(""),[d,m]=(0,U.useState)(!1),{submitKey:u,shouldSubmit:p}=function(){let e=(0,eL.MG)(),t=e.submitKey,s=(0,U.useRef)(!1);return(0,U.useEffect)(()=>{let e=()=>{s.current=!0},t=()=>{s.current=!1};return window.addEventListener("compositionstart",e),window.addEventListener("compositionend",t),()=>{window.removeEventListener("compositionstart",e),window.removeEventListener("compositionend",t)}},[]),{submitKey:t,shouldSubmit:t=>229!=t.keyCode&&"Enter"===t.key&&("Enter"!==t.key||!t.nativeEvent.isComposing&&!s.current)&&(e.submitKey===eL.mQ.AltEnter&&t.altKey||e.submitKey===eL.mQ.CtrlEnter&&t.ctrlKey||e.submitKey===eL.mQ.ShiftEnter&&t.shiftKey||e.submitKey===eL.mQ.MetaEnter&&t.metaKey||e.submitKey===eL.mQ.Enter&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&!t.metaKey)}}(),g=(0,U.useRef)(null),f=!!g?.current&&1>=Math.abs(g.current.scrollHeight-(g.current.scrollTop+g.current.clientHeight)),x=(0,U.useMemo)(()=>{let e=g.current?.lastElementChild;return!!g?.current&&!!e&&e.getBoundingClientRect().top-g.current.getBoundingClientRect().top<100},[g?.current?.scrollHeight]),v=""!==c,{setAutoScroll:w,scrollDomToBottom:y}=function(e,t=!1,s){let[a,n]=(0,U.useState)(!0),r=(0,U.useCallback)(()=>{let t=e.current;t&&requestAnimationFrame(()=>{n(!0),t.scrollTo(0,t.scrollHeight)})},[e]);(0,U.useEffect)(()=>{a&&!t&&r()});let i=(0,U.useRef)(s.length);return(0,U.useEffect)(()=>{s.length>i.current&&!t&&r(),i.current=s.length},[s.length,t,r]),{scrollRef:e,autoScroll:a,setAutoScroll:n,scrollDomToBottom:r}}(g,(f||x)&&!v,t.messages),[_,k]=(0,U.useState)(!0),j=(0,eD.S0)(),C=(0,eV.s0)(),[b,E]=(0,U.useState)([]),[S,N]=(0,U.useState)(!1),M=(0,eF.f)(),[P,O]=(0,U.useState)([]),Z=(0,z.y1)(e=>{O(M.search(e))},100,{leading:!0,trailing:!0}),[T,A]=(0,U.useState)(2),L=(0,z.y1)(()=>{let e=l.current?(0,eD.lx)(l.current):1;A(Math.min(20,Math.max(2+Number(!j),e)))},100,{leading:!0,trailing:!0});(0,U.useEffect)(L,[c]);let I=(0,eY.UK)({new:()=>e.newSession(),newm:()=>C(e$.y$.NewChat),prev:()=>e.nextSession(-1),next:()=>e.nextSession(1),clear:()=>e.updateTargetSession(t,e=>e.clearContextIndex=e.messages.length),fork:()=>e.forkSession(),del:()=>e.deleteSession(e.currentSessionIndex)}),K=e=>{h(e);let t=e.trim().length;0===t?O([]):e.match(eY.x6)?O(I.search(e)):!a.disablePromptHint&&t<30&&e.startsWith("/")&&Z(e.slice(1))},R=t=>{if(""===t.trim()&&(0,tv.Z)(b))return;let s=I.match(t);if(s.matched){h(""),O([]),s.invoke();return}m(!0),e.onUserInput(t,b).then(()=>m(!1)),E([]),e.setLastInput(t),h(""),O([]),j||l.current?.focus(),w(!0)},F=e=>{eR.L.stop(t.id,e)};(0,U.useEffect)(()=>{e.updateTargetSession(t,e=>{let t=Date.now()-e$.tb;e.messages.forEach(e=>{(e.isError||new Date(e.date).getTime()<t)&&(e.streaming&&(e.streaming=!1),0===e.content.length&&(e.isError=!0,e.content=(0,eQ.B)({error:!0,message:"empty response"})))}),e.mask.syncGlobalConfig&&(console.log("[Mask] syncing from global, name = ",e.mask.name),e.mask.modelConfig={...a.modelConfig})})},[t]);let B=s=>{e.updateTargetSession(t,e=>e.messages=e.messages.filter(e=>e.id!==s))},W=e=>{B(e)},V=s=>{let a,n;let r=t.messages.findIndex(e=>e.id===s.id);if(r<0||r>=t.messages.length){console.error("[Chat] failed to find resending message",s);return}if("assistant"===s.role){n=s;for(let e=r;e>=0;e-=1)if("user"===t.messages[e].role){a=t.messages[e];break}}else if("user"===s.role){a=s;for(let e=r;e<t.messages.length;e+=1)if("assistant"===t.messages[e].role){n=t.messages[e];break}}if(void 0===a){console.error("[Chat] failed to resend",s);return}B(a.id),B(n?.id),m(!0);let i=(0,eD.YK)(a),o=(0,eD.Bs)(a);e.onUserInput(i,o).then(()=>m(!1)),l.current?.focus()},G=s=>{e.updateTargetSession(t,e=>e.mask.context.push(s)),(0,eW.CF)(eB.ZP.Chat.Actions.PinToastContent,{text:eB.ZP.Chat.Actions.PinToastAction,onClick:()=>{eE(!0)}})},X=(0,eL._X)(),[q,et]=(0,U.useState)(!1),[ea,er]=(0,U.useState)(!1);async function eh(e){if(q)tL.stop(),et(!1);else{var t;let a;t=new tt.ti(e$.k8.GPT);let n=eL.MG.getState();er(!0),tL.init();let{markdownToTxt:r}=s(34433),i=r(e);if(n.ttsConfig.engine!==e$.Xu){let e=X.edgeVoiceName(),t=new tx;await t.setMetadata(e,D.AUDIO_24KHZ_96KBITRATE_MONO_MP3),a=await t.toArrayBuffer(i)}else a=await t.llm.speech({model:n.ttsConfig.model,input:i,voice:n.ttsConfig.voice,speed:n.ttsConfig.speed});et(!0),tL.play(a,()=>{et(!1)}).catch(e=>{console.error("[OpenAI Speech]",e),(0,eW.CF)((0,eQ.B)(e)),et(!1)}).finally(()=>er(!1))}}let ed=(0,U.useMemo)(()=>t.mask.hideContext?[]:t.mask.context.slice(),[t.mask.context,t.mask.hideContext]);if(0===ed.length&&t.messages.at(0)?.content!==eL.ux.content){let e=Object.assign({},eL.ux);X.isAuthorized()||(e.content=eB.ZP.Error.Unauthorized),ed.push(e)}let eu=(0,U.useMemo)(()=>ed.concat(t.messages).concat(d?[{...(0,eL.tn)({role:"assistant",content:"……"}),preview:!0}]:[]).concat(c.length>0&&a.sendPreviewBubble?[{...(0,eL.tn)({role:"user",content:c}),preview:!0}]:[]),[a.sendPreviewBubble,ed,d,t.messages,c]),[ex,ev]=(0,U.useState)(Math.max(0,eu.length-e$.nS));function ew(e){ev(e=Math.max(0,e=Math.min(eu.length-e$.nS,e)))}let ey=(0,U.useMemo)(()=>{let e=Math.min(ex+3*e$.nS,eu.length);return eu.slice(ex,e)},[ex,eu]),e_=e=>{let t=e.scrollTop+e.clientHeight,s=e.clientHeight,a=e.scrollTop<=s,n=t>=e.scrollHeight-s,r=t>=e.scrollHeight-(j?4:10),i=ex-e$.nS,o=ex+e$.nS;a&&!n?ew(i):n&&ew(o),k(r),w(r)};function ej(){ew(eu.length-e$.nS),y()}let eC=(t.clearContextIndex??-1)>=0?t.clearContextIndex+ed.length-ex:-1,[eb,eE]=(0,U.useState)(!1),eS=(0,U.useMemo)(()=>(0,te.Z)(),[]),eN=!j,eM=!j&&!eS?.isApp;(0,eY.YZ)({fill:h,submit:e=>{R(e)},code:e=>{X.disableFastLink||(console.log("[Command] got code from url: ",e),(0,eW.i0)(eB.ZP.URLCommand.Code+`code = ${e}`).then(t=>{t&&X.update(t=>t.accessCode=e)}))},settings:e=>{if(!X.disableFastLink)try{let t=JSON.parse(e);console.log("[Command] got settings from url: ",t),(t.key||t.url)&&(0,eW.i0)(eB.ZP.URLCommand.Settings+`
${JSON.stringify(t,null,4)}`).then(e=>{e&&(t.key&&X.update(e=>e.openaiApiKey=t.key),t.url&&X.update(e=>e.openaiUrl=t.url),X.update(e=>e.useCustomConfig=!0))})}catch{console.error("[Command] failed to get settings from url: ",e)}}});let[eP,eO]=(0,U.useState)(!1);(0,U.useEffect)(()=>{let e=(0,e$.AI)(t.id),s=tA.getItem(e);s&&0===c.length&&(h(s),tA.removeItem(e));let a=l.current;return()=>{tA.setItem(e,a?.value??"")}},[]);let eZ=(0,U.useCallback)(async t=>{let s=e.currentSession().mask.modelConfig.model;if((0,eD.Xf)(s)){for(let e of(t.clipboardData||window.clipboardData).items)if("file"===e.kind&&e.type.startsWith("image/")){t.preventDefault();let s=e.getAsFile();if(s){let e=[];e.push(...b),e.push(...await new Promise((e,t)=>{N(!0);let a=[];(0,eI.Ix)(s).then(t=>{a.push(t),N(!1),e(a)}).catch(e=>{N(!1),t(e)})}));let t=e.length;t>3&&e.splice(3,t-3),E(e)}}}},[b,e]);async function eT(){let e=[];e.push(...b),e.push(...await new Promise((e,t)=>{let s=document.createElement("input");s.type="file",s.accept="image/png, image/jpeg, image/webp, image/heic, image/heif",s.multiple=!0,s.onchange=s=>{N(!0);let a=s.target.files,n=[];for(let r=0;r<a.length;r++){let i=s.target.files[r];(0,eI.Ix)(i).then(t=>{n.push(t),(3===n.length||n.length===a.length)&&(N(!1),e(n))}).catch(e=>{N(!1),t(e)})}},s.click()}));let t=e.length;t>3&&e.splice(3,t-3),E(e)}let[eA,eK]=(0,U.useState)(!1);(0,U.useEffect)(()=>{let s=s=>{if((s.metaKey||s.ctrlKey)&&s.shiftKey&&"o"===s.key.toLowerCase())s.preventDefault(),setTimeout(()=>{e.newSession(),C(e$.y$.Chat)},10);else if(s.shiftKey&&"escape"===s.key.toLowerCase())s.preventDefault(),l.current?.focus();else if((s.metaKey||s.ctrlKey)&&s.shiftKey&&"Semicolon"===s.code){s.preventDefault();let e=document.querySelectorAll(".copy-code-button");e.length>0&&e[e.length-1].click()}else if((s.metaKey||s.ctrlKey)&&s.shiftKey&&"c"===s.key.toLowerCase()){s.preventDefault();let e=ey.filter(e=>"user"!==e.role).pop();if(e){let t=(0,eD.YK)(e);(0,eD.vQ)(t)}}else(s.metaKey||s.ctrlKey)&&"/"===s.key?(s.preventDefault(),eK(!0)):(s.metaKey||s.ctrlKey)&&s.shiftKey&&"backspace"===s.key.toLowerCase()&&(s.preventDefault(),e.updateTargetSession(t,e=>{e.clearContextIndex===e.messages.length?e.clearContextIndex=void 0:(e.clearContextIndex=e.messages.length,e.memoryPrompt="")}))};return document.addEventListener("keydown",s),()=>{document.removeEventListener("keydown",s)}},[ey,e,C,t]);let[ez,eq]=(0,U.useState)(!1);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)("div",{className:eU().chat,children:[(0,H.jsxs)("div",{className:"window-header","data-tauri-drag-region":!0,children:[j&&H.jsx("div",{className:"window-actions",children:H.jsx("div",{className:"window-action-button",children:H.jsx(eH.h,{icon:H.jsx(J.Z,{}),bordered:!0,title:eB.ZP.Chat.Actions.ChatList,onClick:()=>C(e$.y$.Home)})})}),(0,H.jsxs)("div",{className:(0,e8.Z)("window-header-title",eU()["chat-body-title"]),children:[H.jsx("div",{className:(0,e8.Z)("window-header-main-title",eU()["chat-body-main-title"]),onClickCapture:()=>eO(!0),children:t.topic?t.topic:eL.HX}),H.jsx("div",{className:"window-header-sub-title",children:eB.ZP.Chat.SubTitle(t.messages.length)})]}),(0,H.jsxs)("div",{className:"window-actions",children:[H.jsx("div",{className:"window-action-button",children:H.jsx(eH.h,{icon:H.jsx(ec.Z,{}),bordered:!0,title:eB.ZP.Chat.Actions.RefreshTitle,onClick:()=>{(0,eW.CF)(eB.ZP.Chat.Actions.RefreshToast),e.summarizeSession(!0,t)}})}),!j&&H.jsx("div",{className:"window-action-button",children:H.jsx(eH.h,{icon:H.jsx(Y,{}),bordered:!0,title:eB.ZP.Chat.EditMessage.Title,aria:eB.ZP.Chat.EditMessage.Title,onClick:()=>eO(!0)})}),H.jsx("div",{className:"window-action-button",children:H.jsx(eH.h,{icon:H.jsx(Q.Z,{}),bordered:!0,title:eB.ZP.Chat.Actions.Export,onClick:()=>{o(!0)}})}),eM&&H.jsx("div",{className:"window-action-button",children:H.jsx(eH.h,{icon:a.tightBorder?H.jsx(el.Z,{}):H.jsx(eo.Z,{}),bordered:!0,title:eB.ZP.Chat.Actions.FullScreen,aria:eB.ZP.Chat.Actions.FullScreen,onClick:()=>{a.update(e=>e.tightBorder=!e.tightBorder)}})})]}),H.jsx(tK,{showToast:!_,showModal:eb,setShowModal:eE})]}),(0,H.jsxs)("div",{className:eU()["chat-main"],children:[(0,H.jsxs)("div",{className:eU()["chat-body-container"],children:[H.jsx("div",{className:eU()["chat-body"],ref:g,onScroll:e=>e_(e.currentTarget),onMouseDown:()=>l.current?.blur(),onTouchStart:()=>{l.current?.blur(),w(!1)},children:ey.map((s,i)=>{let o="user"===s.role,l=i<ed.length,c=i>0&&!(s.preview||0===s.content.length)&&!l,d=s.preview||s.streaming;return(0,H.jsxs)(U.Fragment,{children:[H.jsx("div",{className:o?eU()["chat-message-user"]:eU()["chat-message"],children:(0,H.jsxs)("div",{className:eU()["chat-message-container"],children:[(0,H.jsxs)("div",{className:eU()["chat-message-header"],children:[(0,H.jsxs)("div",{className:eU()["chat-message-avatar"],children:[H.jsx("div",{className:eU()["chat-message-edit"],children:H.jsx(eH.h,{icon:H.jsx(Y,{}),aria:eB.ZP.Chat.Actions.Edit,onClick:async()=>{let a=await (0,eW.G5)(eB.ZP.Chat.Actions.Edit,(0,eD.YK)(s),10),n=a,r=(0,eD.Bs)(s);if(r.length>0){n=[{type:"text",text:a}];for(let e=0;e<r.length;e++)n.push({type:"image_url",image_url:{url:r[e]}})}e.updateTargetSession(t,e=>{let t=e.mask.context.concat(e.messages).find(e=>e.id===s.id);t&&(t.content=n)})}})}),o?H.jsx(eG.qE,{avatar:a.avatar}):H.jsx(H.Fragment,{children:["system"].includes(s.role)?H.jsx(eG.qE,{avatar:"2699-fe0f"}):H.jsx(eX.MaskAvatar,{avatar:t.mask.avatar,model:s.model||t.mask.modelConfig.model})})]}),!o&&H.jsx("div",{className:eU()["chat-model-name"],children:s.model}),c&&H.jsx("div",{className:eU()["chat-message-actions"],children:H.jsx("div",{className:eU()["chat-input-actions"],children:s.streaming?H.jsx(tB,{text:eB.ZP.Chat.Actions.Stop,icon:H.jsx(ek.Z,{}),onClick:()=>F(s.id??i)}):(0,H.jsxs)(H.Fragment,{children:[H.jsx(tB,{text:eB.ZP.Chat.Actions.Retry,icon:H.jsx(ec.Z,{}),onClick:()=>V(s)}),H.jsx(tB,{text:eB.ZP.Chat.Actions.Delete,icon:H.jsx(em.Z,{}),onClick:()=>W(s.id??i)}),H.jsx(tB,{text:eB.ZP.Chat.Actions.Pin,icon:H.jsx(ep,{}),onClick:()=>G(s)}),H.jsx(tB,{text:eB.ZP.Chat.Actions.Copy,icon:H.jsx(ee.Z,{}),onClick:()=>(0,eD.vQ)((0,eD.YK)(s))}),a.ttsConfig.enable&&H.jsx(tB,{text:q?eB.ZP.Chat.Actions.StopSpeech:eB.ZP.Chat.Actions.Speech,icon:q?H.jsx(en,{}):H.jsx(es,{}),onClick:()=>eh((0,eD.YK)(s))})]})})})]}),s?.tools?.length==0&&d&&H.jsx("div",{className:eU()["chat-message-status"],children:eB.ZP.Chat.Typing}),s?.tools?.length>0&&H.jsx("div",{className:eU()["chat-message-tools"],children:s?.tools?.map(e=>H.jsxs("div",{title:e?.errorMsg,className:eU()["chat-message-tool"],children:[!1===e.isError?H.jsx(eg.Z,{}):!0===e.isError?H.jsx(ef.Z,{}):H.jsx(ei.Z,{}),H.jsx("span",{children:e?.function?.name})]},e.id))}),(0,H.jsxs)("div",{className:eU()["chat-message-item"],children:[H.jsx(tD,{content:(0,eD.YK)(s),loading:(s.preview||s.streaming)&&0===s.content.length&&!o,onDoubleClickCapture:()=>{j&&h((0,eD.YK)(s))},fontSize:n,fontFamily:r,parentRef:g,defaultShow:i>=ey.length-6},s.streaming?"loading":"done"),1==(0,eD.Bs)(s).length&&H.jsx("img",{className:eU()["chat-message-item-image"],src:(0,eD.Bs)(s)[0],alt:""}),(0,eD.Bs)(s).length>1&&H.jsx("div",{className:eU()["chat-message-item-images"],style:{"--image-count":(0,eD.Bs)(s).length},children:(0,eD.Bs)(s).map((e,t)=>H.jsx("img",{className:eU()["chat-message-item-image-multi"],src:e,alt:""},t))})]}),s?.audio_url&&H.jsx("div",{className:eU()["chat-message-audio"],children:H.jsx("audio",{src:s.audio_url,controls:!0})}),H.jsx("div",{className:eU()["chat-message-action-date"],children:l?eB.ZP.Chat.IsContext:s.date.toLocaleString()})]})}),i===eC-1&&H.jsx(tF,{})]},s.id)})}),(0,H.jsxs)("div",{className:eU()["chat-input-panel"],children:[H.jsx(tR,{prompts:P,onPromptSelect:e=>{setTimeout(()=>{O([]);let t=I.match(e.content);t.matched?(t.invoke(),h("")):h(e.content),l.current?.focus()},30)}}),H.jsx(tH,{uploadImage:eT,setAttachImages:E,setUploading:N,showPromptModal:()=>eE(!0),scrollToBottom:ej,hitBottom:_,uploading:S,showPromptHints:()=>{if(P.length>0){O([]);return}l.current?.focus(),h("/"),Z("")},setShowShortcutKeyModal:eK,setUserInput:h,setShowChatSidePanel:eq}),(0,H.jsxs)("label",{className:(0,e8.Z)(eU()["chat-input-panel-inner"],{[eU()["chat-input-panel-inner-attach"]]:0!==b.length}),htmlFor:"chat-input",children:[H.jsx("textarea",{id:"chat-input",ref:l,className:eU()["chat-input"],placeholder:eB.ZP.Chat.Input(u),onInput:e=>K(e.currentTarget.value),value:c,onKeyDown:t=>{if("ArrowUp"===t.key&&c.length<=0&&!(t.metaKey||t.altKey||t.ctrlKey)){h(e.lastInput??""),t.preventDefault();return}p(t)&&0===P.length&&(R(c),t.preventDefault())},onFocus:ej,onClick:ej,onPaste:eZ,rows:T,autoFocus:eN,style:{fontSize:a.fontSize,fontFamily:a.fontFamily}}),0!=b.length&&H.jsx("div",{className:eU()["attach-images"],children:b.map((e,t)=>H.jsx("div",{className:eU()["attach-image"],style:{backgroundImage:`url("${e}")`},children:H.jsx("div",{className:eU()["attach-image-mask"],children:H.jsx(tU,{deleteImage:()=>{E(b.filter((e,s)=>s!==t))}})})},t))}),H.jsx(eH.h,{icon:H.jsx($,{}),text:eB.ZP.Chat.Send,className:eU()["chat-input-send"],type:"primary",onClick:()=>R(c)})]})]})]}),H.jsx("div",{className:(0,e8.Z)(eU()["chat-side-panel"],{[eU().mobile]:j,[eU()["chat-side-panel-show"]]:ez}),children:ez&&H.jsx(tT,{onClose:()=>{eq(!1)},onStartVoice:async()=>{console.log("start voice")}})})]})]},t.id),i&&H.jsx(ta,{onClose:()=>o(!1)}),eP&&H.jsx(tz,{onClose:()=>{eO(!1)}}),eA&&H.jsx(tW,{onClose:()=>eK(!1)})]})}function t$(){let e=(0,eL.aK)().currentSession();return H.jsx(tV,{},e.id)}},52097:e=>{e.exports={"message-exporter-body":"exporter_message-exporter-body__ieezO","export-content":"exporter_export-content__bLZvx",steps:"exporter_steps__6n3hv","steps-progress":"exporter_steps-progress__BaZCB","steps-progress-inner":"exporter_steps-progress-inner__Bx3Y4","steps-inner":"exporter_steps-inner__EVqvK",step:"exporter_step__WhCEO","step-finished":"exporter_step-finished__eBg9d","step-current":"exporter_step-current__oh5Mc","step-index":"exporter_step-index__bWRYR","step-name":"exporter_step-name__aj81m","preview-actions":"exporter_preview-actions__EdSLJ","image-previewer":"exporter_image-previewer__uKfNQ","preview-body":"exporter_preview-body__qK5Zf","chat-info":"exporter_chat-info__N_j5m",icons:"exporter_icons__7WRoV",logo:"exporter_logo__zu13e","main-title":"exporter_main-title__jjxAd","sub-title":"exporter_sub-title__p1RCl","icon-space":"exporter_icon-space__u_tMK","chat-info-item":"exporter_chat-info-item__3D12j",message:"exporter_message__3aahS",avatar:"exporter_avatar__fGOtt",body:"exporter_body__gcKIl","message-image":"exporter_message-image__ofOeC","message-images":"exporter_message-images__oJoIX","message-image-multi":"exporter_message-image-multi__jzQdX","message-assistant":"exporter_message-assistant__sDmHi","message-user":"exporter_message-user__2t254"}},56270:e=>{e.exports={"message-selector":"message-selector_message-selector__dOKbo","message-filter":"message-selector_message-filter__Q5XSd","search-bar":"message-selector_search-bar__4E5gq",actions:"message-selector_actions__MyZCT",messages:"message-selector_messages__GbOLr",message:"message-selector_message___TaV9","message-selected":"message-selector_message-selected__b3mDv",avatar:"message-selector_avatar__HCJ8t",body:"message-selector_body__rKEIZ",date:"message-selector_date__vc48w",content:"message-selector_content__Z9W8L",checkbox:"message-selector_checkbox__erPyd"}},45136:e=>{e.exports={"realtime-chat":"realtime-chat_realtime-chat__g_U_c","circle-mic":"realtime-chat_circle-mic__SfmZp","icon-center":"realtime-chat_icon-center__3JpXN","bottom-icons":"realtime-chat_bottom-icons__siVHg","icon-left":"realtime-chat_icon-left__O_fpx","icon-right":"realtime-chat_icon-right__3eC9i",mobile:"realtime-chat_mobile__WtJW9",pulse:"realtime-chat_pulse__DSlz2"}},19262:e=>{e.exports={"voice-print":"voice-print_voice-print__GHMDU"}}};