@datarecce/ui 0.1.23 → 0.1.24

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 (53) hide show
  1. package/dist/{RecceCheckContext-_xzNlnbJ.js → RecceCheckContext-Cb41gigE.js} +4 -3
  2. package/dist/RecceCheckContext-Cb41gigE.js.map +1 -0
  3. package/dist/{RecceCheckContext-DIQjrvH8.mjs → RecceCheckContext-CzsuuXxT.mjs} +4 -3
  4. package/dist/RecceCheckContext-CzsuuXxT.mjs.map +1 -0
  5. package/dist/api.d.mts +2 -2
  6. package/dist/api.d.ts +2 -2
  7. package/dist/api.js +3 -2
  8. package/dist/api.mjs +3 -3
  9. package/dist/{components-CfY72Lq2.mjs → components-BHxcVq0D.mjs} +244 -208
  10. package/dist/components-BHxcVq0D.mjs.map +1 -0
  11. package/dist/{components-DXbVq9Cw.js → components-Bmc5X473.js} +244 -210
  12. package/dist/components-Bmc5X473.js.map +1 -0
  13. package/dist/components.d.mts +1 -1
  14. package/dist/components.d.ts +1 -1
  15. package/dist/components.js +4 -4
  16. package/dist/components.mjs +4 -4
  17. package/dist/{hooks-C8pyX9m_.mjs → hooks-B0XGswIh.mjs} +3 -3
  18. package/dist/{hooks-C8pyX9m_.mjs.map → hooks-B0XGswIh.mjs.map} +1 -1
  19. package/dist/{hooks-C4jkoryM.js → hooks-C99PZcmB.js} +3 -3
  20. package/dist/{hooks-C4jkoryM.js.map → hooks-C99PZcmB.js.map} +1 -1
  21. package/dist/hooks.d.mts +2 -2
  22. package/dist/hooks.d.ts +2 -2
  23. package/dist/hooks.js +4 -3
  24. package/dist/hooks.mjs +4 -4
  25. package/dist/{index-DIHuswfP.d.mts → index-04n48ic2.d.mts} +46 -40
  26. package/dist/index-04n48ic2.d.mts.map +1 -0
  27. package/dist/{index-CVPmrztP.d.ts → index-CgyLTrll.d.ts} +115 -109
  28. package/dist/index-CgyLTrll.d.ts.map +1 -0
  29. package/dist/index.d.mts +2 -2
  30. package/dist/index.d.ts +2 -2
  31. package/dist/index.js +7 -5
  32. package/dist/index.mjs +6 -6
  33. package/dist/{state-AeoqV9ja.js → state-Ct-DP81O.js} +90 -79
  34. package/dist/state-Ct-DP81O.js.map +1 -0
  35. package/dist/{state-BbgVwFV2.mjs → state-CwepO01b.mjs} +85 -80
  36. package/dist/state-CwepO01b.mjs.map +1 -0
  37. package/dist/types.d.mts +1 -1
  38. package/dist/types.d.ts +1 -1
  39. package/dist/{version-MxW9vrDY.js → version-BgsW-hXj.js} +22 -12
  40. package/dist/version-BgsW-hXj.js.map +1 -0
  41. package/dist/{version-C2NU3xyx.mjs → version-Bz2CiMHD.mjs} +18 -14
  42. package/dist/version-Bz2CiMHD.mjs.map +1 -0
  43. package/package.json +2 -1
  44. package/dist/RecceCheckContext-DIQjrvH8.mjs.map +0 -1
  45. package/dist/RecceCheckContext-_xzNlnbJ.js.map +0 -1
  46. package/dist/components-CfY72Lq2.mjs.map +0 -1
  47. package/dist/components-DXbVq9Cw.js.map +0 -1
  48. package/dist/index-CVPmrztP.d.ts.map +0 -1
  49. package/dist/index-DIHuswfP.d.mts.map +0 -1
  50. package/dist/state-AeoqV9ja.js.map +0 -1
  51. package/dist/state-BbgVwFV2.mjs.map +0 -1
  52. package/dist/version-C2NU3xyx.mjs.map +0 -1
  53. package/dist/version-MxW9vrDY.js.map +0 -1
