@vex-chat/libvex 5.4.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 (40) hide show
  1. package/README.md +25 -23
  2. package/dist/Client.d.ts +113 -77
  3. package/dist/Client.d.ts.map +1 -1
  4. package/dist/Client.js +311 -234
  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/codecs.d.ts +118 -0
  11. package/dist/codecs.d.ts.map +1 -1
  12. package/dist/codecs.js +41 -0
  13. package/dist/codecs.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/storage/node/http-agents.d.ts +1 -1
  18. package/dist/storage/node/http-agents.d.ts.map +1 -1
  19. package/dist/storage/node/http-agents.js +4 -4
  20. package/dist/storage/node/http-agents.js.map +1 -1
  21. package/dist/storage/sqlite.d.ts +8 -8
  22. package/dist/storage/sqlite.d.ts.map +1 -1
  23. package/dist/storage/sqlite.js +16 -16
  24. package/dist/storage/sqlite.js.map +1 -1
  25. package/dist/utils/fipsMailExtra.d.ts +9 -9
  26. package/dist/utils/fipsMailExtra.d.ts.map +1 -1
  27. package/dist/utils/fipsMailExtra.js +47 -47
  28. package/dist/utils/fipsMailExtra.js.map +1 -1
  29. package/dist/utils/resolveAtRestAesKey.js +1 -1
  30. package/dist/utils/resolveAtRestAesKey.js.map +1 -1
  31. package/package.json +134 -152
  32. package/src/Client.ts +452 -306
  33. package/src/__tests__/harness/memory-storage.ts +1 -1
  34. package/src/__tests__/harness/shared-suite.ts +177 -177
  35. package/src/codecs.ts +52 -0
  36. package/src/index.ts +4 -0
  37. package/src/storage/node/http-agents.ts +7 -7
  38. package/src/storage/sqlite.ts +23 -23
  39. package/src/utils/fipsMailExtra.ts +80 -80
  40. package/src/utils/resolveAtRestAesKey.ts +1 -1
package/dist/codecs.js CHANGED
@@ -44,6 +44,47 @@ export const DeviceChallengeCodec = createCodec(z.object({
44
44
  challenge: z.string(),
45
45
  challengeID: z.string(),
46
46
  }));
