@lightdash/common 0.2077.5 → 0.2078.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.
- package/dist/cjs/ee/AiAgent/schemas/index.d.ts +1200 -0
- package/dist/cjs/ee/AiAgent/schemas/index.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js +8 -4
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js +4 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js +103 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js.map +1 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.js +87 -30
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.js.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
- package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
- package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
- package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
- package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
- package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
- package/dist/cjs/ee/AiAgent/utils.d.ts +69 -0
- package/dist/cjs/ee/AiAgent/utils.d.ts.map +1 -1
- package/dist/cjs/types/field.d.ts +42 -1
- package/dist/cjs/types/field.d.ts.map +1 -1
- package/dist/cjs/types/field.js +25 -1
- package/dist/cjs/types/field.js.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/index.d.ts +1200 -0
- package/dist/esm/ee/AiAgent/schemas/index.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js +8 -4
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.js.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js +5 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.js.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js +100 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.js.map +1 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.js +88 -31
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.js.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
- package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
- package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
- package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
- package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
- package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
- package/dist/esm/ee/AiAgent/utils.d.ts +69 -0
- package/dist/esm/ee/AiAgent/utils.d.ts.map +1 -1
- package/dist/esm/types/field.d.ts +42 -1
- package/dist/esm/types/field.d.ts.map +1 -1
- package/dist/esm/types/field.js +24 -0
- package/dist/esm/types/field.js.map +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/ee/AiAgent/schemas/index.d.ts +1200 -0
- package/dist/types/ee/AiAgent/schemas/index.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcBaseSchemas.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts +3 -0
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcPercentOfColumnTotal.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts +109 -0
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcWindowFunction.d.ts.map +1 -0
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts +216 -0
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +2218 -4
- package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +354 -0
- package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +354 -0
- package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +354 -0
- package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +354 -0
- package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts.map +1 -1
- package/dist/types/ee/AiAgent/utils.d.ts +69 -0
- package/dist/types/ee/AiAgent/utils.d.ts.map +1 -1
- package/dist/types/types/field.d.ts +42 -1
- package/dist/types/types/field.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js +0 -56
- package/dist/cjs/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js.map +0 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js +0 -54
- package/dist/esm/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.js.map +0 -1
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts +0 -2
- package/dist/types/ee/AiAgent/schemas/tableCalcs/tableCalcs.test.d.ts.map +0 -1
|
@@ -74,16 +74,19 @@ declare const tableCalcSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
74
74
|
} & {
|
|
75
75
|
type: z.ZodLiteral<"percent_of_column_total">;
|
|
76
76
|
fieldId: z.ZodString;
|
|
77
|
+
partitionBy: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
|
|
77
78
|
}, "strip", z.ZodTypeAny, {
|
|
78
79
|
name: string;
|
|
79
80
|
fieldId: string;
|
|
80
81
|
type: "percent_of_column_total";
|
|
81
82
|
displayName: string;
|
|
83
|
+
partitionBy: string[] | null;
|
|
82
84
|
}, {
|
|
83
85
|
name: string;
|
|
84
86
|
fieldId: string;
|
|
85
87
|
type: "percent_of_column_total";
|
|
86
88
|
displayName: string;
|
|
89
|
+
partitionBy: string[] | null;
|
|
87
90
|
}>, z.ZodObject<{
|
|
88
91
|
name: z.ZodString;
|
|
89
92
|
displayName: z.ZodString;
|
|
@@ -116,6 +119,111 @@ declare const tableCalcSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
116
119
|
fieldId: string;
|
|
117
120
|
type: "running_total";
|
|
118
121
|
displayName: string;
|
|
122
|
+
}>, z.ZodObject<{
|
|
123
|
+
name: z.ZodString;
|
|
124
|
+
displayName: z.ZodString;
|
|
125
|
+
} & {
|
|
126
|
+
type: z.ZodLiteral<"window_function">;
|
|
127
|
+
windowFunction: z.ZodEnum<["row_number", "percent_rank", "sum", "avg", "count", "min", "max"]>;
|
|
128
|
+
fieldId: z.ZodNullable<z.ZodString>;
|
|
129
|
+
orderBy: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
130
|
+
fieldId: z.ZodString;
|
|
131
|
+
order: z.ZodNullable<z.ZodEnum<["asc", "desc"]>>;
|
|
132
|
+
}, "strip", z.ZodTypeAny, {
|
|
133
|
+
fieldId: string;
|
|
134
|
+
order: "asc" | "desc" | null;
|
|
135
|
+
}, {
|
|
136
|
+
fieldId: string;
|
|
137
|
+
order: "asc" | "desc" | null;
|
|
138
|
+
}>, "many">>;
|
|
139
|
+
partitionBy: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
|
|
140
|
+
frame: z.ZodNullable<z.ZodObject<{
|
|
141
|
+
frameType: z.ZodEnum<["rows", "range"]>;
|
|
142
|
+
start: z.ZodNullable<z.ZodObject<{
|
|
143
|
+
type: z.ZodEnum<["unbounded_preceding", "preceding", "current_row", "following", "unbounded_following"]>;
|
|
144
|
+
offset: z.ZodNullable<z.ZodNumber>;
|
|
145
|
+
}, "strip", z.ZodTypeAny, {
|
|
146
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
147
|
+
offset: number | null;
|
|
148
|
+
}, {
|
|
149
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
150
|
+
offset: number | null;
|
|
151
|
+
}>>;
|
|
152
|
+
end: z.ZodObject<{
|
|
153
|
+
type: z.ZodEnum<["unbounded_preceding", "preceding", "current_row", "following", "unbounded_following"]>;
|
|
154
|
+
offset: z.ZodNullable<z.ZodNumber>;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
157
|
+
offset: number | null;
|
|
158
|
+
}, {
|
|
159
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
160
|
+
offset: number | null;
|
|
161
|
+
}>;
|
|
162
|
+
}, "strip", z.ZodTypeAny, {
|
|
163
|
+
start: {
|
|
164
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
165
|
+
offset: number | null;
|
|
166
|
+
} | null;
|
|
167
|
+
end: {
|
|
168
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
169
|
+
offset: number | null;
|
|
170
|
+
};
|
|
171
|
+
frameType: "rows" | "range";
|
|
172
|
+
}, {
|
|
173
|
+
start: {
|
|
174
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
175
|
+
offset: number | null;
|
|
176
|
+
} | null;
|
|
177
|
+
end: {
|
|
178
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
179
|
+
offset: number | null;
|
|
180
|
+
};
|
|
181
|
+
frameType: "rows" | "range";
|
|
182
|
+
}>>;
|
|
183
|
+
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
name: string;
|
|
185
|
+
fieldId: string | null;
|
|
186
|
+
type: "window_function";
|
|
187
|
+
displayName: string;
|
|
188
|
+
orderBy: {
|
|
189
|
+
fieldId: string;
|
|
190
|
+
order: "asc" | "desc" | null;
|
|
191
|
+
}[] | null;
|
|
192
|
+
partitionBy: string[] | null;
|
|
193
|
+
windowFunction: "row_number" | "percent_rank" | "sum" | "avg" | "count" | "min" | "max";
|
|
194
|
+
frame: {
|
|
195
|
+
start: {
|
|
196
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
197
|
+
offset: number | null;
|
|
198
|
+
} | null;
|
|
199
|
+
end: {
|
|
200
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
201
|
+
offset: number | null;
|
|
202
|
+
};
|
|
203
|
+
frameType: "rows" | "range";
|
|
204
|
+
} | null;
|
|
205
|
+
}, {
|
|
206
|
+
name: string;
|
|
207
|
+
fieldId: string | null;
|
|
208
|
+
type: "window_function";
|
|
209
|
+
displayName: string;
|
|
210
|
+
orderBy: {
|
|
211
|
+
fieldId: string;
|
|
212
|
+
order: "asc" | "desc" | null;
|
|
213
|
+
}[] | null;
|
|
214
|
+
partitionBy: string[] | null;
|
|
215
|
+
windowFunction: "row_number" | "percent_rank" | "sum" | "avg" | "count" | "min" | "max";
|
|
216
|
+
frame: {
|
|
217
|
+
start: {
|
|
218
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
219
|
+
offset: number | null;
|
|
220
|
+
} | null;
|
|
221
|
+
end: {
|
|
222
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
223
|
+
offset: number | null;
|
|
224
|
+
};
|
|
225
|
+
frameType: "rows" | "range";
|
|
226
|
+
} | null;
|
|
119
227
|
}>]>;
|
|
120
228
|
export type TableCalcSchema = z.infer<typeof tableCalcSchema>;
|
|
121
229
|
export declare const tableCalcsSchema: z.ZodNullable<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
@@ -192,16 +300,19 @@ export declare const tableCalcsSchema: z.ZodNullable<z.ZodArray<z.ZodDiscriminat
|
|
|
192
300
|
} & {
|
|
193
301
|
type: z.ZodLiteral<"percent_of_column_total">;
|
|
194
302
|
fieldId: z.ZodString;
|
|
303
|
+
partitionBy: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
|
|
195
304
|
}, "strip", z.ZodTypeAny, {
|
|
196
305
|
name: string;
|
|
197
306
|
fieldId: string;
|
|
198
307
|
type: "percent_of_column_total";
|
|
199
308
|
displayName: string;
|
|
309
|
+
partitionBy: string[] | null;
|
|
200
310
|
}, {
|
|
201
311
|
name: string;
|
|
202
312
|
fieldId: string;
|
|
203
313
|
type: "percent_of_column_total";
|
|
204
314
|
displayName: string;
|
|
315
|
+
partitionBy: string[] | null;
|
|
205
316
|
}>, z.ZodObject<{
|
|
206
317
|
name: z.ZodString;
|
|
207
318
|
displayName: z.ZodString;
|
|
@@ -234,6 +345,111 @@ export declare const tableCalcsSchema: z.ZodNullable<z.ZodArray<z.ZodDiscriminat
|
|
|
234
345
|
fieldId: string;
|
|
235
346
|
type: "running_total";
|
|
236
347
|
displayName: string;
|
|
348
|
+
}>, z.ZodObject<{
|
|
349
|
+
name: z.ZodString;
|
|
350
|
+
displayName: z.ZodString;
|
|
351
|
+
} & {
|
|
352
|
+
type: z.ZodLiteral<"window_function">;
|
|
353
|
+
windowFunction: z.ZodEnum<["row_number", "percent_rank", "sum", "avg", "count", "min", "max"]>;
|
|
354
|
+
fieldId: z.ZodNullable<z.ZodString>;
|
|
355
|
+
orderBy: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
356
|
+
fieldId: z.ZodString;
|
|
357
|
+
order: z.ZodNullable<z.ZodEnum<["asc", "desc"]>>;
|
|
358
|
+
}, "strip", z.ZodTypeAny, {
|
|
359
|
+
fieldId: string;
|
|
360
|
+
order: "asc" | "desc" | null;
|
|
361
|
+
}, {
|
|
362
|
+
fieldId: string;
|
|
363
|
+
order: "asc" | "desc" | null;
|
|
364
|
+
}>, "many">>;
|
|
365
|
+
partitionBy: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
|
|
366
|
+
frame: z.ZodNullable<z.ZodObject<{
|
|
367
|
+
frameType: z.ZodEnum<["rows", "range"]>;
|
|
368
|
+
start: z.ZodNullable<z.ZodObject<{
|
|
369
|
+
type: z.ZodEnum<["unbounded_preceding", "preceding", "current_row", "following", "unbounded_following"]>;
|
|
370
|
+
offset: z.ZodNullable<z.ZodNumber>;
|
|
371
|
+
}, "strip", z.ZodTypeAny, {
|
|
372
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
373
|
+
offset: number | null;
|
|
374
|
+
}, {
|
|
375
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
376
|
+
offset: number | null;
|
|
377
|
+
}>>;
|
|
378
|
+
end: z.ZodObject<{
|
|
379
|
+
type: z.ZodEnum<["unbounded_preceding", "preceding", "current_row", "following", "unbounded_following"]>;
|
|
380
|
+
offset: z.ZodNullable<z.ZodNumber>;
|
|
381
|
+
}, "strip", z.ZodTypeAny, {
|
|
382
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
383
|
+
offset: number | null;
|
|
384
|
+
}, {
|
|
385
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
386
|
+
offset: number | null;
|
|
387
|
+
}>;
|
|
388
|
+
}, "strip", z.ZodTypeAny, {
|
|
389
|
+
start: {
|
|
390
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
391
|
+
offset: number | null;
|
|
392
|
+
} | null;
|
|
393
|
+
end: {
|
|
394
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
395
|
+
offset: number | null;
|
|
396
|
+
};
|
|
397
|
+
frameType: "rows" | "range";
|
|
398
|
+
}, {
|
|
399
|
+
start: {
|
|
400
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
401
|
+
offset: number | null;
|
|
402
|
+
} | null;
|
|
403
|
+
end: {
|
|
404
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
405
|
+
offset: number | null;
|
|
406
|
+
};
|
|
407
|
+
frameType: "rows" | "range";
|
|
408
|
+
}>>;
|
|
409
|
+
}, "strip", z.ZodTypeAny, {
|
|
410
|
+
name: string;
|
|
411
|
+
fieldId: string | null;
|
|
412
|
+
type: "window_function";
|
|
413
|
+
displayName: string;
|
|
414
|
+
orderBy: {
|
|
415
|
+
fieldId: string;
|
|
416
|
+
order: "asc" | "desc" | null;
|
|
417
|
+
}[] | null;
|
|
418
|
+
partitionBy: string[] | null;
|
|
419
|
+
windowFunction: "row_number" | "percent_rank" | "sum" | "avg" | "count" | "min" | "max";
|
|
420
|
+
frame: {
|
|
421
|
+
start: {
|
|
422
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
423
|
+
offset: number | null;
|
|
424
|
+
} | null;
|
|
425
|
+
end: {
|
|
426
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
427
|
+
offset: number | null;
|
|
428
|
+
};
|
|
429
|
+
frameType: "rows" | "range";
|
|
430
|
+
} | null;
|
|
431
|
+
}, {
|
|
432
|
+
name: string;
|
|
433
|
+
fieldId: string | null;
|
|
434
|
+
type: "window_function";
|
|
435
|
+
displayName: string;
|
|
436
|
+
orderBy: {
|
|
437
|
+
fieldId: string;
|
|
438
|
+
order: "asc" | "desc" | null;
|
|
439
|
+
}[] | null;
|
|
440
|
+
partitionBy: string[] | null;
|
|
441
|
+
windowFunction: "row_number" | "percent_rank" | "sum" | "avg" | "count" | "min" | "max";
|
|
442
|
+
frame: {
|
|
443
|
+
start: {
|
|
444
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
445
|
+
offset: number | null;
|
|
446
|
+
} | null;
|
|
447
|
+
end: {
|
|
448
|
+
type: "unbounded_preceding" | "preceding" | "current_row" | "following" | "unbounded_following";
|
|
449
|
+
offset: number | null;
|
|
450
|
+
};
|
|
451
|
+
frameType: "rows" | "range";
|
|
452
|
+
} | null;
|
|
237
453
|
}>]>, "many">>;
|
|
238
454
|
export type TableCalcsSchema = z.infer<typeof tableCalcsSchema>;
|
|
239
455
|
export declare function convertAiTableCalcsSchemaToTableCalcs(tableCalcs: TableCalcsSchema): TableCalculation[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableCalcs.d.ts","sourceRoot":"","sources":["../../../../../../src/ee/AiAgent/schemas/tableCalcs/tableCalcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"tableCalcs.d.ts","sourceRoot":"","sources":["../../../../../../src/ee/AiAgent/schemas/tableCalcs/tableCalcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAQH,KAAK,gBAAgB,EACxB,MAAM,yBAAyB,CAAC;AASjC,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOnB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAY3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiLhE,wBAAgB,qCAAqC,CACjD,UAAU,EAAE,gBAAgB,GAC7B,gBAAgB,EAAE,CAEpB"}
|
|
@@ -1,46 +1,51 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { CustomFormatType, NumberSeparator, TableCalculationTemplateType, TableCalculationType, } from '../../../../types/field';
|
|
2
|
+
import { CustomFormatType, FrameBoundaryType, FrameType, NumberSeparator, TableCalculationTemplateType, TableCalculationType, WindowFunctionType, } from '../../../../types/field';
|
|
3
3
|
import assertUnreachable from '../../../../utils/assertUnreachable';
|
|
4
4
|
import { tableCalcPercentChangeFromPreviousSchema } from './tableCalcPercentChangeFromPrevious';
|
|
5
5
|
import { tableCalcPercentOfColumnTotalSchema } from './tableCalcPercentOfColumnTotal';
|
|
6
6
|
import { tableCalcPercentOfPreviousValueSchema } from './tableCalcPercentOfPreviousValue';
|
|
7
7
|
import { tableCalcRankInColumnSchema } from './tableCalcRankInColumn';
|
|
8
8
|
import { tableCalcRunningTotalSchema } from './tableCalcRunningTotal';
|
|
9
|
+
import { tableCalcWindowFunctionSchema } from './tableCalcWindowFunction';
|
|
9
10
|
const tableCalcSchema = z.discriminatedUnion('type', [
|
|
10
11
|
tableCalcPercentChangeFromPreviousSchema,
|
|
11
12
|
tableCalcPercentOfPreviousValueSchema,
|
|
12
13
|
tableCalcPercentOfColumnTotalSchema,
|
|
13
14
|
tableCalcRankInColumnSchema,
|
|
14
15
|
tableCalcRunningTotalSchema,
|
|
16
|
+
tableCalcWindowFunctionSchema,
|
|
15
17
|
]);
|
|
16
|
-
// TODO improve description
|
|
17
18
|
export const tableCalcsSchema = z.array(tableCalcSchema).nullable().describe(`
|
|
18
|
-
Table calculations
|
|
19
|
+
Table calculations perform row-by-row calculations on query results without collapsing rows. Similar to SQL window functions.
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
**Available Types:**
|
|
22
|
+
- Simple calculations: percent_change_from_previous, percent_of_previous_value, percent_of_column_total, rank_in_column, running_total
|
|
23
|
+
- Advanced window_function: Supports row_number, percent_rank, sum, avg, count, min, max with optional partitioning, ordering, and frame clauses
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
Examples: "Show revenue as % of previous month", "What percent is each quarter vs the prior quarter"
|
|
28
|
-
Recommended visualization type: Table, bar chart
|
|
29
|
-
|
|
30
|
-
- User requests percentage of column total
|
|
31
|
-
Examples: "Show each product as % of total sales", "What percentage does each region contribute to overall revenue"
|
|
32
|
-
Recommended visualization type: Table, Bar chart
|
|
33
|
-
|
|
34
|
-
- User requests rank within a column
|
|
35
|
-
Examples: "Rank customers by revenue", "Show top performing sales reps by deal count"
|
|
36
|
-
Recommended visualization type: Table, Bar chart
|
|
37
|
-
|
|
38
|
-
- User requests running total
|
|
39
|
-
Examples: "Show cumulative revenue over time", "Running sum of orders by month"
|
|
40
|
-
Recommended visualization type: Line chart for the table calculation as Y axis and time as X axis
|
|
25
|
+
**Technical Requirements:**
|
|
26
|
+
- Appear as additional columns in query results
|
|
27
|
+
- Can be used in sorts and filters alongside dimensions/metrics
|
|
28
|
+
- Multiple calculations can be combined in a single query
|
|
29
|
+
- All fields referenced must exist in the query (dimensions, metrics, or other table calculations)
|
|
41
30
|
`);
|
|
31
|
+
function frameBoundaryStringToEnum(boundaryType) {
|
|
32
|
+
switch (boundaryType) {
|
|
33
|
+
case 'unbounded_preceding':
|
|
34
|
+
return FrameBoundaryType.UNBOUNDED_PRECEDING;
|
|
35
|
+
case 'preceding':
|
|
36
|
+
return FrameBoundaryType.PRECEDING;
|
|
37
|
+
case 'current_row':
|
|
38
|
+
return FrameBoundaryType.CURRENT_ROW;
|
|
39
|
+
case 'following':
|
|
40
|
+
return FrameBoundaryType.FOLLOWING;
|
|
41
|
+
case 'unbounded_following':
|
|
42
|
+
return FrameBoundaryType.UNBOUNDED_FOLLOWING;
|
|
43
|
+
default:
|
|
44
|
+
return assertUnreachable(boundaryType, 'Unknown boundary type');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
42
47
|
function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
43
|
-
const { type, name, displayName
|
|
48
|
+
const { type, name, displayName } = tableCalc;
|
|
44
49
|
// Build the template
|
|
45
50
|
const baseCalc = {
|
|
46
51
|
name,
|
|
@@ -53,8 +58,8 @@ function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
|
53
58
|
...baseCalc,
|
|
54
59
|
template: {
|
|
55
60
|
type: TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS,
|
|
56
|
-
fieldId,
|
|
57
|
-
orderBy: tableCalc.orderBy,
|
|
61
|
+
fieldId: tableCalc.fieldId,
|
|
62
|
+
orderBy: tableCalc.orderBy ?? [],
|
|
58
63
|
},
|
|
59
64
|
format: {
|
|
60
65
|
type: CustomFormatType.PERCENT,
|
|
@@ -66,8 +71,8 @@ function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
|
66
71
|
...baseCalc,
|
|
67
72
|
template: {
|
|
68
73
|
type: TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE,
|
|
69
|
-
fieldId,
|
|
70
|
-
orderBy: tableCalc.orderBy,
|
|
74
|
+
fieldId: tableCalc.fieldId,
|
|
75
|
+
orderBy: tableCalc.orderBy ?? [],
|
|
71
76
|
},
|
|
72
77
|
format: {
|
|
73
78
|
type: CustomFormatType.PERCENT,
|
|
@@ -79,7 +84,8 @@ function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
|
79
84
|
...baseCalc,
|
|
80
85
|
template: {
|
|
81
86
|
type: TableCalculationTemplateType.PERCENT_OF_COLUMN_TOTAL,
|
|
82
|
-
fieldId,
|
|
87
|
+
fieldId: tableCalc.fieldId,
|
|
88
|
+
partitionBy: tableCalc.partitionBy ?? [],
|
|
83
89
|
},
|
|
84
90
|
format: {
|
|
85
91
|
type: CustomFormatType.PERCENT,
|
|
@@ -91,7 +97,7 @@ function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
|
91
97
|
...baseCalc,
|
|
92
98
|
template: {
|
|
93
99
|
type: TableCalculationTemplateType.RANK_IN_COLUMN,
|
|
94
|
-
fieldId,
|
|
100
|
+
fieldId: tableCalc.fieldId,
|
|
95
101
|
},
|
|
96
102
|
format: {
|
|
97
103
|
type: CustomFormatType.NUMBER,
|
|
@@ -103,13 +109,64 @@ function convertTableCalcSchemaToTableCalc(tableCalc) {
|
|
|
103
109
|
...baseCalc,
|
|
104
110
|
template: {
|
|
105
111
|
type: TableCalculationTemplateType.RUNNING_TOTAL,
|
|
106
|
-
fieldId,
|
|
112
|
+
fieldId: tableCalc.fieldId,
|
|
107
113
|
},
|
|
108
114
|
format: {
|
|
109
115
|
type: CustomFormatType.NUMBER,
|
|
110
116
|
separator: NumberSeparator.DEFAULT,
|
|
111
117
|
},
|
|
112
118
|
};
|
|
119
|
+
case 'window_function': {
|
|
120
|
+
// Map string window function to enum
|
|
121
|
+
const windowFunctionMap = {
|
|
122
|
+
row_number: WindowFunctionType.ROW_NUMBER,
|
|
123
|
+
percent_rank: WindowFunctionType.PERCENT_RANK,
|
|
124
|
+
sum: WindowFunctionType.SUM,
|
|
125
|
+
avg: WindowFunctionType.AVG,
|
|
126
|
+
count: WindowFunctionType.COUNT,
|
|
127
|
+
min: WindowFunctionType.MIN,
|
|
128
|
+
max: WindowFunctionType.MAX,
|
|
129
|
+
};
|
|
130
|
+
const format = tableCalc.windowFunction === 'percent_rank'
|
|
131
|
+
? {
|
|
132
|
+
type: CustomFormatType.PERCENT,
|
|
133
|
+
separator: NumberSeparator.DEFAULT,
|
|
134
|
+
}
|
|
135
|
+
: {
|
|
136
|
+
type: CustomFormatType.NUMBER,
|
|
137
|
+
separator: NumberSeparator.DEFAULT,
|
|
138
|
+
};
|
|
139
|
+
// Convert frame clause string literals to enum types
|
|
140
|
+
const frame = tableCalc.frame
|
|
141
|
+
? {
|
|
142
|
+
frameType: tableCalc.frame.frameType === 'rows'
|
|
143
|
+
? FrameType.ROWS
|
|
144
|
+
: FrameType.RANGE,
|
|
145
|
+
start: tableCalc.frame.start
|
|
146
|
+
? {
|
|
147
|
+
type: frameBoundaryStringToEnum(tableCalc.frame.start.type),
|
|
148
|
+
offset: tableCalc.frame.start.offset ?? undefined,
|
|
149
|
+
}
|
|
150
|
+
: undefined,
|
|
151
|
+
end: {
|
|
152
|
+
type: frameBoundaryStringToEnum(tableCalc.frame.end.type),
|
|
153
|
+
offset: tableCalc.frame.end.offset ?? undefined,
|
|
154
|
+
},
|
|
155
|
+
}
|
|
156
|
+
: undefined;
|
|
157
|
+
return {
|
|
158
|
+
...baseCalc,
|
|
159
|
+
template: {
|
|
160
|
+
type: TableCalculationTemplateType.WINDOW_FUNCTION,
|
|
161
|
+
windowFunction: windowFunctionMap[tableCalc.windowFunction],
|
|
162
|
+
fieldId: tableCalc.fieldId,
|
|
163
|
+
orderBy: tableCalc.orderBy ?? [],
|
|
164
|
+
partitionBy: tableCalc.partitionBy ?? [],
|
|
165
|
+
frame,
|
|
166
|
+
},
|
|
167
|
+
format,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
113
170
|
default:
|
|
114
171
|
return assertUnreachable(type, 'Unknown table calc type');
|
|
115
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableCalcs.js","sourceRoot":"","sources":["../../../../../../src/ee/AiAgent/schemas/tableCalcs/tableCalcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"tableCalcs.js","sourceRoot":"","sources":["../../../../../../src/ee/AiAgent/schemas/tableCalcs/tableCalcs.ts"],"names":[],"mappings":"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"}
|