@texturehq/edges 5.7.0 → 5.9.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.
@@ -2804,7 +2804,7 @@ type EntityCategory = "platform" | "grid" | "device";
2804
2804
  * - `grid-line` — lines & structures (overhead/underground spans, support structures).
2805
2805
  *
2806
2806
  * Matches the design's coverage matrix (DESIGN-REFERENCE.md §2). Every entry in
2807
- * `ENTITY_CONFIG` carries an archetype, even the 12 that have no detail page —
2807
+ * `ENTITY_CONFIG` carries an archetype, even the 13 that have no detail page —
2808
2808
  * the archetype is the composition it *would* use; `detailPage` gates whether a
2809
2809
  * page is actually reachable.
2810
2810
  */
@@ -2977,13 +2977,13 @@ interface EntityConfig {
2977
2977
  closed: EntityStateVariant;
2978
2978
  };
2979
2979
  /**
2980
- * The base page composition this entity renders with. Required on all 42
2980
+ * The base page composition this entity renders with. Required on all 43
2981
2981
  * entries — the archetype is the composition an entity *would* use even when
2982
2982
  * `detailPage` is false.
2983
2983
  */
2984
2984
  archetype: EntityArchetype;
2985
2985
  /**
2986
- * Whether this entity has a reachable detail page. 30 of 42 are `true`; the
2986
+ * Whether this entity has a reachable detail page. 30 of 43 are `true`; the
2987
2987
  * registry is the single answer to "does this entity have a page?".
2988
2988
  */
2989
2989
  detailPage: boolean;
