@camstack/addon-provider-homeassistant 1.2.603 → 1.2.604

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.
@@ -1,4 +1,4 @@
1
- //#region ../types/dist/event-category-BvOFi6PY.mjs
1
+ //#region ../types/dist/event-category-DOl51-Ij.mjs
2
2
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
3
  EventCategory["SystemBoot"] = "system.boot";
4
4
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -77,9 +77,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
77
77
  /**
78
78
  * The node's one-shot runner boot check (D877): planned runners against the
79
79
  * process service, `degraded` when any is failed, refused or missing. The
80
- * alert centre turns it into one alert and a direct critical push.
80
+ * alert centre turns it into one critical alert.
81
81
  */
82
82
  EventCategory["SystemRunnerCheck"] = "system.runner-check";
83
+ /**
84
+ * An alert EPISODE opened or closed, emitted by the alert centre for alerts
85
+ * of severity `critical` or `error` (`AlertEpisodePayload`). The alert
86
+ * centre sends no notification of its own: Notification Center turns this
87
+ * into the `alert-critical` / `alert-error` / `alert-critical-resolved`
88
+ * system-event kinds, and reconciles from the alerts store because a bus
89
+ * event may be dropped (D8, D11).
90
+ */
91
+ EventCategory["AlertEpisode"] = "alert.episode";
83
92
  EventCategory["AddonError"] = "addon.error";
84
93
  EventCategory["AddonPageReady"] = "addon.page-ready";
85
94
  EventCategory["AddonWidgetReady"] = "addon.widget-ready";
@@ -5537,7 +5546,7 @@ var ZodIssueCode = {
5537
5546
  var ZodFirstPartyTypeKind;
5538
5547
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5539
5548
  //#endregion
5540
- //#region ../types/dist/sleep-BegKjwUu.mjs
5549
+ //#region ../types/dist/sleep-BxjU_fJM.mjs
5541
5550
  /**
5542
5551
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5543
5552
  * window to float samples (D455).
@@ -13722,7 +13731,14 @@ var AlertSeveritySchema = _enum([
13722
13731
  ]);
13723
13732
  var AlertActionSchema = object({
13724
13733
  label: string(),
13725
- href: string().optional()
13734
+ href: string().optional(),
13735
+ /**
13736
+ * How `href` is followed. Absent / `app`: an admin-ui route (client-side).
13737
+ * `server`: a route the HUB serves (an addon HTTP route such as an OAuth
13738
+ * start) — the browser must leave the SPA with a full navigation, because
13739
+ * the SPA has no such route and would bounce to the home page.
13740
+ */
13741
+ navigation: _enum(["app", "server"]).optional()
13726
13742
  });
13727
13743
  var AlertStatusSchema = _enum([
13728
13744
  "active",
@@ -42743,6 +42759,9 @@ var NcSystemEventKindSchema = _enum([
42743
42759
  "server-updated",
42744
42760
  "export-completed",
42745
42761
  "backup-completed",
42762
+ "alert-critical",
42763
+ "alert-error",
42764
+ "alert-critical-resolved",
42746
42765
  "camera-online",
42747
42766
  "camera-offline",
42748
42767
  "camera-disabled",
@@ -51835,7 +51854,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
51835
51854
  }), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
51836
51855
  kind: "mutation",
51837
51856
  auth: "admin"
51838
- }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51857
+ }), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
51858
+ clear: boolean(),
51859
+ repointLocationId: string().optional()
51860
+ }), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
51839
51861
  kind: "mutation",
51840
51862
  auth: "admin"
