@adminforth/dashboard 1.0.0 → 1.2.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 (55) hide show
  1. package/README.md +99 -54
  2. package/custom/api/dashboardApi.ts +9 -0
  3. package/custom/model/dashboard.types.ts +353 -2
  4. package/custom/queries/useWidgetData.ts +8 -4
  5. package/custom/runtime/DashboardRuntime.vue +2 -1
  6. package/custom/runtime/WidgetRenderer.vue +2 -1
  7. package/custom/runtime/WidgetShell.vue +8 -4
  8. package/custom/skills/adminforth-dashboard/SKILL.md +4 -4
  9. package/custom/widgets/chart/ChartWidget.vue +45 -12
  10. package/custom/widgets/chart/chart.types.ts +83 -0
  11. package/custom/widgets/chart/chart.utils.ts +2 -2
  12. package/custom/widgets/gauge-card/GaugeCardWidget.vue +63 -12
  13. package/custom/widgets/kpi-card/KpiCardWidget.vue +6 -8
  14. package/custom/widgets/pivot-table/PivotTableWidget.vue +32 -12
  15. package/custom/widgets/table/TableWidget.vue +155 -30
  16. package/dist/custom/api/dashboardApi.d.ts +7 -1
  17. package/dist/custom/api/dashboardApi.js +4 -6
  18. package/dist/custom/api/dashboardApi.ts +9 -0
  19. package/dist/custom/model/dashboard.types.d.ts +70 -1
  20. package/dist/custom/model/dashboard.types.js +173 -1
  21. package/dist/custom/model/dashboard.types.ts +353 -2
  22. package/dist/custom/queries/useDashboardConfig.d.ts +42 -2
  23. package/dist/custom/queries/useWidgetData.d.ts +44 -3
  24. package/dist/custom/queries/useWidgetData.js +3 -3
  25. package/dist/custom/queries/useWidgetData.ts +8 -4
  26. package/dist/custom/runtime/DashboardRuntime.vue +2 -1
  27. package/dist/custom/runtime/WidgetRenderer.vue +2 -1
  28. package/dist/custom/runtime/WidgetShell.vue +8 -4
  29. package/dist/custom/skills/adminforth-dashboard/SKILL.md +4 -4
  30. package/dist/custom/widgets/chart/ChartWidget.vue +45 -12
  31. package/dist/custom/widgets/chart/chart.types.d.ts +15 -0
  32. package/dist/custom/widgets/chart/chart.types.js +46 -0
  33. package/dist/custom/widgets/chart/chart.types.ts +83 -0
  34. package/dist/custom/widgets/chart/chart.utils.d.ts +1 -1
  35. package/dist/custom/widgets/chart/chart.utils.js +2 -2
  36. package/dist/custom/widgets/chart/chart.utils.ts +2 -2
  37. package/dist/custom/widgets/gauge-card/GaugeCardWidget.vue +63 -12
  38. package/dist/custom/widgets/kpi-card/KpiCardWidget.vue +6 -8
  39. package/dist/custom/widgets/pivot-table/PivotTableWidget.vue +32 -12
  40. package/dist/custom/widgets/table/TableWidget.vue +155 -30
  41. package/dist/endpoint/widgets.d.ts +6 -1
  42. package/dist/endpoint/widgets.js +41 -6
  43. package/dist/schema/api.d.ts +874 -444
  44. package/dist/schema/api.js +11 -2
  45. package/dist/schema/widget.d.ts +538 -132
  46. package/dist/schema/widget.js +138 -14
  47. package/dist/services/widgetConfigValidator.js +26 -40
  48. package/dist/services/widgetDataService.d.ts +7 -14
  49. package/dist/services/widgetDataService.js +115 -11
  50. package/endpoint/widgets.ts +56 -6
  51. package/package.json +1 -1
  52. package/schema/api.ts +11 -1
  53. package/schema/widget.ts +145 -15
  54. package/services/widgetConfigValidator.ts +36 -44
  55. package/services/widgetDataService.ts +175 -28
@@ -3,6 +3,112 @@ export type DashboardWidgetConfigValidationError = {
3
3
  field: string;
4
4
  message: string;
5
5
  };
