PageSourceSearch

https://juristai.org/static/js/27.7296445b.chunk.js

js juristai.org collected 2026-10-09 22:58:51 UTC 100,495 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkjuristai_home=self.webpackChunkjuristai_home||[]).push([[27],{4334(e,n,a){a.d(n,{Ay:()=>o});var s=a(5544),i=a(6998),t=a(8629),l=a(3446);const o=e=>{let n=e.className,a=void 0===n?"matter-usage":n,o=e.labelClassName,r=e.valueClassName,d=e.userId,c=e.organizationId;const u=(0,i.useState)({status:"loading",entitlement:null}),v=(0,s.A)(u,2),p=v[0],m=v[1],h=(0,i.useState)([]),g=(0,s.A)(h,2),x=g[0],j=g[1],b=(0,i.useState)(c||""),A=(0,s.A)(b,2),I=A[0],f=A[1],N=(0,i.useState)(d?"ready":"loading"),y=(0,s.A)(N,2),C=y[0],w=y[1];(0,i.useEffect)(()=>{if(d)return void w("ready");let e=!0;return w("loading"),(0,t.hN)().then(n=>{if(!e)return;const a=Array.isArray(n)?n:[];j(a),f(e=>e&&a.some(n=>n.organizationId===e)?e:1===a.length?a[0].organizationId:""),w(a.length?"ready":"error")}).catch(()=>{e&&w("error")}),()=>{e=!1}},[d]),(0,i.useEffect)(()=>{let e=!0;return m({status:"loading",entitlement:null}),d||"ready"===C?d||I?((0,t.Zo)(d?{userId:d,organizationId:c}:{organizationId:I}).then(n=>{e&&m({status:n?"ready":"error",entitlement:n})}).catch(()=>{e&&m({status:"error",entitlement:null})}),()=>{e=!1}):(m({status:"select-organization",entitlement:null}),()=>{e=!1}):(m({status:"error"===C?"error":"loading",entitlement:null}),()=>{e=!1})},[d,c,C,I]);let S="Loading\u2026";const _="ready"===p.status?(e=>{const n=String((null===e||void 0===e?void 0:e.planCode)||"").trim();if(!n)return null;const a=e=>{const n=e.replace(/[_-]+/g," ").toLowerCase();return n.charAt(0).toUpperCase()+n.slice(1)},s=a(n.replace(/^juristai[_-]/i,"")),i=String((null===e||void 0===e?void 0:e.subscriptionStatus)||"").trim(),t=i?a(i):"Status unavailable";return"Vienna plan: ".concat(s," \xb7 ").concat(t)})(p.entitlement):null;return"error"===p.status&&(S="Unavailable right now"),"select-organization"===p.status&&(S="Choose a billing organization"),"ready"===p.status&&(S=(e=>{var n,a;const s=Number(null!==(n=null===e||void 0===e?void 0:e.activeMatterCount)&&void 0!==n?n:0),i="".concat(s," open matter").concat(1===s?"":"s");if(null!==e&&void 0!==e&&e.unlimited)return"".concat(i," \xb7 Unlimited");if(null===(null===e||void 0===e?void 0:e.matterLimit)||void 0===(null===e||void 0===e?void 0:e.matterLimit))return"".concat(i," \xb7 No matter plan yet");const t=Number(null!==(a=null===e||void 0===e?void 0:e.remainingMatterCount)&&void 0!==a?a:Math.max(0,e.matterLimit-s));return"".concat(s," of ").concat(e.matterLimit," matters used \xb7 ").concat(t," remaining")})(p.entitlement)),(0,l.jsxs)("section",{className:a,"aria-label":"Organization matter usage","aria-live":"polite",children:[(0,l.jsx)("span",{className:o,children:"Matters (all practice areas)"}),!d&&x.length>1&&(0,l.jsxs)("label",{children:["Billing organization",(0,l.jsxs)("select",{"aria-label":"Billing organization",value:I,onChange:e=>f(e.target.value),children:[(0,l.jsx)("option",{value:"",children:"Choose an organization"}),x.map(e=>(0,l.jsx)("option",{value:e.organizationId,children:e.organizationName||e.organizationId},e.organizationId))]})]}),(0,l.jsx)("strong",{className:r,"data-testid":"matter-usage-summary",children:S}),_&&(0,l.jsx)("small",{"data-testid":"matter-plan-summary",children:_})]})}},27(e,n,a){a.r(n),a.d(n,{default:()=>X});var s=a(9379),i=a(5544),t=a(6998),l=a(4317),o=a(1365),r=a(8657),d=a(549),c=a(6061),u=a(5040),v=a(398),p=a(8325),m=a(2170),h=a(8422),g=a(8849),x=a(8606),j=a(1567),b=a(8244);const A=e=>String(e||"").trim().toLowerCase(),I=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const n=A(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"");if(!n)return[];const a=[],s=[];return e.forEach(e=>{const i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[null===e||void 0===e?void 0:e.firstName,null===e||void 0===e?void 0:e.lastName].filter(Boolean).join(" ").trim();return[null===e||void 0===e?void 0:e.email,null===e||void 0===e?void 0:e.userId,null===e||void 0===e?void 0:e.organizationId,null===e||void 0===e?void 0:e.firstName,null===e||void 0===e?void 0:e.lastName,n,null===e||void 0===e?void 0:e.role,...(a=null===e||void 0===e?void 0:e.assignedCases,Array.isArray(a)?a:[])].filter(
1Boolean).map(e=>A(e)).filter(Boolean);var a}(e);i.length&&(i.some(e=>e===n)?a.push(e):i.some(e=>e.includes(n))&&s.push(e))}),[...a,...s]},f=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0)},N={all:"All time",day:"Last 24 hours",week:"Last 7 days",month:"Last 30 days",calendar_month:"This calendar month",year:"Last 365 days"},y=e=>N[e]||"Selected window",C=e=>{const n=Number(e);return Number.isFinite(n)?n:0},w=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce((e,n)=>e+C(null===n||void 0===n?void 0:n.costUsd),0)},S={openai:"AI services",pacer:"PACER purchases",courtlistener:"CourtListener lookups",perplexity:"AI web research"},_=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];const n=new Map;return e.forEach(e=>{const a=(e=>{var n;const a=String((null===e||void 0===e||null===(n=e.meta)||void 0===n?void 0:n.provider)||"").trim().toLowerCase();if(a)return a;const s=String((null===e||void 0===e?void 0:e.model)||"").trim().toLowerCase();return s.startsWith("pacer-")?"pacer":s.startsWith("courtlistener-")?"courtlistener":"openai"})(e),s=n.get(a)||{provider:a,cost:0,records:0};s.cost+=C(null===e||void 0===e?void 0:e.costUsd),s.records+=1,n.set(a,s)}),Array.from(n.values()).sort((e,n)=>n.cost-e.cost||n.records-e.records)};var E=a(2579),k=(a(7876),a(4334)),R=a(3446);const T=[],P={1:"Criminal Defense",2:"Vienna",3:"Vienna VC/startup deal lawyers",4:"Vienna founders/employees"},U=e=>"string"===typeof e&&e.toLowerCase().endsWith("@juristai.org"),D=e=>[null===e||void 0===e?void 0:e.firstName,null===e||void 0===e?void 0:e.lastName].filter(Boolean).join(" ")||(null===e||void 0===e?void 0:e.email)||(null===e||void 0===e?void 0:e.userId)||"Unknown user",L=(e,n)=>String(e||"").localeCompare(String(n||""),void 0,{sensitivity:"base"}),z=e=>Array.isArray(e)?e:[],F=18e4,O=e=>{const n=String(e||"").trim().toLowerCase(),a=n.match(/<([^>]+)>/);return(a?a[1]:n).trim()},M=e=>new Promise(n=>{window.setTimeout(n,e)}),W=e=>z(e).join(", "),B=e=>String(e||"").split(",").map(e=>e.trim()).filter(Boolean),q=e=>P[String(e||"")]||String(e||"Unknown"),V=e=>{if(!e)return"";const n=new Date(e);return Number.isNaN(n.getTime())?"":n.toISOString().slice(0,10)},Y=e=>{if(!e)return"Unknown";const n=new Date(e);return Number.isNaN(n.getTime())?String(e):new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(n)},H=e=>{if(!e)return"Unknown";const n=new Date(e);return Number.isNaN(n.getTime())?String(e):new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}).format(n)},K=e=>{if(null===e||void 0===e||""===e)return"Unknown";const n=Number(e);if(!Number.isFinite(n))return H(e);return H(n<1e12?1e3*n:n)},J=e=>{const n=Number(e||0);return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:2}).format(Number.isFinite(n)?n:0)},Z=e=>{const n=String(e||"").toLowerCase();return n.includes("error")||n.includes("revoked")||n.includes("failed")?"critical":n.includes("connected")||n.includes("active")?"healthy":"warning"},G=e=>{if(!e)return!1;const n=new Date(e);return!Number.isNaN(n.getTime())&&n.getTime()<Date.now()},$=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!e.length)return"No subscription";const n=e.filter(e=>!G(null===e||void 0===e?void 0:e.endDate));return 0===n.length?"Expired subscription":n.map(e=>"".concat(q(e.appId),":").concat(e.pricingTier||"unknown tier")).join(", ")},X=()=>{var e;const n=(0,o.zy)(),a=(0,o.Zp)(),A=(0,t.useMemo)(()=>(0,j.l8)(n.search),[n.search]),N=(0,t.useState)(""),C=(0,i.A)(N,2),X=C[0],Q=C[1],ee=(0,t.useState)(""),ne=(0,i.A)(ee,2),ae=ne[0],se=ne[1],ie=(0,t.useState)(""),te=(0,i.A)(ie,2),le=te[0],oe=te[1],re=(0,t.useState)("external"),de=(0,i.A)(re,2),ce=de[0],ue=de[1],ve=(0,t.useState)("name-asc"),pe=(0,i.A)(ve,2),me=pe[0],he=pe[1],ge=(0,t.useState)(null),xe=(0,i.A)(ge,2),je=xe[0],be=xe[1],Ae=(0,t.useState)(null),Ie=(0,i.A)(Ae,2),fe=Ie[0],Ne=Ie[1],ye=(0,t.useState)(null),Ce=(0,i.A)(ye,2),we=Ce[0],Se=Ce[1],_e=(0,t.useState)([]),Ee=(0,i.A)(_e,2),ke=Ee[0],Re=Ee[1],Te=(0,t.useState)(!0),Pe=(0,i.A)(Te,2),Ue=Pe[0],De=Pe[1],Le=(0,t.useState)(!1),ze=(0,i.A)(Le,2),Fe=ze[0],Oe=ze[1],Me=(0,t.useState)(""),We=(0,i.A)(Me,2),Be=We[0],qe=We[1],Ve=(0,t.useState)(""),Ye=(0,i.A)(Ve,2),He=Ye[0],Ke=Ye[1],Je=(0,t.useState)(""),Ze=(0,i.A)(Je,2),Ge=Ze[0],$e=Ze[1],Xe=(0,t.useState)(null),Qe=(0,i.A)(Xe,2),en=Qe[0],nn=Qe[1],an=(0,t.useState)(null),sn=(0,i.A)(an,2),tn=sn[0],ln=sn[1],on=(0,t.useState)(null),rn=(0,i.A)(on,2),dn=rn[0],cn=rn[1],un=(0,t.useState)(null),vn=(0,i.A)(un,2),pn=vn[0],mn=vn[1],hn=(0,t.useState)(null),gn=(0,i.A)(hn,2),xn=gn[0],jn=gn[1],bn=(0,t.useState)(null),An=(0,i.A)(bn,2),In=An[0],fn=An[1],Nn=(0,t.useState)(null),yn=(0,i.A)(Nn,2),Cn=yn[0],wn=yn[1],Sn=(0,t.useState)(!1),_n=(0,i.A)(Sn,2),En=_n[0],kn=_n[1],Rn=(0,t.useState)(!1),Tn=(0,i.A)(Rn,2),Pn=Tn[0],Un=Tn[1],Dn=(0,t.useState)(!1),Ln=(0,i.A)(Dn,2),zn=(Ln[0],Ln[1]),Fn=(0,t.useState)(null),On=(0,i.A)(Fn,2),Mn=On[0],Wn=On[1],Bn=(0,t.useState)(null),qn=(0,i.A)(Bn,2),Vn=qn[0],Yn=qn[1],Hn=(0,t.useState)(!1),Kn=(0,i.A)(Hn,2),Jn=Kn[0],Zn=Kn[1],Gn=(0,t.useState)(!1),$n=(0,i.A)(Gn,2),Xn=$n[0],Qn=$n[1],ea=(0,t.useState)(!1),na=(0,i.A)(ea,2),aa=(na[0],na[1]),sa=(0,t.useState)(!1),ia=(0,i.A)(sa,2),ta=ia[0],la=ia[1],oa=(0,t.useState)(!1),ra=(0,i.A)(oa,2),da=(ra[0],ra[1],(0,t.useState)(!1)),ca=(0,i.A)(da,2),ua=(ca[0],ca[1]),va=(0,t.useState)("1"),pa=(0,i.A)(va,2),ma=pa[0],ha=pa[1],ga=(0,t.useState)([]),xa=(0,i.A)(ga,2),ja=xa[0],ba=xa[1],Aa=(0,t.useState)("all"),Ia=(0,i.A)(Aa,2),fa=Ia[0],Na=Ia[1],ya=(0,t.useState)({role:"",legalTeamIds:"",assignedCases:""}),Ca=(0,i.A)(ya,2),wa=Ca[0],Sa=Ca[1],_a=(0,t.useState)({appId:"",accessLevel:"",expirationDate:"",emailLinked:!0}),Ea=(0,i.A)(_a,2),ka=Ea[0],Ra=Ea[1],Ta=(0,t.useState)({appId:"",pricingTier:"",pricingStrategyId:"",amountCharged:"",startDate:"",endDate:""}),Pa=(0,i.A)(Ta,2),Ua=Pa[0],Da=Pa[1],La=(0,t.useState)(T),za=(0,i.A)(La,2),Fa=za[0],Oa=za[1],Ma=(0,t.useState)(!1),Wa=(0,i.A)(Ma,2),Ba=Wa[0],qa=Wa[1],Va=(0,t.useState)({caseId:"",sourceUserId:"",sourceEmail:"",role:""}),Ya=(0,i.A)(Va,2),Ha=Ya[0],Ka=Ya[1],Ja=(0,t.useState)({caseId:"",caseName:"",docketNumber:"",courtId:"",role:"plaintiff"}),Za=(0,i.A)(Ja,2),Ga=(Za[0],Za[1],(0,t.useState)({subject:"",body:""})),$a=(0,i.A)(Ga,2),Xa=$a[0],Qa=$a[1],es=(0,t.useState)("all-subscribers"),ns=(0,i.A)(es,2),as=ns[0],ss=ns[1],is=(0,t.useState)(!1),ts=(0,i.A)(is,2),ls=ts[0],os=ts[1],rs=(0,t.useState)(null),ds=(0,i.A)(rs,2),cs=ds[0],us=ds[1],vs=(0,t.useState)(!1),ps=(0,i.A)(vs,2),ms=ps[0],hs=ps[1],gs=(0,t.useState)(!1),xs=(0,i.A)(gs,2),js=xs[0],bs=xs[1],As=(0,t.useState)(!1),Is=(0,i.A)(As,2),fs=Is[0],Ns=Is[1],ys=(0,t.useState)(null),Cs=(0,i.A)(ys,2),ws=Cs[0],Ss=Cs[1],_s=(0,t.useState)({}),Es=(0,i.A)(_s,2),ks=Es[0],Rs=Es[1],Ts=(0,t.useState)(null),Ps=(0,i.A)(Ts,2),Us=Ps[0],Ds=Ps[1],Ls=(0,t.useState)(null),zs=(0,i.A)(Ls,2),Fs=zs[0],Os=zs[1],Ms=(0,t.useState)([]),Ws=(0,i.A)(Ms,2),Bs=Ws[0],qs=Ws[1],Vs=(0,t.useState)(!0),Ys=(0,i.A)(Vs,2),Hs=Ys[0],Ks=Ys[1],Js=(0,t.useState)(""),Zs=(0,i.A)(Js,2),Gs=Zs[0],$s=Zs[1],Xs=(0,t.useRef)(0),Qs=(0,t.useState)(null),ei=(0,i.A)(Qs,2),ni=ei[0],ai=ei[1],si=(0,t.useState)({costLeaderboard:!1,inboundEmailReplay:!1,customerWorkspace:!1,userProfileCorrection:!1,customerEmail:!1,appAccess:!1,subscriptions:!1,emailIntegrations:!1,zoomIntegrations:!1,slackIntegrations:!1,assignedCases:!1,caseAssignment:!1,caseRemoval:!1,newCaseIntake:!1,accessCorrection:!1,subscriptionCorrection:!1,integrationRemediation:!1,usageAndCosts:!1}),ii=(0,i.A)(si,2),ti=ii[0],li=ii[1],oi=(0,t.useState)({users:[],appAccesses:[],subscriptions:[],emailIntegrations:[],zoomIntegrations:[],slackIntegrations:[],openAICostLeaderboard:[]}),ri=(0,i.A)(oi,2),di=ri[0],ci=ri[1],ui=(0,t.useRef)(0),vi=(0,t.useRef)(null),pi=(0,t.useMemo)(()=>null!==fe&&void 0!==fe&&fe.userId||null!==fe&&void 0!==fe&&fe.email?(0,j.eH)("/dashboard/firm",{managedUserId:null===fe||void 0===fe?void 0:fe.userId,managedEmail:null===fe||void 0===fe?void 0:fe.email,managedOrganizationId:(null===we||void 0===we?void 0:we.organizationId)||(null===fe||void 0===fe?void 0:fe.organizationId),managedOrganizationName:null===we||void 0===we?void 0:we.organizationName,managedFirstName:null===fe||void 0===fe?void 0:fe.firstName,managedLastName:null===fe||void 0===fe?void 0:fe.lastName,managedFullName:D(fe),managedSource:"internal-ops"}):null,[we,fe]),mi=async function(){var e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=n.focusUserId,t=void 0===a?null:a,l=n.selectDefaultUser,o=void 0!==l&&l;const r=await(0,b.CF)();if(null===r||void 0===r||!r.success)throw new Error((null===r||void 0===r?void 0:r.message)||"Unable to load customer index.");const d=r.data||[];ci(e=>(0,s.A)((0,s.A)({},e),{},{users:d}));const c=t||(o?null===(e=d.find(e=>!U(null===e||void 0===e?void 0:e.email))||(null===d||void 0===d?void 0:d[0]))||void 0===e?void 0:e.userId:null);c&&gi(c,"",d.find(e=>(null===e||void 0===e?void 0:e.userId)===c));const u=[["appAccesses",b.S1],["subscriptions",b.u4],["emailIntegrations",b.hE],["openAICostLeaderboard",b.bw]];return Promise.all(u.map(async e=>{let n=(0,i.A)(e,2),a=n[0],t=n[1];try{const e=await t();if(null===e||void 0===e||!e.success)throw new Error((null===e||void 0===e?void 0:e.message)||"Unable to load ".concat(a,"."));return ci(n=>(0,s.A)((0,s.A)({},n),{},{[a]:e.data||[]})),null}catch(l){return console.error("Failed to load internal ops ".concat(a,":"),l),a}})).then(e=>{const n=e.filter(Boolean).map(e=>"openAICostLeaderboard"===e?"usage":e);n.length&&Ke("Loaded customer search with partial admin data. Unavailable: ".concat(n.join(", "),"."))}),{users:d}},hi=(0,t.useRef)(mi);hi.current=mi;const gi=async function(e){var n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const t=null===(n=di.users)||void 0===n?void 0:n.find(n=>(null===n||void 0===n?void 0:n.userId)===e),l=(0,x.i8)(s||t||null);
1if(!e&&(null===l||void 0===l||!l.userId))return;const o=++ui.current;Oe(!0),qe(""),Ss(null),Rs({}),a&&Ke(a);try{const n=l?{success:!0,data:l}:await(0,b.JP)({targetUserId:e});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Unable to load user workspace.");const s=(0,x.i8)(n.data);if(o!==ui.current)return;xi(s),Ne(s||null),be((null===s||void 0===s?void 0:s.userId)||e||(null===l||void 0===l?void 0:l.userId)),Se(null),Re([]),ba([]);const t=e||(null===l||void 0===l?void 0:l.userId),r=await Promise.all([(0,b.YP)({targetUserId:t,targetUserEmail:(null===s||void 0===s?void 0:s.email)||(null===l||void 0===l?void 0:l.email)}),(0,b.zW)({targetUserId:t}),(0,b.aw)({targetUserId:t}),(0,b.JN)({targetUserId:t})]),d=(0,i.A)(r,4),c=d[0],u=d[1],v=d[2],p=d[3];if(o!==ui.current)return;null!==v&&void 0!==v&&v.success&&bi("zoomIntegrations",t,v.data),null!==p&&void 0!==p&&p.success&&bi("slackIntegrations",t,p.data);const m=null!==c&&void 0!==c&&c.success&&c.data||[],h=null!==u&&void 0!==u&&u.success&&u.data||[];if(null!==u&&void 0!==u&&u.success?a||Ke(""):Ke("Customer details loaded, but usage records are unavailable: ".concat((null===u||void 0===u?void 0:u.message)||"Unknown error")),Re(m),ba(h),null!==s&&void 0!==s&&s.organizationId){const e=await(0,b.SA)({organizationId:s.organizationId});Se(null!==e&&void 0!==e&&e.success?e.data:null)}else Se(null)}catch(r){if(o!==ui.current)return;console.error("Failed to load internal ops detail:",r),qe("Failed to load customer workspace.")}finally{o===ui.current&&Oe(!1)}},xi=e=>{null!==e&&void 0!==e&&e.userId&&ci(n=>(0,s.A)((0,s.A)({},n),{},{users:n.users.map(n=>(null===n||void 0===n?void 0:n.userId)===e.userId?(0,s.A)((0,s.A)({},n),e):n)}))},ji=(e,n,a)=>{null!==n&&void 0!==n&&n[a]&&ci(i=>{const t=i[e]||[],l=t.findIndex(e=>(null===e||void 0===e?void 0:e[a])===n[a]);return(0,s.A)((0,s.A)({},i),{},{[e]:-1===l?[...t,n]:t.map((e,a)=>a===l?(0,s.A)((0,s.A)({},e),n):e)})})},bi=function(e,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];n&&ci(i=>(0,s.A)((0,s.A)({},i),{},{[e]:[...(i[e]||[]).filter(e=>(null===e||void 0===e?void 0:e.userId)!==n),...Array.isArray(a)?a:[]]}))},Ai=(e,n,a)=>{ci(i=>(0,s.A)((0,s.A)({},i),{},{[e]:(i[e]||[]).filter(e=>(null===e||void 0===e?void 0:e[n])!==a)}))},Ii=(0,t.useCallback)(async()=>{const e=++Xs.current;$s(""),Ks(!0);try{const n=await(0,b.RE)({limit:1e3});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to load inbound emails.");e===Xs.current&&(qs(n.data||[]),$s(""))}catch(n){e===Xs.current&&(console.error("Failed to load inbound emails:",n),$s(n.message||"Failed to load inbound emails."),(0,m.z)(n.message||"Failed to load inbound emails."))}finally{e===Xs.current&&Ks(!1)}},[]),fi=(0,t.useCallback)(async e=>{let n=e.messageId,a=e.userId,s=e.since,i=void 0===s?0:s;const t=String(n||"").trim(),l=String(a||"").trim();if(!t||!l)return[];const o=i?i-5e3:0,r=[t,"".concat(t,":coherent-response")],d=Date.now()+F;for(;Date.now()<d;){const e=(await Promise.all(r.map(e=>(0,b.Mi)({userId:l,requestId:e})))).filter(e=>null===e||void 0===e?void 0:e.success).flatMap(e=>Array.isArray(null===e||void 0===e?void 0:e.data)?e.data:[]).filter(e=>{const n=Date.parse((null===e||void 0===e?void 0:e.updatedAt)||"");return!o||Number.isNaN(n)||n>=o});if(e.length>0){const n=new Set;return e.filter(e=>{const a=[(null===e||void 0===e?void 0:e.requestId)||"",(null===e||void 0===e?void 0:e.status)||"",(null===e||void 0===e?void 0:e.subject)||""].join("|");return!n.has(a)&&(n.add(a),!0)})}await M(5e3)}return[]},[]);(0,t.useEffect)(()=>{Ii()},[Ii]),(0,t.useEffect)(()=>{(async()=>{De(!0),qe("");try{var e;await(null===(e=hi.current)||void 0===e?void 0:e.call(hi,{focusUserId:(null===A||void 0===A?void 0:A.managedUserId)||null}))}catch(n){console.error("Failed to load internal ops index:",n),qe("Failed to load internal management data.")}finally{De(!1)}})()},[null===A||void 0===A?void 0:A.managedUserId]);const Ni=di.users||T,yi=di.appAccesses||T,Ci=di.subscriptions||T,wi=di.emailIntegrations||T,Si=di.zoomIntegrations||T,_i=di.slackIntegrations||T,Ei=di.openAICostLeaderboard||T,ki=(0,t.useMemo)(()=>{const e=ae.trim().toLowerCase(),n=le.trim().toLowerCase();return Ni.filter(e=>"internal"===ce?U(null===e||void 0===e?void 0:e.email):"external"!==ce||!U(null===e||void 0===e?void 0:e.email)).filter(a=>{const s=[null===a||void 0===a?void 0:a.email,null===a||void 0===a?void 0:a.userId,null===a||void 0===a?void 0:a.organizationId,null===a||void 0===a?void 0:a.firstName,null===a||void 0===a?void 0:a.lastName,null===a||void 0===a?void 0:a.role].filter(
1Boolean).map(e=>String(e).toLowerCase()),i=!e||s.some(n=>n.includes(e)),t=!n||String((null===a||void 0===a?void 0:a.organizationId)||"").toLowerCase().includes(n);return i&&t}).slice().sort((e,n)=>{switch(me){case"name-desc":return L(D(n),D(e));case"organization-asc":return L(null===e||void 0===e?void 0:e.organizationId,null===n||void 0===n?void 0:n.organizationId)||L(D(e),D(n));case"organization-desc":return L(null===n||void 0===n?void 0:n.organizationId,null===e||void 0===e?void 0:e.organizationId)||L(D(e),D(n));case"newest":return new Date((null===n||void 0===n?void 0:n.createdDate)||0)-new Date((null===e||void 0===e?void 0:e.createdDate)||0);case"oldest":return new Date((null===e||void 0===e?void 0:e.createdDate)||0)-new Date((null===n||void 0===n?void 0:n.createdDate)||0);default:return L(D(e),D(n))}})},[ce,me,ae,le,Ni]),Ri=(0,t.useMemo)(()=>yi.filter(e=>(null===e||void 0===e?void 0:e.userId)===je),[yi,je]),Ti=(0,t.useMemo)(()=>Ci.filter(e=>(null===e||void 0===e?void 0:e.userId)===je),[je,Ci]),Pi=(0,t.useMemo)(()=>wi.filter(e=>(null===e||void 0===e?void 0:e.userId)===je),[wi,je]),Ui=(0,t.useMemo)(()=>Si.filter(e=>(null===e||void 0===e?void 0:e.userId)===je),[Si,je]),Di=(0,t.useMemo)(()=>_i.filter(e=>(null===e||void 0===e?void 0:e.userId)===je),[_i,je]),Li=ja,zi=(0,t.useMemo)(()=>(0,b.SO)(Bs,null===fe||void 0===fe?void 0:fe.email),[Bs,null===fe||void 0===fe?void 0:fe.email]),Fi=(0,t.useMemo)(()=>{const e=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;switch(e){case"day":return new Date(n.getTime()-864e5);case"week":return new Date(n.getTime()-6048e5);case"month":return new Date(n.getTime()-2592e6);case"calendar_month":return f(n);case"year":return new Date(n.getTime()-31536e6);default:return null}}(fa);return Li.filter(n=>{if(!e)return!0;const a=new Date((null===n||void 0===n?void 0:n.createdAt)||"");return!Number.isNaN(a.getTime())&&a>=e})},[Li,fa]),Oi=(0,t.useMemo)(()=>ke.filter(e=>"1"===String((null===e||void 0===e?void 0:e.appId)||"")),[ke]),Mi=(0,t.useMemo)(()=>ke.filter(e=>"2"===String((null===e||void 0===e?void 0:e.appId)||"")),[ke]),Wi=(0,t.useMemo)(()=>ke.filter(e=>["3","4"].includes(String((null===e||void 0===e?void 0:e.appId)||""))),[ke]),Bi=(0,t.useMemo)(()=>Ri.find(e=>(null===e||void 0===e?void 0:e.userAppAccessId)===en)||Ri[0]||null,[en,Ri]),qi=(0,t.useMemo)(()=>Ti.find(e=>(null===e||void 0===e?void 0:e.subsId)===tn)||Ti[0]||null,[tn,Ti]),Vi=(0,t.useMemo)(()=>Pi.find(e=>(null===e||void 0===e?void 0:e.integrationId)===dn)||Pi[0]||null,[dn,Pi]),Yi=(0,t.useMemo)(()=>ke.find(e=>(null===e||void 0===e?void 0:e.caseId)===pn)||ke[0]||null,[ke,pn]);(0,t.useEffect)(()=>{Sa({role:(null===fe||void 0===fe?void 0:fe.role)||"",legalTeamIds:W(null===fe||void 0===fe?void 0:fe.legalTeamIds),assignedCases:W(null===fe||void 0===fe?void 0:fe.assignedCases)}),Qa({subject:"",body:""}),ss(null!==fe&&void 0!==fe&&fe.email?"selected-user":"all-subscribers")},[fe]),(0,t.useEffect)(()=>{if(!Bi)return nn(null),void Ra({appId:"",accessLevel:"",expirationDate:"",emailLinked:!0});nn(Bi.userAppAccessId),Ra({appId:Bi.appId||"",accessLevel:Bi.accessLevel||"",expirationDate:V(Bi.expirationDate),emailLinked:Boolean(Bi.emailLinked)})},[Bi]),(0,t.useEffect)(()=>{if(!qi)return ln(null),void Da({appId:"",pricingTier:"",pricingStrategyId:"",amountCharged:"",startDate:"",endDate:""});ln(qi.subsId),Da({appId:qi.appId||"",pricingTier:qi.pricingTier||"",pricingStrategyId:qi.pricingStrategyId||"",amountCharged:qi.amountCharged||"",startDate:V(qi.startDate),endDate:V(qi.endDate)})},[qi]),(0,t.useEffect)(()=>{if(!In||!Ua.appId)return void Oa(T);let e=!1;return qa(!0),(0,b.kE)({appId:Ua.appId}).then(n=>{e||Oa(null!==n&&void 0!==n&&n.success?z(n.data):T)}).finally(()=>{e||qa(!1)}),()=>{e=!0}},[In,Ua.appId]);const Hi=(0,t.useMemo)(()=>Fa.find(e=>String(null===e||void 0===e?void 0:e.pricingStrategyId)===String(Ua.pricingStrategyId))||null,[Fa,Ua.pricingStrategyId]),Ki=(0,t.useMemo)(()=>z(null===Hi||void 0===Hi?void 0:Hi.tiers).map(e=>null===e||void 0===e?void 0:e.tier).filter(Boolean),[Hi]);(0,t.useEffect)(()=>{cn(Vi?Vi.integrationId:null)},[Vi]),(0,t.useEffect)(()=>{mn(Yi?Yi.caseId:null)},[Yi]);const Ji=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:je;await gi(e)},Zi=(0,t.useMemo)(()=>{const e=yi.filter(e=>G(null===e||void 0===e?void 0:e.expirationDate)).length,n=wi.filter(e=>(null===e||void 0===e?void 0:e.errorCode)||(null===e||void 0===e?void 0:e.errorMessage)||"critical"===Z(null===e||void 0===e?void 0:e.status)).length,a=wi.filter(e=>(e=>{if(!e)return!0;const n=new Date(e);return!!Number.isNaN(n.getTime())||(Date.now()-n.getTime())/36e5>24})(null===e||void 0===e?void 0:e.lastSyncAt)).length,s=Ni.filter(e=>!Ci.some(n=>(null===n||void 0===n?void 0:n.userId)===(null===e||void 0===e?void 0:e.userId)
1)).length,i=Ei.reduce((e,n)=>e+Number((null===n||void 0===n?void 0:n.highSpendRecordCount)||0),0);return[{label:"Expired access",value:e,tone:e?"critical":"healthy"},{label:"Mailbox errors",value:n,tone:n?"critical":"healthy"},{label:"Stale sync > 24h",value:a,tone:a?"warning":"healthy"},{label:"Users without subscription",value:s,tone:s?"warning":"healthy"},{label:"Spend records >= $25",value:i,tone:i?"warning":"healthy"}]},[yi,wi,Ei,Ci,Ni]),Gi=(0,t.useMemo)(()=>{const e=new Map(Ni.map(e=>[null===e||void 0===e?void 0:e.userId,e]));return Ei.map(n=>(0,s.A)((0,s.A)({},n),{},{totalCost:Number((null===n||void 0===n?void 0:n.totalCostUsd)||0),totalTokens:Number((null===n||void 0===n?void 0:n.totalTokens)||0),recordCount:Number((null===n||void 0===n?void 0:n.recordCount)||0),user:e.get(null===n||void 0===n?void 0:n.userId)||null})).sort((e,n)=>n.totalCost-e.totalCost)},[Ei,Ni]),$i=(0,t.useMemo)(()=>({totalCost:Li.reduce((e,n)=>e+Number((null===n||void 0===n?void 0:n.costUsd)||0),0),totalTokens:Li.reduce((e,n)=>e+Number((null===n||void 0===n?void 0:n.totalTokens)||0),0)}),[Li]),Xi=(0,t.useMemo)(()=>({totalCost:w(Fi),totalTokens:Fi.reduce((e,n)=>e+Number((null===n||void 0===n?void 0:n.totalTokens)||0),0)}),[Fi]),Qi=(0,t.useMemo)(()=>{const e=f();return w(Li.filter(n=>{const a=new Date((null===n||void 0===n?void 0:n.createdAt)||"");return!Number.isNaN(a.getTime())&&a>=e}))},[Li]),et=(0,t.useMemo)(()=>_(Fi),[Fi]),nt=(0,t.useMemo)(()=>new Set(z(null===fe||void 0===fe?void 0:fe.legalTeamIds).filter(Boolean)).size,[fe]),at=(0,t.useMemo)(()=>ke.length,[ke]),st=(0,t.useMemo)(()=>Array.from(new Set(Pi.map(e=>null===e||void 0===e?void 0:e.status).filter(Boolean))).join(", ")||"No integration",[Pi]),it=["Case ID","Name","Action"],tt=["Type","Role","Thread ID","Created"],lt=e=>{li(n=>(0,s.A)((0,s.A)({},n),{},{[e]:!n[e]}))},ot=e=>Boolean(ti[e]),rt=async()=>{const e=X.trim();if(e){Oe(!0),qe(""),Ke("");try{var n;const o=e.toLowerCase();let r=Ni;if(e.includes("@")){var a;const n=await(0,b.ht)({email:e});if(null!==n&&void 0!==n&&n.success&&null!==n&&void 0!==n&&null!==(a=n.data)&&void 0!==a&&a.userId)return void await gi(n.data.userId,"Resolved ".concat(e," by email."),n.data)}const d=r.find(e=>String(null===e||void 0===e?void 0:e.userId).toLowerCase()===o||String(null===e||void 0===e?void 0:e.email).toLowerCase()===o);if(null!==d&&void 0!==d&&d.userId)return void await gi(d.userId,"Resolved ".concat(e," from user index."),d);const c=r.find(e=>String(null===e||void 0===e?void 0:e.organizationId).toLowerCase()===o);if(null!==c&&void 0!==c&&c.userId)return void await gi(c.userId,"Resolved ".concat(e," to organization member ").concat(D(c),"."),c);const u=wi.find(e=>String(null===e||void 0===e?void 0:e.integrationId).toLowerCase()===o);if(null!==u&&void 0!==u&&u.userId)return void await gi(u.userId,"Resolved ".concat(e," from email integration ").concat(u.provider||"unknown provider"),r.find(e=>(null===e||void 0===e?void 0:e.userId)===u.userId));const v=await Promise.all([(0,b.YV)({requestId:e}),(0,b.iC)({runId:e})]),p=(0,i.A)(v,2),m=p[0],h=p[1],g=[...null!==m&&void 0!==m&&m.success&&m.data||[],...null!==h&&void 0!==h&&h.success&&h.data||[]].find(e=>String((null===e||void 0===e?void 0:e.runId)||"").toLowerCase()===o||String((null===e||void 0===e?void 0:e.requestId)||"").toLowerCase()===o);if(null!==g&&void 0!==g&&g.userId)return void await gi(g.userId,"Resolved ".concat(e," from usage record ").concat(g.runId||g.requestId,"."),r.find(e=>(null===e||void 0===e?void 0:e.userId)===g.userId));const x=r.find(e=>z(null===e||void 0===e?void 0:e.assignedCases).some(e=>String(e).toLowerCase()===o));if(null!==x&&void 0!==x&&x.userId)return void await gi(x.userId,"Resolved ".concat(e," from assigned case list for ").concat(D(x),"."),x);if(o){var t;const n=await(0,b.JP)({targetUserId:e});if(null!==n&&void 0!==n&&n.success&&null!==n&&void 0!==n&&null!==(t=n.data)&&void 0!==t&&t.userId)return void await gi(e,"Resolved ".concat(e," by user ID."))}if(!r.length)try{r=await(async()=>{var e;if(null!==(e=di.users)&&void 0!==e&&e.length)return di.users;const n=await(0,b.CF)();if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Unable to load customer index.");const a=n.data||[];return ci(e=>(0,s.A)((0,s.A)({},e),{},{users:a})),a})()}catch(l){return void Ke("Customer index is unavailable for this account. Search by exact email or user ID instead.")}const j=I(r,e);if(1===j.length&&null!==(n=j[0])&&void 0!==n&&n.userId)return void await gi(j[0].userId,"Resolved ".concat(e," from a customer index match."),j[0]);if(j.length>1)return ue("all"),se(e),void Ke("Found ".concat(j.length," matching customers in the loaded index. Select one from the customer list below."));Ke("No customer workspace was resolved for ".concat(e,"."))}catch(l){console.error("Failed to search internal ops:",l),qe("Search failed.")}finally{Oe(!1)}}else Ke("Enter an email, userId, organizationId, caseId, integrationId, requestId, or runId.")},dt=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Yi;if(null!==fe&&void 0!==fe&&fe.userId&&null!==e&&void 0!==e&&e.caseId){ua(!0);try{const n=await(0,b.tY)({userId:fe.userId,caseId:e.caseId,appId:e.appId});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to remove case assignment.");mn(null),wn(null),await Ji(fe.userId),(0,m.k)("Case unassigned.")}catch(n){console.error(n),(0,m.z)(n.message||"Failed to remove case assignment.")}finally{ua(!1)}}else(0,m.z)("Select a case to unassign.")},ct=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(e=>String((null===e||void 0===e?void 0:e.role)||"").toLowerCase()).find(e=>"plaintiff"===e||"defendant"===e)||null},ut=async e=>{const n=null===e||void 0===e?void 0:e.caseId;if(n&&null!==fe&&void 0!==fe&&fe.userId)if(ws!==n){Ss(n),Ds(n);try{const a=await(0,b.JX)({caseId:n,targetUserId:fe.userId,userId:fe.userId,appId:null===e||void 0===e?void 0:e.appId});if(null===a||void 0===a||!a.success)throw new Error((null===a||void 0===a?void 0:a.message)||"Failed to load threads.");Rs(e=>(0,s.A)((0,s.A)({},e),{},{[n]:a.data||[]}))}catch(a){console.error(a),(0,m.z)(a.message||"Failed to load threads.")}finally{Ds(null)}}else Ss(null)},vt=function(){ha(String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"1")),wn("assign"),Ka({caseId:"",sourceUserId:"",sourceEmail:"",role:"plaintiff"})};return(0,R.jsxs)("div",{className:"internal-ops-page",children:[(0,R.jsxs)("div",{className:"internal-ops-page-header",children:[(0,R.jsxs)("div",{children:[(0,R.jsx)(r.A,{title:"Business & 
1Customer Service",subtitle:"Customer workspace and issue triage"}),(0,R.jsx)("p",{className:"internal-ops-page-lede",children:"Staff-facing customer search, entitlement review, integration health, and spend triage."})]}),(0,R.jsxs)("div",{className:"internal-ops-page-actions",children:[(0,R.jsx)(d.A,{className:"button--secondary",onClick:()=>a("/dashboard/developer"),children:"Developer tools"}),(0,R.jsx)(d.A,{className:"button--secondary",onClick:()=>a("/dashboard/trial-links"),children:"Trial links"}),(0,R.jsx)(d.A,{className:"button--secondary",onClick:()=>a("/dashboard/change-process"),children:"Change process"}),(0,R.jsx)(d.A,{className:"button--secondary",onClick:()=>window.location.reload(),disabled:Ue||Fe,children:"Refresh"})]})]}),(0,R.jsxs)("section",{className:"internal-ops-command-bar",children:[(0,R.jsxs)("div",{className:"internal-ops-command-copy",children:[(0,R.jsx)("h2",{children:"Global search"}),(0,R.jsx)("p",{children:"Jump by email, user ID, org ID, case ID, integration ID, request ID, or run ID."})]}),(0,R.jsxs)("div",{className:"internal-ops-command-controls",children:[(0,R.jsx)(u.A,{label:"Search workspace",value:X,onChange:e=>Q(e.target.value),onKeyDown:e=>{"Enter"===e.key&&rt()},placeholder:"Search email, userId, organizationId, caseId, integrationId, requestId, runId",className:"internal-ops-search-field"}),(0,R.jsx)(d.A,{className:"button--primary-new internal-ops-search-button",onClick:rt,children:"Find workspace"})]})]}),He?(0,R.jsx)("div",{className:"internal-ops-banner internal-ops-banner--info",children:He}):null,Ge?(0,R.jsx)("div",{className:"internal-ops-banner internal-ops-banner--info",children:Ge}):null,Be?(0,R.jsx)("div",{className:"internal-ops-banner internal-ops-banner--error",children:Be}):null,(0,R.jsx)("section",{className:"internal-ops-queue-grid",children:Zi.map(e=>(0,R.jsxs)("article",{className:"internal-ops-queue-card internal-ops-queue-card--".concat(e.tone),children:[(0,R.jsx)("span",{children:e.label}),(0,R.jsx)("strong",{children:e.value})]},e.label))}),(0,R.jsxs)("section",{className:"internal-ops-panel internal-ops-leaderboard-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Most expensive customers"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsxs)("span",{children:[Gi.length," with spend"]}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("costLeaderboard"),"aria-expanded":!ot("costLeaderboard"),"aria-label":ot("costLeaderboard")?"Expand leaderboard":"Collapse leaderboard",children:ot("costLeaderboard")?"\u25b8":"\u25be"})]})]}),ot("costLeaderboard")?null:Gi.length?(0,R.jsx)(c.A,{headings:["#","Customer","Records","Tokens","Total spend","Action"],data:Gi,isPagination:!0,itemsPerPage:15,renderRow:(e,n)=>{var a;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:n+1}),(0,R.jsx)("td",{children:(0,R.jsxs)("div",{className:"internal-ops-user-row",children:[(0,R.jsx)(p.A,{user:e.user,size:32}),(0,R.jsxs)("div",{className:"internal-ops-user-cell",children:[(0,R.jsx)("strong",{children:e.user?D(e.user):e.userId}),(0,R.jsx)("span",{children:(null===(a=e.user)||void 0===a?void 0:a.email)||e.userId})]})]})}),(0,R.jsx)("td",{children:e.recordCount}),(0,R.jsx)("td",{children:e.totalTokens.toLocaleString("en-US")}),(0,R.jsx)("td",{children:J(e.totalCost)}),(0,R.jsx)("td",{children:(0,R.jsx)("button",{type:"button",className:"internal-ops-link-button",onClick:()=>gi(e.userId),children:"Open"})})]})}}):(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"No usage cost records are available to rank customers by spend."})]}),(0,R.jsxs)("section",{className:"internal-ops-panel internal-ops-inbound-email-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Inbound email replay"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsxs)("span",{children:[zi.length," message",1===zi.length?"":"s",null!==fe&&void 0!==fe&&fe.email?" for selected customer":""]}),(0,R.jsx)("button",{type:"button",className:"internal-ops-link-button",onClick:()=>Ii(),disabled:Hs,children:Hs?"Refreshing\u2026":"Refresh"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("inboundEmailReplay"),"aria-expanded":!ot("inboundEmailReplay"),"aria-label":ot("inboundEmailReplay")?"Expand inbound email replay":"Collapse inbound email replay",children:ot("inboundEmailReplay")?"\u25b8":"\u25be"})]})]}),ot("inboundEmailReplay")?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("p",{className:"internal-ops-panel-lede",children:["Every message sent to ",(0,R.jsx)("code",{children:"[email protected]"})," is archived by SES before downstream processing, so this list shows inbou
1nd user emails even when the original run glitched or the user was out of credits. Replay re-invokes ",(0,R.jsx)("code",{children:"inboundEmailHandler"})," and the rest of the pipeline runs end-to-end. Covers the most recent"," ",1e3.toLocaleString()," archived messages, so a deep scan can take a while to load."]}),(0,R.jsx)("p",{className:"internal-ops-panel-note",children:null!==fe&&void 0!==fe&&fe.email?"Showing archived inbound messages that mention ".concat(fe.email,"."):"Select a customer to narrow this replay queue to that customer email."}),Hs?(0,R.jsx)(v.A,{}):Gs?(0,R.jsxs)("div",{className:"internal-ops-banner internal-ops-banner--error",children:["Unable to load archived inbound emails: ",Gs]}):0===zi.length?(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:null!==fe&&void 0!==fe&&fe.email?"No archived inbound emails were found for ".concat(fe.email,"."):fe?"This customer has no email address on file to filter against.":"No inbound emails archived in the raw bucket."}):(0,R.jsx)(c.A,{headings:["Received","From","Subject","Message preview","Action"],data:zi,isPagination:!0,itemsPerPage:25,renderRow:e=>{const n=ni===e.s3Key;return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(0,R.jsxs)("div",{className:"internal-ops-user-cell",children:[(0,R.jsx)("strong",{children:H(e.receivedAt)}),(0,R.jsx)("span",{title:e.s3Key,children:e.messageId})]})}),(0,R.jsx)("td",{children:e.sender||"(missing sender)"}),(0,R.jsx)("td",{children:e.subject||"(no subject)"}),(0,R.jsx)("td",{children:(0,R.jsx)("span",{title:e.bodyPreview||"",children:e.bodyPreview||(e.parseError?"\u26a0 ".concat(e.parseError):"\u2014")})}),(0,R.jsx)("td",{children:(0,R.jsx)("button",{type:"button",className:"internal-ops-link-button",onClick:()=>(async e=>{if(null===e||void 0===e||!e.s3Key)return;if(window.confirm('Replay inbound email "'.concat(e.subject||e.messageId,'" through inboundEmailHandler?\n\n')+"This re-runs the full pipeline (intent routing, specialist dispatch, outbound reply). Only do this when the original processing failed or was missed.")){ai(e.s3Key),$e("");try{var n;const a=Date.now(),s=await(0,b.T5)({s3Key:e.s3Key});if(null===s||void 0===s||!s.success)throw new Error((null===s||void 0===s?void 0:s.message)||"Replay failed.");ai(null);const i=(null===(n=s.data)||void 0===n?void 0:n.messageId)||e.messageId||"unknown",t=O(e.sender),l=t?Ni.find(e=>O(null===e||void 0===e?void 0:e.email)===t):null,o=(null===l||void 0===l?void 0:l.userId)||(null===fe||void 0===fe?void 0:fe.userId)||"";if($e("Replay dispatched for ".concat(i,". Waiting for correlated outbound email evidence...")),(0,m.k)("Replay dispatched for message ".concat(i,".")),"unknown"!==i&&o){const e=await fi({messageId:i,userId:o,since:a});if(e.length>0){const n=e.map(e=>{const n=(null===e||void 0===e?void 0:e.status)||"unknown",a=(null===e||void 0===e?void 0:e.subject)||"No subject",s=(null===e||void 0===e?void 0:e.requestId)||"unknown request";return"".concat(s," (").concat(n,") \u2014 ").concat(a)}).join(" | ");$e("Replay dispatched for ".concat(i,". Correlated outbound evidence: ").concat(n)),(0,m.k)("Correlated outbound email evidence found for the replayed request.")}else $e("Replay dispatched for ".concat(i,", but no correlated outbound email records were found within ").concat(Math.round(180)," seconds. Check CloudWatch before assuming the rerun completed successfully."))}else $e("Replay dispatched for ".concat(i,", but ").concat("unknown"===i?"the replay returned no message ID":"no customer account matches sender ".concat(e.sender||"(missing sender)"),", so outbound evidence cannot be correlated here. Check CloudWatch for the outbound send."))}catch(a){console.error(a),(0,m.z)(a.message||"Replay failed.")}finally{ai(null)}}})(e),disabled:n||Boolean(ni),children:n?"Replaying\u2026":"Replay"})})]})}})]})]}),(0,R.jsxs)("div",{className:"internal-ops-layout".concat(fs?" internal-ops-layout--customers-collapsed":""),children:[(0,R.jsx)("aside",{className:"internal-ops-sidebar".concat(fs?" internal-ops-sidebar--collapsed":""),children:(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Customers"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[fs?null:(0,R.jsx)("span",{children:ki.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>Ns(e=>!e),"aria-expanded":!fs,"aria-label":fs?"Expand customers panel":"Collapse customers panel",children:fs?"\u25b6":"\u25c0"})]})]}),fs?(0,R.jsxs)("div",{className:"internal-ops-collapsed-sidebar-copy",children:[(0,R.jsx)("strong",{children:ki.length}),(0,R.jsx)("span",{children:"customers"})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("div",{className:"internal-ops-customer-control
1s",children:[(0,R.jsx)(u.A,{label:"Customer filter",value:ae,onChange:e=>se(e.target.value),placeholder:"Email, name, role, org ID"}),(0,R.jsx)(u.A,{label:"Organization filter",value:le,onChange:e=>oe(e.target.value),placeholder:"Organization ID"}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Scope"}),(0,R.jsxs)("select",{value:ce,onChange:e=>ue(e.target.value),children:[(0,R.jsx)("option",{value:"external",children:"External only"}),(0,R.jsx)("option",{value:"all",children:"All customers"}),(0,R.jsx)("option",{value:"internal",children:"Internal only"})]})]}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Sort"}),(0,R.jsxs)("select",{value:me,onChange:e=>he(e.target.value),children:[(0,R.jsx)("option",{value:"name-asc",children:"Alphabetical A-Z"}),(0,R.jsx)("option",{value:"name-desc",children:"Alphabetical Z-A"}),(0,R.jsx)("option",{value:"organization-asc",children:"Organization A-Z"}),(0,R.jsx)("option",{value:"organization-desc",children:"Organization Z-A"}),(0,R.jsx)("option",{value:"newest",children:"Newest to oldest"}),(0,R.jsx)("option",{value:"oldest",children:"Oldest to newest"})]})]})]}),(0,R.jsx)(c.A,{headings:["Customer","Action"],data:ki,isPagination:!0,itemsPerPage:20,selectedRowId:ki.findIndex(e=>(null===e||void 0===e?void 0:e.userId)===je),renderRow:e=>{const n=Ci.filter(n=>(null===n||void 0===n?void 0:n.userId)===(null===e||void 0===e?void 0:e.userId));return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(0,R.jsxs)("div",{className:"internal-ops-user-row internal-ops-user-row--sidebar",children:[(0,R.jsx)(p.A,{user:e,size:40}),(0,R.jsxs)("div",{className:"internal-ops-user-cell",children:[(0,R.jsx)("strong",{children:D(e)}),(0,R.jsx)("span",{children:(null===e||void 0===e?void 0:e.email)||(null===e||void 0===e?void 0:e.userId)}),(0,R.jsx)("small",{children:(null===e||void 0===e?void 0:e.organizationId)||"Unassigned organization"}),(0,R.jsxs)("small",{children:[(null===e||void 0===e?void 0:e.role)||"Unknown role"," \xb7 ",$(n)]})]})]})}),(0,R.jsx)("td",{children:(0,R.jsx)("button",{type:"button",className:"internal-ops-link-button",onClick:()=>gi(null===e||void 0===e?void 0:e.userId,"",e),children:"Open"})})]})}})]})]})}),(0,R.jsxs)("section",{className:"internal-ops-workspace",children:[(0,R.jsxs)("div",{className:"internal-ops-two-column",children:[(0,R.jsxs)("div",{className:"internal-ops-panel internal-ops-panel--compact",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Customer Overview"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Fe||Ue?"Refreshing\u2026":"Live view"}),(0,R.jsx)(d.A,{className:"button--secondary-new internal-ops-open-workspace-button",onClick:()=>pi&&a(pi),disabled:!pi,children:"Open firm-wide workspace"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("customerWorkspace"),"aria-expanded":!ot("customerWorkspace"),"aria-label":ot("customerWorkspace")?"Expand customer workspace":"Collapse customer workspace",children:ot("customerWorkspace")?"\u25b8":"\u25be"})]})]}),!Fe||fe||ot("customerWorkspace")?null:(0,R.jsx)("div",{className:"internal-ops-loader",children:(0,R.jsx)(v.A,{hideText:!0,color:"var(--color-primary)",width:32})}),ot("customerWorkspace")?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("div",{className:"internal-ops-summary-grid",children:[(0,R.jsxs)("article",{className:"internal-ops-summary-card",children:[(0,R.jsx)("span",{children:"Who Is This Customer?"}),(0,R.jsxs)("div",{className:"internal-ops-summary-identity",children:[(0,R.jsx)(p.A,{user:fe,size:52}),(0,R.jsxs)("div",{className:"internal-ops-summary-stack",children:[(0,R.jsx)("strong",{children:fe?D(fe):"Select a customer"}),(0,R.jsx)("p",{children:(null===fe||void 0===fe?void 0:fe.email)||"Open a customer row to view workspace details."}),(0,R.jsxs)("small",{children:["Org ",(null===fe||void 0===fe?void 0:fe.organizationId)||"none"]}),(0,R.jsxs)("small",{children:["Role ",(null===fe||void 0===fe?void 0:fe.role)||"unknown"]})]})]})]}),(0,R.jsxs)("article",{className:"internal-ops-summary-card",children:[(0,R.jsx)("span",{children:"What Do They Have Access To?"}),(0,R.jsxs)("strong",{children:[Ri.length," access record(s)"]}),(0,R.jsxs)("div",{className:"internal-ops-summary-stack",children:[(0,R.jsx)("p",{children:Ri.map(e=>"".concat(q(e.appId),": ").concat(e.accessLevel)).join(", ")||"No app access"}),(0,R.jsx)("small",{children:Ri.some(e=>null===e||void 0===e?void 0:e.emailLinked)?"Mailbox linked on at least one app":"Mailbox not linked"})]})]}),(0,R.jsxs)("article",{className:"internal-ops-summary-card",children:[(0,R.jsx)("span",{children:"Commercial State"}),(0,R.jsxs)("strong",{children:[Ti.length," subscription(s)"]}),(0,R.jsxs)("div",{className:"internal-ops-summary-stack",children:[(0,R.jsx)("p",{children:$(Ti)}),(0,R.jsx)("small",{children:(null===we||void 0===we?void 0:we.organizationName)||"No organization profile loaded"})]})]}),(0,R.jsxs)("article",{className:"internal-ops-summary-card",children:[(0,R.jsx)("span",{children:"Broken Or Expensive?"}),(0,R.jsx)("strong",{children:J($i.totalCost)}),(0,R.jsxs)("div",{className:"internal-ops-summary-stack",children:[(0,R.jsxs)("p",{children:[Pi.filter(e=>(null===e||void 0===e?void 0:e.errorCode)||(null===e||void 0===e?void 0:e.errorMessage)).length," integration issue(s)"]}
1),(0,R.jsxs)("small",{children:[$i.totalTokens.toLocaleString("en-US")," tokens total"]})]})]})]}),(0,R.jsxs)("div",{className:"internal-ops-meta-grid",children:[(0,R.jsxs)("div",{children:[(0,R.jsx)("label",{children:"Legal teams"}),(0,R.jsx)("p",{children:nt})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("label",{children:"Assigned cases"}),(0,R.jsx)("p",{children:at})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("label",{children:"Signup redirect"}),(0,R.jsx)("p",{children:(null===fe||void 0===fe?void 0:fe.signupRedirectUrl)||"None"})]}),(0,R.jsxs)("div",{children:[(0,R.jsx)("label",{children:"Mailbox state"}),(0,R.jsx)("p",{children:st})]})]})]})]}),(0,R.jsxs)("div",{className:"internal-ops-panel internal-ops-panel--compact",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"User Details"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:(null===fe||void 0===fe?void 0:fe.userId)||"No user selected"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("userProfileCorrection"),"aria-expanded":!ot("userProfileCorrection"),"aria-label":ot("userProfileCorrection")?"Expand user profile correction":"Collapse user profile correction",children:ot("userProfileCorrection")?"\u25b8":"\u25be"})]})]}),!ot("userProfileCorrection")&&fe?(0,R.jsxs)("div",{className:"internal-ops-editor-grid",children:[(0,R.jsxs)("div",{className:"internal-ops-profile-upload-card",children:[(0,R.jsxs)("div",{className:"internal-ops-profile-upload-copy",children:[(0,R.jsx)(p.A,{user:fe,size:64}),(0,R.jsxs)("div",{className:"internal-ops-profile-upload-text",children:[(0,R.jsx)("strong",{children:"Profile picture"}),(0,R.jsx)("p",{children:"Upload a JPG, PNG, or WEBP image for this user."})]})]}),(0,R.jsx)("input",{ref:vi,type:"file",accept:"image/*",className:"internal-ops-hidden-file-input",onChange:async e=>{var n;const a=null===(n=e.target.files)||void 0===n?void 0:n[0];if(e.target.value="",a)if(null!==fe&&void 0!==fe&&fe.userId)try{Qn(!0);const e=await(0,g.B)(a),n=await(0,b.H_)({targetUserId:fe.userId,fileBase64:e});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to upload profile picture.");(0,h.cm)();const i=await(async e=>{if(!e)return null;const n=await(0,b.JP)({targetUserId:e});if(null===n||void 0===n||!n.success||null===n||void 0===n||!n.data)throw new Error((null===n||void 0===n?void 0:n.message)||"Unable to refresh user details.");const a=(0,x.i8)(n.data);return xi(a),Ne(n=>(null===n||void 0===n?void 0:n.userId)===e?(0,s.A)((0,s.A)({},n),a):n),a})(fe.userId);(0,m.k)(null!==i&&void 0!==i&&i.profileImage?"Profile picture updated.":"Profile picture uploaded. The new avatar may take a moment to appear.")}catch(i){console.error(i),(0,m.z)(i.message||"Failed to upload profile picture.")}finally{Qn(!1)}else(0,m.z)("Select a customer before uploading a profile picture.")}}),(0,R.jsx)(d.A,{className:"button--secondary-new internal-ops-profile-upload-button",onClick:()=>{var e;null===(e=vi.current)||void 0===e||e.click()},disabled:Xn,children:Xn?"Uploading...":"Upload photo"})]}),(0,R.jsx)(u.A,{label:"Role",value:wa.role,onChange:e=>Sa(n=>(0,s.A)((0,s.A)({},n),{},{role:e.target.value}))}),(0,R.jsx)(u.A,{label:"Legal team IDs",value:wa.legalTeamIds,onChange:e=>Sa(n=>(0,s.A)((0,s.A)({},n),{},{legalTeamIds:e.target.value}))}),(0,R.jsx)(u.A,{label:"Assigned case IDs",value:wa.assignedCases,onChange:e=>Sa(n=>(0,s.A)((0,s.A)({},n),{},{assignedCases:e.target.value}))}),(0,R.jsx)("div",{className:"internal-ops-editor-actions",children:(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(null!==fe&&void 0!==fe&&fe.userId&&null!==fe&&void 0!==fe&&fe.organizationId){Zn(!0);try{const e=await(0,b.GF)({userId:fe.userId,organizationId:fe.organizationId,email:fe.email||void 0,username:fe.username||fe.email||void 0,firstName:fe.firstName||void 0,lastName:fe.lastName||void 0,role:wa.role||"",legalTeamIds:B(wa.legalTeamIds),assignedCases:B(wa.assignedCases)});if(null===e||void 0===e||!e.success)throw new Error((null===e||void 0===e?void 0:e.message)||"Failed to update user profile.");if(e.data){const n=(0,x.i8)(e.data);xi(n),Ne(e=>(0,s.A)((0,s.A)({},e),n))}(0,m.k)("User profile updated.")}catch(e){console.error(e),(0,m.z)(e.message||"Failed to update user profile.")}finally{Zn(!1)}}else(0,m.z)("User profile is missing required identifiers.")},disabled:Jn,children:Jn?"Saving...":"Save user profile"})})]}):ot("userProfileCorrection")?null:(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"Select a customer row to view or edit user details."})]})]}),(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Send email"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:"as [email protected]"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("customerEmail"),"aria-expanded":!ot("customerEmail"),"aria-label":ot("customerEmail")?"Expand send email":"Collapse send email",children:ot("customerEmail")?"\u25b8":"\u25be"})]})]}),ot("customerEmail")?null:(0,R.jsxs)("div",{className:"internal-ops-editor-grid",children:[(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Recipient"}),(0,R.jsxs)("select",{value:as,onChange:e=>ss(e.target.value),children:[(0,R.jsx)("option",{value:"all-subscribers",children:"All active subscribers"}),null!==fe&&void 0!==fe&&fe.email?(0,R.jsx)("option",{value:"selected-user",children:fe.email}):null]})]}),(0,R.jsx)("p",{className:"internal-ops-email-recipient",children:"selected-user"===as&&null!==fe&&void 0!==fe&&fe.email?"Sends to ".concat(fe.email,". Sent from [email protected]."):"Sends to every user with an active subscription and active app access \u2014 no need to look up or type individual addresses. Sent from [email protected]."}),(0,R.jsx)(u.A,{label:"Subject",value:Xa.subject,onChange:e=>Qa(n=>(0,s.A)((0,s.A)({},n),{},{subject:e.target.value})),placeholder:"Subject line"}),(0,R.jsxs)("label",{className:"internal-ops-email-body-field",children:[(0,R.jsx)("span",{children:"Message"}),(0,R.jsx)("textarea",{className:"internal-ops-email-textarea",value:Xa.body,onChange:e=>Qa(n=>(0,s.A)((0,s.A)({},n),{},{body:e.target.value})),placeholder:"selected-user"===as?"Write your message to the customer...":"Write your message to active subscribers...",rows:8})]}),"all-subscribers"===as&&cs?(0,R.jsxs)("div",{className:"internal-ops-empty-editor",children:[cs.recipientCount," active subscriber",1===cs.recipientCount?"":"s"," will receive this message",null!==(e=cs.recipients)&&void 0!==e&&e.length?(0,R.jsxs)(R.Fragment,{children:[", including ",cs.recipients.slice(0,5).join(", "),cs.truncated?", ...":""]}):null,"."]}
1):null,"selected-user"===as?(0,R.jsx)("div",{className:"internal-ops-editor-actions",children:(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(null!==fe&&void 0!==fe&&fe.userId)if(null!==fe&&void 0!==fe&&fe.email)if(Xa.subject.trim())if(Xa.body.trim()){os(!0);try{const e=await(0,b.Lt)({targetUserId:fe.userId,to:fe.email,subject:Xa.subject.trim(),body:Xa.body});if(null===e||void 0===e||!e.success)throw new Error((null===e||void 0===e?void 0:e.message)||"Failed to send email.");Qa({subject:"",body:""}),(0,m.k)("Email sent to ".concat(fe.email," as [email protected]."))}catch(e){console.error(e),(0,m.z)(e.message||"Failed to send email.")}finally{os(!1)}}else(0,m.z)("A message body is required.");else(0,m.z)("A subject is required.");else(0,m.z)("This customer has no email address on file.");else(0,m.z)("Select a customer before sending an email.")},disabled:ls||!Xa.subject.trim()||!Xa.body.trim(),children:ls?"Sending...":"Send email"})}):(0,R.jsxs)("div",{className:"internal-ops-editor-actions",children:[(0,R.jsx)(d.A,{className:"button--secondary-new",onClick:async()=>{hs(!0);try{const e=await(0,b.B2)();if(null===e||void 0===e||!e.success)throw new Error((null===e||void 0===e?void 0:e.message)||"Failed to resolve active subscribers.");us(e.data)}catch(e){console.error(e),(0,m.z)(e.message||"Failed to resolve active subscribers.")}finally{hs(!1)}},disabled:ms,children:ms?"Checking...":"Preview recipients"}),(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(Xa.subject.trim())if(Xa.body.trim())if(cs){if(window.confirm("Send this email to ".concat(cs.recipientCount," active subscriber").concat(1===cs.recipientCount?"":"s"," as [email protected]? This cannot be undone."))){bs(!0);try{const e=await(0,b.b5)({subject:Xa.subject.trim(),body:Xa.body});if(null===e||void 0===e||!e.success)throw new Error((null===e||void 0===e?void 0:e.message)||"Failed to send bulk email.");const n=e.data||{},a=n.sentCount,s=void 0===a?0:a,i=n.failedCount,t=void 0===i?0:i;Qa({subject:"",body:""}),us(null),(0,m.k)(t?"Sent to ".concat(s," subscriber").concat(1===s?"":"s","; ").concat(t," failed."):"Sent to ".concat(s," active subscriber").concat(1===s?"":"s"," as [email protected]."))}catch(e){console.error(e),(0,m.z)(e.message||"Failed to send bulk email.")}finally{bs(!1)}}}else(0,m.z)("Preview the recipient list before sending.");else(0,m.z)("A message body is required.");else(0,m.z)("A subject is required.")},disabled:js||!cs||!Xa.subject.trim()||!Xa.body.trim(),children:js?"Sending...":cs?"Send to ".concat(cs.recipientCount," subscriber").concat(1===cs.recipientCount?"":"s"):"Send email"})]})]})]}),(0,R.jsxs)("div",{className:"internal-ops-two-column",children:[(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"App access"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Ri.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>{nn(null),jn("create"),Ra({appId:"",accessLevel:"",expirationDate:"",emailLinked:!0})},"aria-label":"Add app access",children:(0,R.jsx)(l.OiG,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("appAccess"),"aria-expanded":!ot("appAccess"),"aria-label":ot("appAccess")?"Expand app access":"Collapse app access",children:ot("appAccess")?"\u25b8":"\u25be"})]})]}),!ot("appAccess")&&null!==fe&&void 0!==fe&&fe.userId?(0,R.jsx)(k.Ay,{className:"internal-ops-matter-usage",userId:fe.userId,organizationId:(null===we||void 0===we?void 0:we.organizationId)||(null===fe||void 0===fe?void 0:fe.organizationId)}):null,ot("appAccess")?null:(0,R.jsx)(c.A,{headings:["App","Access","Expires","Email linked","Action"],data:Ri,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:q(null===e||void 0===e?void 0:e.appId)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.accessLevel)||"Unknown"}),(0,R.jsx)("td",{children:Y(null===e||void 0===e?void 0:e.expirationDate)}),(0,R.jsx)("td",{children:null!==e&&void 0!==e&&e.emailLinked?"Yes":"No"}),(0,R.jsxs)("td",{className:"internal-ops-table-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>{return nn((null===(n=e)||void 0===n?void 0:n.userAppAccessId)||null),void jn("edit");var n},"aria-label":"Edit app access",children:(0,R.jsx)(l.Mbp,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:()=>async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bi;if(e){aa(!0);try{const n=await(0,b.RH)({userAppAccessId:e.userAppAccessId,userId:e.userId,appId:e.appId});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to revoke app access.");nn(null),jn(null),Ai("appAccesses","userAppAccessId",e.userAppAccessId),(0,m.k)("App access revoked.")}catch(n){console.error(n),(0,m.z)(n.message||"Failed to revoke app access.")}finally{aa(!1)}}}(e),"aria-label":"Delete app access",children:(0,R.jsx)(l.qbC,{})})]})]})}),xn?(0,R.jsxs)("div",{className:"internal-ops-inline-editor",children:[(0,R.jsxs)("div",{className:"internal-ops-inline-editor-grid",children:[(0,R.jsx)(u.A,{label:"App ID",value:ka.appId,onChange:e=>Ra(n=>(0,s.A)((0,s.A)({},n),{}
1,{appId:e.target.value}))}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Access level"}),(0,R.jsxs)("select",{value:ka.accessLevel,onChange:e=>Ra(n=>(0,s.A)((0,s.A)({},n),{},{accessLevel:e.target.value})),children:[(0,R.jsx)("option",{value:"",children:"\u2014 select \u2014"}),E.j_.map(e=>(0,R.jsx)("option",{value:e.value,children:e.label},e.value))]})]}),(0,R.jsx)(u.A,{label:"Expiration date",type:"date",value:ka.expirationDate,onChange:e=>Ra(n=>(0,s.A)((0,s.A)({},n),{},{expirationDate:e.target.value}))}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Email linked"}),(0,R.jsxs)("select",{value:ka.emailLinked?"true":"false",onChange:e=>Ra(n=>(0,s.A)((0,s.A)({},n),{},{emailLinked:"true"===e.target.value})),children:[(0,R.jsx)("option",{value:"true",children:"Linked"}),(0,R.jsx)("option",{value:"false",children:"Unlinked"})]})]})]}),(0,R.jsxs)("div",{className:"internal-ops-editor-actions",children:[(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(null!==fe&&void 0!==fe&&fe.userId){kn(!0);try{var e,n,a,i;const t={userId:fe.userId,appId:ka.appId||(null===Bi||void 0===Bi?void 0:Bi.appId),accessLevel:ka.accessLevel,grantedDate:null===Bi||void 0===Bi?void 0:Bi.grantedDate,expirationDate:ka.expirationDate||null,litigAIStage:null!==(e=null!==(n=null===Bi||void 0===Bi?void 0:Bi.litigAIStage)&&void 0!==n?n:null===Bi||void 0===Bi?void 0:Bi.LitigAIStage)&&void 0!==e?e:null,lawsuitRecommend:null!==(a=null===Bi||void 0===Bi?void 0:Bi.lawsuitRecommend)&&void 0!==a?a:null,signupRedirectUrl:null!==(i=null===Bi||void 0===Bi?void 0:Bi.signupRedirectUrl)&&void 0!==i?i:null,emailLinked:ka.emailLinked},l="create"===xn?await(0,b._j)(t):await(0,b.F2)((0,s.A)((0,s.A)({},t),{},{userAppAccessId:null===Bi||void 0===Bi?void 0:Bi.userAppAccessId}));if(null===l||void 0===l||!l.success)throw new Error((null===l||void 0===l?void 0:l.message)||"Failed to update app access.");ji("appAccesses",l.data,"userAppAccessId"),jn(null),(0,m.k)("create"===xn?"App access created.":"App access updated.")}catch(t){console.error(t),(0,m.z)(t.message||"Failed to save app access.")}finally{kn(!1)}}},disabled:En,children:En?"Saving...":"create"===xn?"Create access":"Save access"}),(0,R.jsx)(d.A,{className:"button--outline-new",onClick:()=>jn(null),disabled:En,children:"Cancel"})]})]}):null]}),(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Subscriptions"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Ti.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>{ln(null),fn("create"),Da({appId:"",pricingTier:"",pricingStrategyId:"",amountCharged:"",startDate:"",endDate:""})},"aria-label":"Add subscription",children:(0,R.jsx)(l.OiG,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("subscriptions"),"aria-expanded":!ot("subscriptions"),"aria-label":ot("subscriptions")?"Expand subscriptions":"Collapse subscriptions",children:ot("subscriptions")?"\u25b8":"\u25be"})]})]}),ot("subscriptions")?null:(0,R.jsx)(c.A,{headings:["App","Tier","Window","Amount","Action"],data:Ti,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:q(null===e||void 0===e?void 0:e.appId)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.pricingTier)||"Unknown"}),(0,R.jsxs)("td",{children:[Y(null===e||void 0===e?void 0:e.startDate)," - ",Y(null===e||void 0===e?void 0:e.endDate)]}),(0,R.jsx)("td",{children:J(null===e||void 0===e?void 0:e.amountCharged)}),(0,R.jsxs)("td",{className:"internal-ops-table-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>{return ln((null===(n=e)||void 0===n?void 0:n.subsId)||null),void fn("edit");var n},"aria-label":"Edit subscription",children:(0,R.jsx)(l.Mbp,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:()=>async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:qi;if(null!==e&&void 0!==e&&e.subsId){Un(!0);try{var n;
1const a=await(0,b.Eo)({subsId:e.subsId});if(null===a||void 0===a||!a.success||!1===(null===a||void 0===a||null===(n=a.data)||void 0===n?void 0:n.success))throw new Error((null===a||void 0===a?void 0:a.message)||"Failed to delete subscription.");ln(null),fn(null),Ai("subscriptions","subsId",e.subsId),(0,m.k)("Subscription deleted.")}catch(a){console.error(a),(0,m.z)(a.message||"Failed to delete subscription.")}finally{Un(!1)}}}(e),"aria-label":"Delete subscription",children:(0,R.jsx)(l.qbC,{})})]})]})}),In?(0,R.jsxs)("div",{className:"internal-ops-inline-editor",children:[(0,R.jsxs)("div",{className:"internal-ops-inline-editor-grid",children:[(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"App"}),(0,R.jsxs)("select",{value:Ua.appId,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{appId:e.target.value,pricingStrategyId:"",pricingTier:""})),children:[(0,R.jsx)("option",{value:"",children:"\u2014 select \u2014"}),Object.entries(P).map(e=>{let n=(0,i.A)(e,2),a=n[0],s=n[1];return(0,R.jsx)("option",{value:a,children:s},a)})]})]}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Pricing strategy"}),(0,R.jsxs)("select",{value:Ua.pricingStrategyId,disabled:Ba||!Ua.appId,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{pricingStrategyId:e.target.value,pricingTier:""})),children:[(0,R.jsx)("option",{value:"",children:Ba?"Loading\u2026":"\u2014 select \u2014"}),Fa.map(e=>(0,R.jsxs)("option",{value:e.pricingStrategyId,children:[e.pricingStrategyId,e.strategyType?" (".concat(e.strategyType,")"):""]},e.pricingStrategyId))]})]}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Pricing tier"}),(0,R.jsxs)("select",{value:Ua.pricingTier,disabled:!Ua.pricingStrategyId,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{pricingTier:e.target.value})),children:[(0,R.jsx)("option",{value:"",children:"\u2014 select \u2014"}),Ki.map(e=>(0,R.jsx)("option",{value:e,children:e},e))]})]}),(0,R.jsx)(u.A,{label:"Amount charged",value:Ua.amountCharged,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{amountCharged:e.target.value}))}),(0,R.jsx)(u.A,{label:"Start date",type:"date",value:Ua.startDate,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{startDate:e.target.value}))}),(0,R.jsx)(u.A,{label:"End date",type:"date",value:Ua.endDate,onChange:e=>Da(n=>(0,s.A)((0,s.A)({},n),{},{endDate:e.target.value}))})]}),(0,R.jsxs)("div",{className:"internal-ops-editor-actions",children:[(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(null!==fe&&void 0!==fe&&fe.userId&&null!==fe&&void 0!==fe&&fe.organizationId){Un(!0);try{const e={userId:fe.userId,organizationId:fe.organizationId,appId:Ua.appId||(null===qi||void 0===qi?void 0:qi.appId),pricingStrategyId:Ua.pricingStrategyId,pricingTier:Ua.pricingTier,amountCharged:Ua.amountCharged,startDate:Ua.startDate||null,endDate:Ua.endDate||null},n="create"===In?await(0,b.Ry)(e):await(0,b.CO)((0,s.A)((0,s.A)({},e),{},{subsId:null===qi||void 0===qi?void 0:qi.subsId}));if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to update subscription.");ji("subscriptions",n.data,"subsId"),fn(null),(0,m.k)("create"===In?"Subscription created.":"Subscription updated.")}catch(e){console.error(e),(0,m.z)(e.message||"Failed to save subscription.")}finally{Un(!1)}}},disabled:Pn,children:Pn?"Saving...":"create"===In?"Create subscription":"Save subscription"}),(0,R.jsx)(d.A,{className:"button--outline-new",onClick:()=>fn(null),disabled:Pn,children:"Cancel"})]})]}):null]})]}),(0,R.jsxs)("div",{className:"internal-ops-two-column",children:[(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Email integrations"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Pi.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("emailIntegrations"),"aria-expanded":!ot("emailIntegrations"),"aria-label":ot("emailIntegrations")?"Expand email integrations":"Collapse email integrations",children:ot("emailIntegrations")?"\u25b8":"\u25be"})]})]}),ot("emailIntegrations")?null:(0,R.jsx)(c.A,{headings:["Provider","Status","Mailbox","Last sync","Error","Action"],data:Pi,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.provider)||"Unknown"}),(0,R.jsx)("td",{children:(0,R.jsx)("span",{className:"internal-ops-pill internal-ops-pill--".concat(Z(null===e||void 0===e?void 0:e.status)),children:(null===e||void 0===e?void 0:e.status)||"Unknown"})}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.emailAddress)||"Unknown"}),(0,R.jsx)("td",{children:H(null===e||void 0===e?void 0:e.lastSyncAt)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.errorCode)||(null===e||void 0===e?void 0:e.errorMessage)||"None"}),(0,R.jsx)("td",{className:"internal-ops-table-actions",children:(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:async()=>{cn(null===e||void 0===e?void 0:e.integrationId),zn(!0);try{const n=await(0,b.kX)({integrationId:null===e||void 0===e?void 0:e.integrationId,userId:null===e||void 0===e?void 0:e.userId});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to disconnect integration.");await Ji(je),(0,m.k)("Integration disconnected.")}catch(n){console.error(n),(0,m.z)(n.message||"Failed to disconnect integration.")}finally{zn(!1)}},"aria-label":"Delete integration",children:(0,R.jsx)(l.qbC,{})})})]})})]}),(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Zoom integrations"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Ui.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("zoomIntegrations"),"aria-expanded":!ot("zoomIntegrations"),"aria-label":ot("zoomIntegrations")?"Expand Zoom integrations":"Collapse Zoom integrations",children:ot("zoomIntegrations")?"\u25b8":"\u25be"})]})]}),ot("zoomIntegrations")?null:(0,R.jsx)(c.A,{headings:["Status","Account","Default","Last sync","Error","Action"],data:Ui,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(0,R.jsx)("span",{className:"internal-ops-pill internal-ops-pill--".concat(Z(null===e||void 0===e?void 0:e.status)),children:(null===e||void 0===e?void 0:e.status)||"Unknown"})}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.displayName)||(null===e||void 0===e?void 0:e.emailAddress)||(null===e||void 0===e?void 0:e.zoomUserId)||"Unknown"}),(0,R.jsx)("td",{children:null!==e&&void 0!==e&&e.defaultForScheduling?"Yes":"No"}),(0,R.jsx)("td",{children:H(null===e||void 0===e?void 0:e.lastSyncAt)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.errorCode)||(null===e||void 0===e?void 0:e.errorMessage)||"None"}),(0,R.jsx)("td",{className:"internal-ops-table-actions",children:(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",disabled:Mn===(null===e||void 0===e?void 0:e.connectionId),onClick:()=>(async e=>{if(null!==e&&void 0!==e&&e.connectionId&&null!==e&&void 0!==e&&e.userId){Wn(e.connectionId);try{const n=await(0,b.tP)({connectionId:e.connectionId,userId:e.userId});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to disconnect Zoom integration.");ji("zoomIntegrations",n.data,"connectionId"),(0,m.k)("Zoom integration disconnected.")}catch(n){console.error(n),(0,m.z)(n.message||"Failed to disconnect Zoom integration.")}finally{Wn(null)}}})(e),"aria-label":"Disconnect Zoom integration",children:(0,R.jsx)(l.qbC,{})})})]})})]}),(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Slack integrations"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:Di.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("slackIntegrations"),"aria-expanded":!ot("slackIntegrations"),"aria-label":ot("slackIntegrations")?"Expand Slack integrations":"Collapse Slack integrations",children:ot("slackIntegrations")?"\u25b8":"\u25be"})]})]}),ot("slackIntegrations")?null:(0,R.jsx)(c.A,{headings:["Status","Workspace","Last sync","Error","Action"],data:Di,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(0,R.jsx)("span",{className:"internal-ops-pill internal-ops-pill--".concat(Z(null===e||void 0===e?void 0:e.status)),children:(null===e||void 0===e?void 0:e.status)||"Unknown"})}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.teamName)||(null===e||void 0===e?void 0:e.teamId)||"Unknown"}),(0,R.jsx)("td",{children:H(null===e||void 0===e?void 0:e.lastSyncAt)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.errorCode)||(null===e||void 0===e?void 0:e.errorMessage)||"None"}),(0,R.jsx)("td",{className:"internal-ops-table-actions",children:(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",disabled:Vn===(null===e||void 0===e?void 0:e.connectionId),onClick:()=>(async e=>{if(null!==e&&void 0!==e&&e.connectionId&&null!==e&&void 0!==e&&e.userId){Yn(e.connectionId);try{const n=await(0,b.SW)({connectionId:e.connectionId,userId:e.userId,appId:e.appId});if(null===n||void 0===n||!n.success)throw new Error((null===n||void 0===n?void 0:n.message)||"Failed to disconnect Slack integration.");ji("slackIntegrations",n.data,"connectionId"),(0,m.k)("Slack integration disconnected.")}catch(n){console.error(n),(0,m.z)(n.message||"Failed to disconnect Slack integration.")}finally{Yn(null)}}})(e),"aria-label":"Disconnect Slack integration",children:(0,R.jsx)(l.qbC,{})})})]})})]}),(0,R.jsxs)("div",{className:"internal-ops-panel",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Assigned Cases"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsx)("span",{children:ke.length}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("assignedCases"),"aria-expanded":!ot("assignedCases"),"aria-label":ot("assignedCases")?"Expand assigned cases":"Collapse assigned cases",children:ot("caseWorkflows")?"\u25b8":"\u25be"})]})]}),ot("assignedCases")?null:(0,R.jsxs)("div",{className:"internal-ops-case-groups",children:[(0,R.jsxs)("div",{className:"internal-ops-case-group",children:[(0,R.jsxs)("div",{className:"internal-ops-case-group-header",children:[(0,R.jsx)("h4",{children:"Criminal Defense cases"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>vt("1"),"aria-label":"Add Criminal Defense case",children:(0,R.jsx)(l.OiG,{})})]}),Oi.length?(0,R.jsx)(c.A,{headings:it,data:Oi,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:null===e||void 0===e?void 0:e.caseId}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.caseName)||"Untitled case"}),(0,R.jsxs)("td",{className:"internal-ops-table-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button".concat(ws===(null===e||void 0===e?void 0:e.caseId)?" internal-ops-icon-button--active":""),onClick:()=>ut(e),"aria-label":"View Criminal Defense case threads",children:(0,R.jsx)(l.v5n,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:()=>dt(e),"aria-label":"Delete Criminal Defense case",children:(0,R.jsx)(l.qbC,{})})]})]})}):(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"No Criminal Defense cases assigned."})]}),(0,R.jsxs)("div",{className:"internal-ops-case-group",children:[(0,R.jsxs)("div",{className:"internal-ops-case-group-header",children:[(0,R.jsx)("h4",{children:"Vienna cases"}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>vt("2"),"aria-label":"Add Vienna case",children:(0,R.jsx)(l.OiG,{})})]}),Mi.length?(0,R.jsx)(c.A,{headings:it,data:Mi,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:null===e||void 0===e?void 0:e.caseId}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.caseName)||"Untitled case"}),(0,R.jsxs)("td",{className:"internal-ops-table-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button".concat(ws===(null===e||void 0===e?void 0:e.caseId)?" internal-ops-icon-button--active":""),onClick:()=>ut(e),"aria-label":"View Vienna case threads",children:(0,R.jsx)(l.v5n,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:()=>dt(e),"aria-label":"Delete Vienna case",children:(0,R.jsx)(l.qbC,{})})]})]})}):(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"No Vienna cases assigned."})]}),(0,R.jsxs)("div",{className:"internal-ops-case-group",children:[(0,R.jsxs)("div",{className:"internal-ops-case-group-header",children:[(0,R.jsx)("h4",{children:"Vienna cases"}),(0,R.jsxs)("div",{className:"internal-ops-case-group-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>vt("3"),"aria-label":"Add Vienna VC/startup deal lawyer case",children:(0,R.jsx)(l.OiG,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button",onClick:()=>vt("4"),"aria-label":"Add Vienna founder or employee case",children:(0,R.jsx)(l.OiG,{})})]})]}),Wi.length?(0,R.jsx)(c.A,{headings:it,data:Wi,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:null===e||void 0===e?void 0:e.caseId}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.caseName)||"Untitled case"}),(0,R.jsxs)("td",{className:"internal-ops-table-actions",children:[(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button".concat(ws===(null===e||void 0===e?void 0:e.caseId)?" internal-ops-icon-button--active":""),onClick:()=>ut(e),"aria-label":"View Vienna case threads",children:(0,R.jsx)(l.v5n,{})}),(0,R.jsx)("button",{type:"button",className:"internal-ops-icon-button internal-ops-icon-button--danger",onClick:()=>dt(e),"aria-label":"Delete Vienna case",children:(0,R.jsx)(l.qbC,{})})]})]})}):(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"No Vienna cases assigned."})]})]}),!ot("assignedCases")&&ws?(()=>{const e=ke.find(e=>(null===e||void 0===e?void 0:e.caseId)===ws)||null,n=ks[ws]||[],a=Us===ws,i=Fs===ws;return(0,R.jsxs)("div",{className:"internal-ops-thread-inspector",children:[(0,R.jsxs)("div",{className:"internal-ops-thread-inspector-header",children:[(0,R.jsxs)("div",{className:"internal-ops-thread-inspector-title",children:[(0,R.jsxs)("strong",{children:["Threads for ",(null===e||void 0===e?void 0:e.caseName)||ws]}),(0,R.jsxs)("small",{children:[q(null===e||void 0===e?void 0:e.appId)," \xb7 ",n.length," thread(s)"]})]}),(0,R.jsxs)("div",{className:"internal-ops-editor-actions",children:[(0,R.jsx)(d.A,{className:"button--outline-new",onClick:()=>(async e=>{const n=null===e||void 0===e?void 0:e.caseId;if(!n||null===fe||void 0===fe||!fe.userId)return void(0,m.z)("Select a customer and case before wiping threads.");
1if(window.confirm("Wipe ALL threads for case ".concat(n," (user ").concat(fe.userId,") and recreate a fresh thread set?\n\nThis permanently deletes the existing thread registry for this user/case and cannot be undone."))){Os(n);try{var a,i;let t=ct(ks[n]);if(!t){const a=await(0,b.JX)({caseId:n,targetUserId:fe.userId,userId:fe.userId,appId:null===e||void 0===e?void 0:e.appId});null!==a&&void 0!==a&&a.success&&(t=ct(a.data))}t=t||String((null===e||void 0===e?void 0:e.role)||"").toLowerCase()||"plaintiff";const l=await(0,b.zC)({targetUserId:fe.userId,caseId:n,appId:null===e||void 0===e?void 0:e.appId,role:t});if(null===l||void 0===l||!l.success)throw new Error((null===l||void 0===l?void 0:l.message)||"Failed to wipe threads.");const o=await(0,b.JX)({caseId:n,targetUserId:fe.userId,userId:fe.userId,appId:null===e||void 0===e?void 0:e.appId});null!==o&&void 0!==o&&o.success&&Rs(e=>(0,s.A)((0,s.A)({},e),{},{[n]:o.data||[]})),Ss(n),(0,m.k)("Wiped ".concat(null!==(a=null===(i=l.data)||void 0===i?void 0:i.wipedCount)&&void 0!==a?a:0," thread(s) and recreated a fresh set (").concat(t,")."))}catch(t){console.error(t),(0,m.z)(t.message||"Failed to wipe threads.")}finally{Os(null)}}})(e||{caseId:ws}),disabled:i||a,children:i?"Wiping...":"Wipe & recreate threads"}),(0,R.jsx)(d.A,{className:"button--outline-new",onClick:()=>Ss(null),disabled:i,children:"Close"})]})]}),a?(0,R.jsx)("div",{className:"internal-ops-loader",children:(0,R.jsx)(v.A,{hideText:!0,color:"var(--color-primary)",width:24})}):n.length?(0,R.jsx)(c.A,{headings:tt,data:n,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.threadType)||"Unknown"}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.role)||"\u2014"}),(0,R.jsx)("td",{className:"internal-ops-thread-id",children:null===e||void 0===e?void 0:e.threadId}),(0,R.jsx)("td",{children:K(null===e||void 0===e?void 0:e.createdAt)})]})}):(0,R.jsx)("div",{className:"internal-ops-empty-editor",children:"No threads found for this user and case."})]})})():null,"assign"===Cn?(0,R.jsxs)("div",{className:"internal-ops-inline-editor",children:[(0,R.jsxs)("div",{className:"internal-ops-inline-editor-grid",children:[(0,R.jsx)(u.A,{label:"User ID",value:(null===fe||void 0===fe?void 0:fe.userId)||"",disabled:!0}),(0,R.jsx)(u.A,{label:"".concat(q(ma)," case ID"),value:Ha.caseId,onChange:e=>Ka(n=>(0,s.A)((0,s.A)({},n),{},{caseId:e.target.value}))}),(0,R.jsxs)("label",{className:"internal-ops-select-field",children:[(0,R.jsx)("span",{children:"Role"}),(0,R.jsxs)("select",{value:Ha.role,onChange:e=>Ka(n=>(0,s.A)((0,s.A)({},n),{},{role:e.target.value})),children:[(0,R.jsx)("option",{value:"plaintiff",children:"Plaintiff"}),(0,R.jsx)("option",{value:"defendant",children:"Defendant"})]})]})]}),(0,R.jsxs)("div",{className:"internal-ops-editor-actions",children:[(0,R.jsx)(d.A,{className:"button--primary-new",onClick:async()=>{if(null!==fe&&void 0!==fe&&fe.userId)if(Ha.caseId.trim())if(Ha.role){la(!0);try{var e,n;const a=(null===Bi||void 0===Bi?void 0:Bi.appId)||(null===(e=Ri[0])||void 0===e?void 0:e.appId)||"1",s=await(0,b.eN)({caseId:Ha.caseId.trim(),appId:ma||a});if(null===s||void 0===s||!s.success||null===s||void 0===s||null===(n=s.data)||void 0===n||!n.caseId)throw new Error((null===s||void 0===s?void 0:s.message)||"Case not found.");const i=await(0,b.y7)({targetUserId:fe.userId,caseId:s.data.caseId,appId:ma||a,role:Ha.role});if(null===i||void 0===i||!i.success)throw new Error((null===i||void 0===i?void 0:i.message)||"Failed to assign case.");Ka({caseId:"",sourceUserId:"",sourceEmail:"",role:""}),wn(null),await Ji(fe.userId),(0,m.k)("Case assigned.")}catch(a){console.error(a),(0,m.z)(a.message||"Failed to assign case.")}finally{la(!1)}}else(0,m.z)("Role (plaintiff or defendant) is required.");else(0,m.z)("Case ID is required.");else(0,m.z)("Select a customer before assigning a case.")},disabled:ta,children:ta?"Assigning...":"Add ".concat(q(ma)," case")}),(0,R.jsx)(d.A,{className:"button--outline-new",onClick:()=>wn(null),disabled:ta,children:"Cancel"})]})]}):null,null]})]}),(0,R.jsxs)("div",{className:"internal-ops-panel internal-ops-panel--compact",children:[(0,R.jsxs)("div",{className:"internal-ops-panel-header",children:[(0,R.jsx)("h3",{children:"Usage and costs"}),(0,R.jsxs)("div",{className:"internal-ops-panel-header-actions",children:[(0,R.jsxs)("span",{children:[Fi.length," record(s)"]}),(0,R.jsxs)("label",{className:"internal-ops-select-field internal-ops-select-field--compact",children:[(0,R.jsx)("span",{children:"Window"}),(0,R.jsxs)("select",{value:fa,onChange:e=>Na(e.target.value),children:[(0,R.jsx)("option",{value:"all",children:"All time"}),(0,R.jsx)("option",{value:"day",children:"Last 24 hours"}),(0,R.jsx)("option",{value:"week",children:"Last 7 days"}),(0,R.jsx)("option",{value:"month",children:"Last 30 days"}),(0,R.jsx)("option",{value:"calendar_month",children:"This calendar month"}),(0,R.jsx)("option",{value:"year",children:"Last 365 days"})]})]}),(0,R.jsx)("button",{type:"button",className:"internal-ops-collapse-button",onClick:()=>lt("usageAndCosts"),"aria-expanded":!ot("usageAndCosts"),"aria-label":ot("usageAndCosts")?"Expand usage and costs":"Collapse usage and costs",children:ot("usageAndCosts")?"\u25b8":"\u25be"})]})]}),ot("usageAndCosts")?null:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("div",{className:"internal-ops-usage-summary",children:[(0,R.jsxs)("div",{className:"internal-ops-usage-summary-card",children:[(0,R.jsxs)("span",{children:[y(fa)," total"]}),(0,R.jsx)("strong",{children:J(Xi.totalCost)})]}),(0,R.jsxs)("div",{className:"internal-ops-usage-summary-card",children:[(0,R.jsxs)("span",{children:[y(fa)," tokens"]}
1),(0,R.jsx)("strong",{children:Xi.totalTokens.toLocaleString("en-US")})]}),(0,R.jsxs)("div",{className:"internal-ops-usage-summary-card",children:[(0,R.jsx)("span",{children:"This calendar month"}),(0,R.jsx)("strong",{children:J(Qi)}),(0,R.jsx)("small",{children:"Matches the customer's monthly usage allowance figure"})]})]}),et.length?(0,R.jsx)("div",{className:"internal-ops-usage-summary",children:et.map(e=>(0,R.jsxs)("div",{className:"internal-ops-usage-summary-card",children:[(0,R.jsx)("span",{children:S[e.provider]||e.provider}),(0,R.jsx)("strong",{children:J(e.cost)}),(0,R.jsxs)("small",{children:[e.records.toLocaleString("en-US")," record",1===e.records?"":"s"]})]},e.provider))}):null,(0,R.jsx)(c.A,{headings:["Created","App","Scope","Model","Cost"],data:Fi.slice().sort((e,n)=>new Date((null===n||void 0===n?void 0:n.createdAt)||0)-new Date((null===e||void 0===e?void 0:e.createdAt)||0)),isPagination:!0,renderRow:e=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("td",{children:H(null===e||void 0===e?void 0:e.createdAt)}),(0,R.jsx)("td",{children:q(null===e||void 0===e?void 0:e.appId)}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.scopeTag)||"Unknown"}),(0,R.jsx)("td",{children:(null===e||void 0===e?void 0:e.model)||"Unknown"}),(0,R.jsx)("td",{children:J(null===e||void 0===e?void 0:e.costUsd)})]})})]})]}),null,null,null,null,(0,R.jsxs)("details",{className:"internal-ops-raw-inspector",children:[(0,R.jsx)("summary",{children:"Raw record inspector"}),(0,R.jsx)("pre",{children:JSON.stringify({user:fe,organization:we,appAccesses:Ri,subscriptions:Ti,emailIntegrations:Pi,zoomIntegrations:Ui,slackIntegrations:Di,openCases:ke,openaiCosts:Li.slice(0,25)},null,2)})]})]})]})]})}},8657(e,n,a){a.d(n,{A:()=>t});a(6998);var s=a(2400);var i=a(3446);const t=e=>{let n=e.title,a=e.subtitle;return(0,i.jsx)("div",{className:"dashboard-page-heading","aria-label":a?"".concat(n,". ").concat(a):n,children:n?(0,i.jsx)(s.A,{as:"h1",text:n,className:"primary case-primary-hero-badge"}):null})}},6061(e,n,a){a.d(n,{A:()=>o});var s=a(5544),i=a(6998);const t=a(2237).dK;var l=a(3446);const o=e=>{let n=e.headings,a=e.data,o=void 0===a?[]:a,r=e.renderRow,d=e.isPagination,c=e.selectedRowId,u=e.itemsPerPage,v=void 0===u?10:u;const p=(0,i.useState)(1),m=(0,s.A)(p,2),h=m[0],g=m[1],x=null===o||void 0===o?void 0:o.length,j=Math.ceil(x/v),b=d&&Array.isArray(o)?o.slice((h-1)*v,h*v):o;return(0,l.jsxs)("div",{className:"table-container-main",children:[(0,l.jsxs)("table",{className:"custom-data-table",children:[(0,l.jsx)("thead",{children:(0,l.jsx)("tr",{children:null===n||void 0===n?void 0:n.map((e,n)=>(0,l.jsx)("th",{children:e},n))})}),(0,l.jsx)("tbody",{children:Array.isArray(b)&&b.map((e,n)=>(0,l.jsx)("tr",{className:"data-row ".concat(c===n?"active":""),children:r(e,n)},n))})]}),d&&(0,l.jsxs)("div",{className:"table-footer",children:[(0,l.jsxs)("div",{className:"page-info",children:["Page ",h," of ",j," (",x," items)"]}),(0,l.jsx)(t,{totalItems:x,itemsPerPage:v,currentPage:h,onPageChange:e=>g(e)})]})]})}},398(e,n,a){a.d(n,{A:()=>l});var s=a(5544),i=a(6998);var t=a(3446);const l=e=>{let n=e.messages,a=void 0===n?["Loading...","Please wait...","Almost there...","Just a moment...","Hold on..."]:n,l=e.hideText,o=void 0!==l&&l,r=e.color,d=void 0===r?"var(--color-primary)":r,c=e.width,u=void 0===c?40:c,v=e.animationDuration,p=void 0===v?.75:v,m=e.interval,h=void 0===m?2e3:m;const g=(0,i.useState)(0),x=(0,s.A)(g,2),j=x[0],b=x[1];return(0,i.useEffect)(()=>{if(o)return;const e=setInterval(()=>{b(e=>(e+1)%a.length)},h);return()=>clearInterval(e)},[a.length,o,h]),(0,t.jsxs)("div",{className:"loader-spinner-container",children:[(0,t.jsx)("div",{className:"loader-spinner-rotating-lines",children:(0,t.jsx)("div",{role:"progressbar","aria-label":"Loading",style:{"--loader-color":d,"--loader-size":"".concat(u,"px"),"--loader-duration":"".concat(p,"s")}})}),!o&&(0,t.jsx)("div",{className:"loader-text",children:a[j]})]})}},8325(e,n,a){a.d(n,{A:()=>v});var s=a(5544),i=a(6998),t=a(8606);const l=["#153243","#1d4d4f","#7c3f00","#8b1e3f","#355070","#4a4e69","#2f5233","#7f5539"],o=e=>"string"===typeof e?e.trim():"",r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=o(e.firstName||e.first_name),a=o(e.name),s=o(e.email);return n?n.charAt(0).toUpperCase():a?a.split(/\s+/)[0].charAt(0).toUpperCase():s?s.charAt(0).toUpperCase():"?"},d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=o(e.id)||o(e.userId)||o(e.email).toLowerCase()||o(e.name)||o(e.firstName||e.first_name)||o(e.lastName||e.last_name)||"?";let a=0;for(let s=0;s<n.length;s+=1)a=(a<<5)-a+n.charCodeAt(s),a|=0;return l[Math.abs(a)%l.length]};var c=a(8422);var u=a(3446);const v=e=>{let n=e.user,a=e.imageSrc,l=e.size,o=void 0===l?40:l,v=e.className,p=void 0===v?"":v,m=e.alt,h=void 0===m?"
1User profile picture":m;const g=(0,t.i8)(n||{}),x=JSON.stringify({id:null===g||void 0===g?void 0:g.id,userId:null===g||void 0===g?void 0:g.userId,cognito_user_id:null===g||void 0===g?void 0:g.cognito_user_id,email:null===g||void 0===g?void 0:g.email,firstName:null===g||void 0===g?void 0:g.firstName,first_name:null===g||void 0===g?void 0:g.first_name,lastName:null===g||void 0===g?void 0:g.lastName,last_name:null===g||void 0===g?void 0:g.last_name,name:null===g||void 0===g?void 0:g.name,profileImage:null===g||void 0===g?void 0:g.profileImage,profile_picture:null===g||void 0===g?void 0:g.profile_picture,avatar:null===g||void 0===g?void 0:g.avatar,avatarUrl:null===g||void 0===g?void 0:g.avatarUrl,photo:null===g||void 0===g?void 0:g.photo,image:null===g||void 0===g?void 0:g.image}),j=(0,i.useState)((0,c.wN)(a||(null===g||void 0===g?void 0:g.profileImage)||"")),b=(0,s.A)(j,2),A=b[0],I=b[1],f=(0,i.useState)(!1),N=(0,s.A)(f,2),y=N[0],C=N[1];(0,i.useEffect)(()=>{let e=!0;return(async()=>{const n=(0,t.i8)(JSON.parse(x));if(a)return I((0,c.wN)(a)),void C(!1);const s=await(0,c.HF)({user:n,fetchUserById:async e=>{var n;let a=e.userId,s=e.skipCache;const i=await(0,t.JP)({userId:a,skipCache:s});return null===i||void 0===i||null===(n=i.data)||void 0===n?void 0:n.userByUserId},fetchUserByEmail:async e=>{var n;let a=e.email,s=e.userId;const i=await(0,t.wz)({email:a,userId:s});return null===i||void 0===i||null===(n=i.data)||void 0===n?void 0:n.user}});e&&(I(s),C(!1))})(),()=>{e=!1}},[a,x]);const w=["user-avatar",p].filter(Boolean).join(" "),S="number"===typeof o?"".concat(o,"px"):o;return A&&!y?(0,u.jsx)("span",{className:w,style:{width:S,height:S},children:(0,u.jsx)("img",{src:A,alt:h,onError:()=>C(!0)})}):(0,u.jsx)("span",{className:w,style:{width:S,height:S},children:(0,u.jsx)("span",{className:"user-avatar-fallback",style:{backgroundColor:d(g)},"aria-hidden":"true",children:r(g)})})}},1567(e,n,a){a.d(n,{eH:()=>d,iU:()=>r,l8:()=>o});var s=a(5544);const i=["managedUserId","managedEmail","managedOrganizationId","managedOrganizationName","managedFirstName","managedLastName","managedFullName","managedSource"],t=e=>"string"===typeof e?e.trim():"",l=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.entries(n).forEach(n=>{let a=(0,s.A)(n,2),i=a[0],l=a[1];const o=t(l);o&&e.set(i,o)})},o=e=>{const n=e instanceof URLSearchParams?e:new URLSearchParams(t(e)),a=i.reduce((e,a)=>{const s=t(n.get(a));return s&&(e[a]=s),e},{});return a.managedUserId||a.managedEmail?a:null},r=e=>Boolean((null===e||void 0===e?void 0:e.managedUserId)||(null===e||void 0===e?void 0:e.managedEmail)),d=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=t(e)||"/";try{const e=new URL(s,"https://juristai.local");l(e.searchParams,n),l(e.searchParams,a);const i=e.searchParams.toString();return"".concat(e.pathname).concat(i?"?".concat(i):"")}catch(i){return"".concat(s).concat(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=new URLSearchParams;l(a,e),l(a,n);const s=a.toString();return s?"?".concat(s):""}(n,a))}}},8629(e,n,a){a.d(n,{O2:()=>o,Zo:()=>l,hN:()=>t});var s=a(9379),i=a(9085);const t=async()=>{var e;const n=await i.default.get("/api/core/subscriptions/matter-organizations/");return Array.isArray(null===n||void 0===n||null===(e=n.data)||void 0===e?void 0:e.organizations)?n.data.organizations:[]},l=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.appId,a=e.nextCaseId,t=e.userId,l=e.organizationId;const o=void 0===(r=a)||null===r?"":"string"===typeof r?r.trim():String(r).trim();var r;let d=o&&n?{caseId:o,appId:String(n)}:void 0;t?d=(0,s.A)((0,s.A)({},d||{}),{},{userId:String(t)},l?{organizationId:String(l)}:{}):l&&(d=(0,s.A)((0,s.A)({},d||{}),{},{organizationId:String(l)}));const c=await i.default.get("/api/core/subscriptions/matter-entitlement/",{params:d});return(null===c||void 0===c?void 0:c.data)||null},o=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{const n=await l(e);if(n&&"object"===typeof n&&"activeMatterCount"in n)return function(e){var n;let a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).appId;const i=Number(null!==(n=null===e||void 0===e?void 0:e.activeMatterCount)&&void 0!==n?n:0),t=Boolean(null===e||void 0===e?void 0:e.caseAlreadyActive),l={scope:"organization",entitlement:e,appId:void 0===a||null===a?void 0:String(a),activeCasesCount:i,caseAlreadyActive:t,counts:{organization:i}};if(null!==e&&void 0!==e&&e.unlimited)return(0,s.A)((0,s.A)({},l),{},{allowedActiveCases:Number.POSITIVE_INFINITY,requiredCases:0,additionalCases:0,requiresCheckout:!1,reason:"unlimited"});if(null===(null===e||void 0===e?void 0:e.matterLimit)||void 0===(null===e||void 0===e?void 0:e.matterLimit))return(0,s.A)((0,s.A)({},l),{},{allowedActiveCases:null,requiredCases:1,additionalCases:1,requiresCheckout:!0,reason:"unknown_limit"});const o=Number(e.matterLimit),r=i+(t?0:1),d=Math.max(0,r-o),c=d>0;return(0,s.A)((0,s.A)({},l),{},{allowedActiveCases:o,remaining:{organization:Math.max(0,o-i)},projectedCounts:{organization:r},requiredCases:d,additionalCases:c?1===d?1:5*Math.ceil(d/5):0,requiresCheckout:c,reason:c?"limit_exceeded":"within_limit"})}(n,e)}catch(n){console.warn("Organization matter allowance unavailable; server will determine the create result",n)}return{scope:"organization",allowedActiveCases:null,activeCasesCount:null,remaining:null,caseAlreadyActive:!1,requiresCheckout:!1,entitlementUnavailable:!0,reason:"entitlement_unavailable"}}},8849(e,n,a){a.d(n,{B:()=>t,f:()=>i});var s=a(5544);const i=function(){var e,n;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=null!==(e=null!==(n=null===a||void 0===a?void 0:a.cognito_user_id)&&void 0!==n?n:null===a||void 0===a?void 0:a.userId)&&void 0!==e?e:null===a||void 0===a?void 0:a.id;return(e=>"string"===typeof e?e.trim():"")(s)||String(s||"").trim()},t=e=>new Promise((n,a)=>
1{if(!e)return void a(new Error("No image file selected."));if(!e.type||!e.type.startsWith("image/"))return void a(new Error("Please choose an image file."));const i=new FileReader;i.onload=()=>{const e=("string"===typeof i.result?i.result:"").split(","),t=(0,s.A)(e,2)[1],l=void 0===t?"":t;l?n(l):a(new Error("Unable to read the selected image."))},i.onerror=()=>{a(new Error("Unable to read the selected image."))},i.readAsDataURL(e)})},8422(e,n,a){a.d(n,{cm:()=>y,wN:()=>f,HF:()=>N});var s=a(6140),i=a(8606);const t=/^users\/[^/]+\/profile\/[^/]+(?:\/[^/]+)*$/,l=e=>"string"!==typeof e?"":e.trim().replace(/^\/+/,""),o=e=>{const n=l(e),a=(()=>{const e={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_SENTRY_DISABLED:"false",REACT_APP_SENTRY_TRACES_SAMPLE_RATE:"0",REACT_APP_ATTICUS_API_URL:"",REACT_APP_AWS_URL:"https://t1u2ysmq1j.execute-api.us-east-1.amazonaws.com/prod/mailchimp",REACT_APP_SENTRY_DSN:"",REACT_APP_APP_ID:"1",REACT_APP_SENTRY_ENV:"production",REACT_APP_JURIST_API_URL:"https://api-dev.juristai.org/",REACT_APP_API_URL:""}.REACT_APP_PROFILE_ASSET_CDN_BASE;return String((void 0===e?"https://static.juristai.org":e)||"").trim().replace(/\/+$/,"")})();if(!n||!a||!(e=>t.test(l(e)))(n))return"";const s=n.split("/").map(e=>encodeURIComponent(e)).join("/");return"".concat(a,"/").concat(s)};var r=a(9163);const d={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_SENTRY_DISABLED:"false",REACT_APP_SENTRY_TRACES_SAMPLE_RATE:"0",REACT_APP_ATTICUS_API_URL:"",REACT_APP_AWS_URL:"https://t1u2ysmq1j.execute-api.us-east-1.amazonaws.com/prod/mailchimp",REACT_APP_SENTRY_DSN:"",REACT_APP_APP_ID:"1",REACT_APP_SENTRY_ENV:"production",REACT_APP_JURIST_API_URL:"https://api-dev.juristai.org/",REACT_APP_API_URL:""}.REACT_APP_S3_USERS_BUCKET||{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_SENTRY_DISABLED:"false",REACT_APP_SENTRY_TRACES_SAMPLE_RATE:"0",REACT_APP_ATTICUS_API_URL:"",REACT_APP_AWS_URL:"https://t1u2ysmq1j.execute-api.us-east-1.amazonaws.com/prod/mailchimp",REACT_APP_SENTRY_DSN:"",REACT_APP_APP_ID:"1",REACT_APP_SENTRY_ENV:"production",REACT_APP_JURIST_API_URL:"https://api-dev.juristai.org/",REACT_APP_API_URL:""}.REACT_APP_USERS_BUCKET||"juristai-atticus-users",c={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_SENTRY_DISABLED:"false",REACT_APP_SENTRY_TRACES_SAMPLE_RATE:"0",REACT_APP_ATTICUS_API_URL:"",REACT_APP_AWS_URL:"https://t1u2ysmq1j.execute-api.us-east-1.amazonaws.com/prod/mailchimp",REACT_APP_SENTRY_DSN:"",REACT_APP_APP_ID:"1",REACT_APP_SENTRY_ENV:"production",REACT_APP_JURIST_API_URL:"https://api-dev.juristai.org/",REACT_APP_API_URL:""}.REACT_APP_AWS_REGION||{NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_SENTRY_DISABLED:"false",REACT_APP_SENTRY_TRACES_SAMPLE_RATE:"0",REACT_APP_ATTICUS_API_URL:"",REACT_APP_AWS_URL:"https://t1u2ysmq1j.execute-api.us-east-1.amazonaws.com/prod/mailchimp",REACT_APP_SENTRY_DSN:"",REACT_APP_APP_ID:"1",REACT_APP_SENTRY_ENV:"production",REACT_APP_JURIST_API_URL:"https://api-dev.juristai.org/",REACT_APP_API_URL:""}.REACT_APP_REGION||"us-east-1",u=new Map,v=["http://","https://","data:","blob:"],p=(0,s.A)(/^https?:\/\/([^./]+)\.s3[.-]([^./]+)\.amazonaws\.com\/(.+)$/i,{bucket:1,region:2,key:3}),m=(0,s.A)(/^https?:\/\/([^./]+)\.s3\.amazonaws\.com\/(.+)$/i,{bucket:1,key:2}),h=(0,s.A)(/^s3:\/\/([^/]+)\/(.+)$/i,{bucket:1,key:2}),g=/^profile\/(.+)$/i,x=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,j=e=>"string"===typeof e?e.trim():"",b=e=>"string"===typeof e?(0,r.e0)(e):"",A=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;const a=e.replace(/^\/+/,""),s=o(a);return s||"https://".concat(d,".s3.").concat(n,".amazonaws.com/").concat(a.split("/").map(e=>encodeURIComponent(e)).join("/"))},I=function(e,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c;const s=j(e),i=j(n);if(!s||!i)return"";const t=i.match(g);return s===d?A(i,a):t&&(e=>x.test(j(e)))(s)?A("users/".concat(s,"/").concat(i),a):i.startsWith("users/")?A(i,a):t&&s.length>8?A("users/".concat(s,"/").concat(i),a):A(i,a)},f=e=>{const n=j(e);if(!n)return"";if(v.some(e=>n.startsWith(e)))return(e=>{const n=e.match(p)||e.match(m);if(null===n||void 0===n||!n.groups)return"";const a=n.groups,s=a.bucket,i=a.region,t=a.key;return I(s,t,i||c)})(n)||n;if(n.startsWith("s3://"))return(e=>{const n=e.match(h);if(null===n||void 0===n||!n.groups)return"";const a=n.groups,s=a.bucket,i=a.key;return I(s,i,c)})(n)||n;return n.match(g)||n.startsWith("users/")?A(n):n},N=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.user,a=e.currentUser,s=e.fetchUserById,t=e.fetchUserByEmail;const l=(0,i.i8)(n||{}),o=j(null===l||void 0===l?void 0:l.profileImage);if(o)return f(o);const r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return j(e.userId||e.cognito_user_id||e.id)||b(e.email)}(l);if(r&&u.has(r))return f(u.get(r));const d=a||(()=>{if("undefined"===typeof window||!window.localStorage)return null;try{const e=window.localStorage.getItem("user");return e?(0,i.i8)(JSON.parse(e)):null}catch(e){return null}})();if(r&&((e,n)=>{if(!e||!n)return!1;const a=j(e.userId||e.cognito_user_id||e.id),s=j(n.userId||n.cognito_user_id||n.id);if(a&&s&&a===s)return!0;const i=b(e.email),t=b(n.email);return Boolean(i&&t&&i===t)})(d,l)&&j(null===d||void 0===d?void 0:d.profileImage))return u.set(r,d.profileImage),f(d.profileImage);let c="";if(null!==l&&void 0!==l&&l.userId&&"function"===typeof s){const e=await s({userId:l.userId,skipCache:!0});c=j(null===e||void 0===e?void 0:e.profileImage)}if(!c&&null!==l&&void 0!==l&&l.email&&"function"===typeof t){const e=await t({email:l.email,userId:l.userId});c=j(null===e||void 0===e?void 0:e.profileImage)}return r&&c&&u.set(r,c),c?f(c):""},y=()=>{u.clear()}},7876(){}}]);
2//# sourceMappingURL=27.7296445b.chunk.js.map

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.