@datarecce/ui 1.35.0 → 1.35.1

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 (129) hide show
  1. package/dist/AuthModal-BKt2rzcW.js +23 -0
  2. package/dist/AuthModal-BKt2rzcW.js.map +1 -0
  3. package/dist/{ResultErrorFallback-BaNIiz22.js → ResultErrorFallback-Bwq1j3pu.js} +1 -1
  4. package/dist/{ResultErrorFallback-BaNIiz22.js.map → ResultErrorFallback-Bwq1j3pu.js.map} +1 -1
  5. package/dist/{RouteConfigContext-nb4GQL4p.d.ts → RouteConfigContext-CPM6M6Q3.d.ts} +4 -4
  6. package/dist/{RouteConfigContext-nb4GQL4p.d.ts.map → RouteConfigContext-CPM6M6Q3.d.ts.map} +1 -1
  7. package/dist/{RunProgress-DeALaWs4.d.ts → RunProgress-BnkCSNvv.d.ts} +2 -2
  8. package/dist/{RunProgress-DeALaWs4.d.ts.map → RunProgress-BnkCSNvv.d.ts.map} +1 -1
  9. package/dist/{ScreenshotDataGrid-_0OXk0uO.d.ts → ScreenshotDataGrid-BaBsp-r1.d.ts} +3 -3
  10. package/dist/{ScreenshotDataGrid-_0OXk0uO.d.ts.map → ScreenshotDataGrid-BaBsp-r1.d.ts.map} +1 -1
  11. package/dist/{SplitPane-BW_0Lmst.d.ts → SplitPane-Bc3gL6c2.d.ts} +217 -32
  12. package/dist/SplitPane-Bc3gL6c2.d.ts.map +1 -0
  13. package/dist/advanced.d.ts +20 -9
  14. package/dist/advanced.d.ts.map +1 -1
  15. package/dist/advanced.js +1 -1
  16. package/dist/advanced.js.map +1 -1
  17. package/dist/{api-BeQy3HaS.d.ts → api-CHRBUwIf.d.ts} +2 -2
  18. package/dist/{api-BeQy3HaS.d.ts.map → api-CHRBUwIf.d.ts.map} +1 -1
  19. package/dist/{api-_i6BZPkM.js → api-CVxyKUGP.js} +2 -2
  20. package/dist/{api-_i6BZPkM.js.map → api-CVxyKUGP.js.map} +1 -1
  21. package/dist/api.d.ts +2 -2
  22. package/dist/api.js +1 -1
  23. package/dist/{colors-D6QQQjX4.js → colors-C4PP3M6b.js} +1 -1
  24. package/dist/{colors-D6QQQjX4.js.map → colors-C4PP3M6b.js.map} +1 -1
  25. package/dist/components-run.d.ts +6 -6
  26. package/dist/components-run.js +1 -1
  27. package/dist/components.d.ts +19 -21
  28. package/dist/components.js +1 -1
  29. package/dist/{const-BEzXEkdk.js → const-B0roUYcb.js} +1 -1
  30. package/dist/{const-BEzXEkdk.js.map → const-B0roUYcb.js.map} +1 -1
  31. package/dist/{constants-Cm-GaLU6.js → constants-BClsB-_D.js} +1 -1
  32. package/dist/{constants-Cm-GaLU6.js.map → constants-BClsB-_D.js.map} +1 -1
  33. package/dist/constants.d.ts +1 -1
  34. package/dist/constants.js +1 -1
  35. package/dist/contexts.d.ts +5 -5
  36. package/dist/contexts.js +1 -1
  37. package/dist/hooks.d.ts +13 -14
  38. package/dist/hooks.js +1 -1
  39. package/dist/{index-CARlgCqb.d.ts → index-B8yz6WXO.d.ts} +12 -12
  40. package/dist/{index-CARlgCqb.d.ts.map → index-B8yz6WXO.d.ts.map} +1 -1
  41. package/dist/{index-DSClFMFZ.d.ts → index-BhZ3YBnN.d.ts} +45 -9
  42. package/dist/index-BhZ3YBnN.d.ts.map +1 -0
  43. package/dist/{index-mB8jN_Bj.d.ts → index-ByLLTKEj.d.ts} +9 -8
  44. package/dist/index-ByLLTKEj.d.ts.map +1 -0
  45. package/dist/{index-C1JqJ_i1.d.ts → index-D4ZhCe7P.d.ts} +144 -144
  46. package/dist/index-D4ZhCe7P.d.ts.map +1 -0
  47. package/dist/{index-k65wai5N.d.ts → index-Df7yatq6.d.ts} +3 -3
  48. package/dist/{index-k65wai5N.d.ts.map → index-Df7yatq6.d.ts.map} +1 -1
  49. package/dist/{index-fHnFXjoz.d.ts → index-Dh9ISiWl.d.ts} +6 -6
  50. package/dist/{index-fHnFXjoz.d.ts.map → index-Dh9ISiWl.d.ts.map} +1 -1
  51. package/dist/{index-CH2KmtSA.d.ts → index-LvDqiNsi.d.ts} +1 -1
  52. package/dist/index-LvDqiNsi.d.ts.map +1 -0
  53. package/dist/{colors-Ci7Xp7LQ.d.ts → index-OLba92wa.d.ts} +129 -2
  54. package/dist/index-OLba92wa.d.ts.map +1 -0
  55. package/dist/{index-DCFLPx6S.d.ts → index-TrKTkpVy.d.ts} +4 -4
  56. package/dist/{index-DCFLPx6S.d.ts.map → index-TrKTkpVy.d.ts.map} +1 -1
  57. package/dist/index.d.ts +20 -23
  58. package/dist/index.js +1 -1
  59. package/dist/{flag-s0MNBVcQ.d.ts → instanceInfo-D9Pe6gIo.d.ts} +19 -19
  60. package/dist/instanceInfo-D9Pe6gIo.d.ts.map +1 -0
  61. package/dist/{keepAlive-CEzyrDfg.js → keepAlive-DHpmpKwK.js} +2 -2
  62. package/dist/keepAlive-DHpmpKwK.js.map +1 -0
  63. package/dist/lib/api/track.js +1 -1
  64. package/dist/lib/api/user.js +1 -1
  65. package/dist/lib/const.js +1 -1
  66. package/dist/lib/result/ResultErrorFallback.js +1 -1
  67. package/dist/{index-DOAZG2TB.d.ts → lineage-Dlb1kxeC.d.ts} +148 -103
  68. package/dist/lineage-Dlb1kxeC.d.ts.map +1 -0
  69. package/dist/{primitives-CUgk9o0R.d.ts → primitives-BleKrM0d.d.ts} +27 -27
  70. package/dist/{primitives-CUgk9o0R.d.ts.map → primitives-BleKrM0d.d.ts.map} +1 -1
  71. package/dist/primitives.d.ts +9 -10
  72. package/dist/primitives.js +1 -1
  73. package/dist/result.d.ts +2 -2
  74. package/dist/result.js +1 -1
  75. package/dist/src-CEozlKTg.js +67 -0
  76. package/dist/src-CEozlKTg.js.map +1 -0
  77. package/dist/{theme-7oDjt2Ob.js → theme-DXid0SHa.js} +2 -2
  78. package/dist/{theme-7oDjt2Ob.js.map → theme-DXid0SHa.js.map} +1 -1
  79. package/dist/theme.d.ts +1 -2
  80. package/dist/theme.js +1 -1
  81. package/dist/{track-Bh1oUc4K.js → track-DV9xFZGy.js} +1 -1
  82. package/dist/{track-Bh1oUc4K.js.map → track-DV9xFZGy.js.map} +1 -1
  83. package/dist/{types-DtbGtILc.d.ts → types-BfldLa8_.d.ts} +3 -3
  84. package/dist/{types-DtbGtILc.d.ts.map → types-BfldLa8_.d.ts.map} +1 -1
  85. package/dist/{types-BtXBu8r6.d.ts → types-O5C1mYdz.d.ts} +2 -2
  86. package/dist/{types-BtXBu8r6.d.ts.map → types-O5C1mYdz.d.ts.map} +1 -1
  87. package/dist/types.d.ts +10 -13
  88. package/dist/{useThemeColors-D5cl0qVS.d.ts → useThemeColors-DG_7-mWH.d.ts} +1 -1
  89. package/dist/{useThemeColors-D5cl0qVS.d.ts.map → useThemeColors-DG_7-mWH.d.ts.map} +1 -1
  90. package/dist/{user-Bhq2W6Wv.js → user-CYVsmhqS.js} +1 -1
  91. package/dist/{user-Bhq2W6Wv.js.map → user-CYVsmhqS.js.map} +1 -1
  92. package/dist/utils-Bwpgu6nv.js +3 -0
  93. package/dist/utils-Bwpgu6nv.js.map +1 -0
  94. package/dist/utils-DjxzJ8eH.js +5 -0
  95. package/dist/utils-DjxzJ8eH.js.map +1 -0
  96. package/dist/utils.d.ts +5 -5
  97. package/dist/utils.js +1 -1
  98. package/package.json +1 -1
  99. package/dist/AuthModal-BQwv7JWv.js +0 -23
  100. package/dist/AuthModal-BQwv7JWv.js.map +0 -1
  101. package/dist/LineageCanvas-ChaGa1FL.d.ts +0 -41
  102. package/dist/LineageCanvas-ChaGa1FL.d.ts.map +0 -1
  103. package/dist/SplitPane-BW_0Lmst.d.ts.map +0 -1
  104. package/dist/colors-Ci7Xp7LQ.d.ts.map +0 -1
  105. package/dist/flag-koeDAqr3.js +0 -3
  106. package/dist/flag-koeDAqr3.js.map +0 -1
  107. package/dist/flag-s0MNBVcQ.d.ts.map +0 -1
  108. package/dist/index-C1JqJ_i1.d.ts.map +0 -1
  109. package/dist/index-CH2KmtSA.d.ts.map +0 -1
  110. package/dist/index-D1V96oC2.d.ts +0 -130
  111. package/dist/index-D1V96oC2.d.ts.map +0 -1
  112. package/dist/index-DOAZG2TB.d.ts.map +0 -1
  113. package/dist/index-DSClFMFZ.d.ts.map +0 -1
  114. package/dist/index-DaKVp8yA.d.ts +0 -192
  115. package/dist/index-DaKVp8yA.d.ts.map +0 -1
  116. package/dist/index-mB8jN_Bj.d.ts.map +0 -1
  117. package/dist/keepAlive-CEzyrDfg.js.map +0 -1
  118. package/dist/src-BxTmufnC.js +0 -67
  119. package/dist/src-BxTmufnC.js.map +0 -1
  120. package/dist/useIsDark-CH3bsKYg.js +0 -3
  121. package/dist/useIsDark-CH3bsKYg.js.map +0 -1
  122. package/dist/useRecceServerFlag-Bg5R67J4.js +0 -3
  123. package/dist/useRecceServerFlag-Bg5R67J4.js.map +0 -1
  124. package/dist/useThemeColors-D8X-rgl4.js +0 -3
  125. package/dist/useThemeColors-D8X-rgl4.js.map +0 -1
  126. package/dist/utils-CW2skXm_.js +0 -3
  127. package/dist/utils-CW2skXm_.js.map +0 -1
  128. package/dist/utils-DqeUibB3.js +0 -5
  129. package/dist/utils-DqeUibB3.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-BeQy3HaS.d.ts","names":[],"sources":["../src/api/cacheKeys.ts","../src/api/checkEvents.ts","../src/api/keepAlive.ts","../src/api/models.ts","../src/api/schemacheck.ts","../src/api/select.ts","../src/api/state.ts","../src/api/storageKeys.ts","../src/api/version.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"api-CHRBUwIf.d.ts","names":[],"sources":["../src/api/cacheKeys.ts","../src/api/checkEvents.ts","../src/api/keepAlive.ts","../src/api/models.ts","../src/api/schemacheck.ts","../src/api/select.ts","../src/api/state.ts","../src/api/storageKeys.ts","../src/api/version.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{l as e,u as t}from"./keepAlive-CEzyrDfg.js";import{useQuery as n}from"@tanstack/react-query";import r,{isAxiosError as i}from"axios";import{useEffect as a,useState as o}from"react";function s(e){return e.type===`simple`}function c(e){return e.type===`sandbox`}function l(e){return e.type===`query`}function u(e){return e.type===`query_base`}function d(e){return e.type===`query_diff`}function ee(e){return e.type===`value_diff`}function te(e){return e.type===`value_diff_detail`}function ne(e){return e.type===`schema_diff`}function re(e){return e.type===`profile`}function ie(e){return e.type===`profile_diff`}function ae(e){return e.type===`row_count`}function f(e){return e.type===`row_count_diff`}function p(e){return e.type===`lineage_diff`}function m(e){return e.type===`top_k_diff`}function h(e){return e.type===`histogram_diff`}const g=[`simple`,`sandbox`,`query`,`query_base`,`query_diff`,`value_diff`,`value_diff_detail`,`schema_diff`,`profile`,`profile_diff`,`row_count`,`row_count_diff`,`lineage_diff`,`top_k_diff`,`histogram_diff`];function _(e){return g.includes(e)}const v=[`query`,`query_base`,`query_diff`,`row_count`,`row_count_diff`,`profile`,`profile_diff`,`value_diff`,`value_diff_detail`,`top_k_diff`,`histogram_diff`];function y(e){return v.includes(e)}async function b(e,t,n,r){let i=n?.trackProps?{...n.trackProps}:{};return(await r.post(`/api/runs`,{type:e,params:t,nowait:n?.nowait,track_props:i})).data}async function x(e,t){return(await t.get(`/api/runs/${e}`)).data}async function S(e,t,n){return O((await n.get(`/api/runs/${e}/wait`,{params:{timeout:t}})).data)}async function C(e,t){await t.post(`/api/runs/${e}/cancel`)}async function w(e,t,n){return(await n.post(`/api/checks/${e}/run`,{nowait:t?.nowait})).data}async function T(e,t,n,r){return(await r.post(`/api/runs/search`,{type:e,params:t,limit:n})).data}async function E(e){return(await e.get(`/api/runs`)).data}async function D(e){return(await e.post(`/api/runs/aggregate`,{})).data}function O(e){if(e.result==null)return e;if(l(e)&&e.result){let t=e.result;t.columns&&=t.columns.map(e=>e.key?e:{...e,key:e.name})}return e}async function k(e,t,n){return await b(`query`,e,t,n)}async function A(e,t,n){return await b(`query_base`,e,t,n)}async function j(e,t,n){return await b(`query_diff`,e,t,n)}async function M(e,t){return(await t.get(`/api/checks/${e}/events`)).data}async function N(e,t,n){return(await n.get(`/api/checks/${e}/events/${t}`)).data}async function P(e,t,n){return(await n.post(`/api/checks/${e}/events`,{content:t})).data}async function F(e,t,n,r){return(await r.patch(`/api/checks/${e}/events/${t}`,{content:n})).data}async function I(e,t,n){await n.delete(`/api/checks/${e}/events/${t}`)}function L(e){return e.event_type===`comment`}function R(e){return e.event_type===`approval_change`||e.event_type===`description_change`||e.event_type===`name_change`}function z(e){return e.event_type===`check_created`||e.event_type===`preset_applied`}function B(e){let t=e.actor.fullname||e.actor.login||`Someone`;switch(e.event_type){case`check_created`:return`${t} created this check`;case`comment`:return e.is_deleted?`Comment deleted`:e.content||``;case`approval_change`:return e.new_value===`true`?`${t} approved this check`:`${t} unapproved this check`;case`description_change`:return`${t} updated the description`;case`name_change`:return`${t} renamed this check`;case`preset_applied`:return`${t} applied a preset`;default:return`${t} made a change`}}function V(e){switch(e.event_type){case`check_created`:return`create`;case`comment`:return`comment`;case`approval_change`:return e.new_value===`true`?`approve`:`unapprove`;case`description_change`:case`name_change`:return`edit`;case`preset_applied`:return`preset`;default:return`edit`}}const H=r.create();async function U(e){return(await e.post(`/api/checks`,{type:`simple`})).data}async function W(e,t,n){return(await n.post(`/api/checks`,{run_id:e,view_options:t})).data}async function G(e){return(await e.get(`/api/checks`)).data}async function K(e,t){return(await t.get(`/api/checks/${e}`)).data}async function q(e,t,n){return(await n.patch(`/api/checks/${e}`,t)).data}async function oe(e,t){return(await t.delete(`/api/checks/${e}`)).data}async function se(e,t){await t.post(`/api/checks/reorder`,e)}async function ce(e,t){await t.post(`/api/checks/${e}/mark-as-preset`)}function le(r){let i=e()?.apiClient??H;return n({queryKey:t.checks(),queryFn:()=>G(i),enabled:r})}async function ue(e,t){return(await t.post(`/api/cll`,e)).data}async function de(e){return(await e.get(`/api/info`)).data}async function fe(e,t){return(await t.get(`/api/model/${e}`)).data}async function pe(e,t){return(await t.post(`/api/checks`,{type:`lineage_diff`,params:{},view_options:e})).data}async function J(e,t,n){return await b(`row_count_diff`,e,t,n)}async function me(e,t){return(await t.get(`/api/models/${e}/row_count`)).data}async function he(e,t){let{result:n}=await Y([e],t);return n[e]}async function Y(e,t){if(e.length===0)throw Error(`No model names provided`);let{run_id:n}=await J({node_names:e},{nowait:!0},t);return{runId:n,result:(await S(n,void 0,t)).result}}async function ge(e,t,n){return await b(`profile_diff`,e,t,n)}async function _e(e,t){return(await t.post(`/api/checks`,{type:`schema_diff`,params:e})).data}async function ve(e,t){return(await t.post(`/api/select`,e)).data}async function ye(e,t){return(await t.post(`/api/save-as`,e)).data}async function be(e,t){return(await t.post(`/api/rename`,e)).data}async function xe(e){return(await e.post(`/api/export`)).data}async function Se(e,t,n){let r=new FormData;return r.append(`file`,e),r.append(`checks_only`,(!!t).toString()),(await n.post(`/api/import`,r)).data}async function Ce(e){return(await e.get(`/api/sync`)).status===208}async function X(e,t){try{let n=await t.post(`/api/sync`,e);if(n.status===202)return{status:`accepted`};if(n.status===208)return{status:`syncing`}}catch(e){if(i(e)&&e.response?.status===409)return{status:`conflict`}}throw Error(`Failed to sync state`)}async function we(e){return(await e.post(`/api/share`)).data}const Z=`recce-`,Te={bypassSaveOverwrite:`${Z}-bypass-save-overwrite`,previewChangeFeedbackID:`${Z}-preview-change-feedback`,prepareEnvGuideID:`${Z}-prepare-env`},Q=`recce`,Ee={recommendationIgnored:`${Q}-recommendation-ignored`,recommendationShowed:`${Q}-recommendation-showed`,prevRefreshTimeStamp:`${Q}-prev-refresh-timestamp`,lineageNotificationDismissed:`${Q}-lineage-notification-dismissed`};async function De(e,t,n){return await b(`value_diff`,e,t,n)}async function Oe(e,t,n){return await b(`value_diff_detail`,e,t,n)}const ke=r.create();async function $(e){return(await e.get(`/api/version`)).data}function Ae(){let[t,n]=o(``),[r,i]=o(``),s=e()?.apiClient??ke;return a(()=>{async function e(){try{let{version:e,latestVersion:t}=await $(s);n(e),i(t)}catch(e){console.error(`Error fetching version number:`,e)}}e()},[s]),{version:t,latestVersion:r}}export{w as $,ce as A,R as B,de as C,oe as D,U as E,I as F,A as G,M as H,N as I,C as J,j as K,B as L,q as M,le as N,K as O,P,b as Q,V as R,fe as S,W as T,F as U,z as V,k as W,E as X,x as Y,T as Z,me as _,ee as _t,Te as a,re as at,J as b,Se as c,l as ct,ye as d,c as dt,S as et,we as f,ne as ft,ge as g,te as gt,_e as h,_ as ht,Oe as i,ie as it,se as j,G as k,Ce as l,f as lt,ve as m,m as mt,Ae as n,h as nt,Ee as o,u as ot,X as p,s as pt,D as q,De as r,p as rt,xe as s,d as st,$ as t,g as tt,be as u,ae as ut,he as v,y as vt,ue as w,pe as x,Y as y,L as z};
3
- //# sourceMappingURL=api-_i6BZPkM.js.map
2
+ import{d as e,f as t}from"./keepAlive-DHpmpKwK.js";import{useQuery as n}from"@tanstack/react-query";import r,{isAxiosError as i}from"axios";import{useEffect as a,useState as o}from"react";function s(e){return e.type===`simple`}function c(e){return e.type===`sandbox`}function l(e){return e.type===`query`}function u(e){return e.type===`query_base`}function d(e){return e.type===`query_diff`}function ee(e){return e.type===`value_diff`}function te(e){return e.type===`value_diff_detail`}function ne(e){return e.type===`schema_diff`}function re(e){return e.type===`profile`}function ie(e){return e.type===`profile_diff`}function ae(e){return e.type===`row_count`}function f(e){return e.type===`row_count_diff`}function p(e){return e.type===`lineage_diff`}function m(e){return e.type===`top_k_diff`}function h(e){return e.type===`histogram_diff`}const g=[`simple`,`sandbox`,`query`,`query_base`,`query_diff`,`value_diff`,`value_diff_detail`,`schema_diff`,`profile`,`profile_diff`,`row_count`,`row_count_diff`,`lineage_diff`,`top_k_diff`,`histogram_diff`];function _(e){return g.includes(e)}const v=[`query`,`query_base`,`query_diff`,`row_count`,`row_count_diff`,`profile`,`profile_diff`,`value_diff`,`value_diff_detail`,`top_k_diff`,`histogram_diff`];function y(e){return v.includes(e)}async function b(e,t,n,r){let i=n?.trackProps?{...n.trackProps}:{};return(await r.post(`/api/runs`,{type:e,params:t,nowait:n?.nowait,track_props:i})).data}async function x(e,t){return(await t.get(`/api/runs/${e}`)).data}async function S(e,t,n){return O((await n.get(`/api/runs/${e}/wait`,{params:{timeout:t}})).data)}async function C(e,t){await t.post(`/api/runs/${e}/cancel`)}async function w(e,t,n){return(await n.post(`/api/checks/${e}/run`,{nowait:t?.nowait})).data}async function T(e,t,n,r){return(await r.post(`/api/runs/search`,{type:e,params:t,limit:n})).data}async function E(e){return(await e.get(`/api/runs`)).data}async function D(e){return(await e.post(`/api/runs/aggregate`,{})).data}function O(e){if(e.result==null)return e;if(l(e)&&e.result){let t=e.result;t.columns&&=t.columns.map(e=>e.key?e:{...e,key:e.name})}return e}async function k(e,t,n){return await b(`query`,e,t,n)}async function A(e,t,n){return await b(`query_base`,e,t,n)}async function j(e,t,n){return await b(`query_diff`,e,t,n)}async function M(e,t){return(await t.get(`/api/checks/${e}/events`)).data}async function N(e,t,n){return(await n.get(`/api/checks/${e}/events/${t}`)).data}async function P(e,t,n){return(await n.post(`/api/checks/${e}/events`,{content:t})).data}async function F(e,t,n,r){return(await r.patch(`/api/checks/${e}/events/${t}`,{content:n})).data}async function I(e,t,n){await n.delete(`/api/checks/${e}/events/${t}`)}function L(e){return e.event_type===`comment`}function R(e){return e.event_type===`approval_change`||e.event_type===`description_change`||e.event_type===`name_change`}function z(e){return e.event_type===`check_created`||e.event_type===`preset_applied`}function B(e){let t=e.actor.fullname||e.actor.login||`Someone`;switch(e.event_type){case`check_created`:return`${t} created this check`;case`comment`:return e.is_deleted?`Comment deleted`:e.content||``;case`approval_change`:return e.new_value===`true`?`${t} approved this check`:`${t} unapproved this check`;case`description_change`:return`${t} updated the description`;case`name_change`:return`${t} renamed this check`;case`preset_applied`:return`${t} applied a preset`;default:return`${t} made a change`}}function V(e){switch(e.event_type){case`check_created`:return`create`;case`comment`:return`comment`;case`approval_change`:return e.new_value===`true`?`approve`:`unapprove`;case`description_change`:case`name_change`:return`edit`;case`preset_applied`:return`preset`;default:return`edit`}}const H=r.create();async function U(e){return(await e.post(`/api/checks`,{type:`simple`})).data}async function W(e,t,n){return(await n.post(`/api/checks`,{run_id:e,view_options:t})).data}async function G(e){return(await e.get(`/api/checks`)).data}async function K(e,t){return(await t.get(`/api/checks/${e}`)).data}async function q(e,t,n){return(await n.patch(`/api/checks/${e}`,t)).data}async function oe(e,t){return(await t.delete(`/api/checks/${e}`)).data}async function se(e,t){await t.post(`/api/checks/reorder`,e)}async function ce(e,t){await t.post(`/api/checks/${e}/mark-as-preset`)}function le(r){let i=e()?.apiClient??H;return n({queryKey:t.checks(),queryFn:()=>G(i),enabled:r})}async function ue(e,t){return(await t.post(`/api/cll`,e)).data}async function de(e){return(await e.get(`/api/info`)).data}async function fe(e,t){return(await t.get(`/api/model/${e}`)).data}async function pe(e,t){return(await t.post(`/api/checks`,{type:`lineage_diff`,params:{},view_options:e})).data}async function J(e,t,n){return await b(`row_count_diff`,e,t,n)}async function me(e,t){return(await t.get(`/api/models/${e}/row_count`)).data}async function he(e,t){let{result:n}=await Y([e],t);return n[e]}async function Y(e,t){if(e.length===0)throw Error(`No model names provided`);let{run_id:n}=await J({node_names:e},{nowait:!0},t);return{runId:n,result:(await S(n,void 0,t)).result}}async function ge(e,t,n){return await b(`profile_diff`,e,t,n)}async function _e(e,t){return(await t.post(`/api/checks`,{type:`schema_diff`,params:e})).data}async function ve(e,t){return(await t.post(`/api/select`,e)).data}async function ye(e,t){return(await t.post(`/api/save-as`,e)).data}async function be(e,t){return(await t.post(`/api/rename`,e)).data}async function xe(e){return(await e.post(`/api/export`)).data}async function Se(e,t,n){let r=new FormData;return r.append(`file`,e),r.append(`checks_only`,(!!t).toString()),(await n.post(`/api/import`,r)).data}async function Ce(e){return(await e.get(`/api/sync`)).status===208}async function X(e,t){try{let n=await t.post(`/api/sync`,e);if(n.status===202)return{status:`accepted`};if(n.status===208)return{status:`syncing`}}catch(e){if(i(e)&&e.response?.status===409)return{status:`conflict`}}throw Error(`Failed to sync state`)}async function we(e){return(await e.post(`/api/share`)).data}const Z=`recce-`,Te={bypassSaveOverwrite:`${Z}-bypass-save-overwrite`,previewChangeFeedbackID:`${Z}-preview-change-feedback`,prepareEnvGuideID:`${Z}-prepare-env`},Q=`recce`,Ee={recommendationIgnored:`${Q}-recommendation-ignored`,recommendationShowed:`${Q}-recommendation-showed`,prevRefreshTimeStamp:`${Q}-prev-refresh-timestamp`,lineageNotificationDismissed:`${Q}-lineage-notification-dismissed`};async function De(e,t,n){return await b(`value_diff`,e,t,n)}async function Oe(e,t,n){return await b(`value_diff_detail`,e,t,n)}const ke=r.create();async function $(e){return(await e.get(`/api/version`)).data}function Ae(){let[t,n]=o(``),[r,i]=o(``),s=e()?.apiClient??ke;return a(()=>{async function e(){try{let{version:e,latestVersion:t}=await $(s);n(e),i(t)}catch(e){console.error(`Error fetching version number:`,e)}}e()},[s]),{version:t,latestVersion:r}}export{w as $,ce as A,R as B,de as C,oe as D,U as E,I as F,A as G,M as H,N as I,C as J,j as K,B as L,q as M,le as N,K as O,P,b as Q,V as R,fe as S,W as T,F as U,z as V,k as W,E as X,x as Y,T as Z,me as _,ee as _t,Te as a,re as at,J as b,Se as c,l as ct,ye as d,c as dt,S as et,we as f,ne as ft,ge as g,te as gt,_e as h,_ as ht,Oe as i,ie as it,se as j,G as k,Ce as l,f as lt,ve as m,m as mt,Ae as n,h as nt,Ee as o,u as ot,X as p,s as pt,D as q,De as r,p as rt,xe as s,d as st,$ as t,g as tt,be as u,ae as ut,he as v,y as vt,ue as w,pe as x,Y as y,L as z};
3
+ //# sourceMappingURL=api-CVxyKUGP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-_i6BZPkM.js","names":["RUN_TYPES: readonly RunType[]","RUN_TYPES_WITH_REF: readonly RunType[]","defaultApiClient","version","latestVersion"],"sources":["../src/api/types/run.ts","../src/api/runs.ts","../src/api/adhocQuery.ts","../src/api/checkEvents.ts","../src/api/checks.ts","../src/api/cll.ts","../src/api/info.ts","../src/api/lineagecheck.ts","../src/api/rowcount.ts","../src/api/models.ts","../src/api/profile.ts","../src/api/schemacheck.ts","../src/api/select.ts","../src/api/state.ts","../src/api/storageKeys.ts","../src/api/valuediff.ts","../src/api/version.ts"],"sourcesContent":["// packages/ui/src/api/types/run.ts\n// Run types for @datarecce/ui API layer\n// These types define the structure of run objects and their variants\n\nimport type {\n QueryDiffParams,\n QueryDiffResult,\n QueryResult,\n QueryRunParams,\n} from \"../adhocQuery\";\nimport type { LineageDiffResult } from \"../info\";\n// Import param/result types from API modules\nimport type {\n HistogramDiffParams,\n HistogramDiffResult,\n ProfileDiffParams,\n ProfileDiffResult,\n TopKDiffParams,\n TopKDiffResult,\n} from \"../profile\";\nimport type {\n RowCountDiffParams,\n RowCountDiffResult,\n RowCountParams,\n RowCountResult,\n} from \"../rowcount\";\nimport type {\n ValueDiffDetailParams,\n ValueDiffDetailResult,\n ValueDiffParams,\n ValueDiffResult,\n} from \"../valuediff\";\n\n// ============================================================================\n// Run Type Enum\n// ============================================================================\n\n/**\n * All possible run types in the Recce system.\n * This is the canonical definition - consumers should import from here.\n */\nexport type RunType =\n | \"simple\"\n | \"sandbox\"\n | \"query\"\n | \"query_base\"\n | \"query_diff\"\n | \"value_diff\"\n | \"value_diff_detail\"\n | \"schema_diff\"\n | \"profile\"\n | \"profile_diff\"\n | \"row_count\"\n | \"row_count_diff\"\n | \"lineage_diff\"\n | \"top_k_diff\"\n | \"histogram_diff\";\n\n// ============================================================================\n// Run Status Types\n// ============================================================================\n\n/**\n * Possible status values for a run\n */\nexport type RunStatus = \"Finished\" | \"Failed\" | \"Cancelled\" | \"Running\";\n\n/**\n * Progress information for a running task\n */\nexport interface RunProgress {\n message?: string;\n percentage?: number;\n}\n\n// ============================================================================\n// Base Run Interface\n// ============================================================================\n\n/**\n * Base interface for all run objects.\n * All run variants extend this interface with specific params and results.\n */\nexport interface BaseRun {\n /** The type of run - determines params/result structure */\n type: RunType;\n /** Unique identifier for this run */\n run_id: string;\n /** ISO timestamp when the run was executed */\n run_at: string;\n /** Optional human-readable name for the run */\n name?: string;\n /** ID of the check this run belongs to, if any */\n check_id?: string;\n /** Progress information for running tasks */\n progress?: RunProgress;\n /** Error message if the run failed */\n error?: string;\n /** Current status of the run */\n status?: RunStatus;\n}\n\n// ============================================================================\n// Run Param Types (without external dependencies)\n// ============================================================================\n\n/**\n * Schema diff params - used by schema_diff runs\n * Compares schema between base and current environments\n */\nexport interface SchemaDiffParams {\n /** Node ID(s) to compare - can be single or multiple */\n node_id?: string | string[];\n /** dbt select syntax for filtering nodes */\n select?: string;\n /** dbt exclude syntax for filtering nodes */\n exclude?: string;\n /** Package names to include */\n packages?: string[];\n /** View mode - show all models or only changed ones */\n view_mode?: \"all\" | \"changed_models\";\n}\n\n/**\n * Lineage diff params - used by lineage_diff runs\n * Compares lineage graph between base and current environments\n */\nexport interface LineageDiffParams {\n /** dbt select syntax for filtering nodes */\n select?: string;\n /** dbt exclude syntax for filtering nodes */\n exclude?: string;\n /** Package names to include */\n packages?: string[];\n /** View mode - show all models or only changed ones */\n view_mode?: \"all\" | \"changed_models\";\n}\n\n// ============================================================================\n// Run Param Types - Union of all possible run parameters\n// ============================================================================\n\n/**\n * Union of all possible run parameter types.\n * Use this when you need to accept any run params type.\n */\nexport type RunParamTypes =\n | QueryRunParams\n | QueryDiffParams\n | ValueDiffParams\n | ValueDiffDetailParams\n | SchemaDiffParams\n | ProfileDiffParams\n | RowCountParams\n | RowCountDiffParams\n | LineageDiffParams\n | TopKDiffParams\n | HistogramDiffParams\n | undefined;\n\n// ============================================================================\n// Run - Full Discriminated Union Type\n// ============================================================================\n\n/**\n * Run type with full discriminated union for type narrowing.\n * TypeScript can narrow params/result types based on the `type` field.\n *\n * Example:\n * ```ts\n * if (run.type === \"query_diff\") {\n * // TypeScript knows run.result is QueryDiffResult | undefined\n * console.log(run.result?.diff);\n * }\n * ```\n */\nexport type Run =\n | (BaseRun & {\n type: \"simple\";\n params?: undefined;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"sandbox\";\n params?: undefined;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"query\";\n params?: QueryRunParams;\n result?: QueryResult;\n })\n | (BaseRun & {\n type: \"query_base\";\n params?: QueryRunParams;\n result?: QueryResult;\n })\n | (BaseRun & {\n type: \"query_diff\";\n params?: QueryDiffParams;\n result?: QueryDiffResult;\n })\n | (BaseRun & {\n type: \"value_diff\";\n params?: ValueDiffParams;\n result?: ValueDiffResult;\n })\n | (BaseRun & {\n type: \"value_diff_detail\";\n params?: ValueDiffDetailParams;\n result?: ValueDiffDetailResult;\n })\n | (BaseRun & {\n type: \"schema_diff\";\n params?: SchemaDiffParams;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"profile\";\n params?: ProfileDiffParams;\n result?: ProfileDiffResult;\n })\n | (BaseRun & {\n type: \"profile_diff\";\n params?: ProfileDiffParams;\n result?: ProfileDiffResult;\n })\n | (BaseRun & {\n type: \"row_count\";\n params?: RowCountParams;\n result?: RowCountResult;\n })\n | (BaseRun & {\n type: \"row_count_diff\";\n params?: RowCountDiffParams;\n result?: RowCountDiffResult;\n })\n | (BaseRun & {\n type: \"lineage_diff\";\n params?: LineageDiffParams;\n result?: LineageDiffResult;\n })\n | (BaseRun & {\n type: \"top_k_diff\";\n params?: TopKDiffParams;\n result?: TopKDiffResult;\n })\n | (BaseRun & {\n type: \"histogram_diff\";\n params?: HistogramDiffParams;\n result?: HistogramDiffResult;\n });\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\n/**\n * Type guard for simple runs\n */\nexport function isSimpleRun(run: Run): run is Run & { type: \"simple\" } {\n return run.type === \"simple\";\n}\n\n/**\n * Type guard for sandbox runs\n */\nexport function isSandboxRun(run: Run): run is Run & { type: \"sandbox\" } {\n return run.type === \"sandbox\";\n}\n\n/**\n * Type guard for query runs\n */\nexport function isQueryRun(run: Run): run is Run & { type: \"query\" } {\n return run.type === \"query\";\n}\n\n/**\n * Type guard for query_base runs\n */\nexport function isQueryBaseRun(run: Run): run is Run & { type: \"query_base\" } {\n return run.type === \"query_base\";\n}\n\n/**\n * Type guard for query_diff runs\n */\nexport function isQueryDiffRun(run: Run): run is Run & { type: \"query_diff\" } {\n return run.type === \"query_diff\";\n}\n\n/**\n * Type guard for value_diff runs\n */\nexport function isValueDiffRun(run: Run): run is Run & { type: \"value_diff\" } {\n return run.type === \"value_diff\";\n}\n\n/**\n * Type guard for value_diff_detail runs\n */\nexport function isValueDiffDetailRun(\n run: Run,\n): run is Run & { type: \"value_diff_detail\" } {\n return run.type === \"value_diff_detail\";\n}\n\n/**\n * Type guard for schema_diff runs\n */\nexport function isSchemaDiffRun(\n run: Run,\n): run is Run & { type: \"schema_diff\" } {\n return run.type === \"schema_diff\";\n}\n\n/**\n * Type guard for profile runs\n */\nexport function isProfileRun(run: Run): run is Run & { type: \"profile\" } {\n return run.type === \"profile\";\n}\n\n/**\n * Type guard for profile_diff runs\n */\nexport function isProfileDiffRun(\n run: Run,\n): run is Run & { type: \"profile_diff\" } {\n return run.type === \"profile_diff\";\n}\n\n/**\n * Type guard for row_count runs\n */\nexport function isRowCountRun(run: Run): run is Run & { type: \"row_count\" } {\n return run.type === \"row_count\";\n}\n\n/**\n * Type guard for row_count_diff runs\n */\nexport function isRowCountDiffRun(\n run: Run,\n): run is Run & { type: \"row_count_diff\" } {\n return run.type === \"row_count_diff\";\n}\n\n/**\n * Type guard for lineage_diff runs\n */\nexport function isLineageDiffRun(\n run: Run,\n): run is Run & { type: \"lineage_diff\" } {\n return run.type === \"lineage_diff\";\n}\n\n/**\n * Type guard for top_k_diff runs\n */\nexport function isTopKDiffRun(run: Run): run is Run & { type: \"top_k_diff\" } {\n return run.type === \"top_k_diff\";\n}\n\n/**\n * Type guard for histogram_diff runs\n */\nexport function isHistogramDiffRun(\n run: Run,\n): run is Run & { type: \"histogram_diff\" } {\n return run.type === \"histogram_diff\";\n}\n\n// ============================================================================\n// Utility Types\n// ============================================================================\n\n/**\n * Array of all run type values - useful for iteration and validation\n */\nexport const RUN_TYPES: readonly RunType[] = [\n \"simple\",\n \"sandbox\",\n \"query\",\n \"query_base\",\n \"query_diff\",\n \"value_diff\",\n \"value_diff_detail\",\n \"schema_diff\",\n \"profile\",\n \"profile_diff\",\n \"row_count\",\n \"row_count_diff\",\n \"lineage_diff\",\n \"top_k_diff\",\n \"histogram_diff\",\n] as const;\n\n/**\n * Check if a string is a valid RunType\n */\nexport function isValidRunType(value: string): value is RunType {\n return RUN_TYPES.includes(value as RunType);\n}\n\n/**\n * Run types that support screenshot/ref functionality.\n * These are run types that render a visual result view with forwardRef support.\n */\nconst RUN_TYPES_WITH_REF: readonly RunType[] = [\n \"query\",\n \"query_base\",\n \"query_diff\",\n \"row_count\",\n \"row_count_diff\",\n \"profile\",\n \"profile_diff\",\n \"value_diff\",\n \"value_diff_detail\",\n \"top_k_diff\",\n \"histogram_diff\",\n] as const;\n\n/**\n * Check if a run type supports ref forwarding (for screenshots).\n * Run types with refs can capture screenshots of their result views.\n */\nexport function runTypeHasRef(runType: RunType): boolean {\n return RUN_TYPES_WITH_REF.includes(runType);\n}\n","import type { AxiosInstance, AxiosResponse } from \"axios\";\nimport { isQueryRun, type Run, type RunType } from \"./types\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Aggregated run results by model and run type\n */\nexport type RunsAggregated = Record<\n string,\n Record<\n \"row_count_diff\" | \"value_diff\" | \"row_count\",\n {\n run_id: string;\n result: unknown;\n }\n >\n>;\n\n/**\n * Properties for tracking run submissions (analytics)\n */\nexport interface SubmitRunTrackProps {\n breaking_change_analysis?: boolean;\n source?: \"lineage_model_node\" | \"lineage_column_node\";\n [key: string]: unknown;\n}\n\n/**\n * Options for submitting a run\n */\nexport interface SubmitOptions {\n nowait?: boolean;\n trackProps?: SubmitRunTrackProps;\n}\n\n// ============================================================================\n// Core Run API Functions\n// ============================================================================\n\n/**\n * Submit a new run of the specified type.\n * @param type - The type of run to execute\n * @param params - Parameters specific to the run type\n * @param options - Submission options (nowait, tracking)\n * @param client - Required axios instance (no default - library pattern)\n * @returns The created run, or just run_id if nowait is true\n */\nexport async function submitRun(\n type: RunType,\n params: unknown,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n): Promise<Run | Pick<Run, \"run_id\">> {\n const track_props = options?.trackProps ? { ...options.trackProps } : {};\n // NOTE: Removed getExperimentTrackingBreakingChangeEnabled() - OSS-specific\n\n const response = await client.post<\n unknown,\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(\"/api/runs\", {\n type,\n params,\n nowait: options?.nowait,\n track_props,\n });\n\n return response.data;\n}\n\n/**\n * Get a run by ID.\n * @param runId - The ID of the run to retrieve\n * @param client - Required axios instance\n * @returns The run object\n */\nexport async function getRun(\n runId: string,\n client: AxiosInstance,\n): Promise<Run> {\n const response = await client.get<never, AxiosResponse<Run>>(\n `/api/runs/${runId}`,\n );\n return response.data;\n}\n\n/**\n * Wait for a run to complete.\n * @param runId - The ID of the run to wait for\n * @param timeout - Optional timeout in seconds\n * @param client - Required axios instance\n * @returns The completed run object with result\n */\nexport async function waitRun(\n runId: string,\n timeout: number | undefined,\n client: AxiosInstance,\n): Promise<Run> {\n const response = await client.get<unknown, AxiosResponse<Run>>(\n `/api/runs/${runId}/wait`,\n { params: { timeout } },\n );\n return mutateAddKey(response.data);\n}\n\n/**\n * Cancel a running run.\n * @param runId - The ID of the run to cancel\n * @param client - Required axios instance\n */\nexport async function cancelRun(\n runId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.post(`/api/runs/${runId}/cancel`);\n}\n\n/**\n * Submit a run from an existing check.\n * Re-runs the check with its stored parameters.\n * @param checkId - The ID of the check to run\n * @param options - Submission options (nowait)\n * @param client - Required axios instance\n * @returns The created run, or just run_id if nowait is true\n */\nexport async function submitRunFromCheck(\n checkId: string,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n): Promise<Run | Pick<Run, \"run_id\">> {\n const response = await client.post<\n unknown,\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(`/api/checks/${checkId}/run`, {\n nowait: options?.nowait,\n });\n return response.data;\n}\n\n/**\n * Search for runs matching criteria.\n * @param type - The run type to search for\n * @param params - Parameters to match against run params\n * @param limit - Maximum number of results to return\n * @param client - Required axios instance\n * @returns Array of matching runs\n */\nexport async function searchRuns(\n type: string,\n params: Record<string, unknown> | undefined,\n limit: number | undefined,\n client: AxiosInstance,\n): Promise<Run[]> {\n const response = await client.post<unknown, AxiosResponse<Run[]>>(\n \"/api/runs/search\",\n { type, params, limit },\n );\n return response.data;\n}\n\n/**\n * List all runs.\n * @param client - Required axios instance\n * @returns Array of all runs\n */\nexport async function listRuns(client: AxiosInstance): Promise<Run[]> {\n const response = await client.get<never, AxiosResponse<Run[]>>(\"/api/runs\");\n return response.data;\n}\n\n/**\n * Aggregate runs from API.\n * Returns run results grouped by model and run type.\n * @param client - Required axios instance\n * @returns Aggregated run results\n */\nexport async function aggregateRuns(\n client: AxiosInstance,\n): Promise<RunsAggregated> {\n const response = await client.post<unknown, AxiosResponse<RunsAggregated>>(\n \"/api/runs/aggregate\",\n {},\n );\n return response.data;\n}\n\n// ============================================================================\n// Internal Helpers\n// ============================================================================\n\n/**\n * Internal helper to add key to query result columns.\n * Query results may have columns without a key property set.\n * This ensures all columns have a key for data grid rendering.\n */\nfunction mutateAddKey(run: Run): Run {\n if (run.result == null) {\n return run;\n }\n if (isQueryRun(run) && run.result) {\n // Type narrowing - run.result structure for query runs\n const result = run.result as {\n columns?: Array<{ key?: string; name: string }>;\n };\n if (result.columns) {\n result.columns = result.columns.map((c) => {\n if (c.key) return c;\n return { ...c, key: c.name };\n });\n }\n }\n return run;\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Query Types\n// ============================================================================\n\nexport interface QueryRunParams {\n sql_template: string;\n}\n\nexport type QueryResult = DataFrame;\n\nexport interface QueryViewOptions {\n pinned_columns?: string[];\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// Query Diff Types\n// ============================================================================\n\nexport interface QueryDiffParams {\n sql_template: string;\n base_sql_template?: string;\n primary_keys?: string[];\n}\n\nexport interface QueryDiffResult {\n base?: DataFrame;\n current?: DataFrame;\n diff?: DataFrame;\n}\n\nexport interface QueryDiffViewOptions {\n changed_only?: boolean;\n primary_keys?: string[];\n pinned_columns?: string[];\n display_mode?: \"inline\" | \"side_by_side\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// Preview Change Types\n// ============================================================================\n\nexport interface QueryPreviewChangeParams {\n current_model?: string;\n sql_template: string;\n primary_keys?: string[];\n}\n\nexport interface QueryParams\n extends QueryRunParams,\n QueryDiffParams,\n QueryPreviewChangeParams {}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitQuery(\n params: QueryRunParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query\", params, options, client);\n}\n\nexport async function submitQueryBase(\n params: QueryRunParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query_base\", params, options, client);\n}\n\nexport async function submitQueryDiff(\n params: QueryDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query_diff\", params, options, client);\n}\n","/**\n * Check Events API - Types and Client Functions\n *\n * Provides timeline/conversation functionality for Checks, enabling\n * GitHub PR-style discussions with comments and automatic tracking\n * of state changes.\n *\n * NOTE: This feature is only available when connected to Recce Cloud.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\n\n// ============================================================================\n// Event Types\n// ============================================================================\n\nexport type CheckEventType =\n | \"check_created\"\n | \"comment\"\n | \"approval_change\"\n | \"description_change\"\n | \"name_change\"\n | \"preset_applied\";\n\nexport type ActorType = \"user\" | \"recce_ai\" | \"preset_system\";\n\n// ============================================================================\n// Actor Interface\n// ============================================================================\n\nexport interface CheckEventActor {\n type: ActorType;\n user_id: number | null;\n login: string | null;\n fullname: string | null;\n}\n\n// ============================================================================\n// Check Event Interface\n// ============================================================================\n\nexport interface CheckEvent {\n id: string;\n check_id: string;\n event_type: CheckEventType;\n actor: CheckEventActor;\n content: string | null;\n old_value: string | null;\n new_value: string | null;\n is_edited: boolean;\n is_deleted: boolean;\n created_at: string;\n updated_at: string;\n}\n\n// ============================================================================\n// Request/Response Types\n// ============================================================================\n\nexport interface CreateCommentRequest {\n content: string;\n}\n\nexport interface UpdateCommentRequest {\n content: string;\n}\n\nexport interface CheckEventsListResponse {\n events: CheckEvent[];\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * List all events for a check in chronological order.\n *\n * @param checkId - The check ID\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to array of CheckEvent objects\n */\nexport async function listCheckEvents(\n checkId: string,\n client: AxiosInstance,\n): Promise<CheckEvent[]> {\n const response = await client.get<never, AxiosResponse<CheckEvent[]>>(\n `/api/checks/${checkId}/events`,\n );\n return response.data;\n}\n\n/**\n * Get a specific event by ID.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to a CheckEvent object\n */\nexport async function getCheckEvent(\n checkId: string,\n eventId: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.get<never, AxiosResponse<CheckEvent>>(\n `/api/checks/${checkId}/events/${eventId}`,\n );\n return response.data;\n}\n\n/**\n * Create a new comment on a check.\n *\n * @param checkId - The check ID\n * @param content - The comment content (plain text for now, markdown later)\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created CheckEvent\n */\nexport async function createComment(\n checkId: string,\n content: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.post<\n CreateCommentRequest,\n AxiosResponse<CheckEvent>\n >(`/api/checks/${checkId}/events`, { content });\n return response.data;\n}\n\n/**\n * Update an existing comment.\n * Only the author or an admin can update a comment.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID of the comment to update\n * @param content - The new comment content\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the updated CheckEvent\n */\nexport async function updateComment(\n checkId: string,\n eventId: string,\n content: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.patch<\n UpdateCommentRequest,\n AxiosResponse<CheckEvent>\n >(`/api/checks/${checkId}/events/${eventId}`, { content });\n return response.data;\n}\n\n/**\n * Delete a comment (soft delete).\n * Only the author or an admin can delete a comment.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID of the comment to delete\n * @param client - Axios instance for API configuration\n * @returns Promise resolving when deletion is complete\n */\nexport async function deleteComment(\n checkId: string,\n eventId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.delete(`/api/checks/${checkId}/events/${eventId}`);\n}\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\nexport function isCommentEvent(event: CheckEvent): boolean {\n return event.event_type === \"comment\";\n}\n\nexport function isStateChangeEvent(event: CheckEvent): boolean {\n return (\n event.event_type === \"approval_change\" ||\n event.event_type === \"description_change\" ||\n event.event_type === \"name_change\"\n );\n}\n\nexport function isSystemEvent(event: CheckEvent): boolean {\n return (\n event.event_type === \"check_created\" ||\n event.event_type === \"preset_applied\"\n );\n}\n\n// ============================================================================\n// Display Helpers\n// ============================================================================\n\n/**\n * Get a human-readable description of an event for display.\n */\nexport function getEventDescription(event: CheckEvent): string {\n const actorName = event.actor.fullname || event.actor.login || \"Someone\";\n\n switch (event.event_type) {\n case \"check_created\":\n return `${actorName} created this check`;\n case \"comment\":\n if (event.is_deleted) {\n return \"Comment deleted\";\n }\n return event.content || \"\";\n case \"approval_change\":\n if (event.new_value === \"true\") {\n return `${actorName} approved this check`;\n }\n return `${actorName} unapproved this check`;\n case \"description_change\":\n return `${actorName} updated the description`;\n case \"name_change\":\n return `${actorName} renamed this check`;\n case \"preset_applied\":\n return `${actorName} applied a preset`;\n default:\n return `${actorName} made a change`;\n }\n}\n\n/**\n * Get the appropriate icon name for an event type.\n * Returns a string that can be used with react-icons.\n */\nexport function getEventIconType(\n event: CheckEvent,\n): \"comment\" | \"approve\" | \"unapprove\" | \"edit\" | \"create\" | \"preset\" {\n switch (event.event_type) {\n case \"check_created\":\n return \"create\";\n case \"comment\":\n return \"comment\";\n case \"approval_change\":\n return event.new_value === \"true\" ? \"approve\" : \"unapprove\";\n case \"description_change\":\n case \"name_change\":\n return \"edit\";\n case \"preset_applied\":\n return \"preset\";\n default:\n return \"edit\";\n }\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport axios, { type AxiosInstance, type AxiosResponse } from \"axios\";\nimport { useApiConfigOptional } from \"../providers/contexts/ApiContext\";\nimport { cacheKeys } from \"./cacheKeys\";\nimport type { Run, RunType } from \"./types\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * A check object representing a saved validation check.\n * @template PT - The type of params for this check\n * @template VO - The type of view options for this check\n */\nexport interface Check<PT = unknown, VO = unknown> {\n check_id: string;\n name: string;\n description?: string;\n type: RunType;\n params?: PT;\n view_options?: VO;\n is_checked?: boolean;\n is_preset?: boolean;\n last_run?: Run;\n}\n\n/**\n * Request body for creating a new check.\n */\nexport interface CreateCheckBody {\n name?: string;\n description?: string;\n run_id?: string;\n type?: RunType;\n params?: Record<string, unknown>;\n view_options?: Record<string, unknown>;\n track_props?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Default Client (for hooks used outside RecceProvider)\n// ============================================================================\n\n/**\n * Default axios client for hooks that may be used outside RecceProvider.\n * This is a fallback - components inside RecceProvider will use the configured client.\n */\nconst defaultApiClient = axios.create();\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\n/**\n * Create a simple check (no run association).\n * @param client - Required axios instance\n * @returns The created check\n */\nexport async function createSimpleCheck(client: AxiosInstance): Promise<Check> {\n const response = await client.post<CreateCheckBody, AxiosResponse<Check>>(\n \"/api/checks\",\n {\n type: \"simple\",\n },\n );\n return response.data;\n}\n\n/**\n * Create a check from an existing run.\n * @param runId - The ID of the run to create a check from\n * @param viewOptions - Optional view options for the check\n * @param client - Required axios instance\n * @returns The created check\n */\nexport async function createCheckByRun(\n runId: string,\n viewOptions: Record<string, unknown> | undefined,\n client: AxiosInstance,\n): Promise<Check> {\n // NOTE: Removed getExperimentTrackingBreakingChangeEnabled() - OSS-specific\n const response = await client.post<CreateCheckBody, AxiosResponse<Check>>(\n \"/api/checks\",\n {\n run_id: runId,\n view_options: viewOptions,\n },\n );\n return response.data;\n}\n\n/**\n * List all checks.\n * @param client - Required axios instance\n * @returns Array of all checks\n */\nexport async function listChecks(client: AxiosInstance): Promise<Check[]> {\n return (await client.get<never, AxiosResponse<Check[]>>(\"/api/checks\")).data;\n}\n\n/**\n * Get a check by ID.\n * @param checkId - The ID of the check to retrieve\n * @param client - Required axios instance\n * @returns The check object\n */\nexport async function getCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.get<never, AxiosResponse<Check>>(\n `/api/checks/${checkId}`,\n );\n return response.data;\n}\n\n/**\n * Update an existing check.\n * @param checkId - The ID of the check to update\n * @param payload - Partial check data to update\n * @param client - Required axios instance\n * @returns The updated check\n */\nexport async function updateCheck(\n checkId: string,\n payload: Partial<Check>,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.patch<Partial<Check>, AxiosResponse<Check>>(\n `/api/checks/${checkId}`,\n payload,\n );\n return response.data;\n}\n\n/**\n * Delete a check.\n * @param checkId - The ID of the check to delete\n * @param client - Required axios instance\n * @returns The deleted check ID\n */\nexport async function deleteCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<Pick<Check, \"check_id\">> {\n const response = await client.delete<\n never,\n AxiosResponse<Pick<Check, \"check_id\">>\n >(`/api/checks/${checkId}`);\n return response.data;\n}\n\n/**\n * Reorder checks.\n * @param order - Source and destination indices\n * @param client - Required axios instance\n */\nexport async function reorderChecks(\n order: {\n source: number;\n destination: number;\n },\n client: AxiosInstance,\n): Promise<void> {\n await client.post(\"/api/checks/reorder\", order);\n}\n\n/**\n * Mark a check as a preset check.\n * @param checkId - The ID of the check to mark as preset\n * @param client - Required axios instance\n */\nexport async function markAsPresetCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.post(`/api/checks/${checkId}/mark-as-preset`);\n}\n\n// ============================================================================\n// Hooks\n// ============================================================================\n\n/**\n * Hook to fetch and cache the list of checks.\n * Can be used outside RecceProvider with a fallback to default axios client.\n *\n * @param enabled - Whether the query should be enabled\n * @returns TanStack Query result with checks data\n */\nexport function useChecks(enabled: boolean) {\n const apiConfig = useApiConfigOptional();\n const apiClient = apiConfig?.apiClient ?? defaultApiClient;\n\n return useQuery({\n queryKey: cacheKeys.checks(),\n queryFn: () => listChecks(apiClient),\n enabled,\n });\n}\n","/**\n * Column-Level Lineage (CLL) API - Types and Client Functions\n *\n * Provides column-level lineage analysis functionality for data models.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { NodeColumnData } from \"./info\";\n\n// ============================================================================\n// Input Types\n// ============================================================================\n\nexport interface CllInput {\n node_id?: string;\n column?: string;\n change_analysis?: boolean;\n no_cll?: boolean;\n no_upstream?: boolean;\n no_downstream?: boolean;\n}\n\nexport interface ImpactRadiusParams {\n node_id: string;\n}\n\n// ============================================================================\n// Result Types\n// ============================================================================\n\nexport interface CllNodeData {\n id: string;\n name: string;\n source_name: string;\n resource_type: string;\n raw_code?: string;\n change_status?: \"added\" | \"removed\" | \"modified\";\n change_category?:\n | \"breaking\"\n | \"non_breaking\"\n | \"partial_breaking\"\n | \"unknown\";\n impacted?: boolean;\n columns?: Record<string, NodeColumnData>;\n}\n\nexport interface ColumnLineageData {\n current: {\n nodes: Record<string, CllNodeData>;\n columns: Record<string, NodeColumnData>;\n /** JSON arrays from API - iterable like Set but properly typed */\n parent_map: Record<string, string[]>;\n /** JSON arrays from API - iterable like Set but properly typed */\n child_map: Record<string, string[]>;\n };\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Get column-level lineage data.\n *\n * @param input - CLL input parameters\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to column lineage data\n */\nexport async function getCll(\n input: CllInput,\n client: AxiosInstance,\n): Promise<ColumnLineageData> {\n const response = await client.post<\n CllInput,\n AxiosResponse<ColumnLineageData>\n >(\"/api/cll\", input);\n\n return response.data;\n}\n","import type { AxiosInstance, AxiosResponse } from \"axios\";\n\n/**\n * Column-level data for a node\n */\nexport interface NodeColumnData {\n name: string;\n type: string;\n transformation_type?: string;\n change_status?: \"added\" | \"removed\" | \"modified\";\n not_null?: boolean;\n unique?: boolean;\n}\n\n/**\n * Node data within lineage\n */\nexport interface NodeData {\n id: string;\n unique_id: string;\n name: string;\n schema?: string;\n checksum?: {\n name: string;\n checksum: string;\n };\n raw_code?: string;\n resource_type?: string;\n package_name?: string;\n columns?: Record<string, NodeColumnData | undefined>;\n primary_key?: string;\n}\n\n/**\n * dbt artifact metadata\n * @see https://docs.getdbt.com/reference/artifacts/dbt-artifacts#common-metadata\n */\ninterface ArtifactMetadata {\n dbt_version: string;\n dbt_schema_version: string;\n generated_at: string;\n adapter_type: string;\n env: Record<string, string>;\n invocation_id: string;\n}\n\n/**\n * Manifest metadata extends artifact metadata\n */\nexport interface ManifestMetadata extends ArtifactMetadata {\n project_id?: string;\n project_name?: string;\n user_id?: string;\n}\n\n/**\n * SQLMesh environment info\n */\nexport interface SQLMeshInfo {\n base_env: string;\n current_env: string;\n}\n\nexport type CatalogMetadata = ArtifactMetadata;\n\n/**\n * Lineage data structure\n */\nexport interface LineageData {\n metadata: {\n pr_url: string;\n git_branch?: string;\n };\n nodes: Record<string, NodeData>;\n parent_map: Record<string, string[]>;\n manifest_metadata?: ManifestMetadata | null;\n catalog_metadata?: CatalogMetadata | null;\n}\n\nexport interface LineageDataFromMetadata extends Omit<LineageData, \"nodes\"> {\n nodes: Record<string, NodeData | undefined>;\n}\n\n/**\n * Lineage diff data\n */\nexport type LineageDiffData = Record<\n string,\n {\n change_status: \"added\" | \"removed\" | \"modified\";\n change: {\n category: \"breaking\" | \"non_breaking\" | \"partial_breaking\" | \"unknown\";\n columns: Record<string, \"added\" | \"removed\" | \"modified\"> | null;\n } | null;\n }\n>;\n\n/**\n * Lineage diff result from lineage_diff run type\n */\nexport interface LineageDiffResult {\n base?: LineageData;\n current?: LineageData;\n base_error?: string;\n current_error?: string;\n}\n\n/**\n * State metadata for recce state file\n */\nexport interface StateMetadata {\n schema_version: string;\n recce_version: string;\n generated_at: string;\n}\n\n/**\n * Git information\n */\nexport interface GitInfo {\n branch?: string;\n}\n\n/**\n * Pull request information\n */\nexport interface PullRequestInfo {\n id?: string | number;\n title?: string;\n url?: string;\n branch?: string;\n base_branch?: string;\n}\n\n/**\n * Server info result from /api/info endpoint\n */\nexport interface ServerInfoResult {\n state_metadata: StateMetadata;\n adapter_type: string;\n review_mode: boolean;\n cloud_mode: boolean;\n file_mode: boolean;\n filename?: string;\n git?: GitInfo;\n pull_request?: PullRequestInfo;\n sqlmesh?: SQLMeshInfo;\n lineage: {\n base: LineageData;\n current: LineageData;\n diff: LineageDiffData;\n };\n demo: boolean;\n codespace: boolean;\n support_tasks: Record<string, boolean>;\n}\n\n/**\n * Fetch server info from API\n */\nexport async function getServerInfo(\n client: AxiosInstance,\n): Promise<ServerInfoResult> {\n const response = await client.get<never, AxiosResponse<ServerInfoResult>>(\n \"/api/info\",\n );\n return response.data;\n}\n\n/**\n * Model info result from /api/model/:model endpoint\n */\nexport interface ModelInfoResult {\n model: {\n base: {\n columns?: Record<string, NodeColumnData>;\n primary_key?: string;\n };\n current: {\n columns?: Record<string, NodeColumnData>;\n primary_key?: string;\n };\n };\n}\n\n/**\n * Fetch model info (columns and primary key) from API\n */\nexport async function getModelInfo(\n model: string,\n client: AxiosInstance,\n): Promise<ModelInfoResult> {\n const response = await client.get<never, AxiosResponse<ModelInfoResult>>(\n `/api/model/${model}`,\n );\n return response.data;\n}\n","/**\n * Lineage Check API - Types and Client Functions\n *\n * Provides functionality for creating lineage diff checks.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { Check } from \"./checks\";\nimport type { CllInput } from \"./cll\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface LineageDiffViewOptions {\n view_mode?: \"changed_models\" | \"all\";\n node_ids?: string[];\n packages?: string[];\n select?: string;\n exclude?: string;\n column_level_lineage?: CllInput;\n}\n\ninterface CreateLineageDiffCheckBody {\n type: string;\n params: Record<string, string | boolean | number>;\n view_options: LineageDiffViewOptions;\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Create a lineage diff check.\n *\n * @param viewOptions - View options for the lineage diff\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created check\n */\nexport async function createLineageDiffCheck(\n viewOptions: LineageDiffViewOptions,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.post<\n CreateLineageDiffCheckBody,\n AxiosResponse<Check>\n >(\"/api/checks\", {\n type: \"lineage_diff\",\n params: {},\n view_options: viewOptions,\n });\n\n return response.data;\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\n\n// ============================================================================\n// Row Count Types\n// ============================================================================\n\nexport interface RowCountParams {\n node_names: string[];\n}\n\nexport interface RowCount {\n name?: string;\n curr: number | null;\n}\n\nexport type RowCountResult = Record<string, RowCount>;\n\n// ============================================================================\n// Row Count Diff Types\n// ============================================================================\n\nexport interface RowCountDiffParams {\n node_names: string[];\n}\n\nexport interface RowCountDiff {\n name?: string;\n base: number | null;\n curr: number | null;\n}\n\nexport type RowCountDiffResult = Record<string, RowCountDiff>;\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitRowCountDiff(\n params: RowCountDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"row_count_diff\", params, options, client);\n}\n","import type { AxiosInstance } from \"axios\";\nimport type { RowCountDiff, RowCountDiffResult } from \"./rowcount\";\nimport { submitRowCountDiff } from \"./rowcount\";\nimport { waitRun } from \"./runs\";\n\n// Re-export for convenience (types are defined in rowcount.ts)\nexport type { RowCountDiff } from \"./rowcount\";\n\n// ============================================================================\n// Model Row Count Types\n// ============================================================================\n\nexport interface QueryRowCountResult {\n runId: string;\n result: RowCountDiffResult;\n}\n\n// ============================================================================\n// Model Row Count API Functions\n// ============================================================================\n\n/**\n * Fetch model row count from the API (cached value).\n * @param modelName - The name of the model\n * @param client - Required axios instance\n * @returns The row count diff for the model\n */\nexport async function fetchModelRowCount(\n modelName: string,\n client: AxiosInstance,\n): Promise<RowCountDiff> {\n const response = await client.get<RowCountDiff>(\n `/api/models/${modelName}/row_count`,\n );\n return response.data;\n}\n\n/**\n * Query model row count by executing a row count diff run.\n * @param modelName - The name of the model\n * @param client - Required axios instance\n * @returns The row count diff for the model\n */\nexport async function queryModelRowCount(\n modelName: string,\n client: AxiosInstance,\n): Promise<RowCountDiff> {\n const { result } = await queryRowCount([modelName], client);\n return result[modelName];\n}\n\n/**\n * Query row counts for multiple models.\n * @param modelNames - Array of model names to query\n * @param client - Required axios instance\n * @returns The run ID and row count diff results for all models\n */\nexport async function queryRowCount(\n modelNames: string[],\n client: AxiosInstance,\n): Promise<QueryRowCountResult> {\n if (modelNames.length === 0) {\n throw new Error(\"No model names provided\");\n }\n\n const { run_id } = await submitRowCountDiff(\n { node_names: modelNames },\n { nowait: true },\n client,\n );\n const run = await waitRun(run_id, undefined, client);\n\n return {\n runId: run_id,\n result: run.result as RowCountDiffResult,\n };\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Profile Diff Types\n// ============================================================================\n\nexport interface ProfileDiffParams {\n model: string;\n columns?: string[];\n}\n\nexport interface ProfileDiffResult {\n base?: DataFrame;\n current?: DataFrame;\n}\n\nexport interface ProfileDiffViewOptions {\n pinned_columns?: string[];\n display_mode?: \"side_by_side\" | \"inline\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitProfileDiff(\n params: ProfileDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"profile_diff\", params, options, client);\n}\n\n// ============================================================================\n// Top-K Types\n// ============================================================================\n\nexport interface TopKDiffParams {\n model: string;\n column_name: string;\n k: number;\n}\n\nexport interface TopKResult {\n values: (string | number | undefined)[];\n counts: number[];\n valids: number;\n}\n\nexport interface TopKDiffResult {\n base: TopKResult;\n current: TopKResult;\n}\n\n/**\n * View options for TopKDiffResultView.\n * Controls display preferences for top-K diff visualization.\n */\nexport interface TopKViewOptions {\n /**\n * When true, show all items instead of just top 10.\n * Default is false (show top 10 only).\n */\n show_all?: boolean;\n}\n\n// ============================================================================\n// Histogram Types\n// ============================================================================\n\nexport interface HistogramDiffParams {\n model: string;\n column_name: string;\n column_type: string;\n}\n\nexport interface HistogramResult {\n counts: number[];\n total: number;\n}\n\nexport interface HistogramDiffResult {\n base: HistogramResult;\n current: HistogramResult;\n min: number;\n max: number;\n bin_edges: number[];\n labels?: string[];\n}\n","/**\n * Schema Check API - Types and Client Functions\n *\n * Provides functionality for creating schema diff checks.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { Check } from \"./checks\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface SchemaDiffViewParams {\n node_id?: string | string[];\n select?: string;\n exclude?: string;\n view_mode?: \"all\" | \"changed_models\";\n packages?: string[];\n}\n\ninterface CreateSchemaDiffCheckBody {\n type: string;\n params: SchemaDiffViewParams;\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Create a schema diff check.\n *\n * @param params - Schema diff parameters\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created check\n */\nexport async function createSchemaDiffCheck(\n params: SchemaDiffViewParams,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.post<\n CreateSchemaDiffCheckBody,\n AxiosResponse<Check>\n >(\"/api/checks\", {\n type: \"schema_diff\",\n params: params,\n });\n\n return response.data;\n}\n","\"use client\";\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\n\nexport interface SelectInput {\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\nexport interface SelectOutput {\n nodes: string[];\n}\n\nexport async function select(\n input: SelectInput,\n client: AxiosInstance,\n): Promise<SelectOutput> {\n return (\n await client.post<SelectInput, AxiosResponse<SelectOutput>>(\n `/api/select`,\n input,\n )\n ).data;\n}\n","\"use client\";\n\nimport { type AxiosInstance, type AxiosResponse, isAxiosError } from \"axios\";\n\nexport interface SaveAsInput {\n filename: string;\n overwrite?: boolean;\n}\n\nexport interface ImportedState {\n runs: number;\n checks: number;\n}\n\nexport async function saveAs(\n input: SaveAsInput,\n client: AxiosInstance,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/save-as\", input)\n ).data;\n}\n\nexport async function rename(\n input: SaveAsInput,\n client: AxiosInstance,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/rename\", input)\n ).data;\n}\n\nexport async function exportState(client: AxiosInstance): Promise<string> {\n return (await client.post<never, AxiosResponse<string>>(\"/api/export\")).data;\n}\n\ninterface ImportStateBody {\n file: File;\n checks_only: \"true\" | \"false\";\n}\n\nexport async function importState(\n file: File,\n checksOnly: boolean | undefined,\n client: AxiosInstance,\n): Promise<ImportedState> {\n const formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"checks_only\", (!!checksOnly).toString());\n\n return (\n await client.post<ImportStateBody, AxiosResponse<ImportedState>>(\n \"/api/import\",\n formData,\n )\n ).data;\n}\n\nexport async function isStateSyncing(client: AxiosInstance): Promise<boolean> {\n const response = await client.get<never, AxiosResponse<boolean>>(\"/api/sync\");\n return response.status === 208;\n}\n\nexport interface SyncStateInput {\n method?: \"overwrite\" | \"revert\" | \"merge\";\n}\n\nexport interface SyncStateResponse {\n status: \"accepted\" | \"conflict\" | \"syncing\";\n}\n\nexport async function syncState(\n input: SyncStateInput,\n client: AxiosInstance,\n): Promise<SyncStateResponse> {\n try {\n const response = await client.post<\n SyncStateInput,\n AxiosResponse<SyncStateResponse>\n >(\"/api/sync\", input);\n\n if (response.status === 202) {\n return {\n status: \"accepted\",\n };\n }\n if (response.status === 208) {\n return {\n status: \"syncing\",\n };\n }\n } catch (error) {\n if (isAxiosError(error)) {\n if (error.response?.status === 409) {\n // 409 conflict case\n return { status: \"conflict\" };\n }\n }\n }\n throw new Error(\"Failed to sync state\");\n}\n\nexport interface ShareStateResponse {\n status: string;\n message: string;\n share_url?: string;\n}\n\nexport async function shareState(\n client: AxiosInstance,\n): Promise<ShareStateResponse> {\n return (\n await client.post<never, AxiosResponse<ShareStateResponse>>(\"/api/share\")\n ).data;\n}\n","\"use client\";\n\nconst localPrefix = \"recce-\";\n\nexport const LOCAL_STORAGE_KEYS = {\n bypassSaveOverwrite: `${localPrefix}-bypass-save-overwrite`,\n previewChangeFeedbackID: `${localPrefix}-preview-change-feedback`,\n prepareEnvGuideID: `${localPrefix}-prepare-env`,\n};\n\nconst sessionPrefix = \"recce\";\n\nexport const SESSION_STORAGE_KEYS = {\n recommendationIgnored: `${sessionPrefix}-recommendation-ignored`,\n recommendationShowed: `${sessionPrefix}-recommendation-showed`,\n prevRefreshTimeStamp: `${sessionPrefix}-prev-refresh-timestamp`,\n lineageNotificationDismissed: `${sessionPrefix}-lineage-notification-dismissed`,\n};\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Value Diff Types\n// ============================================================================\n\nexport interface ValueDiffParams {\n model: string;\n primary_key: string | string[];\n columns?: string[];\n}\n\nexport interface ValueDiffResult {\n summary: {\n total: number;\n added: number;\n removed: number;\n };\n data: DataFrame;\n}\n\n// ============================================================================\n// Value Diff Detail Types\n// ============================================================================\n\nexport type ValueDiffDetailParams = ValueDiffParams;\nexport type ValueDiffDetailResult = DataFrame;\n\nexport interface ValueDiffDetailViewOptions {\n changed_only?: boolean;\n pinned_columns?: string[];\n display_mode?: \"inline\" | \"side_by_side\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitValueDiff(\n params: ValueDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"value_diff\", params, options, client);\n}\n\nexport async function submitValueDiffDetail(\n params: ValueDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"value_diff_detail\", params, options, client);\n}\n","\"use client\";\n\nimport axios, { type AxiosInstance, type AxiosResponse } from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { useApiConfigOptional } from \"../providers/contexts/ApiContext\";\n\nconst defaultApiClient = axios.create();\n\nexport interface VersionResponse {\n version: string;\n latestVersion: string;\n}\n\nexport async function getVersion(\n client: AxiosInstance,\n): Promise<VersionResponse> {\n const response = await client.get<never, AxiosResponse<VersionResponse>>(\n \"/api/version\",\n );\n return response.data;\n}\n\nexport function useVersionNumber() {\n const [version, setVersion] = useState(\"\");\n const [latestVersion, setLatestVersion] = useState(\"\");\n const apiConfig = useApiConfigOptional();\n const apiClient = apiConfig?.apiClient ?? defaultApiClient;\n\n useEffect(() => {\n async function fetchVersion() {\n try {\n const { version, latestVersion } = await getVersion(apiClient);\n\n setVersion(version);\n setLatestVersion(latestVersion);\n } catch (error) {\n console.error(\"Error fetching version number:\", error);\n }\n }\n void fetchVersion();\n }, [apiClient]);\n\n return { version, latestVersion };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"api-CVxyKUGP.js","names":["RUN_TYPES: readonly RunType[]","RUN_TYPES_WITH_REF: readonly RunType[]","defaultApiClient","version","latestVersion"],"sources":["../src/api/types/run.ts","../src/api/runs.ts","../src/api/adhocQuery.ts","../src/api/checkEvents.ts","../src/api/checks.ts","../src/api/cll.ts","../src/api/info.ts","../src/api/lineagecheck.ts","../src/api/rowcount.ts","../src/api/models.ts","../src/api/profile.ts","../src/api/schemacheck.ts","../src/api/select.ts","../src/api/state.ts","../src/api/storageKeys.ts","../src/api/valuediff.ts","../src/api/version.ts"],"sourcesContent":["// packages/ui/src/api/types/run.ts\n// Run types for @datarecce/ui API layer\n// These types define the structure of run objects and their variants\n\nimport type {\n QueryDiffParams,\n QueryDiffResult,\n QueryResult,\n QueryRunParams,\n} from \"../adhocQuery\";\nimport type { LineageDiffResult } from \"../info\";\n// Import param/result types from API modules\nimport type {\n HistogramDiffParams,\n HistogramDiffResult,\n ProfileDiffParams,\n ProfileDiffResult,\n TopKDiffParams,\n TopKDiffResult,\n} from \"../profile\";\nimport type {\n RowCountDiffParams,\n RowCountDiffResult,\n RowCountParams,\n RowCountResult,\n} from \"../rowcount\";\nimport type {\n ValueDiffDetailParams,\n ValueDiffDetailResult,\n ValueDiffParams,\n ValueDiffResult,\n} from \"../valuediff\";\n\n// ============================================================================\n// Run Type Enum\n// ============================================================================\n\n/**\n * All possible run types in the Recce system.\n * This is the canonical definition - consumers should import from here.\n */\nexport type RunType =\n | \"simple\"\n | \"sandbox\"\n | \"query\"\n | \"query_base\"\n | \"query_diff\"\n | \"value_diff\"\n | \"value_diff_detail\"\n | \"schema_diff\"\n | \"profile\"\n | \"profile_diff\"\n | \"row_count\"\n | \"row_count_diff\"\n | \"lineage_diff\"\n | \"top_k_diff\"\n | \"histogram_diff\";\n\n// ============================================================================\n// Run Status Types\n// ============================================================================\n\n/**\n * Possible status values for a run\n */\nexport type RunStatus = \"Finished\" | \"Failed\" | \"Cancelled\" | \"Running\";\n\n/**\n * Progress information for a running task\n */\nexport interface RunProgress {\n message?: string;\n percentage?: number;\n}\n\n// ============================================================================\n// Base Run Interface\n// ============================================================================\n\n/**\n * Base interface for all run objects.\n * All run variants extend this interface with specific params and results.\n */\nexport interface BaseRun {\n /** The type of run - determines params/result structure */\n type: RunType;\n /** Unique identifier for this run */\n run_id: string;\n /** ISO timestamp when the run was executed */\n run_at: string;\n /** Optional human-readable name for the run */\n name?: string;\n /** ID of the check this run belongs to, if any */\n check_id?: string;\n /** Progress information for running tasks */\n progress?: RunProgress;\n /** Error message if the run failed */\n error?: string;\n /** Current status of the run */\n status?: RunStatus;\n}\n\n// ============================================================================\n// Run Param Types (without external dependencies)\n// ============================================================================\n\n/**\n * Schema diff params - used by schema_diff runs\n * Compares schema between base and current environments\n */\nexport interface SchemaDiffParams {\n /** Node ID(s) to compare - can be single or multiple */\n node_id?: string | string[];\n /** dbt select syntax for filtering nodes */\n select?: string;\n /** dbt exclude syntax for filtering nodes */\n exclude?: string;\n /** Package names to include */\n packages?: string[];\n /** View mode - show all models or only changed ones */\n view_mode?: \"all\" | \"changed_models\";\n}\n\n/**\n * Lineage diff params - used by lineage_diff runs\n * Compares lineage graph between base and current environments\n */\nexport interface LineageDiffParams {\n /** dbt select syntax for filtering nodes */\n select?: string;\n /** dbt exclude syntax for filtering nodes */\n exclude?: string;\n /** Package names to include */\n packages?: string[];\n /** View mode - show all models or only changed ones */\n view_mode?: \"all\" | \"changed_models\";\n}\n\n// ============================================================================\n// Run Param Types - Union of all possible run parameters\n// ============================================================================\n\n/**\n * Union of all possible run parameter types.\n * Use this when you need to accept any run params type.\n */\nexport type RunParamTypes =\n | QueryRunParams\n | QueryDiffParams\n | ValueDiffParams\n | ValueDiffDetailParams\n | SchemaDiffParams\n | ProfileDiffParams\n | RowCountParams\n | RowCountDiffParams\n | LineageDiffParams\n | TopKDiffParams\n | HistogramDiffParams\n | undefined;\n\n// ============================================================================\n// Run - Full Discriminated Union Type\n// ============================================================================\n\n/**\n * Run type with full discriminated union for type narrowing.\n * TypeScript can narrow params/result types based on the `type` field.\n *\n * Example:\n * ```ts\n * if (run.type === \"query_diff\") {\n * // TypeScript knows run.result is QueryDiffResult | undefined\n * console.log(run.result?.diff);\n * }\n * ```\n */\nexport type Run =\n | (BaseRun & {\n type: \"simple\";\n params?: undefined;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"sandbox\";\n params?: undefined;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"query\";\n params?: QueryRunParams;\n result?: QueryResult;\n })\n | (BaseRun & {\n type: \"query_base\";\n params?: QueryRunParams;\n result?: QueryResult;\n })\n | (BaseRun & {\n type: \"query_diff\";\n params?: QueryDiffParams;\n result?: QueryDiffResult;\n })\n | (BaseRun & {\n type: \"value_diff\";\n params?: ValueDiffParams;\n result?: ValueDiffResult;\n })\n | (BaseRun & {\n type: \"value_diff_detail\";\n params?: ValueDiffDetailParams;\n result?: ValueDiffDetailResult;\n })\n | (BaseRun & {\n type: \"schema_diff\";\n params?: SchemaDiffParams;\n result?: undefined;\n })\n | (BaseRun & {\n type: \"profile\";\n params?: ProfileDiffParams;\n result?: ProfileDiffResult;\n })\n | (BaseRun & {\n type: \"profile_diff\";\n params?: ProfileDiffParams;\n result?: ProfileDiffResult;\n })\n | (BaseRun & {\n type: \"row_count\";\n params?: RowCountParams;\n result?: RowCountResult;\n })\n | (BaseRun & {\n type: \"row_count_diff\";\n params?: RowCountDiffParams;\n result?: RowCountDiffResult;\n })\n | (BaseRun & {\n type: \"lineage_diff\";\n params?: LineageDiffParams;\n result?: LineageDiffResult;\n })\n | (BaseRun & {\n type: \"top_k_diff\";\n params?: TopKDiffParams;\n result?: TopKDiffResult;\n })\n | (BaseRun & {\n type: \"histogram_diff\";\n params?: HistogramDiffParams;\n result?: HistogramDiffResult;\n });\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\n/**\n * Type guard for simple runs\n */\nexport function isSimpleRun(run: Run): run is Run & { type: \"simple\" } {\n return run.type === \"simple\";\n}\n\n/**\n * Type guard for sandbox runs\n */\nexport function isSandboxRun(run: Run): run is Run & { type: \"sandbox\" } {\n return run.type === \"sandbox\";\n}\n\n/**\n * Type guard for query runs\n */\nexport function isQueryRun(run: Run): run is Run & { type: \"query\" } {\n return run.type === \"query\";\n}\n\n/**\n * Type guard for query_base runs\n */\nexport function isQueryBaseRun(run: Run): run is Run & { type: \"query_base\" } {\n return run.type === \"query_base\";\n}\n\n/**\n * Type guard for query_diff runs\n */\nexport function isQueryDiffRun(run: Run): run is Run & { type: \"query_diff\" } {\n return run.type === \"query_diff\";\n}\n\n/**\n * Type guard for value_diff runs\n */\nexport function isValueDiffRun(run: Run): run is Run & { type: \"value_diff\" } {\n return run.type === \"value_diff\";\n}\n\n/**\n * Type guard for value_diff_detail runs\n */\nexport function isValueDiffDetailRun(\n run: Run,\n): run is Run & { type: \"value_diff_detail\" } {\n return run.type === \"value_diff_detail\";\n}\n\n/**\n * Type guard for schema_diff runs\n */\nexport function isSchemaDiffRun(\n run: Run,\n): run is Run & { type: \"schema_diff\" } {\n return run.type === \"schema_diff\";\n}\n\n/**\n * Type guard for profile runs\n */\nexport function isProfileRun(run: Run): run is Run & { type: \"profile\" } {\n return run.type === \"profile\";\n}\n\n/**\n * Type guard for profile_diff runs\n */\nexport function isProfileDiffRun(\n run: Run,\n): run is Run & { type: \"profile_diff\" } {\n return run.type === \"profile_diff\";\n}\n\n/**\n * Type guard for row_count runs\n */\nexport function isRowCountRun(run: Run): run is Run & { type: \"row_count\" } {\n return run.type === \"row_count\";\n}\n\n/**\n * Type guard for row_count_diff runs\n */\nexport function isRowCountDiffRun(\n run: Run,\n): run is Run & { type: \"row_count_diff\" } {\n return run.type === \"row_count_diff\";\n}\n\n/**\n * Type guard for lineage_diff runs\n */\nexport function isLineageDiffRun(\n run: Run,\n): run is Run & { type: \"lineage_diff\" } {\n return run.type === \"lineage_diff\";\n}\n\n/**\n * Type guard for top_k_diff runs\n */\nexport function isTopKDiffRun(run: Run): run is Run & { type: \"top_k_diff\" } {\n return run.type === \"top_k_diff\";\n}\n\n/**\n * Type guard for histogram_diff runs\n */\nexport function isHistogramDiffRun(\n run: Run,\n): run is Run & { type: \"histogram_diff\" } {\n return run.type === \"histogram_diff\";\n}\n\n// ============================================================================\n// Utility Types\n// ============================================================================\n\n/**\n * Array of all run type values - useful for iteration and validation\n */\nexport const RUN_TYPES: readonly RunType[] = [\n \"simple\",\n \"sandbox\",\n \"query\",\n \"query_base\",\n \"query_diff\",\n \"value_diff\",\n \"value_diff_detail\",\n \"schema_diff\",\n \"profile\",\n \"profile_diff\",\n \"row_count\",\n \"row_count_diff\",\n \"lineage_diff\",\n \"top_k_diff\",\n \"histogram_diff\",\n] as const;\n\n/**\n * Check if a string is a valid RunType\n */\nexport function isValidRunType(value: string): value is RunType {\n return RUN_TYPES.includes(value as RunType);\n}\n\n/**\n * Run types that support screenshot/ref functionality.\n * These are run types that render a visual result view with forwardRef support.\n */\nconst RUN_TYPES_WITH_REF: readonly RunType[] = [\n \"query\",\n \"query_base\",\n \"query_diff\",\n \"row_count\",\n \"row_count_diff\",\n \"profile\",\n \"profile_diff\",\n \"value_diff\",\n \"value_diff_detail\",\n \"top_k_diff\",\n \"histogram_diff\",\n] as const;\n\n/**\n * Check if a run type supports ref forwarding (for screenshots).\n * Run types with refs can capture screenshots of their result views.\n */\nexport function runTypeHasRef(runType: RunType): boolean {\n return RUN_TYPES_WITH_REF.includes(runType);\n}\n","import type { AxiosInstance, AxiosResponse } from \"axios\";\nimport { isQueryRun, type Run, type RunType } from \"./types\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Aggregated run results by model and run type\n */\nexport type RunsAggregated = Record<\n string,\n Record<\n \"row_count_diff\" | \"value_diff\" | \"row_count\",\n {\n run_id: string;\n result: unknown;\n }\n >\n>;\n\n/**\n * Properties for tracking run submissions (analytics)\n */\nexport interface SubmitRunTrackProps {\n breaking_change_analysis?: boolean;\n source?: \"lineage_model_node\" | \"lineage_column_node\";\n [key: string]: unknown;\n}\n\n/**\n * Options for submitting a run\n */\nexport interface SubmitOptions {\n nowait?: boolean;\n trackProps?: SubmitRunTrackProps;\n}\n\n// ============================================================================\n// Core Run API Functions\n// ============================================================================\n\n/**\n * Submit a new run of the specified type.\n * @param type - The type of run to execute\n * @param params - Parameters specific to the run type\n * @param options - Submission options (nowait, tracking)\n * @param client - Required axios instance (no default - library pattern)\n * @returns The created run, or just run_id if nowait is true\n */\nexport async function submitRun(\n type: RunType,\n params: unknown,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n): Promise<Run | Pick<Run, \"run_id\">> {\n const track_props = options?.trackProps ? { ...options.trackProps } : {};\n // NOTE: Removed getExperimentTrackingBreakingChangeEnabled() - OSS-specific\n\n const response = await client.post<\n unknown,\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(\"/api/runs\", {\n type,\n params,\n nowait: options?.nowait,\n track_props,\n });\n\n return response.data;\n}\n\n/**\n * Get a run by ID.\n * @param runId - The ID of the run to retrieve\n * @param client - Required axios instance\n * @returns The run object\n */\nexport async function getRun(\n runId: string,\n client: AxiosInstance,\n): Promise<Run> {\n const response = await client.get<never, AxiosResponse<Run>>(\n `/api/runs/${runId}`,\n );\n return response.data;\n}\n\n/**\n * Wait for a run to complete.\n * @param runId - The ID of the run to wait for\n * @param timeout - Optional timeout in seconds\n * @param client - Required axios instance\n * @returns The completed run object with result\n */\nexport async function waitRun(\n runId: string,\n timeout: number | undefined,\n client: AxiosInstance,\n): Promise<Run> {\n const response = await client.get<unknown, AxiosResponse<Run>>(\n `/api/runs/${runId}/wait`,\n { params: { timeout } },\n );\n return mutateAddKey(response.data);\n}\n\n/**\n * Cancel a running run.\n * @param runId - The ID of the run to cancel\n * @param client - Required axios instance\n */\nexport async function cancelRun(\n runId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.post(`/api/runs/${runId}/cancel`);\n}\n\n/**\n * Submit a run from an existing check.\n * Re-runs the check with its stored parameters.\n * @param checkId - The ID of the check to run\n * @param options - Submission options (nowait)\n * @param client - Required axios instance\n * @returns The created run, or just run_id if nowait is true\n */\nexport async function submitRunFromCheck(\n checkId: string,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n): Promise<Run | Pick<Run, \"run_id\">> {\n const response = await client.post<\n unknown,\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(`/api/checks/${checkId}/run`, {\n nowait: options?.nowait,\n });\n return response.data;\n}\n\n/**\n * Search for runs matching criteria.\n * @param type - The run type to search for\n * @param params - Parameters to match against run params\n * @param limit - Maximum number of results to return\n * @param client - Required axios instance\n * @returns Array of matching runs\n */\nexport async function searchRuns(\n type: string,\n params: Record<string, unknown> | undefined,\n limit: number | undefined,\n client: AxiosInstance,\n): Promise<Run[]> {\n const response = await client.post<unknown, AxiosResponse<Run[]>>(\n \"/api/runs/search\",\n { type, params, limit },\n );\n return response.data;\n}\n\n/**\n * List all runs.\n * @param client - Required axios instance\n * @returns Array of all runs\n */\nexport async function listRuns(client: AxiosInstance): Promise<Run[]> {\n const response = await client.get<never, AxiosResponse<Run[]>>(\"/api/runs\");\n return response.data;\n}\n\n/**\n * Aggregate runs from API.\n * Returns run results grouped by model and run type.\n * @param client - Required axios instance\n * @returns Aggregated run results\n */\nexport async function aggregateRuns(\n client: AxiosInstance,\n): Promise<RunsAggregated> {\n const response = await client.post<unknown, AxiosResponse<RunsAggregated>>(\n \"/api/runs/aggregate\",\n {},\n );\n return response.data;\n}\n\n// ============================================================================\n// Internal Helpers\n// ============================================================================\n\n/**\n * Internal helper to add key to query result columns.\n * Query results may have columns without a key property set.\n * This ensures all columns have a key for data grid rendering.\n */\nfunction mutateAddKey(run: Run): Run {\n if (run.result == null) {\n return run;\n }\n if (isQueryRun(run) && run.result) {\n // Type narrowing - run.result structure for query runs\n const result = run.result as {\n columns?: Array<{ key?: string; name: string }>;\n };\n if (result.columns) {\n result.columns = result.columns.map((c) => {\n if (c.key) return c;\n return { ...c, key: c.name };\n });\n }\n }\n return run;\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Query Types\n// ============================================================================\n\nexport interface QueryRunParams {\n sql_template: string;\n}\n\nexport type QueryResult = DataFrame;\n\nexport interface QueryViewOptions {\n pinned_columns?: string[];\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// Query Diff Types\n// ============================================================================\n\nexport interface QueryDiffParams {\n sql_template: string;\n base_sql_template?: string;\n primary_keys?: string[];\n}\n\nexport interface QueryDiffResult {\n base?: DataFrame;\n current?: DataFrame;\n diff?: DataFrame;\n}\n\nexport interface QueryDiffViewOptions {\n changed_only?: boolean;\n primary_keys?: string[];\n pinned_columns?: string[];\n display_mode?: \"inline\" | \"side_by_side\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// Preview Change Types\n// ============================================================================\n\nexport interface QueryPreviewChangeParams {\n current_model?: string;\n sql_template: string;\n primary_keys?: string[];\n}\n\nexport interface QueryParams\n extends QueryRunParams,\n QueryDiffParams,\n QueryPreviewChangeParams {}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitQuery(\n params: QueryRunParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query\", params, options, client);\n}\n\nexport async function submitQueryBase(\n params: QueryRunParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query_base\", params, options, client);\n}\n\nexport async function submitQueryDiff(\n params: QueryDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"query_diff\", params, options, client);\n}\n","/**\n * Check Events API - Types and Client Functions\n *\n * Provides timeline/conversation functionality for Checks, enabling\n * GitHub PR-style discussions with comments and automatic tracking\n * of state changes.\n *\n * NOTE: This feature is only available when connected to Recce Cloud.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\n\n// ============================================================================\n// Event Types\n// ============================================================================\n\nexport type CheckEventType =\n | \"check_created\"\n | \"comment\"\n | \"approval_change\"\n | \"description_change\"\n | \"name_change\"\n | \"preset_applied\";\n\nexport type ActorType = \"user\" | \"recce_ai\" | \"preset_system\";\n\n// ============================================================================\n// Actor Interface\n// ============================================================================\n\nexport interface CheckEventActor {\n type: ActorType;\n user_id: number | null;\n login: string | null;\n fullname: string | null;\n}\n\n// ============================================================================\n// Check Event Interface\n// ============================================================================\n\nexport interface CheckEvent {\n id: string;\n check_id: string;\n event_type: CheckEventType;\n actor: CheckEventActor;\n content: string | null;\n old_value: string | null;\n new_value: string | null;\n is_edited: boolean;\n is_deleted: boolean;\n created_at: string;\n updated_at: string;\n}\n\n// ============================================================================\n// Request/Response Types\n// ============================================================================\n\nexport interface CreateCommentRequest {\n content: string;\n}\n\nexport interface UpdateCommentRequest {\n content: string;\n}\n\nexport interface CheckEventsListResponse {\n events: CheckEvent[];\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * List all events for a check in chronological order.\n *\n * @param checkId - The check ID\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to array of CheckEvent objects\n */\nexport async function listCheckEvents(\n checkId: string,\n client: AxiosInstance,\n): Promise<CheckEvent[]> {\n const response = await client.get<never, AxiosResponse<CheckEvent[]>>(\n `/api/checks/${checkId}/events`,\n );\n return response.data;\n}\n\n/**\n * Get a specific event by ID.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to a CheckEvent object\n */\nexport async function getCheckEvent(\n checkId: string,\n eventId: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.get<never, AxiosResponse<CheckEvent>>(\n `/api/checks/${checkId}/events/${eventId}`,\n );\n return response.data;\n}\n\n/**\n * Create a new comment on a check.\n *\n * @param checkId - The check ID\n * @param content - The comment content (plain text for now, markdown later)\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created CheckEvent\n */\nexport async function createComment(\n checkId: string,\n content: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.post<\n CreateCommentRequest,\n AxiosResponse<CheckEvent>\n >(`/api/checks/${checkId}/events`, { content });\n return response.data;\n}\n\n/**\n * Update an existing comment.\n * Only the author or an admin can update a comment.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID of the comment to update\n * @param content - The new comment content\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the updated CheckEvent\n */\nexport async function updateComment(\n checkId: string,\n eventId: string,\n content: string,\n client: AxiosInstance,\n): Promise<CheckEvent> {\n const response = await client.patch<\n UpdateCommentRequest,\n AxiosResponse<CheckEvent>\n >(`/api/checks/${checkId}/events/${eventId}`, { content });\n return response.data;\n}\n\n/**\n * Delete a comment (soft delete).\n * Only the author or an admin can delete a comment.\n *\n * @param checkId - The check ID\n * @param eventId - The event ID of the comment to delete\n * @param client - Axios instance for API configuration\n * @returns Promise resolving when deletion is complete\n */\nexport async function deleteComment(\n checkId: string,\n eventId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.delete(`/api/checks/${checkId}/events/${eventId}`);\n}\n\n// ============================================================================\n// Type Guards\n// ============================================================================\n\nexport function isCommentEvent(event: CheckEvent): boolean {\n return event.event_type === \"comment\";\n}\n\nexport function isStateChangeEvent(event: CheckEvent): boolean {\n return (\n event.event_type === \"approval_change\" ||\n event.event_type === \"description_change\" ||\n event.event_type === \"name_change\"\n );\n}\n\nexport function isSystemEvent(event: CheckEvent): boolean {\n return (\n event.event_type === \"check_created\" ||\n event.event_type === \"preset_applied\"\n );\n}\n\n// ============================================================================\n// Display Helpers\n// ============================================================================\n\n/**\n * Get a human-readable description of an event for display.\n */\nexport function getEventDescription(event: CheckEvent): string {\n const actorName = event.actor.fullname || event.actor.login || \"Someone\";\n\n switch (event.event_type) {\n case \"check_created\":\n return `${actorName} created this check`;\n case \"comment\":\n if (event.is_deleted) {\n return \"Comment deleted\";\n }\n return event.content || \"\";\n case \"approval_change\":\n if (event.new_value === \"true\") {\n return `${actorName} approved this check`;\n }\n return `${actorName} unapproved this check`;\n case \"description_change\":\n return `${actorName} updated the description`;\n case \"name_change\":\n return `${actorName} renamed this check`;\n case \"preset_applied\":\n return `${actorName} applied a preset`;\n default:\n return `${actorName} made a change`;\n }\n}\n\n/**\n * Get the appropriate icon name for an event type.\n * Returns a string that can be used with react-icons.\n */\nexport function getEventIconType(\n event: CheckEvent,\n): \"comment\" | \"approve\" | \"unapprove\" | \"edit\" | \"create\" | \"preset\" {\n switch (event.event_type) {\n case \"check_created\":\n return \"create\";\n case \"comment\":\n return \"comment\";\n case \"approval_change\":\n return event.new_value === \"true\" ? \"approve\" : \"unapprove\";\n case \"description_change\":\n case \"name_change\":\n return \"edit\";\n case \"preset_applied\":\n return \"preset\";\n default:\n return \"edit\";\n }\n}\n","\"use client\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport axios, { type AxiosInstance, type AxiosResponse } from \"axios\";\nimport { useApiConfigOptional } from \"../providers/contexts/ApiContext\";\nimport { cacheKeys } from \"./cacheKeys\";\nimport type { Run, RunType } from \"./types\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * A check object representing a saved validation check.\n * @template PT - The type of params for this check\n * @template VO - The type of view options for this check\n */\nexport interface Check<PT = unknown, VO = unknown> {\n check_id: string;\n name: string;\n description?: string;\n type: RunType;\n params?: PT;\n view_options?: VO;\n is_checked?: boolean;\n is_preset?: boolean;\n last_run?: Run;\n}\n\n/**\n * Request body for creating a new check.\n */\nexport interface CreateCheckBody {\n name?: string;\n description?: string;\n run_id?: string;\n type?: RunType;\n params?: Record<string, unknown>;\n view_options?: Record<string, unknown>;\n track_props?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Default Client (for hooks used outside RecceProvider)\n// ============================================================================\n\n/**\n * Default axios client for hooks that may be used outside RecceProvider.\n * This is a fallback - components inside RecceProvider will use the configured client.\n */\nconst defaultApiClient = axios.create();\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\n/**\n * Create a simple check (no run association).\n * @param client - Required axios instance\n * @returns The created check\n */\nexport async function createSimpleCheck(client: AxiosInstance): Promise<Check> {\n const response = await client.post<CreateCheckBody, AxiosResponse<Check>>(\n \"/api/checks\",\n {\n type: \"simple\",\n },\n );\n return response.data;\n}\n\n/**\n * Create a check from an existing run.\n * @param runId - The ID of the run to create a check from\n * @param viewOptions - Optional view options for the check\n * @param client - Required axios instance\n * @returns The created check\n */\nexport async function createCheckByRun(\n runId: string,\n viewOptions: Record<string, unknown> | undefined,\n client: AxiosInstance,\n): Promise<Check> {\n // NOTE: Removed getExperimentTrackingBreakingChangeEnabled() - OSS-specific\n const response = await client.post<CreateCheckBody, AxiosResponse<Check>>(\n \"/api/checks\",\n {\n run_id: runId,\n view_options: viewOptions,\n },\n );\n return response.data;\n}\n\n/**\n * List all checks.\n * @param client - Required axios instance\n * @returns Array of all checks\n */\nexport async function listChecks(client: AxiosInstance): Promise<Check[]> {\n return (await client.get<never, AxiosResponse<Check[]>>(\"/api/checks\")).data;\n}\n\n/**\n * Get a check by ID.\n * @param checkId - The ID of the check to retrieve\n * @param client - Required axios instance\n * @returns The check object\n */\nexport async function getCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.get<never, AxiosResponse<Check>>(\n `/api/checks/${checkId}`,\n );\n return response.data;\n}\n\n/**\n * Update an existing check.\n * @param checkId - The ID of the check to update\n * @param payload - Partial check data to update\n * @param client - Required axios instance\n * @returns The updated check\n */\nexport async function updateCheck(\n checkId: string,\n payload: Partial<Check>,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.patch<Partial<Check>, AxiosResponse<Check>>(\n `/api/checks/${checkId}`,\n payload,\n );\n return response.data;\n}\n\n/**\n * Delete a check.\n * @param checkId - The ID of the check to delete\n * @param client - Required axios instance\n * @returns The deleted check ID\n */\nexport async function deleteCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<Pick<Check, \"check_id\">> {\n const response = await client.delete<\n never,\n AxiosResponse<Pick<Check, \"check_id\">>\n >(`/api/checks/${checkId}`);\n return response.data;\n}\n\n/**\n * Reorder checks.\n * @param order - Source and destination indices\n * @param client - Required axios instance\n */\nexport async function reorderChecks(\n order: {\n source: number;\n destination: number;\n },\n client: AxiosInstance,\n): Promise<void> {\n await client.post(\"/api/checks/reorder\", order);\n}\n\n/**\n * Mark a check as a preset check.\n * @param checkId - The ID of the check to mark as preset\n * @param client - Required axios instance\n */\nexport async function markAsPresetCheck(\n checkId: string,\n client: AxiosInstance,\n): Promise<void> {\n await client.post(`/api/checks/${checkId}/mark-as-preset`);\n}\n\n// ============================================================================\n// Hooks\n// ============================================================================\n\n/**\n * Hook to fetch and cache the list of checks.\n * Can be used outside RecceProvider with a fallback to default axios client.\n *\n * @param enabled - Whether the query should be enabled\n * @returns TanStack Query result with checks data\n */\nexport function useChecks(enabled: boolean) {\n const apiConfig = useApiConfigOptional();\n const apiClient = apiConfig?.apiClient ?? defaultApiClient;\n\n return useQuery({\n queryKey: cacheKeys.checks(),\n queryFn: () => listChecks(apiClient),\n enabled,\n });\n}\n","/**\n * Column-Level Lineage (CLL) API - Types and Client Functions\n *\n * Provides column-level lineage analysis functionality for data models.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { NodeColumnData } from \"./info\";\n\n// ============================================================================\n// Input Types\n// ============================================================================\n\nexport interface CllInput {\n node_id?: string;\n column?: string;\n change_analysis?: boolean;\n no_cll?: boolean;\n no_upstream?: boolean;\n no_downstream?: boolean;\n}\n\nexport interface ImpactRadiusParams {\n node_id: string;\n}\n\n// ============================================================================\n// Result Types\n// ============================================================================\n\nexport interface CllNodeData {\n id: string;\n name: string;\n source_name: string;\n resource_type: string;\n raw_code?: string;\n change_status?: \"added\" | \"removed\" | \"modified\";\n change_category?:\n | \"breaking\"\n | \"non_breaking\"\n | \"partial_breaking\"\n | \"unknown\";\n impacted?: boolean;\n columns?: Record<string, NodeColumnData>;\n}\n\nexport interface ColumnLineageData {\n current: {\n nodes: Record<string, CllNodeData>;\n columns: Record<string, NodeColumnData>;\n /** JSON arrays from API - iterable like Set but properly typed */\n parent_map: Record<string, string[]>;\n /** JSON arrays from API - iterable like Set but properly typed */\n child_map: Record<string, string[]>;\n };\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Get column-level lineage data.\n *\n * @param input - CLL input parameters\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to column lineage data\n */\nexport async function getCll(\n input: CllInput,\n client: AxiosInstance,\n): Promise<ColumnLineageData> {\n const response = await client.post<\n CllInput,\n AxiosResponse<ColumnLineageData>\n >(\"/api/cll\", input);\n\n return response.data;\n}\n","import type { AxiosInstance, AxiosResponse } from \"axios\";\n\n/**\n * Column-level data for a node\n */\nexport interface NodeColumnData {\n name: string;\n type: string;\n transformation_type?: string;\n change_status?: \"added\" | \"removed\" | \"modified\";\n not_null?: boolean;\n unique?: boolean;\n}\n\n/**\n * Node data within lineage\n */\nexport interface NodeData {\n id: string;\n unique_id: string;\n name: string;\n schema?: string;\n checksum?: {\n name: string;\n checksum: string;\n };\n raw_code?: string;\n resource_type?: string;\n package_name?: string;\n columns?: Record<string, NodeColumnData | undefined>;\n primary_key?: string;\n}\n\n/**\n * dbt artifact metadata\n * @see https://docs.getdbt.com/reference/artifacts/dbt-artifacts#common-metadata\n */\ninterface ArtifactMetadata {\n dbt_version: string;\n dbt_schema_version: string;\n generated_at: string;\n adapter_type: string;\n env: Record<string, string>;\n invocation_id: string;\n}\n\n/**\n * Manifest metadata extends artifact metadata\n */\nexport interface ManifestMetadata extends ArtifactMetadata {\n project_id?: string;\n project_name?: string;\n user_id?: string;\n}\n\n/**\n * SQLMesh environment info\n */\nexport interface SQLMeshInfo {\n base_env: string;\n current_env: string;\n}\n\nexport type CatalogMetadata = ArtifactMetadata;\n\n/**\n * Lineage data structure\n */\nexport interface LineageData {\n metadata: {\n pr_url: string;\n git_branch?: string;\n };\n nodes: Record<string, NodeData>;\n parent_map: Record<string, string[]>;\n manifest_metadata?: ManifestMetadata | null;\n catalog_metadata?: CatalogMetadata | null;\n}\n\nexport interface LineageDataFromMetadata extends Omit<LineageData, \"nodes\"> {\n nodes: Record<string, NodeData | undefined>;\n}\n\n/**\n * Lineage diff data\n */\nexport type LineageDiffData = Record<\n string,\n {\n change_status: \"added\" | \"removed\" | \"modified\";\n change: {\n category: \"breaking\" | \"non_breaking\" | \"partial_breaking\" | \"unknown\";\n columns: Record<string, \"added\" | \"removed\" | \"modified\"> | null;\n } | null;\n }\n>;\n\n/**\n * Lineage diff result from lineage_diff run type\n */\nexport interface LineageDiffResult {\n base?: LineageData;\n current?: LineageData;\n base_error?: string;\n current_error?: string;\n}\n\n/**\n * State metadata for recce state file\n */\nexport interface StateMetadata {\n schema_version: string;\n recce_version: string;\n generated_at: string;\n}\n\n/**\n * Git information\n */\nexport interface GitInfo {\n branch?: string;\n}\n\n/**\n * Pull request information\n */\nexport interface PullRequestInfo {\n id?: string | number;\n title?: string;\n url?: string;\n branch?: string;\n base_branch?: string;\n}\n\n/**\n * Server info result from /api/info endpoint\n */\nexport interface ServerInfoResult {\n state_metadata: StateMetadata;\n adapter_type: string;\n review_mode: boolean;\n cloud_mode: boolean;\n file_mode: boolean;\n filename?: string;\n git?: GitInfo;\n pull_request?: PullRequestInfo;\n sqlmesh?: SQLMeshInfo;\n lineage: {\n base: LineageData;\n current: LineageData;\n diff: LineageDiffData;\n };\n demo: boolean;\n codespace: boolean;\n support_tasks: Record<string, boolean>;\n}\n\n/**\n * Fetch server info from API\n */\nexport async function getServerInfo(\n client: AxiosInstance,\n): Promise<ServerInfoResult> {\n const response = await client.get<never, AxiosResponse<ServerInfoResult>>(\n \"/api/info\",\n );\n return response.data;\n}\n\n/**\n * Model info result from /api/model/:model endpoint\n */\nexport interface ModelInfoResult {\n model: {\n base: {\n columns?: Record<string, NodeColumnData>;\n primary_key?: string;\n };\n current: {\n columns?: Record<string, NodeColumnData>;\n primary_key?: string;\n };\n };\n}\n\n/**\n * Fetch model info (columns and primary key) from API\n */\nexport async function getModelInfo(\n model: string,\n client: AxiosInstance,\n): Promise<ModelInfoResult> {\n const response = await client.get<never, AxiosResponse<ModelInfoResult>>(\n `/api/model/${model}`,\n );\n return response.data;\n}\n","/**\n * Lineage Check API - Types and Client Functions\n *\n * Provides functionality for creating lineage diff checks.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { Check } from \"./checks\";\nimport type { CllInput } from \"./cll\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface LineageDiffViewOptions {\n view_mode?: \"changed_models\" | \"all\";\n node_ids?: string[];\n packages?: string[];\n select?: string;\n exclude?: string;\n column_level_lineage?: CllInput;\n}\n\ninterface CreateLineageDiffCheckBody {\n type: string;\n params: Record<string, string | boolean | number>;\n view_options: LineageDiffViewOptions;\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Create a lineage diff check.\n *\n * @param viewOptions - View options for the lineage diff\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created check\n */\nexport async function createLineageDiffCheck(\n viewOptions: LineageDiffViewOptions,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.post<\n CreateLineageDiffCheckBody,\n AxiosResponse<Check>\n >(\"/api/checks\", {\n type: \"lineage_diff\",\n params: {},\n view_options: viewOptions,\n });\n\n return response.data;\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\n\n// ============================================================================\n// Row Count Types\n// ============================================================================\n\nexport interface RowCountParams {\n node_names: string[];\n}\n\nexport interface RowCount {\n name?: string;\n curr: number | null;\n}\n\nexport type RowCountResult = Record<string, RowCount>;\n\n// ============================================================================\n// Row Count Diff Types\n// ============================================================================\n\nexport interface RowCountDiffParams {\n node_names: string[];\n}\n\nexport interface RowCountDiff {\n name?: string;\n base: number | null;\n curr: number | null;\n}\n\nexport type RowCountDiffResult = Record<string, RowCountDiff>;\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitRowCountDiff(\n params: RowCountDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"row_count_diff\", params, options, client);\n}\n","import type { AxiosInstance } from \"axios\";\nimport type { RowCountDiff, RowCountDiffResult } from \"./rowcount\";\nimport { submitRowCountDiff } from \"./rowcount\";\nimport { waitRun } from \"./runs\";\n\n// Re-export for convenience (types are defined in rowcount.ts)\nexport type { RowCountDiff } from \"./rowcount\";\n\n// ============================================================================\n// Model Row Count Types\n// ============================================================================\n\nexport interface QueryRowCountResult {\n runId: string;\n result: RowCountDiffResult;\n}\n\n// ============================================================================\n// Model Row Count API Functions\n// ============================================================================\n\n/**\n * Fetch model row count from the API (cached value).\n * @param modelName - The name of the model\n * @param client - Required axios instance\n * @returns The row count diff for the model\n */\nexport async function fetchModelRowCount(\n modelName: string,\n client: AxiosInstance,\n): Promise<RowCountDiff> {\n const response = await client.get<RowCountDiff>(\n `/api/models/${modelName}/row_count`,\n );\n return response.data;\n}\n\n/**\n * Query model row count by executing a row count diff run.\n * @param modelName - The name of the model\n * @param client - Required axios instance\n * @returns The row count diff for the model\n */\nexport async function queryModelRowCount(\n modelName: string,\n client: AxiosInstance,\n): Promise<RowCountDiff> {\n const { result } = await queryRowCount([modelName], client);\n return result[modelName];\n}\n\n/**\n * Query row counts for multiple models.\n * @param modelNames - Array of model names to query\n * @param client - Required axios instance\n * @returns The run ID and row count diff results for all models\n */\nexport async function queryRowCount(\n modelNames: string[],\n client: AxiosInstance,\n): Promise<QueryRowCountResult> {\n if (modelNames.length === 0) {\n throw new Error(\"No model names provided\");\n }\n\n const { run_id } = await submitRowCountDiff(\n { node_names: modelNames },\n { nowait: true },\n client,\n );\n const run = await waitRun(run_id, undefined, client);\n\n return {\n runId: run_id,\n result: run.result as RowCountDiffResult,\n };\n}\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Profile Diff Types\n// ============================================================================\n\nexport interface ProfileDiffParams {\n model: string;\n columns?: string[];\n}\n\nexport interface ProfileDiffResult {\n base?: DataFrame;\n current?: DataFrame;\n}\n\nexport interface ProfileDiffViewOptions {\n pinned_columns?: string[];\n display_mode?: \"side_by_side\" | \"inline\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitProfileDiff(\n params: ProfileDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"profile_diff\", params, options, client);\n}\n\n// ============================================================================\n// Top-K Types\n// ============================================================================\n\nexport interface TopKDiffParams {\n model: string;\n column_name: string;\n k: number;\n}\n\nexport interface TopKResult {\n values: (string | number | undefined)[];\n counts: number[];\n valids: number;\n}\n\nexport interface TopKDiffResult {\n base: TopKResult;\n current: TopKResult;\n}\n\n/**\n * View options for TopKDiffResultView.\n * Controls display preferences for top-K diff visualization.\n */\nexport interface TopKViewOptions {\n /**\n * When true, show all items instead of just top 10.\n * Default is false (show top 10 only).\n */\n show_all?: boolean;\n}\n\n// ============================================================================\n// Histogram Types\n// ============================================================================\n\nexport interface HistogramDiffParams {\n model: string;\n column_name: string;\n column_type: string;\n}\n\nexport interface HistogramResult {\n counts: number[];\n total: number;\n}\n\nexport interface HistogramDiffResult {\n base: HistogramResult;\n current: HistogramResult;\n min: number;\n max: number;\n bin_edges: number[];\n labels?: string[];\n}\n","/**\n * Schema Check API - Types and Client Functions\n *\n * Provides functionality for creating schema diff checks.\n */\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\nimport type { Check } from \"./checks\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface SchemaDiffViewParams {\n node_id?: string | string[];\n select?: string;\n exclude?: string;\n view_mode?: \"all\" | \"changed_models\";\n packages?: string[];\n}\n\ninterface CreateSchemaDiffCheckBody {\n type: string;\n params: SchemaDiffViewParams;\n}\n\n// ============================================================================\n// API Client Functions\n// ============================================================================\n\n/**\n * Create a schema diff check.\n *\n * @param params - Schema diff parameters\n * @param client - Axios instance for API configuration\n * @returns Promise resolving to the created check\n */\nexport async function createSchemaDiffCheck(\n params: SchemaDiffViewParams,\n client: AxiosInstance,\n): Promise<Check> {\n const response = await client.post<\n CreateSchemaDiffCheckBody,\n AxiosResponse<Check>\n >(\"/api/checks\", {\n type: \"schema_diff\",\n params: params,\n });\n\n return response.data;\n}\n","\"use client\";\n\nimport type { AxiosInstance, AxiosResponse } from \"axios\";\n\nexport interface SelectInput {\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\nexport interface SelectOutput {\n nodes: string[];\n}\n\nexport async function select(\n input: SelectInput,\n client: AxiosInstance,\n): Promise<SelectOutput> {\n return (\n await client.post<SelectInput, AxiosResponse<SelectOutput>>(\n `/api/select`,\n input,\n )\n ).data;\n}\n","\"use client\";\n\nimport { type AxiosInstance, type AxiosResponse, isAxiosError } from \"axios\";\n\nexport interface SaveAsInput {\n filename: string;\n overwrite?: boolean;\n}\n\nexport interface ImportedState {\n runs: number;\n checks: number;\n}\n\nexport async function saveAs(\n input: SaveAsInput,\n client: AxiosInstance,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/save-as\", input)\n ).data;\n}\n\nexport async function rename(\n input: SaveAsInput,\n client: AxiosInstance,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/rename\", input)\n ).data;\n}\n\nexport async function exportState(client: AxiosInstance): Promise<string> {\n return (await client.post<never, AxiosResponse<string>>(\"/api/export\")).data;\n}\n\ninterface ImportStateBody {\n file: File;\n checks_only: \"true\" | \"false\";\n}\n\nexport async function importState(\n file: File,\n checksOnly: boolean | undefined,\n client: AxiosInstance,\n): Promise<ImportedState> {\n const formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"checks_only\", (!!checksOnly).toString());\n\n return (\n await client.post<ImportStateBody, AxiosResponse<ImportedState>>(\n \"/api/import\",\n formData,\n )\n ).data;\n}\n\nexport async function isStateSyncing(client: AxiosInstance): Promise<boolean> {\n const response = await client.get<never, AxiosResponse<boolean>>(\"/api/sync\");\n return response.status === 208;\n}\n\nexport interface SyncStateInput {\n method?: \"overwrite\" | \"revert\" | \"merge\";\n}\n\nexport interface SyncStateResponse {\n status: \"accepted\" | \"conflict\" | \"syncing\";\n}\n\nexport async function syncState(\n input: SyncStateInput,\n client: AxiosInstance,\n): Promise<SyncStateResponse> {\n try {\n const response = await client.post<\n SyncStateInput,\n AxiosResponse<SyncStateResponse>\n >(\"/api/sync\", input);\n\n if (response.status === 202) {\n return {\n status: \"accepted\",\n };\n }\n if (response.status === 208) {\n return {\n status: \"syncing\",\n };\n }\n } catch (error) {\n if (isAxiosError(error)) {\n if (error.response?.status === 409) {\n // 409 conflict case\n return { status: \"conflict\" };\n }\n }\n }\n throw new Error(\"Failed to sync state\");\n}\n\nexport interface ShareStateResponse {\n status: string;\n message: string;\n share_url?: string;\n}\n\nexport async function shareState(\n client: AxiosInstance,\n): Promise<ShareStateResponse> {\n return (\n await client.post<never, AxiosResponse<ShareStateResponse>>(\"/api/share\")\n ).data;\n}\n","\"use client\";\n\nconst localPrefix = \"recce-\";\n\nexport const LOCAL_STORAGE_KEYS = {\n bypassSaveOverwrite: `${localPrefix}-bypass-save-overwrite`,\n previewChangeFeedbackID: `${localPrefix}-preview-change-feedback`,\n prepareEnvGuideID: `${localPrefix}-prepare-env`,\n};\n\nconst sessionPrefix = \"recce\";\n\nexport const SESSION_STORAGE_KEYS = {\n recommendationIgnored: `${sessionPrefix}-recommendation-ignored`,\n recommendationShowed: `${sessionPrefix}-recommendation-showed`,\n prevRefreshTimeStamp: `${sessionPrefix}-prev-refresh-timestamp`,\n lineageNotificationDismissed: `${sessionPrefix}-lineage-notification-dismissed`,\n};\n","import type { AxiosInstance } from \"axios\";\nimport { type SubmitOptions, submitRun } from \"./runs\";\nimport { type ColumnRenderMode, type DataFrame } from \"./types\";\n\n// ============================================================================\n// Value Diff Types\n// ============================================================================\n\nexport interface ValueDiffParams {\n model: string;\n primary_key: string | string[];\n columns?: string[];\n}\n\nexport interface ValueDiffResult {\n summary: {\n total: number;\n added: number;\n removed: number;\n };\n data: DataFrame;\n}\n\n// ============================================================================\n// Value Diff Detail Types\n// ============================================================================\n\nexport type ValueDiffDetailParams = ValueDiffParams;\nexport type ValueDiffDetailResult = DataFrame;\n\nexport interface ValueDiffDetailViewOptions {\n changed_only?: boolean;\n pinned_columns?: string[];\n display_mode?: \"inline\" | \"side_by_side\";\n columnsRenderMode?: Record<string, ColumnRenderMode>;\n}\n\n// ============================================================================\n// API Functions\n// ============================================================================\n\nexport async function submitValueDiff(\n params: ValueDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"value_diff\", params, options, client);\n}\n\nexport async function submitValueDiffDetail(\n params: ValueDiffParams,\n options: SubmitOptions | undefined,\n client: AxiosInstance,\n) {\n return await submitRun(\"value_diff_detail\", params, options, client);\n}\n","\"use client\";\n\nimport axios, { type AxiosInstance, type AxiosResponse } from \"axios\";\nimport { useEffect, useState } from \"react\";\nimport { useApiConfigOptional } from \"../providers/contexts/ApiContext\";\n\nconst defaultApiClient = axios.create();\n\nexport interface VersionResponse {\n version: string;\n latestVersion: string;\n}\n\nexport async function getVersion(\n client: AxiosInstance,\n): Promise<VersionResponse> {\n const response = await client.get<never, AxiosResponse<VersionResponse>>(\n \"/api/version\",\n );\n return response.data;\n}\n\nexport function useVersionNumber() {\n const [version, setVersion] = useState(\"\");\n const [latestVersion, setLatestVersion] = useState(\"\");\n const apiConfig = useApiConfigOptional();\n const apiClient = apiConfig?.apiClient ?? defaultApiClient;\n\n useEffect(() => {\n async function fetchVersion() {\n try {\n const { version, latestVersion } = await getVersion(apiClient);\n\n setVersion(version);\n setLatestVersion(latestVersion);\n } catch (error) {\n console.error(\"Error fetching version number:\", error);\n }\n }\n void fetchVersion();\n }, [apiClient]);\n\n return { version, latestVersion };\n}\n"],"mappings":";4LAoQA,SAAgB,EAAY,EAA2C,CACrE,OAAO,EAAI,OAAS,SAMtB,SAAgB,EAAa,EAA4C,CACvE,OAAO,EAAI,OAAS,UAMtB,SAAgB,EAAW,EAA0C,CACnE,OAAO,EAAI,OAAS,QAMtB,SAAgB,EAAe,EAA+C,CAC5E,OAAO,EAAI,OAAS,aAMtB,SAAgB,EAAe,EAA+C,CAC5E,OAAO,EAAI,OAAS,aAMtB,SAAgB,GAAe,EAA+C,CAC5E,OAAO,EAAI,OAAS,aAMtB,SAAgB,GACd,EAC4C,CAC5C,OAAO,EAAI,OAAS,oBAMtB,SAAgB,GACd,EACsC,CACtC,OAAO,EAAI,OAAS,cAMtB,SAAgB,GAAa,EAA4C,CACvE,OAAO,EAAI,OAAS,UAMtB,SAAgB,GACd,EACuC,CACvC,OAAO,EAAI,OAAS,eAMtB,SAAgB,GAAc,EAA8C,CAC1E,OAAO,EAAI,OAAS,YAMtB,SAAgB,EACd,EACyC,CACzC,OAAO,EAAI,OAAS,iBAMtB,SAAgB,EACd,EACuC,CACvC,OAAO,EAAI,OAAS,eAMtB,SAAgB,EAAc,EAA+C,CAC3E,OAAO,EAAI,OAAS,aAMtB,SAAgB,EACd,EACyC,CACzC,OAAO,EAAI,OAAS,iBAUtB,MAAaA,EAAgC,CAC3C,SACA,UACA,QACA,aACA,aACA,aACA,oBACA,cACA,UACA,eACA,YACA,iBACA,eACA,aACA,iBACD,CAKD,SAAgB,EAAe,EAAiC,CAC9D,OAAO,EAAU,SAAS,EAAiB,CAO7C,MAAMC,EAAyC,CAC7C,QACA,aACA,aACA,YACA,iBACA,UACA,eACA,aACA,oBACA,aACA,iBACD,CAMD,SAAgB,EAAc,EAA2B,CACvD,OAAO,EAAmB,SAAS,EAAQ,CC3X7C,eAAsB,EACpB,EACA,EACA,EACA,EACoC,CACpC,IAAM,EAAc,GAAS,WAAa,CAAE,GAAG,EAAQ,WAAY,CAAG,EAAE,CAaxE,OAViB,MAAM,EAAO,KAG5B,YAAa,CACb,OACA,SACA,OAAQ,GAAS,OACjB,cACD,CAAC,EAEc,KASlB,eAAsB,EACpB,EACA,EACc,CAId,OAHiB,MAAM,EAAO,IAC5B,aAAa,IACd,EACe,KAUlB,eAAsB,EACpB,EACA,EACA,EACc,CAKd,OAAO,GAJU,MAAM,EAAO,IAC5B,aAAa,EAAM,OACnB,CAAE,OAAQ,CAAE,UAAS,CAAE,CACxB,EAC4B,KAAK,CAQpC,eAAsB,EACpB,EACA,EACe,CACf,MAAM,EAAO,KAAK,aAAa,EAAM,SAAS,CAWhD,eAAsB,EACpB,EACA,EACA,EACoC,CAOpC,OANiB,MAAM,EAAO,KAG5B,eAAe,EAAQ,MAAO,CAC9B,OAAQ,GAAS,OAClB,CAAC,EACc,KAWlB,eAAsB,EACpB,EACA,EACA,EACA,EACgB,CAKhB,OAJiB,MAAM,EAAO,KAC5B,mBACA,CAAE,OAAM,SAAQ,QAAO,CACxB,EACe,KAQlB,eAAsB,EAAS,EAAuC,CAEpE,OADiB,MAAM,EAAO,IAAiC,YAAY,EAC3D,KASlB,eAAsB,EACpB,EACyB,CAKzB,OAJiB,MAAM,EAAO,KAC5B,sBACA,EAAE,CACH,EACe,KAYlB,SAAS,EAAa,EAAe,CACnC,GAAI,EAAI,QAAU,KAChB,OAAO,EAET,GAAI,EAAW,EAAI,EAAI,EAAI,OAAQ,CAEjC,IAAM,EAAS,EAAI,OAGnB,AACE,EAAO,UAAU,EAAO,QAAQ,IAAK,GAC/B,EAAE,IAAY,EACX,CAAE,GAAG,EAAG,IAAK,EAAE,KAAM,CAC5B,CAGN,OAAO,ECvJT,eAAsB,EACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,QAAS,EAAQ,EAAS,EAAO,CAG1D,eAAsB,EACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,aAAc,EAAQ,EAAS,EAAO,CAG/D,eAAsB,EACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,aAAc,EAAQ,EAAS,EAAO,CCD/D,eAAsB,EACpB,EACA,EACuB,CAIvB,OAHiB,MAAM,EAAO,IAC5B,eAAe,EAAQ,SACxB,EACe,KAWlB,eAAsB,EACpB,EACA,EACA,EACqB,CAIrB,OAHiB,MAAM,EAAO,IAC5B,eAAe,EAAQ,UAAU,IAClC,EACe,KAWlB,eAAsB,EACpB,EACA,EACA,EACqB,CAKrB,OAJiB,MAAM,EAAO,KAG5B,eAAe,EAAQ,SAAU,CAAE,UAAS,CAAC,EAC/B,KAalB,eAAsB,EACpB,EACA,EACA,EACA,EACqB,CAKrB,OAJiB,MAAM,EAAO,MAG5B,eAAe,EAAQ,UAAU,IAAW,CAAE,UAAS,CAAC,EAC1C,KAYlB,eAAsB,EACpB,EACA,EACA,EACe,CACf,MAAM,EAAO,OAAO,eAAe,EAAQ,UAAU,IAAU,CAOjE,SAAgB,EAAe,EAA4B,CACzD,OAAO,EAAM,aAAe,UAG9B,SAAgB,EAAmB,EAA4B,CAC7D,OACE,EAAM,aAAe,mBACrB,EAAM,aAAe,sBACrB,EAAM,aAAe,cAIzB,SAAgB,EAAc,EAA4B,CACxD,OACE,EAAM,aAAe,iBACrB,EAAM,aAAe,iBAWzB,SAAgB,EAAoB,EAA2B,CAC7D,IAAM,EAAY,EAAM,MAAM,UAAY,EAAM,MAAM,OAAS,UAE/D,OAAQ,EAAM,WAAd,CACE,IAAK,gBACH,MAAO,GAAG,EAAU,qBACtB,IAAK,UAIH,OAHI,EAAM,WACD,kBAEF,EAAM,SAAW,GAC1B,IAAK,kBAIH,OAHI,EAAM,YAAc,OACf,GAAG,EAAU,sBAEf,GAAG,EAAU,wBACtB,IAAK,qBACH,MAAO,GAAG,EAAU,0BACtB,IAAK,cACH,MAAO,GAAG,EAAU,qBACtB,IAAK,iBACH,MAAO,GAAG,EAAU,mBACtB,QACE,MAAO,GAAG,EAAU,iBAQ1B,SAAgB,EACd,EACoE,CACpE,OAAQ,EAAM,WAAd,CACE,IAAK,gBACH,MAAO,SACT,IAAK,UACH,MAAO,UACT,IAAK,kBACH,OAAO,EAAM,YAAc,OAAS,UAAY,YAClD,IAAK,qBACL,IAAK,cACH,MAAO,OACT,IAAK,iBACH,MAAO,SACT,QACE,MAAO,QCtMb,MAAMC,EAAmB,EAAM,QAAQ,CAWvC,eAAsB,EAAkB,EAAuC,CAO7E,OANiB,MAAM,EAAO,KAC5B,cACA,CACE,KAAM,SACP,CACF,EACe,KAUlB,eAAsB,EACpB,EACA,EACA,EACgB,CAShB,OAPiB,MAAM,EAAO,KAC5B,cACA,CACE,OAAQ,EACR,aAAc,EACf,CACF,EACe,KAQlB,eAAsB,EAAW,EAAyC,CACxE,OAAQ,MAAM,EAAO,IAAmC,cAAc,EAAE,KAS1E,eAAsB,EACpB,EACA,EACgB,CAIhB,OAHiB,MAAM,EAAO,IAC5B,eAAe,IAChB,EACe,KAUlB,eAAsB,EACpB,EACA,EACA,EACgB,CAKhB,OAJiB,MAAM,EAAO,MAC5B,eAAe,IACf,EACD,EACe,KASlB,eAAsB,GACpB,EACA,EACkC,CAKlC,OAJiB,MAAM,EAAO,OAG5B,eAAe,IAAU,EACX,KAQlB,eAAsB,GACpB,EAIA,EACe,CACf,MAAM,EAAO,KAAK,sBAAuB,EAAM,CAQjD,eAAsB,GACpB,EACA,EACe,CACf,MAAM,EAAO,KAAK,eAAe,EAAQ,iBAAiB,CAc5D,SAAgB,GAAU,EAAkB,CAE1C,IAAM,EADY,GAAsB,EACX,WAAaA,EAE1C,OAAO,EAAS,CACd,SAAU,EAAU,QAAQ,CAC5B,YAAe,EAAW,EAAU,CACpC,UACD,CAAC,CCrIJ,eAAsB,GACpB,EACA,EAC4B,CAM5B,OALiB,MAAM,EAAO,KAG5B,WAAY,EAAM,EAEJ,KCmFlB,eAAsB,GACpB,EAC2B,CAI3B,OAHiB,MAAM,EAAO,IAC5B,YACD,EACe,KAsBlB,eAAsB,GACpB,EACA,EAC0B,CAI1B,OAHiB,MAAM,EAAO,IAC5B,cAAc,IACf,EACe,KC3JlB,eAAsB,GACpB,EACA,EACgB,CAUhB,OATiB,MAAM,EAAO,KAG5B,cAAe,CACf,KAAM,eACN,OAAQ,EAAE,CACV,aAAc,EACf,CAAC,EAEc,KCflB,eAAsB,EACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,iBAAkB,EAAQ,EAAS,EAAO,CChBnE,eAAsB,GACpB,EACA,EACuB,CAIvB,OAHiB,MAAM,EAAO,IAC5B,eAAe,EAAU,YAC1B,EACe,KASlB,eAAsB,GACpB,EACA,EACuB,CACvB,GAAM,CAAE,UAAW,MAAM,EAAc,CAAC,EAAU,CAAE,EAAO,CAC3D,OAAO,EAAO,GAShB,eAAsB,EACpB,EACA,EAC8B,CAC9B,GAAI,EAAW,SAAW,EACxB,MAAU,MAAM,0BAA0B,CAG5C,GAAM,CAAE,UAAW,MAAM,EACvB,CAAE,WAAY,EAAY,CAC1B,CAAE,OAAQ,GAAM,CAChB,EACD,CAGD,MAAO,CACL,MAAO,EACP,QAJU,MAAM,EAAQ,EAAQ,IAAA,GAAW,EAAO,EAItC,OACb,CC/CH,eAAsB,GACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,eAAgB,EAAQ,EAAS,EAAO,CCIjE,eAAsB,GACpB,EACA,EACgB,CAShB,OARiB,MAAM,EAAO,KAG5B,cAAe,CACf,KAAM,cACE,SACT,CAAC,EAEc,KClClB,eAAsB,GACpB,EACA,EACuB,CACvB,OACE,MAAM,EAAO,KACX,cACA,EACD,EACD,KCVJ,eAAsB,GACpB,EACA,EACe,CACf,OACE,MAAM,EAAO,KAAuC,eAAgB,EAAM,EAC1E,KAGJ,eAAsB,GACpB,EACA,EACe,CACf,OACE,MAAM,EAAO,KAAuC,cAAe,EAAM,EACzE,KAGJ,eAAsB,GAAY,EAAwC,CACxE,OAAQ,MAAM,EAAO,KAAmC,cAAc,EAAE,KAQ1E,eAAsB,GACpB,EACA,EACA,EACwB,CACxB,IAAM,EAAW,IAAI,SAIrB,OAHA,EAAS,OAAO,OAAQ,EAAK,CAC7B,EAAS,OAAO,eAAgB,CAAC,CAAC,GAAY,UAAU,CAAC,EAGvD,MAAM,EAAO,KACX,cACA,EACD,EACD,KAGJ,eAAsB,GAAe,EAAyC,CAE5E,OADiB,MAAM,EAAO,IAAmC,YAAY,EAC7D,SAAW,IAW7B,eAAsB,EACpB,EACA,EAC4B,CAC5B,GAAI,CACF,IAAM,EAAW,MAAM,EAAO,KAG5B,YAAa,EAAM,CAErB,GAAI,EAAS,SAAW,IACtB,MAAO,CACL,OAAQ,WACT,CAEH,GAAI,EAAS,SAAW,IACtB,MAAO,CACL,OAAQ,UACT,OAEI,EAAO,CACd,GAAI,EAAa,EAAM,EACjB,EAAM,UAAU,SAAW,IAE7B,MAAO,CAAE,OAAQ,WAAY,CAInC,MAAU,MAAM,uBAAuB,CASzC,eAAsB,GACpB,EAC6B,CAC7B,OACE,MAAM,EAAO,KAA+C,aAAa,EACzE,KC/GJ,MAAM,EAAc,SAEP,GAAqB,CAChC,oBAAqB,GAAG,EAAY,wBACpC,wBAAyB,GAAG,EAAY,0BACxC,kBAAmB,GAAG,EAAY,cACnC,CAEK,EAAgB,QAET,GAAuB,CAClC,sBAAuB,GAAG,EAAc,yBACxC,qBAAsB,GAAG,EAAc,wBACvC,qBAAsB,GAAG,EAAc,yBACvC,6BAA8B,GAAG,EAAc,iCAChD,CCwBD,eAAsB,GACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,aAAc,EAAQ,EAAS,EAAO,CAG/D,eAAsB,GACpB,EACA,EACA,EACA,CACA,OAAO,MAAM,EAAU,oBAAqB,EAAQ,EAAS,EAAO,CChDtE,MAAM,GAAmB,EAAM,QAAQ,CAOvC,eAAsB,EACpB,EAC0B,CAI1B,OAHiB,MAAM,EAAO,IAC5B,eACD,EACe,KAGlB,SAAgB,IAAmB,CACjC,GAAM,CAACC,EAAS,GAAc,EAAS,GAAG,CACpC,CAAC,EAAe,GAAoB,EAAS,GAAG,CAEhD,EADY,GAAsB,EACX,WAAa,GAgB1C,OAdA,MAAgB,CACd,eAAe,GAAe,CAC5B,GAAI,CACF,GAAM,CAAE,QAAA,EAAS,cAAA,GAAkB,MAAM,EAAW,EAAU,CAE9D,EAAWA,EAAQ,CACnB,EAAiBC,EAAc,OACxB,EAAO,CACd,QAAQ,MAAM,iCAAkC,EAAM,EAGrD,GAAc,EAClB,CAAC,EAAU,CAAC,CAER,CAAE,QAAA,EAAS,gBAAe"}
package/dist/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
- import { $ as RowCount, $t as LineageData, A as isLineageDiffRun, At as SubmitRunTrackProps, B as isSimpleRun, Bt as ColumnRenderMode, C as Run, Ct as QueryRunParams, D as RunType, Dt as submitQueryDiff, E as RunStatus, Et as submitQueryBase, F as isQueryRun, Ft as searchRuns, G as runTypeHasRef, Gt as RowObjectType, H as isValidRunType, Ht as DataFrame, I as isRowCountDiffRun, It as submitRun, J as ValueDiffDetailViewOptions, Jt as ColumnLineageData, K as ValueDiffDetailParams, Kt as CllInput, L as isRowCountRun, Lt as submitRunFromCheck, M as isProfileRun, Mt as cancelRun, N as isQueryBaseRun, Nt as getRun, O as SchemaDiffParams, Ot as RunsAggregated, P as isQueryDiffRun, Pt as listRuns, Q as submitValueDiffDetail, Qt as GitInfo, R as isSandboxRun, Rt as waitRun, S as RUN_TYPES, St as QueryResult, T as RunProgress, Tt as submitQuery, U as isValueDiffDetailRun, Ut as RowData, V as isTopKDiffRun, Vt as ColumnType, W as isValueDiffRun, Wt as RowDataTypes, X as ValueDiffResult, Xt as getCll, Y as ValueDiffParams, Yt as ImpactRadiusParams, Z as submitValueDiff, Zt as CatalogMetadata, _ as reorderChecks, _t as QueryDiffParams, a as ServerMode, an as NodeColumnData, at as submitRowCountDiff, b as BaseRun, bt as QueryParams, c as createLineageDiffCheck, cn as SQLMeshInfo, ct as HistogramResult, d as createCheckByRun, dn as getModelInfo, dt as ProfileDiffViewOptions, en as LineageDataFromMetadata, et as RowCountDiff, f as createSimpleCheck, fn as getServerInfo, ft as TopKDiffParams, g as markAsPresetCheck, gt as submitProfileDiff, h as listChecks, ht as TopKViewOptions, i as RecceInstanceInfo, in as ModelInfoResult, it as RowCountResult, j as isProfileDiffRun, jt as aggregateRuns, k as isHistogramDiffRun, kt as SubmitOptions, l as Check, ln as ServerInfoResult, lt as ProfileDiffParams, m as getCheck, mt as TopKResult, n as getServerFlag, nn as LineageDiffResult, nt as RowCountDiffResult, o as getRecceInstanceInfo, on as NodeData, ot as HistogramDiffParams, p as deleteCheck, pt as TopKDiffResult, q as ValueDiffDetailResult, qt as CllNodeData, r as markRelaunchHintCompleted, rn as ManifestMetadata, rt as RowCountParams, s as LineageDiffViewOptions, sn as PullRequestInfo, st as HistogramDiffResult, t as RecceServerFlags, tn as LineageDiffData, tt as RowCountDiffParams, u as CreateCheckBody, un as StateMetadata, ut as ProfileDiffResult, v as updateCheck, vt as QueryDiffResult, w as RunParamTypes, wt as QueryViewOptions, x as LineageDiffParams, xt as QueryPreviewChangeParams, y as useChecks, yt as QueryDiffViewOptions, z as isSchemaDiffRun, zt as AxiosQueryParams } from "./flag-s0MNBVcQ.js";
3
- import { A as setKeepAliveCallback, B as getCheckEvent, C as QueryRowCountResult, D as getLastKeepAliveTime, E as queryRowCount, F as CheckEventsListResponse, G as isSystemEvent, H as getEventIconType, I as CreateCommentRequest, J as cacheKeys, K as listCheckEvents, L as UpdateCommentRequest, M as CheckEvent, N as CheckEventActor, O as resetKeepAliveState, P as CheckEventType, R as createComment, S as createSchemaDiffCheck, T as queryModelRowCount, U as isCommentEvent, V as getEventDescription, W as isStateChangeEvent, _ as syncState, a as SESSION_STORAGE_KEYS, b as select, c as ShareStateResponse, d as exportState, f as importState, g as shareState, h as saveAs, i as LOCAL_STORAGE_KEYS, j as ActorType, k as sendKeepAlive, l as SyncStateInput, m as rename, n as getVersion, o as ImportedState, p as isStateSyncing, q as updateComment, r as useVersionNumber, s as SaveAsInput, t as VersionResponse, u as SyncStateResponse, v as SelectInput, w as fetchModelRowCount, x as SchemaDiffViewParams, y as SelectOutput, z as deleteComment } from "./api-BeQy3HaS.js";
2
+ import { $ as RowCount, $t as LineageData, A as isLineageDiffRun, At as SubmitRunTrackProps, B as isSimpleRun, Bt as ColumnRenderMode, C as Run, Ct as QueryRunParams, D as RunType, Dt as submitQueryDiff, E as RunStatus, Et as submitQueryBase, F as isQueryRun, Ft as searchRuns, G as runTypeHasRef, Gt as RowObjectType, H as isValidRunType, Ht as DataFrame, I as isRowCountDiffRun, It as submitRun, J as ValueDiffDetailViewOptions, Jt as ColumnLineageData, K as ValueDiffDetailParams, Kt as CllInput, L as isRowCountRun, Lt as submitRunFromCheck, M as isProfileRun, Mt as cancelRun, N as isQueryBaseRun, Nt as getRun, O as SchemaDiffParams, Ot as RunsAggregated, P as isQueryDiffRun, Pt as listRuns, Q as submitValueDiffDetail, Qt as GitInfo, R as isSandboxRun, Rt as waitRun, S as RUN_TYPES, St as QueryResult, T as RunProgress, Tt as submitQuery, U as isValueDiffDetailRun, Ut as RowData, V as isTopKDiffRun, Vt as ColumnType, W as isValueDiffRun, Wt as RowDataTypes, X as ValueDiffResult, Xt as getCll, Y as ValueDiffParams, Yt as ImpactRadiusParams, Z as submitValueDiff, Zt as CatalogMetadata, _ as reorderChecks, _t as QueryDiffParams, a as getServerFlag, an as NodeColumnData, at as submitRowCountDiff, b as BaseRun, bt as QueryParams, c as createLineageDiffCheck, cn as SQLMeshInfo, ct as HistogramResult, d as createCheckByRun, dn as getModelInfo, dt as ProfileDiffViewOptions, en as LineageDataFromMetadata, et as RowCountDiff, f as createSimpleCheck, fn as getServerInfo, ft as TopKDiffParams, g as markAsPresetCheck, gt as submitProfileDiff, h as listChecks, ht as TopKViewOptions, i as RecceServerFlags, in as ModelInfoResult, it as RowCountResult, j as isProfileDiffRun, jt as aggregateRuns, k as isHistogramDiffRun, kt as SubmitOptions, l as Check, ln as ServerInfoResult, lt as ProfileDiffParams, m as getCheck, mt as TopKResult, n as ServerMode, nn as LineageDiffResult, nt as RowCountDiffResult, o as markRelaunchHintCompleted, on as NodeData, ot as HistogramDiffParams, p as deleteCheck, pt as TopKDiffResult, q as ValueDiffDetailResult, qt as CllNodeData, r as getRecceInstanceInfo, rn as ManifestMetadata, rt as RowCountParams, s as LineageDiffViewOptions, sn as PullRequestInfo, st as HistogramDiffResult, t as RecceInstanceInfo, tn as LineageDiffData, tt as RowCountDiffParams, u as CreateCheckBody, un as StateMetadata, ut as ProfileDiffResult, v as updateCheck, vt as QueryDiffResult, w as RunParamTypes, wt as QueryViewOptions, x as LineageDiffParams, xt as QueryPreviewChangeParams, y as useChecks, yt as QueryDiffViewOptions, z as isSchemaDiffRun, zt as AxiosQueryParams } from "./instanceInfo-D9Pe6gIo.js";
3
+ import { A as setKeepAliveCallback, B as getCheckEvent, C as QueryRowCountResult, D as getLastKeepAliveTime, E as queryRowCount, F as CheckEventsListResponse, G as isSystemEvent, H as getEventIconType, I as CreateCommentRequest, J as cacheKeys, K as listCheckEvents, L as UpdateCommentRequest, M as CheckEvent, N as CheckEventActor, O as resetKeepAliveState, P as CheckEventType, R as createComment, S as createSchemaDiffCheck, T as queryModelRowCount, U as isCommentEvent, V as getEventDescription, W as isStateChangeEvent, _ as syncState, a as SESSION_STORAGE_KEYS, b as select, c as ShareStateResponse, d as exportState, f as importState, g as shareState, h as saveAs, i as LOCAL_STORAGE_KEYS, j as ActorType, k as sendKeepAlive, l as SyncStateInput, m as rename, n as getVersion, o as ImportedState, p as isStateSyncing, q as updateComment, r as useVersionNumber, s as SaveAsInput, t as VersionResponse, u as SyncStateResponse, v as SelectInput, w as fetchModelRowCount, x as SchemaDiffViewParams, y as SelectOutput, z as deleteComment } from "./api-CHRBUwIf.js";
4
4
  export { ActorType, AxiosQueryParams, BaseRun, CatalogMetadata, Check, CheckEvent, CheckEventActor, CheckEventType, CheckEventsListResponse, CllInput, CllNodeData, ColumnLineageData, ColumnRenderMode, ColumnType, CreateCheckBody, CreateCommentRequest, DataFrame, GitInfo, HistogramDiffParams, HistogramDiffResult, HistogramResult, ImpactRadiusParams, ImportedState, LOCAL_STORAGE_KEYS, LineageData, LineageDataFromMetadata, LineageDiffData, LineageDiffParams, LineageDiffResult, LineageDiffViewOptions, ManifestMetadata, ModelInfoResult, NodeColumnData, NodeData, ProfileDiffParams, ProfileDiffResult, ProfileDiffViewOptions, PullRequestInfo, QueryDiffParams, QueryDiffResult, QueryDiffViewOptions, QueryParams, QueryPreviewChangeParams, QueryResult, QueryRowCountResult, QueryRunParams, QueryViewOptions, RUN_TYPES, RecceInstanceInfo, RecceServerFlags, RowCount, RowCountDiff, RowCountDiffParams, RowCountDiffResult, RowCountParams, RowCountResult, RowData, RowDataTypes, RowObjectType, Run, RunParamTypes, RunProgress, RunStatus, RunType, RunsAggregated, SESSION_STORAGE_KEYS, SQLMeshInfo, SaveAsInput, SchemaDiffParams, SchemaDiffViewParams, SelectInput, SelectOutput, ServerInfoResult, ServerMode, ShareStateResponse, StateMetadata, SubmitOptions, SubmitRunTrackProps, SyncStateInput, SyncStateResponse, TopKDiffParams, TopKDiffResult, TopKResult, TopKViewOptions, UpdateCommentRequest, ValueDiffDetailParams, ValueDiffDetailResult, ValueDiffDetailViewOptions, ValueDiffParams, ValueDiffResult, VersionResponse, aggregateRuns, cacheKeys, cancelRun, createCheckByRun, createComment, createLineageDiffCheck, createSchemaDiffCheck, createSimpleCheck, deleteCheck, deleteComment, exportState, fetchModelRowCount, getCheck, getCheckEvent, getCll, getEventDescription, getEventIconType, getLastKeepAliveTime, getModelInfo, getRecceInstanceInfo, getRun, getServerFlag, getServerInfo, getVersion, importState, isCommentEvent, isHistogramDiffRun, isLineageDiffRun, isProfileDiffRun, isProfileRun, isQueryBaseRun, isQueryDiffRun, isQueryRun, isRowCountDiffRun, isRowCountRun, isSandboxRun, isSchemaDiffRun, isSimpleRun, isStateChangeEvent, isStateSyncing, isSystemEvent, isTopKDiffRun, isValidRunType, isValueDiffDetailRun, isValueDiffRun, listCheckEvents, listChecks, listRuns, markAsPresetCheck, markRelaunchHintCompleted, queryModelRowCount, queryRowCount, rename, reorderChecks, resetKeepAliveState, runTypeHasRef, saveAs, searchRuns, select, sendKeepAlive, setKeepAliveCallback, shareState, submitProfileDiff, submitQuery, submitQueryBase, submitQueryDiff, submitRowCountDiff, submitRun, submitRunFromCheck, submitValueDiff, submitValueDiffDetail, syncState, updateCheck, updateComment, useChecks, useVersionNumber, waitRun };
package/dist/api.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use client";import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,_t as O,a as k,at as A,b as j,c as M,ct as N,d as P,dt as F,et as I,f as L,ft as R,g as z,gt as B,h as V,ht as H,i as U,it as W,j as G,k as K,l as q,lt as J,m as Y,mt as X,n as Z,nt as Q,o as $,ot as ee,p as te,pt as ne,q as re,r as ie,rt as ae,s as oe,st as se,t as ce,tt as le,u as ue,ut as de,v as fe,vt as pe,w as me,x as he,y as ge,z as _e}from"./api-_i6BZPkM.js";import{a as ve,i as ye,n as be,r as xe,t as Se,u as Ce}from"./keepAlive-CEzyrDfg.js";import{n as we,t as Te}from"./flag-koeDAqr3.js";export{k as LOCAL_STORAGE_KEYS,le as RUN_TYPES,$ as SESSION_STORAGE_KEYS,re as aggregateRuns,Ce as cacheKeys,u as cancelRun,b as createCheckByRun,g as createComment,he as createLineageDiffCheck,V as createSchemaDiffCheck,a as createSimpleCheck,i as deleteCheck,o as deleteComment,oe as exportState,D as fetchModelRowCount,h as getCheck,l as getCheckEvent,me as getCll,f as getEventDescription,v as getEventIconType,Se as getLastKeepAliveTime,y as getModelInfo,ve as getRecceInstanceInfo,T as getRun,Te as getServerFlag,r as getServerInfo,ce as getVersion,M as importState,_e as isCommentEvent,Q as isHistogramDiffRun,ae as isLineageDiffRun,W as isProfileDiffRun,A as isProfileRun,ee as isQueryBaseRun,se as isQueryDiffRun,N as isQueryRun,J as isRowCountDiffRun,de as isRowCountRun,F as isSandboxRun,R as isSchemaDiffRun,ne as isSimpleRun,n as isStateChangeEvent,q as isStateSyncing,S as isSystemEvent,X as isTopKDiffRun,H as isValidRunType,B as isValueDiffDetailRun,O as isValueDiffRun,c as listCheckEvents,K as listChecks,w as listRuns,t as markAsPresetCheck,we as markRelaunchHintCompleted,fe as queryModelRowCount,ge as queryRowCount,ue as rename,G as reorderChecks,be as resetKeepAliveState,pe as runTypeHasRef,P as saveAs,E as searchRuns,Y as select,xe as sendKeepAlive,ye as setKeepAliveCallback,L as shareState,z as submitProfileDiff,C as submitQuery,s as submitQueryBase,d as submitQueryDiff,j as submitRowCountDiff,_ as submitRun,e as submitRunFromCheck,ie as submitValueDiff,U as submitValueDiffDetail,te as syncState,p as updateCheck,x as updateComment,m as useChecks,Z as useVersionNumber,I as waitRun};
2
+ "use client";import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,_t as O,a as k,at as A,b as j,c as M,ct as N,d as P,dt as F,et as I,f as L,ft as R,g as z,gt as B,h as V,ht as H,i as U,it as W,j as G,k as K,l as q,lt as J,m as Y,mt as X,n as Z,nt as Q,o as $,ot as ee,p as te,pt as ne,q as re,r as ie,rt as ae,s as oe,st as se,t as ce,tt as le,u as ue,ut as de,v as fe,vt as pe,w as me,x as he,y as ge,z as _e}from"./api-CVxyKUGP.js";import{a as ve,f as ye,i as be,n as xe,o as Se,r as Ce,s as we,t as Te}from"./keepAlive-DHpmpKwK.js";export{k as LOCAL_STORAGE_KEYS,le as RUN_TYPES,$ as SESSION_STORAGE_KEYS,re as aggregateRuns,ye as cacheKeys,u as cancelRun,b as createCheckByRun,g as createComment,he as createLineageDiffCheck,V as createSchemaDiffCheck,a as createSimpleCheck,i as deleteCheck,o as deleteComment,oe as exportState,D as fetchModelRowCount,h as getCheck,l as getCheckEvent,me as getCll,f as getEventDescription,v as getEventIconType,Te as getLastKeepAliveTime,y as getModelInfo,ve as getRecceInstanceInfo,T as getRun,Se as getServerFlag,r as getServerInfo,ce as getVersion,M as importState,_e as isCommentEvent,Q as isHistogramDiffRun,ae as isLineageDiffRun,W as isProfileDiffRun,A as isProfileRun,ee as isQueryBaseRun,se as isQueryDiffRun,N as isQueryRun,J as isRowCountDiffRun,de as isRowCountRun,F as isSandboxRun,R as isSchemaDiffRun,ne as isSimpleRun,n as isStateChangeEvent,q as isStateSyncing,S as isSystemEvent,X as isTopKDiffRun,H as isValidRunType,B as isValueDiffDetailRun,O as isValueDiffRun,c as listCheckEvents,K as listChecks,w as listRuns,t as markAsPresetCheck,we as markRelaunchHintCompleted,fe as queryModelRowCount,ge as queryRowCount,ue as rename,G as reorderChecks,xe as resetKeepAliveState,pe as runTypeHasRef,P as saveAs,E as searchRuns,Y as select,Ce as sendKeepAlive,be as setKeepAliveCallback,L as shareState,z as submitProfileDiff,C as submitQuery,s as submitQueryBase,d as submitQueryDiff,j as submitRowCountDiff,_ as submitRun,e as submitRunFromCheck,ie as submitValueDiff,U as submitValueDiffDetail,te as syncState,p as updateCheck,x as updateComment,m as useChecks,Z as useVersionNumber,I as waitRun};
@@ -1,3 +1,3 @@
1
1
  "use client";
