@datarecce/ui 1.58.0-nightly.20260728 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/{RouteConfigContext-BlAcnOYA.d.ts → RouteConfigContext-mBGQ0cVA.d.ts} +2 -2
  2. package/dist/{RouteConfigContext-BlAcnOYA.d.ts.map → RouteConfigContext-mBGQ0cVA.d.ts.map} +1 -1
  3. package/dist/advanced.d.ts +7 -7
  4. package/dist/advanced.js +1 -1
  5. package/dist/{api-C8oIhbau.d.ts → api-DvmXBnv4.d.ts} +2 -2
  6. package/dist/{api-C8oIhbau.d.ts.map → api-DvmXBnv4.d.ts.map} +1 -1
  7. package/dist/api-S5ho3Qs3.js.map +1 -1
  8. package/dist/api.d.ts +3 -3
  9. package/dist/components-run.d.ts +2 -2
  10. package/dist/components-run.js +1 -1
  11. package/dist/components.d.ts +6 -6
  12. package/dist/components.js +1 -1
  13. package/dist/contexts.d.ts +3 -3
  14. package/dist/contexts.js +1 -1
  15. package/dist/{hooks-sfirjbvG.js → hooks-BaBhwe4N.js} +2 -2
  16. package/dist/{hooks-sfirjbvG.js.map → hooks-BaBhwe4N.js.map} +1 -1
  17. package/dist/hooks.d.ts +1 -1
  18. package/dist/hooks.js +1 -1
  19. package/dist/{index-CDf681n9.d.ts → index--eC3A8pt.d.ts} +7 -7
  20. package/dist/{index-CDf681n9.d.ts.map → index--eC3A8pt.d.ts.map} +1 -1
  21. package/dist/{index-rFP2hMNN.d.ts → index-BC41BUy0.d.ts} +5 -5
  22. package/dist/{index-rFP2hMNN.d.ts.map → index-BC41BUy0.d.ts.map} +1 -1
  23. package/dist/{index-CE667a3Q.d.ts → index-BN44swDh.d.ts} +3 -3
  24. package/dist/{index-CE667a3Q.d.ts.map → index-BN44swDh.d.ts.map} +1 -1
  25. package/dist/{index-BWOVoc-1.d.ts → index-CCITNo6y.d.ts} +3 -3
  26. package/dist/{index-BWOVoc-1.d.ts.map → index-CCITNo6y.d.ts.map} +1 -1
  27. package/dist/{index-B5wiPdSH.d.ts → index-DYMrtpKM.d.ts} +9 -4
  28. package/dist/{index-B5wiPdSH.d.ts.map → index-DYMrtpKM.d.ts.map} +1 -1
  29. package/dist/index.d.ts +10 -10
  30. package/dist/index.js +1 -1
  31. package/dist/{instanceInfo-CP2KE3Wn.d.ts → instanceInfo-C4HygfIM.d.ts} +25 -2
  32. package/dist/instanceInfo-C4HygfIM.d.ts.map +1 -0
  33. package/dist/{lineage-Dp9NphOv.d.ts → lineage-CpVHaetU.d.ts} +11 -11
  34. package/dist/{lineage-Dp9NphOv.d.ts.map → lineage-CpVHaetU.d.ts.map} +1 -1
  35. package/dist/{primitives-X5_QjyoQ.d.ts → primitives-Bx3rV4_S.d.ts} +4 -4
  36. package/dist/{primitives-X5_QjyoQ.d.ts.map → primitives-Bx3rV4_S.d.ts.map} +1 -1
  37. package/dist/primitives.d.ts +3 -3
  38. package/dist/primitives.js +1 -1
  39. package/dist/result.js +1 -1
  40. package/dist/{src-BD64DhI9.js → src-CsFtIEfr.js} +2 -2
  41. package/dist/{src-BD64DhI9.js.map → src-CsFtIEfr.js.map} +1 -1
  42. package/dist/{types-DXSV79G-.d.ts → types-CYY-V1Iu.d.ts} +9 -2
  43. package/dist/types-CYY-V1Iu.d.ts.map +1 -0
  44. package/dist/{types-sF1RZJvf.d.ts → types-DnKkz9kc.d.ts} +2 -2
  45. package/dist/{types-sF1RZJvf.d.ts.map → types-DnKkz9kc.d.ts.map} +1 -1
  46. package/dist/types.d.ts +6 -6
  47. package/dist/{utils-CL-AEd14.js → utils-BtK9KoQL.js} +2 -2
  48. package/dist/{utils-CL-AEd14.js.map → utils-BtK9KoQL.js.map} +1 -1
  49. package/dist/{utils-X40xQFW_.js → utils-D2GZ30yl.js} +2 -2
  50. package/dist/{utils-X40xQFW_.js.map → utils-D2GZ30yl.js.map} +1 -1
  51. package/dist/utils.d.ts +1 -1
  52. package/dist/utils.js +1 -1
  53. package/package.json +1 -1
  54. package/dist/instanceInfo-CP2KE3Wn.d.ts.map +0 -1
  55. package/dist/types-DXSV79G-.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
 
2
- import { Lt as RunsAggregated, M as Run, bn as PullRequestInfo, dn as ManifestMetadata, on as CatalogMetadata, rn as ColumnLineageData, s as LineageDiffViewOptions, sn as GitInfo, tn as CllInput, wn as StateMetadata, xn as SQLMeshInfo } from "./instanceInfo-CP2KE3Wn.js";
2
+ import { Lt as RunsAggregated, M as Run, Sn as SQLMeshInfo, Tn as StateMetadata, cn as GitInfo, fn as ManifestMetadata, rn as ColumnLineageData, s as LineageDiffViewOptions, sn as CatalogMetadata, tn as CllInput, xn as PullRequestInfo } from "./instanceInfo-C4HygfIM.js";
3
3
  import React from "react";
4
4
  import { Edge, Node } from "@xyflow/react";
5
5
  //#region src/contexts/lineage/types.d.ts
