@camstack/types 1.2.405 → 1.2.406
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/addon.js +21 -2
- package/dist/addon.mjs +21 -2
- package/dist/capabilities/index.d.ts +4 -2
- package/dist/capabilities/notification-rules.cap.d.ts +3 -78
- package/dist/capabilities/osd-manager.cap.d.ts +0 -18
- package/dist/capabilities/running-state.cap.d.ts +76 -0
- package/dist/client.js +10 -62
- package/dist/client.mjs +10 -62
- package/dist/{composition-eoYYVfOp.js → composition-RmnnN39T.js} +86 -2
- package/dist/{composition-CB6PMT9p.mjs → composition-xz-ud5EQ.mjs} +86 -2
- package/dist/device/cap-vocabulary/entries/appliances.d.ts +1 -1
- package/dist/enums/event-category.d.ts +4 -0
- package/dist/enums.js +1 -1
- package/dist/enums.mjs +1 -1
- package/dist/{event-category-fDPduoeC.mjs → event-category-Ceif8n-v.mjs} +4 -0
- package/dist/{event-category-CXrwjC3e.js → event-category-DG6Vir8Z.js} +4 -0
- package/dist/expression/builtins.d.ts +7 -18
- package/dist/expression/expression-source.d.ts +14 -2
- package/dist/generated/addon-api.d.ts +14 -0
- package/dist/generated/addon-cap-facts.d.ts +1 -1
- package/dist/generated/cap-status-types.d.ts +3 -1
- package/dist/generated/capability-router-map.d.ts +5 -2
- package/dist/generated/device-local-state.d.ts +3 -0
- package/dist/generated/device-proxy.d.ts +3 -0
- package/dist/generated/device-scoped-caps.d.ts +1 -1
- package/dist/generated/history-catalog.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-device-selectors.d.ts +1 -1
- package/dist/generated/runtime-state-durability.d.ts +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +345 -88
- package/dist/index.mjs +331 -88
- package/dist/interfaces/config-ui.d.ts +69 -2
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/dist/running-state/assignment.d.ts +34 -0
- package/dist/running-state/defaults.d.ts +3 -0
- package/dist/running-state/from-operation.d.ts +14 -0
- package/dist/{sleep-CHIEEJkY.mjs → sleep-CYfIZzGv.mjs} +7 -3
- package/dist/{sleep-BKS4OPMo.js → sleep-UP964hNP.js} +7 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
3
|
-
const require_event_category = require("./event-category-
|
|
4
|
-
const require_composition = require("./composition-
|
|
2
|
+
const require_sleep = require("./sleep-UP964hNP.js");
|
|
3
|
+
const require_event_category = require("./event-category-DG6Vir8Z.js");
|
|
4
|
+
const require_composition = require("./composition-RmnnN39T.js");
|
|
5
5
|
const require_node_color = require("./node-color.js");
|
|
6
6
|
const require_err_msg = require("./err-msg-BhVbr0NX.js");
|
|
7
7
|
const require_enums = require("./enums.js");
|
|
@@ -12871,7 +12871,15 @@ var BUILTIN_RESULT_KINDS = Object.freeze({
|
|
|
12871
12871
|
kind: "fixed",
|
|
12872
12872
|
result: ["number", "null"]
|
|
12873
12873
|
},
|
|
12874
|
-
count: NUMBER
|
|
12874
|
+
count: NUMBER,
|
|
12875
|
+
dwell: {
|
|
12876
|
+
kind: "fixed",
|
|
12877
|
+
result: ["boolean", "null"]
|
|
12878
|
+
},
|
|
12879
|
+
latchedAt: {
|
|
12880
|
+
kind: "fixed",
|
|
12881
|
+
result: ["number", "null"]
|
|
12882
|
+
}
|
|
12875
12883
|
});
|
|
12876
12884
|
var KindInferenceError = class extends Error {};
|
|
12877
12885
|
function kindOfValue(value) {
|
|
@@ -43726,9 +43734,6 @@ var NcSystemEventKindSchema = zod.z.enum([
|
|
|
43726
43734
|
"device-battery-normal",
|
|
43727
43735
|
"device-consumable-low",
|
|
43728
43736
|
"device-consumable-normal",
|
|
43729
|
-
"device-tank-low",
|
|
43730
|
-
"device-tank-full",
|
|
43731
|
-
"device-tank-normal",
|
|
43732
43737
|
"stream-online",
|
|
43733
43738
|
"stream-offline",
|
|
43734
43739
|
"node-online",
|
|
@@ -43775,18 +43780,19 @@ var NcSystemEventKindSchema = zod.z.enum([
|
|
|
43775
43780
|
"camera-enabled"
|
|
43776
43781
|
]);
|
|
43777
43782
|
/** The legacy tail of {@link NcSystemEventKindSchema} — see its docblock. */
|
|
43778
|
-
var NC_LEGACY_SYSTEM_EVENT_KINDS =
|
|
43783
|
+
var NC_LEGACY_SYSTEM_EVENT_KINDS = [
|
|
43779
43784
|
"camera-online",
|
|
43780
43785
|
"camera-offline",
|
|
43781
43786
|
"camera-disabled",
|
|
43782
43787
|
"camera-enabled"
|
|
43783
|
-
]
|
|
43788
|
+
];
|
|
43789
|
+
var NC_LEGACY_SYSTEM_EVENT_KIND_SET = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
43784
43790
|
/**
|
|
43785
43791
|
* The kinds a rule may be AUTHORED with — every schema member except the
|
|
43786
43792
|
* legacy tail. Editors render THIS list; the schema still parses the tail so a
|
|
43787
43793
|
* durable row (and an unmigrated rule) survives being read.
|
|
43788
43794
|
*/
|
|
43789
|
-
var NC_AUTHORABLE_SYSTEM_EVENT_KINDS = NcSystemEventKindSchema.options.filter((kind) => !
|
|
43795
|
+
var NC_AUTHORABLE_SYSTEM_EVENT_KINDS = NcSystemEventKindSchema.options.filter((kind) => !NC_LEGACY_SYSTEM_EVENT_KIND_SET.has(kind));
|
|
43790
43796
|
/**
|
|
43791
43797
|
* The panel's transitions, as ONE list.
|
|
43792
43798
|
*
|
|
@@ -43831,12 +43837,6 @@ var NC_BATTERY_CONSUMABLE_SYSTEM_EVENT_KINDS = [
|
|
|
43831
43837
|
* and both editors read it.
|
|
43832
43838
|
*/
|
|
43833
43839
|
var NC_CONSUMABLE_SYSTEM_EVENT_KINDS = ["device-consumable-low", "device-consumable-normal"];
|
|
43834
|
-
/** A vacuum's tank alerts (D642) — raised on the provider's own verdict. */
|
|
43835
|
-
var NC_TANK_SYSTEM_EVENT_KINDS = [
|
|
43836
|
-
"device-tank-low",
|
|
43837
|
-
"device-tank-full",
|
|
43838
|
-
"device-tank-normal"
|
|
43839
|
-
];
|
|
43840
43840
|
/**
|
|
43841
43841
|
* The consumable threshold a rule that does not state one judges at (D642).
|
|
43842
43842
|
* The operator's number ("default 15 %, configurable on the rule"), and the
|
|
@@ -45072,18 +45072,18 @@ var NcRuleSchema = NcRuleInputSchema.extend({
|
|
|
45072
45072
|
* `addon-updates` the addons that are behind (D708 split them). `backups-exports` and `alarm` are not sections — a completed
|
|
45073
45073
|
* job is not an open state, and the alarm stays instant.
|
|
45074
45074
|
*/
|
|
45075
|
-
var
|
|
45075
|
+
var NC_STATE_SUMMARY_SECTION_IDS = [
|
|
45076
45076
|
"device-state",
|
|
45077
45077
|
"streams",
|
|
45078
45078
|
"battery",
|
|
45079
45079
|
"consumables",
|
|
45080
|
-
"tanks",
|
|
45081
45080
|
"detection-blind",
|
|
45082
45081
|
"nodes",
|
|
45083
45082
|
"addons",
|
|
45084
45083
|
"addon-updates",
|
|
45085
45084
|
"updates"
|
|
45086
|
-
]
|
|
45085
|
+
];
|
|
45086
|
+
var NcStateSummarySectionIdSchema = zod.z.enum(NC_STATE_SUMMARY_SECTION_IDS);
|
|
45087
45087
|
/** One section of a previewed state summary. `unavailable` = its state could not be read. */
|
|
45088
45088
|
var NcStateSummaryPreviewSectionSchema = zod.z.object({
|
|
45089
45089
|
id: NcStateSummarySectionIdSchema,
|
|
@@ -45460,18 +45460,6 @@ var NC_CONDITION_CATALOG = [
|
|
|
45460
45460
|
value: "device-consumable-normal",
|
|
45461
45461
|
label: "Consumable replaced"
|
|
45462
45462
|
},
|
|
45463
|
-
{
|
|
45464
|
-
value: "device-tank-low",
|
|
45465
|
-
label: "Tank low (water, detergent)"
|
|
45466
|
-
},
|
|
45467
|
-
{
|
|
45468
|
-
value: "device-tank-full",
|
|
45469
|
-
label: "Tank full (dirty water, dust)"
|
|
45470
|
-
},
|
|
45471
|
-
{
|
|
45472
|
-
value: "device-tank-normal",
|
|
45473
|
-
label: "Tank back to normal"
|
|
45474
|
-
},
|
|
45475
45463
|
{
|
|
45476
45464
|
value: "export-completed",
|
|
45477
45465
|
label: "Export completed"
|
|
@@ -69601,6 +69589,43 @@ var ptzAutotrackCapability = {
|
|
|
69601
69589
|
history: "none"
|
|
69602
69590
|
};
|
|
69603
69591
|
//#endregion
|
|
69592
|
+
//#region src/capabilities/running-state.cap.ts
|
|
69593
|
+
var RunningStateSourceSchema = zod.z.enum(["native", "assigned"]);
|
|
69594
|
+
var RunningStateStatusSchema = zod.z.object({
|
|
69595
|
+
/** null = unknown — never coerced to false (D393). */
|
|
69596
|
+
running: zod.z.boolean().nullable(),
|
|
69597
|
+
/** Epoch ms the current boolean began; null while `running` is null. */
|
|
69598
|
+
since: zod.z.number().nullable(),
|
|
69599
|
+
source: RunningStateSourceSchema,
|
|
69600
|
+
phase: zod.z.string().nullable(),
|
|
69601
|
+
lastFetchedAt: zod.z.number()
|
|
69602
|
+
});
|
|
69603
|
+
var RunningFlipEventDataSchema = zod.z.object({
|
|
69604
|
+
deviceId: zod.z.number(),
|
|
69605
|
+
since: zod.z.number().nullable(),
|
|
69606
|
+
phase: zod.z.string().nullable()
|
|
69607
|
+
});
|
|
69608
|
+
var runningStateCapability = {
|
|
69609
|
+
name: "running-state",
|
|
69610
|
+
scope: "device",
|
|
69611
|
+
deviceNative: true,
|
|
69612
|
+
mode: "singleton",
|
|
69613
|
+
deviceTypes: Object.values(require_err_msg.DeviceType),
|
|
69614
|
+
methods: {},
|
|
69615
|
+
events: {
|
|
69616
|
+
onStarted: { data: RunningFlipEventDataSchema },
|
|
69617
|
+
onFinished: { data: RunningFlipEventDataSchema }
|
|
69618
|
+
},
|
|
69619
|
+
status: {
|
|
69620
|
+
schema: RunningStateStatusSchema,
|
|
69621
|
+
kind: "push"
|
|
69622
|
+
},
|
|
69623
|
+
runtimeState: RunningStateStatusSchema,
|
|
69624
|
+
durability: "restored",
|
|
69625
|
+
history: { fields: { running: { kind: "boolean" } } },
|
|
69626
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
69627
|
+
};
|
|
69628
|
+
//#endregion
|
|
69604
69629
|
//#region src/capabilities/reboot.cap.ts
|
|
69605
69630
|
/**
|
|
69606
69631
|
* reboot — device-scoped capability for "soft" device reboots (firmware
|
|
@@ -75827,6 +75852,215 @@ var PIPELINE_OWNER_CAPABILITY_NAMES = [
|
|
|
75827
75852
|
"pipeline-runner"
|
|
75828
75853
|
];
|
|
75829
75854
|
//#endregion
|
|
75855
|
+
//#region src/running-state/assignment.ts
|
|
75856
|
+
function constant(literal) {
|
|
75857
|
+
return {
|
|
75858
|
+
kind: "expression",
|
|
75859
|
+
expr: literal,
|
|
75860
|
+
bindings: {}
|
|
75861
|
+
};
|
|
75862
|
+
}
|
|
75863
|
+
function fromRead(source, cap, fieldPath) {
|
|
75864
|
+
return {
|
|
75865
|
+
kind: "from",
|
|
75866
|
+
source,
|
|
75867
|
+
cap,
|
|
75868
|
+
fieldPath
|
|
75869
|
+
};
|
|
75870
|
+
}
|
|
75871
|
+
function sortKeys(value) {
|
|
75872
|
+
if (Array.isArray(value)) return value.map(sortKeys);
|
|
75873
|
+
if (typeof value !== "object" || value === null) return value;
|
|
75874
|
+
return Object.fromEntries(Object.entries(value).toSorted(([a], [b]) => a.localeCompare(b)).map(([key, inner]) => [key, sortKeys(inner)]));
|
|
75875
|
+
}
|
|
75876
|
+
function sameFeature(a, b) {
|
|
75877
|
+
return JSON.stringify(sortKeys(a)) === JSON.stringify(sortKeys(b));
|
|
75878
|
+
}
|
|
75879
|
+
function booleanRunningField(input) {
|
|
75880
|
+
if (input.source.kind !== "boolean") return null;
|
|
75881
|
+
const read = fromRead(input.source.source, input.source.cap, input.source.fieldPath);
|
|
75882
|
+
if (!input.invert) return read;
|
|
75883
|
+
return {
|
|
75884
|
+
kind: "expression",
|
|
75885
|
+
expr: "!x",
|
|
75886
|
+
bindings: { x: read }
|
|
75887
|
+
};
|
|
75888
|
+
}
|
|
75889
|
+
function sinceField(input) {
|
|
75890
|
+
if (input.source.kind === "boolean" && input.changedAtField !== null) return fromRead(input.source.source, input.source.cap, input.changedAtField);
|
|
75891
|
+
return {
|
|
75892
|
+
kind: "expression",
|
|
75893
|
+
expr: "latchedAt(running)",
|
|
75894
|
+
bindings: { running: fromRead(input.target, "running-state", "running") }
|
|
75895
|
+
};
|
|
75896
|
+
}
|
|
75897
|
+
function powerRunningField(input) {
|
|
75898
|
+
if (input.source.kind !== "number") return null;
|
|
75899
|
+
if (!Number.isFinite(input.thresholdWatts) || !Number.isFinite(input.startDelayMs) || !Number.isFinite(input.stopDelayMs) || input.thresholdWatts < 0 || input.startDelayMs < 0 || input.stopDelayMs < 0) return null;
|
|
75900
|
+
const read = fromRead(input.source.source, input.source.cap, input.source.fieldPath);
|
|
75901
|
+
return {
|
|
75902
|
+
kind: "expression",
|
|
75903
|
+
expr: `dwell(x >= ${input.thresholdWatts}, ${input.startDelayMs}, ${input.stopDelayMs})`,
|
|
75904
|
+
bindings: { x: read }
|
|
75905
|
+
};
|
|
75906
|
+
}
|
|
75907
|
+
function runningAssignmentFeature(input) {
|
|
75908
|
+
const running = input.source.kind === "number" ? powerRunningField(input) : booleanRunningField(input);
|
|
75909
|
+
if (running === null) return null;
|
|
75910
|
+
return {
|
|
75911
|
+
kind: "fields",
|
|
75912
|
+
cap: "running-state",
|
|
75913
|
+
fields: {
|
|
75914
|
+
source: constant("\"assigned\""),
|
|
75915
|
+
phase: constant("null"),
|
|
75916
|
+
lastFetchedAt: constant("now"),
|
|
75917
|
+
running,
|
|
75918
|
+
since: sinceField(input)
|
|
75919
|
+
}
|
|
75920
|
+
};
|
|
75921
|
+
}
|
|
75922
|
+
function booleanSourceFromRunningField(source) {
|
|
75923
|
+
if (source === void 0) return null;
|
|
75924
|
+
if (source.kind === "from") return {
|
|
75925
|
+
source: source.source,
|
|
75926
|
+
cap: source.cap,
|
|
75927
|
+
fieldPath: source.fieldPath,
|
|
75928
|
+
kind: "boolean"
|
|
75929
|
+
};
|
|
75930
|
+
if (source.kind !== "expression" || source.expr !== "!x") return null;
|
|
75931
|
+
const x = source.bindings["x"];
|
|
75932
|
+
if (x === void 0 || x.kind !== "from") return null;
|
|
75933
|
+
return {
|
|
75934
|
+
source: x.source,
|
|
75935
|
+
cap: x.cap,
|
|
75936
|
+
fieldPath: x.fieldPath,
|
|
75937
|
+
kind: "boolean"
|
|
75938
|
+
};
|
|
75939
|
+
}
|
|
75940
|
+
function recoverPowerRunning(running) {
|
|
75941
|
+
if (running === void 0 || running.kind !== "expression") return null;
|
|
75942
|
+
const match = /^dwell\(x >= ([\d.]+), (\d+), (\d+)\)$/.exec(running.expr);
|
|
75943
|
+
if (match === null) return null;
|
|
75944
|
+
const x = running.bindings["x"];
|
|
75945
|
+
if (x === void 0 || x.kind !== "from") return null;
|
|
75946
|
+
const thresholdWatts = Number(match[1]);
|
|
75947
|
+
const startDelayMs = Number(match[2]);
|
|
75948
|
+
const stopDelayMs = Number(match[3]);
|
|
75949
|
+
if (!Number.isFinite(thresholdWatts) || !Number.isFinite(startDelayMs) || !Number.isFinite(stopDelayMs)) return null;
|
|
75950
|
+
return {
|
|
75951
|
+
source: {
|
|
75952
|
+
...x,
|
|
75953
|
+
kind: "number"
|
|
75954
|
+
},
|
|
75955
|
+
invert: false,
|
|
75956
|
+
thresholdWatts,
|
|
75957
|
+
startDelayMs,
|
|
75958
|
+
stopDelayMs
|
|
75959
|
+
};
|
|
75960
|
+
}
|
|
75961
|
+
/** Recover what {@link runningAssignmentFeature} wrote, else null. */
|
|
75962
|
+
function runningAssignmentRecovered(stored, target) {
|
|
75963
|
+
if (stored.cap !== "running-state" || stored.kind !== "fields") return null;
|
|
75964
|
+
const power = recoverPowerRunning(stored.fields["running"]);
|
|
75965
|
+
if (power !== null) return power;
|
|
75966
|
+
const booleanSource = booleanSourceFromRunningField(stored.fields["running"]);
|
|
75967
|
+
if (booleanSource === null) return null;
|
|
75968
|
+
const since = stored.fields["since"];
|
|
75969
|
+
let changedAtField = null;
|
|
75970
|
+
if (since?.kind === "from" && since.cap === booleanSource.cap && since.source.addonId === booleanSource.source.addonId && since.source.stableId === booleanSource.source.stableId) changedAtField = since.fieldPath;
|
|
75971
|
+
const rebuilt = runningAssignmentFeature({
|
|
75972
|
+
mode: "replace",
|
|
75973
|
+
target,
|
|
75974
|
+
source: booleanSource,
|
|
75975
|
+
changedAtField,
|
|
75976
|
+
invert: stored.fields["running"]?.kind === "expression" && stored.fields["running"].expr === "!x",
|
|
75977
|
+
thresholdWatts: 0,
|
|
75978
|
+
startDelayMs: 0,
|
|
75979
|
+
stopDelayMs: 0
|
|
75980
|
+
});
|
|
75981
|
+
if (rebuilt === null) return null;
|
|
75982
|
+
const { enabled: _e, ...rest } = stored;
|
|
75983
|
+
if (!sameFeature(rest, rebuilt)) return null;
|
|
75984
|
+
return {
|
|
75985
|
+
source: booleanSource,
|
|
75986
|
+
invert: stored.fields["running"]?.kind === "expression" && stored.fields["running"].expr === "!x",
|
|
75987
|
+
thresholdWatts: 0,
|
|
75988
|
+
startDelayMs: 0,
|
|
75989
|
+
stopDelayMs: 0
|
|
75990
|
+
};
|
|
75991
|
+
}
|
|
75992
|
+
function isRunningAssignmentFeature(stored, mode, target) {
|
|
75993
|
+
const recovered = runningAssignmentRecovered(stored, target);
|
|
75994
|
+
if (recovered === null) return false;
|
|
75995
|
+
const rebuilt = recovered.source.kind === "number" ? runningAssignmentFeature({
|
|
75996
|
+
mode,
|
|
75997
|
+
target,
|
|
75998
|
+
source: recovered.source,
|
|
75999
|
+
changedAtField: null,
|
|
76000
|
+
invert: false,
|
|
76001
|
+
thresholdWatts: recovered.thresholdWatts,
|
|
76002
|
+
startDelayMs: recovered.startDelayMs,
|
|
76003
|
+
stopDelayMs: recovered.stopDelayMs
|
|
76004
|
+
}) : runningAssignmentFeature({
|
|
76005
|
+
mode,
|
|
76006
|
+
target,
|
|
76007
|
+
source: recovered.source,
|
|
76008
|
+
changedAtField: stored.fields["since"]?.kind === "from" ? stored.fields["since"].fieldPath : null,
|
|
76009
|
+
invert: recovered.invert,
|
|
76010
|
+
thresholdWatts: 0,
|
|
76011
|
+
startDelayMs: 0,
|
|
76012
|
+
stopDelayMs: 0
|
|
76013
|
+
});
|
|
76014
|
+
if (rebuilt === null) return false;
|
|
76015
|
+
const { enabled: _enabled, ...rest } = stored;
|
|
76016
|
+
return sameFeature(rest, rebuilt);
|
|
76017
|
+
}
|
|
76018
|
+
//#endregion
|
|
76019
|
+
//#region src/running-state/defaults.ts
|
|
76020
|
+
var RUNNING_POWER_THRESHOLD_WATTS = 5;
|
|
76021
|
+
var RUNNING_POWER_START_DELAY_MS = 3e4;
|
|
76022
|
+
var RUNNING_POWER_STOP_DELAY_MS = 18e4;
|
|
76023
|
+
//#endregion
|
|
76024
|
+
//#region src/running-state/from-operation.ts
|
|
76025
|
+
function resolveSince(running, previous, sinceMs) {
|
|
76026
|
+
if (running === null) return null;
|
|
76027
|
+
if ((previous?.running ?? null) !== running) return sinceMs;
|
|
76028
|
+
return previous?.since ?? sinceMs;
|
|
76029
|
+
}
|
|
76030
|
+
function nativeSlice(running, phase, previous, sinceMs, now) {
|
|
76031
|
+
return {
|
|
76032
|
+
running,
|
|
76033
|
+
since: resolveSince(running, previous, sinceMs),
|
|
76034
|
+
source: "native",
|
|
76035
|
+
phase: running === null ? null : phase,
|
|
76036
|
+
lastFetchedAt: now
|
|
76037
|
+
};
|
|
76038
|
+
}
|
|
76039
|
+
function runningFromDishwasherOperation(operation, program, previous, now) {
|
|
76040
|
+
if (operation === null) return nativeSlice(null, null, previous, now, now);
|
|
76041
|
+
if (operation === "Run" || operation === "Aborting") return nativeSlice(true, program ?? operation, previous, now, now);
|
|
76042
|
+
if (operation === "Pause") return nativeSlice(false, "Pause", previous, now, now);
|
|
76043
|
+
return nativeSlice(false, operation, previous, now, now);
|
|
76044
|
+
}
|
|
76045
|
+
function runningFromVacuumState(state, previous, now) {
|
|
76046
|
+
if (state === null) return nativeSlice(null, null, previous, now, now);
|
|
76047
|
+
if (state === "cleaning" || state === "returning" || state === "drying") return nativeSlice(true, state, previous, now, now);
|
|
76048
|
+
if (state === "paused") return nativeSlice(false, "paused", previous, now, now);
|
|
76049
|
+
return nativeSlice(false, state, previous, now, now);
|
|
76050
|
+
}
|
|
76051
|
+
function runningFromLawnMower(activity, previous, now) {
|
|
76052
|
+
if (activity === null) return nativeSlice(null, null, previous, now, now);
|
|
76053
|
+
if (activity === "mowing") return nativeSlice(true, activity, previous, now, now);
|
|
76054
|
+
if (activity === "paused") return nativeSlice(false, "paused", previous, now, now);
|
|
76055
|
+
return nativeSlice(false, activity, previous, now, now);
|
|
76056
|
+
}
|
|
76057
|
+
function runningFromMediaPlayer(state, previous, now) {
|
|
76058
|
+
if (state === null) return nativeSlice(null, null, previous, now, now);
|
|
76059
|
+
if (state === "playing" || state === "buffering") return nativeSlice(true, state, previous, now, now);
|
|
76060
|
+
if (state === "paused") return nativeSlice(false, "paused", previous, now, now);
|
|
76061
|
+
return nativeSlice(false, state, previous, now, now);
|
|
76062
|
+
}
|
|
76063
|
+
//#endregion
|
|
75830
76064
|
//#region src/clips/clip-event-labels.ts
|
|
75831
76065
|
/**
|
|
75832
76066
|
* Which of OUR object detections a clip window holds — the ONE overlap rule
|
|
@@ -76470,11 +76704,12 @@ function expressionOutcome(source, read, now, stateful) {
|
|
|
76470
76704
|
return unavailable;
|
|
76471
76705
|
}
|
|
76472
76706
|
const deadlines = [];
|
|
76707
|
+
const hooks = {
|
|
76708
|
+
noteDeadline: (at) => deadlines.push(at),
|
|
76709
|
+
convert: (value, from, to) => tryConvertUnit(value, normalizeUnit(from) ?? from, normalizeUnit(to) ?? to) ?? null
|
|
76710
|
+
};
|
|
76473
76711
|
const result = require_composition.evaluateExpressionSource(source.expr, values, now, {
|
|
76474
|
-
hooks
|
|
76475
|
-
noteDeadline: (at) => deadlines.push(at),
|
|
76476
|
-
convert: (value, from, to) => tryConvertUnit(value, normalizeUnit(from) ?? from, normalizeUnit(to) ?? to) ?? null
|
|
76477
|
-
},
|
|
76712
|
+
hooks,
|
|
76478
76713
|
...stateful === void 0 ? {} : { invokeStateful: (invocation) => require_composition.evaluateStatefulExpressionCall(stateful.callPathPrefix === void 0 ? invocation : {
|
|
76479
76714
|
...invocation,
|
|
76480
76715
|
path: `${stateful.callPathPrefix}@${invocation.path}`
|
|
@@ -76482,7 +76717,7 @@ function expressionOutcome(source, read, now, stateful) {
|
|
|
76482
76717
|
currentOutput: stateful.currentOutput,
|
|
76483
76718
|
startedAtMs: stateful.startedAtMs,
|
|
76484
76719
|
nowMs: now
|
|
76485
|
-
}) }
|
|
76720
|
+
}, hooks) }
|
|
76486
76721
|
});
|
|
76487
76722
|
if (!result.ok) return {
|
|
76488
76723
|
state: "unavailable",
|
|
@@ -77434,6 +77669,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
77434
77669
|
ptzAutotrack: ptzAutotrackCapability,
|
|
77435
77670
|
recordingOnboard: recordingOnboardCapability,
|
|
77436
77671
|
recordingSignal: recordingSignalCapability,
|
|
77672
|
+
runningState: runningStateCapability,
|
|
77437
77673
|
sceneMonitor: sceneMonitorCapability,
|
|
77438
77674
|
scriptRunner: scriptRunnerCapability,
|
|
77439
77675
|
smoke: smokeCapability,
|
|
@@ -87017,6 +87253,13 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
87017
87253
|
access: "create",
|
|
87018
87254
|
role: "admin"
|
|
87019
87255
|
},
|
|
87256
|
+
"runningState.getStatus": {
|
|
87257
|
+
capName: "running-state",
|
|
87258
|
+
capScope: "device",
|
|
87259
|
+
addonId: null,
|
|
87260
|
+
access: "view",
|
|
87261
|
+
role: "viewer"
|
|
87262
|
+
},
|
|
87020
87263
|
"sceneMonitor.captureReference": {
|
|
87021
87264
|
capName: "scene-monitor",
|
|
87022
87265
|
capScope: "device",
|
|
@@ -89306,6 +89549,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
89306
89549
|
"recording-onboard",
|
|
89307
89550
|
"recording-signal",
|
|
89308
89551
|
"records",
|
|
89552
|
+
"running-state",
|
|
89309
89553
|
"scene-monitor",
|
|
89310
89554
|
"script-runner",
|
|
89311
89555
|
"server-management",
|
|
@@ -89420,6 +89664,7 @@ var DEVICE_CAP_NAMES = [
|
|
|
89420
89664
|
"recording",
|
|
89421
89665
|
"recording-onboard",
|
|
89422
89666
|
"recording-signal",
|
|
89667
|
+
"running-state",
|
|
89423
89668
|
"scene-monitor",
|
|
89424
89669
|
"script-runner",
|
|
89425
89670
|
"smoke",
|
|
@@ -92104,6 +92349,32 @@ var APPLIANCE_CAP_VOCABULARY = {
|
|
|
92104
92349
|
}],
|
|
92105
92350
|
events: { onSent: { notOperatorFacing: "a delivery receipt of a send this system made — not a fact about the world" } }
|
|
92106
92351
|
},
|
|
92352
|
+
"running-state": {
|
|
92353
|
+
scope: "device",
|
|
92354
|
+
noun: t("Running", "In funzione"),
|
|
92355
|
+
state: [{
|
|
92356
|
+
kind: "boolean",
|
|
92357
|
+
field: "running",
|
|
92358
|
+
label: t("Running", "In funzione"),
|
|
92359
|
+
whenTrue: t("When {device} starts", "Quando {device} inizia"),
|
|
92360
|
+
whenFalse: t("When {device} finishes", "Quando {device} finisce"),
|
|
92361
|
+
icon: "play"
|
|
92362
|
+
}],
|
|
92363
|
+
events: {
|
|
92364
|
+
onStarted: {
|
|
92365
|
+
category: require_event_category.EventCategory.RunningStarted,
|
|
92366
|
+
label: t("Started running", "Ha iniziato a funzionare"),
|
|
92367
|
+
phrase: t("When {device} starts running", "Quando {device} inizia a funzionare"),
|
|
92368
|
+
icon: "play"
|
|
92369
|
+
},
|
|
92370
|
+
onFinished: {
|
|
92371
|
+
category: require_event_category.EventCategory.RunningFinished,
|
|
92372
|
+
label: t("Finished", "Ha finito"),
|
|
92373
|
+
phrase: t("When {device} finishes", "Quando {device} finisce"),
|
|
92374
|
+
icon: "square"
|
|
92375
|
+
}
|
|
92376
|
+
}
|
|
92377
|
+
},
|
|
92107
92378
|
update: {
|
|
92108
92379
|
scope: "device",
|
|
92109
92380
|
noun: t("Firmware update", "Aggiornamento firmware"),
|
|
@@ -95044,6 +95315,7 @@ var CAP_NAMES_WITH_STATUS = [
|
|
|
95044
95315
|
"recording-archive",
|
|
95045
95316
|
"recording-onboard",
|
|
95046
95317
|
"recording-signal",
|
|
95318
|
+
"running-state",
|
|
95047
95319
|
"scene-monitor",
|
|
95048
95320
|
"script-runner",
|
|
95049
95321
|
"smoke",
|
|
@@ -95199,6 +95471,7 @@ var CAPABILITY_NAMES = {
|
|
|
95199
95471
|
recordingOnboard: "recording-onboard",
|
|
95200
95472
|
recordingSignal: "recording-signal",
|
|
95201
95473
|
records: "records",
|
|
95474
|
+
runningState: "running-state",
|
|
95202
95475
|
sceneMonitor: "scene-monitor",
|
|
95203
95476
|
scriptRunner: "script-runner",
|
|
95204
95477
|
serverManagement: "server-management",
|
|
@@ -95792,6 +96065,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
95792
96065
|
key: "records",
|
|
95793
96066
|
name: "records"
|
|
95794
96067
|
},
|
|
96068
|
+
{
|
|
96069
|
+
key: "runningState",
|
|
96070
|
+
name: "running-state"
|
|
96071
|
+
},
|
|
95795
96072
|
{
|
|
95796
96073
|
key: "sceneMonitor",
|
|
95797
96074
|
name: "scene-monitor"
|
|
@@ -96108,6 +96385,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
96108
96385
|
recordingOnboardCapability,
|
|
96109
96386
|
recordingSignalCapability,
|
|
96110
96387
|
recordsCapability,
|
|
96388
|
+
runningStateCapability,
|
|
96111
96389
|
sceneMonitorCapability,
|
|
96112
96390
|
scriptRunnerCapability,
|
|
96113
96391
|
serverManagementCapability,
|
|
@@ -98424,6 +98702,11 @@ var METHOD_DEVICE_SELECTORS = Object.freeze({
|
|
|
98424
98702
|
form: "single",
|
|
98425
98703
|
optional: true
|
|
98426
98704
|
}],
|
|
98705
|
+
"runningState.getStatus": [{
|
|
98706
|
+
name: "deviceId",
|
|
98707
|
+
form: "single",
|
|
98708
|
+
optional: false
|
|
98709
|
+
}],
|
|
98427
98710
|
"sceneMonitor.captureReference": [{
|
|
98428
98711
|
name: "deviceId",
|
|
98429
98712
|
form: "single",
|
|
@@ -99125,7 +99408,7 @@ function getCapsByProviderKind(kind) {
|
|
|
99125
99408
|
//#region src/generated/runtime-state-durability.ts
|
|
99126
99409
|
/**
|
|
99127
99410
|
* Per-cap runtime-state policy, projected from every `*.cap.ts` that declares
|
|
99128
|
-
* `runtimeState`.
|
|
99411
|
+
* `runtimeState`. 72 caps: 38 `restored`, 34 `session`.
|
|
99129
99412
|
*
|
|
99130
99413
|
* A cap absent from this map has no runtime-state slice at all. A cap PRESENT
|
|
99131
99414
|
* with `durability: 'session'` has one and has decided not to keep it.
|
|
@@ -99343,6 +99626,10 @@ var RUNTIME_STATE_POLICY = {
|
|
|
99343
99626
|
durability: "session",
|
|
99344
99627
|
volatileFields: []
|
|
99345
99628
|
},
|
|
99629
|
+
"running-state": {
|
|
99630
|
+
durability: "restored",
|
|
99631
|
+
volatileFields: ["lastFetchedAt"]
|
|
99632
|
+
},
|
|
99346
99633
|
"scene-monitor": {
|
|
99347
99634
|
durability: "session",
|
|
99348
99635
|
volatileFields: []
|
|
@@ -99465,6 +99752,7 @@ var RESTORED_CAP_NAMES = [
|
|
|
99465
99752
|
"pressure-sensor",
|
|
99466
99753
|
"privacy-mask",
|
|
99467
99754
|
"recording-onboard",
|
|
99755
|
+
"running-state",
|
|
99468
99756
|
"smoke",
|
|
99469
99757
|
"stream-catalog",
|
|
99470
99758
|
"stream-params",
|
|
@@ -99580,7 +99868,7 @@ var BucketAccumulator = class {
|
|
|
99580
99868
|
//#region src/generated/history-catalog.ts
|
|
99581
99869
|
/**
|
|
99582
99870
|
* Cap history catalog, projected from every `*.cap.ts` `history` block.
|
|
99583
|
-
*
|
|
99871
|
+
* 41 caps with series (74 series), 30 caps answered `'none'`.
|
|
99584
99872
|
* Field keys are `runtimeState` paths (`a.b` into fixed objects only).
|
|
99585
99873
|
*/
|
|
99586
99874
|
var HISTORY_CATALOG = {
|
|
@@ -99857,6 +100145,7 @@ var HISTORY_CATALOG = {
|
|
|
99857
100145
|
unit: "hPa",
|
|
99858
100146
|
deadband: .1
|
|
99859
100147
|
} },
|
|
100148
|
+
"running-state": { "running": { kind: "boolean" } },
|
|
99860
100149
|
"smoke": { "detected": { kind: "boolean" } },
|
|
99861
100150
|
"stream-params": {
|
|
99862
100151
|
"main.bitrate": {
|
|
@@ -101660,6 +101949,7 @@ function prepareNotification(caps, n) {
|
|
|
101660
101949
|
* narrows, and still fails CLOSED on a subject that cannot produce the identity
|
|
101661
101950
|
* it tests (a device the mirror cannot name is not evidence of a camera).
|
|
101662
101951
|
*/
|
|
101952
|
+
var LEGACY_KINDS_WITHOUT_FILTERS = new Set(NC_LEGACY_SYSTEM_EVENT_KINDS);
|
|
101663
101953
|
/**
|
|
101664
101954
|
* Every filter, for the callers that must cover all of them (guards, tests).
|
|
101665
101955
|
*
|
|
@@ -101683,6 +101973,7 @@ var NC_SYSTEM_EVENT_FILTER_KEYS = [
|
|
|
101683
101973
|
* ignores it and an editor hides its input. It never means "excluded".
|
|
101684
101974
|
*/
|
|
101685
101975
|
function systemEventFilterApplies(kind, filter) {
|
|
101976
|
+
if (LEGACY_KINDS_WITHOUT_FILTERS.has(kind)) return false;
|
|
101686
101977
|
switch (filter) {
|
|
101687
101978
|
case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("motion-") || kind.startsWith("recording-") || kind === "alarm-triggered";
|
|
101688
101979
|
case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind" || kind.startsWith("motion-");
|
|
@@ -101737,9 +102028,6 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
101737
102028
|
"device-battery-normal": "device-events",
|
|
101738
102029
|
"device-consumable-low": "device-events",
|
|
101739
102030
|
"device-consumable-normal": "device-events",
|
|
101740
|
-
"device-tank-low": "device-events",
|
|
101741
|
-
"device-tank-full": "device-events",
|
|
101742
|
-
"device-tank-normal": "device-events",
|
|
101743
102031
|
"stream-online": "device-events",
|
|
101744
102032
|
"stream-offline": "device-events",
|
|
101745
102033
|
"detection-blind": "device-events",
|
|
@@ -101834,16 +102122,6 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
101834
102122
|
label: "Consumables",
|
|
101835
102123
|
kinds: ["device-consumable-low", "device-consumable-normal"]
|
|
101836
102124
|
},
|
|
101837
|
-
{
|
|
101838
|
-
id: "tanks",
|
|
101839
|
-
family: "device-events",
|
|
101840
|
-
label: "Tanks",
|
|
101841
|
-
kinds: [
|
|
101842
|
-
"device-tank-low",
|
|
101843
|
-
"device-tank-full",
|
|
101844
|
-
"device-tank-normal"
|
|
101845
|
-
]
|
|
101846
|
-
},
|
|
101847
102125
|
{
|
|
101848
102126
|
id: "detection-blind",
|
|
101849
102127
|
family: "device-events",
|
|
@@ -103740,11 +104018,6 @@ var RULE_BODY_ONLY = ["body"];
|
|
|
103740
104018
|
var RULE_TEXT = ["title", "body"];
|
|
103741
104019
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
103742
104020
|
var CONSUMABLE = ["device-consumable-low", "device-consumable-normal"];
|
|
103743
|
-
var TANK = [
|
|
103744
|
-
"device-tank-low",
|
|
103745
|
-
"device-tank-full",
|
|
103746
|
-
"device-tank-normal"
|
|
103747
|
-
];
|
|
103748
104021
|
var ALERT_EPISODE = [
|
|
103749
104022
|
"alert-critical",
|
|
103750
104023
|
"alert-error",
|
|
@@ -103776,7 +104049,6 @@ var DEVICE_EVENTS = [
|
|
|
103776
104049
|
"device-enabled",
|
|
103777
104050
|
...BATTERY,
|
|
103778
104051
|
...CONSUMABLE,
|
|
103779
|
-
...TANK,
|
|
103780
104052
|
"stream-online",
|
|
103781
104053
|
"stream-offline",
|
|
103782
104054
|
"detection-blind",
|
|
@@ -103822,12 +104094,6 @@ var STATE_SUMMARY_SECTION_VARS = [
|
|
|
103822
104094
|
example: "Robot — filter 10 %",
|
|
103823
104095
|
kinds: CONSUMABLE
|
|
103824
104096
|
},
|
|
103825
|
-
{
|
|
103826
|
-
name: "summaryTanks",
|
|
103827
|
-
label: "Summary: tanks",
|
|
103828
|
-
example: "Robot — clean water low",
|
|
103829
|
-
kinds: TANK
|
|
103830
|
-
},
|
|
103831
104097
|
{
|
|
103832
104098
|
name: "summaryDetection",
|
|
103833
104099
|
label: "Summary: cameras detecting nothing",
|
|
@@ -104236,18 +104502,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
104236
104502
|
families: ["rule"],
|
|
104237
104503
|
fields: [...RULE_TEXT],
|
|
104238
104504
|
kinds: ["system"],
|
|
104239
|
-
systemEventKinds: [...CONSUMABLE
|
|
104240
|
-
},
|
|
104241
|
-
{
|
|
104242
|
-
name: "tank",
|
|
104243
|
-
label: "Tank",
|
|
104244
|
-
description: "Which tank, as a stable token: cleanWater, dirtyWater, detergent, dustBin, or the device key of any other supply (salt, rinse aid).",
|
|
104245
|
-
example: "clean water",
|
|
104246
|
-
group: "system",
|
|
104247
|
-
families: ["rule"],
|
|
104248
|
-
fields: [...RULE_TEXT],
|
|
104249
|
-
kinds: ["system"],
|
|
104250
|
-
systemEventKinds: [...TANK]
|
|
104505
|
+
systemEventKinds: [...CONSUMABLE]
|
|
104251
104506
|
},
|
|
104252
104507
|
{
|
|
104253
104508
|
name: "profile",
|
|
@@ -104898,9 +105153,6 @@ var NC_TEMPLATE_VARS = [
|
|
|
104898
105153
|
* delete it from here then, and the served catalog names it again.
|
|
104899
105154
|
*/
|
|
104900
105155
|
var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
|
|
104901
|
-
"device-tank-low",
|
|
104902
|
-
"device-tank-full",
|
|
104903
|
-
"device-tank-normal",
|
|
104904
105156
|
"node-restarting",
|
|
104905
105157
|
"node-updating",
|
|
104906
105158
|
"alert-critical",
|
|
@@ -105062,15 +105314,6 @@ var NC_SYSTEM_EVENT_CLASS_SPECS = [
|
|
|
105062
105314
|
snapshotLabel: "Consumables low now",
|
|
105063
105315
|
snapshotSection: "consumables"
|
|
105064
105316
|
},
|
|
105065
|
-
{
|
|
105066
|
-
id: "tanks",
|
|
105067
|
-
family: "device-events",
|
|
105068
|
-
label: "Tanks (low or full / back to normal)",
|
|
105069
|
-
bad: ["device-tank-low", "device-tank-full"],
|
|
105070
|
-
recovery: ["device-tank-normal"],
|
|
105071
|
-
snapshotLabel: "Tanks low or full now",
|
|
105072
|
-
snapshotSection: "tanks"
|
|
105073
|
-
},
|
|
105074
105317
|
{
|
|
105075
105318
|
id: "motion-noise",
|
|
105076
105319
|
family: "device-events",
|
|
@@ -111665,6 +111908,7 @@ exports.NC_GROUPING_MAX_SEC = NC_GROUPING_MAX_SEC;
|
|
|
111665
111908
|
exports.NC_GROUPING_MIN_SEC = NC_GROUPING_MIN_SEC;
|
|
111666
111909
|
exports.NC_HISTORY_LIMIT_DEFAULT = NC_HISTORY_LIMIT_DEFAULT;
|
|
111667
111910
|
exports.NC_HISTORY_LIMIT_MAX = NC_HISTORY_LIMIT_MAX;
|
|
111911
|
+
exports.NC_LEGACY_SYSTEM_EVENT_KINDS = NC_LEGACY_SYSTEM_EVENT_KINDS;
|
|
111668
111912
|
exports.NC_MAX_PER_TRACK_IMMEDIATE = NC_MAX_PER_TRACK_IMMEDIATE;
|
|
111669
111913
|
exports.NC_MEDIA_IMAGE_MODES = NC_MEDIA_IMAGE_MODES;
|
|
111670
111914
|
exports.NC_OCCUPANCY_DEFAULTS = NC_OCCUPANCY_DEFAULTS;
|
|
@@ -111679,6 +111923,7 @@ exports.NC_SENSOR_TRANSITION_NEVER_FIRES_WARNING = NC_SENSOR_TRANSITION_NEVER_FI
|
|
|
111679
111923
|
exports.NC_SENSOR_TRANSITION_UNSUPPORTED_REASON = NC_SENSOR_TRANSITION_UNSUPPORTED_REASON;
|
|
111680
111924
|
exports.NC_SERVER_PACKAGE_NAME = NC_SERVER_PACKAGE_NAME;
|
|
111681
111925
|
exports.NC_SNOOZE_MAX_MINUTES = NC_SNOOZE_MAX_MINUTES;
|
|
111926
|
+
exports.NC_STATE_SUMMARY_SECTION_IDS = NC_STATE_SUMMARY_SECTION_IDS;
|
|
111682
111927
|
exports.NC_SYSTEM_DELIVERY = NC_SYSTEM_DELIVERY;
|
|
111683
111928
|
exports.NC_SYSTEM_EVENT_CLASS_SPECS = NC_SYSTEM_EVENT_CLASS_SPECS;
|
|
111684
111929
|
exports.NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS = NC_SYSTEM_EVENT_CONDITION_FILTER_KEYS;
|
|
@@ -111689,7 +111934,6 @@ exports.NC_SYSTEM_EVENT_FILTER_KEYS = NC_SYSTEM_EVENT_FILTER_KEYS;
|
|
|
111689
111934
|
exports.NC_SYSTEM_EVENT_KIND_GROUP_SPECS = NC_SYSTEM_EVENT_KIND_GROUP_SPECS;
|
|
111690
111935
|
exports.NC_SYSTEM_EVENT_SUMMARY_FAMILIES = NC_SYSTEM_EVENT_SUMMARY_FAMILIES;
|
|
111691
111936
|
exports.NC_SYSTEM_RULE_KINDS = NC_SYSTEM_RULE_KINDS;
|
|
111692
|
-
exports.NC_TANK_SYSTEM_EVENT_KINDS = NC_TANK_SYSTEM_EVENT_KINDS;
|
|
111693
111937
|
exports.NC_TAXONOMY = NC_TAXONOMY;
|
|
111694
111938
|
exports.NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS;
|
|
111695
111939
|
exports.NC_TEMPLATE_VARS = NC_TEMPLATE_VARS;
|
|
@@ -112067,6 +112311,9 @@ exports.ROOT_CHILD_CONTAINMENT_MIN = ROOT_CHILD_CONTAINMENT_MIN;
|
|
|
112067
112311
|
exports.ROOT_FACE_REFINE_INPUT_PX = ROOT_FACE_REFINE_INPUT_PX;
|
|
112068
112312
|
exports.ROOT_FACE_REFINE_SCALE = ROOT_FACE_REFINE_SCALE;
|
|
112069
112313
|
exports.ROOT_SUPPLIABLE_STEP_IDS = ROOT_SUPPLIABLE_STEP_IDS;
|
|
112314
|
+
exports.RUNNING_POWER_START_DELAY_MS = RUNNING_POWER_START_DELAY_MS;
|
|
112315
|
+
exports.RUNNING_POWER_STOP_DELAY_MS = RUNNING_POWER_STOP_DELAY_MS;
|
|
112316
|
+
exports.RUNNING_POWER_THRESHOLD_WATTS = RUNNING_POWER_THRESHOLD_WATTS;
|
|
112070
112317
|
exports.RUNTIME_DEFAULTS = require_sleep.RUNTIME_DEFAULTS;
|
|
112071
112318
|
exports.RUNTIME_STATE_POLICY = RUNTIME_STATE_POLICY;
|
|
112072
112319
|
exports.RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS = RUNTIME_STATE_REFRESH_MISS_COOLDOWN_MS;
|
|
@@ -112218,6 +112465,8 @@ exports.RunnerJumpStepProvisioningSchema = RunnerJumpStepProvisioningSchema;
|
|
|
112218
112465
|
exports.RunnerLocalLoadSchema = RunnerLocalLoadSchema;
|
|
112219
112466
|
exports.RunnerLocalMetricsSchema = RunnerLocalMetricsSchema;
|
|
112220
112467
|
exports.RunnerRefusalSchema = RunnerRefusalSchema;
|
|
112468
|
+
exports.RunningStateSourceSchema = RunningStateSourceSchema;
|
|
112469
|
+
exports.RunningStateStatusSchema = RunningStateStatusSchema;
|
|
112221
112470
|
exports.SCENE_CONDITIONS = SCENE_CONDITIONS;
|
|
112222
112471
|
exports.SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX = SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX;
|
|
112223
112472
|
exports.SCENE_CONFIRM_DEFAULT_TIMEOUT_MS = SCENE_CONFIRM_DEFAULT_TIMEOUT_MS;
|
|
@@ -113031,6 +113280,7 @@ exports.isRemovedModelId = isRemovedModelId;
|
|
|
113031
113280
|
exports.isRestoredCap = isRestoredCap;
|
|
113032
113281
|
exports.isRetiredClearKey = isRetiredClearKey;
|
|
113033
113282
|
exports.isRootSuppliableStepId = isRootSuppliableStepId;
|
|
113283
|
+
exports.isRunningAssignmentFeature = isRunningAssignmentFeature;
|
|
113034
113284
|
exports.isSameAddonId = isSameAddonId;
|
|
113035
113285
|
exports.isScheduleActive = isScheduleActive;
|
|
113036
113286
|
exports.isSecretClear = require_sleep.isSecretClear;
|
|
@@ -113348,6 +113598,13 @@ exports.ruleSectionOf = ruleSectionOf;
|
|
|
113348
113598
|
exports.ruleSeedForSection = ruleSeedForSection;
|
|
113349
113599
|
exports.ruleTriggerZoneIds = ruleTriggerZoneIds;
|
|
113350
113600
|
exports.runInferenceStep = runInferenceStep;
|
|
113601
|
+
exports.runningAssignmentFeature = runningAssignmentFeature;
|
|
113602
|
+
exports.runningAssignmentRecovered = runningAssignmentRecovered;
|
|
113603
|
+
exports.runningFromDishwasherOperation = runningFromDishwasherOperation;
|
|
113604
|
+
exports.runningFromLawnMower = runningFromLawnMower;
|
|
113605
|
+
exports.runningFromMediaPlayer = runningFromMediaPlayer;
|
|
113606
|
+
exports.runningFromVacuumState = runningFromVacuumState;
|
|
113607
|
+
exports.runningStateCapability = runningStateCapability;
|
|
113351
113608
|
exports.runtimeDevices = runtimeDevices;
|
|
113352
113609
|
exports.runtimeStatePolicyFor = runtimeStatePolicyFor;
|
|
113353
113610
|
exports.sameDoFamily = sameDoFamily;
|