2
2
  const e={white:`#FFFFFF`,black:`#000000`,brand:{50:`#FFDED5`,100:`#FFC1B0`,200:`#FFA58C`,300:`#FF8967`,400:`#FF6E42`,500:`#FD541E`,600:`#F04104`,700:`#C93A06`,800:`#A23206`,900:`#7C2906`,950:`#571E05`},iochmara:{50:`#EAF3FB`,100:`#C4DDF3`,200:`#9EC6EB`,300:`#79B0E2`,400:`#5599D8`,500:`#3182CE`,600:`#2A6CA7`,700:`#225581`,800:`#193E5C`,900:`#102638`,950:`#060E14`},neutral:{50:`#FAFAFA`,100:`#F5F5F5`,200:`#E5E5E5`,300:`#D4D4D4`,400:`#A3A3A3`,500:`#737373`,600:`#525252`,700:`#404040`,800:`#262626`,900:`#171717`,950:`#0A0A0A`},cyan:{50:`#ECFEFF`,100:`#CFFAFE`,200:`#A5F3FC`,300:`#67E8F9`,400:`#22D3EE`,500:`#06B6D4`,600:`#0891B2`,700:`#0E7490`,800:`#155E75`,900:`#164E63`,950:`#083344`},amber:{50:`#FFFBEB`,100:`#FEF3C7`,200:`#FDE68A`,300:`#FCD34D`,400:`#FBBF24`,500:`#F59E0B`,600:`#D97706`,700:`#B45309`,800:`#92400E`,900:`#78350F`,950:`#431407`},yellow:{50:`#FEFCE8`,100:`#FEF9C3`,200:`#FEF08A`,300:`#FDE047`,400:`#FACC15`,500:`#EAB308`,600:`#CA8A04`,700:`#A16207`,800:`#854D0E`,900:`#713F12`,950:`#422006`},green:{50:`#F0FDF4`,100:`#DCFCE7`,200:`#BBF7D0`,300:`#86EFAC`,400:`#4ADE80`,500:`#22C55E`,600:`#16A34A`,700:`#15803D`,800:`#166534`,900:`#14532D`,950:`#052E16`},red:{50:`#FEF2F2`,100:`#FEE2E2`,200:`#FECACA`,300:`#FCA5A5`,400:`#F87171`,500:`#EF4444`,600:`#DC2626`,700:`#B91C1C`,800:`#991B1B`,900:`#7F1D1D`,950:`#450A0A`},rose:{50:`#FFF1F2`,100:`#FFE4E6`,200:`#FECDD3`,300:`#FDA4AF`,400:`#FB7185`,500:`#F43F5E`,600:`#E11D48`,700:`#BE123C`,800:`#9F1239`,900:`#881337`,950:`#4C0519`},fuchsia:{50:`#FDF4FF`,100:`#FAE8FF`,200:`#F5D0FE`,300:`#F0ABFC`,400:`#E879F9`,500:`#D946EF`,600:`#C026D3`,700:`#A21CAF`,800:`#86198F`,900:`#701A75`,950:`#4A044E`},success:{main:`#22C55E`,light:`#4ADE80`,dark:`#16A34A`,contrastText:`#ffffff`},warning:{main:`#EAB308`,light:`#FACC15`,dark:`#78350F`,contrastText:`#000000`},error:{main:`#EF4444`,light:`#F87171`,dark:`#DC2626`,contrastText:`#ffffff`},info:{main:`#3182CE`,light:`#79B0E2`,dark:`#225581`,contrastText:`#ffffff`}},t={orange:`amber`,gray:`neutral`},n={solid:600,subtle:50,muted:200,emphasized:500,focusRing:400,light:300};function r(r){let i=r.split(`.`);if(i[0]===`colors`&&i.length>=3){let r=i[1],a=i[2];if(r in t&&(r=t[r]),r===`white`)return e.white;if(r===`black`)return e.black;if(r in e){let t=e[r];if(typeof t==`object`&&a in t)return t[a];if(a in n){let e=n[a];if(typeof t==`object`&&e in t)return t[e]}}}}export{r as i,e as n,n as r,t};