6
+ export declare const AggregationOperationZodSchema: z.ZodEnum<{
7
+ sum: "sum";
8
+ count: "count";
9
+ avg: "avg";
10
+ min: "min";
11
+ max: "max";
12
+ median: "median";
13
+ }>;
14
+ export declare const AggregationRuleZodSchema: z.ZodObject<{
15
+ operation: z.ZodEnum<{
16
+ sum: "sum";
17
+ count: "count";
18
+ avg: "avg";
19
+ min: "min";
20
+ max: "max";
21
+ median: "median";
22
+ }>;
23
+ field: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>;
25
+ export declare const GroupByRuleZodSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
26
+ type: z.ZodLiteral<"field">;
27
+ field: z.ZodString;
28
+ }, z.core.$strip>, z.ZodObject<{
29
+ type: z.ZodLiteral<"date_trunc">;
30
+ field: z.ZodString;
31
+ truncation: z.ZodEnum<{
32
+ day: "day";
33
+ week: "week";
34
+ month: "month";
35
+ year: "year";
36
+ }>;
37
+ timezone: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>], "type">;
39
+ export declare const AggregateDataSourceZodSchema: z.ZodObject<{
40
+ type: z.ZodLiteral<"aggregate">;
41
+ resourceId: z.ZodString;
42
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
43
+ operation: z.ZodEnum<{
44
+ sum: "sum";
45
+ count: "count";
46
+ avg: "avg";
47
+ min: "min";
48
+ max: "max";
49
+ median: "median";
50
+ }>;
51
+ field: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>>;
53
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
54
+ type: z.ZodLiteral<"field">;
55
+ field: z.ZodString;
56
+ }, z.core.$strip>, z.ZodObject<{
57
+ type: z.ZodLiteral<"date_trunc">;
58
+ field: z.ZodString;
59
+ truncation: z.ZodEnum<{
60
+ day: "day";
61
+ week: "week";
62
+ month: "month";
63
+ year: "year";
64
+ }>;
65
+ timezone: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>], "type">>;
67
+ filters: z.ZodOptional<z.ZodUnknown>;
68
+ }, z.core.$strict>;
69
+ export declare const ResourceDataSourceZodSchema: z.ZodObject<{
70
+ type: z.ZodLiteral<"resource">;
71
+ resourceId: z.ZodString;
72
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
73
+ filters: z.ZodOptional<z.ZodUnknown>;
74
+ sort: z.ZodOptional<z.ZodUnknown>;
75
+ }, z.core.$strict>;
76
+ export declare const WidgetDataSourceZodSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
77
+ type: z.ZodLiteral<"resource">;
78
+ resourceId: z.ZodString;
79
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
+ filters: z.ZodOptional<z.ZodUnknown>;
81
+ sort: z.ZodOptional<z.ZodUnknown>;
82
+ }, z.core.$strict>, z.ZodObject<{
83
+ type: z.ZodLiteral<"aggregate">;
84
+ resourceId: z.ZodString;
85
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
86
+ operation: z.ZodEnum<{
87
+ sum: "sum";
88
+ count: "count";
89
+ avg: "avg";
90
+ min: "min";
91
+ max: "max";
92
+ median: "median";
93
+ }>;
94
+ field: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>>;
96
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
97
+ type: z.ZodLiteral<"field">;
98
+ field: z.ZodString;
99
+ }, z.core.$strip>, z.ZodObject<{
100
+ type: z.ZodLiteral<"date_trunc">;
101
+ field: z.ZodString;
102
+ truncation: z.ZodEnum<{
103
+ day: "day";
104
+ week: "week";
105
+ month: "month";
106
+ year: "year";
107
+ }>;
108
+ timezone: z.ZodOptional<z.ZodString>;
109
+ }, z.core.$strip>], "type">>;
110
+ filters: z.ZodOptional<z.ZodUnknown>;
111
+ }, z.core.$strict>], "type">;
6
112
  export declare const ChartConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7
113
  title: z.ZodOptional<z.ZodString>;
8
114
  type: z.ZodLiteral<"line">;
@@ -57,18 +163,6 @@ export declare const ChartConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
57
163
  value_field: z.ZodOptional<z.ZodString>;
58
164
  colors: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
165
  }, z.core.$strip>], "type">;
