@lightdash/common 0.2077.5 → 0.2078.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/cjs/ee/AiAgent/filterExploreByTags.d.ts +23 -12
  2. package/dist/cjs/ee/AiAgent/filterExploreByTags.d.ts.map +1 -1
  3. package/dist/cjs/ee/AiAgent/filterExploreByTags.js +57 -28
  4. package/dist/cjs/ee/AiAgent/filterExploreByTags.js.map +1 -1
  5. package/dist/cjs/ee/AiAgent/filterExploreByTags.test.js +220 -18
  6. package/dist/cjs/ee/AiAgent/filterExploreByTags.test.js.map +1 -1
  7. package/dist/cjs/ee/AiAgent/schemas/index.d.ts +1210 -0
  8. package/dist/cjs/ee/AiAgent/schemas/index.d.ts.map +1 -1
  9. package/dist/cjs/ee/AiAgent/schemas/index.js +2 -1
  10. package/dist/cjs/ee/AiAgent/schemas/index.js.map +1 -1
  11. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
  12. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js +8 -4
  13. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js.map +1 -1
  14. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
  15. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
  16. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js +4 -0
  17. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js.map +1 -1
  18. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
  19. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
  20. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js +103 -0
  21. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js.map +1 -0
  22. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
  23. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
  24. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.js +87 -30
  25. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.js.map +1 -1
  26. package/dist/cjs/ee/AiAgent/schemas/toolSchemaBuilder.d.ts +14 -2
  27. package/dist/cjs/ee/AiAgent/schemas/toolSchemaBuilder.d.ts.map +1 -1
  28. package/dist/cjs/ee/AiAgent/schemas/toolSchemaBuilder.js +10 -7
  29. package/dist/cjs/ee/AiAgent/schemas/toolSchemaBuilder.js.map +1 -1
  30. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
  31. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  32. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.js +4 -1
  33. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.js.map +1 -1
  34. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindChartsArgs.js +4 -1
  35. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindChartsArgs.js.map +1 -1
  36. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js +4 -1
  37. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js.map +1 -1
  38. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts +52 -4
  39. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts.map +1 -1
  40. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindExploresArgs.js +23 -8
  41. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindExploresArgs.js.map +1 -1
  42. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js +4 -1
  43. package/dist/cjs/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js.map +1 -1
  44. package/dist/cjs/ee/AiAgent/schemas/tools/toolImproveContext.js +4 -1
  45. package/dist/cjs/ee/AiAgent/schemas/tools/toolImproveContext.js.map +1 -1
  46. package/dist/cjs/ee/AiAgent/schemas/tools/toolProposeChange.js +4 -1
  47. package/dist/cjs/ee/AiAgent/schemas/tools/toolProposeChange.js.map +1 -1
  48. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
  49. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  50. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +4 -1
  51. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -1
  52. package/dist/cjs/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js +4 -1
  53. package/dist/cjs/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js.map +1 -1
  54. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
  55. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  56. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.js +4 -1
  57. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -1
  58. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
  59. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  60. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +4 -1
  61. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -1
  62. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
  63. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  64. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +4 -1
  65. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -1
  66. package/dist/cjs/ee/AiAgent/utils.d.ts +69 -0
  67. package/dist/cjs/ee/AiAgent/utils.d.ts.map +1 -1
  68. package/dist/cjs/types/catalog.d.ts +0 -2
  69. package/dist/cjs/types/catalog.d.ts.map +1 -1
  70. package/dist/cjs/types/catalog.js.map +1 -1
  71. package/dist/cjs/types/field.d.ts +42 -1
  72. package/dist/cjs/types/field.d.ts.map +1 -1
  73. package/dist/cjs/types/field.js +25 -1
  74. package/dist/cjs/types/field.js.map +1 -1
  75. package/dist/esm/ee/AiAgent/filterExploreByTags.d.ts +23 -12
  76. package/dist/esm/ee/AiAgent/filterExploreByTags.d.ts.map +1 -1
  77. package/dist/esm/ee/AiAgent/filterExploreByTags.js +57 -28
  78. package/dist/esm/ee/AiAgent/filterExploreByTags.js.map +1 -1
  79. package/dist/esm/ee/AiAgent/filterExploreByTags.test.js +220 -18
  80. package/dist/esm/ee/AiAgent/filterExploreByTags.test.js.map +1 -1
  81. package/dist/esm/ee/AiAgent/schemas/index.d.ts +1210 -0
  82. package/dist/esm/ee/AiAgent/schemas/index.d.ts.map +1 -1
  83. package/dist/esm/ee/AiAgent/schemas/index.js +3 -2
  84. package/dist/esm/ee/AiAgent/schemas/index.js.map +1 -1
  85. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
  86. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js +8 -4
  87. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js.map +1 -1
  88. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
  89. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
  90. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js +5 -1
  91. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js.map +1 -1
  92. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
  93. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
  94. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js +100 -0
  95. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js.map +1 -0
  96. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
  97. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
  98. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.js +88 -31
  99. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.js.map +1 -1
  100. package/dist/esm/ee/AiAgent/schemas/toolSchemaBuilder.d.ts +14 -2
  101. package/dist/esm/ee/AiAgent/schemas/toolSchemaBuilder.d.ts.map +1 -1
  102. package/dist/esm/ee/AiAgent/schemas/toolSchemaBuilder.js +10 -5
  103. package/dist/esm/ee/AiAgent/schemas/toolSchemaBuilder.js.map +1 -1
  104. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
  105. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  106. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.js +4 -1
  107. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.js.map +1 -1
  108. package/dist/esm/ee/AiAgent/schemas/tools/toolFindChartsArgs.js +4 -1
  109. package/dist/esm/ee/AiAgent/schemas/tools/toolFindChartsArgs.js.map +1 -1
  110. package/dist/esm/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js +4 -1
  111. package/dist/esm/ee/AiAgent/schemas/tools/toolFindDashboardsArgs.js.map +1 -1
  112. package/dist/esm/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts +52 -4
  113. package/dist/esm/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts.map +1 -1
  114. package/dist/esm/ee/AiAgent/schemas/tools/toolFindExploresArgs.js +22 -7
  115. package/dist/esm/ee/AiAgent/schemas/tools/toolFindExploresArgs.js.map +1 -1
  116. package/dist/esm/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js +4 -1
  117. package/dist/esm/ee/AiAgent/schemas/tools/toolFindFieldsArgs.js.map +1 -1
  118. package/dist/esm/ee/AiAgent/schemas/tools/toolImproveContext.js +4 -1
  119. package/dist/esm/ee/AiAgent/schemas/tools/toolImproveContext.js.map +1 -1
  120. package/dist/esm/ee/AiAgent/schemas/tools/toolProposeChange.js +4 -1
  121. package/dist/esm/ee/AiAgent/schemas/tools/toolProposeChange.js.map +1 -1
  122. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
  123. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  124. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +4 -1
  125. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -1
  126. package/dist/esm/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js +4 -1
  127. package/dist/esm/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.js.map +1 -1
  128. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
  129. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  130. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.js +4 -1
  131. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -1
  132. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
  133. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  134. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +4 -1
  135. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -1
  136. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
  137. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  138. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +4 -1
  139. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -1
  140. package/dist/esm/ee/AiAgent/utils.d.ts +69 -0
  141. package/dist/esm/ee/AiAgent/utils.d.ts.map +1 -1
  142. package/dist/esm/types/catalog.d.ts +0 -2
  143. package/dist/esm/types/catalog.d.ts.map +1 -1
  144. package/dist/esm/types/catalog.js.map +1 -1
  145. package/dist/esm/types/field.d.ts +42 -1
  146. package/dist/esm/types/field.d.ts.map +1 -1
  147. package/dist/esm/types/field.js +24 -0
  148. package/dist/esm/types/field.js.map +1 -1
  149. package/dist/tsconfig.types.tsbuildinfo +1 -1
  150. package/dist/types/ee/AiAgent/filterExploreByTags.d.ts +23 -12
  151. package/dist/types/ee/AiAgent/filterExploreByTags.d.ts.map +1 -1
  152. package/dist/types/ee/AiAgent/schemas/index.d.ts +1210 -0
  153. package/dist/types/ee/AiAgent/schemas/index.d.ts.map +1 -1
  154. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
  155. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
  156. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
  157. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
  158. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
  159. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
  160. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
  161. package/dist/types/ee/AiAgent/schemas/toolSchemaBuilder.d.ts +14 -2
  162. package/dist/types/ee/AiAgent/schemas/toolSchemaBuilder.d.ts.map +1 -1
  163. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
  164. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  165. package/dist/types/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts +52 -4
  166. package/dist/types/ee/AiAgent/schemas/tools/toolFindExploresArgs.d.ts.map +1 -1
  167. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
  168. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  169. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
  170. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  171. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
  172. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  173. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
  174. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  175. package/dist/types/ee/AiAgent/utils.d.ts +69 -0
  176. package/dist/types/ee/AiAgent/utils.d.ts.map +1 -1
  177. package/dist/types/types/catalog.d.ts +0 -2
  178. package/dist/types/types/catalog.d.ts.map +1 -1
  179. package/dist/types/types/field.d.ts +42 -1
  180. package/dist/types/types/field.d.ts.map +1 -1
  181. package/package.json +1 -1
  182. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
  183. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
  184. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js +0 -56
  185. package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js.map +0 -1
  186. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
  187. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
  188. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js +0 -54
  189. package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js.map +0 -1
  190. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
  191. package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