47
+ export const DeviceRegistrationResultCodec = createCodec(z.union([
48
+ DeviceSchema,
49
+ z.object({
50
+ challenge: z.string(),
51
+ expiresAt: z.string(),
52
+ requestID: z.string(),
53
+ status: z.literal("pending_approval"),
54
+ }),
55
+ ]));
56
+ export const PendingDeviceRequestCodec = createCodec(z.object({
57
+ approvedDeviceID: z.string().optional(),
58
+ createdAt: z.string(),
59
+ deviceName: z.string(),
60
+ error: z.string().optional(),
61
+ expiresAt: z.string(),
62
+ requestID: z.string(),
63
+ signKey: z.string(),
64
+ status: z.union([
65
+ z.literal("approved"),
66
+ z.literal("expired"),
67
+ z.literal("pending"),
68
+ z.literal("rejected"),
69
+ ]),
70
+ username: z.string(),
71
+ }));
72
+ export const PendingDeviceRequestArrayCodec = createCodec(z.array(z.object({
73
+ approvedDeviceID: z.string().optional(),
74
+ createdAt: z.string(),
75
+ deviceName: z.string(),
76
+ error: z.string().optional(),
77
+ expiresAt: z.string(),
78
+ requestID: z.string(),
79
+ signKey: z.string(),
80
+ status: z.union([
81
+ z.literal("approved"),
82
+ z.literal("expired"),
83
+ z.literal("pending"),
84
+ z.literal("rejected"),
85
+ ]),
86
+ username: z.string(),
87
+ })));
47
88
  export const WhoamiCodec = createCodec(z.object({
48
89
  exp: z.number(),
49
90
  user: UserSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Commercial licenses available at vex.wtf
5
5
  */
6
6
  export { Client } from "./Client.js";
7
- export type { Channel, Channels, ClientEvents, ClientOptions, Device, Devices, Emojis, FileProgress, FileRes, Files, Invites, Keys, Me, Message, Messages, Moderation, Permission, Permissions, Server, Servers, Session, Sessions, User, Users, VexFile, } from "./Client.js";
7
+ export type { Channel, Channels, ClientEvents, ClientOptions, Device, DeviceRegistrationResult, Devices, Emojis, FileProgress, FileRes, Files, Invites, Keys, Me, Message, Messages, Moderation, PendingDeviceApprovalStatus, PendingDeviceRegistration, PendingDeviceRequest, Permission, Permissions, Server, Servers, Session, Sessions, User, Users, VexFile, } from "./Client.js";
8
8
  export { createCodec, msgpack } from "./codec.js";
9
9
  export type { Storage } from "./Storage.js";
10
10
  export type { KeyPair, KeyStore, PreKeysCrypto, SessionCrypto, StoredCredentials, UnsavedPreKey, } from "./types/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,EACJ,EAAE,EACF,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACR,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,MAAM,EACN,wBAAwB,EACxB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,EACJ,EAAE,EACF,OAAO,EACP,QAAQ,EACR,UAAU,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA4BrC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgCrC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -14,7 +14,7 @@ export interface NodeHttpAgentPair {
14
14
  readonly http: nodeHttp.Agent;
15
15
  readonly https: nodeHttps.Agent;
16
16
  }
17
- export declare function createNodeHttpAgents(): NodeHttpAgentPair;
18
17
  export declare function attachNodeAgentsToAxios(instance: AxiosInstance, agents: NodeHttpAgentPair): void;
18
+ export declare function createNodeHttpAgents(): NodeHttpAgentPair;
19
19
  export declare function destroyNodeHttpAgents(agents: NodeHttpAgentPair): void;
20
20
  //# sourceMappingURL=http-agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-agents.d.ts","sourceRoot":"","sources":["../../../src/storage/node/http-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;CACnC;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,GAC1B,IAAI,CAGN;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAGrE"}
1
+ {"version":3,"file":"http-agents.d.ts","sourceRoot":"","sources":["../../../src/storage/node/http-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;CACnC;AAED,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,GAC1B,IAAI,CAGN;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAGrE"}
@@ -9,16 +9,16 @@
9
9
  */
10
10
  import * as nodeHttp from "node:http";
11
11
  import * as nodeHttps from "node:https";
12
+ export function attachNodeAgentsToAxios(instance, agents) {
13
+ instance.defaults.httpAgent = agents.http;
14
+ instance.defaults.httpsAgent = agents.https;
15
+ }
12
16
  export function createNodeHttpAgents() {
13
17
  return {
14
18
  http: new nodeHttp.Agent({ keepAlive: true }),
15
19
  https: new nodeHttps.Agent({ keepAlive: true }),
16
20
  };
17
21
  }
18
- export function attachNodeAgentsToAxios(instance, agents) {
19
- instance.defaults.httpAgent = agents.http;
20
- instance.defaults.httpsAgent = agents.https;
21
- }
22
22
  export function destroyNodeHttpAgents(agents) {
23
23
  agents.http.destroy();
24
24
  agents.https.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"http-agents.js","sourceRoot":"","sources":["../../../src/storage/node/http-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAOxC,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,KAAK,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAClD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,QAAuB,EACvB,MAAyB;IAEzB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"http-agents.js","sourceRoot":"","sources":["../../../src/storage/node/http-agents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAOxC,MAAM,UAAU,uBAAuB,CACnC,QAAuB,EACvB,MAAyB;IAEzB,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,KAAK,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAClD,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAyB;IAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC"}
@@ -12,18 +12,13 @@ import type { Kysely } from "kysely";
12
12
  import { EventEmitter } from "eventemitter3";
13
13
  export declare class SqliteStorage extends EventEmitter implements Storage {
14
14
  ready: boolean;
15
+ /** 32-byte AES-256 (or nacl) key for local at-rest `secretbox` (see `XUtils.deriveLocalAtRestAesKey`). */
16
+ private readonly atRestAesKey;
15
17
  private closing;
18
+ private readonly db;
16
19
  /** Shared across concurrent `init()` callers; `close()` awaits it before `destroy()`. */
17
20
  private initInFlight;
18
- private readonly db;
19
- /** 32-byte AES-256 (or nacl) key for local at-rest `secretbox` (see `XUtils.deriveLocalAtRestAesKey`). */
20
- private readonly atRestAesKey;
21
21
  constructor(db: Kysely<ClientDatabase>, atRestAesKey: Uint8Array);
22
- /**
23
- * Read `closing` where TypeScript would incorrectly assume it cannot
24
- * become true after an earlier guard (e.g. across `await`).
25
- */
26
- private isClosingNow;
27
22
  close(): Promise<void>;
28
23
  deleteHistory(channelOrUserID: string): Promise<void>;
29
24
  deleteMessage(mailID: string): Promise<void>;
@@ -47,6 +42,11 @@ export declare class SqliteStorage extends EventEmitter implements Storage {
47
42
  saveSession(session: SessionSQL): Promise<void>;
48
43
  private decryptMessagesAsync;
49
44
  private deviceRowToDevice;
45
+ /**
46
+ * Read `closing` where TypeScript would incorrectly assume it cannot
47
+ * become true after an earlier guard (e.g. across `await`).
48
+ */
49
+ private isClosingNow;
50
50
  private isDuplicateError;
51
51
  /**
52
52
  * After `close` runs, Kysely / better-sqlite3 can reject with this if a
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ import { getCryptoProfile, xBoxKeyPairFromSecret, xBoxKeyPairFromSecretAsync, xM
17
17
  import { EventEmitter } from "eventemitter3";
18
18
  export class SqliteStorage extends EventEmitter {
19
19
  ready = false;
20
+ /** 32-byte AES-256 (or nacl) key for local at-rest `secretbox` (see `XUtils.deriveLocalAtRestAesKey`). */
21
+ atRestAesKey;
20
22
  closing = false;
23
+ db;
21
24
  /** Shared across concurrent `init()` callers; `close()` awaits it before `destroy()`. */
22
25
  initInFlight = null;
23
- db;
24
- /** 32-byte AES-256 (or nacl) key for local at-rest `secretbox` (see `XUtils.deriveLocalAtRestAesKey`). */
25
- atRestAesKey;
26
26
  constructor(db, atRestAesKey) {
27
27
  super();
28
28
  this.db = db;
@@ -32,13 +32,6 @@ export class SqliteStorage extends EventEmitter {
32
32
  this.atRestAesKey = atRestAesKey;
33
33
  }
34
34
  // ── Lifecycle ────────────────────────────────────────────────────────────
35
- /**
36
- * Read `closing` where TypeScript would incorrectly assume it cannot
37
- * become true after an earlier guard (e.g. across `await`).
38
- */
39
- isClosingNow() {
40
- return this.closing;
41
- }
42
35
  async close() {
43
36
  this.closing = true;
44
37
  const pending = this.initInFlight;
@@ -68,7 +61,6 @@ export class SqliteStorage extends EventEmitter {
68
61
  ]))
69
62
  .execute();
70
63
  }
71
- // ── Messages ─────────────────────────────────────────────────────────────
72
64
  async deleteMessage(mailID) {
73
65
  if (this.closing) {
74
66
  return;
@@ -78,6 +70,7 @@ export class SqliteStorage extends EventEmitter {
78
70
  .where("mailID", "=", mailID)
79
71
  .execute();
80
72
  }
73
+ // ── Messages ─────────────────────────────────────────────────────────────
81
74
  async deleteOneTimeKey(index) {
82
75
  if (this.closing) {
83
76
  return;
@@ -145,7 +138,6 @@ export class SqliteStorage extends EventEmitter {
145
138
  .execute();
146
139
  return this.decryptMessagesAsync(messages);
147
140
  }
148
- // ── Sessions ─────────────────────────────────────────────────────────────
149
141
  async getOneTimeKey(index) {
150
142
  await this.untilReady();
151
143
  if (this.closing) {
@@ -169,6 +161,7 @@ export class SqliteStorage extends EventEmitter {
169
161
  signature: XUtils.decodeHex(otkInfo.signature),
170
162
  };
171
163
  }
164
+ // ── Sessions ─────────────────────────────────────────────────────────────
172
165
  async getPreKeys() {
173
166
  await this.untilReady();
174
167
  if (this.closing) {
@@ -311,7 +304,6 @@ export class SqliteStorage extends EventEmitter {
311
304
  .where("sessionID", "=", sessionID)
312
305
  .execute();
313
306
  }
314
- // ── PreKeys / OneTimeKeys ────────────────────────────────────────────────
315
307
  async markSessionVerified(sessionID) {
316
308
  if (this.closing) {
317
309
  return;
@@ -322,6 +314,7 @@ export class SqliteStorage extends EventEmitter {
322
314
  .where("sessionID", "=", sessionID)
323
315
  .execute();
324
316
  }
317
+ // ── PreKeys / OneTimeKeys ────────────────────────────────────────────────
325
318
  async purgeHistory() {
326
319
  await this.db.deleteFrom("messages").execute();
327
320
  }
@@ -357,7 +350,6 @@ export class SqliteStorage extends EventEmitter {
357
350
  }
358
351
  }
359
352
  }
360
- // ── Devices ──────────────────────────────────────────────────────────────
361
353
  async saveMessage(message) {
362
354
  if (this.isClosingNow()) {
363
355
  return;
@@ -402,6 +394,7 @@ export class SqliteStorage extends EventEmitter {
402
394
  }
403
395
  }
404
396
  }
397
+ // ── Devices ──────────────────────────────────────────────────────────────
405
398
  async savePreKeys(preKeys, oneTime) {
406
399
  await this.untilReady();
407
400
  if (this.closing) {
@@ -430,7 +423,6 @@ export class SqliteStorage extends EventEmitter {
430
423
  }
431
424
  return saved;
432
425
  }
433
- // ── Purge ────────────────────────────────────────────────────────────────
434
426
  async saveSession(session) {
435
427
  if (this.closing) {
436
428
  return;
@@ -460,7 +452,7 @@ export class SqliteStorage extends EventEmitter {
460
452
  }
461
453
  }
462
454
  }
463
- // ── Private helpers ──────────────────────────────────────────────────────
455
+ // ── Purge ────────────────────────────────────────────────────────────────
464
456
  async decryptMessagesAsync(messages) {
465
457
  const fips = getCryptoProfile() === "fips";
466
458
  const out = [];
@@ -498,6 +490,7 @@ export class SqliteStorage extends EventEmitter {
498
490
  }
499
491
  return out;
500
492
  }
493
+ // ── Private helpers ──────────────────────────────────────────────────────
501
494
  deviceRowToDevice(row) {
502
495
  return {
503
496
  deleted: row.deleted !== 0,
@@ -508,6 +501,13 @@ export class SqliteStorage extends EventEmitter {
508
501
  signKey: row.signKey,
509
502
  };
510
503
  }
504
+ /**
505
+ * Read `closing` where TypeScript would incorrectly assume it cannot
506
+ * become true after an earlier guard (e.g. across `await`).
507
+ */
508
+ isClosingNow() {
509
+ return this.closing;
510
+ }
511
511
  isDuplicateError(err) {
512
512
  if (err instanceof Error) {
513
513
  return err.message.includes("UNIQUE");
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -4,27 +4,27 @@
4
4
  * Commercial licenses available at vex.wtf
5
5
  */
6
6
  export declare const FIPS_INITIAL_EXTRA_V1: readonly [number, number, number];
7
- export declare function isFipsInitialExtraV1(buf: Uint8Array): boolean;
7
+ /**
8
+ * @returns [signKey, ephKey, ad, index6] (Uint8Array slices, index is always length 6)
9
+ */
10
+ export declare function decodeFipsInitialExtraV1(extra: Uint8Array): [Uint8Array, Uint8Array, Uint8Array, Uint8Array];
11
+ export declare function decodeFipsSubsequentExtraV1(extra: Uint8Array): Uint8Array;
8
12
  /**
9
13
  * P-256 fips (Web Crypto) initial mail `extra` bytes (version 1). Length-prefixed segments
10
14
  * (variable lengths) plus a 6-byte OTK index, AD length includes both identity raw publics.
11
15
  */
12
16
  export declare function encodeFipsInitialExtraV1(signPub: Uint8Array, ephPub: Uint8Array, pk: Uint8Array, ad: Uint8Array, index6: Uint8Array): Uint8Array;
13
- /**
14
- * @returns [signKey, ephKey, ad, index6] (Uint8Array slices, index is always length 6)
15
- */
16
- export declare function decodeFipsInitialExtraV1(extra: Uint8Array): [Uint8Array, Uint8Array, Uint8Array, Uint8Array];
17
- export declare function isFipsSubsequentExtraV1(buf: Uint8Array): boolean;
18
17
  /**
19
18
  * P-256 fips subsequent mail: session lookup key (variable, typically 65B uncompressed ECDH public).
20
19
  */
21
20
  export declare function encodeFipsSubsequentExtraV1(sessionPub: Uint8Array): Uint8Array;
22
- export declare function decodeFipsSubsequentExtraV1(extra: Uint8Array): Uint8Array;
23
- /** P-256: message bytes signed to bind a prekey (FIPS) — 1-byte tag + uncompressed public. */
24
- export declare function fipsP256PreKeySignPayload(preKeyRawPublic: Uint8Array): Uint8Array;
25
21
  /**
26
22
  * P-256 identity AD: concatenation of our and their P-256 ECDH identity publics (uncompressed, 65B each if standard).
27
23
  * Used instead of `xEncode` + X25519 for FIPS.
28
24
  */
29
25
  export declare function fipsP256AdFromIdentityPubs(ourIdentityRaw: Uint8Array, theirIdentityFromBundle: Uint8Array): Uint8Array;
26
+ /** P-256: message bytes signed to bind a prekey (FIPS) — 1-byte tag + uncompressed public. */
27
+ export declare function fipsP256PreKeySignPayload(preKeyRawPublic: Uint8Array): Uint8Array;
28
+ export declare function isFipsInitialExtraV1(buf: Uint8Array): boolean;
29
+ export declare function isFipsSubsequentExtraV1(buf: Uint8Array): boolean;
30
30
  //# sourceMappingURL=fipsMailExtra.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fipsMailExtra.d.ts","sourceRoot":"","sources":["../../src/utils/fipsMailExtra.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAE1D,CAAC;AAoBX,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAO7D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,UAAU,GACnB,UAAU,CAiBZ;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,UAAU,GAClB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAgClD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAOhE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,UAAU,GACvB,UAAU,CASZ;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAazE;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,CACrC,eAAe,EAAE,UAAU,GAC5B,UAAU,CAEZ;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,cAAc,EAAE,UAAU,EAC1B,uBAAuB,EAAE,UAAU,GACpC,UAAU,CAEZ"}
1
+ {"version":3,"file":"fipsMailExtra.d.ts","sourceRoot":"","sources":["../../src/utils/fipsMailExtra.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAE1D,CAAC;AAMX;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,UAAU,GAClB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAgClD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAazE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,UAAU,GACnB,UAAU,CAiBZ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,UAAU,GACvB,UAAU,CASZ;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACtC,cAAc,EAAE,UAAU,EAC1B,uBAAuB,EAAE,UAAU,GACpC,UAAU,CAEZ;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,CACrC,eAAe,EAAE,UAAU,GAC5B,UAAU,CAEZ;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAO7D;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAOhE"}
@@ -10,35 +10,6 @@ export const FIPS_INITIAL_EXTRA_V1 = [
10
10
  const FIPS_SUBSEQUENT_V1 = [
11
11
  0xf1, 0x03, 0x01,
12
12
  ];
13
- function u16be(n) {
14
- if (!Number.isInteger(n) || n < 0 || n > 65535) {
15
- throw new Error(`FIPS: invalid u16 length: ${String(n)}`);
16
- }
17
- return [n >> 8, n & 0xff];
18
- }
19
- function u16read(buf, offset) {
20
- if (offset + 2 > buf.length) {
21
- return -1;
22
- }
23
- return ((buf[offset] ?? 0) * 256 + (buf[offset + 1] ?? 0)) >>> 0;
24
- }
25
- export function isFipsInitialExtraV1(buf) {
26
- return (buf.length >= 3 &&
27
- buf[0] === FIPS_INITIAL_EXTRA_V1[0] &&
28
- buf[1] === FIPS_INITIAL_EXTRA_V1[1] &&
29
- buf[2] === FIPS_INITIAL_EXTRA_V1[2]);
30
- }
31
- /**
32
- * P-256 fips (Web Crypto) initial mail `extra` bytes (version 1). Length-prefixed segments
33
- * (variable lengths) plus a 6-byte OTK index, AD length includes both identity raw publics.
34
- */
35
- export function encodeFipsInitialExtraV1(signPub, ephPub, pk, ad, index6) {
36
- if (index6.length !== 6) {
37
- throw new Error("FIPS: OTK index must be 6 bytes.");
38
- }
39
- const a = (len) => new Uint8Array([...u16be(len)]);
40
- return xConcat(Uint8Array.from([...FIPS_INITIAL_EXTRA_V1]), a(signPub.length), signPub, a(ephPub.length), ephPub, a(pk.length), pk, a(ad.length), ad, index6);
41
- }
42
13
  /**
43
14
  * @returns [signKey, ephKey, ad, index6] (Uint8Array slices, index is always length 6)
44
15
  */
@@ -71,21 +42,6 @@ export function decodeFipsInitialExtraV1(extra) {
71
42
  const index6 = extra.subarray(p, p + 6);
72
43
  return [signKey, ephKey, ad, index6];
73
44
  }
74
- export function isFipsSubsequentExtraV1(buf) {
75
- return (buf.length >= 3 &&
76
- buf[0] === FIPS_SUBSEQUENT_V1[0] &&
77
- buf[1] === FIPS_SUBSEQUENT_V1[1] &&
78
- buf[2] === FIPS_SUBSEQUENT_V1[2]);
79
- }
80
- /**
81
- * P-256 fips subsequent mail: session lookup key (variable, typically 65B uncompressed ECDH public).
82
- */
83
- export function encodeFipsSubsequentExtraV1(sessionPub) {
84
- if (sessionPub.length > 65535) {
85
- throw new Error("FIPS: session public key is too long.");
86
- }
87
- return xConcat(Uint8Array.from([...FIPS_SUBSEQUENT_V1]), new Uint8Array([...u16be(sessionPub.length)]), sessionPub);
88
- }
89
45
  export function decodeFipsSubsequentExtraV1(extra) {
90
46
  if (!isFipsSubsequentExtraV1(extra)) {
91
47
  throw new Error("FIPS: not a v1 subsequent extra.");
@@ -100,9 +56,25 @@ export function decodeFipsSubsequentExtraV1(extra) {
100
56
  }
101
57
  return extra.subarray(p, p + len);
102
58
  }
103
- /** P-256: message bytes signed to bind a prekey (FIPS) — 1-byte tag + uncompressed public. */
104
- export function fipsP256PreKeySignPayload(preKeyRawPublic) {
105
- return xConcat(new Uint8Array([0xa1]), preKeyRawPublic);
59
+ /**
60
+ * P-256 fips (Web Crypto) initial mail `extra` bytes (version 1). Length-prefixed segments
61
+ * (variable lengths) plus a 6-byte OTK index, AD length includes both identity raw publics.
62
+ */
63
+ export function encodeFipsInitialExtraV1(signPub, ephPub, pk, ad, index6) {
64
+ if (index6.length !== 6) {
65
+ throw new Error("FIPS: OTK index must be 6 bytes.");
66
+ }
67
+ const a = (len) => new Uint8Array([...u16be(len)]);
68
+ return xConcat(Uint8Array.from([...FIPS_INITIAL_EXTRA_V1]), a(signPub.length), signPub, a(ephPub.length), ephPub, a(pk.length), pk, a(ad.length), ad, index6);
69
+ }
70
+ /**
71
+ * P-256 fips subsequent mail: session lookup key (variable, typically 65B uncompressed ECDH public).
72
+ */
73
+ export function encodeFipsSubsequentExtraV1(sessionPub) {
74
+ if (sessionPub.length > 65535) {
75
+ throw new Error("FIPS: session public key is too long.");
76
+ }
77
+ return xConcat(Uint8Array.from([...FIPS_SUBSEQUENT_V1]), new Uint8Array([...u16be(sessionPub.length)]), sessionPub);
106
78
  }
107
79
  /**
108
80
  * P-256 identity AD: concatenation of our and their P-256 ECDH identity publics (uncompressed, 65B each if standard).
@@ -111,4 +83,32 @@ export function fipsP256PreKeySignPayload(preKeyRawPublic) {
111
83
  export function fipsP256AdFromIdentityPubs(ourIdentityRaw, theirIdentityFromBundle) {
112
84
  return xConcat(ourIdentityRaw, theirIdentityFromBundle);
113
85
  }
86
+ /** P-256: message bytes signed to bind a prekey (FIPS) — 1-byte tag + uncompressed public. */
87
+ export function fipsP256PreKeySignPayload(preKeyRawPublic) {
88
+ return xConcat(new Uint8Array([0xa1]), preKeyRawPublic);
89
+ }
90
+ export function isFipsInitialExtraV1(buf) {
91
+ return (buf.length >= 3 &&
92
+ buf[0] === FIPS_INITIAL_EXTRA_V1[0] &&
93
+ buf[1] === FIPS_INITIAL_EXTRA_V1[1] &&
94
+ buf[2] === FIPS_INITIAL_EXTRA_V1[2]);
95
+ }
96
+ export function isFipsSubsequentExtraV1(buf) {
97
+ return (buf.length >= 3 &&
98
+ buf[0] === FIPS_SUBSEQUENT_V1[0] &&
99
+ buf[1] === FIPS_SUBSEQUENT_V1[1] &&
100
+ buf[2] === FIPS_SUBSEQUENT_V1[2]);
101
+ }
102
+ function u16be(n) {
103
+ if (!Number.isInteger(n) || n < 0 || n > 65535) {
104
+ throw new Error(`FIPS: invalid u16 length: ${String(n)}`);
105
+ }
106
+ return [n >> 8, n & 0xff];
107
+ }
108
+ function u16read(buf, offset) {
109
+ if (offset + 2 > buf.length) {
110
+ return -1;
111
+ }
112
+ return ((buf[offset] ?? 0) * 256 + (buf[offset + 1] ?? 0)) >>> 0;
113
+ }
114
114
  //# sourceMappingURL=fipsMailExtra.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fipsMailExtra.js","sourceRoot":"","sources":["../../src/utils/fipsMailExtra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fipsMailExtra.js","sourceRoot":"","sources":["../../src/utils/fipsMailExtra.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Licensed under AGPL-3.0. See LICENSE for details.
4
4
  * Commercial licenses available at vex.wtf
5
5
  */
6
- import { xEcdhKeyPairFromEcdsaKeyPairAsync, xSignKeyPairFromSecret, xSignKeyPairFromSecretAsync, XKeyConvert, XUtils, } from "@vex-chat/crypto";
6
+ import { xEcdhKeyPairFromEcdsaKeyPairAsync, XKeyConvert, xSignKeyPairFromSecret, xSignKeyPairFromSecretAsync, XUtils, } from "@vex-chat/crypto";
7
7
  /**
8
8
  * Produces the 32-byte at-rest key used by {@link Storage} (sqlite, memory) from
9
9
  * a hex signing secret, matching the derivation used by {@link Client.create}.
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAtRestAesKey.js","sourceRoot":"","sources":["../../src/utils/resolveAtRestAesKey.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,iCAAiC,EACjC,sBAAsB,EACtB,2BAA2B,EAC3B,WAAW,EACX,MAAM,GACT,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACnD,aAAqB,EACrB,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"resolveAtRestAesKey.js","sourceRoot":"","sources":["../../src/utils/resolveAtRestAesKey.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,iCAAiC,EACjC,WAAW,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,MAAM,GACT,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACnD,aAAqB,EACrB,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;QACN,CAAC;QACD,OAAO,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC"}