@lightdash/common 0.2403.0 → 0.2404.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 (106) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +5 -40
  3. package/dist/cjs/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts.map +1 -1
  4. package/dist/cjs/ee/AiAgent/schemas/customMetrics.d.ts +3590 -5
  5. package/dist/cjs/ee/AiAgent/schemas/customMetrics.d.ts.map +1 -1
  6. package/dist/cjs/ee/AiAgent/schemas/customMetrics.js +61 -6
  7. package/dist/cjs/ee/AiAgent/schemas/customMetrics.js.map +1 -1
  8. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +13037 -1997
  9. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  10. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +3128 -42
  11. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts.map +1 -1
  12. package/dist/cjs/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +1464 -4
  13. package/dist/cjs/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts.map +1 -1
  14. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +1850 -26
  15. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  16. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +1 -1
  17. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -1
  18. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +1850 -26
  19. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts.map +1 -1
  20. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.js +1 -0
  21. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.js.map +1 -1
  22. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +1850 -26
  23. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  24. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.js +1 -0
  25. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -1
  26. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +1850 -26
  27. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  28. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +1 -0
  29. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -1
  30. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +1850 -26
  31. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  32. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +1 -0
  33. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -1
  34. package/dist/cjs/ee/AiAgent/utils.d.ts +5 -40
  35. package/dist/cjs/ee/AiAgent/utils.d.ts.map +1 -1
  36. package/dist/esm/.tsbuildinfo +1 -1
  37. package/dist/esm/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +5 -40
  38. package/dist/esm/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts.map +1 -1
  39. package/dist/esm/ee/AiAgent/schemas/customMetrics.d.ts +3590 -5
  40. package/dist/esm/ee/AiAgent/schemas/customMetrics.d.ts.map +1 -1
  41. package/dist/esm/ee/AiAgent/schemas/customMetrics.js +60 -5
  42. package/dist/esm/ee/AiAgent/schemas/customMetrics.js.map +1 -1
  43. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +13037 -1997
  44. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  45. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +3128 -42
  46. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts.map +1 -1
  47. package/dist/esm/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +1464 -4
  48. package/dist/esm/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts.map +1 -1
  49. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +1850 -26
  50. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  51. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +2 -2
  52. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -1
  53. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +1850 -26
  54. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts.map +1 -1
  55. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.js +2 -1
  56. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.js.map +1 -1
  57. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +1850 -26
  58. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  59. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.js +2 -1
  60. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -1
  61. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +1850 -26
  62. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  63. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +2 -1
  64. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -1
  65. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +1850 -26
  66. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  67. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +2 -1
  68. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -1
  69. package/dist/esm/ee/AiAgent/utils.d.ts +5 -40
  70. package/dist/esm/ee/AiAgent/utils.d.ts.map +1 -1
  71. package/dist/types/.tsbuildinfo +1 -1
  72. package/dist/types/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts +5 -40
  73. package/dist/types/ee/AiAgent/chartConfig/web/getWebAiChartConfig.d.ts.map +1 -1
  74. package/dist/types/ee/AiAgent/schemas/customMetrics.d.ts +3590 -5
  75. package/dist/types/ee/AiAgent/schemas/customMetrics.d.ts.map +1 -1
  76. package/dist/types/ee/AiAgent/schemas/customMetrics.js +60 -5
  77. package/dist/types/ee/AiAgent/schemas/customMetrics.js.map +1 -1
  78. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +13037 -1997
  79. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
  80. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +3128 -42
  81. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts.map +1 -1
  82. package/dist/types/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +1464 -4
  83. package/dist/types/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts.map +1 -1
  84. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +1850 -26
  85. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
  86. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js +2 -2
  87. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.js.map +1 -1
  88. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +1850 -26
  89. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts.map +1 -1
  90. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.js +2 -1
  91. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.js.map +1 -1
  92. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +1850 -26
  93. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
  94. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.js +2 -1
  95. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.js.map +1 -1
  96. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +1850 -26
  97. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
  98. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js +2 -1
  99. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.js.map +1 -1
  100. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +1850 -26
  101. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
  102. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js +2 -1
  103. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.js.map +1 -1
  104. package/dist/types/ee/AiAgent/utils.d.ts +5 -40
  105. package/dist/types/ee/AiAgent/utils.d.ts.map +1 -1
  106. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"customMetrics.d.ts","sourceRoot":"","sources":["../../../../../src/ee/AiAgent/schemas/customMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAalD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD5B,CAAC;AAER,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmB3B,CAAC"}
