@vex-chat/libvex 2.0.0 → 4.0.0
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.
- package/README.md +3 -2
- package/dist/Client.d.ts +83 -59
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +143 -272
- package/dist/Client.js.map +1 -1
- package/dist/Storage.d.ts +3 -3
- package/dist/codec.d.ts +4 -4
- package/dist/codec.d.ts.map +1 -1
- package/dist/codec.js +4 -4
- package/dist/codec.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/node.d.ts +2 -1
- package/dist/keystore/node.d.ts.map +1 -1
- package/dist/keystore/node.js +9 -3
- package/dist/keystore/node.js.map +1 -1
- package/dist/preset/common.d.ts +1 -3
- package/dist/preset/common.d.ts.map +1 -1
- package/dist/preset/node.d.ts +1 -2
- package/dist/preset/node.d.ts.map +1 -1
- package/dist/preset/node.js +3 -7
- package/dist/preset/node.js.map +1 -1
- package/dist/preset/test.d.ts +0 -1
- package/dist/preset/test.d.ts.map +1 -1
- package/dist/preset/test.js +1 -15
- package/dist/preset/test.js.map +1 -1
- package/dist/storage/node.d.ts +1 -2
- package/dist/storage/node.d.ts.map +1 -1
- package/dist/storage/node.js +2 -8
- package/dist/storage/node.js.map +1 -1
- package/dist/storage/sqlite.d.ts +11 -3
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +36 -33
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/transport/types.d.ts +0 -6
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/types/crypto.d.ts +5 -2
- package/dist/types/crypto.d.ts.map +1 -1
- package/dist/types/crypto.js +2 -2
- package/dist/types/identity.d.ts +6 -1
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/identity.js +1 -1
- package/package.json +20 -12
- package/src/Client.ts +206 -424
- package/src/Storage.ts +3 -3
- package/src/__tests__/codec.test.ts +26 -21
- package/src/__tests__/harness/platform-transports.ts +2 -15
- package/src/__tests__/harness/poison-node-imports.ts +0 -1
- package/src/__tests__/harness/shared-suite.ts +0 -20
- package/src/__tests__/platform-browser.test.ts +5 -10
- package/src/__tests__/platform-node.test.ts +1 -2
- package/src/codec.ts +4 -4
- package/src/index.ts +9 -2
- package/src/keystore/node.ts +14 -3
- package/src/preset/common.ts +1 -7
- package/src/preset/node.ts +3 -19
- package/src/preset/test.ts +1 -18
- package/src/storage/node.ts +2 -13
- package/src/storage/sqlite.ts +44 -65
- package/src/transport/types.ts +0 -7
- package/src/types/crypto.ts +5 -2
- package/src/types/identity.ts +6 -1
- package/dist/utils/createLogger.d.ts +0 -6
- package/dist/utils/createLogger.d.ts.map +0 -1
- package/dist/utils/createLogger.js +0 -27
- package/dist/utils/createLogger.js.map +0 -1
- package/src/utils/createLogger.ts +0 -37
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/storage/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/storage/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAY7C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CASrE"}
|
package/dist/storage/node.js
CHANGED
|
@@ -5,19 +5,13 @@ import BetterSqlite3 from "better-sqlite3";
|
|
|
5
5
|
*/
|
|
6
6
|
import { Kysely, SqliteDialect } from "kysely";
|
|
7
7
|
import { SqliteStorage } from "./sqlite.js";
|
|
8
|
-
export function createNodeStorage(dbPath, SK
|
|
8
|
+
export function createNodeStorage(dbPath, SK) {
|
|
9
9
|
const db = new Kysely({
|
|
10
10
|
dialect: new SqliteDialect({
|
|
11
11
|
database: new BetterSqlite3(dbPath),
|
|
12
12
|
}),
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
debug() { },
|
|
16
|
-
error() { },
|
|
17
|
-
info() { },
|
|
18
|
-
warn() { },
|
|
19
|
-
};
|
|
20
|
-
const storage = new SqliteStorage(db, SK, log);
|
|
14
|
+
const storage = new SqliteStorage(db, SK);
|
|
21
15
|
void storage.init();
|
|
22
16
|
return storage;
|
|
23
17
|
}
|
package/dist/storage/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/storage/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/storage/node.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,EAAU;IACxD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAiB;QAClC,OAAO,EAAE,IAAI,aAAa,CAAC;YACvB,QAAQ,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC;SACtC,CAAC;KACL,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;IACpB,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
package/dist/storage/sqlite.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Message } from "../index.js";
|
|
2
2
|
import type { Storage } from "../Storage.js";
|
|
3
|
-
import type { Logger } from "../transport/types.js";
|
|
4
3
|
import type { PreKeysCrypto, SessionCrypto, UnsavedPreKey } from "../types/index.js";
|
|
5
4
|
import type { ClientDatabase } from "./schema.js";
|
|
6
5
|
import type { Device, PreKeysSQL, SessionSQL } from "@vex-chat/types";
|
|
@@ -11,8 +10,7 @@ export declare class SqliteStorage extends EventEmitter implements Storage {
|
|
|
11
10
|
private closing;
|
|
12
11
|
private readonly db;
|
|
13
12
|
private readonly idKeys;
|
|
14
|
-
|
|
15
|
-
constructor(db: Kysely<ClientDatabase>, SK: string, logger: Logger);
|
|
13
|
+
constructor(db: Kysely<ClientDatabase>, SK: string);
|
|
16
14
|
close(): Promise<void>;
|
|
17
15
|
deleteHistory(channelOrUserID: string): Promise<void>;
|
|
18
16
|
deleteMessage(mailID: string): Promise<void>;
|
|
@@ -37,8 +35,18 @@ export declare class SqliteStorage extends EventEmitter implements Storage {
|
|
|
37
35
|
private decryptMessages;
|
|
38
36
|
private deviceRowToDevice;
|
|
39
37
|
private isDuplicateError;
|
|
38
|
+
/**
|
|
39
|
+
* Encrypt a hex-encoded secret for at-rest storage.
|
|
40
|
+
* Returns hex(nonce || ciphertext) where nonce is 24 random bytes.
|
|
41
|
+
*/
|
|
42
|
+
private sealHex;
|
|
40
43
|
private sessionRowToSQL;
|
|
41
44
|
private sqlToCrypto;
|
|
45
|
+
/**
|
|
46
|
+
* Decrypt a value produced by sealHex().
|
|
47
|
+
* Expects hex(nonce || ciphertext), returns the original hex string.
|
|
48
|
+
*/
|
|
49
|
+
private unsealHex;
|
|
42
50
|
private untilReady;
|
|
43
51
|
}
|
|
44
52
|
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EACR,aAAa,EACb,aAAa,EACb,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACR,cAAc,EAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAuBrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,aAAc,SAAQ,YAAa,YAAW,OAAO;IACvD,KAAK,UAAS;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM;IAe5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAavC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcnD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAetD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA8BrD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;IAyB3D,UAAU,IAAI,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;IAqB3C,oBAAoB,CACtB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;IAoB1B,qBAAqB,CACvB,SAAS,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC;IAqB1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkFrB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC5C,WAAW,CACb,OAAO,EAAE,aAAa,EAAE,EACxB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,UAAU,EAAE,CAAC;IAqClB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BrD,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,gBAAgB;IAUxB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,WAAW;IAYnB;;;OAGG;IACH,OAAO,CAAC,SAAS;YAWH,UAAU;CAa3B"}
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -8,18 +8,16 @@
|
|
|
8
8
|
* This replaces three separate storage classes (Storage.ts, TauriStorage,
|
|
9
9
|
* ExpoStorage) with a single implementation.
|
|
10
10
|
*/
|
|
11
|
-
import { xBoxKeyPairFromSecret, XKeyConvert, xSecretbox, xSecretboxOpen, xSignKeyPairFromSecret, XUtils, } from "@vex-chat/crypto";
|
|
11
|
+
import { xBoxKeyPairFromSecret, XKeyConvert, xMakeNonce, xSecretbox, xSecretboxOpen, xSignKeyPairFromSecret, XUtils, } from "@vex-chat/crypto";
|
|
12
12
|
import { EventEmitter } from "eventemitter3";
|
|
13
13
|
export class SqliteStorage extends EventEmitter {
|
|
14
14
|
ready = false;
|
|
15
15
|
closing = false;
|
|
16
16
|
db;
|
|
17
17
|
idKeys;
|
|
18
|
-
|
|
19
|
-
constructor(db, SK, logger) {
|
|
18
|
+
constructor(db, SK) {
|
|
20
19
|
super();
|
|
21
20
|
this.db = db;
|
|
22
|
-
this.log = logger;
|
|
23
21
|
const idKeys = XKeyConvert.convertKeyPair(xSignKeyPairFromSecret(XUtils.decodeHex(SK)));
|
|
24
22
|
if (!idKeys) {
|
|
25
23
|
throw new Error("Can't convert SK!");
|
|
@@ -29,7 +27,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
29
27
|
// ── Lifecycle ────────────────────────────────────────────────────────────
|
|
30
28
|
async close() {
|
|
31
29
|
this.closing = true;
|
|
32
|
-
this.log.info("Closing database.");
|
|
33
30
|
await this.db.destroy();
|
|
34
31
|
}
|
|
35
32
|
async deleteHistory(channelOrUserID) {
|
|
@@ -51,7 +48,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
51
48
|
// ── Messages ─────────────────────────────────────────────────────────────
|
|
52
49
|
async deleteMessage(mailID) {
|
|
53
50
|
if (this.closing) {
|
|
54
|
-
this.log.warn("Database is closing, deleteMessage() will not complete.");
|
|
55
51
|
return;
|
|
56
52
|
}
|
|
57
53
|
await this.db
|
|
@@ -61,7 +57,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
61
57
|
}
|
|
62
58
|
async deleteOneTimeKey(index) {
|
|
63
59
|
if (this.closing) {
|
|
64
|
-
this.log.warn("Database is closing, deleteOneTimeKey() will not complete.");
|
|
65
60
|
return;
|
|
66
61
|
}
|
|
67
62
|
await this.db
|
|
@@ -71,7 +66,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
71
66
|
}
|
|
72
67
|
async getAllSessions() {
|
|
73
68
|
if (this.closing) {
|
|
74
|
-
this.log.warn("Database is closing, getAllSessions() will not complete.");
|
|
75
69
|
return [];
|
|
76
70
|
}
|
|
77
71
|
const rows = await this.db
|
|
@@ -95,7 +89,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
95
89
|
}
|
|
96
90
|
async getGroupHistory(channelID) {
|
|
97
91
|
if (this.closing) {
|
|
98
|
-
this.log.warn("Database is closing, getGroupHistory() will not complete.");
|
|
99
92
|
return [];
|
|
100
93
|
}
|
|
101
94
|
const messages = await this.db
|
|
@@ -108,7 +101,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
108
101
|
}
|
|
109
102
|
async getMessageHistory(userID) {
|
|
110
103
|
if (this.closing) {
|
|
111
|
-
this.log.warn("Database is closing, getMessageHistory() will not complete.");
|
|
112
104
|
return [];
|
|
113
105
|
}
|
|
114
106
|
const messages = await this.db
|
|
@@ -134,7 +126,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
134
126
|
async getOneTimeKey(index) {
|
|
135
127
|
await this.untilReady();
|
|
136
128
|
if (this.closing) {
|
|
137
|
-
this.log.warn("Database is closing, getOneTimeKey() will not complete.");
|
|
138
129
|
return null;
|
|
139
130
|
}
|
|
140
131
|
const rows = await this.db
|
|
@@ -144,36 +135,32 @@ export class SqliteStorage extends EventEmitter {
|
|
|
144
135
|
.execute();
|
|
145
136
|
const otkInfo = rows[0];
|
|
146
137
|
if (!otkInfo) {
|
|
147
|
-
this.log.debug("getOneTimeKey() => " + JSON.stringify(null));
|
|
148
138
|
return null;
|
|
149
139
|
}
|
|
150
140
|
return {
|
|
151
141
|
index: otkInfo.index,
|
|
152
|
-
keyPair: xBoxKeyPairFromSecret(XUtils.decodeHex(otkInfo.privateKey)),
|
|
142
|
+
keyPair: xBoxKeyPairFromSecret(XUtils.decodeHex(this.unsealHex(otkInfo.privateKey))),
|
|
153
143
|
signature: XUtils.decodeHex(otkInfo.signature),
|
|
154
144
|
};
|
|
155
145
|
}
|
|
156
146
|
async getPreKeys() {
|
|
157
147
|
await this.untilReady();
|
|
158
148
|
if (this.closing) {
|
|
159
|
-
this.log.warn("Database is closing, getPreKeys() will not complete.");
|
|
160
149
|
return null;
|
|
161
150
|
}
|
|
162
151
|
const rows = await this.db.selectFrom("preKeys").selectAll().execute();
|
|
163
152
|
const preKeyInfo = rows[0];
|
|
164
153
|
if (!preKeyInfo) {
|
|
165
|
-
this.log.debug("getPreKeys() => " + JSON.stringify(null));
|
|
166
154
|
return null;
|
|
167
155
|
}
|
|
168
156
|
return {
|
|
169
157
|
index: preKeyInfo.index,
|
|
170
|
-
keyPair: xBoxKeyPairFromSecret(XUtils.decodeHex(preKeyInfo.privateKey)),
|
|
158
|
+
keyPair: xBoxKeyPairFromSecret(XUtils.decodeHex(this.unsealHex(preKeyInfo.privateKey))),
|
|
171
159
|
signature: XUtils.decodeHex(preKeyInfo.signature),
|
|
172
160
|
};
|
|
173
161
|
}
|
|
174
162
|
async getSessionByDeviceID(deviceID) {
|
|
175
163
|
if (this.closing) {
|
|
176
|
-
this.log.warn("Database is closing, getSessionByDeviceID() will not complete.");
|
|
177
164
|
return null;
|
|
178
165
|
}
|
|
179
166
|
const rows = await this.db
|
|
@@ -185,14 +172,12 @@ export class SqliteStorage extends EventEmitter {
|
|
|
185
172
|
.execute();
|
|
186
173
|
const sessionRow = rows[0];
|
|
187
174
|
if (!sessionRow) {
|
|
188
|
-
this.log.debug("getSession() => " + JSON.stringify(null));
|
|
189
175
|
return null;
|
|
190
176
|
}
|
|
191
177
|
return this.sqlToCrypto(this.sessionRowToSQL(sessionRow));
|
|
192
178
|
}
|
|
193
179
|
async getSessionByPublicKey(publicKey) {
|
|
194
180
|
if (this.closing) {
|
|
195
|
-
this.log.warn("Database is closing, getSessionByPublicKey() will not complete.");
|
|
196
181
|
return null;
|
|
197
182
|
}
|
|
198
183
|
const hex = XUtils.encodeHex(publicKey);
|
|
@@ -204,13 +189,11 @@ export class SqliteStorage extends EventEmitter {
|
|
|
204
189
|
.execute();
|
|
205
190
|
const sessionRow = rows[0];
|
|
206
191
|
if (!sessionRow) {
|
|
207
|
-
this.log.warn(`getSessionByPublicKey(${hex}) => ${JSON.stringify(null)}`);
|
|
208
192
|
return null;
|
|
209
193
|
}
|
|
210
194
|
return this.sqlToCrypto(this.sessionRowToSQL(sessionRow));
|
|
211
195
|
}
|
|
212
196
|
async init() {
|
|
213
|
-
this.log.info("Initializing database tables.");
|
|
214
197
|
try {
|
|
215
198
|
await this.db.schema
|
|
216
199
|
.createTable("messages")
|
|
@@ -282,7 +265,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
282
265
|
}
|
|
283
266
|
async markSessionUsed(sessionID) {
|
|
284
267
|
if (this.closing) {
|
|
285
|
-
this.log.warn("Database is closing, markSessionUsed() will not complete.");
|
|
286
268
|
return;
|
|
287
269
|
}
|
|
288
270
|
await this.db
|
|
@@ -294,7 +276,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
294
276
|
// ── PreKeys / OneTimeKeys ────────────────────────────────────────────────
|
|
295
277
|
async markSessionVerified(sessionID) {
|
|
296
278
|
if (this.closing) {
|
|
297
|
-
this.log.warn("Database is closing, markSessionVerified() will not complete.");
|
|
298
279
|
return;
|
|
299
280
|
}
|
|
300
281
|
await this.db
|
|
@@ -314,7 +295,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
314
295
|
}
|
|
315
296
|
async saveDevice(device) {
|
|
316
297
|
if (this.closing) {
|
|
317
|
-
this.log.warn("Database is closing, saveDevice() will not complete.");
|
|
318
298
|
return;
|
|
319
299
|
}
|
|
320
300
|
try {
|
|
@@ -332,7 +312,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
332
312
|
}
|
|
333
313
|
catch (err) {
|
|
334
314
|
if (this.isDuplicateError(err)) {
|
|
335
|
-
|
|
315
|
+
// duplicate deviceID — ignore
|
|
336
316
|
}
|
|
337
317
|
else {
|
|
338
318
|
throw err;
|
|
@@ -342,7 +322,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
342
322
|
// ── Devices ──────────────────────────────────────────────────────────────
|
|
343
323
|
async saveMessage(message) {
|
|
344
324
|
if (this.closing) {
|
|
345
|
-
this.log.warn("Database is closing, saveMessage() will not complete.");
|
|
346
325
|
return;
|
|
347
326
|
}
|
|
348
327
|
// Encrypt plaintext with our idkey before saving to disk
|
|
@@ -368,7 +347,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
368
347
|
}
|
|
369
348
|
catch (err) {
|
|
370
349
|
if (this.isDuplicateError(err)) {
|
|
371
|
-
|
|
350
|
+
// duplicate nonce — ignore
|
|
372
351
|
}
|
|
373
352
|
else {
|
|
374
353
|
throw err;
|
|
@@ -378,7 +357,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
378
357
|
async savePreKeys(preKeys, oneTime) {
|
|
379
358
|
await this.untilReady();
|
|
380
359
|
if (this.closing) {
|
|
381
|
-
this.log.warn("Database is closing, savePreKeys() will not complete.");
|
|
382
360
|
return [];
|
|
383
361
|
}
|
|
384
362
|
const table = oneTime ? "oneTimeKeys" : "preKeys";
|
|
@@ -387,7 +365,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
387
365
|
const row = await this.db
|
|
388
366
|
.insertInto(table)
|
|
389
367
|
.values({
|
|
390
|
-
privateKey: XUtils.encodeHex(preKey.keyPair.secretKey),
|
|
368
|
+
privateKey: this.sealHex(XUtils.encodeHex(preKey.keyPair.secretKey)),
|
|
391
369
|
publicKey: XUtils.encodeHex(preKey.keyPair.publicKey),
|
|
392
370
|
signature: XUtils.encodeHex(preKey.signature),
|
|
393
371
|
})
|
|
@@ -407,7 +385,6 @@ export class SqliteStorage extends EventEmitter {
|
|
|
407
385
|
// ── Purge ────────────────────────────────────────────────────────────────
|
|
408
386
|
async saveSession(session) {
|
|
409
387
|
if (this.closing) {
|
|
410
|
-
this.log.warn("Database is closing, saveSession() will not complete.");
|
|
411
388
|
return;
|
|
412
389
|
}
|
|
413
390
|
try {
|
|
@@ -420,7 +397,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
420
397
|
mode: session.mode,
|
|
421
398
|
publicKey: session.publicKey,
|
|
422
399
|
sessionID: session.sessionID,
|
|
423
|
-
SK: session.SK,
|
|
400
|
+
SK: this.sealHex(session.SK),
|
|
424
401
|
userID: session.userID,
|
|
425
402
|
verified: session.verified ? 1 : 0,
|
|
426
403
|
})
|
|
@@ -428,7 +405,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
428
405
|
}
|
|
429
406
|
catch (err) {
|
|
430
407
|
if (this.isDuplicateError(err)) {
|
|
431
|
-
|
|
408
|
+
// duplicate SK — ignore
|
|
432
409
|
}
|
|
433
410
|
else {
|
|
434
411
|
throw err;
|
|
@@ -485,6 +462,18 @@ export class SqliteStorage extends EventEmitter {
|
|
|
485
462
|
}
|
|
486
463
|
return false;
|
|
487
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Encrypt a hex-encoded secret for at-rest storage.
|
|
467
|
+
* Returns hex(nonce || ciphertext) where nonce is 24 random bytes.
|
|
468
|
+
*/
|
|
469
|
+
sealHex(plainHex) {
|
|
470
|
+
const nonce = xMakeNonce();
|
|
471
|
+
const ct = xSecretbox(XUtils.decodeHex(plainHex), nonce, this.idKeys.secretKey);
|
|
472
|
+
const sealed = new Uint8Array(nonce.length + ct.length);
|
|
473
|
+
sealed.set(nonce);
|
|
474
|
+
sealed.set(ct, nonce.length);
|
|
475
|
+
return XUtils.encodeHex(sealed);
|
|
476
|
+
}
|
|
488
477
|
sessionRowToSQL(row) {
|
|
489
478
|
return {
|
|
490
479
|
deviceID: row.deviceID,
|
|
@@ -493,7 +482,7 @@ export class SqliteStorage extends EventEmitter {
|
|
|
493
482
|
mode: row.mode === "initiator" ? "initiator" : "receiver",
|
|
494
483
|
publicKey: row.publicKey,
|
|
495
484
|
sessionID: row.sessionID,
|
|
496
|
-
SK: row.SK,
|
|
485
|
+
SK: this.unsealHex(row.SK),
|
|
497
486
|
userID: row.userID,
|
|
498
487
|
verified: row.verified !== 0,
|
|
499
488
|
};
|
|
@@ -509,6 +498,20 @@ export class SqliteStorage extends EventEmitter {
|
|
|
509
498
|
userID: session.userID,
|
|
510
499
|
};
|
|
511
500
|
}
|
|
501
|
+
/**
|
|
502
|
+
* Decrypt a value produced by sealHex().
|
|
503
|
+
* Expects hex(nonce || ciphertext), returns the original hex string.
|
|
504
|
+
*/
|
|
505
|
+
unsealHex(sealed) {
|
|
506
|
+
const bytes = XUtils.decodeHex(sealed);
|
|
507
|
+
const nonce = bytes.slice(0, 24);
|
|
508
|
+
const ct = bytes.slice(24);
|
|
509
|
+
const plain = xSecretboxOpen(ct, nonce, this.idKeys.secretKey);
|
|
510
|
+
if (!plain) {
|
|
511
|
+
throw new Error("Failed to decrypt sealed column value.");
|
|
512
|
+
}
|
|
513
|
+
return XUtils.encodeHex(plain);
|
|
514
|
+
}
|
|
512
515
|
async untilReady() {
|
|
513
516
|
if (this.ready)
|
|
514
517
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;GASG;AACH,OAAO,EAEH,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,MAAM,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,OAAO,aAAc,SAAQ,YAAY;IACpC,KAAK,GAAG,KAAK,CAAC;IACb,OAAO,GAAG,KAAK,CAAC;IACP,EAAE,CAAyB;IAC3B,MAAM,CAAU;IAChB,GAAG,CAAS;IAE7B,YAAY,EAA0B,EAAE,EAAU,EAAE,MAAc;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAElB,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CACrC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,eAAuB;QACvC,MAAM,IAAI,CAAC,EAAE;aACR,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CACV,EAAE,CAAC,EAAE,CAAC;YACF,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC;gBACH,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBACvB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,eAAe,CAAC;aACvC,CAAC;YACF,EAAE,CAAC,GAAG,CAAC;gBACH,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBACvB,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,eAAe,CAAC;aACvC,CAAC;SACL,CAAC,CACL;aACA,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,yDAAyD,CAC5D,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,EAAE;aACR,UAAU,CAAC,UAAU,CAAC;aACtB,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC;aAC5B,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,4DAA4D,CAC/D,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,EAAE;aACR,UAAU,CAAC,aAAa,CAAC;aACzB,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;aAC1B,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,0DAA0D,CAC7D,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACrB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;aAC3B,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACrB,UAAU,CAAC,SAAS,CAAC;aACrB,SAAS,EAAE;aACX,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;aAChC,OAAO,EAAE,CAAC;QAEf,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,2DAA2D,CAC9D,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC;aAC9B,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;aAC3B,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,6DAA6D,CAChE,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE;aACzB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CACV,EAAE,CAAC,EAAE,CAAC;YACF,EAAE,CAAC,GAAG,CAAC;gBACH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;gBAChC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC3B,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;aAC1B,CAAC;YACF,EAAE,CAAC,GAAG,CAAC;gBACH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC;gBAChC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC;gBAC3B,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;aAC1B,CAAC;SACL,CAAC,CACL;aACA,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;aAC3B,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,aAAa,CAAC,KAAa;QAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,yDAAyD,CAC5D,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACrB,UAAU,CAAC,aAAa,CAAC;aACzB,SAAS,EAAE;aACX,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC;aAC1B,OAAO,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,qBAAqB,CAC1B,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CACvC;YACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;SACjD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,sDAAsD,CACzD,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvE,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,qBAAqB,CAC1B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAC1C;YACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;SACpD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,oBAAoB,CACtB,QAAgB;QAEhB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,gEAAgE,CACnE,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACrB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC;aAChC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;aAC3B,KAAK,CAAC,CAAC,CAAC;aACR,OAAO,EAAE,CAAC;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,SAAqB;QAErB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,iEAAiE,CACpE,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE;aACrB,UAAU,CAAC,UAAU,CAAC;aACtB,SAAS,EAAE;aACX,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;aAC5B,KAAK,CAAC,CAAC,CAAC;aACR,OAAO,EAAE,CAAC;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,yBAAyB,GAAG,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM;iBACf,WAAW,CAAC,UAAU,CAAC;iBACvB,WAAW,EAAE;iBACb,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;iBACrD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC3B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;iBAC1B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC3B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;iBAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;iBACjC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,OAAO,EAAE,CAAC;YAEf,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM;iBACf,WAAW,CAAC,SAAS,CAAC;iBACtB,WAAW,EAAE;iBACb,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;iBACxD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;iBAC1B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;iBAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC/B,OAAO,EAAE,CAAC;YAEf,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM;iBACf,WAAW,CAAC,UAAU,CAAC;iBACvB,WAAW,EAAE;iBACb,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;iBACzD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC3B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;iBAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;iBAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;iBAChC,OAAO,EAAE,CAAC;YAEf,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM;iBACf,WAAW,CAAC,SAAS,CAAC;iBACtB,WAAW,EAAE;iBACb,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACnC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CACnC;iBACA,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;iBACjD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC3B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC/B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,OAAO,EAAE,CAAC;YAEf,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM;iBACf,WAAW,CAAC,aAAa,CAAC;iBAC1B,WAAW,EAAE;iBACb,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACnC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CACnC;iBACA,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;iBACjD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC3B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;iBAC7B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC/B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;iBAC9B,OAAO,EAAE,CAAC;YAEf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACL,OAAO,EACP,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACtD,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,2DAA2D,CAC9D,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,EAAE;aACR,WAAW,CAAC,UAAU,CAAC;aACvB,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;aACrD,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC;aAClC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,+DAA+D,CAClE,CAAC;YACF,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,EAAE;aACR,WAAW,CAAC,UAAU,CAAC;aACvB,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;aACpB,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC;aAClC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,sDAAsD,CACzD,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,EAAE;iBACR,UAAU,CAAC,SAAS,CAAC;iBACrB,MAAM,CAAC;gBACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC;iBACD,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,WAAW,CAAC,OAAgB;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,uDAAuD,CAC1D,CAAC;YACF,OAAO;QACX,CAAC;QAED,yDAAyD;QACzD,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CACrC,UAAU,CACN,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CACJ,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,EAAE;iBACR,UAAU,CAAC,UAAU,CAAC;iBACtB,MAAM,CAAC;gBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,gBAAgB;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC;iBACD,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,OAAwB,EACxB,OAAgB;QAEhB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,uDAAuD,CAC1D,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,aAAuB,CAAC,CAAC,CAAE,SAAmB,CAAC;QACxE,MAAM,KAAK,GAAiB,EAAE,CAAC;QAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;iBACpB,UAAU,CAAC,KAAK,CAAC;iBACjB,MAAM,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBACtD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;gBACrD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;aAChD,CAAC;iBACD,SAAS,CAAC;gBACP,UAAU;gBACV,OAAO;gBACP,OAAO;gBACP,WAAW;gBACX,WAAW;gBACX,QAAQ;aACX,CAAC;iBACD,uBAAuB,EAAE,CAAC;YAE/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,WAAW,CAAC,OAAmB;QACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,uDAAuD,CAC1D,CAAC;YACF,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,EAAE;iBACR,UAAU,CAAC,UAAU,CAAC;iBACtB,MAAM,CAAC;gBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC,CAAC;iBACD,OAAO,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,4EAA4E;IAEpE,eAAe,CAAC,QAAsB;QAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YACjC,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC;YAC1C,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;YAE5B,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,cAAc,CAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GACX,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAE3D,OAAO;gBACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,aAAa;gBACxB,SAAS;gBACT,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;gBAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;aAC3B,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB,CAAC,GAAc;QACpC,OAAO;YACH,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACvB,CAAC;IACN,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACjC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YAC5D,OAAO,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,GAAe;QACnC,OAAO;YACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACzD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;SAC/B,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,OAAmB;QACnC,OAAO;YACH,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;YAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC;oBACV,OAAO;gBACX,CAAC;gBACD,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
export interface Logger {
|
|
2
|
-
debug(message: string, ...args: unknown[]): void;
|
|
3
|
-
error(message: string, ...args: unknown[]): void;
|
|
4
|
-
info(message: string, ...args: unknown[]): void;
|
|
5
|
-
warn(message: string, ...args: unknown[]): void;
|
|
6
|
-
}
|
|
7
1
|
export type WebSocketEvent = keyof WebSocketEventMap;
|
|
8
2
|
export interface WebSocketEventMap {
|
|
9
3
|
close: [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5B,IAAI,EAAE,EAAE,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC1B,KAAK,IAAI,IAAI,CAAC;IACd,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzD,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5D,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IAClE,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACxD,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,IAAI,IAAI,CAAC;CACtB"}
|
package/dist/types/crypto.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SDK-internal crypto types. These were moved from
|
|
2
|
+
* SDK-internal crypto types. These were moved from `@vex-chat/types`
|
|
3
3
|
* because they are only used by the SDK, never by the server.
|
|
4
4
|
*
|
|
5
|
-
* The KeyPair shape matches tweetnacl's nacl.BoxKeyPair without
|
|
5
|
+
* The KeyPair shape matches tweetnacl's `nacl.BoxKeyPair` without
|
|
6
6
|
* importing from tweetnacl — future WASM migration only changes this file.
|
|
7
7
|
*/
|
|
8
|
+
/** A NaCl box key pair (Curve25519 public + secret). */
|
|
8
9
|
export interface KeyPair {
|
|
9
10
|
publicKey: Uint8Array;
|
|
10
11
|
secretKey: Uint8Array;
|
|
@@ -13,12 +14,14 @@ export interface KeyPair {
|
|
|
13
14
|
export interface PreKeysCrypto extends UnsavedPreKey {
|
|
14
15
|
index: number;
|
|
15
16
|
}
|
|
17
|
+
/** In-memory representation of an encryption session (not yet persisted to SQL). */
|
|
16
18
|
export interface SessionCrypto {
|
|
17
19
|
fingerprint: Uint8Array;
|
|
18
20
|
lastUsed: string;
|
|
19
21
|
mode: "initiator" | "receiver";
|
|
20
22
|
publicKey: Uint8Array;
|
|
21
23
|
sessionID: string;
|
|
24
|
+
/** Shared secret key derived during X3DH. */
|
|
22
25
|
SK: Uint8Array;
|
|
23
26
|
userID: string;
|
|
24
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/types/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,OAAO;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/types/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wDAAwD;AACxD,MAAM,WAAW,OAAO;IACpB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IAC/B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,EAAE,EAAE,UAAU,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CAC1B"}
|
package/dist/types/crypto.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SDK-internal crypto types. These were moved from
|
|
2
|
+
* SDK-internal crypto types. These were moved from `@vex-chat/types`
|
|
3
3
|
* because they are only used by the SDK, never by the server.
|
|
4
4
|
*
|
|
5
|
-
* The KeyPair shape matches tweetnacl's nacl.BoxKeyPair without
|
|
5
|
+
* The KeyPair shape matches tweetnacl's `nacl.BoxKeyPair` without
|
|
6
6
|
* importing from tweetnacl — future WASM migration only changes this file.
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
package/dist/types/identity.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SDK credential storage types. Moved from
|
|
2
|
+
* SDK credential storage types. Moved from `@vex-chat/types`
|
|
3
3
|
* because only the SDK and app consumers use them.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Persistent credential store used by apps to save/load login state
|
|
7
|
+
* (e.g. Keychain on macOS, SecureStorage on mobile).
|
|
8
|
+
*/
|
|
5
9
|
export interface KeyStore {
|
|
6
10
|
clear(username: string): Promise<void>;
|
|
7
11
|
load(username?: string): Promise<null | StoredCredentials>;
|
|
8
12
|
save(creds: StoredCredentials): Promise<void>;
|
|
9
13
|
}
|
|
14
|
+
/** Credentials persisted between sessions for auto-login. */
|
|
10
15
|
export interface StoredCredentials {
|
|
11
16
|
deviceID: string;
|
|
12
17
|
deviceKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/types/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/types/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/types/identity.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vex-chat/libvex",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Library for communicating with xchat server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,35 +9,43 @@
|
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.js"
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"default": "./dist/index.js"
|
|
13
14
|
},
|
|
14
15
|
"./preset/node": {
|
|
15
16
|
"types": "./dist/preset/node.d.ts",
|
|
16
|
-
"import": "./dist/preset/node.js"
|
|
17
|
+
"import": "./dist/preset/node.js",
|
|
18
|
+
"default": "./dist/preset/node.js"
|
|
17
19
|
},
|
|
18
20
|
"./preset/test": {
|
|
19
21
|
"types": "./dist/preset/test.d.ts",
|
|
20
|
-
"import": "./dist/preset/test.js"
|
|
22
|
+
"import": "./dist/preset/test.js",
|
|
23
|
+
"default": "./dist/preset/test.js"
|
|
21
24
|
},
|
|
22
25
|
"./storage/node": {
|
|
23
26
|
"types": "./dist/storage/node.d.ts",
|
|
24
|
-
"import": "./dist/storage/node.js"
|
|
27
|
+
"import": "./dist/storage/node.js",
|
|
28
|
+
"default": "./dist/storage/node.js"
|
|
25
29
|
},
|
|
26
30
|
"./storage/sqlite": {
|
|
27
31
|
"types": "./dist/storage/sqlite.d.ts",
|
|
28
|
-
"import": "./dist/storage/sqlite.js"
|
|
32
|
+
"import": "./dist/storage/sqlite.js",
|
|
33
|
+
"default": "./dist/storage/sqlite.js"
|
|
29
34
|
},
|
|
30
35
|
"./storage/schema": {
|
|
31
36
|
"types": "./dist/storage/schema.d.ts",
|
|
32
|
-
"import": "./dist/storage/schema.js"
|
|
37
|
+
"import": "./dist/storage/schema.js",
|
|
38
|
+
"default": "./dist/storage/schema.js"
|
|
33
39
|
},
|
|
34
40
|
"./keystore/node": {
|
|
35
41
|
"types": "./dist/keystore/node.d.ts",
|
|
36
|
-
"import": "./dist/keystore/node.js"
|
|
42
|
+
"import": "./dist/keystore/node.js",
|
|
43
|
+
"default": "./dist/keystore/node.js"
|
|
37
44
|
},
|
|
38
45
|
"./keystore/memory": {
|
|
39
46
|
"types": "./dist/keystore/memory.d.ts",
|
|
40
|
-
"import": "./dist/keystore/memory.js"
|
|
47
|
+
"import": "./dist/keystore/memory.js",
|
|
48
|
+
"default": "./dist/keystore/memory.js"
|
|
41
49
|
}
|
|
42
50
|
},
|
|
43
51
|
"files": [
|
|
@@ -60,6 +68,7 @@
|
|
|
60
68
|
"lint": "eslint src/",
|
|
61
69
|
"lint:fix": "eslint src/ --fix",
|
|
62
70
|
"lint:pkg": "publint --strict",
|
|
71
|
+
"lint:pkgjson": "npx npm-package-json-lint .",
|
|
63
72
|
"lint:types": "attw --pack . --ignore-rules cjs-resolves-to-esm no-resolution",
|
|
64
73
|
"lint:api": "api-extractor run --local --verbose",
|
|
65
74
|
"prepare": "husky",
|
|
@@ -76,7 +85,7 @@
|
|
|
76
85
|
"@types/better-sqlite3": "7.6.13",
|
|
77
86
|
"@types/ed2curve": "0.2.4",
|
|
78
87
|
"@types/node": "24.12.2",
|
|
79
|
-
"@types/uuid": "
|
|
88
|
+
"@types/uuid": "11.0.0",
|
|
80
89
|
"@vitest/eslint-plugin": "1.6.15",
|
|
81
90
|
"better-sqlite3": "11.10.0",
|
|
82
91
|
"eslint": "10.2.0",
|
|
@@ -101,8 +110,7 @@
|
|
|
101
110
|
"eventemitter3": "5.0.4",
|
|
102
111
|
"kysely": "0.28.16",
|
|
103
112
|
"msgpackr": "1.11.8",
|
|
104
|
-
"uuid": "
|
|
105
|
-
"winston": "3.19.0",
|
|
113
|
+
"uuid": "13.0.0",
|
|
106
114
|
"zod": "4.3.6"
|
|
107
115
|
},
|
|
108
116
|
"peerDependencies": {
|