@@ -1091,8 +1091,8 @@ async function getModelInfo(model) {
1091
1091
 
1092
1092
  //#endregion
1093
1093
  //#region recce-source/js/src/lib/api/cll.ts
1094
- async function getCll(input) {
1095
- return (await axiosClient.post("/api/cll", input)).data;
1094
+ async function getCll(input, client = axiosClient) {
1095
+ return (await client.post("/api/cll", input)).data;
1096
1096
  }
1097
1097
 
1098
1098
  //#endregion
@@ -1589,37 +1589,37 @@ function mutateAddKey(run) {
1589
1589
  });
1590
1590
  return run;
1591
1591
  }
1592
- async function submitRun(type, params, options) {
1592
+ async function submitRun(type, params, options, client = axiosClient) {
1593
1593
  const track_props = options?.trackProps ? { ...options.trackProps } : {};
1594
1594
  if (getExperimentTrackingBreakingChangeEnabled()) track_props.breaking_change_analysis = true;
1595
- return (await axiosClient.post("/api/runs", {
1595
+ return (await client.post("/api/runs", {
1596
1596
  type,
1597
1597
  params,
1598
1598
  nowait: options?.nowait,
1599
1599
  track_props
1600
1600
  })).data;
1601
1601
  }
1602
- async function getRun(runId) {
1603
- return (await axiosClient.get(`/api/runs/${runId}`)).data;
1602
+ async function getRun(runId, client = axiosClient) {
1603
+ return (await client.get(`/api/runs/${runId}`)).data;
1604
1604
  }
1605
- async function waitRun(runId, timeout) {
1606
- return mutateAddKey((await axiosClient.get(`/api/runs/${runId}/wait`, { params: { timeout } })).data);
1605
+ async function waitRun(runId, timeout, client = axiosClient) {
1606
+ return mutateAddKey((await client.get(`/api/runs/${runId}/wait`, { params: { timeout } })).data);
1607
1607
  }
1608
- async function cancelRun(runId) {
1609
- return await axiosClient.post(`/api/runs/${runId}/cancel`);
1608
+ async function cancelRun(runId, client = axiosClient) {
1609
+ return await client.post(`/api/runs/${runId}/cancel`);
1610
1610
  }
1611
- async function submitRunFromCheck(checkId, options) {
1612
- return (await axiosClient.post(`/api/checks/${checkId}/run`, { nowait: options?.nowait })).data;
1611
+ async function submitRunFromCheck(checkId, options, client = axiosClient) {
1612
+ return (await client.post(`/api/checks/${checkId}/run`, { nowait: options?.nowait })).data;
1613
1613
  }
1614
- async function searchRuns(type, params, limit) {
1615
- return (await axiosClient.post(`/api/runs/search`, {
1614
+ async function searchRuns(type, params, limit, client = axiosClient) {
1615
+ return (await client.post(`/api/runs/search`, {
1616
1616
  type,
1617
1617
  params,
1618
1618
  limit
1619
1619
  })).data;
1620
1620
  }
1621
- async function listRuns() {
1622
- return (await axiosClient.get("/api/runs")).data;
1621
+ async function listRuns(client = axiosClient) {
1622
+ return (await client.get("/api/runs")).data;
1623
1623
  }
1624
1624
  async function aggregateRuns(client = axiosClient) {
1625
1625
  return (await client.post(`/api/runs/aggregate`, {})).data;
@@ -1627,20 +1627,20 @@ async function aggregateRuns(client = axiosClient) {
1627
1627
 
1628
1628
  //#endregion
1629
1629
  //#region recce-source/js/src/lib/api/adhocQuery.ts
1630
- async function submitQuery(params, options) {
1631
- return await submitRun("query", params, options);
1630
+ async function submitQuery(params, options, client = axiosClient) {
1631
+ return await submitRun("query", params, options, client);
1632
1632
  }
1633
- async function submitQueryBase(params, options) {
1634
- return await submitRun("query_base", params, options);
1633
+ async function submitQueryBase(params, options, client = axiosClient) {
1634
+ return await submitRun("query_base", params, options, client);
1635
1635
  }
1636
- async function submitQueryDiff(params, options) {
1637
- return await submitRun("query_diff", params, options);
1636
+ async function submitQueryDiff(params, options, client = axiosClient) {
1637
+ return await submitRun("query_diff", params, options, client);
1638
1638
  }
1639
1639
 
1640
1640
  //#endregion
1641
1641
  //#region recce-source/js/src/lib/api/lineagecheck.ts
1642
- async function createLineageDiffCheck(viewOptions) {
1643
- return (await axiosClient.post("/api/checks", {
1642
+ async function createLineageDiffCheck(viewOptions, client = axiosClient) {
1643
+ return (await client.post("/api/checks", {
1644
1644
  type: "lineage_diff",
1645
1645
  params: {},
1646
1646
  view_options: viewOptions
@@ -1649,17 +1649,17 @@ async function createLineageDiffCheck(viewOptions) {
1649
1649
 
1650
1650
  //#endregion
1651
1651
  //#region recce-source/js/src/lib/api/profile.ts
1652
- async function submitProfileDiff(params, options) {
1653
- return await submitRun("profile_diff", params, options);
1652
+ async function submitProfileDiff(params, options, client = axiosClient) {
1653
+ return await submitRun("profile_diff", params, options, client);
1654
1654
  }
1655
1655
 
1656
1656
  //#endregion
1657
1657
  //#region recce-source/js/src/lib/api/valuediff.ts
1658
- async function submitValueDiff(params, options) {
1659
- return await submitRun("value_diff", params, options);
1658
+ async function submitValueDiff(params, options, client = axiosClient) {
1659
+ return await submitRun("value_diff", params, options, client);
1660
1660
  }
1661
- async function submitValueDiffDetail(params, options) {
1662
- return await submitRun("value_diff_detail", params, options);
1661
+ async function submitValueDiffDetail(params, options, client = axiosClient) {
1662
+ return await submitRun("value_diff_detail", params, options, client);
1663
1663
  }
1664
1664
 
1665
1665
  //#endregion
@@ -2225,14 +2225,15 @@ function setKeepAliveCallback(callback) {
2225
2225
  * - Minimum 3 seconds between API calls
2226
2226
  * - Prevents concurrent API calls with a lock
2227
2227
  *
2228
+ * @param client - Optional axios instance for API configuration
2228
2229
  * @returns true if keep-alive was sent, false if throttled/skipped
2229
2230
  */
2230
- async function sendKeepAlive() {
2231
+ async function sendKeepAlive(client = axiosClient) {
2231
2232
  if (Date.now() - lastKeepAliveTime < MIN_KEEP_ALIVE_INTERVAL_MS) return false;
2232
2233
  if (isSending) return false;
2233
2234
  try {
2234
2235
  isSending = true;
2235
- await axiosClient.post("/api/keep-alive");
2236
+ await client.post("/api/keep-alive");
2236
2237
  lastKeepAliveTime = Date.now();
2237
2238
  if (onKeepAliveSuccess) onKeepAliveSuccess(lastKeepAliveTime);
2238
2239
  return true;
@@ -2303,6 +2304,7 @@ const IDLE_DETECTION_CONFIG = {
2303
2304
  function useIdleDetection() {
2304
2305
  const { data: instanceInfo, isLoading, isError } = useRecceInstanceInfo();
2305
2306
  const isDisconnected = useIdleTimeoutSafe()?.isDisconnected ?? false;
2307
+ const { apiClient } = useApiConfig();
2306
2308
  const idleTimeout = instanceInfo?.idle_timeout;
2307
2309
  const isEnabled = idleTimeout !== void 0 && idleTimeout > 0 && !isDisconnected;
2308
2310
  debugLog("[Idle Detection] Instance info", {
@@ -2320,8 +2322,8 @@ function useIdleDetection() {
2320
2322
  */
2321
2323
  const sendKeepAliveNow = (0, react.useCallback)(async () => {
2322
2324
  if (document.hidden) return;
2323
- if (await sendKeepAlive()) debugLog("[Idle Detection] Keep-alive sent successfully", { timestamp: (/* @__PURE__ */ new Date()).toISOString() });
2324
- }, []);
2325
+ if (await sendKeepAlive(apiClient)) debugLog("[Idle Detection] Keep-alive sent successfully", { timestamp: (/* @__PURE__ */ new Date()).toISOString() });
2326
+ }, [apiClient]);
2325
2327
  /**
2326
2328
  * Handle any user activity event
2327
2329
  * Attempts to send keep-alive (axios layer handles throttling)
@@ -3357,26 +3359,26 @@ function ProfileDiffForm({ params, onParamsChanged, setIsReadyToExecute }) {
3357
3359
 
3358
3360
  //#endregion
3359
3361
  //#region recce-source/js/src/lib/api/models.ts
3360
- async function fetchModelRowCount(modelName) {
3361
- return (await axiosClient.get(`/api/models/${modelName}/row_count`)).data;
3362
+ async function fetchModelRowCount(modelName, client = axiosClient) {
3363
+ return (await client.get(`/api/models/${modelName}/row_count`)).data;
3362
3364
  }
3363
- async function queryModelRowCount(modelName) {
3364
- const { result } = await queryRowCount([modelName]);
3365
+ async function queryModelRowCount(modelName, client = axiosClient) {
3366
+ const { result } = await queryRowCount([modelName], client);
3365
3367
  return result[modelName];
3366
3368
  }
3367
- async function queryRowCount(modelNames) {
3369
+ async function queryRowCount(modelNames, client = axiosClient) {
3368
3370
  if (modelNames.length === 0) throw new Error("No model names provided");
3369
- const { run_id } = await submitRowCountDiff({ node_names: modelNames }, { nowait: true });
3371
+ const { run_id } = await submitRowCountDiff({ node_names: modelNames }, { nowait: true }, client);
3370
3372
  return {
3371
3373
  runId: run_id,
3372
- result: (await waitRun(run_id)).result
3374
+ result: (await waitRun(run_id, void 0, client)).result
3373
3375
  };
3374
3376
  }
3375
3377
 
3376
3378
  //#endregion
3377
3379
  //#region recce-source/js/src/lib/api/rowcount.ts
3378
- async function submitRowCountDiff(params, options) {
3379
- return await submitRun("row_count_diff", params, options);
3380
+ async function submitRowCountDiff(params, options, client = axiosClient) {
3381
+ return await submitRun("row_count_diff", params, options, client);
3380
3382
  }
3381
3383
 
3382
3384
  //#endregion
@@ -5576,6 +5578,7 @@ const useCloseModalEffect = (onClose) => {
5576
5578
  }, [onClose, (0, next_navigation.usePathname)()]);
5577
5579
  };
5578
5580
  function RecceActionContextProvider({ children }) {
5581
+ const { apiClient } = useApiConfig();
5579
5582
  const [action, setAction] = (0, react.useState)();
5580
5583
  const [isModalOpen, setModalOpen] = (0, react.useState)(false);
5581
5584
  const onModalOpen = (0, react.useCallback)(() => setModalOpen(true), []);
@@ -5603,7 +5606,7 @@ function RecceActionContextProvider({ children }) {
5603
5606
  const session = (/* @__PURE__ */ new Date()).getTime().toString();
5604
5607
  let lastRun = void 0;
5605
5608
  if (options?.showLast) {
5606
- const runs = await searchRuns(type, params, 1);
5609
+ const runs = await searchRuns(type, params, 1, apiClient);
5607
5610
  if (runs.length === 1) lastRun = runs[0];
5608
5611
  }
5609
5612
  const run = findByRunType(type);
@@ -5614,7 +5617,7 @@ function RecceActionContextProvider({ children }) {
5614
5617
  const { run_id } = await submitRun(type, params, {
5615
5618
  nowait: true,
5616
5619
  trackProps: options?.trackProps
5617
- });
5620
+ }, apiClient);
5618
5621
  await showRunId(run_id);
5619
5622
  await queryClient.invalidateQueries({ queryKey: cacheKeys.runs() });
5620
5623
  if (location.startsWith("/lineage")) setLocation("/lineage");
@@ -5644,7 +5647,8 @@ function RecceActionContextProvider({ children }) {
5644
5647
  showRunId,
5645
5648
  location,
5646
5649
  setLocation,
5647
- queryClient
5650
+ queryClient,
5651
+ apiClient
5648
5652
  ]);
5649
5653
  useCloseModalEffect(onModalClose);
5650
5654
  const handleExecute = async (type, params) => {
@@ -5653,7 +5657,7 @@ function RecceActionContextProvider({ children }) {
5653
5657
  const { run_id } = await submitRun(type, params, {
5654
5658
  nowait: true,
5655
5659
  trackProps: action?.options?.trackProps
5656
- });
5660
+ }, apiClient);
5657
5661
  await showRunId(run_id);
5658
5662
  } catch (e) {
5659
5663
  toaster.create({
@@ -8193,66 +8197,67 @@ const findByRunType = (runType) => {
8193
8197
 
8194
8198
  //#endregion
8195
8199
  //#region recce-source/js/src/lib/api/checks.ts
8196
- async function createSimpleCheck() {
8197
- return (await axiosClient.post("/api/checks", { type: "simple" })).data;
8200
+ async function createSimpleCheck(client = axiosClient) {
8201
+ return (await client.post("/api/checks", { type: "simple" })).data;
8198
8202
  }
8199
- async function createCheckByRun(runId, viewOptions) {
8203
+ async function createCheckByRun(runId, viewOptions, client = axiosClient) {
8200
8204
  const track_props = getExperimentTrackingBreakingChangeEnabled() ? { breaking_change_analysis: true } : {};
8201
- return (await axiosClient.post("/api/checks", {
8205
+ return (await client.post("/api/checks", {
8202
8206
  run_id: runId,
8203
8207
  view_options: viewOptions,
8204
8208
  track_props
8205
8209
  })).data;
8206
8210
  }
8207
- async function listChecks() {
8208
- return (await axiosClient.get("/api/checks")).data;
8211
+ async function listChecks(client = axiosClient) {
8212
+ return (await client.get("/api/checks")).data;
8209
8213
  }
8210
8214
  function useChecks(enabled) {
8215
+ const { apiClient } = useApiConfig();
8211
8216
  return (0, _tanstack_react_query.useQuery)({
8212
8217
  queryKey: cacheKeys.checks(),
8213
- queryFn: listChecks,
8218
+ queryFn: () => listChecks(apiClient),
8214
8219
  enabled
8215
8220
  });
8216
8221
  }
8217
- async function getCheck(checkId) {
8218
- return (await axiosClient.get(`/api/checks/${checkId}`)).data;
8222
+ async function getCheck(checkId, client = axiosClient) {
8223
+ return (await client.get(`/api/checks/${checkId}`)).data;
8219
8224
  }
8220
- async function updateCheck(checkId, payload) {
8221
- return (await axiosClient.patch(`/api/checks/${checkId}`, payload)).data;
8225
+ async function updateCheck(checkId, payload, client = axiosClient) {
8226
+ return (await client.patch(`/api/checks/${checkId}`, payload)).data;
8222
8227
  }
8223
- async function deleteCheck(checkId) {
8224
- return (await axiosClient.delete(`/api/checks/${checkId}`)).data;
8228
+ async function deleteCheck(checkId, client = axiosClient) {
8229
+ return (await client.delete(`/api/checks/${checkId}`)).data;
8225
8230
  }
8226
- async function reorderChecks(order) {
8227
- return await axiosClient.post("/api/checks/reorder", order);
8231
+ async function reorderChecks(order, client = axiosClient) {
8232
+ return await client.post("/api/checks/reorder", order);
8228
8233
  }
8229
- async function markAsPresetCheck(checkId) {
8230
- await axiosClient.post(`/api/checks/${checkId}/mark-as-preset`);
8234
+ async function markAsPresetCheck(checkId, client = axiosClient) {
8235
+ await client.post(`/api/checks/${checkId}/mark-as-preset`);
8231
8236
  }
8232
8237
 
8233
8238
  //#endregion
8234
8239
  //#region recce-source/js/src/lib/api/state.ts
8235
- async function saveAs(input) {
8236
- return (await axiosClient.post("/api/save-as", input)).data;
8240
+ async function saveAs(input, client = axiosClient) {
8241
+ return (await client.post("/api/save-as", input)).data;
8237
8242
  }
8238
- async function rename(input) {
8239
- return (await axiosClient.post("/api/rename", input)).data;
8243
+ async function rename(input, client = axiosClient) {
8244
+ return (await client.post("/api/rename", input)).data;
8240
8245
  }
8241
- async function exportState() {
8242
- return (await axiosClient.post("/api/export")).data;
8246
+ async function exportState(client = axiosClient) {
8247
+ return (await client.post("/api/export")).data;
8243
8248
  }
8244
- async function importState(file, checksOnly) {
8249
+ async function importState(file, checksOnly, client = axiosClient) {
8245
8250
  const formData = new FormData();
8246
8251
  formData.append("file", file);
8247
8252
  formData.append("checks_only", (!!checksOnly).toString());
8248
- return (await axiosClient.post("/api/import", formData)).data;
8253
+ return (await client.post("/api/import", formData)).data;
8249
8254
  }
8250
- async function isStateSyncing() {
8251
- return (await axiosClient.get("/api/sync")).status === 208;
8255
+ async function isStateSyncing(client = axiosClient) {
8256
+ return (await client.get("/api/sync")).status === 208;
8252
8257
  }
8253
- async function syncState(input) {
8258
+ async function syncState(input, client = axiosClient) {
8254
8259
  try {
8255
- const response = await axiosClient.post("/api/sync", input);
8260
+ const response = await client.post("/api/sync", input);
8256
8261
  if (response.status === 202) return { status: "accepted" };
8257
8262
  if (response.status === 208) return { status: "syncing" };
8258
8263
  } catch (error) {
@@ -8262,8 +8267,8 @@ async function syncState(input) {
8262
8267
  }
8263
8268
  throw new Error("Failed to sync state");
8264
8269
  }
8265
- async function shareState() {
8266
- return (await axiosClient.post("/api/share")).data;
8270
+ async function shareState(client = axiosClient) {
8271
+ return (await client.post("/api/share")).data;
8267
8272
  }
8268
8273
 
8269
8274
  //#endregion
@@ -8417,6 +8422,12 @@ Object.defineProperty(exports, 'QueryResultView', {
8417
8422
  return QueryResultView;
8418
8423
  }
8419
8424
  });
8425
+ Object.defineProperty(exports, 'RecceActionContext', {
8426
+ enumerable: true,
8427
+ get: function () {
8428
+ return RecceActionContext;
8429
+ }
8430
+ });
8420
8431
  Object.defineProperty(exports, 'RecceActionContextProvider', {
8421
8432
  enumerable: true,
8422
8433
  get: function () {
@@ -9173,4 +9184,4 @@ Object.defineProperty(exports, 'waitRun', {
9173
9184
  return waitRun;
9174
9185
  }
9175
9186
  });
9176
- //# sourceMappingURL=state-AeoqV9ja.js.map
9187
+ //# sourceMappingURL=state-Ct-DP81O.js.map