@camstack/addon-post-analysis 1.2.603 → 1.2.608
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-D0-VNIW5.js → clip-model-registry-B11yS32V.js} +548 -39
- package/dist/{clip-model-registry-lQ7QWjLf.mjs → clip-model-registry-BItfTZEx.mjs} +507 -40
- 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-CXNgqP3Y.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-BMh6UjVP.mjs → hostInit-Cko0y33G.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +67507 -67010
- package/dist/pipeline-analytics/index.mjs +67117 -66620
- 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-Cfj8Mv5X.mjs +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
//#region ../types/dist/event-category-
|
|
2
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
3
3
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4
4
|
EventCategory["SystemBoot"] = "system.boot";
|
|
5
5
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -78,9 +78,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
78
78
|
/**
|
|
79
79
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
80
80
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
81
|
-
* alert centre turns it into one
|
|
81
|
+
* alert centre turns it into one critical alert.
|
|
82
82
|
*/
|
|
83
83
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
84
|
+
/**
|
|
85
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
86
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
87
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
88
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
89
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
90
|
+
* event may be dropped (D8, D11).
|
|
91
|
+
*/
|
|
92
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
84
93
|
EventCategory["AddonError"] = "addon.error";
|
|
85
94
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
86
95
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5603,7 +5612,7 @@ var ZodIssueCode = {
|
|
|
5603
5612
|
var ZodFirstPartyTypeKind;
|
|
5604
5613
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5605
5614
|
//#endregion
|
|
5606
|
-
//#region ../types/dist/sleep-
|
|
5615
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5607
5616
|
/**
|
|
5608
5617
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5609
5618
|
* window to float samples (D455).
|
|
@@ -12795,6 +12804,41 @@ var StorageCleanupJobSchema = object({
|
|
|
12795
12804
|
});
|
|
12796
12805
|
var StorageCleanupStatusInputSchema = object({ jobId: string().optional() });
|
|
12797
12806
|
/**
|
|
12807
|
+
* Start a mover only when no single-location repoint holds an overlapping
|
|
12808
|
+
* physical root. Asks BEFORE (cheap refusal, no job) and AFTER registering the
|
|
12809
|
+
* job: the repoint announces its claim and then lists movers, so a mover that
|
|
12810
|
+
* registers first is seen by it and one that registers second sees the claim —
|
|
12811
|
+
* neither side can miss the other (2026-10-20: a repoint and a relocate job
|
|
12812
|
+
* moved and deleted the same event media with no lock between them).
|
|
12813
|
+
*
|
|
12814
|
+
* Fail CLOSED: a clearance that cannot be asked refuses the start.
|
|
12815
|
+
*/
|
|
12816
|
+
async function startMoverUnderClearance(deps) {
|
|
12817
|
+
const refuse = (detail) => {
|
|
12818
|
+
throw new Error(`mover refused: ${detail}`);
|
|
12819
|
+
};
|
|
12820
|
+
const ask = async () => {
|
|
12821
|
+
try {
|
|
12822
|
+
return await deps.clearance(deps.locationIds);
|
|
12823
|
+
} catch (err) {
|
|
12824
|
+
return refuse(`the storage orchestrator could not be asked (${err instanceof Error ? err.message : String(err)})`);
|
|
12825
|
+
}
|
|
12826
|
+
};
|
|
12827
|
+
const blocked = (answer) => `a re-point of "${answer.repointLocationId ?? "a location"}" holds an overlapping storage root`;
|
|
12828
|
+
const before = await ask();
|
|
12829
|
+
if (!before.clear) return refuse(blocked(before));
|
|
12830
|
+
const jobId = deps.start();
|
|
12831
|
+
const after = await ask().catch((err) => {
|
|
12832
|
+
deps.cancel(jobId);
|
|
12833
|
+
throw err;
|
|
12834
|
+
});
|
|
12835
|
+
if (!after.clear) {
|
|
12836
|
+
deps.cancel(jobId);
|
|
12837
|
+
return refuse(blocked(after));
|
|
12838
|
+
}
|
|
12839
|
+
return jobId;
|
|
12840
|
+
}
|
|
12841
|
+
/**
|
|
12798
12842
|
* The storage-location STATE MODEL (D385) — one typed state, one policy module.
|
|
12799
12843
|
*
|
|
12800
12844
|
* A location's state used to be split across two authorities: the typed
|
|
@@ -14638,7 +14682,14 @@ var AlertSeveritySchema = _enum([
|
|
|
14638
14682
|
]);
|
|
14639
14683
|
var AlertActionSchema = object({
|
|
14640
14684
|
label: string(),
|
|
14641
|
-
href: string().optional()
|
|
14685
|
+
href: string().optional(),
|
|
14686
|
+
/**
|
|
14687
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
14688
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
14689
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
14690
|
+
* the SPA has no such route and would bounce to the home page.
|
|
14691
|
+
*/
|
|
14692
|
+
navigation: _enum(["app", "server"]).optional()
|
|
14642
14693
|
});
|
|
14643
14694
|
var AlertStatusSchema = _enum([
|
|
14644
14695
|
"active",
|
|
@@ -19030,7 +19081,11 @@ var deviceDiscoveryCapability = {
|
|
|
19030
19081
|
};
|
|
19031
19082
|
/**
|
|
19032
19083
|
* `device-adoption` — generic discovery + adoption surface,
|
|
19033
|
-
* system-scoped
|
|
19084
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
19085
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
19086
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
19087
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
19088
|
+
* successor to `ha-discovery`:
|
|
19034
19089
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
19035
19090
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
19036
19091
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -43508,6 +43563,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
43508
43563
|
"server-updated",
|
|
43509
43564
|
"export-completed",
|
|
43510
43565
|
"backup-completed",
|
|
43566
|
+
"alert-critical",
|
|
43567
|
+
"alert-error",
|
|
43568
|
+
"alert-critical-resolved",
|
|
43511
43569
|
"camera-online",
|
|
43512
43570
|
"camera-offline",
|
|
43513
43571
|
"camera-disabled",
|
|
@@ -45073,6 +45131,18 @@ var NC_CONDITION_CATALOG = [
|
|
|
45073
45131
|
value: "backup-completed",
|
|
45074
45132
|
label: "Backup completed"
|
|
45075
45133
|
},
|
|
45134
|
+
{
|
|
45135
|
+
value: "alert-critical",
|
|
45136
|
+
label: "Critical alert raised"
|
|
45137
|
+
},
|
|
45138
|
+
{
|
|
45139
|
+
value: "alert-error",
|
|
45140
|
+
label: "Error alert raised"
|
|
45141
|
+
},
|
|
45142
|
+
{
|
|
45143
|
+
value: "alert-critical-resolved",
|
|
45144
|
+
label: "Critical alert resolved"
|
|
45145
|
+
},
|
|
45076
45146
|
{
|
|
45077
45147
|
value: "alarm-arm-refused",
|
|
45078
45148
|
label: "Alarm arm refused"
|
|
@@ -54376,7 +54446,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
54376
54446
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
54377
54447
|
kind: "mutation",
|
|
54378
54448
|
auth: "admin"
|
|
54379
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
54449
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
54450
|
+
clear: boolean(),
|
|
54451
|
+
repointLocationId: string().optional()
|
|
54452
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
54380
54453
|
kind: "mutation",
|
|
54381
54454
|
auth: "admin"
|
|
54382
54455
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -58715,6 +58788,11 @@ onStatusChanged: { data: object({
|
|
|
58715
58788
|
*
|
|
58716
58789
|
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
58717
58790
|
* provider refreshes the slice on an interval and eagerly after commands.
|
|
58791
|
+
*
|
|
58792
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
58793
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
58794
|
+
* the link is down, or the description does not carry it) and is never
|
|
58795
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
58718
58796
|
*/
|
|
58719
58797
|
var DishwasherStateSchema = _enum([
|
|
58720
58798
|
"idle",
|
|
@@ -58724,35 +58802,155 @@ var DishwasherStateSchema = _enum([
|
|
|
58724
58802
|
"error",
|
|
58725
58803
|
"unavailable"
|
|
58726
58804
|
]);
|
|
58805
|
+
/**
|
|
58806
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
58807
|
+
* view for compact surfaces; this is what the appliance said.
|
|
58808
|
+
*/
|
|
58809
|
+
var DishwasherOperationStateSchema = _enum([
|
|
58810
|
+
"Inactive",
|
|
58811
|
+
"Ready",
|
|
58812
|
+
"DelayedStart",
|
|
58813
|
+
"Run",
|
|
58814
|
+
"Pause",
|
|
58815
|
+
"ActionRequired",
|
|
58816
|
+
"Finished",
|
|
58817
|
+
"Error",
|
|
58818
|
+
"Aborting"
|
|
58819
|
+
]);
|
|
58820
|
+
/**
|
|
58821
|
+
* Why fields may be `null`:
|
|
58822
|
+
* - `available` — the link is up and the description is loaded;
|
|
58823
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
58824
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
58825
|
+
* be loaded, so its values cannot be decoded.
|
|
58826
|
+
*/
|
|
58827
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
58828
|
+
"available",
|
|
58829
|
+
"offline",
|
|
58830
|
+
"description-missing"
|
|
58831
|
+
]);
|
|
58727
58832
|
var DishwasherConsumableLevelSchema = _enum([
|
|
58728
58833
|
"ok",
|
|
58729
58834
|
"low",
|
|
58730
58835
|
"empty"
|
|
58731
58836
|
]);
|
|
58732
58837
|
var DishwasherStatusSchema = object({
|
|
58838
|
+
availability: DishwasherAvailabilitySchema,
|
|
58839
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
58733
58840
|
state: DishwasherStateSchema,
|
|
58734
|
-
/**
|
|
58841
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
58842
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
58843
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
58735
58844
|
program: string().nullable(),
|
|
58736
|
-
/**
|
|
58845
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
58846
|
+
selectedProgram: string().nullable(),
|
|
58847
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
58737
58848
|
availablePrograms: array(string()),
|
|
58738
|
-
/**
|
|
58739
|
-
|
|
58849
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
58850
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
58851
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
58852
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
58740
58853
|
/** Cycle completion 0..100, or null when not applicable. */
|
|
58741
58854
|
progressPercent: number().min(0).max(100).nullable(),
|
|
58742
|
-
/** True when the door is reported open. */
|
|
58743
|
-
doorOpen: boolean(),
|
|
58744
|
-
/** True when
|
|
58745
|
-
|
|
58746
|
-
/**
|
|
58747
|
-
|
|
58855
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
58856
|
+
doorOpen: boolean().nullable(),
|
|
58857
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
58858
|
+
doorLocked: boolean().nullable(),
|
|
58859
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
58860
|
+
remoteStartAllowed: boolean().nullable(),
|
|
58861
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
58862
|
+
remoteControlActive: boolean().nullable(),
|
|
58863
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
58864
|
+
localControlActive: boolean().nullable(),
|
|
58865
|
+
/** Main power / switched-on state; null when not known. */
|
|
58866
|
+
powerOn: boolean().nullable(),
|
|
58867
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
58868
|
+
powerState: string().nullable(),
|
|
58748
58869
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
58749
58870
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
58750
|
-
|
|
58751
|
-
|
|
58871
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
58872
|
+
halfLoad: boolean().nullable(),
|
|
58873
|
+
hygienePlus: boolean().nullable(),
|
|
58874
|
+
/** Extra dry option when the appliance exposes it. */
|
|
58875
|
+
extraDry: boolean().nullable(),
|
|
58876
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
58877
|
+
intensiveZone: boolean().nullable(),
|
|
58878
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
58879
|
+
varioSpeedPlus: boolean().nullable(),
|
|
58880
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
58881
|
+
childLock: boolean().nullable(),
|
|
58882
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
58883
|
+
activeEvents: array(string()),
|
|
58884
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
58752
58885
|
errorCode: number().nullable(),
|
|
58886
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
58753
58887
|
errorLabel: string().nullable(),
|
|
58888
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
58754
58889
|
lastFetchedAt: number()
|
|
58755
58890
|
});
|
|
58891
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
58892
|
+
/** A value a program option or setting can take. */
|
|
58893
|
+
var DishwasherValueSchema = union([
|
|
58894
|
+
boolean(),
|
|
58895
|
+
string(),
|
|
58896
|
+
number()
|
|
58897
|
+
]);
|
|
58898
|
+
var DishwasherAccessSchema = _enum([
|
|
58899
|
+
"none",
|
|
58900
|
+
"read",
|
|
58901
|
+
"readWrite",
|
|
58902
|
+
"writeOnly",
|
|
58903
|
+
"readStatic"
|
|
58904
|
+
]);
|
|
58905
|
+
/**
|
|
58906
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
58907
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
58908
|
+
*/
|
|
58909
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
58910
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
58911
|
+
key: string(),
|
|
58912
|
+
/** Last segment of the key, for display. */
|
|
58913
|
+
name: string(),
|
|
58914
|
+
type: _enum([
|
|
58915
|
+
"boolean",
|
|
58916
|
+
"number",
|
|
58917
|
+
"enum",
|
|
58918
|
+
"string"
|
|
58919
|
+
]),
|
|
58920
|
+
access: DishwasherAccessSchema,
|
|
58921
|
+
/** The appliance reports this entity as currently available. */
|
|
58922
|
+
available: boolean(),
|
|
58923
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
58924
|
+
unit: string().nullable(),
|
|
58925
|
+
min: number().nullable(),
|
|
58926
|
+
max: number().nullable(),
|
|
58927
|
+
step: number().nullable(),
|
|
58928
|
+
/** Allowed members of an enum; null for other types. */
|
|
58929
|
+
enumValues: array(string()).nullable(),
|
|
58930
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
58931
|
+
});
|
|
58932
|
+
var DishwasherProgramSchema = object({
|
|
58933
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
58934
|
+
key: string(),
|
|
58935
|
+
name: string(),
|
|
58936
|
+
/** The appliance currently offers this program. */
|
|
58937
|
+
available: boolean(),
|
|
58938
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
58939
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
58940
|
+
});
|
|
58941
|
+
var DishwasherOptionsSchema = object({
|
|
58942
|
+
availability: DishwasherAvailabilitySchema,
|
|
58943
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
58944
|
+
supportsStart: boolean(),
|
|
58945
|
+
supportsPause: boolean(),
|
|
58946
|
+
supportsResume: boolean(),
|
|
58947
|
+
supportsStop: boolean(),
|
|
58948
|
+
supportsPower: boolean(),
|
|
58949
|
+
/** Every program the description lists, with its options. */
|
|
58950
|
+
programs: array(DishwasherProgramSchema),
|
|
58951
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
58952
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
58953
|
+
});
|
|
58756
58954
|
var dishwasherCapability = {
|
|
58757
58955
|
name: "dishwasher",
|
|
58758
58956
|
scope: "device",
|
|
@@ -58760,58 +58958,102 @@ var dishwasherCapability = {
|
|
|
58760
58958
|
mode: "singleton",
|
|
58761
58959
|
deviceTypes: [DeviceType.Dishwasher],
|
|
58762
58960
|
methods: {
|
|
58763
|
-
|
|
58961
|
+
/**
|
|
58962
|
+
* Start a program. Without `program` the selected one starts. `options` are
|
|
58963
|
+
* option feature keys; each is checked against the program's constraints.
|
|
58964
|
+
*/
|
|
58965
|
+
start: method(object({
|
|
58966
|
+
deviceId: DeviceIdSchema,
|
|
58967
|
+
program: string().min(1).optional(),
|
|
58968
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
58969
|
+
}), _void(), {
|
|
58764
58970
|
kind: "mutation",
|
|
58765
58971
|
auth: "protected"
|
|
58766
58972
|
}),
|
|
58767
|
-
pause: method(object({ deviceId:
|
|
58973
|
+
pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
58768
58974
|
kind: "mutation",
|
|
58769
58975
|
auth: "protected"
|
|
58770
58976
|
}),
|
|
58771
|
-
|
|
58977
|
+
resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
58772
58978
|
kind: "mutation",
|
|
58773
58979
|
auth: "protected"
|
|
58774
58980
|
}),
|
|
58981
|
+
stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
58982
|
+
kind: "mutation",
|
|
58983
|
+
auth: "protected"
|
|
58984
|
+
}),
|
|
58985
|
+
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
58775
58986
|
setProgram: method(object({
|
|
58776
|
-
deviceId:
|
|
58987
|
+
deviceId: DeviceIdSchema,
|
|
58777
58988
|
program: string().min(1)
|
|
58778
58989
|
}), _void(), {
|
|
58779
58990
|
kind: "mutation",
|
|
58780
58991
|
auth: "protected"
|
|
58781
58992
|
}),
|
|
58782
58993
|
setPower: method(object({
|
|
58783
|
-
deviceId:
|
|
58994
|
+
deviceId: DeviceIdSchema,
|
|
58784
58995
|
on: boolean()
|
|
58785
58996
|
}), _void(), {
|
|
58786
58997
|
kind: "mutation",
|
|
58787
58998
|
auth: "protected"
|
|
58788
58999
|
}),
|
|
58789
59000
|
setHalfLoad: method(object({
|
|
58790
|
-
deviceId:
|
|
59001
|
+
deviceId: DeviceIdSchema,
|
|
58791
59002
|
on: boolean()
|
|
58792
59003
|
}), _void(), {
|
|
58793
59004
|
kind: "mutation",
|
|
58794
59005
|
auth: "protected"
|
|
58795
59006
|
}),
|
|
58796
59007
|
setHygienePlus: method(object({
|
|
58797
|
-
deviceId:
|
|
59008
|
+
deviceId: DeviceIdSchema,
|
|
59009
|
+
on: boolean()
|
|
59010
|
+
}), _void(), {
|
|
59011
|
+
kind: "mutation",
|
|
59012
|
+
auth: "protected"
|
|
59013
|
+
}),
|
|
59014
|
+
setExtraDry: method(object({
|
|
59015
|
+
deviceId: DeviceIdSchema,
|
|
59016
|
+
on: boolean()
|
|
59017
|
+
}), _void(), {
|
|
59018
|
+
kind: "mutation",
|
|
59019
|
+
auth: "protected"
|
|
59020
|
+
}),
|
|
59021
|
+
setIntensiveZone: method(object({
|
|
59022
|
+
deviceId: DeviceIdSchema,
|
|
59023
|
+
on: boolean()
|
|
59024
|
+
}), _void(), {
|
|
59025
|
+
kind: "mutation",
|
|
59026
|
+
auth: "protected"
|
|
59027
|
+
}),
|
|
59028
|
+
setVarioSpeedPlus: method(object({
|
|
59029
|
+
deviceId: DeviceIdSchema,
|
|
59030
|
+
on: boolean()
|
|
59031
|
+
}), _void(), {
|
|
59032
|
+
kind: "mutation",
|
|
59033
|
+
auth: "protected"
|
|
59034
|
+
}),
|
|
59035
|
+
setChildLock: method(object({
|
|
59036
|
+
deviceId: DeviceIdSchema,
|
|
58798
59037
|
on: boolean()
|
|
58799
59038
|
}), _void(), {
|
|
58800
59039
|
kind: "mutation",
|
|
58801
59040
|
auth: "protected"
|
|
58802
59041
|
}),
|
|
59042
|
+
/**
|
|
59043
|
+
* Write any option or setting by feature key. Refused when the description does
|
|
59044
|
+
* not list it, it is not writable or not available now, or the value is outside
|
|
59045
|
+
* its declared range / members.
|
|
59046
|
+
*/
|
|
58803
59047
|
setOption: method(object({
|
|
58804
|
-
deviceId:
|
|
59048
|
+
deviceId: DeviceIdSchema,
|
|
58805
59049
|
key: string().min(1),
|
|
58806
|
-
value:
|
|
58807
|
-
boolean(),
|
|
58808
|
-
string(),
|
|
58809
|
-
number()
|
|
58810
|
-
])
|
|
59050
|
+
value: DishwasherValueSchema
|
|
58811
59051
|
}), _void(), {
|
|
58812
59052
|
kind: "mutation",
|
|
58813
59053
|
auth: "protected"
|
|
58814
|
-
})
|
|
59054
|
+
}),
|
|
59055
|
+
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
59056
|
+
getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
|
|
58815
59057
|
},
|
|
58816
59058
|
status: {
|
|
58817
59059
|
schema: DishwasherStatusSchema,
|
|
@@ -72499,6 +72741,12 @@ Object.freeze({
|
|
|
72499
72741
|
addonId: null,
|
|
72500
72742
|
access: "view"
|
|
72501
72743
|
},
|
|
72744
|
+
"dishwasher.getOptions": {
|
|
72745
|
+
capName: "dishwasher",
|
|
72746
|
+
capScope: "device",
|
|
72747
|
+
addonId: null,
|
|
72748
|
+
access: "view"
|
|
72749
|
+
},
|
|
72502
72750
|
"dishwasher.getStatus": {
|
|
72503
72751
|
capName: "dishwasher",
|
|
72504
72752
|
capScope: "device",
|
|
@@ -72511,6 +72759,24 @@ Object.freeze({
|
|
|
72511
72759
|
addonId: null,
|
|
72512
72760
|
access: "create"
|
|
72513
72761
|
},
|
|
72762
|
+
"dishwasher.resume": {
|
|
72763
|
+
capName: "dishwasher",
|
|
72764
|
+
capScope: "device",
|
|
72765
|
+
addonId: null,
|
|
72766
|
+
access: "create"
|
|
72767
|
+
},
|
|
72768
|
+
"dishwasher.setChildLock": {
|
|
72769
|
+
capName: "dishwasher",
|
|
72770
|
+
capScope: "device",
|
|
72771
|
+
addonId: null,
|
|
72772
|
+
access: "create"
|
|
72773
|
+
},
|
|
72774
|
+
"dishwasher.setExtraDry": {
|
|
72775
|
+
capName: "dishwasher",
|
|
72776
|
+
capScope: "device",
|
|
72777
|
+
addonId: null,
|
|
72778
|
+
access: "create"
|
|
72779
|
+
},
|
|
72514
72780
|
"dishwasher.setHalfLoad": {
|
|
72515
72781
|
capName: "dishwasher",
|
|
72516
72782
|
capScope: "device",
|
|
@@ -72523,6 +72789,12 @@ Object.freeze({
|
|
|
72523
72789
|
addonId: null,
|
|
72524
72790
|
access: "create"
|
|
72525
72791
|
},
|
|
72792
|
+
"dishwasher.setIntensiveZone": {
|
|
72793
|
+
capName: "dishwasher",
|
|
72794
|
+
capScope: "device",
|
|
72795
|
+
addonId: null,
|
|
72796
|
+
access: "create"
|
|
72797
|
+
},
|
|
72526
72798
|
"dishwasher.setOption": {
|
|
72527
72799
|
capName: "dishwasher",
|
|
72528
72800
|
capScope: "device",
|
|
@@ -72541,6 +72813,12 @@ Object.freeze({
|
|
|
72541
72813
|
addonId: null,
|
|
72542
72814
|
access: "create"
|
|
72543
72815
|
},
|
|
72816
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
72817
|
+
capName: "dishwasher",
|
|
72818
|
+
capScope: "device",
|
|
72819
|
+
addonId: null,
|
|
72820
|
+
access: "create"
|
|
72821
|
+
},
|
|
72544
72822
|
"dishwasher.start": {
|
|
72545
72823
|
capName: "dishwasher",
|
|
72546
72824
|
capScope: "device",
|
|
@@ -76987,6 +77265,12 @@ Object.freeze({
|
|
|
76987
77265
|
addonId: null,
|
|
76988
77266
|
access: "view"
|
|
76989
77267
|
},
|
|
77268
|
+
"storageMigration.moverClearance": {
|
|
77269
|
+
capName: "storage-migration",
|
|
77270
|
+
capScope: "system",
|
|
77271
|
+
addonId: null,
|
|
77272
|
+
access: "view"
|
|
77273
|
+
},
|
|
76990
77274
|
"storageMigration.movers": {
|
|
76991
77275
|
capName: "storage-migration",
|
|
76992
77276
|
capScope: "system",
|
|
@@ -79180,6 +79464,11 @@ Object.freeze({
|
|
|
79180
79464
|
form: "single",
|
|
79181
79465
|
optional: false
|
|
79182
79466
|
}],
|
|
79467
|
+
"dishwasher.getOptions": [{
|
|
79468
|
+
name: "deviceId",
|
|
79469
|
+
form: "single",
|
|
79470
|
+
optional: false
|
|
79471
|
+
}],
|
|
79183
79472
|
"dishwasher.getStatus": [{
|
|
79184
79473
|
name: "deviceId",
|
|
79185
79474
|
form: "single",
|
|
@@ -79190,6 +79479,21 @@ Object.freeze({
|
|
|
79190
79479
|
form: "single",
|
|
79191
79480
|
optional: false
|
|
79192
79481
|
}],
|
|
79482
|
+
"dishwasher.resume": [{
|
|
79483
|
+
name: "deviceId",
|
|
79484
|
+
form: "single",
|
|
79485
|
+
optional: false
|
|
79486
|
+
}],
|
|
79487
|
+
"dishwasher.setChildLock": [{
|
|
79488
|
+
name: "deviceId",
|
|
79489
|
+
form: "single",
|
|
79490
|
+
optional: false
|
|
79491
|
+
}],
|
|
79492
|
+
"dishwasher.setExtraDry": [{
|
|
79493
|
+
name: "deviceId",
|
|
79494
|
+
form: "single",
|
|
79495
|
+
optional: false
|
|
79496
|
+
}],
|
|
79193
79497
|
"dishwasher.setHalfLoad": [{
|
|
79194
79498
|
name: "deviceId",
|
|
79195
79499
|
form: "single",
|
|
@@ -79200,6 +79504,11 @@ Object.freeze({
|
|
|
79200
79504
|
form: "single",
|
|
79201
79505
|
optional: false
|
|
79202
79506
|
}],
|
|
79507
|
+
"dishwasher.setIntensiveZone": [{
|
|
79508
|
+
name: "deviceId",
|
|
79509
|
+
form: "single",
|
|
79510
|
+
optional: false
|
|
79511
|
+
}],
|
|
79203
79512
|
"dishwasher.setOption": [{
|
|
79204
79513
|
name: "deviceId",
|
|
79205
79514
|
form: "single",
|
|
@@ -79215,6 +79524,11 @@ Object.freeze({
|
|
|
79215
79524
|
form: "single",
|
|
79216
79525
|
optional: false
|
|
79217
79526
|
}],
|
|
79527
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
79528
|
+
name: "deviceId",
|
|
79529
|
+
form: "single",
|
|
79530
|
+
optional: false
|
|
79531
|
+
}],
|
|
79218
79532
|
"dishwasher.start": [{
|
|
79219
79533
|
name: "deviceId",
|
|
79220
79534
|
form: "single",
|
|
@@ -81367,7 +81681,7 @@ function systemEventFilterApplies(kind, filter) {
|
|
|
81367
81681
|
switch (filter) {
|
|
81368
81682
|
case "deviceIds": return kind.startsWith("device-") || kind.startsWith("stream-") || kind === "detection-blind" || kind.startsWith("recording-") || kind === "alarm-triggered";
|
|
81369
81683
|
case "deviceTypes": return kind.startsWith("device-") || kind === "detection-blind";
|
|
81370
|
-
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-");
|
|
81684
|
+
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-");
|
|
81371
81685
|
case "packageNames": return kind.endsWith("update-available") || kind === "addon-updated" || kind === "node-updating" || kind === "server-updated";
|
|
81372
81686
|
case "consumableLowPercent": return NC_CONSUMABLE_SYSTEM_EVENT_KINDS.includes(kind);
|
|
81373
81687
|
}
|
|
@@ -81427,6 +81741,9 @@ var NC_SYSTEM_EVENT_FAMILY = {
|
|
|
81427
81741
|
"wrapper-update-available": "system",
|
|
81428
81742
|
"backup-completed": "system",
|
|
81429
81743
|
"export-completed": "system",
|
|
81744
|
+
"alert-critical": "system",
|
|
81745
|
+
"alert-error": "system",
|
|
81746
|
+
"alert-critical-resolved": "system",
|
|
81430
81747
|
"storage-location-low": "system",
|
|
81431
81748
|
"storage-location-critical": "system",
|
|
81432
81749
|
"storage-location-ok": "system",
|
|
@@ -81569,6 +81886,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
81569
81886
|
"storage-location-ok"
|
|
81570
81887
|
]
|
|
81571
81888
|
},
|
|
81889
|
+
{
|
|
81890
|
+
id: "alerts",
|
|
81891
|
+
family: "system",
|
|
81892
|
+
label: "Alerts",
|
|
81893
|
+
kinds: [
|
|
81894
|
+
"alert-critical",
|
|
81895
|
+
"alert-error",
|
|
81896
|
+
"alert-critical-resolved"
|
|
81897
|
+
]
|
|
81898
|
+
},
|
|
81572
81899
|
{
|
|
81573
81900
|
id: "alarm",
|
|
81574
81901
|
family: "alarm",
|
|
@@ -82380,6 +82707,96 @@ function sensorRaisedOf(kind, value) {
|
|
|
82380
82707
|
const raw = Object.entries(value).find(([key]) => key === field)?.[1];
|
|
82381
82708
|
return typeof raw === "boolean" ? raw : void 0;
|
|
82382
82709
|
}
|
|
82710
|
+
/**
|
|
82711
|
+
* An alert EPISODE as a notification subject.
|
|
82712
|
+
*
|
|
82713
|
+
* The alert centre sends nothing of its own. A critical or error alert reaches
|
|
82714
|
+
* the operator through Notification Center system-event rules, and this file is
|
|
82715
|
+
* the one vocabulary the two sides share: the alert centre mints the episode
|
|
82716
|
+
* identity and announces its two edges on the bus (`alert.episode`), and
|
|
82717
|
+
* Notification Center derives the same identity when it RECONCILES from the
|
|
82718
|
+
* alerts store, because a bus event may be dropped (D8, D11).
|
|
82719
|
+
*
|
|
82720
|
+
* ## Episode identity
|
|
82721
|
+
*
|
|
82722
|
+
* `metadata.episodeId`, minted by the alert centre when an alert opens (new, or
|
|
82723
|
+
* re-opened after it was completed/dismissed, or its emitter changed
|
|
82724
|
+
* `metadata.episodeKey`) and kept through every re-emit while it stays open. An
|
|
82725
|
+
* alert row written before the alert centre minted ids has none: its episode is
|
|
82726
|
+
* `<id>@<createdAt>`, derived here so both sides agree.
|
|
82727
|
+
*/
|
|
82728
|
+
/** The bus payload of `EventCategory.AlertEpisode`. */
|
|
82729
|
+
var AlertEpisodePayloadSchema = object({
|
|
82730
|
+
phase: _enum(["raised", "resolved"]),
|
|
82731
|
+
episodeId: string().min(1),
|
|
82732
|
+
alertId: string().min(1),
|
|
82733
|
+
severity: AlertSeveritySchema,
|
|
82734
|
+
category: string(),
|
|
82735
|
+
title: string(),
|
|
82736
|
+
message: string(),
|
|
82737
|
+
sourceType: string().optional(),
|
|
82738
|
+
sourceId: string().optional(),
|
|
82739
|
+
nodeId: string().optional(),
|
|
82740
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
82741
|
+
actionUrl: string().optional(),
|
|
82742
|
+
at: number()
|
|
82743
|
+
});
|
|
82744
|
+
/** The payload of an `alert.episode` event's `data`, or `null` when it is not one. */
|
|
82745
|
+
function parseAlertEpisodePayload(data) {
|
|
82746
|
+
const parsed = AlertEpisodePayloadSchema.safeParse(data);
|
|
82747
|
+
return parsed.success ? parsed.data : null;
|
|
82748
|
+
}
|
|
82749
|
+
/** An episode is closed once its alert is completed or dismissed. */
|
|
82750
|
+
function isAlertEpisodeOpen(status) {
|
|
82751
|
+
return status !== "completed" && status !== "dismissed";
|
|
82752
|
+
}
|
|
82753
|
+
/** Only these severities are ever announced. */
|
|
82754
|
+
function isAlertEpisodeSeverity(severity) {
|
|
82755
|
+
return severity === "critical" || severity === "error";
|
|
82756
|
+
}
|
|
82757
|
+
function alertEpisodeId(alert) {
|
|
82758
|
+
const minted = alert.metadata?.["episodeId"];
|
|
82759
|
+
return typeof minted === "string" && minted.length > 0 ? minted : `${alert.id}@${String(alert.createdAt)}`;
|
|
82760
|
+
}
|
|
82761
|
+
/** The node an alert is about, from the places emitters put it. */
|
|
82762
|
+
function alertNodeId(alert) {
|
|
82763
|
+
const direct = alert.metadata?.["nodeId"];
|
|
82764
|
+
if (typeof direct === "string") return direct;
|
|
82765
|
+
const runner = alert.metadata?.["runner"];
|
|
82766
|
+
if (typeof runner === "object" && runner !== null && "nodeId" in runner) {
|
|
82767
|
+
const id = runner.nodeId;
|
|
82768
|
+
if (typeof id === "string") return id;
|
|
82769
|
+
}
|
|
82770
|
+
return alert.source?.type === "node" ? alert.source.id : void 0;
|
|
82771
|
+
}
|
|
82772
|
+
/**
|
|
82773
|
+
* The system-event kind of an episode edge, or `null` when none is announced
|
|
82774
|
+
* (an `error` episode announces its opening only).
|
|
82775
|
+
*/
|
|
82776
|
+
function alertEpisodeKind(severity, phase) {
|
|
82777
|
+
if (severity === "critical") return phase === "raised" ? "alert-critical" : "alert-critical-resolved";
|
|
82778
|
+
if (severity === "error" && phase === "raised") return "alert-error";
|
|
82779
|
+
return null;
|
|
82780
|
+
}
|
|
82781
|
+
function alertEpisodePayload(alert, phase, at) {
|
|
82782
|
+
const nodeId = alertNodeId(alert);
|
|
82783
|
+
return {
|
|
82784
|
+
phase,
|
|
82785
|
+
episodeId: alertEpisodeId(alert),
|
|
82786
|
+
alertId: alert.id,
|
|
82787
|
+
severity: alert.severity,
|
|
82788
|
+
category: alert.category,
|
|
82789
|
+
title: alert.title,
|
|
82790
|
+
message: alert.message,
|
|
82791
|
+
...alert.source !== void 0 ? {
|
|
82792
|
+
sourceType: alert.source.type,
|
|
82793
|
+
sourceId: alert.source.id
|
|
82794
|
+
} : {},
|
|
82795
|
+
...nodeId !== void 0 ? { nodeId } : {},
|
|
82796
|
+
...alert.action?.href !== void 0 ? { actionUrl: alert.action.href } : {},
|
|
82797
|
+
at
|
|
82798
|
+
};
|
|
82799
|
+
}
|
|
82383
82800
|
var RULE_BODY_ONLY = ["body"];
|
|
82384
82801
|
var RULE_TEXT = ["title", "body"];
|
|
82385
82802
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -82389,6 +82806,11 @@ var TANK = [
|
|
|
82389
82806
|
"device-tank-full",
|
|
82390
82807
|
"device-tank-normal"
|
|
82391
82808
|
];
|
|
82809
|
+
var ALERT_EPISODE = [
|
|
82810
|
+
"alert-critical",
|
|
82811
|
+
"alert-error",
|
|
82812
|
+
"alert-critical-resolved"
|
|
82813
|
+
];
|
|
82392
82814
|
var UPDATES = [
|
|
82393
82815
|
"addon-update-available",
|
|
82394
82816
|
"server-update-available",
|
|
@@ -82913,7 +83335,8 @@ var NC_TEMPLATE_VARS = [
|
|
|
82913
83335
|
"server-updated",
|
|
82914
83336
|
"storage-location-low",
|
|
82915
83337
|
"storage-location-critical",
|
|
82916
|
-
"storage-location-ok"
|
|
83338
|
+
"storage-location-ok",
|
|
83339
|
+
...ALERT_EPISODE
|
|
82917
83340
|
]
|
|
82918
83341
|
},
|
|
82919
83342
|
{
|
|
@@ -82935,7 +83358,8 @@ var NC_TEMPLATE_VARS = [
|
|
|
82935
83358
|
"server-updated",
|
|
82936
83359
|
"storage-location-low",
|
|
82937
83360
|
"storage-location-critical",
|
|
82938
|
-
"storage-location-ok"
|
|
83361
|
+
"storage-location-ok",
|
|
83362
|
+
...ALERT_EPISODE
|
|
82939
83363
|
]
|
|
82940
83364
|
},
|
|
82941
83365
|
{
|
|
@@ -83002,7 +83426,7 @@ var NC_TEMPLATE_VARS = [
|
|
|
83002
83426
|
families: ["rule"],
|
|
83003
83427
|
fields: [...RULE_TEXT],
|
|
83004
83428
|
kinds: ["system"],
|
|
83005
|
-
systemEventKinds: ["recording-degraded"]
|
|
83429
|
+
systemEventKinds: ["recording-degraded", ...ALERT_EPISODE]
|
|
83006
83430
|
},
|
|
83007
83431
|
{
|
|
83008
83432
|
name: "locationName",
|
|
@@ -83199,13 +83623,53 @@ var NC_TEMPLATE_VARS = [
|
|
|
83199
83623
|
},
|
|
83200
83624
|
{
|
|
83201
83625
|
name: "title",
|
|
83202
|
-
label: "Export title",
|
|
83626
|
+
label: "Export or alert title",
|
|
83203
83627
|
example: "Ingresso 08:00",
|
|
83204
83628
|
group: "system",
|
|
83205
83629
|
families: ["rule"],
|
|
83206
83630
|
fields: [...RULE_TEXT],
|
|
83207
83631
|
kinds: ["system"],
|
|
83208
|
-
systemEventKinds: ["export-completed"]
|
|
83632
|
+
systemEventKinds: ["export-completed", ...ALERT_EPISODE]
|
|
83633
|
+
},
|
|
83634
|
+
{
|
|
83635
|
+
name: "severity",
|
|
83636
|
+
label: "Alert severity",
|
|
83637
|
+
example: "critical",
|
|
83638
|
+
group: "system",
|
|
83639
|
+
families: ["rule"],
|
|
83640
|
+
fields: [...RULE_TEXT],
|
|
83641
|
+
kinds: ["system"],
|
|
83642
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83643
|
+
},
|
|
83644
|
+
{
|
|
83645
|
+
name: "category",
|
|
83646
|
+
label: "Alert category",
|
|
83647
|
+
example: "addon.runner-failed",
|
|
83648
|
+
group: "system",
|
|
83649
|
+
families: ["rule"],
|
|
83650
|
+
fields: [...RULE_TEXT],
|
|
83651
|
+
kinds: ["system"],
|
|
83652
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83653
|
+
},
|
|
83654
|
+
{
|
|
83655
|
+
name: "source",
|
|
83656
|
+
label: "Alert source (addon, node or runner)",
|
|
83657
|
+
example: "recorder",
|
|
83658
|
+
group: "system",
|
|
83659
|
+
families: ["rule"],
|
|
83660
|
+
fields: [...RULE_TEXT],
|
|
83661
|
+
kinds: ["system"],
|
|
83662
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83663
|
+
},
|
|
83664
|
+
{
|
|
83665
|
+
name: "actionUrl",
|
|
83666
|
+
label: "Alert action link",
|
|
83667
|
+
example: "/system/addons",
|
|
83668
|
+
group: "system",
|
|
83669
|
+
families: ["rule"],
|
|
83670
|
+
fields: [...RULE_TEXT],
|
|
83671
|
+
kinds: ["system"],
|
|
83672
|
+
systemEventKinds: [...ALERT_EPISODE]
|
|
83209
83673
|
},
|
|
83210
83674
|
{
|
|
83211
83675
|
name: "exportId",
|
|
@@ -83416,7 +83880,10 @@ var NC_TEMPLATE_HELD_BACK_SYSTEM_EVENT_KINDS = [
|
|
|
83416
83880
|
"device-tank-full",
|
|
83417
83881
|
"device-tank-normal",
|
|
83418
83882
|
"node-restarting",
|
|
83419
|
-
"node-updating"
|
|
83883
|
+
"node-updating",
|
|
83884
|
+
"alert-critical",
|
|
83885
|
+
"alert-error",
|
|
83886
|
+
"alert-critical-resolved"
|
|
83420
83887
|
];
|
|
83421
83888
|
/**
|
|
83422
83889
|
* The catalog as `getTemplateCatalog` SERVES it: every descriptor, with the
|
|
@@ -85310,4 +85777,4 @@ function buildClipModelRegistry(entries) {
|
|
|
85310
85777
|
/** The built-in catalog's registry. */
|
|
85311
85778
|
var BUILTIN_CLIP_MODELS = buildClipModelRegistry(CLIP_IMAGE_MODELS);
|
|
85312
85779
|
//#endregion
|
|
85313
|
-
export { MediaFileKindEnum as $,
|
|
85780
|
+
export { MediaFileKindEnum as $, boolean as $i, coreBlockIdFromAddonId as $n, readTimelapseGeneratedAt as $r, NcTemplateVarDescriptorSchema as $t, DeclaredDevices as A, viewerLinkBaseOf as Ai, TrackSideSchema as An, isEventOwnerType as Ar, NcAlarmSensorsInputSchema as At, FULL_IMAGE_BBOX as B, RECORD_MAX_DATA_BYTES as Bi, applyModeDelaysEdits as Bn, kebabToCamel as Br, NcRuleSchema as Bt, ClearTrackRelationResultSchema as C, systemEventFamilyProblems as Ci, TRACK_RELATIONS_DEFAULT_LIMIT as Cn, isAlertEpisodeOpen as Cr, NC_SNOOZE_MAX_MINUTES as Ct, DEFAULT_TIMELAPSE_PREVIEW_TEXT as D, templateCarriesSummary as Di, TrackPuritySchema as Dn, isDefaultAlarmProfileId as Dr, NC_TEMPLATE_VARS as Dt, DEFAULT_EVENT_COLOR as E, systemEventSummarySplitOf as Ei, TimelapseRuleSchema as En, isAudioClassName as Er, NC_TAXONOMY as Et, EVENT_DENSITY_BATCH_MAX as F, isSourceCap as Fi, alarmPanelCapability as Fn, isRootSuppliableStepId as Fr, NcLegacyRuleActionSequenceSchema as Ft, ListTrackRelationsResultSchema as G, hydrateSchema as Gi, audioMetricsCapability as Gn, occupancyScope as Gr, NcSnoozeInputSchema as Gt, LABEL_SUPPLY_MACRO as H, customAction as Hi, applySecureOnArmEdit as Hn, mayWriteToLocation as Hr, NcRuleUpdateInputSchema as Ht, EVENT_KIND_BY_CAP as I, DeviceType as Ii, alertEpisodeId as In, isScheduleActive as Ir, NcRuleActionSchema as It, MAX_BIRTH_DECISION_RECORDS as J, normalizeNodeId as Ji, buildViewerLink as Jn, pickFaceRescoreIntervalMinutes as Jr, NcStateSummarySectionIdSchema as Jt, LockStateSchema as K, isDeviceScopedCap as Ki, audioModeOf as Kn, parseAlertEpisodePayload as Kr, NcSnoozeSchema as Kt, EVENT_OWNER_TYPES as L, errMsg as Li, alertEpisodeKind as Ln, isSystemDelivery as Lr, NcRuleActionsSchema as Lt, EMBEDDING_MODEL_FAILED as M, DEFAULT_FIRST_SIGHTING_FRESHNESS_MS as Mi, activateAlarmProfile as Mn, isLabelSupplyStepId as Mr, NcAlarmSettingsPatchSchema as Mt, EMBEDDING_REQUIREMENTS_FAILED as N, canonicalHash as Ni, addonWidgetsSourceCapability as Nn, isMediaOwnerType as Nr, NcConditionDescriptorSchema as Nt, DETECTION_MACRO_CLASSES as O, templateVarsFor as Oi, TrackRelationKindSchema as On, isDetectionMacroClass as Or, NcAlarmConfigSchema as Ot, EMBEDDING_REQUIREMENTS_UNAVAILABLE as P, evaluateSensorEdge as Pi, alarmDeviceSecureOnArm as Pn, isRetiredClearKey as Pr, NcConditionsSchema as Pt, MOTION_CLOSE_AFTER_MS as Q, array as Qi, consumableLowPercentOf as Qn, readMotionTriggeredBy as Qr, NcTemplatePreviewSchema as Qt, EXPORT_DENSE_MAX_RANGES as R, BaseAddon as Ri, alertEpisodePayload as Rn, isSystemEventSummaryRule as Rr, NcRuleInputSchema as Rt, ClearTrackRelationInputSchema as S, systemEventDeliveryProblems as Si, TIMELAPSE_DENSE_FLOOR_SEC as Sn, isAlarmControllableCap as Sr, NC_SENSOR_TRANSITION_KINDS as St, DEFAULT_DETAIL_CROP_CONVENTION as T, systemEventSummaryScheduleOf as Ti, TimelapseRulePatchSchema as Tn, isAppLinkBase as Tr, NC_TANK_SYSTEM_EVENT_KINDS as Tt, LabelAttributionSchema as U, defineCustomActions as Ui, armRemovalReconcile as Un, memoizePinnedFfmpeg as Ur, NcScheduleSchema as Ut, FailureCounters as V, createEvent as Vi, applyNonBlockingEdit as Vn, linkedStepOf as Vr, NcRuleTargetSchema as Vt, ListTrackRelationsInputSchema as W, defineRecordKinds as Wi, assertTimelapseCadences as Wn, notificationRulesCapability as Wr, NcSharedSequenceSchema as Wt, MAX_TRACK_PURITIES as X, ZodObject as Xi, classifyRetrainReview as Xn, plateGalleryCapability as Xr, NcTaxonomySchema as Xt, MAX_BIRTH_LATENCY_PROXY_MS as Y, sleep as Yi, calendarEventLocalSpan as Yn, pipelineAnalyticsCapability as Yr, NcSystemEventKindSchema as Yt, MAX_TRACK_RELATIONS as Z, _enum as Zi, cloneAlarmSettings as Zn, readDeviceStateFrom as Zr, NcTemplatePreviewInputSchema as Zt, BIRTH_DECISION_DEFAULT_LIMIT as _, startMoverUnderClearance as _i, SCENE_RESET_RECAPTURES as _n, evictionPolicyOfLocation as _r, NC_CONSUMABLE_SYSTEM_EVENT_KINDS as _t, CLIP_EMBEDDING_STEP_ID as a, partialRecord as aa, resolvePoolMemoryPolicy as ai, RebuildObjectEmbeddingsRefusalSchema as an, deriveRecordingMode as ar, NC_ALARM_NOTIFY_FIELDS as at, BucketAccumulator as b, summarizeReview as bi, SetTrackPurityResultSchema as bn, gifDeriveSpeed as br, NC_GROUPING_MAX_SEC as bt, readClusterModelPinStrict as c, string as ca, ruleAutoTriggersAlarm as ci, RetrainStatusSchema as cn, deviceRemovalHookCapability as cr, NC_AUDIO_CONFIRM_HITS_DEFAULT as ct, APPEARANCE_BLOCKS as d, union as da, ruleGroupingApplies as di, SCENE_DEFAULT_ANCHOR_THRESHOLD as dn, embeddingRefusalOf as dr, NC_CLIP_PRE_ROLL_DEFAULT_SEC as dt, discriminatedUnion as ea, renameAlarmProfile as ei, OPS_LOG_DEFAULT_LIMIT as en, cosineSimilarity as er, MotionTriggeredBySchema as et, APPEARANCE_RESOLVES_AMBIGUITY_DEFAULT as f, unknown as fa, ruleKindOf as fi, SCENE_DEFAULT_CHECK_INTERVAL_SEC as fn, embeddingRequirementsFailedError as fr, NC_CLIP_RETENTION_MAX_SEC as ft, ArchivedDebugNoteSchema as g, servedTemplateVars as gi, SCENE_DIVERGED as gn, eventKindLabel as gr, NC_CONSUMABLE_LOW_PERCENT_DEFAULT as gt, AlarmArmModeSchema as h, sensorRaisedOf as hi, SCENE_DEFAULT_UNCOVERED_POLICY as hn, ensureAlarmProfiles as hr, NC_CONFIRM_DEFAULT_TIMEOUT_MS as ht, CLIP_TEXT_MODELS as i, object as ia, resolveModeNotifyPolicy as ii, RECORDING_SOURCE_CAMSTACK_ADDON as in, derivePostTriggeredAction as ir, NC_ALARM_DELAY_MAX_SEC as it, DetectionSourceSchema as j, zoneAnalyticsCapability as ji, TrackSourceSchema as jn, isKnownTemplateVar as jr, NcAlarmSensorsSchema as jt, DETECTION_PIPELINE_CAP_NAME as k, vectorDimFromBase64 as ki, TrackRelationSchema as kn, isEventKindLabelKey as kr, NcAlarmPostTriggeredActionSchema as kt, resolveClusterModelPin as l, templateLiteral as la, ruleBelongsToAlarm as li, SCENE_CONFIRM_DEFAULT_MAX_IMAGE_PX as ln, embeddingEncoderCapability as lr, NC_AUDIO_CONFIRM_WINDOW_SEC_DEFAULT as lt, AUDIO_MACRO_LABELS as m, secureActuationFor as mi, SCENE_DEFAULT_QUIET_SECONDS as mn, encodeVectorBase64 as mr, NC_CONFIRM_DEFAULT_MAX_IMAGE_PX as mt, DEFAULT_CLIP_MODEL as n, looseObject as na, resolveLocationMode as ni, PoolMemoryWatchdog as nn, deleteAlarmProfile as nr, NC_ALARM_DEFAULT_TRIGGERED_DURATION_SEC as nt, CLUSTER_MODEL_OWNER_ADDON_ID as o, record as oa, retrainRevisionConflictMessage as oi, RetrainDismissedSchema as on, describeSystemEventDeliveryProblem as or, NC_ALARM_SYSTEM_EVENT_KINDS as ot, ARCHIVED_DEBUG_NOTES_DEFAULT_LIMIT as p, EventCategory as pa, sceneMonitorCapability as pi, SCENE_DEFAULT_OBSERVATION_SPACING_SEC as pn, embeddingRequirementsUnavailableError as pr, NC_CONDITION_CATALOG as pt, MAX_ARCHIVED_DEBUG_NOTES as q, nodePin as qi, buildEventKindDescriptor as qn, parseProcStatus as qr, NcSnoozeSuppressedSchema as qt, CLIP_IMAGE_MODELS as r, number as ra, resolveModeDelays as ri, RECORDING_EXPORT_MAX_READ_BYTES as rn, deriveDetailCropRect as rr, NC_ALARM_DELAY_FIELDS as rt, FACE_EMBEDDING_STEP_ID as s, strictObject as sa, rootSupplyServes as si, RetrainOriginSchema as sn, describeSystemEventFamilyProblem as sr, NC_ALARM_TRIGGERED_MAX_SEC as st, BUILTIN_CLIP_MODELS as t, literal as ta, resolveClipSearchMinScore as ti, OpsLogEntrySchema as tn, createAlarmProfile as tr, NC_ALARM_DEFAULT_PROFILE_ID as tt, APPEARANCE_BIN_COUNT as u, tuple as ua, ruleDeviceCompatCapQueries as ui, SCENE_CONFIRM_DEFAULT_TIMEOUT_MS as un, embeddingModelFailedError as ur, NC_CLIP_POST_ROLL_DEFAULT_SEC as ut, BaseDevice as v, storageOccupancyCapability as vi, SceneMonitorSchema as vn, faceGalleryCapability as vr, NC_DEFAULT_SNOOZE_MINUTES as vt, CoverStateSchema as w, systemEventFilterApplies as wi, TimelapseRuleInputSchema as wn, isAlertEpisodeSeverity as wr, NC_SYSTEM_EVENT_KIND_GROUP_SPECS as wt, COCO_TO_MACRO as x, syncActiveAlarmProfileSettings as xi, SetTrackRelationInputSchema as xn, gifFromMp4Args as xr, NC_GROUPING_MIN_SEC as xt, BirthDecisionRecordSchema as y, subKindsOf as yi, SetTrackPurityInputSchema as yn, failureContributionCapability as yr, NC_GROUPING_DEFAULT_SEC as yt, FIRST_LEVEL_MACRO_CLASSES as z, CamProfileSchema as zi, applyBlockingEdit as zn, isVectorIndexDimConflict as zr, NcRulePatchSchema as zt };
|