1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1406],{21406:(e,t,n)=>{n.d(t,{ConversationsView:()=>tz});var a=n(54568),s=n(6487);function l(e){var t,n,l,r;let{pending:i,onClose:o,onReplace:c,t:d}=e,u=!!(null==i?void 0:i.conflict.can_merge),m=null!=(n=null==i?void 0:i.conflict.conflicting_client_name)?n:d("conversations.noClient"),h=null!=(l=null==i?void 0:i.updates.clientName)?l:d("conversations.noClient");return(0,a.jsx)(s.Lt,{open:!!i,onOpenChange:e=>!e&&o(),children:(0,a.jsxs)(s.EO,{children:[(0,a.jsxs)(s.wd,{children:[(0,a.jsx)(s.r7,{children:d(u?"conversations.clientMergeConflictTitle":"conversations.clientLinkConflictTitle")}),(0,a.jsx)(s.$v,{children:u?d("conversations.clientMergeConflictDescription",{source:m,target:h}):d("conversations.clientLinkConflictDescription",{channel:null!=(r=null==i?void 0:i.conflict.channel)?r:""})})]}),(null==i||null==(t=i.conflict.conflicts)?void 0:t.length)?(0,a.jsx)("div",{className:"space-y-2 rounded-md bg-muted/60 p-3 text-sm",children:i.conflict.conflicts.map(e=>(0,a.jsxs)("div",{className:"grid grid-cols-[90px_1fr] gap-2",children:[(0,a.jsx)("span",{className:"text-muted-foreground",children:e.field}),(0,a.jsxs)("span",{children:[e.existing," -> ",e.incoming]})]},"".concat(e.field,"-").concat(e.existing,"-").concat(e.incoming)))}):null,(0,a.jsxs)(s.ck,{children:[(0,a.jsx)(s.Zr,{children:d("common.cancel")}),(0,a.jsx)(s.Rx,{onClick:()=>{i&&c(i)},children:d(u?"conversations.clientMergeConfirm":"conversations.clientLinkReplace")})]})]})})}var r=n(93929),i=n(6638),o=n(47582),c=n(60181),d=n(9989),u=n(15048),m=n(95400),h=n(47781),p=n(60892),x=n(77759),g=n(83569),v=n(20269),f=n(68156),b=n(40642),j=n(23583);let w=["WHATSAPP","INSTAGRAM","FACEBOOK_MESSENGER","TELEGRAM","EMAIL","WEB","API"],y=["7","15","30","custom"],N={new:g.A,qualified:d.A,follow_up:i.A,won:v.A,lost:f.A},C={low:b.A,normal:d.A,high:j.A};var k=n(89273);function _(e){let{label:t,children:n,side:s="top",wrapperClassName:l="inline-flex"}=e;return(0,a.jsx)(k.Bc,{children:(0,a.jsxs)(k.m_,{children:[(0,a.jsx)(k.k$,{asChild:!0,children:(0,a.jsx)("span",{className:l,children:n})}),(0,a.jsx)(k.ZI,{side:s,children:t})]})})}var S=n(12640),A=n(4334),T=n(1832),I=n(26049),E=n(7620),D=n(35841),M=n(24222),F=n(58142),L=n(86907),P=n(46076),O=n(19200);let R=new Set(["instagram","facebook_messenger"]),z={whatsapp:{label:"WhatsApp",Icon:F.A,iconClass:"text-emerald-600 dark:text-emerald-400",chipClass:"bg-emerald-50 text-emerald-800 dark:bg-emerald-950/40 dark:text-emerald-300"},telegram:{label:"Telegram",Icon:A.A,iconClass:"text-sky-600 dark:text-sky-400",chipClass:"bg-sky-50 text-sky-800 dark:bg-sky-950/40 dark:text-sky-300"},email:{label:"Email",Icon:L.A,iconClass:"text-slate-600 dark:text-slate-400",chipClass:"bg-slate-50 text-slate-900 dark:bg-slate-950/40 dark:text-slate-200"},instagram:{label:"Instagram",Icon:P.A,iconClass:"text-pink-600 dark:text-pink-400",chipClass:"bg-pink-50 text-pink-800 dark:bg-pink-950/40 dark:text-pink-300"},facebook_messenger:{label:"Messenger",Icon:O.A,iconClass:"text-blue-600 dark:text-blue-400",chipClass:"bg-blue-50 text-blue-800 dark:bg-blue-950/40 dark:text-blue-300"}};function B(e){return e.replace(/\D/g,"")}function K(e){var t;return null!=(t=z[e.toLowerCase()])?t:{label:e,Icon:F.A,iconClass:"text-muted-foreground",chipClass:"bg-muted text-muted-foreground"}}var U=n(19664),$=n.n(U),G=n(98099),q=n(12386),H=n(35330),V=n(14548),W=n(29977),J=n(25703),Z=n(60553);function Q(e){let{step:t,title:n,done:s,active:l}=e;return(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,a.jsx)("span",{className:(0,J.cn)("flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-xs font-semibold",s?"bg-primary text-primary-foreground":l?"bg-foreground text-background":"bg-muted text-muted-foreground"),children:s?(0,a.jsx)(V.A,{className:"h-3.5 w-3.5"}):t}),(0,a.jsx)("h3",{className:(0,J.cn)("truncate text-sm font-semibold tracking-tight",!l&&!s&&"text-muted-foreground"),children:n})]})}function Y(e){let{step:t,title:n,done:s,active:l,collapsed:r,summary:i,onExpand:o,children:c}=e,d=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(Q,{step:t,title:n,done:s,active:l}),r&&i?(0,a.jsx)("span",{className:"ml-2 hidden min-w-0 truncate text-xs text-muted-foreground sm:inline",children:i}):null,r?(0,a.jsx)(Z.A,{className:"ml-auto h-4 w-4 shrink-0 text-muted-foreground"}):null]});return(0,a.jsxs)("section",{className:"space-y-3",children:[r?(0,a.jsx)("button",{type:"button",onClick:o,className:"flex w-full items-center gap-2 rounded-lg border border-border/50 bg-muted/25 px-3 py-2.5 text-left transition-colors hover:bg-muted/40",children:d}):(0,a.jsx)("div",{className:"flex items-center gap-2",children:d}),r&&i?(0,a.jsx)("p",{className:"truncate px-1 text-xs text-muted-foreground sm:hidden",children:i}):null,r?null:c]})}function X(e){let{t,clientsHref:n,channelsHref:s,selectedClient:l,contactOptions:r,contactKey:i,selectContact:o,channelsLoading:c,step2Complete:d,focusStep:u,step2Collapsed:h,step2Summary:p,setExpandedStep:x}=e;return l?(0,a.jsx)(Y,{step:2,title:t("conversations.newConversationSectionChannel"),done:d,active:2===u,collapsed:h,summary:p,onExpand:()=>
1x(2),children:c?(0,a.jsx)("div",{className:"flex justify-center py-8",children:(0,a.jsx)(I.AgentsGTLoader,{})}):0===r.length?(0,a.jsx)("div",{className:"rounded-xl border border-slate-200/80 bg-slate-50/80 px-4 py-4 dark:border-slate-900/50 dark:bg-slate-950/25",children:(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)(G.A,{className:"mt-0.5 h-5 w-5 shrink-0 text-slate-700 dark:text-slate-400"}),(0,a.jsxs)("div",{className:"min-w-0 space-y-2 text-sm",children:[(0,a.jsx)("p",{className:"font-medium text-slate-950 dark:text-slate-100",children:t("conversations.newConversationEmptyContactsTitle")}),(0,a.jsx)("p",{className:"text-xs leading-relaxed text-slate-900/80 dark:text-slate-200/80",children:t("conversations.newConversationEmptyContactsHint")}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 pt-1",children:[(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 bg-white/60",children:(0,a.jsx)($(),{href:n,children:t("clients.title")})}),(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 bg-white/60",children:(0,a.jsx)($(),{href:s,children:t("conversations.newConversationChannelsLink")})})]})]})]})}):(0,a.jsx)("div",{className:"space-y-2",children:r.map(e=>{let n="".concat(e.channelId,":").concat(e.id),s=i===n,l=K(e.channel),r=l.Icon;return(0,a.jsxs)("button",{type:"button",onClick:()=>o(e),className:(0,J.cn)("flex w-full items-start gap-3 rounded-xl border p-3 text-left transition-colors",s?"border-primary/50 bg-primary/5 ring-1 ring-primary/25":"border-border/60 bg-card hover:bg-muted/30"),children:[(0,a.jsx)("div",{className:(0,J.cn)("flex h-10 w-10 shrink-0 items-center justify-center rounded-lg",l.chipClass),children:(0,a.jsx)(r,{className:(0,J.cn)("h-5 w-5",l.iconClass)})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:l.label}),e.requiresTemplate&&(0,a.jsxs)(W.E,{variant:"secondary",className:"h-5 gap-0.5 px-1.5 text-[10px]",children:[(0,a.jsx)(q.A,{className:"h-3 w-3"}),t("conversations.newConversationTemplateBadge")]}),!e.requiresTemplate&&"whatsapp"===e.channel&&(0,a.jsxs)(W.E,{variant:"outline",className:"h-5 gap-0.5 px-1.5 text-[10px]",children:[(0,a.jsx)(H.A,{className:"h-3 w-3"}),t("conversations.newConversationSessionBadge")]})]}),(0,a.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:e.displayName}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground",children:t("conversations.newConversationViaAgent",{agent:e.agentName})})]}),s&&(0,a.jsx)(V.A,{className:"mt-1 h-4 w-4 shrink-0 text-primary"})]},n)})})}):null}var ee=n(70727),et=n(72639);function en(e){let{t,clients:n,clientsHref:s,clientId:l,clientOpen:r,setClientOpen:i,selectClient:o,selectedClient:c,step1Complete:d,focusStep:u,step1Collapsed:h,step1Summary:p,setExpandedStep:x}=e;return(0,a.jsx)(Y,{step:1,title:t("conversations.newConversationSectionRecipient"),done:d,active:1===u,collapsed:h,summary:p,onExpand:()=>x(1),children:0===n.length?(0,a.jsxs)("div",{className:"rounded-xl border border-dashed border-border/80 bg-muted/20 px-4 py-6 text-center",children:[(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("conversations.newConversationNoClients")}),(0,a.jsx)(m.$,{asChild:!0,variant:"link",size:"sm",className:"mt-2 h-auto p-0",children:(0,a.jsx)($(),{href:s,children:t("clients.addClient")})})]}):(0,a.jsxs)(et.AM,{open:r,onOpenChange:i,children:[(0,a.jsx)(et.Wv,{asChild:!0,children:(0,a.jsxs)(m.$,{type:"button",variant:"outline",role:"combobox","aria-expanded":r,className:"h-11 w-full justify-between font-normal",children:[(0,a.jsx)("span",{className:"truncate",children:c?c.name:t("conversations.clientPlaceholder")}),(0,a.jsx)(Z.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(et.hl,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:(0,a.jsxs)(ee.uB,{children:[(0,a.jsx)(ee.G7,{placeholder:t("conversations.newConversationSearchClient")}),(0,a.jsxs)(ee.oI,{children:[(0,a.jsx)(ee.xL,{children:t("conversations.noClientMatches")}),(0,a.jsx)(ee.L$,{children:n.map(e=>{var t,n;return(0,a.jsxs)(ee.h_,{value:"".concat(e.name," ").concat(null!=(t=e.email)?t:""," ").concat(null!=(n=e.phone)?n:""),onSelect:()=>o(e.id),children:[(0,a.jsx)(V.A,{className:(0,J.cn)("mr-2 h-4 w-4 shrink-0",l===e.id?"opacity-100":"opacity-0")}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"truncate font-medium",children:e.name}),(e.email||e.phone)&&(0,a.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:[e.email,e.phone].filter(
1Boolean).join(" \xb7 ")})]})]},e.id)})})]})]})})]})})}var ea=n(85367),es=n(33444),el=n(58946),er=n(65968),ei=n(7162);function eo(e){let{t,organizationId:n,selectedContact:s,subject:l,setSubject:r,text:i,setText:o,selectedTemplateKey:c,setSelectedTemplateKey:d,templateVariableValues:u,setTemplateVariable:h,waTemplates:p,waTemplatesLoading:x,waIsFreePlan:g,waTemplateCredits:v,selectedWaTemplate:f,focusStep:b}=e;if(!s)return null;let j=s.requiresTemplate?!!f:"email"===s.channel?!!(l.trim()&&i.trim()):!!i.trim();return(0,a.jsxs)(Y,{step:3,title:t("conversations.newConversationSectionMessage"),done:j,active:3===b,children:[s.metaOptInOnly&&(0,a.jsx)("p",{className:"rounded-lg bg-muted/50 px-3 py-2 text-xs text-muted-foreground",children:t("conversations.newConversationMetaNotice")}),"email"===s.channel&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(el.Label,{htmlFor:"reach-out-subject",className:"text-xs text-muted-foreground",children:t("conversations.newConversationSubject")}),(0,a.jsx)(es.p,{id:"reach-out-subject",value:l,onChange:e=>r(e.target.value),placeholder:t("conversations.newConversationSubjectPlaceholder"),className:"h-10"})]}),s.requiresTemplate?(0,a.jsxs)("div",{className:"space-y-3 rounded-xl border border-border/60 bg-muted/20 p-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(ea.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("p",{children:t("conversations.newConversationWhatsappTemplateNotice",{credits:v})})]}),g?(0,a.jsx)("p",{className:"text-xs text-slate-700 dark:text-slate-300",children:t("conversations.newConversationFreePlanTemplates")}):x?(0,a.jsx)("div",{className:"flex justify-center py-6",children:(0,a.jsx)(I.AgentsGTLoader,{})}):0===p.length?(0,a.jsxs)("div",{className:"space-y-2 text-xs text-muted-foreground",children:[(0,a.jsx)("p",{children:t("conversations.newConversationNoTemplatesEnabled")}),(0,a.jsx)(m.$,{asChild:!0,variant:"link",size:"sm",className:"h-auto p-0 text-xs",children:(0,a.jsx)($(),{href:"/org/".concat(n,"/channels/whatsapp/").concat(s.channelId),children:t("channels.whatsappTemplates.title")})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(el.Label,{className:"text-xs text-muted-foreground",children:t("conversations.newConversationSelectTemplate")}),(0,a.jsxs)(er.Select,{value:c,onValueChange:d,children:[(0,a.jsx)(er.SelectTrigger,{className:"h-10 bg-background",children:(0,a.jsx)(er.SelectValue,{placeholder:t("conversations.newConversationSelectTemplate")})}),(0,a.jsx)(er.SelectContent,{children:p.map(e=>(0,a.jsxs)(er.SelectItem,{value:"".concat(e.name,"::").concat(e.language),children:[e.name," \xb7 ",e.language]},"".concat(e.name,"::").concat(e.language)))})]})]}),(null==f?void 0:f.body_preview)&&(0,a.jsxs)("div",{className:"rounded-lg border border-border/50 bg-background px-3 py-2.5",children:[(0,a.jsx)("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:t("conversations.newConversationTemplatePreview")}),(0,a.jsx)("p",{className:"text-sm leading-relaxed whitespace-pre-wrap",children:f.body_preview})]}),f&&u.map((e,n)=>(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(el.Label,{htmlFor:"reach-out-var-".concat(n),className:"text-xs text-muted-foreground",children:t("conversations.newConversationTemplateVariable",{index:n+1})}),(0,a.jsx)(es.p,{id:"reach-out-var-".concat(n),value:e,onChange:e=>h(n,e.target.value),className:"h-10 bg-background"})]},n))]})]}):(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(el.Label,{htmlFor:"reach-out-message",className:"text-xs text-muted-foreground",children:t("conversations.newConversationMessage")}),(0,a.jsx)(ei.T,{id:"reach-out-message",value:i,onChange:e=>o(e.target.value),placeholder:t("conversations.newConversationMessagePlaceholder"),rows:5,className:"resize-none bg-background text-sm leading-relaxed"})]})]})}function ec(e){let{organizationId:t,clients:n,onCreated:s,triggerClassName:l}=e,r=function(e){var t;let{organizationId:n,clients:a,onCreated:s}=e,{t:l}=(0,D.c)(),{toast:r}=(0,M.dj)(),[i,o]=(0,E.useState)(!1),[c,d]=(0,E.useState)(!1),[u,m]=(0,E.useState)([]),[h,p]=(0,E.useState)(!1),[x,g]=(0,E.useState)(""),[v,f]=(0,E.useState)(""),[b,j]=(0,E.useState)(""),[w,y]=(0,E.useState)(""),[N,C]=(0,E.useState)(""),[k,_]=(0,E.useState)([]),[S,A]=(0,E.useState)([]),[T,I]=(0,E.useState)(!1),[F,L]=(0,E.useState)(!1),[P,O]=(0,E.useState)(25),[z,U]=(0,E.useState)(!1),[$,G]=(0,E.useState)(null),q="/org/".concat(n,"/clients"),H="/org/".concat(n,"/channels"),V=(0,E.useCallback)(()=>{d(!1),g(""),f(""),j(""),y(""),C(""),_([]),A([]),L(!1),G(null)},[]),W=(0,E.useCallback)(e=>{o(e),e||V()},[V]),J=(0,E.useMemo)(()=>{var e;return null!=(e=a.find(e=>e.id===x))?e:null},[x,a]),Z=(0,E.useMemo)(()=>(function(e,t){var n,a,s,l,r;if(!e)return[];let i=null!=(n=e.conversations)?n:[],o=t.filter(e=>e.is_active&&e.agent_id),c=[],d=new Map;for(let e of i){let t=null==(a=e.channel)?void 0:a.toLowerCase();if(!t)continue;let n=e.created_at?new Date(e.created_at).getTime():0;n>(null!=(s=d.get(t))?s:0)&&d.set(t,n)}let u=Date.now();for(let t of null!=(l=e.channel_profiles)?l:[]){let e=o.find(e=>e.channel_type===t.channel);if(!e)continue;let n=t.display_name||t.identifier;c.push({id:t.id,channel:t.channel,channelId:e.id,agentName:e.agent_name||"Agent",label:"".concat(K(t.channel).label," \xb7 ").concat(n),displayName:n,identifier:t.identifier,requiresTemplate:"whatsapp"===t.channel&&(!d.get(t.channel)||u-(null!=(r=d.get(t.channel))?r:0)>=864e5),metaOptInOnly:R.has(t.channel)})}if(e.email){let t=o.find(e=>"email"===e.channel_type);t&&c.push({id:"email",channel:"email",channelId:t.id,agentName:t.agent_name||"Agent",label:"Email \xb7 ".concat(e.email),displayName:e.email,identifier:e.email,requiresTemplate:!1,metaOptInOnly:!1})}if(e.phone){let t=o.find(e=>"whatsapp"===e.channel_type);
1if(t){let n=B(e.phone),a=d.get("whatsapp");c.some(e=>"whatsapp"===e.channel&&B(e.identifier)===n)||c.push({id:"phone",channel:"whatsapp",channelId:t.id,agentName:t.agent_name||"Agent",label:"WhatsApp \xb7 ".concat(e.phone),displayName:e.phone,identifier:n,requiresTemplate:!a||u-a>=864e5,metaOptInOnly:!1})}}return c})(J,u),[J,u]),Q=(0,E.useMemo)(()=>{var e;return null!=(e=Z.find(e=>"".concat(e.channelId,":").concat(e.id)===v))?e:null},[v,Z]),Y=(0,E.useMemo)(()=>{var e;return N&&null!=(e=S.find(e=>"".concat(e.name,"::").concat(e.language)===N))?e:null},[N,S]),X=!!J,ee=!!Q,et=null!=$?$:X?ee?3:2:1,en=null!=(t=null==J?void 0:J.name)?t:"",ea=Q?"".concat(K(Q.channel).label," \xb7 ").concat(Q.displayName):"",es=(0,E.useMemo)(()=>!!J&&!!Q&&!z&&(Q.requiresTemplate?!(F||T||!Y||Y.variable_count>0&&k.some(e=>!e.trim())):("email"!==Q.channel||!!b.trim())&&!!w.trim()),[J,Q,z,F,T,Y,k,b,w]),el=(0,E.useCallback)(async()=>{p(!0);try{var e;let t=await fetch("/api/organizations/".concat(n,"/channels"));if(!t.ok)return;let a=await t.json();m(null!=(e=a.channels)?e:[])}catch(e){m([])}finally{p(!1)}},[n]);(0,E.useEffect)(()=>{i&&el()},[i,el]),(0,E.useEffect)(()=>{f(""),j(""),y(""),C(""),_([]),A([]),G(null)},[x]),(0,E.useEffect)(()=>{C(""),_([]),G(null)},[v]);let er=(0,E.useCallback)(async e=>{I(!0);try{var t,a;let s=await fetch("/api/organizations/".concat(n,"/channels/").concat(e,"/whatsapp-templates")),l=await s.json().catch(()=>({}));if(!s.ok)throw Error(l.error||"Failed to load templates");L(!0===l.is_free_plan),O(null!=(t=l.template_reach_out_credits)?t:25);let r=(null!=(a=l.templates)?a:[]).filter(e=>e.enabled);A(r)}catch(e){A([])}finally{I(!1)}},[n]);(0,E.useEffect)(()=>{(null==Q?void 0:Q.requiresTemplate)&&"whatsapp"===Q.channel?er(Q.channelId):(A([]),L(!1))},[Q,er]),(0,E.useEffect)(()=>{if(!Y)return void _([]);_(e=>Array.from({length:Y.variable_count},(t,n)=>{var a;return null!=(a=e[n])?a:""}))},[Y]),(0,E.useEffect)(()=>{if(1===Z.length){let e=Z[0];f("".concat(e.channelId,":").concat(e.id))}},[Z]);let ei=(0,E.useCallback)(e=>{g(e),d(!1),G(null)},[]),eo=(0,E.useCallback)(e=>{f("".concat(e.channelId,":").concat(e.id)),G(null)},[]),ec=(0,E.useCallback)((e,t)=>{_(n=>{let a=[...n];return a[e]=t,a})},[]),ed=(0,E.useCallback)(async()=>{if(!J||!Q)return void r({title:l("conversations.newConversationFailed"),description:l("conversations.newConversationMissingFields"),variant:"destructive"});let e=Q.requiresTemplate;if(!e&&!w.trim())return void r({title:l("conversations.newConversationFailed"),description:l("conversations.newConversationMessageRequired"),variant:"destructive"});if(e&&F)return void r({title:l("conversations.newConversationFailed"),description:l("conversations.newConversationFreePlanTemplates"),variant:"destructive"});if(e&&!Y)return void r({title:l("conversations.newConversationFailed"),description:0===S.length?l("conversations.newConversationNoTemplatesEnabled"):l("conversations.newConversationTemplateRequired"),variant:"destructive"});if("email"===Q.channel&&!b.trim())return void r({title:l("conversations.newConversationFailed"),description:l("conversations.newConversationSubjectRequired"),variant:"destructive"});U(!0);try{let t=k.map(e=>e.trim()).filter(Boolean),a=await fetch("/api/organizations/".concat(n,"/conversations/reach-out"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:J.id,channelId:Q.channelId,profileId:Q.id,text:w.trim()||void 0,subject:b.trim()||void 0,templateName:e?null==Y?void 0:Y.name:void 0,templateLanguage:e?null==Y?void 0:Y.language:void 0,templateVariables:e&&t.length>0?t:void 0})}),i=await a.json().catch(()=>({}));if(!a.ok)throw Error(i.error||l("conversations.newConversationFailed"));let c="number"==typeof i.creditsCharged&&i.creditsCharged>0?" (".concat(i.creditsCharged," credits)"):"";r({title:"".concat(l("conversations.newConversationSuccess")).concat(c)}),o(!1),V(),s(i.threadId)}catch(e){r({title:l("conversations.newConversationFailed"),description:e instanceof Error?e.message:void 0,variant:"destructive"})}finally{U(!1)}},[s,n,V,J,Q,Y,b,l,k,w,r,F,S.length]);return{t:l,open:i,handleOpenChange:W,clientOpen:c,setClientOpen:d,clientsHref:q,channelsHref:H,clients:a,clientId:x,selectClient:ei,selectedClient:J,contactOptions:Z,contactKey:v,selectContact:eo,selectedContact:Q,channelsLoading:h,subject:b,setSubject:j,text:w,setText:y,selectedTemplateKey:N,setSelectedTemplateKey:C,templateVariableValues:k,setTemplateVariable:ec,waTemplates:S,waTemplatesLoading:T,waIsFreePlan:F,waTemplateCredits:P,selectedWaTemplate:Y,sending:z,expandedStep:$,setExpandedStep:G,step1Complete:X,step2Complete:ee,focusStep:et,step1Collapsed:X&&1!==et,step2Collapsed:ee&&2!==et,step1Summary:en,step2Summary:ea,canSend:es,handleSubmit:ed,organizationId:n}}({organizationId:t,clients:n,onCreated:s}),{t:i,open:o,handleOpenChange:c,canSend:d,sending:u,handleSubmit:h}=r;return(0,a.jsxs)(T.lG,{open:o,onOpenChange:c,children:[(0,a.jsx)(T.zM,{asChild:!0,children:(0,a.jsx)(p.IconButton,{type:"button",variant:"ghost",size:"sm",label:i("conversations.newConversation"),className:null!=l?l:"shrink-0",children:(0,a.jsx)(S.A,{className:"h-4 w-4"})})}),(0,a.jsxs)(T.Cf,{className:"flex h-[min(90vh,720px)] max-h-[min(90vh,720px)] max-w-lg flex-col gap-0 overflow-hidden p-0",children:[(0,a.jsx)(T.c7,{className:"shrink-0 space-y-1 border-b border-border/60 px-6 py-5 pr-12",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-primary",children:(0,a.jsx)(S.A,{className:"h-5 w-5"})}),(0,a.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,a.jsx)(T.L3,{className:"text-left",children:i("conversations.newConversationTitle")}),(0,a.jsx)(T.rr,{className:"text-left text-xs leading-relaxed",children:i("conversations.newConversationDescription")})]})]})}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain",children:(0,a.jsxs)("div",{className:"space-y-6 px-6 py-5 pb-6",children:[(0,a.jsx)(en,{...r}),(0,a.jsx)(X,{...r}),(0,a.jsx)(eo,{...r})]})}),(0,a.jsxs)(T.Es,{className:"shrink-0 gap-2 border-t border-border/60 px-6 py-4 sm:justify-end",children:[(0,a.jsx)(m.$,{type:"button",variant:"outline",onClick:()=>c(!1),children:i("common.cancel")}),(0,a.jsxs)(m.$,{type:"button",onClick:()=>void h(),disabled:!d,children:[u?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-4 w-4"}):(0,a.jsx)(A.A,{className:"mr-2 h-4 w-4"}),i("conversations.newConversationSend")]})]})]})]})}let ed=["new","qualified","follow_up","won","lost"],eu=["low","normal","high"],em=["lead","prospect","customer","inactive","archived"];function eh(e){return"".concat(e.getFullYear(),"-").concat(String(e.getMonth()+1).padStart(2,"0"))}function ep(e){let[t,n]=e.split("-").map(Number);return t&&n?new Date(t,n-1,1):null}function ex(e){let[t,n]=e.split("-").map(Number);return t&&n?new Date(t,n,0,23,59,59,999):null}function eg(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function ev(e){let t=e.replace(/\s+/g," ").trim();return t.length>90?"".concat(t.slice(0,90),"..."):t}function ef(e){return e.trim().split(/\s+/).slice(0,2).join(" ")}function eb(e,t){return"INSTAGRAM_COMMENT"===e&&t.startsWith("ig_comment:")?"Comment thread":"INSTAGRAM"===e||"INSTAGRAM_COMMENT"===e?t.startsWith("@")?t:"@".concat(t):t}function ej(e,t){return e.client_name?e.client_name:e.user_identifier?eb(e.channel,e.user_identifier):"".concat(t).concat(new Date(e.created_at).toLocaleDateString())}let ew="px-1 pb-1 pt-1 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground";function ey(e){let{t,previewMode:n,organizationId:s,clients:l,onReachOutCreated:g,activeFilterCount:v,loading:f,onRefresh:b,onResetFilters:j,operatorStats:y,agents:N,availableTags:C,blockedOnly:k,pendingO
1nly:S,humanModeOnly:A,agentFilter:T,channelFilter:I,statusFilter:E,priorityFilter:D,tagFilter:M,onPendingOnlyToggle:F,onHumanModeOnlyToggle:L,onBlockedOnlyChange:P,onAgentFilterChange:O,onChannelFilterChange:R,onStatusFilterChange:z,onPriorityFilterChange:B,onTagFilterChange:K}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[!n&&(0,a.jsx)(ec,{organizationId:s,clients:l,onCreated:e=>void g(e)}),(0,a.jsxs)(h.DropdownMenu,{children:[(0,a.jsx)(_,{label:t("conversations.filters"),children:(0,a.jsx)(h.DropdownMenuTrigger,{asChild:!0,children:(0,a.jsxs)(p.IconButton,{tooltip:!1,label:t("conversations.filters"),variant:"ghost",size:"sm",className:"relative",children:[(0,a.jsx)(r.A,{className:"h-4 w-4"}),v>0&&(0,a.jsx)("span",{className:"absolute -right-1 -top-1 flex h-4 min-w-4 items-center justify-center rounded-full border border-slate-300 bg-slate-100 px-1 text-[9px] font-semibold leading-none text-slate-950",children:v})]})})}),(0,a.jsxs)(h.DropdownMenuContent,{align:"end",className:"max-h-[72vh] w-72 overflow-y-auto bg-white p-2 dark:bg-popover",children:[(0,a.jsx)("div",{className:"mb-1 flex justify-end",children:v>0&&(0,a.jsx)(m.$,{type:"button",variant:"ghost",size:"xs",onClick:j,children:t("conversations.clearFilters")})}),(0,a.jsxs)("div",{className:"space-y-2.5",children:[(0,a.jsxs)("section",{className:k?"opacity-45":"",children:[(0,a.jsx)("div",{className:ew,children:t("conversations.attentionFilter")}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)(h.DropdownMenuItem,{disabled:k,variant:S?"chipActive":"chip",onSelect:e=>{e.preventDefault(),k||F()},children:[(0,a.jsx)(i.A,{className:"mr-1 h-3 w-3"}),t("conversations.operatorPendingShort")," (",y.pending,")"]}),(0,a.jsxs)(h.DropdownMenuItem,{disabled:k,variant:A?"chipActive":"chip",onSelect:e=>{e.preventDefault(),k||L()},children:[(0,a.jsx)(o.A,{className:"mr-1 h-3 w-3"}),t("conversations.operatorHumanShort")," (",y.human,")"]})]})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("div",{className:ew,children:t("conversations.stateFilter")}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,a.jsx)(h.DropdownMenuItem,{variant:k?"chip":"chipActive",onSelect:e=>{e.preventDefault(),P(!1)},children:t("conversations.activeTab")}),(0,a.jsxs)(h.DropdownMenuItem,{variant:k?"chipActive":"chip",onSelect:e=>{e.preventDefault(),P(!0)},children:[(0,a.jsx)(c.A,{className:"mr-1 h-3 w-3"}),t("conversations.blockedTab")]})]})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("div",{className:ew,children:t("conversations.agentFilter")}),(0,a.jsxs)("div",{className:"space-y-0.5",children:[(0,a.jsxs)(h.DropdownMenuItem,{variant:"all"===T?"menuActive":"menu",onSelect:e=>{e.preventDefault(),O("all")},children:[(0,a.jsx)("span",{children:t("conversations.allFilter")}),"all"===T&&(0,a.jsx)(d.A,{className:"h-3 w-3"})]}),N.map(e=>(0,a.jsxs)(h.DropdownMenuItem,{variant:T===e.id?"menuActive":"menu",onSelect:t=>{t.preventDefault(),O(e.id)},children:[(0,a.jsx)("span",{className:"truncate",children:ef(e.name)}),T===e.id&&(0,a.jsx)(d.A,{className:"h-3 w-3"})]},e.id))]})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("div",{className:ew,children:t("conversations.channelsFilter")}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,a.jsx)(h.DropdownMenuItem,{variant:"all"===I?"chipActive":"chip",onSelect:e=>{e.preventDefault(),R("all")},children:t("conversations.allFilter")}),w.map(e=>(0,a.jsx)(h.DropdownMenuItem,{variant:I===e?"chipActive":"chip",onSelect:t=>{t.preventDefault(),R(e)},children:ef((0,x.EH)(e))},e))]})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("div",{className:ew,children:t("conversations.stageFilter")}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,a.jsx)(h.DropdownMenuItem,{variant:"all"===E?"chipActive":"chip",onSelect:e=>{e.preventDefault(),z("all")},children:t("conversations.allFilter")}),ed.map(e=>(0,a.jsx)(h.DropdownMenuItem,{variant:E===e?"chipActive":"chip",onSelect:t=>{t.preventDefault(),z(e)},children:t("conversations.crmStatus.".concat(e))},e))]})]}),(0,a.jsxs)("section",{children:[(0,a.jsx)("div",{className:ew,children:t("conversations.priorityFilter")}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,a.jsx)(h.DropdownMenuItem,{variant:"all"===D?"chipActive":"chip",onSelect:e=>{e.preventDefault(),B("all")},children:t("conversations.allFilter")}),eu.map(e=>(0,a.jsx)(h.DropdownMenuItem,{variant:D===e?"chipActive":"chip",onSelect:t=>{t.preventDefault(),B(e)},children:t("conversations.crmPriority.".concat(e))},e))]})]}),(0,a.jsxs)("section",{className:0===C.length?"opacity-45":"",children:[(0,a.jsx)("div",{className:ew,children:t("conversations.allTags")}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,a.jsx)(h.DropdownMenuItem,{disabled:0===C.length,variant:"all"===M?"chipActive":"chip",onSelect:e=>{e.preventDefault(),0!==C.length&&K("all")},children:t("conversations.allFilter")}),C.map(e=>(0,a.jsx)(h.DropdownMenuItem,{variant:M===e?"chipActive":"chip",onSelect:t=>{t.preventDefault(),K(e)},children:(0,a.jsx)("span",{className:"truncate",children:ef(e)})},e))]})]})]})]})]}),(0,a.jsx)(_,{label:t("common.refresh"),children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:t("common.refresh"),variant:"ghost",size:"sm",onClick:b,disabled:f,children:(0,a.jsx)(u.A,{className:"h-3 w-3 ".concat(f?"animate-spin":"")})})})]})}var eN=n(41108),eC=n(57760),ek=n(87490);let e_=["lead","prospect","customer","inactive","archived"],eS=["email","phone","whatsapp","web_chat","telegram"],eA="h-8 border-transparent bg-transparent px-2 text-sm shadow-none hover:bg-muted/60 focus-visible:ring-0",eT="h-8 border-transparent bg-transparent px-2 text-sm shadow-none hover:bg-muted/60 focus:ring-0",eI=(0,E.memo)(function(e){let{open:t,onOpenChange:n,clientId:s,initialDetails:l,onSave:r,saving:i,t:o}=e,[c,d]=(0,E.useState)(l),[u,h]=(0,E.useState)(!1);(0,E.useEffect)(()=>{d(l),h(!1)},[s,l]);let p=(0,E.useCallback)((e,t)=>{d(n=>({...n,[e]:t})),h(!0)},[]),x=(0,E.useCallback)(()=>{r(c)},[c,r]),g=[c.email,c.phone,c.company_name].map(e=>
1e.trim()).filter(Boolean).join(" \xb7 "),v=o("clients.name"),f=o("clients.email"),j=o("clients.phone"),w=o("clients.companyName"),y=o("clients.jobTitle"),N=o("clients.lifecycleStage"),C=o("clients.preferredChannel"),k=o("clients.leadSource"),_=o("clients.tagsPlaceholder"),S=o("clients.notes");return(0,a.jsxs)("div",{className:"overflow-hidden rounded-lg border border-border/60 bg-card",children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 px-3 py-2.5 text-left transition-colors hover:bg-muted/40",onClick:()=>n(!t),"aria-expanded":t,children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("p",{className:"text-xs font-semibold text-foreground",children:o("clients.clientDetails")}),u&&!i&&(0,a.jsx)("span",{className:"rounded-full bg-slate-100 px-1.5 py-0.5 text-[10px] font-medium text-slate-800 dark:bg-slate-950/50 dark:text-slate-200",children:o("conversations.clientDetailsUnsaved")}),i&&(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3.5 w-3.5"})]}),!t&&g?(0,a.jsx)("p",{className:"mt-0.5 truncate text-[11px] text-muted-foreground",children:g}):null]}),(0,a.jsx)(b.A,{className:(0,J.cn)("h-4 w-4 shrink-0 text-muted-foreground transition-transform",t&&"rotate-180")})]}),t&&(0,a.jsxs)("div",{className:"px-2 pb-2 pt-1",children:[(0,a.jsxs)("div",{className:"space-y-1 px-1",children:[(0,a.jsx)(es.p,{value:c.name,onChange:e=>p("name",e.target.value),placeholder:v,"aria-label":v,className:eA}),(0,a.jsx)(es.p,{value:c.email,onChange:e=>p("email",e.target.value),placeholder:f,"aria-label":f,className:eA}),(0,a.jsx)(es.p,{value:c.phone,onChange:e=>p("phone",e.target.value),placeholder:j,"aria-label":j,className:eA}),(0,a.jsx)(es.p,{value:c.company_name,onChange:e=>p("company_name",e.target.value),placeholder:w,"aria-label":w,className:eA}),(0,a.jsx)(es.p,{value:c.job_title,onChange:e=>p("job_title",e.target.value),placeholder:y,"aria-label":y,className:eA}),(0,a.jsxs)(er.Select,{value:c.status,onValueChange:e=>p("status",e),children:[(0,a.jsx)(er.SelectTrigger,{className:eT,"aria-label":N,children:(0,a.jsx)(er.SelectValue,{placeholder:N})}),(0,a.jsx)(er.SelectContent,{children:e_.map(e=>(0,a.jsx)(er.SelectItem,{value:e,children:o("clients.status.".concat(e))},e))})]}),(0,a.jsxs)(er.Select,{value:c.preferred_channel,onValueChange:e=>p("preferred_channel",e),children:[(0,a.jsx)(er.SelectTrigger,{className:eT,"aria-label":C,children:(0,a.jsx)(er.SelectValue,{placeholder:C})}),(0,a.jsx)(er.SelectContent,{children:eS.map(e=>(0,a.jsx)(er.SelectItem,{value:e,children:function(e){switch(e){case"email":return"Email";case"phone":return"Phone";case"whatsapp":return"WhatsApp";case"web_chat":return"Web chat";case"telegram":return"Telegram";default:return e}}(e)},e))})]}),(0,a.jsx)(es.p,{value:c.lead_source,onChange:e=>p("lead_source",e.target.value),placeholder:k,"aria-label":k,className:eA}),(0,a.jsx)(es.p,{value:c.tags,onChange:e=>p("tags",e.target.value),placeholder:_,"aria-label":_,className:eA}),(0,a.jsx)(ei.T,{value:c.notes,onChange:e=>p("notes",e.target.value),placeholder:S,"aria-label":S,className:"min-h-[80px] resize-none border-transparent bg-transparent px-2 text-sm shadow-none hover:bg-muted/60 focus-visible:ring-0"})]}),(0,a.jsx)("div",{className:"mt-2 flex justify-end px-1",children:(0,a.jsxs)(m.$,{type:"button",size:"sm",disabled:!u||i||!c.name.trim(),onClick:x,children:[i?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"mr-1.5 h-3.5 w-3.5"}):null,o("common.save")]})})]})]})});function eE(e){let{label:t,children:n,align:s="center"}=e;return(0,a.jsxs)("div",{className:"start"===s?"grid grid-cols-[108px_minmax(0,1fr)] items-start gap-3":"grid grid-cols-[108px_minmax(0,1fr)] items-center gap-3",children:[(0,a.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:t}),n]})}function eD(e){var t;let{t:n,organizationId:s,thread:l,onUpdateCrm:r,isSavingCrm:i,clientPopoverOpen:o,onClientPopoverOpenChange:c,clientSearch:d,onClientSearchChange:u,filteredClients:h,canCreateClient:x,onCreateAndAssignClient:g,creatingClient:v,selectedClient:f,clientDetailsSeed:j,clientDetailsOpen:w,onClientDetailsOpenChange:y,savingClientDetails:N,onSaveSelectedClientDetails:C}=e;return(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(eE,{label:n("conversations.clientLabel"),children:(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[(0,a.jsxs)(et.AM,{open:o,onOpenChange:c,children:[(0,a.jsx)(et.Wv,{asChild:!0,children:(0,a.jsxs)(m.$,{type:"button",variant:"field",size:"sm",className:"min-w-0 flex-1 justify-between px-2 text-sm font-normal",disabled:i("client")||v,children:[(0,a.jsx)("span",{className:"truncate",children:null!=(t=l.client_name)?t:n("conversations.noClient")}
1),(0,a.jsx)(b.A,{className:"ml-2 h-4 w-4 shrink-0 text-muted-foreground"})]})}),(0,a.jsxs)(et.hl,{align:"end",className:"w-72 bg-white p-2 dark:bg-popover",children:[(0,a.jsx)(es.p,{value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&x&&(e.preventDefault(),g())},placeholder:n("conversations.clientSearchPlaceholder"),className:"mb-2 h-8 text-sm",disabled:v,autoFocus:!0}),(0,a.jsxs)("div",{className:"max-h-56 overflow-y-auto",children:[(0,a.jsxs)(m.$,{type:"button",variant:l.client_id?"menu":"menuActive",size:"sm",className:"w-full justify-between text-left text-sm font-normal",onClick:()=>{r(l,{clientId:null,clientName:null}),c(!1)},disabled:i("client")||v,children:[n("conversations.noClient"),!l.client_id&&(0,a.jsx)(V.A,{className:"h-3.5 w-3.5"})]}),h.map(e=>(0,a.jsxs)(m.$,{type:"button",variant:l.client_id===e.id?"menuActive":"menu",size:"sm",className:"w-full justify-between text-left text-sm font-normal",onClick:()=>{r(l,{clientId:e.id,clientName:e.name}),u(""),c(!1)},disabled:i("client")||v,children:[(0,a.jsx)("span",{className:"truncate",children:e.name}),l.client_id===e.id&&(0,a.jsx)(V.A,{className:"h-3.5 w-3.5 shrink-0"})]},e.id)),x&&(0,a.jsx)(m.$,{type:"button",variant:"chipActive",size:"sm",className:"mt-1 w-full justify-start text-left text-sm font-normal",onClick:g,disabled:i("client")||v,children:v?n("conversations.creatingClient"):n("conversations.createClient",{name:d.trim()})}),d.trim()&&0===h.length&&!x&&(0,a.jsx)("div",{className:"px-2 py-3 text-left text-xs text-muted-foreground",children:n("conversations.noClientMatches")})]})]})]}),l.client_id&&(0,a.jsx)(_,{label:n("conversations.openClientPage"),side:"top",children:(0,a.jsx)(p.IconButton,{asChild:!0,variant:"ghost",size:"sm",label:n("conversations.openClientPage"),tooltip:!1,children:(0,a.jsx)($(),{href:"/org/".concat(s,"/clients?clientId=").concat(l.client_id),target:"_blank",rel:"noopener noreferrer",children:(0,a.jsx)(ek.A,{className:"h-4 w-4"})})})})]})}),f&&l.client_id&&j&&(0,a.jsx)(eI,{open:w,onOpenChange:y,clientId:f.id,initialDetails:j,saving:N,onSave:C,t:n},f.id)]})}var eM=n(79953),eF=n(5009),eL=n(94866),eP=n(31969);function eO(e){return!e||"object"!=typeof e||Array.isArray(e)?null:e}function eR(e){return"string"==typeof e&&e.trim()?e.trim():void 0}function ez(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").trim().split(/\s+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")}function eB(e){return null==e||""===e?null:"boolean"==typeof e?e?"__yes__":"__no__":"number"==typeof e?String(e):"string"==typeof e&&e.trim()||null}function eK(e){return!0===e||"__yes__"===e?"yes":!1===e||"__no__"===e?"no":null}function eU(e){let t=eB(e);if(t)return t;if(Array.isArray(e)){let t=e.map(e=>eU(e)).filter(e=>!!e);return 0===t.length?null:t.join(", ")}let n=eO(e);if(!n)return null;for(let e of["name","title","summary","label","value","content"]){let t=eU(n[e]);if(t)return t}return null}function e$(e){return Array.isArray(e)?e.map(e=>{let t=eO(e);if(!t)return"";if("string"==typeof t.plain_text)return t.plain_text;let n=eO(t.text);return n&&"string"==typeof n.content?n.content:""}).join(""):""}function eG(e){var t,n,a,s,l,r,i;let o=eO(e);if(!o)return null;let c=eR(o.type),d=c?eO(o[c]):o;if("title"===c||"rich_text"===c)return e$(null!=(n=null!=(t=null==d?void 0:d[c])?t:null==d?void 0:d.rich_text)?n:null==d?void 0:d.title).trim()||null;if("select"===c){let e=eO(null==d?void 0:d.select);return null!=(a=eR(null==e?void 0:e.name))?a:null}if("multi_select"===c){let e=Array.isArray(null==d?void 0:d.multi_select)?d.multi_select.map(e=>{var t;return eR(null==(t=eO(e))?void 0:t.name)}).filter(e=>!!e):[];return e.length?e.join(", "):null}if("number"===c&&(null==d?void 0:d.number)!=null)return String(d.number);if("checkbox"===c)return(null==d?void 0:d.checkbox)?"__yes__":"__no__";if("date"===c){let e=eO(null==d?void 0:d.date),t=eR(null==e?void 0:e.start),n=eR(null==e?void 0:e.end);return t&&n?"__dateRange__:".concat(t,":").concat(n):null!=(s=null!=t?t:n)?s:null}return"url"===c?null!=(l=eR(null==d?void 0:d.url))?l:null:"email"===c?null!=(r=eR(null==d?void 0:d.email))?r:null:"phone_number"===c?null!=(i=eR(null==d?void 0:d.phone_number))?i:null:eU(e)}function eq(e){if("__yes__"===e)return{valueI18nKey:"yes"};if("__no__"===e)return{valueI18nKey:"no"};if(e.startsWith("__dateRange__:")){let[,t,n]=e.split(":");if(t&&n)return{valueI18nKey:"dateRange",valueParams:{start:t,end:n}}}return{value:e}}function eH(e){let t=eR(e);return t?t.length<=12?t:"".concat(t.slice(0,8),"..."):null}function eV(e){let t=eO(e);if(!t)return[];let n=[];for(let[e,a]of Object.entries(t)){let t=eU(a);if(!t)continue;let s=eK(t);n.push({label:ez(e),...s?{valueI18nKey:s}:eq(t)}
1)}return n}function eW(e){return e?e.split(/\r?\n/).length:0}function eJ(e,t){return e.split(/\r?\n/).slice(0,t).join("\n")}function eZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5;return eW(e)>t||e.length>240}function eQ(e){let{text:t,className:n,as:s="p",maxLines:l=5}=e,{t:r}=(0,D.c)(),[i,o]=(0,E.useState)(!1),c=eZ(t,l),d=Math.max(0,eW(t)-l),u=i||!c?t:eJ(t,l);return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)(s,{className:(0,J.cn)("whitespace-pre-wrap leading-relaxed",n),children:u}),c?(0,a.jsx)("button",{type:"button",className:"mt-1 text-[11px] font-medium text-muted-foreground transition-colors hover:text-foreground",onClick:()=>o(e=>!e),children:i?r("conversations.integrationApproval.showLess"):d>0?r("conversations.integrationApproval.showMoreLines",{count:d}):r("conversations.integrationApproval.showMore")}):null]})}function eY(e){let{blocks:t,className:n}=e,{t:s}=(0,D.c)(),[l,r]=(0,E.useState)(!1),i=t.join("\n"),o=eZ(i,5),c=Math.max(0,eW(i)-5),d=l||!o?i:eJ(i,5);return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:(0,J.cn)("whitespace-pre-wrap leading-relaxed",n),children:d}),o?(0,a.jsx)("button",{type:"button",className:"mt-1 text-[11px] font-medium text-muted-foreground transition-colors hover:text-foreground",onClick:()=>r(e=>!e),children:l?s("conversations.integrationApproval.showLess"):s("conversations.integrationApproval.showMoreLines",{count:c})}):null]})}function eX(e){var t,n,s,l,r,i;let{approval:o,busyAction:c,onAction:d}=e,{t:u,locale:m}=(0,D.c)(),[h,p]=(0,E.useState)(!1),x="pending"===o.status,g=(0,E.useMemo)(()=>(function(e){let t=null!=(o=null==(s=e.provider)?void 0:s.toLowerCase())?o:"",n=null!=(c=null==(l=e.resource)?void 0:l.toLowerCase())?c:"",a=null!=(u=null!=(d=null==(r=e.action)?void 0:r.toLowerCase())?d:null==(i=e.operation)?void 0:i.toLowerCase())?u:"";if("notion"===t&&"page"===n)return function(e){var t;let n=e.input,a=e.action||e.operation,s=[],l=Array.isArray(t=n.children)?t.map(e=>(function(e){let t=eO(e);if(!t)return null;let n=eR(t.type);if(!n)return null;let a=eO(t[n]);if(!a)return null;let s=e$(a.rich_text);if(!s.trim())return null;if(n.startsWith("heading_"))return s.trim();if("bulleted_list_item"===n)return"⢠".concat(s.trim());if("numbered_list_item"===n)return s.trim();if("to_do"===n){let e=!0===a.checked;return"".concat(e?"â":"â"," ").concat(s.trim())}return"quote"===n?'"'.concat(s.trim(),'"'):s.trim()})(e)).filter(e=>!!e):[],r=function(e){let t=eO(e);if(t){for(let e of Object.values(t)){let t=eO(e);if((null==t?void 0:t.type)==="title"){let t=eG(e);if(t)return t}}for(let[e,a]of Object.entries(t))if(/title|name/i.test(e)){var n;let e=null!=(n=eG(a))?n:eU(a);if(e)return e}}}(n.properties);if(r&&s.push({labelKey:"title",value:r}),eR(n.parent_page_id)?s.push({labelKey:"location",valueI18nKey:"insidePage"}):eR(n.database_id)&&s.push({labelKey:"location",valueI18nKey:"inDatabase"}),s.push(...(function(e){let t=eO(e);if(!t)return[];let n=[];for(let[e,a]of Object.entries(t)){let t=eG(a);t&&n.push({label:ez(e),...eq(t)})}return n})(n.properties).filter(e=>!r||e.value!==r)),"update"===e.action||"archive"===e.action){let e=eH(n.page_id);e&&s.push({labelKey:"reference",value:e})}return!0===n.archived?s.push({labelKey:"action",valueI18nKey:"archivePage"}):!1===n.archived&&s.push({labelKey:"action",valueI18nKey:"restorePage"}),{kind:"create"===a?"notion_create_page":"notion_update_page",connectionName:e.connection_name,extractedTitle:r,detailRows:s,contentBlocks:l}}(e);if("airtable"===t&&"records"===n)return function(e){let t=e.input,n=[],a=eR(t.table_name)||eR(t.table_id)||eR(t.tableId);a&&n.push({labelKey:"table",value:a});let s=Array.isArray(t.records)?t.records:[];s.length>0?(s.slice(0,3).forEach((e,t)=>{var a,l;let r=eV(null!=(l=null==(a=eO(e))?void 0:a.fields)?l:eO(e));0!==r.length&&r.forEach(e=>{var a;n.push(s.length>1?{labelI18nKey:"recordField",labelParams:{index:t+1,field:null!=(a=e.label)?a:""},labelKey:e.labelKey,value:e.value,valueI18nKey:e.valueI18nKey,valueParams:e.valueParams}:e)})}),s.length>3&&n.push({labelKey:"items",valueI18nKey:"moreRecords",valueParams:{count:s.length-3}})):n.push(...eV(t.fields));let l=eR(t.record_id)||eR(t.recordId);if(l){var r;n.push({labelKey:"reference",value:null!=(r=eH(l))?r:l})}return{kind:"update"===e.action?"airtable_update_records":"airtable_create_records",connectionName:e.connection_name,detailRows:n,contentBlocks:[]}}(e);
1if("woocommerce"===t&&"checkout"===n&&"create"===a){var s,l,r,i,o,c,d,u;let t=Array.isArray(e.input.line_items)?e.input.line_items:[],n=[];return t.slice(0,5).forEach((e,t)=>{var a;let s,l=eO(e);if(!l)return;let r=null!=(a=eR(l.product_id))?a:eR(l.productId),i=eB(l.quantity),o=i&&"__yes__"!==i&&"__no__"!==i,c={};r&&o?(s="productItemWithQty",c.productId=r,c.quantity=i):r?(s="productItem",c.productId=r):o?(s="genericItemWithQty",c.index=t+1,c.quantity=i):(s="genericItem",c.index=t+1),n.push({labelKey:"items",valueI18nKey:s,valueParams:c})}),t.length>5&&n.push({labelKey:"items",valueI18nKey:"moreItems",valueParams:{count:t.length-5}}),{kind:"woocommerce_create_checkout",connectionName:e.connection_name,detailRows:n,contentBlocks:[]}}let m=[];return Object.entries(e.input||{}).forEach(e=>{let[t,n]=e;if(null==n)return;if("object"==typeof n){let e=eU(n);if(e){let n=eK(e);m.push({label:ez(t),...n?{valueI18nKey:n}:eq(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:240,n=e.trim();return n.length<=t?n:"".concat(n.slice(0,t-3),"...")}(e))})}return}let a=eB(n);if(a){let e=eK(a);m.push({label:ez(t),...e?{valueI18nKey:e}:eq(a)})}}),{kind:"generic",connectionName:e.connection_name,detailRows:m,contentBlocks:[]}})(o),[o]),v="pending"===(n=o.status)||"executed"===n||"rejected"===n||"failed"===n||"approved"===n?"conversations.integrationApproval.status.".concat(n):null,f=function(e,t){let n=function(e){let t=e.action||e.operation,n=e.resource;return t&&n?"".concat(t,"_").concat(n).toLowerCase():null}(t);if(n){let t="conversations.integrationApproval.actionPhrases.".concat(n),a=e(t);if(a!==t)return a}return[t.action||t.operation,t.resource].filter(Boolean).map(e=>String(e).replace(/_/g," ")).join(" ")}(u,o),b=u((s=g.kind,"conversations.integrationApproval.headline.".concat(s)),{connection:g.connectionName,action:f,title:null!=(t=g.extractedTitle)?t:""}),j=!!(o.reason||g.contentBlocks.length>0);return(0,a.jsx)("div",{className:"flex justify-center",children:(0,a.jsxs)("div",{className:"w-full max-w-md overflow-hidden rounded-xl border border-border bg-card text-sm shadow-none",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,a.jsx)(eF.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"truncate font-semibold text-foreground",children:g.connectionName}),(0,a.jsx)("p",{className:"truncate text-[11px] text-muted-foreground",children:o.provider.replace(/[_-]+/g," ").replace(/\b\w/g,e=>e.toUpperCase())})]})]}),(0,a.jsx)("div",{className:"h-8 w-px shrink-0 bg-border"}),(0,a.jsx)("span",{className:(0,J.cn)("shrink-0 rounded-full border px-2.5 py-0.5 text-[10px] font-medium shadow-none","pending"===(l=o.status)?"border-slate-200 bg-slate-50 text-slate-900":"executed"===l?"border-emerald-200 bg-emerald-50 text-emerald-900":"rejected"===l?"border-zinc-200 bg-zinc-100 text-zinc-700":"border-red-200 bg-red-50 text-red-800"),children:v?u(v):o.status.replace(/_/g," ")})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border px-4 py-2.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,a.jsx)(eL.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:(r=o.requested_at,new Date(r).toLocaleString(m,{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}))})]}),(0,a.jsx)("p",{className:"text-right text-xs font-semibold leading-snug text-foreground",children:b})]}),g.detailRows.length>0?(0,a.jsx)("div",{className:"border-b border-border",children:g.detailRows.map((e,t)=>{var n,s,l;return(0,a.jsxs)("div",{className:(0,J.cn)("flex items-start justify-between gap-4 px-4 py-3",t%2==1&&"bg-muted/35"),children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("p",{className:"text-xs font-semibold text-foreground",children:e.labelI18nKey?u("conversations.integrationApproval.labelValues.".concat(e.labelI18nKey),e.labelParams):e.label?e.label:e.labelKey?u("conversations.integrationApproval.labels.".concat(e.labelKey)):""})}),(0,a.jsx)("div",{className:"max-w-[52%] shrink-0 text-right text-xs text-foreground",children:(0,a.jsx)(eQ,{text:e.valueI18nKey?u("conversations.integrationApproval.values.".concat(e.valueI18nKey),e.valueParams):null!=(l=e.value)?l:"",className:"text-right text-xs text-foreground",maxLines:3})})]},"".concat(null!=(s=null!=(n=e.label)?n:e.labelKey)?s:"row","-").concat(t))})}):null,j?(0,a.jsxs)("div",{className:"border-b border-border px-4 py-3",children:[o.reason?(0,a.jsx)(eQ,{text:o.reason,className:"text-xs italic leading-relaxed text-muted-foreground"}):null,g.contentBlocks.length>0?(0,a.jsxs)("div",{className:o.reason?"mt-3 border-t border-border pt-3":void 0,children:[o.reason?(0,a.jsx)("p",{className:"mb-1.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground",children:u("conversations.integrationApproval.contentTitle")}):null,(0,a.jsx)(eY,{blocks:g.contentBlocks,className:"text-xs leading-relaxed text-foreground"})]}):null]}):null,o.error?(0,a.jsx)("div",{className:"border-b border-border bg-destructive/5 px-4 py-3 text-xs text-destructive",children:(0,a.jsx)(eQ,{text:(i=o.error,/human approval is required/i.test(i)?u("conversations.integrationApproval.errors.approvalStillRequired"):i),className:"text-xs text-destructive"})}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 px-4 py-3",children:[(0,a.jsx)("button",{type:"button",className:(0,J.cn)("inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-foreground text-background transition-opacity hover:opacity-90",h&&"opacity-90"),"aria-label":u("conversations.integrationApproval.technicalDetails"),"aria-expanded":h,onClick:()=>p(e=>!e),children:(0,a.jsx)(eP.A,{className:"h-4 w-4"})}),x?(0,a.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,a.jsx)("button",{type:"button",disabled:!!c,onClick:()=>d(o.id,"approve"),className:"inline-flex min-w-[88px] items-center justify-center rounded-full bg-emerald-200 px-4 py-2 text-xs font-semibold text-emerald-950 transition-colors hover:bg-emerald-300 disabled:opacity-60",children:"approve"===c?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3.5 w-3.5"}):u("conversations.integrationApproval.approve")}),(0,a.jsx)("button",{type:"button",disabled:!!c,onClick:()=>d(o.id,"reject"),className:"inline-flex min-w-[88px] items-center justify-center rounded-full bg-red-200 px-4 py-2 text-xs font-semibold text-red-950 transition-colors hover:bg-red-300 disabled:opacity-60",children:"reject"===c?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3.5 w-3.5"}):u("conversations.integrationApproval.decline")})]}):null]}),h?(0,a.jsx)("div",{className:"border-t border-border px-4 pb-3",children:(0,a.jsx)(eQ,{as:"pre",text:function(e){let t=JSON.stringify(e||{},null,2);return t.length>2400?"".concat(t.slice(0,2400),"\n..."):t}(o.input),className:"overflow-x-auto rounded-lg bg-muted p-3 font-mono text-[10px] text-muted-foreground"})}):null]})})}function e0(e){let{messages:t,integrationApprovals:n,approvalActionIds:s,onApprovalAction:l}=e;return 0===t.length&&0===n.length?(0,a.jsx)("div",{className:"flex h-full items-center justify-center px-6 text-center text-sm text-muted-foreground",children:"No messages yet."}):(0,a.jsx)("div",{className:"h-full overflow-y-auto px-4 py-5",children:(0,a.jsxs)("div",{className:"flex w-full flex-col gap-4",children:[t.map(e=>(0,a.jsxs)("div",{className:"space-y-2",children:[e.input&&(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[82%] rounded-2xl rounded-bl-md bg-muted px-4 py-3 text-sm leading-relaxed text-foreground",children:e.input})}),e.output&&(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-[82%] rounded-2xl rounded-br-md bg-foreground px-4 py-3 text-sm leading-relaxed text-background",children:e.output})}),(0,a.jsx)("div",{className:"px-1 text-center text-[10px] text-muted-foreground
1/60",children:new Date(e.created_at).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]},e.id)),n.map(e=>(0,a.jsx)(eX,{approval:e,busyAction:s[e.id],onAction:l},e.id))]})})}function e1(){return(0,a.jsx)("div",{className:"h-full overflow-hidden px-4 py-5",children:(0,a.jsxs)("div",{className:"flex w-full flex-col gap-5",children:[(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"w-[72%] space-y-2 rounded-2xl rounded-bl-md bg-muted px-4 py-3",children:[(0,a.jsx)(eM.E,{className:"h-3 w-5/6 bg-muted-foreground/15"}),(0,a.jsx)(eM.E,{className:"h-3 w-2/3 bg-muted-foreground/15"})]})}),(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsxs)("div",{className:"w-[68%] space-y-2 rounded-2xl rounded-br-md bg-muted px-4 py-3",children:[(0,a.jsx)(eM.E,{className:"h-3 w-full bg-muted-foreground/15"}),(0,a.jsx)(eM.E,{className:"h-3 w-3/5 bg-muted-foreground/15"})]})}),(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"w-[58%] space-y-2 rounded-2xl rounded-bl-md bg-muted px-4 py-3",children:[(0,a.jsx)(eM.E,{className:"h-3 w-4/5 bg-muted-foreground/15"}),(0,a.jsx)(eM.E,{className:"h-3 w-1/2 bg-muted-foreground/15"})]})})]})})}function e5(){return(0,a.jsxs)("div",{className:"space-y-3 pt-1",children:[(0,a.jsx)(eM.E,{className:"h-4 w-[92%]"}),(0,a.jsx)(eM.E,{className:"h-4 w-[86%]"}),(0,a.jsx)(eM.E,{className:"h-4 w-[78%]"}),(0,a.jsx)(eM.E,{className:"h-4 w-[64%]"})]})}function e3(e){let{t,loading:n,insight:s,expanded:l,onExpandedChange:r}=e;return n||s?(0,a.jsxs)("div",{className:"space-y-2 px-1 text-sm leading-relaxed text-foreground",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-semibold text-muted-foreground",children:[(0,a.jsx)(ea.A,{className:"h-3.5 w-3.5"}),t("conversations.aiInsight")]}),n?(0,a.jsx)(e5,{}):s?(0,a.jsx)(m.$,{type:"button",variant:"field",size:"auto",className:"w-full justify-start whitespace-normal p-0 text-left font-normal","aria-expanded":l,onClick:()=>r(e=>!e),children:(0,a.jsx)("p",{className:l?"":"line-clamp-3",children:s.insight})}):null]}):null}function e2(e){var t;let{t:n,thread:s,notesDraft:l,onNotesDraftChange:r,onUpdateCrm:i,isSavingCrm:o}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"mb-1.5 block text-xs font-medium text-muted-foreground",children:n("conversations.crmNotes")}),(0,a.jsx)(ei.T,{value:l,onChange:e=>r(e.target.value),placeholder:n("conversations.crmNotesPlaceholder"),className:"min-h-[150px] resize-none rounded-lg bg-card text-sm"}),(0,a.jsx)(m.$,{size:"sm",className:"mt-2",disabled:o("notes")||l===(null!=(t=s.crm_notes)?t:""),onClick:()=>i(s,{notes:l}),children:o("notes")?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3.5 w-3.5 "}):n("common.save")})]})}function e4(e){let{t,thread:n,onUpdateCrm:s,isSavingCrm:l}=e;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eE,{label:t("conversations.crmStatusLabel"),children:(0,a.jsxs)(er.Select,{value:n.crm_status,onValueChange:e=>s(n,{status:e}),disabled:l("status"),children:[(0,a.jsx)(er.SelectTrigger,{className:"h-8 border-transparent bg-transparent px-2 text-sm shadow-none hover:bg-muted/60 focus:ring-0",children:(0,a.jsx)(er.SelectValue,{})}),(0,a.jsx)(er.SelectContent,{children:ed.map(e=>(0,a.jsx)(er.SelectItem,{value:e,children:t("conversations.crmStatus.".concat(e))},e))})]})}),(0,a.jsx)(eE,{label:t("conversations.crmPriorityLabel"),children:(0,a.jsxs)(er.Select,{value:n.crm_priority,onValueChange:e=>s(n,{priority:e}),disabled:l("priority"),children:[(0,a.jsx)(er.SelectTrigger,{className:"h-8 border-transparent bg-transparent px-2 text-sm shadow-none hover:bg-muted/60 focus:ring-0",children:(0,a.jsx)(er.SelectValue,{})}),(0,a.jsx)(er.SelectContent,{children:eu.map(e=>(0,a.jsx)(er.SelectItem,{value:e,children:t("conversations.crmPriority.".concat(e))},e))})]})})]})}var e6=n(3016);function e8(e){var t;let{t:n,thread:s,onUpdateCrm:l,isSavingCrm:r,tagEditorOpen:i,onTagEditorOpenChange:o,tagDraft:c,onTagDraftChange:d,onSaveTagDraft:u,onCancelTagDraft:h,suggestedTags:x,onAddExistingTag:g}=e,v=e=>{l(s,{tags:s.crm_tags.filter(t=>t!==e)})};return(0,a.jsx)(eE,{label:n("conversations.tags"),align:"start",children:(0,a.jsxs)(et.AM,{open:i,onOpenChange:o,children:[(0,a.jsx)(et.Wv,{asChild:!0,children:(0,a.jsx)(m.$,{type:"button",variant:"field",size:"auto",className:"min-h-8 w-full flex-wrap justify-start gap-1.5 whitespace-normal px-2 py-1 text-left text-sm font-normal",disabled:r("tags"),children:(null==(t=s.crm_tags)?void 0:t.length)?s.crm_tags.map(e=>(0,a.jsxs)(W.E,{variant:"outline",className:"h-6 gap-1 rounded-full px-2 text-xs",children:[e,(0,a.jsx)("span",{role:"button",tabIndex:0,className:"rounded-full text-muted-foreground hover:text-foreground",onClick:t=>{t.stopPropagation(),v(e)},onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),t.stopPropagation(),v(e))},"aria-label":"Remove ".concat(e),children:(0,a.jsx)(e6.A,{className:"h-3 w-3"})})]},e)):(0,a.jsx)("span",{className:"text-muted-foreground",children:n("conversations.noTags")}
1)})}),(0,a.jsx)(et.hl,{align:"end",className:"w-72 bg-white p-2 dark:bg-popover",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(es.p,{value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u()),"Escape"===e.key&&h()},placeholder:n("conversations.tagPlaceholder"),className:"h-8 rounded-md bg-card text-sm",disabled:r("tags"),autoFocus:!0}),(0,a.jsx)(_,{label:n("conversations.addTag"),children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:n("conversations.addTag"),variant:"outline",size:"sm",className:"shrink-0",onClick:u,disabled:r("tags")||!c.trim(),children:(0,a.jsx)(V.A,{className:"h-3.5 w-3.5"})})}),(0,a.jsx)(_,{label:n("common.cancel"),children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:n("common.cancel"),variant:"ghost",size:"sm",className:"shrink-0",onClick:h,disabled:r("tags"),children:(0,a.jsx)(e6.A,{className:"h-3.5 w-3.5"})})})]}),x.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:x.slice(0,6).map(e=>(0,a.jsx)(m.$,{type:"button",variant:"chip",size:"xs",onClick:()=>g(e),disabled:r("tags"),children:e},e))})]})})]})})}function e9(e){let{t,organizationId:n,selectedThread:s,clientPanelCollapsed:l,onClientPanelCollapsedChange:r,clientInsightLoading:i,clientInsight:c,clientInsightExpanded:d,onClientInsightExpandedChange:u,onUpdateCrm:m,isSavingCrm:h,tagEditorOpen:x,onTagEditorOpenChange:g,tagDraft:v,onTagDraftChange:f,onSaveTagDraft:b,onCancelTagDraft:j,suggestedTags:w,onAddExistingTag:y,clientPopoverOpen:N,onClientPopoverOpenChange:C,clientSearch:k,onClientSearchChange:S,filteredClients:A,canCreateClient:T,onCreateAndAssignClient:I,creatingClient:E,selectedClient:D,clientDetailsSeed:M,clientDetailsOpen:F,onClientDetailsOpenChange:L,savingClientDetails:P,onSaveSelectedClientDetails:O,notesDraft:R,onNotesDraftChange:z}=e;return(0,a.jsx)("aside",{className:"flex min-h-0 flex-col overflow-hidden rounded-xl border border-border/50 bg-card shadow-sm xl:max-h-none ".concat(l?"max-h-20":"max-h-[360px]"),children:l?(0,a.jsxs)("div",{className:"flex h-20 items-center justify-between gap-2 p-2 xl:h-full xl:flex-col xl:justify-start",children:[(0,a.jsx)(_,{label:t("sidebar.expand"),side:"left",children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:t("sidebar.expand"),variant:"ghost",size:"md",onClick:()=>r(!1),children:(0,a.jsx)(eN.A,{className:"h-4 w-4"})})}),(0,a.jsx)(o.A,{className:"h-4 w-4 text-muted-foreground"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex h-20 shrink-0 items-center border-b border-border/50 px-4",children:(0,a.jsxs)("div",{className:"flex w-full items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("h2",{className:"truncate text-sm font-semibold",children:t("conversations.conversationDetails")})}),(0,a.jsx)(_,{label:t("sidebar.collapse"),side:"left",children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:t("sidebar.collapse"),variant:"ghost",size:"sm",className:"shrink-0",onClick:()=>r(!0),children:(0,a.jsx)(eC.A,{className:"h-4 w-4"})})})]})}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(e3,{t:t,loading:i,insight:c,expanded:d,onExpandedChange:u}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(e4,{t:t,thread:s,onUpdateCrm:m,isSavingCrm:h}),(0,a.jsx)(e8,{t:t,thread:s,onUpdateCrm:m,isSavingCrm:h,tagEditorOpen:x,onTagEditorOpenChange:g,tagDraft:v,onTagDraftChange:f,onSaveTagDraft:b,onCancelTagDraft:j,suggestedTags:w,onAddExistingTag:y})]}),(0,a.jsx)(eD,{t:t,organizationId:n,thread:s,onUpdateCrm:m,isSavingCrm:h,clientPopoverOpen:N,onClientPopoverOpenChange:C,clientSearch:k,onClientSearchChange:S,filteredClients:A,canCreateClient:T,onCreateAndAssignClient:I,creatingClient:E,selectedClient:D,clientDetailsSeed:M,clientDetailsOpen:F,onClientDetailsOpenChange:L,savingClientDetails:P,onSaveSelectedClientDetails:O}),(0,a.jsx)(e2,{t:t,thread:s,notesDraft:R,onNotesDraftChange:z,onUpdateCrm:m,isSavingCrm:h})]})})]})})}var e7=n(94281),te=n(82781),tt=n(9668),tn=(n(50043),n(1791),n(98293));let ta=new Set(["WHATSAPP","INSTAGRAM","FACEBOOK_MESSENGER","TELEGRAM"]);function ts(e){let{organizationId:t,threadId:n,channel:s,onSent:l,suggestedResponse:r}=e,{t:i}=(0,D.c)(),{toast:o}=(0,M.dj)(),[c,d]=(0,E.useState)(""),[u,h]=(0,E.useState)([]),[x,g]=(0,E.useState)(!1),[v,f]=(0,E.useState)(!1),[b,j]=(0,E.useState)(0),w=(0,E.useRef)(null),y=(0,E.useRef)([]),N=(0,E.useRef)(null),C=(0,E.useRef)(null),k=!!s&&ta.has(s.toUpperCase());function _(e){let t=[];for(let n of e){if(n.size>0x1000000){o({title:i("conversations.operatorComposerSendFailed"),description:"".concat(n.name," > ").concat(16,"MB"),variant:"destructive"});continue}t.push({file:n,preview:n.type.startsWith("image/")?URL.createObjectURL(n):void 0})}h(e=>{let n=[...e,...t].slice(0,10);
1return t.slice(n.length-e.length).forEach(e=>e.preview&&URL.revokeObjectURL(e.preview)),n})}(0,E.useEffect)(()=>()=>{u.forEach(e=>e.preview&&URL.revokeObjectURL(e.preview))},[u]),(0,E.useEffect)(()=>{d(""),h([]),function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];null!==N.current&&(clearInterval(N.current),N.current=null);let t=w.current;if(!t)return f(!1);if("inactive"!==t.state){let n=()=>{if(t.removeEventListener("stop",n),!e&&y.current.length>0){let e=t.mimeType||"audio/webm",n=new Blob(y.current,{type:e}),a=e.includes("ogg")?"ogg":e.includes("mp4")?"m4a":"webm";_([new File([n],"voice-".concat(Date.now(),".").concat(a),{type:e})])}y.current=[]};t.addEventListener("stop",n),t.stop()}w.current=null,f(!1),j(0)}(!0)},[n]);let S=k&&!x&&!v&&(c.trim().length>0||u.length>0);async function A(){if(S){g(!0);try{let e=new FormData,a=c.trim();for(let t of(a&&e.append("text",a),u))e.append("files",t.file);let s=await fetch("/api/organizations/".concat(t,"/conversations/").concat(n,"/operator-message"),{method:"POST",body:e});if(!s.ok){let e=await s.json().catch(()=>null);throw Error((null==e?void 0:e.error)||"send failed")}d(""),h([]),l()}catch(e){o({title:i("conversations.operatorComposerSendFailed"),description:e instanceof Error?e.message:void 0,variant:"destructive"})}finally{g(!1)}}}return k?(0,a.jsxs)("div",{className:"border-t border-border/50 bg-card px-3 py-2.5",children:[r&&(0,a.jsxs)("div",{className:"mb-2 rounded-lg border border-slate-200 bg-slate-50 p-3 text-slate-950 dark:border-slate-900/50 dark:bg-slate-950/30 dark:text-slate-100",children:[(0,a.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5 text-xs font-medium",children:[(0,a.jsx)(ea.A,{className:"h-3.5 w-3.5"}),i("conversations.suggestedResponse")]}),(0,a.jsx)("p",{className:"text-sm leading-relaxed",children:r}),(0,a.jsx)(m.$,{type:"button",variant:"secondary",size:"sm",className:"mt-2",onClick:()=>d(r),disabled:x||v,children:i("conversations.useSuggestedResponse")})]}),u.length>0&&(0,a.jsx)("div",{className:"flex gap-2 flex-wrap mb-2",children:u.map((e,t)=>(0,a.jsxs)("div",{className:"relative h-16 rounded-lg overflow-hidden bg-muted flex items-center",children:[e.preview?(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("img",{src:e.preview,alt:"",className:"h-full w-16 object-cover"})}):(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 max-w-[180px]",children:[(0,a.jsx)(q.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,a.jsx)("span",{className:"text-xs truncate",children:e.file.name})]}),(0,a.jsx)(p.IconButton,{type:"button",onClick:()=>{h(e=>{let n=e[t];return(null==n?void 0:n.preview)&&URL.revokeObjectURL(n.preview),e.filter((e,n)=>n!==t)})},label:"Remove attachment",tooltip:!1,variant:"surface",size:"xs",className:"absolute right-0.5 top-0.5",children:(0,a.jsx)(e6.A,{className:"h-3 w-3"})})]},"".concat(e.file.name,"-").concat(t)))}),(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsx)(p.IconButton,{type:"button",variant:"ghost",size:"sm",className:"shrink-0",onClick:()=>{var e;return null==(e=C.current)?void 0:e.click()},disabled:x||v||u.length>=10,label:i("conversations.operatorComposerAttach"),tooltip:!1,children:(0,a.jsx)(tt.A,{className:"h-4 w-4"})}),(0,a.jsx)("input",{ref:C,type:"file",multiple:!0,hidden:!0,onChange:function(e){var t;let n=Array.from(null!=(t=e.target.files)?t:[]);C.current&&(C.current.value=""),n.length&&_(n)}}),!1,v?(0,a.jsx)("div",{className:"flex-1 px-3 text-sm text-muted-foreground",children:(0,a.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-destructive animate-pulse"}),String(Math.floor(b/60)).padStart(2,"0"),":",String(b%60).padStart(2,"0")]})}):(0,a.jsx)(ei.T,{value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),A())},placeholder:i("conversations.operatorComposerPlaceholder"),rows:1,className:"max-h-32 min-h-0 flex-1 resize-none border-0 bg-transparent px-2 py-2 text-sm leading-5 shadow-none focus-visible:ring-0",disabled:x}),(0,a.jsx)(p.IconButton,{type:"button",variant:"primary",size:"sm",className:"shrink-0",onClick:()=>void A(),disabled:!S,label:i("conversations.operatorComposerSend"),tooltip:!1,children:x?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-4 w-4"}):(0,a.jsx)(tn.A,{className:"h-4 w-4"})})]})]}):(0,a.jsx)("div",{className:"px-4 py-3 border-t border-border/50 bg-card text-xs text-muted-foreground",children:i("conversations.operatorComposerUnsupportedChannel")})}var tl=n(91916);function tr(e){let{channel:t}=e,n=(0,x.Vp)(t),s=(0,x.EH)(t);return(0,a.jsx)(_,{label:s,children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center p-0 ".concat((0,x.bg)(t)),children:(0,a.jsx)(n,{className:"h-3 w-3"})})})}function ti(e){let{channel:t}=e,n=(0,x.Vp)(t),s=(0,x.EH)(t);return(0,a.jsx)(_,{label:s,children:(0,a.jsx)("span",{className:"inline-flex shrink-0","aria-label":s,children:(0,a.jsx)(n,{className:"h-3.5 w-3.5 text-muted-foreground"})})})}function to(e){let{thread:t,t:n}=e;return(0,a.jsxs)(a.Fragment,{children:[t.human_mode&&(0,a.jsx)(_,{label:n("conversations.humanMode"),children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center bg-slate-100 p-0 text-slate-700 dark:bg-slate-900/30 dark:text-slate-400",children:(0,a.jsx)(o.A,{className:"h-3 w-3"})})}),t.blocked_at&&(0,a.jsx)(_,{label:n("conversations.blockedBadge"),children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center bg-red-100 p-0 text-red-700 dark:bg-red-900/30 dark:text-red-400",children:(0,a.jsx)(c.A,{className:"h-3 w-3"})})}),t.pending_reply&&(0,a.jsx)(_,{label:n("conversations.pendingBadge"),children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center bg-slate-100 p-0 text-slate-700 dark:bg-slate-900/30 dark:text-slate-400",children:(0,a.jsx)(i.A,{className:"h-3 w-3"})})})]})}function tc(e){let{thread:t,t:n}=e;return(0,a.jsxs)(a.Fragment,{children:[t.human_mode&&(0,a.jsx)(_,{label:n("conversations.humanMode"),children:(0,a.jsx)("span",{className:"inline-flex shrink-0","aria-label":n("conversations.humanMode"),children:(0,a.jsx)(o.A,{className:"h-3.5 w-3.5 text-slate-600"})})}),t.pending_reply&&(0,a.jsx)(_,{label:n("conversations.pendingBadge"),children:(0,a.jsx)("span",{className:"inline-flex shrink-0","aria-label":n("conversations.pendingBadge"),children:(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 text-slate-600"})})}),t.blocked_at&&(0,a.jsx)(_,{label:n("conversations.blockedBadge"),children:(0,a.jsx)("span",{className:"inline-flex shrink-0","aria-label":n("conversations.blockedBadge"),children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-red-600"})})})]})}function td(e){let{status:t,t:n}=e,s=N[t];return(0,a.jsx)(_,{label:n("conversations.crmStatus.".concat(t)),children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center p-0 ".concat(function(e){switch(e){case"qualified":return"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400";case"follow_up":return"bg-slate-100 text-slate-700 dark:bg-slate-900/30 dark:text-slate-400";case"won":return"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400";case"lost":return"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-300";default:return"bg-muted text-muted-foreground"}}(t)),children:(0,a.jsx)(s,{className:"h-3 w-3"})})})}function tu(e){let{priority:t,t:n}=e;if("normal"===t)return null;let s=C[t];return(0,a.jsx)(_,{label:n("conversations.crmPriority.".concat(t)),children:(0,a.jsx)(W.E,{variant:"secondary",className:"h-5 w-5 shrink-0 justify-center p-0 ".concat(function(e){switch(e){case"high":return"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400";case"low":return"bg-muted text-muted-foreground";default:return"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"}}(t)),children:(0,a.jsx)(s,{className:"h-3 w-3"})})})}function tm(e){let{tags:t,max:n=1}=e;return(0,a.jsx)(a.Fragment,{children:null==t?void 0:t.slice(0,n).map(e=>(0,a.jsx)(_,{label:e,children:(0,a.jsx)(W.E,{variant:"outline",className:"h-5 w-5 shrink-0 justify-center p-0",children:(0,a.jsx)(tl.A,{className:"h-3 w-3"})})},e))})}function th(e){let{thread:t,t:n}=e;return(0,a.jsxs)(a.Fragment,{children:[t.human_mode&&(0,a.jsx)(_,{label:n("conversations.humanMode"),children:(0,a.jsx)("span",{className:"inline-flex shrink-0",children:(0,a.jsx)(o.A,{className:"h-3.5 w-3.5 text-slate-600"})})}),t.pending_reply&&(0,a.jsx)(_,{label:n("conversations.pendingBadge"),children:(0,a.jsx)("span",{className:"inline-flex shrink-0",children:(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 text-slate-600"})})})]})}function tp(e){let{t,organizationId:n,viewMode:l,selectedThread:r,onClearSelectedThread:i,togglingHumanMode:d,onToggleHumanMode:u,onToggleBlocked:h,historyLoading:x,threadMessages:g,integrationApprovals:v,approvalActionIds:f,onIntegrationApprovalAction:b,suggestedResponse:j,onThreadHistoryRefresh:w}=e;return(0,a.jsxs)("div",{className:"flex min-h-0 flex-col overflow-hidden rounded-xl border border-border/50 bg-card shadow-sm",children:[(0,a.jsxs)("div",{className:"grid h-20 shrink-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-b border-border/50 px-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,a.jsx)(p.IconButton,{tooltip:!1,label:t("common.back"),variant:"ghost",size:"sm",className:"".concat("kanban"===l?"":"md:hidden"," shrink-0"),onClick:i,children:(0,a.jsx)(e7.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[r.channel&&(0,a.jsx)(ti,{channel:r.channel}),(0,a.jsx)(tc,{thread:r,t:t}),r.client_id?(0,a.jsxs)($(),{href:"/org/".concat(n,"/clients?clientId=").concat(r.client_id),target:"_blank",rel:"noopener noreferrer",className:"inline-flex min-w-0 max-w-full items-center gap-1 truncate text-sm font-medium hover:underline",title:t("conversations.openClientPage"),children:[(0,a.jsx)("span",{className:"truncate",children:ej(r,t("conversations.defaultTitle"))}),(0,a.jsx)(ek.A,{className:"h-3 w-3 shrink-0 text-muted-foreground"})]}):(0,a.jsx)("p",{className:"truncate text-sm font-medium",children:ej(r,t("conversations.defaultTitle"))})]}),(0,a.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:r.agent_name}),r.user_identifier&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:eb(r.channel,r.user_identifier)})]})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,a.jsxs)(s.Lt,{children:[(0,a.jsx)(_,{label:t(r.human_mode?"conversations.humanModeResumeShort":"conversations.humanModePauseShort"),children:(0,a.jsx)(s.tv,{asChild:!0,children:(0,a.jsx)(m.$,{variant:r.human_mode?"default":"outline",size:"sm",disabled:d||!!r.blocked_at,children:d?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3.5 w-3.5 "}):r.human_mode?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eF.A,{className:"mr-1.5 h-3.5 w-3.5"}),t("conversations.humanModeResumeShort")]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.A,{className:"mr-1.5 h-3.5 w-3.5"}),t("conversations.humanModePauseShort")]})})})}),(0,a.jsxs)(s.EO,{children:[(0,a.jsxs)(s.wd,{children:[(0,a.jsx)(s.r7,{children:t(r.human_mode?"conversations.resumeAgentConfirmTitle":"conversations.pauseAgentConfirmTitle")}),(0,a.jsx)(s.$v,{children:t(r.human_mode?"conversations.resumeAgentConfirmDescription":"conversations.pauseAgentConfirmDescription")})]}),(0,a.jsxs)(s.ck,{children:[(0,a.jsx)(s.Zr,{children:t("common.cancel")}),(0,a.jsx)(s.Rx,{onClick:()=>u(r),children:t(r.human_mode?"conversations.humanModeResumeShort":"conversations.humanModePauseShort")})]})]})]}),(0,a.jsxs)(s.Lt,{children:[(0,a.jsx)(_,{label:t(r.blocked_at?"conversations.unblockCustomer":"conversations.blockCustomer"),children:(0,a.jsx)(s.tv,{asChild:!0,children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:t(r.blocked_at?"conversations.unblockCustomer":"conversations.blockCustomer"),variant:r.blocked_at?"outline":"ghost",size:"sm",children:r.blocked_at?(0,a.jsx)(te.A,{className:"h-4 w-4"}):(0,a.jsx)(c.A,{className:"h-4 w-4"})})})}),(0,a.jsxs)(s.EO,{children:[(0,a.jsxs)(s.wd,{children:[(0,a.jsx)(s.r7,{children:t(r.blocked_at?"conversations.unblockConfirmTitle":"conversations.blockConfirmTitle")}),(0,a.jsx)(s.$v,{children:t(r.blocked_at?"conversations.unblockConfirmDescription":"conversations.blockConfirmDescription")})]}),(0,a.jsxs)(s.ck,{children:[(0,a.jsx)(s.Zr,{children:t("common.cancel")}),(0,a.jsx)(s.Rx,{onClick:()=>h(r,!r.blocked_at),className:r.blocked_at?void 0:"bg-destructive hover:bg-destructive/90",children:t(r.blocked_at?"conversations.unblockCustomer":"conversations.blockCustomer")})]})]})]})]})]}),r.blocked_at&&(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-red-200 bg-red-50 px-4 py-2 text-xs text-red-800 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-300",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,a.jsx)("span",{children:t("conversations.blockedNotice")})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 bg-background",children:x?(0,a.jsx)(e1,{}):(0,a.jsx)(e0,{messages:g,integrationApprovals:v,approvalActionIds:f,onApprovalAction:b})}),r.human_mode&&!r.blocked_at&&(0,a.jsx)(ts,{organizationId:n,threadId:r.id,channel:r.channel,onSent:w,suggestedResponse:j})]})}function tx(e){let{t,organizationId:n,viewMode:s,selectedThread:l,onClearSelectedThread:r,detail
1:i,crm:o}=e;return(0,a.jsx)("div",{className:"min-w-0 flex-1 ".concat(l?"flex flex-col":"hidden rounded-xl border border-border/50 bg-card shadow-sm md:flex md:flex-col"),children:l?(0,a.jsxs)("div",{className:"grid h-full grid-cols-1 gap-3 overflow-hidden ".concat(i.clientPanelCollapsed?"xl:grid-cols-[minmax(0,1fr)_56px]":"xl:grid-cols-[minmax(0,1fr)_380px]"),children:[(0,a.jsx)(tp,{t:t,organizationId:n,viewMode:s,selectedThread:l,onClearSelectedThread:r,togglingHumanMode:i.togglingHumanMode,onToggleHumanMode:i.toggleHumanMode,onToggleBlocked:i.toggleBlocked,historyLoading:i.historyLoading,threadMessages:i.threadMessages,integrationApprovals:i.integrationApprovals,approvalActionIds:i.approvalActionIds,onIntegrationApprovalAction:i.handleIntegrationApprovalAction,suggestedResponse:i.suggestedResponse,onThreadHistoryRefresh:i.fetchThreadHistory}),(0,a.jsx)(e9,{t:t,organizationId:n,selectedThread:l,clientPanelCollapsed:i.clientPanelCollapsed,onClientPanelCollapsedChange:i.setClientPanelCollapsed,clientInsightLoading:i.clientInsightLoading,clientInsight:i.clientInsight,clientInsightExpanded:i.clientInsightExpanded,onClientInsightExpandedChange:i.setClientInsightExpanded,onUpdateCrm:o.updateCrm,isSavingCrm:o.isSavingCrm,tagEditorOpen:o.tagEditorOpen,onTagEditorOpenChange:o.setTagEditorOpen,tagDraft:o.tagDraft,onTagDraftChange:o.setTagDraft,onSaveTagDraft:o.saveTagDraft,onCancelTagDraft:o.cancelTagDraft,suggestedTags:o.suggestedTags,onAddExistingTag:o.addExistingTagToSelectedThread,clientPopoverOpen:o.clientPopoverOpen,onClientPopoverOpenChange:o.setClientPopoverOpen,clientSearch:o.clientSearch,onClientSearchChange:o.setClientSearch,filteredClients:o.filteredClients,canCreateClient:o.canCreateClient,onCreateAndAssignClient:o.createAndAssignClient,creatingClient:o.creatingClient,selectedClient:o.selectedClient,clientDetailsSeed:o.clientDetailsSeed,clientDetailsOpen:o.clientDetailsOpen,onClientDetailsOpenChange:o.setClientDetailsOpen,savingClientDetails:o.savingClientDetails,onSaveSelectedClientDetails:o.saveSelectedClientDetails,notesDraft:o.notesDraft,onNotesDraftChange:o.setNotesDraft})]}):(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center text-muted-foreground",children:[(0,a.jsx)("p",{className:"font-medium",children:t("conversations.noConversationSelected")}),(0,a.jsx)("p",{className:"mt-1 px-4 text-center text-sm",children:t("conversations.selectConversation")})]})})}let tg=E.forwardRef((e,t)=>{let{active:n=!1,...s}=e;return(0,a.jsx)(m.$,{ref:t,size:"sm",variant:n?"chipActive":"chip",...s})});tg.displayName="FilterButton";let tv=E.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,J.cn)("mx-1 flex shrink-0 flex-col gap-2 px-1 py-1 lg:flex-row lg:items-center lg:justify-between",n),...s})});tv.displayName="Toolbar";let tf=E.forwardRef((e,t)=>{let{className:n,children:s,icon:l,...r}=e;return(0,a.jsxs)("div",{ref:t,className:(0,J.cn)("flex items-center gap-2 text-sm font-medium text-[#343433]",n),...r,children:[l?(0,a.jsx)(l,{className:"h-4 w-4 text-[#848281]"}):null,s]})});tf.displayName="ToolbarTitle";let tb=E.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,J.cn)("flex flex-wrap items-center gap-2",n),...s})});tb.displayName="ToolbarActions";let tj=E.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,a.jsx)("p",{ref:t,className:(0,J.cn)("text-xs text-[#475569]",n),...s})});function tw(e){let{t,kanbanRangePreset:n,onKanbanRangePresetChange:s,kanbanCustomStartMonth:l,onKanbanCustomStartMonthChange:r,kanbanCustomEndMonth:i,onKanbanCustomEndMonthChange:o,maxCustomEndMonth:c,kanbanDateRange:d,kanbanThreadsByStatus:u,onOpenThread:h}=e;return(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,a.jsxs)(tv,{children:[(0,a.jsx)(tf,{icon:eL.A,children:t("conversations.kanbanActiveRange")}),(0,a.jsxs)(tb,{children:[y.map(e=>(0,a.jsx)(tg,{type:"button",active:n===e,onClick:()=>s(e),children:"custom"===e?t("conversations.kanbanRangeCustom"):t("conversations.kanbanRangeDays",{days:e})},e)),"custom"===n&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(es.p,{type:"month",value:l,onCh
1ange:e=>r(e.target.value),controlSize:"sm",className:"w-[140px]","aria-label":t("conversations.kanbanCustomStart")}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:t("conversations.kanbanCustomTo")}),(0,a.jsx)(es.p,{type:"month",value:i,min:l,max:c,onChange:e=>o(e.target.value),controlSize:"sm",className:"w-[140px]","aria-label":t("conversations.kanbanCustomEnd")})]})]}),"custom"===n&&d.capped&&(0,a.jsx)(tj,{children:t("conversations.kanbanCustomMaxNotice")})]}),(0,a.jsx)("div",{className:"flex min-h-0 flex-1 gap-3 overflow-x-auto px-1 pb-2",children:ed.map(e=>{let n=N[e],s=u[e];return(0,a.jsxs)("section",{className:"flex min-h-0 w-[280px] shrink-0 flex-col rounded-xl border border-border/50 bg-card/60",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/50 px-3 py-2.5",children:[(0,a.jsx)(n,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsx)("h2",{className:"text-sm font-semibold",children:t("conversations.crmStatus.".concat(e))}),(0,a.jsx)("span",{className:"ml-auto rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground",children:s.length})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 space-y-2 overflow-y-auto p-2",children:0===s.length?(0,a.jsx)("div",{className:"px-2 py-8 text-center text-xs text-muted-foreground",children:t("conversations.kanbanEmpty")}):s.map(e=>(0,a.jsxs)(m.$,{type:"button",onClick:()=>h(e),variant:"card",size:"auto",className:"w-full flex-col items-stretch justify-start gap-0 whitespace-normal p-3 text-left font-normal",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"truncate text-xs font-medium text-primary",children:e.agent_name}),(0,a.jsx)(th,{thread:e,t:t})]}),(0,a.jsx)("p",{className:"mt-1 line-clamp-2 text-sm font-medium",children:ej(e,t("conversations.defaultTitle"))}),e.last_message&&(0,a.jsx)("p",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:e.last_message}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[e.channel&&(0,a.jsx)(tr,{channel:e.channel}),(0,a.jsx)(tm,{tags:e.crm_tags,max:2})]})]},e.id))})]},e)})})]})}async function ty(e){var t,n;let a=new URL("/api/organizations/".concat(e.organizationId,"/conversations"),window.location.origin);a.searchParams.set("page",String(e.page)),a.searchParams.set("limit",String(e.limit)),e.initialThreadId&&a.searchParams.set("threadId",e.initialThreadId),e.agentFilter&&"all"!==e.agentFilter&&a.searchParams.set("agentId",e.agentFilter),e.channelFilter&&"all"!==e.channelFilter&&a.searchParams.set("channel",e.channelFilter),e.statusFilter&&"all"!==e.statusFilter&&a.searchParams.set("status",e.statusFilter),e.humanModeOnly&&a.searchParams.set("humanMode","true"),e.pendingOnly&&a.searchParams.set("pendingReply","true"),e.blockedOnly&&a.searchParams.set("blocked","true"),e.activeSince&&a.searchParams.set("activeSince",e.activeSince),e.activeUntil&&a.searchParams.set("activeUntil",e.activeUntil);let s=await fetch(a.toString());if(!s.ok)throw Error("Failed to fetch conversations");let l=await s.json();return{threads:null!=(t=l.threads)?t:[],hasMore:!!l.hasMore,agents:null!=(n=l.agents)?n:[]}}async function tN(e,t){var n,a;let s=new URL("/api/organizations/".concat(e,"/conversations"),window.location.origin);s.searchParams.set("threadId",t),s.searchParams.set("limit","1");let l=await fetch(s.toString());return l.ok&&null!=(a=null==(n=(await l.json()).threads)?void 0:n[0])?a:null}async function tC(e){var t;let n=await fetch("/api/organizations/".concat(e,"/clients"));return n.ok&&null!=(t=(await n.json()).clients)?t:[]}async function tk(e,t){var n,a;let s=await fetch("/api/organizations/".concat(e,"/conversations/").concat(t));if(!s.ok)throw Error("Failed to fetch messages");let l=await s.json();return{messages:null!=(n=l.messages)?n:[],integrationApprovals:null!=(a=l.integrationApprovals)?a:[]}}async function t_(e,t,n){let a=new URL("/api/organizations/".concat(e,"/conversations/").concat(t,"/insight"),window.location.origin);a.searchParams.set("locale",n);let s=await fetch(a.toString());if(!s.ok)throw Error("Failed to generate conversation insight");return await s.json()}async function tS(e,t,n){if(!(await fetch("/api/organizations/".concat(e,"/conversations/").concat(t,"/human-mode"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:n})})).ok)throw Error("update failed")}async function tA(e,t){if(!(await fetch("/api/organizations/".concat(e,"/conversations/").concat(t),{method:"DELETE"})).ok)throw Error("Failed to delete thread")}async function tT(e,t,n){let a=await fetch("/api/organizations/".concat(e,"/conversations/").concat(t,"/block"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocked:n})});if(!a.ok)throw Error("Block update failed");return a.json()}async function tI(e,t,n){let a=await fetch("/api/organizations/".concat(e,"/conversations/").concat(t,"/crm"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok){let e=await a.json().catch(()=>null);return{ok:!1,status:a.status,conflict:e}}return{ok:!0,data:await a.json()}}async function tE(e,t,n,a){let s=await fetch("/api/organizations/".concat(e,"/conversations/").concat(t,"/integration-approvals
1/").concat(n),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a})}),l=await s.json().catch(()=>({}));if(!s.ok){var r;throw Error(null!=(r=l.error)?r:"Integration approval update failed")}return l}async function tD(e,t){let n=await fetch("/api/organizations/".concat(e,"/clients"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok)throw Error("Client create failed");return(await n.json()).client}async function tM(e,t,n){let a=await fetch("/api/organizations/".concat(e,"/clients/").concat(t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok)throw Error("Client update failed");return(await a.json()).client}tj.displayName="ToolbarNotice";var tF=n(27541),tL=n(32536),tP=n(60604),tO=n(48837);function tR(e){let{t,formatDate:n,viewMode:l,selectedThread:r,search:i,onSearchChange:o,filterMenu:c,listRef:d,loading:u,threads:h,sortedFilteredThreads:x,blockedOnly:g,onOpenThread:v,onDeleteThread:f,deletingThread:b,hasMore:j,onLoadMore:w}=e;return(0,a.jsxs)("div",{className:"min-w-0 w-full overflow-hidden rounded-xl border border-border/50 bg-card shadow-sm md:w-[360px] md:shrink-0 ".concat("kanban"===l?"hidden":r?"hidden md:flex":"flex"," flex-col"),children:[(0,a.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-1.5 px-2.5",children:[(0,a.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,a.jsx)(tP.A,{className:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,a.jsx)(es.p,{placeholder:t("conversations.searchPlaceholder"),value:i,onChange:e=>o(e.target.value),className:"h-8 rounded-md border-border/50 bg-background pl-8 text-xs shadow-sm"})]}),c]}),(0,a.jsx)("div",{ref:d,className:"flex-1 overflow-y-auto overflow-x-hidden p-3",children:u&&0===h.length?(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)(I.AgentsGTLoader,{})}):0===x.length?(0,a.jsxs)("div",{className:"flex min-h-full flex-col items-center justify-center px-4 text-center text-muted-foreground",children:[(0,a.jsx)(tL.default,{src:"/assets/empty-states/conversations-low-poly.png",alt:"",width:96,height:96,className:"mb-4 h-20 w-20 object-contain opacity-90"}),(0,a.jsx)("p",{className:"text-sm",children:g?t("conversations.noBlockedConversations"):t("conversations.noConversations")})]}):(0,a.jsxs)(a.Fragment,{children:[x.map(e=>(0,a.jsx)("div",{className:"border-b border-border/50 py-2.5 last:border-b-0",children:(0,a.jsxs)("div",{onClick:()=>v(e),className:"group relative cursor-pointer rounded-lg px-3 py-2.5 transition-colors ".concat((null==r?void 0:r.id)===e.id?"bg-muted/70 shadow-sm ring-1 ring-border/70":"hover:bg-muted/40"),children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5 pr-7",children:[(0,a.jsx)("span",{className:"min-w-0 shrink truncate text-xs font-medium text-primary",children:e.agent_name}),e.channel&&(0,a.jsx)(tr,{channel:e.channel}),(0,a.jsx)(to,{thread:e,t:t})]}),(0,a.jsx)("p",{className:"mt-1 truncate pr-2 text-sm font-medium text-foreground",children:ej(e,t("conversations.defaultTitle"))}),e.last_message&&(0,a.jsx)("p",{className:"mt-0.5 truncate text-xs text-muted-foreground",children:e.last_message}),(0,a.jsxs)("div",{className:"mt-1.5 flex items-center gap-1.5 overflow-hidden",children:[(0,a.jsx)(td,{status:e.crm_status,t:t}),(0,a.jsx)(tu,{priority:e.crm_priority,t:t}),(0,a.jsx)(tm,{tags:e.crm_tags,max:1}),(0,a.jsx)("span",{className:"ml-auto truncate text-[11px] text-muted-foreground/60",children:n(e.created_at)})]}),(0,a.jsxs)(s.Lt,{children:[(0,a.jsx)(_,{label:t("common.delete"),wrapperClassName:"contents",children:(0,a.jsx)(s.tv,{asChild:!0,children:(0,a.jsx)(p.IconButton,{tooltip:!1,label:t("common.delete"),variant:"destructive",size:"xs",className:"absolute right-3 top-3 opacity-0 transition-opacity group-hover:opacity-100",onClick:e=>e.stopPropagation(),disabled:b===e.id,children:b===e.id?(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"h-3 w-3 "}):(0,a.jsx)(tO.A,{className:"h-3 w-3"})})})}),(0,a.jsxs)(s.EO,{children:[(0,a.jsxs)(s.wd,{children:[(0,a.jsx)(s.r7,{children:t("conversations.deleteConfirmTitle")}),(0,a.jsx)(s.$v,{children:t("conversations.deleteConfirmDescription")})]}),(0,a.jsxs)(s.ck,{children:[(0,a.jsx)(s.Zr,{children:t("common.cancel")}),(0,a.jsx)(s.Rx,{onClick:()=>f(e),className:"bg-destructive hover:bg-destructive/90",children:t("common.delete")})]})]})]})]})},e.id)),j&&(0,a.jsx)(m.$,{variant:"ghost",className:"mt-2 w-full text-muted-foreground",onClick:w,disabled:u,size:"sm",children:u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(I.AgentsGTLoader,{inline:!0,className:"mr-2 h-4 w-4 "}),t("common.loading")]}):t("common.loadMore")})]})})]})}function tz(e){let{previewMode:t=!1,mode:n="inbox",initialThreadId:s=null}
1=e,{list:r,detail:i,crm:o,selectedThread:c,t:d}=function(e){let{t:t,locale:n}=(0,D.c)(),{organizationId:a,previewMode:s=!1,mode:l="inbox",initialThreadId:r=null,backHref:i,mockData:o}=e,[c,d]=(0,E.useState)(null),u=function(e){let{organizationId:t,viewMode:n,initialThreadId:a,mockData:s,selectedThread:l,setSelectedThread:r,backHref:i,t:o}=e,c=(0,tF.useRouter)(),[d,u]=(0,E.useState)([]),[m,h]=(0,E.useState)([]),[p,x]=(0,E.useState)([]),[g,v]=(0,E.useState)(!0),[f,b]=(0,E.useState)(1),[j,w]=(0,E.useState)(!1),y=(0,E.useRef)(null),N=null!=i?i:"/org/".concat(t,"/kanban"),C=(0,E.useCallback)(()=>r(null),[r]),k=function(e){let{clearSelection:t,setThreads:n,clearSelectedThreadOnReset:a}=e,[s,l]=(0,E.useState)("all"),[r,i]=(0,E.useState)("all"),[o,c]=(0,E.useState)("all"),[d,u]=(0,E.useState)("all"),[m,h]=(0,E.useState)(!1),[p,x]=(0,E.useState)(!1),[g,v]=(0,E.useState)(!1),[f,b]=(0,E.useState)("all"),[j,w]=(0,E.useState)(""),y=(0,E.useCallback)(e=>{switch(e.kind){case"togglePending":x(e=>!e);break;case"toggleHuman":h(e=>!e);break;case"blocked":v(e.value),n([]);break;case"agent":l(e.value);break;case"channel":i(e.value);break;case"status":c(e.value);break;case"priority":u(e.value);break;case"tag":b(e.value);break;case"kanbanPreset":case"kanbanStartMonth":case"kanbanEndMonth":return;default:return e}t()},[t,n]),N=(0,E.useCallback)(()=>{v(!1),l("all"),i("all"),c("all"),u("all"),b("all"),x(!1),h(!1),a(),n([])},[a,n]),C=+!!g+(+("all"!==s)+ +("all"!==r))+(+("all"!==o)+ +("all"!==d)+ +("all"!==f))+(+!!p+ +!!m);return{agentFilter:s,channelFilter:r,statusFilter:o,priorityFilter:d,humanModeOnly:m,pendingOnly:p,blockedOnly:g,tagFilter:f,search:j,setSearch:w,applyFilterChange:y,resetConversationFilters:N,activeFilterCount:C}}({clearSelection:C,setThreads:u,clearSelectedThreadOnReset:C}),_=function(){let[e,t]=(0,E.useState)("7"),[n,a]=(0,E.useState)(()=>eh(new Date)),[s,l]=(0,E.useState)(()=>eh(new Date)),r=(0,E.useMemo)(()=>{var t,a,l;let r=new Date;if("custom"!==e)return{activeSince:eg(r,-Number(e)).toISOString(),activeUntil:r.toISOString(),capped:!1};let i=null!=(t=ep(n))?t:new Date(r.getFullYear(),r.getMonth(),1),o=null!=(a=ex(s))?a:r,c=o<i?null!=(l=ex(n))?l:i:o,d=eg(i,90);return{activeSince:i.toISOString(),activeUntil:(c>d?d:c).toISOString(),capped:c>d}},[s,n,e]),i=(0,E.useMemo)(()=>{var e;return eh(eg(null!=(e=ep(n))?e:new Date,90))},[n]);return{kanbanRangePreset:e,setKanbanRangePreset:t,kanbanCustomStartMonth:n,setKanbanCustomStartMonth:a,kanbanCustomEndMonth:s,setKanbanCustomEndMonth:l,kanbanDateRange:r,maxCustomEndMonth:i}}(),{agentFilter:S,channelFilter:A,statusFilter:T,priorityFilter:I,humanModeOnly:D,pendingOnly:M,blockedOnly:F,tagFilter:L,search:P,setSearch:O,applyFilterChange:R,resetConversationFilters:z,activeFilterCount:B}=k,{kanbanRangePreset:K,setKanbanRangePreset:U,kanbanCustomStartMonth:$,setKanbanCustomStartMonth:G,kanbanCustomEndMonth:q,setKanbanCustomEndMonth:H,kanbanDateRange:V,maxCustomEndMonth:W}=_,J=(0,E.useCallback)(e=>{switch(e.kind){case"kanbanPreset":U(e.value),C();return;case"kanbanStartMonth":G(e.value),C();return;case"kanbanEndMonth":H(e.value),C();return;default:R(e)}},[R,C,H,G,U]),Z=(0,E.useCallback)(async function(e){let l=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(s){var i;let e=s.threads;u(e),r(t=>{var s,l;return t||(a?null!=(s=e.find(e=>e.id===a))?s:null:"kanban"===n?null:null!=(l=e[0])?l:null)}),h(null!=(i=s.agents)?i:[]),w(!1),v(!1);return}v(!0);try{let s=await ty({organizationId:t,page:e,limit:"kanban"===n?100:20,initialThreadId:a,agentFilter:S,channelFilter:A,statusFilter:T,humanModeOnly:D,pendingOnly:M,blockedOnly:F,activeSince:"kanban"!==n||F?void 0:V.activeSince,activeUntil:"kanban"!==n||F?void 0:V.activeUntil});u(e=>l?s.threads:[...e,...s.threads]),l&&b(1),w(s.hasMore),h(s.agents)}catch(e){console.error("[ConversationsView] fetch error:",e)}finally{v(!1)}},[t,S,A,T,D,M,F,s,n,a,V.activeSince,V.activeUntil,r]),Q=(0,E.useCallback)(async()=>{if(s){var e;x(null!=(e=s.clients)?e:[]);return}try{x(await tC(t))}catch(e){x([])}},[s,t]),Y=(0,E.useCallback)(e=>{r(e),"kanban"===n&&c.push("/org/".concat(t,"/conversation/").concat(e.id),{scroll:!1})},[t,c,r,n]),X=(0,E.useCallback)(()=>{r(null),a&&c.push(N,{scroll:!1})}
1,[N,a,c,r]),ee=(0,E.useCallback)(async e=>{await Z(1,!0);let n=await tN(t,e);n&&Y(n)},[Z,Y,t]);(0,E.useEffect)(()=>{u([]),Z(1,!0)},[t,S,A,T,D,M,F,n,V.activeSince,V.activeUntil,Z]),(0,E.useEffect)(()=>{f>1&&Z(f,!1)},[f,Z]),(0,E.useEffect)(()=>{if(!a||(null==l?void 0:l.id)===a)return;let e=d.find(e=>e.id===a);e&&r(e)},[a,l,r,d]),(0,E.useEffect)(()=>{var e;null==(e=y.current)||e.scrollTo({top:0,behavior:"smooth"})},[S,A,T,I,D,M,F,L,P,n,V.activeSince,V.activeUntil]),(0,E.useEffect)(()=>{Q()},[Q]);let et=d.filter(e=>{var t,n,a,s,l;if("all"!==L&&!(null==(t=e.crm_tags)?void 0:t.includes(L))||"all"!==I&&e.crm_priority!==I)return!1;if(!P)return!0;let r=P.toLowerCase(),i=ej(e,o("conversations.defaultTitle")).toLowerCase();return e.title.toLowerCase().includes(r)||i.includes(r)||e.agent_name.toLowerCase().includes(r)||(null==(n=e.last_message)?void 0:n.toLowerCase().includes(r))||(null==(a=e.client_name)?void 0:a.toLowerCase().includes(r))||(null==(s=e.user_identifier)?void 0:s.toLowerCase().includes(r))||(null==(l=e.crm_tags)?void 0:l.some(e=>e.toLowerCase().includes(r)))}),en=(0,E.useMemo)(()=>[...et].sort((e,t)=>e.human_mode!==t.human_mode?e.human_mode?-1:1:e.pending_reply!==t.pending_reply?e.pending_reply?-1:1:new Date(t.created_at).getTime()-new Date(e.created_at).getTime()),[et]),ea=(0,E.useMemo)(()=>Array.from(new Set(d.flatMap(e=>{var t;return null!=(t=e.crm_tags)?t:[]}))).sort(),[d]),es=(0,E.useMemo)(()=>ed.reduce((e,t)=>(e[t]=en.filter(e=>e.crm_status===t),e),{}),[en]),el=(0,E.useMemo)(()=>({pending:d.filter(e=>e.pending_reply&&!e.blocked_at).length,human:d.filter(e=>e.human_mode&&!e.blocked_at).length}),[d]);return{threads:d,setThreads:u,agents:m,clients:p,setClients:x,loading:g,page:f,setPage:b,hasMore:j,search:P,setSearch:O,agentFilter:S,channelFilter:A,statusFilter:T,priorityFilter:I,humanModeOnly:D,pendingOnly:M,blockedOnly:F,tagFilter:L,kanbanRangePreset:K,kanbanCustomStartMonth:$,kanbanCustomEndMonth:q,listRef:y,kanbanDateRange:V,maxCustomEndMonth:W,fetchThreads:Z,openThread:Y,clearSelectedThread:X,clearSelection:C,applyFilterChange:J,sortedFilteredThreads:en,availableTags:ea,kanbanThreadsByStatus:es,operatorStats:el,activeFilterCount:B,resetConversationFilters:z,handleReachOutCreated:ee}}({organizationId:a,viewMode:l,initialThreadId:r,mockData:o,selectedThread:c,setSelectedThread:d,backHref:i,t:t}),m=(0,E.useCallback)((e,t)=>{u.setThreads(n=>n.map(n=>n.id===e?{...n,...t}:n)),d(n=>n&&n.id===e?{...n,...t}:n)},[u.setThreads]),h=function(e){var t;let{organizationId:n,mockData:a,locale:s,selectedThread:l,setSelectedThread:r,setThreads:i,updateSelectedThread:o,fetchThreads:c,t:d}=e,{toast:u}=(0,M.dj)(),[m,h]=(0,E.useState)([]),[p,x]=(0,E.useState)([]),[g,v]=(0,E.useState)({}),[f,b]=(0,E.useState)(!1),[j,w]=(0,E.useState)(null),[y,N]=(0,E.useState)(!1),[C,k]=(0,E.useState)(null),[_,S]=(0,E.useState)(!1),[A,T]=(0,E.useState)(!1),[I,D]=(0,E.useState)(!1),F=null!=(t=null==l?void 0:l.id)?t:null,L=(0,E.useCallback)(async()=>{if(!F){h([]),x([]);return}if(a){var e,t,s,l;b(!1),h(null!=(s=null==(e=a.messagesByThreadId)?void 0:e[F])?s:[]),x(null!=(l=null==(t=a.integrationApprovalsByThreadId)?void 0:t[F])?l:[]);return}b(!0),h([]),x([]);try{let e=await tk(n,F);h(e.messages),x(e.integrationApprovals)}catch(e){h([]),x([])}finally{b(!1)}},[a,n,F]),P=(0,E.useCallback)(async(e,t)=>{if(F){v(n=>({...n,[e]:t}));try{var a,s,l;let r=await tE(n,F,e,t);u({title:"approve"===t?d("conversations.integrationApproval.toast.approvedTitle"):d("conversations.integrationApproval.toast.rejectedTitle"),description:"approve"===t?(null==(a=r.result)?void 0:a.ok)===!1?(null==(s=r.result)?void 0:s.error)||d("conversations.integrationApproval.toast.failedDescription"):d("conversations.integrationApproval.toast.executedDescription"):d("conversations.integrationApproval.toast.rejectedDescription"),variant:"approve"===t&&(null==(l=r.result)?void 0:l.ok)===!1?"destructive":void 0}),await L(),await c(1,!0)}catch(e){u({title:d("conversations.integrationApproval.toast.actionFailedTitle"),description:e instanceof Error?e.message:d("conversations.integrationApproval.toast.actionFailedDescription"),variant:"destructive"})}finally{v(t=>{let n={...t};return delete n[e],n})}}},[L,c,n,F,d,u]),O=(0,E.useCallback)(e=>{let t=new Date(e),n=new Date;if(t.toDateString()===n.toDateString())return d("conversations.dateFormat.today",{time:t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})});let a=new Date(n);return(a.setDate(n.getDate()-1),t.toDateString()===a.toDateString())?d("conversations.dateFormat.yesterday",{time:t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}):t.toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})},[d]),R=(0,E.useCallback)(async e=>{let t=!e.human_mode;N(!0),i(n=>n.map(n=>n.id===e.id?{...n,human_mode:t}:n)),r(n=>n&&n.id===e.id?{...n,human_mode:t}:n);try{await tS(n,e.id,t)}catch(n){i(n=>n.map(n=>n.id===e.id?{...n,human_mode:!t}:n)),r(n=>n&&n.id===e.id?{...n,human_mode:!t}:n),u({title:d("conversations.humanModeUpdateFailed"),variant:"destructive"})}finally{N(!1)}},[n,r,i,d,u]),z=(0,E.useCallback)(async e=>{w(e.id);try{await tA(n,e.id),i(t=>t.filter(t=>t.id!==e.id)),(null==l?void 0:l.id)===e.id&&r(null),u({title:d("conversations.deleteSuccess"),description:d("conversations.threadDeleted")})}catch(e){u({title:d("conversations.deleteError"),description:d("conversations.deleteFailed"),variant:"destructive"})}finally{w(null)}},[n,l,r,i,d,u]),B=(0,E.useCallback)(async(e,t)=>{try{var a;let s=await tT(n,e.id,t);o(e.id,{blocked_at:s.blocked_at,blocked_reason:s.blocked_reason,human_mode:null!=(a=s.human_mode)?a:e.human_mode}),i(t=>t.filter(t=>t.id!==e.id)),r(null),u({title:t?d("conversations.blockSuccess"):d("conversations.unblockSuccess")})}catch(e){u({title:d("conversations.blockUpdateFailed"),variant:"destructive"})}},[n,r,i,d,u,o]);(0,E.useEffect)(()=>{L()},[L]),(0,E.useEffect)(()=>
1{if(!F||a){k(null),S(!1);return}let e=!1;return k(null),S(!0),t_(n,F,s).then(t=>{!e&&t&&k(t)}).catch(t=>{console.error("[ConversationsView] insight error:",t),e||k(null)}).finally(()=>{e||S(!1)}),()=>{e=!0}},[s,a,n,F]),(0,E.useEffect)(()=>{T(!1)},[F]);let K=(0,E.useMemo)(()=>{if(!(null==l?void 0:l.human_mode)||l.blocked_at)return"";let e=function(e){for(let a=e.length-1;a>=0;a-=1){var t,n;let s=null==(n=e[a])||null==(t=n.input)?void 0:t.trim();if(s)return s}return""}(m);return e?"follow_up"===l.crm_status?d("conversations.suggestedResponseFollowUp",{message:ev(e)}):l.pending_reply||"high"===l.crm_priority?d("conversations.suggestedResponseUrgent",{message:ev(e)}):d("conversations.suggestedResponseDefault",{message:ev(e)}):d("conversations.suggestedResponseFallback")},[l,m,d]);return{threadMessages:m,integrationApprovals:p,approvalActionIds:g,historyLoading:f,deletingThread:j,togglingHumanMode:y,clientInsight:C,clientInsightLoading:_,clientInsightExpanded:A,setClientInsightExpanded:T,clientPanelCollapsed:I,setClientPanelCollapsed:D,fetchThreadHistory:L,handleIntegrationApprovalAction:P,formatDate:O,toggleHumanMode:R,deleteThread:z,toggleBlocked:B,suggestedResponse:K}}({organizationId:a,mockData:o,locale:n,selectedThread:c,setSelectedThread:d,setThreads:u.setThreads,updateSelectedThread:m,fetchThreads:u.fetchThreads,t:t}),p=function(e){var t;let{organizationId:n,selectedThread:a,clients:s,setClients:l,updateSelectedThread:r,availableTags:i,t:o}=e,{toast:c}=(0,M.dj)(),[d,u]=(0,E.useState)(!1),[m,h]=(0,E.useState)(""),[p,x]=(0,E.useState)(!1),[g,v]=(0,E.useState)(!1),[f,b]=(0,E.useState)(!1),[j,w]=(0,E.useState)(null),[y,N]=(0,E.useState)([]),[C,k]=(0,E.useState)(""),[_,S]=(0,E.useState)(""),[A,T]=(0,E.useState)(!1),I=null!=(t=null==a?void 0:a.id)?t:null,D=(0,E.useMemo)(()=>{var e;return(null==a?void 0:a.client_id)&&null!=(e=s.find(e=>e.id===a.client_id))?e:null},[s,null==a?void 0:a.client_id]),F=(0,E.useMemo)(()=>{var e,t,n,a,s,l,r,i,o,c,d,u;if(!D)return null;let m=null!=(e=D.metadata)?e:{};return{name:D.name,email:null!=(t=D.email)?t:"",phone:null!=(n=D.phone)?n:"",company_name:null!=(a=m.company_name)?a:"",job_title:null!=(s=m.job_title)?s:"",preferred_channel:null!=(r=null!=(l=m.preferred_channel)?l:D.primary_channel)?r:"",lead_source:null!=(i=m.lead_source)?i:"",tags:null!=(d=null==(c=m.tags)?void 0:c.join(", "))?d:"",status:(u=D.status,em.includes(u)?u:"active"===u||"vip"===u||"at_risk"===u?"customer":"lead"),notes:null!=(o=D.notes)?o:""}},[D]),L=(0,E.useCallback)(e=>y.includes(e),[y]),P=(0,E.useCallback)(e=>{var t;r(e.id,{crm_status:e.crm_status,crm_priority:e.crm_priority,crm_notes:e.crm_notes,crm_tags:e.crm_tags,client_id:e.client_id,client_name:e.client_name}),k(null!=(t=e.crm_notes)?t:"")},[r]),O=(0,E.useCallback)(async(e,t)=>{var a,i,d,u,m,h,p,x;let g=void 0!==t.clientId?"client":void 0!==t.tags?"tags":void 0!==t.notes?"notes":void 0!==t.status?"status":"priority",v={};t.status&&(v.crm_status=t.status),t.priority&&(v.crm_priority=t.priority),void 0!==t.notes&&(v.crm_notes=t.notes),void 0!==t.tags&&(v.crm_tags=t.tags),void 0!==t.clientId&&(v.client_id=t.clientId,v.client_name=null!=(d=null!=(i=t.clientName)?i:null==(a=s.find(e=>e.id===t.clientId))?void 0:a.name)?d:null),r(e.id,v),N(e=>e.includes(g)?e:[...e,g]);try{let a=await tI(n,e.id,{status:t.status,priority:t.priority,notes:t.notes,tags:t.tags,clientId:t.clientId,replaceClientChannel:t.replaceClientChannel,mergeClient:t.mergeClient});if(!a.ok){if(409===a.status&&"client"===g&&t.clientId){P(e),w({thread:e,updates:{clientId:t.clientId,clientName:t.clientName},conflict:null!=(m=a.conflict)?m:{}});return}throw Error("CRM update failed")}let i=a.data;i.client&&l(e=>e.map(e=>e.id===i.client.id?{...e,...i.client}:e)),r(e.id,{crm_status:i.crm_status,crm_priority:i.crm_priority,crm_notes:i.crm_notes,crm_tags:null!=(h=i.crm_tags)?h:[],client_id:i.client_id,client_name:i.client_id===t.clientId&&t.clientName?t.clientName:null!=(p=null==(u=s.find(e=>e.id===i.client_id))?void 0:u.name)?p:null}),k(null!=(x=i.crm_notes)?x:"")}catch(t){P(e),c({title:o("conversations.crmUpdateFailed"),variant:"destructive"})}finally{N(e=>e.filter(e=>e!==g))}},[s,n,P,l,o,c,r]),R=(0,E.useCallback)(async()=>{let e=m.trim();if(a&&e){x(!0);try{var t,s,r,i,d,p,g;let o=await tD(n,{name:e,primary_channel:a.channel,external_identifier:a.user_identifier}),c={id:o.id,name:o.name,email:null!=(t=o.email)?t:null,phone:null!=(s=o.phone)?s:null,primary_channel:null!=(r=o.primary_channel)?r:null,external_identifier:null!=(i=o.external_identifier)?i:null,
1status:null!=(d=o.status)?d:"lead",notes:null!=(p=o.notes)?p:null,metadata:null!=(g=o.metadata)?g:null};l(e=>[c,...e.filter(e=>e.id!==c.id)]),await O(a,{clientId:c.id,clientName:c.name}),h(""),u(!1)}catch(e){c({title:o("conversations.clientCreateFailed"),variant:"destructive"})}finally{x(!1)}}},[m,n,a,l,o,c,O]),z=(0,E.useCallback)(async e=>{if(D&&e.name.trim()){b(!0);try{let t=await tM(n,D.id,{name:e.name,email:e.email||null,phone:e.phone||null,primary_channel:e.preferred_channel||null,status:e.status,notes:e.notes||null,metadata:{company_name:e.company_name.trim()||null,job_title:e.job_title.trim()||null,preferred_channel:e.preferred_channel||null,lead_source:e.lead_source.trim()||null,tags:e.tags.split(",").map(e=>e.trim()).filter(Boolean)}});l(e=>e.map(e=>e.id===D.id?{...e,...t}:e)),I&&r(I,{client_name:t.name})}catch(e){c({title:o("clients.updateFailed"),variant:"destructive"})}finally{b(!1)}}},[n,D,I,l,o,c,r]),B=(0,E.useMemo)(()=>a?i.filter(e=>{var t;return!(null!=(t=a.crm_tags)?t:[]).includes(e)}):[],[i,a]),K=m.trim().toLowerCase(),U=(0,E.useMemo)(()=>s.filter(e=>!K||[e.name,e.email,e.phone].filter(Boolean).some(e=>e.toLowerCase().includes(K))),[s,K]),$=!!m.trim()&&!s.some(e=>e.name.toLowerCase()===m.trim().toLowerCase())&&0===U.length,G=(0,E.useCallback)(()=>{var e;if(!a)return;let t=_.trim().toLowerCase();if(!t)return;let n=Array.from(new Set([...null!=(e=a.crm_tags)?e:[],t]));S(""),O(a,{tags:n})},[a,_,O]),q=(0,E.useCallback)(()=>{_.trim()&&(G(),T(!1))},[G,_]),H=(0,E.useCallback)(()=>{S(""),T(!1)},[]),V=(0,E.useCallback)(e=>{var t;if(!a)return;let n=Array.from(new Set([...null!=(t=a.crm_tags)?t:[],e]));O(a,{tags:n}),S(""),T(!1)},[a,O]);return(0,E.useEffect)(()=>{var e;k(null!=(e=null==a?void 0:a.crm_notes)?e:"")},[I,null==a?void 0:a.crm_notes]),(0,E.useEffect)(()=>{D||v(!1)},[D]),(0,E.useEffect)(()=>{S(""),T(!1),h(""),u(!1)},[I]),{clientPopoverOpen:d,setClientPopoverOpen:u,clientSearch:m,setClientSearch:h,creatingClient:p,clientDetailsOpen:g,setClientDetailsOpen:v,savingClientDetails:f,pendingClientLinkConflict:j,setPendingClientLinkConflict:w,notesDraft:C,setNotesDraft:k,tagDraft:_,setTagDraft:S,tagEditorOpen:A,setTagEditorOpen:T,selectedClient:D,clientDetailsSeed:F,isSavingCrm:L,updateCrm:O,createAndAssignClient:R,saveSelectedClientDetails:z,suggestedTags:B,filteredClients:U,canCreateClient:$,saveTagDraft:q,cancelTagDraft:H,addExistingTagToSelectedThread:V}}({organizationId:a,selectedThread:c,clients:u.clients,setClients:u.setClients,updateSelectedThread:m,availableTags:u.availableTags,t:t});return{list:u,detail:h,crm:p,selectedThread:c,previewMode:s,t:t}}(e),u=(0,a.jsx)(ey,{t:d,previewMode:t,organizationId:e.organizationId,clients:r.clients,onReachOutCreated:r.handleReachOutCreated,activeFilterCount:r.activeFilterCount,loading:r.loading,onRefresh:()=>r.fetchThreads(1,!0),onResetFilters:r.resetConversationFilters,operatorStats:r.operatorStats,agents:r.agents,availableTags:r.availableTags,blockedOnly:r.blockedOnly,pendingOnly:r.pendingOnly,humanModeOnly:r.humanModeOnly,agentFilter:r.agentFilter,channelFilter:r.channelFilter,statusFilter:r.statusFilter,priorityFilter:r.priorityFilter,tagFilter:r.tagFilter,onPendingOnlyToggle:()=>r.applyFilterChange({kind:"togglePending"}),onHumanModeOnlyToggle:()=>r.applyFilterChange({kind:"toggleHuman"}),onBlockedOnlyChange:e=>r.applyFilterChange({kind:"blocked",value:e}),onAgentFilterChange:e=>r.applyFilterChange({kind:"agent",value:e}),onChannelFilterChange:e=>r.applyFilterChange({kind:"channel",value:e}),onStatusFilterChange:e=>r.applyFilterChange({kind:"status",value:e}),onPriorityFilterChange:e=>r.applyFilterChange({kind:"priority",value:e}),onTagFilterChange:e=>r.applyFilterChange({kind:"tag",value:e})});return(0,a.jsxs)("div",{className:"flex flex-col ".concat(t?"h-full":"h-[calc(100vh-100px)] sm:h-[calc(100vh-50px)]"),children:[(0,a.jsx)(l,{pending:o.pendingClientLinkConflict,onClose:()=>o.setPendingClientLinkConflict(null),onReplace:e=>{o.setPendingClientLinkConflict(null),o.updateCrm(e.thread,{...e.updates,replaceClientChannel:!e.conflict.can_merge,mergeClient:!!e.conflict.can_merge})},t:d}),"kanban"!==n||s||c?(0,a.jsxs)("div",{className:"flex flex-1 min-h-0 gap-3 overflow-hidden",children:[(0,a.jsx)(tR,{t:d,formatDate:i.formatDate,viewMode:n,selectedThread:c,search:r.search,onSearchChange:r.setSearch,filterMenu:u,listRef:r.listRef,loading:r.loading,threads:r.threads,sortedFilteredThreads:r.sortedFilteredThreads,blockedOnly:r.blockedOnly,onOpenThread:r.openThread,onDeleteThread:i.deleteThread,deletingThread:i.deletingThread,hasMore:r.hasMore,onLoadMore:()=>r.setPage(e=>e+1)}),(0,a.jsx)(tx,{t:d,organizationId:e.organizationId,viewMode:n,selectedThread:c,onClearSelectedThread:r.clearSelectedThread,detail:i,crm:o})]}):(0,a.jsx)(tw,{t:d,kanbanRangePreset:r.kanbanRangePreset,onKanbanRangePresetChange:e=>r.applyFilterChange({kind:"kanbanPreset",value:e}),kanbanCustomStartMonth:r.kanbanCustomStartMonth,onKanbanCustomStartMonthChange:e=>r.applyFilterChange({kind:"kanbanStartMonth",value:e}),kanbanCustomEndMonth:r.kanbanCustomEndMonth,onKanbanCustomEndMonthChange:e=>r.applyFilterChange({kind:"kanbanEndMonth",value:e}),maxCustomEndMonth:r.maxCustomEndMonth,kanbanDateRange:r.kanbanDateRange,kanbanThreadsByStatus:r.kanbanThreadsByStatus,onOpenThread:r.openThread})]})}},58946:(e,t,n)=>{n.d(t,{Label:()=>c});var a=n(54568),s=n(7620),l=n(19095),r=n(54616),i=n(25703);let o=(0,r.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=s.forwardRef((e,t)=>
1{let{className:n,...s}=e;return(0,a.jsx)(l.b,{ref:t,className:(0,i.cn)(o(),n),...s})});c.displayName=l.b.displayName},79953:(e,t,n)=>{n.d(t,{E:()=>l});var a=n(54568),s=n(25703);function l(e){let{className:t,...n}=e;return(0,a.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",t),...n})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.