1
+ {"version":3,"file":"customMetrics.d.ts","sourceRoot":"","sources":["../../../../../src/ee/AiAgent/schemas/customMetrics.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { v4 as uuid } from 'uuid';
1
2
  import { z } from 'zod';
2
3
  import { MetricType } from '../../../types/field';
4
+ import { booleanFilterSchema, dateFilterSchema, numberFilterSchema, stringFilterSchema, } from './filters';
3
5
  const extractFieldNameFromFieldId = (table, baseDimensionName) => {
4
6
  const prefix = `${table}_`;
5
7
  if (!baseDimensionName.startsWith(prefix)) {
@@ -7,8 +9,26 @@ const extractFieldNameFromFieldId = (table, baseDimensionName) => {
7
9
  }
8
10
  return baseDimensionName.slice(prefix.length);
9
11
  };
10
- export const customMetricBaseSchema = z
11
- .object({
12
+ // Convert fieldId (customers_age) to fieldRef (customers.age)
13
+ const fieldIdToFieldRef = (fieldId, table) => {
14
+ const prefix = `${table}_`;
15
+ if (fieldId.startsWith(prefix)) {
16
+ return `${table}.${fieldId.slice(prefix.length)}`;
17
+ }
18
+ return `${table}.${fieldId}`;
19
+ };
20
+ const filterSchema = z.union([
21
+ booleanFilterSchema,
22
+ stringFilterSchema,
23
+ numberFilterSchema,
24
+ dateFilterSchema,
25
+ ]);
26
+ const metricFilterRuleSchema = z.object({
27
+ filter: filterSchema,
28
+ table: z.string().describe('Table name this filter field belongs to'),
29
+ });
30
+ const metricFiltersSchema = z.array(metricFilterRuleSchema).nullable();
31
+ const customMetricBaseSchemaV1 = z.object({
12
32
  name: z
13
33
  .string()
14
34
  .describe('Unique metric name using snake_case (e.g., "avg_customer_age", "total_revenue")'),
@@ -36,10 +56,34 @@ export const customMetricBaseSchema = z
36
56
  MetricType.MEDIAN,
37
57
  ])
38
58
  .describe(`Choose based on the user's request. If the base dimension type is STRING, TIMESTAMP, DATE, BOOLEAN, use COUNT_DISTINCT, COUNT, MIN, MAX. If the base dimension type is NUMBER, use MIN, MAX, SUM, PERCENTILE, MEDIAN, AVERAGE, COUNT_DISTINCT, COUNT. If the base dimension type is BOOLEAN, use COUNT_DISTINCT, COUNT.`),
59
+ });
60
+ export const customMetricBaseSchemaV2 = customMetricBaseSchemaV1.extend({
61
+ filters: metricFiltersSchema.describe('Optional filters for conditional metrics. Each filter needs fieldId (from findFields) and table name.'),
62
+ });
63
+ export const customMetricBaseSchema = z.union([
64
+ customMetricBaseSchemaV2,
65
+ customMetricBaseSchemaV1,
66
+ ]);
67
+ export const customMetricBaseSchemaTransformed = customMetricBaseSchemaV2
68
+ .extend({
69
+ filters: metricFiltersSchema.default(null),
39
70
  })
40
- .transform((data) => ({
41
- ...data,
42
- baseDimensionName: extractFieldNameFromFieldId(data.table, data.baseDimensionName),
71
+ .transform((cm) => ({
72
+ ...cm,
73
+ baseDimensionName: extractFieldNameFromFieldId(cm.table, cm.baseDimensionName),
74
+ filters: cm.filters?.length
75
+ ? cm.filters.map((f) => ({
76
+ id: uuid(),
77
+ target: {
78
+ fieldRef: fieldIdToFieldRef(f.filter.fieldId, f.table),
79
+ },
80
+ operator: f.filter.operator,
81
+ values: 'values' in f.filter ? f.filter.values : [],
82
+ ...('settings' in f.filter
83
+ ? { settings: f.filter.settings }
84
+ : {}),
85
+ }))
86
+ : undefined,
43
87
  }));
44
88
  export const customMetricsSchema = z
45
89
  .array(customMetricBaseSchema)
@@ -54,9 +98,20 @@ When using custom metrics:
54
98
  3. Reference it anywhere else you use fieldIds (sorts, filters, chartConfig.yAxisMetrics) using the same "table_metricname" format
55
99
  4. DO NOT use the raw metric name in metrics, sorts, filters, or chart configuration
56
100
 
101
+ To create conditional metrics (e.g., "count of orders where status = 'completed'"):
102
+ 1. Set the appropriate aggregation type (COUNT, SUM, etc.)
103
+ 2. Add filters array with {filter, table} objects
104
+ 3. filter contains: fieldId, fieldType, fieldFilterType, operator, values
105
+ 4. Example: {name: "completed_orders", type: "COUNT", baseDimensionName: "order_id", table: "orders",
106
+ filters: [{table: "orders", filter: {fieldId: "orders_status", fieldType: "STRING", fieldFilterType: "string",
107
+ operator: "equals", values: ["completed"]}}]}
108
+
57
109
  For example:
58
110
  - "Show me average customer age sorted descending" →
59
111
  customMetrics: [{name: "avg_customer_age", label: "Average Customer Age", type: "AVERAGE", baseDimensionName: "age", table: "customers"}]
60
112
  metrics: ["customers_avg_customer_age"]
61
113
  sorts: [{fieldId: "customers_avg_customer_age", descending: true}]`);
114
+ export const customMetricsSchemaTransformed = z
115
+ .array(customMetricBaseSchemaTransformed)
116
+ .nullable();
62
117
  //# sourceMappingURL=customMetrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customMetrics.js","sourceRoot":"","sources":["../../../../../src/ee/AiAgent/schemas/customMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,2BAA2B,GAAG,CAChC,KAAa,EACb,iBAAyB,EACnB,EAAE;IACR,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC;IAC3B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KAClC,MAAM,CAAC;IACJ,IAAI,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,CACL,iFAAiF,CACpF;IACL,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACL,qFAAqF,CACxF;IACL,WAAW,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,CACL,2LAA2L,CAC9L;IACL,iBAAiB,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,CACL,+DAA+D,CAClE;IACL,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,CACL,0FAA0F,CAC7F;IACL,IAAI,EAAE,CAAC;SACF,IAAI,CAAC;QACF,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,MAAM;KACpB,CAAC;SACD,QAAQ,CACL,yTAAyT,CAC5T;CACR,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAClB,GAAG,IAAI;IACP,iBAAiB,EAAE,2BAA2B,CAC1C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,iBAAiB,CACzB;CACJ,CAAC,CAAC,CAAC;AAIR,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KAC/B,KAAK,CAAC,sBAAsB,CAAC;KAC7B,QAAQ,EAAE;KACV,QAAQ,CACL;;;;;;;;;;;;;;mEAc2D,CAC9D,CAAC"}
1
+ {"version":3,"file":"customMetrics.js","sourceRoot":"","sources":["../../../../../src/ee/AiAgent/schemas/customMetrics.ts"],"names":[],"mappings":"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"}