@camstack/addon-provider-onvif 1.2.130 → 1.2.131

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.
Files changed (3) hide show
  1. package/dist/addon.js +251 -44
  2. package/dist/addon.mjs +251 -44
  3. package/package.json +1 -1
package/dist/addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region \0rolldown/runtime.js
3
3
  var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
4
4
  //#endregion
5
- //#region ../types/dist/event-category-BvOFi6PY.mjs
5
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
6
6
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
7
7
  EventCategory["SystemBoot"] = "system.boot";
8
8
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -81,9 +81,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
81
81
  /**
82
82
  * The node's one-shot runner boot check (D877): planned runners against the
83
83
  * process service, `degraded` when any is failed, refused or missing. The
84
- * alert centre turns it into one alert and a direct critical push.
84
+ * alert centre turns it into one critical alert.
85
85
  */
86
86
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
87
+ /**
88
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
89
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
90
+ * centre sends no notification of its own: Notification Center turns this
91
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
92
+ * system-event kinds, and reconciles from the alerts store because a bus
93
+ * event may be dropped (D8, D11).
94
+ */
95
+ EventCategory["AlertEpisode"] = "alert.episode";
87
96
  EventCategory["AddonError"] = "addon.error";
88
97
  EventCategory["AddonPageReady"] = "addon.page-ready";
89
98
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5408,7 +5417,7 @@ var ZodIssueCode = {
5408
5417
  var ZodFirstPartyTypeKind;
5409
5418
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5410
5419
  //#endregion
5411
- //#region ../types/dist/sleep-BegKjwUu.mjs
5420
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5412
5421
  /**
5413
5422
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5414
5423
  * window to float samples (D455).
@@ -13100,7 +13109,14 @@ var AlertSeveritySchema = _enum([
13100
13109
  ]);
13101
13110
  var AlertActionSchema = object({
13102
13111
  label: string(),
13103
- href: string().optional()
13112
+ href: string().optional(),
13113
+ /**
13114
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13115
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13116
+ * start) — the browser must leave the SPA with a full navigation, because
13117
+ * the SPA has no such route and would bounce to the home page.
13118
+ */
13119
+ navigation: _enum(["app", "server"]).optional()
13104
13120
  });
