PageSourceSearch

https://app.contio.ai/assets/MeetingAccessGuard-B8gSzU9N.js

js contio.ai collected 2026-10-01 23:44:47 UTC 127,543 bytes, 2 lines download raw bytes

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.