3
- //# sourceMappingURL=colors-D6QQQjX4.js.map
3
+ //# sourceMappingURL=colors-C4PP3M6b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors-D6QQQjX4.js","names":["colorAliases: Record<string, keyof typeof colors>","semanticVariantMap: Record<string, number>"],"sources":["../src/theme/colors.ts"],"sourcesContent":["/**\n * Recce brand colors and palette definitions\n *\n * These colors are used to create a consistent visual identity across\n * the Recce UI components. The palette includes brand colors, semantic\n * colors for status indicators, and neutral grays.\n *\n * Color values are aligned with the main Recce theme at\n * ui/src/components/ui/mui-theme.ts for consistency.\n */\n\nexport const colors = {\n /** White color */\n white: \"#FFFFFF\",\n\n /** Black color */\n black: \"#000000\",\n /**\n * Primary brand color - Orange/Coral\n * Used for primary actions, branding elements, and highlights\n */\n brand: {\n 50: \"#FFDED5\",\n 100: \"#FFC1B0\",\n 200: \"#FFA58C\",\n 300: \"#FF8967\",\n 400: \"#FF6E42\",\n 500: \"#FD541E\", // Primary brand color\n 600: \"#F04104\",\n 700: \"#C93A06\",\n 800: \"#A23206\",\n 900: \"#7C2906\",\n 950: \"#571E05\",\n },\n\n /**\n * Secondary color - Blue (Iochmara)\n * Used for secondary actions, links, and information elements\n */\n iochmara: {\n 50: \"#EAF3FB\",\n 100: \"#C4DDF3\",\n 200: \"#9EC6EB\",\n 300: \"#79B0E2\",\n 400: \"#5599D8\",\n 500: \"#3182CE\", // Secondary color\n 600: \"#2A6CA7\",\n 700: \"#225581\",\n 800: \"#193E5C\",\n 900: \"#102638\",\n 950: \"#060E14\",\n },\n\n /**\n * Neutral grays\n * Used for backgrounds, borders, and text\n */\n neutral: {\n 50: \"#FAFAFA\",\n 100: \"#F5F5F5\",\n 200: \"#E5E5E5\",\n 300: \"#D4D4D4\",\n 400: \"#A3A3A3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0A0A0A\",\n },\n\n /**\n * Cyan color scale\n * Used for secondary accents\n */\n cyan: {\n 50: \"#ECFEFF\",\n 100: \"#CFFAFE\",\n 200: \"#A5F3FC\",\n 300: \"#67E8F9\",\n 400: \"#22D3EE\",\n 500: \"#06B6D4\",\n 600: \"#0891B2\",\n 700: \"#0E7490\",\n 800: \"#155E75\",\n 900: \"#164E63\",\n 950: \"#083344\",\n },\n\n /**\n * Amber color scale\n * Used for warnings\n */\n amber: {\n 50: \"#FFFBEB\",\n 100: \"#FEF3C7\",\n 200: \"#FDE68A\",\n 300: \"#FCD34D\",\n 400: \"#FBBF24\",\n 500: \"#F59E0B\",\n 600: \"#D97706\",\n 700: \"#B45309\",\n 800: \"#92400E\",\n 900: \"#78350F\",\n 950: \"#431407\",\n },\n\n /**\n * Yellow color scale\n * Used for warnings and highlights\n */\n yellow: {\n 50: \"#FEFCE8\",\n 100: \"#FEF9C3\",\n 200: \"#FEF08A\",\n 300: \"#FDE047\",\n 400: \"#FACC15\",\n 500: \"#EAB308\",\n 600: \"#CA8A04\",\n 700: \"#A16207\",\n 800: \"#854D0E\",\n 900: \"#713F12\",\n 950: \"#422006\",\n },\n\n /**\n * Green color scale\n * Used for success states\n */\n green: {\n 50: \"#F0FDF4\",\n 100: \"#DCFCE7\",\n 200: \"#BBF7D0\",\n 300: \"#86EFAC\",\n 400: \"#4ADE80\",\n 500: \"#22C55E\",\n 600: \"#16A34A\",\n 700: \"#15803D\",\n 800: \"#166534\",\n 900: \"#14532D\",\n 950: \"#052E16\",\n },\n\n /**\n * Red color scale\n * Used for errors\n */\n red: {\n 50: \"#FEF2F2\",\n 100: \"#FEE2E2\",\n 200: \"#FECACA\",\n 300: \"#FCA5A5\",\n 400: \"#F87171\",\n 500: \"#EF4444\",\n 600: \"#DC2626\",\n 700: \"#B91C1C\",\n 800: \"#991B1B\",\n 900: \"#7F1D1D\",\n 950: \"#450A0A\",\n },\n\n /**\n * Rose color scale\n * Used for accent colors\n */\n rose: {\n 50: \"#FFF1F2\",\n 100: \"#FFE4E6\",\n 200: \"#FECDD3\",\n 300: \"#FDA4AF\",\n 400: \"#FB7185\",\n 500: \"#F43F5E\",\n 600: \"#E11D48\",\n 700: \"#BE123C\",\n 800: \"#9F1239\",\n 900: \"#881337\",\n 950: \"#4C0519\",\n },\n\n /**\n * Fuchsia color scale\n * Used for accent colors\n */\n fuchsia: {\n 50: \"#FDF4FF\",\n 100: \"#FAE8FF\",\n 200: \"#F5D0FE\",\n 300: \"#F0ABFC\",\n 400: \"#E879F9\",\n 500: \"#D946EF\",\n 600: \"#C026D3\",\n 700: \"#A21CAF\",\n 800: \"#86198F\",\n 900: \"#701A75\",\n 950: \"#4A044E\",\n },\n\n /**\n * Semantic colors for status indicators\n */\n success: {\n main: \"#22C55E\", // green[500]\n light: \"#4ADE80\", // green[400],\n dark: \"#16A34A\", // green[600],\n contrastText: \"#ffffff\",\n },\n\n warning: {\n main: \"#EAB308\", // amber[500],\n light: \"#FACC15\", // amber[400],\n dark: \"#78350F\", // amber[900] - darker for better contrast on light backgrounds\n contrastText: \"#000000\",\n },\n\n error: {\n main: \"#EF4444\", // red[500],\n light: \"#F87171\", // red[400],\n dark: \"#DC2626\", // red[600],\n contrastText: \"#ffffff\",\n },\n\n info: {\n main: \"#3182CE\",\n light: \"#79B0E2\",\n dark: \"#225581\",\n contrastText: \"#ffffff\",\n },\n} as const;\n\n/**\n * Color aliases for backward compatibility\n * Maps common color names to their Recce palette equivalents\n */\nexport const colorAliases: Record<string, keyof typeof colors> = {\n orange: \"amber\",\n gray: \"neutral\",\n};\n\n/**\n * Type for accessing color shades\n */\nexport type ColorShade =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 950;\n\n/**\n * Type for semantic color variants\n */\nexport type SemanticColorVariant = \"light\" | \"main\" | \"dark\" | \"contrastText\";\n\n/**\n * Semantic variant mappings from Chakra-style tokens to scale values\n * These map semantic names to numeric scale values in the color palette\n *\n * Used during Chakra UI -> MUI migration to translate Chakra token paths\n * like \"colors.green.solid\" to actual color values\n */\nexport const semanticVariantMap: Record<string, number> = {\n solid: 600, // Dark, for text/icons\n subtle: 50, // Light, for backgrounds\n muted: 200, // Slightly muted\n emphasized: 500, // Standard emphasis\n focusRing: 400, // Focus ring color\n light: 300, // Light variant\n};\n\n/**\n * Token lookup function to mimic Chakra UI's token API\n *\n * This utility function translates Chakra-style token paths to actual\n * color values from the color palette. Used during migration from\n * Chakra UI to MUI.\n *\n * @param path - Token path like \"colors.green.solid\" or \"colors.neutral.500\"\n * @returns The hex color value, or undefined if not found\n *\n * @example\n * token(\"colors.green.solid\") // => \"#16A34A\"\n * token(\"colors.neutral.500\") // => \"#737373\"\n * token(\"colors.orange.400\") // => \"#FBBF24\" (maps orange to amber)\n */\nexport function token(path: string): string | undefined {\n const parts = path.split(\".\");\n\n // Handle \"colors.X.Y\" paths\n if (parts[0] === \"colors\" && parts.length >= 3) {\n let colorName = parts[1];\n const variant = parts[2];\n\n // Apply color aliases (e.g., orange -> amber, gray -> neutral)\n if (colorName in colorAliases) {\n colorName = colorAliases[colorName];\n }\n\n // Handle \"colors.white\" and other special cases\n if (colorName === \"white\") return colors.white;\n if (colorName === \"black\") return colors.black;\n\n // Try base colors\n if (colorName in colors) {\n const color = colors[colorName as keyof typeof colors];\n\n // First check for numeric scale (e.g., \"500\")\n if (typeof color === \"object\" && variant in color) {\n return (color as Record<string, string>)[variant];\n }\n\n // Then check for semantic variant mapping (e.g., \"solid\" -> 600)\n if (variant in semanticVariantMap) {\n const scaleValue = semanticVariantMap[variant];\n if (typeof color === \"object\" && scaleValue in color) {\n return (color as Record<string, string>)[scaleValue];\n }\n }\n }\n }\n\n return undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"colors-C4PP3M6b.js","names":["colorAliases: Record<string, keyof typeof colors>","semanticVariantMap: Record<string, number>"],"sources":["../src/theme/colors.ts"],"sourcesContent":["/**\n * Recce brand colors and palette definitions\n *\n * These colors are used to create a consistent visual identity across\n * the Recce UI components. The palette includes brand colors, semantic\n * colors for status indicators, and neutral grays.\n *\n * Color values are aligned with the main Recce theme at\n * ui/src/components/ui/mui-theme.ts for consistency.\n */\n\nexport const colors = {\n /** White color */\n white: \"#FFFFFF\",\n\n /** Black color */\n black: \"#000000\",\n /**\n * Primary brand color - Orange/Coral\n * Used for primary actions, branding elements, and highlights\n */\n brand: {\n 50: \"#FFDED5\",\n 100: \"#FFC1B0\",\n 200: \"#FFA58C\",\n 300: \"#FF8967\",\n 400: \"#FF6E42\",\n 500: \"#FD541E\", // Primary brand color\n 600: \"#F04104\",\n 700: \"#C93A06\",\n 800: \"#A23206\",\n 900: \"#7C2906\",\n 950: \"#571E05\",\n },\n\n /**\n * Secondary color - Blue (Iochmara)\n * Used for secondary actions, links, and information elements\n */\n iochmara: {\n 50: \"#EAF3FB\",\n 100: \"#C4DDF3\",\n 200: \"#9EC6EB\",\n 300: \"#79B0E2\",\n 400: \"#5599D8\",\n 500: \"#3182CE\", // Secondary color\n 600: \"#2A6CA7\",\n 700: \"#225581\",\n 800: \"#193E5C\",\n 900: \"#102638\",\n 950: \"#060E14\",\n },\n\n /**\n * Neutral grays\n * Used for backgrounds, borders, and text\n */\n neutral: {\n 50: \"#FAFAFA\",\n 100: \"#F5F5F5\",\n 200: \"#E5E5E5\",\n 300: \"#D4D4D4\",\n 400: \"#A3A3A3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0A0A0A\",\n },\n\n /**\n * Cyan color scale\n * Used for secondary accents\n */\n cyan: {\n 50: \"#ECFEFF\",\n 100: \"#CFFAFE\",\n 200: \"#A5F3FC\",\n 300: \"#67E8F9\",\n 400: \"#22D3EE\",\n 500: \"#06B6D4\",\n 600: \"#0891B2\",\n 700: \"#0E7490\",\n 800: \"#155E75\",\n 900: \"#164E63\",\n 950: \"#083344\",\n },\n\n /**\n * Amber color scale\n * Used for warnings\n */\n amber: {\n 50: \"#FFFBEB\",\n 100: \"#FEF3C7\",\n 200: \"#FDE68A\",\n 300: \"#FCD34D\",\n 400: \"#FBBF24\",\n 500: \"#F59E0B\",\n 600: \"#D97706\",\n 700: \"#B45309\",\n 800: \"#92400E\",\n 900: \"#78350F\",\n 950: \"#431407\",\n },\n\n /**\n * Yellow color scale\n * Used for warnings and highlights\n */\n yellow: {\n 50: \"#FEFCE8\",\n 100: \"#FEF9C3\",\n 200: \"#FEF08A\",\n 300: \"#FDE047\",\n 400: \"#FACC15\",\n 500: \"#EAB308\",\n 600: \"#CA8A04\",\n 700: \"#A16207\",\n 800: \"#854D0E\",\n 900: \"#713F12\",\n 950: \"#422006\",\n },\n\n /**\n * Green color scale\n * Used for success states\n */\n green: {\n 50: \"#F0FDF4\",\n 100: \"#DCFCE7\",\n 200: \"#BBF7D0\",\n 300: \"#86EFAC\",\n 400: \"#4ADE80\",\n 500: \"#22C55E\",\n 600: \"#16A34A\",\n 700: \"#15803D\",\n 800: \"#166534\",\n 900: \"#14532D\",\n 950: \"#052E16\",\n },\n\n /**\n * Red color scale\n * Used for errors\n */\n red: {\n 50: \"#FEF2F2\",\n 100: \"#FEE2E2\",\n 200: \"#FECACA\",\n 300: \"#FCA5A5\",\n 400: \"#F87171\",\n 500: \"#EF4444\",\n 600: \"#DC2626\",\n 700: \"#B91C1C\",\n 800: \"#991B1B\",\n 900: \"#7F1D1D\",\n 950: \"#450A0A\",\n },\n\n /**\n * Rose color scale\n * Used for accent colors\n */\n rose: {\n 50: \"#FFF1F2\",\n 100: \"#FFE4E6\",\n 200: \"#FECDD3\",\n 300: \"#FDA4AF\",\n 400: \"#FB7185\",\n 500: \"#F43F5E\",\n 600: \"#E11D48\",\n 700: \"#BE123C\",\n 800: \"#9F1239\",\n 900: \"#881337\",\n 950: \"#4C0519\",\n },\n\n /**\n * Fuchsia color scale\n * Used for accent colors\n */\n fuchsia: {\n 50: \"#FDF4FF\",\n 100: \"#FAE8FF\",\n 200: \"#F5D0FE\",\n 300: \"#F0ABFC\",\n 400: \"#E879F9\",\n 500: \"#D946EF\",\n 600: \"#C026D3\",\n 700: \"#A21CAF\",\n 800: \"#86198F\",\n 900: \"#701A75\",\n 950: \"#4A044E\",\n },\n\n /**\n * Semantic colors for status indicators\n */\n success: {\n main: \"#22C55E\", // green[500]\n light: \"#4ADE80\", // green[400],\n dark: \"#16A34A\", // green[600],\n contrastText: \"#ffffff\",\n },\n\n warning: {\n main: \"#EAB308\", // amber[500],\n light: \"#FACC15\", // amber[400],\n dark: \"#78350F\", // amber[900] - darker for better contrast on light backgrounds\n contrastText: \"#000000\",\n },\n\n error: {\n main: \"#EF4444\", // red[500],\n light: \"#F87171\", // red[400],\n dark: \"#DC2626\", // red[600],\n contrastText: \"#ffffff\",\n },\n\n info: {\n main: \"#3182CE\",\n light: \"#79B0E2\",\n dark: \"#225581\",\n contrastText: \"#ffffff\",\n },\n} as const;\n\n/**\n * Color aliases for backward compatibility\n * Maps common color names to their Recce palette equivalents\n */\nexport const colorAliases: Record<string, keyof typeof colors> = {\n orange: \"amber\",\n gray: \"neutral\",\n};\n\n/**\n * Type for accessing color shades\n */\nexport type ColorShade =\n | 50\n | 100\n | 200\n | 300\n | 400\n | 500\n | 600\n | 700\n | 800\n | 900\n | 950;\n\n/**\n * Type for semantic color variants\n */\nexport type SemanticColorVariant = \"light\" | \"main\" | \"dark\" | \"contrastText\";\n\n/**\n * Semantic variant mappings from Chakra-style tokens to scale values\n * These map semantic names to numeric scale values in the color palette\n *\n * Used during Chakra UI -> MUI migration to translate Chakra token paths\n * like \"colors.green.solid\" to actual color values\n */\nexport const semanticVariantMap: Record<string, number> = {\n solid: 600, // Dark, for text/icons\n subtle: 50, // Light, for backgrounds\n muted: 200, // Slightly muted\n emphasized: 500, // Standard emphasis\n focusRing: 400, // Focus ring color\n light: 300, // Light variant\n};\n\n/**\n * Token lookup function to mimic Chakra UI's token API\n *\n * This utility function translates Chakra-style token paths to actual\n * color values from the color palette. Used during migration from\n * Chakra UI to MUI.\n *\n * @param path - Token path like \"colors.green.solid\" or \"colors.neutral.500\"\n * @returns The hex color value, or undefined if not found\n *\n * @example\n * token(\"colors.green.solid\") // => \"#16A34A\"\n * token(\"colors.neutral.500\") // => \"#737373\"\n * token(\"colors.orange.400\") // => \"#FBBF24\" (maps orange to amber)\n */\nexport function token(path: string): string | undefined {\n const parts = path.split(\".\");\n\n // Handle \"colors.X.Y\" paths\n if (parts[0] === \"colors\" && parts.length >= 3) {\n let colorName = parts[1];\n const variant = parts[2];\n\n // Apply color aliases (e.g., orange -> amber, gray -> neutral)\n if (colorName in colorAliases) {\n colorName = colorAliases[colorName];\n }\n\n // Handle \"colors.white\" and other special cases\n if (colorName === \"white\") return colors.white;\n if (colorName === \"black\") return colors.black;\n\n // Try base colors\n if (colorName in colors) {\n const color = colors[colorName as keyof typeof colors];\n\n // First check for numeric scale (e.g., \"500\")\n if (typeof color === \"object\" && variant in color) {\n return (color as Record<string, string>)[variant];\n }\n\n // Then check for semantic variant mapping (e.g., \"solid\" -> 600)\n if (variant in semanticVariantMap) {\n const scaleValue = semanticVariantMap[variant];\n if (typeof color === \"object\" && scaleValue in color) {\n return (color as Record<string, string>)[scaleValue];\n }\n }\n }\n }\n\n return undefined;\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
 
