@katechat/ui 1.0.39 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js
CHANGED
|
@@ -88,7 +88,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),fe=H,ae=X),ee===void 0
|
|
|
88
88
|
<path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" />
|
|
89
89
|
</svg>
|
|
90
90
|
<span class="action-btn-label">${He.label}</span>
|
|
91
|
-
</div>`:"";dt.innerHTML=he.replaceAll("<LANG>",ft).replace("<EXECUTE_BTN>",ke).replace("<DOWNLOAD_TITLE>",H).replace("<COPY_TITLE>",X),pt.appendChild(dt),Ie.parentNode?.insertBefore(pt,Ie),pt.appendChild(Ie)}}),V.current.querySelectorAll("img").forEach(Ie=>{if(!Ie?.classList?.contains("message-image")){Ie.classList.add("message-image");let dt=Ie.src.split("/").pop()||"";Ie.setAttribute("data-file-name",dt)}}))},Ei+10),[H,X,d]);(0,ue.useEffect)(()=>{if(!k&&V.current){let Ie=new MutationObserver(ee);return Ie.observe(V.current,{childList:!0,subtree:!0}),ee(),()=>Ie.disconnect()}},[u,k,ee]);let ae=()=>se(Ie=>!Ie),fe=(0,ue.useMemo)(()=>s?s(t):null,[s,t]),Ee=(0,ue.useMemo)(()=>{let Ie=o?o(t):null,dt=c?.find(ut=>ut.modelId===t?.modelId);return ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(mt.Group,{align:"center",pt:"sm"},ue.default.createElement(mt.Avatar,{color:"gray",radius:"xl",size:"md",src:De?t?.user?.avatarUrl:void 0},De?ue.default.createElement(vn.IconUser,null):dt?ue.default.createElement(wa,{apiProvider:dt.apiProvider,provider:dt.provider}):ue.default.createElement(vn.IconRobot,null)),ue.default.createElement(mt.Group,{gap:"sm"},ue.default.createElement(mt.Text,{size:"sm",fw:500,c:De?"blue":"teal"},ve),ue.default.createElement(mt.Text,{size:"sm",c:"dimmed"},Te),Y&&ue.default.createElement(mi,{status:Y}),F&&ue.default.createElement(mt.Text,{size:"sm",c:"dimmed"},F))),ue.default.createElement("div",{className:"katechat-message-content"},k&&!v&&ue.default.createElement(mt.Loader,{size:"md",mb:"md"}),R?R.map((ut,ft)=>ue.default.createElement("div",{key:ft,dangerouslySetInnerHTML:{__html:ut}})):ue.default.createElement("div",null,v),ue.default.createElement("div",{className:"katechat-message-footer"},ue.default.createElement(Wo,{messageId:p,messageIndex:n}),fe&&ue.default.createElement(mt.Tooltip,{label:Z("Details"),position:"top",withArrow:!0},ue.default.createElement(mt.ActionIcon,{className:"edit-message-btn","data-message-id":p,size:"sm",variant:"subtle",color:"gray",disabled:a,onClick:ae},K?ue.default.createElement(vn.IconInfoSquareFilled,null):ue.default.createElement(vn.IconInfoSquare,null))),Ie),ue.default.createElement(mt.Collapse,{in:K},ue.default.createElement("div",{className:"katechat-message-content-details"},fe))))},[u,ve,Te,v,R,p,E,h,c,n,G,fe,K,k,de.language]),[be,Fe]=ue.default.useState(0),[Ye,ze]=ue.default.useState("idle"),[lt,ct]=ue.default.useState(!1);(0,ue.useEffect)(()=>{if(!D||D.length===0)return;let Ie=D.findIndex(dt=>dt.streaming);Ie>=0&&Fe(Ie)},[D]);let Rt=(0,ue.useMemo)(()=>!D||D.length===0?[]:D.map(Ie=>ue.default.createElement(Qo,{key:Ie.id,message:Ie,parentIndex:n,index:be,models:c,plugins:o?.(Ie)})),[D,c,n,de.language]),kt=(0,ue.useMemo)(()=>{if(!D||D.length===0)return null;let Ie=D.length,dt=pt=>{pt.stopPropagation(),!lt&&(ct(!0),ze("exit-right"),setTimeout(()=>{Fe(He=>(He-1+Ie)%Ie),ze("enter-left"),setTimeout(()=>{ze("idle"),ct(!1)},Ei)},Ei))},ut=pt=>{pt.stopPropagation(),!lt&&(ct(!0),ze("exit-left"),setTimeout(()=>{Fe(He=>(He+1)%Ie),ze("enter-right"),setTimeout(()=>{ze("idle"),ct(!1)},Ei)},Ei))},ft=Rt[be];return ue.default.createElement("div",{className:"katechat-message-carousel"},ue.default.createElement("div",{className:"message-carousel-header"},ue.default.createElement("div",{className:"message-carousel-controls"},Ie>1&&ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(mt.ActionIcon,{onClick:dt,"aria-label":"Previous",radius:"xl",variant:"light"},ue.default.createElement(vn.IconChevronLeft,null)),ue.default.createElement(mt.ActionIcon,{onClick:ut,"aria-label":"Next",radius:"xl",variant:"light"},ue.default.createElement(vn.IconChevronRight,null))))),ue.default.createElement("div",{className:`carousel-message-content animation-${Ye}`},ft),Ie>1&&ue.default.createElement(mt.Group,{className:"carousel-model-icons"},D.map((pt,He)=>{let ke=c?.find(pe=>pe.modelId===pt.modelId),Ht=He===be;return ue.default.createElement(mt.Tooltip,{key:pt.id,label:ke?.name||Z("AI"),position:"top"},ue.default.createElement(mt.Box,{key:pt.id,c:Ht?void 0:"dimmed",onClick:()=>Fe(He)},ke?ue.default.createElement(wa,{apiProvider:ke.apiProvider,provider:ke.provider,size:20}):ue.default.createElement(vn.IconRobot,{size:20})))})))},[Rt,de.language,be,Ye,lt]);return kt?ue.default.createElement("div",{className:["katechat-message",`katechat-message__${u||""}`].join(" "),ref:V},ue.default.createElement("div",{className:"katechat-message-linked-toggle"},ue.default.createElement(mt.Switch,{checked:W,onChange:Ie=>te(Ie.currentTarget.checked),label:Z(W?"Main":"Others"),size:"sm"})),ue.default.createElement("div",{className:["katechat-message-main",W?"":"hidden"].join(" ")},Ee),ue.default.createElement("div",{className:["katechat-message-linked",W?"hidden":""].join(" ")},kt)):ue.default.createElement("div",{className:["katechat-message",`katechat-message__${u||""}`].join(" "),ref:V},ue.default.createElement("div",{className:"katechat-message-main"},Ee))});qo.displayName="ChatMessage";var Ma=Mt(require("react"),1),Ym=require("@mantine/core");var l1=({html:e,text:t})=>Ma.default.createElement(Ym.ScrollArea,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?Ma.default.createElement(Ma.default.Fragment,null,e?e.map((n,a)=>Ma.default.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):Ma.default.createElement("div",null,t)):"...");var qt=Mt(require("react"),1),Kn=require("@mantine/core"),zm=require("@tabler/icons-react");var $n=Mt(require("react"),1),Wt=require("@tabler/icons-react"),wa=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return $n.default.createElement(Wt.IconBrandOpenai,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return $n.default.createElement(Wt.IconBrandAws,{size:n});case"anthropic":return $n.default.createElement(Wt.IconAi,{size:n});case"mistral ai":return $n.default.createElement(Wt.IconBrandMedium,{size:n});case"meta":return $n.default.createElement(Wt.IconBrandMeta,{size:n});default:return $n.default.createElement(Wt.IconBrandAws,{size:n})}case"YANDEX_FM":return $n.default.createElement(Wt.IconBrandYandex,{size:n});case"GOOGLE_VERTEX_AI":return $n.default.createElement(Wt.IconBrandGoogle,{size:n});default:return $n.default.createElement(Wt.IconMessageChatbot,{size:n})}};var Qo=({message:e,parentIndex:t,index:n,plugins:a,models:o})=>{let s=(0,qt.useMemo)(()=>o?.find(c=>c.modelId===e.modelId),[o,e.modelId]);return qt.default.createElement(Kn.Box,{key:e.id},qt.default.createElement(Kn.Group,{align:"center",pt:"sm"},qt.default.createElement(Kn.Avatar,{radius:"xl",size:"md"},s?qt.default.createElement(wa,{apiProvider:s.apiProvider,provider:s.provider}):qt.default.createElement(zm.IconRobot,null)),qt.default.createElement(Kn.Group,{gap:"xs"},qt.default.createElement(Kn.Text,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&qt.default.createElement(mi,{status:e.status}),e.statusInfo&&qt.default.createElement(Kn.Text,{size:"xs",c:"dimmed"},e.statusInfo))),qt.default.createElement("div",{className:"katechat-message-content"},e.html?e.html.map((c,d)=>qt.default.createElement("div",{key:d,dangerouslySetInnerHTML:{__html:c}})):qt.default.createElement("div",null,e.content),qt.default.createElement("div",{className:"katechat-message-footer"},qt.default.createElement(Wo,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),a)))};Qo.displayName="LinkedChatMessage";var ye=Mt(require("react"),1),bt=require("@mantine/core"),Fr=require("@tabler/icons-react"),ra=require("@mantine/notifications");var At=Mt(require("react"),1),pr=require("@mantine/core"),Hm=require("@tabler/icons-react");var gc={};ym(gc,{notEmpty:()=>Si,ok:()=>pc});function pc(e,t){if(!e)throw t instanceof Error?t:new Error(t||"No value argument passed to `assert.ok()`")}function Si(e){return e!=null}var Vm=require("react-i18next");var fi={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var Wm=["image/jpeg","image/png","image/webp"],$o=({onFilesAdd:e,disabled:t,uploadFormats:n=Wm})=>{let[a,o]=(0,At.useState)(!1),s=(0,At.useRef)(null),c=(0,At.useRef)(null),{t:d}=(0,Vm.useTranslation)();(0,At.useEffect)(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(k=>k.getAsFile()).filter(Si);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=(0,At.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=(0,At.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=(0,At.useCallback)(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=(0,At.useCallback)(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),c.current&&(c.current.value="")}},[e]),v=()=>{t||c.current?.click()};return At.default.createElement(At.default.Fragment,null,At.default.createElement(pr.Box,{ref:s,className:`drop-zone ${fi.dropzone} ${a?fi.dragging:""} ${t?fi.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:v},At.default.createElement(pr.Group,{justify:"start",className:"drop-zone-control",gap:"xs"},At.default.createElement(pr.Tooltip,{label:d("Click or drop an image/document here to upload"),position:"top"},At.default.createElement(pr.ActionIcon,{variant:"subtle",size:"lg",color:"dark"},At.default.createElement(Hm.IconFileUpload,{size:"24"}))),At.default.createElement(pr.Box,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),At.default.createElement("input",{ref:c,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:fi.fileInput,style:{display:"none"},disabled:t}))))};var hi=Mt(require("react"),1),qm=require("@mantine/core"),Qm=require("@tabler/icons-react");var Ec={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};var $m=require("react-i18next"),c1=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=(0,$m.useTranslation)();return e?hi.default.createElement("div",{className:Ec.overlay,onDragOver:n,onDragLeave:a,onDrop:o},hi.default.createElement("div",{className:Ec.content},hi.default.createElement(Qm.IconFileUpload,{size:48,color:"var(--mantine-color-blue-4)"}),hi.default.createElement(qm.Text,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};var Km=require("react-i18next");var Kt={chatControlsContainer:"_chatControlsContainer_7rkwy_1",chatInputContainer:"_chatInputContainer_7rkwy_1",chatInputGroup:"_chatInputGroup_7rkwy_5",chatInput:"_chatInput_7rkwy_1",hidden:"_hidden_7rkwy_9",promptMode:"_promptMode_7rkwy_21",promptModeText:"_promptModeText_7rkwy_28",promptFadeInUp:"_promptFadeInUp_7rkwy_1",promptShimmer:"_promptShimmer_7rkwy_1",headerRow:"_headerRow_7rkwy_58",documentsInput:"_documentsInput_7rkwy_76",columned:"_columned_7rkwy_82",imagesList:"_imagesList_7rkwy_90",previewImage:"_previewImage_7rkwy_95",removeButton:"_removeButton_7rkwy_107"};var d1=(0,ye.forwardRef)(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:c,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:v=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},k)=>{let[D,Y]=(0,ye.useState)(""),[F,V]=(0,ye.useState)([]),[G,W]=(0,ye.useState)(0),[te,K]=(0,ye.useState)(!1),se=(0,ye.useRef)(null),{t:Z}=(0,Km.useTranslation)();(0,ye.useImperativeHandle)(k,()=>({handleAddFiles:X=>he(X)})),(0,ye.useEffect)(()=>{se.current?.focus()},[e,t]),(0,ye.useEffect)(()=>{W(d?.length?d.length:0)},[e,d]);let de=async()=>{if(!(!D?.trim()&&!F.length)){c(!0);try{Y(""),V([]),await R(D,F)}catch(X){ra.notifications.show({title:"Error",message:X instanceof Error?X.message:Z("Failed to send message"),color:"red"})}finally{c(!1)}}},Te=(0,ye.useCallback)(X=>{let ee=!D?.trim();if(X.key==="Enter"&&!X.shiftKey&&!X.altKey)X.preventDefault(),de(),K(!1);else if(X.key==="ArrowUp"&&(ee||te)){let ae=Math.max(0,G-1);Y(d[ae]),W(ae),K(!0)}else if(X.key==="ArrowDown"&&(ee||te)){let ae=Math.min(d.length-1,G+1);Y(d[ae]),W(ae),K(!0)}else K(!1)},[de,D,d,G]),De=(0,ye.useCallback)(X=>{Y(X.currentTarget.value)},[]),ve=(0,ye.useMemo)(()=>t||s||!D?.trim()&&!F.length,[D,F,s,t]),he=(0,ye.useCallback)(X=>{let ee=X.filter(Ee=>Ee.size<h);ee.length<X.length&&ra.notifications.show({title:Z("Warning"),message:Z("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let ae=ee.filter(Ee=>Ee.type?.startsWith("image/")),fe=ee.filter(Ee=>!Ee.type?.startsWith("image/"));ae.length&&v<=0&&(ra.notifications.show({title:Z("Warning"),message:Z("Image uploads are not allowed in this chat."),color:"yellow"}),ae=[]),ae.length+F.length>v&&(ra.notifications.show({title:Z("Warning"),message:Z("You can only add up to {{count}} images at a time",{count:v}),color:"yellow"}),ae=ae.slice(0,v-F.length)),ae.length&&Promise.all(ae.map(Ee=>new Promise((be,Fe)=>{let Ye=new FileReader;Ye.onload=ze=>{if(ze.target?.result){let lt=ze.target.result;be({fileName:Ee.name,mimeType:Ee.type,bytesBase64:lt})}else Fe(new Error(Z("Failed to read file: {{fileName}}",{fileName:Ee.name})))},Ye.onerror=ze=>{Fe(new Error(Z("Failed to read file: {{fileName}}, error: {{error}}",{fileName:Ee.name,error:ze})))},Ye.readAsDataURL(Ee)}))).then(Ee=>{V(be=>[...be,...Ee])}).catch(Ee=>{ra.notifications.show({title:Z("Error"),message:Ee.message||Z("Failed to read image files"),color:"red"})}),fe.length&&A?A(fe):fe.length&&ra.notifications.show({title:Z("Warning"),message:Z("Document upload is not available in this chat."),color:"orange"})},[F,A,v,h]),H=X=>ee=>{ee.stopPropagation(),V(ae=>ae.filter(fe=>fe.fileName!==X))};return ye.default.createElement("div",{className:[Kt.chatControlsContainer,n?Kt.promptMode:"",e?"":Kt.hidden].join(" ")},n?ye.default.createElement(bt.Stack,{align:"center",justify:"center",gap:"md",mb:"lg"},ye.default.createElement(bt.Text,{c:"dimmed",size:"lg",ta:"center",className:Kt.promptModeText},a||Z("Start the conversation by sending a message"))):null,ye.default.createElement("div",{className:Kt.chatControls},u&&ye.default.createElement(bt.Group,{align:"center",gap:"xs",className:Kt.headerRow},u),ye.default.createElement("div",{className:[Kt.chatInputContainer,F.length?Kt.columned:""].join(" ")},o&&ye.default.createElement("div",{className:Kt.documentsInput},ye.default.createElement(bt.Group,{visibleFrom:"xs",gap:"0"},ye.default.createElement($o,{onFilesAdd:he,uploadFormats:E}),p),F?.length>0&&ye.default.createElement("div",{className:Kt.imagesList},F.map(X=>ye.default.createElement("div",{key:X.fileName,className:Kt.previewImage},ye.default.createElement("img",{src:X.bytesBase64,alt:X.fileName}),ye.default.createElement(bt.ActionIcon,{className:Kt.removeButton,color:"red.9",size:"xs",onClick:H(X.fileName)},ye.default.createElement(Fr.IconX,{size:16})))))),ye.default.createElement("div",{className:Kt.chatInputGroup},o&&ye.default.createElement(bt.Menu,{shadow:"md",width:"content"},ye.default.createElement(bt.Menu.Target,null,ye.default.createElement(bt.ActionIcon,{size:"lg",variant:"subtle",hiddenFrom:"xs",color:"dark"},ye.default.createElement(bt.Tooltip,{label:Z("More..."),position:"right",withArrow:!0},ye.default.createElement(Fr.IconCirclePlus,{size:"24"})))),ye.default.createElement(bt.Menu.Dropdown,null,ye.default.createElement($o,{onFilesAdd:he,uploadFormats:E}),p)),ye.default.createElement(bt.Textarea,{ref:se,className:Kt.chatInput,placeholder:Z("Type your message..."),value:D||"",autosize:!0,minRows:1,maxRows:7,onChange:De,onKeyDown:Te,disabled:t}),I&&s?ye.default.createElement(bt.Button,{onClick:I,disabled:t},ye.default.createElement(Fr.IconPlayerStopFilled,{size:24})," ",ye.default.createElement(bt.Text,{visibleFrom:"md"},Z("Stop"))):ye.default.createElement(bt.Button,{onClick:de,disabled:ve,className:I&&s?Kt.hidden:"",color:"blue",radius:"md"},ye.default.createElement(Fr.IconSend,{size:24})," ",ye.default.createElement(bt.Text,{visibleFrom:"md",ml:"xs"},Z("Send")))))))});var Ot=Mt(require("react"),1),aC=require("@mantine/core"),zs=require("@mantine/notifications");var iC=require("react-i18next");var Ut=Mt(require("react"),1),zt=require("@mantine/core"),rp=require("@mantine/hooks"),ap=require("@tabler/icons-react");var Sc=Mt(require("i18next"),1),ep=require("react-i18next"),tp=Mt(require("i18next-browser-languagedetector"),1),np=Mt(mc(),1);var Xm={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy message":"Copy message",Details:"Details",Delete:"Delete","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress","Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var Zm={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung","Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var Jm={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435","Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var jm={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D","Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var Ko=["en","de","ru","zh"],Xo="ui-language";function g1(e={}){return(0,np.merge)({en:{translation:Xm},de:{translation:Zm},ru:{translation:Jm},zh:{translation:jm}},e)}async function E1({lookupLocalStorage:e=Xo,supportedLngs:t=Ko,fallbackLng:n="en",resources:a={}}={}){return Sc.default.use(tp.default).use(ep.initReactI18next).init({resources:g1(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function fc(e){return new Date(e).toLocaleDateString(Sc.default.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var ip=require("react-i18next"),hc=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:c})=>{let[d,{open:u,close:p}]=(0,rp.useDisclosure)(!1);(0,Ut.useEffect)(()=>{t&&u()},[t,u]);let E=(0,Ut.useCallback)(()=>{c(),p()},[c,p]),h=(0,Ut.useCallback)(()=>{o?.(),E()},[o,E]),{t:v}=(0,ip.useTranslation)();return Ut.default.createElement(zt.Modal,{opened:d,onClose:E,size:"xl",title:v("Image Preview"),centered:!0},t&&Ut.default.createElement(zt.Stack,{gap:"md"},Ut.default.createElement(zt.Image,{src:t,alt:e,fit:"contain",mah:"70vh"}),Ut.default.createElement(zt.Group,{justify:"space-between"},Ut.default.createElement("div",null,Ut.default.createElement(zt.Text,{size:"sm",fw:500},e),Ut.default.createElement(zt.Text,{size:"xs",c:"dimmed"},a?fc(a)+" \u2022":""," ",n)),o&&Ut.default.createElement(zt.Group,{gap:"xs"},Ut.default.createElement(zt.Tooltip,{label:v("Open image source")},Ut.default.createElement(zt.ActionIcon,{variant:"light",onClick:h},Ut.default.createElement(ap.IconExternalLink,{size:16}))))),o&&Ut.default.createElement(zt.Text,{size:"sm",c:"dimmed"},"From:"," ",Ut.default.createElement(zt.Text,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||v("source")))))};var aT=Mt(rT(),1);var Ri=aT.default;function kc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var la=kc();function dT(e){la=e}var Ai={exec:()=>null};function je(e,t=""){let n=typeof e=="string"?e:e.source,a={replace:(o,s)=>{let c=typeof s=="string"?s:s.source;return c=c.replace(tn.caret,"$1"),n=n.replace(o,c),a},getRegex:()=>new RegExp(n,t)};return a}var tn={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},zL=/^(?:[ \t]*(?:\n|$))+/,HL=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,VL=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Oi=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,WL=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Pc=/(?:[*+-]|\d{1,9}[.)])/,uT=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_T=je(uT).replace(/bull/g,Pc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),qL=je(uT).replace(/bull/g,Pc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Bc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,QL=/^[^\n]+/,Uc=/(?!\s*\])(?:\\.|[^\[\]\\])+/,$L=je(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Uc).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),KL=je(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Pc).getRegex(),_s="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Fc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,XL=je("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Fc).replace("tag",_s).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),mT=je(Bc).replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex(),ZL=je(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",mT).getRegex(),Gc={blockquote:ZL,code:HL,def:$L,fences:VL,heading:WL,hr:Oi,html:XL,lheading:_T,list:KL,newline:zL,paragraph:mT,table:Ai,text:QL},iT=je("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex(),JL={...Gc,lheading:qL,table:iT,paragraph:je(Bc).replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",iT).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex()},jL={...Gc,html:je(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Fc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ai,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:je(Bc).replace("hr",Oi).replace("heading",` *#{1,6} *[^
|
|
91
|
+
</div>`:"";dt.innerHTML=he.replaceAll("<LANG>",ft).replace("<EXECUTE_BTN>",ke).replace("<DOWNLOAD_TITLE>",H).replace("<COPY_TITLE>",X),pt.appendChild(dt),Ie.parentNode?.insertBefore(pt,Ie),pt.appendChild(Ie)}}),V.current.querySelectorAll("img").forEach(Ie=>{if(!Ie?.classList?.contains("message-image")){Ie.classList.add("message-image");let dt=Ie.src.split("/").pop()||"";Ie.setAttribute("data-file-name",dt)}}))},Ei+10),[H,X,d]);(0,ue.useEffect)(()=>{if(!k&&V.current){let Ie=new MutationObserver(ee);return Ie.observe(V.current,{childList:!0,subtree:!0}),ee(),()=>Ie.disconnect()}},[u,k,ee]);let ae=()=>se(Ie=>!Ie),fe=(0,ue.useMemo)(()=>s?s(t):null,[s,t]),Ee=(0,ue.useMemo)(()=>{let Ie=o?o(t):null,dt=c?.find(ut=>ut.modelId===t?.modelId);return ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(mt.Group,{align:"center",pt:"sm"},ue.default.createElement(mt.Avatar,{color:"gray",radius:"xl",size:"md",src:De?t?.user?.avatarUrl:void 0},De?ue.default.createElement(vn.IconUser,null):dt?ue.default.createElement(wa,{apiProvider:dt.apiProvider,provider:dt.provider}):ue.default.createElement(vn.IconRobot,null)),ue.default.createElement(mt.Group,{gap:"sm"},ue.default.createElement(mt.Text,{size:"sm",fw:500,c:De?"blue":"teal"},ve),ue.default.createElement(mt.Text,{size:"sm",c:"dimmed"},Te),Y&&ue.default.createElement(mi,{status:Y}),F&&ue.default.createElement(mt.Text,{size:"sm",c:"dimmed"},F))),ue.default.createElement("div",{className:"katechat-message-content"},k&&!v&&ue.default.createElement(mt.Loader,{size:"md",mb:"md"}),R?R.map((ut,ft)=>ue.default.createElement("div",{key:ft,dangerouslySetInnerHTML:{__html:ut}})):ue.default.createElement("div",null,v),ue.default.createElement("div",{className:"katechat-message-footer"},ue.default.createElement(Wo,{messageId:p,messageIndex:n}),fe&&ue.default.createElement(mt.Tooltip,{label:Z("Details"),position:"top",withArrow:!0},ue.default.createElement(mt.ActionIcon,{className:"edit-message-btn","data-message-id":p,size:"sm",variant:"subtle",color:"gray",disabled:a,onClick:ae},K?ue.default.createElement(vn.IconInfoSquareFilled,null):ue.default.createElement(vn.IconInfoSquare,null))),Ie),ue.default.createElement(mt.Collapse,{in:K},ue.default.createElement("div",{className:"katechat-message-content-details"},fe))))},[u,ve,Te,v,R,p,E,h,c,n,G,fe,K,k,de.language]),[be,Fe]=ue.default.useState(0),[Ye,ze]=ue.default.useState("idle"),[lt,ct]=ue.default.useState(!1);(0,ue.useEffect)(()=>{if(!D||D.length===0)return;let Ie=D.findIndex(dt=>dt.streaming);Ie>=0&&Fe(Ie)},[D]);let Rt=(0,ue.useMemo)(()=>!D||D.length===0?[]:D.map(Ie=>ue.default.createElement(Qo,{key:Ie.id,message:Ie,parentIndex:n,index:be,models:c,plugins:o?.(Ie)})),[D,c,n,de.language]),kt=(0,ue.useMemo)(()=>{if(!D||D.length===0)return null;let Ie=D.length,dt=pt=>{pt.stopPropagation(),!lt&&(ct(!0),ze("exit-right"),setTimeout(()=>{Fe(He=>(He-1+Ie)%Ie),ze("enter-left"),setTimeout(()=>{ze("idle"),ct(!1)},Ei)},Ei))},ut=pt=>{pt.stopPropagation(),!lt&&(ct(!0),ze("exit-left"),setTimeout(()=>{Fe(He=>(He+1)%Ie),ze("enter-right"),setTimeout(()=>{ze("idle"),ct(!1)},Ei)},Ei))},ft=Rt[be];return ue.default.createElement("div",{className:"katechat-message-carousel"},ue.default.createElement("div",{className:"message-carousel-header"},ue.default.createElement("div",{className:"message-carousel-controls"},Ie>1&&ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(mt.ActionIcon,{onClick:dt,"aria-label":"Previous",radius:"xl",variant:"light"},ue.default.createElement(vn.IconChevronLeft,null)),ue.default.createElement(mt.ActionIcon,{onClick:ut,"aria-label":"Next",radius:"xl",variant:"light"},ue.default.createElement(vn.IconChevronRight,null))))),ue.default.createElement("div",{className:`carousel-message-content animation-${Ye}`},ft),Ie>1&&ue.default.createElement(mt.Group,{className:"carousel-model-icons"},D.map((pt,He)=>{let ke=c?.find(pe=>pe.modelId===pt.modelId),Ht=He===be;return ue.default.createElement(mt.Tooltip,{key:pt.id,label:ke?.name||Z("AI"),position:"top"},ue.default.createElement(mt.Box,{key:pt.id,c:Ht?void 0:"dimmed",onClick:()=>Fe(He)},ke?ue.default.createElement(wa,{apiProvider:ke.apiProvider,provider:ke.provider,size:20}):ue.default.createElement(vn.IconRobot,{size:20})))})))},[Rt,de.language,be,Ye,lt]);return kt?ue.default.createElement("div",{className:["katechat-message",`katechat-message__${u||""}`].join(" "),ref:V},ue.default.createElement("div",{className:"katechat-message-linked-toggle"},ue.default.createElement(mt.Switch,{checked:W,onChange:Ie=>te(Ie.currentTarget.checked),label:Z(W?"Main":"Others"),size:"sm"})),ue.default.createElement("div",{className:["katechat-message-main",W?"":"hidden"].join(" ")},Ee),ue.default.createElement("div",{className:["katechat-message-linked",W?"hidden":""].join(" ")},kt)):ue.default.createElement("div",{className:["katechat-message",`katechat-message__${u||""}`].join(" "),ref:V},ue.default.createElement("div",{className:"katechat-message-main"},Ee))});qo.displayName="ChatMessage";var Ma=Mt(require("react"),1),Ym=require("@mantine/core");var l1=({html:e,text:t})=>Ma.default.createElement(Ym.ScrollArea,{type:"hover",offsetScrollbars:!0,className:["katechat-message-content","katechat-message-preview"].join(" ")},t?Ma.default.createElement(Ma.default.Fragment,null,e?e.map((n,a)=>Ma.default.createElement("div",{key:a,dangerouslySetInnerHTML:{__html:n}})):Ma.default.createElement("div",null,t)):"...");var qt=Mt(require("react"),1),Kn=require("@mantine/core"),zm=require("@tabler/icons-react");var $n=Mt(require("react"),1),Wt=require("@tabler/icons-react"),wa=({apiProvider:e,provider:t,size:n=24})=>{switch(e){case"OPEN_AI":return $n.default.createElement(Wt.IconBrandOpenai,{size:n});case"AWS_BEDROCK":switch(t?.toLowerCase()){case"amazon":return $n.default.createElement(Wt.IconBrandAws,{size:n});case"anthropic":return $n.default.createElement(Wt.IconAi,{size:n});case"mistral ai":return $n.default.createElement(Wt.IconBrandMedium,{size:n});case"meta":return $n.default.createElement(Wt.IconBrandMeta,{size:n});default:return $n.default.createElement(Wt.IconBrandAws,{size:n})}case"YANDEX_FM":return $n.default.createElement(Wt.IconBrandYandex,{size:n});case"GOOGLE_VERTEX_AI":return $n.default.createElement(Wt.IconBrandGoogle,{size:n});default:return $n.default.createElement(Wt.IconMessageChatbot,{size:n})}};var Qo=({message:e,parentIndex:t,index:n,plugins:a,models:o})=>{let s=(0,qt.useMemo)(()=>o?.find(c=>c.modelId===e.modelId),[o,e.modelId]);return qt.default.createElement(Kn.Box,{key:e.id},qt.default.createElement(Kn.Group,{align:"center",pt:"sm"},qt.default.createElement(Kn.Avatar,{radius:"xl",size:"md"},s?qt.default.createElement(wa,{apiProvider:s.apiProvider,provider:s.provider}):qt.default.createElement(zm.IconRobot,null)),qt.default.createElement(Kn.Group,{gap:"xs"},qt.default.createElement(Kn.Text,{size:"sm",fw:500,c:"teal"},e.modelName),e.status&&qt.default.createElement(mi,{status:e.status}),e.statusInfo&&qt.default.createElement(Kn.Text,{size:"xs",c:"dimmed"},e.statusInfo))),qt.default.createElement("div",{className:"katechat-message-content"},e.html?e.html.map((c,d)=>qt.default.createElement("div",{key:d,dangerouslySetInnerHTML:{__html:c}})):qt.default.createElement("div",null,e.content),qt.default.createElement("div",{className:"katechat-message-footer"},qt.default.createElement(Wo,{messageId:e.id,messageIndex:t,linkedMessageIndex:n}),a)))};Qo.displayName="LinkedChatMessage";var ye=Mt(require("react"),1),bt=require("@mantine/core"),Fr=require("@tabler/icons-react"),ra=require("@mantine/notifications");var At=Mt(require("react"),1),pr=require("@mantine/core"),Hm=require("@tabler/icons-react");var gc={};ym(gc,{notEmpty:()=>Si,ok:()=>pc});function pc(e,t){if(!e)throw t instanceof Error?t:new Error(t||"No value argument passed to `assert.ok()`")}function Si(e){return e!=null}var Vm=require("react-i18next");var fi={dropzone:"_dropzone_16zca_1",dragging:"_dragging_16zca_8",disabled:"_disabled_16zca_12"};var Wm=["image/jpeg","image/png","image/webp"],$o=({onFilesAdd:e,disabled:t,uploadFormats:n=Wm})=>{let[a,o]=(0,At.useState)(!1),s=(0,At.useRef)(null),c=(0,At.useRef)(null),{t:d}=(0,Vm.useTranslation)();(0,At.useEffect)(()=>{let R=I=>{if(!t&&I.clipboardData&&I.clipboardData.items){let A=Array.from(I.clipboardData.items).map(k=>k.getAsFile()).filter(Si);A.length>0&&(I.preventDefault(),I.stopPropagation(),e(A))}};return document.addEventListener("paste",R),()=>{document.removeEventListener("paste",R)}},[e,t]);let u=(0,At.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!0)},[]),p=(0,At.useCallback)(R=>{R.preventDefault(),R.stopPropagation(),o(!1)},[]),E=(0,At.useCallback)(R=>{if(R.preventDefault(),R.stopPropagation(),o(!1),t)return;let I=R.dataTransfer.files&&R.dataTransfer.files.length>0?Array.from(R.dataTransfer.files).filter(A=>A.size>0):[];e(I)},[e]),h=(0,At.useCallback)(R=>{if(R.target.files&&R.target.files.length>0){let I=Array.from(R.target.files).filter(A=>A.size>0);I.length&&e(I),c.current&&(c.current.value="")}},[e]),v=()=>{t||c.current?.click()};return At.default.createElement(At.default.Fragment,null,At.default.createElement(pr.Box,{ref:s,className:`drop-zone ${fi.dropzone} ${a?fi.dragging:""} ${t?fi.disabled:""}`,onDragOver:u,onDragLeave:p,onDrop:E,onClick:v},At.default.createElement(pr.Group,{justify:"start",className:"drop-zone-control",gap:"xs"},At.default.createElement(pr.Tooltip,{label:d("Click or drop an image/document here to upload"),position:"top"},At.default.createElement(pr.ActionIcon,{variant:"subtle",size:"lg",color:"dark"},At.default.createElement(Hm.IconFileUpload,{size:"24"}))),At.default.createElement(pr.Box,{hiddenFrom:"xs",pe:"sm"},d("Upload File")),At.default.createElement("input",{ref:c,type:"file",multiple:!0,accept:n?.join(","),onChange:h,className:fi.fileInput,style:{display:"none"},disabled:t}))))};var hi=Mt(require("react"),1),qm=require("@mantine/core"),Qm=require("@tabler/icons-react");var Ec={overlay:"_overlay_vjudp_1",content:"_content_vjudp_16"};var $m=require("react-i18next"),c1=({visible:e,message:t,onDragOver:n,onDragLeave:a,onDrop:o})=>{let{t:s}=(0,$m.useTranslation)();return e?hi.default.createElement("div",{className:Ec.overlay,onDragOver:n,onDragLeave:a,onDrop:o},hi.default.createElement("div",{className:Ec.content},hi.default.createElement(Qm.IconFileUpload,{size:48,color:"var(--mantine-color-blue-4)"}),hi.default.createElement(qm.Text,{size:"lg",fw:500,c:"blue.4"},t||s("Drop files here to upload")))):null};var Km=require("react-i18next");var Kt={chatControlsContainer:"_chatControlsContainer_7rkwy_1",chatInputContainer:"_chatInputContainer_7rkwy_1",chatInputGroup:"_chatInputGroup_7rkwy_5",chatInput:"_chatInput_7rkwy_1",hidden:"_hidden_7rkwy_9",promptMode:"_promptMode_7rkwy_21",promptModeText:"_promptModeText_7rkwy_28",promptFadeInUp:"_promptFadeInUp_7rkwy_1",promptShimmer:"_promptShimmer_7rkwy_1",headerRow:"_headerRow_7rkwy_58",documentsInput:"_documentsInput_7rkwy_76",columned:"_columned_7rkwy_82",imagesList:"_imagesList_7rkwy_90",previewImage:"_previewImage_7rkwy_95",removeButton:"_removeButton_7rkwy_107"};var d1=(0,ye.forwardRef)(({loadCompleted:e=!1,disabled:t=!1,promptMode:n=!1,promptText:a,uploadAllowed:o=!0,streaming:s,setSending:c,previousMessages:d=[],header:u,inputPlugins:p,uploadFormats:E,maxUploadFileSize:h=64*1024*1024,maxImagesCount:v=0,onSendMessage:R,onStopRequest:I,onDocumentsUpload:A},k)=>{let[D,Y]=(0,ye.useState)(""),[F,V]=(0,ye.useState)([]),[G,W]=(0,ye.useState)(0),[te,K]=(0,ye.useState)(!1),se=(0,ye.useRef)(null),{t:Z}=(0,Km.useTranslation)();(0,ye.useImperativeHandle)(k,()=>({handleAddFiles:X=>he(X)})),(0,ye.useEffect)(()=>{se.current?.focus()},[e,t]),(0,ye.useEffect)(()=>{W(d?.length?d.length:0)},[e,d]);let de=async()=>{if(!(!D?.trim()&&!F.length)){c(!0);try{Y(""),V([]),await R(D,F)}catch(X){ra.notifications.show({title:"Error",message:X instanceof Error?X.message:Z("Failed to send message"),color:"red"})}finally{c(!1)}}},Te=(0,ye.useCallback)(X=>{let ee=!D?.trim();if(X.key==="Enter"&&!X.shiftKey&&!X.altKey)X.preventDefault(),de(),K(!1);else if(X.key==="ArrowUp"&&(ee||te)){let ae=Math.max(0,G-1);Y(d[ae]),W(ae),K(!0)}else if(X.key==="ArrowDown"&&(ee||te)){let ae=Math.min(d.length-1,G+1);Y(d[ae]),W(ae),K(!0)}else K(!1)},[de,D,d,G]),De=(0,ye.useCallback)(X=>{Y(X.currentTarget.value)},[]),ve=(0,ye.useMemo)(()=>t||s||!D?.trim()&&!F.length,[D,F,s,t]),he=(0,ye.useCallback)(X=>{let ee=X.filter(Ee=>Ee.size<h);ee.length<X.length&&ra.notifications.show({title:Z("Warning"),message:Z("Some files are too large and were not added (max size: {{size}} MB)",{size:h/(1024*1024)}),color:"yellow"});let ae=ee.filter(Ee=>Ee.type?.startsWith("image/")),fe=ee.filter(Ee=>!Ee.type?.startsWith("image/"));ae.length&&v<=0&&(ra.notifications.show({title:Z("Warning"),message:Z("Image uploads are not allowed in this chat."),color:"yellow"}),ae=[]),ae.length+F.length>v&&(ra.notifications.show({title:Z("Warning"),message:Z("You can only add up to {{count}} images at a time",{count:v}),color:"yellow"}),ae=ae.slice(0,v-F.length)),ae.length&&Promise.all(ae.map(Ee=>new Promise((be,Fe)=>{let Ye=new FileReader;Ye.onload=ze=>{if(ze.target?.result){let lt=ze.target.result;be({fileName:Ee.name,mimeType:Ee.type,bytesBase64:lt})}else Fe(new Error(Z("Failed to read file: {{fileName}}",{fileName:Ee.name})))},Ye.onerror=ze=>{Fe(new Error(Z("Failed to read file: {{fileName}}, error: {{error}}",{fileName:Ee.name,error:ze})))},Ye.readAsDataURL(Ee)}))).then(Ee=>{V(be=>[...be,...Ee])}).catch(Ee=>{ra.notifications.show({title:Z("Error"),message:Ee.message||Z("Failed to read image files"),color:"red"})}),fe.length&&A?A(fe):fe.length&&ra.notifications.show({title:Z("Warning"),message:Z("Document upload is not available in this chat."),color:"orange"})},[F,A,v,h]),H=X=>ee=>{ee.stopPropagation(),V(ae=>ae.filter(fe=>fe.fileName!==X))};return ye.default.createElement("div",{className:[Kt.chatControlsContainer,n?Kt.promptMode:"",e?"":Kt.hidden].join(" ")},n?ye.default.createElement(bt.Stack,{align:"center",justify:"center",gap:"md",mb:"lg"},ye.default.createElement(bt.Text,{c:"dimmed",size:"lg",ta:"center",className:Kt.promptModeText},a||Z("Start the conversation by sending a message"))):null,ye.default.createElement("div",{className:Kt.chatControls},u&&ye.default.createElement(bt.Group,{align:"center",gap:"xs",className:Kt.headerRow},u),ye.default.createElement("div",{className:[Kt.chatInputContainer,F.length?Kt.columned:""].join(" ")},o&&ye.default.createElement("div",{className:Kt.documentsInput},ye.default.createElement(bt.Group,{visibleFrom:"xs",gap:"0"},ye.default.createElement($o,{onFilesAdd:he,uploadFormats:E}),p),F?.length>0&&ye.default.createElement("div",{className:Kt.imagesList},F.map(X=>ye.default.createElement("div",{key:X.fileName,className:Kt.previewImage},ye.default.createElement("img",{src:X.bytesBase64,alt:X.fileName}),ye.default.createElement(bt.ActionIcon,{className:Kt.removeButton,color:"red.9",size:"xs",onClick:H(X.fileName)},ye.default.createElement(Fr.IconX,{size:16})))))),ye.default.createElement("div",{className:Kt.chatInputGroup},o&&ye.default.createElement(bt.Menu,{shadow:"md",width:"content"},ye.default.createElement(bt.Menu.Target,null,ye.default.createElement(bt.ActionIcon,{size:"lg",variant:"subtle",hiddenFrom:"xs",color:"dark"},ye.default.createElement(bt.Tooltip,{label:Z("More..."),position:"right",withArrow:!0},ye.default.createElement(Fr.IconCirclePlus,{size:"24"})))),ye.default.createElement(bt.Menu.Dropdown,null,ye.default.createElement($o,{onFilesAdd:he,uploadFormats:E}),p)),ye.default.createElement(bt.Textarea,{ref:se,className:Kt.chatInput,placeholder:Z("Type your message..."),value:D||"",autosize:!0,minRows:1,maxRows:7,onChange:De,onKeyDown:Te,disabled:t}),I&&s?ye.default.createElement(bt.Button,{onClick:I,disabled:t},ye.default.createElement(Fr.IconPlayerStopFilled,{size:24})," ",ye.default.createElement(bt.Text,{visibleFrom:"md"},Z("Stop"))):ye.default.createElement(bt.Button,{onClick:de,disabled:ve,className:I&&s?Kt.hidden:"",color:"blue",radius:"md"},ye.default.createElement(Fr.IconSend,{size:24})," ",ye.default.createElement(bt.Text,{visibleFrom:"md",ml:"xs"},Z("Send")))))))});var Ot=Mt(require("react"),1),aC=require("@mantine/core"),zs=require("@mantine/notifications");var iC=require("react-i18next");var Ut=Mt(require("react"),1),zt=require("@mantine/core"),rp=require("@mantine/hooks"),ap=require("@tabler/icons-react");var Sc=Mt(require("i18next"),1),ep=require("react-i18next"),tp=Mt(require("i18next-browser-languagedetector"),1),np=Mt(mc(),1);var Xm={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"Are you sure you want to delete this item? This action cannot be undone.",Cancel:"Cancel",Cancelled:"Cancelled","Click or drop an image/document here to upload":"Click or drop an image/document here to upload","Code block is empty":"Code block is empty","Code Interpreter":"Code Interpreter",Completed:"Completed","Confirm Deletion":"Confirm Deletion",Copy:"Copy","Copy message":"Copy message",Delete:"Delete",Details:"Details","Document upload is not available in this chat.":"Document upload is not available in this chat.",Download:"Download","Drop files here to upload":"Drop files here to upload",Error:"Error","Failed to copy message":"Failed to copy message","Failed to read file: {{fileName}}":"Failed to read file: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Failed to read file: {{fileName}}, error: {{error}}","Failed to read image files":"Failed to read image files","Failed to send message":"Failed to send message","Image Preview":"Image Preview","Image uploads are not allowed in this chat.":"Image uploads are not allowed in this chat.","In Progress":"In Progress",language:{de:"Deutsch",en:"English",label:"Language",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"Language is not specified for this code block",Main:"Main","More...":"More...","Open image source":"Open image source",Others:"Others","RAG Search":"RAG Search",Reasoning:"Reasoning",Send:"Send","Some files are too large and were not added (max size: {{size}} MB)":"Some files are too large and were not added (max size: {{size}} MB)",source:"source","Start the conversation by sending a message":"Start the conversation by sending a message",Started:"Started",Stop:"Stop","Tool Call":"Tool Call","Tool Call Completed":"Tool Call Completed","Type your message...":"Type your message...","Upload File":"Upload File",Warning:"Warning","Web Search":"Web Search",You:"You","You can only add up to {{count}} images at a time":"You can only add up to {{count}} images at a time"};var Zm={AI:"KI","Are you sure you want to delete this item? This action cannot be undone.":"M\xF6chten Sie dieses Element wirklich l\xF6schen? Diese Aktion kann nicht r\xFCckg\xE4ngig gemacht werden.",Cancel:"Abbrechen",Cancelled:"Abgebrochen","Click or drop an image/document here to upload":"Klicken oder Bild/Dokument hierher ziehen zum Hochladen","Code block is empty":"Codeblock ist leer","Code Interpreter":"Code-Interpreter",Completed:"Abgeschlossen","Confirm Deletion":"L\xF6schen best\xE4tigen",Copy:"Kopieren","Copy message":"Nachricht kopieren",Delete:"L\xF6schen",Details:"Details","Document upload is not available in this chat.":"Dokumenten-Upload ist in diesem Chat nicht verf\xFCgbar.",Download:"Herunterladen","Drop files here to upload":"Dateien zum Hochladen hier ablegen",Error:"Fehler","Failed to copy message":"Nachricht konnte nicht kopiert werden","Failed to read file: {{fileName}}":"Datei konnte nicht gelesen werden: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"Datei konnte nicht gelesen werden: {{fileName}}, Fehler: {{error}}","Failed to read image files":"Bilddateien konnten nicht gelesen werden","Failed to send message":"Nachricht konnte nicht gesendet werden","Image Preview":"Bildvorschau","Image uploads are not allowed in this chat.":"Bild-Uploads sind in diesem Chat nicht erlaubt.","In Progress":"In Bearbeitung",language:{de:"Deutsch",en:"English",label:"Sprache",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"F\xFCr diesen Codeblock ist keine Sprache angegeben",Main:"Haupt","More...":"Mehr...","Open image source":"Bildquelle \xF6ffnen",Others:"Andere","RAG Search":"RAG-Suche",Reasoning:"Argumentation",Send:"Senden","Some files are too large and were not added (max size: {{size}} MB)":"Einige Dateien sind zu gro\xDF und wurden nicht hinzugef\xFCgt (max. Gr\xF6\xDFe: {{size}} MB)",source:"Quelle","Start the conversation by sending a message":"Beginnen Sie das Gespr\xE4ch, indem Sie eine Nachricht senden",Started:"Gestartet",Stop:"Stopp","Tool Call":"Tool-Aufruf","Tool Call Completed":"Tool-Aufruf abgeschlossen","Type your message...":"Nachricht eingeben...","Upload File":"Datei hochladen",Warning:"Warnung","Web Search":"Websuche",You:"Sie","You can only add up to {{count}} images at a time":"Sie k\xF6nnen nur bis zu {{count}} Bilder gleichzeitig hinzuf\xFCgen"};var Jm={AI:"\u0418\u0418","Are you sure you want to delete this item? This action cannot be undone.":"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u043E\u0442 \u044D\u043B\u0435\u043C\u0435\u043D\u0442? \u042D\u0442\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043D\u0435\u043B\u044C\u0437\u044F \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C.",Cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",Cancelled:"\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E","Click or drop an image/document here to upload":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435/\u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438","Code block is empty":"\u0411\u043B\u043E\u043A \u043A\u043E\u0434\u0430 \u043F\u0443\u0441\u0442","Code Interpreter":"\u0418\u043D\u0442\u0435\u0440\u043F\u0440\u0435\u0442\u0430\u0442\u043E\u0440 \u043A\u043E\u0434\u0430",Completed:"\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E","Confirm Deletion":"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",Copy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C","Copy message":"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Delete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",Details:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438","Document upload is not available in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435.",Download:"\u0421\u043A\u0430\u0447\u0430\u0442\u044C","Drop files here to upload":"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430 \u0434\u043B\u044F \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438",Error:"\u041E\u0448\u0438\u0431\u043A\u0430","Failed to copy message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Failed to read file: {{fileName}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B: {{fileName}}, \u043E\u0448\u0438\u0431\u043A\u0430: {{error}}","Failed to read image files":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C \u0444\u0430\u0439\u043B\u044B \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439","Failed to send message":"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435","Image Preview":"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F","Image uploads are not allowed in this chat.":"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0432 \u044D\u0442\u043E\u043C \u0447\u0430\u0442\u0435 \u0437\u0430\u043F\u0440\u0435\u0449\u0435\u043D\u0430.","In Progress":"\u0412 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435",language:{de:"Deutsch",en:"English",label:"\u042F\u0437\u044B\u043A",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u042F\u0437\u044B\u043A \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0431\u043B\u043E\u043A\u0430 \u043A\u043E\u0434\u0430",Main:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0439","More...":"\u0415\u0449\u0451...","Open image source":"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",Others:"\u0414\u0440\u0443\u0433\u0438\u0435","RAG Search":"RAG-\u043F\u043E\u0438\u0441\u043A",Reasoning:"\u0420\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435",Send:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C","Some files are too large and were not added (max size: {{size}} MB)":"\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0435 \u0438 \u043D\u0435 \u0431\u044B\u043B\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B (\u043C\u0430\u043A\u0441. \u0440\u0430\u0437\u043C\u0435\u0440: {{size}} \u041C\u0411)",source:"\u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A","Start the conversation by sending a message":"\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",Started:"\u041D\u0430\u0447\u0430\u0442\u043E",Stop:"\u0421\u0442\u043E\u043F","Tool Call":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430","Tool Call Completed":"\u0412\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D","Type your message...":"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...","Upload File":"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B",Warning:"\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435","Web Search":"\u0412\u0435\u0431-\u043F\u043E\u0438\u0441\u043A",You:"\u0412\u044B","You can only add up to {{count}} images at a time":"\u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 {{count}} \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u0437\u0430 \u0440\u0430\u0437"};var jm={AI:"AI","Are you sure you want to delete this item? This action cannot be undone.":"\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6B64\u9879\u5417\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u6D88\u3002",Cancel:"\u53D6\u6D88",Cancelled:"\u5DF2\u53D6\u6D88","Click or drop an image/document here to upload":"\u70B9\u51FB\u6216\u62D6\u653E\u56FE\u7247/\u6587\u6863\u5230\u6B64\u5904\u4E0A\u4F20","Code block is empty":"\u4EE3\u7801\u5757\u4E3A\u7A7A","Code Interpreter":"\u4EE3\u7801\u89E3\u91CA\u5668",Completed:"\u5DF2\u5B8C\u6210","Confirm Deletion":"\u786E\u8BA4\u5220\u9664",Copy:"\u590D\u5236","Copy message":"\u590D\u5236\u6D88\u606F",Delete:"\u5220\u9664",Details:"\u8BE6\u60C5","Document upload is not available in this chat.":"\u6B64\u804A\u5929\u4E0D\u652F\u6301\u6587\u6863\u4E0A\u4F20\u3002",Download:"\u4E0B\u8F7D","Drop files here to upload":"\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904\u4E0A\u4F20",Error:"\u9519\u8BEF","Failed to copy message":"\u590D\u5236\u6D88\u606F\u5931\u8D25","Failed to read file: {{fileName}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}","Failed to read file: {{fileName}}, error: {{error}}":"\u8BFB\u53D6\u6587\u4EF6\u5931\u8D25\uFF1A{{fileName}}\uFF0C\u9519\u8BEF\uFF1A{{error}}","Failed to read image files":"\u8BFB\u53D6\u56FE\u7247\u6587\u4EF6\u5931\u8D25","Failed to send message":"\u53D1\u9001\u6D88\u606F\u5931\u8D25","Image Preview":"\u56FE\u7247\u9884\u89C8","Image uploads are not allowed in this chat.":"\u6B64\u804A\u5929\u4E0D\u5141\u8BB8\u4E0A\u4F20\u56FE\u7247\u3002","In Progress":"\u8FDB\u884C\u4E2D",language:{de:"Deutsch",en:"English",label:"\u8BED\u8A00",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",zh:"\u4E2D\u6587"},"Language is not specified for this code block":"\u6B64\u4EE3\u7801\u5757\u672A\u6307\u5B9A\u8BED\u8A00",Main:"\u4E3B\u8981","More...":"\u66F4\u591A...","Open image source":"\u6253\u5F00\u56FE\u7247\u6765\u6E90",Others:"\u5176\u4ED6","RAG Search":"RAG \u641C\u7D22",Reasoning:"\u63A8\u7406",Send:"\u53D1\u9001","Some files are too large and were not added (max size: {{size}} MB)":"\u90E8\u5206\u6587\u4EF6\u8FC7\u5927\uFF0C\u672A\u88AB\u6DFB\u52A0\uFF08\u6700\u5927\uFF1A{{size}} MB\uFF09",source:"\u6765\u6E90","Start the conversation by sending a message":"\u53D1\u9001\u6D88\u606F\u5F00\u59CB\u5BF9\u8BDD",Started:"\u5DF2\u5F00\u59CB",Stop:"\u505C\u6B62","Tool Call":"\u5DE5\u5177\u8C03\u7528","Tool Call Completed":"\u5DE5\u5177\u8C03\u7528\u5B8C\u6210","Type your message...":"\u8F93\u5165\u6D88\u606F...","Upload File":"\u4E0A\u4F20\u6587\u4EF6",Warning:"\u8B66\u544A","Web Search":"\u7F51\u7EDC\u641C\u7D22",You:"\u4F60","You can only add up to {{count}} images at a time":"\u4E00\u6B21\u6700\u591A\u53EA\u80FD\u6DFB\u52A0 {{count}} \u5F20\u56FE\u7247"};var Ko=["en","de","ru","zh"],Xo="ui-language";function g1(e={}){return(0,np.merge)({en:{translation:Xm},de:{translation:Zm},ru:{translation:Jm},zh:{translation:jm}},e)}async function E1({lookupLocalStorage:e=Xo,supportedLngs:t=Ko,fallbackLng:n="en",resources:a={}}={}){return Sc.default.use(tp.default).use(ep.initReactI18next).init({resources:g1(a),fallbackLng:n,supportedLngs:t,interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator","htmlTag"],lookupLocalStorage:e,caches:["localStorage"]}})}function fc(e){return new Date(e).toLocaleDateString(Sc.default.language||"ru-RU",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var ip=require("react-i18next"),hc=({fileName:e,fileUrl:t,mimeType:n,createdAt:a,onOpenSource:o,sourceTitle:s,onClose:c})=>{let[d,{open:u,close:p}]=(0,rp.useDisclosure)(!1);(0,Ut.useEffect)(()=>{t&&u()},[t,u]);let E=(0,Ut.useCallback)(()=>{c(),p()},[c,p]),h=(0,Ut.useCallback)(()=>{o?.(),E()},[o,E]),{t:v}=(0,ip.useTranslation)();return Ut.default.createElement(zt.Modal,{opened:d,onClose:E,size:"xl",title:v("Image Preview"),centered:!0},t&&Ut.default.createElement(zt.Stack,{gap:"md"},Ut.default.createElement(zt.Image,{src:t,alt:e,fit:"contain",mah:"70vh"}),Ut.default.createElement(zt.Group,{justify:"space-between"},Ut.default.createElement("div",null,Ut.default.createElement(zt.Text,{size:"sm",fw:500},e),Ut.default.createElement(zt.Text,{size:"xs",c:"dimmed"},a?fc(a)+" \u2022":""," ",n)),o&&Ut.default.createElement(zt.Group,{gap:"xs"},Ut.default.createElement(zt.Tooltip,{label:v("Open image source")},Ut.default.createElement(zt.ActionIcon,{variant:"light",onClick:h},Ut.default.createElement(ap.IconExternalLink,{size:16}))))),o&&Ut.default.createElement(zt.Text,{size:"sm",c:"dimmed"},"From:"," ",Ut.default.createElement(zt.Text,{span:!0,c:"blue",style:{cursor:"pointer"},onClick:h},s||v("source")))))};var aT=Mt(rT(),1);var Ri=aT.default;function kc(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var la=kc();function dT(e){la=e}var Ai={exec:()=>null};function je(e,t=""){let n=typeof e=="string"?e:e.source,a={replace:(o,s)=>{let c=typeof s=="string"?s:s.source;return c=c.replace(tn.caret,"$1"),n=n.replace(o,c),a},getRegex:()=>new RegExp(n,t)};return a}var tn={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},zL=/^(?:[ \t]*(?:\n|$))+/,HL=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,VL=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Oi=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,WL=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Pc=/(?:[*+-]|\d{1,9}[.)])/,uT=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_T=je(uT).replace(/bull/g,Pc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),qL=je(uT).replace(/bull/g,Pc).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Bc=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,QL=/^[^\n]+/,Uc=/(?!\s*\])(?:\\.|[^\[\]\\])+/,$L=je(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Uc).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),KL=je(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Pc).getRegex(),_s="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Fc=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,XL=je("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Fc).replace("tag",_s).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),mT=je(Bc).replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex(),ZL=je(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",mT).getRegex(),Gc={blockquote:ZL,code:HL,def:$L,fences:VL,heading:WL,hr:Oi,html:XL,lheading:_T,list:KL,newline:zL,paragraph:mT,table:Ai,text:QL},iT=je("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex(),JL={...Gc,lheading:qL,table:iT,paragraph:je(Bc).replace("hr",Oi).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",iT).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",_s).getRegex()},jL={...Gc,html:je(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Fc).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ai,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:je(Bc).replace("hr",Oi).replace("heading",` *#{1,6} *[^
|
|
92
92
|
]`).replace("lheading",_T).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},e2=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,t2=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,pT=/^( {2,}|\\)\n(?!\s*$)/,n2=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ms=/[\p{P}\p{S}]/u,Yc=/[\s\p{P}\p{S}]/u,gT=/[^\s\p{P}\p{S}]/u,r2=je(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Yc).getRegex(),ET=/(?!~)[\p{P}\p{S}]/u,a2=/(?!~)[\s\p{P}\p{S}]/u,i2=/(?:[^\s\p{P}\p{S}]|~)/u,o2=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,ST=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,s2=je(ST,"u").replace(/punct/g,ms).getRegex(),l2=je(ST,"u").replace(/punct/g,ET).getRegex(),fT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",c2=je(fT,"gu").replace(/notPunctSpace/g,gT).replace(/punctSpace/g,Yc).replace(/punct/g,ms).getRegex(),d2=je(fT,"gu").replace(/notPunctSpace/g,i2).replace(/punctSpace/g,a2).replace(/punct/g,ET).getRegex(),u2=je("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,gT).replace(/punctSpace/g,Yc).replace(/punct/g,ms).getRegex(),_2=je(/\\(punct)/,"gu").replace(/punct/g,ms).getRegex(),m2=je(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),p2=je(Fc).replace("(?:-->|$)","-->").getRegex(),g2=je("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",p2).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ds=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,E2=je(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",ds).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),hT=je(/^!?\[(label)\]\[(ref)\]/).replace("label",ds).replace("ref",Uc).getRegex(),bT=je(/^!?\[(ref)\](?:\[\])?/).replace("ref",Uc).getRegex(),S2=je("reflink|nolink(?!\\()","g").replace("reflink",hT).replace("nolink",bT).getRegex(),zc={_backpedal:Ai,anyPunctuation:_2,autolink:m2,blockSkip:o2,br:pT,code:t2,del:Ai,emStrongLDelim:s2,emStrongRDelimAst:c2,emStrongRDelimUnd:u2,escape:e2,link:E2,nolink:bT,punctuation:r2,reflink:hT,reflinkSearch:S2,tag:g2,text:n2,url:Ai},f2={...zc,link:je(/^!?\[(label)\]\((.*?)\)/).replace("label",ds).getRegex(),reflink:je(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ds).getRegex()},wc={...zc,emStrongRDelimAst:d2,emStrongLDelim:l2,url:je(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},h2={...wc,br:je(pT).replace("{2,}","*").getRegex(),text:je(wc.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ls={normal:Gc,gfm:JL,pedantic:jL},Ii={normal:zc,gfm:wc,breaks:h2,pedantic:f2},b2={"&":"&","<":"<",">":">",'"':""","'":"'"},oT=e=>b2[e];function Zn(e,t){if(t){if(tn.escapeTest.test(e))return e.replace(tn.escapeReplace,oT)}else if(tn.escapeTestNoEncode.test(e))return e.replace(tn.escapeReplaceNoEncode,oT);return e}function sT(e){try{e=encodeURI(e).replace(tn.percentDecode,"%")}catch{return null}return e}function lT(e,t){let n=e.replace(tn.findPipe,(s,c,d)=>{let u=!1,p=c;for(;--p>=0&&d[p]==="\\";)u=!u;return u?"|":" |"}),a=n.split(tn.splitPipe),o=0;if(a[0].trim()||a.shift(),a.length>0&&!a.at(-1)?.trim()&&a.pop(),t)if(a.length>t)a.splice(t);else for(;a.length<t;)a.push("");for(;o<a.length;o++)a[o]=a[o].trim().replace(tn.slashPipe,"|");return a}function Ni(e,t,n){let a=e.length;if(a===0)return"";let o=0;for(;o<a;){let s=e.charAt(a-o-1);if(s===t&&!n)o++;else if(s!==t&&n)o++;else break}return e.slice(0,a-o)}function T2(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let a=0;a<e.length;a++)if(e[a]==="\\")a++;else if(e[a]===t[0])n++;else if(e[a]===t[1]&&(n--,n<0))return a;return n>0?-2:-1}function cT(e,t,n,a,o){let s=t.href,c=t.title||null,d=e[1].replace(o.other.outputLinkReplace,"$1");a.state.inLink=!0;let u={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:s,title:c,text:d,tokens:a.inlineTokens(d)};return a.state.inLink=!1,u}function v2(e,t,n){let a=e.match(n.other.indentCodeCompensation);if(a===null)return t;let o=a[1];return t.split(`
|
|
93
93
|
`).map(s=>{let c=s.match(n.other.beginningSpace);if(c===null)return s;let[d]=c;return d.length>=o.length?s.slice(o.length):s}).join(`
|
|
94
94
|
`)}var us=class{options;rules;lexer;constructor(e){this.options=e||la}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Ni(n,`
|