@@ -25,7 +25,14 @@ type LineageGraphNode = Node<{
25
25
  name: string;
26
26
  resourceType?: string;
27
27
  packageName?: string;
28
+ /** Schema in the current environment. */
28
29
  schema?: string;
30
+ /**
31
+ * Schema in the base environment — resolved, so it equals `schema` when
32
+ * both environments share one. Meaningless for an added node, which has
33
+ * no base environment.
34
+ */
35
+ baseSchema?: string;
29
36
  materialized?: string;
30
37
  changeStatus?: "added" | "removed" | "modified";
31
38
  change?: {
@@ -256,4 +263,4 @@ interface LineageViewContextType {
256
263
  }
257
264
  //#endregion
258
265
  export { LineageGraphColumnNode as a, LineageGraphNode as c, NodeAction as d, SelectMode as f, LineageGraph as i, LineageGraphNodes as l, isLineageGraphNode as m, ActionState as n, LineageGraphContextType as o, isLineageGraphColumnNode as p, EnvInfo as r, LineageGraphEdge as s, ActionMode as t, LineageViewContextType as u };
259
- //# sourceMappingURL=types-DXSV79G-.d.ts.map
266
+ //# sourceMappingURL=types-CYY-V1Iu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-CYY-V1Iu.d.ts","names":[],"sources":["../src/contexts/lineage/types.ts"],"mappings":";;;;;;;;UAkBiB;EACf,gBAAgB;EAChB;EACA,MAAM;EACN,cAAc;EACd;IACE,MAAM;IACN,SAAS;;EAEX,UAAU;;;;;KAMA,mBAAmB;EAE3B;EACA;EACA;EACA;;EAEA;;;;;;EAMA;EACA;EACA;EACA;IACE;IACA,UAAU;;EAEZ,SAAS,eAAe;EACxB,UAAU,eAAe;;;;;KAQjB,yBAAyB;EAEjC,MAAM;EACN;EACA;EACA;EACA;EACA;;;;;KAQQ,mBAAmB;EAE3B;;;;;KAQQ,oBAAoB,mBAAmB;;;;UAKlC;EACf,OAAO,eAAe;EACtB,OAAO,eAAe;EACtB;EACA;IACE,OAAO;IACP,UAAU;;EAEZ;IACE,OAAO;IACP,UAAU;;;;;;iBAOE,mBACd,MAAM,oBACL,QAAQ;;;;iBAOK,yBACd,MAAM,oBACL,QAAQ;;;;UAOM;;EAEf,eAAe;;EAEf,UAAU;;EAEV;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,eAAe;;EAEf;;EAEA,oBAAoB;;EAEpB,iBAAiB;;EAEjB;;;;;KAUU;;;;KAKA;;;;UAKK;;EAEf,MAAM;;EAEN;;EAEA;;EAEA,MAAM;;;;;UAMS;;EAEf,MAAM;;EAEN;;EAEA,aAAa,QAAQ;;EAErB;;EAEA;;EAEA,SAAS,eAAe;;;;;;UAOT;;EAEf;;EAEA,OAAO;;EAEP,cAAc;;EAEd,eAAe;;EAEf,KAAK;;EAIL,kBAAkB,OAAO,MAAM,YAAY,MAAM;;EAIjD,aAAa;;EAEb,uBAAuB,SAAS;;EAIhC,YAAY;;EAEZ,aAAa;;EAEb,oBAAoB,gBAAgB;;EAEpC,mBAAmB,gBAAgB;;EAEnC;;EAIA,oBAAoB;;EAEpB,iBAAiB;;EAEjB,oBAAoB,gBAAgB;;EAEpC,gBAAgB,mBAAmB;;EAEnC,mBAAmB,mBAAmB;;EAEtC,8BAA8B;;EAE9B;;;;;;;;;EASA;;;EAMA,iBAAiB;;EAEjB,mBAAmB;;;;;;;;EAQnB,0BAA0B;;;;;;;;;;;EAW1B,2BAA2B;;EAE3B,wBAAwB;;EAIxB,mBAAmB;;EAEnB,uBAAuB;;EAEvB,oBAAoB;;EAEpB,sBAAsB;;EAEtB;;EAEA;;EAEA,aAAa;;EAIb,aAAa;;EAEb,yBAAyB,MAAM,aAAa;;EAE5C,0BAA0B,uBAAuB"}
@@ -1,5 +1,5 @@
1
1
 
2
- import { Ct as TopKViewOptions, I as RunType, Jt as AxiosQueryParams, M as Run, Nt as QueryViewOptions, Ot as QueryDiffViewOptions, _t as ProfileDiffParams, bt as TopKDiffParams, mt as HistogramDiffParams, nt as ValueDiffDetailViewOptions, rt as ValueDiffParams, s as LineageDiffViewOptions, yt as ProfileDiffViewOptions } from "./instanceInfo-CP2KE3Wn.js";
2
+ import { Ct as TopKViewOptions, I as RunType, Jt as AxiosQueryParams, M as Run, Nt as QueryViewOptions, Ot as QueryDiffViewOptions, _t as ProfileDiffParams, bt as TopKDiffParams, mt as HistogramDiffParams, nt as ValueDiffDetailViewOptions, rt as ValueDiffParams, s as LineageDiffViewOptions, yt as ProfileDiffViewOptions } from "./instanceInfo-C4HygfIM.js";
3
3
  import { r as DataGridHandle } from "./ScreenshotDataGrid-C0a0wbBT.js";
4
4
  import { ComponentType, ForwardRefExoticComponent, ReactNode, Ref, RefAttributes } from "react";
5
5
  //#region src/components/run/RunStatusBadge.d.ts
@@ -624,4 +624,4 @@ type RunFormParamTypes = ProfileDiffParams | ValueDiffParams | TopKDiffParams |
624
624
  type RegistryEntry<RefType = RefTypes, ViewOptions = ViewOptionTypes, FormParams = RunFormParamTypes> = RunTypeConfig<RefType, ViewOptions, FormParams>;
625
625
  //#endregion
626
626
  export { RunListProps as A, inferRunStatus as B, RunProgressOverlayProps as C, RunListItem as D, RunList as E, RunStatusBadgeProps as F, RunStatusWithDate as I, RunStatusWithDateProps as L, RunStatusAndDate as M, RunStatusAndDateProps as N, RunListItemData as O, RunStatusBadge as P, formatRunDate as R, RunProgressOverlay as S, RunProgressVariant as T, registry as _, RunFormParamTypes as a, RunToolbarProps as b, RunResultViewRef as c, ViewOptionTypes as d, RunRegistry as f, findByRunType as g, defaultRunTypeConfig as h, RegistryEntry as i, RunStatus as j, RunListItemProps as k, RunTypeConfig as l, createRunTypeRegistry as m, PartialRunTypeRegistry as n, RunFormProps as o, createBoundFindByRunType as p, RefTypes as r, RunResultViewProps as s, IconComponent as t, RunTypeRegistry as u, DiffViewOptions as v, RunProgressProps as w, RunProgress as x, RunToolbar as y, formatRunDateTime as z };
627
- //# sourceMappingURL=types-sF1RZJvf.d.ts.map
627
+ //# sourceMappingURL=types-DnKkz9kc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-sF1RZJvf.d.ts","names":[],"sources":["../src/components/run/RunStatusBadge.tsx","../src/components/run/RunList.tsx","../src/components/run/RunProgress.tsx","../src/components/run/RunToolbar.tsx","../src/components/run/registry.ts","../src/components/run/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types-DnKkz9kc.d.ts","names":[],"sources":["../src/components/run/RunStatusBadge.tsx","../src/components/run/RunList.tsx","../src/components/run/RunProgress.tsx","../src/components/run/RunToolbar.tsx","../src/components/run/registry.ts","../src/components/run/types.ts"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
 
2
- import { Lt as RunsAggregated, Sn as ServerInfoResult, bn as PullRequestInfo, cn as LineageData, dn as ManifestMetadata, fn as MergedEdgeData, hn as MergedNodeData, i as RecceServerFlags, ln as LineageDataFromMetadata, mn as MergedLineageResponse, n as ServerMode, on as CatalogMetadata, pn as MergedLineageEnvMetadata, sn as GitInfo, t as RecceInstanceInfo, vn as NodeColumnData, wn as StateMetadata, xn as SQLMeshInfo, yn as NodeData } from "./instanceInfo-CP2KE3Wn.js";
3
- import { a as LineageGraphColumnNode, c as LineageGraphNode, i as LineageGraph, l as LineageGraphNodes, o as LineageGraphContextType, r as EnvInfo, s as LineageGraphEdge } from "./types-DXSV79G-.js";
4
- import { a as LineageGraphProviderProps, l as NodeColumnSetMap } from "./index-CE667a3Q.js";
5
- import { Bt as TransformationLegendItem, C as EmptyStateProps, Cn as LineageEdgeProps, Ct as HistogramDataset, Dn as NodeChangeStatus, En as LineageNodeProps, Gt as LineageColumnNodeData, Kt as LineageColumnNodeProps, L as DiffEditorLanguage, Lt as ChangeStatusLegendItem, Qt as CheckListProps, R as DiffEditorProps, Sn as LineageEdgeData, St as HistogramDataType, Tn as LineageNodeData, Ut as ColumnTransformationType, W as SchemaDiffStatus, an as CheckDescriptionProps, at as TopKBarChartProps, bn as EdgeChangeStatus, cn as CheckCardProps, d as SplitPaneProps, en as CheckEmptyStateProps, gn as CheckActionsProps, l as SplitDirection, ln as CheckRunStatus, mn as CheckActionType, nn as CheckDetailProps, ot as TopKDataset, pn as CheckAction, q as SchemaDiffRow, rn as CheckDetailTab, sn as CheckCardData, st as TopKItem, un as CheckType, vn as LineageViewProps, xt as HistogramChartProps, yn as LineageViewRef, z as DiffEditorTheme, zt as LineageLegendProps } from "./primitives-X5_QjyoQ.js";
6
- import { _ as CheckProviderProps, a as RoutingConfig, b as LineageCanvasProps, d as QueryProviderProps, f as QueryResult, h as CheckContextType, i as NavigateOptions, l as QueryContextType, m as Check, o as RoutingContextValue, r as RecceProviderProps, t as TYPES_API_VERSION } from "./index-rFP2hMNN.js";
7
- import { A as RunListProps, C as RunProgressOverlayProps, F as RunStatusBadgeProps, L as RunStatusWithDateProps, O as RunListItemData, T as RunProgressVariant, j as RunStatus, k as RunListItemProps, w as RunProgressProps } from "./types-sF1RZJvf.js";
2
+ import { Cn as ServerInfoResult, Lt as RunsAggregated, Sn as SQLMeshInfo, Tn as StateMetadata, bn as NodeData, cn as GitInfo, fn as ManifestMetadata, gn as MergedNodeData, hn as MergedLineageResponse, i as RecceServerFlags, ln as LineageData, mn as MergedLineageEnvMetadata, n as ServerMode, pn as MergedEdgeData, sn as CatalogMetadata, t as RecceInstanceInfo, un as LineageDataFromMetadata, xn as PullRequestInfo, yn as NodeColumnData } from "./instanceInfo-C4HygfIM.js";
3
+ import { a as LineageGraphColumnNode, c as LineageGraphNode, i as LineageGraph, l as LineageGraphNodes, o as LineageGraphContextType, r as EnvInfo, s as LineageGraphEdge } from "./types-CYY-V1Iu.js";
4
+ import { a as LineageGraphProviderProps, l as NodeColumnSetMap } from "./index-BN44swDh.js";
5
+ import { Bt as TransformationLegendItem, C as EmptyStateProps, Cn as LineageEdgeProps, Ct as HistogramDataset, Dn as NodeChangeStatus, En as LineageNodeProps, Gt as LineageColumnNodeData, Kt as LineageColumnNodeProps, L as DiffEditorLanguage, Lt as ChangeStatusLegendItem, Qt as CheckListProps, R as DiffEditorProps, Sn as LineageEdgeData, St as HistogramDataType, Tn as LineageNodeData, Ut as ColumnTransformationType, W as SchemaDiffStatus, an as CheckDescriptionProps, at as TopKBarChartProps, bn as EdgeChangeStatus, cn as CheckCardProps, d as SplitPaneProps, en as CheckEmptyStateProps, gn as CheckActionsProps, l as SplitDirection, ln as CheckRunStatus, mn as CheckActionType, nn as CheckDetailProps, ot as TopKDataset, pn as CheckAction, q as SchemaDiffRow, rn as CheckDetailTab, sn as CheckCardData, st as TopKItem, un as CheckType, vn as LineageViewProps, xt as HistogramChartProps, yn as LineageViewRef, z as DiffEditorTheme, zt as LineageLegendProps } from "./primitives-Bx3rV4_S.js";
6
+ import { _ as CheckProviderProps, a as RoutingConfig, b as LineageCanvasProps, d as QueryProviderProps, f as QueryResult, h as CheckContextType, i as NavigateOptions, l as QueryContextType, m as Check, o as RoutingContextValue, r as RecceProviderProps, t as TYPES_API_VERSION } from "./index-BC41BUy0.js";
7
+ import { A as RunListProps, C as RunProgressOverlayProps, F as RunStatusBadgeProps, L as RunStatusWithDateProps, O as RunListItemData, T as RunProgressVariant, j as RunStatus, k as RunListItemProps, w as RunProgressProps } from "./types-DnKkz9kc.js";
8
8
  import { c as AxiosQueryParams, d as SubmitRunTrackProps, g as RecceFeatureToggles, h as RecceFeatureMode, l as RecceActionContextType, m as InstanceInfoType, o as RecceActionProviderProps, r as IdleTimeoutContextType, u as RecceActionOptions } from "./index-B6HXOuoV.js";
9
9
  import { t as ThemeColors } from "./useThemeColors-CVVTKyoy.js";
10
10
  import { a as SemanticColorVariant, i as ColorShade, t as Theme } from "./index-BJaWyLX1.js";
@@ -2,5 +2,5 @@
2
2
  import{n as e}from"./colors-4aGxuAVw.js";import{createContext as t,useCallback as n,useContext as r,useEffect as i,useState as a}from"react";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";import l from"@mui/material/Box";import u from"@mui/material/Stack";import d from"@mui/material/Typography";import f from"@mui/material/IconButton";import p from"@mui/material/CircularProgress";import m from"@mui/material/Tooltip";import{PiCopy as h,PiDotsThreeVertical as g}from"react-icons/pi";import _ from"file-saver";import v from"write-excel-file/universal";import{useCopyToClipboard as y}from"usehooks-ts";import b from"@mui/material/Alert";import x from"@mui/material/Snackbar";import ee from"@mui/material/Menu";import te from"@mui/material/MenuItem";import S from"lodash";import{VscClose as ne,VscKebabVertical as re,VscKey as ie,VscPin as ae,VscPinned as oe}from"react-icons/vsc";import{format as se,formatDistance as ce,parseISO as le}from"date-fns";const C=t(null);C.displayName=`RecceThemeContext`;function ue(){let e=r(C);if(!e)throw Error(`useRecceTheme must be used within RecceProvider`);return e}function de(){return r(C)}function fe({children:e,defaultMode:t=`system`}){let[n,r]=a(t),[o,c]=a(()=>typeof window>`u`?`light`:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t);return i(()=>{if(n===`system`){let e=window.matchMedia(`(prefers-color-scheme: dark)`);c(e.matches?`dark`:`light`);let t=e=>{c(e.matches?`dark`:`light`)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}else c(n)},[n]),i(()=>{typeof window>`u`||document.documentElement.classList.toggle(`dark`,o===`dark`)},[o]),s(C.Provider,{value:{mode:n,resolvedMode:o,setMode:r},children:e})}function pe(){let e=de(),[t,n]=a(!1),[r,o]=a(!1);return i(()=>{if(n(!0),!e){let e=()=>{o(document.documentElement.classList.contains(`dark`))};e();let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>t.disconnect()}},[e]),t?e?e.resolvedMode===`dark`:r:!1}function me(e,t){return`${e}_${t}`}function he(e,t,n){return n?.has(me(e,t))??!1}function ge(e,t){_(new Blob([e],{type:`text/csv;charset=utf-8`}),t)}function _e(e,t){_(new Blob([e],{type:`text/tab-separated-values;charset=utf-8`}),t)}function ve(e,t){_(e,t)}async function ye(e){if(typeof navigator>`u`||!navigator.clipboard?.writeText)throw Error(`Clipboard API not available. Ensure you're using HTTPS or localhost.`);await navigator.clipboard.writeText(e)}function be(e){return e==null?null:typeof e==`object`?{value:JSON.stringify(e),type:String}:typeof e==`number`?{value:e,type:Number}:typeof e==`boolean`?{value:e,type:Boolean}:{value:String(e),type:String}}function xe(e,t){return v([e.map(e=>({value:e,type:String})),...t.map(e=>e.map(be))]).toBlob()}function Se(e,t){return(e==null?``:String(e))===(t==null?``:String(t))?e:`${e==null?``:`(${e})`} ${t==null?``:`(${t})`}`.trim()}function w(e){return!e?.columns||!e.data?null:{columns:e.columns.map(e=>e.name),rows:e.data.map(e=>[...e])}}function Ce(e){return w(e)}function we(e){return w(e)}function Te(e,t){let n=e,r=t?.displayMode??`inline`,i=t?.primaryKeys??[];return n?.diff?Ee(n.diff,r,i):De(n,r)}function Ee(e,t,n){if(!e?.columns||!e?.data)return null;let r=e.columns.findIndex(e=>e.key.toLowerCase()===`in_a`),i=e.columns.findIndex(e=>e.key.toLowerCase()===`in_b`),a=e.columns.filter(e=>e.key.toLowerCase()!==`in_a`&&e.key.toLowerCase()!==`in_b`),o=a.map(e=>e.name),s=a.map(t=>e.columns.findIndex(e=>e.key===t.key)),c=n.map(t=>e.columns.findIndex(e=>e.key===t)).filter(e=>e>=0),l=e=>s.map(t=>e[t]),u=e=>c.length===0?``:c.map(t=>String(e[t]??``)).join(`|||`),d=new Map,f=[];if(e.data.forEach((e,t)=>{let n=r>=0?e[r]:!0,a=i>=0?e[i]:!0,o=u(e);o===``&&(o=String(t)),d.has(o)||(d.set(o,{base:null,current:null}),f.push(o));let s=d.get(o);if(!s)return;let c=l(e);n&&(s.base=c),a&&(s.current=c)}),t===`side_by_side`){let e=[];o.forEach(t=>{e.push(`base__${t}`,`current__${t}`)});let t=[];for(let e of f){let n=d.get(e);if(!n)continue;let r=n.base,i=n.current,a=[];o.forEach((e,t)=>{a.push(r?r[t]:null),a.push(i?i[t]:null)}),t.push(a)}return{columns:e,rows:t}}let p=[...o],m=[];for(let e of f){let t=d.get(e);if(!t)continue;let n=t.base,r=t.current,i=[];o.forEach((e,t)=>{let a=n?n[t]:null,o=r?r[t]:null;i.push(Se(a,o))}),m.push(i)}return{columns:p,rows:m}}function De(e,t){let n=e?.current||e?.base;if(!n)return null;if(!e?.base||!e?.current)return w(n);let r=e.current.columns.map(e=>e.name);if(t===`side_by_side`){let t=[];r.forEach(e=>{t.push(`base__${e}`,`current__${e}`)});let n=[],i=Math.max(e.base.data.length,e.current.data.length);for(let t=0;t<i;t++){let i=[],a=t<e.base.data.length?e.base.data[t]:null,o=t<e.current.data.length?e.current.data[t]:null;r.forEach((e,t)=>{i.push(a?a[t]:null),i.push(o?o[t]:null)}),n.push(i)}return{columns:t,rows:n}}let i=[...r],a=[],o=Math.max(e.base.data.length,e.current.data.length);for(let t=0;t<o;t++){let n=t<e.base.data.length?e.base.data[t]:null,i=t<e.current.data.length?e.current.data[t]:null,o=[];r.forEach((e,t)=>{let r=n?n[t]:null,a=i?i[t]:null;o.push(Se(r,a))}),a.push(o)}return{columns:i,rows:a}}function Oe(e){let t=e,n=t?.current||t?.base;if(!n)return null;if(t?.base&&t?.current){let e=[`_source`,...t.current.columns.map(e=>e.name)],n=[];return t.base.data.forEach(e=>{n.push([`base`,...e])}),t.current.data.forEach(e=>{n.push([`current`,...e])}),{columns:e,rows:n}}return w(n)}function ke(e){let t=e;if(!t||typeof t!=`object`)return null;let n=[`node`,`base_count`,`current_count`,`diff`,`diff_percent`],r=[];for(let[e,n]of Object.entries(t))if(n&&typeof n==`object`){let t=n.base,i=n.curr,a=t!=null&&i!=null?i-t:null,o=t&&a!==null?(a/t*100).toFixed(2)+`%`:null;r.push([e,t,i,a,o])}return{columns:n,rows:r}}function Ae(e){let t=e;return t?.data?w(t.data):null}function je(e){return w(e)}function Me(e){let t=e,n=!!t?.base?.values,r=!!t?.current?.values;if(!n&&!r)return null;let i=[`_source`,`value`,`count`],a=[];return t?.base?.values&&t.base.values.forEach((e,n)=>{a.push([`base`,e,t.base.counts[n]])}),t?.current?.values&&t.current.values.forEach((e,n)=>{a.push([`current`,e,t.current.counts[n]])}),{columns:i,rows:a}}const T={query:Ce,query_base:we,query_diff:Te,profile:Oe,profile_diff:Oe,row_count:ke,row_count_diff:ke,value_diff:Ae,value_diff_detail:je,top_k_diff:Me};function Ne(e,t,n){let r=T[e];if(!r)return null;try{return r(t,n)}catch(t){return console.error(`Failed to extract CSV data for run type "${e}":`,t),null}}function Pe(e){return e in T}function E(e){if(e==null)return``;let t=typeof e==`object`?JSON.stringify(e):String(e);return t.includes(`,`)||t.includes(`"`)||t.includes(`
3
3
  `)||t.includes(`\r`)?`"${t.replace(/"/g,`""`)}"`:t}function Fe(e,t){return``+[e.map(E).join(`,`),...t.map(e=>e.map(E).join(`,`))].join(`\r