60
- export declare const DashboardWidgetQuerySchema: z.ZodObject<{
61
- resource: z.ZodString;
62
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
- order: z.ZodOptional<z.ZodObject<{
64
- field: z.ZodString;
65
- direction: z.ZodEnum<{
66
- asc: "asc";
67
- desc: "desc";
68
- }>;
69
- }, z.core.$strip>>;
70
- limit: z.ZodOptional<z.ZodNumber>;
71
- }, z.core.$strip>;
72
166
  export declare const EmptyWidgetConfigSchema: z.ZodObject<{
73
167
  id: z.ZodOptional<z.ZodString>;
74
168
  group_id: z.ZodOptional<z.ZodString>;
@@ -85,6 +179,42 @@ export declare const EmptyWidgetConfigSchema: z.ZodObject<{
85
179
  minWidth: z.ZodOptional<z.ZodNumber>;
86
180
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
87
181
  order: z.ZodOptional<z.ZodNumber>;
182
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
183
+ type: z.ZodLiteral<"resource">;
184
+ resourceId: z.ZodString;
185
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
186
+ filters: z.ZodOptional<z.ZodUnknown>;
187
+ sort: z.ZodOptional<z.ZodUnknown>;
188
+ }, z.core.$strict>, z.ZodObject<{
189
+ type: z.ZodLiteral<"aggregate">;
190
+ resourceId: z.ZodString;
191
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
192
+ operation: z.ZodEnum<{
193
+ sum: "sum";
194
+ count: "count";
195
+ avg: "avg";
196
+ min: "min";
197
+ max: "max";
198
+ median: "median";
199
+ }>;
200
+ field: z.ZodOptional<z.ZodString>;
201
+ }, z.core.$strip>>;
202
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
203
+ type: z.ZodLiteral<"field">;
204
+ field: z.ZodString;
205
+ }, z.core.$strip>, z.ZodObject<{
206
+ type: z.ZodLiteral<"date_trunc">;
207
+ field: z.ZodString;
208
+ truncation: z.ZodEnum<{
209
+ day: "day";
210
+ week: "week";
211
+ month: "month";
212
+ year: "year";
213
+ }>;
214
+ timezone: z.ZodOptional<z.ZodString>;
215
+ }, z.core.$strip>], "type">>;
216
+ filters: z.ZodOptional<z.ZodUnknown>;
217
+ }, z.core.$strict>], "type">>;
88
218
  target: z.ZodLiteral<"empty">;
89
219
  }, z.core.$strip>;
90
220
  export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -103,20 +233,44 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
233
  minWidth: z.ZodOptional<z.ZodNumber>;
104
234
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
105
235
  order: z.ZodOptional<z.ZodNumber>;
106
- target: z.ZodLiteral<"table">;
107
- table: z.ZodOptional<z.ZodUnknown>;
108
- query: z.ZodOptional<z.ZodObject<{
109
- resource: z.ZodString;
110
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
111
- order: z.ZodOptional<z.ZodObject<{
112
- field: z.ZodString;
113
- direction: z.ZodEnum<{
114
- asc: "asc";
115
- desc: "desc";
236
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
237
+ type: z.ZodLiteral<"resource">;
238
+ resourceId: z.ZodString;
239
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
240
+ filters: z.ZodOptional<z.ZodUnknown>;
241
+ sort: z.ZodOptional<z.ZodUnknown>;
242
+ }, z.core.$strict>, z.ZodObject<{
243
+ type: z.ZodLiteral<"aggregate">;
244
+ resourceId: z.ZodString;
245
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
246
+ operation: z.ZodEnum<{
247
+ sum: "sum";
248
+ count: "count";
249
+ avg: "avg";
250
+ min: "min";
251
+ max: "max";
252
+ median: "median";
116
253
  }>;
254
+ field: z.ZodOptional<z.ZodString>;
117
255
  }, z.core.$strip>>;
118
- limit: z.ZodOptional<z.ZodNumber>;
119
- }, z.core.$strip>>;
256
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
257
+ type: z.ZodLiteral<"field">;
258
+ field: z.ZodString;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ type: z.ZodLiteral<"date_trunc">;
261
+ field: z.ZodString;
262
+ truncation: z.ZodEnum<{
263
+ day: "day";
264
+ week: "week";
265
+ month: "month";
266
+ year: "year";
267
+ }>;
268
+ timezone: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strip>], "type">>;
270
+ filters: z.ZodOptional<z.ZodUnknown>;
271
+ }, z.core.$strict>], "type">>;
272
+ target: z.ZodLiteral<"table">;
273
+ table: z.ZodOptional<z.ZodUnknown>;
120
274
  }, z.core.$strip>, z.ZodObject<{
121
275
  id: z.ZodOptional<z.ZodString>;
122
276
  group_id: z.ZodOptional<z.ZodString>;
@@ -133,6 +287,42 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
133
287
  minWidth: z.ZodOptional<z.ZodNumber>;
134
288
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
135
289
  order: z.ZodOptional<z.ZodNumber>;
290
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
291
+ type: z.ZodLiteral<"resource">;
292
+ resourceId: z.ZodString;
293
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
294
+ filters: z.ZodOptional<z.ZodUnknown>;
295
+ sort: z.ZodOptional<z.ZodUnknown>;
296
+ }, z.core.$strict>, z.ZodObject<{
297
+ type: z.ZodLiteral<"aggregate">;
298
+ resourceId: z.ZodString;
299
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
300
+ operation: z.ZodEnum<{
301
+ sum: "sum";
302
+ count: "count";
303
+ avg: "avg";
304
+ min: "min";
305
+ max: "max";
306
+ median: "median";
307
+ }>;
308
+ field: z.ZodOptional<z.ZodString>;
309
+ }, z.core.$strip>>;
310
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
311
+ type: z.ZodLiteral<"field">;
312
+ field: z.ZodString;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ type: z.ZodLiteral<"date_trunc">;
315
+ field: z.ZodString;
316
+ truncation: z.ZodEnum<{
317
+ day: "day";
318
+ week: "week";
319
+ month: "month";
320
+ year: "year";
321
+ }>;
322
+ timezone: z.ZodOptional<z.ZodString>;
323
+ }, z.core.$strip>], "type">>;
324
+ filters: z.ZodOptional<z.ZodUnknown>;
325
+ }, z.core.$strict>], "type">>;
136
326
  target: z.ZodLiteral<"chart">;