51841
51863
  }), method(StorageCleanupInputSchema, object({ jobId: string() }), {
@@ -56190,6 +56212,11 @@ onStatusChanged: { data: object({
56190
56212
  *
56191
56213
  * `kind: 'poll'` — cloud REST APIs typically have no push channel; the
56192
56214
  * provider refreshes the slice on an interval and eagerly after commands.
56215
+ *
56216
+ * UNKNOWN IS NOT OFF. Every field the appliance reports separately is
56217
+ * nullable: `null` means "not known right now" (the appliance has not said,
56218
+ * the link is down, or the description does not carry it) and is never
56219
+ * rendered or exported as `false` / `0`. `availability` says why.
56193
56220
  */
56194
56221
  var DishwasherStateSchema = _enum([
56195
56222
  "idle",
@@ -56199,43 +56226,155 @@ var DishwasherStateSchema = _enum([
56199
56226
  "error",
56200
56227
  "unavailable"
56201
56228
  ]);
56229
+ /**
56230
+ * The appliance's own operation state, uncollapsed. `state` above is the coarse
56231
+ * view for compact surfaces; this is what the appliance said.
56232
+ */
56233
+ var DishwasherOperationStateSchema = _enum([
56234
+ "Inactive",
56235
+ "Ready",
56236
+ "DelayedStart",
56237
+ "Run",
56238
+ "Pause",
56239
+ "ActionRequired",
56240
+ "Finished",
56241
+ "Error",
56242
+ "Aborting"
56243
+ ]);
56244
+ /**
56245
+ * Why fields may be `null`:
56246
+ * - `available` — the link is up and the description is loaded;
56247
+ * - `offline` — the local link is down (values are unknown, not last-known);
56248
+ * - `description-missing` — the link is up but the appliance's description could not
56249
+ * be loaded, so its values cannot be decoded.
56250
+ */
56251
+ var DishwasherAvailabilitySchema = _enum([
56252
+ "available",
56253
+ "offline",
56254
+ "description-missing"
56255
+ ]);
56202
56256
  var DishwasherConsumableLevelSchema = _enum([
56203
56257
  "ok",
56204
56258
  "low",
56205
56259
  "empty"
56206
56260
  ]);
56207
56261
  var DishwasherStatusSchema = object({
56262
+ availability: DishwasherAvailabilitySchema,
56263
+ /** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
56208
56264
  state: DishwasherStateSchema,
56209
- /** Active program id/name, or null when none selected / unknown. */
56265
+ /** The appliance's operation state as reported; null when not known. */
56266
+ operationState: DishwasherOperationStateSchema.nullable(),
56267
+ /** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
56210
56268
  program: string().nullable(),
56211
- /** Program tokens the hardware accepts — drives the UI selector. */
56269
+ /** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
56270
+ selectedProgram: string().nullable(),
56271
+ /** Feature keys of the programs the appliance currently offers — drives the UI selector. */
56212
56272
  availablePrograms: array(string()),
56213
- /** Minutes remaining on the active cycle, or null when not running. */
56214
- remainingMinutes: number().int().nonnegative().nullable(),
56273
+ /** Seconds remaining on the active cycle, or null when not running / not known. */
56274
+ remainingSeconds: number().int().nonnegative().nullable(),
56275
+ /** Seconds the delayed start is set to (time until the cycle starts), or null. */
56276
+ delayedStartSeconds: number().int().nonnegative().nullable(),
56215
56277
  /** Cycle completion 0..100, or null when not applicable. */
56216
56278
  progressPercent: number().min(0).max(100).nullable(),
56217
- /** True when the door is reported open. */
56218
- doorOpen: boolean(),
56219
- /** True when remote start is allowed (door closed, power on, etc.). */
56220
- remoteStartAllowed: boolean(),
56221
- /** Main power / switched-on state. */
56222
- powerOn: boolean(),
56279
+ /** True when the door is reported open; null when the door state is not known. */
56280
+ doorOpen: boolean().nullable(),
56281
+ /** True when the door is latched (locked) during a cycle; null when not reported. */
56282
+ doorLocked: boolean().nullable(),
56283
+ /** True when remote start is allowed (door closed, power on, etc.); null when not known. */
56284
+ remoteStartAllowed: boolean().nullable(),
56285
+ /** True when the appliance accepts remote control now; null when not known. */
56286
+ remoteControlActive: boolean().nullable(),
56287
+ /** True while somebody operates the appliance at its panel; null when not reported. */
56288
+ localControlActive: boolean().nullable(),
56289
+ /** Main power / switched-on state; null when not known. */
56290
+ powerOn: boolean().nullable(),
56291
+ /** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
56292
+ powerState: string().nullable(),
56223
56293
  saltLevel: DishwasherConsumableLevelSchema.nullable(),
56224
56294
  rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
56225
- halfLoad: boolean(),
56226
- hygienePlus: boolean(),
56295
+ /** Option states: null when the appliance does not expose the option or has not said. */
56296
+ halfLoad: boolean().nullable(),
56297
+ hygienePlus: boolean().nullable(),
56227
56298
  /** Extra dry option when the appliance exposes it. */
56228
- extraDry: boolean(),
56299
+ extraDry: boolean().nullable(),
56229
56300
  /** Intensive zone (lower basket) when the appliance exposes it. */
56230
- intensiveZone: boolean(),
56301
+ intensiveZone: boolean().nullable(),
56231
56302
  /** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
56232
- varioSpeedPlus: boolean(),
56233
- /** Child lock (controls disabled on the appliance). */
56234
- childLock: boolean(),
56303
+ varioSpeedPlus: boolean().nullable(),
56304
+ /** Child lock (controls disabled on the appliance); null when not known. */
56305
+ childLock: boolean().nullable(),
56306
+ /** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
56307
+ activeEvents: array(string()),
56308
+ /** Numeric error code when the appliance reports one; null otherwise. */
56235
56309
  errorCode: number().nullable(),
56310
+ /** Name of the raised alert-level event while the appliance is in error; null otherwise. */
56236
56311
  errorLabel: string().nullable(),
56312
+ /** Ms epoch of the last value received from the appliance; 0 = never. */
56237
56313
  lastFetchedAt: number()
56238
56314
  });
56315
+ var DeviceIdSchema = number().int().nonnegative();
56316
+ /** A value a program option or setting can take. */
56317
+ var DishwasherValueSchema = union([
56318
+ boolean(),
56319
+ string(),
56320
+ number()
56321
+ ]);
56322
+ var DishwasherAccessSchema = _enum([
56323
+ "none",
56324
+ "read",
56325
+ "readWrite",
56326
+ "writeOnly",
56327
+ "readStatic"
56328
+ ]);
56329
+ /**
56330
+ * One option or setting the appliance declares, with the constraints its description
56331
+ * gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
56332
+ */
56333
+ var DishwasherOptionDescriptorSchema = object({
56334
+ /** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
56335
+ key: string(),
56336
+ /** Last segment of the key, for display. */
56337
+ name: string(),
56338
+ type: _enum([
56339
+ "boolean",
56340
+ "number",
56341
+ "enum",
56342
+ "string"
56343
+ ]),
56344
+ access: DishwasherAccessSchema,
56345
+ /** The appliance reports this entity as currently available. */
56346
+ available: boolean(),
56347
+ /** Unit the description declares for a number; null when it declares none. */
56348
+ unit: string().nullable(),
56349
+ min: number().nullable(),
56350
+ max: number().nullable(),
56351
+ step: number().nullable(),
56352
+ /** Allowed members of an enum; null for other types. */
56353
+ enumValues: array(string()).nullable(),
56354
+ defaultValue: DishwasherValueSchema.nullable()
56355
+ });
56356
+ var DishwasherProgramSchema = object({
56357
+ /** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
56358
+ key: string(),
56359
+ name: string(),
56360
+ /** The appliance currently offers this program. */
56361
+ available: boolean(),
56362
+ /** The options this program lists, with the program-level access / availability / default. */
56363
+ options: array(DishwasherOptionDescriptorSchema)
56364
+ });
56365
+ var DishwasherOptionsSchema = object({
56366
+ availability: DishwasherAvailabilitySchema,
56367
+ /** What the appliance can be told to do, from the commands its description declares. */
56368
+ supportsStart: boolean(),
56369
+ supportsPause: boolean(),
56370
+ supportsResume: boolean(),
56371
+ supportsStop: boolean(),
56372
+ supportsPower: boolean(),
56373
+ /** Every program the description lists, with its options. */
56374
+ programs: array(DishwasherProgramSchema),
56375
+ /** Every option and setting entity the description lists (programs reference these by key). */
56376
+ options: array(DishwasherOptionDescriptorSchema)
56377
+ });
56239
56378
  var dishwasherCapability = {
56240
56379
  name: "dishwasher",
56241
56380
  scope: "device",
@@ -56243,86 +56382,102 @@ var dishwasherCapability = {
56243
56382
  mode: "singleton",
56244
56383
  deviceTypes: [DeviceType.Dishwasher],
56245
56384
  methods: {
56246
- start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
56385
+ /**
56386
+ * Start a program. Without `program` the selected one starts. `options` are
56387
+ * option feature keys; each is checked against the program's constraints.
56388
+ */
56389
+ start: method(object({
56390
+ deviceId: DeviceIdSchema,
56391
+ program: string().min(1).optional(),
56392
+ options: record(string(), DishwasherValueSchema).optional()
56393
+ }), _void(), {
56247
56394
  kind: "mutation",
56248
56395
  auth: "protected"
56249
56396
  }),
56250
- pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
56397
+ pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
56251
56398
  kind: "mutation",
56252
56399
  auth: "protected"
56253
56400
  }),
56254
- stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
56401
+ resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
56402
+ kind: "mutation",
56403
+ auth: "protected"
56404
+ }),
56405
+ stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
56255
56406
  kind: "mutation",
56256
56407
  auth: "protected"
56257
56408
  }),
56409
+ /** Select (not start) a program; refused when the appliance does not offer it. */
56258
56410
  setProgram: method(object({
56259
- deviceId: number().int().nonnegative(),
56411
+ deviceId: DeviceIdSchema,
56260
56412
  program: string().min(1)
56261
56413
  }), _void(), {
56262
56414
  kind: "mutation",
56263
56415
  auth: "protected"
56264
56416
  }),
56265
56417
  setPower: method(object({
56266
- deviceId: number().int().nonnegative(),
56418
+ deviceId: DeviceIdSchema,
56267
56419
  on: boolean()
56268
56420
  }), _void(), {
56269
56421
  kind: "mutation",
56270
56422
  auth: "protected"
56271
56423
  }),
56272
56424
  setHalfLoad: method(object({
56273
- deviceId: number().int().nonnegative(),
56425
+ deviceId: DeviceIdSchema,
56274
56426
  on: boolean()
56275
56427
  }), _void(), {
56276
56428
  kind: "mutation",
56277
56429
  auth: "protected"
56278
56430
  }),
56279
56431
  setHygienePlus: method(object({
56280
- deviceId: number().int().nonnegative(),
56432
+ deviceId: DeviceIdSchema,
56281
56433
  on: boolean()
56282
56434
  }), _void(), {
56283
56435
  kind: "mutation",
56284
56436
  auth: "protected"
56285
56437
  }),
56286
56438
  setExtraDry: method(object({
56287
- deviceId: number().int().nonnegative(),
56439
+ deviceId: DeviceIdSchema,
56288
56440
  on: boolean()
56289
56441
  }), _void(), {
56290
56442
  kind: "mutation",
56291
56443
  auth: "protected"
56292
56444
  }),
56293
56445
  setIntensiveZone: method(object({
56294
- deviceId: number().int().nonnegative(),
56446
+ deviceId: DeviceIdSchema,
56295
56447
  on: boolean()
56296
56448
  }), _void(), {
56297
56449
  kind: "mutation",
56298
56450
  auth: "protected"
56299
56451
  }),
56300
56452
  setVarioSpeedPlus: method(object({
56301
- deviceId: number().int().nonnegative(),
56453
+ deviceId: DeviceIdSchema,
56302
56454
  on: boolean()
56303
56455
  }), _void(), {
56304
56456
  kind: "mutation",
56305
56457
  auth: "protected"
56306
56458
  }),
56307
56459
  setChildLock: method(object({
56308
- deviceId: number().int().nonnegative(),
56460
+ deviceId: DeviceIdSchema,
56309
56461
  on: boolean()
56310
56462
  }), _void(), {
56311
56463
  kind: "mutation",
56312
56464
  auth: "protected"
56313
56465
  }),
56466
+ /**
56467
+ * Write any option or setting by feature key. Refused when the description does
56468
+ * not list it, it is not writable or not available now, or the value is outside
56469
+ * its declared range / members.
56470
+ */
56314
56471
  setOption: method(object({
56315
- deviceId: number().int().nonnegative(),
56472
+ deviceId: DeviceIdSchema,
56316
56473
  key: string().min(1),
56317
- value: union([
56318
- boolean(),
56319
- string(),
56320
- number()
56321
- ])
56474
+ value: DishwasherValueSchema
56322
56475
  }), _void(), {
56323
56476
  kind: "mutation",
56324
56477
  auth: "protected"
56325
- })
56478
+ }),
56479
+ /** What this appliance can do, from its own description — the UI is derived from it. */
56480
+ getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
56326
56481
  },
56327
56482
  status: {
56328
56483
  schema: DishwasherStatusSchema,
@@ -70271,6 +70426,12 @@ Object.freeze({
70271
70426
  addonId: null,
70272
70427
  access: "view"
70273
70428
  },
70429
+ "dishwasher.getOptions": {
70430
+ capName: "dishwasher",
70431
+ capScope: "device",
70432
+ addonId: null,
70433
+ access: "view"
70434
+ },
70274
70435
  "dishwasher.getStatus": {
70275
70436
  capName: "dishwasher",
70276
70437
  capScope: "device",
@@ -70283,6 +70444,12 @@ Object.freeze({
70283
70444
  addonId: null,
70284
70445
  access: "create"
70285
70446
  },
70447
+ "dishwasher.resume": {
70448
+ capName: "dishwasher",
70449
+ capScope: "device",
70450
+ addonId: null,
70451
+ access: "create"
70452
+ },
70286
70453
  "dishwasher.setChildLock": {
70287
70454
  capName: "dishwasher",
70288
70455
  capScope: "device",
@@ -74783,6 +74950,12 @@ Object.freeze({
74783
74950
  addonId: null,
74784
74951
  access: "view"
74785
74952
  },
74953
+ "storageMigration.moverClearance": {
74954
+ capName: "storage-migration",
74955
+ capScope: "system",
74956
+ addonId: null,
74957
+ access: "view"
74958
+ },
74786
74959
  "storageMigration.movers": {
74787
74960
  capName: "storage-migration",
74788
74961
  capScope: "system",
@@ -76976,6 +77149,11 @@ Object.freeze({
76976
77149
  form: "single",
76977
77150
  optional: false
76978
77151
  }],
77152
+ "dishwasher.getOptions": [{
77153
+ name: "deviceId",
77154
+ form: "single",
77155
+ optional: false
77156
+ }],
76979
77157
  "dishwasher.getStatus": [{
76980
77158
  name: "deviceId",
76981
77159
  form: "single",
@@ -76986,6 +77164,11 @@ Object.freeze({
76986
77164
  form: "single",
76987
77165
  optional: false
76988
77166
  }],
77167
+ "dishwasher.resume": [{
77168
+ name: "deviceId",
77169
+ form: "single",
77170
+ optional: false
77171
+ }],
76989
77172
  "dishwasher.setChildLock": [{
76990
77173
  name: "deviceId",
76991
77174
  form: "single",
@@ -79279,6 +79462,9 @@ new Map(Object.entries({
79279
79462
  "wrapper-update-available": "system",
79280
79463
  "backup-completed": "system",
79281
79464
  "export-completed": "system",
79465
+ "alert-critical": "system",
79466
+ "alert-error": "system",
79467
+ "alert-critical-resolved": "system",
79282
79468
  "storage-location-low": "system",
79283
79469
  "storage-location-critical": "system",
79284
79470
  "storage-location-ok": "system",
@@ -79403,6 +79589,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
79403
79589
  "storage-location-ok"
79404
79590
  ]
79405
79591
  },
79592
+ {
79593
+ id: "alerts",
79594
+ family: "system",
79595
+ label: "Alerts",
79596
+ kinds: [
79597
+ "alert-critical",
79598
+ "alert-error",
79599
+ "alert-critical-resolved"
79600
+ ]
79601
+ },
79406
79602
  {
79407
79603
  id: "alarm",
79408
79604
  family: "alarm",
@@ -79447,6 +79643,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
79447
79643
  return [[descriptor.kind, field]];
79448
79644
  })));
79449
79645
  Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
79646
+ object({
79647
+ phase: _enum(["raised", "resolved"]),
79648
+ episodeId: string().min(1),
79649
+ alertId: string().min(1),
79650
+ severity: AlertSeveritySchema,
79651
+ category: string(),
79652
+ title: string(),
79653
+ message: string(),
79654
+ sourceType: string().optional(),
79655
+ sourceId: string().optional(),
79656
+ nodeId: string().optional(),
79657
+ /** The alert's own action link (where the operator acts on it), when it has one. */
79658
+ actionUrl: string().optional(),
79659
+ at: number()
79660
+ });
79450
79661
  var RULE_BODY_ONLY = ["body"];
79451
79662
  var RULE_TEXT = ["title", "body"];
79452
79663
  var BATTERY = ["device-battery-low", "device-battery-normal"];
@@ -79456,6 +79667,11 @@ var TANK = [
79456
79667
  "device-tank-full",
79457
79668
  "device-tank-normal"
79458
79669
  ];
79670
+ var ALERT_EPISODE = [
79671
+ "alert-critical",
79672
+ "alert-error",
79673
+ "alert-critical-resolved"
79674
+ ];
79459
79675
  var UPDATES = [
79460
79676
  "addon-update-available",
79461
79677
  "server-update-available",
@@ -79648,14 +79864,14 @@ var STATE_SUMMARY_VARS = [
79648
79864
  ([...RULE_TEXT], [...CONSUMABLE]),
79649
79865
  ([...RULE_TEXT], [...TANK]),
79650
79866
  [...RULE_TEXT],
79651
- ([...RULE_TEXT], [...UPDATES]),
79652
- ([...RULE_TEXT], [...UPDATES]),
79653
- [...RULE_TEXT],
79867
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
79868
+ ([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
79654
79869
  [...RULE_TEXT],
79655
79870
  [...RULE_TEXT],
79656
79871
  [...RULE_TEXT],
79657
79872
  [...RULE_TEXT],
79658
79873
  [...RULE_TEXT],
79874
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79659
79875
  [...RULE_TEXT],
79660
79876
  [...RULE_TEXT],
79661
79877
  [...RULE_TEXT],
@@ -79673,7 +79889,11 @@ var STATE_SUMMARY_VARS = [
79673
79889
  [...RULE_TEXT],
79674
79890
  [...RULE_TEXT],
79675
79891
  [...RULE_TEXT],
79676
- [...RULE_TEXT],
79892
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79893
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79894
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79895
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79896
+ ([...RULE_TEXT], [...ALERT_EPISODE]),
79677
79897
  [...RULE_TEXT],
79678
79898
  [...RULE_TEXT],
79679
79899
  [...RULE_TEXT],