@mega-yfue/eufy-sdk 0.6.0-beta.5 → 0.6.0-beta.7
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.
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bound a caller waits for the level-2 negotiation to SETTLE, measured from connect.
|
|
3
|
+
*
|
|
4
|
+
* For a caller that picks its seal once from `P2PSession.hasLevel2Key` and has no second chance. A media
|
|
5
|
+
* start reads the key on every send and is re-issued by the warm-up, so it needs no wait; a property write
|
|
6
|
+
* framed level-1 to a family that only accepts level-2 is ignored, and nothing re-frames it. Session-scoped,
|
|
7
|
+
* so a station that offers no key does not charge this to every later command.
|
|
8
|
+
*/
|
|
9
|
+
export declare const LEVEL2_SETTLE_MS = 8000;
|
|
@@ -676,6 +676,12 @@ export declare class P2PSession extends EventEmitter {
|
|
|
676
676
|
query?: Record<string, unknown>;
|
|
677
677
|
innerCmd?: number;
|
|
678
678
|
}): void;
|
|
679
|
+
/**
|
|
680
|
+
* The `CMD_SET_PAYLOAD` payload of a database read or stored-image request: the JSON level-1 encrypted, or
|
|
681
|
+
* in the clear with header bytes from {@link nextClearCommandBytes} on a session that {@link sendsInTheClear}
|
|
682
|
+
* and holds no level-2 key.
|
|
683
|
+
*/
|
|
684
|
+
private databasePayload;
|
|
679
685
|
/**
|
|
680
686
|
* Standard "give me the whole table" query params the eufy app uses for a direct
|
|
681
687
|
* `CMD_DATABASE` read (inner `cmd 10000`). `count` bounds the row count.
|
|
@@ -719,6 +725,9 @@ export declare class P2PSession extends EventEmitter {
|
|
|
719
725
|
*
|
|
720
726
|
* One read at a time per session: while one is accumulating, every {@link queryDatabase} on the
|
|
721
727
|
* session throws, so a second reply cannot land in this buffer.
|
|
728
|
+
*
|
|
729
|
+
* The query's framing follows the cipher the gateway-info reply names, so on a session still negotiating
|
|
730
|
+
* its level-2 key the query waits for that to settle, up to {@link LEVEL2_SETTLE_MS} from connect.
|
|
722
731
|
*/
|
|
723
732
|
readDatabase(table: string, opts?: {
|
|
724
733
|
accountId?: string;
|
|
@@ -376,8 +376,13 @@ export declare class SharedLiveSource {
|
|
|
376
376
|
private isKeyframe;
|
|
377
377
|
/**
|
|
378
378
|
* Handle a consumer leaving. When the last one detaches (1→0), release the station-session user via
|
|
379
|
-
* {@link SharedLiveSourceOptions.onIdle} (its own longer idle timer then arms) and
|
|
380
|
-
* linger teardown.
|
|
379
|
+
* {@link SharedLiveSourceOptions.onIdle} (its own longer idle timer then arms) and, while a stream is
|
|
380
|
+
* still running, arm its linger teardown.
|
|
381
|
+
*
|
|
382
|
+
* A source that ended its own stream ends its consumers before tearing down, and a Readable consumer
|
|
383
|
+
* detaches only once it has reached EOF — after that teardown. The source is then already `stopped`,
|
|
384
|
+
* with its session claim released, and stays so: lingering would make the owner hand it out again
|
|
385
|
+
* instead of building a source that holds a session.
|
|
381
386
|
*/
|
|
382
387
|
private onDetach;
|
|
383
388
|
/** Refcount hit zero — arm the linger teardown. A new attach in the window cancels it. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mega-yfue/eufy-sdk",
|
|
3
|
-
"version": "0.6.0-beta.
|
|
3
|
+
"version": "0.6.0-beta.7",
|
|
4
4
|
"description": "One typed TypeScript client for the Anker eufy v6 cloud — capability-driven devices, realtime events over P2P/MQTT/push, and live media",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "mega-yfue",
|