137
327
  chart: z.ZodDiscriminatedUnion<[z.ZodObject<{
138
328
  title: z.ZodOptional<z.ZodString>;
@@ -188,18 +378,6 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
188
378
  value_field: z.ZodOptional<z.ZodString>;
189
379
  colors: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
380
  }, z.core.$strip>], "type">;
191
- query: z.ZodObject<{
192
- resource: z.ZodString;
193
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
- order: z.ZodOptional<z.ZodObject<{
195
- field: z.ZodString;
196
- direction: z.ZodEnum<{
197
- asc: "asc";
198
- desc: "desc";
199
- }>;
200
- }, z.core.$strip>>;
201
- limit: z.ZodOptional<z.ZodNumber>;
202
- }, z.core.$strip>;
203
381
  }, z.core.$strip>, z.ZodObject<{
204
382
  id: z.ZodOptional<z.ZodString>;
205
383
  group_id: z.ZodOptional<z.ZodString>;
@@ -216,20 +394,44 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
216
394
  minWidth: z.ZodOptional<z.ZodNumber>;
217
395
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
218
396
  order: z.ZodOptional<z.ZodNumber>;
219
- target: z.ZodLiteral<"kpi_card">;
220
- kpi_card: z.ZodOptional<z.ZodUnknown>;
221
- query: z.ZodOptional<z.ZodObject<{
222
- resource: z.ZodString;
223
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
224
- order: z.ZodOptional<z.ZodObject<{
225
- field: z.ZodString;
226
- direction: z.ZodEnum<{
227
- asc: "asc";
228
- desc: "desc";
397
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
398
+ type: z.ZodLiteral<"resource">;
399
+ resourceId: z.ZodString;
400
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
401
+ filters: z.ZodOptional<z.ZodUnknown>;
402
+ sort: z.ZodOptional<z.ZodUnknown>;
403
+ }, z.core.$strict>, z.ZodObject<{
404
+ type: z.ZodLiteral<"aggregate">;
405
+ resourceId: z.ZodString;
406
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
407
+ operation: z.ZodEnum<{
408
+ sum: "sum";
409
+ count: "count";
410
+ avg: "avg";
411
+ min: "min";
412
+ max: "max";
413
+ median: "median";
229
414
  }>;
415
+ field: z.ZodOptional<z.ZodString>;
230
416
  }, z.core.$strip>>;
231
- limit: z.ZodOptional<z.ZodNumber>;
232
- }, z.core.$strip>>;
417
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
418
+ type: z.ZodLiteral<"field">;
419
+ field: z.ZodString;
420
+ }, z.core.$strip>, z.ZodObject<{
421
+ type: z.ZodLiteral<"date_trunc">;
422
+ field: z.ZodString;
423
+ truncation: z.ZodEnum<{
424
+ day: "day";
425
+ week: "week";
426
+ month: "month";
427
+ year: "year";
428
+ }>;
429
+ timezone: z.ZodOptional<z.ZodString>;
430
+ }, z.core.$strip>], "type">>;
431
+ filters: z.ZodOptional<z.ZodUnknown>;
432
+ }, z.core.$strict>], "type">>;
433
+ target: z.ZodLiteral<"kpi_card">;
434
+ kpi_card: z.ZodOptional<z.ZodUnknown>;
233
435
  }, z.core.$strip>, z.ZodObject<{
234
436
  id: z.ZodOptional<z.ZodString>;
235
437
  group_id: z.ZodOptional<z.ZodString>;
@@ -246,20 +448,44 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
246
448
  minWidth: z.ZodOptional<z.ZodNumber>;
247
449
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
248
450
  order: z.ZodOptional<z.ZodNumber>;
249
- target: z.ZodLiteral<"gauge_card">;
250
- gauge_card: z.ZodOptional<z.ZodUnknown>;
251
- query: z.ZodOptional<z.ZodObject<{
252
- resource: z.ZodString;
253
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
254
- order: z.ZodOptional<z.ZodObject<{
255
- field: z.ZodString;
256
- direction: z.ZodEnum<{
257
- asc: "asc";
258
- desc: "desc";
451
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
452
+ type: z.ZodLiteral<"resource">;
453
+ resourceId: z.ZodString;
454
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
455
+ filters: z.ZodOptional<z.ZodUnknown>;
456
+ sort: z.ZodOptional<z.ZodUnknown>;
457
+ }, z.core.$strict>, z.ZodObject<{
458
+ type: z.ZodLiteral<"aggregate">;
459
+ resourceId: z.ZodString;
460
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
461
+ operation: z.ZodEnum<{
462
+ sum: "sum";
463
+ count: "count";
464
+ avg: "avg";
465
+ min: "min";
466
+ max: "max";
467
+ median: "median";
259
468
  }>;
469
+ field: z.ZodOptional<z.ZodString>;
260
470
  }, z.core.$strip>>;
261
- limit: z.ZodOptional<z.ZodNumber>;
262
- }, z.core.$strip>>;
471
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
472
+ type: z.ZodLiteral<"field">;
473
+ field: z.ZodString;
474
+ }, z.core.$strip>, z.ZodObject<{
475
+ type: z.ZodLiteral<"date_trunc">;
476
+ field: z.ZodString;
477
+ truncation: z.ZodEnum<{
478
+ day: "day";
479
+ week: "week";
480
+ month: "month";
481
+ year: "year";
482
+ }>;
483
+ timezone: z.ZodOptional<z.ZodString>;
484
+ }, z.core.$strip>], "type">>;
485
+ filters: z.ZodOptional<z.ZodUnknown>;
486
+ }, z.core.$strict>], "type">>;
487
+ target: z.ZodLiteral<"gauge_card">;
488
+ gauge_card: z.ZodOptional<z.ZodUnknown>;
263
489
  }, z.core.$strip>, z.ZodObject<{
264
490
  id: z.ZodOptional<z.ZodString>;
265
491
  group_id: z.ZodOptional<z.ZodString>;
@@ -276,20 +502,44 @@ export declare const WidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
276
502
  minWidth: z.ZodOptional<z.ZodNumber>;
277
503
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
278
504
  order: z.ZodOptional<z.ZodNumber>;
279
- target: z.ZodLiteral<"pivot_table">;
280
- pivot_table: z.ZodOptional<z.ZodUnknown>;
281
- query: z.ZodOptional<z.ZodObject<{
282
- resource: z.ZodString;
283
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
284
- order: z.ZodOptional<z.ZodObject<{
285
- field: z.ZodString;
286
- direction: z.ZodEnum<{
287
- asc: "asc";
288
- desc: "desc";
505
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
506
+ type: z.ZodLiteral<"resource">;
507
+ resourceId: z.ZodString;
508
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
509
+ filters: z.ZodOptional<z.ZodUnknown>;
510
+ sort: z.ZodOptional<z.ZodUnknown>;
511
+ }, z.core.$strict>, z.ZodObject<{
512
+ type: z.ZodLiteral<"aggregate">;
513
+ resourceId: z.ZodString;
514
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
515
+ operation: z.ZodEnum<{
516
+ sum: "sum";
517
+ count: "count";
518
+ avg: "avg";
519
+ min: "min";
520
+ max: "max";
521
+ median: "median";
289
522
  }>;
523
+ field: z.ZodOptional<z.ZodString>;
290
524
  }, z.core.$strip>>;
291
- limit: z.ZodOptional<z.ZodNumber>;
292
- }, z.core.$strip>>;
525
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
526
+ type: z.ZodLiteral<"field">;
527
+ field: z.ZodString;
528
+ }, z.core.$strip>, z.ZodObject<{
529
+ type: z.ZodLiteral<"date_trunc">;
530
+ field: z.ZodString;
531
+ truncation: z.ZodEnum<{
532
+ day: "day";
533
+ week: "week";
534
+ month: "month";
535
+ year: "year";
536
+ }>;
537
+ timezone: z.ZodOptional<z.ZodString>;
538
+ }, z.core.$strip>], "type">>;
539
+ filters: z.ZodOptional<z.ZodUnknown>;
540
+ }, z.core.$strict>], "type">>;
541
+ target: z.ZodLiteral<"pivot_table">;
542
+ pivot_table: z.ZodOptional<z.ZodUnknown>;
293
543
  }, z.core.$strip>], "target">;
