@vex-chat/libvex 1.0.0-rc.1 → 1.0.0-rc.2

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.
@@ -2,134 +2,100 @@ import type { IDevice, IPreKeysCrypto, IPreKeysSQL, ISessionCrypto } from "@vex-
2
2
  import { EventEmitter } from "events";
3
3
  import type { IMessage, ISession } from "./index.js";
4
4
  /**
5
- * This is the class you must implement to store and retrieve
6
- * important data for the key exchange and messaging processes if you want to
7
- * replace the Database class, for example, if you wanted to port
8
- * this library to mobile or browser or another platform that doesn't support
9
- * knex.js
5
+ * Storage contract used by `Client` for local persistence.
6
+ *
7
+ * Implement this interface when you want to replace the built-in sqlite-backed
8
+ * `Storage` class (for example on mobile, web, or any custom environment).
9
+ *
10
+ * A custom implementation is responsible for:
11
+ * - Persisting encrypted/decrypted message history
12
+ * - Storing device records and cryptographic sessions
13
+ * - Managing prekeys / one-time keys used for session setup
14
+ * - Emitting lifecycle events (`ready`, `error`)
10
15
  */
11
16
  export interface IStorage extends EventEmitter {
12
17
  /**
13
18
  * Set this to "true" when init has complete.
14
19
  */
15
20
  ready: boolean;
16
- /**
17
- * Closes the database. You must close any open connections
18
- * so the sqlite database is available to be opened again.
19
- */
21
+ /** Closes storage resources (connections, handles, transactions, etc.). */
20
22
  close: () => Promise<void>;
21
23
  /**
22
- * Saves a single message to a database.
24
+ * Persists one chat message.
23
25
  *
24
- * @param message The message to save.
26
+ * @example
27
+ * ```ts
28
+ * await storage.saveMessage(message);
29
+ * ```
25
30
  */
26
31
  saveMessage: (message: IMessage) => Promise<void>;
27
- /**
28
- * Deletes a message. Remove it entirely.
29
- *
30
- * @param message The message to delete.
31
- */
32
+ /** Deletes one message by `mailID`. */
32
33
  deleteMessage: (mailID: string) => Promise<void>;
33
34
  /**
34
- * Marks a session as "verified" which means the
35
- * user has compared the mnemonic fingerprint with
36
- * the other user and indicated it matches.
35
+ * Marks an encryption session as verified.
37
36
  *
38
- * @param sessionID the sessionID to mark verified.
37
+ * This usually means the user has compared safety words / fingerprint out
38
+ * of band and confirmed the session.
39
39
  */
40
40
  markSessionVerified: (sessionID: string) => Promise<void>;
41
- /**
42
- * Updates the "lastUsed" timestamp key of a session
43
- * to the current time. This will be called each time the
44
- * session is used to encrypt or decrypt a message.
45
- *
46
- * @param sessionID the sessionID to mark used.
47
- */
41
+ /** Updates a session's `lastUsed` timestamp to "now". */
48
42
  markSessionUsed: (sessionID: string) => Promise<void>;
49
43
  /**
50
- * Gets the direct message history of a user by their userID, in
51
- * descending temporal order.
44
+ * Returns direct-message history for a user.
52
45
  *
53
- * @param userID the userID to retrieve history for.
46
+ * @example
47
+ * ```ts
48
+ * const history = await storage.getMessageHistory(userID);
49
+ * ```
54
50
  */
55
51
  getMessageHistory: (userID: string) => Promise<IMessage[]>;
56
- /**
57
- * Gets the group message history of a channel by its channelID, in
58
- * descending temporal order.
59
- *
60
- * @param channelID the channelID to retrieve history for.
61
- */
52
+ /** Returns group-message history for a channel. */
62
53
  getGroupHistory: (channelID: string) => Promise<IMessage[]>;
63
54
  /**
64
- * Deletes the history for a userID or channelID older than a
65
- * specified duration, if duration is not included, all history
66
- * is deleted.
55
+ * Deletes history for a direct conversation or group channel.
56
+ *
57
+ * If `olderThan` is omitted, the full history for that thread is removed.
67
58
  *
68
- * @param channelOrUserID the channelID to delete history for.
69
- * @param duration the duration as a string eg. 1h or 7d or 30m
59
+ * @param channelOrUserID Channel ID or user ID whose history should be deleted.
60
+ * @param olderThan Relative duration such as `1h`, `7d`, or `30m`.
70
61
  */
71
62
  deleteHistory: (channelOrUserID: string, olderThan?: string) => Promise<void>;
72
- /**
73
- * Deletes all history.
74
- */
63
+ /** Deletes all message history. */
75
64
  purgeHistory: () => Promise<void>;
76
- /**
77
- * Deletes all sessions, one time keys, and prekeys.
78
- */
65
+ /** Deletes all local key/session state. */
79
66
  purgeKeyData: () => Promise<void>;
80
67
  /**
81
- * Saves a main set of prekeys or a onetime set of prekeys,
82
- * as indicated by the oneTime parameter.
68
+ * Saves signed prekeys.
69
+ *
70
+ * @param preKeys Prekeys to persist.
71
+ * @param oneTime `true` for one-time keys, `false` for the long-lived signed prekey.
83
72
  */
84
73
  savePreKeys: (preKeys: IPreKeysCrypto[], oneTime: boolean) => Promise<IPreKeysSQL[]>;
85
74
  /**
86
- * Gets your set of main prekeys. You only have one at a time.
87
- * Returns null if the prekeys have not been saved yet.
88
- *
89
- * @param preKeys the set of prekeys to save.
90
- * @param oneTime whether or not the set of prekeys is a one time set.
75
+ * Returns the local signed prekey pair, or `null` when it has not been created yet.
91
76
  */
92
77
  getPreKeys: () => Promise<IPreKeysCrypto | null>;
93
- /**
94
- * Gets a set of one time keys by index number.
95
- *
96
- * @param index The index number of the prekey to fetch.
97
- */
78
+ /** Fetches one one-time key by index. */
98
79
  getOneTimeKey: (index: number) => Promise<IPreKeysCrypto | null>;
99
- /**
100
- * Deletes a set of one time keys by index number.
101
- *
102
- * @param index The index number of the prekey to delete.
103
- */
80
+ /** Deletes one one-time key by index. */
104
81
  deleteOneTimeKey: (index: number) => Promise<void>;
105
- /**
106
- * Gets an encryption session by its public key.
107
- *
108
- * @param publicKey the public key of the session to fetch.
109
- */
82
+ /** Fetches an encryption session using the session public key bytes. */
110
83
  getSessionByPublicKey: (publicKey: Uint8Array) => Promise<ISessionCrypto | null>;
111
- /**
112
- * Gets all encryption sessions.
113
- */
84
+ /** Returns all known encryption sessions. */
114
85
  getAllSessions: () => Promise<ISession[]>;
115
- /**
116
- * Gets the most recently used (active) session (by lastUsed key) by userID.
117
- *
118
- * @param userID The userID to retrieve the active session for.
119
- */
86
+ /** Returns the active session for a device ID (typically the most recently used). */
120
87
  getSessionByDeviceID: (deviceID: string) => Promise<ISessionCrypto | null>;
121
- /**
122
- * Saves an encryption session.
123
- *
124
- * @param session The ISession object to save.
125
- */
88
+ /** Persists an encryption session. */
126
89
  saveSession: (session: ISession) => Promise<void>;
127
90
  /**
128
- * Any initializing you may need to do before the class is used.
129
- * For example, you could initialize the database schema here.
91
+ * Performs storage initialization (schema creation, migrations, warmup, etc.).
92
+ *
93
+ * Implementations should set `ready = true` and emit `ready` after completion.
130
94
  */
131
95
  init: () => Promise<void>;
96
+ /** Gets one device record by ID. */
132
97
  getDevice: (deviceID: string) => Promise<IDevice | null>;
98
+ /** Saves a device record. */
133
99
  saveDevice: (device: IDevice) => Promise<void>;
134
100
  /**
135
101
  * Emit this event when init has complete.
@@ -1 +1 @@
1
- {"version":3,"file":"IStorage.js","sourceRoot":"","sources":["../src/IStorage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"IStorage.js","sourceRoot":"","sources":["../src/IStorage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
package/dist/Storage.js CHANGED
@@ -71,10 +71,7 @@ export class Storage extends EventEmitter {
71
71
  this.log.warn("Database is closing, saveMessage() will not complete.");
72
72
  return;
73
73
  }
74
- await this.db
75
- .from("messages")
76
- .where({ mailID })
77
- .del();
74
+ await this.db.from("messages").where({ mailID }).del();
78
75
  }
79
76
  async markSessionVerified(sessionID, status = true) {
80
77
  if (this.closing) {
@@ -248,9 +245,7 @@ export class Storage extends EventEmitter {
248
245
  this.log.warn("Database is closing, getPreKeys() will not complete.");
249
246
  return null;
250
247
  }
251
- const rows = await this.db
252
- .from("preKeys")
253
- .select();
248
+ const rows = await this.db.from("preKeys").select();
254
249
  if (rows.length === 0) {
255
250
  this.log.debug("getPreKeys() => " + JSON.stringify(null, null, 4));
256
251
  return null;
@@ -292,10 +287,7 @@ export class Storage extends EventEmitter {
292
287
  return;
293
288
  }
294
289
  // delete the otk
295
- await this.db
296
- .from("oneTimeKeys")
297
- .delete()
298
- .where({ index });
290
+ await this.db.from("oneTimeKeys").delete().where({ index });
299
291
  }
300
292
  async saveSession(session) {
301
293
  if (this.closing) {
@@ -316,10 +308,7 @@ export class Storage extends EventEmitter {
316
308
  }
317
309
  }
318
310
  async getDevice(deviceID) {
319
- const rows = await this.db
320
- .from("devices")
321
- .select()
322
- .where({ deviceID });
311
+ const rows = await this.db.from("devices").select().where({ deviceID });
323
312
  if (rows.length === 0) {
324
313
  return null;
325
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../src/Storage.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { Client } from "./Client.js";
2
- export type { IChannel, IClientOptions, IDevice, IFile, IFileProgress, IFileRes, IKeys, IMessage, IPermission, IServer, ISession, IUser, } from "./Client.js";
2
+ export type { IChannels, IChannel, IClientOptions, IDevices, IEmojis, IDevice, IFile, IFiles, IFileProgress, IFileRes, IInvites, IKeys, IMe, IMessage, IMessages, IModeration, IPermission, IPermissions, IServers, IServer, ISessions, ISession, IUser, IUsers, } from "./Client.js";
3
3
  export type { IStorage } from "./IStorage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"sqlSessionToCrypto.js","sourceRoot":"","sources":["../../src/utils/sqlSessionToCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,MAAM,UAAU,kBAAkB,CAC9B,OAAoB;IAEpB,OAAO;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;KACrD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"sqlSessionToCrypto.js","sourceRoot":"","sources":["../../src/utils/sqlSessionToCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACnD,OAAO;QACH,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;KACrD,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vex-chat/libvex",
3
- "version": "1.0.0-rc.1",
3
+ "version": "1.0.0-rc.2",
4
4
  "description": "Library for communicating with xchat server.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "scripts": {
24
24
  "build": "rimraf dist && tsc",
25
- "prettier": "prettier '**/*.{ts,tsx,json,md}' --trailing-comma es5 --tab-width 4 --ignore-path .gitignore --arrow-parens always --write",
25
+ "format": "prettier '**/*.{ts,tsx,json,md}' --tab-width 4 --ignore-path .gitignore --write",
26
26
  "prepack": "npm run build",
27
27
  "docs": "npx typedoc --options typedoc.json",
28
28
  "test": "vitest run"