autoql-fe-utils 1.11.14 → 1.11.16

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.
package/dist/index.js CHANGED
@@ -862,6 +862,8 @@ __export(index_exports, {
862
862
  fetchExploreQueries: () => fetchExploreQueries,
863
863
  fetchFilters: () => fetchFilters,
864
864
  fetchLLMSummary: () => fetchLLMSummary,
865
+ fetchLLMSummaryEstimate: () => fetchLLMSummaryEstimate,
866
+ fetchLLMSummaryQuote: () => fetchLLMSummaryQuote,
865
867
  fetchNotification: () => fetchNotification,
866
868
  fetchNotificationChannels: () => fetchNotificationChannels,
867
869
  fetchNotificationCount: () => fetchNotificationCount,
@@ -1145,6 +1147,7 @@ __export(index_exports, {
1145
1147
  roundToNearestMultiple: () => roundToNearestMultiple,
1146
1148
  roundUpToNearestMultiple: () => roundUpToNearestMultiple,
1147
1149
  runCachedDashboardQuery: () => runCachedDashboardQuery,
1150
+ runCachedDashboardQueryPost: () => runCachedDashboardQueryPost,
1148
1151
  runDrilldown: () => runDrilldown,
1149
1152
  runQuery: () => runQuery,
1150
1153
  runQueryNewPage: () => runQueryNewPage,
@@ -2308,28 +2311,39 @@ var getDateNoQuotes = (date) => {
2308
2311
  if (!date) {
2309
2312
  return void 0;
2310
2313
  }
2314
+ if (typeof date !== "string") {
2315
+ return date;
2316
+ }
2311
2317
  return date.replace(/\'/g, "");
2312
2318
  };
2313
2319
  var isISODate = (str) => {
2314
- if (!str) {
2315
- return false;
2316
- }
2317
- var dateString = str;
2318
- dateString = getDateNoQuotes(dateString);
2319
- dateString = dateString.trim();
2320
- if (/^\d{4}-\d{2}-\d{2}$/.test(dateString)) {
2320
+ try {
2321
+ if (!str) {
2322
+ return false;
2323
+ }
2324
+ if (typeof str !== "string") {
2325
+ return false;
2326
+ }
2327
+ var dateString = str;
2328
+ dateString = getDateNoQuotes(dateString);
2329
+ dateString = dateString.trim();
2330
+ if (/^\d{4}-\d{2}-\d{2}$/.test(dateString)) {
2331
+ return false;
2332
+ }
2333
+ if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d{1,3})?$/.test(dateString)) {
2334
+ return true;
2335
+ }
2336
+ if (/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z/.test(dateString)) {
2337
+ dateString = dateString.replace(/(\d{2}:\d{2}:\d{2})Z$/, "$1.000Z");
2338
+ }
2339
+ if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/.test(dateString)) return false;
2340
+ const d = new Date(dateString);
2341
+ const isISO = d instanceof Date && d.toString() !== "Invalid Date" && d.toISOString() === dateString;
2342
+ return isISO;
2343
+ } catch (error) {
2344
+ console.error(error);
2321
2345
  return false;
2322
2346
  }
2323
- if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(\.\d{1,3})?$/.test(dateString)) {
2324
- return true;
2325
- }
2326
- if (/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z/.test(dateString)) {
2327
- dateString = dateString.replace(/(\d{2}:\d{2}:\d{2})Z$/, "$1.000Z");
2328
- }
2329
- if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/.test(dateString)) return false;
2330
- const d = new Date(dateString);
2331
- const isISO = d instanceof Date && d.toString() !== "Invalid Date" && d.toISOString() === dateString;
2332
- return isISO;
2333
2347
  };
2334
2348
  var getDateRangeIntersection = (aRange, bRange) => {
2335
2349
  try {
@@ -4570,7 +4584,7 @@ var formatStringDateWithPrecision = (value, col) => {
4570
4584
  }
4571
4585
  let formattedValue = value;
4572
4586
  try {
4573
- if (!value) {
4587
+ if (value == null || value == void 0) {
4574
4588
  return void 0;
4575
4589
  }
4576
4590
  let formattedValue2 = value;
@@ -10769,6 +10783,73 @@ var runCachedDashboardQuery = async ({
10769
10783
  return formatErrorResponse(error);
10770
10784
  });
10771
10785
  };
10786
+ var runCachedDashboardQueryPost = async ({
10787
+ query,
10788
+ domain,
10789
+ apiKey,
10790
+ token,
10791
+ source,
10792
+ orders,
10793
+ filters,
10794
+ tableFilters,
10795
+ allowSuggestions,
10796
+ cancelToken,
10797
+ scope,
10798
+ newColumns,
10799
+ queryIndex,
10800
+ tileKey,
10801
+ dashboardId,
10802
+ force
10803
+ } = {}) => {
10804
+ if (!dashboardId) {
10805
+ console.error("No dashboard ID supplied in request");
10806
+ return Promise.reject({ error: "Dashboard ID not supplied" });
10807
+ }
10808
+ if (!tileKey) {
10809
+ console.error("No tile key supplied in request");
10810
+ return Promise.reject({ error: "Tile key not supplied" });
10811
+ }
10812
+ if (!apiKey || !domain || !token) {
10813
+ console.error("authentication invalid for request");
10814
+ return Promise.reject({ error: "authentication invalid for request" });
10815
+ }
10816
+ let finalScope = scope;
10817
+ if (!!(source == null ? void 0 : source.includes) && source.includes("data_messenger")) {
10818
+ finalScope = "data_messenger";
10819
+ }
10820
+ const queryParams = new URLSearchParams({
10821
+ key: apiKey
10822
+ });
10823
+ const data = {
10824
+ query_index: (queryIndex || 0).toString(),
10825
+ force,
10826
+ session_filter_locks: filters
10827
+ };
10828
+ const url = `${domain}/autoql/api/v1/dashboards/${dashboardId}/tiles/${tileKey}/query?${queryParams.toString()}`;
10829
+ const config = {
10830
+ headers: {
10831
+ Authorization: `Bearer ${token}`
10832
+ }
10833
+ };
10834
+ const finalConfig = axiosUtils_default(config, cancelToken);
10835
+ return import_axios.default.post(url, data, finalConfig).then((response) => {
10836
+ var _a;
10837
+ if (!((_a = response == null ? void 0 : response.data) == null ? void 0 : _a.data)) {
10838
+ throw new Error("Parse error" /* PARSE_ERROR */);
10839
+ }
10840
+ return Promise.resolve(transformQueryResponse(response, void 0, void 0, newColumns));
10841
+ }).catch((error) => {
10842
+ var _a, _b, _c, _d, _e;
10843
+ const referenceId = (_b = (_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.reference_id;
10844
+ const isSubquery = (tableFilters == null ? void 0 : tableFilters.length) || (orders == null ? void 0 : orders.length);
10845
+ const needsSuggestions = referenceId === "1.1.430" || referenceId === "1.1.431" || isError500Type(referenceId);
10846
+ if (needsSuggestions && allowSuggestions && !isSubquery) {
10847
+ const queryId = (_e = (_d = (_c = error == null ? void 0 : error.response) == null ? void 0 : _c.data) == null ? void 0 : _d.data) == null ? void 0 : _e.query_id;
10848
+ return fetchSuggestions({ query, queryId, domain, apiKey, token, cancelToken });
10849
+ }
10850
+ return formatErrorResponse(error);
10851
+ });
10852
+ };
10772
10853
  var exportCSV = ({
10773
10854
  queryId,
10774
10855
  domain,
@@ -11138,6 +11219,54 @@ var fetchLLMSummary = ({
11138
11219
  return Promise.reject((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data);
11139
11220
  });
11140
11221
  };
11222
+ var fetchLLMSummaryQuote = ({
11223
+ data,
11224
+ queryID,
11225
+ domain,
11226
+ apiKey,
11227
+ token
11228
+ } = {}) => {
11229
+ if (!data) {
11230
+ return Promise.reject(new Error("No data supplied" /* NO_DATA_SUPPLIED */));
11231
+ }
11232
+ if (!token || !domain || !apiKey) {
11233
+ return Promise.reject(new Error("Unauthenticated" /* UNAUTHENTICATED */));
11234
+ }
11235
+ const url = `${domain}/autoql/api/v1/query/${queryID}/summary/estimate?key=${apiKey}`;
11236
+ const config = {
11237
+ headers: {
11238
+ Authorization: `Bearer ${token}`
11239
+ }
11240
+ };
11241
+ return import_axios.default.post(url, data, config).then((response) => Promise.resolve(response)).catch((error) => {
11242
+ var _a;
11243
+ return Promise.reject((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data);
11244
+ });
11245
+ };
11246
+ var fetchLLMSummaryEstimate = ({
11247
+ data,
11248
+ queryID,
11249
+ domain,
11250
+ apiKey,
11251
+ token
11252
+ } = {}) => {
11253
+ if (!data) {
11254
+ return Promise.reject(new Error("No data supplied" /* NO_DATA_SUPPLIED */));
11255
+ }
11256
+ if (!token || !domain || !apiKey) {
11257
+ return Promise.reject(new Error("Unauthenticated" /* UNAUTHENTICATED */));
11258
+ }
11259
+ const url = `${domain}/autoql/api/v1/query/${queryID}/summary/estimate?key=${apiKey}`;
11260
+ const config = {
11261
+ headers: {
11262
+ Authorization: `Bearer ${token}`
11263
+ }
11264
+ };
11265
+ return import_axios.default.post(url, data, config).then((response) => Promise.resolve(response)).catch((error) => {
11266
+ var _a;
11267
+ return Promise.reject((_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data);
11268
+ });
11269
+ };
11141
11270
 
11142
11271
  // src/Api/dataExplorerService.ts
11143
11272
  var isAggSeed = (subject) => {
@@ -13258,6 +13387,8 @@ function color() {
13258
13387
  fetchExploreQueries,
13259
13388
  fetchFilters,
13260
13389
  fetchLLMSummary,
13390
+ fetchLLMSummaryEstimate,
13391
+ fetchLLMSummaryQuote,
13261
13392
  fetchNotification,
13262
13393
  fetchNotificationChannels,
13263
13394
  fetchNotificationCount,
@@ -13541,6 +13672,7 @@ function color() {
13541
13672
  roundToNearestMultiple,
13542
13673
  roundUpToNearestMultiple,
13543
13674
  runCachedDashboardQuery,
13675
+ runCachedDashboardQueryPost,
13544
13676
  runDrilldown,
13545
13677
  runQuery,
13546
13678
  runQueryNewPage,