@camstack/types 1.2.256 → 1.2.258
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/capabilities/consumables.cap.d.ts +10 -2
- package/dist/capabilities/custom-model-registry.cap.d.ts +2 -0
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/model-convert.cap.d.ts +3 -0
- package/dist/capabilities/model-distributor.cap.d.ts +2 -0
- package/dist/capabilities/notification-rules.cap.d.ts +102 -0
- package/dist/capabilities/osd-manager.cap.d.ts +24 -0
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +203 -13
- package/dist/index.mjs +197 -14
- package/dist/notification/system-event-families.d.ts +1 -1
- package/dist/notification/system-event-filters.d.ts +11 -3
- package/dist/notification/template-vars.d.ts +24 -1
- package/dist/types/models.d.ts +4 -1
- package/dist/types/pipeline-step.d.ts +4 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5147,10 +5147,17 @@ var ModelCatalogEntrySchema = zod.z.object({
|
|
|
5147
5147
|
inputChannels: zod.z.number().int().positive().optional(),
|
|
5148
5148
|
labels: zod.z.array(LabelDefinitionSchema).readonly(),
|
|
5149
5149
|
inputLayout: zod.z.enum(["nchw", "nhwc"]).optional(),
|
|
5150
|
+
/**
|
|
5151
|
+
* `'scrfd'` applies InsightFace's SCRFD input contract, `(x - 127.5) / 128`
|
|
5152
|
+
* (upstream `insightface/model_zoo/scrfd.py`), instead of the historical
|
|
5153
|
+
* plain `/255`. Measured against COCO GT: 188 → 196 faces found on the
|
|
5154
|
+
* `scrfd-2.5g` catalog entry (2026-09-26 model-replacement spike, §2.4-2).
|
|
5155
|
+
*/
|
|
5150
5156
|
inputNormalization: zod.z.enum([
|
|
5151
5157
|
"zero-one",
|
|
5152
5158
|
"imagenet",
|
|
5153
|
-
"none"
|
|
5159
|
+
"none",
|
|
5160
|
+
"scrfd"
|
|
5154
5161
|
]).optional(),
|
|
5155
5162
|
/**
|
|
5156
5163
|
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
@@ -5252,7 +5259,8 @@ var ModelConvertMetadataSchema = zod.z.object({
|
|
|
5252
5259
|
inputNormalization: zod.z.enum([
|
|
5253
5260
|
"zero-one",
|
|
5254
5261
|
"imagenet",
|
|
5255
|
-
"none"
|
|
5262
|
+
"none",
|
|
5263
|
+
"scrfd"
|
|
5256
5264
|
]).optional(),
|
|
5257
5265
|
preprocessMode: zod.z.enum(["letterbox", "resize"]).optional(),
|
|
5258
5266
|
outputFormat: zod.z.enum([
|
|
@@ -17196,6 +17204,9 @@ var NcSystemEventKindSchema = zod.z.enum([
|
|
|
17196
17204
|
"device-battery-normal",
|
|
17197
17205
|
"device-consumable-low",
|
|
17198
17206
|
"device-consumable-normal",
|
|
17207
|
+
"device-tank-low",
|
|
17208
|
+
"device-tank-full",
|
|
17209
|
+
"device-tank-normal",
|
|
17199
17210
|
"stream-online",
|
|
17200
17211
|
"stream-offline",
|
|
17201
17212
|
"node-online",
|
|
@@ -17276,6 +17287,31 @@ var NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS = [
|
|
|
17276
17287
|
"device-consumable-normal"
|
|
17277
17288
|
];
|
|
17278
17289
|
/**
|
|
17290
|
+
* The two kinds a RULE's consumable threshold speaks about (D642). Named once:
|
|
17291
|
+
* the filter scoping (`systemEventFilterApplies`), the hub's threshold census
|
|
17292
|
+
* and both editors read it.
|
|
17293
|
+
*/
|
|
17294
|
+
var NC_CONSUMABLE_SYSTEM_EVENT_KINDS = ["device-consumable-low", "device-consumable-normal"];
|
|
17295
|
+
/** A vacuum's tank alerts (D642) — raised on the provider's own verdict. */
|
|
17296
|
+
var NC_TANK_SYSTEM_EVENT_KINDS = [
|
|
17297
|
+
"device-tank-low",
|
|
17298
|
+
"device-tank-full",
|
|
17299
|
+
"device-tank-normal"
|
|
17300
|
+
];
|
|
17301
|
+
/**
|
|
17302
|
+
* The consumable threshold a rule that does not state one judges at (D642).
|
|
17303
|
+
* The operator's number ("default 15 %, configurable on the rule"), and the
|
|
17304
|
+
* value the cluster-wide setting it replaces shipped with.
|
|
17305
|
+
*/
|
|
17306
|
+
var NC_CONSUMABLE_LOW_PERCENT_DEFAULT = 15;
|
|
17307
|
+
/**
|
|
17308
|
+
* The highest consumable threshold a rule may state (D642 review M1): 100 minus
|
|
17309
|
+
* the band's 5-point recovery hysteresis (`consumable-band.ts`). Above it the
|
|
17310
|
+
* recovery point passes 100 % and an episode could never clear, even for a
|
|
17311
|
+
* part just replaced. A spec in the notification centre pins the sum.
|
|
17312
|
+
*/
|
|
17313
|
+
var NC_CONSUMABLE_LOW_PERCENT_MAX = 95;
|
|
17314
|
+
/**
|
|
17279
17315
|
* One coherent system-event condition. `kinds` is the required opt-in safety
|
|
17280
17316
|
* gate; the remaining lists are optional narrowing filters relevant to the
|
|
17281
17317
|
* selected kinds.
|
|
@@ -17309,8 +17345,27 @@ var NcSystemEventConditionSchema = zod.z.object({
|
|
|
17309
17345
|
*/
|
|
17310
17346
|
excludeDeviceIds: zod.z.array(zod.z.number().int()).min(1).optional(),
|
|
17311
17347
|
nodeIds: zod.z.array(zod.z.string().min(1)).min(1).optional(),
|
|
17312
|
-
packageNames: zod.z.array(zod.z.string().min(1)).min(1).optional()
|
|
17313
|
-
|
|
17348
|
+
packageNames: zod.z.array(zod.z.string().min(1)).min(1).optional(),
|
|
17349
|
+
/**
|
|
17350
|
+
* At or below this remaining-life %, a consumable is LOW for THIS rule
|
|
17351
|
+
* (D642). Absent = {@link NC_CONSUMABLE_LOW_PERCENT_DEFAULT}; at most
|
|
17352
|
+
* {@link NC_CONSUMABLE_LOW_PERCENT_MAX}, so every episode can recover. Scoped to the
|
|
17353
|
+
* consumable kinds (`systemEventFilterApplies`) and to the device-events
|
|
17354
|
+
* family; ignored on every other kind.
|
|
17355
|
+
*
|
|
17356
|
+
* It is a property of the RULE because the operator decided so: a rule at
|
|
17357
|
+
* 25 must be told about a filter at 20 %, a rule at 10 must not. The hub
|
|
17358
|
+
* keeps one episode per (threshold, device, item) — its own hysteresis, its
|
|
17359
|
+
* own reminder — and a rule hears only the episode judged at ITS threshold,
|
|
17360
|
+
* exactly as an occupancy rule hears only the edge of its own count. A
|
|
17361
|
+
* provider's own `replace` verdict is low at every threshold.
|
|
17362
|
+
*/
|
|
17363
|
+
consumableLowPercent: zod.z.number().int().min(1).max(95).optional()
|
|
17364
|
+
});
|
|
17365
|
+
/** The consumable threshold a system-event condition judges at (D642). */
|
|
17366
|
+
function consumableLowPercentOf(condition) {
|
|
17367
|
+
return condition.consumableLowPercent ?? 15;
|
|
17368
|
+
}
|
|
17314
17369
|
/**
|
|
17315
17370
|
* `maxPerTrack` for `immediate` rules is FIXED at 1 (D-3): a single track
|
|
17316
17371
|
* fires an immediate rule at most once, enforced durably by the outbox
|
|
@@ -18628,6 +18683,18 @@ var NC_CONDITION_CATALOG = [
|
|
|
18628
18683
|
value: "device-consumable-normal",
|
|
18629
18684
|
label: "Consumable replaced"
|
|
18630
18685
|
},
|
|
18686
|
+
{
|
|
18687
|
+
value: "device-tank-low",
|
|
18688
|
+
label: "Tank low (water, detergent)"
|
|
18689
|
+
},
|
|
18690
|
+
{
|
|
18691
|
+
value: "device-tank-full",
|
|
18692
|
+
label: "Tank full (dirty water, dust)"
|
|
18693
|
+
},
|
|
18694
|
+
{
|
|
18695
|
+
value: "device-tank-normal",
|
|
18696
|
+
label: "Tank back to normal"
|
|
18697
|
+
},
|
|
18631
18698
|
{
|
|
18632
18699
|
value: "export-completed",
|
|
18633
18700
|
label: "Export completed"
|
|
@@ -31774,12 +31841,20 @@ reset: require_sleep.method(zod.z.object({
|
|
|
31774
31841
|
},
|
|
31775
31842
|
runtimeState: ConsumablesStatusSchema.extend({ lastFetchedAt: zod.z.number() }),
|
|
31776
31843
|
/**
|
|
31777
|
-
* Runtime-state durability: **
|
|
31844
|
+
* Runtime-state durability: **restored** — nothing else holds the value
|
|
31845
|
+
* (D642). A consumable can often be read only in a device's wake window (the
|
|
31846
|
+
* Dreame mower's CMS counters answer only while it charges), so a restart
|
|
31847
|
+
* that wiped the slice left the panel empty and the alerts blind until the
|
|
31848
|
+
* next wake — 2026-09-26, mower 503 idle with `items: []`. A restored item is
|
|
31849
|
+
* the previous observation, not a claim about now; the provider overwrites it
|
|
31850
|
+
* the moment it reads the device again.
|
|
31778
31851
|
*
|
|
31779
31852
|
* See `RuntimeStateDurability`. Enforced by
|
|
31780
31853
|
* `scripts/check-runtime-state-durability.ts`.
|
|
31781
31854
|
*/
|
|
31782
|
-
durability: "
|
|
31855
|
+
durability: "restored",
|
|
31856
|
+
/** Clocks, not content: a re-read that changed no item costs no commit. */
|
|
31857
|
+
volatileStateFields: ["lastChangedAt", "lastFetchedAt"]
|
|
31783
31858
|
};
|
|
31784
31859
|
//#endregion
|
|
31785
31860
|
//#region src/capabilities/contact.cap.ts
|
|
@@ -59039,7 +59114,7 @@ function getCapsByProviderKind(kind) {
|
|
|
59039
59114
|
//#region src/generated/runtime-state-durability.ts
|
|
59040
59115
|
/**
|
|
59041
59116
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
59042
|
-
* `runtimeState`. 69 caps:
|
|
59117
|
+
* `runtimeState`. 69 caps: 37 `restored`, 32 `session`.
|
|
59043
59118
|
*
|
|
59044
59119
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
59045
59120
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -59098,8 +59173,8 @@ var RUNTIME_STATE_POLICY = {
|
|
|
59098
59173
|
volatileFields: ["lastChangedAt"]
|
|
59099
59174
|
},
|
|
59100
59175
|
"consumables": {
|
|
59101
|
-
durability: "
|
|
59102
|
-
volatileFields: []
|
|
59176
|
+
durability: "restored",
|
|
59177
|
+
volatileFields: ["lastChangedAt", "lastFetchedAt"]
|
|
59103
59178
|
},
|
|
59104
59179
|
"contact": {
|
|
59105
59180
|
durability: "restored",
|
|
@@ -59350,6 +59425,7 @@ var RESTORED_CAP_NAMES = [
|
|
|
59350
59425
|
"binary",
|
|
59351
59426
|
"carbon-monoxide",
|
|
59352
59427
|
"connectivity",
|
|
59428
|
+
"consumables",
|
|
59353
59429
|
"contact",
|
|
59354
59430
|
"cover",
|
|
59355
59431
|
"day-night",
|
|
@@ -60865,12 +60941,55 @@ function prepareNotification(caps, n) {
|
|
|
60865
60941
|
}
|
|
60866
60942
|
//#endregion
|
|
60867
60943
|
//#region src/notification/system-event-filters.ts
|
|
60868
|
-
/**
|
|
60944
|
+
/**
|
|
60945
|
+
* WHICH narrowing filter speaks about WHICH system-event kind — one predicate,
|
|
60946
|
+
* consumed by the rule ENGINE and by every rule EDITOR.
|
|
60947
|
+
*
|
|
60948
|
+
* ── The failure this file exists for ───────────────────────────────────────
|
|
60949
|
+
* `NcSystemEventConditionSchema` carries four optional narrowing lists
|
|
60950
|
+
* (`deviceIds`, `deviceTypes`, `nodeIds`, `packageNames`) beside a required
|
|
60951
|
+
* `kinds` gate. They are not four filters over one vocabulary: each belongs to
|
|
60952
|
+
* a FAMILY of kinds and is meaningless outside it. A node going away has no
|
|
60953
|
+
* device type; a completed export has no package; `stream-offline` deliberately
|
|
60954
|
+
* carries no device type at all (a stream belongs to a camera by construction).
|
|
60955
|
+
*
|
|
60956
|
+
* The engine applied all four to every kind, so a filter from one family failed
|
|
60957
|
+
* a kind from another family CLOSED. The operator's live rule "Eventi di
|
|
60958
|
+
* sistema" selected eleven kinds and set `deviceTypes: ['camera']` — the only
|
|
60959
|
+
* way to say "only my cameras" about the two liveness kinds — and NINE of the
|
|
60960
|
+
* eleven silently stopped being deliverable. Four days of history contained
|
|
60961
|
+
* `device-online` and `device-offline` and nothing else, across a window in
|
|
60962
|
+
* which agents were restarted and addons were updated.
|
|
60963
|
+
*
|
|
60964
|
+
* Both editors already computed this scoping, to decide which filter boxes to
|
|
60965
|
+
* render; the cap's own docblock already promised it ("Narrow a `device-*` kind
|
|
60966
|
+
* to these device TYPES"). Only the engine disagreed, and it disagreed in the
|
|
60967
|
+
* destructive direction. So the rule is stated ONCE, here, and the engine and
|
|
60968
|
+
* the editors are readers of it rather than three independent authors.
|
|
60969
|
+
*
|
|
60970
|
+
* ── The direction ─────────────────────────────────────────────────────────
|
|
60971
|
+
* Out of family ⇒ the filter is IGNORED, never fail-closed. An editor that
|
|
60972
|
+
* hides a box has already told the operator this filter does not speak about
|
|
60973
|
+
* these kinds, so honouring it as an exclusion contradicts the only
|
|
60974
|
+
* explanation the operator was ever given. Inside its family the filter still
|
|
60975
|
+
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
60976
|
+
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
60977
|
+
*/
|
|
60978
|
+
/**
|
|
60979
|
+
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
60980
|
+
*
|
|
60981
|
+
* `consumableLowPercent` (D642) is not a list but it is a filter in exactly
|
|
60982
|
+
* this sense: it belongs to a family of kinds (the consumable pair) and the
|
|
60983
|
+
* engine consults it only there. It differs in one way the readers must know —
|
|
60984
|
+
* its ABSENCE is not "no narrowing" but the default threshold, because a
|
|
60985
|
+
* consumable episode is always judged at SOME threshold.
|
|
60986
|
+
*/
|
|
60869
60987
|
var NC_SYSTEM_EVENT_FILTER_KEYS = [
|
|
60870
60988
|
"deviceIds",
|
|
60871
60989
|
"deviceTypes",
|
|
60872
60990
|
"nodeIds",
|
|
60873
|
-
"packageNames"
|
|
60991
|
+
"packageNames",
|
|
60992
|
+
"consumableLowPercent"
|
|
60874
60993
|
];
|
|
60875
60994
|
/**
|
|
60876
60995
|
* Does `filter` say anything about `kind`?
|
|
@@ -60884,6 +61003,7 @@ function systemEventFilterApplies(kind, filter) {
|
|
|
60884
61003
|
case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
|
|
60885
61004
|
case "nodeIds": return kind.startsWith("node-") || kind === "addon-crash-loop" || kind === "addon-update-available" || kind === "addon-updated" || kind === "server-update-available" || kind === "wrapper-update-available" || kind === "server-updated";
|
|
60886
61005
|
case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "server-updated";
|
|
61006
|
+
case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
|
|
60887
61007
|
}
|
|
60888
61008
|
}
|
|
60889
61009
|
/**
|
|
@@ -60932,6 +61052,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
60932
61052
|
"device-battery-normal": "device-events",
|
|
60933
61053
|
"device-consumable-low": "device-events",
|
|
60934
61054
|
"device-consumable-normal": "device-events",
|
|
61055
|
+
"device-tank-low": "device-events",
|
|
61056
|
+
"device-tank-full": "device-events",
|
|
61057
|
+
"device-tank-normal": "device-events",
|
|
60935
61058
|
"stream-online": "device-events",
|
|
60936
61059
|
"stream-offline": "device-events",
|
|
60937
61060
|
"detection-blind": "device-events",
|
|
@@ -60964,7 +61087,7 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
60964
61087
|
var FAMILY_BY_NAME = new Map(Object.entries(NC_SYSTEM_EVENT_FAMILY));
|
|
60965
61088
|
var NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS = [...NC_SYSTEM_EVENT_FILTER_KEYS, "excludeDeviceIds"];
|
|
60966
61089
|
/**
|
|
60967
|
-
* The filters a family may carry. The
|
|
61090
|
+
* The filters a family may carry. The base filters are the union of
|
|
60968
61091
|
* `systemEventFilterApplies` over the family's kinds (the spec pins that
|
|
60969
61092
|
* equality). `excludeDeviceIds` is a device-events filter only: an alarm is
|
|
60970
61093
|
* narrowed to the camera that triggered it and excludes nothing.
|
|
@@ -60973,7 +61096,8 @@ var NC_SYSTEM_EVENT_FAMILY_FILTERS = {
|
|
|
60973
61096
|
"device-events": [
|
|
60974
61097
|
"deviceIds",
|
|
60975
61098
|
"excludeDeviceIds",
|
|
60976
|
-
"deviceTypes"
|
|
61099
|
+
"deviceTypes",
|
|
61100
|
+
"consumableLowPercent"
|
|
60977
61101
|
],
|
|
60978
61102
|
system: ["nodeIds", "packageNames"],
|
|
60979
61103
|
alarm: ["deviceIds"]
|
|
@@ -61008,6 +61132,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
61008
61132
|
label: "Consumables",
|
|
61009
61133
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
61010
61134
|
},
|
|
61135
|
+
{
|
|
61136
|
+
id: "tanks",
|
|
61137
|
+
family: "device-events",
|
|
61138
|
+
label: "Tanks",
|
|
61139
|
+
kinds: [
|
|
61140
|
+
"device-tank-low",
|
|
61141
|
+
"device-tank-full",
|
|
61142
|
+
"device-tank-normal"
|
|
61143
|
+
]
|
|
61144
|
+
},
|
|
61011
61145
|
{
|
|
61012
61146
|
id: "detection-blind",
|
|
61013
61147
|
family: "device-events",
|
|
@@ -61746,6 +61880,11 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
61746
61880
|
var RULE_TEXT = ["title", "body"];
|
|
61747
61881
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
61748
61882
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
61883
|
+
var TANK = [
|
|
61884
|
+
"device-tank-low",
|
|
61885
|
+
"device-tank-full",
|
|
61886
|
+
"device-tank-normal"
|
|
61887
|
+
];
|
|
61749
61888
|
var UPDATES = [
|
|
61750
61889
|
"addon-update-available",
|
|
61751
61890
|
"server-update-available",
|
|
@@ -61771,6 +61910,7 @@ var DEVICE_EVENTS = [
|
|
|
61771
61910
|
"device-enabled",
|
|
61772
61911
|
...BATTERY,
|
|
61773
61912
|
...CONSUMABLE,
|
|
61913
|
+
...TANK,
|
|
61774
61914
|
"stream-online",
|
|
61775
61915
|
"stream-offline",
|
|
61776
61916
|
"detection-blind",
|
|
@@ -62068,6 +62208,17 @@ var NC_TEMPLATE_VARS = [
|
|
|
62068
62208
|
kinds: ["system"],
|
|
62069
62209
|
systemEventKinds: [...CONSUMABLE]
|
|
62070
62210
|
},
|
|
62211
|
+
{
|
|
62212
|
+
name: "tank",
|
|
62213
|
+
label: "Tank",
|
|
62214
|
+
description: "Which tank: clean water, dirty water, detergent or dust bin.",
|
|
62215
|
+
example: "clean water",
|
|
62216
|
+
group: "system",
|
|
62217
|
+
families: ["rule"],
|
|
62218
|
+
fields: [...RULE_TEXT],
|
|
62219
|
+
kinds: ["system"],
|
|
62220
|
+
systemEventKinds: [...TANK]
|
|
62221
|
+
},
|
|
62071
62222
|
{
|
|
62072
62223
|
name: "profile",
|
|
62073
62224
|
label: "Stream profile",
|
|
@@ -62460,6 +62611,38 @@ var NC_TEMPLATE_VARS = [
|
|
|
62460
62611
|
fields: [...RULE_TEXT]
|
|
62461
62612
|
}
|
|
62462
62613
|
];
|
|
62614
|
+
/**
|
|
62615
|
+
* System-event kinds the SERVED catalog holds back (D642): the kinds the hub
|
|
62616
|
+
* produces before the installed viewers can parse them.
|
|
62617
|
+
*
|
|
62618
|
+
* The viewer parses `getTemplateCatalog` WHOLE, with its own strict
|
|
62619
|
+
* `NcSystemEventKindSchema` on every descriptor's `systemEventKinds`, so one
|
|
62620
|
+
* kind it does not know — in `{{deviceName}}`, which every device event names —
|
|
62621
|
+
* empties every {{var}} picker on every phone (the same trap
|
|
62622
|
+
* `NcTemplateVarKindSchema` froze the rule kinds for). The in-process catalog
|
|
62623
|
+
* keeps them: the producer parity and the preview render read it.
|
|
62624
|
+
*
|
|
62625
|
+
* SELF-EXPIRING: `scripts/check-nc-mirrors-in-sync.ts` reads this list as the
|
|
62626
|
+
* viewer's allowance and fails the day the viewer mirrors one of these kinds —
|
|
62627
|
+
* delete it from here then, and the served catalog names it again.
|
|
62628
|
+
*/
|
|
62629
|
+
var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
|
|
62630
|
+
"device-tank-low",
|
|
62631
|
+
"device-tank-full",
|
|
62632
|
+
"device-tank-normal"
|
|
62633
|
+
];
|
|
62634
|
+
/**
|
|
62635
|
+
* The catalog as `getTemplateCatalog` SERVES it: every descriptor, with the
|
|
62636
|
+
* held-back kinds removed from its `systemEventKinds`. A descriptor that named
|
|
62637
|
+
* only held-back kinds is served with an empty list — offered to no system
|
|
62638
|
+
* rule an installed viewer can author, which is exactly true.
|
|
62639
|
+
*/
|
|
62640
|
+
function servedTemplateVars() {
|
|
62641
|
+
return NC_TEMPLATE_VARS.map((d) => d.systemEventKinds === void 0 ? d : {
|
|
62642
|
+
...d,
|
|
62643
|
+
systemEventKinds: d.systemEventKinds.filter((kind) => !NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS.includes(kind))
|
|
62644
|
+
});
|
|
62645
|
+
}
|
|
62463
62646
|
/** The caption fields see a fixed, smaller vocabulary (`timelapsePreviewText`,
|
|
62464
62647
|
* `summaryCaptionText`). Declared here rather than as `fields` on every
|
|
62465
62648
|
* descriptor so the whole rule stays in one line of code. */
|
|
@@ -66179,6 +66362,9 @@ exports.NC_CONFIRM_DEFAULT_MAX_IMAGE_PX = NC_CONFIRM_DEFAULT_MAX_IMAGE_PX;
|
|
|
66179
66362
|
exports.NC_CONFIRM_DEFAULT_TIMEOUT_MS = NC_CONFIRM_DEFAULT_TIMEOUT_MS;
|
|
66180
66363
|
exports.NC_CONFIRM_MAX_TIMEOUT_MS = NC_CONFIRM_MAX_TIMEOUT_MS;
|
|
66181
66364
|
exports.NC_CONFIRM_MIN_TIMEOUT_MS = NC_CONFIRM_MIN_TIMEOUT_MS;
|
|
66365
|
+
exports.NC_CONSUMABLE_LOW_PERCENT_DEFAULT = NC_CONSUMABLE_LOW_PERCENT_DEFAULT;
|
|
66366
|
+
exports.NC_CONSUMABLE_LOW_PERCENT_MAX = NC_CONSUMABLE_LOW_PERCENT_MAX;
|
|
66367
|
+
exports.NC_CONSUMABLE_SYSTEM_EVENT_KINDS = NC_CONSUMABLE_SYSTEM_EVENT_KINDS;
|
|
66182
66368
|
exports.NC_DEFAULT_SNOOZE_MINUTES = NC_DEFAULT_SNOOZE_MINUTES;
|
|
66183
66369
|
exports.NC_HISTORY_LIMIT_DEFAULT = NC_HISTORY_LIMIT_DEFAULT;
|
|
66184
66370
|
exports.NC_HISTORY_LIMIT_MAX = NC_HISTORY_LIMIT_MAX;
|
|
@@ -66202,7 +66388,9 @@ exports.NC_SYSTEM_EVENT_FAMILY_FILTERS = NC_SYSTEM_EVENT_FAMILY_FILTERS;
|
|
|
66202
66388
|
exports.NC_SYSTEM_EVENT_FILTER_KEYS = NC_SYSTEM_EVENT_FILTER_KEYS;
|
|
66203
66389
|
exports.NC_SYSTEM_EVENT_KIND_GROUP_SPECS = NC_SYSTEM_EVENT_KIND_GROUP_SPECS;
|
|
66204
66390
|
exports.NC_SYSTEM_RULE_KINDS = NC_SYSTEM_RULE_KINDS;
|
|
66391
|
+
exports.NC_TANK_SYSTEM_EVENT_KINDS = NC_TANK_SYSTEM_EVENT_KINDS;
|
|
66205
66392
|
exports.NC_TAXONOMY = NC_TAXONOMY;
|
|
66393
|
+
exports.NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS;
|
|
66206
66394
|
exports.NC_TEMPLATE_VARS = NC_TEMPLATE_VARS;
|
|
66207
66395
|
exports.NC_UPDATE_EVENT_PACKAGE_NAMES = NC_UPDATE_EVENT_PACKAGE_NAMES;
|
|
66208
66396
|
exports.NETWORK_LINK_TYPES = NETWORK_LINK_TYPES;
|
|
@@ -66851,6 +67039,7 @@ exports.conditionExclusionReason = conditionExclusionReason;
|
|
|
66851
67039
|
exports.conditionVisibleForKind = conditionVisibleForKind;
|
|
66852
67040
|
exports.connectionTestCapability = connectionTestCapability;
|
|
66853
67041
|
exports.connectivityCapability = connectivityCapability;
|
|
67042
|
+
exports.consumableLowPercentOf = consumableLowPercentOf;
|
|
66854
67043
|
exports.consumablesCapability = consumablesCapability;
|
|
66855
67044
|
exports.contactCapability = contactCapability;
|
|
66856
67045
|
exports.controlCapability = controlCapability;
|
|
@@ -67199,6 +67388,7 @@ exports.selectAssignedProfileSlots = require_sleep.selectAssignedProfileSlots;
|
|
|
67199
67388
|
exports.sensorRaisedOf = sensorRaisedOf;
|
|
67200
67389
|
exports.sensorTransitionNeverFires = sensorTransitionNeverFires;
|
|
67201
67390
|
exports.sensorTransitionOffered = sensorTransitionOffered;
|
|
67391
|
+
exports.servedTemplateVars = servedTemplateVars;
|
|
67202
67392
|
exports.serverManagementCapability = serverManagementCapability;
|
|
67203
67393
|
exports.setByPath = setByPath;
|
|
67204
67394
|
exports.settingsStoreCapability = settingsStoreCapability;
|