@@ -37,26 +37,27 @@ describe('AiService', () => {
37
37
  },
38
38
  })).toBeDefined();
39
39
  });
40
- test('should return undefined when AI tags are configured but empty', async () => {
41
- expect(filterExploreByTags({
42
- availableTags: [],
43
- explore: {
44
- baseTable: 'customers',
45
- tags: [],
46
- tables: {
47
- customers: {
48
- dimensions: {
49
- customer_name: {
50
- tags: ['pii'],
51
- },
52
- },
53
- metrics: {
54
- revenue: {},
40
+ test('should return entire explore when AI tags are configured but empty', async () => {
41
+ const explore = {
42
+ baseTable: 'customers',
43
+ tags: [],
44
+ tables: {
45
+ customers: {
46
+ dimensions: {
47
+ customer_name: {
48
+ tags: ['pii'],
55
49
  },
56
50
  },
51
+ metrics: {
52
+ revenue: {},
53
+ },
57
54
  },
58
55
  },
59
- })).toBeUndefined();
56
+ };
57
+ expect(filterExploreByTags({
58
+ availableTags: [],
59
+ explore,
60
+ })).toStrictEqual(explore);
60
61
  });
61
62
  test('should return undefined when explore and fields have no matching AI tags', async () => {
62
63
  expect(filterExploreByTags({
@@ -194,7 +195,37 @@ describe('AiService', () => {
194
195
  },
195
196
  })).toBeUndefined();
196
197
  });
197
- test('should expose all fields when explore is tagged but base table fields lack matching tags', async () => {
198
+ test('should expose all fields when explore is tagged and no fields have tags', async () => {
199
+ const explore = {
200
+ baseTable: 'orders',
201
+ tags: ['ai-enabled'],
202
+ tables: {
203
+ orders: {
204
+ dimensions: {
205
+ order_id: {},
206
+ customer_id: {},
207
+ },
208
+ metrics: {
209
+ total: {},
210
+ },
211
+ },
212
+ customers: {
213
+ dimensions: {
214
+ email: {},
215
+ phone: {},
216
+ },
217
+ metrics: {
218
+ count: {},
219
+ },
220
+ },
221
+ },
222
+ };
223
+ expect(filterExploreByTags({
224
+ availableTags: ['ai-enabled'],
225
+ explore,
226
+ })).toStrictEqual(explore);
227
+ });
228
+ test('should use per-table field-level filtering when tables have field tags', async () => {
198
229
  const explore = {
199
230
  baseTable: 'customers',
200
231
  tags: ['ai-enabled'],
@@ -229,7 +260,28 @@ describe('AiService', () => {
229
260
  expect(filterExploreByTags({
230
261
  availableTags: ['marketing', 'ai-enabled'],
231
262
  explore,
232
- })).toStrictEqual(explore);
263
+ })).toStrictEqual({
264
+ baseTable: 'customers',
265
+ tags: ['ai-enabled'],
266
+ tables: {
267
+ customers: {
268
+ dimensions: {},
269
+ metrics: {},
270
+ },
271
+ sales: {
272
+ dimensions: {
273
+ user_email: {
274
+ tags: ['marketing', 'ai-enabled'],
275
+ },
276
+ },
277
+ metrics: {
278
+ sales_total: {
279
+ tags: ['marketing', 'ai-enabled'],
280
+ },
281
+ },
282
+ },
283
+ },
284
+ });
233
285
  });
234
286
  test('should filter fields when explore lacks tags but base table fields have matching tags', async () => {
235
287
  const explore = {
@@ -379,6 +431,82 @@ describe('AiService', () => {
379
431
  expect(result?.tables.customers.dimensions).not.toHaveProperty('customer_segment');
380
432
  expect(result?.tables.customers.metrics).toHaveProperty('lifetime_value');
381
433
  });
434
+ test('should use mixed mode per-table (base table no field tags, joined table with field tags)', async () => {
435
+ const explore = {
436
+ baseTable: 'orders',
437
+ tags: ['ai-enabled'],
438
+ tables: {
439
+ orders: {
440
+ dimensions: {
441
+ id: {},
442
+ status: {},
443
+ },
444
+ metrics: {
445
+ total: {},
446
+ },
447
+ },
448
+ customers: {
449
+ dimensions: {
450
+ email: { tags: ['ai-enabled'] },
451
+ phone: {},
452
+ },
453
+ metrics: {},
454
+ },
455
+ },
456
+ };
457
+ expect(filterExploreByTags({
458
+ availableTags: ['ai-enabled'],
459
+ explore,
460
+ })).toStrictEqual({
461
+ baseTable: 'orders',
462
+ tags: ['ai-enabled'],
463
+ tables: {
464
+ orders: {
465
+ dimensions: {
466
+ id: {},
467
+ status: {},
468
+ },
469
+ metrics: {
470
+ total: {},
471
+ },
472
+ },
473
+ customers: {
474
+ dimensions: {
475
+ email: { tags: ['ai-enabled'] },
476
+ },
477
+ metrics: {},
478
+ },
479
+ },
480
+ });
481
+ });
482
+ test('should activate field-level mode when field has empty tags array', async () => {
483
+ const explore = {
484
+ baseTable: 'orders',
485
+ tags: ['ai-enabled'],
486
+ tables: {
487
+ orders: {
488
+ dimensions: {
489
+ id: { tags: [] },
490
+ status: {},
491
+ },
492
+ metrics: {},
493
+ },
494
+ },
495
+ };
496
+ expect(filterExploreByTags({
497
+ availableTags: ['ai-enabled'],
498
+ explore,
499
+ })).toStrictEqual({
500
+ baseTable: 'orders',
501
+ tags: ['ai-enabled'],
502
+ tables: {
503
+ orders: {
504
+ dimensions: {},
505
+ metrics: {},
506
+ },
507
+ },
508
+ });
509
+ });
382
510
  test('should handle duplicate tags in available tags list', async () => {
383
511
  expect(filterExploreByTags({
384
512
  availableTags: ['ai-enabled', 'ai-enabled', 'marketing'],
@@ -413,6 +541,80 @@ describe('AiService', () => {
413
541
  },
414
542
  })).toBeDefined();
415
543
  });
544
+ test('should handle multiple joined tables with different tagging modes', async () => {
545
+ const explore = {
546
+ baseTable: 'orders',
547
+ tags: ['ai-enabled'],
548
+ tables: {
549
+ orders: {
550
+ dimensions: { id: {}, status: {} },
551
+ metrics: { total: {} },
552
+ },
553
+ customers: {
554
+ dimensions: {
555
+ email: { tags: ['ai-enabled'] },
556
+ phone: {},
557
+ },
558
+ metrics: {},
559
+ },
560
+ products: {
561
+ dimensions: { name: {}, sku: {} },
562
+ metrics: { price: {} },
563
+ },
564
+ },
565
+ };
566
+ expect(filterExploreByTags({
567
+ availableTags: ['ai-enabled'],
568
+ explore,
569
+ })).toStrictEqual({
570
+ baseTable: 'orders',
571
+ tags: ['ai-enabled'],
572
+ tables: {
573
+ orders: {
574
+ dimensions: { id: {}, status: {} },
575
+ metrics: { total: {} },
576
+ },
577
+ customers: {
578
+ dimensions: { email: { tags: ['ai-enabled'] } },
579
+ metrics: {},
580
+ },
581
+ products: {
582
+ dimensions: { name: {}, sku: {} },
583
+ metrics: { price: {} },
584
+ },
585
+ },
586
+ });
587
+ });
588
+ test('should handle table with only metrics tagged', async () => {
589
+ const explore = {
590
+ baseTable: 'orders',
591
+ tags: [],
592
+ tables: {
593
+ orders: {
594
+ dimensions: {},
595
+ metrics: {
596
+ total: { tags: ['ai-enabled'] },
597
+ count: { tags: [] },
598
+ },
599
+ },
600
+ },
601
+ };
602
+ expect(filterExploreByTags({
603
+ availableTags: ['ai-enabled'],
604
+ explore,
605
+ })).toStrictEqual({
606
+ baseTable: 'orders',
607
+ tags: [],
608
+ tables: {
609
+ orders: {
610
+ dimensions: {},
611
+ metrics: {
612
+ total: { tags: ['ai-enabled'] },
613
+ },
614
+ },
615
+ },
616
+ });
617
+ });
416
618
  test('should return undefined when base table has no dimensions or metrics', async () => {
417
619
  expect(filterExploreByTags({
418
620
  availableTags: ['ai-enabled'],
@@ -1 +1 @@
1
- {"version":3,"file":"filterExploreByTags.test.js","sourceRoot":"","sources":["../../../../src/ee/AiAgent/filterExploreByTags.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE,CACR,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACjC,MAAM,EAAE;oBACJ,qCAAqC;oBACrC,aAAa,EAAE;wBACX,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,CAAC,KAAK,CAAC;6BAChB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE,EAAE;yBACd;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,CAAC,KAAK,CAAC;6BAChB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE,EAAE;yBACd;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;gBACjC,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,CAAC,YAAY,CAAC;6BACvB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE;gCACL,IAAI,EAAE,CAAC,UAAU,CAAC;6BACrB;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,YAAY,CAAC;gBACpB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,CAAC,WAAW,CAAC;6BACtB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE;gCACL,IAAI,EAAE,CAAC,YAAY,CAAC;6BACvB;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,EAAE;6BACX;4BACD,WAAW,EAAE;gCACT,IAAI,EAAE,CAAC,WAAW,CAAC;6BACtB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE,EAAE;yBACd;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,WAAW,CAAC;gBACnB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,EAAE;6BACX;4BACD,WAAW,EAAE;gCACT,IAAI,EAAE,CAAC,WAAW,CAAC;6BACtB;yBACJ;wBACD,OAAO,EAAE;4BACL,OAAO,EAAE,EAAE;yBACd;qBACJ;oBACD,KAAK,EAAE;wBACH,UAAU,EAAE;4BACR,UAAU,EAAE;gCACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;6BACpC;yBACJ;wBACD,OAAO,EAAE;4BACL,WAAW,EAAE;gCACT,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;6BACpC;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,OAAO,GAAG;YACZ,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,EAAE;yBACX;wBACD,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,WAAW,CAAC;yBACtB;qBACJ;oBACD,OAAO,EAAE;wBACL,OAAO,EAAE,EAAE;qBACd;iBACJ;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE;wBACR,UAAU,EAAE;4BACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;oBACD,OAAO,EAAE;wBACL,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;YAC1C,OAAO;SACV,CAAC,CACL,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,OAAO,GAAG;YACZ,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;yBAC9B;wBACD,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,KAAK,CAAC;yBAChB;qBACJ;oBACD,OAAO,EAAE;wBACL,OAAO,EAAE,EAAE;qBACd;iBACJ;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE;wBACR,UAAU,EAAE;4BACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;oBACD,OAAO,EAAE;wBACL,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,WAAW,CAAC;yBACtB;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,cAAc,GAAG;YACnB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;yBAC9B;qBACJ;oBACD,OAAO,EAAE,EAAE;iBACd;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE;wBACR,UAAU,EAAE;4BACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;oBACD,OAAO,EAAE,EAAE;iBACd;aACJ;SACJ,CAAC;QAEF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO;SACV,CAAC,CACL,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,OAAO,GAAG;YACZ,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;yBAC9B;wBACD,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,KAAK,CAAC;yBAChB;qBACJ;oBACD,OAAO,EAAE;wBACL,OAAO,EAAE,EAAE;qBACd;iBACJ;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE;wBACR,UAAU,EAAE;4BACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;oBACD,OAAO,EAAE;wBACL,WAAW,EAAE;4BACT,IAAI,EAAE,CAAC,WAAW,CAAC;yBACtB;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,cAAc,GAAG;YACnB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;yBAC9B;qBACJ;oBACD,OAAO,EAAE,EAAE;iBACd;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE;wBACR,UAAU,EAAE;4BACR,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;yBACpC;qBACJ;oBACD,OAAO,EAAE,EAAE;iBACd;aACJ;SACJ,CAAC;QAEF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO;SACV,CAAC,CACL,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,OAAO,GAAG;YACZ,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,UAAU,EAAE;wBACR,aAAa,EAAE;4BACX,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC;yBAC3C;wBACD,gBAAgB,EAAE;4BACd,IAAI,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;yBACnC;qBACJ;oBACD,OAAO,EAAE;wBACL,cAAc,EAAE;4BACZ,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;yBAClC;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,MAAM,GAAG,mBAAmB,CAAC;YAC/B,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,cAAc,CACtD,eAAe,CAClB,CAAC;QACF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,cAAc,CAC1D,kBAAkB,CACrB,CAAC;QACF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,CACnD,gBAAgB,CACnB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC;YACxD,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,CAAC,YAAY,CAAC;gBACpB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO,EAAE;gBACL,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,UAAU,EAAE;4BACR,aAAa,EAAE;gCACX,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC;6BAC5C;yBACJ;wBACD,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,CACF,mBAAmB,CAAC;YAChB,aAAa,EAAE,CAAC,YAAY,CAAC;YAC7B,OAAO,EAAE;gBACL,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE;oBACJ,WAAW,EAAE;wBACT,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,EAAE;qBACd;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"filterExploreByTags.test.js","sourceRoot":"","sources":["../../../../src/ee/AiAgent/filterExploreByTags.test.ts"],"names":[],"mappings":"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"}