2
- import "./flag-s0MNBVcQ.js";
3
- import "./api-BeQy3HaS.js";
4
- import { _ as RunStatusWithDateProps, a as RunProgressVariant, b as inferRunStatus, c as RunListItemData, d as RunStatus, f as RunStatusAndDate, g as RunStatusWithDate, h as RunStatusBadgeProps, i as RunProgressProps, l as RunListItemProps, m as RunStatusBadge, n as RunProgressOverlay, o as RunList, p as RunStatusAndDateProps, r as RunProgressOverlayProps, s as RunListItem, t as RunProgress, u as RunListProps, v as formatRunDate, y as formatRunDateTime } from "./RunProgress-DeALaWs4.js";
5
- import { a as RunFormParamTypes, c as RunResultViewRef, d as ViewOptionTypes, f as DiffViewOptions, i as RegistryEntry, l as RunTypeConfig, m as RunToolbarProps, n as PartialRunTypeRegistry, o as RunFormProps, p as RunToolbar, r as RefTypes, s as RunResultViewProps, t as IconComponent, u as RunTypeRegistry } from "./types-DtbGtILc.js";
6
- import "./ScreenshotDataGrid-_0OXk0uO.js";
7
- import { C as RunModalProps, E as RunListOss, S as RunModalOss, T as RunModalProps$1, _ as RunResultPaneProps, a as findByRunType, b as SingleEnvironmentNotificationProps, c as RunViewOssProps, d as RunViewProps, f as RunResultPaneOss, g as RunResultPane, h as RunResultExportMenuProps, i as defaultRunTypeConfig, l as ErrorBoundaryWrapperProps, m as CSVExportProps, n as createBoundFindByRunType, o as registry, p as AddToCheckButtonProps, r as createRunTypeRegistry, s as RunViewOss, t as RunRegistry, u as RunView, v as RunResultPaneTabValue, w as RunModal, x as SqlEditorProps, y as RunResultShareMenuProps } from "./index-CARlgCqb.js";
2
+ import "./instanceInfo-D9Pe6gIo.js";
3
+ import "./api-CHRBUwIf.js";
4
+ import { _ as RunStatusWithDateProps, a as RunProgressVariant, b as inferRunStatus, c as RunListItemData, d as RunStatus, f as RunStatusAndDate, g as RunStatusWithDate, h as RunStatusBadgeProps, i as RunProgressProps, l as RunListItemProps, m as RunStatusBadge, n as RunProgressOverlay, o as RunList, p as RunStatusAndDateProps, r as RunProgressOverlayProps, s as RunListItem, t as RunProgress, u as RunListProps, v as formatRunDate, y as formatRunDateTime } from "./RunProgress-BnkCSNvv.js";
5
+ import { a as RunFormParamTypes, c as RunResultViewRef, d as ViewOptionTypes, f as DiffViewOptions, i as RegistryEntry, l as RunTypeConfig, m as RunToolbarProps, n as PartialRunTypeRegistry, o as RunFormProps, p as RunToolbar, r as RefTypes, s as RunResultViewProps, t as IconComponent, u as RunTypeRegistry } from "./types-BfldLa8_.js";
6
+ import "./ScreenshotDataGrid-BaBsp-r1.js";
7
+ import { C as RunModalProps, E as RunListOss, S as RunModalOss, T as RunModalProps$1, _ as RunResultPaneProps, a as findByRunType, b as SingleEnvironmentNotificationProps, c as RunViewOssProps, d as RunViewProps, f as RunResultPaneOss, g as RunResultPane, h as RunResultExportMenuProps, i as defaultRunTypeConfig, l as ErrorBoundaryWrapperProps, m as CSVExportProps, n as createBoundFindByRunType, o as registry, p as AddToCheckButtonProps, r as createRunTypeRegistry, s as RunViewOss, t as RunRegistry, u as RunView, v as RunResultPaneTabValue, w as RunModal, x as SqlEditorProps, y as RunResultShareMenuProps } from "./index-B8yz6WXO.js";
8
8
  export { AddToCheckButtonProps, CSVExportProps, DiffViewOptions, ErrorBoundaryWrapperProps, IconComponent, PartialRunTypeRegistry, RefTypes, RegistryEntry, RunFormParamTypes, RunFormProps, RunList, RunListItem, RunListItemData, RunListItemProps, RunListOss, RunListProps, RunModal, RunModalOss, RunModalProps as RunModalOssProps, RunModalProps$1 as RunModalProps, RunProgress, RunProgressOverlay, RunProgressOverlayProps, RunProgressProps, RunProgressVariant, RunRegistry, RunResultExportMenuProps, RunResultPane, RunResultPaneOss, RunResultPaneProps, RunResultPaneTabValue, RunResultShareMenuProps, RunResultViewProps, RunResultViewRef, RunStatus, RunStatusAndDate, RunStatusAndDateProps, RunStatusBadge, RunStatusBadgeProps, RunStatusWithDate, RunStatusWithDateProps, RunToolbar, RunToolbarProps, RunTypeConfig, RunTypeRegistry, RunView, RunViewOss, RunViewOssProps, RunViewProps, SingleEnvironmentNotificationProps, SqlEditorProps, ViewOptionTypes, createBoundFindByRunType, createRunTypeRegistry, defaultRunTypeConfig, findByRunType, formatRunDate, formatRunDateTime, inferRunStatus, registry };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use client";import{At as e,B as t,D as n,Dt as r,Et as i,F as a,Ft as o,I as s,L as c,M as l,Mt as u,N as d,Nt as f,Ot as p,P as m,Pt as h,R as g,T as _,Tt as v,V as y,jt as b,kt as x,z as S}from"./AuthModal-BQwv7JWv.js";export{p as RunList,x as RunListItem,s as RunListOss,a as RunModal,m as RunModalOss,i as RunProgress,r as RunProgressOverlay,l as RunResultPane,n as RunResultPaneOss,e as RunStatusAndDate,b as RunStatusBadge,u as RunStatusWithDate,v as RunToolbar,d as RunView,_ as RunViewOss,c as createBoundFindByRunType,g as createRunTypeRegistry,S as defaultRunTypeConfig,t as findByRunType,f as formatRunDate,h as formatRunDateTime,o as inferRunStatus,y as registry};
2
+ "use client";import{At as e,B as t,Dt as n,E as r,Et as i,F as a,Ft as o,H as s,I as c,It as l,L as u,Mt as d,N as f,Nt as p,O as m,Ot as h,P as g,Pt as _,R as v,V as y,jt as b,kt as x,z as S}from"./AuthModal-BKt2rzcW.js";export{x as RunList,e as RunListItem,u as RunListOss,c as RunModal,a as RunModalOss,n as RunProgress,h as RunProgressOverlay,f as RunResultPane,m as RunResultPaneOss,b as RunStatusAndDate,d as RunStatusBadge,p as RunStatusWithDate,i as RunToolbar,g as RunView,r as RunViewOss,v as createBoundFindByRunType,S as createRunTypeRegistry,t as defaultRunTypeConfig,y as findByRunType,_ as formatRunDate,o as formatRunDateTime,l as inferRunStatus,s as registry};