@camstack/addon-model-studio 1.1.284 → 1.1.285
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/THIRD_PARTY_MODELS.md +2 -2
- package/dist/{MotionZonesSettings-B2mJ8oko.mjs → MotionZonesSettings-BWIjI_mB.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-D_VpMef0.mjs → PrivacyMaskSettings-BuSCnSs6.mjs} +4 -4
- package/dist/{SceneMonitorEditor-A0lWa-Hl.mjs → SceneMonitorEditor-D6DomEv3.mjs} +3 -3
- package/dist/_stub.js +12 -12
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page--OwLITGY.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_model_studio_page-D4_cFV_R.mjs} +4 -4
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-8XY35EWj.mjs +26 -0
- package/dist/{hostInit-DYym-P1a.mjs → hostInit-SeST1uzI.mjs} +3 -3
- package/dist/model-studio.addon.js +114 -61
- package/dist/model-studio.addon.mjs +114 -61
- package/dist/{player-overlays-BCBBEl1N.mjs → player-overlays-DZwcDBXd.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-BFb9cu5b.mjs → responsive-B15MRUZC.mjs} +1 -1
- package/dist/{scene-monitor-copy-Cwn4dXms.mjs → scene-monitor-copy-JIcLgE--.mjs} +1 -1
- package/dist/{square-BbRYJv-r.mjs → square-E31fCPCW.mjs} +1 -1
- package/dist/{trash-2-DrglU1vc.mjs → trash-2-DBIIPVno.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-BiFMkYv1.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_model_studio_page__remoteEntry_js-Dcfz5AcL.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_model_studio_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-D6d6JMl7.mjs +0 -26
|
@@ -394,7 +394,7 @@ function buildScryptedRegistryDescriptor(entry) {
|
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
//#endregion
|
|
397
|
-
//#region ../types/dist/event-category-
|
|
397
|
+
//#region ../types/dist/event-category-BfJwUd2S.mjs
|
|
398
398
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
399
399
|
EventCategory["SystemBoot"] = "system.boot";
|
|
400
400
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -711,6 +711,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
711
711
|
*/
|
|
712
712
|
EventCategory["PipelineDetectionBlind"] = "pipeline.detection-blind";
|
|
713
713
|
/**
|
|
714
|
+
* A camera's motion source has fired constantly with no subject for an hour
|
|
715
|
+
* (motion duty or session count over the bar, zero detections) — it is not
|
|
716
|
+
* blind, its motion zones or sensitivity want tuning (D907). Paired with
|
|
717
|
+
* {@link PipelineMotionCalm}.
|
|
718
|
+
*/
|
|
719
|
+
EventCategory["PipelineMotionNoisy"] = "pipeline.motion-noisy";
|
|
720
|
+
/** The recovery edge of {@link PipelineMotionNoisy}: the motion fell back, or a detection arrived. */
|
|
721
|
+
EventCategory["PipelineMotionCalm"] = "pipeline.motion-calm";
|
|
722
|
+
/**
|
|
714
723
|
* Per-camera pipeline config was mutated by the orchestrator
|
|
715
724
|
* (3-level settings change via `setAgentAddonDefaults` /
|
|
716
725
|
* `setCameraStepToggle` / `setCameraPipelineForAgent` or a
|
|
@@ -5817,7 +5826,7 @@ var ZodIssueCode = {
|
|
|
5817
5826
|
var ZodFirstPartyTypeKind;
|
|
5818
5827
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5819
5828
|
//#endregion
|
|
5820
|
-
//#region ../types/dist/sleep-
|
|
5829
|
+
//#region ../types/dist/sleep-DJFUfKvA.mjs
|
|
5821
5830
|
/**
|
|
5822
5831
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5823
5832
|
* window to float samples (D455).
|
|
@@ -8279,7 +8288,7 @@ var EntryDescriptorSchema = object({
|
|
|
8279
8288
|
/** JSON Schema of the entry body; `secret: true` marks a password field. */
|
|
8280
8289
|
fields: record(string(), unknown())
|
|
8281
8290
|
}).strict();
|
|
8282
|
-
/** What crosses the wire
|
|
8291
|
+
/** What crosses the wire from an addon: JSON only, no Zod. An unknown key is refused. */
|
|
8283
8292
|
var RecordKindDeclarationSchema = object({
|
|
8284
8293
|
database: _enum(RECORD_DATABASES).default("settings"),
|
|
8285
8294
|
class: _enum(RECORD_CLASSES),
|
|
@@ -8298,14 +8307,6 @@ var RecordKindDeclarationSchema = object({
|
|
|
8298
8307
|
secretPaths: array(string().min(1)).default([]),
|
|
8299
8308
|
/** The id key of each array that carries a secret (`{ headers: 'name' }`). */
|
|
8300
8309
|
secretArrayKeys: record(string(), string()).default({}),
|
|
8301
|
-
/**
|
|
8302
|
-
* RETIRED (D900): the legacy table a kind adopted from during the records
|
|
8303
|
-
* migration. Nothing declares it any more and nothing reads it; the schema
|
|
8304
|
-
* still ACCEPTS it because the catalog rows the migration wrote carry it
|
|
8305
|
-
* (an orphaned kind is never redeclared) and an addon built before the
|
|
8306
|
-
* removal still sends it. Never set it.
|
|
8307
|
-
*/
|
|
8308
|
-
adoptsFrom: string().min(1).optional(),
|
|
8309
8310
|
/** Kinds that must agree through `transact` sit in one file under one family name. */
|
|
8310
8311
|
transactFamily: string().min(1).optional(),
|
|
8311
8312
|
entry: EntryDescriptorSchema.optional()
|
|
@@ -13189,17 +13190,6 @@ object({
|
|
|
13189
13190
|
createdAt: number(),
|
|
13190
13191
|
updatedAt: number()
|
|
13191
13192
|
});
|
|
13192
|
-
object({
|
|
13193
|
-
id: string(),
|
|
13194
|
-
label: string(),
|
|
13195
|
-
isAdmin: boolean().default(false),
|
|
13196
|
-
allowedProviders: AllowedProviderSchema,
|
|
13197
|
-
allowedDevices: AllowedDevicesSchema,
|
|
13198
|
-
tokenHash: string(),
|
|
13199
|
-
tokenPrefix: string(),
|
|
13200
|
-
createdAt: number(),
|
|
13201
|
-
lastUsedAt: number().optional()
|
|
13202
|
-
});
|
|
13203
13193
|
object({
|
|
13204
13194
|
id: string(),
|
|
13205
13195
|
userId: string(),
|
|
@@ -17120,16 +17110,36 @@ var RecordKindStateSchema = _enum([
|
|
|
17120
17110
|
var DeclareKindResultSchema = object({
|
|
17121
17111
|
kindId: number().int(),
|
|
17122
17112
|
state: RecordKindStateSchema,
|
|
17123
|
-
createdIndexes: array(string())
|
|
17124
|
-
/**
|
|
17125
|
-
* RETIRED (D900): always `null`. It carried the records-migration boot guard;
|
|
17126
|
-
* it stays on the wire, null, because an addon built before the removal reads
|
|
17127
|
-
* an ABSENT field as "adoption pending" and refuses to start.
|
|
17128
|
-
*/
|
|
17129
|
-
adoptionPending: _null()
|
|
17113
|
+
createdIndexes: array(string())
|
|
17130
17114
|
});
|
|
17131
17115
|
/** Keychain refs a write released (the old marker is gone from the row): the owner deletes the values. */
|
|
17132
17116
|
var SecretRefsList = array(string());
|
|
17117
|
+
/**
|
|
17118
|
+
* One op of a `transact`: the single-row writes, each on a kind of the caller.
|
|
17119
|
+
* All ops of one call share ONE database file and ONE `transactFamily`.
|
|
17120
|
+
*/
|
|
17121
|
+
var RecordTransactOpSchema = discriminatedUnion("op", [
|
|
17122
|
+
object({
|
|
17123
|
+
op: literal("put"),
|
|
17124
|
+
kind: RecordKindNameSchema,
|
|
17125
|
+
record: RecordInputSchema,
|
|
17126
|
+
ifRev: number().int().min(0).optional()
|
|
17127
|
+
}),
|
|
17128
|
+
object({
|
|
17129
|
+
op: literal("patch"),
|
|
17130
|
+
kind: RecordKindNameSchema,
|
|
17131
|
+
id: RecordIdSchema,
|
|
17132
|
+
data: RecordBodySchema,
|
|
17133
|
+
at: number().int().nullable().optional(),
|
|
17134
|
+
expiresAt: number().int().nullable().optional(),
|
|
17135
|
+
ifRev: number().int().min(1).optional()
|
|
17136
|
+
}),
|
|
17137
|
+
object({
|
|
17138
|
+
op: literal("delete"),
|
|
17139
|
+
kind: RecordKindNameSchema,
|
|
17140
|
+
id: RecordIdSchema
|
|
17141
|
+
})
|
|
17142
|
+
]);
|
|
17133
17143
|
var RecordSecretRefsSchema = record(string(), record(string(), string()));
|
|
17134
17144
|
method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema) }), object({ kinds: record(string(), DeclareKindResultSchema) }), {
|
|
17135
17145
|
kind: "mutation",
|
|
@@ -17236,6 +17246,16 @@ method(object({ kinds: record(RecordKindNameSchema, RecordKindDeclarationSchema)
|
|
|
17236
17246
|
}), {
|
|
17237
17247
|
kind: "mutation",
|
|
17238
17248
|
auth: "admin"
|
|
17249
|
+
}), method(object({ ops: array(RecordTransactOpSchema).min(1).max(RECORD_BATCH_MAX) }), object({
|
|
17250
|
+
results: array(object({
|
|
17251
|
+
rev: number().int().nullable(),
|
|
17252
|
+
deleted: boolean()
|
|
17253
|
+
})),
|
|
17254
|
+
releasedRefs: SecretRefsList,
|
|
17255
|
+
secretRefs: SecretRefsList
|
|
17256
|
+
}), {
|
|
17257
|
+
kind: "mutation",
|
|
17258
|
+
auth: "admin"
|
|
17239
17259
|
}), method(object({
|
|
17240
17260
|
deviceId: number().int(),
|
|
17241
17261
|
kinds: array(RecordKindNameSchema).optional()
|
|
@@ -42600,9 +42620,13 @@ var NcSystemEventKindSchema = _enum([
|
|
|
42600
42620
|
"node-updating",
|
|
42601
42621
|
"node-inference-unavailable",
|
|
42602
42622
|
"detection-blind",
|
|
42623
|
+
"motion-noisy",
|
|
42624
|
+
"motion-calm",
|
|
42603
42625
|
"recording-stalled",
|
|
42604
42626
|
"recording-healthy",
|
|
42605
42627
|
"recording-degraded",
|
|
42628
|
+
"device-attention-required",
|
|
42629
|
+
"device-attention-resolved",
|
|
42606
42630
|
"storage-location-low",
|
|
42607
42631
|
"storage-location-critical",
|
|
42608
42632
|
"storage-location-ok",
|
|
@@ -55059,6 +55083,16 @@ object({
|
|
|
55059
55083
|
powerState: string().nullable(),
|
|
55060
55084
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55061
55085
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55086
|
+
/**
|
|
55087
|
+
* True while the appliance asks for its filter to be cleaned (smart-filter, filter-system or
|
|
55088
|
+
* combined care-and-filter reminder raised); false when every such reminder reads clear; null
|
|
55089
|
+
* when none is reported. A cleared reminder is not an unknown one.
|
|
55090
|
+
*/
|
|
55091
|
+
filterCleaningDue: boolean().nullable(),
|
|
55092
|
+
/** True while the machine-care (descaling / cleaning-program) reminder is raised; false when clear; null when not reported. */
|
|
55093
|
+
machineCareDue: boolean().nullable(),
|
|
55094
|
+
/** Program runs left before the machine-care reminder is due; null when the appliance does not say. */
|
|
55095
|
+
machineCareRemainingRuns: number().int().nonnegative().nullable(),
|
|
55062
55096
|
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55063
55097
|
halfLoad: boolean().nullable(),
|
|
55064
55098
|
hygienePlus: boolean().nullable(),
|
|
@@ -61676,16 +61710,6 @@ var UpdateUserInputSchema = object({
|
|
|
61676
61710
|
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61677
61711
|
scopes: array(TokenScopeSchema).optional()
|
|
61678
61712
|
});
|
|
61679
|
-
var ApiKeySummarySchema = object({
|
|
61680
|
-
id: string(),
|
|
61681
|
-
label: string(),
|
|
61682
|
-
isAdmin: boolean().default(false),
|
|
61683
|
-
allowedProviders: union([array(string()), literal("*")]).optional(),
|
|
61684
|
-
allowedDevices: record(string(), union([array(string()), literal("*")])).optional(),
|
|
61685
|
-
tokenPrefix: string(),
|
|
61686
|
-
createdAt: number(),
|
|
61687
|
-
lastUsedAt: number().optional()
|
|
61688
|
-
});
|
|
61689
61713
|
var OauthSessionSummarySchema = object({
|
|
61690
61714
|
id: string(),
|
|
61691
61715
|
userId: string(),
|
|
@@ -61707,8 +61731,7 @@ var TotpStatusSchema = object({
|
|
|
61707
61731
|
confirmedAt: number().nullable()
|
|
61708
61732
|
});
|
|
61709
61733
|
/**
|
|
61710
|
-
* user-management — singleton capability for user accounts
|
|
61711
|
-
* legacy API-key rows.
|
|
61734
|
+
* user-management — singleton capability for user accounts.
|
|
61712
61735
|
*
|
|
61713
61736
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61714
61737
|
* — the subset check on `setUserScopes` is moot
|
|
@@ -61764,10 +61787,6 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61764
61787
|
}), UserSummarySchema.extend({ passwordHash: string() }).nullable(), {
|
|
61765
61788
|
kind: "mutation",
|
|
61766
61789
|
access: "view"
|
|
61767
|
-
}), method(_void(), array(ApiKeySummarySchema), { auth: "admin" }), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61768
|
-
kind: "mutation",
|
|
61769
|
-
auth: "admin",
|
|
61770
|
-
access: "delete"
|
|
61771
61790
|
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61772
61791
|
kind: "mutation",
|
|
61773
61792
|
auth: "admin",
|
|
@@ -69378,6 +69397,12 @@ Object.freeze({
|
|
|
69378
69397
|
addonId: null,
|
|
69379
69398
|
access: "view"
|
|
69380
69399
|
},
|
|
69400
|
+
"records.transact": {
|
|
69401
|
+
capName: "records",
|
|
69402
|
+
capScope: "system",
|
|
69403
|
+
addonId: null,
|
|
69404
|
+
access: "create"
|
|
69405
|
+
},
|
|
69381
69406
|
"sceneMonitor.captureReference": {
|
|
69382
69407
|
capName: "scene-monitor",
|
|
69383
69408
|
capScope: "device",
|
|
@@ -70710,12 +70735,6 @@ Object.freeze({
|
|
|
70710
70735
|
addonId: null,
|
|
70711
70736
|
access: "view"
|
|
70712
70737
|
},
|
|
70713
|
-
"userManagement.listApiKeys": {
|
|
70714
|
-
capName: "user-management",
|
|
70715
|
-
capScope: "system",
|
|
70716
|
-
addonId: null,
|
|
70717
|
-
access: "view"
|
|
70718
|
-
},
|
|
70719
70738
|
"userManagement.listExternalIdentities": {
|
|
70720
70739
|
capName: "user-management",
|
|
70721
70740
|
capScope: "system",
|
|
@@ -70770,12 +70789,6 @@ Object.freeze({
|
|
|
70770
70789
|
addonId: null,
|
|
70771
70790
|
access: "create"
|
|
70772
70791
|
},
|
|
70773
|
-
"userManagement.revokeApiKey": {
|
|
70774
|
-
capName: "user-management",
|
|
70775
|
-
capScope: "system",
|
|
70776
|
-
addonId: null,
|
|
70777
|
-
access: "delete"
|
|
70778
|
-
},
|
|
70779
70792
|
"userManagement.revokeOauthSession": {
|
|
70780
70793
|
capName: "user-management",
|
|
70781
70794
|
capScope: "system",
|
|
@@ -74140,9 +74153,13 @@ new Map(Object.entries({
|
|
|
74140
74153
|
"stream-online": "device-events",
|
|
74141
74154
|
"stream-offline": "device-events",
|
|
74142
74155
|
"detection-blind": "device-events",
|
|
74156
|
+
"motion-noisy": "device-events",
|
|
74157
|
+
"motion-calm": "device-events",
|
|
74143
74158
|
"recording-stalled": "device-events",
|
|
74144
74159
|
"recording-healthy": "device-events",
|
|
74145
74160
|
"recording-degraded": "device-events",
|
|
74161
|
+
"device-attention-required": "device-events",
|
|
74162
|
+
"device-attention-resolved": "device-events",
|
|
74146
74163
|
"node-online": "system",
|
|
74147
74164
|
"node-offline": "system",
|
|
74148
74165
|
"node-restarting": "system",
|
|
@@ -74225,6 +74242,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74225
74242
|
label: "Detecting nothing",
|
|
74226
74243
|
kinds: ["detection-blind"]
|
|
74227
74244
|
},
|
|
74245
|
+
{
|
|
74246
|
+
id: "motion-noise",
|
|
74247
|
+
family: "device-events",
|
|
74248
|
+
label: "Motion without a subject",
|
|
74249
|
+
kinds: ["motion-noisy", "motion-calm"]
|
|
74250
|
+
},
|
|
74228
74251
|
{
|
|
74229
74252
|
id: "recording",
|
|
74230
74253
|
family: "device-events",
|
|
@@ -74235,6 +74258,12 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74235
74258
|
"recording-degraded"
|
|
74236
74259
|
]
|
|
74237
74260
|
},
|
|
74261
|
+
{
|
|
74262
|
+
id: "device-attention",
|
|
74263
|
+
family: "device-events",
|
|
74264
|
+
label: "Needs attention",
|
|
74265
|
+
kinds: ["device-attention-required", "device-attention-resolved"]
|
|
74266
|
+
},
|
|
74238
74267
|
{
|
|
74239
74268
|
id: "nodes",
|
|
74240
74269
|
family: "system",
|
|
@@ -74374,6 +74403,7 @@ var ALERT_EPISODE = [
|
|
|
74374
74403
|
"alert-error",
|
|
74375
74404
|
"alert-critical-resolved"
|
|
74376
74405
|
];
|
|
74406
|
+
var DEVICE_ATTENTION = ["device-attention-required", "device-attention-resolved"];
|
|
74377
74407
|
var UPDATES = [
|
|
74378
74408
|
"addon-update-available",
|
|
74379
74409
|
"server-update-available",
|
|
@@ -74403,9 +74433,12 @@ var DEVICE_EVENTS = [
|
|
|
74403
74433
|
"stream-online",
|
|
74404
74434
|
"stream-offline",
|
|
74405
74435
|
"detection-blind",
|
|
74436
|
+
"motion-noisy",
|
|
74437
|
+
"motion-calm",
|
|
74406
74438
|
"recording-stalled",
|
|
74407
74439
|
"recording-healthy",
|
|
74408
74440
|
"recording-degraded",
|
|
74441
|
+
...DEVICE_ATTENTION,
|
|
74409
74442
|
...ALARM
|
|
74410
74443
|
];
|
|
74411
74444
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -74573,7 +74606,9 @@ var STATE_SUMMARY_VARS = [
|
|
|
74573
74606
|
[...RULE_TEXT],
|
|
74574
74607
|
[...RULE_TEXT],
|
|
74575
74608
|
[...RULE_TEXT],
|
|
74576
|
-
|
|
74609
|
+
[...RULE_TEXT],
|
|
74610
|
+
[...RULE_TEXT],
|
|
74611
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74577
74612
|
[...RULE_TEXT],
|
|
74578
74613
|
[...RULE_TEXT],
|
|
74579
74614
|
[...RULE_TEXT],
|
|
@@ -74595,11 +74630,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74595
74630
|
[...RULE_TEXT],
|
|
74596
74631
|
[...RULE_TEXT],
|
|
74597
74632
|
[...RULE_TEXT],
|
|
74633
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74598
74634
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74635
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74599
74636
|
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74600
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74601
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74602
|
-
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74637
|
+
([...RULE_TEXT], [...DEVICE_ATTENTION, ...ALERT_EPISODE]),
|
|
74603
74638
|
[...RULE_TEXT],
|
|
74604
74639
|
[...RULE_TEXT],
|
|
74605
74640
|
[...RULE_TEXT],
|
|
@@ -74675,6 +74710,15 @@ new Map([
|
|
|
74675
74710
|
snapshotLabel: "Tanks low or full now",
|
|
74676
74711
|
snapshotSection: "tanks"
|
|
74677
74712
|
},
|
|
74713
|
+
{
|
|
74714
|
+
id: "motion-noise",
|
|
74715
|
+
family: "device-events",
|
|
74716
|
+
label: "Motion without a subject (constant / calm again)",
|
|
74717
|
+
bad: ["motion-noisy"],
|
|
74718
|
+
recovery: ["motion-calm"],
|
|
74719
|
+
snapshotLabel: "Cameras with constant motion now",
|
|
74720
|
+
snapshotSection: null
|
|
74721
|
+
},
|
|
74678
74722
|
{
|
|
74679
74723
|
id: "recording-health",
|
|
74680
74724
|
family: "device-events",
|
|
@@ -74684,6 +74728,15 @@ new Map([
|
|
|
74684
74728
|
snapshotLabel: "Recordings stalled now",
|
|
74685
74729
|
snapshotSection: null
|
|
74686
74730
|
},
|
|
74731
|
+
{
|
|
74732
|
+
id: "device-attention",
|
|
74733
|
+
family: "device-events",
|
|
74734
|
+
label: "Device needs attention (raised / resolved)",
|
|
74735
|
+
bad: ["device-attention-required"],
|
|
74736
|
+
recovery: ["device-attention-resolved"],
|
|
74737
|
+
snapshotLabel: "Devices needing attention now",
|
|
74738
|
+
snapshotSection: null
|
|
74739
|
+
},
|
|
74687
74740
|
{
|
|
74688
74741
|
id: "node-connectivity",
|
|
74689
74742
|
family: "system",
|