@mega-yfue/eufy-sdk 0.5.0-beta.26 → 0.5.0-beta.28

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.
@@ -121,6 +121,8 @@ export declare class EufyMega extends EventEmitter {
121
121
  private readonly mapStores;
122
122
  /** Re-armed after each cloud-param poll; cancelled by {@link disconnect}. */
123
123
  private readonly pollTimer;
124
+ /** Armed while a failed push bring-up waits to be retried; cancelled by {@link disconnect}. */
125
+ private readonly pushRetryTimer;
124
126
  constructor(opts: EufyMegaOptions);
125
127
  /**
126
128
  * Builds the inbound listener that converts ThingClips DP maps to realtime capability state.
@@ -399,6 +401,14 @@ export declare class EufyMega extends EventEmitter {
399
401
  * other kind is P2P.
400
402
  */
401
403
  private commandSinkFor;
404
+ /**
405
+ * The station a device's commands go through: the device itself, or the HomeBase the registry links it
406
+ * to. Answers the target record, the station record and serial, the station's `device_type`, and the
407
+ * `t9000` / `t8n00` family flags.
408
+ */
409
+ private stationOf;
410
+ /** The vendor DeviceType of the station a device hangs off; `undefined` for a station itself. */
411
+ private stationDeviceTypeOf;
402
412
  /**
403
413
  * Combine explicit P2P media with the optional passive push-thumbnail provider.
404
414
  *
@@ -424,6 +434,17 @@ export declare class EufyMega extends EventEmitter {
424
434
  * relay candidates; T9000 retains compact SDP and relay-only candidates. Everything else is P2P.
425
435
  */
426
436
  private routeCommand;
437
+ /**
438
+ * The RTC route for a T9000 or T8N00 station or a device attached to one, decided by the station's model
439
+ * classification; `undefined` for any other device. A T8N00 route carries its native `call` signalling. The admin id is the station's
440
+ * `member.admin_user_id`, else the logged-in user.
441
+ */
442
+ private rtcRouteFor;
443
+ /**
444
+ * The RTC media provider for a camera attached to a T9000 whose `device_channel` resolves back to it on
445
+ * the station; `undefined` otherwise, including a camera behind a T8N00, whose route carries commands only.
446
+ */
447
+ private rtcMediaFor;
427
448
  /**
428
449
  * List + classify devices across all houses (mega API). Each device is tagged with its API backend
429
450
  * + realtime transport. Camera/HomeBase records still appear here for inventory; driving them is
@@ -535,6 +556,14 @@ export declare class EufyMega extends EventEmitter {
535
556
  private ensureRealtimeGeneration;
536
557
  /** Start all selected transports concurrently and settle their owning generation once. */
537
558
  private startRealtimeGeneration;
559
+ /**
560
+ * Bring push up again after the generation's startup attempt failed, backing off between attempts
561
+ * until one connects, the generation is superseded, or it is aborted by {@link disconnect}.
562
+ *
563
+ * The MCS socket reconnects on its own only once it has connected. The settled
564
+ * {@link RealtimeReadiness} is a startup snapshot and is not revised when a retry connects.
565
+ */
566
+ private retryPush;
538
567
  /** Resolve a generation with an immutable count snapshot; later transport completions are ignored. */
539
568
  private settleRealtimeGeneration;
540
569
  /**