@nabeh/chat-widget 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var ChatWidget=(()=>{var ve=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var Yt=Object.getOwnPropertyNames;var Jt=Object.prototype.hasOwnProperty;var Gt=(e,t)=>{for(var a in t)ve(e,a,{get:t[a],enumerable:!0})},Qt=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Yt(t))!Jt.call(e,i)&&i!==a&&ve(e,i,{get:()=>t[i],enumerable:!(n=Xt(t,i))||n.enumerable});return e};var Zt=e=>Qt(ve({},"__esModule",{value:!0}),e);var Pn={};Gt(Pn,{createChatWidget:()=>kt});function at(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ce(e,t){let a={...e};for(let n of Object.keys(t)){let i=t[n],l=a[n];if(at(l)&&at(i)){a[n]=Ce(l,i);continue}i!==void 0&&(a[n]=i)}return a}function ot(e){return e instanceof Error?e:typeof e=="string"?new Error(e):new Error("Unexpected widget error")}function J(e,t){return`${e.replace(/\/$/,"")}/${t.replace(/^\//,"")}`}function D(e,t,a){return{"Content-Type":"application/json",...e.customHeaders,...a?{"X-Chat-User-Context":a}:{},...t?{Authorization:`Bearer ${t}`}:{}}}async function q(e){if(!e.getUserContext)return null;let t=await e.getUserContext();return t?JSON.stringify(t):null}function pe(e,t,a={}){let n=t.replace(/\{chatId\}/g,encodeURIComponent(a.chatId??"")).replace(/:chatId\b/g,encodeURIComponent(a.chatId??""));return J(e.apiBaseUrl,n)}async function st(e,t){let a=e.getAccessToken?await e.getAccessToken():null,n=await q(e),i=pe(e,e.endpoints.ask,{chatId:t.chatId}),s=/(\{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},p=await fetch(i,{method:"POST",headers:D(e,a,n),body:JSON.stringify(s)});if(!p.ok)throw new Error(`Chat backend returned ${p.status}.`);let c=await p.json();if(!Array.isArray(c)){if(!c.answer||typeof c.answer!="string")throw new Error("Chat backend response is missing a valid answer.");return{chatId:c.chatId??t.chatId,answer:c.answer,suggestions:c.suggestions??[],citations:c.citations??[]}}let u=c[0];if(!u?.answer||typeof u.answer!="string")throw new Error("Chat backend response is missing a valid answer.");let g=u.content,f=g?.source_documents??[],h=g?.scores??[],w=g?.page_numbers??[],L=g?.sheet_names??[],b=g?.row_numbers??[],y=g?.knowledge_names??[],k=f.map((H,v)=>({sourceDocument:H,score:h[v]??null,pageNumber:w[v]??null,sheetName:L[v]??null,rowNumber:b[v]??null,knowledgeName:y[v]??null}));return{chatId:t.chatId,answer:u.answer,suggestions:[],citations:k}}async function rt(e,t){if(!e.endpoints.history)return[];let a=e.getAccessToken?await e.getAccessToken():null,n=await q(e),l=/(\{chatId\}|:chatId\b)/.test(e.endpoints.history)?pe(e,e.endpoints.history,{chatId:t}):(()=>{let u=new URL(J(e.apiBaseUrl,e.endpoints.history));return u.searchParams.set("chat_id",t),u.toString()})(),s=await fetch(l,{method:"GET",headers:D(e,a,n)});if(!s.ok)throw new Error(`Chat history endpoint returned ${s.status}.`);let p=await s.json(),c=Array.isArray(p)?p:p&&typeof p=="object"?p.history??p.messages??p.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 f=g.role??g.type??g.sender??g.author,h=g.text??g.message??g.content??g.answer;if(typeof h!="string")return null;let w=typeof f=="string"?f.toLowerCase():"assistant";return[{role:w==="user"||w==="human"?"user":"assistant",text:h}]}).flat().filter(u=>!!u):[]}async function it(e){if(!e.endpoints.listChats)return[];let t=e.getAccessToken?await e.getAccessToken():null,a=await q(e),n=await fetch(J(e.apiBaseUrl,e.endpoints.listChats),{method:"GET",headers:D(e,t,a)});if(!n.ok)throw new Error(`Chat list endpoint returned ${n.status}.`);let i=await n.json(),l=Array.isArray(i)?i:i&&typeof i=="object"?i.chats??i.data??i.items??[]:[];return Array.isArray(l)?l.map(s=>{if(!s||typeof s!="object")return null;let p=s,c=p.chatId??p.chat_id??p.id,u=p.title??p.name??p.chatId;if(typeof c!="string"||typeof u!="string")return null;let g=typeof p.createdAt=="string"?p.createdAt:typeof p.created_at=="string"?p.created_at:null,f=typeof p.updatedAt=="string"?p.updatedAt:typeof p.updated_at=="string"?p.updated_at:null,h={chatId:c,title:u,pinned:typeof p.pinned=="boolean"?p.pinned:!1};return g&&(h.createdAt=g),f&&(h.updatedAt=f),h}).filter(s=>!!s):[]}async function lt(e,t,a){let n=e.endpoints.createChat??e.endpoints.listChats;if(!n)return;let i=e.getAccessToken?await e.getAccessToken():null,l=await q(e),s=await fetch(J(e.apiBaseUrl,n),{method:"POST",headers:D(e,i,l),body:JSON.stringify({chatId:t,...a?{title:a}:{}})});if(!s.ok)throw new Error(`Create chat endpoint returned ${s.status}.`)}async function Le(e,t,a){if(!e.endpoints.updateChat)return;let n=e.getAccessToken?await e.getAccessToken():null,i=await q(e),l=pe(e,e.endpoints.updateChat,{chatId:t}),s=await fetch(l,{method:"PATCH",headers:D(e,n,i),body:JSON.stringify(a)});if(!s.ok)throw new Error(`Update chat endpoint returned ${s.status}.`)}async function pt(e,t){if(!e.endpoints.deleteChat)return;let a=e.getAccessToken?await e.getAccessToken():null,n=await q(e),i=pe(e,e.endpoints.deleteChat,{chatId:t}),l=await fetch(i,{method:"DELETE",headers:D(e,a,n)});if(!l.ok)throw new Error(`Delete chat endpoint returned ${l.status}.`)}function B(e,t){let a=ot(t);return e.onError?.(a),a}var Ae={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'},x={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:Ae,getAccessToken:void 0,getUserContext:void 0,onOpen:void 0,onClose:void 0,onError:void 0,onOpenAssistantPage:void 0};function ct(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,a=Ce(Ae,e.theme??{});return{apiBaseUrl:e.apiBaseUrl,endpoints:{...e.endpoints},mount:t,displayMode:e.displayMode??x.displayMode,position:e.position??x.position,title:e.title??x.title,subtitle:e.subtitle??x.subtitle,welcomeMessage:e.welcomeMessage??x.welcomeMessage,inputPlaceholder:e.inputPlaceholder??x.inputPlaceholder,launcherAriaLabel:e.launcherAriaLabel??x.launcherAriaLabel,closeAriaLabel:e.closeAriaLabel??x.closeAriaLabel,initialSuggestions:e.initialSuggestions??x.initialSuggestions,sourceApp:e.sourceApp??x.sourceApp,locale:e.locale??x.locale,customHeaders:e.customHeaders??x.customHeaders,embedded:{...x.embedded,...e.embedded??{}},rag:{...x.rag,...e.rag??{}},assistantPageUrl:e.assistantPageUrl??x.assistantPageUrl,theme:a,getAccessToken:e.getAccessToken,getUserContext:e.getUserContext,onOpen:e.onOpen,onClose:e.onClose,onError:e.onError,onOpenAssistantPage:e.onOpenAssistantPage}}function o(e,t,a){let n=document.createElement(e);return t&&(n.className=t),a!==void 0&&(n.textContent=a),n}var dt="kp-chat-widget-styles";function ut(e,t){if(e.getElementById(dt))return;let a=document.createElement("style");a.id=dt,a.textContent=en(t),e.appendChild(a)}function en(e){return`
1
+ "use strict";var ChatWidget=(()=>{var Re=Object.defineProperty;var un=Object.getOwnPropertyDescriptor;var gn=Object.getOwnPropertyNames;var fn=Object.prototype.hasOwnProperty;var hn=(e,t)=>{for(var a in t)Re(e,a,{get:t[a],enumerable:!0})},mn=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of gn(t))!fn.call(e,r)&&r!==a&&Re(e,r,{get:()=>t[r],enumerable:!(n=un(t,r))||n.enumerable});return e};var bn=e=>mn(Re({},"__esModule",{value:!0}),e);var Dn={};hn(Dn,{createChatWidget:()=>It});function mt(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ie(e,t){let a={...e};for(let n of Object.keys(t)){let r=t[n],l=a[n];if(mt(l)&&mt(r)){a[n]=Ie(l,r);continue}r!==void 0&&(a[n]=r)}return a}function bt(e){return e instanceof Error?e:typeof e=="string"?new Error(e):new Error("Unexpected widget error")}function ae(e,t){return`${e.replace(/\/$/,"")}/${t.replace(/^\//,"")}`}function X(e,t,a){return{"Content-Type":"application/json",...e.customHeaders,...a?{"X-Chat-User-Context":a}:{},...t?{Authorization:`Bearer ${t}`}:{}}}async function J(e){if(!e.getUserContext)return null;let t=await e.getUserContext();return t?JSON.stringify(t):null}function me(e,t,a={}){let n=t.replace(/\{chatId\}/g,encodeURIComponent(a.chatId??"")).replace(/:chatId\b/g,encodeURIComponent(a.chatId??""));return ae(e.apiBaseUrl,n)}async function xt(e,t){let a=e.getAccessToken?await e.getAccessToken():null,n=await J(e),r=me(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},p=await fetch(r,{method:"POST",headers:X(e,a,n),body:JSON.stringify(i)});if(!p.ok)throw new Error(`Chat backend returned ${p.status}.`);let c=await p.json();if(!Array.isArray(c)){if(!c.answer||typeof c.answer!="string")throw new Error("Chat backend response is missing a valid answer.");return{chatId:c.chatId??t.chatId,answer:c.answer,suggestions:c.suggestions??[],citations:c.citations??[]}}let u=c[0];if(!u?.answer||typeof u.answer!="string")throw new Error("Chat backend response is missing a valid answer.");let g=u.content,f=g?.source_documents??[],h=g?.scores??[],v=g?.page_numbers??[],P=g?.sheet_names??[],b=g?.row_numbers??[],y=g?.knowledge_names??[],x=f.map((U,w)=>({sourceDocument:U,score:h[w]??null,pageNumber:v[w]??null,sheetName:P[w]??null,rowNumber:b[w]??null,knowledgeName:y[w]??null}));return{chatId:t.chatId,answer:u.answer,suggestions:[],citations:x}}async function kt(e,t){if(!e.endpoints.history)return[];let a=e.getAccessToken?await e.getAccessToken():null,n=await J(e),l=/(\{chatId\}|:chatId\b)/.test(e.endpoints.history)?me(e,e.endpoints.history,{chatId:t}):(()=>{let u=new URL(ae(e.apiBaseUrl,e.endpoints.history));return u.searchParams.set("chat_id",t),u.toString()})(),i=await fetch(l,{method:"GET",headers:X(e,a,n)});if(!i.ok)throw new Error(`Chat history endpoint returned ${i.status}.`);let p=await i.json(),c=Array.isArray(p)?p:p&&typeof p=="object"?p.history??p.messages??p.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 f=g.role??g.type??g.sender??g.author,h=g.text??g.message??g.content??g.answer;if(typeof h!="string")return null;let v=typeof f=="string"?f.toLowerCase():"assistant";return[{role:v==="user"||v==="human"?"user":"assistant",text:h}]}).flat().filter(u=>!!u):[]}async function yt(e){if(!e.endpoints.listChats)return[];let t=e.getAccessToken?await e.getAccessToken():null,a=await J(e),n=await fetch(ae(e.apiBaseUrl,e.endpoints.listChats),{method:"GET",headers:X(e,t,a)});if(!n.ok)throw new Error(`Chat list endpoint returned ${n.status}.`);let r=await n.json(),l=Array.isArray(r)?r:r&&typeof r=="object"?r.chats??r.data??r.items??[]:[];return Array.isArray(l)?l.map(i=>{if(!i||typeof i!="object")return null;let p=i,c=p.chatId??p.chat_id??p.id,u=p.title??p.name??p.chatId;if(typeof c!="string"||typeof u!="string")return null;let g=typeof p.createdAt=="string"?p.createdAt:typeof p.created_at=="string"?p.created_at:null,f=typeof p.updatedAt=="string"?p.updatedAt:typeof p.updated_at=="string"?p.updated_at:null,h={chatId:c,title:u,pinned:typeof p.pinned=="boolean"?p.pinned:!1};return g&&(h.createdAt=g),f&&(h.updatedAt=f),h}).filter(i=>!!i):[]}async function vt(e,t,a){let n=e.endpoints.createChat??e.endpoints.listChats;if(!n)return;let r=e.getAccessToken?await e.getAccessToken():null,l=await J(e),i=await fetch(ae(e.apiBaseUrl,n),{method:"POST",headers:X(e,r,l),body:JSON.stringify({chatId:t,...a?{title:a}:{}})});if(!i.ok)throw new Error(`Create chat endpoint returned ${i.status}.`)}async function ze(e,t,a){if(!e.endpoints.updateChat)return;let n=e.getAccessToken?await e.getAccessToken():null,r=await J(e),l=me(e,e.endpoints.updateChat,{chatId:t}),i=await fetch(l,{method:"PATCH",headers:X(e,n,r),body:JSON.stringify(a)});if(!i.ok)throw new Error(`Update chat endpoint returned ${i.status}.`)}async function wt(e,t){if(!e.endpoints.deleteChat)return;let a=e.getAccessToken?await e.getAccessToken():null,n=await J(e),r=me(e,e.endpoints.deleteChat,{chatId:t}),l=await fetch(r,{method:"DELETE",headers:X(e,a,n)});if(!l.ok)throw new Error(`Delete chat endpoint returned ${l.status}.`)}function V(e,t){let a=bt(t);return e.onError?.(a),a}var $e={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'},k={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:$e,getAccessToken:void 0,getUserContext:void 0,onOpen:void 0,onClose:void 0,onError:void 0,onOpenAssistantPage:void 0};function Ct(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,a=Ie($e,e.theme??{});return{apiBaseUrl:e.apiBaseUrl,endpoints:{...e.endpoints},mount:t,displayMode:e.displayMode??k.displayMode,position:e.position??k.position,title:e.title??k.title,subtitle:e.subtitle??k.subtitle,welcomeMessage:e.welcomeMessage??k.welcomeMessage,inputPlaceholder:e.inputPlaceholder??k.inputPlaceholder,launcherAriaLabel:e.launcherAriaLabel??k.launcherAriaLabel,closeAriaLabel:e.closeAriaLabel??k.closeAriaLabel,initialSuggestions:e.initialSuggestions??k.initialSuggestions,sourceApp:e.sourceApp??k.sourceApp,locale:e.locale??k.locale,customHeaders:e.customHeaders??k.customHeaders,embedded:{...k.embedded,...e.embedded??{}},rag:{...k.rag,...e.rag??{}},assistantPageUrl:e.assistantPageUrl??k.assistantPageUrl,theme:a,getAccessToken:e.getAccessToken,getUserContext:e.getUserContext,onOpen:e.onOpen,onClose:e.onClose,onError:e.onError,onOpenAssistantPage:e.onOpenAssistantPage}}function o(e,t,a){let n=document.createElement(e);return t&&(n.className=t),a!==void 0&&(n.textContent=a),n}var Lt="kp-chat-widget-styles";function Pt(e,t){if(e.getElementById(Lt))return;let a=document.createElement("style");a.id=Lt,a.textContent=xn(t),e.appendChild(a)}function xn(e){return`
2
2
  :host {
3
3
  all: initial;
4
4
  }
@@ -1429,32 +1429,457 @@
1429
1429
  40% { transform: translate(16px, -13px) scale(0.92); opacity: 0.96; }
1430
1430
  62% { transform: translate(2px, -2px) scale(1); opacity: 0.98; }
1431
1431
  }