@@ -3014,8 +3014,13 @@ interface EntityConfig {
3014
3014
  fusedMetricId?: string;
3015
3015
  /**
3016
3016
  * State rules for `entity.now`'s status chips. `primaryState` drives the
3017
- * pulsing primary chip; `secondaryState` (battery/inverter: charge + grid)
3018
- * renders a second chip with no pulse.
3017
+ * pulsing primary chip; `secondaryState` renders a second chip with no pulse.
3018
+ *
3019
+ * Only `battery` declares a `secondaryState` today (charge + grid). This
3020
+ * docstring used to say "battery/inverter" — `inverter` has never had one, and
3021
+ * the fix is this comment, not the code: adding a `secondaryState` to inverter
3022
+ * would put a new chip on a live page, which is a product change wearing a
3023
+ * typo's clothes.
3019
3024
  */
3020
3025
  stateRules?: {
3021
3026
  primaryState: EntityStateRule;
@@ -3133,6 +3138,25 @@ declare const UNVERIFIED_VOLTAGE_UNIT_ROWS: readonly ["MOTOR.voltage"];
3133
3138
  * `grid-element-config/src/configs/*.config.ts` `metadataFields`. Serializable:
3134
3139
  * no `showWhen`, no functions. Referenced by grid entities' `properties.statList`.
3135
3140
  */
3141
+ /**
3142
+ * MR-P01-8 -- the capacitor kvar rows, in the two shapes VEC records them (ALL-2565).
3143
+ *
3144
+ * A polyphase bank's rating is recorded per phase; a single-phase unit's as one total. Prod
3145
+ * 2026-08-24: `total_kvar` 76.3%, `kvar_a/b/c` 56.1 / 54.4 / 57.9% -- some capacitors carry one,
3146
+ * some the other, some both. Legacy expresses this with a `when` predicate per field
3147
+ * (`GridElementTooltip.FIELD_ORDER.CAPACITOR`).
3148
+ *
3149
+ * `GridStatField` has no `showWhen`, deliberately (see its docstring: a stat-list row is data only,
3150
+ * and per-instance visibility is a render-time concern). So the PREDICATE lives in the host
3151
+ * (`gridStatFieldsFor`) while the row DECLARATIONS stay here, where every other row lives -- the
3152
+ * registry ban is on predicates, not on declaring more than one set.
3153
+ *
3154
+ * The legacy fallback key `kvar` measured 0% and is not carried: a dead fallback reads as coverage
3155
+ * the data does not have.
3156
+ */
3157
+ declare const GRID_STAT_LIST_CAPACITOR_TOTAL_KVAR: readonly GridStatField[];
3158
+ /** Per-phase kvar rows -- polyphase banks, and any unit carrying no total (see `gridStatFieldsFor`). */
3159
+ declare const GRID_STAT_LIST_CAPACITOR_PER_PHASE_KVAR: readonly GridStatField[];
3136
3160
  declare const GRID_STAT_LIST: {
3137
3161
  readonly TRANSFORMER: [{
3138
3162
  readonly key: "capacityKva";
@@ -3247,6 +3271,14 @@ declare const GRID_STAT_LIST: {
3247
3271
  readonly format: {
3248
3272
  readonly type: "text";
3249
3273
  };
3274
+ }, {
3275
+ readonly key: "max_continuous_current";
3276
+ readonly label: "Max Continuous Current";
3277
+ readonly format: {
3278
+ readonly type: "number";
3279
+ readonly unit: "A";
3280
+ readonly decimals: 0;
3281
+ };
3250
3282
  }, {
3251
3283
  readonly key: "switchIsOpen";
3252
3284
  readonly label: "Position";
@@ -3453,6 +3485,13 @@ declare const GRID_STAT_LIST: {
3453
3485
  readonly format: {
3454
3486
  readonly type: "text";
3455
3487
  };
3488
+ }, {
3489
+ readonly key: "generator_system_size";
3490
+ readonly label: "System Size";
3491
+ readonly format: {
3492
+ readonly type: "number";
3493
+ readonly decimals: 1;
3494
+ };
3456
3495
  }];
3457
3496
  readonly MOTOR: [{
3458
3497
  readonly key: "ratedPower";
@@ -3616,6 +3655,17 @@ declare const ENTITY_CONFIG: {
3616
3655
  };
3617
3656
  readonly description: "Rule that watches a metric against a threshold";
3618
3657
  };
3658
+ readonly insight: {
3659
+ readonly icon: "LightbulbFilament";
3660
+ readonly category: "platform";
3661
+ readonly archetype: "platform";
3662
+ readonly detailPage: false;
3663
+ readonly label: {
3664
+ readonly singular: "Insight";
3665
+ readonly plural: "Insights";
3666
+ };
3667
+ readonly description: "Derived finding surfaced from platform data";
3668
+ };
3619
3669
  readonly command: {
3620
3670
  readonly icon: "Play";
3621
3671
  readonly category: "platform";
@@ -3753,6 +3803,14 @@ declare const ENTITY_CONFIG: {
3753
3803
  readonly format: {
3754
3804
  readonly type: "text";
3755
3805
  };
3806
+ }, {
3807
+ readonly key: "max_continuous_current";
3808
+ readonly label: "Max Continuous Current";
3809
+ readonly format: {
3810
+ readonly type: "number";
3811
+ readonly unit: "A";
3812
+ readonly decimals: 0;
3813
+ };
3756
3814
  }, {
3757
3815
  readonly key: "switchIsOpen";
3758
3816
  readonly label: "Position";
@@ -3807,6 +3865,14 @@ declare const ENTITY_CONFIG: {
3807
3865
  readonly format: {
3808
3866
  readonly type: "text";
3809
3867
  };
3868
+ }, {
3869
+ readonly key: "max_continuous_current";
3870
+ readonly label: "Max Continuous Current";
3871
+ readonly format: {
3872
+ readonly type: "number";
3873
+ readonly unit: "A";
3874
+ readonly decimals: 0;
3875
+ };
3810
3876
  }, {
3811
3877
  readonly key: "switchIsOpen";
3812
3878
  readonly label: "Position";
@@ -4467,6 +4533,13 @@ declare const ENTITY_CONFIG: {
4467
4533
  readonly format: {
4468
4534
  readonly type: "text";
4469
4535
  };
4536
+ }, {
4537
+ readonly key: "generator_system_size";
4538
+ readonly label: "System Size";
4539
+ readonly format: {
4540
+ readonly type: "number";
4541
+ readonly decimals: 1;
4542
+ };
4470
4543
  }];
4471
4544
  };
4472
4545
  readonly label: {
@@ -5093,6 +5166,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
5093
5166
  * registry yet), Site, Customer and Water Heater return `false` — `entity.now`
5094
5167
  * declines to render its cells rather than crashing or rendering empty.
5095
5168
  *
5169
+ * Exported deliberately, with no host consumer yet (MR-P02-4). Inside this package
5170
+ * it backs the conformance assertions in `entities.test.ts`; outside it, the
5171
+ * intended consumer is P11's `visible-when` work, which needs "does this entity
5172
+ * have a Now at all?" to decide whether to place the block. Checked rather than
5173
+ * guessed: knip (`--workspace packages/edges --include exports`) does not flag it,
5174
+ * because `src/index.ts` and `src/server.ts` are configured entry points. If that
5175
+ * changes, drop the `export` — it is used internally either way.
5176
+ *
5096
5177
  * @param entityType - The entity type key
5097
5178
  */
5098
5179
  declare function entityShowsNow(entityType: EntityType): boolean;
@@ -5174,4 +5255,4 @@ declare const getContrastingTextColor: (backgroundColor: string) => string;
5174
5255
  */
5175
5256
  declare const mapValuesToCategoricalColors: (values: (string | number)[]) => Record<string | number, string>;
5176
5257
 
5177
- export { type YFormatType as $, ABSENT_GRID_FIELDS as A, type BadgeProps as B, CATEGORY_COLOR_TOKENS as C, type DeviceState as D, ENTITY_CONFIG as E, type SegmentedControlProps as F, GRID_ELEMENT_TYPE_BY_ENTITY as G, HEADLINE_METRIC_BOUNDS as H, type InteractiveMapProps as I, type SerializableFieldFormat as J, SideNav as K, Loader as L, type MapPoint as M, type SideNavItem as N, type SideNavProps as O, type PercentThresholdLevel as P, type StaticMapProps as Q, type TooltipData as R, type SegmentOption as S, TextLink as T, type TooltipSeries as U, TopNav as V, type TopNavProps as W, UNARY_FILTER_OPERATORS as X, UNARY_OPERATOR_LABELS as Y, type UnaryFilterOperator as Z, type YFormatSettings as _, type ActionItem as a, type GeoJsonLayerSpec as a$, activeDeviceStates as a0, archetypeFor as a1, clearColorCache as a2, createCategoryColorMap as a3, createXScale as a4, createYScale as a5, defaultMargin as a6, deviceStateLabels as a7, deviceStateMetricFormats as a8, entityHasDetailPage as a9, type FieldValue as aA, type BooleanFormat as aB, type FormattedValue as aC, type FieldFormat as aD, type CurrentFormat as aE, type DateFormat as aF, type DistanceFormat as aG, type EnergyUnit as aH, type EnergyFormat as aI, type CurrencyFormat as aJ, type NumberFormat as aK, type PhoneFormat as aL, type PowerFormat as aM, type FormatterFunction as aN, type ResistanceFormat as aO, type TemperatureFormat as aP, type TemperatureUnitString as aQ, type TemperatureUnit as aR, type TextFormat as aS, type VoltageFormat as aT, type CellComponentProps as aU, type CellAlignment as aV, type LinkBehavior as aW, type ComponentFormatter as aX, type DataTableProps as aY, type LayerSpec as aZ, type CustomPinsSpec as a_, entityHasStatList as aa, entityShowsNow as ab, getContrastingTextColor as ac, getDefaultChartColor as ad, getDefaultColors as ae, getDeviceStateLabel as af, getEntityConfig as ag, getEntityIcon as ah, getEntityLabel as ai, getEntityStatList as aj, getGridStateLabel as ak, getResolvedColor as al, getThemeCategoricalColors as am, getYFormatSettings as an, gridStateLabels as ao, isActiveState as ap, isLightColor as aq, isUnaryFilterOperator as ar, type LoadingState as as, type FilterState as at, type SortState as au, type SearchConfig as av, type FacetConfig as aw, type FacetCounts as ax, type Column as ay, type CellEmphasis as az, type ActionMenuProps as b, type TableWidth as b$, type RasterLayerSpec as b0, type VectorLayerSpec as b1, type ClusteredVectorLayerSpec as b2, type ColorSpec as b3, ActionMenu as b4, AppShell as b5, Avatar as b6, Badge as b7, type BaseFormat as b8, type CellComponent as b9, type LayerVisibilityPatch as bA, MAP_TYPES as bB, type MapType as bC, Meter as bD, type MobileBreakpoint as bE, type MobileConfig as bF, type MobileRenderer as bG, PercentBarCell as bH, type PercentBarCellProps as bI, type PercentageFormat as bJ, type PowerUnit as bK, type RenderType as bL, type ResistanceUnit as bM, SegmentedControl as bN, type SortConfig as bO, type SortDirection as bP, StackNav as bQ, type StackNavGroup as bR, type StackNavItem as bS, type StackNavLinkComponentProps as bT, type StackNavProps as bU, type StackNavRenderRow as bV, type StackNavRowRenderProps as bW, type StackNavTheme as bX, StaticMap as bY, type TableDensity as bZ, type TableLayout as b_, type CellContext as ba, ChartContext as bb, CodeEditor as bc, type ComponentFormatOptions as bd, type CurrentUnit as be, type CustomFormat as bf, DEFAULT_MAP_TYPE as bg, type DateFormatStyle as bh, type DistanceUnit as bi, ENTITY_CATEGORY_CONFIG as bj, type EntityCategory as bk, type EntityCategoryConfig as bl, type FacetType as bm, type FilterChip as bn, type FilterCondition as bo, type FilterGroup as bp, type FilterOperator as bq, GRID_STATE_COLORS as br, type GridStateColor as bs, InteractiveMap as bt, type InteractiveMapHandle as bu, type LayerCheckState as bv, type LayerFeature as bw, type LayerSelection as bx, type LayerStyle as by, type LayerTreeNode as bz, type AppShellProps as c, type TextTransform as c0, type TextTruncatePosition as c1, UNVERIFIED_VOLTAGE_UNIT_ROWS as c2, type UseInfiniteScrollOptions as c3, type UseInfiniteScrollReturn as c4, type VoltageUnit as c5, type ZoomStops as c6, addFilterCondition as c7, baselineFromPoint as c8, createEmptyFilter as c9, createFilter as ca, createFilters as cb, filterToChips as cc, formatComponentValue as cd, getEntityCategory as ce, getFilterFields as cf, isFilterEmpty as cg, mapValuesToCategoricalColors as ch, percentThresholdLevel as ci, removeFilterCondition as cj, useChartContext as ck, useComponentFormatter as cl, useInfiniteScroll as cm, type AvatarProps as d, type BaseDataPoint as e, CATEGORY_NEUTRAL_COLOR as f, type ChartMargin as g, type CodeEditorProps as h, type CodeLanguage as i, type CodeTheme as j, type EntityArchetype as k, type EntityConfig as l, type EntityStateRule as m, type EntityType as n, GRID_STAT_LIST as o, type GridElementSourceType as p, type GridStatField as q, type GridStatFieldFormat as r, type GridState as s, Heading as t, type HeadlineMetric as u, Logo as v, type MeterProps as w, type MetricFormat as x, type MetricSource as y, type PercentThresholds as z };
5258
+ export { type YFormatType as $, ABSENT_GRID_FIELDS as A, type BadgeProps as B, CATEGORY_COLOR_TOKENS as C, type DeviceState as D, ENTITY_CONFIG as E, type SegmentedControlProps as F, GRID_ELEMENT_TYPE_BY_ENTITY as G, HEADLINE_METRIC_BOUNDS as H, type InteractiveMapProps as I, type SerializableFieldFormat as J, SideNav as K, Loader as L, type MapPoint as M, type SideNavItem as N, type SideNavProps as O, type PercentThresholdLevel as P, type StaticMapProps as Q, type TooltipData as R, type SegmentOption as S, TextLink as T, type TooltipSeries as U, TopNav as V, type TopNavProps as W, UNARY_FILTER_OPERATORS as X, UNARY_OPERATOR_LABELS as Y, type UnaryFilterOperator as Z, type YFormatSettings as _, type ActionItem as a, type GeoJsonLayerSpec as a$, activeDeviceStates as a0, archetypeFor as a1, clearColorCache as a2, createCategoryColorMap as a3, createXScale as a4, createYScale as a5, defaultMargin as a6, deviceStateLabels as a7, deviceStateMetricFormats as a8, entityHasDetailPage as a9, type FieldValue as aA, type BooleanFormat as aB, type FormattedValue as aC, type FieldFormat as aD, type CurrentFormat as aE, type DateFormat as aF, type DistanceFormat as aG, type EnergyUnit as aH, type EnergyFormat as aI, type CurrencyFormat as aJ, type NumberFormat as aK, type PhoneFormat as aL, type PowerFormat as aM, type FormatterFunction as aN, type ResistanceFormat as aO, type TemperatureFormat as aP, type TemperatureUnitString as aQ, type TemperatureUnit as aR, type TextFormat as aS, type VoltageFormat as aT, type CellComponentProps as aU, type CellAlignment as aV, type LinkBehavior as aW, type ComponentFormatter as aX, type DataTableProps as aY, type LayerSpec as aZ, type CustomPinsSpec as a_, entityHasStatList as aa, entityShowsNow as ab, getContrastingTextColor as ac, getDefaultChartColor as ad, getDefaultColors as ae, getDeviceStateLabel as af, getEntityConfig as ag, getEntityIcon as ah, getEntityLabel as ai, getEntityStatList as aj, getGridStateLabel as ak, getResolvedColor as al, getThemeCategoricalColors as am, getYFormatSettings as an, gridStateLabels as ao, isActiveState as ap, isLightColor as aq, isUnaryFilterOperator as ar, type LoadingState as as, type FilterState as at, type SortState as au, type SearchConfig as av, type FacetConfig as aw, type FacetCounts as ax, type Column as ay, type CellEmphasis as az, type ActionMenuProps as b, type TableDensity as b$, type RasterLayerSpec as b0, type VectorLayerSpec as b1, type ClusteredVectorLayerSpec as b2, type ColorSpec as b3, ActionMenu as b4, AppShell as b5, Avatar as b6, Badge as b7, type BaseFormat as b8, type CellComponent as b9, type LayerStyle as bA, type LayerTreeNode as bB, type LayerVisibilityPatch as bC, MAP_TYPES as bD, type MapType as bE, Meter as bF, type MobileBreakpoint as bG, type MobileConfig as bH, type MobileRenderer as bI, PercentBarCell as bJ, type PercentBarCellProps as bK, type PercentageFormat as bL, type PowerUnit as bM, type RenderType as bN, type ResistanceUnit as bO, SegmentedControl as bP, type SortConfig as bQ, type SortDirection as bR, StackNav as bS, type StackNavGroup as bT, type StackNavItem as bU, type StackNavLinkComponentProps as bV, type StackNavProps as bW, type StackNavRenderRow as bX, type StackNavRowRenderProps as bY, type StackNavTheme as bZ, StaticMap as b_, type CellContext as ba, ChartContext as bb, CodeEditor as bc, type ComponentFormatOptions as bd, type CurrentUnit as be, type CustomFormat as bf, DEFAULT_MAP_TYPE as bg, type DateFormatStyle as bh, type DistanceUnit as bi, ENTITY_CATEGORY_CONFIG as bj, type EntityCategory as bk, type EntityCategoryConfig as bl, type FacetType as bm, type FilterChip as bn, type FilterCondition as bo, type FilterGroup as bp, type FilterOperator as bq, GRID_STATE_COLORS as br, GRID_STAT_LIST_CAPACITOR_PER_PHASE_KVAR as bs, GRID_STAT_LIST_CAPACITOR_TOTAL_KVAR as bt, type GridStateColor as bu, InteractiveMap as bv, type InteractiveMapHandle as bw, type LayerCheckState as bx, type LayerFeature as by, type LayerSelection as bz, type AppShellProps as c, type TableLayout as c0, type TableWidth as c1, type TextTransform as c2, type TextTruncatePosition as c3, UNVERIFIED_VOLTAGE_UNIT_ROWS as c4, type UseInfiniteScrollOptions as c5, type UseInfiniteScrollReturn as c6, type VoltageUnit as c7, type ZoomStops as c8, addFilterCondition as c9, baselineFromPoint as ca, createEmptyFilter as cb, createFilter as cc, createFilters as cd, filterToChips as ce, formatComponentValue as cf, getEntityCategory as cg, getFilterFields as ch, isFilterEmpty as ci, mapValuesToCategoricalColors as cj, percentThresholdLevel as ck, removeFilterCondition as cl, useChartContext as cm, useComponentFormatter as cn, useInfiniteScroll as co, type AvatarProps as d, type BaseDataPoint as e, CATEGORY_NEUTRAL_COLOR as f, type ChartMargin as g, type CodeEditorProps as h, type CodeLanguage as i, type CodeTheme as j, type EntityArchetype as k, type EntityConfig as l, type EntityStateRule as m, type EntityType as n, GRID_STAT_LIST as o, type GridElementSourceType as p, type GridStatField as q, type GridStatFieldFormat as r, type GridState as s, Heading as t, type HeadlineMetric as u, Logo as v, type MeterProps as w, type MetricFormat as x, type MetricSource as y, type PercentThresholds as z };
@@ -2804,7 +2804,7 @@ type EntityCategory = "platform" | "grid" | "device";
2804
2804
  * - `grid-line` — lines & structures (overhead/underground spans, support structures).
2805
2805
  *
2806
2806
  * Matches the design's coverage matrix (DESIGN-REFERENCE.md §2). Every entry in
2807
- * `ENTITY_CONFIG` carries an archetype, even the 12 that have no detail page —
2807
+ * `ENTITY_CONFIG` carries an archetype, even the 13 that have no detail page —
2808
2808
  * the archetype is the composition it *would* use; `detailPage` gates whether a
2809
2809
  * page is actually reachable.
2810
2810
  */
@@ -2977,13 +2977,13 @@ interface EntityConfig {
2977
2977
  closed: EntityStateVariant;
2978
2978
  };
2979
2979
  /**
2980
- * The base page composition this entity renders with. Required on all 42
2980
+ * The base page composition this entity renders with. Required on all 43
2981
2981
  * entries — the archetype is the composition an entity *would* use even when
2982
2982
  * `detailPage` is false.
2983
2983
  */
2984
2984
  archetype: EntityArchetype;
2985
2985
  /**
2986
- * Whether this entity has a reachable detail page. 30 of 42 are `true`; the
2986
+ * Whether this entity has a reachable detail page. 30 of 43 are `true`; the
2987
2987
  * registry is the single answer to "does this entity have a page?".
2988
2988
  */
2989
2989
  detailPage: boolean;
@@ -3014,8 +3014,13 @@ interface EntityConfig {
3014
3014
  fusedMetricId?: string;
3015
3015
  /**
3016
3016
  * State rules for `entity.now`'s status chips. `primaryState` drives the
3017
- * pulsing primary chip; `secondaryState` (battery/inverter: charge + grid)
3018
- * renders a second chip with no pulse.
3017
+ * pulsing primary chip; `secondaryState` renders a second chip with no pulse.
3018
+ *
3019
+ * Only `battery` declares a `secondaryState` today (charge + grid). This
3020
+ * docstring used to say "battery/inverter" — `inverter` has never had one, and
3021
+ * the fix is this comment, not the code: adding a `secondaryState` to inverter
3022
+ * would put a new chip on a live page, which is a product change wearing a
3023
+ * typo's clothes.
3019
3024
  */
3020
3025
  stateRules?: {
3021
3026
  primaryState: EntityStateRule;
@@ -3133,6 +3138,25 @@ declare const UNVERIFIED_VOLTAGE_UNIT_ROWS: readonly ["MOTOR.voltage"];
3133
3138
  * `grid-element-config/src/configs/*.config.ts` `metadataFields`. Serializable:
3134
3139
  * no `showWhen`, no functions. Referenced by grid entities' `properties.statList`.
3135
3140
  */
3141
+ /**
3142
+ * MR-P01-8 -- the capacitor kvar rows, in the two shapes VEC records them (ALL-2565).
3143
+ *
3144
+ * A polyphase bank's rating is recorded per phase; a single-phase unit's as one total. Prod
3145
+ * 2026-08-24: `total_kvar` 76.3%, `kvar_a/b/c` 56.1 / 54.4 / 57.9% -- some capacitors carry one,
3146
+ * some the other, some both. Legacy expresses this with a `when` predicate per field
3147
+ * (`GridElementTooltip.FIELD_ORDER.CAPACITOR`).
3148
+ *
3149
+ * `GridStatField` has no `showWhen`, deliberately (see its docstring: a stat-list row is data only,
3150
+ * and per-instance visibility is a render-time concern). So the PREDICATE lives in the host
3151
+ * (`gridStatFieldsFor`) while the row DECLARATIONS stay here, where every other row lives -- the
3152
+ * registry ban is on predicates, not on declaring more than one set.
3153
+ *
3154
+ * The legacy fallback key `kvar` measured 0% and is not carried: a dead fallback reads as coverage
3155
+ * the data does not have.
3156
+ */
3157
+ declare const GRID_STAT_LIST_CAPACITOR_TOTAL_KVAR: readonly GridStatField[];
3158
+ /** Per-phase kvar rows -- polyphase banks, and any unit carrying no total (see `gridStatFieldsFor`). */
3159
+ declare const GRID_STAT_LIST_CAPACITOR_PER_PHASE_KVAR: readonly GridStatField[];
3136
3160
  declare const GRID_STAT_LIST: {
3137
3161
  readonly TRANSFORMER: [{
3138
3162
  readonly key: "capacityKva";
@@ -3247,6 +3271,14 @@ declare const GRID_STAT_LIST: {
3247
3271
  readonly format: {
3248
3272
  readonly type: "text";
3249
3273
  };
3274
+ }, {
3275
+ readonly key: "max_continuous_current";
3276
+ readonly label: "Max Continuous Current";
3277
+ readonly format: {
3278
+ readonly type: "number";
3279
+ readonly unit: "A";
3280
+ readonly decimals: 0;
3281
+ };
3250
3282
  }, {
3251
3283
  readonly key: "switchIsOpen";
3252
3284
  readonly label: "Position";
@@ -3453,6 +3485,13 @@ declare const GRID_STAT_LIST: {
3453
3485
  readonly format: {
3454
3486
  readonly type: "text";
3455
3487
  };
3488
+ }, {
3489
+ readonly key: "generator_system_size";
3490
+ readonly label: "System Size";
3491
+ readonly format: {
3492
+ readonly type: "number";
3493
+ readonly decimals: 1;
3494
+ };
3456
3495
  }];
3457
3496
  readonly MOTOR: [{
3458
3497
  readonly key: "ratedPower";
@@ -3616,6 +3655,17 @@ declare const ENTITY_CONFIG: {
3616
3655
  };
3617
3656
  readonly description: "Rule that watches a metric against a threshold";
3618
3657
  };
3658
+ readonly insight: {
3659
+ readonly icon: "LightbulbFilament";
3660
+ readonly category: "platform";
3661
+ readonly archetype: "platform";
3662
+ readonly detailPage: false;
3663
+ readonly label: {
3664
+ readonly singular: "Insight";
3665
+ readonly plural: "Insights";
3666
+ };
3667
+ readonly description: "Derived finding surfaced from platform data";
3668
+ };
3619
3669
  readonly command: {
3620
3670
  readonly icon: "Play";
3621
3671
  readonly category: "platform";
@@ -3753,6 +3803,14 @@ declare const ENTITY_CONFIG: {
3753
3803
  readonly format: {
3754
3804
  readonly type: "text";
3755
3805
  };
3806
+ }, {
3807
+ readonly key: "max_continuous_current";
3808
+ readonly label: "Max Continuous Current";
3809
+ readonly format: {
3810
+ readonly type: "number";
3811
+ readonly unit: "A";
3812
+ readonly decimals: 0;
3813
+ };
3756
3814
  }, {
3757
3815
  readonly key: "switchIsOpen";
3758
3816
  readonly label: "Position";
@@ -3807,6 +3865,14 @@ declare const ENTITY_CONFIG: {
3807
3865
  readonly format: {
3808
3866
  readonly type: "text";
3809
3867
  };
3868
+ }, {
3869
+ readonly key: "max_continuous_current";
3870
+ readonly label: "Max Continuous Current";
3871
+ readonly format: {
3872
+ readonly type: "number";
3873
+ readonly unit: "A";
3874
+ readonly decimals: 0;
3875
+ };
3810
3876
  }, {
3811
3877
  readonly key: "switchIsOpen";
3812
3878
  readonly label: "Position";
@@ -4467,6 +4533,13 @@ declare const ENTITY_CONFIG: {
4467
4533
  readonly format: {
4468
4534
  readonly type: "text";
4469
4535
  };
4536
+ }, {
4537
+ readonly key: "generator_system_size";
4538
+ readonly label: "System Size";
4539
+ readonly format: {
4540
+ readonly type: "number";
4541
+ readonly decimals: 1;
4542
+ };
4470
4543
  }];
4471
4544
  };
4472
4545
  readonly label: {
@@ -5093,6 +5166,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
5093
5166
  * registry yet), Site, Customer and Water Heater return `false` — `entity.now`
5094
5167
  * declines to render its cells rather than crashing or rendering empty.
5095
5168
  *
5169
+ * Exported deliberately, with no host consumer yet (MR-P02-4). Inside this package
5170
+ * it backs the conformance assertions in `entities.test.ts`; outside it, the
5171
+ * intended consumer is P11's `visible-when` work, which needs "does this entity
5172
+ * have a Now at all?" to decide whether to place the block. Checked rather than
5173
+ * guessed: knip (`--workspace packages/edges --include exports`) does not flag it,
5174
+ * because `src/index.ts` and `src/server.ts` are configured entry points. If that
5175
+ * changes, drop the `export` — it is used internally either way.
5176
+ *
5096
5177
  * @param entityType - The entity type key
5097
5178
  */
5098
5179
  declare function entityShowsNow(entityType: EntityType): boolean;
@@ -5174,4 +5255,4 @@ declare const getContrastingTextColor: (backgroundColor: string) => string;
5174
5255
  */
5175
5256
  declare const mapValuesToCategoricalColors: (values: (string | number)[]) => Record<string | number, string>;
5176
5257
 
5177
- export { type YFormatType as $, ABSENT_GRID_FIELDS as A, type BadgeProps as B, CATEGORY_COLOR_TOKENS as C, type DeviceState as D, ENTITY_CONFIG as E, type SegmentedControlProps as F, GRID_ELEMENT_TYPE_BY_ENTITY as G, HEADLINE_METRIC_BOUNDS as H, type InteractiveMapProps as I, type SerializableFieldFormat as J, SideNav as K, Loader as L, type MapPoint as M, type SideNavItem as N, type SideNavProps as O, type PercentThresholdLevel as P, type StaticMapProps as Q, type TooltipData as R, type SegmentOption as S, TextLink as T, type TooltipSeries as U, TopNav as V, type TopNavProps as W, UNARY_FILTER_OPERATORS as X, UNARY_OPERATOR_LABELS as Y, type UnaryFilterOperator as Z, type YFormatSettings as _, type ActionItem as a, type GeoJsonLayerSpec as a$, activeDeviceStates as a0, archetypeFor as a1, clearColorCache as a2, createCategoryColorMap as a3, createXScale as a4, createYScale as a5, defaultMargin as a6, deviceStateLabels as a7, deviceStateMetricFormats as a8, entityHasDetailPage as a9, type FieldValue as aA, type BooleanFormat as aB, type FormattedValue as aC, type FieldFormat as aD, type CurrentFormat as aE, type DateFormat as aF, type DistanceFormat as aG, type EnergyUnit as aH, type EnergyFormat as aI, type CurrencyFormat as aJ, type NumberFormat as aK, type PhoneFormat as aL, type PowerFormat as aM, type FormatterFunction as aN, type ResistanceFormat as aO, type TemperatureFormat as aP, type TemperatureUnitString as aQ, type TemperatureUnit as aR, type TextFormat as aS, type VoltageFormat as aT, type CellComponentProps as aU, type CellAlignment as aV, type LinkBehavior as aW, type ComponentFormatter as aX, type DataTableProps as aY, type LayerSpec as aZ, type CustomPinsSpec as a_, entityHasStatList as aa, entityShowsNow as ab, getContrastingTextColor as ac, getDefaultChartColor as ad, getDefaultColors as ae, getDeviceStateLabel as af, getEntityConfig as ag, getEntityIcon as ah, getEntityLabel as ai, getEntityStatList as aj, getGridStateLabel as ak, getResolvedColor as al, getThemeCategoricalColors as am, getYFormatSettings as an, gridStateLabels as ao, isActiveState as ap, isLightColor as aq, isUnaryFilterOperator as ar, type LoadingState as as, type FilterState as at, type SortState as au, type SearchConfig as av, type FacetConfig as aw, type FacetCounts as ax, type Column as ay, type CellEmphasis as az, type ActionMenuProps as b, type TableWidth as b$, type RasterLayerSpec as b0, type VectorLayerSpec as b1, type ClusteredVectorLayerSpec as b2, type ColorSpec as b3, ActionMenu as b4, AppShell as b5, Avatar as b6, Badge as b7, type BaseFormat as b8, type CellComponent as b9, type LayerVisibilityPatch as bA, MAP_TYPES as bB, type MapType as bC, Meter as bD, type MobileBreakpoint as bE, type MobileConfig as bF, type MobileRenderer as bG, PercentBarCell as bH, type PercentBarCellProps as bI, type PercentageFormat as bJ, type PowerUnit as bK, type RenderType as bL, type ResistanceUnit as bM, SegmentedControl as bN, type SortConfig as bO, type SortDirection as bP, StackNav as bQ, type StackNavGroup as bR, type StackNavItem as bS, type StackNavLinkComponentProps as bT, type StackNavProps as bU, type StackNavRenderRow as bV, type StackNavRowRenderProps as bW, type StackNavTheme as bX, StaticMap as bY, type TableDensity as bZ, type TableLayout as b_, type CellContext as ba, ChartContext as bb, CodeEditor as bc, type ComponentFormatOptions as bd, type CurrentUnit as be, type CustomFormat as bf, DEFAULT_MAP_TYPE as bg, type DateFormatStyle as bh, type DistanceUnit as bi, ENTITY_CATEGORY_CONFIG as bj, type EntityCategory as bk, type EntityCategoryConfig as bl, type FacetType as bm, type FilterChip as bn, type FilterCondition as bo, type FilterGroup as bp, type FilterOperator as bq, GRID_STATE_COLORS as br, type GridStateColor as bs, InteractiveMap as bt, type InteractiveMapHandle as bu, type LayerCheckState as bv, type LayerFeature as bw, type LayerSelection as bx, type LayerStyle as by, type LayerTreeNode as bz, type AppShellProps as c, type TextTransform as c0, type TextTruncatePosition as c1, UNVERIFIED_VOLTAGE_UNIT_ROWS as c2, type UseInfiniteScrollOptions as c3, type UseInfiniteScrollReturn as c4, type VoltageUnit as c5, type ZoomStops as c6, addFilterCondition as c7, baselineFromPoint as c8, createEmptyFilter as c9, createFilter as ca, createFilters as cb, filterToChips as cc, formatComponentValue as cd, getEntityCategory as ce, getFilterFields as cf, isFilterEmpty as cg, mapValuesToCategoricalColors as ch, percentThresholdLevel as ci, removeFilterCondition as cj, useChartContext as ck, useComponentFormatter as cl, useInfiniteScroll as cm, type AvatarProps as d, type BaseDataPoint as e, CATEGORY_NEUTRAL_COLOR as f, type ChartMargin as g, type CodeEditorProps as h, type CodeLanguage as i, type CodeTheme as j, type EntityArchetype as k, type EntityConfig as l, type EntityStateRule as m, type EntityType as n, GRID_STAT_LIST as o, type GridElementSourceType as p, type GridStatField as q, type GridStatFieldFormat as r, type GridState as s, Heading as t, type HeadlineMetric as u, Logo as v, type MeterProps as w, type MetricFormat as x, type MetricSource as y, type PercentThresholds as z };
5258
+ export { type YFormatType as $, ABSENT_GRID_FIELDS as A, type BadgeProps as B, CATEGORY_COLOR_TOKENS as C, type DeviceState as D, ENTITY_CONFIG as E, type SegmentedControlProps as F, GRID_ELEMENT_TYPE_BY_ENTITY as G, HEADLINE_METRIC_BOUNDS as H, type InteractiveMapProps as I, type SerializableFieldFormat as J, SideNav as K, Loader as L, type MapPoint as M, type SideNavItem as N, type SideNavProps as O, type PercentThresholdLevel as P, type StaticMapProps as Q, type TooltipData as R, type SegmentOption as S, TextLink as T, type TooltipSeries as U, TopNav as V, type TopNavProps as W, UNARY_FILTER_OPERATORS as X, UNARY_OPERATOR_LABELS as Y, type UnaryFilterOperator as Z, type YFormatSettings as _, type ActionItem as a, type GeoJsonLayerSpec as a$, activeDeviceStates as a0, archetypeFor as a1, clearColorCache as a2, createCategoryColorMap as a3, createXScale as a4, createYScale as a5, defaultMargin as a6, deviceStateLabels as a7, deviceStateMetricFormats as a8, entityHasDetailPage as a9, type FieldValue as aA, type BooleanFormat as aB, type FormattedValue as aC, type FieldFormat as aD, type CurrentFormat as aE, type DateFormat as aF, type DistanceFormat as aG, type EnergyUnit as aH, type EnergyFormat as aI, type CurrencyFormat as aJ, type NumberFormat as aK, type PhoneFormat as aL, type PowerFormat as aM, type FormatterFunction as aN, type ResistanceFormat as aO, type TemperatureFormat as aP, type TemperatureUnitString as aQ, type TemperatureUnit as aR, type TextFormat as aS, type VoltageFormat as aT, type CellComponentProps as aU, type CellAlignment as aV, type LinkBehavior as aW, type ComponentFormatter as aX, type DataTableProps as aY, type LayerSpec as aZ, type CustomPinsSpec as a_, entityHasStatList as aa, entityShowsNow as ab, getContrastingTextColor as ac, getDefaultChartColor as ad, getDefaultColors as ae, getDeviceStateLabel as af, getEntityConfig as ag, getEntityIcon as ah, getEntityLabel as ai, getEntityStatList as aj, getGridStateLabel as ak, getResolvedColor as al, getThemeCategoricalColors as am, getYFormatSettings as an, gridStateLabels as ao, isActiveState as ap, isLightColor as aq, isUnaryFilterOperator as ar, type LoadingState as as, type FilterState as at, type SortState as au, type SearchConfig as av, type FacetConfig as aw, type FacetCounts as ax, type Column as ay, type CellEmphasis as az, type ActionMenuProps as b, type TableDensity as b$, type RasterLayerSpec as b0, type VectorLayerSpec as b1, type ClusteredVectorLayerSpec as b2, type ColorSpec as b3, ActionMenu as b4, AppShell as b5, Avatar as b6, Badge as b7, type BaseFormat as b8, type CellComponent as b9, type LayerStyle as bA, type LayerTreeNode as bB, type LayerVisibilityPatch as bC, MAP_TYPES as bD, type MapType as bE, Meter as bF, type MobileBreakpoint as bG, type MobileConfig as bH, type MobileRenderer as bI, PercentBarCell as bJ, type PercentBarCellProps as bK, type PercentageFormat as bL, type PowerUnit as bM, type RenderType as bN, type ResistanceUnit as bO, SegmentedControl as bP, type SortConfig as bQ, type SortDirection as bR, StackNav as bS, type StackNavGroup as bT, type StackNavItem as bU, type StackNavLinkComponentProps as bV, type StackNavProps as bW, type StackNavRenderRow as bX, type StackNavRowRenderProps as bY, type StackNavTheme as bZ, StaticMap as b_, type CellContext as ba, ChartContext as bb, CodeEditor as bc, type ComponentFormatOptions as bd, type CurrentUnit as be, type CustomFormat as bf, DEFAULT_MAP_TYPE as bg, type DateFormatStyle as bh, type DistanceUnit as bi, ENTITY_CATEGORY_CONFIG as bj, type EntityCategory as bk, type EntityCategoryConfig as bl, type FacetType as bm, type FilterChip as bn, type FilterCondition as bo, type FilterGroup as bp, type FilterOperator as bq, GRID_STATE_COLORS as br, GRID_STAT_LIST_CAPACITOR_PER_PHASE_KVAR as bs, GRID_STAT_LIST_CAPACITOR_TOTAL_KVAR as bt, type GridStateColor as bu, InteractiveMap as bv, type InteractiveMapHandle as bw, type LayerCheckState as bx, type LayerFeature as by, type LayerSelection as bz, type AppShellProps as c, type TableLayout as c0, type TableWidth as c1, type TextTransform as c2, type TextTruncatePosition as c3, UNVERIFIED_VOLTAGE_UNIT_ROWS as c4, type UseInfiniteScrollOptions as c5, type UseInfiniteScrollReturn as c6, type VoltageUnit as c7, type ZoomStops as c8, addFilterCondition as c9, baselineFromPoint as ca, createEmptyFilter as cb, createFilter as cc, createFilters as cd, filterToChips as ce, formatComponentValue as cf, getEntityCategory as cg, getFilterFields as ch, isFilterEmpty as ci, mapValuesToCategoricalColors as cj, percentThresholdLevel as ck, removeFilterCondition as cl, useChartContext as cm, useComponentFormatter as cn, useInfiniteScroll as co, type AvatarProps as d, type BaseDataPoint as e, CATEGORY_NEUTRAL_COLOR as f, type ChartMargin as g, type CodeEditorProps as h, type CodeLanguage as i, type CodeTheme as j, type EntityArchetype as k, type EntityConfig as l, type EntityStateRule as m, type EntityType as n, GRID_STAT_LIST as o, type GridElementSourceType as p, type GridStatField as q, type GridStatFieldFormat as r, type GridState as s, Heading as t, type HeadlineMetric as u, Logo as v, type MeterProps as w, type MetricFormat as x, type MetricSource as y, type PercentThresholds as z };