@nabeh/chat-widget 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-YJTDM6ZC.js";var e="0.1.0",t=o,r={init:t,createChatWidget:o,version:e};typeof window<"u"&&(window.ChatWidget=r);export{r as browserGlobal,o as createChatWidget,t as init,e as version};
1
+ import{a as o}from"./chunk-EHONDW3M.js";var e="0.1.0",t=o,r={init:t,createChatWidget:o,version:e};typeof window<"u"&&(window.ChatWidget=r);export{r as browserGlobal,o as createChatWidget,t as init,e as version};
2
2
  //# sourceMappingURL=browser.js.map
@@ -1,4 +1,4 @@
1
- function St(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function je(e,t){let o={...e};for(let n of Object.keys(t)){let l=t[n],p=o[n];if(St(p)&&St(l)){o[n]=je(p,l);continue}l!==void 0&&(o[n]=l)}return o}function Tt(e){return e instanceof Error?e:typeof e=="string"?new Error(e):new Error("Unexpected widget error")}function de(e,t){return`${e.replace(/\/$/,"")}/${t.replace(/^\//,"")}`}function X(e,t,o){return{"Content-Type":"application/json",...e.customHeaders,...o?{"X-Chat-User-Context":o}:{},...t?{Authorization:`Bearer ${t}`}:{}}}async function D(e){if(!e.getUserContext)return null;let t=await e.getUserContext();return t?JSON.stringify(t):null}function ae(e,t,o={}){let n=t.replace(/\{chatId\}/g,encodeURIComponent(o.chatId??"")).replace(/:chatId\b/g,encodeURIComponent(o.chatId??""));return de(e.apiBaseUrl,n)}async function Et(e,t){let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.ask,{chatId:t.chatId}),i=/(\{chatId\}|:chatId\b)/.test(e.endpoints.ask)?{message:t.message,knowledgeNames:t.knowledgeNames,editLastQa:t.editLastQa??!1,enableReferences:t.enableReferences??!0}:{query:t.message,chat_id:t.chatId,knowledge_names:t.knowledgeNames,edit_last_qa:t.editLastQa??!1,enable_references:t.enableReferences??!0},r=await fetch(l,{method:"POST",headers:X(e,o,n),body:JSON.stringify(i)});if(!r.ok)throw new Error(`Chat backend returned ${r.status}.`);let c=r.body?.getReader(),u="";if(c)for(;;){let{done:J,value:I}=await c.read();if(J)break;I&&(u+=new TextDecoder("utf-8").decode(I,{stream:!0}))}else u=await r.text();let g;try{g=JSON.parse(u)}catch{return{chatId:t.chatId,answer:u,suggestions:[],citations:[]}}if(!Array.isArray(g)){if(!g.answer||typeof g.answer!="string")throw new Error("Chat backend response is missing a valid answer.");return{chatId:g.chatId??t.chatId,answer:g.answer,suggestions:g.suggestions??[],citations:g.citations??[]}}let h=g[0];if(!h?.answer||typeof h.answer!="string")throw new Error("Chat backend response is missing a valid answer.");let m=h.content,A=m?.source_documents??[],S=m?.scores??[],v=m?.page_numbers??[],L=m?.sheet_names??[],w=m?.row_numbers??[],F=m?.knowledge_names??[],R=A.map((J,I)=>({sourceDocument:J,score:S[I]??null,pageNumber:v[I]??null,sheetName:L[I]??null,rowNumber:w[I]??null,knowledgeName:F[I]??null}));return{chatId:t.chatId,answer:h.answer,suggestions:[],citations:R}}async function It(e,t){if(!e.endpoints.history)return[];let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),p=/(\{chatId\}|:chatId\b)/.test(e.endpoints.history)?ae(e,e.endpoints.history,{chatId:t}):(()=>{let u=new URL(de(e.apiBaseUrl,e.endpoints.history));return u.searchParams.set("chat_id",t),u.toString()})(),i=await fetch(p,{method:"GET",headers:X(e,o,n)});if(!i.ok)throw new Error(`Chat history endpoint returned ${i.status}.`);let r=await i.json(),c=Array.isArray(r)?r:r&&typeof r=="object"?r.history??r.messages??r.data??[]:[];return Array.isArray(c)?c.map(u=>{if(!u||typeof u!="object")return null;let g=u;if(typeof g.question=="string"&&typeof g.answer=="string")return[{role:"user",text:g.question},{role:"assistant",text:g.answer}];let h=g.role??g.type??g.sender??g.author,m=g.text??g.message??g.content??g.answer;if(typeof m!="string")return null;let A=typeof h=="string"?h.toLowerCase():"assistant";return[{role:A==="user"||A==="human"?"user":"assistant",text:m,...Array.isArray(g.citations)?{citations:g.citations}:{},...typeof g.isLike=="boolean"?{isLike:g.isLike}:{}}]}).flat().filter(u=>!!u):[]}async function Rt(e){if(!e.endpoints.listChats)return[];let t=e.getAccessToken?await e.getAccessToken():null,o=await D(e),n=await fetch(de(e.apiBaseUrl,e.endpoints.listChats),{method:"GET",headers:X(e,t,o)});if(!n.ok)throw new Error(`Chat list endpoint returned ${n.status}.`);let l=await n.json(),p=Array.isArray(l)?l:l&&typeof l=="object"?l.chats??l.data??l.items??[]:[];return Array.isArray(p)?p.map(i=>{if(!i||typeof i!="object")return null;let r=i,c=r.chatId??r.chat_id??r.id,u=r.title??r.name??r.chatId;if(typeof c!="string"||typeof u!="string")return null;let g=typeof r.createdAt=="string"?r.createdAt:typeof r.created_at=="string"?r.created_at:null,h=typeof r.updatedAt=="string"?r.updatedAt:typeof r.updated_at=="string"?r.updated_at:null,m={chatId:c,title:u,pinned:typeof r.pinned=="boolean"?r.pinned:!1};return g&&(m.createdAt=g),h&&(m.updatedAt=h),m}).filter(i=>!!i):[]}async function $t(e,t,o){let n=e.endpoints.createChat??e.endpoints.listChats;if(!n)return;let l=e.getAccessToken?await e.getAccessToken():null,p=await D(e),i=await fetch(de(e.apiBaseUrl,n),{method:"POST",headers:X(e,l,p),body:JSON.stringify({chatId:t,...o?{title:o}:{}})});if(!i.ok)throw new Error(`Create chat endpoint returned ${i.status}.`)}async function We(e,t,o){if(!e.endpoints.updateChat)return;let n=e.getAccessToken?await e.getAccessToken():null,l=await D(e),p=ae(e,e.endpoints.updateChat,{chatId:t}),i=await fetch(p,{method:"PATCH",headers:X(e,n,l),body:JSON.stringify(o)});if(!i.ok)throw new Error(`Update chat endpoint returned ${i.status}.`)}async function zt(e,t){if(!e.endpoints.deleteChat)return;let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.deleteChat,{chatId:t}),p=await fetch(l,{method:"DELETE",headers:X(e,o,n)});if(!p.ok)throw new Error(`Delete chat endpoint returned ${p.status}.`)}function j(e,t){let o=Tt(t);return e.onError?.(o),o}async function ce(e,t,o,n){if(!e.endpoints.feedback)return;let l=e.getAccessToken?await e.getAccessToken():null,p=await D(e),i=ae(e,e.endpoints.feedback,{chatId:t}),r=await fetch(i,{method:"POST",headers:X(e,l,p),body:JSON.stringify({message:o,isLike:n})});if(!r.ok)throw new Error(`Feedback endpoint returned ${r.status}.`)}async function Ht(e,t){if(!e.endpoints.upload)throw new Error("Upload endpoint is not configured.");let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.upload),p=new FormData;p.append("file",t);let i={...e.customHeaders,...n?{"X-Chat-User-Context":n}:{},...o?{Authorization:`Bearer ${o}`}:{}},r=await fetch(l,{method:"POST",headers:i,body:p});if(!r.ok){let c=`Upload endpoint returned ${r.status}.`;try{let u=await r.json();u.message?c=`Failed to upload: ${u.message}`:u.error&&(c=`Failed to upload: ${u.error}`)}catch{}throw new Error(c)}return r.json()}var Fe={accent:"#0f766e",accentSoft:"#ecfeff",panelBackground:"#ffffff",surfaceBackground:"#f8fafc",text:"#1f2937",mutedText:"#64748b",borderColor:"#dbe4ee",shadow:"0 24px 64px rgba(15, 23, 42, 0.20)",zIndex:2147483e3,fontFamily:'"Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif'},C={displayMode:"widget",position:"bottom-right",title:"Knowledge Assistant",subtitle:"Answers are generated based on your access permissions",welcomeMessage:"How can I assist you today?",inputPlaceholder:"Ask your question...",launcherAriaLabel:"Open chat assistant",closeAriaLabel:"Close chat assistant",initialSuggestions:["Which indicators reflect the achievements of Vision KSA goals?","Case studies of real estate initiatives for economic growth","Study of UX for the ministry external portal"],sourceApp:"knowledge-platform",locale:"en",customHeaders:{},assistantPageUrl:"/knowledge-assistant",embedded:{showHeader:!1},rag:{knowledgeNames:[],enableReferences:!0,loadHistoryOnOpen:!1},theme:Fe,getAccessToken:void 0,getUserContext:void 0,onOpen:void 0,onClose:void 0,onError:void 0,onOpenAssistantPage:void 0};function Mt(e){if(!e.apiBaseUrl?.trim())throw new Error("Chat widget config requires a non-empty apiBaseUrl.");if(!e.endpoints?.ask?.trim())throw new Error("Chat widget config requires endpoints.ask to be provided.");let t=e.mount??document.body,o=je(Fe,e.theme??{});return{apiBaseUrl:e.apiBaseUrl,endpoints:{...e.endpoints},mount:t,displayMode:e.displayMode??C.displayMode,position:e.position??C.position,title:e.title??C.title,subtitle:e.subtitle??C.subtitle,welcomeMessage:e.welcomeMessage??C.welcomeMessage,inputPlaceholder:e.inputPlaceholder??C.inputPlaceholder,launcherAriaLabel:e.launcherAriaLabel??C.launcherAriaLabel,closeAriaLabel:e.closeAriaLabel??C.closeAriaLabel,initialSuggestions:e.initialSuggestions??C.initialSuggestions,sourceApp:e.sourceApp??C.sourceApp,locale:e.locale??C.locale,customHeaders:e.customHeaders??C.customHeaders,embedded:{...C.embedded,...e.embedded??{}},rag:{...C.rag,...e.rag??{}},assistantPageUrl:e.assistantPageUrl??C.assistantPageUrl,theme:o,getAccessToken:e.getAccessToken,getUserContext:e.getUserContext,onOpen:e.onOpen,onClose:e.onClose,onError:e.onError,onOpenAssistantPage:e.onOpenAssistantPage}}function a(e,t,o){let n=document.createElement(e);return t&&(n.className=t),o!==void 0&&(n.textContent=o),n}var Nt="kp-chat-widget-styles";function Ot(e,t){if(e.getElementById(Nt))return;let o=document.createElement("style");o.id=Nt,o.textContent=yn(t),e.appendChild(o)}function yn(e){return`
1
+ function St(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function je(e,t){let o={...e};for(let n of Object.keys(t)){let l=t[n],p=o[n];if(St(p)&&St(l)){o[n]=je(p,l);continue}l!==void 0&&(o[n]=l)}return o}function Tt(e){return e instanceof Error?e:typeof e=="string"?new Error(e):new Error("Unexpected widget error")}function de(e,t){return`${e.replace(/\/$/,"")}/${t.replace(/^\//,"")}`}function X(e,t,o){return{"Content-Type":"application/json",...e.customHeaders,...o?{"X-Chat-User-Context":o}:{},...t?{Authorization:`Bearer ${t}`}:{}}}async function D(e){if(!e.getUserContext)return null;let t=await e.getUserContext();return t?JSON.stringify(t):null}function ae(e,t,o={}){let n=t.replace(/\{chatId\}/g,encodeURIComponent(o.chatId??"")).replace(/:chatId\b/g,encodeURIComponent(o.chatId??""));return de(e.apiBaseUrl,n)}async function Et(e,t){let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.ask,{chatId:t.chatId}),i=/(\{chatId\}|:chatId\b)/.test(e.endpoints.ask)?{message:t.message,knowledgeNames:t.knowledgeNames,editLastQa:t.editLastQa??!1,enableReferences:t.enableReferences??!0}:{query:t.message,chat_id:t.chatId,knowledge_names:t.knowledgeNames,edit_last_qa:t.editLastQa??!1,enable_references:t.enableReferences??!0},r=await fetch(l,{method:"POST",headers:X(e,o,n),body:JSON.stringify(i)});if(!r.ok)throw new Error(`Chat backend returned ${r.status}.`);let c=r.body?.getReader(),u="";if(c)for(;;){let{done:J,value:I}=await c.read();if(J)break;I&&(u+=new TextDecoder("utf-8").decode(I,{stream:!0}))}else u=await r.text();let g;try{g=JSON.parse(u)}catch{return{chatId:t.chatId,answer:u,suggestions:[],citations:[]}}if(!Array.isArray(g)){if(!g.answer||typeof g.answer!="string")throw new Error("Chat backend response is missing a valid answer.");return{chatId:g.chatId??t.chatId,answer:g.answer,suggestions:g.suggestions??[],citations:g.citations??[]}}let h=g[0];if(!h?.answer||typeof h.answer!="string")throw new Error("Chat backend response is missing a valid answer.");let m=h.content,P=m?.source_documents??[],S=m?.scores??[],v=m?.page_numbers??[],L=m?.sheet_names??[],w=m?.row_numbers??[],F=m?.knowledge_names??[],R=P.map((J,I)=>({sourceDocument:J,score:S[I]??null,pageNumber:v[I]??null,sheetName:L[I]??null,rowNumber:w[I]??null,knowledgeName:F[I]??null}));return{chatId:t.chatId,answer:h.answer,suggestions:[],citations:R}}async function It(e,t){if(!e.endpoints.history)return[];let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),p=/(\{chatId\}|:chatId\b)/.test(e.endpoints.history)?ae(e,e.endpoints.history,{chatId:t}):(()=>{let u=new URL(de(e.apiBaseUrl,e.endpoints.history));return u.searchParams.set("chat_id",t),u.toString()})(),i=await fetch(p,{method:"GET",headers:X(e,o,n)});if(!i.ok)throw new Error(`Chat history endpoint returned ${i.status}.`);let r=await i.json(),c=Array.isArray(r)?r:r&&typeof r=="object"?r.history??r.messages??r.data??[]:[];return Array.isArray(c)?c.map(u=>{if(!u||typeof u!="object")return null;let g=u;if(typeof g.question=="string"&&typeof g.answer=="string")return[{role:"user",text:g.question},{role:"assistant",text:g.answer}];let h=g.role??g.type??g.sender??g.author,m=g.text??g.message??g.content??g.answer;if(typeof m!="string")return null;let P=typeof h=="string"?h.toLowerCase():"assistant";return[{role:P==="user"||P==="human"?"user":"assistant",text:m,...Array.isArray(g.citations)?{citations:g.citations}:{},...typeof g.isLike=="boolean"?{isLike:g.isLike}:{}}]}).flat().filter(u=>!!u):[]}async function Rt(e){if(!e.endpoints.listChats)return[];let t=e.getAccessToken?await e.getAccessToken():null,o=await D(e),n=await fetch(de(e.apiBaseUrl,e.endpoints.listChats),{method:"GET",headers:X(e,t,o)});if(!n.ok)throw new Error(`Chat list endpoint returned ${n.status}.`);let l=await n.json(),p=Array.isArray(l)?l:l&&typeof l=="object"?l.chats??l.data??l.items??[]:[];return Array.isArray(p)?p.map(i=>{if(!i||typeof i!="object")return null;let r=i,c=r.chatId??r.chat_id??r.id,u=r.title??r.name??r.chatId;if(typeof c!="string"||typeof u!="string")return null;let g=typeof r.createdAt=="string"?r.createdAt:typeof r.created_at=="string"?r.created_at:null,h=typeof r.updatedAt=="string"?r.updatedAt:typeof r.updated_at=="string"?r.updated_at:null,m={chatId:c,title:u,pinned:typeof r.pinned=="boolean"?r.pinned:!1};return g&&(m.createdAt=g),h&&(m.updatedAt=h),m}).filter(i=>!!i):[]}async function $t(e,t,o){let n=e.endpoints.createChat??e.endpoints.listChats;if(!n)return;let l=e.getAccessToken?await e.getAccessToken():null,p=await D(e),i=await fetch(de(e.apiBaseUrl,n),{method:"POST",headers:X(e,l,p),body:JSON.stringify({chatId:t,...o?{title:o}:{}})});if(!i.ok)throw new Error(`Create chat endpoint returned ${i.status}.`)}async function We(e,t,o){if(!e.endpoints.updateChat)return;let n=e.getAccessToken?await e.getAccessToken():null,l=await D(e),p=ae(e,e.endpoints.updateChat,{chatId:t}),i=await fetch(p,{method:"PUT",headers:X(e,n,l),body:JSON.stringify(o)});if(!i.ok)throw new Error(`Update chat endpoint returned ${i.status}.`)}async function zt(e,t){if(!e.endpoints.deleteChat)return;let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.deleteChat,{chatId:t}),p=await fetch(l,{method:"DELETE",headers:X(e,o,n)});if(!p.ok)throw new Error(`Delete chat endpoint returned ${p.status}.`)}function j(e,t){let o=Tt(t);return e.onError?.(o),o}async function ce(e,t,o,n){if(!e.endpoints.feedback)return;let l=e.getAccessToken?await e.getAccessToken():null,p=await D(e),i=ae(e,e.endpoints.feedback,{chatId:t}),r=await fetch(i,{method:"POST",headers:X(e,l,p),body:JSON.stringify({message:o,isLike:n})});if(!r.ok)throw new Error(`Feedback endpoint returned ${r.status}.`)}async function Ht(e,t){if(!e.endpoints.upload)throw new Error("Upload endpoint is not configured.");let o=e.getAccessToken?await e.getAccessToken():null,n=await D(e),l=ae(e,e.endpoints.upload),p=new FormData;p.append("file",t);let i={...e.customHeaders,...n?{"X-Chat-User-Context":n}:{},...o?{Authorization:`Bearer ${o}`}:{}},r=await fetch(l,{method:"POST",headers:i,body:p});if(!r.ok){let c=`Upload endpoint returned ${r.status}.`;try{let u=await r.json();u.message?c=`Failed to upload: ${u.message}`:u.error&&(c=`Failed to upload: ${u.error}`)}catch{}throw new Error(c)}return r.json()}var Fe={accent:"#0f766e",accentSoft:"#ecfeff",panelBackground:"#ffffff",surfaceBackground:"#f8fafc",text:"#1f2937",mutedText:"#64748b",borderColor:"#dbe4ee",shadow:"0 24px 64px rgba(15, 23, 42, 0.20)",zIndex:2147483e3,fontFamily:'"Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif'},C={displayMode:"widget",position:"bottom-right",title:"Knowledge Assistant",subtitle:"Answers are generated based on your access permissions",welcomeMessage:"How can I assist you today?",inputPlaceholder:"Ask your question...",launcherAriaLabel:"Open chat assistant",closeAriaLabel:"Close chat assistant",initialSuggestions:["Which indicators reflect the achievements of Vision KSA goals?","Case studies of real estate initiatives for economic growth","Study of UX for the ministry external portal"],sourceApp:"knowledge-platform",locale:"en",customHeaders:{},assistantPageUrl:"/knowledge-assistant",embedded:{showHeader:!1},rag:{knowledgeNames:[],enableReferences:!0,loadHistoryOnOpen:!1},theme:Fe,getAccessToken:void 0,getUserContext:void 0,onOpen:void 0,onClose:void 0,onError:void 0,onOpenAssistantPage:void 0};function Mt(e){if(!e.apiBaseUrl?.trim())throw new Error("Chat widget config requires a non-empty apiBaseUrl.");if(!e.endpoints?.ask?.trim())throw new Error("Chat widget config requires endpoints.ask to be provided.");let t=e.mount??document.body,o=je(Fe,e.theme??{});return{apiBaseUrl:e.apiBaseUrl,endpoints:{...e.endpoints},mount:t,displayMode:e.displayMode??C.displayMode,position:e.position??C.position,title:e.title??C.title,subtitle:e.subtitle??C.subtitle,welcomeMessage:e.welcomeMessage??C.welcomeMessage,inputPlaceholder:e.inputPlaceholder??C.inputPlaceholder,launcherAriaLabel:e.launcherAriaLabel??C.launcherAriaLabel,closeAriaLabel:e.closeAriaLabel??C.closeAriaLabel,initialSuggestions:e.initialSuggestions??C.initialSuggestions,sourceApp:e.sourceApp??C.sourceApp,locale:e.locale??C.locale,customHeaders:e.customHeaders??C.customHeaders,embedded:{...C.embedded,...e.embedded??{}},rag:{...C.rag,...e.rag??{}},assistantPageUrl:e.assistantPageUrl??C.assistantPageUrl,theme:o,getAccessToken:e.getAccessToken,getUserContext:e.getUserContext,onOpen:e.onOpen,onClose:e.onClose,onError:e.onError,onOpenAssistantPage:e.onOpenAssistantPage}}function a(e,t,o){let n=document.createElement(e);return t&&(n.className=t),o!==void 0&&(n.textContent=o),n}var Nt="kp-chat-widget-styles";function Ot(e,t){if(e.getElementById(Nt))return;let o=document.createElement("style");o.id=Nt,o.textContent=yn(t),e.appendChild(o)}function yn(e){return`
2
2
  :host {
3
3
  all: initial;
4
4
  }
@@ -1818,7 +1818,7 @@ function St(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function je(e,t)
1818
1818
  min-height: auto;
1819
1819
  }
1820
1820
  }
1821
- `}var Ut={en:{openChatActions:"Open chat actions",newChat:"New Chat",myChats:"My Chats",openAssistant:"Open Knowledge Assistant",back:"Back",close:"Close",assistantBadge:"Knowledge Assistant",closeAssistantPage:"Close knowledge assistant page",searchChat:"Search Chat",recentActivity:"Recent Activity",pinnedCollections:"Pinned Collections",answersBasedOnPermissions:"Answers are generated based on your access permissions",authTokenForwarded:"Auth token is forwarded from the host app when configured.",thinking:"Thinking...",unableToCreateChat:"Unable to create chat",requestFailed:"Request failed",noRecentChats:"No recent chats yet.",noPinnedChats:"No pinned chats yet.",noChats:"No chats yet.",loadingChats:"Loading chats...",pinChat:"Pin chat",unpinChat:"Unpin chat",renameChat:"Rename",deleteChat:"Delete",chatActions:"Chat actions",renamePrompt:"Enter a new chat name",citationsAttached:e=>`${e} citation${e>1?"s":""} attached`,sourcesUsed:"Sources Used",allSourcesUsed:"All Sources Used",documentsAndReferences:"AI documents and references",showAll:"Show All",noSources:"No sources were returned for this answer.",closeSourcesPanel:"Close sources panel",openSource:"Open source",sourceScore:"Score",sourcePage:"Page",sourceSheet:"Sheet",sourceRow:"Row",sourceKnowledge:"Knowledge Base",untitledSource:"Untitled Source",copy:"Copy",copied:"Copied",helpful:"Helpful",notHelpful:"Needs work",send:"Send message",assistantAvatar:"Assistant",userAvatar:"User"},ar:{openChatActions:"\u0641\u062A\u062D \u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",newChat:"\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",myChats:"\u0645\u062D\u0627\u062F\u062B\u0627\u062A\u064A",openAssistant:"\u0641\u062A\u062D \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",back:"\u0631\u062C\u0648\u0639",close:"\u0625\u063A\u0644\u0627\u0642",assistantBadge:"\u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",closeAssistantPage:"\u0625\u063A\u0644\u0627\u0642 \u0635\u0641\u062D\u0629 \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",searchChat:"\u0627\u0628\u062D\u062B \u0641\u064A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A",recentActivity:"\u0627\u0644\u0646\u0634\u0627\u0637 \u0627\u0644\u0623\u062E\u064A\u0631",pinnedCollections:"\u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0627\u0644\u0645\u062B\u0628\u062A\u0629",answersBasedOnPermissions:"\u064A\u062A\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0625\u062C\u0627\u0628\u0627\u062A \u0628\u0646\u0627\u0621\u064B \u0639\u0644\u0649 \u0635\u0644\u0627\u062D\u064A\u0627\u062A \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643",authTokenForwarded:"\u064A\u062A\u0645 \u062A\u0645\u0631\u064A\u0631 \u0631\u0645\u0632 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u0645\u0636\u064A\u0641 \u0639\u0646\u062F \u0627\u0644\u0625\u0639\u062F\u0627\u062F.",thinking:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u0641\u0643\u064A\u0631...",unableToCreateChat:"\u062A\u0639\u0630\u0631 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",requestFailed:"\u0641\u0634\u0644 \u0627\u0644\u0637\u0644\u0628",noRecentChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u062D\u062F\u064A\u062B\u0629 \u0628\u0639\u062F.",noPinnedChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0645\u062B\u0628\u062A\u0629 \u0628\u0639\u062F.",noChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0628\u0639\u062F.",loadingChats:"\u062C\u0627\u0631\u064D \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A...",pinChat:"\u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",unpinChat:"\u0625\u0644\u063A\u0627\u0621 \u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",renameChat:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0633\u0645\u064A\u0629",deleteChat:"\u062D\u0630\u0641",chatActions:"\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",renamePrompt:"\u0623\u062F\u062E\u0644 \u0627\u0633\u0645\u064B\u0627 \u062C\u062F\u064A\u062F\u064B\u0627 \u0644\u0644\u0645\u062D\u0627\u062F\u062B\u0629",citationsAttached:e=>`\u062A\u0645 \u0625\u0631\u0641\u0627\u0642 ${e} \u0645\u0631\u062C\u0639${e>1?"\u0627\u062A":""}`,sourcesUsed:"\u0627\u0644\u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629",allSourcesUsed:"\u0643\u0644 \u0627\u0644\u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629",documentsAndReferences:"\u0645\u0633\u062A\u0646\u062F\u0627\u062A \u0648\u0645\u0631\u0627\u062C\u0639 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A",showAll:"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644",noSources:"\u0644\u0645 \u064A\u062A\u0645 \u0625\u0631\u062C\u0627\u0639 \u0645\u0635\u0627\u062F\u0631 \u0644\u0647\u0630\u0647 \u0627\u0644\u0625\u062C\u0627\u0628\u0629.",closeSourcesPanel:"\u0625\u063A\u0644\u0627\u0642 \u0644\u0648\u062D\u0629 \u0627\u0644\u0645\u0635\u0627\u062F\u0631",openSource:"\u0641\u062A\u062D \u0627\u0644\u0645\u0635\u062F\u0631",sourceScore:"\u0627\u0644\u062F\u0631\u062C\u0629",sourcePage:"\u0627\u0644\u0635\u0641\u062D\u0629",sourceSheet:"\u0627\u0644\u0648\u0631\u0642\u0629",sourceRow:"\u0627\u0644\u0635\u0641",sourceKnowledge:"\u0642\u0627\u0639\u062F\u0629 \u0627\u0644\u0645\u0639\u0631\u0641\u0629",untitledSource:"\u0645\u0635\u062F\u0631 \u0628\u062F\u0648\u0646 \u0639\u0646\u0648\u0627\u0646",copy:"\u0646\u0633\u062E",copied:"\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",helpful:"\u0645\u0641\u064A\u062F",notHelpful:"\u064A\u062D\u062A\u0627\u062C \u062A\u062D\u0633\u064A\u0646",send:"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0644\u0629",assistantAvatar:"\u0627\u0644\u0645\u0633\u0627\u0639\u062F",userAvatar:"\u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645"}};function aa(e){if(typeof document>"u")throw new Error("Chat widget can only be initialized in a browser.");let t=Mt(e),o=Ve(t.locale),n=Sn(t.locale),l=Tn(o),p=t.displayMode==="embedded",i={chatId:Pe(t),open:!1,fullPageOpen:p,myChatsOpen:!1,accessTokenProvider:t.getAccessToken,historyLoadedChatId:null,menuOpen:!1,chats:[],chatSearchTerm:"",loadingChats:!1,sourcePanelOpen:!1,sourcePanelTitle:null,attachedFile:null},r=document.createElement("div");r.dataset.chatWidgetHost="true",t.mount.appendChild(r);let c=r.attachShadow({mode:"open"});Ot(c,t.theme);let u=a("div",`kp-chat-widget ${t.position}`);u.lang=o,u.dir=l?"rtl":"ltr",p&&(u.classList.add("kp-chat-widget-embedded"),jt(!0)),l&&u.classList.add("kp-rtl");let g=a("div","kp-overlay"),h=a("button","kp-launcher");h.type="button",h.setAttribute("aria-label",t.launcherAriaLabel),h.innerHTML=['<span class="kp-star-cluster" aria-hidden="true">','<span class="kp-star orbit-a">\u2726</span>','<span class="kp-star orbit-b">\u2726</span>','<span class="kp-star orbit-c">\u2726</span>','<span class="kp-star main">\u2726</span>',"</span>"].join("");let m=a("section","kp-panel");m.setAttribute("role","dialog"),m.setAttribute("aria-modal","true"),m.setAttribute("aria-label",t.title);let A=a("div","kp-header"),S=a("div","kp-toolbar"),v=a("button","kp-tool-button kp-menu-trigger");v.type="button",v.setAttribute("aria-label",n.openChatActions),v.innerHTML=['<span class="kp-pencil-icon" aria-hidden="true"></span>','<span class="kp-chevron" aria-hidden="true">\u2304</span>'].join("");let L=a("div","kp-dropdown"),w=a("button","kp-dropdown-item",n.newChat);w.type="button";let F=a("button","kp-dropdown-item",n.myChats);F.type="button";let R=a("button","kp-dropdown-item",n.openAssistant);R.type="button",L.append(w,F,R),S.append(v,L);let J=a("div","kp-title-wrap"),I=a("h2","kp-title",t.title),qt=a("div","kp-subtitle",t.subtitle);J.append(I,qt);let fe=a("button","kp-close","\xD7");fe.type="button",fe.setAttribute("aria-label",t.closeAriaLabel),A.append(S,J,fe);let he=a("div","kp-body"),Se=a("div","kp-hero"),Vt=a("div","kp-hero-icon","\u2726"),_t=a("div","kp-hero-text",t.welcomeMessage);Se.append(Vt,_t);let Ke=a("div","kp-footer"),Te=a("form","kp-form"),$=a("input","kp-input");$.type="text",$.autocomplete="off",$.placeholder=t.inputPlaceholder,$.setAttribute("aria-label",t.inputPlaceholder);let me=a("button","kp-attach","\u{1F4CE}");me.type="button",me.setAttribute("aria-label","Attach file");let q=a("input","kp-file-input");q.type="file",q.style.display="none";let Ee=a("div","kp-attachment-badge");Ee.style.display="none";let Ie=a("button","kp-send","\u279C");Ie.type="submit",Ie.setAttribute("aria-label",n.send);let Kt=a("div","kp-note",n.authTokenForwarded);Te.append(me,q,$,Ie),Ke.append(Ee,Te,Kt),m.append(A,he,Ke),p||u.append(g,h,m),c.appendChild(u),he.appendChild(Se);let Ye=a("div","kp-suggestions");he.appendChild(Ye);let be=a("section","kp-my-chats-sheet"),Xe=a("div","kp-my-chats-header"),ke=a("button","kp-my-chats-nav","\u2190");ke.type="button",ke.setAttribute("aria-label",n.back);let xe=a("button","kp-my-chats-nav kp-my-chats-close","\xD7");xe.type="button",xe.setAttribute("aria-label",n.close),Xe.append(ke,xe);let Je=a("div","kp-my-chats-body"),Yt=a("div","kp-my-chats-section-label",n.recentActivity),Qe=a("div","kp-my-chats-list"),Xt=a("div","kp-my-chats-section-label",n.pinnedCollections),Ge=a("div","kp-my-chats-list");Je.append(Yt,Qe,Xt,Ge),be.append(Xe,Je),m.appendChild(be);let z={body:he,input:$,suggestions:Ye,hero:Se,kind:"panel"},T=a("section","kp-full-page");p&&T.classList.add("kp-full-page-embedded","open"),T.setAttribute("role","dialog"),p||T.setAttribute("aria-modal","true"),T.setAttribute("aria-label",`${t.title} page`);let Ze=a("div","kp-full-page-shell"),Re=a("div","kp-full-page-header"),et=a("div","kp-full-page-brand"),Jt=a("div","kp-full-page-brand-mark","\u2726"),Qt=a("div","kp-full-page-brand-text",t.title);et.append(Jt,Qt);let tt=a("div","kp-full-page-header-actions"),Gt=a("div","kp-full-page-badge",n.assistantBadge),ye=a("button","kp-full-page-close","\xD7");ye.type="button",ye.setAttribute("aria-label",n.closeAssistantPage),tt.append(Gt,ye),Re.append(et,tt),t.embedded.showHeader||Re.classList.add("kp-hidden");let nt=a("div","kp-full-page-content"),at=a("aside","kp-full-page-sidebar"),$e=a("button","kp-full-page-new-chat",`+ ${n.newChat}`);$e.type="button";let ot=a("div","kp-full-page-search"),ie=a("input","kp-full-page-search-input");ie.type="search",ie.placeholder=n.searchChat;let Zt=a("span","kp-full-page-search-icon","\u2315");ot.append(ie,Zt);let en=a("div","kp-full-page-section-label",n.recentActivity),st=a("div","kp-full-page-recent-list"),tn=a("div","kp-full-page-section-label",n.pinnedCollections),it=a("div","kp-full-page-pinned-list");at.append($e,ot,en,st,tn,it);let rt=a("main","kp-full-page-main"),lt=a("section","kp-full-page-panel"),ze=a("div","kp-full-page-body"),He=a("div","kp-full-page-hero"),pt=a("div","kp-full-page-hero-badge");pt.innerHTML=['<span class="kp-star-cluster kp-star-cluster-static" aria-hidden="true">','<span class="kp-star orbit-a">\u2726</span>','<span class="kp-star orbit-b">\u2726</span>','<span class="kp-star orbit-c">\u2726</span>','<span class="kp-star main">\u2726</span>',"</span>"].join("");let nn=a("div","kp-full-page-hero-text",t.welcomeMessage);He.append(pt,nn);let dt=a("div","kp-suggestions kp-full-page-suggestions");ze.append(He,dt);let ct=a("div","kp-full-page-footer"),Me=a("form","kp-form kp-full-page-form"),E=a("input","kp-input kp-full-page-input");E.type="text",E.autocomplete="off",E.placeholder=t.inputPlaceholder,E.setAttribute("aria-label",t.inputPlaceholder);let ve=a("button","kp-attach kp-full-page-attach","\u{1F4CE}");ve.type="button",ve.setAttribute("aria-label","Attach file");let V=a("input","kp-file-input");V.type="file",V.style.display="none";let Ne=a("div","kp-attachment-badge kp-full-page-attachment-badge");Ne.style.display="none";let Oe=a("button","kp-send kp-full-page-send","\u279C");Oe.type="submit",Oe.setAttribute("aria-label",n.send);let an=a("div","kp-note kp-full-page-note",n.answersBasedOnPermissions);Me.append(ve,V,E,Oe),ct.append(Ne,Me,an),lt.append(ze,ct),rt.appendChild(lt);let we=a("aside","kp-source-panel"),ut=a("div","kp-source-panel-header"),gt=a("div","kp-source-panel-title-wrap"),ft=a("div","kp-source-panel-title",n.allSourcesUsed),on=a("div","kp-source-panel-subtitle",n.documentsAndReferences);gt.append(ft,on);let Ce=a("button","kp-source-panel-close","\xD7");Ce.type="button",Ce.setAttribute("aria-label",n.closeSourcesPanel),ut.append(gt,Ce);let re=a("div","kp-source-panel-list"),sn=a("div","kp-source-panel-empty",n.noSources);re.appendChild(sn),we.append(ut,re),nt.append(at,rt,we),Ze.append(Re,nt),T.appendChild(Ze),u.appendChild(T);let le=a("div","kp-citation-overlay");u.appendChild(le);let P={body:ze,input:E,suggestions:dt,hero:He,kind:"full-page"},M=()=>({...t,getAccessToken:i.accessTokenProvider}),ht=async()=>{if(!t.getUserContext)return null;try{let s=await t.getUserContext();return s?.displayName?.trim()||s?.email?.trim()||s?.userId?.trim()||null}catch{return null}},Q=s=>{let d=_e(s)??n.untitledSource,f=(s.text||"").trim(),k=f,b=f.split(`
1821
+ `}var Ut={en:{openChatActions:"Open chat actions",newChat:"New Chat",myChats:"My Chats",openAssistant:"Open Knowledge Assistant",back:"Back",close:"Close",assistantBadge:"Knowledge Assistant",closeAssistantPage:"Close knowledge assistant page",searchChat:"Search Chat",recentActivity:"Recent Activity",pinnedCollections:"Pinned Collections",answersBasedOnPermissions:"Answers are generated based on your access permissions",authTokenForwarded:"Auth token is forwarded from the host app when configured.",thinking:"Thinking...",unableToCreateChat:"Unable to create chat",requestFailed:"Request failed",noRecentChats:"No recent chats yet.",noPinnedChats:"No pinned chats yet.",noChats:"No chats yet.",loadingChats:"Loading chats...",pinChat:"Pin chat",unpinChat:"Unpin chat",renameChat:"Rename",deleteChat:"Delete",chatActions:"Chat actions",renamePrompt:"Enter a new chat name",citationsAttached:e=>`${e} citation${e>1?"s":""} attached`,sourcesUsed:"Sources Used",allSourcesUsed:"All Sources Used",documentsAndReferences:"AI documents and references",showAll:"Show All",noSources:"No sources were returned for this answer.",closeSourcesPanel:"Close sources panel",openSource:"Open source",sourceScore:"Score",sourcePage:"Page",sourceSheet:"Sheet",sourceRow:"Row",sourceKnowledge:"Knowledge Base",untitledSource:"Untitled Source",copy:"Copy",copied:"Copied",helpful:"Helpful",notHelpful:"Needs work",send:"Send message",assistantAvatar:"Assistant",userAvatar:"User"},ar:{openChatActions:"\u0641\u062A\u062D \u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",newChat:"\u0645\u062D\u0627\u062F\u062B\u0629 \u062C\u062F\u064A\u062F\u0629",myChats:"\u0645\u062D\u0627\u062F\u062B\u0627\u062A\u064A",openAssistant:"\u0641\u062A\u062D \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",back:"\u0631\u062C\u0648\u0639",close:"\u0625\u063A\u0644\u0627\u0642",assistantBadge:"\u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",closeAssistantPage:"\u0625\u063A\u0644\u0627\u0642 \u0635\u0641\u062D\u0629 \u0645\u0633\u0627\u0639\u062F \u0627\u0644\u0645\u0639\u0631\u0641\u0629",searchChat:"\u0627\u0628\u062D\u062B \u0641\u064A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A",recentActivity:"\u0627\u0644\u0646\u0634\u0627\u0637 \u0627\u0644\u0623\u062E\u064A\u0631",pinnedCollections:"\u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0627\u0644\u0645\u062B\u0628\u062A\u0629",answersBasedOnPermissions:"\u064A\u062A\u0645 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0625\u062C\u0627\u0628\u0627\u062A \u0628\u0646\u0627\u0621\u064B \u0639\u0644\u0649 \u0635\u0644\u0627\u062D\u064A\u0627\u062A \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643",authTokenForwarded:"\u064A\u062A\u0645 \u062A\u0645\u0631\u064A\u0631 \u0631\u0645\u0632 \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u0645\u0636\u064A\u0641 \u0639\u0646\u062F \u0627\u0644\u0625\u0639\u062F\u0627\u062F.",thinking:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u0641\u0643\u064A\u0631...",unableToCreateChat:"\u062A\u0639\u0630\u0631 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",requestFailed:"\u0641\u0634\u0644 \u0627\u0644\u0637\u0644\u0628",noRecentChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u062D\u062F\u064A\u062B\u0629 \u0628\u0639\u062F.",noPinnedChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0645\u062B\u0628\u062A\u0629 \u0628\u0639\u062F.",noChats:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u062D\u0627\u062F\u062B\u0627\u062A \u0628\u0639\u062F.",loadingChats:"\u062C\u0627\u0631\u064D \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0627\u062A...",pinChat:"\u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",unpinChat:"\u0625\u0644\u063A\u0627\u0621 \u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",renameChat:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0633\u0645\u064A\u0629",deleteChat:"\u062D\u0630\u0641",chatActions:"\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629",renamePrompt:"\u0623\u062F\u062E\u0644 \u0627\u0633\u0645\u064B\u0627 \u062C\u062F\u064A\u062F\u064B\u0627 \u0644\u0644\u0645\u062D\u0627\u062F\u062B\u0629",citationsAttached:e=>`\u062A\u0645 \u0625\u0631\u0641\u0627\u0642 ${e} \u0645\u0631\u062C\u0639${e>1?"\u0627\u062A":""}`,sourcesUsed:"\u0627\u0644\u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629",allSourcesUsed:"\u0643\u0644 \u0627\u0644\u0645\u0635\u0627\u062F\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u0629",documentsAndReferences:"\u0645\u0633\u062A\u0646\u062F\u0627\u062A \u0648\u0645\u0631\u0627\u062C\u0639 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064A",showAll:"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644",noSources:"\u0644\u0645 \u064A\u062A\u0645 \u0625\u0631\u062C\u0627\u0639 \u0645\u0635\u0627\u062F\u0631 \u0644\u0647\u0630\u0647 \u0627\u0644\u0625\u062C\u0627\u0628\u0629.",closeSourcesPanel:"\u0625\u063A\u0644\u0627\u0642 \u0644\u0648\u062D\u0629 \u0627\u0644\u0645\u0635\u0627\u062F\u0631",openSource:"\u0641\u062A\u062D \u0627\u0644\u0645\u0635\u062F\u0631",sourceScore:"\u0627\u0644\u062F\u0631\u062C\u0629",sourcePage:"\u0627\u0644\u0635\u0641\u062D\u0629",sourceSheet:"\u0627\u0644\u0648\u0631\u0642\u0629",sourceRow:"\u0627\u0644\u0635\u0641",sourceKnowledge:"\u0642\u0627\u0639\u062F\u0629 \u0627\u0644\u0645\u0639\u0631\u0641\u0629",untitledSource:"\u0645\u0635\u062F\u0631 \u0628\u062F\u0648\u0646 \u0639\u0646\u0648\u0627\u0646",copy:"\u0646\u0633\u062E",copied:"\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",helpful:"\u0645\u0641\u064A\u062F",notHelpful:"\u064A\u062D\u062A\u0627\u062C \u062A\u062D\u0633\u064A\u0646",send:"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0644\u0629",assistantAvatar:"\u0627\u0644\u0645\u0633\u0627\u0639\u062F",userAvatar:"\u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645"}};function aa(e){if(typeof document>"u")throw new Error("Chat widget can only be initialized in a browser.");let t=Mt(e),o=Ve(t.locale),n=Sn(t.locale),l=Tn(o),p=t.displayMode==="embedded",i={chatId:Ae(t),open:!1,fullPageOpen:p,myChatsOpen:!1,accessTokenProvider:t.getAccessToken,historyLoadedChatId:null,menuOpen:!1,chats:[],chatSearchTerm:"",loadingChats:!1,sourcePanelOpen:!1,sourcePanelTitle:null,attachedFile:null},r=document.createElement("div");r.dataset.chatWidgetHost="true",t.mount.appendChild(r);let c=r.attachShadow({mode:"open"});Ot(c,t.theme);let u=a("div",`kp-chat-widget ${t.position}`);u.lang=o,u.dir=l?"rtl":"ltr",p&&(u.classList.add("kp-chat-widget-embedded"),jt(!0)),l&&u.classList.add("kp-rtl");let g=a("div","kp-overlay"),h=a("button","kp-launcher");h.type="button",h.setAttribute("aria-label",t.launcherAriaLabel),h.innerHTML=['<span class="kp-star-cluster" aria-hidden="true">','<span class="kp-star orbit-a">\u2726</span>','<span class="kp-star orbit-b">\u2726</span>','<span class="kp-star orbit-c">\u2726</span>','<span class="kp-star main">\u2726</span>',"</span>"].join("");let m=a("section","kp-panel");m.setAttribute("role","dialog"),m.setAttribute("aria-modal","true"),m.setAttribute("aria-label",t.title);let P=a("div","kp-header"),S=a("div","kp-toolbar"),v=a("button","kp-tool-button kp-menu-trigger");v.type="button",v.setAttribute("aria-label",n.openChatActions),v.innerHTML=['<span class="kp-pencil-icon" aria-hidden="true"></span>','<span class="kp-chevron" aria-hidden="true">\u2304</span>'].join("");let L=a("div","kp-dropdown"),w=a("button","kp-dropdown-item",n.newChat);w.type="button";let F=a("button","kp-dropdown-item",n.myChats);F.type="button";let R=a("button","kp-dropdown-item",n.openAssistant);R.type="button",L.append(w,F,R),S.append(v,L);let J=a("div","kp-title-wrap"),I=a("h2","kp-title",t.title),qt=a("div","kp-subtitle",t.subtitle);J.append(I,qt);let fe=a("button","kp-close","\xD7");fe.type="button",fe.setAttribute("aria-label",t.closeAriaLabel),P.append(S,J,fe);let he=a("div","kp-body"),Se=a("div","kp-hero"),Vt=a("div","kp-hero-icon","\u2726"),_t=a("div","kp-hero-text",t.welcomeMessage);Se.append(Vt,_t);let Ke=a("div","kp-footer"),Te=a("form","kp-form"),$=a("input","kp-input");$.type="text",$.autocomplete="off",$.placeholder=t.inputPlaceholder,$.setAttribute("aria-label",t.inputPlaceholder);let me=a("button","kp-attach","\u{1F4CE}");me.type="button",me.setAttribute("aria-label","Attach file");let q=a("input","kp-file-input");q.type="file",q.style.display="none";let Ee=a("div","kp-attachment-badge");Ee.style.display="none";let Ie=a("button","kp-send","\u279C");Ie.type="submit",Ie.setAttribute("aria-label",n.send);let Kt=a("div","kp-note",n.authTokenForwarded);Te.append(me,q,$,Ie),Ke.append(Ee,Te,Kt),m.append(P,he,Ke),p||u.append(g,h,m),c.appendChild(u),he.appendChild(Se);let Ye=a("div","kp-suggestions");he.appendChild(Ye);let be=a("section","kp-my-chats-sheet"),Xe=a("div","kp-my-chats-header"),ke=a("button","kp-my-chats-nav","\u2190");ke.type="button",ke.setAttribute("aria-label",n.back);let xe=a("button","kp-my-chats-nav kp-my-chats-close","\xD7");xe.type="button",xe.setAttribute("aria-label",n.close),Xe.append(ke,xe);let Je=a("div","kp-my-chats-body"),Yt=a("div","kp-my-chats-section-label",n.recentActivity),Qe=a("div","kp-my-chats-list"),Xt=a("div","kp-my-chats-section-label",n.pinnedCollections),Ge=a("div","kp-my-chats-list");Je.append(Yt,Qe,Xt,Ge),be.append(Xe,Je),m.appendChild(be);let z={body:he,input:$,suggestions:Ye,hero:Se,kind:"panel"},T=a("section","kp-full-page");p&&T.classList.add("kp-full-page-embedded","open"),T.setAttribute("role","dialog"),p||T.setAttribute("aria-modal","true"),T.setAttribute("aria-label",`${t.title} page`);let Ze=a("div","kp-full-page-shell"),Re=a("div","kp-full-page-header"),et=a("div","kp-full-page-brand"),Jt=a("div","kp-full-page-brand-mark","\u2726"),Qt=a("div","kp-full-page-brand-text",t.title);et.append(Jt,Qt);let tt=a("div","kp-full-page-header-actions"),Gt=a("div","kp-full-page-badge",n.assistantBadge),ye=a("button","kp-full-page-close","\xD7");ye.type="button",ye.setAttribute("aria-label",n.closeAssistantPage),tt.append(Gt,ye),Re.append(et,tt),t.embedded.showHeader||Re.classList.add("kp-hidden");let nt=a("div","kp-full-page-content"),at=a("aside","kp-full-page-sidebar"),$e=a("button","kp-full-page-new-chat",`+ ${n.newChat}`);$e.type="button";let ot=a("div","kp-full-page-search"),ie=a("input","kp-full-page-search-input");ie.type="search",ie.placeholder=n.searchChat;let Zt=a("span","kp-full-page-search-icon","\u2315");ot.append(ie,Zt);let en=a("div","kp-full-page-section-label",n.recentActivity),st=a("div","kp-full-page-recent-list"),tn=a("div","kp-full-page-section-label",n.pinnedCollections),it=a("div","kp-full-page-pinned-list");at.append($e,ot,en,st,tn,it);let rt=a("main","kp-full-page-main"),lt=a("section","kp-full-page-panel"),ze=a("div","kp-full-page-body"),He=a("div","kp-full-page-hero"),pt=a("div","kp-full-page-hero-badge");pt.innerHTML=['<span class="kp-star-cluster kp-star-cluster-static" aria-hidden="true">','<span class="kp-star orbit-a">\u2726</span>','<span class="kp-star orbit-b">\u2726</span>','<span class="kp-star orbit-c">\u2726</span>','<span class="kp-star main">\u2726</span>',"</span>"].join("");let nn=a("div","kp-full-page-hero-text",t.welcomeMessage);He.append(pt,nn);let dt=a("div","kp-suggestions kp-full-page-suggestions");ze.append(He,dt);let ct=a("div","kp-full-page-footer"),Me=a("form","kp-form kp-full-page-form"),E=a("input","kp-input kp-full-page-input");E.type="text",E.autocomplete="off",E.placeholder=t.inputPlaceholder,E.setAttribute("aria-label",t.inputPlaceholder);let ve=a("button","kp-attach kp-full-page-attach","\u{1F4CE}");ve.type="button",ve.setAttribute("aria-label","Attach file");let V=a("input","kp-file-input");V.type="file",V.style.display="none";let Ne=a("div","kp-attachment-badge kp-full-page-attachment-badge");Ne.style.display="none";let Oe=a("button","kp-send kp-full-page-send","\u279C");Oe.type="submit",Oe.setAttribute("aria-label",n.send);let an=a("div","kp-note kp-full-page-note",n.answersBasedOnPermissions);Me.append(ve,V,E,Oe),ct.append(Ne,Me,an),lt.append(ze,ct),rt.appendChild(lt);let we=a("aside","kp-source-panel"),ut=a("div","kp-source-panel-header"),gt=a("div","kp-source-panel-title-wrap"),ft=a("div","kp-source-panel-title",n.allSourcesUsed),on=a("div","kp-source-panel-subtitle",n.documentsAndReferences);gt.append(ft,on);let Ce=a("button","kp-source-panel-close","\xD7");Ce.type="button",Ce.setAttribute("aria-label",n.closeSourcesPanel),ut.append(gt,Ce);let re=a("div","kp-source-panel-list"),sn=a("div","kp-source-panel-empty",n.noSources);re.appendChild(sn),we.append(ut,re),nt.append(at,rt,we),Ze.append(Re,nt),T.appendChild(Ze),u.appendChild(T);let le=a("div","kp-citation-overlay");u.appendChild(le);let A={body:ze,input:E,suggestions:dt,hero:He,kind:"full-page"},M=()=>({...t,getAccessToken:i.accessTokenProvider}),ht=async()=>{if(!t.getUserContext)return null;try{let s=await t.getUserContext();return s?.displayName?.trim()||s?.email?.trim()||s?.userId?.trim()||null}catch{return null}},Q=s=>{let d=_e(s)??n.untitledSource,f=(s.text||"").trim(),k=f,b=f.split(`
1822
1822
  `);if(b.length>1&&b[0]){let B=b[0].trim().replace(/\s*\|\s*Page\s*\d+\s*$/i,"").trim();B&&(B===d||d.indexOf(B)!==-1||B.indexOf(d)!==-1)&&(k=b.slice(1).join(`
1823
1823
  `).trim())}let x=Un(s.sourceDocument),y=[];(s.pageNumber||s.pageNumber===0)&&y.push(`
1824
1824
  <div class="meta-item">
@@ -1914,7 +1914,7 @@ function St(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function je(e,t)
1914
1914
  `,le.textContent="";let Ct=a("header","kp-citation-overlay-header"),Lt=a("div","kp-citation-overlay-brand");Lt.innerHTML=`
1915
1915
  <span class="kp-citation-overlay-brand-logo">\u2726</span>
1916
1916
  <span>Knowledge Assistant Document Viewer</span>
1917
- `;let Ae=a("button","kp-citation-overlay-close","\xD7");Ae.type="button",Ae.setAttribute("aria-label","Close document preview"),Ae.addEventListener("click",()=>{le.classList.remove("open")}),Ct.append(Lt,Ae);let At=a("div","kp-citation-overlay-content"),Pt=a("aside","kp-citation-overlay-metadata-panel");Pt.innerHTML=mn;let ne=a("main","kp-citation-overlay-viewer-panel");if(ne.innerHTML=De,At.append(Pt,ne),le.append(Ct,At),!x){let Y=1,B=ne.querySelector(".document-sheet"),bn=ne.querySelector(".zoom-in-btn"),kn=ne.querySelector(".zoom-out-btn"),xn=ne.querySelector(".print-btn");B&&(bn?.addEventListener("click",()=>{Y<1.5&&(Y+=.1,B.style.transform=`scale(${Y})`)}),kn?.addEventListener("click",()=>{Y>.6&&(Y-=.1,B.style.transform=`scale(${Y})`)}),xn?.addEventListener("click",()=>{window.print()}))}le.classList.add("open")},pe=(s,d)=>{if(i.sourcePanelOpen=!0,i.sourcePanelTitle=d??n.allSourcesUsed,ft.textContent=i.sourcePanelTitle,we.classList.add("open"),re.textContent="",s.length===0){re.appendChild(a("div","kp-source-panel-empty",n.noSources));return}for(let f of s)re.appendChild(On(f,n,()=>{Q(f)}))},G=()=>{i.sourcePanelOpen=!1,i.sourcePanelTitle=null,we.classList.remove("open")};oe(z,t.initialSuggestions,async s=>{await N(s,z)}),oe(P,t.initialSuggestions,async s=>{await N(s,P)}),K(),Le(),p&&(H(),t.rag.loadHistoryOnOpen&&Z(P,i.chatId));function mt(s,d,f){d.textContent=`Uploading ${s.name}...`,d.style.display="block",f.disabled=!0,Ht(M(),s).then(k=>{i.attachedFile={name:s.name,sourceUuid:k.source_uuid},d.textContent=`\u{1F4CE} ${s.name} (Attached)`}).catch(k=>{let b=j(t,k);d.textContent=`Failed to upload: ${b.message}`,setTimeout(()=>{d.style.display="none",d.textContent=""},3e3)}).finally(()=>{f.disabled=!1,q.value="",V.value=""})}me.addEventListener("click",()=>{q.click()}),q.addEventListener("change",()=>{let s=q.files?.[0];s&&mt(s,Ee,$)}),ve.addEventListener("click",()=>{V.click()}),V.addEventListener("change",()=>{let s=V.files?.[0];s&&mt(s,Ne,E)});function Ue(){if(p){i.fullPageOpen=!0,T.classList.add("open");return}i.open||(i.open=!0,i.fullPageOpen=!1,U(),T.classList.remove("open"),h.classList.add("hidden"),g.classList.add("visible"),m.classList.add("open"),t.onOpen?.(),t.rag.loadHistoryOnOpen&&Be.loadHistory(),queueMicrotask(()=>$.focus()))}function _(){if(p){G();return}i.open&&(O(),U(),i.open=!1,h.classList.remove("hidden"),g.classList.remove("visible"),m.classList.remove("open"),t.onClose?.())}async function N(s,d){let f=s.trim();if(!f)return;d.input.value="";try{await cn(f)}catch(b){let x=j(t,b);ge(d.body,"bot",`${n.unableToCreateChat}: ${x.message}`,{strings:n,view:d,userName:null,onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}});return}qe(d),ge(d.body,"user",f,{strings:n,view:d,userName:await ht(),onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}}),d.body.scrollTop=d.body.scrollHeight;let k=a("div","kp-loading",n.thinking);d.body.appendChild(k),d.body.scrollTop=d.body.scrollHeight;try{let b=await vn(t),x=i.attachedFile?[i.attachedFile.sourceUuid,...b]:b,y=await Et(M(),{message:f,chatId:i.chatId,knowledgeNames:x,...t.rag.enableReferences!==void 0?{enableReferences:t.rag.enableReferences}:{}});k.isConnected&&k.remove(),ge(d.body,"bot",y.answer,{strings:n,view:d,userName:null,citations:y.citations??[],onShowSources:pe,onShowCitation:Q,onLike:()=>{ce(t,i.chatId,y.answer,!0).catch(console.error)},onDislike:()=>{ce(t,i.chatId,y.answer,!1).catch(console.error)}}),i.historyLoadedChatId=null,await H(),y.suggestions?.length&&oe(d,y.suggestions,async ee=>{await N(ee,d)})}catch(b){let x=j(t,b);k.isConnected&&k.remove(),ge(d.body,"bot",`${n.requestFailed}: ${x.message}`,{strings:n,view:d,userName:null,onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}})}}async function bt(s){let d=i.fullPageOpen?P:z;await N(s,d)}async function rn(){if(p){i.fullPageOpen=!0,T.classList.add("open"),await H(),await Z(P,i.chatId),queueMicrotask(()=>E.focus());return}i.fullPageOpen=!0,i.open=!1,O(),U(),m.classList.remove("open"),g.classList.remove("visible"),h.classList.add("hidden"),T.classList.add("open"),await H(),await Z(P,i.chatId),queueMicrotask(()=>E.focus())}function kt(){if(p){G();return}i.fullPageOpen&&(i.fullPageOpen=!1,T.classList.remove("open"),h.classList.remove("hidden"),G())}function ln(){i.menuOpen=!0,v.classList.add("open"),L.classList.add("open")}function O(){i.menuOpen=!1,v.classList.remove("open"),L.classList.remove("open")}function pn(){i.chatId=Pe(t),i.historyLoadedChatId=null,U(),ue(z),oe(z,t.initialSuggestions,async s=>{await N(s,z)}),O()}async function dn(){i.chatId=Pe(t),i.historyLoadedChatId=null,ue(P),G(),oe(P,t.initialSuggestions,async s=>{await N(s,P)}),K()}async function H(){if(!t.endpoints.listChats)return K(),Le(),[];i.loadingChats=!0,K(),Le();try{let s=await Rt(M());return i.chats=s,s}catch(s){return j(t,s),i.chats}finally{i.loadingChats=!1,K(),Le()}}async function cn(s){!t.endpoints.listChats&&!t.endpoints.createChat||i.chats.some(d=>d.chatId===i.chatId)||await $t(M(),i.chatId,s?Pn(s,n.newChat):void 0)}async function un(s){i.chatId=s,i.historyLoadedChatId=null,await Z(P,s),K()}async function gn(s){i.chatId=s,i.historyLoadedChatId=null,U(),await Z(z,s)}async function fn(){O(),await H(),i.myChatsOpen=!0,m.classList.add("kp-sheet-open"),be.classList.add("open")}function U(){i.myChatsOpen=!1,m.classList.remove("kp-sheet-open"),be.classList.remove("open")}function hn(s,d){let f=a("div","kp-overlay visible"),k=a("div","kp-panel kp-rename-dialog");k.style.cssText="position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); width:320px; height:auto; padding:24px; border-radius:16px; opacity:1; pointer-events:auto; z-index: 10000;";let b=a("h3","kp-source-preview-title");b.textContent=n.renamePrompt,b.style.marginBottom="16px",b.style.fontSize="16px";let x=a("input","kp-input");x.type="text",x.value=s.title,x.style.border="1px solid var(--kp-border-color)",x.style.padding="10px",x.style.borderRadius="8px",x.style.width="100%",x.style.marginBottom="20px";let y=a("div","kp-message-actions");y.style.justifyContent="flex-end",y.style.gap="8px";let ee=a("button","kp-message-action",n.close);ee.addEventListener("click",()=>f.remove());let te=a("button","kp-message-action active","Save");te.addEventListener("click",async()=>{te.disabled=!0,te.textContent="...",await d(x.value),f.remove()}),y.append(ee,te),k.append(b,x,y),f.appendChild(k),u.appendChild(f),x.focus()}async function xt(s){t.endpoints.updateChat&&hn(s,async d=>{let f=d.trim();if(!(!f||f===s.title))try{await We(M(),s.chatId,{title:f}),await H()}catch(k){j(t,k)}})}async function yt(s){if(t.endpoints.deleteChat)try{await zt(M(),s.chatId),i.chatId===s.chatId&&(i.chatId=Pe(t),i.historyLoadedChatId=null,ue(z),ue(P)),await H()}catch(d){j(t,d)}}function K(){Bt(st,it,i,n,async s=>{await un(s.chatId)},async s=>{await vt(s)},async s=>{await xt(s)},async s=>{await yt(s)})}function Le(){Bt(Qe,Ge,i,n,async s=>{await gn(s.chatId)},async s=>{await vt(s)},async s=>{await xt(s)},async s=>{await yt(s)})}async function vt(s){if(t.endpoints.updateChat)try{await We(M(),s.chatId,{pinned:!s.pinned}),await H()}catch(d){j(t,d)}}async function Z(s,d){ue(s),oe(s,t.initialSuggestions,async b=>{await N(b,s)});let f=a("div","kp-message kp-message-ai");f.innerHTML='<div class="kp-message-bubble"><div class="kp-typing-indicator"><span></span><span></span><span></span></div></div>',qe(s),s.body.appendChild(f);let k=await It(M(),d);return f.remove(),k.length>0&&(qe(s),Wt(s.body,s.hero,s.suggestions),An(s.body,k,{strings:n,view:s,userName:await ht(),onShowSources:pe,onShowCitation:Q,onLike:b=>{ce(t,d,b,!0).catch(console.error)},onDislike:b=>{ce(t,d,b,!1).catch(console.error)}})),i.historyLoadedChatId=d,k}let Be={open:Ue,close:_,toggle(){if(p){Ue();return}if(i.open){_();return}Ue()},destroy(){if(document.removeEventListener("keydown",wt),r.remove(),p){let s=!1;document.querySelectorAll("[data-chat-widget-host]").forEach(d=>{let f=d.shadowRoot;f&&f.querySelector(".kp-chat-widget-embedded")&&(s=!0)}),s||jt(!1)}},sendMessage:bt,setAccessTokenProvider(s){i.accessTokenProvider=s},getChatId(){return i.chatId},loadChats(){return H()},async loadHistory(){let s=i.fullPageOpen?P:z;return Z(s,i.chatId)}};h.addEventListener("click",()=>Be.toggle()),fe.addEventListener("click",_),g.addEventListener("click",_),Ce.addEventListener("click",G),ke.addEventListener("click",U),xe.addEventListener("click",U),v.addEventListener("click",s=>{if(s.stopPropagation(),!i.menuOpen){ln();return}O()}),w.addEventListener("click",pn),F.addEventListener("click",async()=>{await fn()}),R.addEventListener("click",()=>{if(O(),t.onOpenAssistantPage){_(),t.onOpenAssistantPage();return}if(t.assistantPageUrl){_(),window.location.href=t.assistantPageUrl;return}rn()}),ye.addEventListener("click",kt),$e.addEventListener("click",()=>{dn(),queueMicrotask(()=>E.focus())}),ie.addEventListener("input",()=>{i.chatSearchTerm=ie.value.trim().toLowerCase(),K()}),m.addEventListener("click",s=>{let d=s.target;if(!(d instanceof Element)||!d.closest(".kp-chat-actions")){for(let f of Array.from(c.querySelectorAll(".kp-chat-actions.open")))f.classList.remove("open");for(let f of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))f.classList.remove("menu-open")}i.menuOpen&&!L.contains(d)&&!v.contains(d)&&O(),s.stopPropagation()}),c.addEventListener("click",s=>{let d=s.target;if(i.menuOpen&&d instanceof Node&&!L.contains(d)&&!v.contains(d)&&O(),d instanceof Element&&!d.closest(".kp-chat-actions")){for(let f of Array.from(c.querySelectorAll(".kp-chat-actions.open")))f.classList.remove("open");for(let f of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))f.classList.remove("menu-open")}}),Te.addEventListener("submit",async s=>{s.preventDefault(),await bt($.value)}),Me.addEventListener("submit",async s=>{s.preventDefault(),await N(E.value,P)});function wt(s){if(s.key==="Escape"){if(i.sourcePanelOpen){G();return}if(i.myChatsOpen){U();return}if(i.fullPageOpen){if(p)return;kt();return}i.open&&_()}}return document.addEventListener("keydown",wt),Be}async function vn(e){if(e.rag.getKnowledgeNames){let t=await e.rag.getKnowledgeNames();return Array.isArray(t)?t.filter(Boolean):[]}return(e.rag.knowledgeNames??[]).filter(Boolean)}function Pe(e){return e.rag.chatId?.trim()?e.rag.chatId:e.rag.chatIdFactory?e.rag.chatIdFactory():typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`kp-chat-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function ge(e,t,o,n){let l=t==="bot"?In(o,n.citations??[]):{displayText:o,citations:n.citations??[]},p=a("div",`kp-message-row ${t}`),i=Cn(t==="bot"?n.strings.assistantAvatar:n.userName??n.strings.userAvatar,t),r=a("div",`kp-bubble ${t}`),c=a("div","kp-bubble-content");Bn(c,l.displayText),r.appendChild(c);let u=l.citations;if(u.length){let g=a("div","kp-meta",n.strings.citationsAttached(u.length));r.appendChild(g);let h=a("div","kp-source-preview"),m=a("div","kp-source-preview-title",n.strings.sourcesUsed),A=a("div","kp-source-preview-list");for(let v of u.slice(0,2)){let L=Mn(v,n.strings);L.addEventListener("click",async()=>{n.onShowCitation(v)}),A.appendChild(L)}let S=Nn(n.strings);S.addEventListener("click",async()=>{n.onShowSources(u,n.strings.allSourcesUsed)}),A.appendChild(S),h.append(m,A),r.appendChild(h)}return t==="bot"&&r.appendChild(wn(l.displayText,n.strings,n.onLike,n.onDislike,n.initialFeedback)),t==="user"?p.append(r,i):p.append(i,r),e.appendChild(p),e.scrollTop=e.scrollHeight,p}function wn(e,t,o,n,l){let p=a("div","kp-message-actions"),i=a("button","kp-message-action",t.copy);i.type="button",i.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e),i.textContent=t.copied,window.setTimeout(()=>{i.textContent=t.copy},1200)}catch{i.textContent=t.copy}});let r=a("button","kp-message-action","\u{1F44D}");r.type="button",r.setAttribute("aria-label",t.helpful),l===!0&&r.classList.add("active"),r.addEventListener("click",()=>{r.classList.toggle("active"),c.classList.remove("active"),r.classList.contains("active")&&o&&o()});let c=a("button","kp-message-action","\u{1F44E}");return c.type="button",c.setAttribute("aria-label",t.notHelpful),l===!1&&c.classList.add("active"),c.addEventListener("click",()=>{c.classList.toggle("active"),r.classList.remove("active"),c.classList.contains("active")&&n&&n()}),p.append(i,r,c),p}function Cn(e,t){let o=a("div",`kp-avatar ${t}`),n=t==="bot"?"\u2726":En(e);return o.textContent=n,o.setAttribute("aria-hidden","true"),o}function Ln(e,t,o){e.textContent="";for(let n of t){let l=a("button","kp-suggestion",n);l.type="button",l.addEventListener("click",async()=>{await o(n)}),e.appendChild(l)}}function oe(e,t,o){Ln(e.suggestions,t,async n=>{e.input.value=n,await o(n)})}function Wt(e,t,o){let n=new Set([t,o]);for(let l of Array.from(e.children))n.has(l)||l.remove()}function qe(e){e.body.classList.add("kp-conversation-active"),e.hero.remove(),e.suggestions.remove()}function ue(e){e.body.classList.remove("kp-conversation-active"),e.hero.isConnected||e.body.prepend(e.hero),e.suggestions.isConnected||e.body.appendChild(e.suggestions),Wt(e.body,e.hero,e.suggestions),e.input.value=""}function An(e,t,o){for(let n of t)ge(e,n.role==="assistant"?"bot":"user",n.text,{...o,...n.citations!==void 0?{citations:n.citations}:{},...n.isLike!==void 0?{initialFeedback:n.isLike}:{},onLike:()=>{o.onLike&&o.onLike(n.text)},onDislike:()=>{o.onDislike&&o.onDislike(n.text)}})}function Bt(e,t,o,n,l,p,i,r){if(e.textContent="",t.textContent="",o.loadingChats){e.appendChild(a("div","kp-full-page-empty",n.loadingChats));return}let c=o.chats.filter(u=>o.chatSearchTerm?u.title.toLowerCase().includes(o.chatSearchTerm):!0);if(c.length>0){let u=c.filter(h=>h.pinned),g=c.filter(h=>!h.pinned).slice(0,8);Dt(e,g,o.chatId,n,l,p,i,r),Dt(t,u,o.chatId,n,l,p,i,r),g.length===0&&e.appendChild(a("div","kp-full-page-empty",n.noRecentChats)),u.length===0&&t.appendChild(a("div","kp-full-page-empty",n.noPinnedChats));return}e.appendChild(a("div","kp-full-page-empty",n.noChats)),t.appendChild(a("div","kp-full-page-empty",n.noPinnedChats))}function Dt(e,t,o,n,l,p,i,r){for(let c of t){let u=a("div",`kp-full-page-item kp-full-page-chat-item${c.chatId===o?" active":""}`),g=a("span","kp-full-page-item-title",c.title),h=a("div","kp-chat-actions"),m=a("button","kp-chat-actions-trigger","\u22EF");m.type="button",m.setAttribute("aria-label",n.chatActions);let A=a("div","kp-chat-actions-menu"),S=a("button","kp-chat-actions-item",c.pinned?n.unpinChat:n.pinChat);S.type="button",S.addEventListener("click",async w=>{w.stopPropagation(),await p(c)});let v=a("button","kp-chat-actions-item",n.renameChat);v.type="button",v.addEventListener("click",async w=>{w.stopPropagation(),await i(c)});let L=a("button","kp-chat-actions-item",n.deleteChat);L.type="button",L.addEventListener("click",async w=>{w.stopPropagation(),await r(c)}),A.append(S,v,L),h.append(m,A),m.addEventListener("click",w=>{w.stopPropagation();let F=h.classList.contains("open");for(let R of Array.from(e.querySelectorAll(".kp-chat-actions.open")))R.classList.remove("open");for(let R of Array.from(e.querySelectorAll(".kp-full-page-chat-item.menu-open")))R.classList.remove("menu-open");F||(h.classList.add("open"),u.classList.add("menu-open"))}),u.append(g,h),u.setAttribute("role","button"),u.tabIndex=0,u.addEventListener("click",async()=>{await l(c)}),u.addEventListener("keydown",async w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),await l(c))}),u.addEventListener("blur",()=>{h.classList.remove("open"),u.classList.remove("menu-open")}),e.appendChild(u)}}function Pn(e,t){return e.trim().slice(0,60)||t}function Ve(e){return e.toLowerCase().split("-")[0]||"en"}function Sn(e){let t=Ut.en;return Ut[Ve(e)]??t}function Tn(e){return["ar","fa","he","ur"].includes(Ve(e))}function En(e){let t=e.split(/\s+/).filter(Boolean).slice(0,2);return t.length===0?"U":t.map(o=>o[0]?.toUpperCase()??"").join("")}function _e(e){if(e.knowledgeName?.trim())return e.knowledgeName.trim();if(e.text){let t=e.text.split(`
1917
+ `;let Pe=a("button","kp-citation-overlay-close","\xD7");Pe.type="button",Pe.setAttribute("aria-label","Close document preview"),Pe.addEventListener("click",()=>{le.classList.remove("open")}),Ct.append(Lt,Pe);let Pt=a("div","kp-citation-overlay-content"),At=a("aside","kp-citation-overlay-metadata-panel");At.innerHTML=mn;let ne=a("main","kp-citation-overlay-viewer-panel");if(ne.innerHTML=De,Pt.append(At,ne),le.append(Ct,Pt),!x){let Y=1,B=ne.querySelector(".document-sheet"),bn=ne.querySelector(".zoom-in-btn"),kn=ne.querySelector(".zoom-out-btn"),xn=ne.querySelector(".print-btn");B&&(bn?.addEventListener("click",()=>{Y<1.5&&(Y+=.1,B.style.transform=`scale(${Y})`)}),kn?.addEventListener("click",()=>{Y>.6&&(Y-=.1,B.style.transform=`scale(${Y})`)}),xn?.addEventListener("click",()=>{window.print()}))}le.classList.add("open")},pe=(s,d)=>{if(i.sourcePanelOpen=!0,i.sourcePanelTitle=d??n.allSourcesUsed,ft.textContent=i.sourcePanelTitle,we.classList.add("open"),re.textContent="",s.length===0){re.appendChild(a("div","kp-source-panel-empty",n.noSources));return}for(let f of s)re.appendChild(On(f,n,()=>{Q(f)}))},G=()=>{i.sourcePanelOpen=!1,i.sourcePanelTitle=null,we.classList.remove("open")};oe(z,t.initialSuggestions,async s=>{await N(s,z)}),oe(A,t.initialSuggestions,async s=>{await N(s,A)}),K(),Le(),p&&(H(),t.rag.loadHistoryOnOpen&&Z(A,i.chatId));function mt(s,d,f){d.textContent=`Uploading ${s.name}...`,d.style.display="block",f.disabled=!0,Ht(M(),s).then(k=>{i.attachedFile={name:s.name,sourceUuid:k.source_uuid},d.textContent=`\u{1F4CE} ${s.name} (Attached)`}).catch(k=>{let b=j(t,k);d.textContent=`Failed to upload: ${b.message}`,setTimeout(()=>{d.style.display="none",d.textContent=""},3e3)}).finally(()=>{f.disabled=!1,q.value="",V.value=""})}me.addEventListener("click",()=>{q.click()}),q.addEventListener("change",()=>{let s=q.files?.[0];s&&mt(s,Ee,$)}),ve.addEventListener("click",()=>{V.click()}),V.addEventListener("change",()=>{let s=V.files?.[0];s&&mt(s,Ne,E)});function Ue(){if(p){i.fullPageOpen=!0,T.classList.add("open");return}i.open||(i.open=!0,i.fullPageOpen=!1,U(),T.classList.remove("open"),h.classList.add("hidden"),g.classList.add("visible"),m.classList.add("open"),t.onOpen?.(),t.rag.loadHistoryOnOpen&&Be.loadHistory(),queueMicrotask(()=>$.focus()))}function _(){if(p){G();return}i.open&&(O(),U(),i.open=!1,h.classList.remove("hidden"),g.classList.remove("visible"),m.classList.remove("open"),t.onClose?.())}async function N(s,d){let f=s.trim();if(!f)return;d.input.value="";try{await cn(f)}catch(b){let x=j(t,b);ge(d.body,"bot",`${n.unableToCreateChat}: ${x.message}`,{strings:n,view:d,userName:null,onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}});return}qe(d),ge(d.body,"user",f,{strings:n,view:d,userName:await ht(),onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}}),d.body.scrollTop=d.body.scrollHeight;let k=a("div","kp-loading",n.thinking);d.body.appendChild(k),d.body.scrollTop=d.body.scrollHeight;try{let b=await vn(t),x=i.attachedFile?[i.attachedFile.sourceUuid,...b]:b,y=await Et(M(),{message:f,chatId:i.chatId,knowledgeNames:x,...t.rag.enableReferences!==void 0?{enableReferences:t.rag.enableReferences}:{}});k.isConnected&&k.remove(),ge(d.body,"bot",y.answer,{strings:n,view:d,userName:null,citations:y.citations??[],onShowSources:pe,onShowCitation:Q,onLike:()=>{ce(t,i.chatId,y.answer,!0).catch(console.error)},onDislike:()=>{ce(t,i.chatId,y.answer,!1).catch(console.error)}}),i.historyLoadedChatId=null,await H(),y.suggestions?.length&&oe(d,y.suggestions,async ee=>{await N(ee,d)})}catch(b){let x=j(t,b);k.isConnected&&k.remove(),ge(d.body,"bot",`${n.requestFailed}: ${x.message}`,{strings:n,view:d,userName:null,onShowSources:pe,onShowCitation:Q,onLike:()=>{},onDislike:()=>{}})}}async function bt(s){let d=i.fullPageOpen?A:z;await N(s,d)}async function rn(){if(p){i.fullPageOpen=!0,T.classList.add("open"),await H(),await Z(A,i.chatId),queueMicrotask(()=>E.focus());return}i.fullPageOpen=!0,i.open=!1,O(),U(),m.classList.remove("open"),g.classList.remove("visible"),h.classList.add("hidden"),T.classList.add("open"),await H(),await Z(A,i.chatId),queueMicrotask(()=>E.focus())}function kt(){if(p){G();return}i.fullPageOpen&&(i.fullPageOpen=!1,T.classList.remove("open"),h.classList.remove("hidden"),G())}function ln(){i.menuOpen=!0,v.classList.add("open"),L.classList.add("open")}function O(){i.menuOpen=!1,v.classList.remove("open"),L.classList.remove("open")}function pn(){i.chatId=Ae(t),i.historyLoadedChatId=null,U(),ue(z),oe(z,t.initialSuggestions,async s=>{await N(s,z)}),O()}async function dn(){i.chatId=Ae(t),i.historyLoadedChatId=null,ue(A),G(),oe(A,t.initialSuggestions,async s=>{await N(s,A)}),K()}async function H(){if(!t.endpoints.listChats)return K(),Le(),[];i.loadingChats=!0,K(),Le();try{let s=await Rt(M());return i.chats=s,s}catch(s){return j(t,s),i.chats}finally{i.loadingChats=!1,K(),Le()}}async function cn(s){!t.endpoints.listChats&&!t.endpoints.createChat||i.chats.some(d=>d.chatId===i.chatId)||await $t(M(),i.chatId,s?An(s,n.newChat):void 0)}async function un(s){i.chatId=s,i.historyLoadedChatId=null,await Z(A,s),K()}async function gn(s){i.chatId=s,i.historyLoadedChatId=null,U(),await Z(z,s)}async function fn(){O(),await H(),i.myChatsOpen=!0,m.classList.add("kp-sheet-open"),be.classList.add("open")}function U(){i.myChatsOpen=!1,m.classList.remove("kp-sheet-open"),be.classList.remove("open")}function hn(s,d){let f=a("div","kp-overlay visible"),k=a("div","kp-panel kp-rename-dialog");k.style.cssText="position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); width:320px; height:auto; padding:24px; border-radius:16px; opacity:1; pointer-events:auto; z-index: 10000;";let b=a("h3","kp-source-preview-title");b.textContent=n.renamePrompt,b.style.marginBottom="16px",b.style.fontSize="16px";let x=a("input","kp-input");x.type="text",x.value=s.title,x.style.border="1px solid var(--kp-border-color)",x.style.padding="10px",x.style.borderRadius="8px",x.style.width="100%",x.style.marginBottom="20px";let y=a("div","kp-message-actions");y.style.justifyContent="flex-end",y.style.gap="8px";let ee=a("button","kp-message-action",n.close);ee.addEventListener("click",()=>f.remove());let te=a("button","kp-message-action active","Save");te.addEventListener("click",async()=>{te.disabled=!0,te.textContent="...",await d(x.value),f.remove()}),y.append(ee,te),k.append(b,x,y),f.appendChild(k),u.appendChild(f),x.focus()}async function xt(s){t.endpoints.updateChat&&hn(s,async d=>{let f=d.trim();if(!(!f||f===s.title))try{await We(M(),s.chatId,{title:f}),await H()}catch(k){j(t,k)}})}async function yt(s){if(t.endpoints.deleteChat)try{await zt(M(),s.chatId),i.chatId===s.chatId&&(i.chatId=Ae(t),i.historyLoadedChatId=null,ue(z),ue(A)),await H()}catch(d){j(t,d)}}function K(){Bt(st,it,i,n,async s=>{await un(s.chatId)},async s=>{await vt(s)},async s=>{await xt(s)},async s=>{await yt(s)})}function Le(){Bt(Qe,Ge,i,n,async s=>{await gn(s.chatId)},async s=>{await vt(s)},async s=>{await xt(s)},async s=>{await yt(s)})}async function vt(s){if(t.endpoints.updateChat)try{await We(M(),s.chatId,{pinned:!s.pinned}),await H()}catch(d){j(t,d)}}async function Z(s,d){ue(s),oe(s,t.initialSuggestions,async b=>{await N(b,s)});let f=a("div","kp-message kp-message-ai");f.innerHTML='<div class="kp-message-bubble"><div class="kp-typing-indicator"><span></span><span></span><span></span></div></div>',qe(s),s.body.appendChild(f);let k=await It(M(),d);return f.remove(),k.length>0&&(qe(s),Wt(s.body,s.hero,s.suggestions),Pn(s.body,k,{strings:n,view:s,userName:await ht(),onShowSources:pe,onShowCitation:Q,onLike:b=>{ce(t,d,b,!0).catch(console.error)},onDislike:b=>{ce(t,d,b,!1).catch(console.error)}})),i.historyLoadedChatId=d,k}let Be={open:Ue,close:_,toggle(){if(p){Ue();return}if(i.open){_();return}Ue()},destroy(){if(document.removeEventListener("keydown",wt),r.remove(),p){let s=!1;document.querySelectorAll("[data-chat-widget-host]").forEach(d=>{let f=d.shadowRoot;f&&f.querySelector(".kp-chat-widget-embedded")&&(s=!0)}),s||jt(!1)}},sendMessage:bt,setAccessTokenProvider(s){i.accessTokenProvider=s},getChatId(){return i.chatId},loadChats(){return H()},async loadHistory(){let s=i.fullPageOpen?A:z;return Z(s,i.chatId)}};h.addEventListener("click",()=>Be.toggle()),fe.addEventListener("click",_),g.addEventListener("click",_),Ce.addEventListener("click",G),ke.addEventListener("click",U),xe.addEventListener("click",U),v.addEventListener("click",s=>{if(s.stopPropagation(),!i.menuOpen){ln();return}O()}),w.addEventListener("click",pn),F.addEventListener("click",async()=>{await fn()}),R.addEventListener("click",()=>{if(O(),t.onOpenAssistantPage){_(),t.onOpenAssistantPage();return}if(t.assistantPageUrl){_(),window.location.href=t.assistantPageUrl;return}rn()}),ye.addEventListener("click",kt),$e.addEventListener("click",()=>{dn(),queueMicrotask(()=>E.focus())}),ie.addEventListener("input",()=>{i.chatSearchTerm=ie.value.trim().toLowerCase(),K()}),m.addEventListener("click",s=>{let d=s.target;if(!(d instanceof Element)||!d.closest(".kp-chat-actions")){for(let f of Array.from(c.querySelectorAll(".kp-chat-actions.open")))f.classList.remove("open");for(let f of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))f.classList.remove("menu-open")}i.menuOpen&&!L.contains(d)&&!v.contains(d)&&O(),s.stopPropagation()}),c.addEventListener("click",s=>{let d=s.target;if(i.menuOpen&&d instanceof Node&&!L.contains(d)&&!v.contains(d)&&O(),d instanceof Element&&!d.closest(".kp-chat-actions")){for(let f of Array.from(c.querySelectorAll(".kp-chat-actions.open")))f.classList.remove("open");for(let f of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))f.classList.remove("menu-open")}}),Te.addEventListener("submit",async s=>{s.preventDefault(),await bt($.value)}),Me.addEventListener("submit",async s=>{s.preventDefault(),await N(E.value,A)});function wt(s){if(s.key==="Escape"){if(i.sourcePanelOpen){G();return}if(i.myChatsOpen){U();return}if(i.fullPageOpen){if(p)return;kt();return}i.open&&_()}}return document.addEventListener("keydown",wt),Be}async function vn(e){if(e.rag.getKnowledgeNames){let t=await e.rag.getKnowledgeNames();return Array.isArray(t)?t.filter(Boolean):[]}return(e.rag.knowledgeNames??[]).filter(Boolean)}function Ae(e){return e.rag.chatId?.trim()?e.rag.chatId:e.rag.chatIdFactory?e.rag.chatIdFactory():typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`kp-chat-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function ge(e,t,o,n){let l=t==="bot"?In(o,n.citations??[]):{displayText:o,citations:n.citations??[]},p=a("div",`kp-message-row ${t}`),i=Cn(t==="bot"?n.strings.assistantAvatar:n.userName??n.strings.userAvatar,t),r=a("div",`kp-bubble ${t}`),c=a("div","kp-bubble-content");Bn(c,l.displayText),r.appendChild(c);let u=l.citations;if(u.length){let g=a("div","kp-meta",n.strings.citationsAttached(u.length));r.appendChild(g);let h=a("div","kp-source-preview"),m=a("div","kp-source-preview-title",n.strings.sourcesUsed),P=a("div","kp-source-preview-list");for(let v of u.slice(0,2)){let L=Mn(v,n.strings);L.addEventListener("click",async()=>{n.onShowCitation(v)}),P.appendChild(L)}let S=Nn(n.strings);S.addEventListener("click",async()=>{n.onShowSources(u,n.strings.allSourcesUsed)}),P.appendChild(S),h.append(m,P),r.appendChild(h)}return t==="bot"&&r.appendChild(wn(l.displayText,n.strings,n.onLike,n.onDislike,n.initialFeedback)),t==="user"?p.append(r,i):p.append(i,r),e.appendChild(p),e.scrollTop=e.scrollHeight,p}function wn(e,t,o,n,l){let p=a("div","kp-message-actions"),i=a("button","kp-message-action",t.copy);i.type="button",i.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e),i.textContent=t.copied,window.setTimeout(()=>{i.textContent=t.copy},1200)}catch{i.textContent=t.copy}});let r=a("button","kp-message-action","\u{1F44D}");r.type="button",r.setAttribute("aria-label",t.helpful),l===!0&&r.classList.add("active"),r.addEventListener("click",()=>{r.classList.toggle("active"),c.classList.remove("active"),r.classList.contains("active")&&o&&o()});let c=a("button","kp-message-action","\u{1F44E}");return c.type="button",c.setAttribute("aria-label",t.notHelpful),l===!1&&c.classList.add("active"),c.addEventListener("click",()=>{c.classList.toggle("active"),r.classList.remove("active"),c.classList.contains("active")&&n&&n()}),p.append(i,r,c),p}function Cn(e,t){let o=a("div",`kp-avatar ${t}`),n=t==="bot"?"\u2726":En(e);return o.textContent=n,o.setAttribute("aria-hidden","true"),o}function Ln(e,t,o){e.textContent="";for(let n of t){let l=a("button","kp-suggestion",n);l.type="button",l.addEventListener("click",async()=>{await o(n)}),e.appendChild(l)}}function oe(e,t,o){Ln(e.suggestions,t,async n=>{e.input.value=n,await o(n)})}function Wt(e,t,o){let n=new Set([t,o]);for(let l of Array.from(e.children))n.has(l)||l.remove()}function qe(e){e.body.classList.add("kp-conversation-active"),e.hero.remove(),e.suggestions.remove()}function ue(e){e.body.classList.remove("kp-conversation-active"),e.hero.isConnected||e.body.prepend(e.hero),e.suggestions.isConnected||e.body.appendChild(e.suggestions),Wt(e.body,e.hero,e.suggestions),e.input.value=""}function Pn(e,t,o){for(let n of t)ge(e,n.role==="assistant"?"bot":"user",n.text,{...o,...n.citations!==void 0?{citations:n.citations}:{},...n.isLike!==void 0?{initialFeedback:n.isLike}:{},onLike:()=>{o.onLike&&o.onLike(n.text)},onDislike:()=>{o.onDislike&&o.onDislike(n.text)}})}function Bt(e,t,o,n,l,p,i,r){if(e.textContent="",t.textContent="",o.loadingChats){e.appendChild(a("div","kp-full-page-empty",n.loadingChats));return}let c=o.chats.filter(u=>o.chatSearchTerm?u.title.toLowerCase().includes(o.chatSearchTerm):!0);if(c.length>0){let u=c.filter(h=>h.pinned),g=c.filter(h=>!h.pinned).slice(0,8);Dt(e,g,o.chatId,n,l,p,i,r),Dt(t,u,o.chatId,n,l,p,i,r),g.length===0&&e.appendChild(a("div","kp-full-page-empty",n.noRecentChats)),u.length===0&&t.appendChild(a("div","kp-full-page-empty",n.noPinnedChats));return}e.appendChild(a("div","kp-full-page-empty",n.noChats)),t.appendChild(a("div","kp-full-page-empty",n.noPinnedChats))}function Dt(e,t,o,n,l,p,i,r){for(let c of t){let u=a("div",`kp-full-page-item kp-full-page-chat-item${c.chatId===o?" active":""}`),g=a("span","kp-full-page-item-title",c.title),h=a("div","kp-chat-actions"),m=a("button","kp-chat-actions-trigger","\u22EF");m.type="button",m.setAttribute("aria-label",n.chatActions);let P=a("div","kp-chat-actions-menu"),S=a("button","kp-chat-actions-item",c.pinned?n.unpinChat:n.pinChat);S.type="button",S.addEventListener("click",async w=>{w.stopPropagation(),await p(c)});let v=a("button","kp-chat-actions-item",n.renameChat);v.type="button",v.addEventListener("click",async w=>{w.stopPropagation(),await i(c)});let L=a("button","kp-chat-actions-item",n.deleteChat);L.type="button",L.addEventListener("click",async w=>{w.stopPropagation(),await r(c)}),P.append(S,v,L),h.append(m,P),m.addEventListener("click",w=>{w.stopPropagation();let F=h.classList.contains("open");for(let R of Array.from(e.querySelectorAll(".kp-chat-actions.open")))R.classList.remove("open");for(let R of Array.from(e.querySelectorAll(".kp-full-page-chat-item.menu-open")))R.classList.remove("menu-open");F||(h.classList.add("open"),u.classList.add("menu-open"))}),u.append(g,h),u.setAttribute("role","button"),u.tabIndex=0,u.addEventListener("click",async()=>{await l(c)}),u.addEventListener("keydown",async w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),await l(c))}),u.addEventListener("blur",()=>{h.classList.remove("open"),u.classList.remove("menu-open")}),e.appendChild(u)}}function An(e,t){return e.trim().slice(0,60)||t}function Ve(e){return e.toLowerCase().split("-")[0]||"en"}function Sn(e){let t=Ut.en;return Ut[Ve(e)]??t}function Tn(e){return["ar","fa","he","ur"].includes(Ve(e))}function En(e){let t=e.split(/\s+/).filter(Boolean).slice(0,2);return t.length===0?"U":t.map(o=>o[0]?.toUpperCase()??"").join("")}function _e(e){if(e.knowledgeName?.trim())return e.knowledgeName.trim();if(e.text){let t=e.text.split(`
1918
1918
  `)[0]?.trim();if(t){let o=t.replace(/\s*\|\s*Page\s*\d+\s*$/i,"").trim();if(o)return o}}if(e.sourceDocument&&/^https?:\/\//i.test(e.sourceDocument)){try{let t=new URL(e.sourceDocument),o=decodeURIComponent(t.pathname),n=o.substring(o.lastIndexOf("/")+1);if(n)return n}catch{}return e.sourceDocument}return e.sourceDocument?.trim()&&!/^c\d+$/i.test(e.sourceDocument)?e.sourceDocument.trim():null}function In(e,t){let o=Rn(e);return{displayText:o.displayText,citations:t.length>0?Hn(t,o.citations):o.citations}}function Rn(e){let o=Ft(e).split(`
1919
1919
  `),n=-1;for(let c=0;c<o.length;c+=1)/^#{0,6}\s*References\s*$/i.test(o[c]?.trim()??"")&&(n=c);if(n===-1)return{displayText:e,citations:[]};let l=o.slice(0,n).join(`
1920
1920
  `).trimEnd(),p=o.slice(n+1).join(`
@@ -1922,4 +1922,4 @@ function St(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function je(e,t)
1922
1922
  `)){let l=n.trim();if(l){if(/^\d+\.\s+/.test(l)){o&&t.push(o.trim()),o=l.replace(/^\d+\.\s+/,"");continue}o&&(o=`${o} ${l}`)}}return o&&t.push(o.trim()),t}function zn(e){let t=e.match(/https?:\/\/\S+/i);if(!t)return null;let o=t[0],n=e.slice(0,t.index).replace(/[.\s]+$/,"").trim();return{sourceDocument:o,knowledgeName:n||o}}function Hn(e,t){let o=[],n=new Set;for(let l of[...e,...t]){let p=`${l.knowledgeName??""}::${l.sourceDocument??""}`;n.has(p)||(n.add(p),o.push(l))}return o}function Mn(e,t){let o=a("button","kp-source-chip");o.type="button",o.setAttribute("aria-label",t.openSource);let n=a("span","kp-source-thumb");n.textContent="\u2726";let l=a("span","kp-source-chip-label",_e(e)??t.untitledSource);return o.append(n,l),o}function Nn(e){let t=a("button","kp-source-chip kp-source-chip-more");t.type="button";let o=a("span","kp-source-thumb-stack");for(let l=0;l<3;l+=1){let p=a("span","kp-source-thumb stacked");p.textContent="\u2726",o.appendChild(p)}let n=a("span","kp-source-chip-label",e.showAll);return t.append(o,n),t}function On(e,t,o){let n=a("button","kp-source-card");n.type="button",n.setAttribute("aria-label",t.openSource),n.addEventListener("click",o);let l=a("div","kp-source-card-media"),p=a("span","kp-source-thumb kp-source-thumb-large");p.textContent="\u2726";let i=a("div","kp-source-card-title",_e(e)??t.untitledSource),r=a("div","kp-source-card-meta"),c=[];return typeof e.score=="number"&&c.push(`${t.sourceScore}: ${e.score.toFixed(2)}`),typeof e.pageNumber=="number"&&c.push(`${t.sourcePage}: ${e.pageNumber}`),e.sheetName&&c.push(`${t.sourceSheet}: ${e.sheetName}`),typeof e.rowNumber=="number"&&c.push(`${t.sourceRow}: ${e.rowNumber}`),e.knowledgeName&&c.push(`${t.sourceKnowledge}: ${e.knowledgeName}`),r.textContent=c.join(" \u2022 "),l.appendChild(p),n.append(l,i,r),n}function Un(e){if(!e)return null;let t=e.trim();return/^https?:\/\//i.test(t)?t:null}function Bn(e,t){e.innerHTML=Dn(Ft(t))}function Ft(e){return e.replace(/\r\n/g,`
1923
1923
  `)}function Dn(e){return e.split(/\n{2,}/).map(o=>o.trim()).filter(Boolean).map(jn).join("")}function jn(e){let t=e.split(`
1924
1924
  `).map(n=>n.trimEnd());if(t.every(n=>/^\s*\|.*\|\s*$/.test(n))&&t.length>=2)return Wn(t);if(t.every(n=>/^\d+\.\s+/.test(n)))return`<ol>${t.map(n=>`<li>${se(n.replace(/^\d+\.\s+/,""))}</li>`).join("")}</ol>`;if(t.every(n=>/^[-*]\s+/.test(n)))return`<ul>${t.map(n=>`<li>${se(n.replace(/^[-*]\s+/,""))}</li>`).join("")}</ul>`;let o=t[0]?.match(/^(#{1,6})\s+(.*)$/);if(o){let n=o[1]??"#",l=o[2]??"",p=n.length;return`<h${p}>${se(l)}</h${p}>`}return`<p>${t.map(n=>se(n)).join("<br>")}</p>`}function Wn(e){let t=e.filter((i,r)=>!(r===1&&/^\s*\|?(\s*:?-{3,}:?\s*\|)+\s*$/.test(i))).map(i=>Fn(i));if(t.length===0)return"";let o=t[0]??[],n=t.slice(1),l=`<thead><tr>${o.map(i=>`<th>${se(i)}</th>`).join("")}</tr></thead>`,p=n.length?`<tbody>${n.map(i=>`<tr>${i.map(r=>`<td>${se(r)}</td>`).join("")}</tr>`).join("")}</tbody>`:"";return`<div class="kp-table-wrap"><table>${l}${p}</table></div>`}function Fn(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim())}function se(e){let t=W(e);return t=t.replace(/&lt;br\s*\/?&gt;/gi,"<br>"),t=t.replace(/\[([^\]]+)\]\((https?:\/\/[^)\s]+)\)/g,'<a href="$2" target="_blank" rel="noreferrer">$1</a>'),t=t.replace(/`([^`]+)`/g,"<code>$1</code>"),t=t.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),t=t.replace(/\*([^*]+)\*/g,"<em>$1</em>"),t}function W(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function jt(e){typeof document>"u"||document.querySelectorAll("[data-chat-widget-host]").forEach(t=>{let o=t.shadowRoot;if(o){let n=o.querySelector(".kp-chat-widget");n&&!n.classList.contains("kp-chat-widget-embedded")&&(t.style.display=e?"none":"")}})}export{aa as a};
1925
- //# sourceMappingURL=chunk-YJTDM6ZC.js.map
1925
+ //# sourceMappingURL=chunk-EHONDW3M.js.map