294
544
  export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
295
545
  id: z.ZodOptional<z.ZodString>;
@@ -307,6 +557,42 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
307
557
  minWidth: z.ZodOptional<z.ZodNumber>;
308
558
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
309
559
  order: z.ZodOptional<z.ZodNumber>;
560
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
561
+ type: z.ZodLiteral<"resource">;
562
+ resourceId: z.ZodString;
563
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
564
+ filters: z.ZodOptional<z.ZodUnknown>;
565
+ sort: z.ZodOptional<z.ZodUnknown>;
566
+ }, z.core.$strict>, z.ZodObject<{
567
+ type: z.ZodLiteral<"aggregate">;
568
+ resourceId: z.ZodString;
569
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
570
+ operation: z.ZodEnum<{
571
+ sum: "sum";
572
+ count: "count";
573
+ avg: "avg";
574
+ min: "min";
575
+ max: "max";
576
+ median: "median";
577
+ }>;
578
+ field: z.ZodOptional<z.ZodString>;
579
+ }, z.core.$strip>>;
580
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
581
+ type: z.ZodLiteral<"field">;
582
+ field: z.ZodString;
583
+ }, z.core.$strip>, z.ZodObject<{
584
+ type: z.ZodLiteral<"date_trunc">;
585
+ field: z.ZodString;
586
+ truncation: z.ZodEnum<{
587
+ day: "day";
588
+ week: "week";
589
+ month: "month";
590
+ year: "year";
591
+ }>;
592
+ timezone: z.ZodOptional<z.ZodString>;
593
+ }, z.core.$strip>], "type">>;
594
+ filters: z.ZodOptional<z.ZodUnknown>;
595
+ }, z.core.$strict>], "type">>;
310
596
  target: z.ZodLiteral<"empty">;
