@texturehq/edges 5.8.0 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{colors-Bw7a6pAI.d.ts → colors-B7iUqDUu.d.ts} +114 -6
- package/dist/{colors-CM2yXnpR.d.cts → colors-DyB9mRDa.d.cts} +114 -6
- package/dist/index.cjs +10 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +72 -3
- package/dist/index.d.ts +72 -3
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/server.cjs +2 -2
- package/dist/server.cjs.map +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -1886,6 +1886,20 @@ interface VectorLayerSpec extends BaseLayerSpec {
|
|
|
1886
1886
|
* rendered as a bracket over the conductor line. Ignored for non-circle layers.
|
|
1887
1887
|
*/
|
|
1888
1888
|
hideChipWhen?: any;
|
|
1889
|
+
/**
|
|
1890
|
+
* Reveal the chip (circle fill + border) only while the feature is hovered —
|
|
1891
|
+
* the resting render is fully transparent, so only a glyph drawn on top
|
|
1892
|
+
* occupies the map. For dense point layers (e.g. tens of thousands of
|
|
1893
|
+
* support structures) where a permanent chip per feature is visual noise.
|
|
1894
|
+
*
|
|
1895
|
+
* Driven by the `hover` feature-state, which `InteractiveMap` sets/clears in
|
|
1896
|
+
* its shared mouse handlers — so this only works for layers rendered inside
|
|
1897
|
+
* an InteractiveMap, and **requires `promoteId`** (feature-state needs
|
|
1898
|
+
* feature ids, and vector-tile features usually have none). Composes with
|
|
1899
|
+
* `hideChipWhen`: features matching that expression stay chipless even while
|
|
1900
|
+
* hovered. Ignored for non-circle layers.
|
|
1901
|
+
*/
|
|
1902
|
+
revealChipOnHover?: boolean;
|
|
1889
1903
|
}
|
|
1890
1904
|
/**
|
|
1891
1905
|
* GeoJSON layer (client-side data or URL)
|
|
@@ -2804,7 +2818,7 @@ type EntityCategory = "platform" | "grid" | "device";
|
|
|
2804
2818
|
* - `grid-line` — lines & structures (overhead/underground spans, support structures).
|
|
2805
2819
|
*
|
|
2806
2820
|
* Matches the design's coverage matrix (DESIGN-REFERENCE.md §2). Every entry in
|
|
2807
|
-
* `ENTITY_CONFIG` carries an archetype, even the
|
|
2821
|
+
* `ENTITY_CONFIG` carries an archetype, even the 13 that have no detail page —
|
|
2808
2822
|
* the archetype is the composition it *would* use; `detailPage` gates whether a
|
|
2809
2823
|
* page is actually reachable.
|
|
2810
2824
|
*/
|
|
@@ -2977,13 +2991,13 @@ interface EntityConfig {
|
|
|
2977
2991
|
closed: EntityStateVariant;
|
|
2978
2992
|
};
|
|
2979
2993
|
/**
|
|
2980
|
-
* The base page composition this entity renders with. Required on all
|
|
2994
|
+
* The base page composition this entity renders with. Required on all 43
|
|
2981
2995
|
* entries — the archetype is the composition an entity *would* use even when
|
|
2982
2996
|
* `detailPage` is false.
|
|
2983
2997
|
*/
|
|
2984
2998
|
archetype: EntityArchetype;
|
|
2985
2999
|
/**
|
|
2986
|
-
* Whether this entity has a reachable detail page. 30 of
|
|
3000
|
+
* Whether this entity has a reachable detail page. 30 of 43 are `true`; the
|
|
2987
3001
|
* registry is the single answer to "does this entity have a page?".
|
|
2988
3002
|
*/
|
|
2989
3003
|
detailPage: boolean;
|
|
@@ -3014,8 +3028,13 @@ interface EntityConfig {
|
|
|
3014
3028
|
fusedMetricId?: string;
|
|
3015
3029
|
/**
|
|
3016
3030
|
* State rules for `entity.now`'s status chips. `primaryState` drives the
|
|
3017
|
-
* pulsing primary chip; `secondaryState`
|
|
3018
|
-
*
|
|
3031
|
+
* pulsing primary chip; `secondaryState` renders a second chip with no pulse.
|
|
3032
|
+
*
|
|
3033
|
+
* Only `battery` declares a `secondaryState` today (charge + grid). This
|
|
3034
|
+
* docstring used to say "battery/inverter" — `inverter` has never had one, and
|
|
3035
|
+
* the fix is this comment, not the code: adding a `secondaryState` to inverter
|
|
3036
|
+
* would put a new chip on a live page, which is a product change wearing a
|
|
3037
|
+
* typo's clothes.
|
|
3019
3038
|
*/
|
|
3020
3039
|
stateRules?: {
|
|
3021
3040
|
primaryState: EntityStateRule;
|
|
@@ -3091,7 +3110,7 @@ declare const ENTITY_CATEGORY_CONFIG: {
|
|
|
3091
3110
|
};
|
|
3092
3111
|
/** The coarse element-type axis (mirrors `@texturehq/grid-element-config`'s
|
|
3093
3112
|
* `GridElementType`; kept in sync by transcription). */
|
|
3094
|
-
type GridElementSourceType = "CAPACITOR" | "CONSUMER" | "GENERATOR" | "MOTOR" | "NODE" | "OVERCURRENT_DEVICE" | "OVERHEAD_LINE" | "REGULATOR" | "SOURCE" | "SUPPORT_STRUCTURE" | "SWITCH" | "TRANSFORMER" | "UNDERGROUND_LINE";
|
|
3113
|
+
type GridElementSourceType = "CAPACITOR" | "CONSUMER" | "DEVICE_LEADER" | "GENERATOR" | "MOTOR" | "NODE" | "OVERCURRENT_DEVICE" | "OVERHEAD_LINE" | "REGULATOR" | "SOURCE" | "SUPPORT_STRUCTURE" | "SWITCH" | "TRANSFORMER" | "TRANSFORMER_BANK" | "UNDERGROUND_LINE";
|
|
3095
3114
|
/**
|
|
3096
3115
|
* JSONB keys that are ABSENT or PII-zeroed in prod (MR-07 coverage table). No
|
|
3097
3116
|
* grid stat-list row (or headline metric) may reference one of these — enforced
|
|
@@ -3266,6 +3285,14 @@ declare const GRID_STAT_LIST: {
|
|
|
3266
3285
|
readonly format: {
|
|
3267
3286
|
readonly type: "text";
|
|
3268
3287
|
};
|
|
3288
|
+
}, {
|
|
3289
|
+
readonly key: "max_continuous_current";
|
|
3290
|
+
readonly label: "Max Continuous Current";
|
|
3291
|
+
readonly format: {
|
|
3292
|
+
readonly type: "number";
|
|
3293
|
+
readonly unit: "A";
|
|
3294
|
+
readonly decimals: 0;
|
|
3295
|
+
};
|
|
3269
3296
|
}, {
|
|
3270
3297
|
readonly key: "switchIsOpen";
|
|
3271
3298
|
readonly label: "Position";
|
|
@@ -3472,6 +3499,13 @@ declare const GRID_STAT_LIST: {
|
|
|
3472
3499
|
readonly format: {
|
|
3473
3500
|
readonly type: "text";
|
|
3474
3501
|
};
|
|
3502
|
+
}, {
|
|
3503
|
+
readonly key: "generator_system_size";
|
|
3504
|
+
readonly label: "System Size";
|
|
3505
|
+
readonly format: {
|
|
3506
|
+
readonly type: "number";
|
|
3507
|
+
readonly decimals: 1;
|
|
3508
|
+
};
|
|
3475
3509
|
}];
|
|
3476
3510
|
readonly MOTOR: [{
|
|
3477
3511
|
readonly key: "ratedPower";
|
|
@@ -3490,6 +3524,8 @@ declare const GRID_STAT_LIST: {
|
|
|
3490
3524
|
readonly decimals: 0;
|
|
3491
3525
|
};
|
|
3492
3526
|
}];
|
|
3527
|
+
readonly DEVICE_LEADER: [];
|
|
3528
|
+
readonly TRANSFORMER_BANK: [];
|
|
3493
3529
|
};
|
|
3494
3530
|
declare const ENTITY_CONFIG: {
|
|
3495
3531
|
readonly app: {
|
|
@@ -3635,6 +3671,17 @@ declare const ENTITY_CONFIG: {
|
|
|
3635
3671
|
};
|
|
3636
3672
|
readonly description: "Rule that watches a metric against a threshold";
|
|
3637
3673
|
};
|
|
3674
|
+
readonly insight: {
|
|
3675
|
+
readonly icon: "LightbulbFilament";
|
|
3676
|
+
readonly category: "platform";
|
|
3677
|
+
readonly archetype: "platform";
|
|
3678
|
+
readonly detailPage: false;
|
|
3679
|
+
readonly label: {
|
|
3680
|
+
readonly singular: "Insight";
|
|
3681
|
+
readonly plural: "Insights";
|
|
3682
|
+
};
|
|
3683
|
+
readonly description: "Derived finding surfaced from platform data";
|
|
3684
|
+
};
|
|
3638
3685
|
readonly command: {
|
|
3639
3686
|
readonly icon: "Play";
|
|
3640
3687
|
readonly category: "platform";
|
|
@@ -3772,6 +3819,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3772
3819
|
readonly format: {
|
|
3773
3820
|
readonly type: "text";
|
|
3774
3821
|
};
|
|
3822
|
+
}, {
|
|
3823
|
+
readonly key: "max_continuous_current";
|
|
3824
|
+
readonly label: "Max Continuous Current";
|
|
3825
|
+
readonly format: {
|
|
3826
|
+
readonly type: "number";
|
|
3827
|
+
readonly unit: "A";
|
|
3828
|
+
readonly decimals: 0;
|
|
3829
|
+
};
|
|
3775
3830
|
}, {
|
|
3776
3831
|
readonly key: "switchIsOpen";
|
|
3777
3832
|
readonly label: "Position";
|
|
@@ -3826,6 +3881,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3826
3881
|
readonly format: {
|
|
3827
3882
|
readonly type: "text";
|
|
3828
3883
|
};
|
|
3884
|
+
}, {
|
|
3885
|
+
readonly key: "max_continuous_current";
|
|
3886
|
+
readonly label: "Max Continuous Current";
|
|
3887
|
+
readonly format: {
|
|
3888
|
+
readonly type: "number";
|
|
3889
|
+
readonly unit: "A";
|
|
3890
|
+
readonly decimals: 0;
|
|
3891
|
+
};
|
|
3829
3892
|
}, {
|
|
3830
3893
|
readonly key: "switchIsOpen";
|
|
3831
3894
|
readonly label: "Position";
|
|
@@ -4486,6 +4549,13 @@ declare const ENTITY_CONFIG: {
|
|
|
4486
4549
|
readonly format: {
|
|
4487
4550
|
readonly type: "text";
|
|
4488
4551
|
};
|
|
4552
|
+
}, {
|
|
4553
|
+
readonly key: "generator_system_size";
|
|
4554
|
+
readonly label: "System Size";
|
|
4555
|
+
readonly format: {
|
|
4556
|
+
readonly type: "number";
|
|
4557
|
+
readonly decimals: 1;
|
|
4558
|
+
};
|
|
4489
4559
|
}];
|
|
4490
4560
|
};
|
|
4491
4561
|
readonly label: {
|
|
@@ -4588,6 +4658,34 @@ declare const ENTITY_CONFIG: {
|
|
|
4588
4658
|
};
|
|
4589
4659
|
readonly description: "Structure carrying overhead line equipment";
|
|
4590
4660
|
};
|
|
4661
|
+
readonly deviceLeader: {
|
|
4662
|
+
readonly icon: "FlowArrow";
|
|
4663
|
+
readonly category: "grid";
|
|
4664
|
+
readonly archetype: "grid-line";
|
|
4665
|
+
readonly detailPage: true;
|
|
4666
|
+
readonly properties: {
|
|
4667
|
+
readonly statList: [];
|
|
4668
|
+
};
|
|
4669
|
+
readonly label: {
|
|
4670
|
+
readonly singular: "Device Leader";
|
|
4671
|
+
readonly plural: "Device Leaders";
|
|
4672
|
+
};
|
|
4673
|
+
readonly description: "Cartographic leader line pointing an offset device symbol to its true location";
|
|
4674
|
+
};
|
|
4675
|
+
readonly transformerBank: {
|
|
4676
|
+
readonly icon: "TextureTransformer";
|
|
4677
|
+
readonly category: "grid";
|
|
4678
|
+
readonly archetype: "grid-energized";
|
|
4679
|
+
readonly detailPage: true;
|
|
4680
|
+
readonly properties: {
|
|
4681
|
+
readonly statList: [];
|
|
4682
|
+
};
|
|
4683
|
+
readonly label: {
|
|
4684
|
+
readonly singular: "Transformer Bank";
|
|
4685
|
+
readonly plural: "Transformer Banks";
|
|
4686
|
+
};
|
|
4687
|
+
readonly description: "Grouping of single-phase transformer units sharing a bank id";
|
|
4688
|
+
};
|
|
4591
4689
|
readonly battery: {
|
|
4592
4690
|
readonly icon: "BatteryHigh";
|
|
4593
4691
|
readonly category: "device";
|
|
@@ -5026,6 +5124,8 @@ declare const GRID_ELEMENT_TYPE_BY_ENTITY: {
|
|
|
5026
5124
|
readonly generator: "GENERATOR";
|
|
5027
5125
|
readonly regulator: "REGULATOR";
|
|
5028
5126
|
readonly supportStructure: "SUPPORT_STRUCTURE";
|
|
5127
|
+
readonly deviceLeader: "DEVICE_LEADER";
|
|
5128
|
+
readonly transformerBank: "TRANSFORMER_BANK";
|
|
5029
5129
|
};
|
|
5030
5130
|
/**
|
|
5031
5131
|
* Get entity configuration by type
|
|
@@ -5112,6 +5212,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
|
|
|
5112
5212
|
* registry yet), Site, Customer and Water Heater return `false` — `entity.now`
|
|
5113
5213
|
* declines to render its cells rather than crashing or rendering empty.
|
|
5114
5214
|
*
|
|
5215
|
+
* Exported deliberately, with no host consumer yet (MR-P02-4). Inside this package
|
|
5216
|
+
* it backs the conformance assertions in `entities.test.ts`; outside it, the
|
|
5217
|
+
* intended consumer is P11's `visible-when` work, which needs "does this entity
|
|
5218
|
+
* have a Now at all?" to decide whether to place the block. Checked rather than
|
|
5219
|
+
* guessed: knip (`--workspace packages/edges --include exports`) does not flag it,
|
|
5220
|
+
* because `src/index.ts` and `src/server.ts` are configured entry points. If that
|
|
5221
|
+
* changes, drop the `export` — it is used internally either way.
|
|
5222
|
+
*
|
|
5115
5223
|
* @param entityType - The entity type key
|
|
5116
5224
|
*/
|
|
5117
5225
|
declare function entityShowsNow(entityType: EntityType): boolean;
|
|
@@ -1886,6 +1886,20 @@ interface VectorLayerSpec extends BaseLayerSpec {
|
|
|
1886
1886
|
* rendered as a bracket over the conductor line. Ignored for non-circle layers.
|
|
1887
1887
|
*/
|
|
1888
1888
|
hideChipWhen?: any;
|
|
1889
|
+
/**
|
|
1890
|
+
* Reveal the chip (circle fill + border) only while the feature is hovered —
|
|
1891
|
+
* the resting render is fully transparent, so only a glyph drawn on top
|
|
1892
|
+
* occupies the map. For dense point layers (e.g. tens of thousands of
|
|
1893
|
+
* support structures) where a permanent chip per feature is visual noise.
|
|
1894
|
+
*
|
|
1895
|
+
* Driven by the `hover` feature-state, which `InteractiveMap` sets/clears in
|
|
1896
|
+
* its shared mouse handlers — so this only works for layers rendered inside
|
|
1897
|
+
* an InteractiveMap, and **requires `promoteId`** (feature-state needs
|
|
1898
|
+
* feature ids, and vector-tile features usually have none). Composes with
|
|
1899
|
+
* `hideChipWhen`: features matching that expression stay chipless even while
|
|
1900
|
+
* hovered. Ignored for non-circle layers.
|
|
1901
|
+
*/
|
|
1902
|
+
revealChipOnHover?: boolean;
|
|
1889
1903
|
}
|
|
1890
1904
|
/**
|
|
1891
1905
|
* GeoJSON layer (client-side data or URL)
|
|
@@ -2804,7 +2818,7 @@ type EntityCategory = "platform" | "grid" | "device";
|
|
|
2804
2818
|
* - `grid-line` — lines & structures (overhead/underground spans, support structures).
|
|
2805
2819
|
*
|
|
2806
2820
|
* Matches the design's coverage matrix (DESIGN-REFERENCE.md §2). Every entry in
|
|
2807
|
-
* `ENTITY_CONFIG` carries an archetype, even the
|
|
2821
|
+
* `ENTITY_CONFIG` carries an archetype, even the 13 that have no detail page —
|
|
2808
2822
|
* the archetype is the composition it *would* use; `detailPage` gates whether a
|
|
2809
2823
|
* page is actually reachable.
|
|
2810
2824
|
*/
|
|
@@ -2977,13 +2991,13 @@ interface EntityConfig {
|
|
|
2977
2991
|
closed: EntityStateVariant;
|
|
2978
2992
|
};
|
|
2979
2993
|
/**
|
|
2980
|
-
* The base page composition this entity renders with. Required on all
|
|
2994
|
+
* The base page composition this entity renders with. Required on all 43
|
|
2981
2995
|
* entries — the archetype is the composition an entity *would* use even when
|
|
2982
2996
|
* `detailPage` is false.
|
|
2983
2997
|
*/
|
|
2984
2998
|
archetype: EntityArchetype;
|
|
2985
2999
|
/**
|
|
2986
|
-
* Whether this entity has a reachable detail page. 30 of
|
|
3000
|
+
* Whether this entity has a reachable detail page. 30 of 43 are `true`; the
|
|
2987
3001
|
* registry is the single answer to "does this entity have a page?".
|
|
2988
3002
|
*/
|
|
2989
3003
|
detailPage: boolean;
|
|
@@ -3014,8 +3028,13 @@ interface EntityConfig {
|
|
|
3014
3028
|
fusedMetricId?: string;
|
|
3015
3029
|
/**
|
|
3016
3030
|
* State rules for `entity.now`'s status chips. `primaryState` drives the
|
|
3017
|
-
* pulsing primary chip; `secondaryState`
|
|
3018
|
-
*
|
|
3031
|
+
* pulsing primary chip; `secondaryState` renders a second chip with no pulse.
|
|
3032
|
+
*
|
|
3033
|
+
* Only `battery` declares a `secondaryState` today (charge + grid). This
|
|
3034
|
+
* docstring used to say "battery/inverter" — `inverter` has never had one, and
|
|
3035
|
+
* the fix is this comment, not the code: adding a `secondaryState` to inverter
|
|
3036
|
+
* would put a new chip on a live page, which is a product change wearing a
|
|
3037
|
+
* typo's clothes.
|
|
3019
3038
|
*/
|
|
3020
3039
|
stateRules?: {
|
|
3021
3040
|
primaryState: EntityStateRule;
|
|
@@ -3091,7 +3110,7 @@ declare const ENTITY_CATEGORY_CONFIG: {
|
|
|
3091
3110
|
};
|
|
3092
3111
|
/** The coarse element-type axis (mirrors `@texturehq/grid-element-config`'s
|
|
3093
3112
|
* `GridElementType`; kept in sync by transcription). */
|
|
3094
|
-
type GridElementSourceType = "CAPACITOR" | "CONSUMER" | "GENERATOR" | "MOTOR" | "NODE" | "OVERCURRENT_DEVICE" | "OVERHEAD_LINE" | "REGULATOR" | "SOURCE" | "SUPPORT_STRUCTURE" | "SWITCH" | "TRANSFORMER" | "UNDERGROUND_LINE";
|
|
3113
|
+
type GridElementSourceType = "CAPACITOR" | "CONSUMER" | "DEVICE_LEADER" | "GENERATOR" | "MOTOR" | "NODE" | "OVERCURRENT_DEVICE" | "OVERHEAD_LINE" | "REGULATOR" | "SOURCE" | "SUPPORT_STRUCTURE" | "SWITCH" | "TRANSFORMER" | "TRANSFORMER_BANK" | "UNDERGROUND_LINE";
|
|
3095
3114
|
/**
|
|
3096
3115
|
* JSONB keys that are ABSENT or PII-zeroed in prod (MR-07 coverage table). No
|
|
3097
3116
|
* grid stat-list row (or headline metric) may reference one of these — enforced
|
|
@@ -3266,6 +3285,14 @@ declare const GRID_STAT_LIST: {
|
|
|
3266
3285
|
readonly format: {
|
|
3267
3286
|
readonly type: "text";
|
|
3268
3287
|
};
|
|
3288
|
+
}, {
|
|
3289
|
+
readonly key: "max_continuous_current";
|
|
3290
|
+
readonly label: "Max Continuous Current";
|
|
3291
|
+
readonly format: {
|
|
3292
|
+
readonly type: "number";
|
|
3293
|
+
readonly unit: "A";
|
|
3294
|
+
readonly decimals: 0;
|
|
3295
|
+
};
|
|
3269
3296
|
}, {
|
|
3270
3297
|
readonly key: "switchIsOpen";
|
|
3271
3298
|
readonly label: "Position";
|
|
@@ -3472,6 +3499,13 @@ declare const GRID_STAT_LIST: {
|
|
|
3472
3499
|
readonly format: {
|
|
3473
3500
|
readonly type: "text";
|
|
3474
3501
|
};
|
|
3502
|
+
}, {
|
|
3503
|
+
readonly key: "generator_system_size";
|
|
3504
|
+
readonly label: "System Size";
|
|
3505
|
+
readonly format: {
|
|
3506
|
+
readonly type: "number";
|
|
3507
|
+
readonly decimals: 1;
|
|
3508
|
+
};
|
|
3475
3509
|
}];
|
|
3476
3510
|
readonly MOTOR: [{
|
|
3477
3511
|
readonly key: "ratedPower";
|
|
@@ -3490,6 +3524,8 @@ declare const GRID_STAT_LIST: {
|
|
|
3490
3524
|
readonly decimals: 0;
|
|
3491
3525
|
};
|
|
3492
3526
|
}];
|
|
3527
|
+
readonly DEVICE_LEADER: [];
|
|
3528
|
+
readonly TRANSFORMER_BANK: [];
|
|
3493
3529
|
};
|
|
3494
3530
|
declare const ENTITY_CONFIG: {
|
|
3495
3531
|
readonly app: {
|
|
@@ -3635,6 +3671,17 @@ declare const ENTITY_CONFIG: {
|
|
|
3635
3671
|
};
|
|
3636
3672
|
readonly description: "Rule that watches a metric against a threshold";
|
|
3637
3673
|
};
|
|
3674
|
+
readonly insight: {
|
|
3675
|
+
readonly icon: "LightbulbFilament";
|
|
3676
|
+
readonly category: "platform";
|
|
3677
|
+
readonly archetype: "platform";
|
|
3678
|
+
readonly detailPage: false;
|
|
3679
|
+
readonly label: {
|
|
3680
|
+
readonly singular: "Insight";
|
|
3681
|
+
readonly plural: "Insights";
|
|
3682
|
+
};
|
|
3683
|
+
readonly description: "Derived finding surfaced from platform data";
|
|
3684
|
+
};
|
|
3638
3685
|
readonly command: {
|
|
3639
3686
|
readonly icon: "Play";
|
|
3640
3687
|
readonly category: "platform";
|
|
@@ -3772,6 +3819,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3772
3819
|
readonly format: {
|
|
3773
3820
|
readonly type: "text";
|
|
3774
3821
|
};
|
|
3822
|
+
}, {
|
|
3823
|
+
readonly key: "max_continuous_current";
|
|
3824
|
+
readonly label: "Max Continuous Current";
|
|
3825
|
+
readonly format: {
|
|
3826
|
+
readonly type: "number";
|
|
3827
|
+
readonly unit: "A";
|
|
3828
|
+
readonly decimals: 0;
|
|
3829
|
+
};
|
|
3775
3830
|
}, {
|
|
3776
3831
|
readonly key: "switchIsOpen";
|
|
3777
3832
|
readonly label: "Position";
|
|
@@ -3826,6 +3881,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3826
3881
|
readonly format: {
|
|
3827
3882
|
readonly type: "text";
|
|
3828
3883
|
};
|
|
3884
|
+
}, {
|
|
3885
|
+
readonly key: "max_continuous_current";
|
|
3886
|
+
readonly label: "Max Continuous Current";
|
|
3887
|
+
readonly format: {
|
|
3888
|
+
readonly type: "number";
|
|
3889
|
+
readonly unit: "A";
|
|
3890
|
+
readonly decimals: 0;
|
|
3891
|
+
};
|
|
3829
3892
|
}, {
|
|
3830
3893
|
readonly key: "switchIsOpen";
|
|
3831
3894
|
readonly label: "Position";
|
|
@@ -4486,6 +4549,13 @@ declare const ENTITY_CONFIG: {
|
|
|
4486
4549
|
readonly format: {
|
|
4487
4550
|
readonly type: "text";
|
|
4488
4551
|
};
|
|
4552
|
+
}, {
|
|
4553
|
+
readonly key: "generator_system_size";
|
|
4554
|
+
readonly label: "System Size";
|
|
4555
|
+
readonly format: {
|
|
4556
|
+
readonly type: "number";
|
|
4557
|
+
readonly decimals: 1;
|
|
4558
|
+
};
|
|
4489
4559
|
}];
|
|
4490
4560
|
};
|
|
4491
4561
|
readonly label: {
|
|
@@ -4588,6 +4658,34 @@ declare const ENTITY_CONFIG: {
|
|
|
4588
4658
|
};
|
|
4589
4659
|
readonly description: "Structure carrying overhead line equipment";
|
|
4590
4660
|
};
|
|
4661
|
+
readonly deviceLeader: {
|
|
4662
|
+
readonly icon: "FlowArrow";
|
|
4663
|
+
readonly category: "grid";
|
|
4664
|
+
readonly archetype: "grid-line";
|
|
4665
|
+
readonly detailPage: true;
|
|
4666
|
+
readonly properties: {
|
|
4667
|
+
readonly statList: [];
|
|
4668
|
+
};
|
|
4669
|
+
readonly label: {
|
|
4670
|
+
readonly singular: "Device Leader";
|
|
4671
|
+
readonly plural: "Device Leaders";
|
|
4672
|
+
};
|
|
4673
|
+
readonly description: "Cartographic leader line pointing an offset device symbol to its true location";
|
|
4674
|
+
};
|
|
4675
|
+
readonly transformerBank: {
|
|
4676
|
+
readonly icon: "TextureTransformer";
|
|
4677
|
+
readonly category: "grid";
|
|
4678
|
+
readonly archetype: "grid-energized";
|
|
4679
|
+
readonly detailPage: true;
|
|
4680
|
+
readonly properties: {
|
|
4681
|
+
readonly statList: [];
|
|
4682
|
+
};
|
|
4683
|
+
readonly label: {
|
|
4684
|
+
readonly singular: "Transformer Bank";
|
|
4685
|
+
readonly plural: "Transformer Banks";
|
|
4686
|
+
};
|
|
4687
|
+
readonly description: "Grouping of single-phase transformer units sharing a bank id";
|
|
4688
|
+
};
|
|
4591
4689
|
readonly battery: {
|
|
4592
4690
|
readonly icon: "BatteryHigh";
|
|
4593
4691
|
readonly category: "device";
|
|
@@ -5026,6 +5124,8 @@ declare const GRID_ELEMENT_TYPE_BY_ENTITY: {
|
|
|
5026
5124
|
readonly generator: "GENERATOR";
|
|
5027
5125
|
readonly regulator: "REGULATOR";
|
|
5028
5126
|
readonly supportStructure: "SUPPORT_STRUCTURE";
|
|
5127
|
+
readonly deviceLeader: "DEVICE_LEADER";
|
|
5128
|
+
readonly transformerBank: "TRANSFORMER_BANK";
|
|
5029
5129
|
};
|
|
5030
5130
|
/**
|
|
5031
5131
|
* Get entity configuration by type
|
|
@@ -5112,6 +5212,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
|
|
|
5112
5212
|
* registry yet), Site, Customer and Water Heater return `false` — `entity.now`
|
|
5113
5213
|
* declines to render its cells rather than crashing or rendering empty.
|
|
5114
5214
|
*
|
|
5215
|
+
* Exported deliberately, with no host consumer yet (MR-P02-4). Inside this package
|
|
5216
|
+
* it backs the conformance assertions in `entities.test.ts`; outside it, the
|
|
5217
|
+
* intended consumer is P11's `visible-when` work, which needs "does this entity
|
|
5218
|
+
* have a Now at all?" to decide whether to place the block. Checked rather than
|
|
5219
|
+
* guessed: knip (`--workspace packages/edges --include exports`) does not flag it,
|
|
5220
|
+
* because `src/index.ts` and `src/server.ts` are configured entry points. If that
|
|
5221
|
+
* changes, drop the `export` — it is used internally either way.
|
|
5222
|
+
*
|
|
5115
5223
|
* @param entityType - The entity type key
|
|
5116
5224
|
*/
|
|
5117
5225
|
declare function entityShowsNow(entityType: EntityType): boolean;
|