@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/sdk.js CHANGED
@@ -1 +1 @@
1
- (function(){var e=`0.6.0-test.67b72921d3c0`;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
+ (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};
@@ -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};