311
597
  }, z.core.$strip>, z.ZodObject<{
312
598
  id: z.ZodOptional<z.ZodString>;
@@ -324,20 +610,44 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
324
610
  minWidth: z.ZodOptional<z.ZodNumber>;
325
611
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
326
612
  order: z.ZodOptional<z.ZodNumber>;
327
- target: z.ZodLiteral<"table">;
328
- table: z.ZodOptional<z.ZodUnknown>;
329
- query: z.ZodOptional<z.ZodObject<{
330
- resource: z.ZodString;
331
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
332
- order: z.ZodOptional<z.ZodObject<{
333
- field: z.ZodString;
334
- direction: z.ZodEnum<{
335
- asc: "asc";
336
- desc: "desc";
613
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
614
+ type: z.ZodLiteral<"resource">;
615
+ resourceId: z.ZodString;
616
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
617
+ filters: z.ZodOptional<z.ZodUnknown>;
618
+ sort: z.ZodOptional<z.ZodUnknown>;
619
+ }, z.core.$strict>, z.ZodObject<{
620
+ type: z.ZodLiteral<"aggregate">;
621
+ resourceId: z.ZodString;
622
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
623
+ operation: z.ZodEnum<{
624
+ sum: "sum";
625
+ count: "count";
626
+ avg: "avg";
627
+ min: "min";
628
+ max: "max";
629
+ median: "median";
337
630
  }>;
631
+ field: z.ZodOptional<z.ZodString>;
338
632
  }, z.core.$strip>>;
339
- limit: z.ZodOptional<z.ZodNumber>;
340
- }, z.core.$strip>>;
633
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
634
+ type: z.ZodLiteral<"field">;
635
+ field: z.ZodString;
636
+ }, z.core.$strip>, z.ZodObject<{
637
+ type: z.ZodLiteral<"date_trunc">;
638
+ field: z.ZodString;
639
+ truncation: z.ZodEnum<{
640
+ day: "day";
641
+ week: "week";
642
+ month: "month";
643
+ year: "year";
644
+ }>;
645
+ timezone: z.ZodOptional<z.ZodString>;
646
+ }, z.core.$strip>], "type">>;
647
+ filters: z.ZodOptional<z.ZodUnknown>;
648
+ }, z.core.$strict>], "type">>;
649
+ target: z.ZodLiteral<"table">;
650
+ table: z.ZodOptional<z.ZodUnknown>;
341
651
  }, z.core.$strip>, z.ZodObject<{
342
652
  id: z.ZodOptional<z.ZodString>;
343
653
  group_id: z.ZodOptional<z.ZodString>;
@@ -354,6 +664,42 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
354
664
  minWidth: z.ZodOptional<z.ZodNumber>;
355
665
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
356
666
  order: z.ZodOptional<z.ZodNumber>;
667
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
668
+ type: z.ZodLiteral<"resource">;
669
+ resourceId: z.ZodString;
670
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
671
+ filters: z.ZodOptional<z.ZodUnknown>;
672
+ sort: z.ZodOptional<z.ZodUnknown>;
673
+ }, z.core.$strict>, z.ZodObject<{
674
+ type: z.ZodLiteral<"aggregate">;
675
+ resourceId: z.ZodString;
676
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
677
+ operation: z.ZodEnum<{
678
+ sum: "sum";
679
+ count: "count";
680
+ avg: "avg";
681
+ min: "min";
682
+ max: "max";
683
+ median: "median";
684
+ }>;
685
+ field: z.ZodOptional<z.ZodString>;
686
+ }, z.core.$strip>>;
687
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
688
+ type: z.ZodLiteral<"field">;
689
+ field: z.ZodString;
690
+ }, z.core.$strip>, z.ZodObject<{
691
+ type: z.ZodLiteral<"date_trunc">;
692
+ field: z.ZodString;
693
+ truncation: z.ZodEnum<{
694
+ day: "day";
695
+ week: "week";
696
+ month: "month";
697
+ year: "year";
698
+ }>;
699
+ timezone: z.ZodOptional<z.ZodString>;
700
+ }, z.core.$strip>], "type">>;
701
+ filters: z.ZodOptional<z.ZodUnknown>;
702
+ }, z.core.$strict>], "type">>;
357
703
  target: z.ZodLiteral<"chart">;
