@vex-chat/libvex 5.5.0 → 5.5.1

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 (34) hide show
  1. package/README.md +25 -23
  2. package/dist/Client.d.ts +103 -103
  3. package/dist/Client.d.ts.map +1 -1
  4. package/dist/Client.js +295 -295
  5. package/dist/Client.js.map +1 -1
  6. package/dist/__tests__/harness/memory-storage.d.ts +1 -1
  7. package/dist/__tests__/harness/memory-storage.d.ts.map +1 -1
  8. package/dist/__tests__/harness/memory-storage.js +1 -1
  9. package/dist/__tests__/harness/memory-storage.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/storage/node/http-agents.d.ts +1 -1
  13. package/dist/storage/node/http-agents.d.ts.map +1 -1
  14. package/dist/storage/node/http-agents.js +4 -4
  15. package/dist/storage/node/http-agents.js.map +1 -1
  16. package/dist/storage/sqlite.d.ts +8 -8
  17. package/dist/storage/sqlite.d.ts.map +1 -1
  18. package/dist/storage/sqlite.js +16 -16
  19. package/dist/storage/sqlite.js.map +1 -1
  20. package/dist/utils/fipsMailExtra.d.ts +9 -9
  21. package/dist/utils/fipsMailExtra.d.ts.map +1 -1
  22. package/dist/utils/fipsMailExtra.js +47 -47
  23. package/dist/utils/fipsMailExtra.js.map +1 -1
  24. package/dist/utils/resolveAtRestAesKey.js +1 -1
  25. package/dist/utils/resolveAtRestAesKey.js.map +1 -1
  26. package/package.json +134 -152
  27. package/src/Client.ts +411 -413
  28. package/src/__tests__/harness/memory-storage.ts +1 -1
  29. package/src/__tests__/harness/shared-suite.ts +177 -177
  30. package/src/index.ts +1 -1
  31. package/src/storage/node/http-agents.ts +7 -7
  32. package/src/storage/sqlite.ts +23 -23
  33. package/src/utils/fipsMailExtra.ts +80 -80
  34. package/src/utils/resolveAtRestAesKey.ts +1 -1
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  # @vex-chat/libvex
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@vex-chat/libvex?style=flat-square&color=cb3837&logo=npm)](https://www.npmjs.com/package/@vex-chat/libvex)
4
- [![CI](https://img.shields.io/github/actions/workflow/status/vex-protocol/libvex-js/build.yml?branch=master&style=flat-square&logo=github&label=CI)](https://github.com/vex-protocol/libvex-js/actions/workflows/build.yml)
5
- [![Released](https://img.shields.io/github/release-date/vex-protocol/libvex-js?style=flat-square&label=released)](https://github.com/vex-protocol/libvex-js/releases)
4
+ [![CI](https://img.shields.io/github/actions/workflow/status/vex-protocol/protocol/build.yml?branch=master&style=flat-square&logo=github&label=CI)](https://github.com/vex-protocol/protocol/actions/workflows/build.yml)
5
+ [![Released](https://img.shields.io/github/release-date/vex-protocol/protocol?style=flat-square&label=released)](https://github.com/vex-protocol/protocol/releases)
6
6
  [![License](https://img.shields.io/npm/l/@vex-chat/libvex?style=flat-square&color=blue)](./LICENSE)
7
7
  [![Types](https://img.shields.io/npm/types/@vex-chat/libvex?style=flat-square&logo=typescript&color=3178c6)](./dist/index.d.ts)
8
- [![Type Coverage](https://img.shields.io/badge/dynamic/json?style=flat-square&label=type-coverage&prefix=%E2%89%A5&suffix=%25&query=$.typeCoverage.atLeast&url=https://raw.githubusercontent.com/vex-protocol/libvex-js/master/package.json&color=3178c6&logo=typescript)](https://github.com/plantain-00/type-coverage)
8
+ [![Type Coverage](https://img.shields.io/badge/dynamic/json?style=flat-square&label=type-coverage&prefix=%E2%89%A5&suffix=%25&query=$.typeCoverage.atLeast&url=https://raw.githubusercontent.com/vex-protocol/protocol/master/packages/libvex/package.json&color=3178c6&logo=typescript)](https://github.com/plantain-00/type-coverage)
9
9
  [![Node](https://img.shields.io/node/v/@vex-chat/libvex?style=flat-square&color=339933&logo=nodedotjs)](./package.json)
10
- [![OpenSSF Scorecard](https://img.shields.io/ossf-scorecard/github.com/vex-protocol/libvex-js?style=flat-square&label=Scorecard)](https://securityscorecards.dev/viewer/?uri=github.com/vex-protocol/libvex-js)
10
+ [![OpenSSF Scorecard](https://img.shields.io/ossf-scorecard/github.com/vex-protocol/protocol?style=flat-square&label=Scorecard)](https://securityscorecards.dev/viewer/?uri=github.com/vex-protocol/protocol)
11
11
  [![Socket](https://socket.dev/api/badge/npm/package/@vex-chat/libvex)](https://socket.dev/npm/package/@vex-chat/libvex)
12
12
 
13
- Reference TypeScript client for the [Vex](https://vex.wtf) protocol. Use it to build a chat client, a bot, or between two clients that need encrypted comms via [spire](https://github.com/vex-protocol/spire) server.
13
+ Reference TypeScript client for the [Vex](https://vex.wtf) protocol. Use it to build a chat client, a bot, or between two clients that need encrypted comms via [spire](https://github.com/vex-protocol/protocol/tree/master/apps/spire) server.
14
14
 
15
15
  [Documentation](https://lib.vex.wtf/)
16
16
 
@@ -82,31 +82,33 @@ Presets return a `PlatformPreset` with a `createStorage()` factory and a `device
82
82
 
83
83
  ## Development
84
84
 
85
+ From the monorepo root:
86
+
85
87
  ```sh
86
- npm run build # rimraf dist && tsc -p tsconfig.build.json
87
- npm run lint # eslint
88
- npm run lint:fix # eslint --fix
89
- npm run format # prettier --write
90
- npm run format:check
91
- npm test # vitest unit suite (browser-safe, no spire required)
92
- npm run test:e2e # vitest node + browser e2e — needs a running spire
93
- npm run lint:pkg # publint --strict
94
- npm run lint:types # @arethetypeswrong/cli
95
- npm run lint:api # api-extractor regenerates api/libvex.api.md
96
- npx type-coverage # type-coverage (≥95%)
97
- npm run license:check # license allowlist gate
98
- npm run docs # typedoc — writes ./docs
88
+ pnpm install # install workspace deps
89
+ pnpm --filter @vex-chat/libvex build # rimraf dist && tsc -p tsconfig.build.json
90
+ pnpm --filter @vex-chat/libvex lint # eslint
91
+ pnpm --filter @vex-chat/libvex lint:fix # eslint --fix
92
+ pnpm --filter @vex-chat/libvex test # vitest unit suite (browser-safe, no spire required)
93
+ pnpm --filter @vex-chat/libvex test:e2e # vitest node + browser e2e — needs a running spire
94
+ pnpm --filter @vex-chat/libvex lint:pkg # publint --strict
95
+ pnpm --filter @vex-chat/libvex lint:types # @arethetypeswrong/cli
96
+ pnpm --filter @vex-chat/libvex lint:api # api-extractor — regenerates api/libvex.api.md
97
+ pnpm --filter @vex-chat/libvex license:check # license allowlist gate
98
+ pnpm --filter @vex-chat/libvex docs # typedoc — writes ./docs
99
99
  ```
100
100
 
101
- The unit suite (`npm test`) runs browser-safe and offline. The e2e suite (`npm run test:e2e`) needs a running Spire when you point tests at it.
101
+ Or run from this directory directly with `pnpm <script>`.
102
+
103
+ The unit suite runs browser-safe and offline. The e2e suite needs a running Spire when you point tests at it.
102
104
 
103
- **Docker matrix (dev):** from the `libvex-js` directory, `npm run test:spire-docker-matrix` builds a sibling `spire-js` Docker Compose stack in **tweetnacl** mode, runs `test:local-spire`, then repeats in **FIPS** mode, then restores or removes a generated `spire-js/.env`. Set `SPIRE_ROOT` if the Spire tree is not `../spire-js` relative to this package.
105
+ **Local Spire (dev):** `pnpm --filter @vex-chat/libvex test:local-spire` runs the e2e suite against an instance of `apps/spire/` brought up locally; see `scripts/test-local-spire.mjs`. Bring spire up via `pnpm --filter @vex-chat/spire start` (or `docker compose up` in `apps/spire/`) before running.
104
106
 
105
- **Applications** using `@vex-chat/libvex` configure the client with **`ClientOptions`** only (e.g. `host`, `unsafeHttp`, `devApiKey`, `cryptoProfile`)—the library does not read `.env` or any environment variables. **This repositorys e2e tests** (not the published API) can use `API_URL` / `DEV_API_KEY` in your shell or CI when you run `vitest`. When `API_URL` points at Spire, the suite **reads** `GET …/status` to pick the same `cryptoProfile` (tweetnacl vs fips) as the server, so you usually do not set `LIBVEX_E2E_CRYPTO` by hand. There is no separate `.env` contract for the npm package.
107
+ **Applications** using `@vex-chat/libvex` configure the client with **`ClientOptions`** only (e.g. `host`, `unsafeHttp`, `devApiKey`, `cryptoProfile`)—the library does not read `.env` or any environment variables. **This repository's e2e tests** (not the published API) can use `API_URL` / `DEV_API_KEY` in your shell or CI when you run `vitest`. When `API_URL` points at Spire, the suite **reads** `GET …/status` to pick the same `cryptoProfile` (tweetnacl vs fips) as the server, so you usually do not set `LIBVEX_E2E_CRYPTO` by hand. There is no separate `.env` contract for the npm package.
106
108
 
107
- See [AGENTS.md](./AGENTS.md) for the release flow (changesets → publish) and the rules for writing changesets.
109
+ See the root [AGENTS.md](../../AGENTS.md) and this package's [AGENTS.md](./AGENTS.md) for the release flow (changesets → publish via OIDC) and the rules for writing changesets.
108
110
 
109
- Outside contributors should follow [CONTRIBUTING.md](./CONTRIBUTING.md) (including the [CLA](./CLA.md)).
111
+ Outside contributors should follow the root [CONTRIBUTING.md](../../CONTRIBUTING.md) (including the [CLA](../../CLA.md)).
110
112
 
111
113
  ## License
112
114
 
package/dist/Client.d.ts CHANGED
@@ -44,25 +44,6 @@ export interface Channels {
44
44
  * - `deleted`: soft-delete flag
45
45
  */
46
46
  export type { Device } from "@vex-chat/types";
47
- export type PendingDeviceApprovalStatus = "approved" | "expired" | "pending" | "rejected";
48
- export interface PendingDeviceRequest {
49
- approvedDeviceID?: string | undefined;
50
- createdAt: string;
51
- deviceName: string;
52
- error?: string | undefined;
53
- expiresAt: string;
54
- requestID: string;
55
- signKey: string;
56
- status: PendingDeviceApprovalStatus;
57
- username: string;
58
- }
59
- export interface PendingDeviceRegistration {
60
- challenge: string;
61
- expiresAt: string;
62
- requestID: string;
63
- status: "pending_approval";
64
- }
65
- export type DeviceRegistrationResult = Device | PendingDeviceRegistration;
66
47
  /**
67
48
  * ClientOptions are the options you can pass into the client.
68
49
  */
@@ -75,6 +56,12 @@ export interface ClientOptions {
75
56
  cryptoProfile?: "fips" | "tweetnacl";
76
57
  /** Folder path where the sqlite file is created. */
77
58
  dbFolder?: string;
59
+ /**
60
+ * When set (non-empty), sent as `x-dev-api-key` on every HTTP request.
61
+ * Spire omits in-process rate limits when this matches the server's `DEV_API_KEY`
62
+ * (local / load-testing only — never use in production).
63
+ */
64
+ devApiKey?: string;
78
65
  /** Platform label for device registration (e.g. "ios", "macos", "linux"). */
79
66
  deviceName?: string;
80
67
  /** API host without protocol. Defaults to `api.vex.wtf`. */
@@ -85,13 +72,8 @@ export interface ClientOptions {
85
72
  saveHistory?: boolean;
86
73
  /** Use `http/ws` instead of `https/wss`. Intended for local/dev environments. */
87
74
  unsafeHttp?: boolean;
88
- /**
89
- * When set (non-empty), sent as `x-dev-api-key` on every HTTP request.
90
- * Spire omits in-process rate limits when this matches the server's `DEV_API_KEY`
91
- * (local / load-testing only — never use in production).
92
- */
93
- devApiKey?: string;
94
75
  }
76
+ export type DeviceRegistrationResult = Device | PendingDeviceRegistration;
95
77
  /**
96
78
  * @ignore
97
79
  */
@@ -104,31 +86,13 @@ export interface Devices {
104
86
  getRequest: (requestID: string) => Promise<null | PendingDeviceRequest>;
105
87
  /** Lists pending/processed registration requests for the current user. */
106
88
  listRequests: () => Promise<PendingDeviceRequest[]>;
107
- /** Rejects a pending device registration request as the current device. */
108
- rejectRequest: (requestID: string) => Promise<void>;
109
89
  /** Registers the current key material as a new device. */
110
90
  register: () => Promise<DeviceRegistrationResult | null>;
91
+ /** Rejects a pending device registration request as the current device. */
92
+ rejectRequest: (requestID: string) => Promise<void>;
111
93
  /** Fetches one device by ID. */
112
94
  retrieve: (deviceIdentifier: string) => Promise<Device | null>;
113
95
  }
114
- /**
115
- * Channel is a chat channel on a server.
116
- *
117
- * Common fields:
118
- * - `channelID`
119
- * - `serverID`
120
- * - `name`
121
- */
122
- export type { Channel } from "@vex-chat/types";
123
- /**
124
- * Server is a single chat server.
125
- *
126
- * Common fields:
127
- * - `serverID`
128
- * - `name`
129
- * - `icon` (optional URL/data)
130
- */
131
- export type { Server } from "@vex-chat/types";
132
96
  /**
133
97
  * @ignore
134
98
  */
@@ -175,6 +139,24 @@ export interface FileProgress {
175
139
  * ```
176
140
  */
177
141
  export type FileRes = FileResponse;
142
+ /**
143
+ * Channel is a chat channel on a server.
144
+ *
145
+ * Common fields:
146
+ * - `channelID`
147
+ * - `serverID`
148
+ * - `name`
149
+ */
150
+ export type { Channel } from "@vex-chat/types";
151
+ /**
152
+ * Server is a single chat server.
153
+ *
154
+ * Common fields:
155
+ * - `serverID`
156
+ * - `name`
157
+ * - `icon` (optional URL/data)
158
+ */
159
+ export type { Server } from "@vex-chat/types";
178
160
  /**
179
161
  * @ignore
180
162
  */
@@ -245,6 +227,24 @@ export interface Message {
245
227
  /** Time the message was created/received. */
246
228
  timestamp: string;
247
229
  }
230
+ export type PendingDeviceApprovalStatus = "approved" | "expired" | "pending" | "rejected";
231
+ export interface PendingDeviceRegistration {
232
+ challenge: string;
233
+ expiresAt: string;
234
+ requestID: string;
235
+ status: "pending_approval";
236
+ }
237
+ export interface PendingDeviceRequest {
238
+ approvedDeviceID?: string | undefined;
239
+ createdAt: string;
240
+ deviceName: string;
241
+ error?: string | undefined;
242
+ expiresAt: string;
243
+ requestID: string;
244
+ signKey: string;
245
+ status: PendingDeviceApprovalStatus;
246
+ username: string;
247
+ }
248
248
  /**
249
249
  * Event signatures emitted by {@link Client}.
250
250
  *
@@ -258,13 +258,13 @@ export interface ClientEvents {
258
258
  connected: () => void;
259
259
  /** Mail decryption pass is in progress. */
260
260
  decryptingMail: () => void;
261
- /** WebSocket connection lost. */
262
- disconnect: () => void;
263
261
  /** Device approval queue changed (pending/approved/rejected). */
264
262
  deviceRequest: (update: {
265
263
  requestID: string;
266
264
  status: Extract<PendingDeviceApprovalStatus, "approved" | "pending" | "rejected">;
267
265
  }) => void;
266
+ /** WebSocket connection lost. */
267
+ disconnect: () => void;
268
268
  /** Progress update for a file upload or download. */
269
269
  fileProgress: (progress: FileProgress) => void;
270
270
  /** A direct or group message was sent or received. */
@@ -548,6 +548,7 @@ export declare class Client {
548
548
  * ```
549
549
  */
550
550
  users: Users;
551
+ private readonly cryptoProfile;
551
552
  private readonly database;
552
553
  private readonly dbPath;
553
554
  private device?;
@@ -557,27 +558,27 @@ export declare class Client {
557
558
  private firstMailFetch;
558
559
  private readonly forwarded;
559
560
  private readonly host;
560
- /**
561
- * Node-only: per-client HTTP(S) agents (see `init()` + `storage/node/http-agents`).
562
- * Dropped on `close()` so idle keep-alive sockets do not keep the process alive.
563
- */
564
- private nodeHttpAgents?;
561
+ private readonly http;
565
562
  /** Cancels in-flight axios work on `close()` so `postAuth`/`getMail` cannot hang forever. */
566
563
  private readonly httpAbortController;
567
- private readonly http;
568
564
  private readonly idKeys;
569
565
  private isAlive;
570
566
  private readonly mailInterval?;
571
567
  private manuallyClosing;
572
568
  /**
573
- * Bumped when the WebSocket is torn down and re-opened so the previous
574
- * `postAuth` loop exits instead of overlapping a new one.
569
+ * Node-only: per-client HTTP(S) agents (see `init()` + `storage/node/http-agents`).
570
+ * Dropped on `close()` so idle keep-alive sockets do not keep the process alive.
575
571
  */
576
- private postAuthVersion;
572
+ private nodeHttpAgents?;
577
573
  /** Negative cache for user lookups that returned 404. TTL = 30 minutes. */
578
574
  private readonly notFoundUsers;
579
575
  private readonly options?;
580
576
  private pingInterval;
577
+ /**
578
+ * Bumped when the WebSocket is torn down and re-opened so the previous
579
+ * `postAuth` loop exits instead of overlapping a new one.
580
+ */
581
+ private postAuthVersion;
581
582
  private readonly prefixes;
582
583
  private reading;
583
584
  private readonly seenMailIDs;
@@ -588,7 +589,6 @@ export declare class Client {
588
589
  private user?;
589
590
  private userRecords;
590
591
  private xKeyRing?;
591
- private readonly cryptoProfile;
592
592
  private constructor();
593
593
  /**
594
594
  * Creates and initializes a client in one step.
@@ -620,12 +620,6 @@ export declare class Client {
620
620
  static randomUsername(): string;
621
621
  private static deserializeExtra;
622
622
  private static getMnemonic;
623
- /**
624
- * True when running under Node (has `process.versions`).
625
- * Uses indirect lookup so the bare `process` global never appears in
626
- * source that the platform-guard plugin scans.
627
- */
628
- private static isNodeRuntime;
629
623
  /**
630
624
  * Browser-safe NODE_ENV accessor.
631
625
  * Uses indirect lookup so the bare `process` global never appears in
@@ -633,11 +627,11 @@ export declare class Client {
633
627
  */
634
628
  private static getNodeEnv;
635
629
  /**
636
- * Fresh read of the `manuallyClosing` flag for async loops — direct property checks
637
- * after `await` are flagged as always-false by control-flow analysis even though
638
- * `close()` can run concurrently.
630
+ * True when running under Node (has `process.versions`).
631
+ * Uses indirect lookup so the bare `process` global never appears in
632
+ * source that the platform-guard plugin scans.
639
633
  */
640
- private isManualCloseInFlight;
634
+ private static isNodeRuntime;
641
635
  /**
642
636
  * Closes the client — disconnects the WebSocket, shuts down storage,
643
637
  * and emits `closed` unless `muteEvent` is `true`.
@@ -650,18 +644,6 @@ export declare class Client {
650
644
  * You can check whoami() to see before calling connect().
651
645
  */
652
646
  connect(): Promise<void>;
653
- /**
654
- * Tears down the current WebSocket and opens a new one, keeping the same
655
- * session (user + device in storage). Restarts the post-auth mail loop.
656
- * Use for long-running processes or e2e where a fresh socket matches a
657
- * newly-registered second device.
658
- */
659
- reconnectWebsocket(): Promise<void>;
660
- /**
661
- * Triggers an immediate inbox sync by fetching `/mail` once.
662
- * Useful on mobile foreground resume where background work may pause.
663
- */
664
- syncInboxNow(): Promise<void>;
665
647
  /**
666
648
  * Delete all local data — message history, encryption sessions, and prekeys.
667
649
  * Closes the client afterward. Credentials (keychain) must be cleared by the consumer.
@@ -716,6 +698,13 @@ export declare class Client {
716
698
  on<E extends keyof ClientEvents>(event: E, fn: ClientEvents[E], context?: unknown): this;
717
699
  /** Subscribes to an event for a single firing, then auto-removes. */
718
700
  once<E extends keyof ClientEvents>(event: E, fn: ClientEvents[E], context?: unknown): this;
701
+ /**
702
+ * Tears down the current WebSocket and opens a new one, keeping the same
703
+ * session (user + device in storage). Restarts the post-auth mail loop.
704
+ * Use for long-running processes or e2e where a fresh socket matches a
705
+ * newly-registered second device.
706
+ */
707
+ reconnectWebsocket(): Promise<void>;
719
708
  /**
720
709
  * Registers a new account on the server.
721
710
  *
@@ -730,6 +719,11 @@ export declare class Client {
730
719
  */
731
720
  register(username: string, password: string): Promise<[null | User, Error | null]>;
732
721
  removeAllListeners(event?: keyof ClientEvents): this;
722
+ /**
723
+ * Triggers an immediate inbox sync by fetching `/mail` once.
724
+ * Useful on mobile foreground resume where background work may pause.
725
+ */
726
+ syncInboxNow(): Promise<void>;
733
727
  /**
734
728
  * Returns a compact `<username><deviceID>` debug label.
735
729
  */
@@ -749,29 +743,20 @@ export declare class Client {
749
743
  exp: number;
750
744
  user: User;
751
745
  }>;
746
+ private approveDeviceRequest;
752
747
  private censorPreKey;
753
748
  private createChannel;
754
749
  private createFile;
755
750
  private createInvite;
756
751
  private createPreKey;
757
752
  private createServer;
758
- /**
759
- * `xDHAsync` and other helpers in `@vex-chat/crypto` use the process-wide
760
- * active profile. When several {@link Client} instances use different
761
- * `cryptoProfile` values, scope the global to this instance for the duration
762
- * of that crypto work.
763
- */
764
- private runWithThisCryptoProfile;
765
753
  private createSession;
766
754
  private deleteChannel;
767
- private approveDeviceRequest;
768
755
  private deleteDevice;
769
- private getDeviceRegistrationRequest;
770
- private listDeviceRegistrationRequests;
771
- private rejectDeviceRequest;
772
756
  private deleteHistory;
773
757
  private deletePermission;
774
758
  private deleteServer;
759
+ private deviceListFailureDetail;
775
760
  /**
776
761
  * Gets a list of permissions for a server.
777
762
  *
@@ -779,11 +764,18 @@ export declare class Client {
779
764
  */
780
765
  private fetchPermissionList;
781
766
  private fetchUser;
767
+ private fetchUserDeviceListOnce;
768
+ /**
769
+ * DM / forward paths need the peer’s (or self) device rows under load: bounded
770
+ * retries with exponential backoff (same shape as session pubkey hydration).
771
+ */
772
+ private fetchUserDeviceListWithBackoff;
782
773
  private forward;
783
774
  private getChannelByID;
784
775
  private getChannelList;
785
776
  private getDevice;
786
777
  private getDeviceByID;
778
+ private getDeviceRegistrationRequest;
787
779
  private getFamiliars;
788
780
  private getGroupHistory;
789
781
  private getMail;
@@ -802,7 +794,6 @@ export declare class Client {
802
794
  private getSessionList;
803
795
  private getToken;
804
796
  private getUser;
805
- private deviceListFailureDetail;
806
797
  /**
807
798
  * Single GET for `/user/:id/devices`. On failure returns `null` (swallows errors)
808
799
  * — callers that need reliability should use `fetchUserDeviceListWithBackoff`.
@@ -810,30 +801,31 @@ export declare class Client {
810
801
  * `getDeviceByID` (HTTP leg), `getToken`, emoji upload fallbacks.
811
802
  */
812
803
  private getUserDeviceList;
813
- private fetchUserDeviceListOnce;
814
- /**
815
- * DM / forward paths need the peer’s (or self) device rows under load: bounded
816
- * retries with exponential backoff (same shape as session pubkey hydration).
817
- */
818
- private fetchUserDeviceListWithBackoff;
819
804
  private getUserList;
820
805
  private handleNotify;
821
- /**
822
- * Pipeline for decrypted messages — registered in `init`. After `close()` sets
823
- * `manuallyClosing`, this becomes a no-op so fire-and-forget `forward` does not
824
- * race HTTP teardown (we avoid `off()` here — it can interact badly with emit).
825
- */
826
- private readonly onInternalMessage;
827
806
  /**
828
807
  * Initializes the keyring. This must be called before anything else.
829
808
  */
830
809
  private init;
831
810
  private initSocket;
811
+ /**
812
+ * Fresh read of the `manuallyClosing` flag for async loops — direct property checks
813
+ * after `await` are flagged as always-false by control-flow analysis even though
814
+ * `close()` can run concurrently.
815
+ */
816
+ private isManualCloseInFlight;
832
817
  private kickUser;
833
818
  private leaveServer;
819
+ private listDeviceRegistrationRequests;
834
820
  private markSessionVerified;
835
821
  private negotiateOTK;
836
822
  private newEphemeralKeys;
823
+ /**
824
+ * Pipeline for decrypted messages — registered in `init`. After `close()` sets
825
+ * `manuallyClosing`, this becomes a no-op so fire-and-forget `forward` does not
826
+ * race HTTP teardown (we avoid `off()` here — it can interact badly with emit).
827
+ */
828
+ private readonly onInternalMessage;
837
829
  private ping;
838
830
  private pong;
839
831
  private populateKeyRing;
@@ -842,6 +834,7 @@ export declare class Client {
842
834
  private readMail;
843
835
  private redeemInvite;
844
836
  private registerDevice;
837
+ private rejectDeviceRequest;
845
838
  private respond;
846
839
  private retrieveEmojiByID;
847
840
  private retrieveEmojiList;
@@ -849,6 +842,13 @@ export declare class Client {
849
842
  private retrieveInvites;
850
843
  private retrieveKeyBundle;
851
844
  private retrieveOrCreateDevice;
845
+ /**
846
+ * `xDHAsync` and other helpers in `@vex-chat/crypto` use the process-wide
847
+ * active profile. When several {@link Client} instances use different
848
+ * `cryptoProfile` values, scope the global to this instance for the duration
849
+ * of that crypto work.
850
+ */
851
+ private runWithThisCryptoProfile;
852
852
  private send;
853
853
  private sendGroupMessage;
854
854
  private sendMail;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}