@meshmakers/octo-meshboard 3.4.320 → 3.4.340

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-meshboard",
3
- "version": "3.4.320",
3
+ "version": "3.4.340",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^22.0.0",
6
6
  "@angular/core": "^22.0.0",
@@ -291,8 +291,9 @@ interface PersistentQueryDataSource extends WidgetDataSource {
291
291
  * Resolution-aware routing (AB#4290): when `true`, a stream-data chart resolves the
292
292
  * best archive/rollup for the visible time window + target point count via
293
293
  * `QueryExecutorService.resolveSeriesQuery` before querying, instead of always hitting
294
- * the persisted archive. Requires `sourcePath` + the series' aggregation to be known.
295
- * Ignored for runtime queries. Default (absent/`false`) keeps the direct query.
294
+ * the persisted archive. The chart's value field doubles as the series' source path, and
295
+ * `requiredAggregation` supplies the reducer. Ignored for runtime queries. Default
296
+ * (absent/`false`) keeps the direct query.
296
297
  */
297
298
  resolutionAware?: boolean;
298
299
  /**
@@ -300,7 +301,19 @@ interface PersistentQueryDataSource extends WidgetDataSource {
300
301
  * query to narrow the series (e.g. `1.8.0` active-energy import). Stream-data only.
301
302
  */
302
303
  obisFilter?: string;
304
+ /**
305
+ * Resolution-aware routing (AB#4290): the aggregation the series must be reduced with
306
+ * (`SUM` for additive energy, `MAX` for demand, …). Required when `resolutionAware` is on —
307
+ * the resolver never guesses it. Matched against a rollup's stored aggregation function; it is
308
+ * also the reducer applied by the downsampling query. Stream-data only.
309
+ */
310
+ requiredAggregation?: SeriesAggregationFunction;
303
311
  }
312
+ /**
313
+ * The canonical aggregation functions a resolution-aware series can be reduced with
314
+ * (AB#4290). Values match the backend `CkRollupFunction` / `AggregationType` GraphQL enums.
315
+ */
316
+ type SeriesAggregationFunction = 'AVG' | 'MIN' | 'MAX' | 'SUM' | 'COUNT';
304
317
  /**
305
318
  * Aggregation types supported
306
319
  */
@@ -484,6 +497,16 @@ interface KpiWidgetConfig extends WidgetConfig {
484
497
  staticValue?: string;
485
498
  /** Comparison text displayed below the value in trend color (e.g., '+3,1% vs. Vorwoche'). Supports ${variables}. */
486
499
  comparisonText?: string;
500
+ /**
501
+ * Scale factor applied to a NUMERIC query value before display (non-numeric
502
+ * values pass through unchanged). Use case: cumulated energy from uniformly
503
+ * sampled power — a stream-data SUM aggregation over kW samples taken every
504
+ * 10 s becomes kWh with `valueMultiplier: 10/3600 ≈ 0.0027778` (the factor is
505
+ * window-independent because SUM is linear, so the KPI stays correct for any
506
+ * dashboard time-filter range). Negate to display signed magnitudes (e.g.
507
+ * battery discharge from a `< 0`-filtered SUM).
508
+ */
509
+ valueMultiplier?: number;
487
510
  }
488
511
  /**
489
512
  * Sorting configuration for table widget (JSON-compatible)
@@ -708,6 +731,11 @@ interface LineChartWidgetConfig extends WidgetConfig {
708
731
  legendPosition?: 'top' | 'bottom' | 'left' | 'right';
709
732
  /** Show data point markers on lines */
710
733
  showMarkers?: boolean;
734
+ /**
735
+ * Show the top-right data-count badge (`rows · pts`). Default `true`. When `false` the badge is
736
+ * hidden — except when a resolution-aware warning is present, which always shows.
737
+ */
738
+ showDataBadge?: boolean;
711
739
  /** Field filters for data source */
712
740
  filters?: WidgetFilterConfig[];
713
741
  /** Title for the value axis (e.g. 'kW') */
@@ -1128,12 +1156,18 @@ type RelativeTimeUnit = 'hours' | 'days' | 'weeks' | 'months';
1128
1156
  * local calendar year and datetime cells render in local wall-clock time.
1129
1157
  * - `'utc'`: UTC. "Year 2026" spans the UTC calendar year and datetime cells
1130
1158
  * render in UTC.
1159
+ * - any **IANA time-zone id** (e.g. `'Europe/Vienna'`): "Year 2026" spans that
1160
+ * zone's civil year (DST-correct, independent of the browser) and datetime
1161
+ * cells render in that zone. This zone is also forwarded to the resolution-
1162
+ * aware series query so calendar rollups are selected in it (AB#4190).
1131
1163
  *
1132
1164
  * Keeping filter and display on the same basis avoids the boundary artifact
1133
1165
  * where a local-year filter selects rows whose UTC timestamps fall in the
1134
- * neighbouring calendar year. Mirrors shared-ui's `TimeRangeZone`.
1166
+ * neighbouring calendar year. Mirrors shared-ui's `TimeRangeZone`. The
1167
+ * `(string & {})` member keeps the literals in autocomplete while accepting
1168
+ * an arbitrary IANA id.
1135
1169
  */
1136
- type MeshBoardTimeZoneMode = 'local' | 'utc';
1170
+ type MeshBoardTimeZoneMode = 'local' | 'utc' | (string & {});
1137
1171
  /** The board-level default timezone mode applied when none is persisted. */
1138
1172
  declare const DEFAULT_TIME_ZONE_MODE: MeshBoardTimeZoneMode;
1139
1173
  /**
@@ -1980,6 +2014,15 @@ declare class MeshBoardStateService {
1980
2014
  from: Date;
1981
2015
  to: Date;
1982
2016
  } | undefined;
2017
+ /**
2018
+ * The IANA time zone to forward to the resolution-aware series query so calendar
2019
+ * rollups are selected in the board's zone (AB#4190). Maps the board mode:
2020
+ * `'utc'` → `'UTC'`, an IANA id → itself, and `'local'` → `undefined` (the browser's
2021
+ * own zone has no server-side meaning, so the resolver stays on UTC — the same
2022
+ * basis its calendar rungs use by default). The result is consistent with the zone
2023
+ * `resolveCurrentTimeRange()` used to compute the `{from, to}` window.
2024
+ */
2025
+ resolveStreamDataTimeZone(): string | undefined;
1983
2026
  /**
1984
2027
  * Stores the source rtIds resolved from an entity selector's current
1985
2028
  * selection. Called by the view component after a selection resolves (the
@@ -2713,6 +2756,9 @@ declare class QueryExecutorService {
2713
2756
  private readonly streamDataGql;
2714
2757
  private readonly persistentQueriesGql;
2715
2758
  private readonly resolveSeriesGql;
2759
+ private readonly queryArchiveGql;
2760
+ private readonly downsampleGql;
2761
+ private readonly entitiesGql;
2716
2762
  /**
2717
2763
  * Cache of resolved query families, keyed by query rtId. Filled lazily for
2718
2764
  * legacy widget configs that pre-date the `queryFamily` field — saves a
@@ -2736,6 +2782,42 @@ declare class QueryExecutorService {
2736
2782
  * returned `archiveRtId` with `limit = points`. Returns null when StreamData is not enabled.
2737
2783
  */
2738
2784
  resolveSeriesQuery(input: ResolveSeriesQueryInputDto): Promise<SeriesResolutionResult | null>;
2785
+ /**
2786
+ * Resolution-aware routing (AB#4290): reads a persisted stream-data query's base archive rtId
2787
+ * and target CK type WITHOUT executing the query (the `rows` sub-connection is not selected), so
2788
+ * a widget can feed the archive to {@link resolveSeriesQuery} and use the CK type to resolve
2789
+ * per-series labels. Returns null when the query is missing or has no archive.
2790
+ */
2791
+ fetchQueryArchive(queryRtId: string): Promise<{
2792
+ archiveRtId: string;
2793
+ ckTypeId: string | null;
2794
+ } | null>;
2795
+ /**
2796
+ * Resolution-aware routing (AB#4290): runs the AB#4233 downsampling query against an explicit
2797
+ * archive rtId (the rollup/base chosen by {@link resolveSeriesQuery}), reducing `sourcePath`
2798
+ * with `aggregation` to at most `limit` buckets. The transient downsampling groups by bin
2799
+ * (not by source rtId), so callers that need per-series lines scope `rtIds` to one source
2800
+ * entity per call. Returns the unified rows; each row's single value cell carries the reduced
2801
+ * value under its wire column name (e.g. `amountvalue_sum`) alongside the bin `timestamp`.
2802
+ */
2803
+ downsampleByArchive(params: {
2804
+ archiveRtId: string;
2805
+ from: Date;
2806
+ to: Date;
2807
+ limit: number;
2808
+ sourcePath: string;
2809
+ aggregation: string;
2810
+ rtIds?: string[] | null;
2811
+ fieldFilter?: FieldFilterDto[] | null;
2812
+ }): Promise<QueryResultRow[]>;
2813
+ /**
2814
+ * Best-effort per-series labels for resolution-aware fan-out (AB#4290): reads each source
2815
+ * entity's attribute matching `labelField` (canonical, case/underscore-insensitive so an archive
2816
+ * column like `obis_code` maps to the CK attribute `obisCode`). Entities that fail to load or
2817
+ * lack the attribute are simply omitted; the caller falls back to the rtId. Returns a
2818
+ * `rtId → label` map.
2819
+ */
2820
+ fetchSeriesLabels(ckTypeId: string, rtIds: string[], labelField: string): Promise<Map<string, string>>;
2739
2821
  private buildStreamDataArg;
2740
2822
  private mapColumns;
2741
2823
  private mapRuntimeRows;
@@ -4218,6 +4300,10 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
4218
4300
  private readonly _error;
4219
4301
  private readonly _seriesUnitMap;
4220
4302
  private readonly _dataInfo;
4303
+ private readonly _resolutionSignal;
4304
+ private readonly _resolutionTarget;
4305
+ private readonly _showResolutionInfo;
4306
+ readonly showResolutionInfo: _angular_core.Signal<boolean>;
4221
4307
  readonly isLoading: _angular_core.Signal<boolean>;
4222
4308
  readonly categories: _angular_core.Signal<string[]>;
4223
4309
  readonly seriesData: _angular_core.Signal<LineSeriesData[]>;
@@ -4228,6 +4314,29 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
4228
4314
  points: number;
4229
4315
  total: number;
4230
4316
  } | null>;
4317
+ /**
4318
+ * Resolution-aware hint (AB#4290): a short badge describing the archive-selection outcome —
4319
+ * `null` for a clean reduction (signal OK), a warning otherwise (fewer points delivered, or no
4320
+ * compatible rollup so the raw archive was returned unreduced). Mirrors the resolver's signal.
4321
+ */
4322
+ readonly resolutionHint: _angular_core.Signal<{
4323
+ text: string;
4324
+ title: string;
4325
+ } | null>;
4326
+ /**
4327
+ * Plain-language explanation shown when the user clicks the resolution warning — spells out why
4328
+ * fewer points were delivered and what to do about it, instead of the terse backend diagnostic.
4329
+ */
4330
+ readonly resolutionExplanation: _angular_core.Signal<string | null>;
4331
+ /** Toggles the click-through explanation panel for the resolution warning. */
4332
+ toggleResolutionInfo(event?: Event): void;
4333
+ /** Closes the resolution explanation panel (e.g. its close button). */
4334
+ closeResolutionInfo(event?: Event): void;
4335
+ /**
4336
+ * Tooltip for the data-count badge: explains what `rows`/`pts` mean, and — when a resolution
4337
+ * warning is present — prefixes the diagnostic and prompts the click-through explanation.
4338
+ */
4339
+ badgeTitle(total: number): string;
4231
4340
  readonly data: _angular_core.Signal<LineSeriesData[]>;
4232
4341
  readonly plotBands: _angular_core.Signal<{
4233
4342
  from: number;
@@ -4277,6 +4386,21 @@ declare class LineChartWidgetComponent implements DashboardWidget<LineChartWidge
4277
4386
  * series; it is excluded from the shared tooltip so only the actual value lines are listed. */
4278
4387
  isBandSeries(seriesName: string): boolean;
4279
4388
  private loadData;
4389
+ /**
4390
+ * Resolution-aware routing (AB#4290): resolve the best archive/rollup for the window + target
4391
+ * point count, then downsample each source series against it. The transient downsampling groups
4392
+ * by bin (merging source rtIds), so this fans out one call per source rtId to keep each register
4393
+ * a separate line; each series' bins are reshaped onto the widget's configured value/series
4394
+ * fields so the shared {@link processData} pipeline renders them unchanged.
4395
+ */
4396
+ private loadResolutionAware;
4397
+ /**
4398
+ * Reshapes one downsampling bin onto the widget's configured value + series-group fields so the
4399
+ * shared {@link processData} path plots it. The transient row carries the reduced value under a
4400
+ * wire column name (e.g. `amountvalue_sum`) plus the bin `timestamp`; the value is re-emitted
4401
+ * under `valueField` and the series label under `seriesGroupField`.
4402
+ */
4403
+ private reshapeResolutionRow;
4280
4404
  private buildStreamDataArgs;
4281
4405
  /**
4282
4406
  * Bucket count for backend downsampling, sized to the rendered width (~1 bucket / 2 px),
@@ -4316,6 +4440,10 @@ interface LineChartConfigResult extends WidgetConfigResult {
4316
4440
  ignoreTimeFilter?: boolean;
4317
4441
  /** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
4318
4442
  entitySelectorId?: string;
4443
+ /** Resolution-aware routing (AB#4290): auto-select the best archive/rollup before querying. */
4444
+ resolutionAware?: boolean;
4445
+ /** Aggregation the series is reduced with (required when resolutionAware). */
4446
+ requiredAggregation?: SeriesAggregationFunction;
4319
4447
  chartType: LineChartType;
4320
4448
  categoryField: string;
4321
4449
  seriesGroupField: string;
@@ -4324,6 +4452,7 @@ interface LineChartConfigResult extends WidgetConfigResult {
4324
4452
  showLegend: boolean;
4325
4453
  legendPosition: 'top' | 'bottom' | 'left' | 'right';
4326
4454
  showMarkers: boolean;
4455
+ showDataBadge: boolean;
4327
4456
  filters?: FieldFilterDto[];
4328
4457
  referenceLines?: ChartReferenceLine[];
4329
4458
  }
@@ -4342,6 +4471,8 @@ declare class LineChartConfigDialogComponent implements OnInit {
4342
4471
  initialQueryFamily?: QueryFamily;
4343
4472
  initialIgnoreTimeFilter?: boolean;
4344
4473
  initialEntitySelectorId?: string;
4474
+ initialResolutionAware?: boolean;
4475
+ initialRequiredAggregation?: SeriesAggregationFunction;
4345
4476
  initialChartType?: LineChartType;
4346
4477
  initialCategoryField?: string;
4347
4478
  initialSeriesGroupField?: string;
@@ -4350,6 +4481,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
4350
4481
  initialShowLegend?: boolean;
4351
4482
  initialLegendPosition?: 'top' | 'bottom' | 'left' | 'right';
4352
4483
  initialShowMarkers?: boolean;
4484
+ initialShowDataBadge?: boolean;
4353
4485
  initialReferenceLines?: ChartReferenceLine[];
4354
4486
  initialFilters?: WidgetFilterConfig[];
4355
4487
  isLoadingInitial: boolean;
@@ -4362,6 +4494,15 @@ declare class LineChartConfigDialogComponent implements OnInit {
4362
4494
  ignoreTimeFilter: boolean;
4363
4495
  /** Asset-scope binding: id of the entity selector whose selection scopes the stream-data query. */
4364
4496
  entitySelectorId?: string;
4497
+ /** Resolution-aware routing (AB#4290): auto-select the best archive/rollup before querying. */
4498
+ resolutionAware: boolean;
4499
+ /** Aggregation the series is reduced with (required when resolutionAware). */
4500
+ requiredAggregation: SeriesAggregationFunction;
4501
+ /** Aggregation options for the resolution-aware reducer dropdown. */
4502
+ readonly aggregationOptions: {
4503
+ value: SeriesAggregationFunction;
4504
+ label: string;
4505
+ }[];
4365
4506
  /** Entity selectors available on the current MeshBoard (for the scope picker). */
4366
4507
  get availableEntitySelectors(): EntitySelectorConfig[];
4367
4508
  /** Family of the currently selected query — gates the time-filter opt-out toggle. */
@@ -4381,6 +4522,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
4381
4522
  showLegend: boolean;
4382
4523
  legendPosition: "top" | "bottom" | "left" | "right";
4383
4524
  showMarkers: boolean;
4525
+ showDataBadge: boolean;
4384
4526
  referenceLines: ChartReferenceLine[];
4385
4527
  };
4386
4528
  get isValid(): boolean;
@@ -4399,7 +4541,7 @@ declare class LineChartConfigDialogComponent implements OnInit {
4399
4541
  removeReferenceLine(index: number): void;
4400
4542
  onCancel(): void;
4401
4543
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartConfigDialogComponent, never>;
4402
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartConfigDialogComponent, "mm-line-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialEntitySelectorId": { "alias": "initialEntitySelectorId"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialUnitField": { "alias": "initialUnitField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowMarkers": { "alias": "initialShowMarkers"; "required": false; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
4544
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartConfigDialogComponent, "mm-line-chart-config-dialog", never, { "initialQueryRtId": { "alias": "initialQueryRtId"; "required": false; }; "initialQueryName": { "alias": "initialQueryName"; "required": false; }; "initialQueryFamily": { "alias": "initialQueryFamily"; "required": false; }; "initialIgnoreTimeFilter": { "alias": "initialIgnoreTimeFilter"; "required": false; }; "initialEntitySelectorId": { "alias": "initialEntitySelectorId"; "required": false; }; "initialResolutionAware": { "alias": "initialResolutionAware"; "required": false; }; "initialRequiredAggregation": { "alias": "initialRequiredAggregation"; "required": false; }; "initialChartType": { "alias": "initialChartType"; "required": false; }; "initialCategoryField": { "alias": "initialCategoryField"; "required": false; }; "initialSeriesGroupField": { "alias": "initialSeriesGroupField"; "required": false; }; "initialValueField": { "alias": "initialValueField"; "required": false; }; "initialUnitField": { "alias": "initialUnitField"; "required": false; }; "initialShowLegend": { "alias": "initialShowLegend"; "required": false; }; "initialLegendPosition": { "alias": "initialLegendPosition"; "required": false; }; "initialShowMarkers": { "alias": "initialShowMarkers"; "required": false; }; "initialShowDataBadge": { "alias": "initialShowDataBadge"; "required": false; }; "initialReferenceLines": { "alias": "initialReferenceLines"; "required": false; }; "initialFilters": { "alias": "initialFilters"; "required": false; }; }, {}, never, never, true, never>;
4403
4545
  }
4404
4546
 
4405
4547
  /**
@@ -6152,6 +6294,19 @@ declare class MeshBoardSettingsDialogComponent {
6152
6294
  * widgets. Defaults to `'local'` (browser timezone).
6153
6295
  */
6154
6296
  timeZoneMode: MeshBoardTimeZoneMode;
6297
+ /**
6298
+ * Curated IANA zones offered in the "Specific time zone" picker (AB#4190). Not exhaustive —
6299
+ * a board can hold any IANA id; this is the convenient shortlist shown in the settings UI.
6300
+ */
6301
+ readonly commonTimeZones: string[];
6302
+ /** The IANA id bound to the picker; only applied to {@link timeZoneMode} while "Specific time zone" is selected. */
6303
+ zoneSelection: string;
6304
+ /** True when the board zone is an explicit IANA id (i.e. neither `'local'` nor `'utc'`). */
6305
+ get isSpecificZone(): boolean;
6306
+ /** Selects the "Specific time zone" option, applying the currently-picked IANA id. */
6307
+ selectSpecificZone(): void;
6308
+ /** Handles a change in the IANA dropdown; keeps {@link timeZoneMode} in sync while that option is active. */
6309
+ onZoneSelectionChange(zone: string): void;
6155
6310
  /** Static and time filter variable names for duplicate detection in entity selector editor */
6156
6311
  get staticVariableNames(): string[];
6157
6312
  get isValid(): boolean;
@@ -6367,4 +6522,4 @@ declare class MeshBoardManagerDialogComponent implements OnInit {
6367
6522
  }
6368
6523
 
6369
6524
  export { AddWidgetDialogComponent, AiInsightsConfigDialogComponent, AiInsightsService, AiInsightsWidgetComponent, AlertBannerConfigDialogComponent, AlertBannerWidgetComponent, AlertListConfigDialogComponent, AlertListWidgetComponent, AssociationsConfigDialogComponent, AutoRefreshTimerService, BarChartConfigDialogComponent, BarChartWidgetComponent, DEFAULT_TIME_ZONE_MODE, DashboardDataService, DashboardGridService, EditModeStateService, EditWidgetDialogComponent, EntityAssociationsWidgetComponent, EntityCardConfigDialogComponent, EntityCardWidgetComponent, EntityDetailDialogComponent, EntitySelectorEditorComponent, EntitySelectorToolbarComponent, GaugeConfigDialogComponent, GaugeWidgetComponent, HeatmapConfigDialogComponent, HeatmapWidgetComponent, KpiConfigDialogComponent, KpiWidgetComponent, LineChartConfigDialogComponent, LineChartWidgetComponent, MESHBOARD_OPTIONS, MESHBOARD_TENANT_ID_PROVIDER, MarkdownConfigDialogComponent, MarkdownWidgetComponent, MeshBoardDataService, MeshBoardGridService, MeshBoardManagerDialogComponent, MeshBoardPersistenceService, MeshBoardSettingsDialogComponent, MeshBoardSettingsResult, MeshBoardStateService, MeshBoardViewComponent, PieChartConfigDialogComponent, PieChartWidgetComponent, QueryExecutorService, QuerySelectorComponent, RuntimeEntitySelectorComponent, ServiceHealthConfigDialogComponent, ServiceHealthWidgetComponent, StatsGridConfigDialogComponent, StatsGridWidgetComponent, StatusIndicatorConfigDialogComponent, StatusIndicatorWidgetComponent, StatusListConfigDialogComponent, StatusListWidgetComponent, SummaryCardConfigDialogComponent, SummaryCardWidgetComponent, TableConfigDialogComponent, TableWidgetComponent, TableWidgetDataSourceDirective, WidgetFactoryService, WidgetGroupComponent, WidgetGroupConfigDialogComponent, WidgetNotConfiguredComponent, WidgetRegistryService, classifyQuery, provideDefaultWidgets, provideMeshBoard, provideProcessWidget, provideWidgetRegistrations, queryFamily, registerDefaultWidgets, registerProcessWidget };
6370
- export type { AggregationDataSource, AggregationQuery, AggregationType, AiInsightsConfigResult, AiInsightsWidgetConfig, AlertBannerConfigResult, AlertBannerWidgetConfig, AlertListConfigResult, AlertListWidgetConfig, AnyWidgetConfig, AssociationsConfigResult, BarChartColorThreshold, BarChartConfigResult, BarChartSeries, BarChartType, BarChartWidgetConfig, BaseWidgetConfig, CategoryValueItem, ChartReferenceLine, CkQueryResult, CkQueryTarget, CkTypeAttributeInfo, ConfigDialogResult, ConfigResultApplier, ConstructionKitQueryDataSource, DashboardConfig, DashboardWidget, DataSource, DataSourceType, DiagramPropertyMapping, EntityAssociation, EntityAttribute, EntityCardConfigResult, EntityCardWidgetConfig, EntityListWidget, EntitySelectorAttributeMapping, EntitySelectorChildScope, EntitySelectorClearEvent, EntitySelectorConfig, EntitySelectorEvent, EntityWidget, EntityWithAssociationsWidgetConfig, GaugeConfigResult, GaugeRange, GaugeType, GaugeWidgetConfig, GridCell, GridPosition, GroupChildWidgetType, GroupedDataItem, HeatmapAggregation, HeatmapColorMode, HeatmapColorScheme, HeatmapConfigResult, HeatmapWidgetConfig, KpiConfigResult, KpiDataSourceType, KpiQueryMode, KpiWidgetConfig, LineChartConfigResult, LineChartType, LineChartWidgetConfig, MarkdownConfigResult, MarkdownTextAlign, MarkdownWidgetConfig, MeshBoardConfig, MeshBoardOptions, MeshBoardTimeFilterConfig, MeshBoardTimeZoneMode, MeshBoardVariable, MeshBoardVariableSource, MeshBoardVariableType, ParentAssociationMode, PersistedDashboard, PersistedMeshBoard, PersistedWidget, PersistedWidgetData, PersistentQueryCellMode, PersistentQueryCellSource, PersistentQueryDataSource, PersistentQueryItem, PieChartConfigResult, PieChartType, PieChartWidgetConfig, ProcessWidgetConfig, Quarter, QueryCell, QueryClassification, QueryColumn, QueryColumnInfo, QueryColumnItem, QueryExecutionOptions, QueryExecutionResult, QueryFamily, QueryKind, QueryResultRow, RelativeTimeUnit, RepeaterDataItem, RepeaterQueryDataSource, RuntimeEntityData, RuntimeEntityDataSource, RuntimeEntitySelectorValue, SeriesResolutionResult, ServiceCallDataSource, ServiceCallType, ServiceHealthConfigResult, ServiceHealthWidgetConfig, StatColor, StatItem, StaticDataSource, StatsGridConfigResult, StatsGridWidgetConfig, StatusIndicatorConfigResult, StatusIndicatorWidgetConfig, StatusListConfigResult, StatusListWidgetConfig, StreamDataExecutionArgs, SummaryCardConfigResult, SummaryCardTile, SummaryCardWidgetConfig, TableColumn, TableColumnStatusIconMapping, TableConfigResult, TableFilterConfig, TableSortConfig, TableWidgetConfig, TargetEntityWithAttributes, TimeRangePickerConfig, TimeRangeSelection, TimeRangeType, UpdateDashboardResult, VariableResolutionError, WidgetConfig, WidgetConfigDialog, WidgetConfigDialogSize, WidgetConfigResult, WidgetCreationOptions, WidgetDataSource, WidgetFilterConfig, WidgetGroupAttributeMappings, WidgetGroupChildTemplate, WidgetGroupConfig, WidgetGroupConfigResult, WidgetGroupLayout, WidgetPersistenceData, WidgetPositionUpdate, WidgetRegistration, WidgetType, WidgetZone };
6525
+ export type { AggregationDataSource, AggregationQuery, AggregationType, AiInsightsConfigResult, AiInsightsWidgetConfig, AlertBannerConfigResult, AlertBannerWidgetConfig, AlertListConfigResult, AlertListWidgetConfig, AnyWidgetConfig, AssociationsConfigResult, BarChartColorThreshold, BarChartConfigResult, BarChartSeries, BarChartType, BarChartWidgetConfig, BaseWidgetConfig, CategoryValueItem, ChartReferenceLine, CkQueryResult, CkQueryTarget, CkTypeAttributeInfo, ConfigDialogResult, ConfigResultApplier, ConstructionKitQueryDataSource, DashboardConfig, DashboardWidget, DataSource, DataSourceType, DiagramPropertyMapping, EntityAssociation, EntityAttribute, EntityCardConfigResult, EntityCardWidgetConfig, EntityListWidget, EntitySelectorAttributeMapping, EntitySelectorChildScope, EntitySelectorClearEvent, EntitySelectorConfig, EntitySelectorEvent, EntityWidget, EntityWithAssociationsWidgetConfig, GaugeConfigResult, GaugeRange, GaugeType, GaugeWidgetConfig, GridCell, GridPosition, GroupChildWidgetType, GroupedDataItem, HeatmapAggregation, HeatmapColorMode, HeatmapColorScheme, HeatmapConfigResult, HeatmapWidgetConfig, KpiConfigResult, KpiDataSourceType, KpiQueryMode, KpiWidgetConfig, LineChartConfigResult, LineChartType, LineChartWidgetConfig, MarkdownConfigResult, MarkdownTextAlign, MarkdownWidgetConfig, MeshBoardConfig, MeshBoardOptions, MeshBoardTimeFilterConfig, MeshBoardTimeZoneMode, MeshBoardVariable, MeshBoardVariableSource, MeshBoardVariableType, ParentAssociationMode, PersistedDashboard, PersistedMeshBoard, PersistedWidget, PersistedWidgetData, PersistentQueryCellMode, PersistentQueryCellSource, PersistentQueryDataSource, PersistentQueryItem, PieChartConfigResult, PieChartType, PieChartWidgetConfig, ProcessWidgetConfig, Quarter, QueryCell, QueryClassification, QueryColumn, QueryColumnInfo, QueryColumnItem, QueryExecutionOptions, QueryExecutionResult, QueryFamily, QueryKind, QueryResultRow, RelativeTimeUnit, RepeaterDataItem, RepeaterQueryDataSource, RuntimeEntityData, RuntimeEntityDataSource, RuntimeEntitySelectorValue, SeriesAggregationFunction, SeriesResolutionResult, ServiceCallDataSource, ServiceCallType, ServiceHealthConfigResult, ServiceHealthWidgetConfig, StatColor, StatItem, StaticDataSource, StatsGridConfigResult, StatsGridWidgetConfig, StatusIndicatorConfigResult, StatusIndicatorWidgetConfig, StatusListConfigResult, StatusListWidgetConfig, StreamDataExecutionArgs, SummaryCardConfigResult, SummaryCardTile, SummaryCardWidgetConfig, TableColumn, TableColumnStatusIconMapping, TableConfigResult, TableFilterConfig, TableSortConfig, TableWidgetConfig, TargetEntityWithAttributes, TimeRangePickerConfig, TimeRangeSelection, TimeRangeType, UpdateDashboardResult, VariableResolutionError, WidgetConfig, WidgetConfigDialog, WidgetConfigDialogSize, WidgetConfigResult, WidgetCreationOptions, WidgetDataSource, WidgetFilterConfig, WidgetGroupAttributeMappings, WidgetGroupChildTemplate, WidgetGroupConfig, WidgetGroupConfigResult, WidgetGroupLayout, WidgetPersistenceData, WidgetPositionUpdate, WidgetRegistration, WidgetType, WidgetZone };