1432
- `}var gt={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 kt(e){if(typeof document>"u")throw new Error("Chat widget can only be initialized in a browser.");let t=ct(e),a=Pe(t.locale),n=ln(t.locale),i=pn(a),l=t.displayMode==="embedded",s={chatId:ce(t),open:!1,fullPageOpen:l,myChatsOpen:!1,accessTokenProvider:t.getAccessToken,historyLoadedChatId:null,menuOpen:!1,chats:[],chatSearchTerm:"",loadingChats:!1,sourcePanelOpen:!1,sourcePanelTitle:null},p=document.createElement("div");p.dataset.chatWidgetHost="true",t.mount.appendChild(p);let c=p.attachShadow({mode:"open"});ut(c,t.theme);let u=o("div",`kp-chat-widget ${t.position}`);u.lang=a,u.dir=i?"rtl":"ltr",l&&(u.classList.add("kp-chat-widget-embedded"),bt(!0)),i&&u.classList.add("kp-rtl");let g=o("div","kp-overlay"),f=o("button","kp-launcher");f.type="button",f.setAttribute("aria-label",t.launcherAriaLabel),f.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 h=o("section","kp-panel");h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-label",t.title);let w=o("div","kp-header"),L=o("div","kp-toolbar"),b=o("button","kp-tool-button kp-menu-trigger");b.type="button",b.setAttribute("aria-label",n.openChatActions),b.innerHTML=['<span class="kp-pencil-icon" aria-hidden="true"></span>','<span class="kp-chevron" aria-hidden="true">\u2304</span>'].join("");let y=o("div","kp-dropdown"),k=o("button","kp-dropdown-item",n.newChat);k.type="button";let H=o("button","kp-dropdown-item",n.myChats);H.type="button";let v=o("button","kp-dropdown-item",n.openAssistant);v.type="button",y.append(k,H,v),L.append(b,y);let Se=o("div","kp-title-wrap"),Ct=o("h2","kp-title",t.title),Lt=o("div","kp-subtitle",t.subtitle);Se.append(Ct,Lt);let ee=o("button","kp-close","\xD7");ee.type="button",ee.setAttribute("aria-label",t.closeAriaLabel),w.append(L,Se,ee);let te=o("div","kp-body"),de=o("div","kp-hero"),At=o("div","kp-hero-icon","\u2726"),Pt=o("div","kp-hero-text",t.welcomeMessage);de.append(At,Pt);let Te=o("div","kp-footer"),ue=o("form","kp-form"),E=o("input","kp-input");E.type="text",E.autocomplete="off",E.placeholder=t.inputPlaceholder,E.setAttribute("aria-label",t.inputPlaceholder);let ge=o("button","kp-send","\u279C");ge.type="submit",ge.setAttribute("aria-label",n.send);let St=o("div","kp-note",n.authTokenForwarded);ue.append(E,ge),Te.append(ue,St),h.append(w,te,Te),l||u.append(g,f,h),c.appendChild(u),te.appendChild(de);let Ee=o("div","kp-suggestions");te.appendChild(Ee);let ne=o("section","kp-my-chats-sheet"),Ie=o("div","kp-my-chats-header"),ae=o("button","kp-my-chats-nav","\u2190");ae.type="button",ae.setAttribute("aria-label",n.back);let oe=o("button","kp-my-chats-nav kp-my-chats-close","\xD7");oe.type="button",oe.setAttribute("aria-label",n.close),Ie.append(ae,oe);let Re=o("div","kp-my-chats-body"),Tt=o("div","kp-my-chats-section-label",n.recentActivity),$e=o("div","kp-my-chats-list"),Et=o("div","kp-my-chats-section-label",n.pinnedCollections),Me=o("div","kp-my-chats-list");Re.append(Tt,$e,Et,Me),ne.append(Ie,Re),h.appendChild(ne);let S={body:te,input:E,suggestions:Ee,hero:de,kind:"panel"},A=o("section","kp-full-page");l&&A.classList.add("kp-full-page-embedded","open"),A.setAttribute("role","dialog"),l||A.setAttribute("aria-modal","true"),A.setAttribute("aria-label",`${t.title} page`);let He=o("div","kp-full-page-shell"),fe=o("div","kp-full-page-header"),ze=o("div","kp-full-page-brand"),It=o("div","kp-full-page-brand-mark","\u2726"),Rt=o("div","kp-full-page-brand-text",t.title);ze.append(It,Rt);let Ne=o("div","kp-full-page-header-actions"),$t=o("div","kp-full-page-badge",n.assistantBadge),se=o("button","kp-full-page-close","\xD7");se.type="button",se.setAttribute("aria-label",n.closeAssistantPage),Ne.append($t,se),fe.append(ze,Ne),t.embedded.showHeader||fe.classList.add("kp-hidden");let Oe=o("div","kp-full-page-content"),Ue=o("aside","kp-full-page-sidebar"),he=o("button","kp-full-page-new-chat",`+ ${n.newChat}`);he.type="button";let Be=o("div","kp-full-page-search"),F=o("input","kp-full-page-search-input");F.type="search",F.placeholder=n.searchChat;let Mt=o("span","kp-full-page-search-icon","\u2315");Be.append(F,Mt);let Ht=o("div","kp-full-page-section-label",n.recentActivity),We=o("div","kp-full-page-recent-list"),zt=o("div","kp-full-page-section-label",n.pinnedCollections),je=o("div","kp-full-page-pinned-list");Ue.append(he,Be,Ht,We,zt,je);let De=o("main","kp-full-page-main"),qe=o("section","kp-full-page-panel"),me=o("div","kp-full-page-body"),be=o("div","kp-full-page-hero"),Ve=o("div","kp-full-page-hero-badge");Ve.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 Nt=o("div","kp-full-page-hero-text",t.welcomeMessage);be.append(Ve,Nt);let _e=o("div","kp-suggestions kp-full-page-suggestions");me.append(be,_e);let Fe=o("div","kp-full-page-footer"),ke=o("form","kp-form kp-full-page-form"),P=o("input","kp-input kp-full-page-input");P.type="text",P.autocomplete="off",P.placeholder=t.inputPlaceholder,P.setAttribute("aria-label",t.inputPlaceholder);let xe=o("button","kp-send kp-full-page-send","\u279C");xe.type="submit",xe.setAttribute("aria-label",n.send);let Ot=o("div","kp-note kp-full-page-note",n.answersBasedOnPermissions);ke.append(P,xe),Fe.append(ke,Ot),qe.append(me,Fe),De.appendChild(qe);let re=o("aside","kp-source-panel"),Ke=o("div","kp-source-panel-header"),Xe=o("div","kp-source-panel-title-wrap"),Ye=o("div","kp-source-panel-title",n.allSourcesUsed),Ut=o("div","kp-source-panel-subtitle",n.documentsAndReferences);Xe.append(Ye,Ut);let ie=o("button","kp-source-panel-close","\xD7");ie.type="button",ie.setAttribute("aria-label",n.closeSourcesPanel),Ke.append(Xe,ie);let K=o("div","kp-source-panel-list"),Bt=o("div","kp-source-panel-empty",n.noSources);K.appendChild(Bt),re.append(Ke,K),Oe.append(Ue,De,re),He.append(fe,Oe),A.appendChild(He),u.appendChild(A);let C={body:me,input:P,suggestions:_e,hero:be,kind:"full-page"},z=()=>({...t,getAccessToken:s.accessTokenProvider}),Je=async()=>{if(!t.getUserContext)return null;try{let r=await t.getUserContext();return r?.displayName?.trim()||r?.email?.trim()||r?.userId?.trim()||null}catch{return null}},X=(r,d)=>{if(s.sourcePanelOpen=!0,s.sourcePanelTitle=d??n.allSourcesUsed,Ye.textContent=s.sourcePanelTitle,re.classList.add("open"),K.textContent="",r.length===0){K.appendChild(o("div","kp-source-panel-empty",n.noSources));return}for(let m of r)K.appendChild(kn(m,n))},W=()=>{s.sourcePanelOpen=!1,s.sourcePanelTitle=null,re.classList.remove("open")};V(S,t.initialSuggestions,async r=>{await I(r,S)}),V(C,t.initialSuggestions,async r=>{await I(r,C)}),O(),le(),l&&(T(),t.rag.loadHistoryOnOpen&&j(C,s.chatId));function ye(){if(l){s.fullPageOpen=!0,A.classList.add("open");return}s.open||(s.open=!0,s.fullPageOpen=!1,$(),A.classList.remove("open"),f.classList.add("hidden"),g.classList.add("visible"),h.classList.add("open"),t.onOpen?.(),t.rag.loadHistoryOnOpen&&we.loadHistory(),queueMicrotask(()=>E.focus()))}function N(){if(l){W();return}s.open&&(R(),$(),s.open=!1,f.classList.remove("hidden"),g.classList.remove("visible"),h.classList.remove("open"),t.onClose?.())}async function I(r,d){let m=r.trim();if(!m)return;d.input.value="";try{await Vt(m)}catch(M){let Y=B(t,M);Q(d.body,"bot",`${n.unableToCreateChat}: ${Y.message}`,{strings:n,view:d,userName:null,onShowSources:X});return}ft(d),Q(d.body,"user",m,{strings:n,view:d,userName:await Je(),onShowSources:X}),d.body.scrollTop=d.body.scrollHeight;let U=o("div","kp-loading",n.thinking);d.body.appendChild(U),d.body.scrollTop=d.body.scrollHeight;try{let M=await st(z(),{message:m,chatId:s.chatId,knowledgeNames:await tn(t),...t.rag.enableReferences!==void 0?{enableReferences:t.rag.enableReferences}:{}});U.isConnected&&U.remove(),Q(d.body,"bot",M.answer,{strings:n,view:d,userName:null,citations:M.citations??[],onShowSources:X}),s.historyLoadedChatId=null,await T(),M.suggestions?.length&&V(d,M.suggestions,async Y=>{await I(Y,d)})}catch(M){let Y=B(t,M);U.isConnected&&U.remove(),Q(d.body,"bot",`${n.requestFailed}: ${Y.message}`,{strings:n,view:d,userName:null,onShowSources:X})}}async function Ge(r){let d=s.fullPageOpen?C:S;await I(r,d)}async function Wt(){if(l){s.fullPageOpen=!0,A.classList.add("open"),await T(),await j(C,s.chatId),queueMicrotask(()=>P.focus());return}s.fullPageOpen=!0,s.open=!1,R(),$(),h.classList.remove("open"),g.classList.remove("visible"),f.classList.add("hidden"),A.classList.add("open"),await T(),await j(C,s.chatId),queueMicrotask(()=>P.focus())}function Qe(){if(l){W();return}s.fullPageOpen&&(s.fullPageOpen=!1,A.classList.remove("open"),f.classList.remove("hidden"),W())}function jt(){s.menuOpen=!0,b.classList.add("open"),y.classList.add("open")}function R(){s.menuOpen=!1,b.classList.remove("open"),y.classList.remove("open")}function Dt(){s.chatId=ce(t),s.historyLoadedChatId=null,$(),G(S),V(S,t.initialSuggestions,async r=>{await I(r,S)}),R()}async function qt(){s.chatId=ce(t),s.historyLoadedChatId=null,G(C),W(),V(C,t.initialSuggestions,async r=>{await I(r,C)}),O()}async function T(){if(!t.endpoints.listChats)return O(),le(),[];s.loadingChats=!0,O(),le();try{let r=await it(z());return s.chats=r,r}catch(r){return B(t,r),s.chats}finally{s.loadingChats=!1,O(),le()}}async function Vt(r){!t.endpoints.listChats&&!t.endpoints.createChat||s.chats.some(d=>d.chatId===s.chatId)||await lt(z(),s.chatId,r?rn(r,n.newChat):void 0)}async function _t(r){s.chatId=r,s.historyLoadedChatId=null,await j(C,r),O()}async function Ft(r){s.chatId=r,s.historyLoadedChatId=null,await j(S,r),$()}async function Kt(){R(),await T(),s.myChatsOpen=!0,h.classList.add("kp-sheet-open"),ne.classList.add("open")}function $(){s.myChatsOpen=!1,h.classList.remove("kp-sheet-open"),ne.classList.remove("open")}async function Ze(r){if(!t.endpoints.updateChat)return;let d=window.prompt(n.renamePrompt,r.title)?.trim();if(!(!d||d===r.title))try{await Le(z(),r.chatId,{title:d}),await T()}catch(m){B(t,m)}}async function et(r){if(t.endpoints.deleteChat)try{await pt(z(),r.chatId),s.chatId===r.chatId&&(s.chatId=ce(t),s.historyLoadedChatId=null,G(S),G(C)),await T()}catch(d){B(t,d)}}function O(){ht(We,je,s,n,async r=>{await _t(r.chatId)},async r=>{await tt(r)},async r=>{await Ze(r)},async r=>{await et(r)})}function le(){ht($e,Me,s,n,async r=>{await Ft(r.chatId)},async r=>{await tt(r)},async r=>{await Ze(r)},async r=>{await et(r)})}async function tt(r){if(t.endpoints.updateChat)try{await Le(z(),r.chatId,{pinned:!r.pinned}),await T()}catch(d){B(t,d)}}async function j(r,d){G(r),V(r,t.initialSuggestions,async U=>{await I(U,r)});let m=await rt(z(),d);return m.length>0&&(ft(r),xt(r.body,r.hero,r.suggestions),sn(r.body,m,{strings:n,view:r,userName:await Je(),onShowSources:X})),s.historyLoadedChatId=d,m}let we={open:ye,close:N,toggle(){if(l){ye();return}if(s.open){N();return}ye()},destroy(){if(document.removeEventListener("keydown",nt),p.remove(),l){let r=!1;document.querySelectorAll("[data-chat-widget-host]").forEach(d=>{let m=d.shadowRoot;m&&m.querySelector(".kp-chat-widget-embedded")&&(r=!0)}),r||bt(!1)}},sendMessage:Ge,setAccessTokenProvider(r){s.accessTokenProvider=r},getChatId(){return s.chatId},loadChats(){return T()},async loadHistory(){let r=s.fullPageOpen?C:S;return j(r,s.chatId)}};f.addEventListener("click",()=>we.toggle()),ee.addEventListener("click",N),g.addEventListener("click",N),ie.addEventListener("click",W),ae.addEventListener("click",$),oe.addEventListener("click",$),b.addEventListener("click",r=>{if(r.stopPropagation(),!s.menuOpen){jt();return}R()}),k.addEventListener("click",Dt),H.addEventListener("click",async()=>{await Kt()}),v.addEventListener("click",()=>{if(R(),t.onOpenAssistantPage){N(),t.onOpenAssistantPage();return}if(t.assistantPageUrl){N(),window.location.href=t.assistantPageUrl;return}Wt()}),se.addEventListener("click",Qe),he.addEventListener("click",()=>{qt(),queueMicrotask(()=>P.focus())}),F.addEventListener("input",()=>{s.chatSearchTerm=F.value.trim().toLowerCase(),O()}),h.addEventListener("click",r=>{let d=r.target;if(!(d instanceof Element)||!d.closest(".kp-chat-actions")){for(let m of Array.from(c.querySelectorAll(".kp-chat-actions.open")))m.classList.remove("open");for(let m of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))m.classList.remove("menu-open")}s.menuOpen&&!y.contains(d)&&!b.contains(d)&&R(),r.stopPropagation()}),c.addEventListener("click",r=>{let d=r.target;if(s.menuOpen&&d instanceof Node&&!y.contains(d)&&!b.contains(d)&&R(),d instanceof Element&&!d.closest(".kp-chat-actions")){for(let m of Array.from(c.querySelectorAll(".kp-chat-actions.open")))m.classList.remove("open");for(let m of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))m.classList.remove("menu-open")}}),ue.addEventListener("submit",async r=>{r.preventDefault(),await Ge(E.value)}),ke.addEventListener("submit",async r=>{r.preventDefault(),await I(P.value,C)});function nt(r){if(r.key==="Escape"){if(s.sourcePanelOpen){W();return}if(s.myChatsOpen){$();return}if(s.fullPageOpen){if(l)return;Qe();return}s.open&&N()}}return document.addEventListener("keydown",nt),we}async function tn(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 ce(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 Q(e,t,a,n){let i=t==="bot"?dn(a,n.citations??[]):{displayText:a,citations:n.citations??[]},l=o("div",`kp-message-row ${t}`),s=an(t==="bot"?n.strings.assistantAvatar:n.userName??n.strings.userAvatar,t),p=o("div",`kp-bubble ${t}`),c=o("div","kp-bubble-content");wn(c,i.displayText),p.appendChild(c);let u=i.citations;if(u.length){let g=o("div","kp-meta",n.strings.citationsAttached(u.length));p.appendChild(g);let f=o("div","kp-source-preview"),h=o("div","kp-source-preview-title",n.strings.sourcesUsed),w=o("div","kp-source-preview-list");for(let b of u.slice(0,2)){let y=mn(b,n.strings);y.addEventListener("click",async()=>{wt(b,n.strings)}),w.appendChild(y)}let L=bn(n.strings);L.addEventListener("click",async()=>{n.onShowSources(u,n.strings.allSourcesUsed)}),w.appendChild(L),f.append(h,w),p.appendChild(f)}return t==="bot"&&p.appendChild(nn(i.displayText,n.strings)),t==="user"?l.append(p,s):l.append(s,p),e.appendChild(l),e.scrollTop=e.scrollHeight,l}function nn(e,t){let a=o("div","kp-message-actions"),n=o("button","kp-message-action",t.copy);n.type="button",n.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e),n.textContent=t.copied,window.setTimeout(()=>{n.textContent=t.copy},1200)}catch{n.textContent=t.copy}});let i=o("button","kp-message-action","\u{1F44D}");i.type="button",i.setAttribute("aria-label",t.helpful),i.addEventListener("click",()=>{i.classList.toggle("active"),l.classList.remove("active")});let l=o("button","kp-message-action","\u{1F44E}");return l.type="button",l.setAttribute("aria-label",t.notHelpful),l.addEventListener("click",()=>{l.classList.toggle("active"),i.classList.remove("active")}),a.append(n,i,l),a}function an(e,t){let a=o("div",`kp-avatar ${t}`),n=t==="bot"?"\u2726":cn(e);return a.textContent=n,a.setAttribute("aria-hidden","true"),a}function on(e,t,a){e.textContent="";for(let n of t){let i=o("button","kp-suggestion",n);i.type="button",i.addEventListener("click",async()=>{await a(n)}),e.appendChild(i)}}function V(e,t,a){on(e.suggestions,t,async n=>{e.input.value=n,await a(n)})}function xt(e,t,a){let n=new Set([t,a]);for(let i of Array.from(e.children))n.has(i)||i.remove()}function ft(e){e.body.classList.add("kp-conversation-active"),e.hero.remove(),e.suggestions.remove()}function G(e){e.body.classList.remove("kp-conversation-active"),e.hero.isConnected||e.body.prepend(e.hero),e.suggestions.isConnected||e.body.appendChild(e.suggestions),xt(e.body,e.hero,e.suggestions),e.input.value=""}function sn(e,t,a){for(let n of t)Q(e,n.role==="assistant"?"bot":"user",n.text,a)}function ht(e,t,a,n,i,l,s,p){if(e.textContent="",t.textContent="",a.loadingChats){e.appendChild(o("div","kp-full-page-empty",n.loadingChats));return}let c=a.chats.filter(u=>a.chatSearchTerm?u.title.toLowerCase().includes(a.chatSearchTerm):!0);if(c.length>0){let u=c.filter(f=>f.pinned),g=c.filter(f=>!f.pinned).slice(0,8);mt(e,g,a.chatId,n,i,l,s,p),mt(t,u,a.chatId,n,i,l,s,p),g.length===0&&e.appendChild(o("div","kp-full-page-empty",n.noRecentChats)),u.length===0&&t.appendChild(o("div","kp-full-page-empty",n.noPinnedChats));return}e.appendChild(o("div","kp-full-page-empty",n.noChats)),t.appendChild(o("div","kp-full-page-empty",n.noPinnedChats))}function mt(e,t,a,n,i,l,s,p){for(let c of t){let u=o("div",`kp-full-page-item kp-full-page-chat-item${c.chatId===a?" active":""}`),g=o("span","kp-full-page-item-title",c.title),f=o("div","kp-chat-actions"),h=o("button","kp-chat-actions-trigger","\u22EF");h.type="button",h.setAttribute("aria-label",n.chatActions);let w=o("div","kp-chat-actions-menu"),L=o("button","kp-chat-actions-item",c.pinned?n.unpinChat:n.pinChat);L.type="button",L.addEventListener("click",async k=>{k.stopPropagation(),await l(c)});let b=o("button","kp-chat-actions-item",n.renameChat);b.type="button",b.addEventListener("click",async k=>{k.stopPropagation(),await s(c)});let y=o("button","kp-chat-actions-item",n.deleteChat);y.type="button",y.addEventListener("click",async k=>{k.stopPropagation(),await p(c)}),w.append(L,b,y),f.append(h,w),h.addEventListener("click",k=>{k.stopPropagation();let H=f.classList.contains("open");for(let v of Array.from(e.querySelectorAll(".kp-chat-actions.open")))v.classList.remove("open");for(let v of Array.from(e.querySelectorAll(".kp-full-page-chat-item.menu-open")))v.classList.remove("menu-open");H||(f.classList.add("open"),u.classList.add("menu-open"))}),u.append(g,f),u.setAttribute("role","button"),u.tabIndex=0,u.addEventListener("click",async()=>{await i(c)}),u.addEventListener("keydown",async k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),await i(c))}),u.addEventListener("blur",()=>{f.classList.remove("open"),u.classList.remove("menu-open")}),e.appendChild(u)}}function rn(e,t){return e.trim().slice(0,60)||t}function Pe(e){return e.toLowerCase().split("-")[0]||"en"}function ln(e){let t=gt.en;return gt[Pe(e)]??t}function pn(e){return["ar","fa","he","ur"].includes(Pe(e))}function cn(e){let t=e.split(/\s+/).filter(Boolean).slice(0,2);return t.length===0?"U":t.map(a=>a[0]?.toUpperCase()??"").join("")}function yt(e){return e.knowledgeName?.trim()||e.sourceDocument?.trim()||null}function dn(e,t){let a=un(e);return{displayText:a.displayText,citations:t.length>0?hn(t,a.citations):a.citations}}function un(e){let a=vt(e).split(`
1433
- `),n=-1;for(let c=0;c<a.length;c+=1)/^#{0,6}\s*References\s*$/i.test(a[c]?.trim()??"")&&(n=c);if(n===-1)return{displayText:e,citations:[]};let i=a.slice(0,n).join(`
1434
- `).trimEnd(),l=a.slice(n+1).join(`
1435
- `).trim(),p=gn(l).map(c=>fn(c)).filter(c=>!!c);return{displayText:i,citations:p}}function gn(e){let t=[],a="";for(let n of e.split(`
1436
- `)){let i=n.trim();if(i){if(/^\d+\.\s+/.test(i)){a&&t.push(a.trim()),a=i.replace(/^\d+\.\s+/,"");continue}a&&(a=`${a} ${i}`)}}return a&&t.push(a.trim()),t}function fn(e){let t=e.match(/https?:\/\/\S+/i);if(!t)return null;let a=t[0],n=e.slice(0,t.index).replace(/[.\s]+$/,"").trim();return{sourceDocument:a,knowledgeName:n||a}}function hn(e,t){let a=[],n=new Set;for(let i of[...e,...t]){let l=`${i.knowledgeName??""}::${i.sourceDocument??""}`;n.has(l)||(n.add(l),a.push(i))}return a}function mn(e,t){let a=o("button","kp-source-chip");a.type="button",a.setAttribute("aria-label",t.openSource);let n=o("span","kp-source-thumb");n.textContent="\u2726";let i=o("span","kp-source-chip-label",yt(e)??t.untitledSource);return a.append(n,i),a}function bn(e){let t=o("button","kp-source-chip kp-source-chip-more");t.type="button";let a=o("span","kp-source-thumb-stack");for(let i=0;i<3;i+=1){let l=o("span","kp-source-thumb stacked");l.textContent="\u2726",a.appendChild(l)}let n=o("span","kp-source-chip-label",e.showAll);return t.append(a,n),t}function kn(e,t){let a=o("button","kp-source-card");a.type="button",a.setAttribute("aria-label",t.openSource),a.addEventListener("click",()=>{wt(e,t)});let n=o("div","kp-source-card-media"),i=o("span","kp-source-thumb kp-source-thumb-large");i.textContent="\u2726";let l=o("div","kp-source-card-title",yt(e)??t.untitledSource),s=o("div","kp-source-card-meta"),p=[];return typeof e.score=="number"&&p.push(`${t.sourceScore}: ${e.score.toFixed(2)}`),typeof e.pageNumber=="number"&&p.push(`${t.sourcePage}: ${e.pageNumber}`),e.sheetName&&p.push(`${t.sourceSheet}: ${e.sheetName}`),typeof e.rowNumber=="number"&&p.push(`${t.sourceRow}: ${e.rowNumber}`),e.knowledgeName&&p.push(`${t.sourceKnowledge}: ${e.knowledgeName}`),s.textContent=p.join(" \u2022 "),n.appendChild(i),a.append(n,l,s),a}function wt(e,t){let a=e.sourceDocument?.trim()||e.knowledgeName?.trim()||t.untitledSource,n=xn(e.sourceDocument);if(n){window.open(n,"_blank","noopener,noreferrer");return}let i=window.open("","_blank","noopener,noreferrer");if(!i)return;let l=Z(a),s=yn(e,t).map(p=>`<li>${Z(p)}</li>`).join("");i.document.write(`<!doctype html>
1437
- <html lang="en">
1438
- <head>
1439
- <meta charset="utf-8">
1440
- <title>${l}</title>
1441
- <style>
1442
- body { font-family: Arial, sans-serif; margin: 32px; color: #1f2937; }
1443
- .card { max-width: 720px; padding: 24px; border: 1px solid #dbe4ee; border-radius: 16px; background: #fff; }
1444
- h1 { margin: 0 0 12px; font-size: 24px; }
1445
- p { margin: 0 0 16px; color: #64748b; }
1446
- ul { margin: 0; padding-left: 20px; }
1447
- </style>
1448
- </head>
1449
- <body>
1450
- <div class="card">
1451
- <h1>${l}</h1>
1452
- <p>${Z(t.documentsAndReferences)}</p>
1453
- <ul>${s||`<li>${Z(t.noSources)}</li>`}</ul>
1432
+
1433
+ /* In-Widget Premium Document Preview Overlay Styles */
1434
+ .kp-citation-overlay {
1435
+ position: fixed;
1436
+ inset: 0;
1437
+ background: #f8fafc;
1438
+ color: #1f2937;
1439
+ display: flex;
1440
+ flex-direction: column;
1441
+ opacity: 0;
1442
+ pointer-events: none;
1443
+ transform: translateY(18px);
1444
+ transition: opacity 260ms ease, transform 320ms ease;
1445
+ z-index: 100000;
1446
+ overflow: hidden;
1447
+ box-sizing: border-box;
1448
+ }
1449
+
1450
+ .kp-chat-widget-embedded .kp-citation-overlay {
1451
+ position: absolute;
1452
+ inset: 0;
1453
+ z-index: 100000;
1454
+ }
1455
+
1456
+ .kp-citation-overlay.open {
1457
+ opacity: 1;
1458
+ pointer-events: auto;
1459
+ transform: translateY(0);
1460
+ }
1461
+
1462
+ .kp-citation-overlay-header {
1463
+ background: #ffffff;
1464
+ border-bottom: 1px solid rgba(226, 232, 240, 0.8);
1465
+ height: 64px;
1466
+ display: flex;
1467
+ align-items: center;
1468
+ padding: 0 24px;
1469
+ justify-content: space-between;
1470
+ flex: none;
1471
+ box-sizing: border-box;
1472
+ }
1473
+
1474
+ .kp-citation-overlay-brand {
1475
+ display: flex;
1476
+ align-items: center;
1477
+ gap: 12px;
1478
+ font-weight: 600;
1479
+ font-size: 16px;
1480
+ color: #0f766e;
1481
+ }
1482
+
1483
+ .kp-citation-overlay-brand-logo {
1484
+ font-size: 20px;
1485
+ }
1486
+
1487
+ .kp-citation-overlay-close {
1488
+ width: 40px;
1489
+ height: 40px;
1490
+ border: none;
1491
+ border-radius: 14px;
1492
+ background: rgba(255, 255, 255, 0.82);
1493
+ color: #61788a;
1494
+ font-size: 24px;
1495
+ line-height: 1;
1496
+ cursor: pointer;
1497
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
1498
+ display: flex;
1499
+ align-items: center;
1500
+ justify-content: center;
1501
+ transition: background 140ms ease;
1502
+ }
1503
+
1504
+ .kp-citation-overlay-close:hover {
1505
+ background: rgba(15, 118, 110, 0.08);
1506
+ }
1507
+
1508
+ .kp-citation-overlay-content {
1509
+ display: grid;
1510
+ grid-template-columns: 380px minmax(0, 1fr);
1511
+ flex: 1;
1512
+ overflow: hidden;
1513
+ align-items: stretch;
1514
+ box-sizing: border-box;
1515
+ }
1516
+
1517
+ .kp-citation-overlay-metadata-panel {
1518
+ background: #ffffff;
1519
+ border-right: 1px solid #e2e8f0;
1520
+ padding: 32px 24px;
1521
+ overflow-y: auto;
1522
+ display: flex;
1523
+ flex-direction: column;
1524
+ gap: 24px;
1525
+ box-sizing: border-box;
1526
+ }
1527
+
1528
+ .kp-citation-overlay-viewer-panel {
1529
+ flex: 1;
1530
+ background: #f1f5f9;
1531
+ display: flex;
1532
+ flex-direction: column;
1533
+ overflow: hidden;
1534
+ box-sizing: border-box;
1535
+ }
1536
+
1537
+ .doc-badge-wrapper {
1538
+ display: flex;
1539
+ align-items: center;
1540
+ gap: 16px;
1541
+ }
1542
+
1543
+ .doc-icon {
1544
+ background: #ecfeff;
1545
+ color: #0f766e;
1546
+ width: 48px;
1547
+ height: 48px;
1548
+ border-radius: 12px;
1549
+ display: flex;
1550
+ align-items: center;
1551
+ justify-content: center;
1552
+ font-size: 20px;
1553
+ font-weight: bold;
1554
+ }
1555
+
1556
+ .doc-badge-info h2 {
1557
+ font-size: 11px;
1558
+ text-transform: uppercase;
1559
+ letter-spacing: 0.05em;
1560
+ color: #64748b;
1561
+ font-weight: 600;
1562
+ margin: 0;
1563
+ }
1564
+
1565
+ .doc-title-section h1 {
1566
+ font-size: 18px;
1567
+ font-weight: 700;
1568
+ line-height: 1.4;
1569
+ color: #0f172a;
1570
+ margin: 8px 0 0;
1571
+ }
1572
+
1573
+ .doc-source-type {
1574
+ font-size: 12px;
1575
+ color: #64748b;
1576
+ margin-top: 4px;
1577
+ }
1578
+
1579
+ .section-divider {
1580
+ height: 1px;
1581
+ background: #e2e8f0;
1582
+ }
1583
+
1584
+ .meta-section-title {
1585
+ font-size: 11px;
1586
+ text-transform: uppercase;
1587
+ letter-spacing: 0.05em;
1588
+ color: #0f766e;
1589
+ font-weight: 600;
1590
+ margin-bottom: 12px;
1591
+ }
1592
+
1593
+ .summary-box {
1594
+ background: #f8fafc;
1595
+ border: 1px solid #e2e8f0;
1596
+ border-radius: 12px;
1597
+ padding: 16px;
1598
+ font-size: 13.5px;
1599
+ line-height: 1.6;
1600
+ color: #374151;
1601
+ white-space: pre-wrap;
1602
+ }
1603
+
1604
+ .meta-list {
1605
+ display: flex;
1606
+ flex-direction: column;
1607
+ gap: 12px;
1608
+ }
1609
+
1610
+ .meta-item {
1611
+ display: flex;
1612
+ justify-content: space-between;
1613
+ font-size: 13px;
1614
+ line-height: 1.5;
1615
+ border-bottom: 1px dashed #f1f5f9;
1616
+ padding-bottom: 8px;
1617
+ }
1618
+
1619
+ .meta-label {
1620
+ color: #64748b;
1621
+ font-weight: 500;
1622
+ }
1623
+
1624
+ .meta-value {
1625
+ color: #1f2937;
1626
+ font-weight: 600;
1627
+ text-align: right;
1628
+ max-width: 200px;
1629
+ word-wrap: break-word;
1630
+ }
1631
+
1632
+ .viewer-toolbar {
1633
+ background: #0f172a;
1634
+ color: #ffffff;
1635
+ height: 48px;
1636
+ display: flex;
1637
+ align-items: center;
1638
+ justify-content: space-between;
1639
+ padding: 0 20px;
1640
+ font-size: 13px;
1641
+ flex: none;
1642
+ box-sizing: border-box;
1643
+ }
1644
+
1645
+ .toolbar-left {
1646
+ font-weight: 500;
1647
+ max-width: 300px;
1648
+ white-space: nowrap;
1649
+ overflow: hidden;
1650
+ text-overflow: ellipsis;
1651
+ }
1652
+
1653
+ .toolbar-center {
1654
+ display: flex;
1655
+ align-items: center;
1656
+ gap: 16px;
1657
+ }
1658
+
1659
+ .page-indicator {
1660
+ background: rgba(255, 255, 255, 0.15);
1661
+ padding: 4px 10px;
1662
+ border-radius: 6px;
1663
+ font-weight: 500;
1664
+ }
1665
+
1666
+ .toolbar-btn {
1667
+ background: transparent;
1668
+ border: none;
1669
+ color: #e2e8f0;
1670
+ cursor: pointer;
1671
+ padding: 4px 12px;
1672
+ border-radius: 6px;
1673
+ font-size: 13px;
1674
+ display: flex;
1675
+ align-items: center;
1676
+ justify-content: center;
1677
+ transition: all 0.2s;
1678
+ font-weight: 500;
1679
+ }
1680
+
1681
+ .toolbar-btn:hover {
1682
+ background: rgba(255, 255, 255, 0.1);
1683
+ color: #ffffff;
1684
+ }
1685
+
1686
+ .toolbar-right {
1687
+ display: flex;
1688
+ align-items: center;
1689
+ gap: 12px;
1690
+ }
1691
+
1692
+ .viewer-body {
1693
+ flex: 1;
1694
+ overflow: auto;
1695
+ padding: 40px;
1696
+ display: flex;
1697
+ justify-content: center;
1698
+ align-items: flex-start;
1699
+ box-sizing: border-box;
1700
+ }
1701
+
1702
+ .document-sheet {
1703
+ background: #ffffff;
1704
+ width: 100%;
1705
+ max-width: 800px;
1706
+ min-height: 1000px;
1707
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
1708
+ border-radius: 4px;
1709
+ padding: 60px 50px;
1710
+ display: flex;
1711
+ flex-direction: column;
1712
+ position: relative;
1713
+ transition: transform 0.2s ease;
1714
+ transform-origin: top center;
1715
+ box-sizing: border-box;
1716
+ }
1717
+
1718
+ .sheet-header {
1719
+ border-bottom: 2px solid #0f766e;
1720
+ padding-bottom: 15px;
1721
+ margin-bottom: 30px;
1722
+ display: flex;
1723
+ justify-content: space-between;
1724
+ align-items: center;
1725
+ font-size: 11px;
1726
+ color: #64748b;
1727
+ text-transform: uppercase;
1728
+ letter-spacing: 0.1em;
1729
+ font-weight: 600;
1730
+ }
1731
+
1732
+ .sheet-content {
1733
+ font-size: 14.5px;
1734
+ line-height: 1.8;
1735
+ color: #27272a;
1736
+ white-space: pre-wrap;
1737
+ flex: 1;
1738
+ font-family: 'Inter', sans-serif;
1739
+ text-align: left;
1740
+ }
1741
+
1742
+ .sheet-footer {
1743
+ border-top: 1px solid #e2e8f0;
1744
+ padding-top: 15px;
1745
+ margin-top: 40px;
1746
+ display: flex;
1747
+ justify-content: space-between;
1748
+ align-items: center;
1749
+ font-size: 11px;
1750
+ color: #64748b;
1751
+ }
1752
+
1753
+ .kp-citation-overlay iframe {
1754
+ width: 100%;
1755
+ height: 100%;
1756
+ border: none;
1757
+ }
1758
+
1759
+ @media (max-width: 860px) {
1760
+ .kp-citation-overlay-content {
1761
+ grid-template-columns: 1fr;
1762
+ overflow-y: auto;
1763
+ }
1764
+
1765
+ .kp-citation-overlay-metadata-panel {
1766
+ border-right: none;
1767
+ border-bottom: 1px solid #e2e8f0;
1768
+ padding: 20px 16px;
1769
+ }
1770
+
1771
+ .viewer-body {
1772
+ padding: 20px;
1773
+ }
1774
+
1775
+ .document-sheet {
1776
+ padding: 30px 20px;
1777
+ min-height: auto;
1778
+ }
1779
+ }
1780
+ `}var At={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 It(e){if(typeof document>"u")throw new Error("Chat widget can only be initialized in a browser.");let t=Ct(e),a=He(t.locale),n=Pn(t.locale),r=An(a),l=t.displayMode==="embedded",i={chatId:be(t),open:!1,fullPageOpen:l,myChatsOpen:!1,accessTokenProvider:t.getAccessToken,historyLoadedChatId:null,menuOpen:!1,chats:[],chatSearchTerm:"",loadingChats:!1,sourcePanelOpen:!1,sourcePanelTitle:null},p=document.createElement("div");p.dataset.chatWidgetHost="true",t.mount.appendChild(p);let c=p.attachShadow({mode:"open"});Pt(c,t.theme);let u=o("div",`kp-chat-widget ${t.position}`);u.lang=a,u.dir=r?"rtl":"ltr",l&&(u.classList.add("kp-chat-widget-embedded"),Rt(!0)),r&&u.classList.add("kp-rtl");let g=o("div","kp-overlay"),f=o("button","kp-launcher");f.type="button",f.setAttribute("aria-label",t.launcherAriaLabel),f.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 h=o("section","kp-panel");h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-label",t.title);let v=o("div","kp-header"),P=o("div","kp-toolbar"),b=o("button","kp-tool-button kp-menu-trigger");b.type="button",b.setAttribute("aria-label",n.openChatActions),b.innerHTML=['<span class="kp-pencil-icon" aria-hidden="true"></span>','<span class="kp-chevron" aria-hidden="true">\u2304</span>'].join("");let y=o("div","kp-dropdown"),x=o("button","kp-dropdown-item",n.newChat);x.type="button";let U=o("button","kp-dropdown-item",n.myChats);U.type="button";let w=o("button","kp-dropdown-item",n.openAssistant);w.type="button",y.append(x,U,w),P.append(b,y);let Ne=o("div","kp-title-wrap"),Ht=o("h2","kp-title",t.title),Mt=o("div","kp-subtitle",t.subtitle);Ne.append(Ht,Mt);let ie=o("button","kp-close","\xD7");ie.type="button",ie.setAttribute("aria-label",t.closeAriaLabel),v.append(P,Ne,ie);let re=o("div","kp-body"),xe=o("div","kp-hero"),Nt=o("div","kp-hero-icon","\u2726"),Ot=o("div","kp-hero-text",t.welcomeMessage);xe.append(Nt,Ot);let Oe=o("div","kp-footer"),ke=o("form","kp-form"),z=o("input","kp-input");z.type="text",z.autocomplete="off",z.placeholder=t.inputPlaceholder,z.setAttribute("aria-label",t.inputPlaceholder);let ye=o("button","kp-send","\u279C");ye.type="submit",ye.setAttribute("aria-label",n.send);let Ut=o("div","kp-note",n.authTokenForwarded);ke.append(z,ye),Oe.append(ke,Ut),h.append(v,re,Oe),l||u.append(g,f,h),c.appendChild(u),re.appendChild(xe);let Ue=o("div","kp-suggestions");re.appendChild(Ue);let le=o("section","kp-my-chats-sheet"),Be=o("div","kp-my-chats-header"),pe=o("button","kp-my-chats-nav","\u2190");pe.type="button",pe.setAttribute("aria-label",n.back);let ce=o("button","kp-my-chats-nav kp-my-chats-close","\xD7");ce.type="button",ce.setAttribute("aria-label",n.close),Be.append(pe,ce);let je=o("div","kp-my-chats-body"),Bt=o("div","kp-my-chats-section-label",n.recentActivity),We=o("div","kp-my-chats-list"),jt=o("div","kp-my-chats-section-label",n.pinnedCollections),De=o("div","kp-my-chats-list");je.append(Bt,We,jt,De),le.append(Be,je),h.appendChild(le);let E={body:re,input:z,suggestions:Ue,hero:xe,kind:"panel"},A=o("section","kp-full-page");l&&A.classList.add("kp-full-page-embedded","open"),A.setAttribute("role","dialog"),l||A.setAttribute("aria-modal","true"),A.setAttribute("aria-label",`${t.title} page`);let qe=o("div","kp-full-page-shell"),ve=o("div","kp-full-page-header"),Ve=o("div","kp-full-page-brand"),Wt=o("div","kp-full-page-brand-mark","\u2726"),Dt=o("div","kp-full-page-brand-text",t.title);Ve.append(Wt,Dt);let Fe=o("div","kp-full-page-header-actions"),qt=o("div","kp-full-page-badge",n.assistantBadge),de=o("button","kp-full-page-close","\xD7");de.type="button",de.setAttribute("aria-label",n.closeAssistantPage),Fe.append(qt,de),ve.append(Ve,Fe),t.embedded.showHeader||ve.classList.add("kp-hidden");let _e=o("div","kp-full-page-content"),Ke=o("aside","kp-full-page-sidebar"),we=o("button","kp-full-page-new-chat",`+ ${n.newChat}`);we.type="button";let Ye=o("div","kp-full-page-search"),Z=o("input","kp-full-page-search-input");Z.type="search",Z.placeholder=n.searchChat;let Vt=o("span","kp-full-page-search-icon","\u2315");Ye.append(Z,Vt);let Ft=o("div","kp-full-page-section-label",n.recentActivity),Xe=o("div","kp-full-page-recent-list"),_t=o("div","kp-full-page-section-label",n.pinnedCollections),Je=o("div","kp-full-page-pinned-list");Ke.append(we,Ye,Ft,Xe,_t,Je);let Ge=o("main","kp-full-page-main"),Qe=o("section","kp-full-page-panel"),Ce=o("div","kp-full-page-body"),Le=o("div","kp-full-page-hero"),Ze=o("div","kp-full-page-hero-badge");Ze.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 Kt=o("div","kp-full-page-hero-text",t.welcomeMessage);Le.append(Ze,Kt);let et=o("div","kp-suggestions kp-full-page-suggestions");Ce.append(Le,et);let tt=o("div","kp-full-page-footer"),Pe=o("form","kp-form kp-full-page-form"),T=o("input","kp-input kp-full-page-input");T.type="text",T.autocomplete="off",T.placeholder=t.inputPlaceholder,T.setAttribute("aria-label",t.inputPlaceholder);let Ae=o("button","kp-send kp-full-page-send","\u279C");Ae.type="submit",Ae.setAttribute("aria-label",n.send);let Yt=o("div","kp-note kp-full-page-note",n.answersBasedOnPermissions);Pe.append(T,Ae),tt.append(Pe,Yt),Qe.append(Ce,tt),Ge.appendChild(Qe);let ue=o("aside","kp-source-panel"),nt=o("div","kp-source-panel-header"),at=o("div","kp-source-panel-title-wrap"),ot=o("div","kp-source-panel-title",n.allSourcesUsed),Xt=o("div","kp-source-panel-subtitle",n.documentsAndReferences);at.append(ot,Xt);let ge=o("button","kp-source-panel-close","\xD7");ge.type="button",ge.setAttribute("aria-label",n.closeSourcesPanel),nt.append(at,ge);let ee=o("div","kp-source-panel-list"),Jt=o("div","kp-source-panel-empty",n.noSources);ee.appendChild(Jt),ue.append(nt,ee),_e.append(Ke,Ge,ue),qe.append(ve,_e),A.appendChild(qe),u.appendChild(A);let te=o("div","kp-citation-overlay");u.appendChild(te);let C={body:Ce,input:T,suggestions:et,hero:Le,kind:"full-page"},B=()=>({...t,getAccessToken:i.accessTokenProvider}),st=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}},F=s=>{let d=Me(s)??n.untitledSource,m=(s.text||"").trim(),S=m,L=m.split(`
1781
+ `);if(L.length>1&&L[0]){let N=L[0].trim().replace(/\s*\|\s*Page\s*\d+\s*$/i,"").trim();N&&(N===d||d.indexOf(N)!==-1||N.indexOf(d)!==-1)&&(S=L.slice(1).join(`
1782
+ `).trim())}let I=Nn(s.sourceDocument),D=[];(s.pageNumber||s.pageNumber===0)&&D.push(`
1783
+ <div class="meta-item">
1784
+ <span class="meta-label">Page Number</span>
1785
+ <span class="meta-value">${s.pageNumber}</span>
1786
+ </div>
1787
+ `),typeof s.score=="number"&&D.push(`
1788
+ <div class="meta-item">
1789
+ <span class="meta-label">Relevance Score</span>
1790
+ <span class="meta-value">${s.score.toFixed(2)}</span>
1791
+ </div>
1792
+ `),s.sheetName&&D.push(`
1793
+ <div class="meta-item">
1794
+ <span class="meta-label">Sheet Name</span>
1795
+ <span class="meta-value">${O(s.sheetName)}</span>
1796
+ </div>
1797
+ `),(s.rowNumber||s.rowNumber===0)&&D.push(`
1798
+ <div class="meta-item">
1799
+ <span class="meta-label">Row Number</span>
1800
+ <span class="meta-value">${s.rowNumber}</span>
1801
+ </div>
1802
+ `),s.knowledgeName&&D.push(`
1803
+ <div class="meta-item">
1804
+ <span class="meta-label">Database Source</span>
1805
+ <span class="meta-value">${O(s.knowledgeName)}</span>
1806
+ </div>
1807
+ `),D.push(`
1808
+ <div class="meta-item">
1809
+ <span class="meta-label">Classification</span>
1810
+ <span class="meta-value">Uploaded Knowledge</span>
1454
1811
  </div>
1455
- </body>
1456
- </html>`),i.document.close()}function xn(e){if(!e)return null;let t=e.trim();return/^https?:\/\//i.test(t)?t:null}function yn(e,t){let a=[];return e.sourceDocument&&a.push(e.sourceDocument),typeof e.score=="number"&&a.push(`${t.sourceScore}: ${e.score.toFixed(2)}`),typeof e.pageNumber=="number"&&a.push(`${t.sourcePage}: ${e.pageNumber}`),e.sheetName&&a.push(`${t.sourceSheet}: ${e.sheetName}`),typeof e.rowNumber=="number"&&a.push(`${t.sourceRow}: ${e.rowNumber}`),e.knowledgeName&&a.push(`${t.sourceKnowledge}: ${e.knowledgeName}`),a}function wn(e,t){e.innerHTML=vn(vt(t))}function vt(e){return e.replace(/\r\n/g,`
1812
+ <div class="meta-item">
1813
+ <span class="meta-label">Confidentiality</span>
1814
+ <span class="meta-value" style="color: #0f766e;">Public</span>
1815
+ </div>
1816
+ <div class="meta-item">
1817
+ <span class="meta-label">Language</span>
1818
+ <span class="meta-value">English</span>
1819
+ </div>
1820
+ `);let sn=D.join(""),rn=S?O(S):"No text snippet available for this citation.",ln=`
1821
+ <div class="doc-badge-wrapper">
1822
+ <div class="doc-icon">\u{1F4C4}</div>
1823
+ <div class="doc-badge-info">
1824
+ <h2>Document Citation</h2>
1825
+ </div>
1826
+ </div>
1827
+
1828
+ <div class="doc-title-section">
1829
+ <h1>${O(d)}</h1>
1830
+ <div class="doc-source-type">Uploaded Knowledge Resource</div>
1831
+ </div>
1832
+
1833
+ <div class="section-divider"></div>
1834
+
1835
+ <div>
1836
+ <h3 class="meta-section-title">Retrieved Passage Snippet</h3>
1837
+ <div class="summary-box">${rn}</div>
1838
+ </div>
1839
+
1840
+ <div class="section-divider"></div>
1841
+
1842
+ <div>
1843
+ <h3 class="meta-section-title">Metadata & Classification</h3>
1844
+ <div class="meta-list">
1845
+ ${sn}
1846
+ </div>
1847
+ </div>
1848
+ `,Ee="";I?Ee=`<iframe src="${I}" title="Document Viewer"></iframe>`:Ee=`
1849
+ <div class="viewer-toolbar">
1850
+ <div class="toolbar-left">${O(d)}</div>
1851
+ <div class="toolbar-center">
1852
+ <button class="toolbar-btn zoom-out-btn">\u2212</button>
1853
+ <span class="page-indicator">Page ${s.pageNumber||1}</span>
1854
+ <button class="toolbar-btn zoom-in-btn">+</button>
1855
+ </div>
1856
+ <div class="toolbar-right">
1857
+ <button class="toolbar-btn print-btn">\u{1F5A8}\uFE0F Print</button>
1858
+ </div>
1859
+ </div>
1860
+ <div class="viewer-body">
1861
+ <div class="document-sheet">
1862
+ <div class="sheet-header">
1863
+ <span>${O(d)}</span>
1864
+ <span>Page ${s.pageNumber||1}</span>
1865
+ </div>
1866
+ <div class="sheet-content">${O(m||"No document content retrieved.")}</div>
1867
+ <div class="sheet-footer">
1868
+ <span>Confidentiality: Public</span>
1869
+ <span>Knowledge Platform CB</span>
1870
+ </div>
1871
+ </div>
1872
+ </div>
1873
+ `,te.textContent="";let ut=o("header","kp-citation-overlay-header"),gt=o("div","kp-citation-overlay-brand");gt.innerHTML=`
1874
+ <span class="kp-citation-overlay-brand-logo">\u2726</span>
1875
+ <span>Knowledge Assistant Document Viewer</span>
1876
+ `;let he=o("button","kp-citation-overlay-close","\xD7");he.type="button",he.setAttribute("aria-label","Close document preview"),he.addEventListener("click",()=>{te.classList.remove("open")}),ut.append(gt,he);let ft=o("div","kp-citation-overlay-content"),ht=o("aside","kp-citation-overlay-metadata-panel");ht.innerHTML=ln;let Y=o("main","kp-citation-overlay-viewer-panel");if(Y.innerHTML=Ee,ft.append(ht,Y),te.append(ut,ft),!I){let q=1,N=Y.querySelector(".document-sheet"),pn=Y.querySelector(".zoom-in-btn"),cn=Y.querySelector(".zoom-out-btn"),dn=Y.querySelector(".print-btn");N&&(pn?.addEventListener("click",()=>{q<1.5&&(q+=.1,N.style.transform=`scale(${q})`)}),cn?.addEventListener("click",()=>{q>.6&&(q-=.1,N.style.transform=`scale(${q})`)}),dn?.addEventListener("click",()=>{window.print()}))}te.classList.add("open")},ne=(s,d)=>{if(i.sourcePanelOpen=!0,i.sourcePanelTitle=d??n.allSourcesUsed,ot.textContent=i.sourcePanelTitle,ue.classList.add("open"),ee.textContent="",s.length===0){ee.appendChild(o("div","kp-source-panel-empty",n.noSources));return}for(let m of s)ee.appendChild(Mn(m,n,()=>{F(m)}))},_=()=>{i.sourcePanelOpen=!1,i.sourcePanelTitle=null,ue.classList.remove("open")};G(E,t.initialSuggestions,async s=>{await $(s,E)}),G(C,t.initialSuggestions,async s=>{await $(s,C)}),W(),fe(),l&&(R(),t.rag.loadHistoryOnOpen&&K(C,i.chatId));function Se(){if(l){i.fullPageOpen=!0,A.classList.add("open");return}i.open||(i.open=!0,i.fullPageOpen=!1,M(),A.classList.remove("open"),f.classList.add("hidden"),g.classList.add("visible"),h.classList.add("open"),t.onOpen?.(),t.rag.loadHistoryOnOpen&&Te.loadHistory(),queueMicrotask(()=>z.focus()))}function j(){if(l){_();return}i.open&&(H(),M(),i.open=!1,f.classList.remove("hidden"),g.classList.remove("visible"),h.classList.remove("open"),t.onClose?.())}async function $(s,d){let m=s.trim();if(!m)return;d.input.value="";try{await tn(m)}catch(L){let I=V(t,L);se(d.body,"bot",`${n.unableToCreateChat}: ${I.message}`,{strings:n,view:d,userName:null,onShowSources:ne,onShowCitation:F});return}St(d),se(d.body,"user",m,{strings:n,view:d,userName:await st(),onShowSources:ne,onShowCitation:F}),d.body.scrollTop=d.body.scrollHeight;let S=o("div","kp-loading",n.thinking);d.body.appendChild(S),d.body.scrollTop=d.body.scrollHeight;try{let L=await xt(B(),{message:m,chatId:i.chatId,knowledgeNames:await kn(t),...t.rag.enableReferences!==void 0?{enableReferences:t.rag.enableReferences}:{}});S.isConnected&&S.remove(),se(d.body,"bot",L.answer,{strings:n,view:d,userName:null,citations:L.citations??[],onShowSources:ne,onShowCitation:F}),i.historyLoadedChatId=null,await R(),L.suggestions?.length&&G(d,L.suggestions,async I=>{await $(I,d)})}catch(L){let I=V(t,L);S.isConnected&&S.remove(),se(d.body,"bot",`${n.requestFailed}: ${I.message}`,{strings:n,view:d,userName:null,onShowSources:ne,onShowCitation:F})}}async function it(s){let d=i.fullPageOpen?C:E;await $(s,d)}async function Gt(){if(l){i.fullPageOpen=!0,A.classList.add("open"),await R(),await K(C,i.chatId),queueMicrotask(()=>T.focus());return}i.fullPageOpen=!0,i.open=!1,H(),M(),h.classList.remove("open"),g.classList.remove("visible"),f.classList.add("hidden"),A.classList.add("open"),await R(),await K(C,i.chatId),queueMicrotask(()=>T.focus())}function rt(){if(l){_();return}i.fullPageOpen&&(i.fullPageOpen=!1,A.classList.remove("open"),f.classList.remove("hidden"),_())}function Qt(){i.menuOpen=!0,b.classList.add("open"),y.classList.add("open")}function H(){i.menuOpen=!1,b.classList.remove("open"),y.classList.remove("open")}function Zt(){i.chatId=be(t),i.historyLoadedChatId=null,M(),oe(E),G(E,t.initialSuggestions,async s=>{await $(s,E)}),H()}async function en(){i.chatId=be(t),i.historyLoadedChatId=null,oe(C),_(),G(C,t.initialSuggestions,async s=>{await $(s,C)}),W()}async function R(){if(!t.endpoints.listChats)return W(),fe(),[];i.loadingChats=!0,W(),fe();try{let s=await yt(B());return i.chats=s,s}catch(s){return V(t,s),i.chats}finally{i.loadingChats=!1,W(),fe()}}async function tn(s){!t.endpoints.listChats&&!t.endpoints.createChat||i.chats.some(d=>d.chatId===i.chatId)||await vt(B(),i.chatId,s?Ln(s,n.newChat):void 0)}async function nn(s){i.chatId=s,i.historyLoadedChatId=null,await K(C,s),W()}async function an(s){i.chatId=s,i.historyLoadedChatId=null,await K(E,s),M()}async function on(){H(),await R(),i.myChatsOpen=!0,h.classList.add("kp-sheet-open"),le.classList.add("open")}function M(){i.myChatsOpen=!1,h.classList.remove("kp-sheet-open"),le.classList.remove("open")}async function lt(s){if(!t.endpoints.updateChat)return;let d=window.prompt(n.renamePrompt,s.title)?.trim();if(!(!d||d===s.title))try{await ze(B(),s.chatId,{title:d}),await R()}catch(m){V(t,m)}}async function pt(s){if(t.endpoints.deleteChat)try{await wt(B(),s.chatId),i.chatId===s.chatId&&(i.chatId=be(t),i.historyLoadedChatId=null,oe(E),oe(C)),await R()}catch(d){V(t,d)}}function W(){Tt(Xe,Je,i,n,async s=>{await nn(s.chatId)},async s=>{await ct(s)},async s=>{await lt(s)},async s=>{await pt(s)})}function fe(){Tt(We,De,i,n,async s=>{await an(s.chatId)},async s=>{await ct(s)},async s=>{await lt(s)},async s=>{await pt(s)})}async function ct(s){if(t.endpoints.updateChat)try{await ze(B(),s.chatId,{pinned:!s.pinned}),await R()}catch(d){V(t,d)}}async function K(s,d){oe(s),G(s,t.initialSuggestions,async S=>{await $(S,s)});let m=await kt(B(),d);return m.length>0&&(St(s),zt(s.body,s.hero,s.suggestions),Cn(s.body,m,{strings:n,view:s,userName:await st(),onShowSources:ne,onShowCitation:F})),i.historyLoadedChatId=d,m}let Te={open:Se,close:j,toggle(){if(l){Se();return}if(i.open){j();return}Se()},destroy(){if(document.removeEventListener("keydown",dt),p.remove(),l){let s=!1;document.querySelectorAll("[data-chat-widget-host]").forEach(d=>{let m=d.shadowRoot;m&&m.querySelector(".kp-chat-widget-embedded")&&(s=!0)}),s||Rt(!1)}},sendMessage:it,setAccessTokenProvider(s){i.accessTokenProvider=s},getChatId(){return i.chatId},loadChats(){return R()},async loadHistory(){let s=i.fullPageOpen?C:E;return K(s,i.chatId)}};f.addEventListener("click",()=>Te.toggle()),ie.addEventListener("click",j),g.addEventListener("click",j),ge.addEventListener("click",_),pe.addEventListener("click",M),ce.addEventListener("click",M),b.addEventListener("click",s=>{if(s.stopPropagation(),!i.menuOpen){Qt();return}H()}),x.addEventListener("click",Zt),U.addEventListener("click",async()=>{await on()}),w.addEventListener("click",()=>{if(H(),t.onOpenAssistantPage){j(),t.onOpenAssistantPage();return}if(t.assistantPageUrl){j(),window.location.href=t.assistantPageUrl;return}Gt()}),de.addEventListener("click",rt),we.addEventListener("click",()=>{en(),queueMicrotask(()=>T.focus())}),Z.addEventListener("input",()=>{i.chatSearchTerm=Z.value.trim().toLowerCase(),W()}),h.addEventListener("click",s=>{let d=s.target;if(!(d instanceof Element)||!d.closest(".kp-chat-actions")){for(let m of Array.from(c.querySelectorAll(".kp-chat-actions.open")))m.classList.remove("open");for(let m of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))m.classList.remove("menu-open")}i.menuOpen&&!y.contains(d)&&!b.contains(d)&&H(),s.stopPropagation()}),c.addEventListener("click",s=>{let d=s.target;if(i.menuOpen&&d instanceof Node&&!y.contains(d)&&!b.contains(d)&&H(),d instanceof Element&&!d.closest(".kp-chat-actions")){for(let m of Array.from(c.querySelectorAll(".kp-chat-actions.open")))m.classList.remove("open");for(let m of Array.from(c.querySelectorAll(".kp-full-page-chat-item.menu-open")))m.classList.remove("menu-open")}}),ke.addEventListener("submit",async s=>{s.preventDefault(),await it(z.value)}),Pe.addEventListener("submit",async s=>{s.preventDefault(),await $(T.value,C)});function dt(s){if(s.key==="Escape"){if(i.sourcePanelOpen){_();return}if(i.myChatsOpen){M();return}if(i.fullPageOpen){if(l)return;rt();return}i.open&&j()}}return document.addEventListener("keydown",dt),Te}async function kn(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 be(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 se(e,t,a,n){let r=t==="bot"?Tn(a,n.citations??[]):{displayText:a,citations:n.citations??[]},l=o("div",`kp-message-row ${t}`),i=vn(t==="bot"?n.strings.assistantAvatar:n.userName??n.strings.userAvatar,t),p=o("div",`kp-bubble ${t}`),c=o("div","kp-bubble-content");On(c,r.displayText),p.appendChild(c);let u=r.citations;if(u.length){let g=o("div","kp-meta",n.strings.citationsAttached(u.length));p.appendChild(g);let f=o("div","kp-source-preview"),h=o("div","kp-source-preview-title",n.strings.sourcesUsed),v=o("div","kp-source-preview-list");for(let b of u.slice(0,2)){let y=$n(b,n.strings);y.addEventListener("click",async()=>{n.onShowCitation(b)}),v.appendChild(y)}let P=Hn(n.strings);P.addEventListener("click",async()=>{n.onShowSources(u,n.strings.allSourcesUsed)}),v.appendChild(P),f.append(h,v),p.appendChild(f)}return t==="bot"&&p.appendChild(yn(r.displayText,n.strings)),t==="user"?l.append(p,i):l.append(i,p),e.appendChild(l),e.scrollTop=e.scrollHeight,l}function yn(e,t){let a=o("div","kp-message-actions"),n=o("button","kp-message-action",t.copy);n.type="button",n.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(e),n.textContent=t.copied,window.setTimeout(()=>{n.textContent=t.copy},1200)}catch{n.textContent=t.copy}});let r=o("button","kp-message-action","\u{1F44D}");r.type="button",r.setAttribute("aria-label",t.helpful),r.addEventListener("click",()=>{r.classList.toggle("active"),l.classList.remove("active")});let l=o("button","kp-message-action","\u{1F44E}");return l.type="button",l.setAttribute("aria-label",t.notHelpful),l.addEventListener("click",()=>{l.classList.toggle("active"),r.classList.remove("active")}),a.append(n,r,l),a}function vn(e,t){let a=o("div",`kp-avatar ${t}`),n=t==="bot"?"\u2726":Sn(e);return a.textContent=n,a.setAttribute("aria-hidden","true"),a}function wn(e,t,a){e.textContent="";for(let n of t){let r=o("button","kp-suggestion",n);r.type="button",r.addEventListener("click",async()=>{await a(n)}),e.appendChild(r)}}function G(e,t,a){wn(e.suggestions,t,async n=>{e.input.value=n,await a(n)})}function zt(e,t,a){let n=new Set([t,a]);for(let r of Array.from(e.children))n.has(r)||r.remove()}function St(e){e.body.classList.add("kp-conversation-active"),e.hero.remove(),e.suggestions.remove()}function oe(e){e.body.classList.remove("kp-conversation-active"),e.hero.isConnected||e.body.prepend(e.hero),e.suggestions.isConnected||e.body.appendChild(e.suggestions),zt(e.body,e.hero,e.suggestions),e.input.value=""}function Cn(e,t,a){for(let n of t)se(e,n.role==="assistant"?"bot":"user",n.text,a)}function Tt(e,t,a,n,r,l,i,p){if(e.textContent="",t.textContent="",a.loadingChats){e.appendChild(o("div","kp-full-page-empty",n.loadingChats));return}let c=a.chats.filter(u=>a.chatSearchTerm?u.title.toLowerCase().includes(a.chatSearchTerm):!0);if(c.length>0){let u=c.filter(f=>f.pinned),g=c.filter(f=>!f.pinned).slice(0,8);Et(e,g,a.chatId,n,r,l,i,p),Et(t,u,a.chatId,n,r,l,i,p),g.length===0&&e.appendChild(o("div","kp-full-page-empty",n.noRecentChats)),u.length===0&&t.appendChild(o("div","kp-full-page-empty",n.noPinnedChats));return}e.appendChild(o("div","kp-full-page-empty",n.noChats)),t.appendChild(o("div","kp-full-page-empty",n.noPinnedChats))}function Et(e,t,a,n,r,l,i,p){for(let c of t){let u=o("div",`kp-full-page-item kp-full-page-chat-item${c.chatId===a?" active":""}`),g=o("span","kp-full-page-item-title",c.title),f=o("div","kp-chat-actions"),h=o("button","kp-chat-actions-trigger","\u22EF");h.type="button",h.setAttribute("aria-label",n.chatActions);let v=o("div","kp-chat-actions-menu"),P=o("button","kp-chat-actions-item",c.pinned?n.unpinChat:n.pinChat);P.type="button",P.addEventListener("click",async x=>{x.stopPropagation(),await l(c)});let b=o("button","kp-chat-actions-item",n.renameChat);b.type="button",b.addEventListener("click",async x=>{x.stopPropagation(),await i(c)});let y=o("button","kp-chat-actions-item",n.deleteChat);y.type="button",y.addEventListener("click",async x=>{x.stopPropagation(),await p(c)}),v.append(P,b,y),f.append(h,v),h.addEventListener("click",x=>{x.stopPropagation();let U=f.classList.contains("open");for(let w of Array.from(e.querySelectorAll(".kp-chat-actions.open")))w.classList.remove("open");for(let w of Array.from(e.querySelectorAll(".kp-full-page-chat-item.menu-open")))w.classList.remove("menu-open");U||(f.classList.add("open"),u.classList.add("menu-open"))}),u.append(g,f),u.setAttribute("role","button"),u.tabIndex=0,u.addEventListener("click",async()=>{await r(c)}),u.addEventListener("keydown",async x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),await r(c))}),u.addEventListener("blur",()=>{f.classList.remove("open"),u.classList.remove("menu-open")}),e.appendChild(u)}}function Ln(e,t){return e.trim().slice(0,60)||t}function He(e){return e.toLowerCase().split("-")[0]||"en"}function Pn(e){let t=At.en;return At[He(e)]??t}function An(e){return["ar","fa","he","ur"].includes(He(e))}function Sn(e){let t=e.split(/\s+/).filter(Boolean).slice(0,2);return t.length===0?"U":t.map(a=>a[0]?.toUpperCase()??"").join("")}function Me(e){if(e.knowledgeName?.trim())return e.knowledgeName.trim();if(e.text){let t=e.text.split(`
1877
+ `)[0]?.trim();if(t){let a=t.replace(/\s*\|\s*Page\s*\d+\s*$/i,"").trim();if(a)return a}}if(e.sourceDocument&&/^https?:\/\//i.test(e.sourceDocument)){try{let t=new URL(e.sourceDocument),a=decodeURIComponent(t.pathname),n=a.substring(a.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 Tn(e,t){let a=En(e);return{displayText:a.displayText,citations:t.length>0?zn(t,a.citations):a.citations}}function En(e){let a=$t(e).split(`
1878
+ `),n=-1;for(let c=0;c<a.length;c+=1)/^#{0,6}\s*References\s*$/i.test(a[c]?.trim()??"")&&(n=c);if(n===-1)return{displayText:e,citations:[]};let r=a.slice(0,n).join(`
1879
+ `).trimEnd(),l=a.slice(n+1).join(`
1880
+ `).trim(),p=Rn(l).map(c=>In(c)).filter(c=>!!c);return{displayText:r,citations:p}}function Rn(e){let t=[],a="";for(let n of e.split(`
1881
+ `)){let r=n.trim();if(r){if(/^\d+\.\s+/.test(r)){a&&t.push(a.trim()),a=r.replace(/^\d+\.\s+/,"");continue}a&&(a=`${a} ${r}`)}}return a&&t.push(a.trim()),t}function In(e){let t=e.match(/https?:\/\/\S+/i);if(!t)return null;let a=t[0],n=e.slice(0,t.index).replace(/[.\s]+$/,"").trim();return{sourceDocument:a,knowledgeName:n||a}}function zn(e,t){let a=[],n=new Set;for(let r of[...e,...t]){let l=`${r.knowledgeName??""}::${r.sourceDocument??""}`;n.has(l)||(n.add(l),a.push(r))}return a}function $n(e,t){let a=o("button","kp-source-chip");a.type="button",a.setAttribute("aria-label",t.openSource);let n=o("span","kp-source-thumb");n.textContent="\u2726";let r=o("span","kp-source-chip-label",Me(e)??t.untitledSource);return a.append(n,r),a}function Hn(e){let t=o("button","kp-source-chip kp-source-chip-more");t.type="button";let a=o("span","kp-source-thumb-stack");for(let r=0;r<3;r+=1){let l=o("span","kp-source-thumb stacked");l.textContent="\u2726",a.appendChild(l)}let n=o("span","kp-source-chip-label",e.showAll);return t.append(a,n),t}function Mn(e,t,a){let n=o("button","kp-source-card");n.type="button",n.setAttribute("aria-label",t.openSource),n.addEventListener("click",a);let r=o("div","kp-source-card-media"),l=o("span","kp-source-thumb kp-source-thumb-large");l.textContent="\u2726";let i=o("div","kp-source-card-title",Me(e)??t.untitledSource),p=o("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}`),p.textContent=c.join(" \u2022 "),r.appendChild(l),n.append(r,i,p),n}function Nn(e){if(!e)return null;let t=e.trim();return/^https?:\/\//i.test(t)?t:null}function On(e,t){e.innerHTML=Un($t(t))}function $t(e){return e.replace(/\r\n/g,`
1457
1882
  `).replace(/<br\s*\/?>/gi,`
1458
- `)}function vn(e){return e.split(/\n{2,}/).map(a=>a.trim()).filter(Boolean).map(Cn).join("")}function Cn(e){let t=e.split(`
1459
- `).map(n=>n.trimEnd());if(t.every(n=>/^\s*\|.*\|\s*$/.test(n))&&t.length>=2)return Ln(t);if(t.every(n=>/^\d+\.\s+/.test(n)))return`<ol>${t.map(n=>`<li>${_(n.replace(/^\d+\.\s+/,""))}</li>`).join("")}</ol>`;if(t.every(n=>/^[-*]\s+/.test(n)))return`<ul>${t.map(n=>`<li>${_(n.replace(/^[-*]\s+/,""))}</li>`).join("")}</ul>`;let a=t[0]?.match(/^(#{1,6})\s+(.*)$/);if(a){let n=a[1]??"#",i=a[2]??"",l=n.length;return`<h${l}>${_(i)}</h${l}>`}return`<p>${t.map(n=>_(n)).join("<br>")}</p>`}function Ln(e){let t=e.filter((s,p)=>!(p===1&&/^\s*\|?(\s*:?-{3,}:?\s*\|)+\s*$/.test(s))).map(s=>An(s));if(t.length===0)return"";let a=t[0]??[],n=t.slice(1),i=`<thead><tr>${a.map(s=>`<th>${_(s)}</th>`).join("")}</tr></thead>`,l=n.length?`<tbody>${n.map(s=>`<tr>${s.map(p=>`<td>${_(p)}</td>`).join("")}</tr>`).join("")}</tbody>`:"";return`<div class="kp-table-wrap"><table>${i}${l}</table></div>`}function An(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim())}function _(e){let t=Z(e);return 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 Z(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function bt(e){typeof document>"u"||document.querySelectorAll("[data-chat-widget-host]").forEach(t=>{let a=t.shadowRoot;if(a){let n=a.querySelector(".kp-chat-widget");n&&!n.classList.contains("kp-chat-widget-embedded")&&(t.style.display=e?"none":"")}})}return Zt(Pn);})();
1883
+ `)}function Un(e){return e.split(/\n{2,}/).map(a=>a.trim()).filter(Boolean).map(Bn).join("")}function Bn(e){let t=e.split(`
1884
+ `).map(n=>n.trimEnd());if(t.every(n=>/^\s*\|.*\|\s*$/.test(n))&&t.length>=2)return jn(t);if(t.every(n=>/^\d+\.\s+/.test(n)))return`<ol>${t.map(n=>`<li>${Q(n.replace(/^\d+\.\s+/,""))}</li>`).join("")}</ol>`;if(t.every(n=>/^[-*]\s+/.test(n)))return`<ul>${t.map(n=>`<li>${Q(n.replace(/^[-*]\s+/,""))}</li>`).join("")}</ul>`;let a=t[0]?.match(/^(#{1,6})\s+(.*)$/);if(a){let n=a[1]??"#",r=a[2]??"",l=n.length;return`<h${l}>${Q(r)}</h${l}>`}return`<p>${t.map(n=>Q(n)).join("<br>")}</p>`}function jn(e){let t=e.filter((i,p)=>!(p===1&&/^\s*\|?(\s*:?-{3,}:?\s*\|)+\s*$/.test(i))).map(i=>Wn(i));if(t.length===0)return"";let a=t[0]??[],n=t.slice(1),r=`<thead><tr>${a.map(i=>`<th>${Q(i)}</th>`).join("")}</tr></thead>`,l=n.length?`<tbody>${n.map(i=>`<tr>${i.map(p=>`<td>${Q(p)}</td>`).join("")}</tr>`).join("")}</tbody>`:"";return`<div class="kp-table-wrap"><table>${r}${l}</table></div>`}function Wn(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim())}function Q(e){let t=O(e);return 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 O(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Rt(e){typeof document>"u"||document.querySelectorAll("[data-chat-widget-host]").forEach(t=>{let a=t.shadowRoot;if(a){let n=a.querySelector(".kp-chat-widget");n&&!n.classList.contains("kp-chat-widget-embedded")&&(t.style.display=e?"none":"")}})}return bn(Dn);})();
1460
1885
  //# sourceMappingURL=index.iife.js.map