1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DlKj98-E.js","assets/react-query-DywPi3Wo.js","assets/react-vendor-6ULW7vKx.js","assets/notifications-CniyskoD.js","assets/ui-utils-4YCDwm7v.js","assets/state-management-D35o73Ew.js","assets/date-fns-core-DhfE3dwm.js","assets/router-CfEbv8XI.js","assets/fontawesome--Aw3gwP5.js","assets/radix-ui-CdNO4ynG.js","assets/api-utils-DeT0SS0P.js","assets/tiptap-complete-I_SUyZ8Y.js","assets/collaboration-protocols-oLklGwa8.js","assets/collaboration-provider-DYKWCpdb.js","assets/lucide-icons-B0eZXG9a.js","assets/command-utils-Ca9Q8TxB.js","assets/virtualization-CdcdMTXM.js","assets/react-day-picker-CHkWmtOp.js","assets/index-BO1ws7kC.css","assets/index-rRPmGqub.js","assets/ActionButtonsService-CNWDjBS7.js","assets/ActionItemsService-D8L0LaKx.js","assets/AiMemoryService-BXSn9m0M.js","assets/AttachmentsService-D9Dsw264.js","assets/ChatService-DGqWe8Po.js","assets/ClientEndpointsService-CVSqv_nk.js","assets/ContextLinkService-DHcERd1M.js","assets/CrmJobRolesService-BiduY6qX.js","assets/DocumentRegistryService-CqX9LomY.js","assets/IntegrationsService-CPamthol.js","assets/InternalWorkspaceWebhooksService-CSeNchw0.js","assets/MeetingEndpointsService-DQgccB_B.js","assets/MeetingParticipantsService-DJyfTOnD.js","assets/MergeService-CjllDHcl.js","assets/OAuthConnectionsInternalService-BGAw3Jl1.js","assets/SearchEndpointsService-CrmJNq3G.js","assets/ShortcutsService-ntUBITNR.js","assets/WorkspaceApiKeysService-C3LY0b9g.js","assets/TemplateCollaboratorsService-CtZlQQB7.js","assets/WorkspaceArchiveService-D1-rj2dw.js"])))=>i.map(i=>d[i]); 2import{c as e,a as t,j as n,_ as a,u as i,R as r,d as s}from"./react-query-DywPi3Wo.js";import{hW as o,s as c,a4 as l,H as d,cT as u,F as m,hX as p,hY as g,gQ as f,ex as h,hZ as y,K as x,hF as v,bp as b,hP as _,h_ as w,aX as S,h$ as j,i0 as I,M as C,ax as k,i1 as N,ay as E,aV as A,ak as T,ai as R,i2 as D,a3 as M,ac as P,e_ as L,eZ as F,i3 as O,fC as z,i4 as G,i5 as $,cB as W,d7 as B,cI as U,gO as H,ct as q,f9 as V,cu as Z,gJ as K,i6 as Q,i7 as Y,i8 as J,i9 as X,fu as ee,a0 as te,ia as ne,dM as ae,ib as ie,ic as re,id as se,gj as oe,ie as ce,aA as le,aZ as de,a_ as ue,a$ as me,du as pe,ig as ge,ih as fe,c5 as he,dF as ye,u as xe,ii as ve,dB as be,bQ as _e,fF as we,a7 as Se,ij as je,ik as Ie,h6 as Ce,a8 as ke,a6 as Ne,d8 as Ee,av as Ae,fz as Te,J as Re,cF as De,ef as Me,il as Pe,cQ as Le,x as Fe,im as Oe,io as ze,ip as Ge,iq as $e,ir as We,is as Be,eQ as Ue,it as He,iu as qe,iv as Ve,bk as Ze,ew as Ke,iw as Qe,ix as Ye,iy as Je,iz as Xe,cl as et,a2 as tt,iA as nt,iB as at,iC as it,iD as rt,ch as st,al as ot,cm as ct,aO as lt}from"./index-DlKj98-E.js";import{u as dt,d as ut,c as mt,b as pt}from"./router-CfEbv8XI.js";import{M as gt}from"./MergeRedirectNotice-6YYByKZ_.js";import{a as ft,b as ht,N as yt,A as xt,c as vt,u as bt,i as _t,L as wt,C as St,M as jt,S as It}from"./CollaborationDocViewer-CGVnxXg6.js";import"./dnd-kit-DzvvKKHw.js";import{s as Ct}from"./DurationMenuButton-DSsqsnlw.js";import{P as kt,F as Nt,q as Et,ax as At,a6 as Tt,bX as Rt,a3 as Dt,bK as Mt,ch as Pt,a5 as Lt,V as Ft,ci as Ot,cj as zt,C as Gt,ck as $t,H as Wt}from"./fontawesome--Aw3gwP5.js";import{M as Bt}from"./MeetingEndpointsService-DQgccB_B.js";import{t as Ut}from"./notifications-CniyskoD.js";import{S as Ht}from"./StandaloneTiptapEditor-BhkTnFiV.js";import{u as qt}
2from"./meetingWorkspaceDataStore-C_EU_3xd.js";import{P as Vt}from"./progress-DUsL_fce.js";import{g as Zt}from"./agendaItemIconMapping-lRTrSdqu.js";import{u as Kt}from"./useDeveloperControlsStore-BDYuvdha.js";import{A as Qt}from"./AssignmentPopover-DxJ3t7zW.js";import{n as Yt}from"./actionItemUtils-CG-oora4.js";import{u as Jt}from"./useInvitationModal-Bpr1wF3t.js";import{i as Xt,j as en,a as tn,b as nn,A as an,T as rn,c as sn,s as on,k as cn,l as ln,m as dn,r as un}from"./TriageButtonGroup-Cld2R1XN.js";import{u as mn,S as pn}from"./SelectionHighlightOverlay-C-HTLZLp.js";import{A as gn}from"./ActionItemExternalLinkBadge-2__nAUYt.js";import{G as fn,D as hn}from"./date-fns-core-DhfE3dwm.js";import{e as yn,u as xn,a as vn,b as bn,s as _n,c as wn,d as Sn,f as jn,S as In,g as Cn,h as kn,i as Nn,j as En,k as An,L as Tn,A as Rn,l as Dn,m as Mn,t as Pn,n as Ln,N as Fn,o as On,p as zn,I as Gn}from"./mapNextStep-NhsrKuhj.js";import{u as $n}from"./useRunNextStepInCanvas-CUIffREK.js";import{b as Wn,y as Bn,c as Un,a as Hn,D as qn}from"./radix-ui-CdNO4ynG.js";import{N as Vn,P as Zn,a as Kn}from"./promptBestPractices-DNRGvSin.js";import{g as Qn,C as Yn,R as Jn,M as Xn,i as ea,S as ta,j as na,k as aa,X as ia}from"./lucide-icons-B0eZXG9a.js";import"./table-node-QYvpH6-z.js";import{S as ra}from"./StartProjectModal-Rdo84jCU.js";import{S as sa}from"./SummarySlider-Di9AZ72V.js";import{a as oa}from"./PromptFieldEditor-BXC1bF7i.js";import{u as ca}from"./useBeforeUnloadSave-CrVorKsm.js";import{A as la}from"./ActionItemsService-D8L0LaKx.js";import{a as da}from"./actionItemQueryKeys-Brk-UJbg.js";import{u as ua}from"./useCollaborationTokenErrorHandler-D4gQdgs0.js";import{e as ma,u as pa,f as ga}from"./useSocketEntities-mYzUKb7f.js";import{d as fa,b as ha,a as ya}from"./tiptapTokenRefresh-6VA5tZK3.js";import{u as xa}from"./useConnectionId-Hea0U7HG.js";import{g as va}from"./userColorHash-ChkYBN8M.js";import{W as ba}from"./WorkspaceCollaborationDocViewer-CCPqXCJq.js";import"./react-vendor-6ULW7vKx.js";import"./ui-utils-4YCDwm7v.js";import"./state-management-D35o73Ew.js";import"./tiptap-complete-I_SUyZ8Y.js";import"./collaboration-protocols-oLklGwa8.js";import"./api-utils-DeT0SS0P.js";import"./collaboration-provider-DYKWCpdb.js";import"./command-utils-Ca9Q8TxB.js";import"./virtualization-CdcdMTXM.js";import"./react-day-picker-CHkWmtOp.js";import"./fileValidation-DHdq8CbK.js";import"./useMeetingAttachments-BmnLjZY3.js";import"./AttachmentsService-D9Dsw264.js";import"./SettingsList-DEWvhBif.js";import"./accessLevels-BpmIClJJ.js";import"./tooltip-DsUgeqDb.js";import"./MeetingParticipantsService-DJyfTOnD.js";import"./MeetingTemplatePickerModal-0z8S-d-n.js";import"./meetingTemplate-CyXGOHz8.js";import"./usePrivateNotesQueries-BPJFJmg2.js";import"./ToolkitProvenanceBadge-BImaR1Ik.js";import"./useToolkitRowGate-DsclZDv4.js";import"./usePlanGate-B1k-iOVx.js";import"./index-Ch3iNBd0.js";import"./index-DZ7uvb-J.js";import"./marked.esm-BQg83rdJ.js";import"./table-node-extension-BNTKpvY7.js";import"./integrationDisplayInfo-DrYoMFQd.js";import"./SharePointIcon-_FgCU5Du.js";import"./MicrosoftIcon-Be0C562b.js";import"./SlackIcon-ClEqbyhS.js";import"./integrationDisplayNames-Bgg8VlYe.js";import"./ActionButtonsService-CNWDjBS7.js";import"./useTodoistSections-aHugWZCE.js";import"./searchable-combobox-DVsYC37o.js";import"./IntegrationsService-CPamthol.js";import"./tooltip-C-7Flors.js";import"./OwnershipRadioGroup-B9-4295x.js";import"./radio-group-DslwiU9W.js";import"./LinkedEntityAccessModal-IecAGkVm.js";import"./PeopleSuggestionList-Bas_q6Xg.js";import"./ContextLinkService-DHcERd1M.js";const _a=()=>{const n=c.c(37),a=dt(),i=e(),r=l(wa),s=d(Sa),o=d(ja),f=d(Ia),h=d(Ca),y=d(ka),x=d(Na),v=d(Ea),b=d(Aa),_=d(Ta),w=t.useRef(void 0),S=t.useRef(null);let j;n[0]!==o||n[1]!==r?(j=u(o,r),n[0]=o,n[1]=r,n[2]=j):j=n[2];const I=j,C=I?.role,k=I?.is_owner??!1;let N;n[3]===Symbol.for("react.memo_cache_sentinel")?(N=()=>{w.current=void 0,S.current=null},n[3]=N):N=n[3];const E=r?.id,A=r?.email;let T,R;n[4]!==s||n[5]!==E||n[6]!==A?(T=[s,E,A],n[4]=s,n[5]=E,n[6]=A,n[7]=T):T=n[7],t.useEffect(N,T),n[8]!==v||n[9]!==_||n[10]!==k||n[11]!==s||n[12]!==h||n[13]!==b||n[14]!==y||n[15]!==a||n[16]!==C||n[17]!==i||n[18]!==x||n[19]!==f||n[20]!==r?(R=()=>
2{if(!s||!r?.email)return;const e=function({isOwner:e,participantRole:t,userWorkspaceId:n,meetingWorkspaceId:a,meetingLinkRole:i,meetingWorkspaceRole:r,recapLinkRole:s,recapWorkspaceRole:o,endedAt:c}){const l=g({isOwner:e,participant:t?{role:t}:null,meetingLinkRole:i??"NOACCESS",meetingWorkspaceRole:r??"NOACCESS",recapLinkRole:s??"NOACCESS",recapWorkspaceRole:o??"NOACCESS",endedAt:c,isInMeetingWorkspace:!!n&&!!a&&n===a});return{hasAccess:"NOACCESS"!==l,effectiveRole:l}}({isOwner:k,participantRole:C,userWorkspaceId:r.workspace?.id,meetingWorkspaceId:b??void 0,meetingLinkRole:h,meetingWorkspaceRole:y,recapLinkRole:x,recapWorkspaceRole:f,endedAt:v}),t=void 0!==w.current&&w.current.hasAccess&&!e.hasAccess,n=void 0===w.current&&!e.hasAccess&&_;t?(m.debug(`User ${r.email} lost access to meeting ${s} â invalidating token + navigating to /`,{previousRole:w.current?.effectiveRole,currentRole:e.effectiveRole,participantRole:C,recapWorkspaceRole:f,meetingLinkRole:h,recapLinkRole:x,endedAt:v}),i.invalidateQueries({queryKey:p.detail(s)}),a("/",{replace:!0})):n&&S.current!==s?(S.current=s,m.debug(`User ${r.email} appears to lack access to meeting ${s} â re-confirming with the server instead of redirecting`,{currentRole:e.effectiveRole,participantRole:C,recapWorkspaceRole:f,meetingLinkRole:h,initializedMeeting:_}),i.invalidateQueries({queryKey:p.detail(s)})):w.current&&w.current.effectiveRole!==e.effectiveRole&&e.hasAccess&&m.debug(`User ${r.email} access role changed for meeting ${s}`,{previousRole:w.current.effectiveRole,currentRole:e.effectiveRole,participantRole:C,recapWorkspaceRole:f,meetingLinkRole:h,recapLinkRole:x,endedAt:v}),_&&e.hasAccess&&(w.current=e)},n[8]=v,n[9]=_,n[10]=k,n[11]=s,n[12]=h,n[13]=b,n[14]=y,n[15]=a,n[16]=C,n[17]=i,n[18]=x,n[19]=f,n[20]=r,n[21]=R):R=n[21];const D=r?.email,M=r?.workspace?.id;let P;n[22]!==v||n[23]!==_||n[24]!==k||n[25]!==s||n[26]!==h||n[27]!==b||n[28]!==y||n[29]!==a||n[30]!==C||n[31]!==i||n[32]!==x||n[33]!==f||n[34]!==D||n[35]!==M?(P=[s,C,k,D,M,b,f,h,y,x,v,_,a,i],n[22]=v,n[23]=_,n[24]=k,n[25]=s,n[26]=h,n[27]=b,n[28]=y,n[29]=a,n[30]=C,n[31]=i,n[32]=x,n[33]=f,n[34]=D,n[35]=M,n[36]=P):P=n[36],t.useEffect(R,P)};function wa(e){return e.user}function Sa(e){return e.meetingId}function ja(e){return e.participants}function Ia(e){return e.recapWorkspaceRole}function Ca(e){return e.meetingLinkRole}
2function ka(e){return e.meetingWorkspaceRole}function Na(e){return e.recapLinkRole}function Ea(e){return e.endedAt}function Aa(e){return e.workspaceId}function Ta(e){return e.initializedMeeting}const Ra=e=>{const t=e.getHours();return`${t%12||12}:${e.getMinutes().toString().padStart(2,"0")}${t<12?"am":"pm"}`},Da=(e,t,n,a,i,r,s,o)=>{if(e&&!t)return`+${o(n)}`;if(a&&!t&&!e){return o(Math.max(0,i-r))}return o(s)},Ma=()=>{const e=c.c(27),a=d(Pa);let i;e[0]!==a?(i=f(a),e[0]=a,e[1]=i):i=e[1];const r=i,s=d(La),o=d(Fa),l=d(Oa),u=d(za),m=d(Ga),p=d($a),g=d(Wa),b=d(Ba),_=d(Ua),w=new Date(_),S=s(w),j=o(w);let I;if(e[2]!==g){e:{if(!g){I="â";break e}const e=new Date(g);isNaN(e.getTime())?I="â":I=Ra(e)}e[2]=g,e[3]=I}else I=e[3];const C=I;let k,N;e[4]!==r||e[5]!==u||e[6]!==m||e[7]!==p?(k=()=>{if(!u||!u.trim())return;const{plannedStartTimestamp:e}=v(u,m);if(!e)return;const t=Date.now(),n=r[0],a=r.find(Ha);if(!n?.id||a?.id!==n.id)return;const i=a.focusedTimestamps||[],s=new Date(e).toISOString();if(t<e)i.length;else if(0!==i.length){if(1===i.length){const t=Date.parse(i[0]);(isNaN(t)||t>e)&&p(a.id,{focusedTimestamps:[s]})}}else p(a.id,{focusedTimestamps:[s]})},N=[r,u,m,p],e[4]=r,e[5]=u,e[6]=m,e[7]=p,e[8]=k,e[9]=N):(k=e[8],N=e[9]),t.useEffect(k,N);const E=Math.ceil(j),A=new Date(w.getTime()+60*E*1e3),T=Ra(A),R=r.filter(qa),D=R.map((e,t)=>{const n=e.type?h.toFrontendType(e.type):"discussion",a="COMPLETE"===e.status?kt:Zt(n||"discussion"),i=!e.duration||0===e.duration,r=e.duration||5,s="FOCUSED"===e.status,{timestamps:o,clock:c}=y(e,w),l=b(o,c)/60,d=i?Math.max(l,2):l>r?l:r,u=i?2:r,m=r>0?Math.min(l/r*100,100):0,p=r>0&&l>r,g=p?l-r:0,f=R.findIndex(Va),x=f>=0&&t>f;let v;v=x?"muted":p&&s?"danger":"default";return{item:e,icon:a,actualDuration:d,widthDuration:u,progressValue:m,progressVariant:v,frontendType:n,hasNoPlannedTime:i,shouldHideDurationLabel:i||f>=0&&t!==f,isFocused:s,isAheadOfFocused:x,isOverTime:p,overtimeMinutes:g,plannedDuration:r,elapsedTimeInMinutes:l}}),M=D.filter(Za),P=D.filter(Ka),L=S>0?Math.min(2/S*100,8):8,F=M.length*L,O=Math.max(0,100-F),z=P.reduce(Qa,0),G=D.map(e=>({...e,widthPercentage:e.hasNoPlannedTime?L:z>0?e.widthDuration/z*O:O/P.length}));let $,W,B;e[10]!==C?($=n.jsx("div",{className:"text-2xl font-bold lowercase",children:C}),e[10]=C,e[11]=$):$=e[11],e[12]===Symbol.for("react.memo_cache_sentinel")?(W=n.jsx("div",{className:"text-md",children:"Started at"}),e[12]=W):W=e[12],e[13]!==$?(B=n.jsxs("div",{className:"flex flex-col items-start",children:[$,W]}),e[13]=$,e[14]=B):B=e[14];const U=G.map((e,t)=>{const{item:a,icon:i,actualDuration:r,widthPercentage:s,progressValue:o,progressVariant:c,hasNoPlannedTime:d,shouldHideDurationLabel:u,isAheadOfFocused:m,isOverTime:p,overtimeMinutes:g,isFocused:f,plannedDuration:h,elapsedTimeInMinutes:y}=e;return n.jsxs("div",{className:"flex w-[var(--agenda-item-width)] flex-col items-center gap-0.75",style:{"--agenda-item-width":`${s}%`},children:[n.jsx("div",{className:"flex h-4 items-center self-start",children:n.jsx(Nt,{icon:i,className:x("text-sm","COMPLETE"===a.status?"text-purple-contio-300":m?"text-gray-contio-200":p&&!d?"text-coral-contio-400":"text-purple-contio-600")})}),n.jsx("div",{className:"h-1.5 w-full",children:d?n.jsx("div",{className:x("h-full w-full border-2 border-dashed","COMPLETE"===a.status?"border-purple-contio-300 opacity-70":m?"border-purple-contio-300 opacity-50":"border-purple-contio-600",0===t?"rounded-s-lg":"rounded-s-none",t===G.length-1?"rounded-e-lg":"rounded-e-none")}):n.jsx(Vt,{value:o,variant:c,className:x("h-full w-full","COMPLETE"===a.status&&"opacity-70",0===t?"rounded-s-lg":"rounded-s-none",t===G.length-1?"rounded-e-lg":"rounded-e-none")})}),n.jsx("div",{className:"flex h-5 items-center self-end [line-height:0.75rem]",children:!u&&n.jsx("div",{className:x("text-md font-medium",p&&!d?"font-bold text-coral-contio-400":"text-gray-600"),children:Da(p,d,g,f,h,y,r,l)})})]},a.id)});let H,q,V,Z,K,Q;return e[15]!==U?(H=n.jsx("div",{className:"flex-1",children:n.jsx("div",{className:"relative",children:n.jsx("div",{className:"flex w-full items-end gap-0.5",children:U})})}),e[15]=U,e[16]=H):H=e[16],e[17]===Symbol.for("react.memo_cache_sentinel")?(q=x("item flex flex-col justify-center text-center text-purple-contio-700"),e[17]=q):q=e[17],e[18]!==T?(V=n.jsx("div",{"data-testid":"projected-completion-time",className:"text-2xl font-bold lowercase",children:T}),e[18]=T,e[19]=V):V=e[19],e[20]===Symbol.for("react.memo_cache_sentinel")?(Z=n.jsx("div",{className:"text-end text-md",children:"Projected"}),e[20]=Z):Z=e[20],e[21]!==V?(K=n.jsx("div",{className:"flex justify-end gap-4",children:n.jsxs("div",{className:q,children:[V,Z]})}),e[21]=V,e[22]=K):K=e[22],e[23]!==H||e[24]!==K||e[25]!==B?(Q=n.jsxs("div",{className:"flex w-full items-center justify-between gap-6",children:[B,H,K]}),e[23]=H,e[24]=K,e[25]=B,e[26]=Q):Q=e[26],Q};function Pa(e){return e.agendaItems}function La(e){return e.getActualTotalDuration}function Fa(e){return e.getRemainingTime}function Oa(e){return e.formatDurationToMMSS}function za(e){return e.startDate}function Ga(e){return e.startTimeOffset}function $a(e){return e.updateAgendaItem}function Wa(e){return e.startedAt}function Ba(e){return e.calculateElapsedTimeFromTimestamps}function Ua(e){return e.currentTime}function Ha(e){return"FOCUSED"===e.status}function qa(e){return"DEFERRED"!==e.status}function Va(e){return"FOCUSED"===e.status}function Za(e){return e.hasNoPlannedTime}function Ka(e){return!e.hasNoPlannedTime}function Qa(e,t){return e+t.widthDuration}const Ya=()=>{const e=c.c(1);if(ft()!==ht.CountDown)return null;let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx("div",{"data-testid":"meeting-header",className:"sticky top-0 z-40 flex h-16 w-full items-center border-b bg-white",children:n.jsx("div",{className:"flex h-full w-full items-center justify-between px-4 sm:px-8",children:n.jsx("div",{className:"flex w-full items-center",children:n.jsx(Ma,{})})})}),e[0]=t):t=e[0],t};const Ja=()=>{const e=c.c(1),t=function(){const{agendaItems:e,meetingStatus:t}=d();return(e?.length??0)<=1&&"PENDING_FINALIZATION"!==t&&"FINALIZED"!==t}(),a=d(Xa);if(t)return null;if("IN_PROGRESS"===a){let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n.jsx(Ya,{}),e[0]=t):t=e[0],t}return null};function Xa(e){return e.meetingStatus}function ei(){const e=c.c(8),n=d(ii),a=d(ai),i=b(ni),{isCapturing:r,setCaptureToIdle:s}=_(),o=w(ti);let l,u;e[0]!==i||e[1]!==r||e[2]!==o||e[3]!==s||e[4]!==n||e[5]!==a?(l=()=>{if(!S().ready)return;r&&(n&&i&&n===i)&&a&&["PENDING_FINALIZATION","FINALIZED","DELETED"].includes(a)&&(async()=>{try{o(),await S().call("capture","stop",{}
2),s(),m.appInfo("[MeetingCaptureBridge] Force-stopped capture due to meeting end")}catch(e){const t=e;m.error("Force-stop capture failed",t),m.appError("[MeetingCaptureBridge] Force-stop capture failed",t)}})()},u=[n,a,i,r,s,o],e[0]=i,e[1]=r,e[2]=o,e[3]=s,e[4]=n,e[5]=a,e[6]=l,e[7]=u):(l=e[6],u=e[7]),t.useEffect(l,u)}function ti(e){return e.removeFromQueue}function ni(e){return e.meetingId}function ai(e){return e.meetingStatus}function ii(e){return e.meetingId}const ri=e=>{const[n,i]=t.useState(!1),[r,s]=t.useState(null),[o,c]=t.useState(!1),l=t.useRef(null),u=t.useRef(!1),m=t.useRef(null),p=t.useCallback(()=>{null!==m.current&&(clearTimeout(m.current),m.current=null)},[]);t.useEffect(()=>p,[p]);const g=t.useCallback(async(t,n="user")=>{if(!u.current&&e.meetingId){u.current=!0,i(!0),s(null),c(!1),p(),l.current=new AbortController;try{const r=Math.max(1,Math.min(10,Math.round(t/100*9)+1)),s=await fetch(`/api/meetings/${e.meetingId}/summarize`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({summary_granularity:r,initiator:n}),signal:l.current?.signal});if(!s.ok){if(402===s.status){const{createHttpErrorFromResponse:e,isPaywallError:t,dispatchPaywallError:n}=await a(async()=>{const{createHttpErrorFromResponse:e,isPaywallError:t,dispatchPaywallError:n}=await import("./index-DlKj98-E.js").then(e=>e.kh);return{createHttpErrorFromResponse:e,isPaywallError:t,dispatchPaywallError:n}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),r=await e(s);return t(r)&&await n(r),u.current=!1,i(!1),void c(!0)}throw 404===s.status&&d.getState().setHasTranscript(!1),new Error(`HTTP error! status: ${s.status}`)}d.getState().setHasTranscript(!0),m.current=setTimeout(()=>{m.current=null,u.current&&(i(!1),u.current=!1)},3e4)}catch(r){(function(e){if(e instanceof Error){if("AbortError"===e.name)return!0;if(e.message?.includes("abort"))return!0;if("code"in e&&20===e.code)return!0}return!1})(r)||(u.current=!1,i(!1),s(r instanceof Error?r.message:"An error occurred"))}finally{l.current=null}}else c(!0)},[e.meetingId,p]);return{startSummaryStream:g,cancelSummaryStream:t.useCallback(()=>{l.current&&l.current.abort(),p(),i(!1)},[p]),clearStreamingUI:t.useCallback(()=>{p(),i(!1),u.current=!1},[p]),isStreaming:n,error:r,requestRejected:o}};function si(e){return!(!(t=e.state.data)||t.stale||!0!==t.pending&&!0!==t.streaming)&&15e3;var t}function oi(e){return e.setRecapSummarizationState}function ci(e){return e.summarizationStartedAt}function li(e){return e.summarizationError}function di(e){return e.summarizationStreaming}function ui(e){return e.summarizationPending}function mi(e){return e.acknowledgedRecapSummarizationError}function pi(e){return e.recapSummarizationState}const gi=({item:a,setNewItem:i,isEditor:r,isEditorRole:s,onModified:o,placeholderInputRef:c,externalLink:u})=>{const{participants:p,updateActionItem:g}=d(),{handleFocus:f,handleBlur:h,handleSelect:y,highlightState:x,inputRef:v,setInputRef:b}=mn({location:"action-item-title",id:a.id,disabled:!r}),_=t.useCallback(e=>{var t,n;b(e),c&&(n=e,"function"==typeof(t=c)?t(n):null!=t&&(t.current=n))},[b,c]),{users:w}=E(),S=l(e=>e.user),{mutate:j}=nn(),I=(()=>{const{meetingId:t,updateActionItem:n,addActionItem:a,removeActionItem:i}=d(),r=e(),s=Xt(t||""),o=en(t||""),c=tn(t||"",!1),l=tn(t||"",!0),u=k(),{submitPrivateInvitation:p}=Jt();return{handleAssignment:async(e,t,a)=>{if(a)a({...t,assigned_to_user_id:e});else try{await o.mutateAsync({...t,assigned_to_user_id:e}),n(t.id,{assigned_to_user_id:e}),Ut.success("Action item assigned")}catch(i){const e=i instanceof Error?i.message:"Failed to assign action item";m.error("Failed to assign action item:",i),Ut.error(e)}},handleAddActionItem:async(e,n)=>{if(!t)return void Ut.error("Missing meeting id. Please refresh and try again.");if(!e.assigned_to_user_id)return void Ut.error("Please assign this action item to a user before adding.");const r=crypto.randomUUID(),o={...e,id:r};a(o),n?.({},{focusPlaceholder:!0});try{const t={agenda_item_id:e.agenda_item_id,assigned_to_user_id:e.assigned_to_user_id,title:e.title??"",description:e.description??"",due_date:e.due_date,is_ai_suggested:!1,suggestion_confidence:e.suggestion_confidence,thread_id:e.thread_id,update_tiptap:!1},n=await s.mutateAsync(t);i(r),a(n),Ut.success("Action item added")}catch(c){i(r),n?.({...e,id:void 0},{restoreIfEmpty:!0});const t=c instanceof Error?c.message:"Failed to add action item";m.error("Failed to add action item:",c),Ut.error(t)}},handleRemoveActionItem:async(e,t)=>{const n=d.getState().actionItems.find(t=>
2t.id===e);if(n)if(t.canWriteYjs)try{i(e),await c.mutateAsync(e),Ut.success("Action item removed")}catch(r){m.error("Failed to remove action item, rolling back:",r),a(n)}else try{await l.mutateAsync(e),Ut.success("Action item removed")}catch(s){m.error("Failed to remove action item:",s)}else m.warn("Action item not found for deletion:",e)},inviteUserToActivity:async(e,t,a)=>{if(u)try{const s=await p({email:e,isAdmin:!1});if(!s)return;if(r.invalidateQueries({queryKey:N.all}),a)a({...t,assigned_to_user_id:s.id});else try{await o.mutateAsync({...t,assigned_to_user_id:s.id}),n(t.id,{assigned_to_user_id:s.id}),Ut.success("User invited and action item assigned")}catch(i){const e=i instanceof Error?i.message:"Failed to assign action item";m.error("Failed to assign action item to invited user:",i),Ut.error(e)}}catch(s){const e=s instanceof Error?s.message:"Failed to invite user";m.error("Failed to invite user for action item assignment:",s),Ut.error(e)}else Ut.error("You don't have permission to invite users to this workspace.")}}})(),C=s??r,O=a.assigned_to_user_id===S?.id,z=!i&&a.id&&(C||O),G=C,$=O?["accept","cancel","approve"]:["cancel","approve"],W=(()=>{switch(a.status){case an.Accepted:return"accepted";case an.Cancelled:return"cancelled";case an.Completed:return"completed";default:return}})(),B=(()=>{switch(a.status){case an.Accepted:return{borderLeft:"3px solid var(--color-blue-contio-900)",backgroundColor:"#f0f7fc"};case an.Cancelled:return{borderLeft:"3px solid #E8960F",backgroundColor:"#fef9f0",opacity:.7};case an.Completed:return{borderLeft:"3px solid var(--color-green-contio-600)",backgroundColor:"#f0fdf4"};default:return{}}})(),U=a.status===an.Cancelled?{textDecoration:"line-through",opacity:.6}:void 0,[H,q]=t.useState(!1),[V,Z]=t.useState(a.title||a.description),[K,Q]=t.useState(!1),[Y,J]=t.useState(),[X,ee]=t.useState();t.useEffect(()=>{Z(a.title||a.description)},[a.title,a.description]),t.useEffect(()=>{ee(void 0)},[a.assigned_to_user_id]);const te=t.useCallback(async(e,t)=>{if(e!==a.assigned_to_user_id){if(t){const n="user_id"in t;ee({...t,user_id:n?t.user_id:e,id:n?e:t.id,is_pending:!1})}if(o&&a.id&&!i)return g(a.id,{assigned_to_user_id:e,status:an.NeedsReview}),o(a.id,{assigned_to_user_id:e,status:an.NeedsReview,sourceItem:a}),void j({itemId:a.id,updates:{assigned_to_user_id:e,status:an.NeedsReview,update_tiptap:!1},sourceItem:a});try{await I.handleAssignment(e,a,i)}catch(n){return ee(void 0),m.error("Assignment failed, rolling back optimistic update:",n),void Ut.error("Failed to assign action item. Please try again.")}if(!i&&a.id)try{g(a.id,{status:an.NeedsReview}),j({itemId:a.id,updates:{status:an.NeedsReview,update_tiptap:!1},sourceItem:a})}catch(r){m.error("Failed to reset status after reassignment:",r)}}},[a,o,i,g,j,I]),ne=t.useRef(a);t.useEffect(()=>{ne.current=a},[a]);const ae=(()=>{const e=p.find(e=>e.user_id===a.assigned_to_user_id);if(e)return{...e,is_pending:!1};if(X&&(X.user_id===a.assigned_to_user_id||X.id===a.assigned_to_user_id))return X;const t=w.find(e=>e.id===a.assigned_to_user_id);if(t){const{role:e,...n}=t;return{...n,user_id:t.id,is_pending:!1}}})(),ie=Boolean(V?.trim()),re=Boolean(ae),se=Yt(a.due_date),oe=se?fn(se):void 0,ce=async e=>{const t=e?F(e):void 0,n=t!==se;if(i)i({...a,due_date:t});else if(n){const e=t??"";try{g(a.id,{due_date:e}),o&&a.id&&o(a.id,{due_date:e,sourceItem:a})}catch(r){const e=r instanceof Error?r.message:"Failed to save due date";m.error("Failed to save due date:",r),Ut.error(e)}}Q(!1)};return n.jsxs("div",{className:(()=>{let e="group pl-3 pr-2 py-2 bg-white rounded-md outline outline-1 outline-offset-[-0.0625rem] inline-flex justify-start items-center gap-2";return e+=i?" opacity-50 hover:opacity-100 has-focus-visible:opacity-100 has-data-value:opacity-100":" hover:shadow-[0rem_0.0625rem_0.125rem_-0.0625rem_rgba(10,13,18,0.10)] hover:shadow-[0rem_0.0625rem_0.1875rem_0rem_rgba(10,13,18,0.10)]",e})(),style:B,children:[n.jsx(Qt,{item:a,assignee:ae,inviteUserToActivity:async e=>{if(o&&a.id&&!i){const t=e=>{const t=e.assigned_to_user_id;t&&(g(a.id,{assigned_to_user_id:t,status:an.NeedsReview}),o(a.id,{assigned_to_user_id:t,status:an.NeedsReview,sourceItem:a}),j({itemId:a.id,updates:{assigned_to_user_id:t,status:an.NeedsReview,update_tiptap:!1},sourceItem:a}))};return void(await I.inviteUserToActivity(e,a,t))}await I.inviteUserToActivity(e,a,i)},onAssignment:te,disabled:!r}),n.jsxs("div",{className:"relative flex-1",children:[n.jsx(A,{ref:_,variant:"outline","aria-label":"Action item title",placeholder:"What needs to get done?",value:V??"","data-value":V||void 0,disabled:!r,style:U,onFocus:f,onBlur:async e=>{h(e);const t=e.currentTarget.value,n=t!==(a.title||a.description||"");if(i)i({id:crypto.randomUUID(),...a,title:t});else if(n)try{g(a.id,{title:t}),o&&a.id&&o(a.id,{title:t,sourceItem:a})}catch(r){const e=r instanceof Error?r.message:"Failed to save action item";m.error("Failed to save action item:",r),Ut.error(e)}},onSelect:y,onChange:e=>Z(e.currentTarget.value)}
2),n.jsx(pn,{targetRef:v,highlightState:x})]}),u&&a.id&&n.jsx(gn,{actionItemId:a.id,link:u}),n.jsxs(T,{open:K,onOpenChange:Q,children:[n.jsx(R,{asChild:!0,children:n.jsx("div",{className:"flex min-w-[5.625rem] shrink-0 items-center justify-end",children:oe&&r?n.jsx(D,{variant:"outline",color:"muted",size:"sm",left:hn(oe,"MMM dd"),leftIcon:n.jsx(Nt,{icon:At,className:"text-sm"}),onLeftClick:()=>Q(!0),leftTestId:i?"new-action-item-due-date":"action-item-due-date",right:n.jsx(Nt,{icon:Et,className:"text-2xs"}),rightAriaLabel:"Clear due date",onRightClick:e=>{e.stopPropagation(),ce(void 0)},rightTestId:i?"new-action-item-clear-due-date":"action-item-clear-due-date","data-testid":i?"new-action-item-due-date-split":"action-item-due-date-split"}):n.jsx(M,{variant:"outline",color:"muted",size:"sm",icon:n.jsx(Nt,{icon:At,className:"text-sm"}),iconPosition:"left",className:"shrink-0",onClick:()=>r&&Q(!0),disabled:!r,"data-testid":i?"new-action-item-due-date":"action-item-due-date",children:oe?hn(oe,"MMM dd"):"Due date"})})}),n.jsx(P,{align:"start",className:"w-auto p-2",onOpenAutoFocus:e=>e.preventDefault(),children:n.jsx(L,{mode:"single",selected:oe,onSelect:e=>{ce(e)},month:Y??oe,onMonthChange:J,initialFocus:!0})})]}),z&&n.jsx(M,{variant:"outline",color:"secondary",size:"sm",className:"shrink-0 gap-0",icon:n.jsx(Nt,{icon:Tt}),"aria-label":"Delete action item",title:"Delete action item",onClick:()=>{(async()=>{a.id&&await I.handleRemoveActionItem(a.id,{canWriteYjs:G})})()},"data-testid":"delete-action-item"}),i?n.jsx("div",{className:"flex w-[6.75rem] shrink-0 justify-end",children:(ie||re)&&n.jsx(M,{variant:"solid",color:"primary",size:"sm",className:"shrink-0 gap-[0.25rem] rounded-[0.25rem] border border-transparent bg-blue-contio-900 px-[0.4375rem] py-[0.25rem] text-xs leading-[0.875rem] font-medium text-white",onClick:async()=>{if(V&&V.trim()){q(!0);try{const e={...ne.current,title:V.trim()};await I.handleAddActionItem(e,i)}finally{q(!1)}}else Ut.error("Please enter a title for the action item")},disabled:!ie||!re,loading:H,"aria-label":"Add action item","data-testid":"new-action-item-add",children:"Add"})}):z?n.jsx("div",{className:"flex shrink-0 items-center gap-1.5",children:n.jsx(rn,{buttons:$,activeStatus:W,onAction:e=>{if(!a.id)return void m.error("Cannot triage action item: missing item ID");const t=sn[e],n=a.status===t?an.NeedsReview:t;if(G){try{g(a.id,{status:n}),o&&o(a.id,{status:n,sourceItem:a})}catch(i){return m.error("Failed to update action item status in editor:",i),void Ut.error("Failed to update action item status")}j({itemId:a.id,updates:{status:n,update_tiptap:!1},sourceItem:a})}else j({itemId:a.id,updates:{status:n,update_tiptap:!0},sourceItem:a})}})}):null]})};gi.displayName="ActionItem";const fi=e=>{const a=c.c(18),{onActionItemModified:i}=e,s=d(hi),o=d(yi),l=d(xi),{data:u}=O(o??void 0);let p;a[0]===Symbol.for("react.memo_cache_sentinel")?(p={},a[0]=p):p=a[0];const[g,f]=t.useState(p),h=t.useRef(null);let y;a[1]===Symbol.for("react.memo_cache_sentinel")?(y=(e,t)=>{const{focusPlaceholder:n,restoreIfEmpty:a}=void 0===t?{}:t;a&&h.current?.value||(f(e),n&&requestAnimationFrame(()=>{h.current?.focus()}))},a[1]=y):y=a[1];const x=y,v=z(),b=v,_=s&&s.length>0,w="FINALIZED"===l&&!_;let S,j,I,C,k,N;return a[2]!==s?(S=()=>{s&&m.debug("ActionItems: Rendering action items:",{count:s.length,items:s.map(vi)})},j=[s],a[2]=s,a[3]=S,a[4]=j):(S=a[3],j=a[4]),r.useEffect(S,j),w?null:(a[5]===Symbol.for("react.memo_cache_sentinel")?(I=n.jsx("h3",{className:"text-xl font-bold text-gray-900",children:"Action Items"}),a[5]=I):I=a[5],a[6]!==b||a[7]!==s||a[8]!==u||a[9]!==v||a[10]!==i?(C=s?.map(e=>n.jsx(gi,{item:e,isEditor:b,isEditorRole:v,onModified:i,externalLink:e.id?u?.[e.id]:void 0},e.id)),a[6]=b,a[7]=s,a[8]=u,a[9]=v,a[10]=i,a[11]=C):C=a[11],a[12]!==b||a[13]!==g?(k=b&&n.jsx(gi,{item:g,setNewItem:x,isEditor:b,placeholderInputRef:h},"new-action-item"),a[12]=b,a[13]=g,a[14]=k):k=a[14],a[15]!==C||a[16]!==k?(N=n.jsxs("div",{className:"mt-4 flex flex-col gap-2.5",children:[I,C,k]}),a[15]=C,a[16]=k,a[17]=N):N=a[17],N)};function hi(e){return e.actionItems}function yi(e){return e.meetingId}function xi(e){return e.meetingStatus}
2function vi(e){return{id:e.id,title:e.title,description:e.description,is_ai_suggested:e.is_ai_suggested}}const bi=t.forwardRef(function(e,a){const i=c.c(27),{generatedText:r,generationState:s,errorCode:o,onRetry:l}=e,d=t.useRef(null),[u,m]=t.useState("");let p,g,f,h,y,x,v,b,_,w;return i[0]!==r||i[1]!==s?(p=()=>{"complete"===s&&r&&m(r),"idle"===s&&m("")},g=[s,r],i[0]=r,i[1]=s,i[2]=p,i[3]=g):(p=i[2],g=i[3]),t.useEffect(p,g),i[4]===Symbol.for("react.memo_cache_sentinel")?(f=()=>({getHTML:()=>d.current?.getHTML()??"",getText:()=>{const e=d.current?.getHTML()??"";if(!e)return"";return(new DOMParser).parseFromString(e,"text/html").body.textContent??""},getMarkdown:()=>d.current?.getMarkdown()??"",getEditor:()=>d.current?.getEditor()??null}),h=[],i[4]=f,i[5]=h):(f=i[4],h=i[5]),t.useImperativeHandle(a,f,h),i[6]!==s?(y="generating"===s&&n.jsxs("div",{className:"p-4","data-testid":"generation-skeleton",children:[n.jsxs("div",{className:"mb-3 flex items-center gap-2 text-sm text-gray-500",children:[n.jsx("div",{className:"size-4 animate-spin rounded-full border-2 border-gray-400 border-t-transparent"}),"Generating contentâ¦"]}),n.jsxs("div",{className:"space-y-2.5",children:[n.jsx("div",{className:"h-4 w-3/4 animate-pulse rounded bg-muted"}),n.jsx("div",{className:"h-4 w-full animate-pulse rounded bg-muted"}),n.jsx("div",{className:"h-4 w-5/6 animate-pulse rounded bg-muted"}),n.jsx("div",{className:"h-4 w-2/3 animate-pulse rounded bg-muted"})]})]}),i[6]=s,i[7]=y):y=i[7],i[8]!==o||i[9]!==s?(x="error"===s&&o===Vn&&n.jsxs("div",{className:"flex flex-col items-start gap-3 p-4 text-sm text-foreground","data-testid":"next-step-prompt-rejected",children:[n.jsx("p",{children:"Contio couldnât use the prompt from your Next Step. Try updating your prompt based on the following guidelines:"}),n.jsx("ul",{className:"flex list-disc flex-col gap-1.5 pl-5 text-muted-foreground",children:Zn.map(_i)})]}),i[8]=o,i[9]=s,i[10]=x):x=i[10],i[11]!==o||i[12]!==s?(v="error"===s&&o===Kn&&n.jsx("div",{className:"flex flex-col items-start gap-2 p-4 text-sm text-foreground","data-testid":"next-step-no-content",children:n.jsx("p",{children:"This meeting doesnât have enough content yet for Contio to generate this. Once it has notes or a transcript, try again."})}),i[11]=o,i[12]=s,i[13]=v):v=i[13],i[14]!==o||i[15]!==s||i[16]!==l?(b="error"===s&&o!==Vn&&o!==Kn&&n.jsxs("div",{className:"flex flex-col items-start gap-2 p-4 text-sm text-red-600",children:[n.jsx("span",{children:"Generation failed. Please try again."}),l&&n.jsx("button",{type:"button",onClick:l,className:"rounded-md bg-red-50 px-3 py-1.5 text-sm font-medium text-red-700 transition-colors hover:bg-red-100","data-testid":"retry-generation-button",children:"Retry"})]}),i[14]=o,i[15]=s,i[16]=l,i[17]=b):b=i[17],i[18]!==u||i[19]!==s?(_=("idle"===s||"complete"===s)&&n.jsx(Ht,{ref:d,content:u,disabled:!1,placeholder:"AI-generated content will appear hereâ¦",onChange:e=>m(e),minRows:8,className:"w-full border-none bg-transparent p-3 text-md text-foreground outline-none"}),i[18]=u,i[19]=s,i[20]=_):_=i[20],i[21]!==y||i[22]!==x||i[23]!==v||i[24]!==b||i[25]!==_?(w=n.jsxs("div",{className:"relative h-full overflow-y-auto rounded-md border border-gray-200","data-testid":"next-steps-modal-editor",children:[y,x,v,b,_]}),i[21]=y,i[22]=x,i[23]=v,i[24]=b,i[25]=_,i[26]=w):w=i[26],w});function _i(e){return n.jsxs("li",{children:[n.jsx("span",{className:"font-semibold text-foreground",children:e.title})," ","â ",e.detail]},e.title)}const wi="save-as-canvas";async function Si(){const e=await fetch(`/api/action-buttons/system?slug=${encodeURIComponent(wi)}`,{credentials:"include"});if(!e.ok)throw new Error(`canvas SYSTEM action button lookup failed: HTTP ${e.status}`);return await e.json()}function ji(e){return(e??"").split(",").map(e=>e.trim()).filter(Boolean).join(",")}const Ii=({editorRef:e,actionButtons:r,defaultActionButtonId:o,nextStepName:c,meetingId:l,nextStepId:d,resultId:u,addressing:p,salesforceAddressing:g,salesforceReady:f,canvasTitle:h,linearAddressing:y,linearReady:x,asanaAddressing:v,asanaReady:b,slackAddressing:_,slackReady:w,onDeliveryComplete:S,onRegenerate:j,isRegenerating:I})=>{const[C,k]=t.useState(null),{exportAsDocx:N,isExporting:E}=function(e){const[n,a]=t.useState(!1),[i,r]=t.useState(null);return{exportAsDocx:t.useCallback(async t=>{const n=e.current?.getEditor();if(!n)return r("Editor not ready"),!1;a(!0),r(null);try{const e=await yn(n);return B(e,t),!0}catch(i){const e=i instanceof Error?i.message:"Export failed";return m.error("DOCX export failed:",i),r(e),Ut.error("Word export failed. Please try again."),!1}finally{a(!1)}},[e]),isExporting:n,error:i}}(e),A=dt(),T=ut(),R=xn(),{data:D}=U({}),{isGoogleDocCreateEnabled:P,hasGoogleDocsAccess:L,isGoogleDocsAccessLoading:F}=vn(),O=t.useCallback(e=>{k(e),setTimeout(()=>k(null),2e3)},[]),z=t.useCallback(async(e,t)=>{const{MeetingsService:n}=await a(async()=>{const{MeetingsService:e}=await(import("./index-rRPmGqub.js"));return{MeetingsService:e}},__vite__mapDeps([19,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]));try{return await n.postMeetingsExportGoogleDoc(l,e,t)}catch(i){if(412===i?.status)throw new H;throw i}},[l]),{handleCopyAsPlainText:G,handleCopyAsRichText:$,handleCopyAsMarkdown:W,handleSaveAsWord:ee,handleSaveAsMarkdown:te,handleSaveAsGoogleDoc:ne,handleAddIntegration:ae}=bn({getEditor:()=>e.current?.getEditor()??null,title:c??"",emailSubject:c??"",emailEntityLabel:"next-step content",hasGoogleDocsAccess:L,isGoogleDocsAccessLoading:F,navigate:A,exportGoogleDoc:z,fallbackFilename:"NextStep"}),{saveAsCanvas:ie,isReady:re,isSaving:se}=function(e){const n=dt(),{data:a,isPending:r,refetch:o}=i({queryKey:["actionButton","system",wi],queryFn:Si,staleTime:1/0,gcTime:1/0,retry:3,retryDelay:e=>Math.min(1e3*2**e,5e3)}),c=s({mutationFn:async t=>{let i=a;if(i?.id||(i=(await o()).data),!i?.id)return m.error("Save as Canvas: SYSTEM action button lookup not ready"),Ut.error("Could not create canvas. Please try again."),!1;const r=(t??e.defaultTitle??"").trim();try{const t=await fetch(`/api/action-buttons/${i.id}/trigger`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({meeting_id:e.meetingId,next_step_id:e.nextStepId,result_id:e.resultId,trigger_mode:"manual",addressing_values:r?{title:r}:void 0})});if(!t.ok)throw new Error(`trigger failed with status ${t.status}`);const a=await t.json();if(!a.external_record_id)throw new Error("trigger succeeded but no external_record_id returned");return n(`/canvases/${a.external_record_id}`),!0}catch(s){return m.error("Save as Canvas via action button failed:",s),Ut.error("Could not create canvas. Please try again."),!1}}});return{saveAsCanvas:t.useCallback(e=>c.mutateAsync(e),[c]),isReady:!r&&!!a?.id,isSaving:c.isPending}}({nextStepId:d,resultId:u??"",meetingId:l,defaultTitle:""}),oe=t.useCallback(async(e,t)=>{!1!==await Promise.resolve(t())&&O(e)},[O]),ce=t.useCallback(()=>oe("Copied!",$),[oe,$]),le=t.useCallback(()=>oe("Copied!",G),[oe,G]),de=t.useCallback(()=>oe("Copied!",W),[oe,W]),ue=t.useCallback(()=>oe("Downloaded!",ee),[oe,ee]),me=t.useCallback(()=>oe("Downloaded!",te),[oe,te]),pe=t.useCallback(()=>oe("Saved!",ne),[oe,ne]),ge=t.useCallback(()=>oe("Created!",()=>ie(h)),[oe,ie,h]),fe=t.useCallback(async t=>{const n=e.current?.getHTML()??"",i=e.current?.getText()??"";let r=!1;try{"undefined"!=typeof ClipboardItem&&navigator.clipboard?.write?(await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([i],{type:"text/plain"}),"text/html":new Blob([n],{type:"text/html"})})]),r=!0):(await navigator.clipboard.writeText(i),r=!0)}catch{}const s=ji(p?.to),o=ji(p?.cc),c=ji(p?.bcc),l=encodeURIComponent(p?.subject??""),d=[`body=${encodeURIComponent("Paste your notes here (already copied to clipboard)")}`];l&&d.push(`subject=${l}`),o&&d.push(`cc=${encodeURIComponent(o)}`),c&&d.push(`bcc=${encodeURIComponent(c)}`);const u=`mailto:${s}?${d.join("&")}`;try{const{openUrl:e}=await a(async()=>{const{openUrl:e}=await import("./index-DlKj98-E.js").then(e=>e.kj);return{openUrl:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]));await e(u),Ut.success(r?"Notes copied â paste into your email":"Email opened"),t.id&&S?.(t.id)}catch(g){m.error("Failed to open mailto link",g),Ut.error("Failed to open email client")}},[e,p,S]),he=t.useCallback(async e=>{const t=`${(c??"").trim().replace(/[/\\:*?"<>|]+/g,"").slice(0,200).trim()||"NextStep"}.docx`;await N(t)&&e.id&&S?.(e.id)},[c,N,S]),ye=t.useCallback(async t=>{if(!t.id||!y)return;const n=u?e.current?.getMarkdown()??"":"";try{await R.mutateAsync({actionButtonId:t.id,integrationName:q,request:{meeting_id:l,next_step_id:d,...u?{result_id:u}:{},...n?{content:n,content_format:"markdown"}:{},trigger_mode:"manual",addressing_values:_n(y)}}),Ut.success("Linear issue created"),S?.(t.id)}catch(a){m.error("Linear delivery failed:",a),Ut.error("Could not create Linear issue. Please try again.")}},[e,l,d,u,y,R,S]),xe=t.useCallback(async t=>{if(!t.id||!v)return;const n=u?e.current?.getMarkdown()??"":"";try{await R.mutateAsync({actionButtonId:t.id,integrationName:V,request:{meeting_id:l,next_step_id:d,...u?{result_id:u}:{},...n?{content:n,content_format:"markdown"}:{},trigger_mode:"manual",addressing_values:wn(v)}}),Ut.success("Asana task created"),S?.(t.id)}catch(a){m.error("Asana delivery failed:",a),Ut.error("Could not create Asana task. Please try again.")}},[e,l,d,u,v,R,S]),ve=t.useCallback(async t=>{if(!t.id||!g)return;const n=u?e.current?.getMarkdown()??"":"";try{await R.mutateAsync({actionButtonId:t.id,integrationName:Z,request:{meeting_id:l,next_step_id:d,...u?{result_id:u}:{},...n?{content:n,content_format:"markdown"}:{},trigger_mode:"manual",addressing_values:Sn(g)}}),Ut.success("Sent to Salesforce"),S?.(t.id)}catch(a){m.error("Salesforce delivery failed:",a),Ut.error("Could not send to Salesforce. Please try again.")}},[e,l,d,u,g,R,S]),be=t.useCallback(async t=>{if(!t.id||!_?.recipientId)return;const n=u?e.current?.getMarkdown()??"":"";try{await R.mutateAsync({actionButtonId:t.id,integrationName:K,request:{meeting_id:l,next_step_id:d,...u?{result_id:u}:{},...n?{content:n,content_format:"markdown"}:{},trigger_mode:"manual",addressing_values:jn(_)}}),Ut.success("Sent to Slack"),S?.(t.id)}catch(a){m.error("Slack delivery failed:",a),Ut.error("Could not send to Slack. Please try again.")}},[e,l,d,u,_,R,S]),_e=t.useCallback(async t=>{if(!t.id)return;const n=t.integration_type;if("gmail"!==n&&"outlook"!==n)return m.warn("Email AB has unrecognized integration_type",n??"(missing)"),void Ut.error("This email action is not supported in this version of the app yet. Please update and try again.");const a=(t.name??"").trim().toLowerCase(),i=a.startsWith("send"),r=a.startsWith("draft");if(!i&&!r)return m.warn("Email AB has unrecognized name",t.name??"(missing)"),void Ut.error("This email action is not supported in this version of the app yet. Please update and try again.");const s=("gmail"===n?Q:Y).find(e=>"configured"===D?.[e]?.status)??("gmail"===n?J:X),o="gmail"===n?"Gmail":"Outlook",c=u?e.current?.getMarkdown()??"":"",g={to:ji(p?.to),cc:ji(p?.cc),bcc:ji(p?.bcc),subject:(p?.subject??"").trim()},f=i?`Email sent via ${o}`:`Draft saved to ${o}`,h=i?"Could not send email. Please try again.":"Could not save draft. Please try again.";try{await R.mutateAsync({actionButtonId:t.id,integrationName:s,request:{meeting_id:l,next_step_id:d,...u?{result_id:u}:{},...c?{content:c,content_format:"markdown"}:{},trigger_mode:"manual",addressing_values:g}}),Ut.success(f),S?.(t.id)}catch(y){m.error("Email delivery failed:",y),Ut.error(h)}},[e,l,d,u,p,R,S,D]),we=t.useCallback(e=>{const t=e.delivery_mechanism?.toLowerCase();if("os_email_client"===t)fe(e);else if("word"===t)he(e);else if("integration"===t)switch(e.integration_type){case"salesforce":ve(e);break;case"linear":ye(e);break;case"asana":xe(e);break;case"slack":be(e);break;case"gmail":case"outlook":_e(e);break;default:m.warn("No FE handler for integration_type",e.integration_type??"(missing)"),Ut.error("This integration is not supported in this version of the app yet. Please update and try again.")}},[fe,he,ve,ye,xe,be,_e]),Se=[...r.filter(e=>{const t=e.delivery_mechanism?.toLowerCase();return"email"===t||"os_email_client"===t}),...r.filter(e=>"word"===e.delivery_mechanism?.toLowerCase()),...r.filter(e=>"integration"===e.delivery_mechanism?.toLowerCase()),...r.filter(e=>"canvas"===e.delivery_mechanism?.toLowerCase()),...r.filter(e=>{const t=e.delivery_mechanism?.toLowerCase()??"";return!["email","os_email_client","copy","word","integration","canvas"].includes(t)})],je=o?Se.findIndex(e=>e.id===o):-1;if(je>=0){const[e]=Se.splice(je,1);Se.push(e)}const Ie=!!f,Ce=!!w;return n.jsxs("div",{className:"flex shrink-0 items-center justify-between px-5 py-2","data-testid":"next-steps-modal-actions",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(In,{trigger:n.jsxs(M,{color:"brand",variant:"outline",size:"sm",icon:C?n.jsx(Yn,{className:"size-3.5"}):n.jsx(Nt,{icon:Rt,className:"size-3.5"}),"data-testid":"copy-text-button",children:[C??"Share"," ",n.jsx(Qn,{className:"ml-0.5 inline size-3"})]}),side:"top",align:"start",sideOffset:4,pathname:T.pathname,onCopyAsRichText:ce,onCopyAsPlainText:le,onCopyAsMarkdown:de,onSaveAsWord:ue,onSaveAsMarkdown:me,onSaveAsGoogleDoc:P?pe:void 0,isGoogleDocConnected:L,onSaveAsCanvas:ge,onAddIntegration:ae,rowTestIds:{"copy-rich":"copy-rich-text","copy-plain":"copy-plain-text","copy-markdown":"copy-markdown","save-word":"save-as-word","save-google-doc":"save-as-google-doc","save-markdown":"save-as-markdown","save-canvas":"create-canvas"}}),j&&n.jsx(M,{color:"brand",variant:"outline",size:"sm",icon:n.jsx(Jn,{className:"size-3.5 "+(I?"animate-spin":"")}),onClick:j,disabled:I,"data-testid":"regenerate-button",children:I?"Regeneratingâ¦":"Regenerate"})]}),n.jsx("div",{className:"flex gap-2",children:Se.map(e=>{const t=e.delivery_mechanism?.toLowerCase();if("email"===t||"os_email_client"===t){const a="os_email_client"===t;return n.jsx(M,{color:"brand",variant:"outline",size:"sm",icon:n.jsx(Xn,{className:"size-3.5"}),disabled:!a,onClick:a?()=>we(e):void 0,"data-testid":`delivery-button-${e.id}`,children:e.name??"Send via {email client}..."},e.id)}if("word"===t)return n.jsx(M,{color:"brand",variant:"outline",size:"sm",icon:n.jsx(ea,{className:"size-3.5"}),disabled:E,onClick:()=>we(e),"data-testid":`delivery-button-${e.id}`,children:E?"Exportingâ¦":e.name??"Export Word"},e.id);if("canvas"===t){const t=!re||!u||se,a=se?"Creating canvasâ¦":u?re?void 0:"Loadingâ¦":"Generate content first";return n.jsx(M,{color:"brand",variant:"outline",size:"sm",icon:se?n.jsx(Jn,{className:"size-3.5 animate-spin"}):n.jsx(ta,{className:"size-3.5"}),disabled:t,title:a,onClick:()=>{ge()},"data-testid":`delivery-button-${e.id}`,children:se?"Creatingâ¦":e.name??"Save as Canvas"},e.id)}if("integration"===t){const t=R.isPending;let a,i=!0;switch(e.integration_type){case"salesforce":i=Ie,a="Pick an object type and record first";break;case"linear":i=!!x,a="Pick a Linear team and enter a title first";break;case"asana":i=!!b,a="Pick an Asana project and enter a title first";break;case"slack":i=Ce,a="Pick a Slack channel or person first";break;case"gmail":case"outlook":if((e.name??"").trim().toLowerCase().startsWith("draft"))i=!0;else{const e=!!(p?.to??"").trim(),t=!!(p?.cc??"").trim(),n=!!(p?.bcc??"").trim(),r
2=e||t||n,s=!!(p?.subject??"").trim();i=r&&s,a=r?"Add a subject first":"Add at least one recipient (To, Cc, or Bcc) first"}break;default:i=!1,a="This integration is not supported in this version of the app"}const r=t||!i,s=i?void 0:a,o="linear"===e.integration_type?"Add to Linear":"asana"===e.integration_type?"Add to Asana":"salesforce"===e.integration_type?"Add to Salesforce":"slack"===e.integration_type?"Send via Slack":"gmail"===e.integration_type?"Send with Gmail":"outlook"===e.integration_type?"Send with Outlook":e.integration_type??"Send to integration";return n.jsx(M,{color:"brand",variant:"outline",size:"sm",disabled:r,title:s,onClick:()=>we(e),"data-testid":`delivery-button-${e.id}`,children:t?"Sendingâ¦":e.name??o},e.id)}return n.jsx(M,{color:"muted",variant:"outline",size:"sm",disabled:!0,title:"Coming soon","data-testid":`delivery-button-${e.id}`,children:e.name??e.delivery_mechanism},e.id)})})]})};function Ci(e,t){const n=e.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean),a=t.filter(e=>!n.includes(e.toLowerCase()));return 0===a.length?e:e?`${e}, ${a.join(", ")}`:a.join(", ")}const ki="flex items-center gap-3 border-b border-gray-200 py-2",Ni="min-w-0 flex-1 bg-transparent text-sm text-gray-900 outline-none placeholder:text-gray-400",Ei=x("relative inline-flex cursor-pointer items-center text-sm font-medium whitespace-nowrap","text-gray-600 transition-colors hover:text-gray-900","after:absolute after:-bottom-0.5 after:left-1/2 after:h-px after:w-0 after:-translate-x-1/2 after:content-['']","after:bg-current after:transition-[width] after:duration-300 after:ease-out hover:after:w-full"),Ai=e=>{const t=c.c(10);let a,i,r,s,o;return t[0]!==e?(({className:i,children:a,...r}=e),t[0]=e,t[1]=a,t[2]=i,t[3]=r):(a=t[1],i=t[2],r=t[3]),t[4]!==i?(s=x(Ei,i),t[4]=i,t[5]=s):s=t[5],t[6]!==a||t[7]!==r||t[8]!==s?(o=n.jsx("button",{type:"button",className:s,...r,children:a}),t[6]=a,t[7]=r,t[8]=s,t[9]=o):o=t[9],o},Ti=e=>{const a=c.c(54),{fields:i,onChange:r}=e,s=d(Ri),o=l(Di),u=l(Mi);let m;a[0]!==i.cc?(m=()=>!!i.cc,a[0]=i.cc,a[1]=m):m=a[1];const[p,g]=t.useState(m);let f;a[2]!==i.bcc?(f=()=>!!i.bcc,a[2]=i.bcc,a[3]=f):f=a[3];const[h,y]=t.useState(f);let x;a[4]!==u?(x=e=>!!u&&e===u,a[4]=u,a[5]=x):x=a[5];const v=x;let b,_,w,S,j,I,C,k,N;if(a[6]!==i||a[7]!==v||a[8]!==o||a[9]!==r||a[10]!==s||a[11]!==h||a[12]!==p){let e;a[19]!==v||a[20]!==o?(e=e=>e.email&&!v(e.user_id)&&!!o&&e.workspace_id===o,a[19]=v,a[20]=o,a[21]=e):e=a[21];const t=s.filter(e).map(Pi);let c;if(a[22]!==v||a[23]!==o||a[24]!==s){let e;a[26]!==v||a[27]!==o?(e=e=>e.email&&!v(e.user_id)&&(!e.workspace_id||!!o&&e.workspace_id!==o),a[26]=v,a[27]=o,a[28]=e):e=a[28],c=s.filter(e).map(Li),a[22]=v,a[23]=o,a[24]=s,a[25]=c}else c=a[25];const l=c;let d;a[29]!==i||a[30]!==r?(d=(e,t)=>{0!==t.length&&r({...i,[e]:Ci(i[e],t)})},a[29]=i,a[30]=r,a[31]=d):d=a[31];const u=d;let m;a[32]!==i||a[33]!==r?(m=(e,t)=>{r({...i,[e]:t})},a[32]=i,a[33]=r,a[34]=m):m=a[34],b=m;const f=(e,a,r)=>n.jsxs("div",{className:ki,children:[n.jsx("label",{htmlFor:`addressing-${e}`,className:"w-5 shrink-0 text-sm text-gray-500",children:a}),n.jsx("input",{id:`addressing-${e}`,type:"text",value:i[e],onChange:t=>b(e,t.target.value),className:Ni,"data-testid":`addressing-${e}`}),n.jsxs("div",{className:"flex shrink-0 items-center gap-3",children:[n.jsx(Ai,{onClick:()=>u(e,t),"data-testid":`${e}-workspace-btn`,children:"+ Workspace"}),n.jsx(Ai,{onClick:()=>u(e,l),"data-testid":`${e}-external-btn`,children:"+ External"}),r]})]});let x,C,k;_="mx-5 mb-2 flex shrink-0 flex-col",w="next-steps-addressing",a[35]!==p?(x=!p&&n.jsx(Ai,{onClick:()=>g(!0),"data-testid":"toggle-cc",children:"Cc"}),a[35]=p,a[36]=x):x=a[36],a[37]!==h?(C=!h&&n.jsx(Ai,{onClick:()=>y(!0),"data-testid":"toggle-bcc",children:"Bcc"}),a[37]=h,a[38]=C):C=a[38],a[39]!==x||a[40]!==C?(k=n.jsxs(n.Fragment,{children:[x,C]}),a[39]=x,a[40]=C,a[41]=k):k=a[41],S=f("to","To",k),j=p&&f("cc","Cc"),I=h&&f("bcc","Bcc"),a[6]=i,a[7]=v,a[8]=o,a[9]=r,a[10]=s,a[11]=h,a[12]=p,a[13]=b,a[14]=_,a[15]=w,a[16]=S,a[17]=j,a[18]=I}else b=a[13],_=a[14],w=a[15],S=a[16],j=a[17],I=a[18];return a[42]!==b?(C=e=>b("subject",e.target.value),a[42]=b,a[43]=C):C=a[43],a[44]!==i.subject||a[45]!==C?(k=n.jsx("div",{className:ki,children:n.jsx("input",{id:"addressing-subject",type:"text",value:i.subject,onChange:C,placeholder:"Subject","aria-label":"Subject",className:Ni,"data-testid":"addressing-subject"})}),a[44]=i.subject,a[45]=C,a[46]=k):k=a[46],a[47]!==k||a[48]!==_||a[49]!==w||a[50]!==S||a[51]!==j||a[52]!==I?(N=n.jsxs("div",{className:_,"data-testid":w,children:[S,j,I,k]}),a[47]=k,a[48]=_,a[49]=w,a[50]=S,a[51]=j,a[52]=I,a[53]=N):N=a[53],N};function Ri(e){return e.participants}function Di(e){return e.user?.workspace?.id}function Mi(e){return e.user?.id}function Pi(e){return e.email}function Li(e){return e.email}
2const Fi=e=>{const t=c.c(6),{value:a,onChange:i}=e;let r,s,o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsx("label",{htmlFor:"canvas-title-input",className:"shrink-0 text-sm text-gray-500",children:"Canvas title"}),t[0]=r):r=t[0],t[1]!==i?(s=e=>i(e.target.value),t[1]=i,t[2]=s):s=t[2],t[3]!==s||t[4]!==a?(o=n.jsx("div",{className:"mx-5 mb-2 flex shrink-0 flex-col","data-testid":"next-steps-canvas-title",children:n.jsxs("div",{className:"flex items-center gap-3 border-b border-gray-200 py-2",children:[r,n.jsx("input",{id:"canvas-title-input",type:"text",value:a,onChange:s,className:"min-w-0 flex-1 bg-transparent text-sm text-gray-900 outline-none placeholder:text-gray-400",placeholder:"Untitled Canvas","data-testid":"canvas-title-input"})]})}),t[3]=s,t[4]=a,t[5]=o):o=t[5],o},Oi=e=>{const a=c.c(7),{showChat:i}=e,r=void 0!==i&&i,[s,o]=t.useState("");if(!r)return null;let l,d,u,m,p;return a[0]===Symbol.for("react.memo_cache_sentinel")?(l=e=>o(e.target.value),a[0]=l):l=a[0],a[1]!==s?(d=n.jsx("input",{type:"text",value:s,onChange:l,placeholder:"How can I edit this for you?",className:"flex-1 bg-transparent text-sm text-white placeholder-gray-400 outline-none","data-testid":"chat-input"}),a[1]=s,a[2]=d):d=a[2],a[3]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx("button",{type:"button",className:"p-1 text-gray-400 transition-colors hover:text-gray-200","aria-label":"Attach file",children:n.jsx(na,{className:"size-4"})}),a[3]=u):u=a[3],a[4]===Symbol.for("react.memo_cache_sentinel")?(m=n.jsx("button",{type:"button",className:"p-1 text-gray-400 transition-colors hover:text-gray-200","aria-label":"Voice input",children:n.jsx(aa,{className:"size-4"})}),a[4]=m):m=a[4],a[5]!==d?(p=n.jsx("div",{className:"absolute right-8 bottom-20 w-[18.75rem] overflow-hidden rounded-xl bg-gray-800 shadow-2xl","data-testid":"next-steps-chat-overlay",children:n.jsxs("div",{className:"flex items-center gap-2 px-4 py-3",children:[d,u,m]})}),a[5]=d,a[6]=p):p=a[6],p},zi=e=>{const a=c.c(130),{nextStepId:i,meetingId:r,isOpen:s,onClose:o,showChat:l,showAddressing:u,onDeliveryComplete:p}=e,g=void 0!==l&&l,f=void 0===u||u,h=t.useRef(null),y=t.useRef(!1),{data:v,isLoading:b}=ee(i),_=function(){const[e,n]=t.useState("idle"),[a,i]=t.useState(null),[r,s]=t.useState(null),[o,c]=t.useState(null),[l,d]=t.useState(null),[u,p]=t.useState(null),[g,f]=t.useState(null),h=G(),y=t.useRef(h.mutateAsync);t.useEffect(()=>{y.current=h.mutateAsync});const x=t.useRef(null),v=t.useRef(null),{data:b,isError:_,error:w}=$(g),S=t.useCallback(async e=>{x.current=e,n("generating"),d(null),p(null),f(null),v.current=null;try{const t=await y.current({meetingId:e.meetingId,nextStepId:e.nextStepId,request:{action_button_id:e.actionButtonId,...e.force?{force:!0}:{},async:!0}});if(s(t.execution_log_id??null),t.generated_text)return i(t.generated_text),c(t.result_id??null),void n("complete");if("PENDING"!==t.status?.toUpperCase())return i(t.generated_text??null),c(t.result_id??null),void n("complete");if(!t.execution_log_id)throw new Error("Generation accepted but no execution id was returned");v.current=Date.now()+3e5,f(t.execution_log_id)}catch(t){const e=t instanceof Error?t.message:"Generation failed";d(e),p(W(t)?t.code??null:null),n("error"),m.error("Next step generation failed:",t)}},[]);t.useEffect(()=>{if(!g||!b)return;const e=b.status?.toUpperCase();if("COMPLETED"===e)return i(b.generated_text??null),c(b.result_id??null),n("complete"),f(null),void(v.current=null);"FAILED"===e&&(d(b.error_message??"Generation failed"),p(b.error_code??null),n("error"),f(null),v.current=null,m.error("Next step generation failed:",b.error_message))},[g,b]),t.useEffect(()=>{if(!g||!_)return;const e=w instanceof Error?w.message:"Generation status unavailable";d(e),p(null),n("error"),f(null),v.current=null,m.error("Next step generation polling failed:",w)},[g,_,w]),t.useEffect(()=>{if(!g||null===v.current)return;const e=v.current-Date.now(),t=setTimeout(()=>{d("Generation timed out"),p(null),n("error"),f(null),v.current=null,m.error("Next step generation polling timed out",{executionLogId:g})},Math.max(e,0));return()=>clearTimeout(t)},[g]);const j=t.useCallback(()=>{x.current&&S(x.current)},[S]),I=t.useCallback(()=>{x.current&&S({...x.current,force:!0})},[S]),C=t.useCallback(()=>{n("idle"),i(null),s(null),c(null),d(null),p(null),f(null),v.current=null},[]);return{state:e,generatedText:a,executionLogId:r,resultId:o,error:l,errorCode:u,generate:S,retry:j,regenerate:I,reset:C}}(),w=t.useRef(_.generate);let S,j;a[0]!==_.generate?(S=()=>{w.current=_.generate},a[0]=_.generate,a[1]=S):S=a[1],t.useEffect(S),a[2]===Symbol.for("react.memo_cache_sentinel")?(j={to:"",cc:"",bcc:"",subject:""},a[2]=j):j=a[2];const[I,C]=t.useState(j),[k,N]=t.useState(Gi),[E,A]=t.useState($i),[T,R]=t.useState(Wi),[D,M]=t.useState(!1),[P,L]=t.useState(!1),[F,O]=t.useState(!1),[z,B]=t.useState(Bi),[U,H]=t.useState(!1),q=v?.next_step?.name??"Next Step";let V;a[3]!==v?.action_buttons?(V=v?.action_buttons??[],a[3]=v?.action_buttons,a[4]=V):V=a[4];const Z=V,K=v?.default_action_button;let Q;a[5]!==Z?(Q=Z.some(Ui),a[5]=Z,a[6]=Q):Q=a[6];const Y=Q,J=d(Hi),X=J?`${J} Canvas`:"Untitled Canvas",[te,ne]=t.useState(X),ae=t.useRef(!1);let ie,re,se;a[7]!==X?(ie=()=>{ae.current||ne(X)},re=[X],a[7]=X,a[8]=ie,a[9]=re):(ie=a[8],re=a[9]),t.useEffect(ie,re),a[10]===Symbol.for("react.memo_cache_sentinel")?(se=e=>{ae.current=!0,ne(e)},a[10]=se):se=a[10];const oe=se,ce=t.useRef(!1);let le,de;a[11]!==J?(le=()=>{ce.current||J&&(ce.current=!0,R(e=>""===e.title?{...e,title:Nn(J).title}:e))},de=[J],a[11]=J,a[12]=le,a[13]=de):(le=a[12],de=a[13]),t.useEffect(le,de);const ue=t.useRef(!1);let me,pe,ge,fe,he,ye,xe,ve;a[14]!==J?(me=()=>{ue.current||J&&(ue.current=!0,A(e=>""===e.title?{...e,title:kn(J).title}:e))},pe=[J],a[14]=J,a[15]=me,a[16]=pe):(me=a[15],pe=a[16]),t.useEffect(me,pe),a[17]!==Z?(ge=Z.some(qi),a[17]=Z,a[18]=ge):ge=a[18],a[19]!==Z?(fe=Z.some(Vi),a[19]=Z,a[20]=fe):fe=a[20],a[21]!==Z?(he=Z.some(Zi),a[21]=Z,a[22]=he):he=a[22],a[23]!==Z?(ye=Z.some(Ki),a[23]=Z,a[24]=ye):ye=a[24],a[25]!==Z?(xe=Z.some(Qi),a[25]=Z,a[26]=xe):xe=a[26],a[27]!==ge||a[28]!==fe||a[29]!==he||a[30]!==ye||a[31]!==xe?(ve={isEmailType:ge,hasSalesforceButton:fe,hasLinearButton:he,hasAsanaButton:ye,hasSlackButton:xe},a[27]=ge,a[28]=fe,a[29]=he,a[30]=ye,a[31]=xe,a[32]=ve):ve=a[32];const{isEmailType:be,hasSalesforceButton:_e,hasLinearButton:we,hasAsanaButton:Se,hasSlackButton:je}=ve;let Ie;a[33]!==K?.id||a[34]!==_.state||a[35]!==s||a[36]!==r||a[37]!==i?(Ie=()=>{s&&"idle"===_.state&&i&&r&&!y.current&&(y.current=!0,w.current({meetingId:r,nextStepId:i,actionButtonId:K?.id}))},a[33]=K?.id,a[34]=_.state,a[35]=s,a[36]=r,a[37]=i,a[38]=Ie):Ie=a[38];const Ce=K?.id;let ke,Ne;a[39]!==_.state||a[40]!==s||a[41]!==r||a[42]!==i||a[43]!==Ce?(ke=[s,_.state,i,r,Ce],a[39]=_.state,a[40]=s,a[41]=r,a[42]=i,a[43]=Ce,a[44]=ke):ke=a[44],t.useEffect(Ie,ke),a[45]!==_||a[46]!==o?(Ne=()=>{_.reset(),y.current=!1,ae.current=!1,C({to:"",cc:"",bcc:"",subject:""}),N(Cn()),A(kn("")),R(Nn("")),ue.current=!1,ce.current=!1,M(!1),L(!1),O(!1),B(En()),H(!1),o()},a[45]=_,a[46]=o,a[47]=Ne):Ne=a[47];const Ee=Ne;let Ae;a[48]!==Ee||a[49]!==p?(Ae=e=>{p?.(e),Ee()},a[48]=Ee,a[49]=p,a[50]=Ae):Ae=a[50];const Te=Ae;let Re,De,Me,Pe,Le,Fe;a[51]!==Ee?(Re=e=>!e&&Ee(),a[51]=Ee,a[52]=Re):Re=a[52],a[53]===Symbol.for("react.memo_cache_sentinel")?(De=n.jsx("style",{children:"[data-next-steps-modal] .tippy-box, body > [data-tippy-root] { z-index: 60 !important; } #connect-ui { pointer-events: auto !important; }"}),Me=n.jsx(Wn,{className:"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-gray-contio-950/85"}),a[53]=De,a[54]=Me):(De=a[53],Me=a[54]),a[55]===Symbol.for("react.memo_cache_sentinel")?(Pe=n.jsx(ia,{className:"size-6"}),a[55]=Pe):Pe=a[55],a[56]!==Ee?(Le=n.jsx("button",{type:"button",onClick:Ee,className:"absolute top-3 right-3 z-10 rounded-full p-2 text-white/70 transition-colors hover:text-white","data-testid":"next-steps-modal-close","aria-label":"Close",children:Pe}),a[56]=Ee,a[57]=Le):Le=a[57],a[58]===Symbol.for("react.memo_cache_sentinel")?(Fe=x("relative flex max-h-[90vh] w-full max-w-[56.25rem] flex-col rounded-lg bg-white shadow-2xl","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"),a[58]=Fe):Fe=a[58];const Oe=b?"Loadingâ¦":q;let ze,Ge,$e,We,Be,Ue,He,qe;a[59]!==Oe?(ze=n.jsx("div",{className:"shrink-0 px-5 pt-4 pb-1",children:n.jsx(Bn,{className:"text-[1.0625rem] font-bold text-gray-900","data-testid":"next-steps-modal-title",children:Oe})}),a[59]=Oe,a[60]=ze):ze=a[60],a[61]!==I||a[62]!==be||a[63]!==f?(Ge=f&&be&&n.jsx(Ti,{fields:I,onChange:C}),a[61]=I,a[62]=be,a[63]=f,a[64]=Ge):Ge=a[64],a[65]!==_e||a[66]!==k||a[67]!==f?($e=f&&_e&&n.jsx(An,{values:k,onChange:N,onValidityChange:M}),a[65]=_e,a[66]=k,a[67]=f,a[68]=$e):$e=a[68],a[69]!==we||a[70]!==E||a[71]!==f?(We=f&&we&&n.jsx(Tn,{values:E,onChange:A,onValidityChange:L}),a[69]=we,a[70]=E,a[71]=f,a[72]=We):We=a[72],a[73]!==T||a[74]!==Se||a[75]!==f?(Be=f&&Se&&n.jsx(Rn,{values:T,onChange:R,onValidityChange:O}),a[73]=T,a[74]=Se,a[75]=f,a[76]=Be):Be=a[76],a[77]!==je||a[78]!==f||a[79]!==z?(Ue=f&&je&&n.jsx(Dn,{values:z,onChange:B,onValidityChange:H}),a[77]=je,a[78]=f,a[79]=z,a[80]=Ue):Ue=a[80],a[81]!==te||a[82]!==Y||a[83]!==f?(He=f&&Y&&n.jsx(Fi,{value:te,onChange:oe}),a[81]=te,a[82]=Y,a[83]=f,a[84]=He):He=a[84],a[85]!==_.errorCode||a[86]!==_.generatedText||a[87]!==_.retry||a[88]!==_.state?(qe=n.jsx("div",{className:"h-[25rem] overflow-hidden px-5 pt-1 pb-0",children:n.jsx(bi,{ref:h,generatedText:_.generatedText,generationState:_.state,errorCode:_.errorCode,onRetry:_.retry})}),a[85]=_.errorCode,a[86]=_.generatedText,a[87]=_.retry,a[88]=_.state,a[89]=qe):qe=a[89];const Ve=K?.id,Ze=be?I:void 0,Ke=_e?k:void 0,Qe=we?E:void 0,Ye=Se?T:void 0,Je=Y?te:void 0,Xe=je?z:void 0,et="generating"===_.state;let tt,nt,at,it,rt;return a[90]!==Z||a[91]!==F||a[92]!==_.regenerate||a[93]!==_.resultId||a[94]!==Te||a[95]!==P||a[96]!==r||a[97]!==i||a[98]!==q||a[99]!==D||a[100]!==U||a[101]!==Ve||a[102]!==Ze||a[103]!==Ke||a[104]!==Qe||a[105]!==Ye||a[106]!==Je||a[107]!==Xe||a[108]!==et?(tt=n.jsx(Ii,{editorRef:h,actionButtons:Z,defaultActionButtonId:Ve,nextStepName:q,meetingId:r,nextStepId:i,resultId:_.resultId,addressing:Ze,salesforceAddressing:Ke,salesforceReady:D,linearAddressing:Qe,linearReady:P,asanaAddressing:Ye,asanaReady:F,canvasTitle:Je,slackAddressing:Xe,slackReady:U,onDeliveryComplete:Te,onRegenerate:_.regenerate,isRegenerating:et}),a[90]=Z,a[91]=F,a[92]=_.regenerate,a[93]=_.resultId,a[94]=Te,a[95]=P,a[96]=r,a[97]=i,a[98]=q,a[99]=D,a[100]=U,a[101]=Ve,a[102]=Ze,a[103]=Ke,a[104]=Qe,a[105]=Ye,a[106]=Je,a[107]=Xe,a[108]=et,a[109]=tt):tt=a[109],a[110]!==ze||a[111]!==Ge||a[112]!==$e||a[113]!==We||a[114]!==Be||a[115]!==Ue||a[116]!==He||a[117]!==qe||a[118]!==tt?(nt=n.jsxs(Un,{className:Fe,"data-testid":"next-steps-modal-content",children:[ze,Ge,$e,We,Be,Ue,He,qe,tt]}),a[110]=ze,a[111]=Ge,a[112]=$e,a[113]=We,a[114]=Be,a[115]=Ue,a[116]=He,a[117]=qe,a[118]=tt,a[119]=nt):nt=a[119],a[120]!==g?(at=n.jsx(Oi,{showChat:g}),a[120]=g,a[121]=at):at=a[121],a[122]!==Le||a[123]!==nt||a[124]!==at?(it=n.jsxs(Hn,{children:[De,Me,n.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4","data-testid":"next-steps-modal","data-next-steps-modal":!0,children:[Le,nt,at]})]}),a[122]=Le,a[123]=nt,a[124]=at,a[125]=it):it=a[125],a[126]!==s||a[127]!==Re||a[128]!==it?(rt=n.jsx(qn,{open:s,onOpenChange:Re,children:it}),a[126]=s,a[127]=Re,a[128]=it,a[129]=rt):rt=a[129],rt};function Gi(){return Cn()}function $i(){return kn("")}function Wi(){return Nn("")}function Bi(){return En()}function Ui(e){return"canvas"===e.delivery_mechanism?.toLowerCase()}function Hi(e){return e.title}function qi(e){const t=e.delivery_mechanism?.toLowerCase(),n=e.integration_type;return"email"===t||"os_email_client"===t||"gmail"===n||"outlook"===n}function Vi(e){return"salesforce"===e.integration_type}function Zi(e){return"linear"===e.integration_type}function Ki(e){return"asana"===e.integration_type}function Qi(e){return"slack"===e.integration_type}const Yi=e=>{const a=c.c(74),{meetingId:i,size:r,disabled:s}=e,o=dt(),{featureFlagKeys:l,flagsLoading:u}=te();let m;a[0]!==l?(m=void 0===l?[]:l,a[0]=l,a[1]=m):m=a[1];const p=m;let g;a[2]!==p||a[3]!==u?(g=!u&&p.includes("forms_enabled"),a[2]=p,a[3]=u,a[4]=g):g=a[4];const f=g,{visible:h}=ne();let y;a[5]!==p||a[6]!==u?(y=!u&&p.includes("ai_chat_sidebar"),a[5]=p,a[6]=u,a[7]=y):y=a[7];const x=y,{data:v}=ae(),{data:b}=ie(i),{data:_,isLoading:w,isError:S}=re(i),{isOpen:j,nextStepId:I,meetingId:C,openNextStepsModal:k,closeNextStepsModal:N}=function(){const e=c.c(6),[n,a]=t.useState(!1),[i,r]=t.useState(null),[s,o]=t.useState(null);let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=e=>{const{nextStepId:t,meetingId:n}=e;r(t),o(n),a(!0)},e[0]=l):l=e[0];const d=l;let u;e[1]===Symbol.for("react.memo_cache_sentinel")?(u=()=>{a(!1),r(null),o(null)},e[1]=u):u=e[1];const m=u;let p;return e[2]!==n||e[3]!==s||e[4]!==i?(p={isOpen:n,nextStepId:i,meetingId:s,openNextStepsModal:d,closeNextStepsModal:m},e[2]=n,e[3]=s,e[4]=i,e[5]=p):p=e[5],p}(),{runInCanvas:E}=$n(),A=d(Ji),T=d(Xi),R=d(er);let D;a[8]!==v||a[9]!==b?(D=Mn(v,b),a[8]=v,a[9]=b,a[10]=D):D=a[10];const M=D,[P,L]=t.useState(!1),F=T===i&&R,O=t.useContext(se)?.role,z=d(tr),G=d(nr),$=d(ar),W=!F||"EDITOR"!==O&&"VIEWER"!==O?void 0:O,B=F?z:void 0,U=F?G:void 0,H=F?$:void 0;let q;a[11]!==W||a[12]!==B||a[13]!==U||a[14]!==H?(q={effectiveRole:W,meetingWorksp
2aceRole:B,recapWorkspaceRole:U,endedAt:H},a[11]=W,a[12]=B,a[13]=U,a[14]=H,a[15]=q):q=a[15];const V=q,Z=!w&&!!_?.project_id,K=!w&&!S,Q=h&&K&&!Z;let Y;a[16]!==Q?(Y={enabled:Q},a[16]=Q,a[17]=Y):Y=a[17];const{data:J}=oe(Y);let X;a[18]!==J?(X=Pn(J),a[18]=J,a[19]=X):X=a[19];const ee=X,le=Q&&ee.length>0,de=ce(),ue=t.useRef(null);let me,pe,ge;a[20]===Symbol.for("react.memo_cache_sentinel")?(me=()=>()=>{null!==ue.current&&Ut.dismiss(ue.current)},pe=[],a[20]=me,a[21]=pe):(me=a[20],pe=a[21]),t.useEffect(me,pe),a[22]!==i||a[23]!==A||a[24]!==o||a[25]!==de||a[26]!==T?(ge=e=>{de.isPending||null!==ue.current||(ue.current=Ut.loading("Starting workflowâ¦"),de.mutate({meetingId:i,specId:e.id,specName:e.name,meetingTitle:T===i?A:void 0},{onSuccess:t=>{"launched"===t.outcome?Ut.success(`Started workflow: ${e.name}`):Ut.error("Project created, but the workflow could not start. You can start it from the project page."),o(`/projects/${t.projectId}`)},onSettled:()=>{null!==ue.current&&(Ut.dismiss(ue.current),ue.current=null)}}))},a[22]=i,a[23]=A,a[24]=o,a[25]=de,a[26]=T,a[27]=ge):ge=a[27];const fe=ge;let he;a[28]!==x||a[29]!==M||a[30]!==fe||a[31]!==i||a[32]!==A||a[33]!==k||a[34]!==E?(he=e=>{"workflow"!==e.kind?x&&M.has(e.id)?E({nextStepId:e.id,nextStepName:e.name,sourceTitle:A,sourceMeetingId:i}):k({nextStepId:e.id,meetingId:i}):fe(e)},a[28]=x,a[29]=M,a[30]=fe,a[31]=i,a[32]=A,a[33]=k,a[34]=E,a[35]=he):he=a[35];const ye=he;let xe;if(a[36]!==v||a[37]!==le||a[38]!==ee){let e;a[40]!==le||a[41]!==ee?(e=le?ee:[],a[40]=le,a[41]=ee,a[42]=e):e=a[42],xe=[...Ln(v),...e],a[36]=v,a[37]=le,a[38]=ee,a[39]=xe}else xe=a[39];const ve=xe;let be,_e,we,Se,je,Ie;return a[43]!==b?(be=Ln(b),a[43]=b,a[44]=be):be=a[44],a[45]!==Z||a[46]!==_||a[47]!==o||a[48]!==K?(_e=()=>{Z&&_?.project_id?o(`/projects/${_.project_id}`):K?L(!0):Ut.info("Checking whether this meeting already has a projectâ¦")},a[45]=Z,a[46]=_,a[47]=o,a[48]=K,a[49]=_e):_e=a[49],a[50]!==ve||a[51]!==s||a[52]!==ye||a[53]!==Z||a[54]!==f||a[55]!==h||a[56]!==le||a[57]!==r||a[58]!==be||a[59]!==_e?(we=n.jsx(Fn,{isInProject:Z,showWorkflows:le,showForms:f,showProjects:h,templateNextSteps:be,availableNextSteps:ve,onSelectTemplateNextStep:ye,onSelectNextStep:ye,onProjectAction:_e,size:r,disabled:s}),a[50]=ve,a[51]=s,a[52]=ye,a[53]=Z,a[54]=f,a[55]=h,a[56]=le,a[57]=r,a[58]=be,a[59]=_e,a[60]=we):we=a[60],a[61]!==N||a[62]!==j||a[63]!==C||a[64]!==I?(Se=j&&I&&C&&n.jsx(zi,{isOpen:j,nextStepId:I,meetingId:C,onClose:N}),a[61]=N,a[62]=j,a[63]=C,a[64]=I,a[65]=Se):Se=a[65],a[66]!==i||a[67]!==V||a[68]!==P?(je=n.jsx(ra,{open:P,onOpenChange:L,meetingId:i,originAccess:V}),a[66]=i,a[67]=V,a[68]=P,a[69]=je):je=a[69],a[70]!==we||a[71]!==Se||a[72]!==je?(Ie=n.jsxs(On,{children:[we,Se,je]}),a[70]=we,a[71]=Se,a[72]=je,a[73]=Ie):Ie=a[73],Ie};function Ji(e){return e.title}function Xi(e){return e.meetingId}function er(e){return e.initializedMeeting}
2function tr(e){return e.meetingWorkspaceRole}function nr(e){return e.recapWorkspaceRole}function ar(e){return e.endedAt}const ir=e=>{const t=c.c(18),{className:a}=e,i=void 0===a?"":a,r=d(rr),s=d(sr),o=d(or),l=z();let u;e:{if(r?.initiator_id){let e;if(t[0]!==r||t[1]!==s){let n;t[3]!==r?(n=e=>e.user_id===r.initiator_id,t[3]=r,t[4]=n):n=t[4],e=s.find(n),t[0]=r,t[1]=s,t[2]=e}else e=t[2];const n=e;u=n?.name||"the meeting organizer";break e}let e;t[5]!==s?(e=s.find(cr),t[5]=s,t[6]=e):e=t[6];const n=e;if(n?.name){u=n.name;break e}let a;t[7]!==s?(a=s.find(lr),t[7]=s,t[8]=a):a=t[8];const i=a;if(i?.name){u=i.name;break e}let o;t[9]!==s?(o=s.find(dr),t[9]=s,t[10]=o):o=t[10];const c=o;c?.name?u=c.name:u="the meeting organizer"}const m=u;if(l)return null;if(!r&&"PENDING_FINALIZATION"!==o)return null;const p=`w-full ${i}`;let g,f,h,y;return t[11]===Symbol.for("react.memo_cache_sentinel")?(g=n.jsx("div",{className:"flex size-6 items-center justify-center",children:n.jsx(Nt,{icon:Dt,className:"text-3xl leading-[0] text-blue-contio-900"})}),t[11]=g):g=t[11],t[12]===Symbol.for("react.memo_cache_sentinel")?(f=n.jsx("p",{className:"font-['Lato'] text-xl leading-5 font-semibold",children:"Notes and action items are on the way"}),t[12]=f):f=t[12],t[13]!==m?(h=n.jsx("div",{className:"flex min-h-[15.625rem] w-full items-center justify-center rounded-lg border-[0.046875rem] border-solid border-gray-contio-300 bg-gray-contio-100 p-3",children:n.jsx("div",{className:"flex min-h-[9.375rem] min-w-[23.4375rem] items-center rounded-2xl bg-white p-4 py-5 shadow-modal-surface",children:n.jsxs("div",{className:"flex w-full flex-col items-center gap-4",children:[g,n.jsxs("div",{className:"flex w-full flex-col gap-3 pb-1 text-center text-gray-contio-900",children:[f,n.jsxs("p",{className:"font-['Lato'] text-md leading-4 font-normal",children:["Awaiting action from ",m,"."]})]})]})})}),t[13]=m,t[14]=h):h=t[14],t[15]!==p||t[16]!==h?(y=n.jsx("div",{className:p,children:h}),t[15]=p,t[16]=h,t[17]=y):y=t[17],y};function rr(e){return e.hold}function sr(e){return e.participants}function or(e){return e.meetingStatus}function cr(e){return!0===e.is_calendar_event_organizer}function lr(e){return!0===e.is_owner}function dr(e){return"EDITOR"===e.role}const ur=e=>{const a=c.c(18),{fieldId:i,title:r,placeholder:s,committedValue:o,commit:l}=e,[d,u]=t.useState(null),m=d??Boolean(o),p=`${i}-trigger`;let g;a[0]!==r?(g=n.jsx("span",{children:r}),a[0]=r,a[1]=g):g=a[1];const f=m?Mt:Ot;let h,y,x,v;return a[2]!==f?(h=n.jsx(Nt,{icon:f,className:"text-xs text-gray-contio-400"}),a[2]=f,a[3]=h):h=a[3],a[4]!==p||a[5]!==g||a[6]!==h?(y=n.jsxs(de,{"data-testid":p,className:"flex w-full items-center justify-between rounded-sm py-1 text-left text-sm font-semibold text-gray-contio-700 hover:text-gray-contio-900",children:[g,h]}),a[4]=p,a[5]=g,a[6]=h,a[7]=y):y=a[7],a[8]!==l||a[9]!==o||a[10]!==i||a[11]!==s||a[12]!==r?(x=n.jsx(ue,{className:"animate-collapsible -mx-0.5 -mb-0.5 px-0.5 pt-1 pb-0.5",children:n.jsx(oa,{fieldId:i,label:r,hideLabel:!0,placeholder:s,committedValue:o,commit:l,canEdit:!0})}),a[8]=l,a[9]=o,a[10]=i,a[11]=s,a[12]=r,a[13]=x):x=a[13],a[14]!==m||a[15]!==y||a[16]!==x?(v=n.jsxs(me,{open:m,onOpenChange:u,children:[y,x]}),a[14]=m,a[15]=y,a[16]=x,a[17]=v):v=a[17],v},mr=e=>{const a=c.c(43),{granularity:i,onGranularityChange:r,hasUnsavedGranularity:s,hasPendingChanges:o,isGenerating:l,disabled:d,hasTranscript:u,onRegenerate:m,revertMode:p,onRevert:g,showCustomPrompts:f,notesPrompt:h,onCommitNotesPrompt:y,actionItemsPrompt:x,onCommitActionItemsPrompt:v}=e,b=void 0===u||u,_=void 0===p?null:p,w=t.useId(),S=o?"solid":"outline";let j,I,C,k,N,E;a[0]===Symbol.for("react.memo_cache_sentinel")?(j=n.jsx(Nt,{icon:Mt}),a[0]=j):j=a[0],a[1]!==d||a[2]!==S?(I=n.jsx(le,{asChild:!0,children:n.jsx(M,{"data-testid":"recap-settings-button",color:"brand",variant:S,icon:j,iconPosition:"right",disabled:d,children:"Recap"})}),a[1]=d,a[2]=S,a[3]=I):I=a[3],a[4]!==d||a[5]!==i||a[6]!==b||a[7]!==s||a[8]!==r?(C=b&&n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx("span",{className:"py-1 text-sm font-semibold text-gray-contio-700",children:"Level of detail"}),n.jsx(sa,{value:[i],onValueChange:e=>r(e[0]),className:"pb-3",thumbVariant:s?"solid":"outline",labelSize:"compact",disabled:d})]}),a[4]=d,a[5]=i,a[6]=b,a[7]=s,a[8]=r,a[9]=C):C=a[9],a[10]!==x||a[11]!==h||a[12]!==v||a[13]!==y||a[14]!==f?(k=f&&n.jsxs(n.Fragment,{children:[n.jsx(ur,{fieldId:"recap-notes-prompt",title:"Meeting Notes Prompt",placeholder:yt,committedValue:h,commit:y}),n.jsx(ur,{fieldId:"recap-action-items-prompt",title:"Action Items Prompt",placeholder:xt,committedValue:x,commit:v})]}),a[10]=x,a[11]=h,a[12]=v,a[13]=y,a[14]=f,a[15]=k):k=a[15],a[16]!==b||a[17]!==w?(N=!b&&n.jsx("p",{id:w,"data-testid":"recap-no-transcript-note",className:"text-xs text-gray-contio-500",children:"No transcript was captured for this meeting, so there is nothing to regenerate notes from."}),a[16]=b,a[17]=w,a[18]=N):N=a[18],a[19]!==d||a[20]!==g||a[21]!==_?
2(E=_&&n.jsx(M,{"data-testid":"revert-regeneration-button",className:"min-w-0 flex-1",color:"brand",variant:"outline",title:"undo"===_?"Restore the notes from before this regeneration":"Restore the regenerated notes",icon:n.jsx(Nt,{icon:"undo"===_?Pt:Lt}),onClick:g,disabled:d,children:"undo"===_?"Restore previous":"Restore latest"}),a[19]=d,a[20]=g,a[21]=_,a[22]=E):E=a[22];const A=o?"solid":"outline",R=l?"animate-spin":"";let D;a[23]!==R?(D=n.jsx(Nt,{icon:Ft,className:R}),a[23]=R,a[24]=D):D=a[24];const L=d||!b,F=b?void 0:w,O=l?"Generating notes":"Regenerate notes";let z,G,$,W;return a[25]!==m||a[26]!==A||a[27]!==D||a[28]!==L||a[29]!==F||a[30]!==O?(z=n.jsx(M,{"data-testid":"regenerate-recap-button",className:"min-w-0 flex-1",color:"brand",variant:A,icon:D,onClick:m,disabled:L,"aria-describedby":F,children:O}),a[25]=m,a[26]=A,a[27]=D,a[28]=L,a[29]=F,a[30]=O,a[31]=z):z=a[31],a[32]!==z||a[33]!==E?(G=n.jsxs("div",{className:"flex flex-row items-center gap-2",children:[E,z]}),a[32]=z,a[33]=E,a[34]=G):G=a[34],a[35]!==G||a[36]!==C||a[37]!==k||a[38]!==N?($=n.jsx(P,{align:"end",sideOffset:6,className:"animate-popover-reveal w-96 p-4","data-testid":"recap-settings-popover",children:n.jsxs("div",{className:"flex flex-col gap-4",children:[C,k,N,G]})}),a[35]=G,a[36]=C,a[37]=k,a[38]=N,a[39]=$):$=a[39],a[40]!==$||a[41]!==I?(W=n.jsxs(T,{children:[I,$]}),a[40]=$,a[41]=I,a[42]=W):W=a[42],W},pr=["Shorten these notes to the key points","Remove all references toâ¦","Make the action items more specific","Fix the spelling ofâ¦","Add a section coveringâ¦","Rewrite this in a more formal tone"],gr=t.memo(function(e){const a=c.c(12),{visible:i,onOpenChat:r,onDismiss:s}=e,[o,l]=t.useState(0),d=pe();let u,m,p,g;return a[0]!==d||a[1]!==i?(u=()=>{if(!i||d)return;const e=setInterval(()=>{l(fr)},4e3);return()=>clearInterval(e)},m=[i,d],a[0]=d,a[1]=i,a[2]=u,a[3]=m):(u=a[2],m=a[3]),t.useEffect(u,m),a[4]!==s||a[5]!==r||a[6]!==d||a[7]!==o||a[8]!==i?(p=i&&n.jsx(ge.div,{"data-testid":"edit-notes-ai-callout",initial:{opacity:0,y:-8,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.95},transition:d?{duration:0}:{duration:.2,ease:"easeOut"},className:"absolute top-4 right-4 z-10",children:n.jsxs("div",{className:"relative rounded-md border border-brand-contio-600/50 bg-brand-contio-25 shadow-sm transition-all transition-discrete hover:-translate-y-[0.125rem] hover:border-brand-contio-600 hover:shadow-lg motion-reduce:transition-none motion-reduce:hover:translate-y-0",children:[n.jsxs("button",{type:"button","aria-label":"Edit these notes with AI",onClick:r,className:"flex cursor-pointer items-center gap-2 rounded-md p-1.5 pr-4 pl-2.5 text-left transition-all hover:bg-brand-contio-50/40 motion-reduce:transition-none",children:[n.jsx(Nt,{icon:zt,className:"text-xl text-brand-contio-700"}),n.jsxs("span",{className:"flex w-48 flex-col gap-0",children:[n.jsx("span",{className:"text-md font-bold text-gray-900",children:"Edit these notes with AI"}),n.jsx(fe,{mode:"wait",initial:!1,children:n.jsxs(ge.span,{"aria-hidden":"true",initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:d?{duration:0}:{duration:.25,ease:"easeOut"},className:"truncate text-sm text-gray-500 italic",children:["â",pr[o],"â"]},o)})]})]}),n.jsx("button",{type:"button","aria-label":"Dismiss the edit-notes-with-AI suggestion",onClick:s,className:"absolute -top-1 -right-1.5 flex cursor-pointer items-center justify-center rounded-full bg-white text-gray-contio-700 hover:text-brand-contio-700",children:n.jsx(Nt,{icon:Gt,className:"text-lg"})})]})}),a[4]=s,a[5]=r,a[6]=d,a[7]=o,a[8]=i,a[9]=p):p=a[9],a[10]!==p?(g=n.jsx(fe,{children:p}),a[10]=p,a[11]=g):g=a[11],g});function fr(e){return(e+1)%pr.length}const hr=18e5,yr="editNotesWithAi.",xr=e=>`${yr}dismissed.${e}`;async function vr(e){const{meetingId:t}=e,n=await C.postMeetingsHold(t),a=(i=n).id&&i.initiator_id&&i.created_at&&i.updated_at?{id:i.id,initiator_id:i.initiator_id,publisher_id:i.publisher_id,created_at:i.created_at,updated_at:i.updated_at}:null;var i;if(!a)throw new Error("Invalid hold response from server");return a}
2async function br(e){const{meetingId:t}=e;await C.deleteMeetingsHold(t)}function _r(e){return e.meetingId}function wr(e){return e.setMeetingStatus}function Sr(e,t){return!(e>=3)&&be(t)}function jr(e){return e.meetingId}function Ir(e,t){return!(e>=3)&&be(t)}function Cr({enabled:e}){const n=d(e=>e.meetingId),{syncRecap:a}=(()=>{const e=c.c(14),t=d(jr),{user:n}=l();let a,i,r;e[0]!==t?(a=async e=>{const n=e??t;if(!n)throw new Error("No meeting ID available");await C.postMeetingsRecapSync(n)},e[0]=t,e[1]=a):a=e[1],e[2]!==t||e[3]!==n?.email||e[4]!==n?.id?(i=e=>{const a=xe(e);m.error("Failed to sync meeting recap:",{userId:n?.id||"unknown",userEmail:n?.email||"unknown",meetingId:t||"unknown",timestamp:(new Date).toISOString(),apiResponse:ve(e),...a&&{apiStatus:a}})},e[2]=t,e[3]=n?.email,e[4]=n?.id,e[5]=i):i=e[5],e[6]!==a||e[7]!==i?(r={mutationFn:a,retry:Ir,onError:i},e[6]=a,e[7]=i,e[8]=r):r=e[8];const o=s(r);let u;e[9]!==o?(u=async e=>{await o.mutateAsync(e)},e[9]=o,e[10]=u):u=e[10];const p=u;let g;return e[11]!==p||e[12]!==o.isPending?(g={syncRecap:p,isSyncingRecap:o.isPending},e[11]=p,e[12]=o.isPending,e[13]=g):g=e[13],g})(),i=t.useRef(null),r=t.useRef(!1),o=t.useRef(!1),u=t.useRef(null),p=t.useRef(a),g=t.useRef(n),f=t.useRef(e);t.useEffect(()=>{p.current=a},[a]),t.useEffect(()=>{f.current=e},[e]);const h=t.useCallback(async()=>{if(u.current&&(clearTimeout(u.current),u.current=null),i.current)if(r.current)o.current=!0;else{r.current=!0;try{do{o.current=!1;const e=i.current;if(!e)break;i.current=null;try{await p.current(e)}catch{i.current=i.current??e,m.debug("Recap auto-sync failed; will retry on the next flush");break}}while(o.current&&i.current)}finally{r.current=!1}}},[]),y=t.useCallback(()=>{f.current&&g.current&&(i.current=g.current,u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=null,h()},3e3))},[h]);return t.useEffect(()=>{g.current!==n&&(i.current&&h(),g.current=n)},[n,h]),ca({hasUnsavedChanges:()=>null!==i.current,saveData:()=>{const e=i.current;e&&fetch(`/api/meetings/${e}/recap/sync`,{method:"POST",credentials:"include",keepalive:!0})},showConfirmation:!1,enabled:e}),t.useEffect(()=>()=>{i.current&&h(),u.current&&clearTimeout(u.current)},[]),{scheduleRecapSync:y,flushRecapSync:h}}function kr(e,t,n){const a=e.updated?.length||0,i=e.failed?.length||0;i>0?(m.warn("Bulk update completed with failures",{successCount:a,failureCount:i,failures:e.failed}),Ut.error(`Failed to save ${i} action item(s)`)):m.debug("Bulk update completed successfully",{successCount:a})}async function Nr(e){m.debug("Bulk updating action items",{count:e.length});const t=e.map(Er);return la.patchActionItemsBulk({items:t,update_tiptap:!1})}function Er(e){const{sourceItem:t,...n}=e;return n}function Ar(){const n=t.useRef(new Map),a=t.useRef(null),i=function(){const t=c.c(8),n=e(),{data:a}=_e();let i,r,o;return t[0]!==a||t[1]!==n?(i=async e=>{await n.cancelQueries({queryKey:da.all});const t=on(n);for(const{action_item_id:i,updates:r,sourceItem:s}of e){let e,o;for(const[,n]of t.feedQueries){const t=n;if(t){for(const n of t.pages){const t=n.data?.action_items?.find(e=>e.id===i);if(t){e=t,t.meeting_id&&n.data?.meetings&&(o=n.data.meetings.find(e=>e.id===t.meeting_id));break}}if(e)break}}if(!e&&t.homeFeed?.action_items){const n=t.homeFeed.action_items.find(e=>e.id===i);n&&(e={id:n.id,title:n.title??"",status:n.status,due_date:n.due_date,meeting_id:n.meeting_id??"",assignee_user_id:a?.id,assignee_name:a?.name??"",created_date:""})}cn(n,i,r,a?.id,a?.name,a?.email,e,o,s),ln(n,i,r,a?.id,e,s),dn(n,i,r,a?{id:a.id,name:a.name,email:a.email}:void 0,e)}return{snapshot:t}},t[0]=a,t[1]=n,t[2]=i):i=t[2],t[3]!==n?(r=(e,t,a)=>{a?.snapshot&&un(n,a.snapshot),m.error("Bulk update failed",{error:e}),Ut.error("Failed to save action items")},t[3]=n,t[4]=r):r=t[4],t[5]!==i||t[6]!==r?(o={mutationFn:Nr,onMutate:i,onSuccess:kr,onError:r},t[5]=i,t[6]=r,t[7]=o):o=t[7],s(o)}(),r=async()=>{if(0===n.current.size)return;m.debug("Saving modified action items",{count:n.current.size});const e=Array.from(n.current.entries()).map(([e,{updates:t,sourceItem:n}])=>({action_item_id:e,updates:t,sourceItem:n}));if(0===e.length)return;const t=new Set(e.map(e=>e.action_item_id));try{const a=await i.mutateAsync(e),r=new Set((a?.failed??[]).map(e=>e.action_item_id)),s=new Map;for(const[e,i]of n.current.entries())!r.has(e)&&t.has(e)||s.set(e,i);n.current=s,m.debug("Saved action items",{attempted:t.size,retained:s.size})}catch(a){m.error("Failed to save action items",{error:a})}};ca({hasUnsavedChanges:()=>n.current.size>0,saveData:()=>{const e=Array.from(n.current.entries()).map(([e,{updates:t}])=>({action_item_id:e,updates:t}));e.length>0&&fetch("/api/action-items/bulk",{method:"PATCH",headers:{"Content-Type":"application/json"},credentials:"include",keepalive:!0,body:JSON.stringify({items:e,update_tiptap:!0})})},showConfirmation:!0}),t.useEffect(()=>()=>{n.current.size>0&&r(),a.current&&clearTimeout(a.current)},[]);return{handleActionItemModified:(e,t)=>{const{sourceItem:i,...s}=t;m.debug("Action item modified",{actionItemId:e,updateFields:s});const o=n.current.get(e);n.current.set(e,{updates:{...o?.updates??{},...s},sourceItem:i}),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{r()},2500)},flushPendingChanges:r}}const Tr=["Initializing summarization pipelineâ¦","Scanning conversation flowâ¦","Aligning speakers and timelinesâ¦","Locating pivotal momentsâ¦","Separating signal from noiseâ¦","Tracing topics across turnsâ¦","Identifying decisions and rationalesâ¦","Condensing long segmentsâ¦","Stitching related points togetherâ¦","Resolving overlaps and repeatsâ¦","Detecting key themesâ¦","Anchoring quotes to contextâ¦","Normalizing terminologyâ¦","Clarifying intent and nuanceâ¦","Mapping questions to answersâ¦","Collapsing loops into summariesâ¦","Contextualizing referencesâ¦","Ranking what mattered mostâ¦","Reconstructing the discussion arcâ¦","Highlighting moments of alignmentâ¦","Flagging unresolved questionsâ¦","Extracting the core messageâ¦","Linking claims to evidenceâ¦","Summarizing without losing detailâ¦","Consolidating related suggestionsâ¦","Capturing the why behind outcomesâ¦","Grouping outcomes by themeâ¦","Smoothing rough transitionsâ¦","Filtering side paths from main threadâ¦","Detecting shifts in directionâ¦","Comparing viewpoints for consensusâ¦","Tracing assumptions to sourcesâ¦","Refining draft summaryâ¦","Tightening phrasing for clarityâ¦","Selecting representative quotesâ¦","Balancing brevity with fidelityâ¦","Calibrating for audience relevanceâ¦","Cross-referencing prior meetingsâ¦","Noting risks and constraintsâ¦","Spotting decisions made impl
2icitlyâ¦","Organizing insights by priorityâ¦","Marking context for follow-up reviewâ¦","Converging on a clear narrativeâ¦","Focusing on outcomes over chatterâ¦","De-duplicating repeated pointsâ¦","Tracking rationale behind changesâ¦","Synthesizing multi-speaker threadsâ¦","Sidelining low-value tangentsâ¦","Tuning summary scopeâ¦","Extracting precise terminologyâ¦","Finalizing section structureâ¦","Ensuring accurate attributionâ¦","Checking coherence across sectionsâ¦","Aligning terminology and labelsâ¦","Stabilizing the executive overviewâ¦","Testing summary against objectivesâ¦","Filling gaps with nearby contextâ¦","Balancing detail across topicsâ¦","Locking in the headline takeawaysâ¦","Polishing phrasing for readabilityâ¦","Compressing without distortionâ¦","Rendering the final briefâ¦"],Rr=24e4,Dr=({children:r})=>{const o=t.useRef(null),u=t.useRef(null),p=t.useRef(null),g=t.useRef(0),f=z(),h=vt(),y=d(e=>e.meetingStatus),x=d(e=>e.serverIsFinalized),v=d(e=>e.endedAt),b=d(e=>e.summaryGranularity),_=d(e=>e.setSummaryGranularity),w=d(e=>e.meetingId??""),S=d(e=>e.hold);!function(e){const n=c.c(17),a=d(oi);let r,s;n[0]!==e?(r=j.aspect("meeting",e??"","summary"),n[0]=e,n[1]=r):r=n[1],n[2]!==e?(s=()=>C.getMeetingsRecapSummarizationState(e??""),n[2]=e,n[3]=s):s=n[3];const o=!!e;let l;n[4]!==r||n[5]!==s||n[6]!==o?(l={queryKey:r,queryFn:s,enabled:o,retry:!1,refetchInterval:si},n[4]=r,n[5]=s,n[6]=o,n[7]=l):l=n[7];const u=i(l),m=u.isSuccess?u.data:null;let p,g,f,h;n[8]!==m||n[9]!==a?(p=()=>{a(m)},g=[m,a],n[8]=m,n[9]=a,n[10]=p,n[11]=g):(p=n[10],g=n[11]),t.useEffect(p,g),n[12]!==a?(f=()=>()=>a(null),n[12]=a,n[13]=f):f=n[13],n[14]!==e||n[15]!==a?(h=[e,a],n[14]=e,n[15]=a,n[16]=h):h=n[16],t.useEffect(f,h)}(w);const{pending:k,streaming:N,error:E,startedAt:A,durableClaimKey:T}=function(){const e=c.c(7),t=d(pi),n=d(mi),a=d(ui),i=d(di),r=d(li),s=d(ci);let o;return e[0]!==n||e[1]!==t||e[2]!==r||e[3]!==a||e[4]!==s||e[5]!==i?(o=I({projection:t,acknowledgedError:n,yjsPending:a,yjsStreaming:i,yjsError:r,yjsStartedAt:s}),e[0]=n,e[1]=t,e[2]=r,e[3]=a,e[4]=s,e[5]=i,e[6]=o):o=e[6],o}(),R=d(e=>e.hasTranscript),D=d(e=>e.title),P=d(e=>e.startDate),L=d(e=>e.setMeetingStatus),F=d(e=>e.notesPrompt),O=d(e=>e.setNotesPrompt),G=d(e=>e.actionItemsPrompt),$=d(e=>e.setActionItemsPrompt),W=function(){const t=c.c(11),n=e(),{setHold:a}=d();let i,r,o,l,u;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=he(),t[0]=i):i=t[0],t[1]!==n||t[2]!==a?(r=async e=>{await n.cancelQueries({queryKey:["meetings",e.meetingId]});const{hold:t}=d.getState(),i={id:`temp-hold-${Date.now()}`,initiator_id:"current-user",publisher_id:void 0,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString()};return a(i),{previousHold:t}},o=(e,t)=>{a(e),Ut.success("Hold placed on meeting notes"),n.invalidateQueries({queryKey:["meetings",t.meetingId]}),n.invalidateQueries({queryKey:[...ye]})},t[1]=n,t[2]=a,t[3]=r,t[4]=o):(r=t[3],o=t[4]),t[5]!==a?(l=(e,t,n)=>{n&&a(n.previousHold);const i=e instanceof Error?e.message:"Failed to place hold on meeting";m.error("Failed to place meeting hold:",e),Ut.error(i)},t[5]=a,t[6]=l):l=t[6],t[7]!==r||t[8]!==o||t[9]!==l?(u={...i,mutationFn:vr,onMutate:r,onSuccess:o,onError:l},t[7]=r,t[8]=o,t[9]=l,t[10]=u):u=t[10],s(u)}(),U=function(){const t=c.c(11),n=e(),{setHold:a}=d();let i,r,o,l,u;return t[0]===Symbol.for("react.memo_cache_sentinel")?(i=he(),t[0]=i):i=t[0],t[1]!==n||t[2]!==a?(r=async e=>{await n.cancelQueries({queryKey:["meetings",e.meetingId]});const{hold:t}=d.getState();return a(null),{previousHold:t}},o=(e,t)=>{a(null),Ut.success("Hold released - notes will be finalized"),n.invalidateQueries({queryKey:["meetings",t.meetingId]}),n.invalidateQueries({queryKey:[...ye]})},t[1]=n,t[2]=a,t[3]=r,t[4]=o):(r=t[3],o=t[4]),t[5]!==a?(l=(e,t,n)=>{n&&a(n.previousHold);const i=e instanceof Error?e.message:"Failed to release hold";m.error("Failed to release meeting hold:",e),Ut.error(i)},t[5]=a,t[6]=l):l=t[6],t[7]!==r||t[8]!==o||t[9]!==l?(u={...i,mutationFn:br,onMutate:r,onSuccess:o,onError:l},t[7]=r,t[8]=o,t[9]=l,t[10]=u):u=t[10],s(u)}(),{data:q}=we(),V=!0===q?.allow_recaps_on_hold,{finalizeMeeting:Z,isFinalizingMeeting:K}=(()=>{const e=c.c(17),t=d(_r),n=d(wr),{user:a}=l();let i,r,o,u;e[0]!==t?(i=async e=>{if(!t)throw new Error("No meeting ID available");
2await C.patchMeetingsFinalize(t,e?.updateTiptap)},e[0]=t,e[1]=i):i=e[1],e[2]!==n?(r=()=>{Ut.success("Meeting finalized successfully"),n("FINALIZED")},e[2]=n,e[3]=r):r=e[3],e[4]!==t||e[5]!==a?.email||e[6]!==a?.id?(o=e=>{const n=xe(e),i={userId:a?.id||"unknown",userEmail:a?.email||"unknown",meetingId:t||"unknown",timestamp:(new Date).toISOString(),apiResponse:ve(e),...n&&{apiStatus:n}};m.error("Failed to finalize meeting:",i);let r="Couldn't finalize the meeting. Please try again later.";n&&(400===n?r="Invalid meeting data or meeting has already been finalized.":403===n?r="You do not have permission to finalize this meeting.":404===n?r="Meeting not found.":n>=400&&n<500&&(r="Unable to finalize meeting. Please try again later.")),Ut.error(r)},e[4]=t,e[5]=a?.email,e[6]=a?.id,e[7]=o):o=e[7],e[8]!==i||e[9]!==r||e[10]!==o?(u={mutationFn:i,retry:Sr,onSuccess:r,onError:o},e[8]=i,e[9]=r,e[10]=o,e[11]=u):u=e[11];const p=s(u);let g;e[12]!==p?(g=async e=>{p.isPending||await p.mutateAsync(e)},e[12]=p,e[13]=g):g=e[13];const f=g;let h;return e[14]!==f||e[15]!==p.isPending?(h={finalizeMeeting:f,isFinalizingMeeting:p.isPending},e[14]=f,e[15]=p.isPending,e[16]=h):h=e[16],h})(),Q=`Notes from our meeting: ${D} on ${hn(P?fn(P):new Date,"MMMM d, yyyy")}`,Y="FINALIZED"===h,{featureFlagKeys:J=[],flagsLoading:X}=te(),ee=!X&&J.includes("next_steps"),ne=!X&&J.includes("ai_chat_sidebar"),{isEnabled:ae}=bt(),ie=dt(),re=ut(),{isGoogleDocCreateEnabled:se,hasGoogleDocsAccess:oe,isGoogleDocsAccessLoading:ce}=vn(),le=Se(),de=l(e=>e.user),ue=je(de),me=R,[pe,ge]=t.useState(b),[fe,be]=t.useState(!0),[_e,Re]=t.useState(null),De=t.useCallback(e=>{be(e)},[]),Me=t.useCallback(()=>null!==p.current&&(!!u.current&&(u.current.setContent(p.current),_(g.current),ge(g.current),p.current=null,!0)),[_]),{handleActionItemModified:Pe}=Ar(),Le=pe!==b,[Fe,Oe]=t.useState(null),ze=null!==Fe&&(F!==Fe.notes||G!==Fe.actionItems),Ge=Le||ze,$e=t.useCallback(()=>{Oe(e=>e??{notes:F,actionItems:G})},[F,G]),We=t.useCallback(async e=>{const t=e!==F,n=await O(e);return n&&t&&$e(),n},[F,O,$e]),Be=t.useCallback(async e=>{const t=e!==G,n=await $(e);return n&&t&&$e(),n},[G,$,$e]),{startSummaryStream:Ue,clearStreamingUI:He,isStreaming:qe,error:Ve,requestRejected:Ze}=ri({meetingId:w}),Ke=k||N||qe,Qe=Ke,Ye=Qe||!Y,{scheduleRecapSync:Je}=Cr({enabled:Y&&f}),Xe=t.useCallback((e,t,n)=>{be(e),n&&!Ke&&Je()},[Ke,Je]),et=t.useRef(!1);t.useEffect(()=>{!et.current||Ke||Ze||Je(),et.current=Ke},[Ke,Ze,Je]),t.useEffect(()=>{Ke&&Oe(null)},[Ke]),t.useEffect(()=>{Ke&&Re(null)},[Ke]),t.useEffect(()=>{Re(null),p.current=null},[w]);const{isCalloutVisible:tt,dismissCallout:nt}=function({meetingId:e,isEditor:n,isChatAvailable:a,isAnyStreamingActive:i,summarizationError:r,summarizationStartedAt:s,isSummaryEmpty:o}){const[c,l]=t.useState(!1),d=s?Date.parse(s):NaN;t.useEffect(()=>{if(e)try{for(let e=localStorage.length-1;e>=0;e--){const t=localStorage.key(e);if(!t?.startsWith(yr))continue;const n=Number(localStorage.getItem(t));(!Number.isFinite(n)||Date.now()-n>=hr)&&localStorage.removeItem(t)}l(null!==localStorage.getItem(xr(e)))}catch{}},[e]);const[u,m]=t.useState(!1);return t.useEffect(()=>{if(!Number.isFinite(d))return void m(!1);const e=d+hr-Date.now();if(e<=0)return void m(!1);m(!0);const t=setTimeout(()=>m(!1),e);return()=>clearTimeout(t)},[d]),{isCalloutVisible:n&&a&&!c&&u&&!i&&!r&&!o,dismissCallout:t.useCallback(()=>{if(l(!0),e)try{localStorage.setItem(xr(e),String(Date.now()))}catch{}},[e])}}({meetingId:w,isEditor:f,isChatAvailable:ne,isAnyStreamingActive:Ke,summarizationError:E,summarizationStartedAt:A,isSummaryEmpty:fe}),at=t.useCallback(()=>{const e=Ie.getState();e.open(),e.expand(),e.requestInputFocus()},[]),{shouldTriggerAutoSummarization:it,clearAutoSummarization:rt}=Ce(),st=!f||k||N||qe,ot=k||qe,ct=(()=>{const e=c.c(2),[n,a]=t.useState(Mr);let i,r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=()=>{const e=setInterval(()=>{a(Tr[Math.floor(Math.random()*Tr.length)])},4500);return()=>clearInterval(e)},r=[],e[0]=i,e[1]=r):(i=e[0],r=e[1]),t.useEffect(i,r),n})();t.useEffect(()=>{(k||N||E)&&qe&&He()},[k,N,E,qe,He]),t.useEffect(()=>{if(!qe)return;if(k||N)return;const e=setTimeout(()=>{He()},5e3);return()=>clearTimeout(e)},[qe,k,N,He]),t.useEffect(()=>{if(it&&!qe){const e=u.current?.getEditor();if(!e){const e=setTimeout(()=>{const e=u.current?.getEditor();e?(rt(),Ue(b,"system")):rt()},1e3);return()=>clearTimeout(e)}rt(),Ue(b,"system")}},[it,qe,rt,b,Ue]),t.useEffect(()=>{Ve&&(Me(),R?Ut.error("Summarization failed, please try again shortly."):Ut.info("No meeting notes were captured. Jot them down now, or let us know if something went wrong."))},[Ve,R,Me]),t.useEffect(()=>{if(!E)return;Me(),Ut.error("An error occurred during summary generation. Please try again.",{id:"summarization-error"});const e=d.getState();e.setSummarizationError(!1),T&&e.acknowledgeRecapSummarizationError(T),He(),f&&"PENDING_FINALIZATION"===e.meetingStatus&&!e.hold&&Z({updateTiptap:!0}).catch(()=>{})},[E,T,He,Me,Z,f]);const lt=t.useRef(!1);t.useEffect(()=>{f&&!lt.current&&_t(y,x)&&(lt.current=!0,Z({updateTiptap:!0}).catch(()=>{}))},[f,y,x,Z]),t.useEffect(()=>{if(Ke||Ve||E)return;const e=p.current;if(null===e)return;if(Ze)return void(p.current=null);if(!u.current)return;const t=u.current.isEmpty(),n=""!==e.trim()&&"<p></p>"!==e;if(t&&n)return Me(),void Ut.error("Summary generation timed out. Your original notes have been restored.",{id:"summarization-timeout-restore"});n&&Re({snapshot:{html:e,granularity:g.current},mode:"undo"}),p.current=null},[Ke,Ve,E,Ze,Me]),t.useEffect(()=>{if(!k&&!N)return;const e=setTimeout(()=>{const e=d.getState();e.setSummarizationPending(!1),e.setSummarizationStreaming(!1)},Rr);return()=>clearTimeout(e)},[k,N]),t.useEffect(()=>{if(!k&&!N)return;if(!A||Date.now()-new Date(A).getTime()>Rr){const e=d.getState();e.setSummarizationPending(!1),e.setSummarizationStreaming(!1)}},[k,N,A]),t.useEffect(()=>{ge(b)},[b]),t.useEffect(()=>{if("FINALIZED"===d.getState().meetingStatus)return;const e=()=>{if(o.current){const e=o.current.closest(".overflow-y-auto");if(e){const t=e.getBoundingClientRect(),n=o.current.getBoundingClientRect().top-t.top+e.scrollTop;e.scrollTo({top:n,behavior:"smooth"})}else o.current.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})}},t=new ResizeObserver(n=>{for(const a of n)if(a.contentRect.height>0){e(),t.disconnect();break}});o.current&&t.observe(o.current);const n=setTimeout(()=>{e(),t.disconnect()},0);return()=>{t.disconnect(),clearTimeout(n)}},[]);const mt=t.useCallback(()=>{const e=u.current;if(!e||!_e)return;const t={html:e.getHTML(),granularity:b};e.setContent(_e.snapshot.html),_(_e.snapshot.granularity),ge(_e.snapshot.granularity),Re({snapshot:t,mode:"undo"===_e.mode?"redo":"undo"}),Je()},[_e,b,_,Je]),pt=t.useCallback(async(e,t)=>{const{MeetingsService:n}=await a(async()=>{const{MeetingsService:e}=await(import("./index-rRPmGqub.js"));return{MeetingsService:e}},__vite__mapDeps([19,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]));try{return await n.postMeetingsExportGoogleDoc(w,e,t)}catch(i){if(412===i?.status)throw new H;throw i}},[w]),{handleCopyAsPlainText:gt,handleCopyAsRichText:ft,handleCopyAsMarkdown:ht,handleSaveAsCanvas:yt,handleSendEmail:xt,handleSaveAsWord:wt,handleSaveAsMarkdown:St,handleSaveAsGoogleDoc:jt,handleAddIntegration:It}=bn({getEditor:()=>u.current?.getEditor()??null,title:D??"",emailSubject:Q,emailEntityLabel:"meeting notes",hasGoogleDocsAccess:oe,isGoogleDocsAccessLoading:ce,navigate:ie,exportGoogleDoc:pt,fallbackFilename:"Meeting"}),[kt,Nt]=t.useState(null),Et=t.useCallback(e=>Nt(e),[]),At=t.useCallback(()=>Nt(null),[]),Tt=zn(Et),Rt=t.useCallback(async()=>
2{if(w)if(!de||ke(le))try{const{downloadTranscriptExportBlob:e}=await a(async()=>{const{downloadTranscriptExportBlob:e}=await import("./index-DlKj98-E.js").then(e=>e.kl);return{downloadTranscriptExportBlob:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])),{blob:t,filename:n}=await e(w);B(t,n??`transcript-${w}.srt`),Ut.success(Ee)}catch(e){if(Ae(e))return;const t=e?.status;404===t?Ut.error("No transcript available for this meeting"):Ut.error("Failed to download transcript")}else Ne.getState().open("feature",{feature:"TRANSCRIPT_EXPORT"})},[w,le,de]),Dt=t.useCallback(async()=>{await Te(window.location.href,{successMessage:"Meeting link copied to clipboard",errorMessage:"Failed to copy meeting link"})},[]);return v||"PENDING_FINALIZATION"===h||"FINALIZED"===h?f||!S&&"PENDING_FINALIZATION"!==h?n.jsxs("div",{className:"flex h-full flex-col bg-white",children:[n.jsxs("section",{ref:o,className:"flex flex-col gap-4 border-y border-gray-200 bg-gray-50 px-8 pt-6 pb-6",children:[n.jsxs("header",{className:"flex flex-wrap items-center gap-4",children:[n.jsx("h3",{className:"text-xl font-bold text-gray-900",children:"Meeting Notes"}),n.jsxs("div",{"data-testid":"summary-actions-row",className:"flex flex-1 flex-wrap items-center justify-end gap-4 gap-y-3",children:[n.jsx("div",{"data-testid":"summary-actions-spacer",className:"flex-1"}),"PENDING_FINALIZATION"===h&&f&&(S?n.jsx(M,{"data-testid":"release-hold-button",color:"secondary",variant:"outline",onClick:async()=>{if(!w||!S)return;const e=y;L("FINALIZED");try{await U.mutateAsync({meetingId:w})}catch{return void(e&&L(e))}try{await Z({updateTiptap:!1})}catch{e&&L(e)}},disabled:Ke||K||U.isPending||fe,loading:K||U.isPending,title:"Release the hold and finalize the recap",children:"Release Hold"}):V?n.jsx(M,{"data-testid":"hold-recap-button",color:"secondary",variant:"outline",onClick:()=>{w&&W.mutate({meetingId:w})},disabled:W.isPending,loading:W.isPending,title:"Delay auto-finalization while editors adjust the recap",children:"Hold Recap"}):null),f&&n.jsx(mr,{granularity:pe,onGranularityChange:ge,hasUnsavedGranularity:Le,hasPendingChanges:Ge,isGenerating:Ke,disabled:st,hasTranscript:R,onRegenerate:()=>{const e=pe??b;p.current=u.current?.getHTML()??null,g.current=b,_(e),Ue(e)},revertMode:_e?.mode??null,onRevert:mt,showCustomPrompts:ae,notesPrompt:F,onCommitNotesPrompt:We,actionItemsPrompt:G,onCommitActionItemsPrompt:Be}),n.jsx(In,{disabled:Qe,pathname:re.pathname,onCopyLink:Dt,copyLinkLabel:"Copy meeting link",onCopyAsPlainText:gt,onCopyAsRichText:ft,onCopyAsMarkdown:ht,onSendEmail:xt,onSaveAsWord:wt,onSaveAsMarkdown:St,onSaveAsCanvas:ue?void 0:yt,onSaveAsGoogleDoc:!ue&&se?jt:void 0,isGoogleDocConnected:oe,onDownloadTranscript:!ue&&me?Rt:void 0,onAddIntegration:ue?void 0:It,userIntegrations:ue?void 0:Tt}),w&&n.jsx(Gn,{descriptor:kt,context:{type:"meeting",id:w,title:D??""},getEditor:()=>u.current?.getEditor()??null,onClose:At}),ee&&w&&!ue&&n.jsx(Yi,{meetingId:w,size:"default",disabled:Ye})]})]}),n.jsxs("div",{className:"relative rounded-md bg-white px-5 py-2 "+(st?"border border-gray-100 text-gray-500":"border border-gray-300"),children:[n.jsx(gr,{visible:tt,onOpenChat:at,onDismiss:nt}),n.jsx(Ct,{ref:u,className:"meeting-notes-editor",fragmentName:"meeting-summary",placeholder:st?f?"Generating your meeting summaryâ¦":"No summary has been created for this meeting.":R?"Select your desired level of detail and click 'Generate' to have Contio draft your meeting summary.":"No transcript was captured for this meeting. Click here to write your summary.",disabled:st,editable:!st,loadingMessage:ot?ct:void 0,isStreaming:Ke,onContentLoaded:De,onContentChange:Xe,withExportExtensions:!0})]}),r,n.jsx(fi,{onActionItemModified:Y?Pe:void 0})]}),n.jsx("section",{className:"h-16 shrink-0"})]}):n.jsx("section",{ref:o,className:"mt-6 flex flex-col gap-8 px-8",children:n.jsx(ir,{})}):null};function Mr(){return Tr[Math.floor(Math.random()*Tr.length)]}const Pr=e=>{const t=c.c(10),{className:a,onLinkClick:i}=e;let r,s,o,l,d,u;return t[0]!==a?(r=x("w-full bg-blue-contio-50",a),t[0]=a,t[1]=r):r=t[1],t[2]===Symbol.for("react.memo_cache_sentinel")?(s=n.jsx("span",{className:"m-0 text-sm text-gray-contio-600 lg:text-md",children:"Ready to link this meeting to a calendar event?"}),t[2]=s):s=t[2],t[3]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(Nt,{icon:$t,className:"h-3 w-3"}),t[3]=o):o=t[3],t[4]===Symbol.for("react.memo_cache_sentinel")?(l=n.jsx("span",{className:"hidden sm:inline",children:" to Calendar Event"}),t[4]=l):l=t[4],t[5]!==i?(d=n.jsx("div",{className:"flex w-full items-center justify-center px-4 py-2.5",children:n.jsxs("div",{className:"flex flex-row flex-wrap items-center justify-center gap-2 gap-y-1 sm:gap-3",children:[s,n.jsxs(M,{type:"button",onClick:i,variant:"outline",color:"primary",size:"xs",icon:o,"aria-label":"Link to Calendar Eventâ¦",children:["Link",l,"..."]})]})}),t[5]=i,t[6]=d):d=t[6],t[7]!==r||t[8]!==d?(u=n.jsx("section",{"aria-label":"Link meeting to a calendar event",className:r,role:"region",children:d}),t[7]=r,t[8]=d,t[9]=u):u=t[9],u},Lr=()=>{const e=c.c(2),t=Re(Fr);let n;return e[0]!==t?(n={disconnect:t,redirectTo:"/"},e[0]=t,e[1]=n):n=e[1],ua(n)};function Fr(e){return e.disconnectProvider}function Or(e){return e.reconnectToTiptapWithFreshToken}function zr(e){return e.meetingTiptapDocId}function Gr(e){return e.setAuthFailureCallback}function $r(e){return e.connectionState}const Wr="[PROACTIVE REFRESH]";function Br(e){return e.reconnectToTiptapWithFreshToken}function Ur(e){return e.setAccessChangedCallback}function Hr(e){return e.setAccessChangedCallback}function qr(e){const n=c.c(57);let a;
2n[0]!==e?(a={},n[0]=e,n[1]=a):a=n[1];const i=a,{guestName:r,heartbeatMs:s,staleAfterMs:o,readonlyMode:d}=i,u=void 0===s?15e3:s,p=void 0===o?6e4:o,g=void 0!==d&&d,f=xa(),{provider:h}=Re(),{user:y}=l(),x=h?.awareness;let v;n[2]===Symbol.for("react.memo_cache_sentinel")?(v=[],n[2]=v):v=n[2];const[b,_]=t.useState(v),[w,S]=t.useState(0),[j,I]=t.useState(!1),[C,k]=t.useState(!0);let N;n[3]!==x||n[4]!==p?(N=e=>{const t=void 0!==e&&e,n=[],a=x?.getStates(),i=Date.now();return a?.forEach(e=>{if(!e?.connectionId||!e?.name)return;if("number"!=typeof e.connectedAt||"number"!=typeof e.lastActive||i-e.lastActive>p)return;const t=e;n.push(t)}),t?n.filter(es):n},n[3]=x,n[4]=p,n[5]=N):N=n[5];const E=N,A=x?.clientID||0,T=t.useRef(null);let R,D,M;n[6]!==x||n[7]!==f||n[8]!==p||n[9]!==A?(R=()=>{const e=e=>{const t=void 0!==e&&e,n=[],a=x?.getStates(),i=Date.now();return a?.forEach(e=>{e?.connectionId&&e?.name&&("number"!=typeof e.connectedAt||"number"!=typeof e.lastActive||i-e.lastActive>p||n.push(e))}),t?n.filter(Xr):n},t=()=>{const{allUsers:t}=(()=>{const t=e(),n=e(!0).sort(Jr);return _(n),S(n.length),{uniqueActiveUsers:n,allUsers:t}})();(e=>{const t=e.filter(e=>e.connectionId===f).sort(Yr);if(t.length<=1)return void k(!0);const n=t[0];k(n.tabId===A)})(t)},n=()=>{T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{T.current=null,t()},100)};return x?.on("update",n),t(),()=>{x?.off("update",n),T.current&&(clearTimeout(T.current),T.current=null)}},D=[x,p,f,A],n[6]=x,n[7]=f,n[8]=p,n[9]=A,n[10]=R,n[11]=D):(R=n[10],D=n[11]),t.useEffect(R,D),n[12]!==f||n[13]!==E||n[14]!==r?(M=()=>{const e=`${f}_GUEST`,t=localStorage.getItem(e);if(t)return t;if(r)return localStorage.setItem(e,r),r;const n=E(!0).filter(Qr).map(Kr).filter(Zr).sort(Vr);let a=n?.[0]||1;for(const r of n){if(r!==a)break;a++}const i=`Guest ${a}`;return localStorage.setItem(e,i),i},n[12]=f,n[13]=E,n[14]=r,n[15]=M):M=n[15];const P=M;let L;n[16]!==x||n[17]!==f||n[18]!==P||n[19]!==A||n[20]!==y?(L=()=>{const e=!y?.id,t=e?f:y.id,n=va(t),a=e?P():y?.name;x?.setLocalState({connectionId:f,name:a,lastActive:Date.now(),connectedAt:Date.now(),isGuest:e,tabId:A,color:n,avatarUrl:y?.profile_image_url,userId:t}),x?.setLocalStateField("user",{name:a,color:n,avatarUrl:y?.profile_image_url}),I(!0)},n[16]=x,n[17]=f,n[18]=P,n[19]=A,n[20]=y,n[21]=L):L=n[21];const F=L;let O;n[22]!==x?(O=()=>{x?.setLocalState(null),I(!1)},n[22]=x,n[23]=O):O=n[23];const z=O;let G,$,W;n[24]!==x||n[25]!==f||n[26]!==u||n[27]!==j||n[28]!==C||n[29]!==g?(G=()=>{if(!j||g||!C)return;const e=setInterval(()=>{m.debug(`${f} - Heartbeat from awareness`),x?.setLocalStateField("lastActive",Date.now())},u);return()=>clearInterval(e)},$=[x,u,j,g,C,f],n[24]=x,n[25]=f,n[26]=u,n[27]=j,n[28]=C,n[29]=g,n[30]=G,n[31]=$):(G=n[30],$=n[31]),t.useEffect(G,$),n[32]!==x||n[33]!==j||n[34]!==y?(W=()=>{if(!j||!x||!y?.id)return;const e=va(y.id);x.setLocalStateField("user",{name:y.name,color:e,avatarUrl:y.profile_image_url}),x.setLocalStateField("color",e),x.setLocalStateField("avatarUrl",y.profile_image_url)},n[32]=x,n[33]=j,n[34]=y,n[35]=W):W=n[35];const B=y?.id,U=y?.name,H=y?.profile_image_url;let q,V;n[36]!==x||n[37]!==j||n[38]!==B||n[39]!==U||n[40]!==H?(q=[x,j,B,U,H],n[36]=x,n[37]=j,n[38]=B,n[39]=U,n[40]=H,n[41]=q):q=n[41],t.useEffect(W,q),n[42]!==x||n[43]!==g?(V=()=>{if(g)return;const e=()=>{x?.setLocalState(null)};return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},n[42]=x,n[43]=g,n[44]=V):V=n[44];const Z=y?.id;let K,Q;return n[45]!==x||n[46]!==j||n[47]!==g||n[48]!==Z?(K=[x,g,Z,j],n[45]=x,n[46]=j,n[47]=g,n[48]=Z,n[49]=K):K=n[49],t.useEffect(V,K),n[50]!==F||n[51]!==z||n[52]!==j||n[53]!==C||n[54]!==b||n[55]!==w?(Q={users:b,viewerCount:w,connect:F,disconnect:z,isConnected:j,isDominantTab:C},n[50]=F,n[51]=z,n[52]=j,n[53]=C,n[54]=b,n[55]=w,n[56]=Q):Q=n[56],Q}function Vr(e,t){return e-t}function Zr(e){return null!==e}function Kr(e){const t=e.name.match(/^Guest (\d+)$/);return t?parseInt(t[1],10):null}function Qr(e){return e.isGuest&&e.name.startsWith("Guest ")}function Yr(e,t){return(e.connectedAt||0)-(t.connectedAt||0)}function Jr(e,t){return e.name.localeCompare(t.name)}function Xr(e,t,n){return n.findIndex(t=>t.connectionId===e.connectionId)===t}
2function es(e,t,n){return n.findIndex(t=>t.connectionId===e.connectionId)===t}const ts=e=>{const t=c.c(9),{onShowMeHow:a,onDismiss:i}=e;let r,s,o,l,d;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx(Nt,{icon:Wt,className:"size-3 text-gray-contio-900/75"}),n.jsx("p",{className:"font-body text-md leading-[0.875rem] font-medium text-gray-contio-900",children:"To capture notes and action items, the Contio app needs microphone and system audio access"})]}),t[0]=r):r=t[0],t[1]!==a?(s=n.jsx(M,{type:"button",onClick:a,variant:"outline",size:"sm",color:"secondary",children:"Show Me How..."}),t[1]=a,t[2]=s):s=t[2],t[3]===Symbol.for("react.memo_cache_sentinel")?(o=n.jsx(Nt,{icon:Et,className:"size-4"}),t[3]=o):o=t[3],t[4]!==i?(l=n.jsx("button",{onClick:i,className:"ml-auto text-gray-contio-900/75 transition-colors hover:text-gray-contio-900","aria-label":"Dismiss and re-check permissions",title:"Dismiss and re-check permissions",children:o}),t[4]=i,t[5]=l):l=t[5],t[6]!==s||t[7]!==l?(d=n.jsxs("div",{className:"flex w-full items-center justify-center gap-4 bg-warning-100 px-4 py-2.5",children:[r,s,l]}),t[6]=s,t[7]=l,t[8]=d):d=t[8],d};function ns(t){const a=c.c(55),{onSuccess:i}=t,r=e(),{state:s,isPending:o,isEmailValid:l,isNameValid:d,setEmail:u,setFirstName:m,setLastName:p,submitEmail:g,verifyOTP:f,backToEmail:h,reset:y}=Pe(),x="otp"===s.step;let v;a[0]!==i||a[1]!==r?(v=async e=>{const t="access_token"in e?e.access_token:null;S().ready&&t&&r.clear(),r.removeQueries({queryKey:[Fe]}),Ut.success("Success! You are now logged in."),i?.(),window.location.reload()},a[0]=i,a[1]=r,a[2]=v):v=a[2];const b=v;let _;a[3]!==f?(_=async e=>await f(e),a[3]=f,a[4]=_):_=a[4];const w=_;let j;a[5]!==g?(j=async()=>(await g(),{status:"otp_sent"}),a[5]=g,a[6]=j):j=a[6];const I=j;let C;a[7]!==h?(C=e=>{e||h()},a[7]=h,a[8]=C):C=a[8];const k=C,N=l&&d;let E,A,T,R,D,P,L,F;a[9]!==g?(E=e=>{e.preventDefault(),g().catch(as)},a[9]=g,a[10]=E):E=a[10],a[11]===Symbol.for("react.memo_cache_sentinel")?(A=n.jsx("span",{className:"font-body mr-2 text-2xl leading-3.5 font-semibold text-gray-contio-900",children:"Enter your name and email to save this meeting"}),a[11]=A):A=a[11],a[12]!==m?(T=e=>m(e.target.value),a[12]=m,a[13]=T):T=a[13],a[14]!==o||a[15]!==s.firstName||a[16]!==T?(R=n.jsx("input",{type:"text",value:s.firstName,onChange:T,placeholder:"First name","aria-label":"First name",maxLength:100,className:"h-8 w-36 rounded-sm border border-gray-contio-300 bg-white px-3 text-sm text-gray-contio-900 placeholder:text-gray-contio-400 focus:border-blue-contio-500 focus:ring-1 focus:ring-blue-contio-500 focus:outline-none max-sm:text-base",disabled:o}),a[14]=o,a[15]=s.firstName,a[16]=T,a[17]=R):R=a[17],a[18]!==p?(D=e=>p(e.target.value),a[18]=p,a[19]=D):D=a[19],a[20]!==o||a[21]!==s.lastName||a[22]!==D?(P=n.jsx("input",{type:"text",value:s.lastName,onChange:D,placeholder:"Last name","aria-label":"Last name",maxLength:100,className:"h-8 w-36 rounded-sm border border-gray-contio-300 bg-white px-3 text-sm text-gray-contio-900 placeholder:text-gray-contio-400 focus:border-blue-contio-500 focus:ring-1 focus:ring-blue-contio-500 focus:outline-none max-sm:text-base",disabled:o}),a[20]=o,a[21]=s.lastName,a[22]=D,a[23]=P):P=a[23],a[24]!==u?(L=e=>u(e.target.value),a[24]=u,a[25]=L):L=a[25],a[26]!==o||a[27]!==s.email||a[28]!==L?(F=n.jsx("input",{type:"email",value:s.email,onChange:L,placeholder:"[email protected]",className:"h-8 w-64 rounded-sm border border-gray-contio-300 bg-white px-3 text-sm text-gray-contio-900 placeholder:text-gray-contio-400 focus:border-blue-contio-500 focus:ring-1 focus:ring-blue-contio-500 focus:outline-none max-sm:text-base",disabled:o}),a[26]=o,a[27]=s.email,a[28]=L,a[29]=F):F=a[29];const O=!N;let z,G,$,W,B,U;return a[30]!==o||a[31]!==O?(z=n.jsx(M,{type:"submit",color:"primary",variant:"solid",size:"sm",loading:o,disabled:O,className:"h-8 rounded-sm",children:"Submit"}),a[30]=o,a[31]=O,a[32]=z):z=a[32],a[33]!==P||a[34]!==F||a[35]!==z||a[36]!==E||a[37]!==R?(G=n.jsxs("form",{onSubmit:E,className:"flex items-center gap-2",children:[A,R,P,F,z]}),a[33]=P,a[34]=F,a[35]=z,a[36]=E,a[37]=R,a[38]=G):G=a[38],a[39]!==s.error?($=s.error&&n.jsx("p",{className:"mt-1 text-center text-sm text-red-600",children:s.error}),a[39]=s.error,a[40]=$):$=a[40],a[41]!==G||a[42]!==$?(W=n.jsxs("div",{className:"flex w-full items-center justify-center gap-4 bg-warning-100 px-4 py-4",children:[G,$]}),a[41]=G,a[42]=$,a[43]=W):W=a[43],a[44]!==b||a[45]!==k||a[46]!==I||a[47]!==w||a[48]!==y||a[49]!==x||a[50]!==s.email?(B=n.jsx(Le,{open:x,onOpenChange:k,email:s.email,onVerify:w,onResend:I,onSuccess:b,onMaxAttemptsExceeded:y,showBackButton:!0}),a[44]=b,a[45]=k,a[46]=I,a[47]=w,a[48]=y,a[49]=x,a[50]=s.email,a[51]=B):B=a[51],a[52]!==W||a[53]!==B?(U=n.jsxs(n.Fragment,{children:[W,B]}),a[52]=W,a[53]=B,a[54]=U):U=a[54],U}function as(){}function is(e){const t=e.participants.map(e=>({...e}));
2return{title:e.title,startDate:e.startDate,startTimeOffset:e.startTimeOffset,participants:t,meetingStatus:e.meetingStatus,calendarEventEndTime:e.calendarEventEndTime,calendarEventId:e.calendarEventId}}function rs(n){const a=e(),i=t.useRef(null),r=t.useRef(!1);t.useEffect(()=>{if(!n)return;m.debug("[useMeetingCacheSync] Setting up cache sync observer",{meetingId:n});const e=d.subscribe(e=>{if(!e.initializedMeeting)return;if(r.current)return void m.debug("[useMeetingCacheSync] Sync already in progress, skipping",{meetingId:n});const t=i.current;if(!t)return i.current=is(e),void m.debug("[useMeetingCacheSync] Initial state captured",{meetingId:n});if(e.title===t.title&&e.startDate===t.startDate&&e.startTimeOffset===t.startTimeOffset&&e.meetingStatus===t.meetingStatus&&e.calendarEventEndTime===t.calendarEventEndTime&&e.calendarEventId===t.calendarEventId)return;let s;try{s=function(e,t){return{title:e.title!==t.title,date:e.startDate!==t.startDate||e.startTimeOffset!==t.startTimeOffset,participants:!Ge(e.participants,t.participants),status:e.meetingStatus!==t.meetingStatus,calendarLink:e.calendarEventEndTime!==t.calendarEventEndTime||e.calendarEventId!==t.calendarEventId}}(t,e)}catch(o){return m.error("[useMeetingCacheSync] Error detecting changes",{meetingId:n,error:o,prev:t,current:e}),void(i.current=is(e))}if(s.calendarLink||s.status&&"DELETED"===e.meetingStatus){r.current=!0,m.debug("[useMeetingCacheSync] Detected link/unlink/delete, removing caches",{meetingId:n,changes:s,calendarEventEndTime:e.calendarEventEndTime,meetingStatus:e.meetingStatus});try{a.removeQueries({predicate:e=>{const t=e.queryKey;return Array.isArray(t)&&t[0]===Oe[0]}}),a.invalidateQueries({queryKey:ye}),m.debug("[useMeetingCacheSync] Successfully removed caches for link/unlink/delete",{meetingId:n})}catch(c){m.error("[useMeetingCacheSync] Failed to remove caches",c,{meetingId:n})}finally{r.current=!1}}else if(s.title||s.date||s.participants||s.status){r.current=!0,m.debug("[useMeetingCacheSync] Detected collaborative changes, syncing to caches",{meetingId:n,changes:s,title:e.title,startDate:e.startDate,startTimeOffset:e.startTimeOffset,participantCount:e.participants.length,meetingStatus:e.meetingStatus});try{ze(a,n,{meeting_id:n,title:e.title,start_date_utc:e.startDate??void 0,start_time_offset_seconds_utc:e.startTimeOffset,calendar_event_id:e.calendarEventId??void 0,attendees:e.participants.map(e=>({user_id:e.user_id??"",name:e.name??"",email:e.email??"",profile_image_url:e.profile_image_url??"",is_owner:e.is_owner,is_calendar_event_organizer:e.is_calendar_event_organizer,participant_id:e.participant_id,role:e.role})),is_finalized:"FINALIZED"===e.meetingStatus}),m.debug("[useMeetingCacheSync] Successfully synced to caches",{meetingId:n})}catch(l){m.error("[useMeetingCacheSync] Failed to sync to caches",l,{meetingId:n})}finally{r.current=!1}}i.current=is(e)});return()=>{m.debug("[useMeetingCacheSync] Cleaning up cache sync observer",{meetingId:n}),e(),i.current=null,r.current=!1}},[n,a])}const ss=({collaborationConfig:e}={})=>{const{id:a}=mt(),i=ut(),r=dt(),[s,o]=t.useState(!1),[p]=t.useState(()=>!0===i.state?.justCreated),g=z();ei(),_a(),rs(a??null);const{stopCapture:f,toggleCapture:h,isCapturing:y}=$e(),{checkPermissions:x,allGranted:v,permissionStatus:_}=We(),w=d(e=>e.userIdsCapturingAudio),j=d(e=>e.startDate),I=d(e=>e.startTimeOffset),{isConfirmModalOpen:k,onConfirmModalOpenChange:N,onConfirmEnd:E,onCancelEnd:A,openConfirmModal:T}=Be(),[R,D]=t.useState(!1),[M,P]=t.useState(!1),L=Kt(e=>e.showWorkspaceYjsDoc),F=Kt(e=>e.showWorkspaceCollaborationDoc),O=Kt(e=>e.showYjsDoc),G=Kt(e=>e.showCollaborationDoc),$=Kt(e=>e.showCollaborationContextLinksFragment),{connect:W,disconnect:B}=qr(),[U]=pt(),H=d(e=>e.initializeMeeting),q=d(e=>e.initializedMeeting),V=d(e=>e.connectToTiptap),Z=d(e=>e.calendarEventId),K=d(e=>e.setMeetingStatus),Q=d(e=>e.meetingStatus),Y=d(e=>e.setServerIsFinalized),J=vt(),X=d(e=>e.meetingId),ee=d(e=>e.isInstant),te=d(e=>e.title);Ue(q?te||"New meeting":null),ga([a?{type:"meeting",id:a}:null]),He(q?qe({title:te,meetingStatus:Q,startDate:j}):null);const ne=d(e=>e.agendaItems),ae=b(e=>e.meetingId),ie=qt(e=>
2e.initializeMeetingWorkspace),re=qt(e=>e.connectToTiptap),se=qt(e=>e.clearMeetingWorkspace),oe=qt(e=>e.reconnectToTiptapWithFreshToken),{user:ce}=l(),le=ce?.workspace?.id,de=Ve(ce),ue=Re(e=>e.connectionState),me=Re(e=>e.hasEverSynced),pe=Re(e=>e.provider),ge=Re(e=>"disconnected"===e.connectionState),fe=Me(e=>"disconnected"===e.connectionState),he=e;(e=>{const t=c.c(9),n=d(Or),a=d(zr),i=Re(Gr),r=Re($r),s=Lr(),o=Boolean(a),l=r;let u,m;t[0]!==s||t[1]!==n?(u=fa({fetchToken:De,reconnect:n,handleAccessDenied:s,logLabel:"[meeting reconnect]"}),t[0]=s,t[1]=n,t[2]=u):u=t[2],t[3]!==e||t[4]!==i||t[5]!==o||t[6]!==l||t[7]!==u?(m={id:e,isDocReady:o,connectionState:l,setAuthFailureCallback:i,reconnect:u},t[3]=e,t[4]=i,t[5]=o,t[6]=l,t[7]=u,t[8]=m):m=t[8],ma(m)})(a),((e,t,n)=>{const a=c.c(12),i=d(Br),r=Lr(),s=Re(Ur),o=Me(Hr),l=t?.token_expires_at;let u,m,p;a[0]!==r||a[1]!==i||a[2]!==n?(u=ha({fetchToken:De,reconnect:ya({logLabel:Wr,primary:i,secondaries:[n]}),handleAccessDenied:r,logLabel:Wr}),a[0]=r,a[1]=i,a[2]=n,a[3]=u):u=a[3],a[4]!==s||a[5]!==o?(m=[s,o],a[4]=s,a[5]=o,a[6]=m):m=a[6],a[7]!==e||a[8]!==l||a[9]!==u||a[10]!==m?(p={id:e,tokenExpiresAt:l,logLabel:Wr,refresh:u,accessChangedRegistrars:m},a[7]=e,a[8]=l,a[9]=u,a[10]=m,a[11]=p):p=a[11],pa(p)})(a,he,de?void 0:oe),(e=>{const n=d(e=>e.reconnectToTiptapWithFreshToken),a=d(e=>e.participants)??[],i=d(e=>e.recapWorkspaceRole),r=d(e=>e.meetingLinkRole),s=d(e=>
2e.meetingWorkspaceRole),o=d(e=>e.initializedMeeting),c=qt(e=>e.reconnectToTiptapWithFreshToken),p=l(e=>e.user),g=Lr(),f=[i,r,s].join("|"),h=t.useRef(void 0),y=t.useRef(void 0),x=t.useRef(null),v=t.useRef(!1),b=u(a,p)?.role??null,_=t.useCallback(async e=>{if(v.current)m.debug("[ROLE RECONNECT] Skipping - reconnection already in progress");else{v.current=!0;try{const t=await De(e);if(!t.tiptap_token||!t.tiptap_app_id||!t.tiptap_collaboration_url)throw new Error("Invalid token response from server");const a=()=>Promise.resolve({tiptap_app_id:t.tiptap_app_id,tiptap_token:t.tiptap_token,tiptap_collaboration_url:t.tiptap_collaboration_url}),i={forceSoftReconnect:!0},[r,s]=await Promise.allSettled([n(a,i),c(a,i)]);if("rejected"===s.status&&m.error("[ROLE RECONNECT] Failed to reconnect workspace document:",s.reason),"rejected"===r.status)throw r.reason}catch(t){if(g(t))return;m.error("[ROLE RECONNECT] Failed to reconnect:",t)}finally{v.current=!1}}},[n,c,g]);t.useEffect(()=>{h.current=void 0,y.current=void 0},[e,p?.id,p?.email]),t.useEffect(()=>{if(!e||!o)return;const t=h.current;if(h.current=f,void 0===t)return;if(t===f)return;m.debug("[ROLE RECONNECT] Detected workspace/link role change",{from:t,to:f,meetingId:e}),x.current&&clearTimeout(x.current);const n=e;x.current=setTimeout(()=>{_(n)},500)},[e,o,f,_]),t.useEffect(()=>{if(!e||!p||!o)return;const t=y.current;if(y.current=b,void 0===t)return;if(t===b)return;m.debug("[ROLE RECONNECT] Detected participant role change",{from:t,to:b,meetingId:e}),x.current&&clearTimeout(x.current);const n=e;x.current=setTimeout(()=>{_(n)},500)},[e,p,o,b,_]),t.useEffect(()=>()=>{x.current&&(clearTimeout(x.current),x.current=null)},[])})(a);const{clearMeetingState:ye}=d();t.useEffect(()=>{(Object.values(w).flat().length>0||y)&&"PENDING"===Q&&X===ae&&K("IN_PROGRESS")},[w,y,Q,X,ae,K]),t.useEffect(()=>{const e=Object.values(w).flat().length>0||y,t=(()=>{if(!j||I<0)return!1;const e=new Date(`${j}T00:00:00Z`);return e.setUTCSeconds(I),Date.now()<e.getTime()})();e||"IN_PROGRESS"!==Q||ee||Ze()||!t||K("PENDING")},[w,y,Q,K,ee,j,I]);const xe=t.useRef(a);t.useEffect(()=>{const e=xe.current;xe.current=a,e&&a&&e!==a&&(B(),ye(),se(),Ke.getState().clearSelection(),Qe.getState().reset())},[a]),t.useEffect(()=>{Y(!0===e?.is_finalized)},[a,e?.is_finalized,Y]),t.useEffect(()=>()=>{B(),ye(),se(),Ke.getState().clearSelection(),Qe.getState().reset()},[]),t.useEffect(()=>{S().ready&&x()},[x]),t.useEffect(()=>{pe&&me&&W()},[pe,me]),t.useEffect(()=>{if(!a||q)return;sessionStorage.getItem(`meeting-${a}-calendar-end-time`)&&sessionStorage.removeItem(`meeting-${a}-calendar-end-time`),H({meetingId:a,meetingTiptapDocId:`mtg-${a}`})},[a,q]);const ve=t.useRef(!1);t.useEffect(()=>{if(q&&a&&!ve.current&&ee&&(!te||""===te.trim())){ve.current=!0;const e=`Instant Meeting - ${new Intl.DateTimeFormat("en-US",{weekday:"long",month:"long",day:"numeric"}).format(new Date)}`;d.getState().setTitle(e),C.updateMeeting(a,{title:e,update_tiptap:!1}).catch(e=>{m.error("Failed to persist generated meeting title to backend:",e)})}},[q,a,ee]),t.useEffect(()=>{a&&le&&(m.debug("[WORKSPACE INIT] Initializing workspace document",{meetingId:a,userWorkspaceId:le}),ie({meetingId:a,workspaceId:le}))},[a,le,ie]),t.useEffect(()=>{if(ge)if(a&&he&&he.tiptap_token&&he.tiptap_app_id&&he.tiptap_collaboration_url){(async()=>{try{const e={tiptap_app_id:he.tiptap_app_id,tiptap_token:he.tiptap_token,tiptap_collaboration_url:he.tiptap_collaboration_url};await V(e)}catch(e){m.error("Failed to connect to Tiptap provider:",e)}})()}else a&&!he&&m.warn("Meeting loaded but Tiptap configuration is missing")},[a,he,V,ge]),t.useEffect(()=>{if(fe&&a&&le&&he&&he.tiptap_token&&he.tiptap_app_id&&he.tiptap_collaboration_url){(async()=>{try{const n={tiptap_app_id:he.tiptap_app_id,tiptap_token:he.tiptap_token,tiptap_collaboration_url:he.tiptap_collaboration_url};m.debug("[WORKSPACE CONNECT] Attempting to connect to workspace Tiptap provider",{meetingId:a,userWorkspaceId:le});try{await re(n)}catch(e){m.warn("[WORKSPACE CONNECT] Initial connection to workspace Tiptap provider failed; attempting initialization and retry",{error:e});try{await Bt.postMeetingsWorkspacesTiptapInitialize(a,le)}catch(t){throw m.error("[WORKSPACE CONNECT] Failed to initialize workspace TipTap document before retry:",t),t}m.debug("[WORKSPACE CONNECT] Retrying workspace Tiptap connection after initialization",{meetingId:a,userWorkspaceId:le,hasToken:!!n.tiptap_token}),await re(n)}}catch(n){m.error("Failed to connect to workspace Tiptap provider (after optional initialization):",n)}})()}},[a,le,he,re,fe]),t.useEffect(()=>{S().ready&&(async()=>{try{await x()}catch(e){Ut.error("Cannot capture meeting audio, please check your audio permissions."),m.error("Check permissions in Meet Right Now flow failed:",e)}})()},[x,f]);const be=t.useRef(null),_e=t.useRef(null),[we,Se]=t.useState(!1);t.useEffect(()=>{const e=!(!a||X!==a||!me);e||m.appInfo("[MeetingPage] Auto-start: Waiting for conditions",{hasMeetingId:!!a,storeMeetingId:X,currentMeetingId:a,hasEverSynced:me}),Se(e)},[a,X,me]),t.useEffect(()=>{let e=!0;
2if(!a||be.current===a||!we||!q)return;const t=i.state,n=Ye(U),s=t?.autoStartCapture||n,o=!0===t?.manualMode;if(!s&&!o||void 0!==Q){if(be.current=a,o)return r(i.pathname,{replace:!0,state:{}}),Je(),void m.appInfo("[MeetingPage] Manual mode: set IN_PROGRESS without capture",{meetingId:a});if(s){if(n){U.delete(Xe);const e=U.toString(),t=e?`${i.pathname}?${e}`:i.pathname;r(t,{replace:!0,state:{}})}else r(i.pathname,{replace:!0,state:{}});if(S().ready){if(v){m.appInfo('[MeetingPage] Auto-starting capture for "Meet Right Now" flow',{meetingId:a});{const e=d.getState();"IN_PROGRESS"===e.meetingStatus&&(e.startedAt||e.setStartedAt((new Date).toISOString()),e.startTimerUpdates())}return h().catch(t=>{e&&(m.error("Failed to auto-start capture:",t),m.appError("[MeetingPage] Failed to auto-start capture:",t),Ut.error("Failed to start audio capture. Please check your audio permissions."))}),()=>{e=!1}}e&&("NotRequested"===_?.type?D(!0):P(!0))}}else m.appInfo("[MeetingPage] Auto-start: No auto-capture intent in navigation state or query string",{meetingId:a,hasNavigationState:!!i.state,hasIntentCapture:n})}else _e.current!==a&&(_e.current=a,m.appInfo("[MeetingPage] Auto-start: Waiting for meeting data hydration",{meetingId:a}))},[we,i.state,i.pathname,U,a,r,h,q,v,_?.type,Q]);const je=t.useRef(!1);t.useEffect(()=>{const e=i.state;e?.showEndMeetingModal&&(je.current||(je.current=!0,r(i.pathname,{replace:!0,state:{}}),m.debug("Opening end meeting confirmation modal from notification",{meetingId:a}),T()))},[i.state,i.pathname,a,r,T]);if(!q||ue===et.CONNECTING&&!me||ue===et.DISCONNECTED&&!me)return null;const Ie=Boolean(Z);return n.jsxs(n.Fragment,{children:[n.jsx(tt,{isOpen:k,onOpenChange:N,onConfirm:E,onCancel:A,title:"End this meeting?",description:"This will end the meeting and stop note capture for all attendees.",confirmLabel:"End Meeting"}),n.jsxs("div",{className:"flex h-full min-h-0 flex-col","data-testid":"meeting-page",children:["PENDING"!==Q&&n.jsx(Ja,{}),S().ready&&!v&&n.jsx(ts,{onShowMeHow:()=>{"NotRequested"===_?.type?D(!0):P(!0)},onDismiss:async()=>{await x()}}),!Ie&&g&&"PENDING"===Q&&n.jsx(Pr,{onLinkClick:()=>o(!0)}),Ve(ce)&&n.jsx(ns,{}),n.jsx(wt,{isOpen:s,onClose:()=>o(!1),meetingId:a}),n.jsx(nt,{main:n.jsxs("div",{className:`flex-1 overflow-y-auto pb-20 [overflow-anchor:none] ${"IN_PROGRESS"===J?"bg-gray-50":"bg-white"} scroll-smooth`,"data-testid":"meeting-scroll-container",children:[(O||G||$)&&n.jsx("div",{className:"mb-4 flex flex-col gap-4 px-8 lg:flex-row",children:(G||$)&&n.jsx("div",{className:"min-w-0 flex-1",children:n.jsx(St,{})})}),(L||F)&&n.jsx("div",{className:"mb-4 flex flex-col gap-4 px-8 lg:flex-row",children:F&&n.jsx("div",{className:"min-w-0 flex-1",children:n.jsx(ba,{})})}),n.jsx(jt,{autoFocusTitle:p}),("PENDING_FINALIZATION"===J||"FINALIZED"===J)&&n.jsx(Dr,{children:n.jsx(It,{className:"",readOnly:!0})}),0===ne.length&&"PENDING_FINALIZATION"!==J&&"FINALIZED"!==J&&n.jsx(It,{className:"mt-6 px-8"}),n.jsx("section",{className:"h-16 shrink-0"})]}),variant:"wide-main"})]}),n.jsx(at,{open:R,onClose:async()=>{D(!1),await x()}}),n.jsx(it,{open:M,onClose:async()=>{P(!1),await x()}})]})};const os=()=>{const{id:e}=mt(),{user:i}=l(),r=dt(),s=ut(),{data:u,isLoading:p}=_e(),g=d(e=>e.recapWorkspaceRole),f=d(e=>e.meetingLinkRole),h=d(e=>
2e.meetingWorkspaceRole),y=d(e=>e.recapLinkRole),x=d(e=>e.endedAt),v=function(e,t,n,a,i){const{linkRole:r,workspaceRole:s}=o({meetingLinkRole:t,meetingWorkspaceRole:i,recapLinkRole:n,recapWorkspaceRole:e},a);return"NOACCESS"===r&&"VIEWER"!==s}(g,f,y,x,h),b=d(e=>e.meetingStatus),_=d(e=>e.deletedByUserId),w=d(e=>e.deletedByDisplayName),{disconnectProvider:j}=Re(),I=d(e=>e.initializedMeeting),C=Re(e=>e.connectionState),k=Re(e=>e.hasEverSynced),N=!p,E=u?.id??i?.id,{data:A,isLoading:T,isError:R,error:D,refetch:M}=rt(e,E,N);t.useEffect(()=>{A?.redirect_to_meeting_id&&((async()=>{const{toast:e}=await a(async()=>{const{toast:e}=await import("./notifications-CniyskoD.js").then(e=>e.i);return{toast:e}},__vite__mapDeps([3,1]));e("Redirecting to your workspace copy...")})(),r(`/meetings/${A.redirect_to_meeting_id}`,{replace:!0}))},[A?.redirect_to_meeting_id,r]);const P=st("/meetings",A?.merge_redirect,s.search);t.useEffect(()=>{if(A?.content_syncing){const e=setTimeout(()=>{M()},2e3);return()=>clearTimeout(e)}},[A?.content_syncing,M]);const L=t.useCallback(()=>{j(),e&&ot(s.pathname+s.search+s.hash),r("/signin",{replace:!0})},[j,r,e,s.pathname,s.search,s.hash]),F=t.useCallback((e,t)=>{j(),r(e,{replace:!0,state:t})},[j,r]);t.useEffect(()=>{v&&N&&e&&M()},[v,N,e,M]);const O=t.useRef(!1);t.useEffect(()=>{if(R&&!O.current){if("DELETED"===b)return;O.current=!0;let t;if(t=w?{type:"info",message:`Meeting deleted by ${w}.`}:D instanceof lt?{type:"error",message:"Meeting not found."}:{type:"error",message:"Something went wrong. Please try again."},!E&&N){try{window?.sessionStorage?.setItem("FLASH_TOAST",JSON.stringify(t))}catch(e){m.warn("MeetingAccessGuard: failed to set FLASH_TOAST (guest error path)",e)}return void L()}F("/",{toast:t})}},[R,D,b,w,F,E,N,L]),t.useEffect(()=>{E||!N||!b||"PENDING_FINALIZATION"!==b&&"FINALIZED"!==b||"NOACCESS"!==y||L()},[b,E,N,y,L]),t.useEffect(()=>{E&&N&&e&&"PENDING_FINALIZATION"===b&&M()},[b,E,N,e,M]),t.useEffect(()=>{if("DELETED"===b&&!O.current){O.current=!0;const e=E?String(E):"",t=_?String(_):"",n=Boolean(e&&t&&e===t);F("/",{toast:{type:"info",message:n?"Meeting deleted.":`Meeting deleted by ${w||"the owner"}.`}})}},[b,_,w,E,F]);const z=!(!A||A.redirect_to_meeting_id||A.merge_redirect||A.content_syncing)&&(!I||C===et.CONNECTING&&!k||C===et.DISCONNECTED&&!k),G=!!A?.content_syncing;return function(e){const n=c.c(7),{meetingId:a,meetingPageStillLoading:i,hasEverSynced:r,contentSyncing:s}=e,{track:o}=te(),l=t.useRef(null);let d,u;n[0]!==s||n[1]!==r||n[2]!==a||n[3]!==i||n[4]!==o?(d=()=>{if(!a)return;let e=l.current;if(e&&e.meetingId===a||(e={meetingId:a,startedAt:performance.now(),cold:!r,contentSyncing:!1,sawLoading:!1,fired:!1},l.current=e),e.fired)return;if(s&&(e.contentSyncing=!0),i)return void(e.sawLoading=!0);if(!e.sawLoading)return;e.fired=!0;const t=Math.round(performance.now()-e.startedAt);o("meeting_load_completed",{meeting_id:a,duration_ms:t,cold:e.cold,platform:S().ready?"desktop":"web",content_syncing:e.contentSyncing})},u=[a,i,r,s,o],n[0]=s,n[1]=r,n[2]=a,n[3]=i,n[4]=o,n[5]=d,n[6]=u):(d=n[5],u=n[6]),t.useEffect(d,u)}({meetingId:e,meetingPageStillLoading:z,hasEverSynced:k,contentSyncing:G}),ct({loading:p||T||z||G,message:G?"Preparing your workspace copy...":z?"Loading meeting data...":"Checking meeting access..."}),p||T||G?null:P?n.jsx(gt,{targetPath:P,isAuthenticated:!!E,className:"mt-12"}):!A||A.redirect_to_meeting_id||A.merge_redirect?null:n.jsx(ss,{collaborationConfig:A})};export{os as default};
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.