1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/io-DvHsJviD.js","assets/coordinate-96Ecci4d-CesxCr9Y.js","assets/drawing-BxzLuryn-BfIyzanv.js","assets/defined-names-CviWmtQg-D-0Gb_K8.js","assets/cell-BZeTN0M5.js","assets/worksheet-C6CWgvP5-912YmTpu.js","assets/cell-style-CN9JXOwm-dz7nPk6i.js","assets/user-shapes-DfmCGKB0-CQ78UBhn.js","assets/colors-ovWAwnZI-DpxYgTNR.js","assets/table-BifavDVW-CniElEZU.js","assets/styles-CqbfS8sg.js","assets/workbook-CGq72QC-.js","assets/worksheet-CSXZq2FZ.js","assets/chart-ZmryfHDl.js","assets/drawing-CRl-MOj2.js"])))=>i.map(i=>d[i]); 2import{_ as E}from"./index-ChEkzv_B.js";import{k as ee,m as oe}from"./FullAppRoutes-DUak_EFb.js";import"./useTheme-IIvREq4S.js";import"./Button-CoJi2g7X.js";import"./BootstrapContext-XGikMoXs.js";import"./index-BhYmDm8j.js";import"./EChart-DcFwBBq4.js";const M=31,N=16,$=4,D=N/$,l={navy:"FF10243E",navyLight:"FF1E3A5F",white:"FFFFFFFF",ink:"FF122033",muted:"FF64748B",pale:"FFF3F7FB",border:"FFDCE3EE"},U=new Set(["account-positions","account-readiness-table","account-health-table","current-balance-account-table","account-inventory-kpis","cash-flow-kpi-strip","cash-flow-matrix","cash-flow-detail-conditional-group","cash-flow-reporting-hierarchy-matrix","cash-flow-bank-code-matrix","categorized-cash-movement-grid","bank-connectivity-health","reconciliation-status","gl-posting-queue"]),H=new Set(["historical-actuals","cash-flow-trend","cash-category-trend","balance-trend-breakdown","sweep-efficiency-trend"]),j=new Set(["cash-concentration-breakdown","payment-mix"]),G={"account-coverage":{category:"Bank",values:["Active accounts","Inactive accounts"]},"account-setup-coverage":{category:"Control",values:["Coverage percent"]},"account-distribution":{category:"Group",values:["Accounts"]},"cash-concentration-breakdown":{category:"Group",values:["Value"]},"historical-actuals":{category:"Date",values:["Inflows","Outflows","Net"]},"cash-flow-trend":{category:"Date",values:["Inflows","Outflows","Net"]},"balance-trend-breakdown":{category:"date",values:["balance","minimumBalanceBase"]},"entity-drilldown":{category:"entityName",values:["balanceBase"]}},f=(e,o="")=>String(e??"").trim()||o,P=e=>{if(e==null||e==="")return null;if(e instanceof Date||typeof e=="number"||typeof e=="boolean")return e;if(typeof e=="object")return JSON.stringify(e);const o=String(e);return/^[=+\-@\t\r]/.test(o)?`'${o}`:o},L=e=>f(e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\b\w/g,o=>o.toUpperCase()),q=(e,o)=>{const t=f(e,"Widget").replace(/[\\/*?:\[\]]/g," ").replace(/\s+/g," ").trim().slice(0,M)||"Widget";let s=t,r=2;for(;o.has(s.toLowerCase());){const n=` (${r})`;s=`${t.slice(0,M-n.length)}${n}`,r+=1}return o.add(s.toLowerCase()),s},te=e=>{const o=Array.isArray(e?.rows)?e.rows:[];return o.length?o:e?.value!==void 0?[{Metric:e.title||e.id,Value:e.value}]:[{Note:e?.emptyMessage||"No rows matched the selected dashboard scope."}]},S=e=>{let o=e,t="";for(;o>0;)o-=1,t=String.fromCharCode(65+o%26)+t,o=Math.floor(o/26);return t},F=(e,o,t,s=o)=>`${S(e)}${o}:${S(t)}${s}`,I=e=>`'${String(e).replace(/'/g,"''")}'`,T=(e,o,t)=>`${I(e)}!$${S(o)}$${t}`,re=(e,o,t)=>{const s=T(e,o,t);return`IF(${s}="","",${s})`},_=e=>typeof e=="number"&&Number.isFinite(e),J=(e,o)=>{if(!_(o))return null;const t=f(e).toLowerCase();return t.includes("percent")||t.includes("share")?"0.0":t.includes("count")||t==="accounts"||t==="value"&&Number.isInteger(o)?"#,##0":"#,##0.00;[Red]-#,##0.00"},X=async()=>{const[e,o,t,s,r,n,a]=await Promise.all([E(()=>import("./io-DvHsJviD.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),E(()=>import("./workbook-CGq72QC-.js"),__vite__mapDeps([11,3,1,4,2,5,6])),E(()=>import("./worksheet-CSXZq2FZ.js"),__vite__mapDeps([12,5,1,4,9])),E(()=>import("./cell-BZeTN0M5.js").then(c=>c.e),__vite__mapDeps([4,1])),E(()=>import("./styles-CqbfS8sg.js").then(c=>c.s),__vite__mapDeps([10,5,1,4,6])),E(()=>import("./chart-ZmryfHDl.js"),__vite__mapDeps([13,7])),E(()=>import("./drawing-CRl-MOj2.js"),__vite__mapDeps([14,2,1,8]))]);return{io:e,workbook:o,worksheet:t,cell:s,styles:r,chart:n,drawing:a}},k=(e,o,t,s,r)=>({...e?{font:e}:{},...o?{fill:{kind:"pattern",patternType:"solid",fgColor:{rgb:o}}}:{},...t?{alignment:t}:{},...s?{border:s}:{},...r?{numberFormat:r}:{}}),A={left:{style:"thin",color:{rgb:l.border}},right:{style:"thin",color:{rgb:l.border}},top:{style:"thin",color:{rgb:l.border}},bottom:{style:"thin",color:{rgb:l.border}}},v=(e,o,t,s,r,n,a={})=>{const c=e.worksheet.setCell(t,s,r,P(n));return e.styles.setCellStyle(o,c,a),c},se=(e,o,t,s,r)=>{e.worksheet.setFreezePanes(t,"A2"),e.worksheet.setSheetZoom(t,90),s.length&&e.worksheet.setAutoFilter(t,e.worksheet.makeAutoFilter({ref:F(1,1,s.length,Math.max(1,r.length+1))}
2)),s.forEach((n,a)=>{const c=a+1;let i=L(n).length+2;r.forEach(g=>{i=Math.max(i,f(g?.[n]).length+2)}),e.worksheet.setColumnWidth(t,c,Math.min(Math.max(i,12),42))}),e.worksheet.setRowHeight(t,1,22)},W=(e,o,t,s,r,n=null)=>{const a=q(s,t),c=e.workbook.addWorksheet(o,a),p=Array.isArray(r)&&r.length?r:[{Note:"No rows matched the selected dashboard scope."}],i=Array.isArray(n)&&n.length?n.map(h=>h.key):Array.from(p.reduce((h,m)=>(Object.keys(m||{}).forEach(u=>h.add(u)),h),new Set)),g=i.map(h=>n?.find(m=>m.key===h)?.header||L(h));return g.forEach((h,m)=>{v(e,o,c,1,m+1,h,k({bold:!0,color:{rgb:l.white}},l.navyLight,{vertical:"center"},A))}),p.forEach((h,m)=>{i.forEach((u,b)=>{const y=h?.[u];v(e,o,c,m+2,b+1,y,k({color:{rgb:l.ink}},m%2?l.pale:l.white,{vertical:"center",wrapText:!0},A,J(g[b],y)))})}),se(e,o,c,i,p),{worksheet:c,name:a,rows:p,columnKeys:i,headers:g,dataStartRow:2,dataEndRow:p.length+1}},x=(e,o)=>{if((H.has(e?.id)||j.has(e?.id)||!!G[e?.id])&&!["metric","kpi"].includes(e?.size)||o.rows.length!==1)return null;const s=o.rows[0]||{};if(!Object.prototype.hasOwnProperty.call(s,"Value"))return null;const r=o.columnKeys.indexOf("Value")+1;return r<1?null:{title:f(s.Metric,e.title||e.id),value:s.Value,currency:f(s.Currency),sourceRef:T(o.name,r,2)}},V=(e,o)=>{const t=G[e.id]||{},s=o.columnKeys.includes(t.category)?t.category:o.columnKeys.find(c=>o.rows.some(p=>typeof p?.[c]=="string"));if(!s)return null;const r=o.columnKeys.filter(c=>o.rows.some(p=>_(p?.[c]))),n=(t.values||[]).filter(c=>r.includes(c)),a=(n.length?n:r).slice(0,4);return a.length?{categoryKey:s,categoryColumn:o.columnKeys.indexOf(s)+1,valueKeys:a,valueColumns:a.map(c=>o.columnKeys.indexOf(c)+1)}:null},Z=(e,o)=>{const t=e?.filterOverridesJson?.concentrationDimension;return e.id==="cash-concentration-breakdown"&&["currency","country"].includes(t)?"bar":j.has(e.id)&&o.valueKeys.length===1?"doughnut":H.has(e.id)?"line":"bar"},ae=(e,o,t,s,r,n)=>{const a=V(t,s);if(!a||U.has(t.id))return!1;const c=s.rows.map(u=>f(u?.[a.categoryKey],"-")),p={ref:`${I(s.name)}!$${S(a.categoryColumn)}$${s.dataStartRow}:$${S(a.categoryColumn)}$${s.dataEndRow}`,cacheKind:"str",cache:c},i=a.valueKeys.map((u,b)=>{const y=a.valueColumns[b],d=s.rows.map(C=>_(C?.[u])?C[u]:0);return e.chart.makeBarSeries({idx:b,order:b,tx:{kind:"literal",value:L(u)},cat:p,val:{ref:`${I(s.name)}!$${S(y)}$${s.dataStartRow}:$${S(y)}$${s.dataEndRow}`,cache:d,formatCode:"#,##0.00"}})}),g=Z(t,a),h=g==="doughnut"?e.chart.makeDoughnutChart({series:i.slice(0,1),varyColors:!0,holeSize:62}):g==="line"?e.chart.makeLineChart({grouping:"standard",series:i.map(u=>({...u,marker:{symbol:"circle",size:5}})),smooth:!1}):e.chart.makeBarChart({barDir:"bar",grouping:"clustered",series:i,varyColors:i.length===1,gapWidth:70}),m=e.chart.makeChartSpace({plotArea:{chart:h},title:f(t.title,t.id),legend:{position:"b"},style:10,plotVisOnly:!0,dispBlanksAs:"gap"});return e.drawing.addChartAt(o,r,{space:m},{widthPx:n,heightPx:310}),!0},ne=(e,o,t,s,r,n)=>{const a=r%D*$+1,c=n+Math.floor(r/D)*3,p=a+$-1,i=F(a,c,p,c),g=F(a,c+1,p,c+1);e.styles.setRangeBackgroundColor(o,t,i,l.navyLight),e.styles.setRangeBackgroundColor(o,t,g,l.navy),e.styles.setRangeBorderBox(o,t,F(a,c,p,c+1),{style:"thin",color:{rgb:l.border}}),e.worksheet.mergeCells(t,i),e.worksheet.mergeCells(t,g),v(e,o,t,c,a,[s.title,s.currency].filter(Boolean).join(" · "),k({bold:!0,size:10,color:{rgb:l.white}},l.navyLight,{horizontal:"left",vertical:"center"}));const h=e.worksheet.setCell(t,c+1,a,null);e.cell.setFormula(h,s.sourceRef,{cachedValue:P(s.value)}),e.styles.setCellStyle(o,h,k({bold:!0,size:18,color:{rgb:l.white}},l.navy,{horizontal:"left",vertical:"center"},null,_(s.value)?"#,##0.00;[Red]-#,##0.00":null)),e.worksheet.setRowHeight(t,c,20),e.worksheet.setRowHeight(t,c+1,34)},ce=(e,o,t,s,r,n)=>{const a=Math.min(r.columnKeys.length,8),c=Math.min(r.rows.length,6),p=Math.max(4,Math.min(N,a*2));e.worksheet.mergeCells(t,F(1,n,p,n)),v(e,o,t,n,1,f(s.title,s.id),k({bold:!0,size:12,color:{rgb:l.white}},l.navyLight,{vertical:"center"}));for(let i=1;i<=a;i+=1){v(e,o,t,n+1,i,r.headers[i-1],k({bold:!0,color:{rgb:l.white}},l.navy,{vertical:"center",wrapText:!0},A));for(let g=0;g<c;g+=1){const h=P(r.rows[g]?.[r.columnKeys[i-1]]),m=e.worksheet.setCell(t,n+g+2,i,null);h===null?e.cell.setFormula(m,re(r.name,i,g+2)):e.cell.setFormula(m,T(r.name,i,g+2),{cachedValue:h}),e.styles.setCellStyle(o,m,k({color:{rgb:l.ink}},g%2?l.pale:l.white,{vertical:"center",wrapText:!0},A,J(r.headers[i-1],h)))}}return n+c+3},le=(e,o,t,s,r,n)=>{const a=e.workbook.addWorksheet(o,"Dashboard",{index:0});a.views.push(e.worksheet.makeSheetView({showGridLines:!1,zoomScale:85,tabSelected:!0}));for(let u=1;u<=N;u+=1)e.worksheet.setColumnWidth(a,u,10.5);
2e.styles.setRangeBackgroundColor(o,a,"A1:P2",l.navy),e.worksheet.mergeCells(a,"A1:P2"),v(e,o,a,1,1,f(t,"Dashboard"),k({bold:!0,size:22,color:{rgb:l.white}},l.navy,{horizontal:"left",vertical:"center"})),e.worksheet.setRowHeight(a,1,28),e.worksheet.setRowHeight(a,2,16);const c=[{label:"Exported at",value:s.toISOString()},...r];c.forEach((u,b)=>{const y=4+Math.floor(b/4),d=1+b%4*4;v(e,o,a,y,d,f(u?.label,"Filter"),k({bold:!0,size:9,color:{rgb:l.muted}},l.white,{vertical:"center"})),e.worksheet.mergeCells(a,F(d+1,y,d+3,y)),v(e,o,a,y,d+1,f(u?.value,"All"),k({color:{rgb:l.ink}},l.pale,{vertical:"center",wrapText:!0},A))});const i=5+Math.max(1,Math.ceil(c.length/4)),g=n.map(({widget:u,sheetMeta:b})=>x(u,b)).filter(Boolean);g.forEach((u,b)=>ne(e,o,a,u,b,i));let h=i+Math.max(1,Math.ceil(g.length/D))*3+1,m=!1;return n.forEach(({widget:u,sheetMeta:b})=>{if(x(u,b))return;const y=u.size==="half";if(ae(e,a,u,b,`${S(y&&m?9:1)}${h}`,y?520:1060)){y&&!m?m=!0:(m=!1,h+=20);return}m&&(m=!1,h+=20),h=ce(e,o,a,u,b,h)}),m&&(h+=20),e.worksheet.setFreezePanes(a,`A${i}`),o.activeSheetIndex=0,a},Y=(e,o)=>{const t=new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),s=URL.createObjectURL(t),r=document.createElement("a");r.href=s,r.download=o,document.body.appendChild(r),r.click(),r.remove(),window.setTimeout(()=>URL.revokeObjectURL(s),0)},ie=async({dashboardTitle:e,sourceKind:o,baseCurrency:t,exportedAt:s=new Date,filters:r=[],widgets:n=[],fxCoverage:a=null})=>{const c=await X(),p=c.workbook.createWorkbook(),i=s instanceof Date?s:new Date(s);p.properties={creator:"Reconcilia AI",lastModifiedBy:"Reconcilia AI",created:i.toISOString(),modified:i.toISOString(),title:f(e,"Dashboard export"),subject:`${f(e,"Dashboard export")} workbook`,description:"Editable dashboard presentation with formula-linked KPI cards, native Excel charts, and supporting data sheets.",category:"Dashboard export"},p.calcProperties={calcMode:"auto",fullCalcOnLoad:!0,calcOnSave:!0,forceFullCalc:!0,fullPrecision:!0};const g=new Set(["dashboard"]),h=n.filter(d=>d?.visible!==!1),m=[{Field:"Dashboard",Value:f(e,"Dashboard")},{Field:"Source",Value:f(o,"dashboard")},{Field:"Organization base currency",Value:f(t,"-")},{Field:"Exported at",Value:i.toISOString()},...r.map(d=>({Field:f(d?.label,"Filter"),Value:f(d?.value,"All")})),{Field:"Visible widgets",Value:h.length}];W(c,p,g,"Dashboard Summary",m,[{key:"Field",header:"Field"},{key:"Value",header:"Value"}]);const u=[],b=[];if(h.forEach((d,C)=>{const w=W(c,p,g,d.sheetName||d.title||`Widget ${C+1}`,te(d),d.columns);u.push({widget:d,sheetMeta:w}
2),b.push({Order:C+1,Widget:f(d.title,d.id),"Widget ID":f(d.id),Sheet:w.name,Presentation:x(d,w)?"Formula-linked KPI card":V(d,w)&&!U.has(d.id)?`Native Excel ${Z(d,V(d,w))} chart`:"Formula-linked table preview",Notes:f(d.notes)})}),W(c,p,g,"Widget Index",b),a){const d=Array.isArray(a.missingPairs)?a.missingPairs:[],w=[{Item:"Status",Value:a.currentTotalsIncomplete||a.historyIncomplete?"INCOMPLETE":a.historyAdvisory?"ADVISORY":f(a.status,"COMPLETE")},{Item:"Reporting currency",Value:f(a.reportingCurrency||t,"-")},{Item:"Missing current items",Value:Number(a.missingCurrentItemCount||0)},{Item:"Missing cash-flow items",Value:Number(a.missingFxCashFlowItemCount||0)},{Item:"Missing trend dates",Value:Number(a.missingHistoryPointCount||0)},{Item:"Advisory trend dates",Value:Number(a.advisoryHistoryPointCount||0)},...d.map(R=>({Item:"Missing pair",Value:`${f(R?.fromCurrency||R?.from)} to ${f(R?.toCurrency||R?.to)}`}))];W(c,p,g,"FX Coverage",w)}le(c,p,e,i,r,u);const y=await c.io.workbookToBytes(p);return{workbook:p,bytes:y,sheetCount:p.sheets.length}},Re=async e=>{const o=await ie(e),t=e.fileName||"reconcilia-dashboard.xlsx";return Y(o.bytes,t),{fileName:t,sheetCount:o.sheetCount}},ue=/^-?\d+(?:\.\d+)?$/,de=(e,o,t)=>{const s=n=>oe(n,{format:"date"},o),r=n=>/^\d{4}-\d{2}-\d{2}$/.test(String(n||""));return e?.kind==="POSITION_DATE"&&r(e.date)?s(e.date):e?.kind==="CURRENT_OPEN"&&r(e.agingReference)?t("agentWorkspace.composed.export.agingPeriod","Current outstanding; aging as of {{date}}",{date:s(e.agingReference)}):e?.kind==="DATE_WINDOW"&&r(e.from)&&r(e.to)?`${s(e.from)}â${s(e.to)}`:t("agentWorkspace.composed.export.periodUnknown","Not supplied by source")},pe=(e,o)=>{const t=e.rows.length,s=Number.isSafeInteger(e.coverage?.matchingCount)?e.coverage.matchingCount:null,r=e.coverage?.countMeaning==="DATASET_ROWS"&&s!==null,n=e.coverage?.countMeaning==="SOURCE_RECORDS"&&s!==null,a=Array.isArray(e.filter)&&e.filter.length>0,c=e.group&&r?o("agentWorkspace.composed.export.groupedRows","{{visible}} of {{groups}} grouped rows from {{source}} complete daily source buckets",{visible:t,groups:e.coverage.filteredDatasetRows,source:s}):r?a?o("agentWorkspace.composed.export.visibleOfPrefilterDataset","{{visible}} visible rows; {{total}} source dataset rows before card filters",{visible:t,total:s}):o("agentWorkspace.composed.export.visibleOfDataset","{{visible}} visible of {{total}} source dataset rows",{visible:t,total:s}):o("agentWorkspace.composed.export.visibleCount","{{visible}} visible rows",{visible:t}),p=e.coverage.status==="COMPLETE"?o("agentWorkspace.composed.export.complete","Complete for the selected dataset"):o("agentWorkspace.composed.export.partial","Partial view; not a full-population total or ranking"),i=n?o("agentWorkspace.composed.export.sourceRecords","{{count}} underlying source records; not a row count",{count:s}):"",g=e.coverage.sortScope==="RETURNED_ROWS_ONLY"?o("agentWorkspace.composed.export.returnedSort","Sort applies only to returned rows"):"";return[o("agentWorkspace.composed.export.visibleOnly","Visible rows only"),c,p,i,g].filter(Boolean).join(" · ")},he=(e,o)=>{if(!["money","number","percent"].includes(o.type))return e;const t=String(e??"");if(!ue.test(t)||t.replace(/\D/g,"").length>15||(t.split(".")[1]?.length??0)>12)return t;const s=Number(t);return Number.isFinite(s)&&Math.abs(s)<=Number.MAX_SAFE_INTEGER?s:t},ge=(e,o)=>{if(!["money","number","percent"].includes(o.type))return null;const t=Math.max(0,...e.rows.map(n=>String(n[o.key]??"").split(".")[1]?.length??0)),s=Math.min(t,12),r=`#,##0${s?`.${"0".repeat(s)}`:""}`;return`${r};[Red]-${r}`},me=async({block:e,t:o,language:t="en",exportedAt:s=new Date})=>{const r=ee(e,o,t);if(!r||!["grid","chart"].includes(r.type))throw new Error("unverified_agent_visible_rows");const n=await X(),a=n.workbook.createWorkbook(),c=s instanceof Date?s:new Date(s),p=pe(r,o),i=de(r.dateContext,t,o),g=r.currency.kind==="BASE_CONVERTED"?r.currency.code:o("agentWorkspace.composed.export.rowCurrency","Currency shown on each row"),h=Array.isArray(r.filter)?r.filter.map(d=>`${o(`agentWorkspace.composed.field.${d.field}`,d.field)} = ${String(d.value)}`).join("; "):"";a.properties={creator:"Reconcilia AI",lastModifiedBy:"Reconcilia AI",created:c.toISOString(),modified:c.toISOString(),title:r.title,subject:o("agentWorkspace.composed.export.workbookSubject","Agent visible-row evidence"),description:p,category:"Agent visible rows"};const m=new Set;W(n,a,m,o("agentWorkspace.composed.export.evidenceSheet","Evidence"),[{Field:o("agentWorkspace.composed.export.dataset","Dataset"),Value:r.title},{Field:o("agentWorkspace.composed.export.basis","Basis"),Value:o(`agentWorkspace.composed.basis.${r.basis}`,r.basis)},{Field:o("agentWorkspace.composed.export.period","Period or aging reference"),Value:i},{Field:o("agentWorkspace.composed.export.currency","Currency basis"),Value:g},{Field:o("agentWorkspace.composed.export.principalScope","Principal scope"),Value:o(`agentWorkspace.composed.export.scope.${r.evidence.principalScope}`,r.evidence.principalScope||"-")},{Field:o("agentWorkspace.composed.export.coverage","Coverage"),Value:p},...r.group?[{Field:o("agentWorkspace.composed.export.transformation","Transformation"),Value:o("agentWorkspace.composed.groupedSum","Sum of complete daily buckets, grouped by currency and direction")}]:[],{Field:o("agentWorkspace.composed.export.source","Executed read"),Value:`${r.source.capabilityId} / ${r.source.datasetId}`},...h?[{Field:o("agentWorkspace.composed.export.cardFilters","Card filters"),Value:h}]:[],...r.evidence.appliedFilters&&Object.keys(r.evidence.appliedFilters).length?[{Field:o("agentWorkspace.composed.export.readFilters","Applied read filters"),Value:JSON.stringify(r.evidence.appliedFilters)}
2]:[],...r.evidence.sourceAsOfMode==="SINGLE"&&r.evidence.sourceAsOf?[{Field:o("agentWorkspace.composed.export.sourceAsOf","Source as of"),Value:r.evidence.sourceAsOf}]:[],...r.evidence.sourceAsOfMode==="PER_ROW"?[{Field:o("agentWorkspace.composed.export.sourceAsOf","Source as of"),Value:o("agentWorkspace.composed.export.perRowAsOf","Varies by row")}]:[],...r.evidence.observedAt?[{Field:o("agentWorkspace.composed.export.observedAt","Read observed at"),Value:r.evidence.observedAt}]:[],{Field:o("agentWorkspace.composed.export.exportedAt","Exported at"),Value:c.toISOString()}],[{key:"Field",header:o("agentWorkspace.composed.export.fieldHeader","Field")},{key:"Value",header:o("agentWorkspace.composed.export.valueHeader","Value")}]);const u=n.workbook.addWorksheet(a,q(o("agentWorkspace.composed.export.rowsSheet","Visible rows"),m)),b=r.fields.length;v(n,a,u,1,1,r.title,k({bold:!0,color:{rgb:l.white}},l.navyLight)),v(n,a,u,2,1,p,k({color:{rgb:l.ink}},l.pale)),v(n,a,u,3,1,`${o("agentWorkspace.composed.export.basis","Basis")}: ${o(`agentWorkspace.composed.basis.${r.basis}`,r.basis)} · ${i} · ${g}`,k({color:{rgb:l.muted}},l.white)),r.fields.forEach((d,C)=>{const w=o(`agentWorkspace.composed.field.${d.key}`,d.key),R=C+1;v(n,a,u,4,R,w,k({bold:!0,color:{rgb:l.white}},l.navyLight,{vertical:"center"},A));let O=w.length+2;const Q=ge(r,d);r.rows.forEach((B,z)=>{const K=he(B[d.key],d);O=Math.max(O,String(B[d.key]??"").length+2),v(n,a,u,z+5,R,K,k({color:{rgb:l.ink}},z%2?l.pale:l.white,{vertical:"center",wrapText:!0},A,typeof K=="number"?Q:null))}),n.worksheet.setColumnWidth(u,R,Math.min(Math.max(O,12),42))}),n.worksheet.setFreezePanes(u,"A5"),n.worksheet.setSheetZoom(u,90),n.worksheet.setAutoFilter(u,n.worksheet.makeAutoFilter({ref:F(1,4,b,r.rows.length+4)})),a.activeSheetIndex=1;const y=await n.io.workbookToBytes(a);return{workbook:a,bytes:y,sheetCount:a.sheets.length,visibleRowCount:r.rows.length}},Se=async e=>{const o=await me(e),t=`reconcilia-agent-visible-rows-${new Date().toISOString().slice(0,10)}.xlsx`;return Y(o.bytes,t),{fileName:t,sheetCount:o.sheetCount,visibleRowCount:o.visibleRowCount}};export{me as buildAgentVisibleRowsWorkbook,ie as buildDashboardWorkbook,Re as default,Se as exportAgentVisibleRowsWorkbook,Re as exportDashboardWorkbook};
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.