358
704
  chart: z.ZodDiscriminatedUnion<[z.ZodObject<{
359
705
  title: z.ZodOptional<z.ZodString>;
@@ -409,18 +755,6 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
409
755
  value_field: z.ZodOptional<z.ZodString>;
410
756
  colors: z.ZodOptional<z.ZodArray<z.ZodString>>;
411
757
  }, z.core.$strip>], "type">;
412
- query: z.ZodObject<{
413
- resource: z.ZodString;
414
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
415
- order: z.ZodOptional<z.ZodObject<{
416
- field: z.ZodString;
417
- direction: z.ZodEnum<{
418
- asc: "asc";
419
- desc: "desc";
420
- }>;
421
- }, z.core.$strip>>;
422
- limit: z.ZodOptional<z.ZodNumber>;
423
- }, z.core.$strip>;
424
758
  }, z.core.$strip>, z.ZodObject<{
425
759
  id: z.ZodOptional<z.ZodString>;
426
760
  group_id: z.ZodOptional<z.ZodString>;
@@ -437,20 +771,44 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
437
771
  minWidth: z.ZodOptional<z.ZodNumber>;
438
772
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
439
773
  order: z.ZodOptional<z.ZodNumber>;
440
- target: z.ZodLiteral<"kpi_card">;
441
- kpi_card: z.ZodOptional<z.ZodUnknown>;
442
- query: z.ZodOptional<z.ZodObject<{
443
- resource: z.ZodString;
444
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
445
- order: z.ZodOptional<z.ZodObject<{
446
- field: z.ZodString;
447
- direction: z.ZodEnum<{
448
- asc: "asc";
449
- desc: "desc";
774
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
775
+ type: z.ZodLiteral<"resource">;
776
+ resourceId: z.ZodString;
777
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
778
+ filters: z.ZodOptional<z.ZodUnknown>;
779
+ sort: z.ZodOptional<z.ZodUnknown>;
780
+ }, z.core.$strict>, z.ZodObject<{
781
+ type: z.ZodLiteral<"aggregate">;
782
+ resourceId: z.ZodString;
783
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
784
+ operation: z.ZodEnum<{
785
+ sum: "sum";
786
+ count: "count";
787
+ avg: "avg";
788
+ min: "min";
789
+ max: "max";
790
+ median: "median";
450
791
  }>;
792
+ field: z.ZodOptional<z.ZodString>;
451
793
  }, z.core.$strip>>;
452
- limit: z.ZodOptional<z.ZodNumber>;
453
- }, z.core.$strip>>;
794
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
795
+ type: z.ZodLiteral<"field">;
796
+ field: z.ZodString;
797
+ }, z.core.$strip>, z.ZodObject<{
798
+ type: z.ZodLiteral<"date_trunc">;
799
+ field: z.ZodString;
800
+ truncation: z.ZodEnum<{
801
+ day: "day";
802
+ week: "week";
803
+ month: "month";
804
+ year: "year";
805
+ }>;
806
+ timezone: z.ZodOptional<z.ZodString>;
807
+ }, z.core.$strip>], "type">>;
808
+ filters: z.ZodOptional<z.ZodUnknown>;
809
+ }, z.core.$strict>], "type">>;
810
+ target: z.ZodLiteral<"kpi_card">;
811
+ kpi_card: z.ZodOptional<z.ZodUnknown>;
454
812
  }, z.core.$strip>, z.ZodObject<{
455
813
  id: z.ZodOptional<z.ZodString>;
456
814
  group_id: z.ZodOptional<z.ZodString>;
@@ -467,20 +825,44 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
467
825
  minWidth: z.ZodOptional<z.ZodNumber>;
468
826
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
469
827
  order: z.ZodOptional<z.ZodNumber>;
470
- target: z.ZodLiteral<"gauge_card">;
471
- gauge_card: z.ZodOptional<z.ZodUnknown>;
472
- query: z.ZodOptional<z.ZodObject<{
473
- resource: z.ZodString;
474
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
475
- order: z.ZodOptional<z.ZodObject<{
476
- field: z.ZodString;
477
- direction: z.ZodEnum<{
478
- asc: "asc";
479
- desc: "desc";
828
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
829
+ type: z.ZodLiteral<"resource">;
830
+ resourceId: z.ZodString;
831
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
832
+ filters: z.ZodOptional<z.ZodUnknown>;
833
+ sort: z.ZodOptional<z.ZodUnknown>;
834
+ }, z.core.$strict>, z.ZodObject<{
835
+ type: z.ZodLiteral<"aggregate">;
836
+ resourceId: z.ZodString;
837
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
838
+ operation: z.ZodEnum<{
839
+ sum: "sum";
840
+ count: "count";
841
+ avg: "avg";
842
+ min: "min";
843
+ max: "max";
844
+ median: "median";
480
845
  }>;
846
+ field: z.ZodOptional<z.ZodString>;
481
847
  }, z.core.$strip>>;
482
- limit: z.ZodOptional<z.ZodNumber>;
483
- }, z.core.$strip>>;
848
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
849
+ type: z.ZodLiteral<"field">;
850
+ field: z.ZodString;
851
+ }, z.core.$strip>, z.ZodObject<{
852
+ type: z.ZodLiteral<"date_trunc">;
853
+ field: z.ZodString;
854
+ truncation: z.ZodEnum<{
855
+ day: "day";
856
+ week: "week";
857
+ month: "month";
858
+ year: "year";
859
+ }>;
860
+ timezone: z.ZodOptional<z.ZodString>;
861
+ }, z.core.$strip>], "type">>;
862
+ filters: z.ZodOptional<z.ZodUnknown>;
863
+ }, z.core.$strict>], "type">>;
864
+ target: z.ZodLiteral<"gauge_card">;
865
+ gauge_card: z.ZodOptional<z.ZodUnknown>;
484
866
  }, z.core.$strip>, z.ZodObject<{
485
867
  id: z.ZodOptional<z.ZodString>;
486
868
  group_id: z.ZodOptional<z.ZodString>;
@@ -497,18 +879,42 @@ export declare const StoredWidgetConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObj
497
879
  minWidth: z.ZodOptional<z.ZodNumber>;
498
880
  maxWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
499
881
  order: z.ZodOptional<z.ZodNumber>;
500
- target: z.ZodLiteral<"pivot_table">;
501
- pivot_table: z.ZodOptional<z.ZodUnknown>;
502
- query: z.ZodOptional<z.ZodObject<{
503
- resource: z.ZodString;
504
- select: z.ZodOptional<z.ZodArray<z.ZodString>>;
505
- order: z.ZodOptional<z.ZodObject<{
506
- field: z.ZodString;
507
- direction: z.ZodEnum<{
508
- asc: "asc";
509
- desc: "desc";
882
+ dataSource: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
883
+ type: z.ZodLiteral<"resource">;
884
+ resourceId: z.ZodString;
885
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
886
+ filters: z.ZodOptional<z.ZodUnknown>;
887
+ sort: z.ZodOptional<z.ZodUnknown>;
888
+ }, z.core.$strict>, z.ZodObject<{
889
+ type: z.ZodLiteral<"aggregate">;
890
+ resourceId: z.ZodString;
891
+ aggregations: z.ZodRecord<z.ZodString, z.ZodObject<{
892
+ operation: z.ZodEnum<{
893
+ sum: "sum";
894
+ count: "count";
895
+ avg: "avg";
896
+ min: "min";
897
+ max: "max";
898
+ median: "median";
510
899
  }>;
900
+ field: z.ZodOptional<z.ZodString>;
511
901
  }, z.core.$strip>>;
512
- limit: z.ZodOptional<z.ZodNumber>;
513
- }, z.core.$strip>>;
902
+ groupBy: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
903
+ type: z.ZodLiteral<"field">;
904
+ field: z.ZodString;
905
+ }, z.core.$strip>, z.ZodObject<{
906
+ type: z.ZodLiteral<"date_trunc">;
907
+ field: z.ZodString;
908
+ truncation: z.ZodEnum<{
909
+ day: "day";
910
+ week: "week";
911
+ month: "month";
912
+ year: "year";
913
+ }>;
914
+ timezone: z.ZodOptional<z.ZodString>;
915
+ }, z.core.$strip>], "type">>;
916
+ filters: z.ZodOptional<z.ZodUnknown>;
917
+ }, z.core.$strict>], "type">>;
918
+ target: z.ZodLiteral<"pivot_table">;
919
+ pivot_table: z.ZodOptional<z.ZodUnknown>;
514
920
  }, z.core.$strip>], "target">;