13105
13121
  var AlertStatusSchema = _enum([
13106
13122
  "active",
@@ -41670,6 +41686,9 @@ var NcSystemEventKindSchema = _enum([
41670
41686
  "server-updated",
41671
41687
  "export-completed",
41672
41688
  "backup-completed",
41689
+ "alert-critical",
41690
+ "alert-error",
41691
+ "alert-critical-resolved",
41673
41692
  "camera-online",
41674
41693
  "camera-offline",
41675
41694
  "camera-disabled",
@@ -50806,7 +50825,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
50806
50825
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
50807
50826
  kind: "mutation",
50808
50827
  auth: "admin"
50809
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50828
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
50829
+ clear: boolean(),
50830
+ repointLocationId: string().optional()
50831
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50810
50832
  kind: "mutation",
50811
50833
  auth: "admin"
50812
50834
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -54241,6 +54263,11 @@ object({
54241
54263
  *
54242
54264
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54243
54265
  * provider refreshes the slice on an interval and eagerly after commands.
54266
+ *
54267
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54268
+ * nullable: `null` means "not known right now" (the appliance has not said,
54269
+ * the link is down, or the description does not carry it) and is never
54270
+ * rendered or exported as `false` / `0`. `availability` says why.
54244
54271
  */
54245
54272
  var DishwasherStateSchema = _enum([
54246
54273
  "idle",
@@ -54250,112 +54277,227 @@ var DishwasherStateSchema = _enum([
54250
54277
  "error",
54251
54278
  "unavailable"
54252
54279
  ]);
54280
+ /**
54281
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54282
+ * view for compact surfaces; this is what the appliance said.
54283
+ */
54284
+ var DishwasherOperationStateSchema = _enum([
54285
+ "Inactive",
54286
+ "Ready",
54287
+ "DelayedStart",
54288
+ "Run",
54289
+ "Pause",
54290
+ "ActionRequired",
54291
+ "Finished",
54292
+ "Error",
54293
+ "Aborting"
54294
+ ]);
54295
+ /**
54296
+ * Why fields may be `null`:
54297
+ * - `available` — the link is up and the description is loaded;
54298
+ * - `offline` — the local link is down (values are unknown, not last-known);
54299
+ * - `description-missing` — the link is up but the appliance's description could not
54300
+ * be loaded, so its values cannot be decoded.
54301
+ */
54302
+ var DishwasherAvailabilitySchema = _enum([
54303
+ "available",
54304
+ "offline",
54305
+ "description-missing"
54306
+ ]);
54253
54307
  var DishwasherConsumableLevelSchema = _enum([
54254
54308
  "ok",
54255
54309
  "low",
54256
54310
  "empty"
54257
54311
  ]);
54258
54312
  object({
54313
+ availability: DishwasherAvailabilitySchema,
54314
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54259
54315
  state: DishwasherStateSchema,
54260
- /** Active program id/name, or null when none selected / unknown. */
54316
+ /** The appliance's operation state as reported; null when not known. */
54317
+ operationState: DishwasherOperationStateSchema.nullable(),
54318
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54261
54319
  program: string().nullable(),
54262
- /** Program tokens the hardware accepts — drives the UI selector. */
54320
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54321
+ selectedProgram: string().nullable(),
54322
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54263
54323
  availablePrograms: array(string()),
54264
- /** Minutes remaining on the active cycle, or null when not running. */
54265
- remainingMinutes: number().int().nonnegative().nullable(),
54324
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54325
+ remainingSeconds: number().int().nonnegative().nullable(),
54326
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54327
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54266
54328
  /** Cycle completion 0..100, or null when not applicable. */
54267
54329
  progressPercent: number().min(0).max(100).nullable(),
54268
- /** True when the door is reported open. */
54269
- doorOpen: boolean(),
54270
- /** True when remote start is allowed (door closed, power on, etc.). */
54271
- remoteStartAllowed: boolean(),
54272
- /** Main power / switched-on state. */
54273
- powerOn: boolean(),
54330
+ /** True when the door is reported open; null when the door state is not known. */
54331
+ doorOpen: boolean().nullable(),
54332
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54333
+ doorLocked: boolean().nullable(),
54334
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54335
+ remoteStartAllowed: boolean().nullable(),
54336
+ /** True when the appliance accepts remote control now; null when not known. */
54337
+ remoteControlActive: boolean().nullable(),
54338
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54339
+ localControlActive: boolean().nullable(),
54340
+ /** Main power / switched-on state; null when not known. */
54341
+ powerOn: boolean().nullable(),
54342
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54343
+ powerState: string().nullable(),
54274
54344
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
54275
54345
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54276
- halfLoad: boolean(),
54277
- hygienePlus: boolean(),
54346
+ /** Option states: null when the appliance does not expose the option or has not said. */
54347
+ halfLoad: boolean().nullable(),
54348
+ hygienePlus: boolean().nullable(),
54278
54349
  /** Extra dry option when the appliance exposes it. */
54279
- extraDry: boolean(),
54350
+ extraDry: boolean().nullable(),
54280
54351
  /** Intensive zone (lower basket) when the appliance exposes it. */
54281
- intensiveZone: boolean(),
54352
+ intensiveZone: boolean().nullable(),
54282
54353
  /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54283
- varioSpeedPlus: boolean(),
54284
- /** Child lock (controls disabled on the appliance). */
54285
- childLock: boolean(),
54354
+ varioSpeedPlus: boolean().nullable(),
54355
+ /** Child lock (controls disabled on the appliance); null when not known. */
54356
+ childLock: boolean().nullable(),
54357
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54358
+ activeEvents: array(string()),
54359
+ /** Numeric error code when the appliance reports one; null otherwise. */
54286
54360
  errorCode: number().nullable(),
54361
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54287
54362
  errorLabel: string().nullable(),
54363
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54288
54364
  lastFetchedAt: number()
54289
54365
  });
54290
- DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54366
+ var DeviceIdSchema = number().int().nonnegative();
54367
+ /** A value a program option or setting can take. */
54368
+ var DishwasherValueSchema = union([
54369
+ boolean(),
54370
+ string(),
54371
+ number()
54372
+ ]);
54373
+ var DishwasherAccessSchema = _enum([
54374
+ "none",
54375
+ "read",
54376
+ "readWrite",
54377
+ "writeOnly",
54378
+ "readStatic"
54379
+ ]);
54380
+ /**
54381
+ * One option or setting the appliance declares, with the constraints its description
54382
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54383
+ */
54384
+ var DishwasherOptionDescriptorSchema = object({
54385
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54386
+ key: string(),
54387
+ /** Last segment of the key, for display. */
54388
+ name: string(),
54389
+ type: _enum([
54390
+ "boolean",
54391
+ "number",
54392
+ "enum",
54393
+ "string"
54394
+ ]),
54395
+ access: DishwasherAccessSchema,
54396
+ /** The appliance reports this entity as currently available. */
54397
+ available: boolean(),
54398
+ /** Unit the description declares for a number; null when it declares none. */
54399
+ unit: string().nullable(),
54400
+ min: number().nullable(),
54401
+ max: number().nullable(),
54402
+ step: number().nullable(),
54403
+ /** Allowed members of an enum; null for other types. */
54404
+ enumValues: array(string()).nullable(),
54405
+ defaultValue: DishwasherValueSchema.nullable()
54406
+ });
54407
+ var DishwasherProgramSchema = object({
54408
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54409
+ key: string(),
54410
+ name: string(),
54411
+ /** The appliance currently offers this program. */
54412
+ available: boolean(),
54413
+ /** The options this program lists, with the program-level access / availability / default. */
54414
+ options: array(DishwasherOptionDescriptorSchema)
54415
+ });
54416
+ var DishwasherOptionsSchema = object({
54417
+ availability: DishwasherAvailabilitySchema,
54418
+ /** What the appliance can be told to do, from the commands its description declares. */
54419
+ supportsStart: boolean(),
54420
+ supportsPause: boolean(),
54421
+ supportsResume: boolean(),
54422
+ supportsStop: boolean(),
54423
+ supportsPower: boolean(),
54424
+ /** Every program the description lists, with its options. */
54425
+ programs: array(DishwasherProgramSchema),
54426
+ /** Every option and setting entity the description lists (programs reference these by key). */
54427
+ options: array(DishwasherOptionDescriptorSchema)
54428
+ });
54429
+ DeviceType.Dishwasher, method(object({
54430
+ deviceId: DeviceIdSchema,
54431
+ program: string().min(1).optional(),
54432
+ options: record(string(), DishwasherValueSchema).optional()
54433
+ }), _void(), {
54291
54434
  kind: "mutation",
54292
54435
  auth: "protected"
54293
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54436
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54294
54437
  kind: "mutation",
54295
54438
  auth: "protected"
54296
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54439
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54440
+ kind: "mutation",
54441
+ auth: "protected"
54442
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54297
54443
  kind: "mutation",
54298
54444
  auth: "protected"
54299
54445
  }), method(object({
54300
- deviceId: number().int().nonnegative(),
54446
+ deviceId: DeviceIdSchema,
54301
54447
  program: string().min(1)
54302
54448
  }), _void(), {
54303
54449
  kind: "mutation",
54304
54450
  auth: "protected"
54305
54451
  }), method(object({
54306
- deviceId: number().int().nonnegative(),
54452
+ deviceId: DeviceIdSchema,
54307
54453
  on: boolean()
54308
54454
  }), _void(), {
54309
54455
  kind: "mutation",
54310
54456
  auth: "protected"
54311
54457
  }), method(object({
54312
- deviceId: number().int().nonnegative(),
54458
+ deviceId: DeviceIdSchema,
54313
54459
  on: boolean()
54314
54460
  }), _void(), {
54315
54461
  kind: "mutation",
54316
54462
  auth: "protected"
54317
54463
  }), method(object({
54318
- deviceId: number().int().nonnegative(),
54464
+ deviceId: DeviceIdSchema,
54319
54465
  on: boolean()
54320
54466
  }), _void(), {
54321
54467
  kind: "mutation",
54322
54468
  auth: "protected"
54323
54469
  }), method(object({
54324
- deviceId: number().int().nonnegative(),
54470
+ deviceId: DeviceIdSchema,
54325
54471
  on: boolean()
54326
54472
  }), _void(), {
54327
54473
  kind: "mutation",
54328
54474
  auth: "protected"
54329
54475
  }), method(object({
54330
- deviceId: number().int().nonnegative(),
54476
+ deviceId: DeviceIdSchema,
54331
54477
  on: boolean()
54332
54478
  }), _void(), {
54333
54479
  kind: "mutation",
54334
54480
  auth: "protected"
54335
54481
  }), method(object({
54336
- deviceId: number().int().nonnegative(),
54482
+ deviceId: DeviceIdSchema,
54337
54483
  on: boolean()
54338
54484
  }), _void(), {
54339
54485
  kind: "mutation",
54340
54486
  auth: "protected"
54341
54487
  }), method(object({
54342
- deviceId: number().int().nonnegative(),
54488
+ deviceId: DeviceIdSchema,
54343
54489
  on: boolean()
54344
54490
  }), _void(), {
54345
54491
  kind: "mutation",
54346
54492
  auth: "protected"
54347
54493
  }), method(object({
54348
- deviceId: number().int().nonnegative(),
54494
+ deviceId: DeviceIdSchema,
54349
54495
  key: string().min(1),
54350
- value: union([
54351
- boolean(),
54352
- string(),
54353
- number()
54354
- ])
54496
+ value: DishwasherValueSchema
54355
54497
  }), _void(), {
54356
54498
  kind: "mutation",
54357
54499
  auth: "protected"
54358
- });
54500
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54359
54501
  object({
54360
54502
  /** Ms epoch of the last press. null = never observed since this provider started. */
54361
54503
  lastPressedAt: number().nullable(),
@@ -65332,6 +65474,12 @@ Object.freeze({
65332
65474
  addonId: null,
65333
65475
  access: "view"
65334
65476
  },
65477
+ "dishwasher.getOptions": {
65478
+ capName: "dishwasher",
65479
+ capScope: "device",
65480
+ addonId: null,
65481
+ access: "view"
65482
+ },
65335
65483
  "dishwasher.getStatus": {
65336
65484
  capName: "dishwasher",
65337
65485
  capScope: "device",
@@ -65344,6 +65492,12 @@ Object.freeze({
65344
65492
  addonId: null,
65345
65493
  access: "create"
65346
65494
  },
65495
+ "dishwasher.resume": {
65496
+ capName: "dishwasher",
65497
+ capScope: "device",
65498
+ addonId: null,
65499
+ access: "create"
65500
+ },
65347
65501
  "dishwasher.setChildLock": {
65348
65502
  capName: "dishwasher",
65349
65503
  capScope: "device",
@@ -69844,6 +69998,12 @@ Object.freeze({
69844
69998
  addonId: null,
69845
69999
  access: "view"
69846
70000
  },
70001
+ "storageMigration.moverClearance": {
70002
+ capName: "storage-migration",
70003
+ capScope: "system",
70004
+ addonId: null,
70005
+ access: "view"
70006
+ },
69847
70007
  "storageMigration.movers": {
69848
70008
  capName: "storage-migration",
69849
70009
  capScope: "system",
@@ -72103,6 +72263,11 @@ Object.freeze({
72103
72263
  form: "single",
72104
72264
  optional: false
72105
72265
  }],
72266
+ "dishwasher.getOptions": [{
72267
+ name: "deviceId",
72268
+ form: "single",
72269
+ optional: false
72270
+ }],
72106
72271
  "dishwasher.getStatus": [{
72107
72272
  name: "deviceId",
72108
72273
  form: "single",
@@ -72113,6 +72278,11 @@ Object.freeze({
72113
72278
  form: "single",
72114
72279
  optional: false
72115
72280
  }],
72281
+ "dishwasher.resume": [{
72282
+ name: "deviceId",
72283
+ form: "single",
72284
+ optional: false
72285
+ }],
72116
72286
  "dishwasher.setChildLock": [{
72117
72287
  name: "deviceId",
72118
72288
  form: "single",
@@ -74199,6 +74369,9 @@ new Map(Object.entries({
74199
74369
  "wrapper-update-available": "system",
74200
74370
  "backup-completed": "system",
74201
74371
  "export-completed": "system",
74372
+ "alert-critical": "system",
74373
+ "alert-error": "system",
74374
+ "alert-critical-resolved": "system",
74202
74375
  "storage-location-low": "system",
74203
74376
  "storage-location-critical": "system",
74204
74377
  "storage-location-ok": "system",
@@ -74323,6 +74496,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
74323
74496
  "storage-location-ok"
74324
74497
  ]
74325
74498
  },
74499
+ {
74500
+ id: "alerts",
74501
+ family: "system",
74502
+ label: "Alerts",
74503
+ kinds: [
74504
+ "alert-critical",
74505
+ "alert-error",
74506
+ "alert-critical-resolved"
74507
+ ]
74508
+ },
74326
74509
  {
74327
74510
  id: "alarm",
74328
74511
  family: "alarm",
@@ -74367,6 +74550,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
74367
74550
  return [[descriptor.kind, field]];
74368
74551
  })));
74369
74552
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
74553
+ object({
74554
+ phase: _enum(["raised", "resolved"]),
74555
+ episodeId: string().min(1),
74556
+ alertId: string().min(1),
74557
+ severity: AlertSeveritySchema,
74558
+ category: string(),
74559
+ title: string(),
74560
+ message: string(),
74561
+ sourceType: string().optional(),
74562
+ sourceId: string().optional(),
74563
+ nodeId: string().optional(),
74564
+ /** The alert's own action link (where the operator acts on it), when it has one. */
74565
+ actionUrl: string().optional(),
74566
+ at: number()
74567
+ });
74370
74568
  var RULE_BODY_ONLY = ["body"];
74371
74569
  var RULE_TEXT = ["title", "body"];
74372
74570
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -74376,6 +74574,11 @@ var TANK = [
74376
74574
  "device-tank-full",
74377
74575
  "device-tank-normal"
74378
74576
  ];
74577
+ var ALERT_EPISODE = [
74578
+ "alert-critical",
74579
+ "alert-error",
74580
+ "alert-critical-resolved"
74581
+ ];
74379
74582
  var UPDATES = [
74380
74583
  "addon-update-available",
74381
74584
  "server-update-available",
@@ -74568,14 +74771,14 @@ var STATE_SUMMARY_VARS = [
74568
74771
  ([...RULE_TEXT], [...CONSUMABLE]),
74569
74772
  ([...RULE_TEXT], [...TANK]),
74570
74773
  [...RULE_TEXT],
74571
- ([...RULE_TEXT], [...UPDATES]),
74572
- ([...RULE_TEXT], [...UPDATES]),
74573
- [...RULE_TEXT],
74774
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74775
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74574
74776
  [...RULE_TEXT],
74575
74777
  [...RULE_TEXT],
74576
74778
  [...RULE_TEXT],
74577
74779
  [...RULE_TEXT],
74578
74780
  [...RULE_TEXT],
74781
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74579
74782
  [...RULE_TEXT],
74580
74783
  [...RULE_TEXT],
74581
74784
  [...RULE_TEXT],
@@ -74593,7 +74796,11 @@ var STATE_SUMMARY_VARS = [
74593
74796
  [...RULE_TEXT],
74594
74797
  [...RULE_TEXT],
74595
74798
  [...RULE_TEXT],
74596
- [...RULE_TEXT],
74799
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74800
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74801
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74802
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74803
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74597
74804
  [...RULE_TEXT],
74598
74805
  [...RULE_TEXT],
74599
74806
  [...RULE_TEXT],
package/dist/addon.mjs CHANGED
@@ -3,7 +3,7 @@ import { createRequire } from "node:module";
3
3
  var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
4
4
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
5
5
  //#endregion
6
- //#region ../types/dist/event-category-BvOFi6PY.mjs
6
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
7
7
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
8
8
  EventCategory["SystemBoot"] = "system.boot";
9
9
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -82,9 +82,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
82
82
  /**
83
83
  * The node's one-shot runner boot check (D877): planned runners against the
84
84
  * process service, `degraded` when any is failed, refused or missing. The
85
- * alert centre turns it into one alert and a direct critical push.
85
+ * alert centre turns it into one critical alert.
86
86
  */
87
87
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
88
+ /**
89
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
90
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
91
+ * centre sends no notification of its own: Notification Center turns this
92
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
93
+ * system-event kinds, and reconciles from the alerts store because a bus
94
+ * event may be dropped (D8, D11).
95
+ */
96
+ EventCategory["AlertEpisode"] = "alert.episode";
88
97
  EventCategory["AddonError"] = "addon.error";
89
98
  EventCategory["AddonPageReady"] = "addon.page-ready";
90
99
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5409,7 +5418,7 @@ var ZodIssueCode = {
5409
5418
  var ZodFirstPartyTypeKind;
5410
5419
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5411
5420
  //#endregion
5412
- //#region ../types/dist/sleep-BegKjwUu.mjs
5421
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5413
5422
  /**
5414
5423
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5415
5424
  * window to float samples (D455).
@@ -13101,7 +13110,14 @@ var AlertSeveritySchema = _enum([
13101
13110
  ]);
13102
13111
  var AlertActionSchema = object({
13103
13112
  label: string(),
13104
- href: string().optional()
13113
+ href: string().optional(),
13114
+ /**
13115
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13116
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13117
+ * start) — the browser must leave the SPA with a full navigation, because
13118
+ * the SPA has no such route and would bounce to the home page.
13119
+ */
13120
+ navigation: _enum(["app", "server"]).optional()
13105
13121
  });
13106
13122
  var AlertStatusSchema = _enum([
13107
13123
  "active",
@@ -41671,6 +41687,9 @@ var NcSystemEventKindSchema = _enum([
41671
41687
  "server-updated",
41672
41688
  "export-completed",
41673
41689
  "backup-completed",
41690
+ "alert-critical",
41691
+ "alert-error",
41692
+ "alert-critical-resolved",
41674
41693
  "camera-online",
41675
41694
  "camera-offline",
41676
41695
  "camera-disabled",
@@ -50807,7 +50826,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
50807
50826
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
50808
50827
  kind: "mutation",
50809
50828
  auth: "admin"
50810
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50829
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
50830
+ clear: boolean(),
50831
+ repointLocationId: string().optional()
50832
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
50811
50833
  kind: "mutation",
50812
50834
  auth: "admin"
50813
50835
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -54242,6 +54264,11 @@ object({
54242
54264
  *
54243
54265
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
54244
54266
  * provider refreshes the slice on an interval and eagerly after commands.
54267
+ *
54268
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
54269
+ * nullable: `null` means "not known right now" (the appliance has not said,
54270
+ * the link is down, or the description does not carry it) and is never
54271
+ * rendered or exported as `false` / `0`. `availability` says why.
54245
54272
  */
54246
54273
  var DishwasherStateSchema = _enum([
54247
54274
  "idle",
@@ -54251,112 +54278,227 @@ var DishwasherStateSchema = _enum([
54251
54278
  "error",
54252
54279
  "unavailable"
54253
54280
  ]);
54281
+ /**
54282
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
54283
+ * view for compact surfaces; this is what the appliance said.
54284
+ */
54285
+ var DishwasherOperationStateSchema = _enum([
54286
+ "Inactive",
54287
+ "Ready",
54288
+ "DelayedStart",
54289
+ "Run",
54290
+ "Pause",
54291
+ "ActionRequired",
54292
+ "Finished",
54293
+ "Error",
54294
+ "Aborting"
54295
+ ]);
54296
+ /**
54297
+ * Why fields may be `null`:
54298
+ * - `available` — the link is up and the description is loaded;
54299
+ * - `offline` — the local link is down (values are unknown, not last-known);
54300
+ * - `description-missing` — the link is up but the appliance's description could not
54301
+ * be loaded, so its values cannot be decoded.
54302
+ */
54303
+ var DishwasherAvailabilitySchema = _enum([
54304
+ "available",
54305
+ "offline",
54306
+ "description-missing"
54307
+ ]);
54254
54308
  var DishwasherConsumableLevelSchema = _enum([
54255
54309
  "ok",
54256
54310
  "low",
54257
54311
  "empty"
54258
54312
  ]);
54259
54313
  object({
54314
+ availability: DishwasherAvailabilitySchema,
54315
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
54260
54316
  state: DishwasherStateSchema,
54261
- /** Active program id/name, or null when none selected / unknown. */
54317
+ /** The appliance's operation state as reported; null when not known. */
54318
+ operationState: DishwasherOperationStateSchema.nullable(),
54319
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
54262
54320
  program: string().nullable(),
54263
- /** Program tokens the hardware accepts — drives the UI selector. */
54321
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
54322
+ selectedProgram: string().nullable(),
54323
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
54264
54324
  availablePrograms: array(string()),
54265
- /** Minutes remaining on the active cycle, or null when not running. */
54266
- remainingMinutes: number().int().nonnegative().nullable(),
54325
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
54326
+ remainingSeconds: number().int().nonnegative().nullable(),
54327
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
54328
+ delayedStartSeconds: number().int().nonnegative().nullable(),
54267
54329
  /** Cycle completion 0..100, or null when not applicable. */
54268
54330
  progressPercent: number().min(0).max(100).nullable(),
54269
- /** True when the door is reported open. */
54270
- doorOpen: boolean(),
54271
- /** True when remote start is allowed (door closed, power on, etc.). */
54272
- remoteStartAllowed: boolean(),
54273
- /** Main power / switched-on state. */
54274
- powerOn: boolean(),
54331
+ /** True when the door is reported open; null when the door state is not known. */
54332
+ doorOpen: boolean().nullable(),
54333
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
54334
+ doorLocked: boolean().nullable(),
54335
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
54336
+ remoteStartAllowed: boolean().nullable(),
54337
+ /** True when the appliance accepts remote control now; null when not known. */
54338
+ remoteControlActive: boolean().nullable(),
54339
+ /** True while somebody operates the appliance at its panel; null when not reported. */
54340
+ localControlActive: boolean().nullable(),
54341
+ /** Main power / switched-on state; null when not known. */
54342
+ powerOn: boolean().nullable(),
54343
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
54344
+ powerState: string().nullable(),
54275
54345
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
54276
54346
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
54277
- halfLoad: boolean(),
54278
- hygienePlus: boolean(),
54347
+ /** Option states: null when the appliance does not expose the option or has not said. */
54348
+ halfLoad: boolean().nullable(),
54349
+ hygienePlus: boolean().nullable(),
54279
54350
  /** Extra dry option when the appliance exposes it. */
54280
- extraDry: boolean(),
54351
+ extraDry: boolean().nullable(),
54281
54352
  /** Intensive zone (lower basket) when the appliance exposes it. */
54282
- intensiveZone: boolean(),
54353
+ intensiveZone: boolean().nullable(),
54283
54354
  /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
54284
- varioSpeedPlus: boolean(),
54285
- /** Child lock (controls disabled on the appliance). */
54286
- childLock: boolean(),
54355
+ varioSpeedPlus: boolean().nullable(),
54356
+ /** Child lock (controls disabled on the appliance); null when not known. */
54357
+ childLock: boolean().nullable(),
54358
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
54359
+ activeEvents: array(string()),
54360
+ /** Numeric error code when the appliance reports one; null otherwise. */
54287
54361
  errorCode: number().nullable(),
54362
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
54288
54363
  errorLabel: string().nullable(),
54364
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
54289
54365
  lastFetchedAt: number()
54290
54366
  });
54291
- DeviceType.Dishwasher, method(object({ deviceId: number().int().nonnegative() }), _void(), {
54367
+ var DeviceIdSchema = number().int().nonnegative();
54368
+ /** A value a program option or setting can take. */
54369
+ var DishwasherValueSchema = union([
54370
+ boolean(),
54371
+ string(),
54372
+ number()
54373
+ ]);
54374
+ var DishwasherAccessSchema = _enum([
54375
+ "none",
54376
+ "read",
54377
+ "readWrite",
54378
+ "writeOnly",
54379
+ "readStatic"
54380
+ ]);
54381
+ /**
54382
+ * One option or setting the appliance declares, with the constraints its description
54383
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
54384
+ */
54385
+ var DishwasherOptionDescriptorSchema = object({
54386
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
54387
+ key: string(),
54388
+ /** Last segment of the key, for display. */
54389
+ name: string(),
54390
+ type: _enum([
54391
+ "boolean",
54392
+ "number",
54393
+ "enum",
54394
+ "string"
54395
+ ]),
54396
+ access: DishwasherAccessSchema,
54397
+ /** The appliance reports this entity as currently available. */
54398
+ available: boolean(),
54399
+ /** Unit the description declares for a number; null when it declares none. */
54400
+ unit: string().nullable(),
54401
+ min: number().nullable(),
54402
+ max: number().nullable(),
54403
+ step: number().nullable(),
54404
+ /** Allowed members of an enum; null for other types. */
54405
+ enumValues: array(string()).nullable(),
54406
+ defaultValue: DishwasherValueSchema.nullable()
54407
+ });
54408
+ var DishwasherProgramSchema = object({
54409
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
54410
+ key: string(),
54411
+ name: string(),
54412
+ /** The appliance currently offers this program. */
54413
+ available: boolean(),
54414
+ /** The options this program lists, with the program-level access / availability / default. */
54415
+ options: array(DishwasherOptionDescriptorSchema)
54416
+ });
54417
+ var DishwasherOptionsSchema = object({
54418
+ availability: DishwasherAvailabilitySchema,
54419
+ /** What the appliance can be told to do, from the commands its description declares. */
54420
+ supportsStart: boolean(),
54421
+ supportsPause: boolean(),
54422
+ supportsResume: boolean(),
54423
+ supportsStop: boolean(),
54424
+ supportsPower: boolean(),
54425
+ /** Every program the description lists, with its options. */
54426
+ programs: array(DishwasherProgramSchema),
54427
+ /** Every option and setting entity the description lists (programs reference these by key). */
54428
+ options: array(DishwasherOptionDescriptorSchema)
54429
+ });
54430
+ DeviceType.Dishwasher, method(object({
54431
+ deviceId: DeviceIdSchema,
54432
+ program: string().min(1).optional(),
54433
+ options: record(string(), DishwasherValueSchema).optional()
54434
+ }), _void(), {
54292
54435
  kind: "mutation",
54293
54436
  auth: "protected"
54294
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54437
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54295
54438
  kind: "mutation",
54296
54439
  auth: "protected"
54297
- }), method(object({ deviceId: number().int().nonnegative() }), _void(), {
54440
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54441
+ kind: "mutation",
54442
+ auth: "protected"
54443
+ }), method(object({ deviceId: DeviceIdSchema }), _void(), {
54298
54444
  kind: "mutation",
54299
54445
  auth: "protected"
54300
54446
  }), method(object({
54301
- deviceId: number().int().nonnegative(),
54447
+ deviceId: DeviceIdSchema,
54302
54448
  program: string().min(1)
54303
54449
  }), _void(), {
54304
54450
  kind: "mutation",
54305
54451
  auth: "protected"
54306
54452
  }), method(object({
54307
- deviceId: number().int().nonnegative(),
54453
+ deviceId: DeviceIdSchema,
54308
54454
  on: boolean()
54309
54455
  }), _void(), {
54310
54456
  kind: "mutation",
54311
54457
  auth: "protected"
54312
54458
  }), method(object({
54313
- deviceId: number().int().nonnegative(),
54459
+ deviceId: DeviceIdSchema,
54314
54460
  on: boolean()
54315
54461
  }), _void(), {
54316
54462
  kind: "mutation",
54317
54463
  auth: "protected"
54318
54464
  }), method(object({
54319
- deviceId: number().int().nonnegative(),
54465
+ deviceId: DeviceIdSchema,
54320
54466
  on: boolean()
54321
54467
  }), _void(), {
54322
54468
  kind: "mutation",
54323
54469
  auth: "protected"
54324
54470
  }), method(object({
54325
- deviceId: number().int().nonnegative(),
54471
+ deviceId: DeviceIdSchema,
54326
54472
  on: boolean()
54327
54473
  }), _void(), {
54328
54474
  kind: "mutation",
54329
54475
  auth: "protected"
54330
54476
  }), method(object({
54331
- deviceId: number().int().nonnegative(),
54477
+ deviceId: DeviceIdSchema,
54332
54478
  on: boolean()
54333
54479
  }), _void(), {
54334
54480
  kind: "mutation",
54335
54481
  auth: "protected"
54336
54482
  }), method(object({
54337
- deviceId: number().int().nonnegative(),
54483
+ deviceId: DeviceIdSchema,
54338
54484
  on: boolean()
54339
54485
  }), _void(), {
54340
54486
  kind: "mutation",
54341
54487
  auth: "protected"
54342
54488
  }), method(object({
54343
- deviceId: number().int().nonnegative(),
54489
+ deviceId: DeviceIdSchema,
54344
54490
  on: boolean()
54345
54491
  }), _void(), {
54346
54492
  kind: "mutation",
54347
54493
  auth: "protected"
54348
54494
  }), method(object({
54349
- deviceId: number().int().nonnegative(),
54495
+ deviceId: DeviceIdSchema,
54350
54496
  key: string().min(1),
54351
- value: union([
54352
- boolean(),
54353
- string(),
54354
- number()
54355
- ])
54497
+ value: DishwasherValueSchema
54356
54498
  }), _void(), {
54357
54499
  kind: "mutation",
54358
54500
  auth: "protected"
54359
- });
54501
+ }), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
54360
54502
  object({
54361
54503
  /** Ms epoch of the last press. null = never observed since this provider started. */
54362
54504
  lastPressedAt: number().nullable(),
@@ -65333,6 +65475,12 @@ Object.freeze({
65333
65475
  addonId: null,
65334
65476
  access: "view"
65335
65477
  },
65478
+ "dishwasher.getOptions": {
65479
+ capName: "dishwasher",
65480
+ capScope: "device",
65481
+ addonId: null,
65482
+ access: "view"
65483
+ },
65336
65484
  "dishwasher.getStatus": {
65337
65485
  capName: "dishwasher",
65338
65486
  capScope: "device",
@@ -65345,6 +65493,12 @@ Object.freeze({
65345
65493
  addonId: null,
65346
65494
  access: "create"
65347
65495
  },
65496
+ "dishwasher.resume": {
65497
+ capName: "dishwasher",
65498
+ capScope: "device",
65499
+ addonId: null,
65500
+ access: "create"
65501
+ },
65348
65502
  "dishwasher.setChildLock": {
65349
65503
  capName: "dishwasher",
65350
65504
  capScope: "device",
@@ -69845,6 +69999,12 @@ Object.freeze({
69845
69999
  addonId: null,
69846
70000
  access: "view"
69847
70001
  },
70002
+ "storageMigration.moverClearance": {
70003
+ capName: "storage-migration",
70004
+ capScope: "system",
70005
+ addonId: null,
70006
+ access: "view"
70007
+ },
69848
70008
  "storageMigration.movers": {
69849
70009
  capName: "storage-migration",
69850
70010
  capScope: "system",
@@ -72104,6 +72264,11 @@ Object.freeze({
72104
72264
  form: "single",
72105
72265
  optional: false
72106
72266
  }],
72267
+ "dishwasher.getOptions": [{
72268
+ name: "deviceId",
72269
+ form: "single",
72270
+ optional: false
72271
+ }],
72107
72272
  "dishwasher.getStatus": [{
72108
72273
  name: "deviceId",
72109
72274
  form: "single",
@@ -72114,6 +72279,11 @@ Object.freeze({
72114
72279
  form: "single",
72115
72280
  optional: false
72116
72281
  }],
72282
+ "dishwasher.resume": [{
72283
+ name: "deviceId",
72284
+ form: "single",
72285
+ optional: false
72286
+ }],
72117
72287
  "dishwasher.setChildLock": [{
72118
72288
  name: "deviceId",
72119
72289
  form: "single",
@@ -74200,6 +74370,9 @@ new Map(Object.entries({
74200
74370
  "wrapper-update-available": "system",
74201
74371
  "backup-completed": "system",
74202
74372
  "export-completed": "system",
74373
+ "alert-critical": "system",
74374
+ "alert-error": "system",
74375
+ "alert-critical-resolved": "system",
74203
74376
  "storage-location-low": "system",
74204
74377
  "storage-location-critical": "system",
74205
74378
  "storage-location-ok": "system",
@@ -74324,6 +74497,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
74324
74497
  "storage-location-ok"
74325
74498
  ]
74326
74499
  },
74500
+ {
74501
+ id: "alerts",
74502
+ family: "system",
74503
+ label: "Alerts",
74504
+ kinds: [
74505
+ "alert-critical",
74506
+ "alert-error",
74507
+ "alert-critical-resolved"
74508
+ ]
74509
+ },
74327
74510
  {
74328
74511
  id: "alarm",
74329
74512
  family: "alarm",
@@ -74368,6 +74551,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
74368
74551
  return [[descriptor.kind, field]];
74369
74552
  })));
74370
74553
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
74554
+ object({
74555
+ phase: _enum(["raised", "resolved"]),
74556
+ episodeId: string().min(1),
74557
+ alertId: string().min(1),
74558
+ severity: AlertSeveritySchema,
74559
+ category: string(),
74560
+ title: string(),
74561
+ message: string(),
74562
+ sourceType: string().optional(),
74563
+ sourceId: string().optional(),
74564
+ nodeId: string().optional(),
74565
+ /** The alert's own action link (where the operator acts on it), when it has one. */
74566
+ actionUrl: string().optional(),
74567
+ at: number()
74568
+ });
74371
74569
  var RULE_BODY_ONLY = ["body"];
74372
74570
  var RULE_TEXT = ["title", "body"];
74373
74571
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -74377,6 +74575,11 @@ var TANK = [
74377
74575
  "device-tank-full",
74378
74576
  "device-tank-normal"
74379
74577
  ];
74578
+ var ALERT_EPISODE = [
74579
+ "alert-critical",
74580
+ "alert-error",
74581
+ "alert-critical-resolved"
74582
+ ];
74380
74583
  var UPDATES = [
74381
74584
  "addon-update-available",
74382
74585
  "server-update-available",
@@ -74569,14 +74772,14 @@ var STATE_SUMMARY_VARS = [
74569
74772
  ([...RULE_TEXT], [...CONSUMABLE]),
74570
74773
  ([...RULE_TEXT], [...TANK]),
74571
74774
  [...RULE_TEXT],
74572
- ([...RULE_TEXT], [...UPDATES]),
74573
- ([...RULE_TEXT], [...UPDATES]),
74574
- [...RULE_TEXT],
74775
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74776
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
74575
74777
  [...RULE_TEXT],
74576
74778
  [...RULE_TEXT],
74577
74779
  [...RULE_TEXT],
74578
74780
  [...RULE_TEXT],
74579
74781
  [...RULE_TEXT],
74782
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74580
74783
  [...RULE_TEXT],
74581
74784
  [...RULE_TEXT],
74582
74785
  [...RULE_TEXT],
@@ -74594,7 +74797,11 @@ var STATE_SUMMARY_VARS = [
74594
74797
  [...RULE_TEXT],
74595
74798
  [...RULE_TEXT],
74596
74799
  [...RULE_TEXT],
74597
- [...RULE_TEXT],
74800
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74801
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74802
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74803
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74804
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
74598
74805
  [...RULE_TEXT],
74599
74806
  [...RULE_TEXT],
74600
74807
  [...RULE_TEXT],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-onvif",
3
- "version": "1.2.130",
3
+ "version": "1.2.131",
4
4
  "description": "ONVIF camera device provider addon for CamStack",
5
5
  "keywords": [
6
6
  "camstack",