@datarecce/ui 0.1.40 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (719) hide show
  1. package/README.md +28 -133
  2. package/dist/AuthModal-C8LetZNB.js +23 -0
  3. package/dist/AuthModal-C8LetZNB.js.map +1 -0
  4. package/dist/LineageCanvas-CR38SDYr.d.ts +41 -0
  5. package/dist/LineageCanvas-CR38SDYr.d.ts.map +1 -0
  6. package/dist/ResultErrorFallback-C7c-TN1p.js +3 -0
  7. package/dist/ResultErrorFallback-C7c-TN1p.js.map +1 -0
  8. package/dist/RouteConfigContext-z8YNimdP.d.ts +172 -0
  9. package/dist/RouteConfigContext-z8YNimdP.d.ts.map +1 -0
  10. package/dist/RunProgress-DyFIALbI.d.ts +429 -0
  11. package/dist/RunProgress-DyFIALbI.d.ts.map +1 -0
  12. package/dist/ScreenshotDataGrid-BfxYUThx.d.ts +64 -0
  13. package/dist/ScreenshotDataGrid-BfxYUThx.d.ts.map +1 -0
  14. package/dist/SplitPane-B-BLxZaQ.d.ts +1427 -0
  15. package/dist/SplitPane-B-BLxZaQ.d.ts.map +1 -0
  16. package/dist/advanced.d.ts +18 -0
  17. package/dist/advanced.d.ts.map +1 -0
  18. package/dist/advanced.js +3 -0
  19. package/dist/advanced.js.map +1 -0
  20. package/dist/api-ZZ4cc9b9.d.ts +255 -0
  21. package/dist/api-ZZ4cc9b9.d.ts.map +1 -0
  22. package/dist/api-_i6BZPkM.js +3 -0
  23. package/dist/api-_i6BZPkM.js.map +1 -0
  24. package/dist/api.d.ts +3 -2
  25. package/dist/api.js +2 -100
  26. package/dist/colors--47Kkns4.js +3 -0
  27. package/dist/colors--47Kkns4.js.map +1 -0
  28. package/dist/colors-vY9Yzui0.d.ts +255 -0
  29. package/dist/colors-vY9Yzui0.d.ts.map +1 -0
  30. package/dist/components-run.d.ts +8 -0
  31. package/dist/components-run.js +2 -0
  32. package/dist/components.d.ts +22 -2
  33. package/dist/components.js +2 -86
  34. package/dist/const-DbXBkrxT.js +3 -0
  35. package/dist/const-DbXBkrxT.js.map +1 -0
  36. package/dist/constants-DD5vJv2q.js +3 -0
  37. package/dist/constants-DD5vJv2q.js.map +1 -0
  38. package/dist/constants.d.ts +3 -0
  39. package/dist/constants.js +2 -0
  40. package/dist/contexts.d.ts +7 -0
  41. package/dist/contexts.js +2 -0
  42. package/dist/flag-CiR2E5oz.d.ts +898 -0
  43. package/dist/flag-CiR2E5oz.d.ts.map +1 -0
  44. package/dist/flag-koeDAqr3.js +3 -0
  45. package/dist/flag-koeDAqr3.js.map +1 -0
  46. package/dist/hooks.d.ts +15 -2
  47. package/dist/hooks.js +2 -43
  48. package/dist/index-BFkbe0aF.d.ts +698 -0
  49. package/dist/index-BFkbe0aF.d.ts.map +1 -0
  50. package/dist/index-Ba3hp2Ng.d.ts +471 -0
  51. package/dist/index-Ba3hp2Ng.d.ts.map +1 -0
  52. package/dist/index-C_kD4ZQ3.d.ts +1079 -0
  53. package/dist/index-C_kD4ZQ3.d.ts.map +1 -0
  54. package/dist/index-CiPcALu4.d.ts +146 -0
  55. package/dist/index-CiPcALu4.d.ts.map +1 -0
  56. package/dist/index-CkXLPYZY.d.ts +13 -0
  57. package/dist/index-CkXLPYZY.d.ts.map +1 -0
  58. package/dist/index-DTCpHvX_.d.ts +211 -0
  59. package/dist/index-DTCpHvX_.d.ts.map +1 -0
  60. package/dist/index-DVoQsx5c.d.ts +349 -0
  61. package/dist/index-DVoQsx5c.d.ts.map +1 -0
  62. package/dist/index-DmwYRgDR.d.ts +192 -0
  63. package/dist/index-DmwYRgDR.d.ts.map +1 -0
  64. package/dist/index-N8N7XmRj.d.ts +130 -0
  65. package/dist/index-N8N7XmRj.d.ts.map +1 -0
  66. package/dist/index-h_fw6R9U.d.ts +1501 -0
  67. package/dist/index-h_fw6R9U.d.ts.map +1 -0
  68. package/dist/index-o48TPoFN.d.ts +734 -0
  69. package/dist/index-o48TPoFN.d.ts.map +1 -0
  70. package/dist/index.d.ts +24 -2
  71. package/dist/index.js +2 -198
  72. package/dist/keepAlive-CEzyrDfg.js +3 -0
  73. package/dist/keepAlive-CEzyrDfg.js.map +1 -0
  74. package/dist/lib/api/axiosClient.d.ts +8 -0
  75. package/dist/lib/api/axiosClient.d.ts.map +1 -0
  76. package/dist/lib/api/axiosClient.js +3 -0
  77. package/dist/lib/api/axiosClient.js.map +1 -0
  78. package/dist/lib/api/track.d.ts +137 -0
  79. package/dist/lib/api/track.d.ts.map +1 -0
  80. package/dist/lib/api/track.js +2 -0
  81. package/dist/lib/api/user.d.ts +16 -0
  82. package/dist/lib/api/user.d.ts.map +1 -0
  83. package/dist/lib/api/user.js +2 -0
  84. package/dist/lib/const.d.ts +8 -0
  85. package/dist/lib/const.d.ts.map +1 -0
  86. package/dist/lib/const.js +2 -0
  87. package/dist/lib/result/ResultErrorFallback.d.ts +8 -0
  88. package/dist/lib/result/ResultErrorFallback.d.ts.map +1 -0
  89. package/dist/lib/result/ResultErrorFallback.js +2 -0
  90. package/dist/primitives-CgGUvwHB.d.ts +914 -0
  91. package/dist/primitives-CgGUvwHB.d.ts.map +1 -0
  92. package/dist/primitives.d.ts +12 -0
  93. package/dist/primitives.js +2 -0
  94. package/dist/result.d.ts +4 -0
  95. package/dist/result.js +2 -0
  96. package/dist/src-BgHSbbHk.js +67 -0
  97. package/dist/src-BgHSbbHk.js.map +1 -0
  98. package/dist/styles.css +478 -4
  99. package/dist/theme-CeWzymUn.js +64 -0
  100. package/dist/theme-CeWzymUn.js.map +1 -0
  101. package/dist/theme.d.ts +3 -2
  102. package/dist/theme.js +2 -9
  103. package/dist/track-9ZQpBlUK.js +3 -0
  104. package/dist/track-9ZQpBlUK.js.map +1 -0
  105. package/dist/types-CFbNxrx2.d.ts +171 -0
  106. package/dist/types-CFbNxrx2.d.ts.map +1 -0
  107. package/dist/types-CZre3j02.d.ts +231 -0
  108. package/dist/types-CZre3j02.d.ts.map +1 -0
  109. package/dist/types.d.ts +14 -2
  110. package/dist/types.js +3 -9
  111. package/dist/types.js.map +1 -0
  112. package/dist/useRecceServerFlag-Bg5R67J4.js +3 -0
  113. package/dist/useRecceServerFlag-Bg5R67J4.js.map +1 -0
  114. package/dist/useThemeColors--prVbMmM.js +3 -0
  115. package/dist/useThemeColors--prVbMmM.js.map +1 -0
  116. package/dist/useThemeColors-DHEroo8f.d.ts +104 -0
  117. package/dist/useThemeColors-DHEroo8f.d.ts.map +1 -0
  118. package/dist/user-DMT7E0fc.js +3 -0
  119. package/dist/user-DMT7E0fc.js.map +1 -0
  120. package/dist/utils-CW2skXm_.js +3 -0
  121. package/dist/utils-CW2skXm_.js.map +1 -0
  122. package/dist/utils-CXWhfyxC.js +5 -0
  123. package/dist/utils-CXWhfyxC.js.map +1 -0
  124. package/dist/utils.d.ts +7 -0
  125. package/dist/utils.js +2 -0
  126. package/package.json +115 -107
  127. package/LICENSE +0 -201
  128. package/dist/RecceCheckContext-BJprb2xR.js +0 -7968
  129. package/dist/RecceCheckContext-BJprb2xR.js.map +0 -1
  130. package/dist/RecceCheckContext-DPnWB_aU.css +0 -215
  131. package/dist/RecceCheckContext-DPnWB_aU.css.map +0 -1
  132. package/dist/RecceCheckContext-DbZ7BdRy.mjs +0 -7426
  133. package/dist/RecceCheckContext-DbZ7BdRy.mjs.map +0 -1
  134. package/dist/RecceCheckContext-DyxOeUsX.css +0 -215
  135. package/dist/RecceCheckContext-DyxOeUsX.css.map +0 -1
  136. package/dist/api.d.mts +0 -3
  137. package/dist/api.js.map +0 -1
  138. package/dist/api.mjs +0 -46
  139. package/dist/api.mjs.map +0 -1
  140. package/dist/components-B6oaPB5f.mjs +0 -11769
  141. package/dist/components-B6oaPB5f.mjs.map +0 -1
  142. package/dist/components-BeAjVBV3.css +0 -70
  143. package/dist/components-BeAjVBV3.css.map +0 -1
  144. package/dist/components-DTLQ2djq.js +0 -14110
  145. package/dist/components-DTLQ2djq.js.map +0 -1
  146. package/dist/components-iUxcqtUB.css +0 -70
  147. package/dist/components-iUxcqtUB.css.map +0 -1
  148. package/dist/components.d.mts +0 -3
  149. package/dist/components.mjs +0 -9
  150. package/dist/const-CaIm1Z8g.mjs +0 -12
  151. package/dist/const-CaIm1Z8g.mjs.map +0 -1
  152. package/dist/const-CvdZO0FN.js +0 -24
  153. package/dist/const-CvdZO0FN.js.map +0 -1
  154. package/dist/hooks-cQsBXBd1.js +0 -40
  155. package/dist/hooks-cQsBXBd1.js.map +0 -1
  156. package/dist/hooks-eaHm_yEp.mjs +0 -33
  157. package/dist/hooks-eaHm_yEp.mjs.map +0 -1
  158. package/dist/hooks.d.mts +0 -3
  159. package/dist/hooks.mjs +0 -8
  160. package/dist/html2canvas-pro.esm-CsuSOHXp.js +0 -7250
  161. package/dist/html2canvas-pro.esm-CsuSOHXp.js.map +0 -1
  162. package/dist/html2canvas-pro.esm-E7kpobrC.mjs +0 -7249
  163. package/dist/html2canvas-pro.esm-E7kpobrC.mjs.map +0 -1
  164. package/dist/index-B9lSPJTi.d.ts +0 -2170
  165. package/dist/index-B9lSPJTi.d.ts.map +0 -1
  166. package/dist/index-CbF0x3kW.d.mts +0 -2172
  167. package/dist/index-CbF0x3kW.d.mts.map +0 -1
  168. package/dist/index.d.mts +0 -3
  169. package/dist/index.js.map +0 -1
  170. package/dist/index.mjs +0 -20
  171. package/dist/index.mjs.map +0 -1
  172. package/dist/mui-theme-CUhybmBq.mjs +0 -696
  173. package/dist/mui-theme-CUhybmBq.mjs.map +0 -1
  174. package/dist/mui-theme-iBHkjXJq.js +0 -732
  175. package/dist/mui-theme-iBHkjXJq.js.map +0 -1
  176. package/dist/state-CTITyT0R.js +0 -795
  177. package/dist/state-CTITyT0R.js.map +0 -1
  178. package/dist/state-Sc2b4jri.mjs +0 -382
  179. package/dist/state-Sc2b4jri.mjs.map +0 -1
  180. package/dist/theme.d.mts +0 -3
  181. package/dist/theme.mjs +0 -4
  182. package/dist/tooltipMessage-BC5W7H3X.js +0 -13
  183. package/dist/tooltipMessage-BC5W7H3X.js.map +0 -1
  184. package/dist/tooltipMessage-B_xMIKWL.mjs +0 -7
  185. package/dist/tooltipMessage-B_xMIKWL.mjs.map +0 -1
  186. package/dist/types.d.mts +0 -3
  187. package/dist/types.mjs +0 -6
  188. package/dist/urls-BQW5wjg-.js +0 -13
  189. package/dist/urls-BQW5wjg-.js.map +0 -1
  190. package/dist/urls-DT7FVEcS.mjs +0 -7
  191. package/dist/urls-DT7FVEcS.mjs.map +0 -1
  192. package/dist/version-B9s8yne-.js +0 -300
  193. package/dist/version-B9s8yne-.js.map +0 -1
  194. package/dist/version-DP1kU_7v.mjs +0 -162
  195. package/dist/version-DP1kU_7v.mjs.map +0 -1
  196. package/recce-source/.editorconfig +0 -26
  197. package/recce-source/.flake8 +0 -37
  198. package/recce-source/.github/ISSUE_TEMPLATE/bug_report.yml +0 -67
  199. package/recce-source/.github/ISSUE_TEMPLATE/custom.md +0 -10
  200. package/recce-source/.github/ISSUE_TEMPLATE/feature_request.yml +0 -42
  201. package/recce-source/.github/PULL_REQUEST_TEMPLATE.md +0 -21
  202. package/recce-source/.github/copilot-instructions.md +0 -331
  203. package/recce-source/.github/instructions/backend-instructions.md +0 -541
  204. package/recce-source/.github/instructions/frontend-instructions.md +0 -317
  205. package/recce-source/.github/workflows/build-statics.yaml +0 -72
  206. package/recce-source/.github/workflows/bump.yaml +0 -48
  207. package/recce-source/.github/workflows/integration-tests-cloud.yaml +0 -92
  208. package/recce-source/.github/workflows/integration-tests-sqlmesh.yaml +0 -33
  209. package/recce-source/.github/workflows/integration-tests.yaml +0 -52
  210. package/recce-source/.github/workflows/nightly.yaml +0 -246
  211. package/recce-source/.github/workflows/release.yaml +0 -196
  212. package/recce-source/.github/workflows/tests-js.yaml +0 -58
  213. package/recce-source/.github/workflows/tests-python.yaml +0 -128
  214. package/recce-source/.pre-commit-config.yaml +0 -26
  215. package/recce-source/CLAUDE.md +0 -483
  216. package/recce-source/CODE_OF_CONDUCT.md +0 -128
  217. package/recce-source/CONTRIBUTING.md +0 -107
  218. package/recce-source/LICENSE +0 -201
  219. package/recce-source/Makefile +0 -126
  220. package/recce-source/README.md +0 -182
  221. package/recce-source/RECCE_CLOUD.md +0 -81
  222. package/recce-source/SECURITY.md +0 -25
  223. package/recce-source/docs/PACKAGING.md +0 -340
  224. package/recce-source/docs/README.md +0 -1
  225. package/recce-source/integration_tests/dbt/dbt_project.yml +0 -26
  226. package/recce-source/integration_tests/dbt/models/customers.sql +0 -69
  227. package/recce-source/integration_tests/dbt/models/docs.md +0 -14
  228. package/recce-source/integration_tests/dbt/models/orders.sql +0 -56
  229. package/recce-source/integration_tests/dbt/models/schema.yml +0 -82
  230. package/recce-source/integration_tests/dbt/models/staging/schema.yml +0 -31
  231. package/recce-source/integration_tests/dbt/models/staging/stg_customers.sql +0 -22
  232. package/recce-source/integration_tests/dbt/models/staging/stg_orders.sql +0 -23
  233. package/recce-source/integration_tests/dbt/models/staging/stg_payments.sql +0 -25
  234. package/recce-source/integration_tests/dbt/packages.yml +0 -7
  235. package/recce-source/integration_tests/dbt/profiles.yml +0 -8
  236. package/recce-source/integration_tests/dbt/seeds/raw_customers.csv +0 -101
  237. package/recce-source/integration_tests/dbt/seeds/raw_orders.csv +0 -100
  238. package/recce-source/integration_tests/dbt/seeds/raw_payments.csv +0 -114
  239. package/recce-source/integration_tests/dbt/seeds/raw_statuses.csv +0 -5
  240. package/recce-source/integration_tests/dbt/smoke_test.sh +0 -72
  241. package/recce-source/integration_tests/dbt/smoke_test_cloud.sh +0 -71
  242. package/recce-source/integration_tests/sqlmesh/__init__.py +0 -0
  243. package/recce-source/integration_tests/sqlmesh/audits/assert_item_price_above_zero.sql +0 -9
  244. package/recce-source/integration_tests/sqlmesh/audits/items.sql +0 -7
  245. package/recce-source/integration_tests/sqlmesh/audits/order_items.sql +0 -7
  246. package/recce-source/integration_tests/sqlmesh/config.py +0 -171
  247. package/recce-source/integration_tests/sqlmesh/helper.py +0 -20
  248. package/recce-source/integration_tests/sqlmesh/hooks/__init__.py +0 -0
  249. package/recce-source/integration_tests/sqlmesh/macros/__init__.py +0 -0
  250. package/recce-source/integration_tests/sqlmesh/macros/macros.py +0 -8
  251. package/recce-source/integration_tests/sqlmesh/macros/macros.sql +0 -8
  252. package/recce-source/integration_tests/sqlmesh/macros/utils.py +0 -11
  253. package/recce-source/integration_tests/sqlmesh/metrics/metrics.sql +0 -25
  254. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_by_day.sql +0 -41
  255. package/recce-source/integration_tests/sqlmesh/models/customer_revenue_lifetime.sql +0 -60
  256. package/recce-source/integration_tests/sqlmesh/models/customers.sql +0 -32
  257. package/recce-source/integration_tests/sqlmesh/models/items.py +0 -95
  258. package/recce-source/integration_tests/sqlmesh/models/marketing.sql +0 -15
  259. package/recce-source/integration_tests/sqlmesh/models/order_items.py +0 -95
  260. package/recce-source/integration_tests/sqlmesh/models/orders.py +0 -70
  261. package/recce-source/integration_tests/sqlmesh/models/raw_marketing.py +0 -62
  262. package/recce-source/integration_tests/sqlmesh/models/top_waiters.sql +0 -23
  263. package/recce-source/integration_tests/sqlmesh/models/waiter_as_customer_by_day.sql +0 -29
  264. package/recce-source/integration_tests/sqlmesh/models/waiter_names.sql +0 -10
  265. package/recce-source/integration_tests/sqlmesh/models/waiter_revenue_by_day.sql +0 -29
  266. package/recce-source/integration_tests/sqlmesh/models/waiters.py +0 -62
  267. package/recce-source/integration_tests/sqlmesh/prep_env.sh +0 -16
  268. package/recce-source/integration_tests/sqlmesh/schema.yaml +0 -5
  269. package/recce-source/integration_tests/sqlmesh/seeds/waiter_names.csv +0 -11
  270. package/recce-source/integration_tests/sqlmesh/test_server.sh +0 -29
  271. package/recce-source/integration_tests/sqlmesh/tests/test_customer_revenue_by_day.yaml +0 -63
  272. package/recce-source/integration_tests/sqlmesh/tests/test_order_items.yaml +0 -72
  273. package/recce-source/js/.editorconfig +0 -27
  274. package/recce-source/js/.env.development +0 -5
  275. package/recce-source/js/.husky/pre-commit +0 -29
  276. package/recce-source/js/.nvmrc +0 -1
  277. package/recce-source/js/README.md +0 -39
  278. package/recce-source/js/app/(mainComponents)/DisplayModeToggle.tsx +0 -65
  279. package/recce-source/js/app/(mainComponents)/NavBar.tsx +0 -228
  280. package/recce-source/js/app/(mainComponents)/RecceVersionBadge.tsx +0 -107
  281. package/recce-source/js/app/(mainComponents)/TopBar.tsx +0 -252
  282. package/recce-source/js/app/@lineage/default.tsx +0 -20
  283. package/recce-source/js/app/@lineage/page.tsx +0 -14
  284. package/recce-source/js/app/MainLayout.tsx +0 -170
  285. package/recce-source/js/app/Providers.tsx +0 -49
  286. package/recce-source/js/app/checks/page.tsx +0 -296
  287. package/recce-source/js/app/error.tsx +0 -93
  288. package/recce-source/js/app/favicon.ico +0 -0
  289. package/recce-source/js/app/global-error.tsx +0 -115
  290. package/recce-source/js/app/global.css +0 -82
  291. package/recce-source/js/app/layout.tsx +0 -48
  292. package/recce-source/js/app/lineage/page.tsx +0 -15
  293. package/recce-source/js/app/page.tsx +0 -12
  294. package/recce-source/js/app/query/page.tsx +0 -8
  295. package/recce-source/js/biome.json +0 -313
  296. package/recce-source/js/jest.config.js +0 -34
  297. package/recce-source/js/jest.globals.d.ts +0 -32
  298. package/recce-source/js/jest.setup.js +0 -91
  299. package/recce-source/js/next.config.js +0 -16
  300. package/recce-source/js/package-lock.json +0 -13843
  301. package/recce-source/js/package.json +0 -123
  302. package/recce-source/js/pnpm-lock.yaml +0 -9235
  303. package/recce-source/js/pnpm-workspace.yaml +0 -6
  304. package/recce-source/js/postcss.config.js +0 -5
  305. package/recce-source/js/public/auth_callback.html +0 -68
  306. package/recce-source/js/public/imgs/feedback/thumbs-down.png +0 -0
  307. package/recce-source/js/public/imgs/feedback/thumbs-up.png +0 -0
  308. package/recce-source/js/public/imgs/reload-image.svg +0 -4
  309. package/recce-source/js/public/logo/recce-logo-white.png +0 -0
  310. package/recce-source/js/src/components/AuthModal/AuthModal.tsx +0 -202
  311. package/recce-source/js/src/components/app/AvatarDropdown.tsx +0 -159
  312. package/recce-source/js/src/components/app/EnvInfo.tsx +0 -357
  313. package/recce-source/js/src/components/app/Filename.tsx +0 -388
  314. package/recce-source/js/src/components/app/SetupConnectionPopover.tsx +0 -91
  315. package/recce-source/js/src/components/app/StateExporter.tsx +0 -57
  316. package/recce-source/js/src/components/app/StateImporter.tsx +0 -198
  317. package/recce-source/js/src/components/app/StateSharing.tsx +0 -145
  318. package/recce-source/js/src/components/app/StateSynchronizer.tsx +0 -205
  319. package/recce-source/js/src/components/charts/HistogramChart.tsx +0 -291
  320. package/recce-source/js/src/components/charts/SquareIcon.tsx +0 -51
  321. package/recce-source/js/src/components/charts/TopKSummaryList.tsx +0 -457
  322. package/recce-source/js/src/components/charts/chartTheme.ts +0 -74
  323. package/recce-source/js/src/components/check/CheckBreadcrumb.tsx +0 -97
  324. package/recce-source/js/src/components/check/CheckDescription.tsx +0 -134
  325. package/recce-source/js/src/components/check/CheckDetail.tsx +0 -797
  326. package/recce-source/js/src/components/check/CheckEmptyState.tsx +0 -84
  327. package/recce-source/js/src/components/check/CheckList.tsx +0 -320
  328. package/recce-source/js/src/components/check/LineageDiffView.tsx +0 -32
  329. package/recce-source/js/src/components/check/PresetCheckTemplateView.tsx +0 -48
  330. package/recce-source/js/src/components/check/SchemaDiffView.tsx +0 -290
  331. package/recce-source/js/src/components/check/check.ts +0 -25
  332. package/recce-source/js/src/components/check/timeline/CheckTimeline.tsx +0 -163
  333. package/recce-source/js/src/components/check/timeline/CommentInput.tsx +0 -84
  334. package/recce-source/js/src/components/check/timeline/TimelineEvent.tsx +0 -468
  335. package/recce-source/js/src/components/check/timeline/index.ts +0 -12
  336. package/recce-source/js/src/components/check/utils.ts +0 -12
  337. package/recce-source/js/src/components/data-grid/ScreenshotDataGrid.tsx +0 -333
  338. package/recce-source/js/src/components/data-grid/agGridStyles.css +0 -55
  339. package/recce-source/js/src/components/data-grid/agGridTheme.ts +0 -43
  340. package/recce-source/js/src/components/editor/CodeEditor.tsx +0 -107
  341. package/recce-source/js/src/components/editor/DiffEditor.tsx +0 -162
  342. package/recce-source/js/src/components/editor/index.ts +0 -12
  343. package/recce-source/js/src/components/errorboundary/ErrorBoundary.tsx +0 -87
  344. package/recce-source/js/src/components/histogram/HistogramDiffForm.tsx +0 -147
  345. package/recce-source/js/src/components/histogram/HistogramDiffResultView.tsx +0 -63
  346. package/recce-source/js/src/components/icons/index.tsx +0 -142
  347. package/recce-source/js/src/components/lineage/ActionControl.tsx +0 -63
  348. package/recce-source/js/src/components/lineage/ActionTag.tsx +0 -141
  349. package/recce-source/js/src/components/lineage/ChangeStatusLegend.tsx +0 -46
  350. package/recce-source/js/src/components/lineage/ColumnLevelLineageControl.tsx +0 -327
  351. package/recce-source/js/src/components/lineage/ColumnLevelLineageLegend.tsx +0 -57
  352. package/recce-source/js/src/components/lineage/GraphColumnNode.tsx +0 -199
  353. package/recce-source/js/src/components/lineage/GraphEdge.tsx +0 -59
  354. package/recce-source/js/src/components/lineage/GraphNode.tsx +0 -555
  355. package/recce-source/js/src/components/lineage/LineagePage.tsx +0 -10
  356. package/recce-source/js/src/components/lineage/LineageView.tsx +0 -1384
  357. package/recce-source/js/src/components/lineage/LineageViewContext.tsx +0 -86
  358. package/recce-source/js/src/components/lineage/LineageViewContextMenu.tsx +0 -637
  359. package/recce-source/js/src/components/lineage/LineageViewNotification.tsx +0 -64
  360. package/recce-source/js/src/components/lineage/LineageViewTopBar.tsx +0 -596
  361. package/recce-source/js/src/components/lineage/NodeSqlView.tsx +0 -136
  362. package/recce-source/js/src/components/lineage/NodeTag.tsx +0 -278
  363. package/recce-source/js/src/components/lineage/NodeView.tsx +0 -642
  364. package/recce-source/js/src/components/lineage/SandboxView.tsx +0 -436
  365. package/recce-source/js/src/components/lineage/ServerDisconnectedModalContent.tsx +0 -105
  366. package/recce-source/js/src/components/lineage/SetupConnectionBanner.tsx +0 -52
  367. package/recce-source/js/src/components/lineage/SingleEnvironmentQueryView.tsx +0 -152
  368. package/recce-source/js/src/components/lineage/graph.test.ts +0 -31
  369. package/recce-source/js/src/components/lineage/graph.ts +0 -58
  370. package/recce-source/js/src/components/lineage/lineage.test.ts +0 -169
  371. package/recce-source/js/src/components/lineage/lineage.ts +0 -521
  372. package/recce-source/js/src/components/lineage/styles.css +0 -42
  373. package/recce-source/js/src/components/lineage/styles.tsx +0 -165
  374. package/recce-source/js/src/components/lineage/useMultiNodesAction.ts +0 -352
  375. package/recce-source/js/src/components/lineage/useValueDiffAlertDialog.tsx +0 -108
  376. package/recce-source/js/src/components/onboarding-guide/Notification.tsx +0 -62
  377. package/recce-source/js/src/components/profile/ProfileDiffForm.tsx +0 -134
  378. package/recce-source/js/src/components/profile/ProfileDiffResultView.tsx +0 -243
  379. package/recce-source/js/src/components/query/ChangedOnlyCheckbox.tsx +0 -29
  380. package/recce-source/js/src/components/query/DiffText.tsx +0 -120
  381. package/recce-source/js/src/components/query/QueryDiffResultView.tsx +0 -468
  382. package/recce-source/js/src/components/query/QueryForm.tsx +0 -80
  383. package/recce-source/js/src/components/query/QueryPage.tsx +0 -282
  384. package/recce-source/js/src/components/query/QueryResultView.tsx +0 -180
  385. package/recce-source/js/src/components/query/SetupConnectionGuide.tsx +0 -57
  386. package/recce-source/js/src/components/query/SqlEditor.tsx +0 -245
  387. package/recce-source/js/src/components/query/ToggleSwitch.tsx +0 -84
  388. package/recce-source/js/src/components/query/styles.css +0 -21
  389. package/recce-source/js/src/components/routing/DirectUrlAccess.test.tsx +0 -428
  390. package/recce-source/js/src/components/routing/LineageStatePreservation.test.tsx +0 -311
  391. package/recce-source/js/src/components/routing/Navigation.test.tsx +0 -256
  392. package/recce-source/js/src/components/rowcount/RowCountDiffResultView.tsx +0 -108
  393. package/recce-source/js/src/components/rowcount/delta.test.ts +0 -51
  394. package/recce-source/js/src/components/rowcount/delta.ts +0 -16
  395. package/recce-source/js/src/components/run/RunList.tsx +0 -303
  396. package/recce-source/js/src/components/run/RunModal.tsx +0 -191
  397. package/recce-source/js/src/components/run/RunPage.tsx +0 -26
  398. package/recce-source/js/src/components/run/RunResultPane.tsx +0 -454
  399. package/recce-source/js/src/components/run/RunStatusAndDate.tsx +0 -106
  400. package/recce-source/js/src/components/run/RunToolbar.tsx +0 -70
  401. package/recce-source/js/src/components/run/RunView.tsx +0 -196
  402. package/recce-source/js/src/components/run/registry.ts +0 -214
  403. package/recce-source/js/src/components/run/types.ts +0 -14
  404. package/recce-source/js/src/components/schema/ColumnNameCell.test.tsx +0 -169
  405. package/recce-source/js/src/components/schema/ColumnNameCell.tsx +0 -198
  406. package/recce-source/js/src/components/schema/SchemaView.tsx +0 -336
  407. package/recce-source/js/src/components/schema/schemaDiff.ts +0 -32
  408. package/recce-source/js/src/components/schema/style.css +0 -134
  409. package/recce-source/js/src/components/screenshot/ScreenshotBox.tsx +0 -39
  410. package/recce-source/js/src/components/shared/HistoryToggle.tsx +0 -35
  411. package/recce-source/js/src/components/split/Split.tsx +0 -40
  412. package/recce-source/js/src/components/split/styles.css +0 -24
  413. package/recce-source/js/src/components/summary/ChangeSummary.tsx +0 -264
  414. package/recce-source/js/src/components/summary/SchemaSummary.tsx +0 -123
  415. package/recce-source/js/src/components/summary/SummaryView.tsx +0 -29
  416. package/recce-source/js/src/components/timeout/IdleTimeoutBadge.tsx +0 -48
  417. package/recce-source/js/src/components/top-k/TopKDiffForm.tsx +0 -58
  418. package/recce-source/js/src/components/top-k/TopKDiffResultView.tsx +0 -73
  419. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnGroupHeader.tsx +0 -228
  420. package/recce-source/js/src/components/ui/dataGrid/DataFrameColumnHeader.tsx +0 -113
  421. package/recce-source/js/src/components/ui/dataGrid/defaultRenderCell.tsx +0 -72
  422. package/recce-source/js/src/components/ui/dataGrid/index.ts +0 -23
  423. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.test.tsx +0 -607
  424. package/recce-source/js/src/components/ui/dataGrid/inlineRenderCell.tsx +0 -211
  425. package/recce-source/js/src/components/ui/dataGrid/schemaCells.test.tsx +0 -452
  426. package/recce-source/js/src/components/ui/dataGrid/schemaCells.tsx +0 -142
  427. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.test.tsx +0 -178
  428. package/recce-source/js/src/components/ui/dataGrid/valueDiffCells.tsx +0 -275
  429. package/recce-source/js/src/components/ui/markdown/ExternalLinkConfirmDialog.tsx +0 -134
  430. package/recce-source/js/src/components/ui/markdown/MarkdownContent.tsx +0 -364
  431. package/recce-source/js/src/components/ui/mui/index.ts +0 -13
  432. package/recce-source/js/src/components/ui/mui-provider.tsx +0 -67
  433. package/recce-source/js/src/components/ui/mui-theme.ts +0 -1039
  434. package/recce-source/js/src/components/ui/mui-utils.ts +0 -113
  435. package/recce-source/js/src/components/ui/toaster.tsx +0 -288
  436. package/recce-source/js/src/components/valuediff/ValueDiffDetailResultView.tsx +0 -216
  437. package/recce-source/js/src/components/valuediff/ValueDiffForm.tsx +0 -246
  438. package/recce-source/js/src/components/valuediff/ValueDiffResultView.tsx +0 -81
  439. package/recce-source/js/src/components/valuediff/shared.ts +0 -33
  440. package/recce-source/js/src/constants/tooltipMessage.ts +0 -3
  441. package/recce-source/js/src/constants/urls.ts +0 -1
  442. package/recce-source/js/src/lib/UrlHash.ts +0 -12
  443. package/recce-source/js/src/lib/api/adhocQuery.ts +0 -70
  444. package/recce-source/js/src/lib/api/axiosClient.ts +0 -9
  445. package/recce-source/js/src/lib/api/cacheKeys.ts +0 -13
  446. package/recce-source/js/src/lib/api/checkEvents.ts +0 -252
  447. package/recce-source/js/src/lib/api/checks.ts +0 -129
  448. package/recce-source/js/src/lib/api/cll.ts +0 -53
  449. package/recce-source/js/src/lib/api/connectToCloud.ts +0 -13
  450. package/recce-source/js/src/lib/api/flag.ts +0 -37
  451. package/recce-source/js/src/lib/api/info.ts +0 -198
  452. package/recce-source/js/src/lib/api/instanceInfo.ts +0 -25
  453. package/recce-source/js/src/lib/api/keepAlive.ts +0 -108
  454. package/recce-source/js/src/lib/api/lineagecheck.ts +0 -35
  455. package/recce-source/js/src/lib/api/localStorageKeys.ts +0 -7
  456. package/recce-source/js/src/lib/api/models.ts +0 -59
  457. package/recce-source/js/src/lib/api/profile.ts +0 -65
  458. package/recce-source/js/src/lib/api/rowcount.ts +0 -19
  459. package/recce-source/js/src/lib/api/runs.ts +0 -174
  460. package/recce-source/js/src/lib/api/schemacheck.ts +0 -31
  461. package/recce-source/js/src/lib/api/select.ts +0 -25
  462. package/recce-source/js/src/lib/api/sessionStorageKeys.ts +0 -8
  463. package/recce-source/js/src/lib/api/state.ts +0 -117
  464. package/recce-source/js/src/lib/api/track.ts +0 -281
  465. package/recce-source/js/src/lib/api/types.ts +0 -284
  466. package/recce-source/js/src/lib/api/user.ts +0 -42
  467. package/recce-source/js/src/lib/api/valuediff.ts +0 -46
  468. package/recce-source/js/src/lib/api/version.ts +0 -40
  469. package/recce-source/js/src/lib/const.ts +0 -9
  470. package/recce-source/js/src/lib/dataGrid/crossFunctionConsistency.test.ts +0 -626
  471. package/recce-source/js/src/lib/dataGrid/dataGridFactory.test.ts +0 -2140
  472. package/recce-source/js/src/lib/dataGrid/dataGridFactory.ts +0 -397
  473. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.test.ts +0 -132
  474. package/recce-source/js/src/lib/dataGrid/generators/rowCountUtils.ts +0 -126
  475. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.test.ts +0 -1627
  476. package/recce-source/js/src/lib/dataGrid/generators/toDataDiffGrid.ts +0 -140
  477. package/recce-source/js/src/lib/dataGrid/generators/toDataGrid.ts +0 -67
  478. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.test.ts +0 -142
  479. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDataGrid.ts +0 -71
  480. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.test.ts +0 -258
  481. package/recce-source/js/src/lib/dataGrid/generators/toRowCountDiffDataGrid.ts +0 -153
  482. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.test.ts +0 -951
  483. package/recce-source/js/src/lib/dataGrid/generators/toSchemaDataGrid.ts +0 -221
  484. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.test.ts +0 -395
  485. package/recce-source/js/src/lib/dataGrid/generators/toValueDataGrid.ts +0 -184
  486. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.test.ts +0 -884
  487. package/recce-source/js/src/lib/dataGrid/generators/toValueDiffGrid.ts +0 -113
  488. package/recce-source/js/src/lib/dataGrid/index.ts +0 -51
  489. package/recce-source/js/src/lib/dataGrid/propertyBased.test.ts +0 -858
  490. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.test.ts +0 -482
  491. package/recce-source/js/src/lib/dataGrid/shared/columnBuilders.ts +0 -345
  492. package/recce-source/js/src/lib/dataGrid/shared/dataTypeEdgeCases.test.ts +0 -698
  493. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.test.tsx +0 -820
  494. package/recce-source/js/src/lib/dataGrid/shared/diffColumnBuilder.tsx +0 -277
  495. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.test.ts +0 -785
  496. package/recce-source/js/src/lib/dataGrid/shared/gridUtils.ts +0 -370
  497. package/recce-source/js/src/lib/dataGrid/shared/index.ts +0 -81
  498. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.test.ts +0 -909
  499. package/recce-source/js/src/lib/dataGrid/shared/rowBuilders.ts +0 -325
  500. package/recce-source/js/src/lib/dataGrid/shared/simpleColumnBuilder.tsx +0 -240
  501. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.test.tsx +0 -719
  502. package/recce-source/js/src/lib/dataGrid/shared/toDiffColumn.tsx +0 -231
  503. package/recce-source/js/src/lib/dataGrid/shared/validation.test.ts +0 -559
  504. package/recce-source/js/src/lib/dataGrid/shared/validation.ts +0 -367
  505. package/recce-source/js/src/lib/dataGrid/warehouseNamingConventions.test.ts +0 -1117
  506. package/recce-source/js/src/lib/formatSelect.ts +0 -50
  507. package/recce-source/js/src/lib/hooks/ApiConfigContext.tsx +0 -181
  508. package/recce-source/js/src/lib/hooks/IdleTimeoutContext.tsx +0 -177
  509. package/recce-source/js/src/lib/hooks/LineageGraphContext.tsx +0 -512
  510. package/recce-source/js/src/lib/hooks/RecceActionContext.tsx +0 -269
  511. package/recce-source/js/src/lib/hooks/RecceCheckContext.tsx +0 -33
  512. package/recce-source/js/src/lib/hooks/RecceContextProvider.tsx +0 -54
  513. package/recce-source/js/src/lib/hooks/RecceInstanceContext.tsx +0 -129
  514. package/recce-source/js/src/lib/hooks/RecceQueryContext.tsx +0 -98
  515. package/recce-source/js/src/lib/hooks/RecceShareStateContext.tsx +0 -59
  516. package/recce-source/js/src/lib/hooks/ScreenShot.tsx +0 -399
  517. package/recce-source/js/src/lib/hooks/useAppRouter.test.ts +0 -211
  518. package/recce-source/js/src/lib/hooks/useAppRouter.ts +0 -200
  519. package/recce-source/js/src/lib/hooks/useCheckEvents.ts +0 -99
  520. package/recce-source/js/src/lib/hooks/useCheckToast.tsx +0 -14
  521. package/recce-source/js/src/lib/hooks/useClipBoardToast.tsx +0 -27
  522. package/recce-source/js/src/lib/hooks/useCountdownToast.tsx +0 -102
  523. package/recce-source/js/src/lib/hooks/useFeedbackCollectionToast.tsx +0 -130
  524. package/recce-source/js/src/lib/hooks/useGuideToast.tsx +0 -45
  525. package/recce-source/js/src/lib/hooks/useIdleDetection.tsx +0 -185
  526. package/recce-source/js/src/lib/hooks/useModelColumns.tsx +0 -113
  527. package/recce-source/js/src/lib/hooks/useRecceInstanceInfo.tsx +0 -13
  528. package/recce-source/js/src/lib/hooks/useRecceServerFlag.tsx +0 -13
  529. package/recce-source/js/src/lib/hooks/useRun.tsx +0 -89
  530. package/recce-source/js/src/lib/hooks/useThemeColors.ts +0 -115
  531. package/recce-source/js/src/lib/mergeKeys.test.ts +0 -89
  532. package/recce-source/js/src/lib/mergeKeys.ts +0 -86
  533. package/recce-source/js/src/lib/result/ResultErrorFallback.tsx +0 -9
  534. package/recce-source/js/src/lib/utils/formatTime.ts +0 -84
  535. package/recce-source/js/src/lib/utils/urls.ts +0 -16
  536. package/recce-source/js/src/utils/DropdownValuesInput.tsx +0 -297
  537. package/recce-source/js/src/utils/formatters.tsx +0 -237
  538. package/recce-source/js/src/utils/transforms.ts +0 -81
  539. package/recce-source/js/tsconfig.json +0 -47
  540. package/recce-source/macros/README.md +0 -8
  541. package/recce-source/macros/recce_athena.sql +0 -73
  542. package/recce-source/pyproject.toml +0 -109
  543. package/recce-source/recce/VERSION +0 -1
  544. package/recce-source/recce/__init__.py +0 -84
  545. package/recce-source/recce/adapter/__init__.py +0 -0
  546. package/recce-source/recce/adapter/base.py +0 -109
  547. package/recce-source/recce/adapter/dbt_adapter/__init__.py +0 -1699
  548. package/recce-source/recce/adapter/dbt_adapter/dbt_version.py +0 -42
  549. package/recce-source/recce/adapter/sqlmesh_adapter.py +0 -141
  550. package/recce-source/recce/apis/__init__.py +0 -0
  551. package/recce-source/recce/apis/check_api.py +0 -203
  552. package/recce-source/recce/apis/check_events_api.py +0 -353
  553. package/recce-source/recce/apis/check_func.py +0 -130
  554. package/recce-source/recce/apis/run_api.py +0 -130
  555. package/recce-source/recce/apis/run_func.py +0 -258
  556. package/recce-source/recce/artifact.py +0 -266
  557. package/recce-source/recce/cli.py +0 -1846
  558. package/recce-source/recce/config.py +0 -127
  559. package/recce-source/recce/connect_to_cloud.py +0 -138
  560. package/recce-source/recce/core.py +0 -334
  561. package/recce-source/recce/diff.py +0 -26
  562. package/recce-source/recce/event/CONFIG +0 -1
  563. package/recce-source/recce/event/SENTRY_DNS +0 -1
  564. package/recce-source/recce/event/__init__.py +0 -304
  565. package/recce-source/recce/event/collector.py +0 -184
  566. package/recce-source/recce/event/track.py +0 -158
  567. package/recce-source/recce/exceptions.py +0 -21
  568. package/recce-source/recce/git.py +0 -77
  569. package/recce-source/recce/github.py +0 -222
  570. package/recce-source/recce/mcp_server.py +0 -861
  571. package/recce-source/recce/models/__init__.py +0 -6
  572. package/recce-source/recce/models/check.py +0 -473
  573. package/recce-source/recce/models/run.py +0 -46
  574. package/recce-source/recce/models/types.py +0 -218
  575. package/recce-source/recce/pull_request.py +0 -124
  576. package/recce-source/recce/run.py +0 -390
  577. package/recce-source/recce/server.py +0 -877
  578. package/recce-source/recce/state/__init__.py +0 -31
  579. package/recce-source/recce/state/cloud.py +0 -644
  580. package/recce-source/recce/state/const.py +0 -26
  581. package/recce-source/recce/state/local.py +0 -56
  582. package/recce-source/recce/state/state.py +0 -119
  583. package/recce-source/recce/state/state_loader.py +0 -174
  584. package/recce-source/recce/summary.py +0 -575
  585. package/recce-source/recce/tasks/__init__.py +0 -23
  586. package/recce-source/recce/tasks/core.py +0 -134
  587. package/recce-source/recce/tasks/dataframe.py +0 -170
  588. package/recce-source/recce/tasks/histogram.py +0 -433
  589. package/recce-source/recce/tasks/lineage.py +0 -19
  590. package/recce-source/recce/tasks/profile.py +0 -298
  591. package/recce-source/recce/tasks/query.py +0 -450
  592. package/recce-source/recce/tasks/rowcount.py +0 -277
  593. package/recce-source/recce/tasks/schema.py +0 -65
  594. package/recce-source/recce/tasks/top_k.py +0 -172
  595. package/recce-source/recce/tasks/utils.py +0 -147
  596. package/recce-source/recce/tasks/valuediff.py +0 -497
  597. package/recce-source/recce/util/__init__.py +0 -4
  598. package/recce-source/recce/util/api_token.py +0 -80
  599. package/recce-source/recce/util/breaking.py +0 -330
  600. package/recce-source/recce/util/cache.py +0 -25
  601. package/recce-source/recce/util/cll.py +0 -355
  602. package/recce-source/recce/util/cloud/__init__.py +0 -15
  603. package/recce-source/recce/util/cloud/base.py +0 -115
  604. package/recce-source/recce/util/cloud/check_events.py +0 -190
  605. package/recce-source/recce/util/cloud/checks.py +0 -242
  606. package/recce-source/recce/util/io.py +0 -120
  607. package/recce-source/recce/util/lineage.py +0 -83
  608. package/recce-source/recce/util/logger.py +0 -25
  609. package/recce-source/recce/util/onboarding_state.py +0 -45
  610. package/recce-source/recce/util/perf_tracking.py +0 -85
  611. package/recce-source/recce/util/pydantic_model.py +0 -22
  612. package/recce-source/recce/util/recce_cloud.py +0 -454
  613. package/recce-source/recce/util/singleton.py +0 -18
  614. package/recce-source/recce/util/startup_perf.py +0 -121
  615. package/recce-source/recce/yaml/__init__.py +0 -58
  616. package/recce-source/recce_cloud/README.md +0 -780
  617. package/recce-source/recce_cloud/VERSION +0 -1
  618. package/recce-source/recce_cloud/__init__.py +0 -24
  619. package/recce-source/recce_cloud/api/__init__.py +0 -17
  620. package/recce-source/recce_cloud/api/base.py +0 -132
  621. package/recce-source/recce_cloud/api/client.py +0 -186
  622. package/recce-source/recce_cloud/api/exceptions.py +0 -26
  623. package/recce-source/recce_cloud/api/factory.py +0 -63
  624. package/recce-source/recce_cloud/api/github.py +0 -106
  625. package/recce-source/recce_cloud/api/gitlab.py +0 -111
  626. package/recce-source/recce_cloud/artifact.py +0 -57
  627. package/recce-source/recce_cloud/ci_providers/__init__.py +0 -9
  628. package/recce-source/recce_cloud/ci_providers/base.py +0 -82
  629. package/recce-source/recce_cloud/ci_providers/detector.py +0 -147
  630. package/recce-source/recce_cloud/ci_providers/github_actions.py +0 -136
  631. package/recce-source/recce_cloud/ci_providers/gitlab_ci.py +0 -130
  632. package/recce-source/recce_cloud/cli.py +0 -434
  633. package/recce-source/recce_cloud/download.py +0 -230
  634. package/recce-source/recce_cloud/hatch_build.py +0 -20
  635. package/recce-source/recce_cloud/pyproject.toml +0 -49
  636. package/recce-source/recce_cloud/upload.py +0 -214
  637. package/recce-source/test.py +0 -0
  638. package/recce-source/tests/__init__.py +0 -0
  639. package/recce-source/tests/adapter/__init__.py +0 -0
  640. package/recce-source/tests/adapter/dbt_adapter/__init__.py +0 -0
  641. package/recce-source/tests/adapter/dbt_adapter/conftest.py +0 -17
  642. package/recce-source/tests/adapter/dbt_adapter/dbt_test_helper.py +0 -298
  643. package/recce-source/tests/adapter/dbt_adapter/test_dbt_adapter.py +0 -25
  644. package/recce-source/tests/adapter/dbt_adapter/test_dbt_cll.py +0 -717
  645. package/recce-source/tests/adapter/dbt_adapter/test_proj/dbt_project.yml +0 -4
  646. package/recce-source/tests/adapter/dbt_adapter/test_proj/manifest.json +0 -1
  647. package/recce-source/tests/adapter/dbt_adapter/test_proj/package-lock.yml +0 -8
  648. package/recce-source/tests/adapter/dbt_adapter/test_proj/packages.yml +0 -7
  649. package/recce-source/tests/adapter/dbt_adapter/test_proj/profiles.yml +0 -6
  650. package/recce-source/tests/adapter/dbt_adapter/test_selector.py +0 -205
  651. package/recce-source/tests/apis/__init__.py +0 -0
  652. package/recce-source/tests/apis/row_count_diff.json +0 -59
  653. package/recce-source/tests/apis/test_check_events_api.py +0 -615
  654. package/recce-source/tests/apis/test_run_func.py +0 -433
  655. package/recce-source/tests/catalog.json +0 -527
  656. package/recce-source/tests/data/manifest/base/catalog.json +0 -1
  657. package/recce-source/tests/data/manifest/base/manifest.json +0 -1
  658. package/recce-source/tests/data/manifest/pr2/catalog.json +0 -1
  659. package/recce-source/tests/data/manifest/pr2/manifest.json +0 -1
  660. package/recce-source/tests/manifest.json +0 -10655
  661. package/recce-source/tests/models/__init__.py +0 -0
  662. package/recce-source/tests/models/test_check.py +0 -731
  663. package/recce-source/tests/models/test_run_models.py +0 -295
  664. package/recce-source/tests/recce_cloud/__init__.py +0 -0
  665. package/recce-source/tests/recce_cloud/test_ci_providers.py +0 -351
  666. package/recce-source/tests/recce_cloud/test_cli.py +0 -735
  667. package/recce-source/tests/recce_cloud/test_client.py +0 -379
  668. package/recce-source/tests/recce_cloud/test_platform_clients.py +0 -483
  669. package/recce-source/tests/recce_state.json +0 -1
  670. package/recce-source/tests/state/test_cloud.py +0 -719
  671. package/recce-source/tests/state/test_local.py +0 -164
  672. package/recce-source/tests/state/test_state_loader.py +0 -211
  673. package/recce-source/tests/tasks/__init__.py +0 -0
  674. package/recce-source/tests/tasks/conftest.py +0 -4
  675. package/recce-source/tests/tasks/test_histogram.py +0 -129
  676. package/recce-source/tests/tasks/test_lineage.py +0 -55
  677. package/recce-source/tests/tasks/test_preset_checks.py +0 -64
  678. package/recce-source/tests/tasks/test_profile.py +0 -397
  679. package/recce-source/tests/tasks/test_query.py +0 -528
  680. package/recce-source/tests/tasks/test_row_count.py +0 -133
  681. package/recce-source/tests/tasks/test_schema.py +0 -122
  682. package/recce-source/tests/tasks/test_top_k.py +0 -77
  683. package/recce-source/tests/tasks/test_utils.py +0 -439
  684. package/recce-source/tests/tasks/test_valuediff.py +0 -361
  685. package/recce-source/tests/test_cli.py +0 -236
  686. package/recce-source/tests/test_cli_mcp_optional.py +0 -45
  687. package/recce-source/tests/test_cloud_listing_cli.py +0 -324
  688. package/recce-source/tests/test_config.py +0 -43
  689. package/recce-source/tests/test_connect_to_cloud.py +0 -82
  690. package/recce-source/tests/test_core.py +0 -174
  691. package/recce-source/tests/test_dbt.py +0 -36
  692. package/recce-source/tests/test_mcp_server.py +0 -505
  693. package/recce-source/tests/test_pull_request.py +0 -130
  694. package/recce-source/tests/test_server.py +0 -202
  695. package/recce-source/tests/test_server_lifespan.py +0 -138
  696. package/recce-source/tests/test_summary.py +0 -73
  697. package/recce-source/tests/util/__init__.py +0 -0
  698. package/recce-source/tests/util/cloud/__init__.py +0 -0
  699. package/recce-source/tests/util/cloud/test_check_events.py +0 -255
  700. package/recce-source/tests/util/cloud/test_checks.py +0 -204
  701. package/recce-source/tests/util/test_api_token.py +0 -119
  702. package/recce-source/tests/util/test_breaking.py +0 -1427
  703. package/recce-source/tests/util/test_cll.py +0 -706
  704. package/recce-source/tests/util/test_lineage.py +0 -122
  705. package/recce-source/tests/util/test_onboarding_state.py +0 -84
  706. package/recce-source/tests/util/test_recce_cloud.py +0 -231
  707. package/recce-source/tox.ini +0 -40
  708. package/recce-source/uv.lock +0 -3928
  709. package/src/api/index.ts +0 -32
  710. package/src/components/index.ts +0 -154
  711. package/src/global.d.ts +0 -14
  712. package/src/hooks/index.ts +0 -56
  713. package/src/index.ts +0 -17
  714. package/src/lib/hooks/RouteConfigContext.ts +0 -139
  715. package/src/lib/hooks/useAppRouter.ts +0 -240
  716. package/src/mui-augmentation.d.ts +0 -139
  717. package/src/theme/index.ts +0 -13
  718. package/src/theme.ts +0 -23
  719. package/src/types/index.ts +0 -23
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-CTITyT0R.js","names":["PUBLIC_API_URL","QueryClient","defaultConfig: ApiConfig","PUBLIC_API_URL","config: ApiConfig","contextValue: ApiConfigContextType","defaultApiConfigContext: ApiConfigContextType","err: unknown","AxiosError"],"sources":["../recce-source/js/src/lib/api/axiosClient.ts","../recce-source/js/src/lib/api/track.ts","../recce-source/js/src/lib/api/types.ts","../recce-source/js/src/lib/hooks/ApiConfigContext.tsx","../recce-source/js/src/lib/api/cacheKeys.ts","../recce-source/js/src/lib/api/flag.ts","../recce-source/js/src/lib/api/info.ts","../recce-source/js/src/lib/api/runs.ts","../recce-source/js/src/lib/api/state.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport { PUBLIC_API_URL } from \"@/lib/const\";\n\nexport const axiosClient = axios.create({\n baseURL: PUBLIC_API_URL,\n});\n\nexport const reactQueryClient = new QueryClient();\n","import {\n AmplitudeReturn,\n BaseEvent,\n EventOptions,\n Result,\n} from \"@amplitude/analytics-core\";\nimport { initAll, track as trk } from \"@amplitude/unified\";\n\nfunction track(\n eventInput: string | BaseEvent,\n // biome-ignore lint/suspicious/noExplicitAny: Amplitude library uses any for event properties\n eventProperties?: Record<string, any> | undefined,\n eventOptions?: EventOptions | undefined,\n): AmplitudeReturn<Result> {\n // If Amplitude isn't initialized, log to console instead\n if (!amplitudeInitialized) {\n console.log(\"[Tracking]\", eventInput, eventProperties, eventOptions);\n }\n return trk(eventInput, eventProperties, eventOptions);\n}\n\nlet amplitudeInitialized = false;\n\nexport function trackInit() {\n function getCookie(key: string) {\n const b = document.cookie.match(\"(^|;)\\\\s*\" + key + \"\\\\s*=\\\\s*([^;]+)\");\n return b ? b.pop() : \"\";\n }\n\n const userId =\n process.env.NODE_ENV === \"development\"\n ? \"web_dev\"\n : getCookie(\"recce_user_id\");\n const apiKey = process.env.AMPLITUDE_API_KEY;\n if (userId && apiKey) {\n try {\n void initAll(apiKey, {\n analytics: {\n userId,\n autocapture: true,\n },\n sessionReplay: {\n sampleRate: 1,\n },\n });\n amplitudeInitialized = true;\n } catch (e) {\n console.error(e);\n }\n }\n\n // Log when Amplitude is not initialized (for development/debugging)\n if (!amplitudeInitialized) {\n console.log(\n \"[Tracking] Amplitude not initialized (missing API key or user ID). Events will be logged to console instead.\",\n );\n }\n}\n\ninterface MultiNodeActionProps {\n type:\n | \"row_count\"\n | \"row_count_diff\"\n | \"value_diff\"\n | \"schema_diff\"\n | \"lineage_diff\";\n selected: \"single\" | \"multi\" | \"none\";\n}\n\nexport function trackMultiNodesAction(props: MultiNodeActionProps) {\n track(\"[Web] multi_nodes_action\", props);\n}\n\ninterface HistoryActionProps {\n name: \"show\" | \"hide\" | \"click_run\" | \"add_to_checklist\" | \"go_to_check\";\n}\n\nexport function trackHistoryAction(props: HistoryActionProps) {\n track(\"[Web] history_action\", props);\n}\n\ninterface PreviewChangeProps {\n action: \"explore\" | \"run\" | \"close\";\n node?: string;\n status?: \"success\" | \"failure\";\n}\n\nexport function trackPreviewChange(props: PreviewChangeProps) {\n track(\"[Experiment] preview_change\", props);\n}\n\ninterface PreviewChangeFeedbackProps {\n feedback: \"like\" | \"dislike\" | \"form\";\n node?: string;\n}\n\nexport function trackPreviewChangeFeedback(props: PreviewChangeFeedbackProps) {\n track(\"[Experiment] preview_change\", props);\n}\n\ninterface SingleEnvironmentProps {\n action:\n | \"onboarding\"\n | \"external_link\"\n | \"preview_changes\"\n | `target_base_added`;\n from?: \"onboarding\" | \"preview_changes\";\n node?: string;\n}\n\nexport function trackSingleEnvironment(props: SingleEnvironmentProps) {\n track(\"[Experiment] single_environment\", props);\n}\n\nexport function getExperimentTrackingBreakingChangeEnabled() {\n return false;\n}\n\ninterface ColumnLevelLineageProps {\n action: \"view\";\n source: \"schema_column\" | \"changed_column\" | \"cll_column\";\n}\n\nexport function trackColumnLevelLineage(props: ColumnLevelLineageProps) {\n track(\"[Web] column_level_lineage\", props);\n}\n\ninterface ShareStateProps {\n name: \"enable\" | \"create\" | \"copy\";\n}\n\nexport function trackShareState(props: ShareStateProps) {\n track(\"[Web] share_state\", props);\n}\n\ninterface StateActionProps {\n name: \"import\" | \"export\";\n}\n\nexport function trackStateAction(props: StateActionProps) {\n track(\"[Web] state_action\", props);\n}\n\ninterface CopyToClipboardProps {\n from: \"run\" | \"check\" | \"lineage_view\";\n type: string;\n}\n\nexport function trackCopyToClipboard(props: CopyToClipboardProps) {\n track(\"[Click] copy_to_clipboard\", props);\n}\n\ninterface TrackNavProps {\n from: string;\n to: string;\n}\n\nexport function trackNavigation(props: TrackNavProps) {\n track(\"[Web] navigation_change\", props);\n}\n\nexport interface LineageViewRenderProps {\n node_count: number;\n view_mode: string;\n impact_radius_enabled: boolean;\n cll_column_active?: boolean;\n right_sidebar_open: boolean;\n [status: string]: number | string | boolean | undefined;\n}\n\nexport function trackLineageViewRender(props: LineageViewRenderProps) {\n track(\"[Web] lineage_view_render\", props);\n}\n\nexport interface EnvironmentConfigProps {\n review_mode: boolean;\n adapter_type: string | null;\n has_git_info: boolean;\n has_pr_info: boolean;\n // Adapter-specific (shape varies by adapter_type)\n base?: {\n schema_count?: number;\n dbt_version?: string | null;\n timestamp?: string | null;\n has_env?: boolean;\n };\n current?: {\n schema_count?: number;\n dbt_version?: string | null;\n timestamp?: string | null;\n has_env?: boolean;\n };\n schemas_match?: boolean;\n}\n\nexport function trackEnvironmentConfig(props: EnvironmentConfigProps) {\n track(\"[Web] environment_config\", props);\n}\n\n// Explore action types\nexport const EXPLORE_ACTION = {\n ROW_COUNT: \"row_count\",\n ROW_COUNT_DIFF: \"row_count_diff\",\n PROFILE: \"profile\",\n PROFILE_DIFF: \"profile_diff\",\n VALUE_DIFF: \"value_diff\",\n SCHEMA_DIFF: \"schema_diff\",\n LINEAGE_DIFF: \"lineage_diff\",\n QUERY: \"query\",\n HISTOGRAM_DIFF: \"histogram_diff\",\n TOP_K_DIFF: \"top_k_diff\",\n} as const;\n\n// Explore action sources\nexport const EXPLORE_SOURCE = {\n LINEAGE_VIEW_TOP_BAR: \"lineage_view_top_bar\",\n LINEAGE_VIEW_CONTEXT_MENU: \"lineage_view_context_menu\",\n NODE_KEBAB_MENU: \"node_kebab_menu\",\n NODE_SIDEBAR_SINGLE_ENV: \"node_sidebar_single_env\",\n NODE_SIDEBAR_MULTI_ENV: \"node_sidebar_multi_env\",\n SCHEMA_ROW_COUNT_BUTTON: \"schema_row_count_button\",\n SCHEMA_COLUMN_MENU: \"schema_column_menu\",\n} as const;\n\nexport type ExploreActionType =\n (typeof EXPLORE_ACTION)[keyof typeof EXPLORE_ACTION];\nexport type ExploreSourceType =\n (typeof EXPLORE_SOURCE)[keyof typeof EXPLORE_SOURCE];\n\ninterface ExploreActionProps {\n action: ExploreActionType;\n source: ExploreSourceType;\n node_count?: number;\n}\n\nexport function trackExploreAction(props: ExploreActionProps) {\n track(\"[Web] explore_action\", props);\n}\n\n// Explore action form events\nexport const EXPLORE_FORM_EVENT = {\n EXECUTE: \"execute\",\n CANCEL: \"cancel\",\n} as const;\n\nexport type ExploreFormEventType =\n (typeof EXPLORE_FORM_EVENT)[keyof typeof EXPLORE_FORM_EVENT];\n\ninterface ExploreActionFormProps {\n action: ExploreActionType;\n event: ExploreFormEventType;\n}\n\nexport function trackExploreActionForm(props: ExploreActionFormProps) {\n track(\"[Web] explore_action_form\", props);\n}\n\n// Helper to check if a run type is an explore action\nexport function isExploreAction(type: string): type is ExploreActionType {\n return Object.values(EXPLORE_ACTION).includes(type as ExploreActionType);\n}\n\n// Lineage selection action types\nexport const LINEAGE_SELECTION_ACTION = {\n SELECT_PARENT_NODES: \"select_parent_nodes\",\n SELECT_CHILD_NODES: \"select_child_nodes\",\n SELECT_ALL_UPSTREAM: \"select_all_upstream\",\n SELECT_ALL_DOWNSTREAM: \"select_all_downstream\",\n} as const;\n\nexport type LineageSelectionActionType =\n (typeof LINEAGE_SELECTION_ACTION)[keyof typeof LINEAGE_SELECTION_ACTION];\n\ninterface LineageSelectionProps {\n action: LineageSelectionActionType;\n node_count?: number;\n}\n\nexport function trackLineageSelection(props: LineageSelectionProps) {\n track(\"[Web] lineage_selection\", props);\n}\n","// ============================================================================\n// Base Types\n// ============================================================================\n\nexport type AxiosQueryParams = Record<\n string,\n string | string[] | number | number[] | undefined\n>;\n\nexport type RowDataTypes = number | string | boolean | null | undefined;\nexport type RowData = RowDataTypes[];\n\nexport type RowObjectType = Record<string, RowDataTypes> & {\n __status: \"added\" | \"removed\" | \"modified\" | undefined;\n _index?: number;\n};\n\nexport type ColumnType =\n | \"number\"\n | \"integer\"\n | \"text\"\n | \"boolean\"\n | \"date\"\n | \"datetime\"\n | \"timedelta\"\n | \"unknown\";\n\nexport type ColumnRenderMode = \"raw\" | \"percent\" | \"delta\" | 2;\nexport interface DataFrame {\n columns: {\n key: string;\n name: string;\n type: ColumnType;\n }[];\n data: RowData[];\n limit?: number;\n more?: boolean;\n}\n\n// ============================================================================\n// Run Types - Strict enum without string union\n// ============================================================================\n\n// ============================================================================\n// Inline Param Definitions (defined here to avoid circular dependencies)\n// ============================================================================\n\n// Import types that are defined in other files\nimport { RunType } from \"@/components/run/registry\";\nimport type {\n QueryDiffParams,\n QueryDiffResult,\n QueryResult,\n QueryRunParams,\n} from \"./adhocQuery\";\nimport type { LineageDiffResult } from \"./info\";\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// Define params that don't have their own files yet\nexport interface SchemaDiffParams {\n node_id?: string | string[];\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\nexport interface LineageDiffParams {\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\n// ============================================================================\n// Run - Discriminated Union Type\n// ============================================================================\n\nexport type RunParamTypes =\n | QueryRunParams\n | QueryDiffParams\n | ValueDiffParams\n | SchemaDiffParams\n | ProfileDiffParams\n | RowCountParams\n | RowCountDiffParams\n | LineageDiffParams\n | TopKDiffParams\n | HistogramDiffParams\n | undefined;\n\ninterface BaseRun {\n type: RunType;\n run_id: string;\n run_at: string;\n name?: string;\n check_id?: string;\n progress?: {\n message?: string;\n percentage?: number;\n };\n error?: string;\n status?: \"finished\" | \"failed\" | \"cancelled\" | \"running\";\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\nexport function isSimpleRun(run: Run): run is Extract<Run, { type: \"simple\" }> {\n return run.type === \"simple\";\n}\n\nexport function isQueryRun(run: Run): run is Extract<Run, { type: \"query\" }> {\n return run.type === \"query\";\n}\n\nexport function isQueryBaseRun(\n run: Run,\n): run is Extract<Run, { type: \"query_base\" }> {\n return run.type === \"query_base\";\n}\n\nexport function isQueryDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"query_diff\" }> {\n return run.type === \"query_diff\";\n}\n\nexport function isValueDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"value_diff\" }> {\n return run.type === \"value_diff\";\n}\n\nexport function isValueDiffDetailRun(\n run: Run,\n): run is Extract<Run, { type: \"value_diff_detail\" }> {\n return run.type === \"value_diff_detail\";\n}\n\nexport function isSchemaDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"schema_diff\" }> {\n return run.type === \"schema_diff\";\n}\n\nexport function isProfileRun(\n run: Run,\n): run is Extract<Run, { type: \"profile\" }> {\n return run.type === \"profile\";\n}\n\nexport function isProfileDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"profile_diff\" }> {\n return run.type === \"profile_diff\";\n}\n\nexport function isRowCountRun(\n run: Run,\n): run is Extract<Run, { type: \"row_count\" }> {\n return run.type === \"row_count\";\n}\n\nexport function isRowCountDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"row_count_diff\" }> {\n return run.type === \"row_count_diff\";\n}\n\nexport function isLineageDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"lineage_diff\" }> {\n return run.type === \"lineage_diff\";\n}\n\nexport function isTopKDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"top_k_diff\" }> {\n return run.type === \"top_k_diff\";\n}\n\nexport function isHistogramDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"histogram_diff\" }> {\n return run.type === \"histogram_diff\";\n}\n","import axios, { AxiosInstance } from \"axios\";\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport { PUBLIC_API_URL } from \"@/lib/const\";\n\n/**\n * API Configuration Context\n *\n * Provides configurable API endpoint prefix and authentication token\n * for use with recce-cloud or other custom API backends.\n *\n * Default behavior (OSS):\n * - apiPrefix: \"\" (uses /api/* paths directly)\n * - authToken: undefined (no auth header)\n *\n * Cloud usage example:\n * - apiPrefix: \"/api/v2/sessions/abc123\" (replaces /api with this prefix)\n * - authToken: \"eyJ...\" (adds Authorization: Bearer header)\n */\n\nexport interface ApiConfig {\n /**\n * API endpoint prefix to replace `/api` in all requests.\n * For OSS: \"\" (empty string, uses default /api/* paths)\n * For Cloud: \"/api/v2/sessions/<session_id>\" (replaces /api with this)\n */\n apiPrefix: string;\n\n /**\n * Optional authentication token for API requests.\n * When provided, adds \"Authorization: Bearer <token>\" header.\n */\n authToken?: string;\n\n /**\n * Optional base URL override.\n * When provided, overrides the PUBLIC_API_URL for this context.\n */\n baseUrl?: string;\n}\n\ninterface ApiConfigContextType extends ApiConfig {\n /**\n * Pre-configured axios instance with interceptors for\n * API prefix replacement and auth token injection.\n */\n apiClient: AxiosInstance;\n}\n\nconst defaultConfig: ApiConfig = {\n apiPrefix: \"\",\n authToken: undefined,\n baseUrl: undefined,\n};\n\nconst ApiConfigContext = createContext<ApiConfigContextType | null>(null);\n\ninterface ApiConfigProviderProps extends Partial<ApiConfig> {\n children: React.ReactNode;\n}\n\n/**\n * Creates an axios instance configured with the given API config.\n *\n * The instance has interceptors that:\n * 1. Replace /api prefix with the configured apiPrefix (if provided)\n * 2. Add Authorization header with Bearer token (if authToken provided)\n */\nfunction createApiClient(config: ApiConfig): AxiosInstance {\n const { apiPrefix, authToken, baseUrl } = config;\n\n const client = axios.create({\n baseURL: baseUrl ?? PUBLIC_API_URL,\n });\n\n // Request interceptor to modify URL and add auth header\n client.interceptors.request.use(\n (requestConfig) => {\n try {\n // Replace /api prefix with configured apiPrefix (only if apiPrefix is non-empty)\n if (apiPrefix && requestConfig.url) {\n // Handle exact \"/api\" and \"/api/*\" URLs explicitly\n if (requestConfig.url === \"/api\") {\n requestConfig.url = apiPrefix;\n } else if (requestConfig.url.startsWith(\"/api/\")) {\n // \"/api\".length === 4; keep everything after that\n requestConfig.url = apiPrefix + requestConfig.url.slice(4);\n }\n }\n\n // Add auth header if token is provided\n if (authToken) {\n requestConfig.headers.Authorization = `Bearer ${authToken}`;\n }\n\n return requestConfig;\n } catch (error) {\n // If anything goes wrong in the interceptor, fall back to the original config\n // to avoid breaking all API requests.\n console.warn(\n \"API request interceptor error, proceeding with unmodified request:\",\n error,\n );\n return requestConfig;\n }\n },\n (error) => {\n // Preserve default axios behavior for request errors\n return Promise.reject(error);\n },\n );\n\n return client;\n}\n\nexport function ApiConfigProvider({\n children,\n apiPrefix = defaultConfig.apiPrefix,\n authToken = defaultConfig.authToken,\n baseUrl = defaultConfig.baseUrl,\n}: ApiConfigProviderProps) {\n const config: ApiConfig = useMemo(\n () => ({ apiPrefix, authToken, baseUrl }),\n [apiPrefix, authToken, baseUrl],\n );\n\n const apiClient = useMemo(() => createApiClient(config), [config]);\n\n const contextValue: ApiConfigContextType = useMemo(\n () => ({\n ...config,\n apiClient,\n }),\n [config, apiClient],\n );\n\n return (\n <ApiConfigContext.Provider value={contextValue}>\n {children}\n </ApiConfigContext.Provider>\n );\n}\n\n// Default config used when ApiConfigProvider is not present (OSS mode)\nconst defaultApiConfigContext: ApiConfigContextType = {\n apiPrefix: \"\",\n authToken: undefined,\n baseUrl: undefined,\n apiClient: axios.create({ baseURL: PUBLIC_API_URL }),\n};\n\n/**\n * Hook to access the API configuration and configured axios client.\n *\n * When used outside ApiConfigProvider, returns default config with\n * standard axiosClient (for OSS backward compatibility).\n *\n * @returns ApiConfigContextType with apiPrefix, authToken, and apiClient\n */\nexport function useApiConfig(): ApiConfigContextType {\n const context = useContext(ApiConfigContext);\n // Return default config if outside provider (OSS mode)\n return context ?? defaultApiConfigContext;\n}\n\n/**\n * Hook to get the configured axios client.\n * Convenience wrapper around useApiConfig().apiClient\n *\n * @returns AxiosInstance configured with API prefix and auth token\n */\nexport function useApiClient(): AxiosInstance {\n return useApiConfig().apiClient;\n}\n\n/**\n * Safe version of useApiConfig that returns null if outside provider.\n * Useful for components that need to detect if ApiConfigProvider is present.\n */\nexport function useApiConfigSafe(): ApiConfigContextType | null {\n return useContext(ApiConfigContext);\n}\n","export const cacheKeys = {\n rowCount: (model: string) => [\"row_count\", model],\n lineage: () => [\"lineage\"],\n checks: () => [\"checks\", \"list\"],\n check: (checkId: string) => [\"checks\", checkId],\n checkEvents: (checkId: string) => [\"checks\", checkId, \"events\"],\n runs: () => [\"runs\"],\n run: (runId: string) => [\"runs\", runId],\n runsAggregated: () => [\"runs_aggregated\"],\n flag: () => [\"flag\"],\n instanceInfo: () => [\"instance_info\"],\n user: () => [\"user\"],\n};\n","import { AxiosInstance, AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\nexport interface RecceServerFlags {\n single_env_onboarding: boolean;\n show_relaunch_hint: boolean;\n}\n\nexport async function getServerFlag(\n client: AxiosInstance = axiosClient,\n): Promise<RecceServerFlags> {\n return (await client.get<never, AxiosResponse<RecceServerFlags>>(\"/api/flag\"))\n .data;\n}\n\n// This was used for showing onboarding guide. Check DRC-1320 for more detials\nexport async function markOnboardingCompleted(\n client: AxiosInstance = axiosClient,\n): Promise<void> {\n try {\n await client.post<never, AxiosResponse<never>>(\"/api/onboarding/completed\");\n } catch (_error) {\n // skip any errors\n }\n}\n\nexport async function markRelaunchHintCompleted(\n client: AxiosInstance = axiosClient,\n): Promise<void> {\n try {\n await client.post<never, AxiosResponse<never>>(\n \"/api/relaunch-hint/completed\",\n );\n } catch (_error) {\n // skip any errors\n }\n}\n","import { AxiosError, AxiosInstance, AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\n/**\n * The data from the API\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}\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// https://docs.getdbt.com/reference/artifacts/dbt-artifacts#common-metadata\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}\nexport interface ManifestMetadata extends ArtifactMetadata {\n project_id?: string;\n project_name?: string;\n user_id?: string;\n}\nexport interface SQLMeshInfo {\n base_env: string;\n current_env: string;\n}\n\nexport type CatalogMetadata = ArtifactMetadata;\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\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\ninterface LineageOutput {\n error?: string;\n data?: LineageData;\n}\n\nexport async function getLineage(base = false): Promise<LineageData> {\n const response = await axiosClient.get<LineageData>(\n `/api/lineage?base=${base}`,\n );\n return response.data;\n}\n\nexport async function getLineageWithError(\n base = false,\n): Promise<LineageOutput> {\n try {\n const data = await getLineage(base);\n return { data };\n } catch (err: unknown) {\n if (err instanceof AxiosError) {\n const data = err.response?.data as Record<string, unknown> | undefined;\n const detail = data?.detail as string | undefined;\n if (detail) {\n return { error: detail };\n } else {\n return { error: err.message };\n }\n } else if (err instanceof Error) {\n return { error: err.message };\n } else {\n return { error: \"An unknown error occurred\" };\n }\n }\n}\n\nexport interface LineageDiffResult {\n base?: LineageData;\n current?: LineageData;\n base_error?: string;\n current_error?: string;\n}\n\nexport async function getLineageDiff(): Promise<LineageDiffResult> {\n const [base, current] = await Promise.all([\n getLineageWithError(true),\n getLineageWithError(false),\n ]);\n\n return {\n base: base.data,\n current: current.data,\n base_error: base.error,\n current_error: current.error,\n };\n}\n\nexport interface stateMetadata {\n schema_version: string;\n recce_version: string;\n generated_at: string;\n}\n\nexport interface gitInfo {\n branch?: string;\n}\n\nexport interface pullRequestInfo {\n id?: string | number;\n title?: string;\n url?: string;\n branch?: string;\n base_branch?: string;\n}\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\nexport async function getServerInfo(\n client: AxiosInstance = axiosClient,\n): Promise<ServerInfoResult> {\n return (await client.get<never, AxiosResponse<ServerInfoResult>>(`/api/info`))\n .data;\n}\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\nexport async function getModelInfo(model: string): Promise<ModelInfoResult> {\n return (\n await axiosClient.get<never, AxiosResponse<ModelInfoResult>>(\n `/api/model/${model}`,\n )\n ).data;\n}\n","import { AxiosInstance, AxiosResponse } from \"axios\";\nimport { RunType } from \"@/components/run/registry\";\nimport { axiosClient } from \"./axiosClient\";\nimport { getExperimentTrackingBreakingChangeEnabled } from \"./track\";\nimport { AxiosQueryParams, isQueryRun, Run, RunParamTypes } from \"./types\";\n\nexport interface SubmitRunTrackProps {\n breaking_change_analysis?: boolean;\n source?: \"lineage_model_node\" | \"lineage_column_node\";\n [key: string]: unknown;\n}\n\nexport interface SubmitOptions {\n nowait?: boolean;\n trackProps?: SubmitRunTrackProps;\n}\n\ninterface SubmitRunBody {\n type: RunType;\n params?: Record<string, unknown>;\n nowait?: boolean;\n track_props: SubmitRunTrackProps;\n}\n\nfunction mutateAddKey(run: Run): Run {\n if (run.result == null) {\n // no result, don't do anything\n return run;\n }\n if (isQueryRun(run)) {\n run.result.columns = run.result.columns.map((c) => {\n if (c.key) {\n return c;\n }\n c.key = c.name;\n return c;\n });\n }\n return run;\n}\n\nexport async function submitRun(\n type: RunType,\n params?: RunParamTypes,\n options?: SubmitOptions,\n client: AxiosInstance = axiosClient,\n) {\n const track_props = options?.trackProps ? { ...options.trackProps } : {};\n if (getExperimentTrackingBreakingChangeEnabled()) {\n track_props.breaking_change_analysis = true;\n }\n\n const response = await client.post<\n SubmitRunBody,\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\nexport async function getRun(\n runId: string,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.get<never, AxiosResponse<Run>>(\n `/api/runs/${runId}`,\n );\n return response.data;\n}\n\ninterface WaitRunBody {\n params: {\n timeout?: number;\n };\n}\n\nexport async function waitRun(\n runId: string,\n timeout?: number,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.get<WaitRunBody, AxiosResponse<Run>>(\n `/api/runs/${runId}/wait`,\n {\n params: {\n timeout,\n },\n },\n );\n\n return mutateAddKey(response.data);\n}\n\nexport async function cancelRun(\n runId: string,\n client: AxiosInstance = axiosClient,\n) {\n return await client.post<never, AxiosResponse<never>>(\n `/api/runs/${runId}/cancel`,\n );\n}\n\nexport async function submitRunFromCheck(\n checkId: string,\n options?: SubmitOptions,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.post<\n { nowait?: boolean },\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(`/api/checks/${checkId}/run`, {\n nowait: options?.nowait,\n });\n\n return response.data;\n}\n\ninterface SearchRunsBody {\n type: string;\n params: Record<string, unknown>;\n limit?: number;\n}\n\nexport async function searchRuns(\n type: string,\n params?: AxiosQueryParams,\n limit?: number,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.post<SearchRunsBody, AxiosResponse<Run[]>>(\n `/api/runs/search`,\n {\n type,\n params,\n limit,\n },\n );\n\n return response.data;\n}\n\nexport async function listRuns(\n client: AxiosInstance = axiosClient,\n): Promise<Run[]> {\n const response = await client.get<never, AxiosResponse<Run[]>>(\"/api/runs\");\n return response.data;\n}\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>;\nexport async function aggregateRuns(\n client: AxiosInstance = axiosClient,\n): Promise<RunsAggregated> {\n // input should be AggregateRunsIn\n const response = await client.post<unknown, AxiosResponse<RunsAggregated>>(\n `/api/runs/aggregate`,\n {},\n );\n\n return response.data;\n}\n","import { AxiosInstance, AxiosResponse, isAxiosError } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\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 = axiosClient,\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 = axiosClient,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/rename\", input)\n ).data;\n}\n\nexport async function exportState(\n client: AxiosInstance = axiosClient,\n): 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,\n client: AxiosInstance = axiosClient,\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(\n client: AxiosInstance = axiosClient,\n): 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}\nexport interface SyncStateResponse {\n status: \"accepted\" | \"conflict\" | \"syncing\";\n}\n\nexport async function syncState(\n input: SyncStateInput,\n client: AxiosInstance = axiosClient,\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 = axiosClient,\n): Promise<ShareStateResponse> {\n return (\n await client.post<never, AxiosResponse<ShareStateResponse>>(\"/api/share\")\n ).data;\n}\n"],"mappings":"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"}
@@ -1,382 +0,0 @@
1
- "use client"
2
- import { t as PUBLIC_API_URL } from "./const-CaIm1Z8g.mjs";
3
- import React, { createContext, useContext, useMemo } from "react";
4
- import { jsx } from "react/jsx-runtime";
5
- import { QueryClient } from "@tanstack/react-query";
6
- import axios, { AxiosError, isAxiosError } from "axios";
7
- import { track } from "@amplitude/unified";
8
-
9
- //#region recce-source/js/src/lib/api/axiosClient.ts
10
- const axiosClient = axios.create({ baseURL: PUBLIC_API_URL });
11
- const reactQueryClient = new QueryClient();
12
-
13
- //#endregion
14
- //#region recce-source/js/src/lib/api/track.ts
15
- function track$1(eventInput, eventProperties, eventOptions) {
16
- if (!amplitudeInitialized) console.log("[Tracking]", eventInput, eventProperties, eventOptions);
17
- return track(eventInput, eventProperties, eventOptions);
18
- }
19
- let amplitudeInitialized = false;
20
- function trackMultiNodesAction(props) {
21
- track$1("[Web] multi_nodes_action", props);
22
- }
23
- function trackHistoryAction(props) {
24
- track$1("[Web] history_action", props);
25
- }
26
- function trackPreviewChange(props) {
27
- track$1("[Experiment] preview_change", props);
28
- }
29
- function trackPreviewChangeFeedback(props) {
30
- track$1("[Experiment] preview_change", props);
31
- }
32
- function trackSingleEnvironment(props) {
33
- track$1("[Experiment] single_environment", props);
34
- }
35
- function getExperimentTrackingBreakingChangeEnabled() {
36
- return false;
37
- }
38
- function trackColumnLevelLineage(props) {
39
- track$1("[Web] column_level_lineage", props);
40
- }
41
- function trackShareState(props) {
42
- track$1("[Web] share_state", props);
43
- }
44
- function trackStateAction(props) {
45
- track$1("[Web] state_action", props);
46
- }
47
- function trackCopyToClipboard(props) {
48
- track$1("[Click] copy_to_clipboard", props);
49
- }
50
- function trackNavigation(props) {
51
- track$1("[Web] navigation_change", props);
52
- }
53
- function trackLineageViewRender(props) {
54
- track$1("[Web] lineage_view_render", props);
55
- }
56
- function trackEnvironmentConfig(props) {
57
- track$1("[Web] environment_config", props);
58
- }
59
- const EXPLORE_ACTION = {
60
- ROW_COUNT: "row_count",
61
- ROW_COUNT_DIFF: "row_count_diff",
62
- PROFILE: "profile",
63
- PROFILE_DIFF: "profile_diff",
64
- VALUE_DIFF: "value_diff",
65
- SCHEMA_DIFF: "schema_diff",
66
- LINEAGE_DIFF: "lineage_diff",
67
- QUERY: "query",
68
- HISTOGRAM_DIFF: "histogram_diff",
69
- TOP_K_DIFF: "top_k_diff"
70
- };
71
- const EXPLORE_SOURCE = {
72
- LINEAGE_VIEW_TOP_BAR: "lineage_view_top_bar",
73
- LINEAGE_VIEW_CONTEXT_MENU: "lineage_view_context_menu",
74
- NODE_KEBAB_MENU: "node_kebab_menu",
75
- NODE_SIDEBAR_SINGLE_ENV: "node_sidebar_single_env",
76
- NODE_SIDEBAR_MULTI_ENV: "node_sidebar_multi_env",
77
- SCHEMA_ROW_COUNT_BUTTON: "schema_row_count_button",
78
- SCHEMA_COLUMN_MENU: "schema_column_menu"
79
- };
80
- function trackExploreAction(props) {
81
- track$1("[Web] explore_action", props);
82
- }
83
- const EXPLORE_FORM_EVENT = {
84
- EXECUTE: "execute",
85
- CANCEL: "cancel"
86
- };
87
- function trackExploreActionForm(props) {
88
- track$1("[Web] explore_action_form", props);
89
- }
90
- function isExploreAction(type) {
91
- return Object.values(EXPLORE_ACTION).includes(type);
92
- }
93
- const LINEAGE_SELECTION_ACTION = {
94
- SELECT_PARENT_NODES: "select_parent_nodes",
95
- SELECT_CHILD_NODES: "select_child_nodes",
96
- SELECT_ALL_UPSTREAM: "select_all_upstream",
97
- SELECT_ALL_DOWNSTREAM: "select_all_downstream"
98
- };
99
- function trackLineageSelection(props) {
100
- track$1("[Web] lineage_selection", props);
101
- }
102
-
103
- //#endregion
104
- //#region recce-source/js/src/lib/api/types.ts
105
- function isQueryRun(run) {
106
- return run.type === "query";
107
- }
108
- function isQueryBaseRun(run) {
109
- return run.type === "query_base";
110
- }
111
- function isQueryDiffRun(run) {
112
- return run.type === "query_diff";
113
- }
114
- function isValueDiffRun(run) {
115
- return run.type === "value_diff";
116
- }
117
- function isValueDiffDetailRun(run) {
118
- return run.type === "value_diff_detail";
119
- }
120
- function isProfileRun(run) {
121
- return run.type === "profile";
122
- }
123
- function isProfileDiffRun(run) {
124
- return run.type === "profile_diff";
125
- }
126
- function isRowCountRun(run) {
127
- return run.type === "row_count";
128
- }
129
- function isRowCountDiffRun(run) {
130
- return run.type === "row_count_diff";
131
- }
132
- function isTopKDiffRun(run) {
133
- return run.type === "top_k_diff";
134
- }
135
- function isHistogramDiffRun(run) {
136
- return run.type === "histogram_diff";
137
- }
138
-
139
- //#endregion
140
- //#region recce-source/js/src/lib/hooks/ApiConfigContext.tsx
141
- const defaultConfig = {
142
- apiPrefix: "",
143
- authToken: void 0,
144
- baseUrl: void 0
145
- };
146
- const ApiConfigContext = createContext(null);
147
- /**
148
- * Creates an axios instance configured with the given API config.
149
- *
150
- * The instance has interceptors that:
151
- * 1. Replace /api prefix with the configured apiPrefix (if provided)
152
- * 2. Add Authorization header with Bearer token (if authToken provided)
153
- */
154
- function createApiClient(config) {
155
- const { apiPrefix, authToken, baseUrl } = config;
156
- const client = axios.create({ baseURL: baseUrl ?? PUBLIC_API_URL });
157
- client.interceptors.request.use((requestConfig) => {
158
- try {
159
- if (apiPrefix && requestConfig.url) {
160
- if (requestConfig.url === "/api") requestConfig.url = apiPrefix;
161
- else if (requestConfig.url.startsWith("/api/")) requestConfig.url = apiPrefix + requestConfig.url.slice(4);
162
- }
163
- if (authToken) requestConfig.headers.Authorization = `Bearer ${authToken}`;
164
- return requestConfig;
165
- } catch (error) {
166
- console.warn("API request interceptor error, proceeding with unmodified request:", error);
167
- return requestConfig;
168
- }
169
- }, (error) => {
170
- return Promise.reject(error);
171
- });
172
- return client;
173
- }
174
- function ApiConfigProvider({ children, apiPrefix = defaultConfig.apiPrefix, authToken = defaultConfig.authToken, baseUrl = defaultConfig.baseUrl }) {
175
- const config = useMemo(() => ({
176
- apiPrefix,
177
- authToken,
178
- baseUrl
179
- }), [
180
- apiPrefix,
181
- authToken,
182
- baseUrl
183
- ]);
184
- const apiClient = useMemo(() => createApiClient(config), [config]);
185
- const contextValue = useMemo(() => ({
186
- ...config,
187
- apiClient
188
- }), [config, apiClient]);
189
- return /* @__PURE__ */ jsx(ApiConfigContext.Provider, {
190
- value: contextValue,
191
- children
192
- });
193
- }
194
- const defaultApiConfigContext = {
195
- apiPrefix: "",
196
- authToken: void 0,
197
- baseUrl: void 0,
198
- apiClient: axios.create({ baseURL: PUBLIC_API_URL })
199
- };
200
- /**
201
- * Hook to access the API configuration and configured axios client.
202
- *
203
- * When used outside ApiConfigProvider, returns default config with
204
- * standard axiosClient (for OSS backward compatibility).
205
- *
206
- * @returns ApiConfigContextType with apiPrefix, authToken, and apiClient
207
- */
208
- function useApiConfig() {
209
- return useContext(ApiConfigContext) ?? defaultApiConfigContext;
210
- }
211
- /**
212
- * Hook to get the configured axios client.
213
- * Convenience wrapper around useApiConfig().apiClient
214
- *
215
- * @returns AxiosInstance configured with API prefix and auth token
216
- */
217
- function useApiClient() {
218
- return useApiConfig().apiClient;
219
- }
220
- /**
221
- * Safe version of useApiConfig that returns null if outside provider.
222
- * Useful for components that need to detect if ApiConfigProvider is present.
223
- */
224
- function useApiConfigSafe() {
225
- return useContext(ApiConfigContext);
226
- }
227
-
228
- //#endregion
229
- //#region recce-source/js/src/lib/api/cacheKeys.ts
230
- const cacheKeys = {
231
- rowCount: (model) => ["row_count", model],
232
- lineage: () => ["lineage"],
233
- checks: () => ["checks", "list"],
234
- check: (checkId) => ["checks", checkId],
235
- checkEvents: (checkId) => [
236
- "checks",
237
- checkId,
238
- "events"
239
- ],
240
- runs: () => ["runs"],
241
- run: (runId) => ["runs", runId],
242
- runsAggregated: () => ["runs_aggregated"],
243
- flag: () => ["flag"],
244
- instanceInfo: () => ["instance_info"],
245
- user: () => ["user"]
246
- };
247
-
248
- //#endregion
249
- //#region recce-source/js/src/lib/api/flag.ts
250
- async function getServerFlag(client = axiosClient) {
251
- return (await client.get("/api/flag")).data;
252
- }
253
- async function markOnboardingCompleted(client = axiosClient) {
254
- try {
255
- await client.post("/api/onboarding/completed");
256
- } catch (_error) {}
257
- }
258
- async function markRelaunchHintCompleted(client = axiosClient) {
259
- try {
260
- await client.post("/api/relaunch-hint/completed");
261
- } catch (_error) {}
262
- }
263
-
264
- //#endregion
265
- //#region recce-source/js/src/lib/api/info.ts
266
- async function getLineage(base = false) {
267
- return (await axiosClient.get(`/api/lineage?base=${base}`)).data;
268
- }
269
- async function getLineageWithError(base = false) {
270
- try {
271
- return { data: await getLineage(base) };
272
- } catch (err) {
273
- if (err instanceof AxiosError) {
274
- const detail = (err.response?.data)?.detail;
275
- if (detail) return { error: detail };
276
- else return { error: err.message };
277
- } else if (err instanceof Error) return { error: err.message };
278
- else return { error: "An unknown error occurred" };
279
- }
280
- }
281
- async function getLineageDiff() {
282
- const [base, current] = await Promise.all([getLineageWithError(true), getLineageWithError(false)]);
283
- return {
284
- base: base.data,
285
- current: current.data,
286
- base_error: base.error,
287
- current_error: current.error
288
- };
289
- }
290
- async function getServerInfo(client = axiosClient) {
291
- return (await client.get(`/api/info`)).data;
292
- }
293
- async function getModelInfo(model) {
294
- return (await axiosClient.get(`/api/model/${model}`)).data;
295
- }
296
-
297
- //#endregion
298
- //#region recce-source/js/src/lib/api/runs.ts
299
- function mutateAddKey(run) {
300
- if (run.result == null) return run;
301
- if (isQueryRun(run)) run.result.columns = run.result.columns.map((c) => {
302
- if (c.key) return c;
303
- c.key = c.name;
304
- return c;
305
- });
306
- return run;
307
- }
308
- async function submitRun(type, params, options, client = axiosClient) {
309
- const track_props = options?.trackProps ? { ...options.trackProps } : {};
310
- if (getExperimentTrackingBreakingChangeEnabled()) track_props.breaking_change_analysis = true;
311
- return (await client.post("/api/runs", {
312
- type,
313
- params,
314
- nowait: options?.nowait,
315
- track_props
316
- })).data;
317
- }
318
- async function getRun(runId, client = axiosClient) {
319
- return (await client.get(`/api/runs/${runId}`)).data;
320
- }
321
- async function waitRun(runId, timeout, client = axiosClient) {
322
- return mutateAddKey((await client.get(`/api/runs/${runId}/wait`, { params: { timeout } })).data);
323
- }
324
- async function cancelRun(runId, client = axiosClient) {
325
- return await client.post(`/api/runs/${runId}/cancel`);
326
- }
327
- async function submitRunFromCheck(checkId, options, client = axiosClient) {
328
- return (await client.post(`/api/checks/${checkId}/run`, { nowait: options?.nowait })).data;
329
- }
330
- async function searchRuns(type, params, limit, client = axiosClient) {
331
- return (await client.post(`/api/runs/search`, {
332
- type,
333
- params,
334
- limit
335
- })).data;
336
- }
337
- async function listRuns(client = axiosClient) {
338
- return (await client.get("/api/runs")).data;
339
- }
340
- async function aggregateRuns(client = axiosClient) {
341
- return (await client.post(`/api/runs/aggregate`, {})).data;
342
- }
343
-
344
- //#endregion
345
- //#region recce-source/js/src/lib/api/state.ts
346
- async function saveAs(input, client = axiosClient) {
347
- return (await client.post("/api/save-as", input)).data;
348
- }
349
- async function rename(input, client = axiosClient) {
350
- return (await client.post("/api/rename", input)).data;
351
- }
352
- async function exportState(client = axiosClient) {
353
- return (await client.post("/api/export")).data;
354
- }
355
- async function importState(file, checksOnly, client = axiosClient) {
356
- const formData = new FormData();
357
- formData.append("file", file);
358
- formData.append("checks_only", (!!checksOnly).toString());
359
- return (await client.post("/api/import", formData)).data;
360
- }
361
- async function isStateSyncing(client = axiosClient) {
362
- return (await client.get("/api/sync")).status === 208;
363
- }
364
- async function syncState(input, client = axiosClient) {
365
- try {
366
- const response = await client.post("/api/sync", input);
367
- if (response.status === 202) return { status: "accepted" };
368
- if (response.status === 208) return { status: "syncing" };
369
- } catch (error) {
370
- if (isAxiosError(error)) {
371
- if (error.response?.status === 409) return { status: "conflict" };
372
- }
373
- }
374
- throw new Error("Failed to sync state");
375
- }
376
- async function shareState(client = axiosClient) {
377
- return (await client.post("/api/share")).data;
378
- }
379
-
380
- //#endregion
381
- export { trackLineageViewRender as $, isProfileDiffRun as A, EXPLORE_ACTION as B, markRelaunchHintCompleted as C, useApiConfig as D, useApiClient as E, isRowCountDiffRun as F, isExploreAction as G, EXPLORE_SOURCE as H, isRowCountRun as I, trackEnvironmentConfig as J, trackColumnLevelLineage as K, isTopKDiffRun as L, isQueryBaseRun as M, isQueryDiffRun as N, useApiConfigSafe as O, isQueryRun as P, trackLineageSelection as Q, isValueDiffDetailRun as R, markOnboardingCompleted as S, ApiConfigProvider as T, LINEAGE_SELECTION_ACTION as U, EXPLORE_FORM_EVENT as V, getExperimentTrackingBreakingChangeEnabled as W, trackExploreActionForm as X, trackExploreAction as Y, trackHistoryAction as Z, getLineageDiff as _, saveAs as a, trackSingleEnvironment as at, getServerInfo as b, aggregateRuns as c, reactQueryClient as ct, listRuns as d, trackMultiNodesAction as et, searchRuns as f, getLineage as g, waitRun as h, rename as i, trackShareState as it, isProfileRun as j, isHistogramDiffRun as k, cancelRun as l, submitRunFromCheck as m, importState as n, trackPreviewChange as nt, shareState as o, trackStateAction as ot, submitRun as p, trackCopyToClipboard as q, isStateSyncing as r, trackPreviewChangeFeedback as rt, syncState as s, axiosClient as st, exportState as t, trackNavigation as tt, getRun as u, getLineageWithError as v, cacheKeys as w, getServerFlag as x, getModelInfo as y, isValueDiffRun as z };
382
- //# sourceMappingURL=state-Sc2b4jri.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-Sc2b4jri.mjs","names":["track","trk","defaultConfig: ApiConfig","config: ApiConfig","contextValue: ApiConfigContextType","defaultApiConfigContext: ApiConfigContextType","err: unknown"],"sources":["../recce-source/js/src/lib/api/axiosClient.ts","../recce-source/js/src/lib/api/track.ts","../recce-source/js/src/lib/api/types.ts","../recce-source/js/src/lib/hooks/ApiConfigContext.tsx","../recce-source/js/src/lib/api/cacheKeys.ts","../recce-source/js/src/lib/api/flag.ts","../recce-source/js/src/lib/api/info.ts","../recce-source/js/src/lib/api/runs.ts","../recce-source/js/src/lib/api/state.ts"],"sourcesContent":["import { QueryClient } from \"@tanstack/react-query\";\nimport axios from \"axios\";\nimport { PUBLIC_API_URL } from \"@/lib/const\";\n\nexport const axiosClient = axios.create({\n baseURL: PUBLIC_API_URL,\n});\n\nexport const reactQueryClient = new QueryClient();\n","import {\n AmplitudeReturn,\n BaseEvent,\n EventOptions,\n Result,\n} from \"@amplitude/analytics-core\";\nimport { initAll, track as trk } from \"@amplitude/unified\";\n\nfunction track(\n eventInput: string | BaseEvent,\n // biome-ignore lint/suspicious/noExplicitAny: Amplitude library uses any for event properties\n eventProperties?: Record<string, any> | undefined,\n eventOptions?: EventOptions | undefined,\n): AmplitudeReturn<Result> {\n // If Amplitude isn't initialized, log to console instead\n if (!amplitudeInitialized) {\n console.log(\"[Tracking]\", eventInput, eventProperties, eventOptions);\n }\n return trk(eventInput, eventProperties, eventOptions);\n}\n\nlet amplitudeInitialized = false;\n\nexport function trackInit() {\n function getCookie(key: string) {\n const b = document.cookie.match(\"(^|;)\\\\s*\" + key + \"\\\\s*=\\\\s*([^;]+)\");\n return b ? b.pop() : \"\";\n }\n\n const userId =\n process.env.NODE_ENV === \"development\"\n ? \"web_dev\"\n : getCookie(\"recce_user_id\");\n const apiKey = process.env.AMPLITUDE_API_KEY;\n if (userId && apiKey) {\n try {\n void initAll(apiKey, {\n analytics: {\n userId,\n autocapture: true,\n },\n sessionReplay: {\n sampleRate: 1,\n },\n });\n amplitudeInitialized = true;\n } catch (e) {\n console.error(e);\n }\n }\n\n // Log when Amplitude is not initialized (for development/debugging)\n if (!amplitudeInitialized) {\n console.log(\n \"[Tracking] Amplitude not initialized (missing API key or user ID). Events will be logged to console instead.\",\n );\n }\n}\n\ninterface MultiNodeActionProps {\n type:\n | \"row_count\"\n | \"row_count_diff\"\n | \"value_diff\"\n | \"schema_diff\"\n | \"lineage_diff\";\n selected: \"single\" | \"multi\" | \"none\";\n}\n\nexport function trackMultiNodesAction(props: MultiNodeActionProps) {\n track(\"[Web] multi_nodes_action\", props);\n}\n\ninterface HistoryActionProps {\n name: \"show\" | \"hide\" | \"click_run\" | \"add_to_checklist\" | \"go_to_check\";\n}\n\nexport function trackHistoryAction(props: HistoryActionProps) {\n track(\"[Web] history_action\", props);\n}\n\ninterface PreviewChangeProps {\n action: \"explore\" | \"run\" | \"close\";\n node?: string;\n status?: \"success\" | \"failure\";\n}\n\nexport function trackPreviewChange(props: PreviewChangeProps) {\n track(\"[Experiment] preview_change\", props);\n}\n\ninterface PreviewChangeFeedbackProps {\n feedback: \"like\" | \"dislike\" | \"form\";\n node?: string;\n}\n\nexport function trackPreviewChangeFeedback(props: PreviewChangeFeedbackProps) {\n track(\"[Experiment] preview_change\", props);\n}\n\ninterface SingleEnvironmentProps {\n action:\n | \"onboarding\"\n | \"external_link\"\n | \"preview_changes\"\n | `target_base_added`;\n from?: \"onboarding\" | \"preview_changes\";\n node?: string;\n}\n\nexport function trackSingleEnvironment(props: SingleEnvironmentProps) {\n track(\"[Experiment] single_environment\", props);\n}\n\nexport function getExperimentTrackingBreakingChangeEnabled() {\n return false;\n}\n\ninterface ColumnLevelLineageProps {\n action: \"view\";\n source: \"schema_column\" | \"changed_column\" | \"cll_column\";\n}\n\nexport function trackColumnLevelLineage(props: ColumnLevelLineageProps) {\n track(\"[Web] column_level_lineage\", props);\n}\n\ninterface ShareStateProps {\n name: \"enable\" | \"create\" | \"copy\";\n}\n\nexport function trackShareState(props: ShareStateProps) {\n track(\"[Web] share_state\", props);\n}\n\ninterface StateActionProps {\n name: \"import\" | \"export\";\n}\n\nexport function trackStateAction(props: StateActionProps) {\n track(\"[Web] state_action\", props);\n}\n\ninterface CopyToClipboardProps {\n from: \"run\" | \"check\" | \"lineage_view\";\n type: string;\n}\n\nexport function trackCopyToClipboard(props: CopyToClipboardProps) {\n track(\"[Click] copy_to_clipboard\", props);\n}\n\ninterface TrackNavProps {\n from: string;\n to: string;\n}\n\nexport function trackNavigation(props: TrackNavProps) {\n track(\"[Web] navigation_change\", props);\n}\n\nexport interface LineageViewRenderProps {\n node_count: number;\n view_mode: string;\n impact_radius_enabled: boolean;\n cll_column_active?: boolean;\n right_sidebar_open: boolean;\n [status: string]: number | string | boolean | undefined;\n}\n\nexport function trackLineageViewRender(props: LineageViewRenderProps) {\n track(\"[Web] lineage_view_render\", props);\n}\n\nexport interface EnvironmentConfigProps {\n review_mode: boolean;\n adapter_type: string | null;\n has_git_info: boolean;\n has_pr_info: boolean;\n // Adapter-specific (shape varies by adapter_type)\n base?: {\n schema_count?: number;\n dbt_version?: string | null;\n timestamp?: string | null;\n has_env?: boolean;\n };\n current?: {\n schema_count?: number;\n dbt_version?: string | null;\n timestamp?: string | null;\n has_env?: boolean;\n };\n schemas_match?: boolean;\n}\n\nexport function trackEnvironmentConfig(props: EnvironmentConfigProps) {\n track(\"[Web] environment_config\", props);\n}\n\n// Explore action types\nexport const EXPLORE_ACTION = {\n ROW_COUNT: \"row_count\",\n ROW_COUNT_DIFF: \"row_count_diff\",\n PROFILE: \"profile\",\n PROFILE_DIFF: \"profile_diff\",\n VALUE_DIFF: \"value_diff\",\n SCHEMA_DIFF: \"schema_diff\",\n LINEAGE_DIFF: \"lineage_diff\",\n QUERY: \"query\",\n HISTOGRAM_DIFF: \"histogram_diff\",\n TOP_K_DIFF: \"top_k_diff\",\n} as const;\n\n// Explore action sources\nexport const EXPLORE_SOURCE = {\n LINEAGE_VIEW_TOP_BAR: \"lineage_view_top_bar\",\n LINEAGE_VIEW_CONTEXT_MENU: \"lineage_view_context_menu\",\n NODE_KEBAB_MENU: \"node_kebab_menu\",\n NODE_SIDEBAR_SINGLE_ENV: \"node_sidebar_single_env\",\n NODE_SIDEBAR_MULTI_ENV: \"node_sidebar_multi_env\",\n SCHEMA_ROW_COUNT_BUTTON: \"schema_row_count_button\",\n SCHEMA_COLUMN_MENU: \"schema_column_menu\",\n} as const;\n\nexport type ExploreActionType =\n (typeof EXPLORE_ACTION)[keyof typeof EXPLORE_ACTION];\nexport type ExploreSourceType =\n (typeof EXPLORE_SOURCE)[keyof typeof EXPLORE_SOURCE];\n\ninterface ExploreActionProps {\n action: ExploreActionType;\n source: ExploreSourceType;\n node_count?: number;\n}\n\nexport function trackExploreAction(props: ExploreActionProps) {\n track(\"[Web] explore_action\", props);\n}\n\n// Explore action form events\nexport const EXPLORE_FORM_EVENT = {\n EXECUTE: \"execute\",\n CANCEL: \"cancel\",\n} as const;\n\nexport type ExploreFormEventType =\n (typeof EXPLORE_FORM_EVENT)[keyof typeof EXPLORE_FORM_EVENT];\n\ninterface ExploreActionFormProps {\n action: ExploreActionType;\n event: ExploreFormEventType;\n}\n\nexport function trackExploreActionForm(props: ExploreActionFormProps) {\n track(\"[Web] explore_action_form\", props);\n}\n\n// Helper to check if a run type is an explore action\nexport function isExploreAction(type: string): type is ExploreActionType {\n return Object.values(EXPLORE_ACTION).includes(type as ExploreActionType);\n}\n\n// Lineage selection action types\nexport const LINEAGE_SELECTION_ACTION = {\n SELECT_PARENT_NODES: \"select_parent_nodes\",\n SELECT_CHILD_NODES: \"select_child_nodes\",\n SELECT_ALL_UPSTREAM: \"select_all_upstream\",\n SELECT_ALL_DOWNSTREAM: \"select_all_downstream\",\n} as const;\n\nexport type LineageSelectionActionType =\n (typeof LINEAGE_SELECTION_ACTION)[keyof typeof LINEAGE_SELECTION_ACTION];\n\ninterface LineageSelectionProps {\n action: LineageSelectionActionType;\n node_count?: number;\n}\n\nexport function trackLineageSelection(props: LineageSelectionProps) {\n track(\"[Web] lineage_selection\", props);\n}\n","// ============================================================================\n// Base Types\n// ============================================================================\n\nexport type AxiosQueryParams = Record<\n string,\n string | string[] | number | number[] | undefined\n>;\n\nexport type RowDataTypes = number | string | boolean | null | undefined;\nexport type RowData = RowDataTypes[];\n\nexport type RowObjectType = Record<string, RowDataTypes> & {\n __status: \"added\" | \"removed\" | \"modified\" | undefined;\n _index?: number;\n};\n\nexport type ColumnType =\n | \"number\"\n | \"integer\"\n | \"text\"\n | \"boolean\"\n | \"date\"\n | \"datetime\"\n | \"timedelta\"\n | \"unknown\";\n\nexport type ColumnRenderMode = \"raw\" | \"percent\" | \"delta\" | 2;\nexport interface DataFrame {\n columns: {\n key: string;\n name: string;\n type: ColumnType;\n }[];\n data: RowData[];\n limit?: number;\n more?: boolean;\n}\n\n// ============================================================================\n// Run Types - Strict enum without string union\n// ============================================================================\n\n// ============================================================================\n// Inline Param Definitions (defined here to avoid circular dependencies)\n// ============================================================================\n\n// Import types that are defined in other files\nimport { RunType } from \"@/components/run/registry\";\nimport type {\n QueryDiffParams,\n QueryDiffResult,\n QueryResult,\n QueryRunParams,\n} from \"./adhocQuery\";\nimport type { LineageDiffResult } from \"./info\";\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// Define params that don't have their own files yet\nexport interface SchemaDiffParams {\n node_id?: string | string[];\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\nexport interface LineageDiffParams {\n select?: string;\n exclude?: string;\n packages?: string[];\n view_mode?: \"all\" | \"changed_models\";\n}\n\n// ============================================================================\n// Run - Discriminated Union Type\n// ============================================================================\n\nexport type RunParamTypes =\n | QueryRunParams\n | QueryDiffParams\n | ValueDiffParams\n | SchemaDiffParams\n | ProfileDiffParams\n | RowCountParams\n | RowCountDiffParams\n | LineageDiffParams\n | TopKDiffParams\n | HistogramDiffParams\n | undefined;\n\ninterface BaseRun {\n type: RunType;\n run_id: string;\n run_at: string;\n name?: string;\n check_id?: string;\n progress?: {\n message?: string;\n percentage?: number;\n };\n error?: string;\n status?: \"finished\" | \"failed\" | \"cancelled\" | \"running\";\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\nexport function isSimpleRun(run: Run): run is Extract<Run, { type: \"simple\" }> {\n return run.type === \"simple\";\n}\n\nexport function isQueryRun(run: Run): run is Extract<Run, { type: \"query\" }> {\n return run.type === \"query\";\n}\n\nexport function isQueryBaseRun(\n run: Run,\n): run is Extract<Run, { type: \"query_base\" }> {\n return run.type === \"query_base\";\n}\n\nexport function isQueryDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"query_diff\" }> {\n return run.type === \"query_diff\";\n}\n\nexport function isValueDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"value_diff\" }> {\n return run.type === \"value_diff\";\n}\n\nexport function isValueDiffDetailRun(\n run: Run,\n): run is Extract<Run, { type: \"value_diff_detail\" }> {\n return run.type === \"value_diff_detail\";\n}\n\nexport function isSchemaDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"schema_diff\" }> {\n return run.type === \"schema_diff\";\n}\n\nexport function isProfileRun(\n run: Run,\n): run is Extract<Run, { type: \"profile\" }> {\n return run.type === \"profile\";\n}\n\nexport function isProfileDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"profile_diff\" }> {\n return run.type === \"profile_diff\";\n}\n\nexport function isRowCountRun(\n run: Run,\n): run is Extract<Run, { type: \"row_count\" }> {\n return run.type === \"row_count\";\n}\n\nexport function isRowCountDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"row_count_diff\" }> {\n return run.type === \"row_count_diff\";\n}\n\nexport function isLineageDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"lineage_diff\" }> {\n return run.type === \"lineage_diff\";\n}\n\nexport function isTopKDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"top_k_diff\" }> {\n return run.type === \"top_k_diff\";\n}\n\nexport function isHistogramDiffRun(\n run: Run,\n): run is Extract<Run, { type: \"histogram_diff\" }> {\n return run.type === \"histogram_diff\";\n}\n","import axios, { AxiosInstance } from \"axios\";\nimport React, { createContext, useContext, useMemo } from \"react\";\nimport { PUBLIC_API_URL } from \"@/lib/const\";\n\n/**\n * API Configuration Context\n *\n * Provides configurable API endpoint prefix and authentication token\n * for use with recce-cloud or other custom API backends.\n *\n * Default behavior (OSS):\n * - apiPrefix: \"\" (uses /api/* paths directly)\n * - authToken: undefined (no auth header)\n *\n * Cloud usage example:\n * - apiPrefix: \"/api/v2/sessions/abc123\" (replaces /api with this prefix)\n * - authToken: \"eyJ...\" (adds Authorization: Bearer header)\n */\n\nexport interface ApiConfig {\n /**\n * API endpoint prefix to replace `/api` in all requests.\n * For OSS: \"\" (empty string, uses default /api/* paths)\n * For Cloud: \"/api/v2/sessions/<session_id>\" (replaces /api with this)\n */\n apiPrefix: string;\n\n /**\n * Optional authentication token for API requests.\n * When provided, adds \"Authorization: Bearer <token>\" header.\n */\n authToken?: string;\n\n /**\n * Optional base URL override.\n * When provided, overrides the PUBLIC_API_URL for this context.\n */\n baseUrl?: string;\n}\n\ninterface ApiConfigContextType extends ApiConfig {\n /**\n * Pre-configured axios instance with interceptors for\n * API prefix replacement and auth token injection.\n */\n apiClient: AxiosInstance;\n}\n\nconst defaultConfig: ApiConfig = {\n apiPrefix: \"\",\n authToken: undefined,\n baseUrl: undefined,\n};\n\nconst ApiConfigContext = createContext<ApiConfigContextType | null>(null);\n\ninterface ApiConfigProviderProps extends Partial<ApiConfig> {\n children: React.ReactNode;\n}\n\n/**\n * Creates an axios instance configured with the given API config.\n *\n * The instance has interceptors that:\n * 1. Replace /api prefix with the configured apiPrefix (if provided)\n * 2. Add Authorization header with Bearer token (if authToken provided)\n */\nfunction createApiClient(config: ApiConfig): AxiosInstance {\n const { apiPrefix, authToken, baseUrl } = config;\n\n const client = axios.create({\n baseURL: baseUrl ?? PUBLIC_API_URL,\n });\n\n // Request interceptor to modify URL and add auth header\n client.interceptors.request.use(\n (requestConfig) => {\n try {\n // Replace /api prefix with configured apiPrefix (only if apiPrefix is non-empty)\n if (apiPrefix && requestConfig.url) {\n // Handle exact \"/api\" and \"/api/*\" URLs explicitly\n if (requestConfig.url === \"/api\") {\n requestConfig.url = apiPrefix;\n } else if (requestConfig.url.startsWith(\"/api/\")) {\n // \"/api\".length === 4; keep everything after that\n requestConfig.url = apiPrefix + requestConfig.url.slice(4);\n }\n }\n\n // Add auth header if token is provided\n if (authToken) {\n requestConfig.headers.Authorization = `Bearer ${authToken}`;\n }\n\n return requestConfig;\n } catch (error) {\n // If anything goes wrong in the interceptor, fall back to the original config\n // to avoid breaking all API requests.\n console.warn(\n \"API request interceptor error, proceeding with unmodified request:\",\n error,\n );\n return requestConfig;\n }\n },\n (error) => {\n // Preserve default axios behavior for request errors\n return Promise.reject(error);\n },\n );\n\n return client;\n}\n\nexport function ApiConfigProvider({\n children,\n apiPrefix = defaultConfig.apiPrefix,\n authToken = defaultConfig.authToken,\n baseUrl = defaultConfig.baseUrl,\n}: ApiConfigProviderProps) {\n const config: ApiConfig = useMemo(\n () => ({ apiPrefix, authToken, baseUrl }),\n [apiPrefix, authToken, baseUrl],\n );\n\n const apiClient = useMemo(() => createApiClient(config), [config]);\n\n const contextValue: ApiConfigContextType = useMemo(\n () => ({\n ...config,\n apiClient,\n }),\n [config, apiClient],\n );\n\n return (\n <ApiConfigContext.Provider value={contextValue}>\n {children}\n </ApiConfigContext.Provider>\n );\n}\n\n// Default config used when ApiConfigProvider is not present (OSS mode)\nconst defaultApiConfigContext: ApiConfigContextType = {\n apiPrefix: \"\",\n authToken: undefined,\n baseUrl: undefined,\n apiClient: axios.create({ baseURL: PUBLIC_API_URL }),\n};\n\n/**\n * Hook to access the API configuration and configured axios client.\n *\n * When used outside ApiConfigProvider, returns default config with\n * standard axiosClient (for OSS backward compatibility).\n *\n * @returns ApiConfigContextType with apiPrefix, authToken, and apiClient\n */\nexport function useApiConfig(): ApiConfigContextType {\n const context = useContext(ApiConfigContext);\n // Return default config if outside provider (OSS mode)\n return context ?? defaultApiConfigContext;\n}\n\n/**\n * Hook to get the configured axios client.\n * Convenience wrapper around useApiConfig().apiClient\n *\n * @returns AxiosInstance configured with API prefix and auth token\n */\nexport function useApiClient(): AxiosInstance {\n return useApiConfig().apiClient;\n}\n\n/**\n * Safe version of useApiConfig that returns null if outside provider.\n * Useful for components that need to detect if ApiConfigProvider is present.\n */\nexport function useApiConfigSafe(): ApiConfigContextType | null {\n return useContext(ApiConfigContext);\n}\n","export const cacheKeys = {\n rowCount: (model: string) => [\"row_count\", model],\n lineage: () => [\"lineage\"],\n checks: () => [\"checks\", \"list\"],\n check: (checkId: string) => [\"checks\", checkId],\n checkEvents: (checkId: string) => [\"checks\", checkId, \"events\"],\n runs: () => [\"runs\"],\n run: (runId: string) => [\"runs\", runId],\n runsAggregated: () => [\"runs_aggregated\"],\n flag: () => [\"flag\"],\n instanceInfo: () => [\"instance_info\"],\n user: () => [\"user\"],\n};\n","import { AxiosInstance, AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\nexport interface RecceServerFlags {\n single_env_onboarding: boolean;\n show_relaunch_hint: boolean;\n}\n\nexport async function getServerFlag(\n client: AxiosInstance = axiosClient,\n): Promise<RecceServerFlags> {\n return (await client.get<never, AxiosResponse<RecceServerFlags>>(\"/api/flag\"))\n .data;\n}\n\n// This was used for showing onboarding guide. Check DRC-1320 for more detials\nexport async function markOnboardingCompleted(\n client: AxiosInstance = axiosClient,\n): Promise<void> {\n try {\n await client.post<never, AxiosResponse<never>>(\"/api/onboarding/completed\");\n } catch (_error) {\n // skip any errors\n }\n}\n\nexport async function markRelaunchHintCompleted(\n client: AxiosInstance = axiosClient,\n): Promise<void> {\n try {\n await client.post<never, AxiosResponse<never>>(\n \"/api/relaunch-hint/completed\",\n );\n } catch (_error) {\n // skip any errors\n }\n}\n","import { AxiosError, AxiosInstance, AxiosResponse } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\n\n/**\n * The data from the API\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}\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// https://docs.getdbt.com/reference/artifacts/dbt-artifacts#common-metadata\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}\nexport interface ManifestMetadata extends ArtifactMetadata {\n project_id?: string;\n project_name?: string;\n user_id?: string;\n}\nexport interface SQLMeshInfo {\n base_env: string;\n current_env: string;\n}\n\nexport type CatalogMetadata = ArtifactMetadata;\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\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\ninterface LineageOutput {\n error?: string;\n data?: LineageData;\n}\n\nexport async function getLineage(base = false): Promise<LineageData> {\n const response = await axiosClient.get<LineageData>(\n `/api/lineage?base=${base}`,\n );\n return response.data;\n}\n\nexport async function getLineageWithError(\n base = false,\n): Promise<LineageOutput> {\n try {\n const data = await getLineage(base);\n return { data };\n } catch (err: unknown) {\n if (err instanceof AxiosError) {\n const data = err.response?.data as Record<string, unknown> | undefined;\n const detail = data?.detail as string | undefined;\n if (detail) {\n return { error: detail };\n } else {\n return { error: err.message };\n }\n } else if (err instanceof Error) {\n return { error: err.message };\n } else {\n return { error: \"An unknown error occurred\" };\n }\n }\n}\n\nexport interface LineageDiffResult {\n base?: LineageData;\n current?: LineageData;\n base_error?: string;\n current_error?: string;\n}\n\nexport async function getLineageDiff(): Promise<LineageDiffResult> {\n const [base, current] = await Promise.all([\n getLineageWithError(true),\n getLineageWithError(false),\n ]);\n\n return {\n base: base.data,\n current: current.data,\n base_error: base.error,\n current_error: current.error,\n };\n}\n\nexport interface stateMetadata {\n schema_version: string;\n recce_version: string;\n generated_at: string;\n}\n\nexport interface gitInfo {\n branch?: string;\n}\n\nexport interface pullRequestInfo {\n id?: string | number;\n title?: string;\n url?: string;\n branch?: string;\n base_branch?: string;\n}\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\nexport async function getServerInfo(\n client: AxiosInstance = axiosClient,\n): Promise<ServerInfoResult> {\n return (await client.get<never, AxiosResponse<ServerInfoResult>>(`/api/info`))\n .data;\n}\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\nexport async function getModelInfo(model: string): Promise<ModelInfoResult> {\n return (\n await axiosClient.get<never, AxiosResponse<ModelInfoResult>>(\n `/api/model/${model}`,\n )\n ).data;\n}\n","import { AxiosInstance, AxiosResponse } from \"axios\";\nimport { RunType } from \"@/components/run/registry\";\nimport { axiosClient } from \"./axiosClient\";\nimport { getExperimentTrackingBreakingChangeEnabled } from \"./track\";\nimport { AxiosQueryParams, isQueryRun, Run, RunParamTypes } from \"./types\";\n\nexport interface SubmitRunTrackProps {\n breaking_change_analysis?: boolean;\n source?: \"lineage_model_node\" | \"lineage_column_node\";\n [key: string]: unknown;\n}\n\nexport interface SubmitOptions {\n nowait?: boolean;\n trackProps?: SubmitRunTrackProps;\n}\n\ninterface SubmitRunBody {\n type: RunType;\n params?: Record<string, unknown>;\n nowait?: boolean;\n track_props: SubmitRunTrackProps;\n}\n\nfunction mutateAddKey(run: Run): Run {\n if (run.result == null) {\n // no result, don't do anything\n return run;\n }\n if (isQueryRun(run)) {\n run.result.columns = run.result.columns.map((c) => {\n if (c.key) {\n return c;\n }\n c.key = c.name;\n return c;\n });\n }\n return run;\n}\n\nexport async function submitRun(\n type: RunType,\n params?: RunParamTypes,\n options?: SubmitOptions,\n client: AxiosInstance = axiosClient,\n) {\n const track_props = options?.trackProps ? { ...options.trackProps } : {};\n if (getExperimentTrackingBreakingChangeEnabled()) {\n track_props.breaking_change_analysis = true;\n }\n\n const response = await client.post<\n SubmitRunBody,\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\nexport async function getRun(\n runId: string,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.get<never, AxiosResponse<Run>>(\n `/api/runs/${runId}`,\n );\n return response.data;\n}\n\ninterface WaitRunBody {\n params: {\n timeout?: number;\n };\n}\n\nexport async function waitRun(\n runId: string,\n timeout?: number,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.get<WaitRunBody, AxiosResponse<Run>>(\n `/api/runs/${runId}/wait`,\n {\n params: {\n timeout,\n },\n },\n );\n\n return mutateAddKey(response.data);\n}\n\nexport async function cancelRun(\n runId: string,\n client: AxiosInstance = axiosClient,\n) {\n return await client.post<never, AxiosResponse<never>>(\n `/api/runs/${runId}/cancel`,\n );\n}\n\nexport async function submitRunFromCheck(\n checkId: string,\n options?: SubmitOptions,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.post<\n { nowait?: boolean },\n AxiosResponse<Run | Pick<Run, \"run_id\">>\n >(`/api/checks/${checkId}/run`, {\n nowait: options?.nowait,\n });\n\n return response.data;\n}\n\ninterface SearchRunsBody {\n type: string;\n params: Record<string, unknown>;\n limit?: number;\n}\n\nexport async function searchRuns(\n type: string,\n params?: AxiosQueryParams,\n limit?: number,\n client: AxiosInstance = axiosClient,\n) {\n const response = await client.post<SearchRunsBody, AxiosResponse<Run[]>>(\n `/api/runs/search`,\n {\n type,\n params,\n limit,\n },\n );\n\n return response.data;\n}\n\nexport async function listRuns(\n client: AxiosInstance = axiosClient,\n): Promise<Run[]> {\n const response = await client.get<never, AxiosResponse<Run[]>>(\"/api/runs\");\n return response.data;\n}\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>;\nexport async function aggregateRuns(\n client: AxiosInstance = axiosClient,\n): Promise<RunsAggregated> {\n // input should be AggregateRunsIn\n const response = await client.post<unknown, AxiosResponse<RunsAggregated>>(\n `/api/runs/aggregate`,\n {},\n );\n\n return response.data;\n}\n","import { AxiosInstance, AxiosResponse, isAxiosError } from \"axios\";\nimport { axiosClient } from \"./axiosClient\";\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 = axiosClient,\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 = axiosClient,\n): Promise<void> {\n return (\n await client.post<SaveAsInput, AxiosResponse<void>>(\"/api/rename\", input)\n ).data;\n}\n\nexport async function exportState(\n client: AxiosInstance = axiosClient,\n): 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,\n client: AxiosInstance = axiosClient,\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(\n client: AxiosInstance = axiosClient,\n): 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}\nexport interface SyncStateResponse {\n status: \"accepted\" | \"conflict\" | \"syncing\";\n}\n\nexport async function syncState(\n input: SyncStateInput,\n client: AxiosInstance = axiosClient,\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 = axiosClient,\n): Promise<ShareStateResponse> {\n return (\n await client.post<never, AxiosResponse<ShareStateResponse>>(\"/api/share\")\n ).data;\n}\n"],"mappings":";;;;;;;;;AAIA,MAAa,cAAc,MAAM,OAAO,EACtC,SAAS,gBACV,CAAC;AAEF,MAAa,mBAAmB,IAAI,aAAa;;;;ACAjD,SAASA,QACP,YAEA,iBACA,cACyB;AAEzB,KAAI,CAAC,qBACH,SAAQ,IAAI,cAAc,YAAY,iBAAiB,aAAa;AAEtE,QAAOC,MAAI,YAAY,iBAAiB,aAAa;;AAGvD,IAAI,uBAAuB;AAgD3B,SAAgB,sBAAsB,OAA6B;AACjE,SAAM,4BAA4B,MAAM;;AAO1C,SAAgB,mBAAmB,OAA2B;AAC5D,SAAM,wBAAwB,MAAM;;AAStC,SAAgB,mBAAmB,OAA2B;AAC5D,SAAM,+BAA+B,MAAM;;AAQ7C,SAAgB,2BAA2B,OAAmC;AAC5E,SAAM,+BAA+B,MAAM;;AAa7C,SAAgB,uBAAuB,OAA+B;AACpE,SAAM,mCAAmC,MAAM;;AAGjD,SAAgB,6CAA6C;AAC3D,QAAO;;AAQT,SAAgB,wBAAwB,OAAgC;AACtE,SAAM,8BAA8B,MAAM;;AAO5C,SAAgB,gBAAgB,OAAwB;AACtD,SAAM,qBAAqB,MAAM;;AAOnC,SAAgB,iBAAiB,OAAyB;AACxD,SAAM,sBAAsB,MAAM;;AAQpC,SAAgB,qBAAqB,OAA6B;AAChE,SAAM,6BAA6B,MAAM;;AAQ3C,SAAgB,gBAAgB,OAAsB;AACpD,SAAM,2BAA2B,MAAM;;AAYzC,SAAgB,uBAAuB,OAA+B;AACpE,SAAM,6BAA6B,MAAM;;AAwB3C,SAAgB,uBAAuB,OAA+B;AACpE,SAAM,4BAA4B,MAAM;;AAI1C,MAAa,iBAAiB;CAC5B,WAAW;CACX,gBAAgB;CAChB,SAAS;CACT,cAAc;CACd,YAAY;CACZ,aAAa;CACb,cAAc;CACd,OAAO;CACP,gBAAgB;CAChB,YAAY;CACb;AAGD,MAAa,iBAAiB;CAC5B,sBAAsB;CACtB,2BAA2B;CAC3B,iBAAiB;CACjB,yBAAyB;CACzB,wBAAwB;CACxB,yBAAyB;CACzB,oBAAoB;CACrB;AAaD,SAAgB,mBAAmB,OAA2B;AAC5D,SAAM,wBAAwB,MAAM;;AAItC,MAAa,qBAAqB;CAChC,SAAS;CACT,QAAQ;CACT;AAUD,SAAgB,uBAAuB,OAA+B;AACpE,SAAM,6BAA6B,MAAM;;AAI3C,SAAgB,gBAAgB,MAAyC;AACvE,QAAO,OAAO,OAAO,eAAe,CAAC,SAAS,KAA0B;;AAI1E,MAAa,2BAA2B;CACtC,qBAAqB;CACrB,oBAAoB;CACpB,qBAAqB;CACrB,uBAAuB;CACxB;AAUD,SAAgB,sBAAsB,OAA8B;AAClE,SAAM,2BAA2B,MAAM;;;;;ACtEzC,SAAgB,WAAW,KAAkD;AAC3E,QAAO,IAAI,SAAS;;AAGtB,SAAgB,eACd,KAC6C;AAC7C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,eACd,KAC6C;AAC7C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,eACd,KAC6C;AAC7C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,qBACd,KACoD;AACpD,QAAO,IAAI,SAAS;;AAStB,SAAgB,aACd,KAC0C;AAC1C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,iBACd,KAC+C;AAC/C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,cACd,KAC4C;AAC5C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,kBACd,KACiD;AACjD,QAAO,IAAI,SAAS;;AAStB,SAAgB,cACd,KAC6C;AAC7C,QAAO,IAAI,SAAS;;AAGtB,SAAgB,mBACd,KACiD;AACjD,QAAO,IAAI,SAAS;;;;;AC1OtB,MAAMC,gBAA2B;CAC/B,WAAW;CACX,WAAW;CACX,SAAS;CACV;AAED,MAAM,mBAAmB,cAA2C,KAAK;;;;;;;;AAazE,SAAS,gBAAgB,QAAkC;CACzD,MAAM,EAAE,WAAW,WAAW,YAAY;CAE1C,MAAM,SAAS,MAAM,OAAO,EAC1B,SAAS,WAAW,gBACrB,CAAC;AAGF,QAAO,aAAa,QAAQ,KACzB,kBAAkB;AACjB,MAAI;AAEF,OAAI,aAAa,cAAc,KAE7B;QAAI,cAAc,QAAQ,OACxB,eAAc,MAAM;aACX,cAAc,IAAI,WAAW,QAAQ,CAE9C,eAAc,MAAM,YAAY,cAAc,IAAI,MAAM,EAAE;;AAK9D,OAAI,UACF,eAAc,QAAQ,gBAAgB,UAAU;AAGlD,UAAO;WACA,OAAO;AAGd,WAAQ,KACN,sEACA,MACD;AACD,UAAO;;KAGV,UAAU;AAET,SAAO,QAAQ,OAAO,MAAM;GAE/B;AAED,QAAO;;AAGT,SAAgB,kBAAkB,EAChC,UACA,YAAY,cAAc,WAC1B,YAAY,cAAc,WAC1B,UAAU,cAAc,WACC;CACzB,MAAMC,SAAoB,eACjB;EAAE;EAAW;EAAW;EAAS,GACxC;EAAC;EAAW;EAAW;EAAQ,CAChC;CAED,MAAM,YAAY,cAAc,gBAAgB,OAAO,EAAE,CAAC,OAAO,CAAC;CAElE,MAAMC,eAAqC,eAClC;EACL,GAAG;EACH;EACD,GACD,CAAC,QAAQ,UAAU,CACpB;AAED,QACE,oBAAC,iBAAiB;EAAS,OAAO;EAC/B;GACyB;;AAKhC,MAAMC,0BAAgD;CACpD,WAAW;CACX,WAAW;CACX,SAAS;CACT,WAAW,MAAM,OAAO,EAAE,SAAS,gBAAgB,CAAC;CACrD;;;;;;;;;AAUD,SAAgB,eAAqC;AAGnD,QAFgB,WAAW,iBAAiB,IAE1B;;;;;;;;AASpB,SAAgB,eAA8B;AAC5C,QAAO,cAAc,CAAC;;;;;;AAOxB,SAAgB,mBAAgD;AAC9D,QAAO,WAAW,iBAAiB;;;;;ACnLrC,MAAa,YAAY;CACvB,WAAW,UAAkB,CAAC,aAAa,MAAM;CACjD,eAAe,CAAC,UAAU;CAC1B,cAAc,CAAC,UAAU,OAAO;CAChC,QAAQ,YAAoB,CAAC,UAAU,QAAQ;CAC/C,cAAc,YAAoB;EAAC;EAAU;EAAS;EAAS;CAC/D,YAAY,CAAC,OAAO;CACpB,MAAM,UAAkB,CAAC,QAAQ,MAAM;CACvC,sBAAsB,CAAC,kBAAkB;CACzC,YAAY,CAAC,OAAO;CACpB,oBAAoB,CAAC,gBAAgB;CACrC,YAAY,CAAC,OAAO;CACrB;;;;ACJD,eAAsB,cACpB,SAAwB,aACG;AAC3B,SAAQ,MAAM,OAAO,IAA4C,YAAY,EAC1E;;AAIL,eAAsB,wBACpB,SAAwB,aACT;AACf,KAAI;AACF,QAAM,OAAO,KAAkC,4BAA4B;UACpE,QAAQ;;AAKnB,eAAsB,0BACpB,SAAwB,aACT;AACf,KAAI;AACF,QAAM,OAAO,KACX,+BACD;UACM,QAAQ;;;;;ACiDnB,eAAsB,WAAW,OAAO,OAA6B;AAInE,SAHiB,MAAM,YAAY,IACjC,qBAAqB,OACtB,EACe;;AAGlB,eAAsB,oBACpB,OAAO,OACiB;AACxB,KAAI;AAEF,SAAO,EAAE,MADI,MAAM,WAAW,KAAK,EACpB;UACRC,KAAc;AACrB,MAAI,eAAe,YAAY;GAE7B,MAAM,UADO,IAAI,UAAU,OACN;AACrB,OAAI,OACF,QAAO,EAAE,OAAO,QAAQ;OAExB,QAAO,EAAE,OAAO,IAAI,SAAS;aAEtB,eAAe,MACxB,QAAO,EAAE,OAAO,IAAI,SAAS;MAE7B,QAAO,EAAE,OAAO,6BAA6B;;;AAYnD,eAAsB,iBAA6C;CACjE,MAAM,CAAC,MAAM,WAAW,MAAM,QAAQ,IAAI,CACxC,oBAAoB,KAAK,EACzB,oBAAoB,MAAM,CAC3B,CAAC;AAEF,QAAO;EACL,MAAM,KAAK;EACX,SAAS,QAAQ;EACjB,YAAY,KAAK;EACjB,eAAe,QAAQ;EACxB;;AAyCH,eAAsB,cACpB,SAAwB,aACG;AAC3B,SAAQ,MAAM,OAAO,IAA4C,YAAY,EAC1E;;AAgBL,eAAsB,aAAa,OAAyC;AAC1E,SACE,MAAM,YAAY,IAChB,cAAc,QACf,EACD;;;;;AC5KJ,SAAS,aAAa,KAAe;AACnC,KAAI,IAAI,UAAU,KAEhB,QAAO;AAET,KAAI,WAAW,IAAI,CACjB,KAAI,OAAO,UAAU,IAAI,OAAO,QAAQ,KAAK,MAAM;AACjD,MAAI,EAAE,IACJ,QAAO;AAET,IAAE,MAAM,EAAE;AACV,SAAO;GACP;AAEJ,QAAO;;AAGT,eAAsB,UACpB,MACA,QACA,SACA,SAAwB,aACxB;CACA,MAAM,cAAc,SAAS,aAAa,EAAE,GAAG,QAAQ,YAAY,GAAG,EAAE;AACxE,KAAI,4CAA4C,CAC9C,aAAY,2BAA2B;AAazC,SAViB,MAAM,OAAO,KAG5B,aAAa;EACb;EACA;EACA,QAAQ,SAAS;EACjB;EACD,CAAC,EAEc;;AAGlB,eAAsB,OACpB,OACA,SAAwB,aACxB;AAIA,SAHiB,MAAM,OAAO,IAC5B,aAAa,QACd,EACe;;AASlB,eAAsB,QACpB,OACA,SACA,SAAwB,aACxB;AAUA,QAAO,cATU,MAAM,OAAO,IAC5B,aAAa,MAAM,QACnB,EACE,QAAQ,EACN,SACD,EACF,CACF,EAE4B,KAAK;;AAGpC,eAAsB,UACpB,OACA,SAAwB,aACxB;AACA,QAAO,MAAM,OAAO,KAClB,aAAa,MAAM,SACpB;;AAGH,eAAsB,mBACpB,SACA,SACA,SAAwB,aACxB;AAQA,SAPiB,MAAM,OAAO,KAG5B,eAAe,QAAQ,OAAO,EAC9B,QAAQ,SAAS,QAClB,CAAC,EAEc;;AASlB,eAAsB,WACpB,MACA,QACA,OACA,SAAwB,aACxB;AAUA,SATiB,MAAM,OAAO,KAC5B,oBACA;EACE;EACA;EACA;EACD,CACF,EAEe;;AAGlB,eAAsB,SACpB,SAAwB,aACR;AAEhB,SADiB,MAAM,OAAO,IAAiC,YAAY,EAC3D;;AAalB,eAAsB,cACpB,SAAwB,aACC;AAOzB,SALiB,MAAM,OAAO,KAC5B,uBACA,EAAE,CACH,EAEe;;;;;AC/JlB,eAAsB,OACpB,OACA,SAAwB,aACT;AACf,SACE,MAAM,OAAO,KAAuC,gBAAgB,MAAM,EAC1E;;AAGJ,eAAsB,OACpB,OACA,SAAwB,aACT;AACf,SACE,MAAM,OAAO,KAAuC,eAAe,MAAM,EACzE;;AAGJ,eAAsB,YACpB,SAAwB,aACP;AACjB,SAAQ,MAAM,OAAO,KAAmC,cAAc,EAAE;;AAQ1E,eAAsB,YACpB,MACA,YACA,SAAwB,aACA;CACxB,MAAM,WAAW,IAAI,UAAU;AAC/B,UAAS,OAAO,QAAQ,KAAK;AAC7B,UAAS,OAAO,gBAAgB,CAAC,CAAC,YAAY,UAAU,CAAC;AAEzD,SACE,MAAM,OAAO,KACX,eACA,SACD,EACD;;AAGJ,eAAsB,eACpB,SAAwB,aACN;AAElB,SADiB,MAAM,OAAO,IAAmC,YAAY,EAC7D,WAAW;;AAU7B,eAAsB,UACpB,OACA,SAAwB,aACI;AAC5B,KAAI;EACF,MAAM,WAAW,MAAM,OAAO,KAG5B,aAAa,MAAM;AAErB,MAAI,SAAS,WAAW,IACtB,QAAO,EACL,QAAQ,YACT;AAEH,MAAI,SAAS,WAAW,IACtB,QAAO,EACL,QAAQ,WACT;UAEI,OAAO;AACd,MAAI,aAAa,MAAM,EACrB;OAAI,MAAM,UAAU,WAAW,IAE7B,QAAO,EAAE,QAAQ,YAAY;;;AAInC,OAAM,IAAI,MAAM,uBAAuB;;AASzC,eAAsB,WACpB,SAAwB,aACK;AAC7B,SACE,MAAM,OAAO,KAA+C,aAAa,EACzE"}
package/dist/theme.d.mts DELETED
@@ -1,3 +0,0 @@
1
-
2
- import { $ as token, G as Theme, J as colors, K as ThemeOptions, Q as semanticColors, U as Colors, W as SemanticColors, X as lightTheme, Y as darkTheme, Z as muiTheme, q as TokenFn } from "./index-CbF0x3kW.mjs";
3
- export { Colors, SemanticColors, Theme, ThemeOptions, TokenFn, colors, darkTheme, lightTheme, muiTheme, semanticColors, token };
package/dist/theme.mjs DELETED
@@ -1,4 +0,0 @@
1
- "use client"
2
- import { a as semanticColors, i as muiTheme, n as darkTheme, o as token, r as lightTheme, t as colors } from "./mui-theme-CUhybmBq.mjs";
3
-
4
- export { colors, darkTheme, lightTheme, muiTheme, semanticColors, token };
@@ -1,13 +0,0 @@
1
- "use client"
2
-
3
- //#region recce-source/js/src/constants/tooltipMessage.ts
4
- const DisableTooltipMessages = { add_or_remove: "Unavailable for added or removed resources." };
5
-
6
- //#endregion
7
- Object.defineProperty(exports, 'DisableTooltipMessages', {
8
- enumerable: true,
9
- get: function () {
10
- return DisableTooltipMessages;
11
- }
12
- });
13
- //# sourceMappingURL=tooltipMessage-BC5W7H3X.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltipMessage-BC5W7H3X.js","names":[],"sources":["../recce-source/js/src/constants/tooltipMessage.ts"],"sourcesContent":["export const DisableTooltipMessages = {\n add_or_remove: \"Unavailable for added or removed resources.\",\n} as const;\n"],"mappings":";;;AAAA,MAAa,yBAAyB,EACpC,eAAe,+CAChB"}
@@ -1,7 +0,0 @@
1
- "use client"
2
- //#region recce-source/js/src/constants/tooltipMessage.ts
3
- const DisableTooltipMessages = { add_or_remove: "Unavailable for added or removed resources." };
4
-
5
- //#endregion
6
- export { DisableTooltipMessages as t };
7
- //# sourceMappingURL=tooltipMessage-B_xMIKWL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltipMessage-B_xMIKWL.mjs","names":[],"sources":["../recce-source/js/src/constants/tooltipMessage.ts"],"sourcesContent":["export const DisableTooltipMessages = {\n add_or_remove: \"Unavailable for added or removed resources.\",\n} as const;\n"],"mappings":";;AAAA,MAAa,yBAAyB,EACpC,eAAe,+CAChB"}
package/dist/types.d.mts DELETED
@@ -1,3 +0,0 @@
1
-
2
- import { Ar as LineageDiffParams, Br as isProfileRun, Dr as ColumnRenderMode, Er as AxiosQueryParams, Fr as RunParamTypes, Gr as isRowCountRun, Hr as isQueryDiffRun, Ir as SchemaDiffParams, Jr as isTopKDiffRun, Kr as isSchemaDiffRun, Lr as isHistogramDiffRun, Mr as RowDataTypes, Nr as RowObjectType, Or as ColumnType, Pr as Run, Rr as isLineageDiffRun, Tr as RunResultViewProps, Ur as isQueryRun, Vr as isQueryBaseRun, Wr as isRowCountDiffRun, Xr as isValueDiffRun, Yr as isValueDiffDetailRun, at as columnPrecisionSelectOptions, ct as buildQuery, et as PUBLIC_API_URL, it as deltaPercentageString, jr as RowData, kr as DataFrame, lt as buildTitle, nt as DisableTooltipMessages, ot as isSchemaChanged, qr as isSimpleRun, rt as RECCE_SUPPORT_CALENDAR_URL, st as buildDescription, tt as PUBLIC_CLOUD_WEB_URL, wr as RunFormProps, zr as isProfileDiffRun } from "./index-CbF0x3kW.mjs";
3
- export { AxiosQueryParams, ColumnRenderMode, ColumnType, DataFrame, DisableTooltipMessages, LineageDiffParams, PUBLIC_API_URL, PUBLIC_CLOUD_WEB_URL, RECCE_SUPPORT_CALENDAR_URL, RowData, RowDataTypes, RowObjectType, Run, RunFormProps, RunParamTypes, RunResultViewProps, SchemaDiffParams, buildDescription, buildQuery, buildTitle, columnPrecisionSelectOptions, deltaPercentageString, isHistogramDiffRun, isLineageDiffRun, isProfileDiffRun, isProfileRun, isQueryBaseRun, isQueryDiffRun, isQueryRun, isRowCountDiffRun, isRowCountRun, isSchemaChanged, isSchemaDiffRun, isSimpleRun, isTopKDiffRun, isValueDiffDetailRun, isValueDiffRun };
package/dist/types.mjs DELETED
@@ -1,6 +0,0 @@
1
- "use client"
2
- import { n as PUBLIC_CLOUD_WEB_URL, t as PUBLIC_API_URL } from "./const-CaIm1Z8g.mjs";
3
- import { t as RECCE_SUPPORT_CALENDAR_URL } from "./urls-DT7FVEcS.mjs";
4
- import { t as DisableTooltipMessages } from "./tooltipMessage-B_xMIKWL.mjs";
5
-
6
- export { DisableTooltipMessages, PUBLIC_API_URL, PUBLIC_CLOUD_WEB_URL, RECCE_SUPPORT_CALENDAR_URL };