@customer-agent/sdk 0.6.0-test.67b72921d3c0 → 0.6.1
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/chunks/{App-B4dn3hns.js → App-CJcyacL6.js} +2 -2
- package/chunks/InterviewChatScreen-BrhuFPxC.js +2 -0
- package/chunks/Panel-DVMQBIxn.js +7 -0
- package/chunks/{WidgetComposer-C_Y7bwhP.js → WidgetComposer-lTIqrnSE.js} +1 -1
- package/chunks/constants-BHZTZVRN.js +1 -0
- package/chunks/{controller-DsoiXsWM.js → controller-DKF2fXNi.js} +1 -1
- package/chunks/routes-aV4LZuEj.js +1 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/react.js +1 -1
- package/runtime.es.js +1 -1
- package/sdk.js +1 -1
- package/chunks/InterviewChatScreen-D37bCE1R.js +0 -2
- package/chunks/Panel-XDrfFRK4.js +0 -7
- package/chunks/constants-Do-S47mc.js +0 -1
- package/chunks/routes-Dh46ka4-.js +0 -1
package/sdk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){var e=`0.6.
|
|
1
|
+
(function(){var e=`0.6.1`;function t(){typeof window>`u`||(window.__customerAgentVersion=e)}var n=`__customerAgentRuntime`,r=`__customerAgentScript`,i=typeof document<`u`&&document.currentScript instanceof HTMLScriptElement?document.currentScript:null,a=[];t();var o=`idle`,s=null,c=null;function l(e){return typeof e==`object`&&!!e}function u(e){return Array.prototype.slice.call(e)}function d(){let e=i?.src??new URL(`sdk.js`,window.location.href).toString();return new URL(`runtime.es.js`,e).toString()}function f(e){let t=e.CustomerAgent??e.default;if(typeof t!=`function`)throw Error(`CustomerAgent widget runtime module did not export CustomerAgent.`);return Object.assign(t,{[n]:!0})}function p(){if(!s)return;let e=a.splice(0);for(let t of e)t(s)}async function m(){return o===`ready`&&s?s:o===`loading`&&c?await c:(o=`loading`,c=import(d()).then(e=>(s=f(e),window.CustomerAgent=s,o=`ready`,p(),s)).catch(e=>{throw o=`failed`,c=null,console.error(`CustomerAgent widget runtime failed to load.`,e),e}),await c)}function h(e){if(s){e(s);return}a.push(e),m().catch(()=>{})}function g(e,t){h(n=>{let r=n[e];typeof r==`function`&&r(...t)})}function _(e){return h(t=>{t(`boot`,e)}),R}async function v(){return await(await m()).ensureInvitation()}async function y(e){return await(await m()).startInvitation(e)}async function b(){return await(await m()).startInterview()}async function x(e,t){await(await m()).chooseInvitation(e,t)}async function S(e){await(await m()).sendInterviewMessage(e)}async function C(e){return await(await m()).loadInterviewReward(e)}function w(e){g(`update`,[e])}function T(e){g(`show`,[e])}function E(){g(`hide`,[])}function D(e){g(`toggle`,[e])}function O(e){g(`openEntry`,[e])}function k(){g(`shutdown`,[])}function A(e){g(`identify`,[e])}function j(e,t){g(`setContext`,[e,t])}async function M(){return await(await m()).getSession()}function N(){return s?.getSupportState()??null}function P(){return s?.getInterviewState()??null}function F(){return s?.getInterviewSession()??null}function I(){return s?.getState()??null}function L(e,t){let n=!0,r=()=>{};return h(i=>{n&&(r=i.on(e,t))}),()=>{n=!1,r()}}var R={chooseInvitation:x,async ensureInvitation(){let e=await v();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewState(){let e=P();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewSession(){return F()},async getSession(){let e=await M();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getState(){let e=I();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getSupportState(){let e=N();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,async startInterview(){let e=await b();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},async startInvitation(e){let t=await y(e);if(!t)throw Error(`CustomerAgent widget is not initialized.`);return t},toggle:D,update:w};function z(e,...t){switch(e){case`boot`:return _(t[0]);case`chooseInvitation`:return x(t[0],t[1]);case`ensureInvitation`:return v();case`getSession`:return M();case`getState`:return I();case`getSupportState`:return N();case`getInterviewState`:return P();case`getInterviewSession`:return F();case`hide`:return E();case`identify`:return A(t[0]);case`on`:return L(t[0],t[1]);case`openEntry`:return O(t[0]);case`loadInterviewReward`:return C(t[0]);case`sendInterviewMessage`:return S(t[0]);case`setContext`:return j(t[0],t[1]);case`show`:return T(t[0]);case`shutdown`:return k();case`startInvitation`:return y(t[0]);case`startInterview`:return b();case`toggle`:return D(t[0]);case`update`:return w(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var B=Object.assign(z,{[r]:!0,boot:_,chooseInvitation:x,ensureInvitation:v,getInterviewState:P,getInterviewSession:F,getSession:M,getState:I,getSupportState:N,hide:E,identify:A,on:L,openEntry:O,loadInterviewReward:C,sendInterviewMessage:S,setContext:j,show:T,shutdown:k,startInterview:b,startInvitation:y,toggle:D,update:w});function V(e){if(!l(e))return!1;let t=e.q;if(!Array.isArray(t)||t.length===0)return!1;for(let e of t)z(...u(e));return!0}function H(){if(!i)return;let e=i.dataset.appId;e&&B(`boot`,{app_id:e,open_on_init:i.dataset.open===`true`,position:i.dataset.position===`bottom-left`?`bottom-left`:`bottom-right`})}if(typeof window<`u`){let e=window.CustomerAgent;window.CustomerAgent=B,V(e)||H()}})();
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./constants-Do-S47mc.js";import{r as t}from"./interviewTypes-Ch2NsXKB.js";import{t as n}from"./i18n-Q8u2wtW4.js";import{r}from"../runtime.es.js";import{t as i}from"./react-CKmEJ8Ba.js";import{A as a,C as o,D as s,E as ee,O as te,S as c,T as ne,_ as re,a as l,c as u,d,g as f,i as p,j as m,l as h,o as g,p as _,s as v,t as y,u as b,v as x,w as S,y as C}from"./WidgetComposer-C_Y7bwhP.js";import{n as w}from"./conversationRegistry-Y5Ouo35n.js";import{t as T}from"./jsx-runtime-S2ZBQkZm.js";import{t as E}from"./classNames-3q0x02_x.js";var D=r(i(),1),O=T();function k(e){return Array.isArray(e.content)?e.content.map(e=>e.type===`text`?e.text:``).filter(Boolean).join(`
|
|
2
|
-
`):String(e.content??``)}function A(e){return e instanceof Date&&!Number.isNaN(e.getTime())}function j(e){let t=e.createdAt;if(A(t))return t;if(typeof t==`string`||typeof t==`number`){let e=new Date(t);if(A(e))return e}return new Date}function M(e,t){let r=Math.max(0,Date.now()-e.getTime()),i=6e4,a=60*i,o=24*a;return r<i?t.messages.relative_time_now:r<a?n(t.messages.relative_time_minute,{count:String(Math.floor(r/i))}):r<o?n(t.messages.relative_time_hour,{count:String(Math.floor(r/a))}):n(t.messages.relative_time_day,{count:String(Math.floor(r/o))})}function N(e,t,n,r){let i=[n.getFullYear(),n.getMonth()+1,n.getDate()].map(e=>String(e).padStart(2,`0`)).join(`_`);return`${(e??`Customer Agent`).trim().replace(/[^a-z0-9\u4e00-\u9fa5]+/gi,`_`).replace(/^_+|_+$/g,``)||`Customer_Agent`}_${t}_${i}_${r}.txt`}function P(e){let t=`var(--messenger-conversation-part-radius)`;return{borderBottomLeftRadius:t,borderBottomRightRadius:t,borderTopLeftRadius:t,borderTopRightRadius:t}}function F({controller:n,eventBus:r,isHeaderMenuEnabled:i=!0,locale:c,description:l=c.messages.interview_session_description,isExpanded:u=!1,isOpen:p=!0,onDownloadTranscript:h,onOpenMobileDock:g,onToggleExpanded:v,title:y,transcriptAppName:b=y,visitorName:T=`You`,viewportMode:A=`desktop`}){let[F,L]=(0,D.useState)(()=>n.getState()),[R,z]=(0,D.useState)(!1),[B,V]=(0,D.useState)({}),H=(0,D.useRef)(null),U=(0,D.useRef)(!1),W=(0,D.useRef)(null),G=(0,D.useRef)(new Set),K=(0,D.useRef)(F.phase),q=(0,D.useRef)(!1),J=ne({convertMessage:e=>e,isRunning:F.phase===_.SENDING,isSendDisabled:F.phase===_.SENDING||F.phase===_.TERMINAL,messages:F.messages,async onNew(t){let i=k(t).trim(),a=n.getState().sessionId;if(!i||!a)return;let o={conversationId:`interview/session/${a}`,conversationType:`interview`,entryId:`interview/session/${a}`,interviewSessionId:a},s=`interview-user-${Date.now()}`;r?.emit(e.MESSAGE_SENT,{...o,messageId:s,role:`user`}),r?.emit(e.MESSAGE_STARTED,{...o,role:`assistant`});try{await n.sendMessage(i);let t=[...n.getState().messages].reverse().find(e=>e.role===`assistant`);r?.emit(e.MESSAGE_COMPLETED,{...o,messageId:t?.id??`interview-assistant-${Date.now()}`,role:`assistant`})}catch(t){throw r?.emit(e.MESSAGE_FAILED,{...o,role:`assistant`}),t}}}),ae=[...F.messages].reverse().find(e=>e.role===`assistant`&&k(e).trim())?.id??null,Y=F.messages.some(e=>k(e).trim());(0,D.useEffect)(()=>n.subscribe(L),[n]),(0,D.useEffect)(()=>{if(!i){z(!1);return}if(!R)return;function e(e){let t=e.target;t instanceof Node&&(W.current?.contains(t)||z(!1))}return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[i,R]),(0,D.useEffect)(()=>{if(F.phase===_.TERMINAL&&F.status===t.COMPLETED&&F.sessionId){if(G.current.has(F.sessionId))return;G.current.add(F.sessionId);let t={conversationId:`interview/session/${F.sessionId}`,conversationType:`interview`,entryId:`interview/session/${F.sessionId}`,interviewSessionId:F.sessionId};r?.emit(e.INTERVIEW_SESSION_COMPLETED,{...t,status:F.status}),n.loadReward(F.sessionId).then(n=>{r?.emit(e.INTERVIEW_REWARD_UPDATED,{...t,reward:n})}).catch(e=>{console.error(`CustomerAgent interview reward request failed.`,e)})}},[n,r,F.phase,F.sessionId,F.status]);let X=(0,D.useCallback)(()=>{let e=H.current;if(!e||e.disabled||A===`mobile`||e.closest(`form`)?.querySelector(`[data-customer-agent-emoji-popover="true"]`))return!1;let t=e.value.length;return e.focus(),e.setSelectionRange(t,t),document.activeElement===e},[A]),Z=(0,D.useCallback)(()=>{let e=0,t=0;function n(){if(q.current&&F.phase===_.ACTIVE){if(X()){q.current=!1;return}e+=1,e<6&&(t=window.requestAnimationFrame(n))}}return t=window.requestAnimationFrame(n),()=>window.cancelAnimationFrame(t)},[X,F.phase]);(0,D.useEffect)(()=>{let e=K.current;K.current=F.phase;let t=H.current?.closest(`form`),n=document.activeElement,r=n instanceof HTMLElement&&!!t?.contains(n);if(F.phase===_.TERMINAL){q.current=!1,r&&n.blur();return}if(F.phase===_.SENDING){e!==_.SENDING&&(q.current=r||e===_.ACTIVE),r&&n.blur();return}if(!(e!==_.SENDING||F.phase!==_.ACTIVE||!q.current))return Z()},[Z,F.phase]);let Q=(0,D.useCallback)(()=>{U.current||!p||A===`mobile`||F.phase!==_.ACTIVE||window.requestAnimationFrame(()=>{U.current||=X()})},[X,p,F.phase,A]);function oe(e){H.current=e,e&&Q()}(0,D.useEffect)(()=>{if(!p){U.current=!1;return}Q()},[Q,p]);function $(e,t){V(n=>({...n,[e]:!t}))}function se(e,t,n){let r=e.target;r instanceof Element&&r.closest(`a, button`)||$(t,n)}function ce(e,t,n){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),$(t,n))}function le(){let t=new Date,n=t.getTime(),i=d({conversationName:y,exportedAt:t,exportSourceName:b,locale:c.locale,messages:F.messages.map(e=>({createdAt:j(e),role:e.role===`user`?`user`:`assistant`,text:k(e)})),userSpeaker:T}),a=new Blob([i],{type:`text/plain;charset=utf-8`}),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o,s.download=N(b,`interview`,t,n),s.click(),window.setTimeout(()=>URL.revokeObjectURL(o),0),r?.emit(e.TRANSCRIPT_DOWNLOADED,{...F.sessionId?{conversationId:`interview/session/${F.sessionId}`,entryId:`interview/session/${F.sessionId}`,interviewSessionId:F.sessionId}:{},conversationType:`interview`,messageCount:F.messages.length}),h?.()}return(0,O.jsx)(o,{runtime:J,children:(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-bg-canvas`,"aria-label":y,"data-customer-agent-interview-chat":``,children:[(0,O.jsxs)(`header`,{className:E(`grid shrink-0 items-center gap-[var(--messenger-header-gap)] border-b border-border-divider bg-bg-canvas px-[var(--messenger-header-padding-x)] py-[var(--messenger-header-padding-y)]`,A===`mobile`?`grid-cols-[auto_auto_1fr_auto] pl-1`:`grid-cols-[auto_1fr_auto]`),"data-customer-agent-panel-header":``,children:[A===`mobile`?(0,O.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-6 cursor-pointer place-items-center rounded-md border-0 bg-transparent p-0 text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none`,"aria-label":`Open conversations`,title:`Open conversations`,type:`button`,onClick:g,children:(0,O.jsx)(s,{size:16})}):null,(0,O.jsx)(`div`,{className:`grid h-[var(--messenger-header-avatar-size)] w-[var(--messenger-header-avatar-size)] place-items-center rounded-full bg-[var(--customer-agent-primary)] text-gray-1 shadow-[0_0_0_1px_var(--border-default)]`,"aria-hidden":`true`,children:(0,O.jsx)(w,{size:16})}),(0,O.jsxs)(`div`,{className:`flex min-w-0 flex-col justify-center`,children:[(0,O.jsx)(`p`,{className:`m-0 truncate text-[length:var(--messenger-header-title-size)] font-semibold leading-[var(--messenger-header-title-line-height)]`,children:y}),(0,O.jsx)(`span`,{className:`block truncate text-[length:var(--messenger-header-subtitle-size)] leading-[var(--messenger-header-subtitle-line-height)] text-text-tertiary`,children:l})]}),i&&(Y||v)?(0,O.jsx)(`div`,{className:`relative flex items-center gap-[var(--messenger-header-action-gap)] pr-[var(--messenger-header-button-size)]`,children:(0,O.jsxs)(`div`,{ref:W,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),z(!1))},children:[(0,O.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)] cursor-pointer place-items-center rounded-[var(--messenger-header-button-radius)] border-0 bg-transparent text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none data-[state=open]:bg-gray-3 data-[state=open]:text-text-primary`,"aria-expanded":R,"aria-haspopup":`menu`,"aria-label":c.messages.more_options,"data-state":R?`open`:`closed`,title:c.messages.more_options,type:`button`,onClick:()=>z(e=>!e),children:(0,O.jsx)(a,{size:16})}),R?(0,O.jsxs)(`div`,{className:`absolute top-[calc(100%+0.5rem)] right-[var(--messenger-header-button-size)] z-[var(--z-dropdown)] grid min-w-64 gap-1 rounded-lg border border-border-default bg-bg-elevated p-1 text-sm text-text-primary shadow-popover`,role:`menu`,children:[v?(0,O.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{z(!1),v()},children:[u?(0,O.jsx)(ee,{size:16}):(0,O.jsx)(te,{size:16}),(0,O.jsx)(`span`,{children:u?c.messages.collapse_window:c.messages.expand_window})]}):null,Y?(0,O.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{z(!1),le()},children:[(0,O.jsx)(m,{size:16}),(0,O.jsx)(`span`,{children:c.messages.download_transcript})]}):null]}):null]})}):(0,O.jsx)(`div`,{className:`h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)]`,"aria-hidden":`true`})]}),(0,O.jsx)(re,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden bg-bg-canvas`,children:(0,O.jsx)(f,{className:`customer-agent-thread-viewport min-h-0 flex-1 overflow-y-auto bg-bg-canvas [scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&>[data-radix-scroll-area-content]]:flex [&>[data-radix-scroll-area-content]]:min-h-full [&>[data-radix-scroll-area-content]]:flex-col [&>[data-radix-scroll-area-content]]:self-stretch [&>[data-radix-scroll-area-content]]:bg-inherit [&>div]:flex [&>div]:min-h-full [&>div]:flex-col [&>div]:self-stretch [&>div]:bg-inherit`,"data-customer-agent-thread-viewport":``,"aria-live":`polite`,autoScroll:!0,role:`log`,children:(0,O.jsxs)(`div`,{className:E(`flex min-h-full flex-col px-[var(--messenger-conversation-horizontal-padding)] pt-3`,`customer-agent-message-list`),"data-customer-agent-message-list":``,children:[(0,O.jsx)(S,{children:({message:e})=>{let t=e,n=k(t),r=e.role===`user`?`user`:`assistant`,i=r===`assistant`,a=t.id??`${r}:${n}`,o=j(t),s=i&&(B[a]??a===ae);return n?(0,O.jsxs)(C,{className:r===`user`?`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-end items-end`:`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-start items-start`,"aria-expanded":i?s:void 0,"data-message-role":r,role:i?`button`:void 0,tabIndex:i?0:void 0,onClick:i?e=>se(e,a,s):void 0,onKeyDown:i?e=>ce(e,a,s):void 0,children:[(0,O.jsx)(`div`,{className:r===`user`?`w-fit max-w-full whitespace-pre-wrap bg-[var(--customer-agent-primary)] px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-gray-1`:`w-fit max-w-full whitespace-pre-wrap bg-gray-3 px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-text-secondary`,style:P(r),children:(0,O.jsx)(x,{children:({part:e})=>e.type===`text`?(0,O.jsx)(`span`,{children:e.text}):null})}),r===`assistant`?(0,O.jsxs)(`span`,{className:E(`overflow-hidden px-[var(--messenger-conversation-part-padding-x)] text-sm leading-5 text-text-tertiary transition-[max-height,opacity,transform,margin] duration-200 ease-out`,s?`mt-1 max-h-5 translate-y-0 opacity-100`:`mt-0 max-h-0 -translate-y-1 opacity-0`),"data-state":s?`visible`:`hidden`,"data-testid":`interview-message-metadata`,children:[y,` · `,c.messages.assistant_author_ai,` ·`,` `,M(o,c)]}):null]}):null}}),F.phase===_.SENDING?(0,O.jsx)(I,{}):null]})})}),(0,O.jsx)(ie,{inputRef:H,isHidden:F.phase===_.SENDING||F.phase===_.TERMINAL,locale:c,onInputRef:oe})]})})}function ie({inputRef:e,isHidden:t,locale:n,onInputRef:r}){let i=c().composer,a=b({composerRuntime:i,inputRef:e});return(0,O.jsxs)(v,{className:E(`relative z-[var(--z-composer)] shrink-0 bg-transparent px-[var(--messenger-conversation-horizontal-padding)] pt-0 pb-[max(1rem,calc(1rem+var(--customer-agent-bottom-inset)))]`,`-mt-[var(--messenger-radius)]`),isHidden:t,onSubmit:a.closeEmojiPicker,children:[(0,O.jsx)(g,{inputAriaLabel:n.messages.message_aria_label,inputRef:r,placeholder:n.messages.interview_input_placeholder}),(0,O.jsxs)(y,{children:[(0,O.jsx)(h,{children:(0,O.jsx)(l,{hostRef:a.emojiPickerHostRef,isLoading:a.isEmojiPickerLoading,open:a.isEmojiPickerOpen,onOpenChange:a.onEmojiOpenChange,children:(0,O.jsx)(p,{emojiLabel:n.messages.add_emoji})})}),(0,O.jsx)(u,{sendLabel:n.messages.send_message})]})]})}function I(){return(0,O.jsx)(`div`,{className:`mt-[var(--messenger-conversation-part-stack-gap)] flex max-w-[var(--messenger-conversation-part-max-width)] flex-col self-start items-start`,"data-message-role":`assistant`,"data-testid":`interview-thinking-bubble`,children:(0,O.jsx)(`div`,{className:`w-fit max-w-full whitespace-pre-wrap bg-gray-3 px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5 text-text-secondary`,style:P(`assistant`),children:(0,O.jsx)(L,{})})})}function L(){return(0,O.jsxs)(`span`,{className:`inline-flex h-5 items-center gap-1 align-middle text-text-quaternary`,"aria-hidden":`true`,children:[(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current`,"data-testid":`interview-thinking-dot`}),(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:140ms]`,"data-testid":`interview-thinking-dot`}),(0,O.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:280ms]`,"data-testid":`interview-thinking-dot`})]})}export{F as InterviewChatScreen};
|
package/chunks/Panel-XDrfFRK4.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./constants-Do-S47mc.js";import{n as t,t as n}from"./interviewTypes-Ch2NsXKB.js";import{a as r,b as i,c as a,d as o,f as s,i as c,l,m as u,n as d,o as f,r as ee,s as p,t as m,v as h,y as g}from"./routes-Dh46ka4-.js";import{d as _,l as te,s as ne,t as v}from"./navigationState-LdqG_Osx.js";import{t as y}from"./i18n-Q8u2wtW4.js";import{r as b}from"../runtime.es.js";import{t as x}from"./react-CKmEJ8Ba.js";import{A as re,C as ie,D as ae,E as oe,O as se,S as ce,T as S,_ as C,a as w,b as T,c as le,d as E,f as D,g as ue,h as de,i as fe,j as pe,k as O,l as me,m as k,n as he,o as ge,r as _e,s as ve,t as ye,u as be,v as A,w as xe,x as Se,y as Ce}from"./WidgetComposer-C_Y7bwhP.js";import{n as we,t as j}from"./WidgetGlobalLoading-B_z-6_yk.js";import{t as M}from"./DockNavigation-CI9i1n3W.js";import{t as N}from"./conversationRegistry-Y5Ouo35n.js";import{t as P}from"./jsx-runtime-S2ZBQkZm.js";import{t as F}from"./classNames-3q0x02_x.js";import{N as Te}from"./useSmooth-CYGvfMVe.js";import{S as I,_ as Ee,b as De,c as Oe,d as ke,f as Ae,g as je,h as Me,l as Ne,m as L,p as Pe,s as R,u as Fe,v as Ie,w as Le}from"./dist-dzGCY2H5.js";var z=b(x(),1),B=P(),Re=`Dialog`,[ze,Be]=Ee(Re),[Ve,V]=ze(Re),He=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=z.useRef(null),c=z.useRef(null),[l,u]=Me({prop:r,defaultProp:i??!1,onChange:a,caller:Re});return(0,B.jsx)(Ve,{scope:t,triggerRef:s,contentRef:c,contentId:Pe(),titleId:Pe(),descriptionId:Pe(),open:l,onOpenChange:u,onOpenToggle:z.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};He.displayName=Re;var Ue=`DialogTrigger`,We=z.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=V(Ue,n),a=Le(t,i.triggerRef);return(0,B.jsx)(Ie.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":at(i.open),...r,ref:a,onClick:I(e.onClick,i.onOpenToggle)})});We.displayName=Ue;var H=`DialogPortal`,[Ge,Ke]=ze(H,{forceMount:void 0}),qe=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=V(H,t);return(0,B.jsx)(Ge,{scope:t,forceMount:n,children:z.Children.map(r,e=>(0,B.jsx)(L,{present:n||a.open,children:(0,B.jsx)(Fe,{asChild:!0,container:i,children:e})}))})};qe.displayName=H;var Je=`DialogOverlay`,Ye=z.forwardRef((e,t)=>{let n=Ke(Je,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=V(Je,e.__scopeDialog);return a.modal?(0,B.jsx)(L,{present:r||a.open,children:(0,B.jsx)(U,{...i,ref:t})}):null});Ye.displayName=Je;var Xe=De(`DialogOverlay.RemoveScroll`),U=z.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=V(Je,n);return(0,B.jsx)(Oe,{as:Xe,allowPinchZoom:!0,shards:[i.contentRef],children:(0,B.jsx)(Ie.div,{"data-state":at(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),W=`DialogContent`,Ze=z.forwardRef((e,t)=>{let n=Ke(W,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=V(W,e.__scopeDialog);return(0,B.jsx)(L,{present:r||a.open,children:a.modal?(0,B.jsx)(Qe,{...i,ref:t}):(0,B.jsx)($e,{...i,ref:t})})});Ze.displayName=W;var Qe=z.forwardRef((e,t)=>{let n=V(W,e.__scopeDialog),r=z.useRef(null),i=Le(t,n.contentRef,r);return z.useEffect(()=>{let e=r.current;if(e)return R(e)},[]),(0,B.jsx)(et,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:I(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:I(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:I(e.onFocusOutside,e=>e.preventDefault())})}),$e=z.forwardRef((e,t)=>{let n=V(W,e.__scopeDialog),r=z.useRef(!1),i=z.useRef(!1);return(0,B.jsx)(et,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),et=z.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=V(W,n),c=z.useRef(null),l=Le(t,c);return Ne(),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(ke,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,B.jsx)(Ae,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":at(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(lt,{titleId:s.titleId}),(0,B.jsx)(dt,{contentRef:c,descriptionId:s.descriptionId})]})]})}),tt=`DialogTitle`,G=z.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=V(tt,n);return(0,B.jsx)(Ie.h2,{id:i.titleId,...r,ref:t})});G.displayName=tt;var nt=`DialogDescription`,rt=z.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=V(nt,n);return(0,B.jsx)(Ie.p,{id:i.descriptionId,...r,ref:t})});rt.displayName=nt;var K=`DialogClose`,it=z.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=V(K,n);return(0,B.jsx)(Ie.button,{type:`button`,...r,ref:t,onClick:I(e.onClick,()=>i.onOpenChange(!1))})});it.displayName=K;function at(e){return e?`open`:`closed`}var ot=`DialogTitleWarning`,[st,ct]=je(ot,{contentName:W,titleName:tt,docsSlug:`dialog`}),lt=({titleId:e})=>{let t=ct(ot),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
-
|
|
3
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
-
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return z.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},ut=`DialogDescriptionWarning`,dt=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ct(ut).contentName}}.`;return z.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ft=He,pt=Ye,q=Ze,mt=G,ht=rt,gt=365.2425,_t=6048e5,vt=864e5,yt=3600*24;yt*7,yt*gt/12*3;var bt=Symbol.for(`constructDateFrom`);function J(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&bt in e?e[bt](t):e instanceof Date?new e.constructor(t):new Date(t)}function Y(e,t){return J(t||e,e)}var xt={};function St(){return xt}function Ct(e,t){let n=St(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Y(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function wt(e,t){return Ct(e,{...t,weekStartsOn:1})}function Tt(e,t){let n=Y(e,t?.in),r=n.getFullYear(),i=J(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=wt(i),o=J(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=wt(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Et(e){let t=Y(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function Dt(e,...t){let n=J.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Ot(e,t){let n=Y(e,t?.in);return n.setHours(0,0,0,0),n}function kt(e,t,n){let[r,i]=Dt(n?.in,e,t),a=Ot(r),o=Ot(i),s=+a-Et(a),c=+o-Et(o);return Math.round((s-c)/vt)}function At(e,t){let n=Tt(e,t),r=J(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),wt(r)}function jt(e,t,n){let[r,i]=Dt(n?.in,e,t);return+Ot(r)==+Ot(i)}function Mt(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function Nt(e){return!(!Mt(e)&&typeof e!=`number`||isNaN(+Y(e)))}function Pt(e,t){let n=Y(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var Ft={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},It=(e,t,n)=>{let r,i=Ft[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Lt(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var Rt={date:Lt({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Lt({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Lt({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},zt={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},Bt=(e,t,n,r)=>zt[e];function Vt(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var Ht={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:Vt({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:Vt({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:Vt({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:Vt({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:Vt({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function Ut(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Gt(s,e=>e.test(o)):Wt(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function Wt(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Gt(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Kt(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var qt={code:`en-US`,formatDistance:It,formatLong:Rt,formatRelative:Bt,localize:Ht,match:{ordinalNumber:Kt({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Ut({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:Ut({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:Ut({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:Ut({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:Ut({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Jt(e,t){let n=Y(e,t?.in);return kt(n,Pt(n))+1}function Yt(e,t){let n=Y(e,t?.in),r=wt(n)-+At(n);return Math.round(r/_t)+1}function Xt(e,t){let n=Y(e,t?.in),r=n.getFullYear(),i=St(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=J(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=Ct(o,t),c=J(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=Ct(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Zt(e,t){let n=St(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Xt(e,t),a=J(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),Ct(a,t)}function Qt(e,t){let n=Y(e,t?.in),r=Ct(n,t)-+Zt(n,t);return Math.round(r/_t)+1}function X(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var $t={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return X(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):X(n+1,2)},d(e,t){return X(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return X(e.getHours()%12||12,t.length)},H(e,t){return X(e.getHours(),t.length)},m(e,t){return X(e.getMinutes(),t.length)},s(e,t){return X(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return X(Math.trunc(r*10**(n-3)),t.length)}},en={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},tn={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return $t.y(e,t)},Y:function(e,t,n,r){let i=Xt(e,r),a=i>0?i:1-i;return t===`YY`?X(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):X(a,t.length)},R:function(e,t){return X(Tt(e),t.length)},u:function(e,t){return X(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return X(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return X(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return $t.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return X(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Qt(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):X(i,t.length)},I:function(e,t,n){let r=Yt(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):X(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):$t.d(e,t)},D:function(e,t,n){let r=Jt(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):X(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return X(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return X(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return X(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?en.noon:r===0?en.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?en.evening:r>=12?en.afternoon:r>=4?en.morning:en.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return $t.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):$t.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):X(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):X(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):$t.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):$t.s(e,t)},S:function(e,t){return $t.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return rn(r);case`XXXX`:case`XX`:return an(r);default:return an(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return rn(r);case`xxxx`:case`xx`:return an(r);default:return an(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+nn(r,`:`);default:return`GMT`+an(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+nn(r,`:`);default:return`GMT`+an(r,`:`)}},t:function(e,t,n){return X(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return X(+e,t.length)}};function nn(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+X(a,2)}function rn(e,t){return e%60==0?(e>0?`-`:`+`)+X(Math.abs(e)/60,2):an(e,t)}function an(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=X(Math.trunc(r/60),2),a=X(r%60,2);return n+i+t+a}var on=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},sn=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},cn={p:sn,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return on(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,on(r,t)).replace(`{{time}}`,sn(i,t))}},ln=/^D+$/,un=/^Y+$/,dn=[`D`,`DD`,`YY`,`YYYY`];function fn(e){return ln.test(e)}function pn(e){return un.test(e)}function mn(e,t,n){let r=hn(e,t,n);if(console.warn(r),dn.includes(e))throw RangeError(r)}function hn(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var gn=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,_n=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,vn=/^'([^]*?)'?$/,yn=/''/g,bn=/[a-zA-Z]/;function xn(e,t,n){let r=St(),i=n?.locale??r.locale??qt,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Y(e,n?.in);if(!Nt(s))throw RangeError(`Invalid time value`);let c=t.match(_n).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=cn[t];return n(e,i.formatLong)}return e}).join(``).match(gn).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:Sn(e)};if(tn[t])return{isToken:!0,value:e};if(t.match(bn))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&pn(a)||!n?.useAdditionalDayOfYearTokens&&fn(a))&&mn(a,t,String(e));let o=tn[a[0]];return o(s,a,i.localize,l)}).join(``)}function Sn(e){let t=e.match(vn);return t?t[1].replace(yn,`'`):e}function Cn(){return{handledInviteChoices:{},entries:[],invitePrompt:null,isMobileDockOpen:!1}}function wn(e,n,r,i={}){if(!n?.prompt||n.status!==N.INVITABLE)return e;let a=e.entries.find(e=>e.id===n.id),o=e.handledInviteChoices[n.prompt.invitationId];if(o===t.CLOSE)return{...e,invitePrompt:null,isMobileDockOpen:!1};let s=(i.canShowPrompt??!0)&&o!==t.LATER&&a?.unread!==!1;return{...e,entries:[...e.entries.filter(e=>e.id!==n.id),{...n,unread:a?.unread??!0}],invitePrompt:s?n.prompt:null,isMobileDockOpen:s&&r===`mobile`}}function Tn(e,t){return!t||t.kind!==`interview`||t.status!==N.ACTIVE?e:{...e,entries:[...e.entries.filter(e=>e.id!==t.id&&!(e.kind===`interview`&&e.status===N.INVITABLE)),{...t,unread:!1}],invitePrompt:null,isMobileDockOpen:!1}}function En(e,t){return{...e,entries:e.entries.map(e=>e.id===t?{...e,unread:!1}:e)}}function Dn(e,n,r){return{...e,handledInviteChoices:{...e.handledInviteChoices,[n]:r},entries:r===t.CLOSE?e.entries.filter(e=>e.prompt?.invitationId!==n):e.entries,invitePrompt:null,isMobileDockOpen:!1}}function On(e,{invitationId:t,sessionId:n,subtitle:r,title:i}){let a=e.entries.find(e=>e.prompt?.invitationId===t),o={id:`interview/session/${n}`,kind:`interview`,priority:a?.priority??20,status:N.ACTIVE,subtitle:r,title:i},s={...e.handledInviteChoices};return delete s[t],{...e,handledInviteChoices:s,entries:[...e.entries.filter(e=>e.prompt?.invitationId!==t),o],invitePrompt:null,isMobileDockOpen:!1}}function kn({children:e,scope:t,transitionKey:n}){let r=(0,z.useRef)(1),i=(0,z.useRef)({content:e,id:0,isPresent:!0,shouldAnimate:!1,transitionKey:n}),[a,o]=(0,z.useState)(()=>[i.current]);(0,z.useLayoutEffect)(()=>{o(t=>{let a=i.current;if(a.transitionKey===n){let n={...a,content:e};return i.current=n,t.map(e=>e.id===n.id?n:e)}let o={...a,isPresent:!1,shouldAnimate:!0},s={content:e,id:r.current++,isPresent:!0,shouldAnimate:!0,transitionKey:n};return i.current=s,[...t.filter(e=>e.id!==a.id&&e.isPresent),o,s]})},[e,n]);function s(e){o(t=>t.filter(t=>t.id!==e))}function c(e,t){t.isPresent||e.target!==e.currentTarget||e.animationName!==`customer-agent-chat-route-out`||s(t.id)}let l=t===`shell`?`customer-agent-shell-route-layer absolute inset-0 flex min-h-0 flex-1`:`customer-agent-chat-route-layer absolute inset-0 flex min-h-0 flex-1`,u=t===`shell`?`customer-agent-shell-route-content flex min-h-0 flex-1 flex-row`:`customer-agent-chat-route-content flex min-h-0 flex-1 flex-col`;return(0,B.jsx)(`div`,{className:`customer-agent-${t}-route-stack relative flex min-w-0 flex-1 overflow-hidden`,"data-customer-agent-route-stack":t,children:a.map(e=>(0,B.jsx)(L,{present:e.isPresent,children:(0,B.jsx)(`div`,{className:l,"aria-hidden":!e.isPresent,"data-route-state":e.isPresent?`open`:`closed`,"data-route-transition-key":e.transitionKey,"data-route-motion":e.shouldAnimate?`animate`:`idle`,"data-testid":`customer-agent-${t}-route-layer`,onAnimationEnd:t=>c(t,e),children:(0,B.jsx)(`div`,{className:u,"data-route-content":``,children:e.content})})},e.id))})}var An=null,jn=(0,z.lazy)(async()=>({default:(await Mn()).MobileDockDrawer}));function Mn(){return An??=import(`./MobileDockDrawer-ZIdezZML.js`).catch(e=>{throw An=null,e}),An}function Nn({activeEntryId:e,ariaLabel:t,children:n,entries:r,invitePrompt:i=null,interviewChat:o,isChatLoading:s=!1,isExpanded:c,isMobileDockOpen:l,isOpen:u,route:d,routeTransitionKey:f=0,style:ee,viewportMode:m,onEntrySelect:h,onInviteClose:g,onInviteLater:_,onInviteStart:te,onMobileDockOpenChange:ne}){let[v,y]=(0,z.useState)(null),b=i?.invitationId??null,x=!!(b&&r.some(e=>e.prompt?.invitationId===b)),re=!!(b&&x&&v===b)&&(m===`desktop`||l),ie=d.name,ae=d.name===a.AGENTS_CONVERSATIONS?[f,d.child.name,d.child.entryId,s&&d.child.name===p.CHAT?`loading`:`ready`].join(`:`):f;(0,z.useEffect)(()=>{m===`mobile`&&Mn()},[m]),(0,z.useEffect)(()=>{if(!b||!x)return;let e=window.setTimeout(()=>{y(b)},280);return()=>window.clearTimeout(e)},[x,b]);let oe=d.name===a.GLOBAL_LOADING?(0,B.jsx)(j,{label:`Loading conversations`}):(0,B.jsxs)(B.Fragment,{children:[m===`desktop`?(0,B.jsx)(M,{activeEntryId:e,entries:r,invitePrompt:i,isInvitePromptOpen:re,onEntrySelect:h,onInviteClose:g,onInviteLater:_,onInviteStart:te}):(0,B.jsx)(Fn,{isOpen:l,onOpenChange:ne,children:(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(In,{}),children:(0,B.jsx)(jn,{activeEntryId:e,entries:r,invitePrompt:i,isInvitePromptOpen:re,onEntrySelect:h,onInviteClose:g,onInviteLater:_,onInviteStart:te,onOpenChange:ne})})}),(0,B.jsx)(`div`,{className:`relative flex min-w-0 flex-1 flex-col overflow-hidden rounded-l-[28px] border-l border-border-divider bg-bg-canvas shadow-[-6px_0_18px_rgba(9,14,21,0.035)] data-[viewport-mode=mobile]:rounded-none data-[viewport-mode=mobile]:border-l-0 data-[viewport-mode=mobile]:shadow-none`,"data-customer-agent-chat-outlet":``,"data-viewport-mode":m,children:(0,B.jsx)(kn,{scope:`chat`,transitionKey:ae,children:(0,B.jsx)(Pn,{inviteMask:re?(0,B.jsx)(`div`,{className:`absolute inset-0 z-10 animate-[customer-agent-invite-mask-in_140ms_ease-out_both] bg-black/20 motion-reduce:animate-none`,"data-state":`open`,"data-testid":`interview-invite-mask`}):null,interviewChat:o,isChatLoading:s,route:d,children:n})})})]});return(0,B.jsx)(`section`,{className:`customer-agent-panel flex h-full w-full overflow-hidden rounded-messenger bg-bg-canvas text-text-primary outline-none data-[expanded=true]:[--messenger-conversation-part-max-width:520px] data-[viewport-mode=mobile]:h-[var(--customer-agent-visual-height)] data-[viewport-mode=mobile]:rounded-none`,"aria-hidden":!u,"aria-label":t,"data-expanded":c?`true`:`false`,"data-route":d.name,"data-state":u?`open`:`closed`,"data-viewport-mode":m,style:ee,children:(0,B.jsx)(kn,{scope:`shell`,transitionKey:ie,children:oe})})}function Pn({children:e,inviteMask:t,interviewChat:n,isChatLoading:r,route:i}){return i.name===a.AGENTS_CONVERSATIONS?i.child.name===p.INTERVIEW_STARTING?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(j,{label:`Starting interview`}),t]}):i.child.name===p.CHAT&&r&&f(i.child.entryId)?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(j,{label:`Loading chat`}),t]}):i.child.entryId.startsWith(`interview/`)?(0,B.jsxs)(B.Fragment,{children:[n??(0,B.jsx)(j,{label:`Loading interview`}),t]}):(0,B.jsxs)(B.Fragment,{children:[e,t]}):null}function Fn({children:e,isOpen:t,onOpenChange:n}){return(0,B.jsxs)(ft,{modal:!0,open:t,onOpenChange:n,children:[(0,B.jsx)(pt,{className:`absolute inset-0 z-20 bg-black/20 data-[state=open]:animate-[customer-agent-mobile-dock-overlay-in_160ms_ease-out_both] motion-reduce:animate-none`,"data-customer-agent-mobile-dock-mask":``}),(0,B.jsxs)(q,{className:`absolute inset-y-0 left-0 z-30 w-[min(360px,100%)] bg-transparent outline-none data-[state=open]:animate-[customer-agent-mobile-dock-in_180ms_var(--ease-emphasis)_both] motion-reduce:animate-none`,"aria-label":`Conversations`,"aria-describedby":void 0,"data-customer-agent-mobile-dock":``,onPointerDown:e=>{e.target===e.currentTarget&&n(!1)},children:[(0,B.jsx)(mt,{className:`sr-only`,children:`Conversations`}),(0,B.jsx)(ht,{className:`sr-only`,children:`Select a conversation.`}),e]})]})}function In(){return(0,B.jsx)(`div`,{className:`pointer-events-auto h-full w-16 bg-bg-canvas shadow-card`,"aria-label":`Loading conversations`,"data-customer-agent-mobile-dock-rail":``,"data-customer-agent-mobile-dock-skeleton":``,role:`status`,children:(0,B.jsxs)(`div`,{className:`flex w-16 shrink-0 flex-col items-center gap-3 px-2 py-4`,children:[(0,B.jsx)(Ln,{className:`h-10 w-10 rounded-lg`}),(0,B.jsx)(Ln,{className:`h-10 w-10 rounded-lg`})]})})}function Ln({className:e}){return(0,B.jsx)(`div`,{className:F(`animate-pulse rounded bg-gray-3`,e),"data-customer-agent-skeleton":``})}function Rn(){return{name:a.GLOBAL_LOADING}}function zn(){let e={name:a.GLOBAL_LOADING};return{action:`reset`,current:e,stack:[e],transitionKey:0}}function Bn(e,t){return{...t,transitionKey:e.transitionKey+1}}function Vn(e,t){if(!e||!t)return!1;switch(e.name){case a.GLOBAL_LOADING:return t.name===a.GLOBAL_LOADING?Hn(e.target,t.target):!1;case a.GLOBAL_ERROR:return t.name===a.GLOBAL_ERROR?Hn(e.retryTo,t.retryTo):!1;case a.AGENTS_CONVERSATIONS:return t.name!==a.AGENTS_CONVERSATIONS||e.child.name!==t.child.name?!1:e.child.name===p.INTERVIEW_STARTING?t.child.name===p.INTERVIEW_STARTING&&e.child.entryId===t.child.entryId&&e.child.invitationId===t.child.invitationId:t.child.name===p.CHAT&&e.child.entryId===t.child.entryId}}function Hn(e,t){return e||t?Vn(e,t):!0}function Un(e,t){switch(t.type){case`push`:return Vn(e.current,t.route)?e:Bn(e,{action:`push`,current:t.route,previous:e.current,stack:[...e.stack,t.route]});case`replace`:return Vn(e.current,t.route)?e:Bn(e,{action:`replace`,current:t.route,previous:e.current,stack:[...e.stack.slice(0,-1),t.route]});case`reset`:return Vn(e.current,t.route)?e:Bn(e,{action:`reset`,current:t.route,previous:e.current,stack:[t.route]});case`back`:{let n=e.stack.slice(0,-1),r=n[n.length-1]??t.fallback??e.current;return Bn(e,{action:`back`,current:r,previous:e.current,stack:n.length>0?n:[r]})}}}var Wn=`customer_agent:widget_route`;function Gn(e){return typeof e==`string`&&e.trim()?e.trim():null}function Kn(e){let t=Gn(e.user?.id),n=Gn(e.anonymous_id),r=t?`user:${t}`:n?`anonymous:${n}`:`anonymous`;return encodeURIComponent(r)}function qn(e){return`${Wn}:${e.app_id}:${Kn(e)}`}function Jn(e){return e.name===a.AGENTS_CONVERSATIONS?e.child.name===p.CHAT&&Zn(e.child.entryId):!1}function Yn(e){return!!e&&typeof e==`object`}function Xn(e){if(!Yn(e)||e.name!==a.AGENTS_CONVERSATIONS)return!1;let t=e.child;return!Yn(t)||typeof t.entryId!=`string`?!1:!!(t.name===p.CHAT&&Zn(t.entryId))}function Zn(e){return e.startsWith(`support/`)?f(e):e.startsWith(`interview/session/`)?c(e):!0}function Qn(e){if(!e)return null;let t=JSON.parse(e);return Xn(t)&&Jn(t)?t:null}function $n(e){try{let t=qn(e);return Qn(window.localStorage.getItem(t))}catch{return null}}function er(e,t){if(Jn(t))try{window.localStorage.setItem(qn(e),JSON.stringify(t))}catch{}}function tr(e){return e.type===`support`||e.type===`home`?Rn():e.type===`entry`?ne(e.entryId)?{child:{entryId:e.entryId,name:p.CHAT},name:a.AGENTS_CONVERSATIONS}:Rn():e.sessionId?{child:{entryId:`interview/session/${e.sessionId}`,name:p.CHAT},name:a.AGENTS_CONVERSATIONS}:e.campaignId?{child:{entryId:`interview/invite/${e.campaignId}`,name:p.CHAT},name:a.AGENTS_CONVERSATIONS}:Rn()}function nr(e){return e.status===n.AVAILABLE?{id:`interview/invite/${e.campaignId}`,kind:`interview`,priority:20,prompt:{anchor:`dock`,body:e.body,campaignId:e.campaignId,closeLabel:`No`,invitationId:`runtime:${e.campaignId}`,kind:`interview-invite`,laterLabel:e.laterCta,startLabel:e.startCta},status:N.INVITABLE,title:e.title}:e.status===n.ACTIVE?{id:e.entryId,kind:`interview`,priority:20,status:N.ACTIVE,title:e.title??``}:null}function rr(){let e=i(h());return{async checkEligibility(t){let{data:n}=await e.request(`/interviews/eligibility`,{body:t,method:`POST`});return n},async chooseInvitation(t,n){await e.request(`/interviews/invitations/${t}/choice`,{body:n,method:`PATCH`})},async createInvitation(t){let{data:n}=await e.request(`/interviews/invitations`,{body:t,method:`POST`});return n},async getReward(t){let{data:n}=await e.request(`/interviews/sessions/${t}/reward`);return n},async getSession(t){let{data:n}=await e.request(`/interviews/sessions/${t}`);return n},async sendMessage(t,n){let{data:r}=await e.request(`/interviews/sessions/${t}/messages`,{body:n,method:`POST`});return r},async startInvitation(t,n){let{data:r}=await e.request(`/interviews/invitations/${t}/start`,{body:n,method:`POST`});return r}}}var Z=Object.freeze({ERROR:`error`,IDLE:`idle`,LOADING:`loading`,READY:`ready`}),ir=`image/*,application/pdf,video/mp4,.jpg,.jpeg,.png,.gif,.pdf,.mp4`,ar=Object.freeze({MAX_FILE_SIZE_BYTES:50*1024*1024}),or=`customer-agent-attachment`,sr=(0,z.lazy)(async()=>({default:(await import(`./MarkdownText-CXKW_2Ol.js`)).MarkdownText})),cr=null,lr=(0,z.lazy)(async()=>({default:(await dr()).InterviewChatScreen})),ur=new Set([n.CHECKING,n.IDLE]);function dr(){return cr??=import(`./InterviewChatScreen-D37bCE1R.js`).catch(e=>{throw cr=null,e}),cr}function fr(e,t){return r(e)&&e.child.entryId===t.id?e:m(t.id)}function pr(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`msg_${Date.now()}_${Math.random().toString(36).slice(2)}`}function mr(e){return e?.brand?.name??`Customer Agent`}function hr(e,t){return t===`Customer Agent`&&e||t}function gr(e){return e.content.map(e=>e.type===`text`?e.text:``).filter(Boolean).join(`
|
|
6
|
-
`)}function _r(e){return e===`user`?`user`:`assistant`}function vr(e){let t=e.metadata?.custom?.assistantAuthor;return t===`human`||t===`llm`?t:null}function yr(e,t){return e===`human`?t.messages.assistant_author_human:t.messages.assistant_author_ai}function br(e){let t=e?.find(e=>e.type===`image`&&typeof e.image==`string`||e.type===`file`&&typeof e.data==`string`);return t?.image??t?.data??``}function xr(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.filename==`string`&&typeof t.mimeType==`string`&&typeof t.sizeBytes==`number`&&typeof t.url==`string`}function Sr(e){let t=kr(e.content);if(t)return{...t,file:e.file};let n=br(e.content);return!n&&!e.file?null:{expiresAt:void 0,file:e.file,filename:e.name,id:e.id,mimeType:e.contentType??e.file?.type??`application/octet-stream`,sizeBytes:e.file?.size??0,url:n}}function Cr(e){let t=[],n=new Set;for(let r of e.attachments??[]){let e=Sr(r);e&&!n.has(e.id)&&(t.push(e),n.add(e.id))}let r=e.metadata?.custom?.attachments;if(Array.isArray(r))for(let e of r)xr(e)&&!n.has(e.id)&&(t.push(e),n.add(e.id));return t}function wr(e){return!!(e.content.trim()||(e.attachments?.length??0)>0)}function Tr(e){return e.filter(wr).map(e=>e.id)}function Er(e){return(e.attachments??[]).map(e=>({id:e.id}))}function Dr(e,t){return[...e].sort((e,n)=>{let r=kr(e.content),i=kr(n.content),a=r?t.get(r.id):void 0,o=i?t.get(i.id):void 0;return a!==void 0&&o!==void 0?a-o:a===void 0?o===void 0?0:1:-1})}function Or(e){return(e.attachments??[]).map(e=>kr(e.content)).filter(e=>!!e)}function kr(e){let t=e?.find(e=>e.type===`data`&&e.name===or)?.data;if(!t||typeof t!=`object`)return null;let n=t;return typeof n.id==`string`&&typeof n.filename==`string`&&typeof n.mimeType==`string`&&typeof n.sizeBytes==`number`&&typeof n.url==`string`?{expiresAt:typeof n.expiresAt==`string`?n.expiresAt:void 0,filename:n.filename,id:n.id,mimeType:n.mimeType,sizeBytes:n.sizeBytes,url:n.url}:null}function Ar(e){return e instanceof Date&&!Number.isNaN(e.getTime())}function jr(e){let t=e.createdAt;return Ar(t)?t:new Date}function Mr(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function Nr(e,t){return jt(e,t)}function Pr(e,t){let n=new Date,r=kt(n,e);return r<=0?t.messages.relative_time_today:r===1?t.messages.relative_time_yesterday:r<7?y(t.messages.relative_time_day,{count:String(r)}):xn(e,e.getFullYear()===n.getFullYear()?`MM-dd`:`yyyy-MM-dd`)}function Fr(e,t){let n=Math.max(0,Date.now()-e.getTime()),r=6e4,i=60*r,a=24*i;return n<r?t.messages.relative_time_now:n<i?y(t.messages.relative_time_minute,{count:String(Math.floor(n/r))}):n<a?y(t.messages.relative_time_hour,{count:String(Math.floor(n/i))}):y(t.messages.relative_time_day,{count:String(Math.floor(n/a))})}function Ir(e,t){let n=e[t],r=e[t-1],i=e[t+1],a=r?.role===n.role&&Nr(r.createdAt,n.createdAt),o=i?.role===n.role&&Nr(i.createdAt,n.createdAt);return a&&o?`middle`:a?`bottom`:o?`top`:`standalone`}function Lr(e,t){let n=`var(--messenger-conversation-part-radius)`,r=`var(--messenger-conversation-part-adjacent-radius)`,i=t===`middle`||t===`bottom`,a=t===`middle`||t===`top`;return e===`user`?{borderTopLeftRadius:n,borderTopRightRadius:i?r:n,borderBottomRightRadius:a?r:n,borderBottomLeftRadius:n}:{borderTopLeftRadius:i?r:n,borderTopRightRadius:n,borderBottomRightRadius:n,borderBottomLeftRadius:a?r:n}}function Rr(e){return(e??`Customer Agent`).trim().replace(/[^a-z0-9\u4e00-\u9fa5]+/gi,`_`).replace(/^_+|_+$/g,``)}function zr(e,t,n,r){let i=n.getFullYear(),a=String(n.getMonth()+1).padStart(2,`0`),o=String(n.getDate()).padStart(2,`0`);return`${Rr(e)||`Customer_Agent`}_${t}_${i}_${a}_${o}_${r}.txt`}function Br(e){return(e??[]).map(e=>({id:e.id,role:e.author===`visitor`?`user`:`assistant`,content:e.text,status:e.author===`assistant`?{type:`complete`,reason:`stop`}:void 0}))}function Vr(t,n,r,i){let a=new Map;return{accept:ir,async*add({file:o}){let c=pr(),l={id:c,type:o.type.startsWith(`image/`)?`image`:`file`,name:o.name,contentType:o.type,file:o,content:[]};if(o.size>ar.MAX_FILE_SIZE_BYTES){yield{...l,status:{reason:`error`,type:`incomplete`}};return}yield{...l,status:{progress:0,reason:`uploading`,type:`running`}};let u=t.current;if(!u)throw Error(`The support chat is missing widget configuration.`);await i.current?.ensureSession();let d=await s.uploadAttachment(u,o,{onConversationCreated(t){n.current?.emit(e.CONVERSATION_CREATED,{...$(t)})}});if(a.set(c,d),r.current.set(d.id,r.current.size),d.mimeType.startsWith(`image/`)&&d.url){let e=new Image;e.src=d.url,await e.decode().catch(()=>void 0)}yield{...l,status:{reason:`composer-send`,type:`requires-action`}}},async remove(e){a.delete(e.id)},async send(e){let t=a.get(e.id);if(!t)throw Error(`The attachment is not ready to send yet.`);a.delete(e.id);let n=t.mimeType.startsWith(`image/`)?[{type:`image`,image:t.url,filename:t.filename}]:[{type:`file`,data:t.url,filename:t.filename,mimeType:t.mimeType}];return{id:t.id,type:e.type,name:e.name,contentType:e.contentType,file:e.file,content:[...n,{type:`data`,name:or,data:t}],status:{type:`complete`}}}}}function Q(e){return!e?.app_id||!e.widgetId?null:{...e,context:e.context??{}}}function Hr(e){return e?.messages?.welcome_message?.trim()??``}function Ur(e){return e instanceof g?e.message:`I couldn't reach support right now. Please try again in a moment.`}function $(e){return{conversationId:e,conversationType:`support`,entryId:d(e),supportConversationId:e}}function Wr(e){let t=Q(e);return t?_(t):null}function Gr({hasCachedInterviewSession:e,hasInterviewIdentity:t,interview:i,storedRoute:a}){return i.status===n.ACTIVE?!1:t&&(e||r(a))&&ur.has(i.status)}function Kr({interview:e,storedRoute:t,supportEntryId:n,supportRoute:i}){return r(t)?t.child.entryId===e.entryId?t:m(e.entryId):Qr({storedRoute:t,supportEntryId:n})??i}function qr({storedRoute:e,supportEntryId:t,supportRoute:n}){return Qr({storedRoute:e,supportEntryId:t})??n}function Jr(e){return!e||e.type===v.SUPPORT?null:m(e.entryId)}function Yr(e){return e.name===a.AGENTS_CONVERSATIONS&&e.child.name===p.CHAT?{entryId:e.child.entryId,type:v.CHAT}:null}function Xr(e){return e.startsWith(`interview/`)}function Zr(e){return e?.name===a.AGENTS_CONVERSATIONS&&e.child.name===p.CHAT&&f(e.child.entryId)}function Qr({storedRoute:e,supportEntryId:t}){return!e||e.name!==a.AGENTS_CONVERSATIONS||r(e)?null:Zr(e)&&t?e.child.entryId===t?e:m(t):e}function $r(e){return e?m(e):Rn()}function ei(e){return e?e.type===`interview`?!0:e.type===`entry`&&Xr(e.entryId):!1}function ti({activeTarget:e,supportHydrationKey:t,supportStatus:n}){return!!t&&!ei(e)&&n!==te.READY}function ni(e,t){if(!ei(e))return null;if(e?.type===`interview`&&e.sessionId)return m(`interview/session/${e.sessionId}`);if(t?.status===n.ACTIVE)return m(t.entryId);let r=e?.type===`interview`?e.campaignId:void 0;return r?{child:{entryId:`interview/invite/${r}`,invitationId:`runtime:${r}`,name:p.INTERVIEW_STARTING},name:a.AGENTS_CONVERSATIONS}:e?.type===`entry`?tr(e):null}function ri(e){return`session`in e}function ii(e){return e.content.map(e=>e.type===`text`?e.text:``).filter(Boolean).join(`
|
|
7
|
-
`).trim()}function ai(e){return e.id?.startsWith(`local-`)??!1}function oi(e,t){return{...e,metadata:{...e.metadata,custom:{...e.metadata?.custom,supportConversationId:t}}}}function si(e,t){let n=oi(e,t);return{...n,metadata:{...n.metadata,custom:{...n.metadata?.custom,supportAckConversationId:t,supportSendStatus:`acked`}}}}function ci(e,t){let n=e.metadata?.custom;return n?.supportConversationId===t||n?.supportAckConversationId===t}function li(e,t){return o(e).map(e=>oi(e,t))}function ui(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()]}function di(e,t){if(e.length===0)return t;let n=new Set(e.map(e=>e.id)),r=t.filter(e=>ai(e)&&!n.has(e.id));return[...e,...r]}function fi(e,t,n){if(e.length===0)return t;let r=e.map(e=>oi(e,n)),i=new Set(r.map(e=>e.id)),a=t.filter(e=>!i.has(e.id)&&(ai(e)||ci(e,n)));return[...r,...a]}function pi({activeTarget:t,bootOptions:n,eventBus:r,interviewRuntime:i,isExpanded:a,isOpen:c,locale:u,memoryRoute:d,messages:f,onMemoryRouteChange:ee,onExpandedChange:p,onOpenChange:m,runtimeState:h,supportRuntime:g,viewport:ne}){let v=(0,z.useRef)(null),y=(0,z.useRef)(!1),b=(0,z.useRef)(!1),x=(0,z.useRef)(null),[re,ae]=(0,z.useState)(!1),[oe,se]=(0,z.useState)(null),[ce,C]=(0,z.useState)(Z.IDLE),[w,T]=(0,z.useState)(null),[le,E]=(0,z.useState)(()=>Br(f)),D=Q(n),ue=(0,z.useRef)(D),de=(0,z.useRef)(r),fe=(0,z.useRef)(g),pe=(0,z.useRef)(null),O=(0,z.useRef)(null),me=(0,z.useRef)(new Map),k=(0,z.useMemo)(()=>Wr(n),[n]);ue.current=D,de.current=r,fe.current=g,(!pe.current||O.current!==k)&&(me.current=new Map,pe.current=Vr(ue,de,me,fe),O.current=k);let he=pe.current,ge=D?k&&oe===k?v.current===k?Z.READY:ce===Z.ERROR?Z.ERROR:Z.LOADING:Z.IDLE:Z.READY,_e=ge===Z.READY&&w?.key===k&&w.messageIds.length>0&&!w.messageIds.every(e=>le.some(t=>t.id===e)),ve=le.some(e=>e.role===`assistant`&&e.status?.type===`running`),ye=re||ge!==Z.READY||_e||ve,be=S({adapters:(0,z.useMemo)(()=>({attachments:he}),[he]),convertMessage:(0,z.useCallback)(e=>e,[]),isRunning:re,isSendDisabled:ye,messages:le,onNew:(0,z.useCallback)(async t=>{let n=ii(t),i=Dr(t.attachments??[],me.current),a=Er({...t,attachments:i});if(!D){E(e=>ui(e,[{id:`local-error-${pr()}`,role:`assistant`,content:`The support chat is missing widget configuration.`,createdAt:new Date,status:{type:`complete`,reason:`stop`}}]));return}if(!n&&a.length===0)return;let c=`local-user-${pr()}`,l;b.current=!0,ae(!0),r?.emit(e.MESSAGE_SENT,{...w?$(w.conversationId):{conversationType:`support`},messageId:c,role:`user`}),E(e=>ui(e,[{id:c,role:`user`,content:n||[],attachments:i,createdAt:new Date,metadata:{custom:{attachments:Or({...t,attachments:i})}}}]));let u=new AbortController;try{if(!g)throw Error(`The support chat is missing runtime session orchestration.`);let t=await g.ensureSession();l=t.conversationId,r?.emit(e.MESSAGE_STARTED,{...$(l),role:`assistant`});let i=await s.sendMessage(D,n,a,u.signal,{onConversationCreated(t){r?.emit(e.CONVERSATION_CREATED,{...$(t)})},onSessionInvalidated(){g.invalidateSession?.()}});i.conversationId!==t.conversationId&&g.ensureSession().catch(e=>{console.error(`CustomerAgent session recovery failed.`,e)}),l=i.conversationId;let d=o([i.userMessage,i.assistantMessage]).map(e=>si(e,i.conversationId));T({conversationId:i.conversationId,key:_(D),messageIds:[]}),E(e=>ui(e.filter(e=>e.id!==c),d)),r?.emit(e.MESSAGE_COMPLETED,{assistantAuthor:i.assistantMessage.assistantAuthor??void 0,...$(i.conversationId),messageId:i.assistantMessage.id,role:`assistant`}),i.handoff.needed&&r?.emit(e.HANDOFF_REQUESTED,{...$(i.conversationId)})}catch(t){console.error(`CustomerAgent message request failed.`,t);let n=l?$(l):{conversationType:`support`};r?.emit(e.MESSAGE_SEND_FAILED,{...n,messageId:c,role:`user`}),r?.emit(e.MESSAGE_FAILED,{...n,role:`assistant`}),E(e=>ui(e,[{id:`local-error-${pr()}`,role:`assistant`,content:Ur(t),createdAt:new Date,status:{type:`complete`,reason:`stop`}}]))}finally{b.current=!1,ae(!1)}},[r,D,w,g])});return(0,z.useEffect)(()=>{let e=Q(n),t=Wr(n);if(!e||!t){v.current=null,x.current=null,C(Z.READY),T(null);return}if(oe!==t){v.current=null,x.current=null,E(Br(f)),C(Z.IDLE),T(null);return}if(v.current===t){C(Z.READY);return}if(!g){C(Z.ERROR),T(null);return}let r=g?.getSessionSnapshot();if(h?.support.status===te.READY&&r?.conversationId===h.support.conversationId){v.current=t,T({conversationId:r.conversationId,key:t,messageIds:Tr(r.messages)}),r.messages.length>0&&E(e=>di(li(r.messages,r.conversationId),e)),C(Z.READY);return}let i=!1,a=x.current;return(!a||a.key!==t)&&(E(Br(f)),T(null),a={key:t,promise:g.ensureSession()},x.current=a),C(Z.LOADING),a.promise.then(e=>{i||(v.current=t,T({conversationId:e.conversationId,key:t,messageIds:Tr(e.messages)}),e.messages.length>0&&E(t=>di(li(e.messages,e.conversationId),t)),C(Z.READY))}).catch(e=>{i||(x.current?.key===t&&(x.current=null),v.current=null,T(null),C(Z.ERROR),console.error(`CustomerAgent session bootstrap failed.`,e))}),()=>{i=!0}},[n,r,f,h,oe,g]),(0,z.useEffect)(()=>{let e=Q(n);if(!e)return;let t=e,r=!1,i=null;function a(){r||document.hidden||y.current||b.current||(y.current=!0,i=new AbortController,s.refreshSession(t,i.signal).then(e=>{r||b.current||e&&(T(n=>n?.key===_(t)?{conversationId:e.conversationId,key:n.key,messageIds:[]}:n),E(t=>fi(li(e.messages,e.conversationId),t,e.conversationId)))}).catch(e=>{if(!(e instanceof DOMException&&e.name===`AbortError`)){if(e instanceof l){let e=_(t);if(!g){v.current=null,T(null),C(Z.ERROR);return}g.invalidateSession?.(),v.current=null,x.current=null,se(e),C(Z.READY),g.ensureSession().then(t=>{r||(v.current=e,T({conversationId:t.conversationId,key:e,messageIds:Tr(t.messages)}),E(e=>di(li(t.messages,t.conversationId),e)),C(Z.READY))}).catch(e=>{r||(v.current=null,T(null),C(Z.ERROR),console.error(`CustomerAgent session recovery failed.`,e))});return}console.error(`CustomerAgent session refresh failed.`,e)}}).finally(()=>{y.current=!1,i=null}))}let o=window.setInterval(a,5e3);return()=>{r=!0,i?.abort(),window.clearInterval(o),y.current=!1}},[n,f,w,g]),(0,B.jsx)(ie,{runtime:be,children:(0,B.jsx)(mi,{bootOptions:n,activeTarget:t,eventBus:r,interviewRuntime:i,isExpanded:a,isOpen:c,locale:u,memoryRoute:d,onMemoryRouteChange:ee,onExpandedChange:p,onOpenChange:m,runtimeState:h,supportRuntime:g,onSupportBootstrapNeeded:se,supportHydrationSnapshot:w,supportBootstrapStatus:ge,viewport:ne})})}function mi({activeTarget:i,bootOptions:o,eventBus:s,interviewRuntime:c,isExpanded:l,isOpen:h,locale:g,memoryRoute:_,onMemoryRouteChange:ne,onExpandedChange:v,onOpenChange:b,runtimeState:x,supportRuntime:ie,onSupportBootstrapNeeded:S,supportBootstrapStatus:T,supportHydrationSnapshot:O,viewport:A}){let[Se,Ce]=(0,z.useState)(!1),[j,M]=(0,z.useReducer)(Un,void 0,zn),[P,I]=(0,z.useState)(Cn),[Ee,De]=(0,z.useState)({}),Oe=Te(e=>e.thread.messages),ke=ce().composer,Ae=!!o?.embedded,je=A.presentation===`fullscreen`&&!Ae,Me=A.mode===`mobile`?je?A.safeAreaBottom:Math.max(A.safeAreaBottom,A.keyboardInset):0,Ne=A.mode===`mobile`&&je?A.height:A.visualHeight,L=(0,z.useRef)(null),Pe=(0,z.useRef)(null),R=(0,z.useRef)(null),Fe=(0,z.useRef)(null),Ie=(0,z.useRef)(null),Le=(0,z.useRef)(null),Re=(0,z.useRef)(null),ze=(0,z.useRef)(null),Be=(0,z.useRef)(!1),Ve=(0,z.useRef)(!1),V=(0,z.useRef)(null),He=(0,z.useRef)(null),Ue=(0,z.useRef)(!1),We=(0,z.useRef)(!1),H=mr(o),Ge=o?.header?.menu!==!1,Ke=g.messages.interview_session_description,qe=o?.theme?.primaryColor??`var(--gray-12)`,Je=y(g.messages.support_chat_label,{title:H}),Ye=Hr(o),Xe={"--customer-agent-bottom-inset":`${Me}px`,"--customer-agent-primary":qe,"--customer-agent-visual-height":`${Ne}px`},U=Oe.map(e=>{let t=e,n=gr(t).trim(),r=t.role===`assistant`&&t.status?.type===`running`&&!n;return{assistantAuthor:vr(t),attachments:Cr(t),createdAt:jr(t),id:t.id,isPending:r,role:_r(t.role),text:n}}).filter(e=>e.text||e.isPending||e.attachments.length>0),W=U.length?Mr(U[U.length-1].createdAt):null,Ze=new Set(W?[[...U].reverse().find(e=>e.role===`assistant`&&!e.isPending&&Mr(e.createdAt)===W)?.id].filter(e=>!!e):[]),Qe=new Map(U.map((e,t)=>{let n=U[t-1];return[e.id,{dateLabel:!n||!Nr(n.createdAt,e.createdAt)?Pr(e.createdAt,g):void 0,groupPosition:Ir(U,t),isFirst:t===0,message:e,previousMessage:n,showsDefaultAssistantTime:Ze.has(e.id)}]})),$e=U[U.length-1],et=$e?[$e.id,$e.text.length,$e.isPending?`pending`:`settled`,$e.attachments.map(e=>`${e.id}:${e.url}:${e.mimeType}`).join(`|`)].join(`:`):null,tt=O?.conversationId??(x?.support.status===te.READY?x.support.conversationId:null),G=tt?d(tt):null,nt=Zr(j.current)?j.current.child.entryId:null,rt=G??nt,K=j.current.name===a.AGENTS_CONVERSATIONS?j.current.child.entryId:rt??``,it=j.current.name!==a.GLOBAL_LOADING,at=rt?{id:rt,kind:`support`,priority:0,status:N.AVAILABLE,title:H}:null,ot=[...at?[at]:[],...P.entries.map(e=>e.kind===`interview`&&e.status===N.ACTIVE?{...e,subtitle:Ke,title:hr(e.title,H)}:e)],st=ot.find(e=>e.id===K),ct=st?.kind===`interview`?st.title:H,lt=new Set(U.map(e=>e.id)),ut=ee(K),dt=!!ut&&T===Z.READY&&O?.key===Wr(o)&&O.conversationId===ut&&O.messageIds.length>0&&!O.messageIds.every(e=>lt.has(e)),ft=f(K)&&(T!==Z.READY||dt),pt=P.entries.some(e=>e.kind===`interview`&&e.status===N.ACTIVE),q=!!P.invitePrompt,mt=be({composerRuntime:ke,inputRef:L,shouldSuppressComposerFocus:q});(0,z.useEffect)(()=>{let t=P.invitePrompt;!s||!t||Ie.current===t.invitationId||(Ie.current=t.invitationId,s.emit(e.INTERVIEW_INVITATION_SHOWN,{campaignId:t.campaignId,entryId:P.entries.find(e=>e.prompt?.invitationId===t.invitationId)?.id??`interview/invite/${t.campaignId}`,invitationId:t.invitationId}))},[P.entries,P.invitePrompt,s]),(0,z.useEffect)(()=>{if(!x)return;let e=nr(x.interview);if(!e){R.current=null,I(e=>({...e,entries:e.entries.filter(e=>e.kind!==`interview`),invitePrompt:null,isMobileDockOpen:!1}));return}if(x.interview.status===n.ACTIVE){let t=c?.getActiveSession(),n=R.current?.getState();if(t&&(!R.current||n?.sessionId!==t.sessionId)){let e=Q(o);if(e){let n=k({client:rr(),options:e});n.hydrateSession(t),R.current=n}}I(t=>Tn(t,e));return}I(t=>{let n=wn(t,e,A.mode,{canShowPrompt:it});return ei(i)?{...En(n,e.id),invitePrompt:null,isMobileDockOpen:!1}:n})},[i,o,it,c,x,A.mode]);function ht(){let e=L.current;if(!e||A.mode===`mobile`||q)return!1;let t=e.value.length;return e.focus(),e.setSelectionRange(t,t),!0}function gt(){Be.current||=ht()}function _t(e){L.current=e,!(!e||!h||A.mode===`mobile`||q)&&window.requestAnimationFrame(gt)}(0,z.useEffect)(()=>{let e=L.current;!q||document.activeElement!==e||e?.blur()},[q]);function vt(){let t=new Date,n=t.getTime(),r=U.map(e=>({createdAt:e.createdAt,role:e.role,text:e.text})),i=E({conversationName:H,exportedAt:t,locale:g.locale,messages:r,userSpeaker:D(o)}),a=new Blob([i],{type:`text/plain;charset=utf-8`}),c=URL.createObjectURL(a),l=document.createElement(`a`);l.href=c,l.download=zr(H,`support`,t,n),l.click(),window.setTimeout(()=>URL.revokeObjectURL(c),0);let u=ie?.getSessionSnapshot();s?.emit(e.TRANSCRIPT_DOWNLOADED,{...u?$(u.conversationId):O?$(O.conversationId):{conversationType:`support`},messageCount:r.length})}function yt(){let e=He.current;e&&(e.scrollTop=e.scrollHeight)}(0,z.useLayoutEffect)(()=>{let e=h&&!We.current;We.current=h,h||(Be.current=!1),e&&(Ue.current=!1,A.mode!==`mobile`&&!q&&window.requestAnimationFrame(()=>{if(Be.current)return;let e=L.current;if(!e||q)return;let t=e.value.length;e.focus(),e.setSelectionRange(t,t),Be.current=!0})),!(!h||!et)&&(Ue.current||(yt(),window.requestAnimationFrame(yt)))},[h,et,q,A.mode]),(0,z.useLayoutEffect)(()=>{let e=V.current;if(V.current=K,e!==null&&e!==K&&(Ve.current=f(K)),Ve.current){if(!f(K)||!h||A.mode===`mobile`||q){Ve.current=!1;return}ft||window.requestAnimationFrame(()=>{Ve.current=!ht()})}},[K,h,ft,q,A.mode]);function bt(){!h||Ue.current||(yt(),window.requestAnimationFrame(yt))}function J(e){let t=e.currentTarget;Ue.current=t.scrollHeight-t.clientHeight-t.scrollTop>=120}(0,z.useEffect)(()=>{if(!Ge){Ce(!1);return}function e(){Ce(!1)}return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[Ge]),(0,z.useEffect)(()=>{if(!Ge||!Se)return;function e(e){let t=e.target;t instanceof Node&&(Pe.current?.contains(t)||Ce(!1))}return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[Ge,Se]),(0,z.useEffect)(()=>{let e=Q(o),t=Wr(o),s=$r(G);if(x){let r=e?u(e):null,o=Jr(_)??(e?$n(e):null),c=e&&r?!!de(e):!1,l=ti({activeTarget:i,supportHydrationKey:t,supportStatus:x.support.status});if(t&&l&&S(t),j.current.name!==a.GLOBAL_LOADING)return;let d=ni(i,x.interview);if(d){ze.current=x.interview.status===n.ACTIVE?x.interview.entryId:null,M({route:d,type:`replace`});return}if(ei(i))return;if(x.interview.status===n.ACTIVE)ze.current=x.interview.entryId,M({route:Kr({interview:x.interview,storedRoute:o,supportEntryId:G,supportRoute:s}),type:`replace`});else if(Gr({hasCachedInterviewSession:c,hasInterviewIdentity:!!r,interview:x.interview,storedRoute:o}))return;else ze.current=null,M({route:qr({storedRoute:o,supportEntryId:G,supportRoute:s}),type:`replace`});return}if(!e||!t){M({route:s,type:`replace`});return}let c=!1,l=u(e),d=Le.current;if(!l)return M({route:qr({storedRoute:$n(e),supportEntryId:G,supportRoute:s}),type:`replace`}),S(t),()=>{c=!0};if(!d||d.key!==l){let t=$n(e),n=!!de(e),i=k({client:rr(),options:e});d={key:l,promise:(async()=>{if(n||r(t)){let e=await i.restoreCachedSession();if(e&&r(t))return{controller:i,entry:e,kind:`interview`,route:fr(t,e)};if(e)return{controller:i,entry:e,kind:`support`,route:qr({storedRoute:t,supportEntryId:G,supportRoute:s})}}return{kind:`support`,route:qr({storedRoute:t,supportEntryId:G,supportRoute:s})}})()},Le.current=d}return d.promise.then(e=>{if(!(c||Re.current===l)){if(Re.current=l,e.kind===`interview`){R.current=e.controller,I(t=>Tn(t,e.entry)),M({route:e.route,type:`replace`}),ei(i)||S(t);return}`entry`in e&&(R.current=e.controller,I(t=>Tn(t,e.entry))),M({route:e.route,type:`replace`}),S(t)}}),()=>{c=!0}},[o,i,S,_,j.current,x,G]),(0,z.useEffect)(()=>{if(!G||j.current.name===a.GLOBAL_LOADING&&x&&(ei(i)||x.interview.status===n.ACTIVE))return;if(j.current.name===a.GLOBAL_LOADING&&x){let e=Q(o),t=e?u(e):null,n=Jr(_)??(e?$n(e):null);if(Gr({hasCachedInterviewSession:e&&t?!!de(e):!1,hasInterviewIdentity:!!t,interview:x.interview,storedRoute:n}))return}let e=m(G);(j.current.name===a.GLOBAL_LOADING||Zr(j.current)&&j.current.child.entryId!==G)&&M({route:e,type:`replace`})},[i,o,_,j.current,x,G]),(0,z.useEffect)(()=>{let e=Yr(j.current);if(x&&e){ne?.(e);return}let t=Q(o);t&&er(t,j.current)},[o,ne,j,x]),(0,z.useEffect)(()=>{if(!i)return;if(i.type===`support`||i.type===`home`){let e=Wr(o);if(e&&S(e),T!==Z.READY||!G)return;M({route:m(G),type:`push`});return}let e=ni(i,x?.interview);if(e){M({route:e,type:`push`});return}ei(i)&&(!x||x.interview.status!==n.ACTIVE)||T===Z.READY&&M({route:tr(i),type:`push`})},[i,o,S,x,T,G]),(0,z.useEffect)(()=>{j.current.name===a.AGENTS_CONVERSATIONS&&j.current.child.name===p.CHAT&&j.current.child.entryId.startsWith(`interview/session/`)&&dr()},[j.current]);let Y=(0,z.useRef)(!1);(0,z.useEffect)(()=>{if(!h){Y.current=!1;return}Y.current||r(j.current)&&(Y.current=!0,l||v(!0))},[h,l,v,j.current]),(0,z.useEffect)(()=>{let e=Wr(o);!e||T!==Z.IDLE||j.current.name!==a.AGENTS_CONVERSATIONS||j.current.child.name!==p.CHAT||!f(j.current.child.entryId)||S(e)},[o,S,j,T]),(0,z.useEffect)(()=>{let e=Q(o);if(x||!e||T!==Z.READY||pt)return;let t=!1,n=u(e),r=Fe.current;if(!n){Fe.current=null,R.current=null;return}if(!r||r.key!==n){let t=k({client:rr(),options:e});r={controller:t,key:n,promise:t.restoreCachedSession().then(e=>e??t.discoverInvitation()).catch(e=>(Fe.current?.key===n&&(Fe.current=null),console.error(`CustomerAgent interview eligibility request failed.`,e),null))},Fe.current=r}return R.current=r.controller,r.promise.then(e=>{t||I(t=>e?.status===N.ACTIVE?Tn(t,e):wn(t,e,A.mode,{canShowPrompt:it}))}),()=>{t=!0}},[o,s,it,pt,x,T,A.mode]);function xt(e){if(e===K)return;let t=P.entries.find(t=>t.id===e);if(I(t=>En(t,e)),t?.prompt){St(t.prompt.invitationId);return}M({route:{child:{entryId:e,name:p.CHAT},name:a.AGENTS_CONVERSATIONS},type:`push`})}async function St(t){let n=P.entries.find(e=>e.prompt?.invitationId===t);if(!n?.prompt)return;I(e=>({...En(e,n.id),invitePrompt:null,isMobileDockOpen:!1})),M({route:{child:{entryId:n.id,invitationId:t,name:p.INTERVIEW_STARTING},name:a.AGENTS_CONVERSATIONS},type:`push`}),dr();let r=t.startsWith(`runtime:`)&&c?await c.ensureInvitation():t,i=c?await c.startInvitation(r):await R.current?.startInvitation(r);if(!i)return;if(c&&ri(i)){let e=Q(o);if(e){let t=k({client:rr(),options:e});t.hydrateSession(i.session),R.current=t}}I(e=>On(e,{invitationId:t,sessionId:i.sessionId,subtitle:Ke,title:H}));let l={conversationId:`interview/session/${i.sessionId}`,conversationType:`interview`,entryId:i.entryId,interviewSessionId:i.sessionId};c||(s?.emit(e.CONVERSATION_CREATED,l),s?.emit(e.INTERVIEW_SESSION_STARTED,l)),M({route:{child:{entryId:i.entryId,name:p.CHAT},name:a.AGENTS_CONVERSATIONS},type:`replace`})}function Ct(n,r){let i=P.entries.find(e=>e.prompt?.invitationId===n);i?.prompt&&s?.emit(r===t.LATER?e.INTERVIEW_INVITATION_LATER:e.INTERVIEW_INVITATION_CLOSED,{campaignId:i.prompt.campaignId,entryId:i.id,invitationId:n}),I(e=>Dn(e,n,r)),c?n.startsWith(`runtime:`)||c.chooseInvitation(n,r).catch(e=>{console.error(`CustomerAgent interview invitation choice request failed.`,e)}):R.current?.chooseInvitation(n,r).catch(e=>{console.error(`CustomerAgent interview invitation choice request failed.`,e)})}return(0,B.jsxs)(Nn,{activeEntryId:K,ariaLabel:Je,entries:ot,invitePrompt:P.invitePrompt,interviewChat:R.current?(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(Si,{label:`Loading interview`}),children:(0,B.jsx)(xi,{children:(0,B.jsx)(lr,{controller:R.current,description:Ke,eventBus:s,isHeaderMenuEnabled:Ge,isExpanded:l,isOpen:h,locale:g,onToggleExpanded:()=>v(!l),title:ct,transcriptAppName:ct,visitorName:D(o),viewportMode:A.mode,onOpenMobileDock:()=>I(e=>({...e,isMobileDockOpen:!0}))})})}):void 0,isChatLoading:ft,isExpanded:l,isMobileDockOpen:P.isMobileDockOpen,isOpen:h,route:j.current,routeTransitionKey:j.transitionKey,style:Xe,viewportMode:A.mode,onEntrySelect:xt,onInviteClose:e=>void Ct(e,t.CLOSE),onInviteLater:e=>void Ct(e,t.LATER),onInviteStart:e=>void St(e),onMobileDockOpenChange:e=>I(t=>({...t,isMobileDockOpen:e})),children:[(0,B.jsxs)(`header`,{className:F(`grid shrink-0 items-center gap-[var(--messenger-header-gap)] border-b border-border-divider bg-bg-canvas px-[var(--messenger-header-padding-x)] py-[var(--messenger-header-padding-y)]`,A.mode===`mobile`?`grid-cols-[auto_auto_1fr_auto] pl-1`:`grid-cols-[auto_1fr_auto]`),"data-customer-agent-panel-header":``,children:[A.mode===`mobile`?(0,B.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-6 cursor-pointer place-items-center rounded-md border-0 bg-transparent p-0 text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none`,"aria-label":`Open conversations`,title:`Open conversations`,type:`button`,onClick:()=>I(e=>({...e,isMobileDockOpen:!0})),children:(0,B.jsx)(ae,{size:16})}):null,(0,B.jsx)(`div`,{className:`grid h-[var(--messenger-header-avatar-size)] w-[var(--messenger-header-avatar-size)] place-items-center rounded-full bg-[var(--customer-agent-primary)] text-gray-1 shadow-[0_0_0_1px_var(--border-default)]`,"aria-hidden":`true`,children:(0,B.jsx)(we,{size:16})}),(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col justify-center`,children:[(0,B.jsx)(`p`,{className:`m-0 truncate text-[length:var(--messenger-header-title-size)] font-semibold leading-[var(--messenger-header-title-line-height)]`,children:H}),(0,B.jsx)(`span`,{className:`block truncate text-[length:var(--messenger-header-subtitle-size)] leading-[var(--messenger-header-subtitle-line-height)] text-text-tertiary`,children:g.messages.status_reply_time})]}),Ge?(0,B.jsx)(`div`,{className:`relative flex items-center gap-[var(--messenger-header-action-gap)] pr-[var(--messenger-header-button-size)]`,children:(0,B.jsxs)(`div`,{ref:Pe,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),Ce(!1))},children:[(0,B.jsx)(`button`,{className:`grid h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)] cursor-pointer place-items-center rounded-[var(--messenger-header-button-radius)] border-0 bg-transparent text-text-quaternary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-none data-[state=open]:bg-gray-3 data-[state=open]:text-text-primary`,"aria-expanded":Se,"aria-haspopup":`menu`,"aria-label":g.messages.more_options,"data-state":Se?`open`:`closed`,title:g.messages.more_options,type:`button`,onClick:()=>Ce(e=>!e),children:(0,B.jsx)(re,{size:16})}),Se?(0,B.jsxs)(`div`,{className:`absolute top-[calc(100%+0.5rem)] right-[var(--messenger-header-button-size)] z-[var(--z-dropdown)] grid min-w-64 gap-1 rounded-lg border border-border-default bg-bg-elevated p-1 text-sm text-text-primary shadow-popover`,role:`menu`,children:[(0,B.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{Ce(!1),v(!l)},children:[l?(0,B.jsx)(oe,{size:16}):(0,B.jsx)(se,{size:16}),(0,B.jsx)(`span`,{children:l?g.messages.collapse_window:g.messages.expand_window})]}),(0,B.jsxs)(`button`,{className:`flex w-full cursor-pointer items-center gap-2 rounded-md border-0 bg-transparent px-2 py-1.5 text-left text-sm text-text-secondary transition-colors hover:bg-gray-3 hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus)]`,role:`menuitem`,type:`button`,onClick:()=>{Ce(!1),vt()},children:[(0,B.jsx)(pe,{size:16}),(0,B.jsx)(`span`,{children:g.messages.download_transcript})]})]}):null]})}):(0,B.jsx)(`div`,{className:`h-[var(--messenger-header-button-size)] w-[var(--messenger-header-button-size)]`,"aria-hidden":`true`})]}),(0,B.jsx)(C,{className:`relative flex min-h-0 flex-1 flex-col overflow-hidden bg-bg-canvas`,children:(0,B.jsx)(ue,{asChild:!0,"aria-live":`polite`,autoScroll:!0,role:`log`,scrollToBottomOnInitialize:!0,scrollToBottomOnRunStart:!0,scrollToBottomOnThreadSwitch:!0,children:(0,B.jsx)(`div`,{className:`customer-agent-thread-viewport min-h-0 flex-1 overflow-y-auto bg-bg-canvas [scrollbar-width:none] [&::-webkit-scrollbar]:hidden [&>[data-radix-scroll-area-content]]:flex [&>[data-radix-scroll-area-content]]:min-h-full [&>[data-radix-scroll-area-content]]:flex-col [&>[data-radix-scroll-area-content]]:self-stretch [&>[data-radix-scroll-area-content]]:bg-inherit [&>div]:flex [&>div]:min-h-full [&>div]:flex-col [&>div]:self-stretch [&>div]:bg-inherit`,"data-customer-agent-thread-viewport":``,ref:He,onScroll:J,children:(0,B.jsxs)(`div`,{className:F(`flex min-h-full flex-col px-[var(--messenger-conversation-horizontal-padding)] pt-3`,`customer-agent-message-list`),"data-customer-agent-message-list":``,children:[Ye?(0,B.jsx)(`p`,{className:`mx-auto mt-1 mb-8 max-w-[min(100%,var(--messenger-conversation-part-max-width))] whitespace-pre-wrap px-2 text-center text-base leading-6 text-text-tertiary`,children:Ye}):null,(0,B.jsx)(xe,{children:({message:e})=>{let t=Qe.get(e.id);return t?(0,B.jsx)(hi,{...t,appName:H,isTimeVisible:Ee[e.id]??t.showsDefaultAssistantTime,locale:g,onAttachmentLoad:bt,onTimeVisibilityChange:t=>{De(n=>({...n,[e.id]:t}))}}):null}})]})})})}),(0,B.jsxs)(ve,{className:F(`relative z-[var(--z-composer)] shrink-0 bg-transparent px-[var(--messenger-conversation-horizontal-padding)] pt-0 pb-[max(1rem,calc(1rem+var(--customer-agent-bottom-inset)))]`,`-mt-[var(--messenger-radius)]`),onSubmit:()=>{mt.closeEmojiPicker()},children:[(0,B.jsx)(_e,{removeAttachmentLabel:g.messages.remove_attachment}),(0,B.jsx)(ge,{inputAriaLabel:g.messages.message_aria_label,inputRef:_t,placeholder:g.messages.input_placeholder}),(0,B.jsxs)(ye,{children:[(0,B.jsxs)(me,{children:[(0,B.jsx)(he,{attachmentLabel:g.messages.attachment_label}),(0,B.jsx)(w,{hostRef:mt.emojiPickerHostRef,isLoading:mt.isEmojiPickerLoading,open:mt.isEmojiPickerOpen,onOpenChange:mt.onEmojiOpenChange,children:(0,B.jsx)(fe,{emojiLabel:g.messages.add_emoji})})]}),(0,B.jsx)(le,{sendLabel:g.messages.send_message})]})]})]})}function hi({appName:e,dateLabel:t,groupPosition:n,isFirst:r,isTimeVisible:i,locale:a,message:o,onAttachmentLoad:s,onTimeVisibilityChange:c,previousMessage:l}){let u=o.role===`assistant`&&!o.isPending;function d(){u&&c(!i)}function f(e){let t=e.target;t instanceof Element&&t.closest(`a, button`)||d()}function ee(e){!u||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),d())}return(0,B.jsxs)(B.Fragment,{children:[t?(0,B.jsx)(`div`,{className:F(`self-center rounded-full px-3 py-1 text-sm leading-5 text-text-tertiary`,r?`mt-1 mb-3`:`mt-4 mb-3`),children:t}):null,(0,B.jsxs)(Ce,{className:F(`flex max-w-[var(--messenger-conversation-part-max-width)] flex-col`,!r&&!t&&(l?.role===o.role?`mt-[var(--messenger-conversation-part-group-gap)]`:`mt-[var(--messenger-conversation-part-stack-gap)]`),o.role===`user`?`self-end items-end`:`self-start items-start`),"aria-expanded":u?i:void 0,role:u?`button`:void 0,tabIndex:u?0:void 0,onClick:f,onKeyDown:ee,children:[(0,B.jsx)(`div`,{className:F(`w-fit max-w-full whitespace-pre-wrap px-[var(--messenger-conversation-part-padding-x)] py-[var(--messenger-conversation-part-padding-y)] text-base leading-5`,o.role===`user`?`bg-[var(--customer-agent-primary)] text-gray-1`:`bg-gray-3 text-text-secondary`),style:Lr(o.role,n),children:(0,B.jsxs)(`div`,{className:`grid gap-2`,children:[o.text?(0,B.jsx)(A,{children:({part:e})=>e.type===`text`?(0,B.jsx)(bi,{}):null}):null,o.isPending?(0,B.jsx)(Ci,{}):null,o.attachments.length>0?(0,B.jsx)(vi,{attachments:o.attachments,role:o.role,onAttachmentLoad:s}):null]})}),u?(0,B.jsxs)(`span`,{className:F(`overflow-hidden px-[var(--messenger-conversation-part-padding-x)] text-sm leading-5 text-text-tertiary transition-[max-height,opacity,transform,margin] duration-200 ease-out`,i?`mt-1 max-h-5 translate-y-0 opacity-100`:`mt-0 max-h-0 -translate-y-1 opacity-0`),children:[e,` · `,yr(o.assistantAuthor,a),` ·`,` `,Fr(o.createdAt,a)]}):null]})]})}function gi(e){if(!Number.isFinite(e)||e<=0)return``;let t=e/(1024*1024);return t>=1?`${t.toFixed(t>=10?0:1)} MB`:`${Math.max(1,Math.round(e/1024))} KB`}function _i(e){let t=e.filename.split(`.`).pop();return t&&t!==e.filename?t.toUpperCase():e.mimeType.split(`/`).pop()?.toUpperCase()??`FILE`}function vi({attachments:e,onAttachmentLoad:t,role:n}){return(0,B.jsx)(`div`,{className:`grid gap-2`,children:e.map(e=>e.mimeType.startsWith(`image/`)&&e.url?(0,B.jsx)(yi,{attachment:e,onLoad:t},e.id):(0,B.jsxs)(`a`,{className:F(`grid min-w-0 grid-cols-[32px_minmax(0,1fr)] items-center gap-2 rounded-lg px-2.5 py-2 no-underline`,n===`user`?`bg-gray-1/15 text-gray-1 hover:bg-gray-1/20`:`bg-bg-canvas text-text-secondary hover:bg-gray-2`),href:e.url||void 0,rel:`noreferrer`,target:`_blank`,children:[(0,B.jsx)(`span`,{className:F(`grid h-8 w-8 place-items-center rounded-md`,n===`user`?`bg-gray-1/20`:`bg-gray-12 text-gray-1`),children:(0,B.jsx)(O,{size:16})}),(0,B.jsxs)(`span`,{className:`min-w-0`,children:[(0,B.jsx)(`span`,{className:`block truncate text-sm font-semibold`,children:e.filename}),(0,B.jsx)(`span`,{className:`block truncate text-xs opacity-70`,children:[_i(e),gi(e.sizeBytes)].filter(Boolean).join(` · `)})]})]},e.id))})}function yi({attachment:e,onLoad:t}){let[n]=(0,z.useState)(()=>e.file&&e.mimeType.startsWith(`image/`)?URL.createObjectURL(e.file):null),[r,i]=(0,z.useState)(!e.url),[a,o]=(0,z.useState)(null),s=r?e.url:n??e.url,c=a!==null,l=c?Math.min(256,Math.round(192*a)):192;(0,z.useEffect)(()=>()=>{n&&URL.revokeObjectURL(n)},[n]),(0,z.useEffect)(()=>{if(!e.url)return;let n=!1,r=new Image;return r.src=e.url,r.decode().catch(()=>void 0).then(()=>{n||(r.naturalWidth>0&&r.naturalHeight>0&&o(r.naturalWidth/r.naturalHeight),i(!0),t(),window.requestAnimationFrame(t))}),()=>{n=!0}},[e.url,t]),(0,z.useEffect)(()=>{if(!n)return;let e=!1,t=new Image;return t.src=n,t.decode().catch(()=>void 0).then(()=>{e||t.naturalWidth<=0||t.naturalHeight<=0||o(t.naturalWidth/t.naturalHeight)}),()=>{e=!0}},[n]);function u(e){let n=e.currentTarget;n.naturalWidth>0&&n.naturalHeight>0&&o(n.naturalWidth/n.naturalHeight),t(),window.requestAnimationFrame(t)}return(0,B.jsxs)(`a`,{className:`relative block max-w-full overflow-hidden rounded-lg bg-gray-3`,href:e.url,rel:`noreferrer`,target:`_blank`,style:{aspectRatio:a??void 0,height:c?void 0:144,width:l},children:[c?null:(0,B.jsx)(`span`,{className:`absolute inset-0 animate-pulse bg-gray-4`,"aria-hidden":`true`}),s?(0,B.jsx)(`img`,{className:F(`absolute inset-0 h-full w-full object-contain transition-opacity`,c?`opacity-100`:`opacity-0`),alt:e.filename,src:s,onLoad:u}):null]})}function bi(){return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(Se,{className:`min-w-0 break-words`}),children:(0,B.jsx)(sr,{})}),(0,B.jsx)(T,{children:(0,B.jsx)(Ci,{})})]})}function xi({children:e}){return(0,B.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col animate-[customer-agent-chat-route-in_var(--duration-fast)_var(--ease-emphasis)_both] motion-reduce:animate-none`,"data-customer-agent-lazy-route-ready":``,children:e})}function Si({label:e}){return(0,B.jsx)(`div`,{className:`grid min-h-0 flex-1 place-items-center`,"aria-label":e,role:`status`,children:(0,B.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-[var(--gray-4)] border-t-[var(--customer-agent-primary)]`})})}function Ci(){return(0,B.jsxs)(`span`,{className:`inline-flex h-5 items-center gap-1 align-middle text-text-quaternary`,children:[(0,B.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current`}),(0,B.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:140ms]`}),(0,B.jsx)(`span`,{className:`h-1.5 w-1.5 animate-[customer-agent-typing-dot-bounce_1.05s_ease-in-out_infinite] rounded-full bg-current [animation-delay:280ms]`})]})}export{pi as WidgetPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`0.6.0-test.67b72921d3c0`;function t(){typeof window>`u`||(window.__customerAgentVersion=e)}var n=Object.freeze({BUG_REPORTED:`support.bug_reported`,CONVERSATION_CREATED:`conversation.created`,ERROR:`error`,FEEDBACK_SUBMITTED:`support.feedback_submitted`,HANDOFF_REQUESTED:`support.handoff_requested`,INTERVIEW_INVITATION_CLOSED:`interview.invitation_closed`,INTERVIEW_INVITATION_LATER:`interview.invitation_later`,INTERVIEW_INVITATION_SHOWN:`interview.invitation_shown`,INTERVIEW_AVAILABLE:`interview.available`,INTERVIEW_REWARD_UPDATED:`interview.reward_updated`,INTERVIEW_STATE_CHANGED:`interview.state_changed`,INTERVIEW_SESSION_COMPLETED:`interview.session_completed`,INTERVIEW_SESSION_STARTED:`interview.session_started`,MESSAGE_COMPLETED:`message.completed`,MESSAGE_FAILED:`message.failed`,MESSAGE_RETRY:`message.retry`,MESSAGE_SEND_FAILED:`message.send_failed`,MESSAGE_SENT:`message.sent`,MESSAGE_STARTED:`message.started`,SUPPORT_STATE_CHANGED:`support.state_changed`,TRANSCRIPT_DOWNLOADED:`transcript.downloaded`,WIDGET_CLOSED:`widget.closed`,WIDGET_COLLAPSED:`widget.collapsed`,WIDGET_EXPANDED:`widget.expanded`,WIDGET_OPENED:`widget.opened`,WIDGET_READY:`widget.ready`});export{t as n,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=class extends Error{code;requestId;status;constructor(e,t){super(e),this.name=`CustomerAgentApiError`,this.code=t.code,this.requestId=t.requestId??null,this.status=t.status}};function t(e){return e.replace(/\/+$/g,``)}function n(e){return!!e&&typeof e==`object`&&e.ok===!1&&typeof e.error?.message==`string`}function r(e){return!!e&&typeof e==`object`&&e.ok===!0}async function i(t){let n=await t.text();if(!n)return null;try{return JSON.parse(n)}catch{throw new e(`The server returned an unreadable response.`,{code:`INVALID_RESPONSE`,requestId:t.headers.get(`X-Request-Id`),status:t.status})}}function a(a){let o=t(a);async function s(t){let a=await i(t);if(n(a))throw new e(a.error.message,{code:a.error.code,requestId:a.meta?.requestId??t.headers.get(`X-Request-Id`),status:t.status});if(!t.ok)throw new e(`The server could not complete the request.`,{code:`HTTP_ERROR`,requestId:t.headers.get(`X-Request-Id`),status:t.status});if(!r(a))throw new e(`The server returned an unexpected response.`,{code:`INVALID_RESPONSE`,requestId:t.headers.get(`X-Request-Id`),status:t.status});return{data:a.data,response:t}}async function c(e,t={}){let n=new Headers;return t.method!==`GET`&&n.set(`Content-Type`,`application/json`),t.conversationId&&n.set(`X-Customer-Agent-Conversation-Id`,t.conversationId),await s(await fetch(`${o}${e}`,{body:t.body?JSON.stringify(t.body):void 0,credentials:`omit`,headers:n,method:t.method??`GET`,signal:t.signal}))}async function l(e,t,n={}){let r=new Headers;return n.conversationId&&r.set(`X-Customer-Agent-Conversation-Id`,n.conversationId),await s(await fetch(`${o}${e}`,{body:t,credentials:`omit`,headers:r,method:`POST`,signal:n.signal}))}return{request:c,upload:l}}function o(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`ca_${Date.now()}_${Math.random().toString(36).slice(2)}`}function s(){return`https://api-ctmr-agent-dev.deepjoy.me/api/customer-agent`}function c(e,t){if(!e.app_id)throw Error(`CustomerAgent requires an app_id.`);let{launcher:n,mount:r,...i}=e;return{...i,context:e.context??{},embedded:!!r,launcher:n?{offset:n.offset,placement:n.placement,style:n.style,variables:n.variables}:void 0,widgetId:t}}function l(e){return typeof e==`string`&&e.trim()?e.trim():null}function u(e){let t=l(e.user?.id);return t?JSON.stringify({appId:e.app_id,userId:t}):null}function d(e){let t=u(e);return t?`customer_agent:interview_session:${encodeURIComponent(t)}`:null}function f(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.entryId==`string`&&typeof t.priority==`number`&&typeof t.sessionId==`string`&&typeof t.title==`string`}function p(e){return u(e)}function m(){return{clear(e){let t=d(e);if(t)try{window.localStorage.removeItem(t)}catch{}},read(e){let t=d(e);if(!t)return null;try{let e=window.localStorage.getItem(t);if(!e)return null;let n=JSON.parse(e);return f(n)?n:null}catch{return null}},write(e,t){let n=d(e);if(n)try{window.localStorage.setItem(n,JSON.stringify(t))}catch{}}}}var h=class extends Error{conversationId;constructor(e){super(`The support conversation session is no longer available.`),this.conversationId=e,this.name=`CustomerAgentSessionInvalidatedError`}};function g(e){return typeof e==`string`&&e.trim()?e.trim():null}function _(e){let t=g(e.user?.id),n=g(e.anonymous_id),r=t?`user:${t}`:n?`anonymous:${n}`:`anonymous`;return encodeURIComponent(r)}function v(e){return`customer_agent:conversation_id:${e.app_id}:${_(e)}`}function y(e){return`${e.app_id}::${_(e)}`}function b(e){try{return window.localStorage.getItem(v(e))}catch{return null}}function x(e,t){try{window.localStorage.setItem(v(e),t)}catch{}}function S(e){try{window.localStorage.removeItem(v(e))}catch{}}function C(){try{return window.parent?.location??window.location}catch{return window.location}}function w(){let e=C();return!e?.href||e.href===`about:blank`?{}:{customerOrigin:e.origin,pagePath:`${e.pathname}${e.search}${e.hash}`,pageUrl:e.href}}function T(){return{language:navigator.language,languages:navigator.languages,platform:navigator.platform,screen:{height:window.screen.height,width:window.screen.width},userAgent:navigator.userAgent,viewport:{height:window.innerHeight,width:window.innerWidth}}}function E(e){return Object.fromEntries(Object.entries(e).filter(e=>e[1]!==void 0))}function D(e){return Array.isArray(e)?`[${e.map(e=>D(e)).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${JSON.stringify(e)}:${D(t)}`).join(`,`)}}`:JSON.stringify(e)}function O(e){return e.anonymous_id??e.user?.id}function k(e){return E({...e.context,...e.user,userId:e.user?.id,visitorId:O(e)})}function A(e){let t=k(e);return{appId:e.app_id,...E({...w(),deviceInfo:T(),locale:e.locale,userContext:Object.keys(t).length?t:void 0,visitorId:O(e),widgetId:e.widgetId})}}function j(e){return{id:e.id,role:e.role,content:e.content,createdAt:new Date(e.createdAt),metadata:{custom:{assistantAuthor:e.assistantAuthor,attachments:e.attachments??[]}},status:e.role===`assistant`?{type:`complete`,reason:`stop`}:void 0}}function M(e){return e.map(j)}var N=class{apiOrigin=null;client=null;lastContextFingerprint=null;session=null;sessionPromise=null;getClient(){let e=s();return(this.apiOrigin!==e||!this.client)&&(this.apiOrigin=e,this.client=a(e),this.lastContextFingerprint=null,this.session=null,this.sessionPromise=null),this.client}clear(e){this.lastContextFingerprint=null,this.session=null,this.sessionPromise=null,S(e)}hydrateSession(e,t){this.session={cacheKey:y(e),conversationId:t.conversationId,messages:t.messages},this.sessionPromise=null,x(e,t.conversationId)}async ensureSession(e,t={}){let n=y(e);if(this.session?.conversationId&&this.session.cacheKey===n)return this.session;if(this.session?.cacheKey!==n&&(this.lastContextFingerprint=null,this.session=null,this.sessionPromise=null),this.sessionPromise)return await this.sessionPromise;let r=b(e);this.sessionPromise=this.startSession(e,r,t);try{return this.session=await this.sessionPromise,this.session}finally{this.sessionPromise=null}}async sendMessage(t,n,r,i,a={}){let o=this.getHydratedSession(t)??await this.ensureSession(t,a);try{let e=await this.postMessage(t,o.conversationId,n,r,i);return this.session?.conversationId===e.conversationId&&(this.session={...this.session,messages:P(this.session.messages,[e.userMessage,e.assistantMessage])}),e}catch(s){if(s instanceof e&&s.code===`NOT_FOUND`){this.clear(t),a.onSessionInvalidated?.(o.conversationId);let e=await this.ensureSession(t,a),s=await this.postMessage(t,e.conversationId,n,r,i);return this.session={...e,messages:P(e.messages,[s.userMessage,s.assistantMessage])},s}throw s}}async refreshSession(t,n){let r=this.getHydratedSession(t);if(!r)return null;try{let{data:e}=await this.getClient().request(`/conversation`,{conversationId:r.conversationId,method:`GET`,signal:n});return this.session={...r,conversationId:e.conversationId,messages:e.messages},x(t,e.conversationId),this.session}catch(n){if(n instanceof e&&n.code===`NOT_FOUND`){let e=r.conversationId;throw this.clear(t),new h(e)}throw n}}async updateContext(e){let t=this.getHydratedSession(e);if(!t)return null;let n=A(e),r=D(n);if(r===this.lastContextFingerprint)return null;let{data:i}=await this.getClient().request(`/context`,{body:{...n,conversationId:t.conversationId},conversationId:t.conversationId,method:`PATCH`});return this.lastContextFingerprint=r,i}async uploadAttachment(e,t,n={}){let r=this.getHydratedSession(e);if(!r)throw Error(`The support conversation session has not been initialized.`);let i=new FormData;i.set(`appId`,e.app_id),i.set(`conversationId`,r.conversationId),i.set(`file`,t);let{data:a}=await this.getClient().upload(`/attachments`,i,{conversationId:r.conversationId});return{filename:a.filename,id:a.attachmentId,mimeType:a.mimeType,sizeBytes:a.sizeBytes,url:a.url}}async startSession(t,n,r={}){let i=this.getClient(),a=A(t);try{let{data:e}=await i.request(`/session`,{body:E({...a,conversationId:n??void 0}),conversationId:n,method:`POST`}),o=e.conversationId;return x(t,o),this.lastContextFingerprint=D(a),n||r.onConversationCreated?.(o),{cacheKey:y(t),conversationId:o,messages:e.messages}}catch(i){if(n&&i instanceof e&&i.code===`NOT_FOUND`)return S(t),await this.startSession(t,null,r);throw i}}async postMessage(e,t,n,r,i){let a=A(e),{data:o}=await this.getClient().request(`/messages`,{body:{...a,attachments:r.length?r:void 0,conversationId:t,message:n},conversationId:t,method:`POST`,signal:i});return this.lastContextFingerprint=D(a),o}getHydratedSession(e){let t=y(e);return this.session?.conversationId&&this.session.cacheKey===t?this.session:null}};function P(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()]}var F=new N,I={AGENTS_CONVERSATIONS:`agents.conversations`,GLOBAL_ERROR:`global.error`,GLOBAL_LOADING:`global.loading`},L={CHAT:`chat`,INTERVIEW_STARTING:`interview.starting`},R=`interview/session/`,z=`support/session/`;function B(e,t){return e.startsWith(t)&&e.length>t.length}function V(e){return B(e,R)}function H(e){return`${z}${e}`}function U(e){return B(e,z)}function W(e){return U(e)?e.slice(16):null}function G(e){return!e||e.name!==I.AGENTS_CONVERSATIONS?!1:e.child.name===L.CHAT&&V(e.child.entryId)}function K(e){return{child:{entryId:e,name:L.CHAT},name:I.AGENTS_CONVERSATIONS}}export{c as _,G as a,a as b,I as c,M as d,F as f,o as g,u as h,V as i,h as l,p as m,H as n,U as o,m as p,W as r,L as s,K as t,A as u,s as v,e as y};
|