@texturehq/edges 5.8.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.
- package/dist/{colors-CM2yXnpR.d.cts → colors-DHG6UEkV.d.cts} +67 -5
- package/dist/{colors-Bw7a6pAI.d.ts → colors-gtFYJRlG.d.ts} +67 -5
- 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 +1 -1
- 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 +1 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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
|
|
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`
|
|
3018
|
-
*
|
|
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;
|
|
@@ -3266,6 +3271,14 @@ declare const GRID_STAT_LIST: {
|
|
|
3266
3271
|
readonly format: {
|
|
3267
3272
|
readonly type: "text";
|
|
3268
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
|
+
};
|
|
3269
3282
|
}, {
|
|
3270
3283
|
readonly key: "switchIsOpen";
|
|
3271
3284
|
readonly label: "Position";
|
|
@@ -3472,6 +3485,13 @@ declare const GRID_STAT_LIST: {
|
|
|
3472
3485
|
readonly format: {
|
|
3473
3486
|
readonly type: "text";
|
|
3474
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
|
+
};
|
|
3475
3495
|
}];
|
|
3476
3496
|
readonly MOTOR: [{
|
|
3477
3497
|
readonly key: "ratedPower";
|
|
@@ -3635,6 +3655,17 @@ declare const ENTITY_CONFIG: {
|
|
|
3635
3655
|
};
|
|
3636
3656
|
readonly description: "Rule that watches a metric against a threshold";
|
|
3637
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
|
+
};
|
|
3638
3669
|
readonly command: {
|
|
3639
3670
|
readonly icon: "Play";
|
|
3640
3671
|
readonly category: "platform";
|
|
@@ -3772,6 +3803,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3772
3803
|
readonly format: {
|
|
3773
3804
|
readonly type: "text";
|
|
3774
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
|
+
};
|
|
3775
3814
|
}, {
|
|
3776
3815
|
readonly key: "switchIsOpen";
|
|
3777
3816
|
readonly label: "Position";
|
|
@@ -3826,6 +3865,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3826
3865
|
readonly format: {
|
|
3827
3866
|
readonly type: "text";
|
|
3828
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
|
+
};
|
|
3829
3876
|
}, {
|
|
3830
3877
|
readonly key: "switchIsOpen";
|
|
3831
3878
|
readonly label: "Position";
|
|
@@ -4486,6 +4533,13 @@ declare const ENTITY_CONFIG: {
|
|
|
4486
4533
|
readonly format: {
|
|
4487
4534
|
readonly type: "text";
|
|
4488
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
|
+
};
|
|
4489
4543
|
}];
|
|
4490
4544
|
};
|
|
4491
4545
|
readonly label: {
|
|
@@ -5112,6 +5166,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
|
|
|
5112
5166
|
* registry yet), Site, Customer and Water Heater return `false` — `entity.now`
|
|
5113
5167
|
* declines to render its cells rather than crashing or rendering empty.
|
|
5114
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
|
+
*
|
|
5115
5177
|
* @param entityType - The entity type key
|
|
5116
5178
|
*/
|
|
5117
5179
|
declare function entityShowsNow(entityType: EntityType): boolean;
|
|
@@ -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
|
|
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
|
|
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
|
|
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`
|
|
3018
|
-
*
|
|
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;
|
|
@@ -3266,6 +3271,14 @@ declare const GRID_STAT_LIST: {
|
|
|
3266
3271
|
readonly format: {
|
|
3267
3272
|
readonly type: "text";
|
|
3268
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
|
+
};
|
|
3269
3282
|
}, {
|
|
3270
3283
|
readonly key: "switchIsOpen";
|
|
3271
3284
|
readonly label: "Position";
|
|
@@ -3472,6 +3485,13 @@ declare const GRID_STAT_LIST: {
|
|
|
3472
3485
|
readonly format: {
|
|
3473
3486
|
readonly type: "text";
|
|
3474
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
|
+
};
|
|
3475
3495
|
}];
|
|
3476
3496
|
readonly MOTOR: [{
|
|
3477
3497
|
readonly key: "ratedPower";
|
|
@@ -3635,6 +3655,17 @@ declare const ENTITY_CONFIG: {
|
|
|
3635
3655
|
};
|
|
3636
3656
|
readonly description: "Rule that watches a metric against a threshold";
|
|
3637
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
|
+
};
|
|
3638
3669
|
readonly command: {
|
|
3639
3670
|
readonly icon: "Play";
|
|
3640
3671
|
readonly category: "platform";
|
|
@@ -3772,6 +3803,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3772
3803
|
readonly format: {
|
|
3773
3804
|
readonly type: "text";
|
|
3774
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
|
+
};
|
|
3775
3814
|
}, {
|
|
3776
3815
|
readonly key: "switchIsOpen";
|
|
3777
3816
|
readonly label: "Position";
|
|
@@ -3826,6 +3865,14 @@ declare const ENTITY_CONFIG: {
|
|
|
3826
3865
|
readonly format: {
|
|
3827
3866
|
readonly type: "text";
|
|
3828
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
|
+
};
|
|
3829
3876
|
}, {
|
|
3830
3877
|
readonly key: "switchIsOpen";
|
|
3831
3878
|
readonly label: "Position";
|
|
@@ -4486,6 +4533,13 @@ declare const ENTITY_CONFIG: {
|
|
|
4486
4533
|
readonly format: {
|
|
4487
4534
|
readonly type: "text";
|
|
4488
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
|
+
};
|
|
4489
4543
|
}];
|
|
4490
4544
|
};
|
|
4491
4545
|
readonly label: {
|
|
@@ -5112,6 +5166,14 @@ declare function entityHasDetailPage(entityType: EntityType): boolean;
|
|
|
5112
5166
|
* registry yet), Site, Customer and Water Heater return `false` — `entity.now`
|
|
5113
5167
|
* declines to render its cells rather than crashing or rendering empty.
|
|
5114
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
|
+
*
|
|
5115
5177
|
* @param entityType - The entity type key
|
|
5116
5178
|
*/
|
|
5117
5179
|
declare function entityShowsNow(entityType: EntityType): boolean;
|