4
4
  `)}function Ie(e){return e==null?``:(typeof e==`object`?JSON.stringify(e):String(e)).replace(/[\t\r\n]+/g,` `)}function Le(e,t){return[e.map(Ie).join(` `),...t.map(e=>e.map(Ie).join(` `))].join(`\r
5
- `)}function Re(e){let t=e===1?`row`:`rows`;if(e<1e3)return`${e} ${t}`;if(e<1e6){let n=e/1e3;return n>=999.95?`1M ${t}`:`${n%1==0?String(n):n.toFixed(1)}k ${t}`}let n=e/1e6;return`${n%1==0?String(n):n.toFixed(1)}M ${t}`}function ze(){let e=new Date;return`${e.getFullYear()}${String(e.getMonth()+1).padStart(2,`0`)}${String(e.getDate()).padStart(2,`0`)}-${String(e.getHours()).padStart(2,`0`)}${String(e.getMinutes()).padStart(2,`0`)}${String(e.getSeconds()).padStart(2,`0`)}`}function Be(e,t){let n=ze(),r=e.replace(/_/g,`-`),i;return t?.node_names&&Array.isArray(t.node_names)&&t.node_names.length===1?i=String(t.node_names[0]):t?.model&&typeof t.model==`string`&&(i=t.model),i?(i=i.replace(/[^a-zA-Z0-9_.-]/g,`-`).toLowerCase(),`${r}-${i}-${n}.csv`):`${r}-result-${n}.csv`}function Ve(e){let{primaryKeys:t,pinnedColumns:n,allColumns:r,excludeColumns:i=[]}=e,a=[],o=new Set,s=e=>i.includes(e);return t.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),n.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),r.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),a}function He(e,t,n){return!t||!n||e===`added`||e===`removed`||e===`modified`}function D(e,t){return t.includes(e)}function Ue(e,t){return t.includes(e)}function O(e,t){return t.includes(e)}function We(e,t){return e[t]}function k(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,changedOnly:a=!1,rowStats:o,excludeColumns:s=[],strictMode:c=!1}=e,l=(o?.modified??0)>0,u=[];return n.forEach(e=>{let n=We(t,e);if(!n){if(c)throw Error(`Primary key column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:n.colType,columnStatus:n.status,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(D(e,n)||O(e,s))return;let r=We(t,e);if(!r){if(c)throw Error(`Pinned column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:r.colType,columnStatus:r.status,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{D(e,n)||Ue(e,r)||O(e,s)||He(t.status,a,l)&&u.push({key:e,name:e,columnType:t.colType,columnStatus:t.status,columnRenderMode:i[e]})}),u}function Ge(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,excludeColumns:a=[],strictMode:o=!1}=e,s=[];return n.forEach(e=>{let n=t[e];if(!n){if(o)throw Error(`Primary key column "${e}" not found in columnMap`);return}s.push({key:e,name:e,columnType:n.colType,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(n.includes(e)||a.includes(e))return;let r=t[e];if(!r){if(o)throw Error(`Pinned column "${e}" not found in columnMap`);return}s.push({key:r.key,name:e,columnType:r.colType,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{n.includes(e)||r.includes(e)||a.includes(e)||s.push({key:t.key,name:e,columnType:t.colType,columnRenderMode:i[e]})}),s}function A(e,t){return[{value:`Show raw value`,onClick:()=>{t({[e]:`raw`})}},{value:`Show 2 decimal points`,onClick:()=>{t({[e]:2})}},{value:`Show as percentage`,onClick:()=>{t({[e]:`percent`})}},{value:`Show with net change`,onClick:()=>{t({[e]:`delta`})}}]}function j({value:t,colorPalette:n,grayOut:r,noCopy:i,fontSize:o,onCopy:u}){let[d,f]=a(!1),p=pe();return c(l,{sx:{display:`flex`,p:`2px 5px`,minWidth:`30px`,maxWidth:`200px`,overflow:`hidden`,textOverflow:`ellipsis`,color:p?e[n][300]:e[n][800],bgcolor:p?e[n][900]:e[n][100],alignItems:`center`,gap:`2px`,borderRadius:`8px`,fontSize:o,flexShrink:i?0:`inherit`},onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},children:[s(l,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,color:r?`text.disabled`:`inherit`},children:t}),s(Ke,{value:t,noCopy:i,grayOut:r,isHovered:d,onCopy:u})]})}function Ke({value:e,noCopy:t,grayOut:n,isHovered:r,onCopy:i}){return t||n||!r?null:s(m,{title:`Copy Value`,children:s(f,{"aria-label":`Copy`,size:`small`,onClick:()=>{i?i(e):typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(e)},sx:{minWidth:`0.625rem`,height:`0.625rem`,display:`flex`,alignItems:`center`,justifyContent:`center`,p:0,color:`inherit`},children:s(h,{size:`0.625rem`})})})}const qe=t(null);let M=0;function Je({children:e}){let[t,r]=a([]),i=n(e=>{let t=e.id||`toast-${++M}`,n={id:t,open:!0,duration:e.type===`loading`?null:e.duration??5e3,closable:e.closable??!0,...e};return r(e=>[...e.filter(e=>e.id!==t),n]),t},[]),o=n(e=>{r(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{r(t=>t.filter(t=>t.id!==e))},300)},[]),l={toast:i,success:e=>i({...e,type:`success`}),error:e=>i({...e,type:`error`}),warning:e=>i({...e,type:`warning`}),info:e=>i({...e,type:`info`}),loading:e=>i({...e,type:`loading`}),dismiss:o,update:n((e,t)=>{r(n=>n.map(n=>n.id===e?{...n,...t}:n))},[])};return c(qe.Provider,{value:l,children:[e,t.map(e=>s(x,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&o(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(b,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>o(e.id):void 0,icon:e.type===`loading`?s(p,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))]})}function Ye(){let e=r(qe);if(!e)throw Error(`useToaster must be used within ToasterProvider`);return e}const N=new Set,P={create:e=>{let t=e.id||`toast-${++M}`;return N.forEach(n=>n({type:`create`,options:{...e,id:t}})),t},success:e=>P.create({...e,type:`success`}),error:e=>P.create({...e,type:`error`}),warning:e=>P.create({...e,type:`warning`}),info:e=>P.create({...e,type:`info`}),loading:e=>P.create({...e,type:`loading`}),dismiss:e=>{N.forEach(t=>t({type:`dismiss`,id:e}))},remove:e=>{N.forEach(t=>t({type:`dismiss`,id:e}))},update:(e,t)=>{N.forEach(n=>n({type:`update`,id:e,options:t}))},subscribe:e=>(N.add(e),()=>N.delete(e))};function Xe(){let[e,t]=a([]);a(()=>P.subscribe(e=>{if(e.type===`create`&&e.options){let n={id:e.options.id||`toast-${++M}`,open:!0,duration:e.options.type===`loading`?void 0:e.options.duration??5e3,closable:e.options.closable??!0,...e.options};t(e=>[...e.filter(e=>e.id!==n.id),n])}else if(e.type===`dismiss`&&e.id){let n=e.id;t(e=>e.map(e=>e.id===n?{...e,open:!1}:e)),setTimeout(()=>{t(e=>e.filter(e=>e.id!==n))},300)}else e.type===`update`&&e.id&&e.options&&t(t=>t.map(t=>t.id===e.id?{...t,...e.options}:t))}));let n=e=>{t(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{t(t=>t.filter(t=>t.id!==e))},300)};return s(o,{children:e.map(e=>s(x,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&n(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(b,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>n(e.id):void 0,icon:e.type===`loading`?s(p,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))})}function Ze(){function e(e){P.create({description:e,type:`info`,duration:5e3,closable:!0})}function t(e,t){P.create({title:e,description:String(t),type:`error`,duration:5e3,closable:!0})}return{successToast:e,failToast:t}}function Qe(e){let[,t]=y(),{successToast:n}=Ze(),r=e=>{t(e),n(`${e} copied`)};return s(j,{...e,onCopy:r})}function $e({name:e,columnStatus:t,columnType:n,primaryKeys:r=[],onPrimaryKeyChange:i,pinnedColumns:u=[],onPinnedColumnsChange:d,onColumnsRenderModeChanged:p}){let[m,h]=a(null),g=!!m,_=e=>{h(e.currentTarget)},v=()=>{h(null)};if(e===`index`)return s(o,{});let y=r.includes(e),b=u.includes(e),x=t!==`added`&&t!==`removed`,S=[];return p&&(S=A(e,p)),c(l,{sx:{display:`flex`,alignItems:`center`,gap:`10px`,width:`100%`},className:`grid-header`,children:[y&&s(ie,{}),s(l,{sx:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),x&&i&&s(l,{component:y?ne:ie,className:y?`close-icon`:`key-icon`,sx:{display:y?`block`:`none`,cursor:`pointer`},onClick:y?()=>{i&&i(r.filter(t=>t!==e))}:()=>{i&&i([...r.filter(e=>e!==`index`),e])}}),!y&&d&&s(l,{component:b?oe:ae,className:b?`unpin-icon`:`pin-icon`,sx:{display:b?`block`:`none`,cursor:`pointer`},onClick:b?()=>{d&&d(u.filter(t=>t!==e))}:()=>{d&&d([...u,e])}}),!y&&n===`number`&&S.length>0&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`!size-4 !min-w-4`,onClick:_,children:s(re,{})}),s(ee,{anchorEl:m,open:g,onClose:v,children:S.map(e=>s(te,{onClick:()=>{e.onClick(),v()},children:e.value},e.value))})]})]})}function et({name:e,pinnedColumns:t=[],onPinnedColumnsChange:n=()=>{},columnType:r,onColumnsRenderModeChanged:i}){let[u,d]=a(null),p=!!u,m=e=>{d(e.currentTarget)},h=()=>{d(null)},_=[];i&&(_=A(e,i));let v=t.includes(e);return c(l,{sx:{display:`flex`,alignItems:`center`,width:`100%`},className:`grid-header`,children:[s(l,{sx:{flex:1},children:e}),s(l,{component:v?oe:ae,className:v?`unpin-icon`:`pin-icon`,sx:{display:v?`block`:`none`,cursor:`pointer`},onClick:v?()=>{n(t.filter(t=>t!==e))}:()=>{n([...t,e])}}),r===`number`&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`size-6!`,sx:{p:0},onClick:m,children:s(g,{})}),s(ee,{anchorEl:u,open:p,onClose:h,children:_.map(e=>s(te,{onClick:()=>{e.onClick(),h()},children:e.value},e.value))})]})]})}function F(e,t=`en-US`,n){return typeof e==`number`?new Intl.NumberFormat(t,n).format(e):e}function tt(e){let t=e>0&&e<=.001,n=e<1&&e>=.999,r=(t=e)=>F(t,`en-US`,{style:`percent`,minimumFractionDigits:1});return t?`<${r(.001)}`:n?`>${r(.999)}`:r()}function nt(e){if(typeof e!=`number`)return e;{let t=Math.abs(e),n=10**-2,r=10**3,i=10**6,a=10**9,o=10**12,s=10**15,c=t>=n,l=t>=1,u=t>=r,d=t>=i,f=t>=a,p=t>=o,m=t>=s;if(m||p)return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:m?0:2}).format(e/0xe8d4a51000).replace(`L`,`T`);if(f||d||u){let t={base:f?a:d?i:r,unit:f?`B`:d?`M`:`K`};return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:1}).format(e/t.base).replace(`L`,t.unit)}else if(l)return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:2}).format(e);else return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:c?3:2,notation:c||t===0?`standard`:`scientific`}).format(e)}}function I(e){return e.data.map((t,n)=>({...e.columns.reduce((e,n,r)=>(e[n.key]=t[r],e),{}),__status:void 0,_index:n+1}))}function rt(e){let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)?t:it(e)}function it(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t)}function at(e,t){let n=t.toLowerCase();if(n in e)return e[n];let r=Object.keys(e).find(e=>e.toLowerCase()===n);return r?e[r]:void 0}function ot(e,t){let n=e[t.toLowerCase()];return n||=e[t.toUpperCase()],n||=e[t],n}function L(e,t){let n=[...e],r=[...t],i=[];for(;n.length>0&&r.length>0;)if(i.includes(n[0]))n.shift();else if(i.includes(r[0]))r.shift();else if(n[0]===r[0])i.push(n[0]),n.shift(),r.shift();else if(r.includes(n[0])){let e=r.indexOf(n[0]);for(let t=0;t<e;t++)i.includes(r[t])||i.push(r[t]);i.push(n[0]),n.shift(),r.splice(0,e+1)}else i.push(n[0]),n.shift();return n.forEach(e=>{i.includes(e)||i.push(e)}),r.forEach(e=>{i.includes(e)||i.push(e)}),i}function R(e,t){let n=L(e,t),r={};for(let i of n)e.includes(i)?t.includes(i)?r[i]=void 0:r[i]=`removed`:r[i]=`added`;let i={};e.forEach((e,t)=>{i[e]=t});let a=-1;for(let e of n){let t=i[e];t!=null&&(t>a?a=t:r[e]=`reordered`)}return r}function st(e){let t={};return e.columns.forEach((e,n)=>{t[e.name]={key:e.key,index:n,colType:e.type}}),t}function ct(e){let t={};if(e.columns.forEach((e,n)=>{t[e.key]={key:e.key,index:n,colType:e.type}}),!t.in_a)throw Error(`Joined DataFrame missing required 'in_a' column`);if(!t.in_b)throw Error(`Joined DataFrame missing required 'in_b' column`);return t}function lt(e,t){let n={},r=R(e.columns.map(e=>e.key),t.columns.map(e=>e.key));return Object.entries(r).forEach(([r,i])=>{let a=e.columns.find(e=>e.key===r),o=t.columns.find(e=>e.key===r);n[r]={status:i,baseColumnKey:a?.key??`unknown`,currentColumnKey:o?.key??`unknown`,colType:a?.type??o?.type??`unknown`,key:a?.key??o?.key??`unknown`}}),n}function z(e,t){let n=[];for(let r of t){let t=e.find(e=>e.key===r);if(!t)throw Error(`Column ${r} not found`);n.push(t.key)}return n}function B(e,t,n){if(t.length===0)return String(n._index);let r=[];for(let i of t){let t=e.find(e=>e.key===i);if(!t)throw Error(`Primary Column ${i} not found`);let a=n[i];r.push(`${t.name}=${a}`)}return r.join(`|`)}function ut(e,t,n,r){if(!e)return`added`;if(!t)return`removed`;let i=e===t;for(let[a,o]of Object.entries(n)){if(a===`index`||r.includes(a))continue;let n,s;if(i){let r=`base__${o.key}`,i=`current__${o.key}`;n=e[r],s=t[i]}else n=e[o.key],s=t[o.key];if(!S.isEqual(n,s))return`modified`}}function V(e,t=2){let n=F(Object.is(e,-0)?0:e,`en-US`,{maximumFractionDigits:t,roundingMode:`halfEven`})??String(e);return n===`-0`?`0`:n}function H(e,t){return Number.isNaN(e)?`NaN`:Number.isFinite(e)?t===`raw`?String(e):typeof t==`number`?V(e,t):t===`percent`?F(e,`en-US`,{style:`percent`,maximumFractionDigits:2})??String(e):V(e,2):e>0?`∞`:`-∞`}function U(e,t,n,r){let i=at(e,t);if(i==null)return[`-`,!0];let a,o=!1;return typeof i==`boolean`?a=i.toString():i===``?(a=`(empty)`,o=!0):a=typeof i==`number`?H(i,r):n===`number`?H(parseFloat(i),r):String(i),[a,o]}function dt(e,t,n,r){let i=e.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${n}`.toLowerCase(),o=`current__${n}`.toLowerCase();if(!S.isEqual(e[a],e[o]))return r?`diff-cell-removed`:`diff-cell-added`}function W(e){if(e===`added`)return`diff-header-added`;if(e===`removed`)return`diff-header-removed`}const ft=e=>{let t=e.colDef,n=t?.context?.columnType,r=t?.context?.columnRenderMode,i=t?.field??``;if(!e.data)return null;let[a,o]=U(e.data,i,n,r);return s(d,{component:`span`,style:{color:o?`gray`:`inherit`},children:a})};function pt(e={}){let t=e.DiffTextComponent??j;return e=>{let n=e.colDef,r=n?.context?.columnType,i=n?.context?.columnRenderMode,a=n?.field??``;if(!e.data)return null;let o=e.data,u=`base__${a}`.toLowerCase(),f=`current__${a}`.toLowerCase();if(!Object.hasOwn(o,u)&&!Object.hasOwn(o,f))return`-`;let p=Object.hasOwn(o,u),h=Object.hasOwn(o,f),[g,_]=U(o,`base__${a}`.toLowerCase(),r,i),[v,y]=U(o,`current__${a}`.toLowerCase(),r,i);if(o[u]===o[f])return s(d,{component:`span`,style:{color:y?`gray`:`inherit`},children:v});if(i===`delta`&&(r===`number`||r===`integer`)&&p&&h){let e=ht(o[u]),n=ht(o[f]);if(Number.isFinite(e)&&Number.isFinite(n)){let r=n-e,i=e===0?0:r/e*100,a=V(n),o=V(r),u=`(${r>=0?`+`:``}${o})`;return s(m,{title:`Base: ${e}\nCurrent: ${n}\nChange: ${r>=0?`+`:``}${r} (${i>=0?`+`:``}${i.toFixed(2)}%)`,slotProps:{tooltip:{sx:{whiteSpace:`pre-line`}}},enterDelay:300,placement:`top`,children:c(l,{sx:{gap:`5px`,display:`flex`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[s(t,{value:a,colorPalette:`green`,grayOut:y}),s(d,{sx:{color:r>=0?`green.600`:`red.600`,fontSize:`0.75rem`},children:u})]})})}}return c(l,{sx:{display:`flex`,gap:`5px`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[p&&s(t,{value:g,colorPalette:`red`,grayOut:_}),h&&s(t,{value:v,colorPalette:`green`,grayOut:y})]})}}const mt=pt({DiffTextComponent:Qe});function ht(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return 0}function gt(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!S.isEqual(r[a],r[o]))return`diff-cell-removed`}}function _t(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!S.isEqual(r[a],r[o]))return`diff-cell-added`}}function G(e){let{name:t,columnStatus:n,columnType:r,columnRenderMode:i,displayMode:a,baseTitle:o=`Base`,currentTitle:c=`Current`,headerProps:l={},renderComponents:u}=e,{DataFrameColumnGroupHeader:d,defaultRenderCell:f,inlineRenderCell:p}=u,m=W(n),h=()=>s(d,{name:t,columnStatus:n,columnType:r,...l});if(a===`inline`)return{field:t,headerName:t,headerClass:m,headerComponent:h,cellRenderer:p,context:{columnType:r,columnRenderMode:i}};let g=gt(t,n),_=_t(t,n);return{headerName:t,headerClass:m,headerGroupComponent:h,context:{columnType:r,columnRenderMode:i},children:[{field:`base__${t}`,headerName:o,headerClass:m,cellClass:g,cellRenderer:f,context:{columnType:r,columnRenderMode:i}},{field:`current__${t}`,headerName:c,headerClass:m,cellClass:_,cellRenderer:f,context:{columnType:r,columnRenderMode:i}}]}}function vt(){return{field:`_index`,headerName:``,width:50,maxWidth:100,cellClass:`index-column`,resizable:!1,pinned:`left`}}function yt(e,t,n){let{key:r,name:i,columnType:a,columnStatus:o,columnRenderMode:c}=e,{DataFrameColumnGroupHeader:l,defaultRenderCell:u}=n;return{field:r,headerName:i,headerComponent:()=>s(l,{name:i,columnStatus:o??``,columnType:a,...t}),pinned:`left`,cellClass:e=>{if(e.data?.__status)return`diff-header-${e.data.__status}`},cellRenderer:u,context:{columnType:a,columnRenderMode:c}}}function bt(e,t,n,r,i,a){let{name:o,columnType:s,columnStatus:c,columnRenderMode:l}=e;return G({name:o,columnStatus:c??``,columnType:s,columnRenderMode:l,displayMode:t,baseTitle:i,currentTitle:a,headerProps:n,renderComponents:r})}function K(e){let{columns:t,displayMode:n,headerProps:r,baseTitle:i,currentTitle:a,allowIndexFallback:o=!1,renderComponents:s}=e,c=[],l=!1;!t.some(e=>e.isPrimaryKey)&&o&&(c.push(vt()),l=!0);for(let e of t)if(e.isPrimaryKey)c.push(yt(e,r,s));else{let t=bt(e,n,r,s,i,a);c.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:c,usedIndexFallback:l}}function xt(e){return`baseColumnKey`in e&&`currentColumnKey`in e}function St(e,t){return t.includes(e)}function Ct(e){return xt(e)?{baseKey:e.baseColumnKey,currentKey:e.currentColumnKey}:{baseKey:e.key,currentKey:e.key}}function wt(e,t,n,r,i){n.forEach(n=>{let a=n.key;St(a,i)?e[String(a).toLowerCase()]=t[a]:e[`${r}${a}`.toLowerCase()]=t[a]})}function Tt(e,t,n,r){let i=!1;for(let[a,o]of Object.entries(n)){if(a===`index`||St(a,r))continue;let{baseKey:n,currentKey:s}=Ct(o);if(n===`unknown`||s===`unknown`)continue;let c=e[n],l=t[s];S.isEqual(c,l)||(i=!0,o.status=`modified`)}return i}function q(e){let{baseMap:t,currentMap:n,baseColumns:r,currentColumns:i,columnMap:a,primaryKeys:o,changedOnly:s=!1}=e,c=R(Object.keys(t),Object.keys(n)),l={added:0,removed:0,modified:0},u=Object.entries(c).map(([e])=>{let s=t[e],c=n[e],u={_index:rt(e),__status:void 0};return s&&wt(u,s,r,`base__`,o),c&&wt(u,c,i,`current__`,o),s?c?Tt(s,c,a,o)&&(u.__status=`modified`,l.modified++):(u.__status=`removed`,l.removed++):(u.__status=`added`,l.added++),u});return s&&(u=u.filter(e=>e.__status===`added`||e.__status===`removed`||e.__status===`modified`)),{rows:u,rowStats:l}}var J=class extends Error{context;details;constructor(e,t,n){super(t?`[${t}] ${e}`:e),this.context=t,this.details=n,this.name=`DataGridValidationError`}};function Y(e,t=`DataFrame`){if(e!=null){if(typeof e!=`object`)throw new J(`Expected an object, got ${typeof e}`,t);if(!(`columns`in e))throw new J(`Missing 'columns' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.columns))throw new J(`'columns' must be an array, got ${typeof e.columns}`,t);if(!(`data`in e))throw new J(`Missing 'data' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.data))throw new J(`'data' must be an array, got ${typeof e.data}`,t);Et(e.columns,t),e.data.length>0&&Dt(e,t)}}function Et(e,t=`DataFrame`){e.forEach((e,n)=>{if(!e||typeof e!=`object`)throw new J(`Column at index ${n} is not an object`,t,{column:e});if(typeof e.key!=`string`||e.key===``)throw new J(`Column at index ${n} has invalid 'key': expected non-empty string, got ${JSON.stringify(e.key)}`,t,{column:e});if(typeof e.name!=`string`)throw new J(`Column '${e.key}' has invalid 'name': expected string, got ${typeof e.name}`,t,{column:e});if(typeof e.type!=`string`)throw new J(`Column '${e.key}' has invalid 'type': expected string, got ${typeof e.type}`,t,{column:e})})}function Dt(e,t=`DataFrame`){let n=e.columns.length;for(let r=0;r<e.data.length;r++){let i=e.data[r];if(!Array.isArray(i))throw new J(`Row at index ${r} is not an array`,t,{row:i,rowType:typeof i});if(i.length!==n)throw new J(`Row ${r} has ${i.length} values but expected ${n} (column count)`,t,{rowIndex:r,rowLength:i.length,columnCount:n,columns:e.columns.map(e=>e.key)})}}function X(e,t,n={}){let{required:r=!1,caseInsensitive:i=!1,context:a=`primaryKeys`}=n;if(r&&(!e||e.length===0))throw new J(`Primary keys are required but none were provided`,a);if(!e||e.length===0)return;let o=t.map(e=>e.key),s=i?o.map(e=>e.toLowerCase()):o;for(let t of e){let e=i?t.toLowerCase():t;if(!(i?s.includes(e):o.includes(t)))throw new J(`Primary key column '${t}' not found in columns`,a,{requestedKey:t,availableColumns:o,caseInsensitive:i})}let c=new Set;for(let t of e){let n=i?t.toLowerCase():t;if(c.has(n))throw new J(`Duplicate primary key: '${t}'`,a,{primaryKeys:e});c.add(n)}}function Ot(e,t){Y(e,`dataframe`),e&&t?.primaryKeys&&X(t.primaryKeys,e.columns,{context:`toDataGrid`})}function kt(e,t,n){if(Y(e,`base`),Y(t,`current`),n?.primaryKeys&&n.primaryKeys.length>0){let r=e?.columns??[],i=t?.columns??[],a=new Set([...r.map(e=>e.key),...i.map(e=>e.key)]);for(let e of n.primaryKeys)if(!a.has(e))throw new J(`Primary key column '${e}' not found in either base or current DataFrame`,`toDataDiffGrid`,{requestedKey:e,baseColumns:r.map(e=>e.key),currentColumns:i.map(e=>e.key)})}}function At(e,t){if(!e)throw new J(`DataFrame is required for value diff`);if(Y(e),!t||t.length===0)throw new J(`Primary keys are required for value diff`);X(t,e.columns,{required:!0,context:`toValueDiffGrid`});let n=e.columns.map(e=>e.key);if(!n.includes(`in_a`))throw new J(`Value diff DataFrame must include lowercase 'in_a' column`);if(!n.includes(`in_b`))throw new J(`Value diff DataFrame must include lowercase 'in_b' column`)}function jt(e,t,n,r){kt(e,t,n);let i=e??{columns:[],data:[]},a=t??{columns:[],data:[]},o=n?.primaryKeys??[],s=n?.pinnedColumns??[],c=n?.changedOnly??!1,l=n?.displayMode??`side_by_side`,u=n?.columnsRenderMode??{},d=I(i),f=I(a),p=lt(i,a),m={},h={},g=!1,_=!1;if(o.length===0)d.forEach(e=>{m[String(e._index)]=e}),f.forEach(e=>{h[String(e._index)]=e});else{let e=z(i.columns,o);d.forEach(t=>{let n=B(i.columns,e,t);n in m&&(g=!0),m[n]=t});let t=z(a.columns,o);f.forEach(e=>{let n=B(a.columns,t,e);n in h&&(_=!0),h[n]=e})}let{rows:v,rowStats:y}=q({baseMap:m,currentMap:h,baseColumns:i.columns,currentColumns:a.columns,columnMap:p,primaryKeys:o,changedOnly:c}),{columns:b}=K({columns:k({columnMap:p,primaryKeys:o,pinnedColumns:s,columnsRenderMode:u,changedOnly:c,rowStats:y,excludeColumns:[`index`],strictMode:!1}),displayMode:l,allowIndexFallback:!0,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:o,pinnedColumns:s,onPrimaryKeyChange:n?.onPrimaryKeyChange,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:b,rows:v,invalidPKeyBase:g,invalidPKeyCurrent:_}}function Mt(){return{field:`_index`,headerName:``,width:50,cellClass:`index-column`,resizable:!1,pinned:`left`}}function Nt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnGroupHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnStatus:``,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),pinned:`left`,cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Pt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Z(e){let{columns:t,headerProps:n,allowIndexFallback:r=!0,renderComponents:i}=e,a=[],o=!1;!t.some(e=>e.isPrimaryKey)&&r&&(a.push(Mt()),o=!0);for(let e of t)if(e.isPrimaryKey)a.push(Nt(e,n,i));else{let t=Pt(e,n,i);a.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:a,usedIndexFallback:o}}function Ft(e,t,n){Ot(e,t);let r=t.primaryKeys??[],i=t.pinnedColumns??[],a=t.columnsRenderMode??{},{columns:o}=Z({columns:Ge({columnMap:st(e),primaryKeys:r,pinnedColumns:i,columnsRenderMode:a}),headerProps:{pinnedColumns:i,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged},allowIndexFallback:!0,renderComponents:n.renderComponents});return{columns:o,rows:I(e)}}function It(e,t,n,r){At(e,t);let i=n?.pinnedColumns??[],a=n?.changedOnly??!1,o=n?.displayMode??`inline`,s=n?.columnsRenderMode??{},c=I(e),l=ct(e),u={},d={},f=z(e.columns,t),p=l.in_a.key,m=l.in_b.key;c.forEach(t=>{let n=B(e.columns,f,t);t[p]&&(u[n.toLowerCase()]=t),t[m]&&(d[n.toLowerCase()]=t)});let{rows:h,rowStats:g}=q({baseMap:u,currentMap:d,baseColumns:e.columns,currentColumns:e.columns,columnMap:l,primaryKeys:t,changedOnly:a}),{columns:_}=K({columns:k({columnMap:l,primaryKeys:t,pinnedColumns:i,columnsRenderMode:s,changedOnly:a,rowStats:g,excludeColumns:[`in_a`,`in_b`],strictMode:!0}),displayMode:o,allowIndexFallback:!1,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:t,pinnedColumns:i,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:_,rows:h}}const Q={DataFrameColumnGroupHeader:$e,defaultRenderCell:ft,inlineRenderCell:mt},$={DataFrameColumnGroupHeader:$e,DataFrameColumnHeader:et,defaultRenderCell:ft};function Lt(e){return G({...e,renderComponents:Q})}function Rt(e){return K({...e,renderComponents:Q})}function zt(e,t,n){return jt(e,t,n,{renderComponents:Q})}function Bt(e,t,n){return It(e,t,n,{renderComponents:Q})}function Vt(e,t){return Ft(e,t,{renderComponents:$})}function Ht(e){return Z({...e,renderComponents:$})}function Ut(e,t){if(e===0&&t!==0)return`N/A`;if(e<t){let n=(t-e)/e*100;return`+${n>=.1?n.toFixed(1):` <0.1 `}%`}else if(e>t){let n=(e-t)/e*100;return`-${n>=.1?n.toFixed(1):` <0.1 `}%`}else return`0`}function Wt(e,t){return e!==null&&t!==null?e===t?`0`:Ut(e,t):e===t?`N/A`:e===null?`Added`:t===null?`Removed`:`N/A`}function Gt(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`base`,name:`Base Rows`,type:`number`},{key:`current`,name:`Current Rows`,type:`number`},{key:`delta`,name:`Delta`,type:`text`}],data:Object.entries(e).map(([e,t])=>{let n=typeof t.base==`number`?t.base:null,r=typeof t.curr==`number`?t.curr:null;return[e,n,r,Wt(n,r)]})}}function Kt(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`current`,name:`Row Count`,type:`number`}],data:Object.entries(e).map(([e,t])=>[e,typeof t.curr==`number`?t.curr:null])}}function qt(e,t){if(e===null&&t!==null)return`added`;if(e!==null&&t===null)return`removed`;if(e!==null&&t!==null&&e!==t)return`modified`}function Jt(e){return{columns:[{field:`name`,headerName:`Name`,resizable:!0},{field:`current`,headerName:`Row Count`,resizable:!0}],rows:I(Kt(e)).map(e=>({...e,current:e.current??`N/A`,__status:void 0}))}}function Yt(){return e=>{let t=e.data;if(!t)return;let n=t.base,r=t.current,i=n===`N/A`?null:n,a=r===`N/A`?null:r;if(i!==a){if(i===null||typeof i==`number`&&typeof a==`number`&&i<a)return`diff-cell-added`;if(a===null||typeof i==`number`&&typeof a==`number`&&i>a)return`diff-cell-removed`}}}function Xt(e){let t=I(Gt(e)).map(e=>{let t=e.base,n=e.current;return{...e,base:t??`N/A`,current:n??`N/A`,__status:qt(typeof t==`number`?t:null,typeof n==`number`?n:null)}}),n=Yt();return{columns:[{field:`name`,headerName:`Name`,resizable:!0,cellClass:n},{field:`base`,headerName:`Base Rows`,resizable:!0,cellClass:n},{field:`current`,headerName:`Current Rows`,resizable:!0,cellClass:n},{field:`delta`,headerName:`Delta`,resizable:!0,cellClass:n}],rows:t}}function Zt(e){let t=new Set,n=new Set;if(e?.nodes){let r=Object.values(e.nodes);for(let e of r)e.data.schema&&(e.data.changeStatus!==`added`&&t.add(e.data.schema),e.data.changeStatus!==`removed`&&n.add(e.data.schema))}return[t,n]}function Qt(e,t){let n=L(e,t);if(n.length===0)return[];if(e.length===0||t.length===0)return n.map((e,t)=>t===n.length-1?e:e+`,`);let r=``;return n.forEach(n=>{e.includes(n)&&t.includes(n)&&(r=n)}),n.map((i,a)=>{let o;return o=e.includes(i)?t.includes(i)?i:`--- ${i} (Removed)`:`--- ${i} (Added)`,i===r||a===n.length-1?o:o+`,`})}function $t(e){let t=Math.floor(e);return{hours:Math.floor(t/3600),minutes:Math.floor(t%3600/60),seconds:t%60}}function en({hours:e,minutes:t,seconds:n}){return e>0?`${e}:${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`:`${t}:${n.toString().padStart(2,`0`)}`}function tn({hours:e,minutes:t,seconds:n}){let r=[];return e>0&&r.push(`${e} hour${e===1?``:`s`}`),t>0&&r.push(`${t} min${t===1?``:`s`}`),e===0&&(r.length===0||n>0)&&r.push(`${n} second${n===1?``:`s`}`),r.join(` `)}function nn(e,t=`verbose`){let n=$t(e);return t===`compact`?en(n):tn(n)}function rn(e){if(!Number.isFinite(e))return String(e);let{hours:t,minutes:n,seconds:r}=$t((Math.floor(e)%86400+86400)%86400),i=e=>e.toString().padStart(2,`0`);return`${i(t)}:${i(n)}:${i(r)}`}function an(e,t=!1){let n=new Date(e*1e3);if(Number.isNaN(n.getTime()))return String(e);let r=n.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`});if(!t)return r;let i=e=>e.toString().padStart(2,`0`),a=i(n.getUTCHours()),o=i(n.getUTCMinutes());return`${r} ${t===`seconds`?`${a}:${o}:${i(n.getUTCSeconds())}`:`${a}:${o}`}`}function on(e){return se(le(e),`yyyy-MM-dd'T'HH:mm:ss`)}function sn(e){return ce(le(e),new Date,{addSuffix:!0})}function cn(e,t){if(!e||!t)return;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!0;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!0;for(let n of r)if(!e[n]||e[n].type!==t[n]?.type)return!0;return!1}function ln(e,t){return e?.organization_name&&e.web_url?`${e.web_url}/organizations/${e.organization_name}/settings`:t}export{L as $,Dt as A,Pe as At,_t as B,ue as Bt,Lt as C,He as Ct,Z as D,Fe as Dt,Ft as E,Re as Et,Ot as F,_e as Ft,H as G,st as H,At as I,me as It,dt as J,ut as K,q as L,he as Lt,Y as M,ye as Mt,X as N,ge as Nt,jt as O,Le as Ot,kt as P,ve as Pt,z as Q,K as R,pe as Rt,Vt as S,D as St,It as T,ze as Tt,ct as U,G as V,de as Vt,lt as W,B as X,W as Y,U as Z,Rt as _,Ve as _t,rn as a,rt as at,$ as b,O as bt,Qt as c,F as ct,Jt as d,Xe as dt,R as et,Wt as f,Je as ft,Ut as g,A as gt,Kt as h,j as ht,an as i,it,Et as j,xe as jt,J as k,Ne as kt,Zt as l,Qe as lt,Gt as m,Ye as mt,cn as n,at as nt,sn as o,nt as ot,qt as p,P as pt,V as q,nn as r,ot as rt,on as s,tt as st,ln as t,I as tt,Xt as u,Ze as ut,Ht as v,k as vt,Bt as w,Be as wt,zt as x,Ue as xt,Q as y,Ge as yt,gt as z,fe as zt};
6
- //# sourceMappingURL=utils-CL-AEd14.js.map
5
+ `)}function Re(e){let t=e===1?`row`:`rows`;if(e<1e3)return`${e} ${t}`;if(e<1e6){let n=e/1e3;return n>=999.95?`1M ${t}`:`${n%1==0?String(n):n.toFixed(1)}k ${t}`}let n=e/1e6;return`${n%1==0?String(n):n.toFixed(1)}M ${t}`}function ze(){let e=new Date;return`${e.getFullYear()}${String(e.getMonth()+1).padStart(2,`0`)}${String(e.getDate()).padStart(2,`0`)}-${String(e.getHours()).padStart(2,`0`)}${String(e.getMinutes()).padStart(2,`0`)}${String(e.getSeconds()).padStart(2,`0`)}`}function Be(e,t){let n=ze(),r=e.replace(/_/g,`-`),i;return t?.node_names&&Array.isArray(t.node_names)&&t.node_names.length===1?i=String(t.node_names[0]):t?.model&&typeof t.model==`string`&&(i=t.model),i?(i=i.replace(/[^a-zA-Z0-9_.-]/g,`-`).toLowerCase(),`${r}-${i}-${n}.csv`):`${r}-result-${n}.csv`}function Ve(e){let{primaryKeys:t,pinnedColumns:n,allColumns:r,excludeColumns:i=[]}=e,a=[],o=new Set,s=e=>i.includes(e);return t.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),n.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),r.forEach(e=>{!o.has(e)&&!s(e)&&(a.push(e),o.add(e))}),a}function He(e,t,n){return!t||!n||e===`added`||e===`removed`||e===`modified`}function D(e,t){return t.includes(e)}function Ue(e,t){return t.includes(e)}function O(e,t){return t.includes(e)}function We(e,t){return e[t]}function k(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,changedOnly:a=!1,rowStats:o,excludeColumns:s=[],strictMode:c=!1}=e,l=(o?.modified??0)>0,u=[];return n.forEach(e=>{let n=We(t,e);if(!n){if(c)throw Error(`Primary key column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:n.colType,columnStatus:n.status,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(D(e,n)||O(e,s))return;let r=We(t,e);if(!r){if(c)throw Error(`Pinned column "${e}" not found in columnMap`);return}u.push({key:e,name:e,columnType:r.colType,columnStatus:r.status,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{D(e,n)||Ue(e,r)||O(e,s)||He(t.status,a,l)&&u.push({key:e,name:e,columnType:t.colType,columnStatus:t.status,columnRenderMode:i[e]})}),u}function Ge(e){let{columnMap:t,primaryKeys:n,pinnedColumns:r,columnsRenderMode:i,excludeColumns:a=[],strictMode:o=!1}=e,s=[];return n.forEach(e=>{let n=t[e];if(!n){if(o)throw Error(`Primary key column "${e}" not found in columnMap`);return}s.push({key:e,name:e,columnType:n.colType,columnRenderMode:i[e],frozen:!0,isPrimaryKey:!0})}),r.forEach(e=>{if(n.includes(e)||a.includes(e))return;let r=t[e];if(!r){if(o)throw Error(`Pinned column "${e}" not found in columnMap`);return}s.push({key:r.key,name:e,columnType:r.colType,columnRenderMode:i[e],frozen:!0})}),Object.entries(t).forEach(([e,t])=>{n.includes(e)||r.includes(e)||a.includes(e)||s.push({key:t.key,name:e,columnType:t.colType,columnRenderMode:i[e]})}),s}function A(e,t){return[{value:`Show raw value`,onClick:()=>{t({[e]:`raw`})}},{value:`Show 2 decimal points`,onClick:()=>{t({[e]:2})}},{value:`Show as percentage`,onClick:()=>{t({[e]:`percent`})}},{value:`Show with net change`,onClick:()=>{t({[e]:`delta`})}}]}function j({value:t,colorPalette:n,grayOut:r,noCopy:i,fontSize:o,onCopy:u}){let[d,f]=a(!1),p=pe();return c(l,{sx:{display:`flex`,p:`2px 5px`,minWidth:`30px`,maxWidth:`200px`,overflow:`hidden`,textOverflow:`ellipsis`,color:p?e[n][300]:e[n][800],bgcolor:p?e[n][900]:e[n][100],alignItems:`center`,gap:`2px`,borderRadius:`8px`,fontSize:o,flexShrink:i?0:`inherit`},onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},children:[s(l,{sx:{overflow:`hidden`,textOverflow:`ellipsis`,color:r?`text.disabled`:`inherit`},children:t}),s(Ke,{value:t,noCopy:i,grayOut:r,isHovered:d,onCopy:u})]})}function Ke({value:e,noCopy:t,grayOut:n,isHovered:r,onCopy:i}){return t||n||!r?null:s(m,{title:`Copy Value`,children:s(f,{"aria-label":`Copy`,size:`small`,onClick:()=>{i?i(e):typeof navigator<`u`&&navigator.clipboard&&navigator.clipboard.writeText(e)},sx:{minWidth:`0.625rem`,height:`0.625rem`,display:`flex`,alignItems:`center`,justifyContent:`center`,p:0,color:`inherit`},children:s(h,{size:`0.625rem`})})})}const qe=t(null);let M=0;function Je({children:e}){let[t,r]=a([]),i=n(e=>{let t=e.id||`toast-${++M}`,n={id:t,open:!0,duration:e.type===`loading`?null:e.duration??5e3,closable:e.closable??!0,...e};return r(e=>[...e.filter(e=>e.id!==t),n]),t},[]),o=n(e=>{r(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{r(t=>t.filter(t=>t.id!==e))},300)},[]),l={toast:i,success:e=>i({...e,type:`success`}),error:e=>i({...e,type:`error`}),warning:e=>i({...e,type:`warning`}),info:e=>i({...e,type:`info`}),loading:e=>i({...e,type:`loading`}),dismiss:o,update:n((e,t)=>{r(n=>n.map(n=>n.id===e?{...n,...t}:n))},[])};return c(qe.Provider,{value:l,children:[e,t.map(e=>s(x,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&o(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(b,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>o(e.id):void 0,icon:e.type===`loading`?s(p,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))]})}function Ye(){let e=r(qe);if(!e)throw Error(`useToaster must be used within ToasterProvider`);return e}const N=new Set,P={create:e=>{let t=e.id||`toast-${++M}`;return N.forEach(n=>n({type:`create`,options:{...e,id:t}})),t},success:e=>P.create({...e,type:`success`}),error:e=>P.create({...e,type:`error`}),warning:e=>P.create({...e,type:`warning`}),info:e=>P.create({...e,type:`info`}),loading:e=>P.create({...e,type:`loading`}),dismiss:e=>{N.forEach(t=>t({type:`dismiss`,id:e}))},remove:e=>{N.forEach(t=>t({type:`dismiss`,id:e}))},update:(e,t)=>{N.forEach(n=>n({type:`update`,id:e,options:t}))},subscribe:e=>(N.add(e),()=>N.delete(e))};function Xe(){let[e,t]=a([]);a(()=>P.subscribe(e=>{if(e.type===`create`&&e.options){let n={id:e.options.id||`toast-${++M}`,open:!0,duration:e.options.type===`loading`?void 0:e.options.duration??5e3,closable:e.options.closable??!0,...e.options};t(e=>[...e.filter(e=>e.id!==n.id),n])}else if(e.type===`dismiss`&&e.id){let n=e.id;t(e=>e.map(e=>e.id===n?{...e,open:!1}:e)),setTimeout(()=>{t(e=>e.filter(e=>e.id!==n))},300)}else e.type===`update`&&e.id&&e.options&&t(t=>t.map(t=>t.id===e.id?{...t,...e.options}:t))}));let n=e=>{t(t=>t.map(t=>t.id===e?{...t,open:!1}:t)),setTimeout(()=>{t(t=>t.filter(t=>t.id!==e))},300)};return s(o,{children:e.map(e=>s(x,{open:e.open,autoHideDuration:e.duration,onClose:()=>e.closable&&n(e.id),anchorOrigin:{vertical:`bottom`,horizontal:`right`},children:s(b,{severity:e.type===`loading`?`info`:e.type||`info`,onClose:e.closable?()=>n(e.id):void 0,icon:e.type===`loading`?s(p,{size:20,color:`inherit`}):void 0,sx:{width:`100%`,minWidth:300},children:c(u,{spacing:.5,children:[e.title&&s(d,{variant:`subtitle2`,sx:{fontWeight:`bold`},children:e.title}),e.description&&s(d,{variant:`body2`,component:`div`,children:e.description})]})})},e.id))})}function Ze(){function e(e){P.create({description:e,type:`info`,duration:5e3,closable:!0})}function t(e,t){P.create({title:e,description:String(t),type:`error`,duration:5e3,closable:!0})}return{successToast:e,failToast:t}}function Qe(e){let[,t]=y(),{successToast:n}=Ze(),r=e=>{t(e),n(`${e} copied`)};return s(j,{...e,onCopy:r})}function $e({name:e,columnStatus:t,columnType:n,primaryKeys:r=[],onPrimaryKeyChange:i,pinnedColumns:u=[],onPinnedColumnsChange:d,onColumnsRenderModeChanged:p}){let[m,h]=a(null),g=!!m,_=e=>{h(e.currentTarget)},v=()=>{h(null)};if(e===`index`)return s(o,{});let y=r.includes(e),b=u.includes(e),x=t!==`added`&&t!==`removed`,S=[];return p&&(S=A(e,p)),c(l,{sx:{display:`flex`,alignItems:`center`,gap:`10px`,width:`100%`},className:`grid-header`,children:[y&&s(ie,{}),s(l,{sx:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),x&&i&&s(l,{component:y?ne:ie,className:y?`close-icon`:`key-icon`,sx:{display:y?`block`:`none`,cursor:`pointer`},onClick:y?()=>{i&&i(r.filter(t=>t!==e))}:()=>{i&&i([...r.filter(e=>e!==`index`),e])}}),!y&&d&&s(l,{component:b?oe:ae,className:b?`unpin-icon`:`pin-icon`,sx:{display:b?`block`:`none`,cursor:`pointer`},onClick:b?()=>{d&&d(u.filter(t=>t!==e))}:()=>{d&&d([...u,e])}}),!y&&n===`number`&&S.length>0&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`!size-4 !min-w-4`,onClick:_,children:s(re,{})}),s(ee,{anchorEl:m,open:g,onClose:v,children:S.map(e=>s(te,{onClick:()=>{e.onClick(),v()},children:e.value},e.value))})]})]})}function et({name:e,pinnedColumns:t=[],onPinnedColumnsChange:n=()=>{},columnType:r,onColumnsRenderModeChanged:i}){let[u,d]=a(null),p=!!u,m=e=>{d(e.currentTarget)},h=()=>{d(null)},_=[];i&&(_=A(e,i));let v=t.includes(e);return c(l,{sx:{display:`flex`,alignItems:`center`,width:`100%`},className:`grid-header`,children:[s(l,{sx:{flex:1},children:e}),s(l,{component:v?oe:ae,className:v?`unpin-icon`:`pin-icon`,sx:{display:v?`block`:`none`,cursor:`pointer`},onClick:v?()=>{n(t.filter(t=>t!==e))}:()=>{n([...t,e])}}),r===`number`&&c(o,{children:[s(f,{"aria-label":`Options`,size:`small`,className:`size-6!`,sx:{p:0},onClick:m,children:s(g,{})}),s(ee,{anchorEl:u,open:p,onClose:h,children:_.map(e=>s(te,{onClick:()=>{e.onClick(),h()},children:e.value},e.value))})]})]})}function F(e,t=`en-US`,n){return typeof e==`number`?new Intl.NumberFormat(t,n).format(e):e}function tt(e){let t=e>0&&e<=.001,n=e<1&&e>=.999,r=(t=e)=>F(t,`en-US`,{style:`percent`,minimumFractionDigits:1});return t?`<${r(.001)}`:n?`>${r(.999)}`:r()}function nt(e){if(typeof e!=`number`)return e;{let t=Math.abs(e),n=10**-2,r=10**3,i=10**6,a=10**9,o=10**12,s=10**15,c=t>=n,l=t>=1,u=t>=r,d=t>=i,f=t>=a,p=t>=o,m=t>=s;if(m||p)return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:m?0:2}).format(e/0xe8d4a51000).replace(`L`,`T`);if(f||d||u){let t={base:f?a:d?i:r,unit:f?`B`:d?`M`:`K`};return new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`liter`,unitDisplay:`narrow`,maximumFractionDigits:1}).format(e/t.base).replace(`L`,t.unit)}else if(l)return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:2}).format(e);else return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:c?3:2,notation:c||t===0?`standard`:`scientific`}).format(e)}}function I(e){return e.data.map((t,n)=>({...e.columns.reduce((e,n,r)=>(e[n.key]=t[r],e),{}),__status:void 0,_index:n+1}))}function rt(e){let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)?t:it(e)}function it(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t)}function at(e,t){let n=t.toLowerCase();if(n in e)return e[n];let r=Object.keys(e).find(e=>e.toLowerCase()===n);return r?e[r]:void 0}function ot(e,t){let n=e[t.toLowerCase()];return n||=e[t.toUpperCase()],n||=e[t],n}function L(e,t){let n=[...e],r=[...t],i=[];for(;n.length>0&&r.length>0;)if(i.includes(n[0]))n.shift();else if(i.includes(r[0]))r.shift();else if(n[0]===r[0])i.push(n[0]),n.shift(),r.shift();else if(r.includes(n[0])){let e=r.indexOf(n[0]);for(let t=0;t<e;t++)i.includes(r[t])||i.push(r[t]);i.push(n[0]),n.shift(),r.splice(0,e+1)}else i.push(n[0]),n.shift();return n.forEach(e=>{i.includes(e)||i.push(e)}),r.forEach(e=>{i.includes(e)||i.push(e)}),i}function R(e,t){let n=L(e,t),r={};for(let i of n)e.includes(i)?t.includes(i)?r[i]=void 0:r[i]=`removed`:r[i]=`added`;let i={};e.forEach((e,t)=>{i[e]=t});let a=-1;for(let e of n){let t=i[e];t!=null&&(t>a?a=t:r[e]=`reordered`)}return r}function st(e){let t={};return e.columns.forEach((e,n)=>{t[e.name]={key:e.key,index:n,colType:e.type}}),t}function ct(e){let t={};if(e.columns.forEach((e,n)=>{t[e.key]={key:e.key,index:n,colType:e.type}}),!t.in_a)throw Error(`Joined DataFrame missing required 'in_a' column`);if(!t.in_b)throw Error(`Joined DataFrame missing required 'in_b' column`);return t}function lt(e,t){let n={},r=R(e.columns.map(e=>e.key),t.columns.map(e=>e.key));return Object.entries(r).forEach(([r,i])=>{let a=e.columns.find(e=>e.key===r),o=t.columns.find(e=>e.key===r);n[r]={status:i,baseColumnKey:a?.key??`unknown`,currentColumnKey:o?.key??`unknown`,colType:a?.type??o?.type??`unknown`,key:a?.key??o?.key??`unknown`}}),n}function z(e,t){let n=[];for(let r of t){let t=e.find(e=>e.key===r);if(!t)throw Error(`Column ${r} not found`);n.push(t.key)}return n}function B(e,t,n){if(t.length===0)return String(n._index);let r=[];for(let i of t){let t=e.find(e=>e.key===i);if(!t)throw Error(`Primary Column ${i} not found`);let a=n[i];r.push(`${t.name}=${a}`)}return r.join(`|`)}function ut(e,t,n,r){if(!e)return`added`;if(!t)return`removed`;let i=e===t;for(let[a,o]of Object.entries(n)){if(a===`index`||r.includes(a))continue;let n,s;if(i){let r=`base__${o.key}`,i=`current__${o.key}`;n=e[r],s=t[i]}else n=e[o.key],s=t[o.key];if(!S.isEqual(n,s))return`modified`}}function V(e,t=2){let n=F(Object.is(e,-0)?0:e,`en-US`,{maximumFractionDigits:t,roundingMode:`halfEven`})??String(e);return n===`-0`?`0`:n}function H(e,t){return Number.isNaN(e)?`NaN`:Number.isFinite(e)?t===`raw`?String(e):typeof t==`number`?V(e,t):t===`percent`?F(e,`en-US`,{style:`percent`,maximumFractionDigits:2})??String(e):V(e,2):e>0?`∞`:`-∞`}function U(e,t,n,r){let i=at(e,t);if(i==null)return[`-`,!0];let a,o=!1;return typeof i==`boolean`?a=i.toString():i===``?(a=`(empty)`,o=!0):a=typeof i==`number`?H(i,r):n===`number`?H(parseFloat(i),r):String(i),[a,o]}function dt(e,t,n,r){let i=e.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${n}`.toLowerCase(),o=`current__${n}`.toLowerCase();if(!S.isEqual(e[a],e[o]))return r?`diff-cell-removed`:`diff-cell-added`}function W(e){if(e===`added`)return`diff-header-added`;if(e===`removed`)return`diff-header-removed`}const ft=e=>{let t=e.colDef,n=t?.context?.columnType,r=t?.context?.columnRenderMode,i=t?.field??``;if(!e.data)return null;let[a,o]=U(e.data,i,n,r);return s(d,{component:`span`,style:{color:o?`gray`:`inherit`},children:a})};function pt(e={}){let t=e.DiffTextComponent??j;return e=>{let n=e.colDef,r=n?.context?.columnType,i=n?.context?.columnRenderMode,a=n?.field??``;if(!e.data)return null;let o=e.data,u=`base__${a}`.toLowerCase(),f=`current__${a}`.toLowerCase();if(!Object.hasOwn(o,u)&&!Object.hasOwn(o,f))return`-`;let p=Object.hasOwn(o,u),h=Object.hasOwn(o,f),[g,_]=U(o,`base__${a}`.toLowerCase(),r,i),[v,y]=U(o,`current__${a}`.toLowerCase(),r,i);if(o[u]===o[f])return s(d,{component:`span`,style:{color:y?`gray`:`inherit`},children:v});if(i===`delta`&&(r===`number`||r===`integer`)&&p&&h){let e=ht(o[u]),n=ht(o[f]);if(Number.isFinite(e)&&Number.isFinite(n)){let r=n-e,i=e===0?0:r/e*100,a=V(n),o=V(r),u=`(${r>=0?`+`:``}${o})`;return s(m,{title:`Base: ${e}\nCurrent: ${n}\nChange: ${r>=0?`+`:``}${r} (${i>=0?`+`:``}${i.toFixed(2)}%)`,slotProps:{tooltip:{sx:{whiteSpace:`pre-line`}}},enterDelay:300,placement:`top`,children:c(l,{sx:{gap:`5px`,display:`flex`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[s(t,{value:a,colorPalette:`green`,grayOut:y}),s(d,{sx:{color:r>=0?`green.600`:`red.600`,fontSize:`0.75rem`},children:u})]})})}}return c(l,{sx:{display:`flex`,gap:`5px`,alignItems:`center`,lineHeight:`normal`,height:`100%`},children:[p&&s(t,{value:g,colorPalette:`red`,grayOut:_}),h&&s(t,{value:v,colorPalette:`green`,grayOut:y})]})}}const mt=pt({DiffTextComponent:Qe});function ht(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return 0}function gt(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!S.isEqual(r[a],r[o]))return`diff-cell-removed`}}function _t(e,t){return n=>{let r=n.data;if(!r)return;let i=r.__status;if(i===`removed`)return`diff-cell-removed`;if(i===`added`)return`diff-cell-added`;if(t===`added`||t===`removed`)return;let a=`base__${e}`.toLowerCase(),o=`current__${e}`.toLowerCase();if(!S.isEqual(r[a],r[o]))return`diff-cell-added`}}function G(e){let{name:t,columnStatus:n,columnType:r,columnRenderMode:i,displayMode:a,baseTitle:o=`Base`,currentTitle:c=`Current`,headerProps:l={},renderComponents:u}=e,{DataFrameColumnGroupHeader:d,defaultRenderCell:f,inlineRenderCell:p}=u,m=W(n),h=()=>s(d,{name:t,columnStatus:n,columnType:r,...l});if(a===`inline`)return{field:t,headerName:t,headerClass:m,headerComponent:h,cellRenderer:p,context:{columnType:r,columnRenderMode:i}};let g=gt(t,n),_=_t(t,n);return{headerName:t,headerClass:m,headerGroupComponent:h,context:{columnType:r,columnRenderMode:i},children:[{field:`base__${t}`,headerName:o,headerClass:m,cellClass:g,cellRenderer:f,context:{columnType:r,columnRenderMode:i}},{field:`current__${t}`,headerName:c,headerClass:m,cellClass:_,cellRenderer:f,context:{columnType:r,columnRenderMode:i}}]}}function vt(){return{field:`_index`,headerName:``,width:50,maxWidth:100,cellClass:`index-column`,resizable:!1,pinned:`left`}}function yt(e,t,n){let{key:r,name:i,columnType:a,columnStatus:o,columnRenderMode:c}=e,{DataFrameColumnGroupHeader:l,defaultRenderCell:u}=n;return{field:r,headerName:i,headerComponent:()=>s(l,{name:i,columnStatus:o??``,columnType:a,...t}),pinned:`left`,cellClass:e=>{if(e.data?.__status)return`diff-header-${e.data.__status}`},cellRenderer:u,context:{columnType:a,columnRenderMode:c}}}function bt(e,t,n,r,i,a){let{name:o,columnType:s,columnStatus:c,columnRenderMode:l}=e;return G({name:o,columnStatus:c??``,columnType:s,columnRenderMode:l,displayMode:t,baseTitle:i,currentTitle:a,headerProps:n,renderComponents:r})}function K(e){let{columns:t,displayMode:n,headerProps:r,baseTitle:i,currentTitle:a,allowIndexFallback:o=!1,renderComponents:s}=e,c=[],l=!1;!t.some(e=>e.isPrimaryKey)&&o&&(c.push(vt()),l=!0);for(let e of t)if(e.isPrimaryKey)c.push(yt(e,r,s));else{let t=bt(e,n,r,s,i,a);c.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:c,usedIndexFallback:l}}function xt(e){return`baseColumnKey`in e&&`currentColumnKey`in e}function St(e,t){return t.includes(e)}function Ct(e){return xt(e)?{baseKey:e.baseColumnKey,currentKey:e.currentColumnKey}:{baseKey:e.key,currentKey:e.key}}function wt(e,t,n,r,i){n.forEach(n=>{let a=n.key;St(a,i)?e[String(a).toLowerCase()]=t[a]:e[`${r}${a}`.toLowerCase()]=t[a]})}function Tt(e,t,n,r){let i=!1;for(let[a,o]of Object.entries(n)){if(a===`index`||St(a,r))continue;let{baseKey:n,currentKey:s}=Ct(o);if(n===`unknown`||s===`unknown`)continue;let c=e[n],l=t[s];S.isEqual(c,l)||(i=!0,o.status=`modified`)}return i}function q(e){let{baseMap:t,currentMap:n,baseColumns:r,currentColumns:i,columnMap:a,primaryKeys:o,changedOnly:s=!1}=e,c=R(Object.keys(t),Object.keys(n)),l={added:0,removed:0,modified:0},u=Object.entries(c).map(([e])=>{let s=t[e],c=n[e],u={_index:rt(e),__status:void 0};return s&&wt(u,s,r,`base__`,o),c&&wt(u,c,i,`current__`,o),s?c?Tt(s,c,a,o)&&(u.__status=`modified`,l.modified++):(u.__status=`removed`,l.removed++):(u.__status=`added`,l.added++),u});return s&&(u=u.filter(e=>e.__status===`added`||e.__status===`removed`||e.__status===`modified`)),{rows:u,rowStats:l}}var J=class extends Error{context;details;constructor(e,t,n){super(t?`[${t}] ${e}`:e),this.context=t,this.details=n,this.name=`DataGridValidationError`}};function Y(e,t=`DataFrame`){if(e!=null){if(typeof e!=`object`)throw new J(`Expected an object, got ${typeof e}`,t);if(!(`columns`in e))throw new J(`Missing 'columns' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.columns))throw new J(`'columns' must be an array, got ${typeof e.columns}`,t);if(!(`data`in e))throw new J(`Missing 'data' property`,t,{receivedKeys:Object.keys(e)});if(!Array.isArray(e.data))throw new J(`'data' must be an array, got ${typeof e.data}`,t);Et(e.columns,t),e.data.length>0&&Dt(e,t)}}function Et(e,t=`DataFrame`){e.forEach((e,n)=>{if(!e||typeof e!=`object`)throw new J(`Column at index ${n} is not an object`,t,{column:e});if(typeof e.key!=`string`||e.key===``)throw new J(`Column at index ${n} has invalid 'key': expected non-empty string, got ${JSON.stringify(e.key)}`,t,{column:e});if(typeof e.name!=`string`)throw new J(`Column '${e.key}' has invalid 'name': expected string, got ${typeof e.name}`,t,{column:e});if(typeof e.type!=`string`)throw new J(`Column '${e.key}' has invalid 'type': expected string, got ${typeof e.type}`,t,{column:e})})}function Dt(e,t=`DataFrame`){let n=e.columns.length;for(let r=0;r<e.data.length;r++){let i=e.data[r];if(!Array.isArray(i))throw new J(`Row at index ${r} is not an array`,t,{row:i,rowType:typeof i});if(i.length!==n)throw new J(`Row ${r} has ${i.length} values but expected ${n} (column count)`,t,{rowIndex:r,rowLength:i.length,columnCount:n,columns:e.columns.map(e=>e.key)})}}function X(e,t,n={}){let{required:r=!1,caseInsensitive:i=!1,context:a=`primaryKeys`}=n;if(r&&(!e||e.length===0))throw new J(`Primary keys are required but none were provided`,a);if(!e||e.length===0)return;let o=t.map(e=>e.key),s=i?o.map(e=>e.toLowerCase()):o;for(let t of e){let e=i?t.toLowerCase():t;if(!(i?s.includes(e):o.includes(t)))throw new J(`Primary key column '${t}' not found in columns`,a,{requestedKey:t,availableColumns:o,caseInsensitive:i})}let c=new Set;for(let t of e){let n=i?t.toLowerCase():t;if(c.has(n))throw new J(`Duplicate primary key: '${t}'`,a,{primaryKeys:e});c.add(n)}}function Ot(e,t){Y(e,`dataframe`),e&&t?.primaryKeys&&X(t.primaryKeys,e.columns,{context:`toDataGrid`})}function kt(e,t,n){if(Y(e,`base`),Y(t,`current`),n?.primaryKeys&&n.primaryKeys.length>0){let r=e?.columns??[],i=t?.columns??[],a=new Set([...r.map(e=>e.key),...i.map(e=>e.key)]);for(let e of n.primaryKeys)if(!a.has(e))throw new J(`Primary key column '${e}' not found in either base or current DataFrame`,`toDataDiffGrid`,{requestedKey:e,baseColumns:r.map(e=>e.key),currentColumns:i.map(e=>e.key)})}}function At(e,t){if(!e)throw new J(`DataFrame is required for value diff`);if(Y(e),!t||t.length===0)throw new J(`Primary keys are required for value diff`);X(t,e.columns,{required:!0,context:`toValueDiffGrid`});let n=e.columns.map(e=>e.key);if(!n.includes(`in_a`))throw new J(`Value diff DataFrame must include lowercase 'in_a' column`);if(!n.includes(`in_b`))throw new J(`Value diff DataFrame must include lowercase 'in_b' column`)}function jt(e,t,n,r){kt(e,t,n);let i=e??{columns:[],data:[]},a=t??{columns:[],data:[]},o=n?.primaryKeys??[],s=n?.pinnedColumns??[],c=n?.changedOnly??!1,l=n?.displayMode??`side_by_side`,u=n?.columnsRenderMode??{},d=I(i),f=I(a),p=lt(i,a),m={},h={},g=!1,_=!1;if(o.length===0)d.forEach(e=>{m[String(e._index)]=e}),f.forEach(e=>{h[String(e._index)]=e});else{let e=z(i.columns,o);d.forEach(t=>{let n=B(i.columns,e,t);n in m&&(g=!0),m[n]=t});let t=z(a.columns,o);f.forEach(e=>{let n=B(a.columns,t,e);n in h&&(_=!0),h[n]=e})}let{rows:v,rowStats:y}=q({baseMap:m,currentMap:h,baseColumns:i.columns,currentColumns:a.columns,columnMap:p,primaryKeys:o,changedOnly:c}),{columns:b}=K({columns:k({columnMap:p,primaryKeys:o,pinnedColumns:s,columnsRenderMode:u,changedOnly:c,rowStats:y,excludeColumns:[`index`],strictMode:!1}),displayMode:l,allowIndexFallback:!0,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:o,pinnedColumns:s,onPrimaryKeyChange:n?.onPrimaryKeyChange,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:b,rows:v,invalidPKeyBase:g,invalidPKeyCurrent:_}}function Mt(){return{field:`_index`,headerName:``,width:50,cellClass:`index-column`,resizable:!1,pinned:`left`}}function Nt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnGroupHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnStatus:``,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),pinned:`left`,cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Pt(e,t,n){let{key:r,name:i,columnType:a,columnRenderMode:o}=e,{DataFrameColumnHeader:c,defaultRenderCell:l}=n;return{field:r,headerName:i,headerComponent:()=>s(c,{name:i,columnType:a,pinnedColumns:t.pinnedColumns,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged}),cellRenderer:l,context:{columnType:a,columnRenderMode:o}}}function Z(e){let{columns:t,headerProps:n,allowIndexFallback:r=!0,renderComponents:i}=e,a=[],o=!1;!t.some(e=>e.isPrimaryKey)&&r&&(a.push(Mt()),o=!0);for(let e of t)if(e.isPrimaryKey)a.push(Nt(e,n,i));else{let t=Pt(e,n,i);a.push({...t,pinned:e.frozen?`left`:void 0})}return{columns:a,usedIndexFallback:o}}function Ft(e,t,n){Ot(e,t);let r=t.primaryKeys??[],i=t.pinnedColumns??[],a=t.columnsRenderMode??{},{columns:o}=Z({columns:Ge({columnMap:st(e),primaryKeys:r,pinnedColumns:i,columnsRenderMode:a}),headerProps:{pinnedColumns:i,onPinnedColumnsChange:t.onPinnedColumnsChange,onColumnsRenderModeChanged:t.onColumnsRenderModeChanged},allowIndexFallback:!0,renderComponents:n.renderComponents});return{columns:o,rows:I(e)}}function It(e,t,n,r){At(e,t);let i=n?.pinnedColumns??[],a=n?.changedOnly??!1,o=n?.displayMode??`inline`,s=n?.columnsRenderMode??{},c=I(e),l=ct(e),u={},d={},f=z(e.columns,t),p=l.in_a.key,m=l.in_b.key;c.forEach(t=>{let n=B(e.columns,f,t);t[p]&&(u[n.toLowerCase()]=t),t[m]&&(d[n.toLowerCase()]=t)});let{rows:h,rowStats:g}=q({baseMap:u,currentMap:d,baseColumns:e.columns,currentColumns:e.columns,columnMap:l,primaryKeys:t,changedOnly:a}),{columns:_}=K({columns:k({columnMap:l,primaryKeys:t,pinnedColumns:i,columnsRenderMode:s,changedOnly:a,rowStats:g,excludeColumns:[`in_a`,`in_b`],strictMode:!0}),displayMode:o,allowIndexFallback:!1,baseTitle:n?.baseTitle,currentTitle:n?.currentTitle,headerProps:{primaryKeys:t,pinnedColumns:i,onPinnedColumnsChange:n?.onPinnedColumnsChange,onColumnsRenderModeChanged:n?.onColumnsRenderModeChanged},renderComponents:r?.renderComponents??{DataFrameColumnGroupHeader:()=>null,defaultRenderCell:()=>null,inlineRenderCell:()=>null}});return{columns:_,rows:h}}const Q={DataFrameColumnGroupHeader:$e,defaultRenderCell:ft,inlineRenderCell:mt},$={DataFrameColumnGroupHeader:$e,DataFrameColumnHeader:et,defaultRenderCell:ft};function Lt(e){return G({...e,renderComponents:Q})}function Rt(e){return K({...e,renderComponents:Q})}function zt(e,t,n){return jt(e,t,n,{renderComponents:Q})}function Bt(e,t,n){return It(e,t,n,{renderComponents:Q})}function Vt(e,t){return Ft(e,t,{renderComponents:$})}function Ht(e){return Z({...e,renderComponents:$})}function Ut(e,t){if(e===0&&t!==0)return`N/A`;if(e<t){let n=(t-e)/e*100;return`+${n>=.1?n.toFixed(1):` <0.1 `}%`}else if(e>t){let n=(e-t)/e*100;return`-${n>=.1?n.toFixed(1):` <0.1 `}%`}else return`0`}function Wt(e,t){return e!==null&&t!==null?e===t?`0`:Ut(e,t):e===t?`N/A`:e===null?`Added`:t===null?`Removed`:`N/A`}function Gt(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`base`,name:`Base Rows`,type:`number`},{key:`current`,name:`Current Rows`,type:`number`},{key:`delta`,name:`Delta`,type:`text`}],data:Object.entries(e).map(([e,t])=>{let n=typeof t.base==`number`?t.base:null,r=typeof t.curr==`number`?t.curr:null;return[e,n,r,Wt(n,r)]})}}function Kt(e){return{columns:[{key:`name`,name:`Name`,type:`text`},{key:`current`,name:`Row Count`,type:`number`}],data:Object.entries(e).map(([e,t])=>[e,typeof t.curr==`number`?t.curr:null])}}function qt(e,t){if(e===null&&t!==null)return`added`;if(e!==null&&t===null)return`removed`;if(e!==null&&t!==null&&e!==t)return`modified`}function Jt(e){return{columns:[{field:`name`,headerName:`Name`,resizable:!0},{field:`current`,headerName:`Row Count`,resizable:!0}],rows:I(Kt(e)).map(e=>({...e,current:e.current??`N/A`,__status:void 0}))}}function Yt(){return e=>{let t=e.data;if(!t)return;let n=t.base,r=t.current,i=n===`N/A`?null:n,a=r===`N/A`?null:r;if(i!==a){if(i===null||typeof i==`number`&&typeof a==`number`&&i<a)return`diff-cell-added`;if(a===null||typeof i==`number`&&typeof a==`number`&&i>a)return`diff-cell-removed`}}}function Xt(e){let t=I(Gt(e)).map(e=>{let t=e.base,n=e.current;return{...e,base:t??`N/A`,current:n??`N/A`,__status:qt(typeof t==`number`?t:null,typeof n==`number`?n:null)}}),n=Yt();return{columns:[{field:`name`,headerName:`Name`,resizable:!0,cellClass:n},{field:`base`,headerName:`Base Rows`,resizable:!0,cellClass:n},{field:`current`,headerName:`Current Rows`,resizable:!0,cellClass:n},{field:`delta`,headerName:`Delta`,resizable:!0,cellClass:n}],rows:t}}function Zt(e){let t=new Set,n=new Set;if(e?.nodes){let r=Object.values(e.nodes);for(let e of r){let r=e.data.baseSchema??e.data.schema;r&&e.data.changeStatus!==`added`&&t.add(r),e.data.schema&&e.data.changeStatus!==`removed`&&n.add(e.data.schema)}}return[t,n]}function Qt(e,t){let n=L(e,t);if(n.length===0)return[];if(e.length===0||t.length===0)return n.map((e,t)=>t===n.length-1?e:e+`,`);let r=``;return n.forEach(n=>{e.includes(n)&&t.includes(n)&&(r=n)}),n.map((i,a)=>{let o;return o=e.includes(i)?t.includes(i)?i:`--- ${i} (Removed)`:`--- ${i} (Added)`,i===r||a===n.length-1?o:o+`,`})}function $t(e){let t=Math.floor(e);return{hours:Math.floor(t/3600),minutes:Math.floor(t%3600/60),seconds:t%60}}function en({hours:e,minutes:t,seconds:n}){return e>0?`${e}:${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}`:`${t}:${n.toString().padStart(2,`0`)}`}function tn({hours:e,minutes:t,seconds:n}){let r=[];return e>0&&r.push(`${e} hour${e===1?``:`s`}`),t>0&&r.push(`${t} min${t===1?``:`s`}`),e===0&&(r.length===0||n>0)&&r.push(`${n} second${n===1?``:`s`}`),r.join(` `)}function nn(e,t=`verbose`){let n=$t(e);return t===`compact`?en(n):tn(n)}function rn(e){if(!Number.isFinite(e))return String(e);let{hours:t,minutes:n,seconds:r}=$t((Math.floor(e)%86400+86400)%86400),i=e=>e.toString().padStart(2,`0`);return`${i(t)}:${i(n)}:${i(r)}`}function an(e,t=!1){let n=new Date(e*1e3);if(Number.isNaN(n.getTime()))return String(e);let r=n.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`,timeZone:`UTC`});if(!t)return r;let i=e=>e.toString().padStart(2,`0`),a=i(n.getUTCHours()),o=i(n.getUTCMinutes());return`${r} ${t===`seconds`?`${a}:${o}:${i(n.getUTCSeconds())}`:`${a}:${o}`}`}function on(e){return se(le(e),`yyyy-MM-dd'T'HH:mm:ss`)}function sn(e){return ce(le(e),new Date,{addSuffix:!0})}function cn(e,t){if(!e||!t)return;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!0;for(let e=0;e<n.length;e++)if(n[e]!==r[e])return!0;for(let n of r)if(!e[n]||e[n].type!==t[n]?.type)return!0;return!1}function ln(e,t){return e?.organization_name&&e.web_url?`${e.web_url}/organizations/${e.organization_name}/settings`:t}export{L as $,Dt as A,Pe as At,_t as B,ue as Bt,Lt as C,He as Ct,Z as D,Fe as Dt,Ft as E,Re as Et,Ot as F,_e as Ft,H as G,st as H,At as I,me as It,dt as J,ut as K,q as L,he as Lt,Y as M,ye as Mt,X as N,ge as Nt,jt as O,Le as Ot,kt as P,ve as Pt,z as Q,K as R,pe as Rt,Vt as S,D as St,It as T,ze as Tt,ct as U,G as V,de as Vt,lt as W,B as X,W as Y,U as Z,Rt as _,Ve as _t,rn as a,rt as at,$ as b,O as bt,Qt as c,F as ct,Jt as d,Xe as dt,R as et,Wt as f,Je as ft,Ut as g,A as gt,Kt as h,j as ht,an as i,it,Et as j,xe as jt,J as k,Ne as kt,Zt as l,Qe as lt,Gt as m,Ye as mt,cn as n,at as nt,sn as o,nt as ot,qt as p,P as pt,V as q,nn as r,ot as rt,on as s,tt as st,ln as t,I as tt,Xt as u,Ze as ut,Ht as v,k as vt,Bt as w,Be as wt,zt as x,Ue as xt,Q as y,Ge as yt,gt as z,fe as zt};
6
+ //# sourceMappingURL=utils-BtK9KoQL.js.map