PageSourceSearch

https://app.alloy.ai/assets/DataStatusDetailsPage-C9oJHkoi.js

js alloy.ai collected 2026-10-03 19:07:48 UTC 63,809 bytes, 5 lines download raw bytes

1import{j as t,B as Se,bF as Ca,p as Ne,lU as dt,w as ba,af as X,sw as wa,sv as Ma,F as D,T as N,f7 as vt,N as q,a9 as G,q as Xe,jY as La,aZ as V,sL as ce,sM as W,a6 as se,sN as _a,sO as Et,aG as Pe,K as Ue,a8 as Oe,c as z,d as J,dA as Gt,sP as Ye,jV as g,sQ as Rt,sR as Pa,sS as Oa,b as me,h7 as Be,sT as ut,sU as Wt,i as Ae,R as De,jT as ke,l as ze,a7 as re,O as te,ak as Q,E as Ua,sV as Ba,hd as ka,dT as mt,jU as $t,iq as we,m as U,D as ne,fa as Va,f4 as Ga,cU as Wa,aX as $a,cW as Ha,sW as ye,sX as qa,ow as Te,sY as jt,ap as Ya,ji as ot,ax as Ke,dd as Ie,sZ as Ht,s_ as za,s$ as pt,o as Ja,t0 as Xa,t1 as qt,t2 as Yt,t3 as ht,t4 as Ft,t5 as zt,t6 as Jt,hb as _e,t7 as Ka,mb as Ct,a$ as Qa,t8 as Za,t9 as gt,dF as Xt,ta as Kt,tb as es,tc as Qt,t as Zt,hQ as ea,c7 as lt,td as ts,eG as as,rB as ss,f as ta,te as rs,c3 as ns,tf as is,sg as os,du as ls,tg as cs,th as bt,z as ds,bB as us,h4 as ms,ti as ps,tj as wt,tk as hs,tl as gs,su as Mt,h9 as aa,ha as sa,j_ as fs,tm as xs,tn as vs,to as ys,tp as Is,tq as Ss,tr as Ns,ts as ra,tt as As,ff as He,k as Ds,hf as Ts,iT as Es,bX as Me,bQ as Lt,dt as _t,tu as Rs,tv as js,hg as Fs,tw as Cs,j3 as bs,dE as ws,dK as Ms,ag as Ls,dw as _s,cx as Ps,ec as Os,hh as Us}from"./index-o5hMGMsX.js";import{a as u,R as na,f as ia}from"./vendor-react-DFM4tGg0.js";import{E as Bs}from"./EntityIconButton-lLtkmp89.js";import{u as ks}from"./partner-DY1QiBNC.js";import{N as Vs}from"./NavLinkBar-OktCSIyO.js";import{D as Gs}from"./DataSourceLogo-Chnp7iGi.js";import{u as Ws,S as $s,a as Hs}from"./SubscribeButton-VxLLIxcH.js";import{a as oa}from"./UpdateCredentialsForm-BZzkX7_Q.js";import{D as ve}from"./DropdownMenu-CH0y4xSg.js";import{D as qs}from"./ConnectedIntegrationsPage-j2AQ4JHV.js";import{D as Ys}from"./DataImportDialog-FUrS6YBn.js";import{u as yt}from"./useUserTimezone-ac-lXQ8U.js";import{u as Qe}from"./useVendorEvaluationDate-Cu9gwHIq.js";import{a as Ze,g as la,ay as zs,an as ca,u as Js}from"./utils-BxJw8CCi.js";import{N as de}from"./NaturalLanguageDate-5JhEjTCO.js";import{u as Xs}from"./StandaloneWidget-CIkpfCQL.js";import{B as da}from"./Button-C1tpfDUJ.js";import{C as ua}from"./ChevronNavigator-BsiLCX1x.js";import{D as Ks}from"./DateRangeChooser-CWdpQ6CJ.js";import{F as ft,a as Qs}from"./FileDownloadLink-Cm6rAnBt.js";import{B as Pt}from"./Banner-BtsayEAT.js";import{F as Zs}from"./FilePicker-BUmAoS5B.js";import{I as ma}from"./InfoHover-BZS1Veka.js";import{g as er,c as tr}from"./emails-Coa1phBC.js";import{S as ar}from"./StackdriverJobLink-CyNF2N3v.js";import"./vendor-redux-byXXH3Fl.js";import"./vendor-firebase-BtY9UEN7.js";import"./vendor-react-grid-nj3QJOH1.js";import"./TabBar-Ypc__Rdl.js";import"./dragula-Ciuh9h3Z.js";import"./DynamicIcon-DjpCDHnA.js";import"./NotificationSubscriptionEditor-CyELc9AP.js";import"./Checkbox-RfKV1Hfk.js";import"./RecipientEditor-oCSFZF8z.js";import"./UserChooser-oCtKUGJX.js";import"./utils-DpiB-zDs.js";import"./Badge-jJ2YWKPa.js";import"./QuickSelectButton-BtGj1psv.js";import"./ItemChooser-B1PBmk_v.js";import"./TopBarSearchInput-CeF5ii1t.js";import"./displayVariants-T6EI3K2_.js";import"./Subtext-Ba4Bx0H-.js";import"./MultiLabel-BH9UQah-.js";import"./MultiLabelButton-Bn2tzf_7.js";import"./ItemChooserFooter-Mcy-GSet.js";import"./QuickFilterButton-WOLaDeHT.js";import"./useResizeObserver-D6XXbQZk.js";import"./promises-DRMO4M9B.js";import"./AttributeDescriptionTooltip-CBQVrrEC.js";import"./AttributeHiddenIcon-Ju_InbG4.js";import"./utils-wBmHhDB7.js";import"./utils-BgLARdh3.js";import"./useInterval-Sv7RFuye.js";import"./OauthCompletionPage-CZHV51N7.js";import"./CredentialsInputGroup-D8nI2fvm.js";import"./ConfirmationButton-Cd9A61KR.js";import"./CreatableSelect-u_ZR8hAZ.js";import"./SingleSelect-3kab0R2Z.js";import"./PasswordInput-b4doPPAC.js";import"./TextArea-EnRnNMNL.js";import"./CredentialGroupEditor-SdR0FqEk.js";import"./NumberEditor-B27fQK5N.js";/* empty css                     */import"./MarkdownTextEditor-D83JbBZZ.js";import"./LabeledOptionsSelect-BPWs3tiT.js";import"./SimilarItemsExistWarning-D02M1nTT.js";import"./DataIntegrationEditor-0lwh8YLp.js";import"./CanvasPill-baIKRyq3.js";import"./LegendWithSimilarItemsWarning-BdSZZsJn.js";import"./GlobalDataIntegrationsPage-Dof4laur.js";import"./CheckboxCell-CVrZM6KZ.js";import"./CrudBaseModelPage-qunGMpI3.js";
1import"./ConfirmDialog-CX3wb_tZ.js";import"./NoDataPlaceholder-CJarnloL.js";import"./TableSettingsPage-D6Nj_XNA.js";import"./BaseSettingsPage-gqf4ZzVg.js";import"./ActionBar-BSUmFWiu.js";import"./ActionBarSpacer-D2eOHL9q.js";import"./SidebarView-C6ewn6yP.js";import"./SidebarList-BkkgW3ej.js";import"./vendor-ag-grid-BjjCojRR.js";import"./colors-D3t2KOS4.js";import"./PeriodInterval-C0-cxJaU.js";import"./markdown-DCCdrTqW.js";import"./vendor-chartjs-DRPi5OMT.js";import"./TreeExpandCollapseArrow-Qaohde3g.js";import"./credentials-uduoGAKi.js";import"./InlineWarningMessage-CbvyaeMH.js";import"./SeverityIcon-Bcfn_oqw.js";import"./SlackRecipientInput-u5eXaUvp.js";import"./UsernameInput-gDEoqJxO.js";import"./PeriodChooser-Bl6T5bIV.js";import"./PeriodEditor-BpjR7_nj.js";import"./DatePicker-ukPSZoFm.js";import"./react-dates-B7DinMeo.js";import"./UserOnlyChooser-CkZDHe7G.js";import"./VendorDataSourceInfoModal-DGgKKff6.js";import"./FieldsetGroup-0C8c6HSY.js";import"./TimePicker-Cv1cq9A4.js";import"./ExpandableSection-CRRXja0e.js";import"./ControlledExpandableSection-Bph8eK9O.js";import"./CaretMenuPopover-CkxQzmHz.js";import"./DataSourceTypeWithInfoHover-C-593-xw.js";import"./ItemChooserTopBarButton-SIEpnYbV.js";import"./hooks-CLdTUxuH.js";import"./SingleFilePicker-Dlxqe74h.js";import"./StepByStepDialog-yH08wNwO.js";import"./FileExtensionValidation-BfmfQen7.js";import"./AttributeListEditor-CmMQlAkl.js";import"./index-cCrGCUpp.js";import"./ListEditor-CAOuNxa0.js";import"./QuickAttributeFilterBar-7YTjcyJy.js";import"./partner-relevance-CcNlVY-3.js";import"./DataImportPreviewTable-XSFJC4Pq.js";import"./StepByStepItem-CAqT-K32.js";import"./ExportButton-BshjBUP6.js";import"./export-BlbEwcma.js";import"./withApi-CE3Yj858.js";import"./LoadingBar-BrCkODwW.js";import"./utils-mfHAkGlc.js";import"./stackdriver-C6PfULkv.js";import"./SplitButton-B9X3TBqR.js";import"./linkify-react-DR4VeQ5r.js";import"./linkify-Cbuu_PPG.js";import"./QuickFilterBar-BwtUR7Am.js";import"./ShareLevelEditor-CABlGH4Q.js";import"./InputWithErrorText-DDBPEEYd.js";import"./DocumentEditor-BgbhTvBW.js";import"./KeyboardShortcutDisplay-CvvKvCbm.js";import"./RelativeDateTooltip-D-TqSm-Z.js";import"./DateTooltip-o270siMg.js";import"./FilePickerDropzone-e-Zo7WBy.js";import"./index-DW_XfneE.js";
1function sr(e,a,r){return X(e.map(({vendorDataSource:n})=>n)).map(n=>({vendorDataSource:n,label:D.vendorDataSource(n,{includeDeactivated:!1,lengthFormat:vt.COMPACT}),ownerContactType:N(n.dataSource.credentialGroupId)?dt.CREDENTIAL_OWNER:dt.DELIVERY_OWNER,canUpdateOwner:Ma(n,a,r),canUpdateCredentials:wa(n,a,r)})).filter(n=>n.canUpdateOwner||n.canUpdateCredentials).toArray().toSorted(q(n=>n.label))}const pa=({vdsFiletypesWithInfo:e,currentUser:a,allUsersById:r,partnerId:s})=>{const[n,i]=u.useState(null),[o,l]=u.useState(null),p=()=>ba(G.getDataCenterDetails.getResource([s])),h=u.useMemo(()=>sr(e,a,r),[e,a,r]);if(h.length===0)return null;const d=h.length>1;return t.jsxs(t.Fragment,{children:[t.jsxs(ve,{children:[t.jsx(ve.Trigger,{children:({ref:m,onClick:x})=>t.jsx(Se,{ref:m,displayVariant:Ne.TERTIARY,icon:"chevron-down",iconPosition:Ca.RIGHT,onClick:x,children:"Credentials"})}),t.jsx(ve.Content,{className:"CredentialsDropdown-content",children:h.map((m,x)=>t.jsxs(na.Fragment,{children:[d&&x>0&&t.jsx(ve.Divider,{}),d&&t.jsx("div",{children:m.label}),m.canUpdateOwner&&t.jsx(ve.Item,{icon:"user",onClick:()=>l(m.vendorDataSource),children:m.ownerContactType===dt.CREDENTIAL_OWNER?"Update credential owner":"Update delivery owner"}),m.canUpdateCredentials&&t.jsx(ve.Item,{icon:"key",onClick:()=>i(m.vendorDataSource),children:"Update credentials"})]},m.vendorDataSource.id))})]}),n&&t.jsx(oa,{credentialGroupId:n.dataSource.credentialGroupId??void 0,credentialSetName:n.credentialSetName??void 0,onClose:()=>{i(null),p()}}),o&&t.jsx(qs,{currentUser:a.user,vendorDataSource:o,onClose:()=>l(null),onUpdate:p})]})};pa.displayName="CredentialsDropdown";const qe=2,rr=65,nr=16,ir=16,Je="Unknown",or=({api:e,node:a})=>{const r=_a();u.useEffect(()=>{const n=zs(e,()=>r());return function(){n()}},[e,r]);const s=u.useCallback((n,i)=>{e.setRowNodeExpanded(a,i),n.stopPropagation()},[e,a]);return t.jsxs("div",{className:"FiletypeNameAndMetrics",children:[t.jsx("div",{className:"title",children:a.data.shortFiletypeDisplayName}),t.jsx("div",{className:"subtitle",children:a.expanded&&a.data.relevantMetricNames.length>qe?t.jsx(Se,{displayVariant:Ne.LINK,onClick:n=>{s(n,!1)},children:"Hide all metrics"}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"preview",children:a.data.relevantMetricNames.slice(0,qe).join(", ")}),a.data.relevantMetricNames.length>qe&&t.jsx(Se,{displayVariant:Ne.LINK,onClick:n=>{s(n,!0)},children:"See all metrics"})]})})]})},lr=({data:e})=>t.jsx("div",{className:"MetricCell",children:e.relevantMetricNames.map((a,r)=>t.jsx("li",{children:a},r))}),cr=({data:e,tab:a})=>{const r=!!(e.availableTo&&e.expectedUpTo&&e.availableTo.isBefore(e.expectedUpTo)),s=r?`${Et(e.availableTo)}. Data expected up to ${Et(e.expectedUpTo)}`:void 0;return e.availableTo?t.jsx(de,{date:e.availableTo,isLate:ce(a)!==W.FILE_RECEIPT&&r,tooltipText:s,capitalize:!0}):Je},dr=e=>t.jsx(Ue,{fallback:t.jsx(ur,{...e}),children:t.jsx(mr,{...e})}),ur=()=>t.jsx("div",{className:"NextExpectedCellContentPlaceholder"}),mr=({data:e})=>{var m;const{dataStatus:a,vendorDataSource:r,scheduledScraperRuns:s,nextE
1xpected:n,fileDataStatus:i,dailyStatus:o}=e,l=r.dataSource.type===Oe.RPA,p=N(i),h=z(J(!p||Ye(i)?Gt:G.getDataAvailableEstimate.getResource(i.fileId)));if(a===g.IN_PROGRESS){if(N(h))return t.jsx(de,{date:Rt(h),capitalize:!0,includeTime:!0});if(l&&N((m=o==null?void 0:o.latestFailedOrInProgressScraperRun)==null?void 0:m.scraperRun.scheduledTime)){const x=o.latestFailedOrInProgressScraperRun.scraperRun.scheduledTime;return t.jsx(de,{date:Rt(x).add(Pa,"hours"),capitalize:!0,includeTime:!0})}}const d=Oa(s??[],n,l);return N(d)?t.jsx(de,{date:d,capitalize:!0,includeTime:!0}):e.nextExpected?t.jsx(de,{date:e.nextExpected,capitalize:!0}):Je},pr=({data:e,vendorDataSourceFiletypeById:a})=>{var n;const r=!!e.lastUpdated&&!!e.lastExpectedReceived&&e.lastUpdated.isBefore(e.lastExpectedReceived),s=`Data was expected to be updated ${Pe(e.lastExpectedReceived).format("dddd")} ${D.date(e.lastExpectedReceived)}${D.atTime((n=a.get(e.vdsfId))==null?void 0:n.expectedTimeReceived,{prefix:"by"})}`;return e.lastUpdated?t.jsx(de,{date:e.lastUpdated,isLate:r,tooltipText:r?s:void 0,capitalize:!0,includeTime:!0}):t.jsx("div",{children:e.lastExpectedReceived?t.jsx(se,{tooltip:s,children:t.jsx("div",{className:V("NaturalLanguageDate","late"),children:Je})}):Je})};function hr(e,a=!1,r){return[{colId:"dataType",headerName:"Data Type",headerComponentFramework:la,headerComponentParams:{subtitle:"Metrics"},valueGetter:({data:s})=>s,sort:"asc",sortable:!1,comparator:q(s=>s.shortFiletypeDisplayName),cellRendererFramework:or,width:350},{colId:"credential",headerName:"Credential Set Name",valueGetter:({data:s})=>s.vendorDataSource.credentialSetName||"",sortable:!1,comparator:q(s=>s),hide:!a,width:150},{colId:"type",headerName:"Source",valueGetter:({data:s})=>s.vendorDataSource.dataSource.type,valueFormatter:({value:s})=>D.dataSourceType(s,{lengthFormat:vt.FULL}),sortable:!1,comparator:q(s=>s),width:100},{colId:"availableTo",headerName:"Available To",headerTooltip:"The latest available data point",cellRendererFramework:cr,cellRendererParams:{tab:e},sortable:!1,comparator:q(s=>s.availableTo),width:ce(e)===W.FILE_RECEIPT?120:100},{colId:"typicallyUpdated",headerName:"Typically Updated",headerTooltip:"The day of week or frequency on which this data is normally updated",valueGetter:({data:s})=>s.displayCadence.value,cellRendererFramework:s=>t.jsx(se,{tooltip:s.data.displayCadence.tooltip,children:s.data.displayCadence.value}),sortable:!1,comparator:q(s=>s),width:100},{colId:"lastUpdated",headerName:"Last Updated",headerTooltip:"The last time this data was updated",valueGetter:({data:s})=>s.lastUpdated,cellRendererFramework:pr,cellRendererParams:{vendorDataSourceFiletypeById:r},sortable:!1,comparator:q(s=>s),width:120},{colId:"nextExpected",headerName:"Next Expected Update",headerTooltip:"An estimate of when data will next be updated, based on patterns over the last 3 months",valueGetter:({data:s})=>s.nextExpected,cellRendererFramework:dr,sortable:!1,comparator:q(s=>s),width:100}]}function gr(e){return e.group?String(e.vendorDataSourceFiletypeId):`${e.vendorDataSourceFiletypeId}-child`}const ha=({className:e,dataStatus:a,filteredVendorDataSourceFiletypeId:r,isOnlyDetailedStatus:s,setFilteredVendorDataSourceFiletypeId:n,vdsFiletypesWithStatuses:i,vendorDataSourceFiletypeById:o,displayCadenceByVdsfId:l,tab:p,showCredentialSet:h=!1,dataToShowByVdsfId:d,nextExpectedByVdsf:m,availableToByVdsf:x,lastUpdatedByVdsf:F,dataExpectedUpToByVdsfId:f,lastExpectedReceivedByVdsfId:A,scheduledScraperRunsByVdsfId:E,latestFileStatusByVdsfId:c})=>{const y=Xs(()=>hr(p,h,o),[h,p,o]),T=u.useMemo(()=>i.map(v=>{const R=v.filetypeWithInfo.vendorDataSourceFiletypeId,B=d.get(R),P=m.get(R)||null,Y=x.get(R)||null,L=F.get(v.filetypeWithInfo.vendorDataSourceFiletypeId)||null,C=f.get(R)||null,Z=E.get(R)||null,ae=c.get(R)||null,$=A.get(v.filetypeWithInfo.vendorDataSourceFiletypeId)||null,b=(v.filetypeWithInfo.metricsByTab.get(p)||[]).filter(j=>Xe(B)||B.length===0||B.map(ee=>ee.metricId).includes(j.id)).map(j=>j.displayName).sort(),M=l.get(R)||La();return{...v.filetypeWithInfo,vdsfId:R,displayCadence:M,group:!0,relevantMetricNames:b,dataStatus:a,fileDataStatus:ae,lastUpdated:L,nextE
1xpected:P,availableTo:Y,expectedUpTo:C,scheduledScraperRuns:Z,dailyStatus:v.dailyStatus,lastExpectedReceived:$,children:b.length>qe?[{...v.filetypeWithInfo,vdsfId:R,displayCadence:M,group:!1,relevantMetricNames:b,fileDataStatus:null,dataStatus:null,lastUpdated:null,nextExpected:null,availableTo:null,expectedUpTo:null,scheduledScraperRuns:null,dailyStatus:null,lastExpectedReceived:$}]:[]}}),[i,l,d,m,x,F,f,A,E,c,p,a]),[_,w]=u.useState(null);return u.useEffect(()=>{if(_&&(_.deselectAll(),r!==null)){const v=_.getRowNode(String(r));v&&v.setSelected(!0)}},[r,_]),t.jsx("div",{className:V("DataStatusFiletypeTable",e),children:t.jsx(Ze,{cellClickHandler:v=>{(T.length>1||!s)&&n(r===v.data.vendorDataSourceFiletypeId?null:v.data.vendorDataSourceFiletypeId)},className:"filetype-infos",columnDefs:y,domLayout:"autoHeight",fullWidthCellRendererFramework:lr,getRowHeight:v=>v.data.group?rr:nr+v.data.relevantMetricNames.length*ir,getRowNodeId:gr,isFullWidthCell:v=>!v.data.group,rowClass:T.length===1&&s?"no-highlight":"",rowData:T,onGridReady:w})})};ha.displayName="DataStatusFiletypeTable";function ga(e,a,r){const s=e&&r&&Q(r.filter(n=>n.credentialGroupId===e.dataSource.credentialGroupId&&n.credentialSetName===e.credentialSetName)).maxBy(n=>Pe(n.issuedAt));return N(a)?`${a.name} is responsible for credential updates.
2              ${s?`A reminder was last sent ${Pe(s==null?void 0:s.issuedAt).fromNow()} ago.`:""}`:null}function Ot(e,a,r){return t.jsx(da,{className:"message-action-button",onClick:()=>r(a),children:t.jsxs("div",{children:[t.jsx(re,{className:"negative",icon:"upload"}),t.jsx("span",{className:"message-action-text",children:e})]})})}function fr(e,a,r){const s=e.user.email===(a==null?void 0:a.email),n=s||r,i=`contact the delivery owner${a?` ${a==null?void 0:a.name}`:""}`;return`Please ${s?"":i}${!s&&n?" or ":""}${n?`${r?"upload":"send Alloy"} the missing file`:""}.`}function xr(e,a,r,{dataLabel:s,isAtLeastAdmin:n,ownerNameAndEmail:i,onOpenDetails:o}){switch(e){case g.FORWARD_FILE_FAILED:const l=Ot("Upload Fixed File",{vdsFiletypeW
2ithInfo:a.filetypeWithInfo,fileStatus:a.dailyStatus.latestFileStatus},o);return{title:"Failed Import",message:t.jsxs(t.Fragment,{children:[t.jsxs("p",{children:[`Alloy received ${s.prefix} `,s.value," data, however it failed on import. Please"," ",t.jsx(mt,{children:"contact support"})," for more details."]}),n&&l]})};case g.FORWARD_FILE_MISSING:const p=Q(a.latestMissingStatuses).sortBy(d=>d.endDate).last(),h=Ot("Upload Missing File",{vdsFiletypeWithInfo:a.filetypeWithInfo,fileStatus:p},o);return{title:"Missing File",message:t.jsxs(t.Fragment,{children:[t.jsxs("p",{children:[`Alloy has not received ${s.prefix} `," ",s.value," ",s.pluralSuffix?"files.":"file."]}),t.jsx("p",{children:fr(r,i,n)}),n&&h]})}}}function vr(e,a,r,{dataLabel:s,derivedDataStatusEnabled:n,isAtLeastAdmin:i,ownerNameAndEmail:o,partnerName:l,vendorDataSource:p,openCredentialRequests:h,setCredentialModalVendorDataSource:d}){var x,F,f;const m=((x=p==null?void 0:p.owner)==null?void 0:x.accountId)===e.user.id;switch($t(a,n)){case g.DISCONNECTED:const A=ga(p,o,h);return{title:"Disconnected",message:t.jsxs(t.Fragment,{children:[t.jsx("p",{children:`Alloy could not access ${l} due to invalid credentials.`}),A&&t.jsx("p",{children:A}),p&&(i||m)&&t.jsx(da,{className:"message-action-button",onClick:()=>d(p),children:t.jsxs("div",{children:[t.jsx(re,{className:"negative",icon:"lock"}),t.jsx("span",{className:"message-action-text",children:"Update Credentials"})]})})]})};case g.EXPECTED:const E=X(r.map(({dailyStatus:T})=>T.latestFailedOrInProgressScraperRun)).filter(N),y=X(E.map(({scraperRun:T})=>T.id)).size===1?E.first():null;return{title:"Expected Today",message:t.jsxs(t.Fragment,{children:[t.jsxs("p",{children:[we(s.prefix)," ",s.value," data is expected later today. Please check back soon."]}),y&&t.jsxs("p",{children:[`Alloy last tried to fetch data ${Nr(y.scraperRun)} ago`,(F=y.nextRetryRun)!=null&&F.scheduledTime?`, will retry ${Pe((f=y.nextRetryRun)==null?void 0:f.scheduledTime).fromNow()}.`:"."]})]})};case g.FAILED:case g.SCRAPER_FAILED:return{title:"Failure",message:t.jsxs("p",{children:[`Something went wrong processing ${s.prefix} `,s.value," data. The Alloy team has been notified and we're looking into it! Please ",t.jsx(mt,{children:"contact support"})," for more details."]})};case g.IN_PROGRESS:return{title:"Processing...",message:t.jsxs("p",{children:[`Alloy is currently processing ${s.prefix} `,s.value," data. Please check back soon."]})};case g.ALL_DATA_AVAILABLE:return{title:"Latest Data Available",message:t.jsxs("p",{children:[we(s.prefix)," ",s.value," data has been loaded in Alloy."]})};case g.RAW_DATA_AVAILABLE:return{title:"Raw Data Available",message:t.jsxs("p",{children:[we(s.prefix)," raw ",s.value," data has been loaded in Alloy. Calculated data is still being processed."]})};case g.CALCULATED_DATA_DELAYED:return{title:"Calculated Data Delayed",message:t.jsxs("p",{children:[we(s.prefix)," raw ",s.value," data has been loaded in Alloy. Calculated data is delayed. The Alloy team has been notified and we're looking into it."]})};case g.EMPTY:return{title:"No recent data",message:t.jsx("p",{children:"Alloy hasn't received a file with data in a while, but this is an irregular feed so this isn't unexpected."})};case g.NO_STATUS:return{title:"No Status Available",message:t.jsxs("p",{children:["Alloy doesn't have a status for ",we(s.prefix)," ",s.value," data. It may be not have received data in a long time. Please"," ",t.jsx(mt,{children:"contact support"})," for more details."]})}}}function yr(e,a,r,s){if(Ra(a)&&r.length===1)return xr(a,r.at(0),e,s);if(ja(a))return vr(e,a,r,s);throw new Error(`Failed to get message for ${a}.`)}function Ir(e){return e===Ba.OTHER?"":ka(e)}function Sr(e,a,r){const s=X(e.map(({filetypeWithInfo:n})=>n.shortFiletypeDisplayName.trim()).filter(Ua)).toArray();if(s.length>3){const n=Ir(a);return{prefix:r?"the latest":"some of the latest",value:n?t.jsx("span",{className:"bold",children:n}):null,pluralSuffix:!0}}else return{prefix:"the latest",value:s.length<=1?t.jsx("span",{className:"bold",children:s.at(0)}):t.jsxs(t.Fragment,{children:[s.slice(0,-1).map((n,i)=>t.jsxs(na.Fragment,{children:[t.jsx("span",{className:"bold",children:n}),i===s.length-2?"":", "]},n))," ","and ",t.jsx("span",{className:"bold",children:s.at(-1)})]}),pluralSuffix:s.length>1}}function Nr(e){var a;return Pe((a=Q(e.statuses).last())==null?void 0:a.transitionedAt).fromNow()}const Ar=({filteredVendorDataSourceFiletypeId:e,isOnlyDetailedStatus:a,setFilteredVendorDataSourceFiletypeId:r,partner:s,selectedTab:n,vdsFiletypesWithStatuses:i,showCredentialSet:o,vendorDataSourceFiletypeById:l,dis
2playCadenceByVdsfId:p,allUserInfos:h,allUsersById:d,openCredentialRequests:m,nextExpectedByVdsf:x,availableToDateByVdsfId:F,lastUpdatedByVdsf:f,dataExpectedUpToByVdsfId:A,scheduledScraperRunsByVdsfId:E,latestFileStatusByVdsfId:c,lastExpectedReceivedByVdsfId:y,onOpenDetails:T,onCredentialUpdate:_})=>{const[w,v]=u.useState(null),R=me(),B=Be(),P=ut(i,B),Y=X(i.map(j=>j.filetypeWithInfo.vendorDataSource)),L=u.useMemo(()=>Y.size===1?Y.first():null,[Y]),C=u.useMemo(()=>{const j=L==null?void 0:L.owner;return N(j==null?void 0:j.accountId)?Wt(j.accountId,d,h):null},[h,d,L==null?void 0:L.owner]),Z=u.useMemo(()=>e!==null&&i.map(j=>j.filetypeWithInfo.vendorDataSourceFiletypeId).filter(j=>e===j).length===0,[e,i]),ae=u.useMemo(()=>e!==null&&i.map(j=>j.filetypeWithInfo.vendorDataSourceFiletypeId).filter(j=>e===j).length>0,[e,i]),$=u.useMemo(()=>Sr(i,n,a),[a,n,i]),b=u.useMemo(()=>yr(R,P,i,{isAtLeastAdmin:Ae(R.user.role,De.ADMIN),derivedDataStatusEnabled:B,dataLabel:$,partnerName:s.name,openCredentialRequests:m,ownerNameAndEmail:C,vendorDataSource:L,onOpenDetails:T,setCredentialModalVendorDataSource:v}),[R,$,B,T,m,C,s,P,i,L]),M=ke(P,B);return t.jsxs(t.Fragment,{children:[w&&t.jsx(oa,{credentialGroupId:(w==null?void 0:w.dataSource.credentialGroupId)??void 0,credentialSetName:(w==null?void 0:w.credentialSetName)??void 0,vendorDataSource:w,onClose:()=>{v(null),_()}}),t.jsxs(ze,{className:V("DataStatusDetailedStatus",Z?"filtered-out":M.iconColor??M.color),padded:!0,children:[t.jsxs("div",{className:"status-section",children:[t.jsxs("div",{className:"detailed-summary-title",children:[t.jsx("div",{className:"icon-container",children:t.jsx(re,{...M.iconProps,className:Z?"filtered-out":M.iconColor??M.color,icon:M.icon})}),t.jsx("div",{children:b.title})]}),t.jsx("div",{className:V("status-message",M.iconColor??M.color),children:b.message})]}),t.jsx("div",{className:"data-types section",children:t.jsx(ze,{className:"DataStatusFiletype",children:t.jsx(ha,{availableToByVdsf:F,className:Z?"filtered-out":ae?"filtered":"",dataExpectedUpToByVdsfId:A,dataStatus:P,dataToShowByVdsfId:te(i.map(j=>[j.filetypeWithInfo.vendorDataSourceFiletypeId,j.dailyStatus.data])),displayCadenceByVdsfId:p,filteredVendorDataSourceFiletypeId:e,isOnlyDetailedStatus:a,lastExpectedReceivedByVdsfId:y,lastUpdatedByVdsf:f,latestFileStatusByVdsfId:c,nextExpectedByVdsf:x,scheduledScraperRunsByVdsfId:E,setFilteredVendorDataSourceFiletypeId:r,showCredentialSet:o,tab:n,vdsFiletypesWithStatuses:i,vendorDataSourceFiletypeById:l})})}),t.jsx("div",{})]})]})},fa=({interval:e,canMoveBackward:a,canMoveForward:r,headerPrefix:s,onChange:n,onTodayButtonClick:i})=>{const o=u.useCallback(p=>{const h=U(e.start),d=U(e.end);n&&n({start:h.clone().add(p,"weeks").format(ne),end:d.clone().add(p,"weeks").format(ne)})},[e.start,e.end,n]),l=Va(e);return t.jsxs("div",{className:"DateRangeNavigator",children:[s,t.jsx(ua,{canMoveBackward:a,canMoveForward:r,estimatedChildWidth:"150px",onMoveBackward:()=>a&&o(-1),onMoveForward:()=>r&&o(1),children:t.jsx(Ks,{buttonClassName:"navigator-button",buttonIcon:null,endDate:U(e.end),endDateOffsetDays:l,startDate:U(e.start),borderlessButton:!0,closeOnSelect:!0,onDatesChange:(p,h)=>n(Ga(p,h))})}),t.jsx("div",{className:"shortcuts-container",children:N(i)&&t.jsx(Wa,{overlay:t.jsx(Ha,{id:"today-button-tooltip",children:"Jump to today"}),children:t.jsx($a,{icon:"history",iconClassName:"flipped-horizontally",onClick:i})})})]})};fa.displayName="DateRangeNavigator";function Dr(e){return[Te.IMPORTED,Te.PARTIALLY_IMPORTED].includes(e.latestFileStatus.status)}const It={value:"—",tooltip:""},xa={value:"All",tooltip:"All rows imported"},St={value:"0",tooltip:"No rows imported"};function Tr(e,a){return e===a?D.percent(1,{fractionalDigitCount:0}):D.percent(e/a,{upperLimit:.99,lowerLimit:.01,fractionalDigitCount:0})}function Er(e){if(Dr(e)&&N(e.processedFileDetails)){const{importedRowCount:a,totalAlloyRowCount:r,isFilePartiallyExtracted:s}=e.processedFileDetails;return{value:D.integer(a),highlightValue:s||a<r,tooltip:t.jsxs("div",{className:"row-count-tooltip-content",children:[t.jsx("div",{className:"header",children:`${e.latestFileStatus.status===Te.PARTIALLY_IMPORTED?"Partial":"Complete"} import`}),t.jsxs("div",{children:["Extracted rows imported: ",D.integer(a)]}),t.jsxs("div",{children:["Total rows: ",s?"Unknown":D.integer(r)]}),t.jsxs("div",{children:["% imported:"," ",s?"Unknown":Tr(a,r)]})]})}}else return e.latestFileStatus.status===Te.PARTIALLY_IMPORTED?{value:"Partial",tooltip:"File partially imported. No row count information available."}:e.importStatus===jt.IMPORTED?xa:e.importStatus===jt.IN_PROGRESS?It:St}function Rr(e){switch(Ya(e.scraperRun.statuses).status){case ot.SCHEDULED:case ot.IN_PROGRESS:return It;case ot.COMPLETED:return xa;default:return St}}function jr(e){switch(e.dataStatus){case g.EXPECTED:case g.IN_PROGRESS:return It;default:return St}}function Fr(e){return ye(e)?Er(e):qa(e)?Rr(e):jr(e)}
2const Nt=({fileDataStatus:e,className:a})=>{const{value:r,tooltip:s,highlightValue:n}=Fr(e);return t.jsx(se,{className:V("RowCountValue",a,{partial:n}),tooltip:s,children:r})};Nt.displayName="RowCountValue";const Cr=20,br=40;function wr(e,a,r,s){return[{colId:"status",headerName:"Status",valueGetter:({data:n})=>n.fileStatus.dataStatus,sortable:!0,width:100,comparator:qt(s),cellRendererFramework:({value:n})=>{const i=n,o=ke(i,s),l=t.jsxs("div",{className:"file-history-status-cell",children:[t.jsx(re,{className:o.iconColor??o.color,icon:o.icon,spin:i===g.IN_PROGRESS}),t.jsx("div",{children:D.dataStatusV2(i,s)})]});return i===g.EMPTY?t.jsx(se,{placement:"bottom",tooltip:"Empty files for irregular feeds are ignored.",children:l}):l}},{cellClass:e===W.DATA_AVAILABILITY?"highlighted":"",colId:"dateInterval",headerClass:e===W.DATA_AVAILABILITY?"bold":"",headerName:"Data Range",sortable:!0,sortedAt:e===W.DATA_AVAILABILITY?1:2,sort:"desc",minWidth:100,valueGetter:({data:n})=>Ht(n.fileStatus),valueFormatter:({value:n})=>D.interval(n),comparator:Yt},{colId:"filename",headerName:"Filename",sortable:!0,hide:!r,valueGetter:({data:n})=>{var i;return(i=ht(n.fileStatus))==null?void 0:i.fileName},comparator:q(n=>n),minWidth:150,cellRendererFramework:({data:n})=>{const i=ht(n.fileStatus);return t.jsx(t.Fragment,{children:i&&t.jsx(ft,{className:"file-history-filename-cell",fileId:i.fileId,fileName:i.fileName,fileVersion:i.fileVersion,truncate:!1})})}},{cellClass:e===W.FILE_RECEIPT?"highlighted":"",colId:"dateReceived",headerClass:e===W.FILE_RECEIPT?"bold":"",headerName:"File Received",sortable:!0,sortedAt:e===W.DATA_AVAILABILITY?2:1,sort:"desc",minWidth:100,comparator:q(n=>D.date(Ft(n.fileStatus),{formatString:ne})).thenDescendingBy(n=>pt(n.fileStatus).length),tooltipValueGetter:void 0,valueGetter:({data:n})=>n,cellRendererFramework:({data:n})=>{const i=pt(n.fileStatus).map(h=>D.date(h)),o=D.date(Ft(n.fileStatus)),l=!!zt(n.fileStatus)||n.fileStatus.dataStatus===g.DISCONNECTED,p=e===W.FILE_RECEIPT&&i.length>1;return t.jsx(se,{tooltip:p?Jt(n.fileStatus):"",children:t.jsx("div",{className:V("file-received-date-cell",{"expected-data-range":l}),children:i.length?t.jsxs(t.Fragment,{children:[t.jsx("div",{children:`${l?"Expected: ":""}${o}`}),p&&t.jsx("div",{className:"file-received-other-dates",children:`+ ${i.length-1}`})]}):"Unknown"})})}},{colId:"credentialSet",headerName:"Credential Set",sortable:!0,valueGetter:({data:n})=>
2n.vdsFiletypeWithInfo.vendorDataSource.credentialSetName,comparator:q(n=>n),hide:!a},{colId:"rows_imported",headerName:"Rows Imported",headerComponentParams:{textAlignment:"right"},sortable:!0,minWidth:60,maxWidth:90,cellRendererFramework:({data:n})=>t.jsx(Nt,{className:"RowImportedCell",fileDataStatus:n.fileStatus})},{colId:"dataType",headerName:"Data Type",sortable:!0,minWidth:100,valueGetter:({data:n})=>n.vdsFiletypeWithInfo.shortFiletypeDisplayName,comparator:q(n=>n)}]}const Mr=(e,a,r)=>a===W.DATA_AVAILABILITY||r===null?e.valueSeq().map(s=>({...Xa(s),allStatusesByReceivedDay:s})).toArray():a===W.FILE_RECEIPT?e.valueSeq().map(s=>{const n=s.get(r);return n?{...n,allStatusesByReceivedDay:s}:null}).filter(N).toArray():[],va=({fileStatusByDateByIdByVdsfId:e,fileView:a,filterDay:r,filteredVendorDataSourceFiletypeId:s,missingContent:n,onGoToLatest:i,scraperStatuses:o,onOpenDetails:l,vdsFiletypeWithInfoById:p,showCredentialSet:h=!1})=>{const d=me(),m=Ae(d.user.role,De.ADMIN),x=Be(),F=u.useMemo(()=>X(e.keySeq()).union(n.keySeq()).union(o.keySeq()).filter(E=>s===null?!0:s===E),[o,e,s,n]),f=u.useMemo(()=>{const E=r?D.date(r,{formatString:ne}):null;return F.map(c=>{const y=Ke(p.get(c)),T=y.vendorDataSource.dataSource.type,_=e.get(c,te()),w=n.get(c,[]),v=o.get(c,[]);return[...Mr(_,a,E),...w,...T===Oe.RPA?v:[]].map(R=>
2({fileStatus:R,vdsFiletypeWithInfo:y}))}).valueSeq().flatMap(Ie).filter(c=>{if(r===null)return!0;if(a===W.DATA_AVAILABILITY){const y=Ht(c.fileStatus);return r.isBetween(U(y==null?void 0:y.start),U(y==null?void 0:y.end),void 0,"[)")}else if(a===W.FILE_RECEIPT)return za(pt(c.fileStatus),y=>y.isSame(r,"day"));return!1}).toArray()},[F,e,a,r,n,o,p]),A=u.useMemo(()=>wr(a,h,m,x),[a,h,m,x]);return t.jsx("div",{className:"FileHistoryTable",children:f.length?t.jsx(Ze,{autoResizeMethod:ca.FIT_CONTENT,columnDefs:A,rowClass:"file-history-table-row",rowData:f,style:f.length<Cr?{minHeight:(f.length+1)*br}:void 0,autoResize:!0,onRowClicked:E=>l(E.data)}):t.jsxs(Ja,{className:"no-data",children:[t.jsx("div",{children:"No files for this date range."}),i&&t.jsx(Se,{displayVariant:Ne.LINK,onClick:i,children:"Jump to the latest dates with expected data"})]})})};va.displayName="FileHistoryTable";function Lr(e,a,r,s){const n=yt();return Ia(At(e,a,r,s,n))}function _r(e,a,r,s){const n=yt();return Ia(ya(e,a,r,s,n))}function ya(e,a,r,s,n){const i=X(r.values());return i.size===1?At(e,a,Array.from(i)[0],s,n):G.getDataStatusForRanges.getResource({dataStatusTabType:a,partnerId:s,dataRangeByVendorDataSourceFiletypeId:r.toJSON()})}function At(e,a,r,s,n){return e===W.DATA_AVAILABILITY?G.getDataCenterStatuses.getResource({partnerId:s,dataStatusTabType:a,dateRange:r}):G.getFileReceiptStatuses.getResource({partnerId:s,dataStatusTabType:a,receivedAtRange:r,zoneId:n})}function Ia(e){const a=_e(z(J(e))),r=a.map(o=>o.dailyStatuses),s=a.map(o=>te(o.fileStatusByDateById).mapKeys(l=>parseInt(l,10)).map(l=>te(l))),n=a.map(o=>o.missingDataStatusContent),i=a.map(o=>o.scraperStatuses);return u.useMemo(()=>({dailyStatuses:r,fileStatusByDateByIdByVdsfId:s,missingContent:n,scraperStatuses:i}),[r,s,n,i])}function Pr(e,a){const r=Ka(qt(a));return Q(e).groupBy(s=>s.date).toMap().map(s=>s.map(n=>n.status).sortBy(Ie,r).first(null)).filter(N)}const Sa=({dateRange:e,className:a,getTimelineItem:r})=>{const s=Qe(),n=u.useMemo(()=>U(e.start),[e.start]),o=u.useMemo(()=>U(e.end),[e.end]).diff(n,"days");return t.jsxs(ze,{className:V("Timeline",a),padded:!1,style:{gridTemplateRows:"repeat(2, 1fr)",gridTemplateColumns:`repeat(${o}, 1fr)`},children:[Ct(0,o).map(l=>{const p=n.clone().add(l,"days"),h=p.isSame(s,"date"),d=()=>h?t.jsx("div",{className:"today",children:"TODAY"}):l===0||p.date()===1?t.jsx("div",{className:"month",children:p.format("MMM")}):null;return t.jsxs("div",{className:V("date-item header-item",{"last-header":l===o-1,today:h}),children:[d(),t.jsx("div",{className:"day",children:p.date()})]},`header-${p.format(ne)}`)}),Ct(0,o).map(l=>{const p=n.clone().add(l,"days");return t.jsx("div",{className:"date-item",children:r(p)},p.format(ne))})]})},Or=({dateRange:e,className:a})=>t.jsx(Sa,{className:V("StatusTimelinePlaceholder",a),dateRange:e,getTimelineItem:()=>t.jsx("div",{className:"placeholder-item"})}),Na=({dateRange:e,dailyStatuses:a,filterDay:r,className:s,setFilterDay:n})=>{const i=Be(),o=u.useMemo(()=>Pr(a,i),[a,i]),l=u.useCallback(p=>{const h=p.format(ne),d=o.get(h),m=d?ke(d,i):void 0;return d&&m?t.jsx(se,{className:"status-icon-container",placement:"bottom",tooltip:D.dataStatusV2(d,i,{lengthFormat:vt.FULL}),children:t.jsx("div",{className:V("status-icon",m.color,{filtered:r==null?void 0:r.isSame(p,"date")}),onClick:()=>n(r!=null&&r.isSame(p,"date")?null:p),children:t.jsx(re,{...m.iconProps,className:`icon-${m.iconColor??m.color}`,icon:m.icon})})}):t.jsx(se,{className:"status-icon-container",placement:"bottom",tooltip:"Data Not Expected",children:t.jsx("div",{className:"status-icon not-expected",children:t.jsx(re,{icon:"bars"})})})},[o,i,r,n]);return t.jsx(Sa,{className:V("StatusTimeline",s),dateRange:e,getTimelineItem:l})};Na.displayName="StatusTimeline";const Ur=({cadences:e,dateRange:a,fileView:r,filterDay:s,filteredVendorDataSourceFiletypeId:n,partner:i,showCredentialSet:o,vdsFiletypeW
2ithInfoById:l,onGoToLatest:p,selectedTab:h,setFilterDay:d,setOpenFileDetail:m})=>{const x=gt(e,a),{dailyStatuses:F,fileStatusByDateByIdByVdsfId:f,missingContent:A,scraperStatuses:E}=Lr(r,h,x,i.id);return t.jsxs(t.Fragment,{children:[t.jsx(Na,{dailyStatuses:l.valueSeq().filter(c=>n===null?!0:n===c.vendorDataSourceFiletypeId).flatMap(c=>F.get(c.vendorDataSourceFiletypeId,[])).toArray(),dateRange:a,filterDay:s,setFilterDay:d}),t.jsx(va,{fileStatusByDateByIdByVdsfId:f,fileView:r,filterDay:s,filteredVendorDataSourceFiletypeId:n,missingContent:A,scraperStatuses:E,showCredentialSet:o,vdsFiletypeWithInfoById:l,onGoToLatest:p,onOpenDetails:m})]})},Br=({dateRange:e})=>t.jsxs("div",{className:"FileHistoryContentPlaceHolder",children:[t.jsx(Or,{dateRange:e}),t.jsx(Xt,{className:"table-loader"})]}),Aa=({className:e,dateRange:a,fileView:r,filteredVendorDataSourceFiletypeId:s,initialDateRange:n,latestDataDateRange:i,selectedTab:o,setFileView:l,vdsFiletypeWithInfoById:p,setDateRange:h,...d})=>{const[m,x]=u.useState(null),F=u.useCallback(f=>{m!=null&&m.isBetween(f.start,f.end,void 0,"[)")||x(null),h(f)},[m,h]);return u.useEffect(()=>x(null),[r,o]),t.jsxs(ze,{className:V("DataStatusFileHistoryInfo",e),padded:!0,children:[t.jsx(fa,{headerPrefix:t.jsxs("div",{className:"option-chooser-container",children:[t.jsx("h4",{className:"option-chooser-prefix-text",children:"View By:"}),t.jsx(Qa,{className:"file-view-chooser",options:Za,selected:r,tooltipsEnabled:!1,onChange:l})]}),interval:a,canMoveBackward:!0,canMoveForward:!0,onChange:F,onTodayButtonClick:()=>h(n)}),t.jsx(Ue,{fallback:t.jsx(Br,{dateRange:a}),children:t.jsx(Ur,{...d,dateRange:a,fileView:r,filterDay:m,filteredVendorDataSourceFiletypeId:s,selectedTab:o,setFileView:l,setFilterDay:x,vdsFiletypeW
2ithInfoById:p,onGoToLatest:i&&r===W.DATA_AVAILABILITY?()=>h(i):null})})]})};Aa.displayName="DataStatusFileHistoryInfo";var k=(e=>(e.COMPLETED="completed",e.CURRENT="current",e.FUTURE="future",e.FAILED="failed",e.DELAYED="delayed",e))(k||{}),ue=(e=>(e.RECEIVED="received",e.RAW_DATA="raw-data",e.AUGMENTATION="augmentation",e.ALL_DATA="all-data",e))(ue||{});const Ee={timestamp:null,hasTimeOfDay:!1};function et(e){return N(e)?{timestamp:e,hasTimeOfDay:!0}:Ee}function Ut(e){return`The ${e} metrics included in this file (listed below) are queryable.`}function kr(e,a,r){switch(e){case g.ALL_DATA_AVAILABLE:return`All ${r} data produced by this file has been processed and is available.`;case g.RAW_DATA_AVAILABLE:return`${Ut(r)} Calculated metrics are still processing.`;case g.CALCULATED_DATA_DELAYED:return`${Ut(r)} Calculated metrics are delayed. The Alloy team has been notified and we're looking into it.`;case g.IN_PROGRESS:return a?"This file was received and is being processed.":"This file is currently being retrieved.";case g.FAILED:case g.SCRAPER_FAILED:return"This file failed to import, so its data isn't available. Our team is looking into it.";case g.FORWARD_FILE_FAILED:return"This file failed to import, so its data isn't available.";case g.FORWARD_FILE_MISSING:return"This file hasn't been received, so its data isn't available.";case g.DISCONNECTED:return"This connection is disconnected; no new files will be pulled until credentials are updated.";case g.EXPECTED:return"This file hasn't arrived yet.";case g.EMPTY:return"This file was received but contained no rows, so there is nothing to process.";case g.NO_STATUS:throw new Error("Cannot build a file status timeline headline for NO_STATUS: the model returns null first.")}}function Vr(e,a,r){const{icon:s,color:n,iconColor:i}=ke(e,!0);return{text:kr(e,a,r),icon:s,color:i??n}}function Gr(e,a){switch(e){case"completed":return"File received and queued for import.";case"current":return a?"Retrieval in progress.":"Waiting for this file to arrive.";case"future":case"failed":case"delayed":return null}}function Wr(e,a){switch(e){case"completed":return`Raw ${a} records are queryable in dashboards.`;case"current":return"Import in progress.";case"future":case"failed":case"delayed":return null}}function $r(e){switch(e){case"completed":return"Transaction data is available in dashboards when using transaction attributes.";case"current":return"Processing transaction data.";case"delayed":return"Transaction data is delayed. Our team is looking into it.";case"future":case"failed":return null}}function Hr(e){switch(e){case"completed":return"All metrics have been updated and are queryable in dashboards.";case"current":return"Calculated metrics are still processing.";case"delayed":return"Processing calculated metrics is delayed. Our team is looking into it.";case"future":case"failed":return null}}function qr(e,a,r,s,n){const i=e?"completed":a?"failed":"current";return{phase:"received",label:"File Received",status:i,timestamp:N(s)?et(s):r?Ee:n,note:Gr(i,r)}}function Yr(e,a,r,s,n){const i=Xe(e)?"future":a?"failed":s?"completed":r?"future":"current";return{phase:"raw-data",label:"Raw Data Available",status:i,timestamp:i==="completed"&&e?et(Ye(e)):Ee,note:Wr(i,n)}}function zr(e,a){var s;const r=a?e.isDelayed?"delayed":e.isPending?"current":"completed":"future";return{phase:"augmentation",label:"Raw Transactions Available",status:r,timestamp:r==="completed"?et(((s=e.latestJobStatus)==null?void 0:s.transitionedAt)??null):Ee,note:$r(r)}}function Jr(e){var a;return e.aggregation.isDelayed||(((a=e.aggregationFlush)==null?void 0:a.isDelayed)??!1)}function Xr(e,a,r,s){var o;const n=(((o=e==null?void 0:e.fileProcessingStatus)==null?void 0:o.aggregation)??[]).some(Jr),i=a?"completed":r?n?"delayed":s?"future":"current":"future";return{phase:"all-data",label:"All Data Available",status:i,timestamp:i==="completed"&&e?et(es(e)):Ee,note:Hr(i)}}function Kr(e,a,r,s){var E;const n=N(e),i=Qt(a),o=a===g.ALL_DATA_AVAILABLE,l=Kt.includes(a),p=a===g.EMPTY,h=a===g.EXPECTED,d=(e==null?void 0:e.latestVersionReceivedStatus.transitionedAt)??null,m=!n&&a===g.IN_PROGRESS;if(a===g.NO_STATUS||!n&&!l&&!h&&!m)return null;const x=((E=e==null?void 0:e.fileProcessingStatus)==null?void 0:E.transactionAugmentation)??null,F=!l&&!p&&N(x)&&(x.isPending||N(x.latestJobStatus)),f=F&&x.isPending,A=[qr(n,l,m,d,r),Yr(e,l,p,i,s),...F?[zr(x,i)]:[],Xr(e,o,i,f)];return{headline:Vr(a,n,s),nodes:A}}const Qr=X.of(lt.SCHEDULED,lt.PENDING,lt.IN_PROGRESS),Le="—";function Zr(e,a){if(!e||e.aggregation.length===0)return[{jobType:"Aggregation",signal:null}];const r=e.aggregation.length>1;return e.aggregation.map(s=>({partnerProcessingStatus:s,partnerLabel:D.partnerIdentifier(s.partnerIdentifier,a)})).toSorted(q(({partnerLabel:s})=>s)).flatMap(({partnerProcessingStatus:s,partnerLabel:n})=>{const i=s.partnerIdentifier.isPair||r?` (${n}
2)`:"",o={jobType:`Aggregation${i}`,signal:s.aggregation};return s.partnerIdentifier.isPair?[o]:[o,{jobType:`Aggregation flush${i}`,signal:s.aggregationFlush}]})}function en(e,a){return[{jobType:"Raw file flush",signal:(e==null?void 0:e.rawDataFlush)??null},{jobType:"Augmentation",signal:(e==null?void 0:e.transactionAugmentation)??null},...Zr(e,a)]}const tn={sortable:!1},an=[{colId:"jobType",headerName:"Job type",valueGetter:({data:e})=>e.jobType},{colId:"pendingRanges",headerName:"Pending ranges?",valueGetter:({data:e})=>e.signal?e.signal.isPending?"Yes":"No":Le},{colId:"latestJobStatus",headerName:"Latest job status",valueGetter:({data:e})=>{var a,r;return((r=(a=e.signal)==null?void 0:a.latestJobStatus)==null?void 0:r.status)??Le}},{colId:"jobLastUpdated",headerName:"Job last updated",valueGetter:({data:e})=>{var r,s;const a=(s=(r=e.signal)==null?void 0:r.latestJobStatus)==null?void 0:s.transitionedAt;return a?D.dateTime(U(a)):Le}},{colId:"jobLink",headerName:"Job link",valueGetter:({data:e})=>{var a,r;return((r=(a=e.signal)==null?void 0:a.latestJobStatus)==null?void 0:r.jobId)??Le},cellRendererFramework:({data:e})=>{var r;const a=(r=e.signal)==null?void 0:r.latestJobStatus;return a?t.jsx(ar,{endTime:Qr.has(a.status)?void 0:a.transitionedAt,jobId:a.jobId}):t.jsx(t.Fragment,{children:Le})}}],sn=({label:e,value:a})=>t.jsxs("div",{className:"file-processing-detail",children:[t.jsx("span",{className:"file-processing-detail-label",children:e}),t.jsx("span",{className:"file-processing-detail-value",children:a})]}),rn=({fileDataStatus:e})=>{const a=Zt(ea),r=e.fileProcessingStatus??null,s=u.useMemo(()=>en(r,a),[r,a]);return t.jsxs("div",{className:"FileProcessingInfoSection",children:[t.jsx(sn,{label:"Import status",value:e.importStatus}),t.jsx(Ze,{autoResizeMethod:ca.FIT_CONTENT,columnDefs:an,defaultColDef:tn,domLayout:"autoHeight",grouped:!1,rowData:s})]})},nn={[ue.RECEIVED]:"inbox",[ue.RAW_DATA]:"circle-half-stroke",[ue.AUGMENTATION]:"timeline",[ue.ALL_DATA]:"check"};function on(e,a){switch(a){case k.COMPLETED:return nn[e];case k.CURRENT:return e===ue.RECEIVED?["far","clock"]:"spinner";case k.DELAYED:return"clock";case k.FAILED:return"xmark";case k.FUTURE:return null}}const ln={[k.COMPLETED]:"Completed",[k.CURRENT]:"In progress",[k.DELAYED]:"Delayed",[k.FAILED]:"Failed",[k.FUTURE]:"Not started"};function cn(e){return e.note??ln[e.status]}const dn=()=>t.jsx("span",{className:"muted",children:ts}),xt="In progress",un="Complete",mn=({fileId:e})=>{const a=Qe(),r=z(J(G.getDataAvailableEstimate.getResource(e)));if(Xe(r))return xt;const s=U(r).isBefore(a);return t.jsxs("span",{className:"node-estimate",children:[s?"Expected soon":`~${U(r).from(a)}`,t.jsxs(ma,{icon:"circle-question",children:["This file's raw data ",s?"was":"is"," estimated to be available in a dashboard around ",D.dateTime(r),". This is an estimate based on past files; actual timing varies with file size and current processing load."]})]})};function Bt(e){switch(e){case k.COMPLETED:case k.FAILED:case k.DELAYED:case k.CURRENT:return!0;case k.FUTURE:case void 0:return!1}}const pn=({node:e,fileId:a})=>{const r=Qe(),{timestamp:s,hasTimeOfDay:n}=e.timestamp;return e.status===k.DELAYED?t.jsx("span",{className:"delayed-text",children:"Delayed"}):N(s)?e.status!==k.COMPLETED?t.jsxs(t.Fragment,{children:["Expected ",t.jsx(de,{date:s,includeTime:n})]}):t.jsxs(t.Fragment,{children:[D.date(s,{isTimeFromNow:!0,today:r}),D.atTime(U(s))]}):e.phase===ue.RAW_DATA&&e.status===k.CURRENT&&N(a)?t.jsx(Ue,{fallback:xt,children:t.jsx(mn,{fileId:a})}):e.status===k.CURRENT?xt:e.status===k.COMPLETED?un:t.jsx(dn,{})},Da=({fileDataStatus:e,model:a})=>{const{headline:r,nodes:s}=a,n=me(),[i,o]=u.useState(!1),l=(e==null?void 0:e.fileId)??null,p=Ae(n.user.role,De.SUPER_ADMIN)&&N(e);return t.jsxs("div",{className:V("FileStatusTimeline",r.color),children:[t.jsxs("div",{className:"timeline-headline",children:[t.jsx(re,{icon:r.icon}),t.jsx("span",{children:r.text})]}),t.jsx("div",{className:"timeline-nodes",children:s.map((h,d)=>{var x;const m=cn(h);return t.jsxs("div",{className:"timeline-node",children:[t.jsx("div",{className:"node-label",children:h.label}),t.jsxs("div",{className:"node-track",children:[t.jsx("div",{className:V("connector",{filled:Bt(h.status),hidden:d===0})}),t.jsx(se,{placement:"right",tooltip:m,children:t.jsx("div",{"aria-label":m,className:V("node-glyph",h.status),role:"img",children:t.jsx(re,{icon:on(h.phase,h.status)})})}),t.jsx("div",{className:V("connector",{filled:Bt((x=s[d+1])==null?void 0:x.status),hidden:d===s.length-1})})]}),t.jsx("div",{className:"node-time",children:t.jsx(pn,{fileId:l,node:h})})]},h.phase)})}),p&&t.jsxs("div",{className:"timeline-details",children:[t.jsx(Se,{className:"details-toggle",displayVariant:Ne.LINK,onClick:()=>o(h=>!h),children:i?"Hide details":"Show details"}),i&&t.jsx(rn,{fileDataStatus:e})]})]})};Da.displayName="FileStatusTimeline";function hn(e,a,r,s){return a||(e==null?void 0:e.type)===ps.SCRAPER?gn(e,r):fn(e,s)}function gn(e,a){return a?e?"Missing Scraper Run":"Failed Scraper Run":"Failed File"}function fn(e,a){return e?"Missing File Details":a?"Resolve Failed File":"Failed File"}function kt(e){return e.status===Te.NEW&&!!e.message&&tr(e.message)}function xn(e){return e===g.FORWARD_FILE_MISSING?"missing":e===g.EXPECTED?"expected":e===g.FAILED?"fixed":"new"}function vn(e){return[{cellRendererFramework:Js,maxWidth:30,hide:!e},{colId:"partnerAndMetric",headerName:e?"Partner":"Metric",headerComponentFramework:la,headerComponentParams:{subtitle:e?"↳ Metric":void 0},valueGetter:({data:a})=>
2a.cellValue,cellRendererFramework:({data:a})=>t.jsx("div",{className:V({"child-row":e&&!a.group}),children:a.cellValue}),sortable:!0,sort:"asc",comparator:q(a=>a)},{colId:"dateInterval",headerName:"Interval",sortable:!0,valueGetter:({data:a})=>a.interval,valueFormatter:({value:a,node:r})=>!e||!r.hasChildren()?D.interval(a):"",comparator:Yt}]}const H=({title:e,value:a,color:r,className:s})=>t.jsxs("div",{className:"DetailItem",children:[t.jsx("div",{className:"title",children:e}),t.jsx("div",{className:V("value",r&&`color-${r}`,s),children:a})]}),yn=e=>t.jsx(H,{title:e,value:t.jsx("div",{className:"detail-item-placeholder"})});function Ta(e){return e?"Data Available At":"Data Expected On"}const In=({dataAvailableAt:e,fileDataStatus:a})=>{const r=!!e,s=z(J(r?Gt:G.getDataAvailableEstimate.getResource(a.fileId)));if(!(!r&&!s))return t.jsx(H,{title:Ta(r),value:t.jsxs("div",{className:"data-available-estimate-container",children:[t.jsx("div",{children:r?D.dateTime(U(e)):D.dateTime(U(s))}),t.jsxs(ma,{className:"data-available-estimate-info",icon:"circle-question",children:["This is when data in the file"," ",r?"was available":"is expected to be available"," in a dashboard."," ",!r&&"This is an estimate based on past files. Data may take more or less time depending on file size and how much data Alloy is currently processing."]})]})})},ct=(e,a)=>{var r;return{...(r=e.allStatusesByReceivedDay)==null?void 0:r.get(a),allStatusesByReceivedDay:e.allStatusesByReceivedDay}},Ea=({file:e,openCredentialRequests:a,partnerName:r,showCredentialSet:s,onClose:n,setFilesToUpload:i})=>{var $e;const o=Zt(ea),l=ss(),{allUserInfos:p,allUsersById:h}=ta(),[d,m]=u.useState(e.fileStatus),x=me(),F=Ae(x.user.role,De.ADMIN),f=Ae(x.user.role,De.SUPER_ADMIN),A=d.dataStatus,E=Be(),c=u.useMemo(()=>ht(d),[d]),y=u.useMemo(()=>zt(d),[d]),T=u.useMemo(()=>rs(d),[d]),_=u.useMemo(()=>!!y,[y]),w=u.useMemo(()=>Kt.includes(A),[A]),v=A===g.EMPTY,R=(c==null?void 0:c.latestFileStatus.status)===Te.PARTIALLY_IMPORTED,B=u.useMemo(()=>
2e.vdsFiletypeWithInfo.vendorDataSource.dataSource.type===Oe.RPA,[e]),P=!B&&F,Y=u.useMemo(()=>w?hn(y,!!T,f,P):F?t.jsxs(t.Fragment,{children:["File Details for",t.jsx(ns,{truncateAt:"middle",value:(c==null?void 0:c.fileName)||e.vdsFiletypeWithInfo.filetypeDisplayName})]}):`Details for ${e.vdsFiletypeWithInfo.filetypeDisplayName} File`,[w,F,y,P,e.vdsFiletypeWithInfo.filetypeDisplayName,c==null?void 0:c.fileName,f,T]),L=u.useMemo(()=>{if(ye(d))return D.date(d.latestVersionReceivedStatus.transitionedAt,{formatString:ne})},[d]),C=u.useMemo(()=>{var I;if(ye(d))return(I=d.allStatusesByReceivedDay)==null?void 0:I.keySeq().sort().toArray()},[d]),Z=u.useMemo(()=>{var K;if(!ye(d)||!L||!C||C.length<=1)return;const I=C.indexOf(L);return t.jsx(ua,{canMoveBackward:I>0,canMoveForward:I<C.length-1,className:"file-version-navigator",onMoveBackward:()=>m(ct(d,C[I-1])),onMoveForward:()=>m(ct(d,C[I+1])),children:t.jsx(se,{tooltip:Jt(d),children:t.jsx("div",{className:"file-version-navigator-text",children:`Restatement ${((C==null?void 0:C.indexOf(L))??0)+1} of 
3          ${(K=d.allStatusesByReceivedDay)==null?void 0:K.size}`})})})},[d,L,C]),ae=u.useMemo(()=>!ye(d)||!L||!C||C.length<=1?!1:L!==C[C.length-1],[d,L,C]),$=ke(A,E),b=u.useMemo(()=>{var I;return(w||R||v)&&((c==null?void 0:c.latestFileStatus.message)||T&&((I=is(T))==null?void 0:I.message))},[w,v,c==null?void 0:c.latestFileStatus.message,R,T]),M=u.useMemo(()=>(w||R||v)&&b&&(P&&(c==null?void 0:c.latestFileStatus.isCustomerFacing)||f),[w,v,R,b,P,c==null?void 0:c.latestFileStatus.isCustomerFacing,f]),j=u.useMemo(()=>X(d.partnerIdentifierMetricIntervals).map(I=>I.partnerIdentifier),[d.partnerIdentifierMetricIntervals]),ee=j.some(I=>I.isPair),ie=u.useMemo(()=>j.flatMap(I=>[I.originPartnerId,I.destinationPartnerId,I.partnerId]).filter(N).map(I=>D.partner(I,o)).toSet(),[j,o]),Re=u.useMemo(()=>{if(N(y))return{timestamp:y.expectedAt,hasTimeOfDay:!1};const I=T==null?void 0:T.scraperRun.scheduledTime;return N(I)?{timestamp:I,hasTimeOfDay:!0}:Ee},[y,T]),Ve=u.useMemo(()=>E?Kr(c,A,Re,r):null,[A,E,Re,c,r]),je=N(Ve),Fe=u.useMemo(()=>{var K;const I=Q(d.partnerIdentifierMetricIntervals).groupBy(ge=>ge.partnerIdentifier).map((ge,rt)=>({cellValue:D.partnerIdentifier(rt,o),group:!0,interval:os(Q(ge.valueSeq().map(fe=>fe.interval))),children:ge.valueSeq().map(fe=>({cellValue:l.get(fe.metricId).displayName,group:!1,interval:fe.interval})).toArray()})).valueSeq().toArray();return ee?I:((K=I.at(0))==null?void 0:K.children)??[]},[l,d.partnerIdentifierMetricIntervals,ee,o]),tt=u.useMemo(()=>vn(ee),[ee]),[pe,at]=u.useState(null);u.useEffect(()=>{pe==null||pe.forEachNode(I=>{I.setExpanded(!0)})},[pe]);const oe=u.useMemo(()=>{var K;
3const I=(K=e.vdsFiletypeWithInfo.vendorDataSource.owner)==null?void 0:K.accountId;return I?Wt(I,h,p):null},[p,h,($e=e.vdsFiletypeWithInfo.vendorDataSource.owner)==null?void 0:$e.accountId]),Ce=N(oe)&&oe.email===x.user.email,Ge=N(oe)&&!Ce?t.jsxs("span",{children:["the delivery owner"," ",t.jsx("a",{href:`mailto:${oe.email}`,children:oe.email+" "})]}):null,he=c&&kt(c.latestVersionReceivedStatus)?er(c.latestVersionReceivedStatus.message):null,We=he!==null&&he!==x.user.email?t.jsx("a",{href:`mailto:${he}`,children:he+" "}):null,st=Ge||We||"the delivery owner ",be=ga(e.vdsFiletypeWithInfo.vendorDataSource,oe,a),le=[!B&&!Ce?t.jsxs("span",{children:["Contact ",st,`to let them know this file has ${_?"not been received":"failed"}.`]}):null,!B&&Ce&&!P?t.jsx("span",{children:`Send the ${_?"missing":"fixed"} file to Alloy by email.
4        You could also contact an Admin in your organization to get access to the file importer.`}):null,c&&M&&P?t.jsxs(t.Fragment,{children:[t.jsx(ft,{className:"resolution-file-download",fileId:c.fileId,fileName:"Download the failed file yourself",fileVersion:c.fileVersion,showIcon:!0}),t.jsx("span",{children:", address the error(s) above, and upload the fixed file below."})]}):null,P&&y?t.jsxs("span",{children:["Upload the ",xn(y==null?void 0:y.dataStatus)," file below."]}):null,A===g.DISCONNECTED&&be?t.jsx("span",{children:be}):null,B&&!f&&A!==g.DISCONNECTED?t.jsx("span",{className:"resolution-text",children:"Alloy handles these types of failures, and our team has been notified!"}):null].filter(N);return t.jsxs(ls,{cancelActionName:"Close",className:"FileDetailsDialog",customTitleContent:Z,isConfirmVisible:!1,linkActionName:Qt(A)?void 0:"Contact Support",size:"xl",title:Y,isVerticallyCentered:!0,onClose:n,onLinkClick:cs,children:[t.jsxs("div",{className:"details",children:[ye(d)&&ae&&C&&t.jsxs(Pt,{type:"warning",children:["You are viewing an old version of this file."," ",t.jsx(Se,{displayVariant:Ne.LINK,onClick:()=>m(ct(d,C[C.length-1])),children:"Jump to the latest version."})]}),!_&&c&&F&&t.jsxs("div",{className:"file-identity",children:[t.jsx(H,{className:"file-name",title:"File",value:t.jsx(ft,{fileId:c.fileId,fileName:c.fileName,fileVersion:c.fileVersion,width:Qs.FitText})}),f&&t.jsx(H,{title:"ID",value:String(c.fileId)}),f&&N(c.fileVersion)&&t.jsx(H,{title:"Version",value:String(c.fileVersion)})]}),!je&&t.jsxs(t.Fragment,{children:[t.jsx(H,{color:$.iconColor??$.color,title:"Status",value:t.jsxs(t.Fragment,{children:[D.dataStatusV2(A,E),t.jsx(re,{...$.iconProps,icon:$.icon})]})}),t.jsx(H,{color:_?$.iconColor??$.color:void 0,title:c?"Received At":"Expected On",tooltip:c?"The time the file was received by Alloy.":"The date Alloy expected to receive this data.",value:c?D.dateTime(U(c==null?void 0:c.latestVersionReceivedStatus.transitionedAt)):D.date(U(y==null?void 0:y.expectedAt))}),!!c&&bt(c)!==null&&t.jsx(H,{title:"Available At",tooltip:"The time the data was available in dashboards in Alloy.",value:D.dateTime(bt(c))}),!j.isEmpty()&&t.jsx(H,{title:ds("Partner",j.size),value:D.listOfStrings(ie.toArray())}),!_&&!w&&c!==null&&t.jsx(Ue,{fallback:yn(Ta(!!Ye(c))),children:t.jsx(In,{dataAvailableAt:Ye(c),fileDataStatus:c})})]}),!!c&&kt(c.latestVersionReceivedStatus)&&t.jsx(H,{title:"File Source",value:c.latestVersionReceivedStatus.message}),!!c&&t.jsx(H,{title:"Rows Imported",value:t.jsx(Nt,{fileDataStatus:c})}),t.jsx(H,{title:"Integration",value:t.jsx(us,{href:ms(x.vendor.name,e.vdsFiletypeW
4ithInfo.vendorDataSource.dataSource.integrationId),iconPosition:"right",children:e.vdsFiletypeWithInfo.vendorDataSource.dataSource.name})}),t.jsx(H,{title:"Data Type",value:e.vdsFiletypeWithInfo.filetypeDisplayName}),t.jsx(H,{title:"Data Source Type",value:D.dataSourceType(e.vdsFiletypeWithInfo.vendorDataSource.dataSource.type)}),s&&t.jsx(H,{title:"Credential Set Name",value:e.vdsFiletypeWithInfo.vendorDataSource.credentialSetName||t.jsx("i",{className:"text-color-grey",children:"None"})})]}),je&&t.jsx(Da,{fileDataStatus:c,model:Ve}),v&&t.jsx(Pt,{type:"info",children:"Empty files from irregular feeds are ignored. They don't trigger missing-data alerts or roll up as failures."}),Fe.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"section-header",children:`${_||w||v?"Expected":""} Data`.trim()}),t.jsx(Ze,{className:"partner-metric-interval-table",columnDefs:tt,grouped:ee,rowData:Fe,onGridReady:at})]}),(_||w||R||v)&&t.jsxs("div",{className:"error-container",children:[M&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"section-header",children:"Error(s)"}),t.jsx("pre",{className:"error-block",children:b})]}),!v&&le.length>0?t.jsxs("div",{className:"resolution-container",children:[t.jsx("div",{className:"section-header",children:"Resolution"}),t.jsxs("div",{className:"resolution-text-container",children:[(T==null?void 0:T.nextRetryRun)&&t.jsx("div",{className:"resolution-text-container",children:` Alloy will try to receive the data again ${U(T.nextRetryRun.scheduledTime).fromNow()}.`}),le.length===1?t.jsx("div",{className:"resolution-text",children:le[0]}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"resolution-text",children:"Please either:"}),le.map((I,K)=>t.jsx("li",{className:"resolution-text",children:I},K))]})]})]}):null,!v&&P&&t.jsx(Zs,{files:Q(),onFilesChanged:I=>{i(I),n()}})]})]})};Ea.displayName="FileDetailsDialog";const Sn=as(Ea,{size:"xl",isVerticallyCentered:!0}),Dt=[g.DISCONNECTED,g.EMPTY,g.EXPECTED,g.FAILED,g.SCRAPER_FAILED,g.ALL_DATA_AVAILABLE,g.RAW_DATA_AVAILABLE,g.CALCULATED_DATA_DELAYED,g.IN_PROGRESS,g.NO_STATUS],Vt=[g.FAILED,g.SCRAPER_FAILED];function Ra(e){return!Object.values(Dt).includes(e)}function ja(e){return Object.values(Dt).includes(e)}function Nn(e){return e.filter(({dailyStatus:a})=>Ra(a.summaryDisplayStatus))}function An(e,a){const r=te(He(e,({dailyStatus:o})=>ja(o.summaryDisplayStatus)?$t(o.summaryDisplayStatus,a):null,Ie)).filter((o,l)=>N(l)),s=[],n=Vt.flatMap(o=>r.get(o,s)),i=Dt.filter(o=>!Vt.includes(o)).flatMap(o=>{const l=r.get(o,s);if(o===g.EXPECTED||o===g.IN_PROGRESS){const p=He(l,({filetypeWithInfo:f})=>f.vendorDataSource.dataSource.type,Ie),h=p.get(Oe.FORWARD)??[],d=p.get(Oe.RPA)??[],m=te(He(d,({dailyStatus:f})=>{var A;return((A=f.latestFailedOrInProgressScraperRun)==null?void 0:A.scraperRun.id)??null},Ie)).valueSeq().toArray(),x=[...m,h].flatMap(f=>f.map(({filetypeWithInfo:A})=>A.vendorDataSourceFiletypeId));return[...l.filter(f=>!x.includes(f.filetypeWithInfo.vendorDataSourceFiletypeId)).map(ra),h,...m]}else return o===g.DISCONNECTED?[...He(l,({filetypeWithInfo:h})=>Ke(h.vendorDataSource.id),Ie).values()]:[l]});return[n,...i].filter(o=>o.length>0)}function Dn(e,a){const r=Nn(e);return[...An(e,a),...r.map(ra)].sort((n,i)=>As(ut(n,a),ut(i,a)))}const Tn=({allUserInfos:e,allUsersById:a,dataCadencesByVdsfId:r,fileView:s,hasModalOpen:n,openCredentialRequests:i,partner:o,selectedTab:l,setFileView:p,setHasModalOpen:h,vdsFiletypesWithInfoByTab:d,vendorDataSourceFiletypeById:m})=>{const x=me(),F=yt(),f=Qe(),A=Be(),[E,c]=u.useState(null),[y,T]=u.useState(null),[_,w]=u.useState(null),v=wt(f),R=u.useMemo(()=>d.get(l),[d,l]),B=u.useMemo(()=>te(R.map(S=>[S.vendorDataSourceFiletypeId,S])),[R]),P=u.useMemo(()=>B.keySeq().toArray(),[B]),Y=u.useMemo(()=>({partnerIds:[o.id],dataStatusTabType:l}),[o.id,l]),L=u.useMemo(()=>({partnerId:o.id,dataStatusTabType:l,date:f.format(ne)}),[o,l,f]),C=J(G.getAvailableDataIntervalByVdsfId.getResource(Y)),Z=J(G.getDataPredictions.getResource(L)),ae=J(G.getNextScheduledScraperRuns.getResource(P)),$=J(G.getLastUpdatedByVendorDataSourceFiletypeId.getResource(P)),b=_e(z(C)).map(S=>Q(S)),M=_e(z(Z)),j=_e(z($)).map(S=>U(S)),ee=b.map(S=>S.map(O=>U(O.interval.end)).max()).filter(S=>N(S)).map(S=>S.subtract(1,"day")),ie=u.useMemo(()=>hs(M,f),[M,f]),[Re,Ve]=u.useState(v),je=u.useMemo(()=>ee.map((S,O)=>{if(ce(l)===W.FILE_RECEIPT||!ie.has(O))return v;const xe=ie.get(O);return xe.isBetween(v.start,v.end,void 0,"[)")?v:gs(xe,f)}).map((S,O)=>{var xe;return gt(X.of(((xe=m.get(O))==null?void 0:xe.cadence)||Mt.UNKNOWN),S)}),[ee,v,ie,l,f,m]),Fe=u.useMemo(()=>X(R.map(S=>{var O;
4return((O=m.get(S.vendorDataSourceFiletypeId))==null?void 0:O.cadence)||Mt.UNKNOWN})),[R,m]),{dailyStatuses:tt,fileStatusByDateByIdByVdsfId:pe,missingContent:at}=_r(ce(l),l,je,o.id);u.useEffect(()=>{h(N(E)||N(y))},[y,E,h]);const oe=aa(n?null:sa,!0,G.getAvailableDataIntervalByVdsfId.getResource(Y),G.getDataPredictions.getResource(L),G.getNextScheduledScraperRuns.getResource(P),G.getLastUpdatedByVendorDataSourceFiletypeId.getResource(B.keySeq().toArray()),At(s,l,gt(Fe,Re),o.id,F),ya(ce(l),l,je,o.id,F)),Ce=u.useMemo(()=>fs(M,xs(b)),[b,M]),Ge=u.useMemo(()=>vs(M),[M]),he=u.useMemo(()=>ys(M),[M]),We=tt.map((S,O)=>ie.get(O)&&ce(l)!==W.FILE_RECEIPT?Q(S.filter(it=>U(it.date).isSame(ie.get(O),"date"))).first():Q(S).maxBy(it=>U(it.date))).filter(S=>N(S)),st=Q(Ge.valueSeq()).max(),be=Q(b.valueSeq()).flatMap(S=>S.map(O=>O.interval.end)).max(),le=Is(st,be?U(be):null),$e=le?wt(le):null,I=R.filter(S=>{var O;return N((O=We.get(S.vendorDataSourceFiletypeId))==null?void 0:O.status)}).map(S=>{const O=S.vendorDataSourceFiletypeId;return{filetypeWithInfo:S,dailyStatus:We.get(O),latestMissingStatuses:at.get(O)??[]}}),K=te(I.map(S=>[S.filetypeWithInfo.vendorDataSourceFiletypeId,S.filetypeWithInfo])),ge=Ss(o.id,K,r,m,M,l),rt=_e(z(ae)),fe=Ns(ie,pe),nt=X(I.map(S=>S.filetypeWithInfo.vendorDataSource.credentialSetName)).size>1,Tt=Dn(I,A);return t.jsxs("div",{className:"data-status-content-container",children:[E&&t.jsx(Sn,{file:E,partnerName:o.name,setFilesToUpload:T,showCredentialSet:nt,onClose:()=>c(null)}),y&&Ae(x.user.role,De.ADMIN)&&t.jsx(Ys,{currentUser:x,files:y,isOpen:!0,onClose:()=>T(null)}),t.jsxs("div",{className:"data-status-content",children:[I.length>0&&t.jsx("div",{className:"statuses-section",children:Tt.map(S=>t.jsx(Ar,{allUserInfos:e,allUsersById:a,availableToDateByVdsfId:ee,dataExpectedUpToByVdsfId:Ge,displayCadenceByVdsfId:ge,filteredVendorDataSourceFiletypeId:_,isOnlyDetailedStatus:Tt.length===1,lastExpectedReceivedByVdsfId:he,lastUpdatedByVdsf:j,latestFileStatusByVdsfId:fe,nextExpectedByVdsf:Ce,openCredentialRequests:i,partner:o,scheduledScraperRunsByVdsfId:rt,selectedTab:l,setFilteredVendorDataSourceFiletypeId:w,showCredentialSet:nt,vdsFiletypesWithStatuses:S,vendorDataSourceFiletypeById:m,onCredentialUpdate:oe,onOpenDetails:c},`${S.map(O=>O.filetypeWithInfo.vendorDataSourceFiletypeId).join("-")}-${l}`))}),t.jsx(Aa,{cadences:Fe,className:"section",dateRange:Re,fileView:s,filteredVendorDataSourceFiletypeId:_,initialDateRange:v,latestDataDateRange:$e,partner:o,selectedTab:l,setDateRange:Ve,setFileView:p,setOpenFileDetail:c,showCredentialSet:nt,vdsFiletypeW
4ithInfoById:B})]})]})},En=()=>t.jsx(Xt,{className:"DataStatusTabPlaceholder",hideLabel:!0}),Zo=e=>{const a=me(),r=ks(),s=parseInt(Ke(e.match.params.partnerId),10);if(!r.has(s))return Ds(null,"Partner was not found."),t.jsx(ia,{to:`/${a.vendor.name}/data/status`});const n=e.match.params.tab?Ts(e.match.params.tab):null;return t.jsx(Fa,{...e,partner:r.get(s),selectedTab:n},`${s}-${n??"none"}`)},Fa=({partner:e,selectedTab:a,location:r})=>{const s=me(),n=Es(),{allUserInfos:i,allUsersById:o}=ta(),[l,p]=u.useState(!1),[h,d]=u.useState(a?ce(a):null),m=Ke(e.id),x=J(G.getDataCenterDetails.getResource([m])),F=J(Me.getVendorDataSourceFiletypesForVendor.getResource()),f=J(Lt.getOpenCredentialRequestsByPartner.getResource([m])),A=J(Me.getDataCadences.getResource()),E=J(_t.getSubscriptions.getResource());aa(l?null:sa,!0,G.getDataCenterDetails.getResource([m]),Me.getVendorDataSourceFiletypesForVendor.getResource(),Lt.getOpenCredentialRequestsByPartner.getResource([m]),Me.getLastReceivedFilesForVendor.getResource(),Me.getDataCadences.getResource(),_t.getSubscriptions.getResource());const c=te(z(F).map(b=>Xe(b.id)?null:[b.id,b]).filter(N)),y=z(x),T=z(A),_=z(E),w=te(T).mapKeys(b=>parseInt(b,10)).map(b=>X(b)),v=Rs(y,n,e),R=z(f)[String(m)],B=js(v),P=B.keySeq().toSet(),Y=Fs(P,s.vendor.name,m),L=P.has(a),C=u.useMemo(()=>Cs(_,ws.DATA_ISSUE,{[bs.PARTNER_ID]:[m]},s.user.id),[_,m,s.user.id]),{isSubscriptionEditorOpen:Z,openSubscriptionEditor:ae,closeSubscriptionEditor:$}=Ws();return!a||!L?t.jsx(ia,{to:Ms(Y).value}):t.jsxs("div",{className:"DataStatusDetailsPage",children:[t.jsx(Ls,{children:t.jsx("title",{children:"Status"})}),t.jsx(_s,{context:Ps.Data.Status.Details}),t.jsxs("div",{className:"data-status-header",children:[t.jsxs("div",{className:"data-status-header-content",children:[t.jsx("div",{className:"data-status-back-button-container",children:t.jsx(Bs,{backHref:r.state??Us(s.vendor.name),backToDisplayName:"Status",className:"data-status-back-button",entityType:Os.STATUS,showBackIconByDefault:!0})}),t.jsxs("div",{className:"title-container",children:[t.jsx(Gs,{partnerName:e.name,placeholderIcon:"store"}),t.jsx("h1",{children:e.name}),t.jsxs("div",{className:"header-actions",children:[t.jsx(pa,{allUsersById:o,currentUser:s,partnerId:m,vdsFiletypesWithInfo:v}),t.jsx($s,{icon:"bell",onClick:ae}),t.jsx(Hs,{isOpen:Z,subscription:C,onClose:$},C.id)]})]})]}),t.jsx(Vs,{customTabContentRenderer:b=>t.jsxs("div",{className:"category-tab",children:[t.jsx("div",{className:"title",children:b.label}),b.subtitle&&t.jsx("div",{className:"tab-bar-subtitle",children:b.subtitle})]}),displayVariant:"secondary",options:Y})]}),t.jsx(Ue,{fallback:t.jsx(En,{}),children:t.jsx(Tn,{allUserInfos:i,allUsersById:o,dataCadencesByVdsfId:w,fileView:h,hasModalOpen:l,openCredentialRequests:R,partner:e,selectedTab:a,setFileView:d,setHasModalOpen:p,vdsFiletypesWithInfoByTab:B,vendorDataSourceFiletypeById:c})})]})};Fa.displayName="DataStatusDetailsPage";export{Zo as default};
5//# sourceMappingURL=DataStatusDetailsPage-C9oJHkoi.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.