@camstack/addon-post-analysis 1.2.607 → 1.2.609
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/{clip-model-registry-VgOXFRFr.js → clip-model-registry-B11yS32V.js} +472 -47
- package/dist/{clip-model-registry-CTfe5v5_.mjs → clip-model-registry-BItfTZEx.mjs} +431 -48
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/_stub.js +2 -2
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DUNQoBDI.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-LGLlz5Sk.mjs} +3 -3
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-iXmJsQ9Y.mjs +26 -0
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Cm7pZeMH.mjs +26 -0
- package/dist/pipeline-analytics/{hostInit-B8mC_3oV.mjs → hostInit-Cko0y33G.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +583 -68
- package/dist/pipeline-analytics/index.mjs +583 -68
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-1AlitJg2.mjs +0 -26
- package/dist/pipeline-analytics/_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DalpVM1q.mjs +0 -26
|
@@ -30,7 +30,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
30
30
|
}) : target, mod));
|
|
31
31
|
//#endregion
|
|
32
32
|
let node_crypto = require("node:crypto");
|
|
33
|
-
//#region ../types/dist/event-category-
|
|
33
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
34
34
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
35
35
|
EventCategory["SystemBoot"] = "system.boot";
|
|
36
36
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -109,9 +109,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
109
109
|
/**
|
|
110
110
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
111
111
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
112
|
-
* alert centre turns it into one
|
|
112
|
+
* alert centre turns it into one critical alert.
|
|
113
113
|
*/
|
|
114
114
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
115
|
+
/**
|
|
116
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
117
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
118
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
119
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
120
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
121
|
+
* event may be dropped (D8, D11).
|
|
122
|
+
*/
|
|
123
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
115
124
|
EventCategory["AddonError"] = "addon.error";
|
|
116
125
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
117
126
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5634,7 +5643,7 @@ var ZodIssueCode = {
|
|
|
5634
5643
|
var ZodFirstPartyTypeKind;
|
|
5635
5644
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5636
5645
|
//#endregion
|
|
5637
|
-
//#region ../types/dist/sleep-
|
|
5646
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5638
5647
|
/**
|
|
5639
5648
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5640
5649
|
* window to float samples (D455).
|
|
@@ -12826,6 +12835,41 @@ var StorageCleanupJobSchema = object({
|
|
|
12826
12835
|
});
|
|
12827
12836
|
var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
|
|
12828
12837
|
/**
|
|
12838
|
+
* Start a mover only when no single-location repoint holds an overlapping
|
|
12839
|
+
* physical root. Asks BEFORE (cheap refusal, no job) and AFTER registering the
|
|
12840
|
+
* job: the repoint announces its claim and then lists movers, so a mover that
|
|
12841
|
+
* registers first is seen by it and one that registers second sees the claim —
|
|
12842
|
+
* neither side can miss the other (2026-10-20: a repoint and a relocate job
|
|
12843
|
+
* moved and deleted the same event media with no lock between them).
|
|
12844
|
+
*
|
|
12845
|
+
* Fail CLOSED: a clearance that cannot be asked refuses the start.
|
|
12846
|
+
*/
|
|
12847
|
+
async function startMoverUnderClearance(deps) {
|
|
12848
|
+
const refuse = (detail) => {
|
|
12849
|
+
throw new Error(`mover refused: ${detail}`);
|
|
12850
|
+
};
|
|
12851
|
+
const ask = async () => {
|
|
12852
|
+
try {
|
|
12853
|
+
return await deps.clearance(deps.locationIds);
|
|
12854
|
+
} catch (err) {
|
|
12855
|
+
return refuse(`the storage orchestrator could not be asked (${err instanceof Error ? err.message : String(err)})`);
|
|
12856
|
+
}
|
|
12857
|
+
};
|
|
12858
|
+
const blocked = (answer) => `a re-point of "${answer.repointLocationId ?? "a location"}" holds an overlapping storage root`;
|
|
12859
|
+
const before = await ask();
|
|
12860
|
+
if (!before.clear) return refuse(blocked(before));
|
|
12861
|
+
const jobId = deps.start();
|
|
12862
|
+
const after = await ask().catch((err) => {
|
|
12863
|
+
deps.cancel(jobId);
|
|
12864
|
+
throw err;
|
|
12865
|
+
});
|
|
12866
|
+
if (!after.clear) {
|
|
12867
|
+
deps.cancel(jobId);
|
|
12868
|
+
return refuse(blocked(after));
|
|
12869
|
+
}
|
|
12870
|
+
return jobId;
|
|
12871
|
+
}
|
|
12872
|
+
/**
|
|
12829
12873
|
* The storage-location STATE MODEL (D385) — one typed state, one policy module.
|
|
12830
12874
|
*
|
|
12831
12875
|
* A location's state used to be split across two authorities: the typed
|
|
@@ -14669,7 +14713,14 @@ var AlertSeveritySchema = _enum([
|
|
|
14669
14713
|
]);
|
|
14670
14714
|
var AlertActionSchema = object({
|
|
14671
14715
|
label: string(),
|
|
14672
|
-
href: string().optional()
|
|
14716
|
+
href: string().optional(),
|
|
14717
|
+
/**
|
|
14718
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
14719
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
14720
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
14721
|
+
* the SPA has no such route and would bounce to the home page.
|
|
14722
|
+
*/
|
|
14723
|
+
navigation: _enum(["app", "server"]).optional()
|
|
14673
14724
|
});
|
|
14674
14725
|
var AlertStatusSchema = _enum([
|
|
14675
14726
|
"active",
|
|
@@ -43543,6 +43594,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43543
43594
|
"server-updated",
|
|
43544
43595
|
"export-completed",
|
|
43545
43596
|
"backup-completed",
|
|
43597
|
+
"alert-critical",
|
|
43598
|
+
"alert-error",
|
|
43599
|
+
"alert-critical-resolved",
|
|
43546
43600
|
"camera-online",
|
|
43547
43601
|
"camera-offline",
|
|
43548
43602
|
"camera-disabled",
|
|
@@ -45108,6 +45162,18 @@ var NC_CONDITION_CATALOG = [
|
|
|
45108
45162
|
value: "backup-completed",
|
|
45109
45163
|
label: "Backup completed"
|
|
45110
45164
|
},
|
|
45165
|
+
{
|
|
45166
|
+
value: "alert-critical",
|
|
45167
|
+
label: "Critical alert raised"
|
|
45168
|
+
},
|
|
45169
|
+
{
|
|
45170
|
+
value: "alert-error",
|
|
45171
|
+
label: "Error alert raised"
|
|
45172
|
+
},
|
|
45173
|
+
{
|
|
45174
|
+
value: "alert-critical-resolved",
|
|
45175
|
+
label: "Critical alert resolved"
|
|
45176
|
+
},
|
|
45111
45177
|
{
|
|
45112
45178
|
value: "alarm-arm-refused",
|
|
45113
45179
|
label: "Alarm arm refused"
|
|
@@ -54411,7 +54477,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
54411
54477
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
54412
54478
|
kind: "mutation",
|
|
54413
54479
|
auth: "admin"
|
|
54414
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
54480
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
54481
|
+
clear: boolean(),
|
|
54482
|
+
repointLocationId: string().optional()
|
|
54483
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
54415
54484
|
kind: "mutation",
|
|
54416
54485
|
auth: "admin"
|
|
54417
54486
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -58750,6 +58819,11 @@ onStatusChanged: { data: object({
|
|
|
58750
58819
|
*
|
|
58751
58820
|
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
58752
58821
|
* provider refreshes the slice on an interval and eagerly after commands.
|
|
58822
|
+
*
|
|
58823
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
58824
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
58825
|
+
* the link is down, or the description does not carry it) and is never
|
|
58826
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
58753
58827
|
*/
|
|
58754
58828
|
var DishwasherStateSchema = _enum([
|
|
58755
58829
|
"idle",
|
|
@@ -58759,43 +58833,155 @@ var DishwasherStateSchema = _enum([
|
|
|
58759
58833
|
"error",
|
|
58760
58834
|
"unavailable"
|
|
58761
58835
|
]);
|
|
58836
|
+
/**
|
|
58837
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
58838
|
+
* view for compact surfaces; this is what the appliance said.
|
|
58839
|
+
*/
|
|
58840
|
+
var DishwasherOperationStateSchema = _enum([
|
|
58841
|
+
"Inactive",
|
|
58842
|
+
"Ready",
|
|
58843
|
+
"DelayedStart",
|
|
58844
|
+
"Run",
|
|
58845
|
+
"Pause",
|
|
58846
|
+
"ActionRequired",
|
|
58847
|
+
"Finished",
|
|
58848
|
+
"Error",
|
|
58849
|
+
"Aborting"
|
|
58850
|
+
]);
|
|
58851
|
+
/**
|
|
58852
|
+
* Why fields may be `null`:
|
|
58853
|
+
* - `available` — the link is up and the description is loaded;
|
|
58854
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
58855
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
58856
|
+
* be loaded, so its values cannot be decoded.
|
|
58857
|
+
*/
|
|
58858
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
58859
|
+
"available",
|
|
58860
|
+
"offline",
|
|
58861
|
+
"description-missing"
|
|
58862
|
+
]);
|
|
58762
58863
|
var DishwasherConsumableLevelSchema = _enum([
|
|
58763
58864
|
"ok",
|
|
58764
58865
|
"low",
|
|
58765
58866
|
"empty"
|
|
58766
58867
|
]);
|
|
58767
58868
|
var DishwasherStatusSchema = object({
|
|
58869
|
+
availability: DishwasherAvailabilitySchema,
|
|
58870
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
58768
58871
|
state: DishwasherStateSchema,
|
|
58769
|
-
/**
|
|
58872
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
58873
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
58874
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
58770
58875
|
program: string().nullable(),
|
|
58771
|
-
/**
|
|
58876
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
58877
|
+
selectedProgram: string().nullable(),
|
|
58878
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
58772
58879
|
availablePrograms: array(string()),
|
|
58773
|
-
/**
|
|
58774
|
-
|
|
58880
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
58881
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
58882
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
58883
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
58775
58884
|
/** Cycle completion 0..100, or null when not applicable. */
|
|
58776
58885
|
progressPercent: number().min(0).max(100).nullable(),
|
|
58777
|
-
/** True when the door is reported open. */
|
|
58778
|
-
doorOpen: boolean(),
|
|
58779
|
-
/** True when
|
|
58780
|
-
|
|
58781
|
-
/**
|
|
58782
|
-
|
|
58886
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
58887
|
+
doorOpen: boolean().nullable(),
|
|
58888
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
58889
|
+
doorLocked: boolean().nullable(),
|
|
58890
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
58891
|
+
remoteStartAllowed: boolean().nullable(),
|
|
58892
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
58893
|
+
remoteControlActive: boolean().nullable(),
|
|
58894
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
58895
|
+
localControlActive: boolean().nullable(),
|
|
58896
|
+
/** Main power / switched-on state; null when not known. */
|
|
58897
|
+
powerOn: boolean().nullable(),
|
|
58898
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
58899
|
+
powerState: string().nullable(),
|
|
58783
58900
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
58784
58901
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
58785
|
-
|
|
58786
|
-
|
|
58902
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
58903
|
+
halfLoad: boolean().nullable(),
|
|
58904
|
+
hygienePlus: boolean().nullable(),
|
|
58787
58905
|
/** Extra dry option when the appliance exposes it. */
|
|
58788
|
-
extraDry: boolean(),
|
|
58906
|
+
extraDry: boolean().nullable(),
|
|
58789
58907
|
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
58790
|
-
intensiveZone: boolean(),
|
|
58908
|
+
intensiveZone: boolean().nullable(),
|
|
58791
58909
|
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
58792
|
-
varioSpeedPlus: boolean(),
|
|
58793
|
-
/** Child lock (controls disabled on the appliance). */
|
|
58794
|
-
childLock: boolean(),
|
|
58910
|
+
varioSpeedPlus: boolean().nullable(),
|
|
58911
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
58912
|
+
childLock: boolean().nullable(),
|
|
58913
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
58914
|
+
activeEvents: array(string()),
|
|
58915
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
58795
58916
|
errorCode: number().nullable(),
|
|
58917
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
58796
58918
|
errorLabel: string().nullable(),
|
|
58919
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
58797
58920
|
lastFetchedAt: number()
|
|
58798
58921
|
});
|
|
58922
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
58923
|
+
/** A value a program option or setting can take. */
|
|
58924
|
+
var DishwasherValueSchema = union([
|
|
58925
|
+
boolean(),
|
|
58926
|
+
string(),
|
|
58927
|
+
number()
|
|
58928
|
+
]);
|
|
58929
|
+
var DishwasherAccessSchema = _enum([
|
|
58930
|
+
"none",
|
|
58931
|
+
"read",
|
|
58932
|
+
"readWrite",
|
|
58933
|
+
"writeOnly",
|
|
58934
|
+
"readStatic"
|
|
58935
|
+
]);
|
|
58936
|
+
/**
|
|
58937
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
58938
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
58939
|
+
*/
|
|
58940
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
58941
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
58942
|
+
key: string(),
|
|
58943
|
+
/** Last segment of the key, for display. */
|
|
58944
|
+
name: string(),
|
|
58945
|
+
type: _enum([
|
|
58946
|
+
"boolean",
|
|
58947
|
+
"number",
|
|
58948
|
+
"enum",
|
|
58949
|
+
"string"
|
|
58950
|
+
]),
|
|
58951
|
+
access: DishwasherAccessSchema,
|
|
58952
|
+
/** The appliance reports this entity as currently available. */
|
|
58953
|
+
available: boolean(),
|
|
58954
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
58955
|
+
unit: string().nullable(),
|
|
58956
|
+
min: number().nullable(),
|
|
58957
|
+
max: number().nullable(),
|
|
58958
|
+
step: number().nullable(),
|
|
58959
|
+
/** Allowed members of an enum; null for other types. */
|
|
58960
|
+
enumValues: array(string()).nullable(),
|
|
58961
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
58962
|
+
});
|
|
58963
|
+
var DishwasherProgramSchema = object({
|
|
58964
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
58965
|
+
key: string(),
|
|
58966
|
+
name: string(),
|
|
58967
|
+
/** The appliance currently offers this program. */
|
|
58968
|
+
available: boolean(),
|
|
58969
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
58970
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
58971
|
+
});
|
|
58972
|
+
var DishwasherOptionsSchema = object({
|
|
58973
|
+
availability: DishwasherAvailabilitySchema,
|
|
58974
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
58975
|
+
supportsStart: boolean(),
|
|
58976
|
+
supportsPause: boolean(),
|
|
58977
|
+
supportsResume: boolean(),
|
|
58978
|
+
supportsStop: boolean(),
|
|
58979
|
+
supportsPower: boolean(),
|
|
58980
|
+
/** Every program the description lists, with its options. */
|
|
58981
|
+
programs: array(DishwasherProgramSchema),
|
|
58982
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
58983
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
58984
|
+
});
|
|
58799
58985
|
var dishwasherCapability = {
|
|
58800
58986
|
name: "dishwasher",
|
|
58801
58987
|
scope: "device",
|
|
@@ -58803,86 +58989,102 @@ var dishwasherCapability = {
|
|
|
58803
58989
|
mode: "singleton",
|
|
58804
58990
|
deviceTypes: [DeviceType.Dishwasher],
|
|
58805
58991
|
methods: {
|
|
58806
|
-
|
|
58992
|
+
/**
|
|
58993
|
+
* Start a program. Without `program` the selected one starts. `options` are
|
|
58994
|
+
* option feature keys; each is checked against the program's constraints.
|
|
58995
|
+
*/
|
|
58996
|
+
start: method(object({
|
|
58997
|
+
deviceId: DeviceIdSchema,
|
|
58998
|
+
program: string().min(1).optional(),
|
|
58999
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
59000
|
+
}), _void(), {
|
|
58807
59001
|
kind: "mutation",
|
|
58808
59002
|
auth: "protected"
|
|
58809
59003
|
}),
|
|
58810
|
-
pause: method(object({ deviceId:
|
|
59004
|
+
pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
58811
59005
|
kind: "mutation",
|
|
58812
59006
|
auth: "protected"
|
|
58813
59007
|
}),
|
|
58814
|
-
|
|
59008
|
+
resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
59009
|
+
kind: "mutation",
|
|
59010
|
+
auth: "protected"
|
|
59011
|
+
}),
|
|
59012
|
+
stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
58815
59013
|
kind: "mutation",
|
|
58816
59014
|
auth: "protected"
|
|
58817
59015
|
}),
|
|
59016
|
+
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
58818
59017
|
setProgram: method(object({
|
|
58819
|
-
deviceId:
|
|
59018
|
+
deviceId: DeviceIdSchema,
|
|
58820
59019
|
program: string().min(1)
|
|
58821
59020
|
}), _void(), {
|
|
58822
59021
|
kind: "mutation",
|
|
58823
59022
|
auth: "protected"
|
|
58824
59023
|
}),
|
|
58825
59024
|
setPower: method(object({
|
|
58826
|
-
deviceId:
|
|
59025
|
+
deviceId: DeviceIdSchema,
|
|
58827
59026
|
on: boolean()
|
|
58828
59027
|
}), _void(), {
|
|
58829
59028
|
kind: "mutation",
|
|
58830
59029
|
auth: "protected"
|
|
58831
59030
|
}),
|
|
58832
59031
|
setHalfLoad: method(object({
|
|
58833
|
-
deviceId:
|
|
59032
|
+
deviceId: DeviceIdSchema,
|
|
58834
59033
|
on: boolean()
|
|
58835
59034
|
}), _void(), {
|
|
58836
59035
|
kind: "mutation",
|
|
58837
59036
|
auth: "protected"
|
|
58838
59037
|
}),
|
|
58839
59038
|
setHygienePlus: method(object({
|
|
58840
|
-
deviceId:
|
|
59039
|
+
deviceId: DeviceIdSchema,
|
|
58841
59040
|
on: boolean()
|
|
58842
59041
|
}), _void(), {
|
|
58843
59042
|
kind: "mutation",
|
|
58844
59043
|
auth: "protected"
|
|
58845
59044
|
}),
|
|
58846
59045
|
setExtraDry: method(object({
|
|
58847
|
-
deviceId:
|
|
59046
|
+
deviceId: DeviceIdSchema,
|
|
58848
59047
|
on: boolean()
|
|
58849
59048
|
}), _void(), {
|
|
58850
59049
|
kind: "mutation",
|
|
58851
59050
|
auth: "protected"
|
|
58852
59051
|
}),
|
|
58853
59052
|
setIntensiveZone: method(object({
|
|
58854
|
-
deviceId:
|
|
59053
|
+
deviceId: DeviceIdSchema,
|
|
58855
59054
|
on: boolean()
|
|
58856
59055
|
}), _void(), {
|
|
58857
59056
|
kind: "mutation",
|
|
58858
59057
|
auth: "protected"
|
|
58859
59058
|
}),
|
|
58860
59059
|
setVarioSpeedPlus: method(object({
|
|
58861
|
-
deviceId:
|
|
59060
|
+
deviceId: DeviceIdSchema,
|
|
58862
59061
|
on: boolean()
|
|
58863
59062
|
}), _void(), {
|
|
58864
59063
|
kind: "mutation",
|
|
58865
59064
|
auth: "protected"
|
|
58866
59065
|
}),
|
|
58867
59066
|
setChildLock: method(object({
|
|
58868
|
-
deviceId:
|
|
59067
|
+
deviceId: DeviceIdSchema,
|
|
58869
59068
|
on: boolean()
|
|
58870
59069
|
}), _void(), {
|
|
58871
59070
|
kind: "mutation",
|
|
58872
59071
|
auth: "protected"
|
|
58873
59072
|
}),
|
|
59073
|
+
/**
|
|
59074
|
+
* Write any option or setting by feature key. Refused when the description does
|
|
59075
|
+
* not list it, it is not writable or not available now, or the value is outside
|
|
59076
|
+
* its declared range / members.
|
|
59077
|
+
*/
|
|
58874
59078
|
setOption: method(object({
|
|
58875
|
-
deviceId:
|
|
59079
|
+
deviceId: DeviceIdSchema,
|
|
58876
59080
|
key: string().min(1),
|
|
58877
|
-
value:
|
|
58878
|
-
boolean(),
|
|
58879
|
-
string(),
|
|
58880
|
-
number()
|
|
58881
|
-
])
|
|
59081
|
+
value: DishwasherValueSchema
|
|
58882
59082
|
}), _void(), {
|
|
58883
59083
|
kind: "mutation",
|
|
58884
59084
|
auth: "protected"
|
|
58885
|
-
})
|
|
59085
|
+
}),
|
|
59086
|
+
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
59087
|
+
getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
|
|
58886
59088
|
},
|
|
58887
59089
|
status: {
|
|
58888
59090
|
schema: DishwasherStatusSchema,
|
|
@@ -72570,6 +72772,12 @@ Object.freeze({
|
|
|
72570
72772
|
addonId: null,
|
|
72571
72773
|
access: "view"
|
|
72572
72774
|
},
|
|
72775
|
+
"dishwasher.getOptions": {
|
|
72776
|
+
capName: "dishwasher",
|
|
72777
|
+
capScope: "device",
|
|
72778
|
+
addonId: null,
|
|
72779
|
+
access: "view"
|
|
72780
|
+
},
|
|
72573
72781
|
"dishwasher.getStatus": {
|
|
72574
72782
|
capName: "dishwasher",
|
|
72575
72783
|
capScope: "device",
|
|
@@ -72582,6 +72790,12 @@ Object.freeze({
|
|
|
72582
72790
|
addonId: null,
|
|
72583
72791
|
access: "create"
|
|
72584
72792
|
},
|
|
72793
|
+
"dishwasher.resume": {
|
|
72794
|
+
capName: "dishwasher",
|
|
72795
|
+
capScope: "device",
|
|
72796
|
+
addonId: null,
|
|
72797
|
+
access: "create"
|
|
72798
|
+
},
|
|
72585
72799
|
"dishwasher.setChildLock": {
|
|
72586
72800
|
capName: "dishwasher",
|
|
72587
72801
|
capScope: "device",
|
|
@@ -77082,6 +77296,12 @@ Object.freeze({
|
|
|
77082
77296
|
addonId: null,
|
|
77083
77297
|
access: "view"
|
|
77084
77298
|
},
|
|
77299
|
+
"storageMigration.moverClearance": {
|
|
77300
|
+
capName: "storage-migration",
|
|
77301
|
+
capScope: "system",
|
|
77302
|
+
addonId: null,
|
|
77303
|
+
access: "view"
|
|
77304
|
+
},
|
|
77085
77305
|
"storageMigration.movers": {
|
|
77086
77306
|
capName: "storage-migration",
|
|
77087
77307
|
capScope: "system",
|
|
@@ -79275,6 +79495,11 @@ Object.freeze({
|
|
|
79275
79495
|
form: "single",
|
|
79276
79496
|
optional: false
|
|
79277
79497
|
}],
|
|
79498
|
+
"dishwasher.getOptions": [{
|
|
79499
|
+
name: "deviceId",
|
|
79500
|
+
form: "single",
|
|
79501
|
+
optional: false
|
|
79502
|
+
}],
|
|
79278
79503
|
"dishwasher.getStatus": [{
|
|
79279
79504
|
name: "deviceId",
|
|
79280
79505
|
form: "single",
|
|
@@ -79285,6 +79510,11 @@ Object.freeze({
|
|
|
79285
79510
|
form: "single",
|
|
79286
79511
|
optional: false
|
|
79287
79512
|
}],
|
|
79513
|
+
"dishwasher.resume": [{
|
|
79514
|
+
name: "deviceId",
|
|
79515
|
+
form: "single",
|
|
79516
|
+
optional: false
|
|
79517
|
+
}],
|
|
79288
79518
|
"dishwasher.setChildLock": [{
|
|
79289
79519
|
name: "deviceId",
|
|
79290
79520
|
form: "single",
|
|
@@ -81482,7 +81712,7 @@ function systemEventFilterApplies(kind, filter) {
|
|
|
81482
81712
|
switch (filter) {
|
|
81483
81713
|
case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
|
|
81484
81714
|
case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
|
|
81485
|
-
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" || kind.startsWith("storage-location-");
|
|
81715
|
+
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" || kind.startsWith("storage-location-") || kind.startsWith("alert-");
|
|
81486
81716
|
case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
|
|
81487
81717
|
case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
|
|
81488
81718
|
}
|
|
@@ -81542,6 +81772,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
81542
81772
|
"wrapper-update-available": "system",
|
|
81543
81773
|
"backup-completed": "system",
|
|
81544
81774
|
"export-completed": "system",
|
|
81775
|
+
"alert-critical": "system",
|
|
81776
|
+
"alert-error": "system",
|
|
81777
|
+
"alert-critical-resolved": "system",
|
|
81545
81778
|
"storage-location-low": "system",
|
|
81546
81779
|
"storage-location-critical": "system",
|
|
81547
81780
|
"storage-location-ok": "system",
|
|
@@ -81684,6 +81917,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
81684
81917
|
"storage-location-ok"
|
|
81685
81918
|
]
|
|
81686
81919
|
},
|
|
81920
|
+
{
|
|
81921
|
+
id: "alerts",
|
|
81922
|
+
family: "system",
|
|
81923
|
+
label: "Alerts",
|
|
81924
|
+
kinds: [
|
|
81925
|
+
"alert-critical",
|
|
81926
|
+
"alert-error",
|
|
81927
|
+
"alert-critical-resolved"
|
|
81928
|
+
]
|
|
81929
|
+
},
|
|
81687
81930
|
{
|
|
81688
81931
|
id: "alarm",
|
|
81689
81932
|
family: "alarm",
|
|
@@ -82495,6 +82738,96 @@ function sensorRaisedOf(kind, value) {
|
|
|
82495
82738
|
const raw = Object.entries(value).find(([key]) => key === field)?.[1];
|
|
82496
82739
|
return typeof raw === "boolean" ? raw : void 0;
|
|
82497
82740
|
}
|
|
82741
|
+
/**
|
|
82742
|
+
* An alert EPISODE as a notification subject.
|
|
82743
|
+
*
|
|
82744
|
+
* The alert centre sends nothing of its own. A critical or error alert reaches
|
|
82745
|
+
* the operator through Notification Center system-event rules, and this file is
|
|
82746
|
+
* the one vocabulary the two sides share: the alert centre mints the episode
|
|
82747
|
+
* identity and announces its two edges on the bus (`alert.episode`), and
|
|
82748
|
+
* Notification Center derives the same identity when it RECONCILES from the
|
|
82749
|
+
* alerts store, because a bus event may be dropped (D8, D11).
|
|
82750
|
+
*
|
|
82751
|
+
* ## Episode identity
|
|
82752
|
+
*
|
|
82753
|
+
* `metadata.episodeId`, minted by the alert centre when an alert opens (new, or
|
|
82754
|
+
* re-opened after it was completed/dismissed, or its emitter changed
|
|
82755
|
+
* `metadata.episodeKey`) and kept through every re-emit while it stays open. An
|
|
82756
|
+
* alert row written before the alert centre minted ids has none: its episode is
|
|
82757
|
+
* `<id>@<createdAt>`, derived here so both sides agree.
|
|
82758
|
+
*/
|
|
82759
|
+
/** The bus payload of `EventCategory.AlertEpisode`. */
|
|
82760
|
+
var AlertEpisodePayloadSchema = object({
|
|
82761
|
+
phase: _enum(["raised", "resolved"]),
|
|
82762
|
+
episodeId: string().min(1),
|
|
82763
|
+
alertId: string().min(1),
|
|
82764
|
+
severity: AlertSeveritySchema,
|
|
82765
|
+
category: string(),
|
|
82766
|
+
title: string(),
|
|
82767
|
+
message: string(),
|
|
82768
|
+
sourceType: string().optional(),
|
|
82769
|
+
sourceId: string().optional(),
|
|
82770
|
+
nodeId: string().optional(),
|
|
82771
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
82772
|
+
actionUrl: string().optional(),
|
|
82773
|
+
at: number()
|
|
82774
|
+
});
|
|
82775
|
+
/** The payload of an `alert.episode` event's `data`, or `null` when it is not one. */
|
|
82776
|
+
function parseAlertEpisodePayload(data) {
|
|
82777
|
+
const parsed = AlertEpisodePayloadSchema.safeParse(data);
|
|
82778
|
+
return parsed.success ? parsed.data : null;
|
|
82779
|
+
}
|
|
82780
|
+
/** An episode is closed once its alert is completed or dismissed. */
|
|
82781
|
+
function isAlertEpisodeOpen(status) {
|
|
82782
|
+
return status !== "completed" && status !== "dismissed";
|
|
82783
|
+
}
|
|
82784
|
+
/** Only these severities are ever announced. */
|
|
82785
|
+
function isAlertEpisodeSeverity(severity) {
|
|
82786
|
+
return severity === "critical" || severity === "error";
|
|
82787
|
+
}
|
|
82788
|
+
function alertEpisodeId(alert) {
|
|
82789
|
+
const minted = alert.metadata?.["episodeId"];
|
|
82790
|
+
return typeof minted === "string" && minted.length > 0 ? minted : `${alert.id}@${String(alert.createdAt)}`;
|
|
82791
|
+
}
|
|
82792
|
+
/** The node an alert is about, from the places emitters put it. */
|
|
82793
|
+
function alertNodeId(alert) {
|
|
82794
|
+
const direct = alert.metadata?.["nodeId"];
|
|
82795
|
+
if (typeof direct === "string") return direct;
|
|
82796
|
+
const runner = alert.metadata?.["runner"];
|
|
82797
|
+
if (typeof runner === "object" && runner !== null && "nodeId" in runner) {
|
|
82798
|
+
const id = runner.nodeId;
|
|
82799
|
+
if (typeof id === "string") return id;
|
|
82800
|
+
}
|
|
82801
|
+
return alert.source?.type === "node" ? alert.source.id : void 0;
|
|
82802
|
+
}
|
|
82803
|
+
/**
|
|
82804
|
+
* The system-event kind of an episode edge, or `null` when none is announced
|
|
82805
|
+
* (an `error` episode announces its opening only).
|
|
82806
|
+
*/
|
|
82807
|
+
function alertEpisodeKind(severity, phase) {
|
|
82808
|
+
if (severity === "critical") return phase === "raised" ? "alert-critical" : "alert-critical-resolved";
|
|
82809
|
+
if (severity === "error" && phase === "raised") return "alert-error";
|
|
82810
|
+
return null;
|
|
82811
|
+
}
|
|
82812
|
+
function alertEpisodePayload(alert, phase, at) {
|
|
82813
|
+
const nodeId = alertNodeId(alert);
|
|
82814
|
+
return {
|
|
82815
|
+
phase,
|
|
82816
|
+
episodeId: alertEpisodeId(alert),
|
|
82817
|
+
alertId: alert.id,
|
|
82818
|
+
severity: alert.severity,
|
|
82819
|
+
category: alert.category,
|
|
82820
|
+
title: alert.title,
|
|
82821
|
+
message: alert.message,
|
|
82822
|
+
...alert.source !== void 0 ? {
|
|
82823
|
+
sourceType: alert.source.type,
|
|
82824
|
+
sourceId: alert.source.id
|
|
82825
|
+
} : {},
|
|
82826
|
+
...nodeId !== void 0 ? { nodeId } : {},
|
|
82827
|
+
...alert.action?.href !== void 0 ? { actionUrl: alert.action.href } : {},
|
|
82828
|
+
at
|
|
82829
|
+
};
|
|
82830
|
+
}
|
|
82498
82831
|
var RULE_BODY_ONLY = ["body"];
|
|
82499
82832
|
var RULE_TEXT = ["title", "body"];
|
|
82500
82833
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -82504,6 +82837,11 @@ var TANK = [
|
|
|
82504
82837
|
"device-tank-full",
|
|
82505
82838
|
"device-tank-normal"
|
|
82506
82839
|
];
|
|
82840
|
+
var ALERT_EPISODE = [
|
|
82841
|
+
"alert-critical",
|
|
82842
|
+
"alert-error",
|
|
82843
|
+
"alert-critical-resolved"
|
|
82844
|
+
];
|
|
82507
82845
|
var UPDATES = [
|
|
82508
82846
|
"addon-update-available",
|
|
82509
82847
|
"server-update-available",
|
|
@@ -83028,7 +83366,8 @@ var NC_TEMPLATE_VARS = [
|
|
|
83028
83366
|
"server-updated",
|
|
83029
83367
|
"storage-location-low",
|
|
83030
83368
|
"storage-location-critical",
|
|
83031
|
-
"storage-location-ok"
|
|
83369
|
+
"storage-location-ok",
|
|
83370
|
+
...ALERT_EPISODE
|
|
83032
83371
|
]
|
|
83033
83372
|
},
|
|
83034
83373
|
{
|
|
@@ -83050,7 +83389,8 @@ var NC_TEMPLATE_VARS = [
|
|
|
83050
83389
|
"server-updated",
|
|
83051
83390
|
"storage-location-low",
|
|
83052
83391
|
"storage-location-critical",
|
|
83053
|
-
"storage-location-ok"
|
|
83392
|
+
"storage-location-ok",
|
|
83393
|
+
...ALERT_EPISODE
|
|
83054
83394
|
]
|
|
83055
83395
|
},
|
|
83056
83396
|
{
|
|
@@ -83117,7 +83457,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
83117
83457
|
families: ["rule"],
|
|
83118
83458
|
fields: [...RULE_TEXT],
|
|
83119
83459
|
kinds: ["system"],
|
|
83120
|
-
systemEventKinds: ["recording-degraded"]
|
|
83460
|
+
systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
|
|
83121
83461
|
},
|
|
83122
83462
|
{
|
|
83123
83463
|
name: "locationName",
|
|
@@ -83314,13 +83654,53 @@ var NC_TEMPLATE_VARS = [
|
|
|
83314
83654
|
},
|
|
83315
83655
|
{
|
|
83316
83656
|
name: "title",
|
|
83317
|
-
label: "Export title",
|
|
83657
|
+
label: "Export or alert title",
|
|
83318
83658
|
example: "Ingresso 08:00",
|
|
83319
83659
|
group: "system",
|
|
83320
83660
|
families: ["rule"],
|
|
83321
83661
|
fields: [...RULE_TEXT],
|
|
83322
83662
|
kinds: ["system"],
|
|
83323
|
-
systemEventKinds: ["export-completed"]
|
|
83663
|
+
systemEventKinds: ["export-completed", ...ALERT_EPISODE]
|
|
83664
|
+
},
|
|
83665
|
+
{
|
|
83666
|
+
name: "severity",
|
|
83667
|
+
label: "Alert severity",
|
|
83668
|
+
example: "critical",
|
|
83669
|
+
group: "system",
|
|
83670
|
+
families: ["rule"],
|
|
83671
|
+
fields: [...RULE_TEXT],
|
|
83672
|
+
kinds: ["system"],
|
|
83673
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83674
|
+
},
|
|
83675
|
+
{
|
|
83676
|
+
name: "category",
|
|
83677
|
+
label: "Alert category",
|
|
83678
|
+
example: "addon.runner-failed",
|
|
83679
|
+
group: "system",
|
|
83680
|
+
families: ["rule"],
|
|
83681
|
+
fields: [...RULE_TEXT],
|
|
83682
|
+
kinds: ["system"],
|
|
83683
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83684
|
+
},
|
|
83685
|
+
{
|
|
83686
|
+
name: "source",
|
|
83687
|
+
label: "Alert source (addon, node or runner)",
|
|
83688
|
+
example: "recorder",
|
|
83689
|
+
group: "system",
|
|
83690
|
+
families: ["rule"],
|
|
83691
|
+
fields: [...RULE_TEXT],
|
|
83692
|
+
kinds: ["system"],
|
|
83693
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83694
|
+
},
|
|
83695
|
+
{
|
|
83696
|
+
name: "actionUrl",
|
|
83697
|
+
label: "Alert action link",
|
|
83698
|
+
example: "/system/addons",
|
|
83699
|
+
group: "system",
|
|
83700
|
+
families: ["rule"],
|
|
83701
|
+
fields: [...RULE_TEXT],
|
|
83702
|
+
kinds: ["system"],
|
|
83703
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83324
83704
|
},
|
|
83325
83705
|
{
|
|
83326
83706
|
name: "exportId",
|
|
@@ -83531,7 +83911,10 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
|
|
|
83531
83911
|
"device-tank-full",
|
|
83532
83912
|
"device-tank-normal",
|
|
83533
83913
|
"node-restarting",
|
|
83534
|
-
"node-updating"
|
|
83914
|
+
"node-updating",
|
|
83915
|
+
"alert-critical",
|
|
83916
|
+
"alert-error",
|
|
83917
|
+
"alert-critical-resolved"
|
|
83535
83918
|
];
|
|
83536
83919
|
/**
|
|
83537
83920
|
* The catalog as `getTemplateCatalog` SERVES it: every descriptor, with the
|
|
@@ -86331,6 +86714,24 @@ Object.defineProperty(exports, "alarmPanelCapability", {
|
|
|
86331
86714
|
return alarmPanelCapability;
|
|
86332
86715
|
}
|
|
86333
86716
|
});
|
|
86717
|
+
Object.defineProperty(exports, "alertEpisodeId", {
|
|
86718
|
+
enumerable: true,
|
|
86719
|
+
get: function() {
|
|
86720
|
+
return alertEpisodeId;
|
|
86721
|
+
}
|
|
86722
|
+
});
|
|
86723
|
+
Object.defineProperty(exports, "alertEpisodeKind", {
|
|
86724
|
+
enumerable: true,
|
|
86725
|
+
get: function() {
|
|
86726
|
+
return alertEpisodeKind;
|
|
86727
|
+
}
|
|
86728
|
+
});
|
|
86729
|
+
Object.defineProperty(exports, "alertEpisodePayload", {
|
|
86730
|
+
enumerable: true,
|
|
86731
|
+
get: function() {
|
|
86732
|
+
return alertEpisodePayload;
|
|
86733
|
+
}
|
|
86734
|
+
});
|
|
86334
86735
|
Object.defineProperty(exports, "applyBlockingEdit", {
|
|
86335
86736
|
enumerable: true,
|
|
86336
86737
|
get: function() {
|
|
@@ -86625,6 +87026,18 @@ Object.defineProperty(exports, "isAlarmControllableCap", {
|
|
|
86625
87026
|
return isAlarmControllableCap;
|
|
86626
87027
|
}
|
|
86627
87028
|
});
|
|
87029
|
+
Object.defineProperty(exports, "isAlertEpisodeOpen", {
|
|
87030
|
+
enumerable: true,
|
|
87031
|
+
get: function() {
|
|
87032
|
+
return isAlertEpisodeOpen;
|
|
87033
|
+
}
|
|
87034
|
+
});
|
|
87035
|
+
Object.defineProperty(exports, "isAlertEpisodeSeverity", {
|
|
87036
|
+
enumerable: true,
|
|
87037
|
+
get: function() {
|
|
87038
|
+
return isAlertEpisodeSeverity;
|
|
87039
|
+
}
|
|
87040
|
+
});
|
|
86628
87041
|
Object.defineProperty(exports, "isAppLinkBase", {
|
|
86629
87042
|
enumerable: true,
|
|
86630
87043
|
get: function() {
|
|
@@ -86799,6 +87212,12 @@ Object.defineProperty(exports, "occupancyScope", {
|
|
|
86799
87212
|
return occupancyScope;
|
|
86800
87213
|
}
|
|
86801
87214
|
});
|
|
87215
|
+
Object.defineProperty(exports, "parseAlertEpisodePayload", {
|
|
87216
|
+
enumerable: true,
|
|
87217
|
+
get: function() {
|
|
87218
|
+
return parseAlertEpisodePayload;
|
|
87219
|
+
}
|
|
87220
|
+
});
|
|
86802
87221
|
Object.defineProperty(exports, "parseProcStatus", {
|
|
86803
87222
|
enumerable: true,
|
|
86804
87223
|
get: function() {
|
|
@@ -86973,6 +87392,12 @@ Object.defineProperty(exports, "sleep", {
|
|
|
86973
87392
|
return sleep;
|
|
86974
87393
|
}
|
|
86975
87394
|
});
|
|
87395
|
+
Object.defineProperty(exports, "startMoverUnderClearance", {
|
|
87396
|
+
enumerable: true,
|
|
87397
|
+
get: function() {
|
|
87398
|
+
return startMoverUnderClearance;
|
|
87399
|
+
}
|
|
87400
|
+
});
|
|
86976
87401
|
Object.defineProperty(exports, "storageOccupancyCapability", {
|
|
86977
87402
|
enumerable: true,
|
|
86978
87403
|
get: function() {
|