@vex-chat/libvex 6.1.8 → 6.2.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/dist/Client.d.ts +126 -10
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +112 -1
- package/dist/Client.js.map +1 -1
- package/dist/codecs.d.ts +64 -0
- package/dist/codecs.d.ts.map +1 -1
- package/dist/codecs.js +27 -1
- package/dist/codecs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Client.ts +272 -12
- package/src/codecs.ts +35 -0
- package/src/index.ts +2 -1
package/dist/Client.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Commercial licenses available at vex.wtf
|
|
5
5
|
*/
|
|
6
6
|
import type { Storage } from "./Storage.js";
|
|
7
|
-
import type { Channel, Device, Emoji, FileResponse, FileSQL, Invite, Permission, Server, SessionSQL } from "@vex-chat/types";
|
|
7
|
+
import type { Channel, Device, Emoji, FileResponse, FileSQL, Invite, Passkey, Permission, Server, SessionSQL } from "@vex-chat/types";
|
|
8
8
|
import { type AxiosError } from "axios";
|
|
9
9
|
/**
|
|
10
10
|
* Thrown by {@link Client.register} when the server determined the supplied
|
|
@@ -20,10 +20,18 @@ export declare class DeviceApprovalRequiredError extends Error {
|
|
|
20
20
|
readonly challenge: string;
|
|
21
21
|
readonly expiresAt: string;
|
|
22
22
|
readonly requestID: string;
|
|
23
|
+
/**
|
|
24
|
+
* Existing user's ID, when the server provides it. Lets the new
|
|
25
|
+
* (unauthenticated) device fetch the public avatar and show an
|
|
26
|
+
* "is this you?" confirmation before continuing the approval
|
|
27
|
+
* dance. Optional because older servers don't return it.
|
|
28
|
+
*/
|
|
29
|
+
readonly userID: null | string;
|
|
23
30
|
constructor(args: {
|
|
24
31
|
challenge: string;
|
|
25
32
|
expiresAt: string;
|
|
26
33
|
requestID: string;
|
|
34
|
+
userID?: null | string;
|
|
27
35
|
});
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
@@ -64,6 +72,13 @@ export interface Channels {
|
|
|
64
72
|
* - `deleted`: soft-delete flag
|
|
65
73
|
*/
|
|
66
74
|
export type { Device } from "@vex-chat/types";
|
|
75
|
+
/**
|
|
76
|
+
* Public passkey record returned by `client.passkeys.list()` and
|
|
77
|
+
* `client.passkeys.finishRegistration()`. Server-private fields
|
|
78
|
+
* (credential ID, public key, COSE algorithm, signature counter) are
|
|
79
|
+
* never exposed.
|
|
80
|
+
*/
|
|
81
|
+
export type { Passkey } from "@vex-chat/types";
|
|
67
82
|
/**
|
|
68
83
|
* ClientOptions are the options you can pass into the client.
|
|
69
84
|
*/
|
|
@@ -104,6 +119,8 @@ export interface Devices {
|
|
|
104
119
|
delete: (deviceID: string) => Promise<void>;
|
|
105
120
|
/** Fetches one pending registration request by ID for the current user. */
|
|
106
121
|
getRequest: (requestID: string) => Promise<null | PendingDeviceRequest>;
|
|
122
|
+
/** Lists every device belonging to the current account. */
|
|
123
|
+
list: () => Promise<Device[]>;
|
|
107
124
|
/** Lists pending/processed registration requests for the current user. */
|
|
108
125
|
listRequests: () => Promise<PendingDeviceRequest[]>;
|
|
109
126
|
/**
|
|
@@ -176,6 +193,15 @@ export interface FileProgress {
|
|
|
176
193
|
* ```
|
|
177
194
|
*/
|
|
178
195
|
export type FileRes = FileResponse;
|
|
196
|
+
/**
|
|
197
|
+
* @ignore
|
|
198
|
+
*/
|
|
199
|
+
export interface Files {
|
|
200
|
+
/** Uploads and encrypts a file. */
|
|
201
|
+
create: (file: Uint8Array) => Promise<[FileSQL, string]>;
|
|
202
|
+
/** Downloads and decrypts a file using a file ID and key. */
|
|
203
|
+
retrieve: (fileID: string, key: string) => Promise<FileResponse | null>;
|
|
204
|
+
}
|
|
179
205
|
/**
|
|
180
206
|
* Channel is a chat channel on a server.
|
|
181
207
|
*
|
|
@@ -194,15 +220,6 @@ export type { Channel } from "@vex-chat/types";
|
|
|
194
220
|
* - `icon` (optional URL/data)
|
|
195
221
|
*/
|
|
196
222
|
export type { Server } from "@vex-chat/types";
|
|
197
|
-
/**
|
|
198
|
-
* @ignore
|
|
199
|
-
*/
|
|
200
|
-
export interface Files {
|
|
201
|
-
/** Uploads and encrypts a file. */
|
|
202
|
-
create: (file: Uint8Array) => Promise<[FileSQL, string]>;
|
|
203
|
-
/** Downloads and decrypts a file using a file ID and key. */
|
|
204
|
-
retrieve: (fileID: string, key: string) => Promise<FileResponse | null>;
|
|
205
|
-
}
|
|
206
223
|
/**
|
|
207
224
|
* @ignore
|
|
208
225
|
*/
|
|
@@ -264,12 +281,75 @@ export interface Message {
|
|
|
264
281
|
/** Time the message was created/received. */
|
|
265
282
|
timestamp: string;
|
|
266
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Begin/finish handshakes for a passkey (WebAuthn) ceremony plus the
|
|
286
|
+
* passkey-only admin/recovery surface. The host application (a
|
|
287
|
+
* browser, Tauri webview, etc.) is responsible for invoking
|
|
288
|
+
* `navigator.credentials.create()` / `.get()` itself (e.g. via
|
|
289
|
+
* `@simplewebauthn/browser`) using the `options` returned from
|
|
290
|
+
* `begin*`, and then handing the resulting `RegistrationResponseJSON`
|
|
291
|
+
* / `AuthenticationResponseJSON` to `finish*`.
|
|
292
|
+
*
|
|
293
|
+
* @public
|
|
294
|
+
*/
|
|
295
|
+
export interface Passkeys {
|
|
296
|
+
/** Approves a pending device-enrollment request using the passkey session. */
|
|
297
|
+
approveDeviceRequest: (requestID: string) => Promise<Device>;
|
|
298
|
+
/** Begin a public passkey authentication ceremony for `username`. */
|
|
299
|
+
beginAuthentication: (username: string) => Promise<{
|
|
300
|
+
options: any;
|
|
301
|
+
requestID: string;
|
|
302
|
+
}>;
|
|
303
|
+
/** Begin adding a new passkey to the currently authenticated account. */
|
|
304
|
+
beginRegistration: (name: string) => Promise<{
|
|
305
|
+
options: any;
|
|
306
|
+
requestID: string;
|
|
307
|
+
}>;
|
|
308
|
+
/** Remove a passkey from the account. */
|
|
309
|
+
delete: (passkeyID: string) => Promise<void>;
|
|
310
|
+
/** Delete one of the account's devices using the passkey session. */
|
|
311
|
+
deleteDevice: (deviceID: string) => Promise<void>;
|
|
312
|
+
/**
|
|
313
|
+
* Finish the public passkey authentication ceremony with the
|
|
314
|
+
* assertion produced by the host. On success the client is
|
|
315
|
+
* placed in passkey-only mode: the bearer is the passkey JWT,
|
|
316
|
+
* device-only flows (mail, etc.) will not work, and the
|
|
317
|
+
* `client.passkeys.*` admin methods become available.
|
|
318
|
+
*/
|
|
319
|
+
finishAuthentication: (args: {
|
|
320
|
+
requestID: string;
|
|
321
|
+
response: Record<string, unknown>;
|
|
322
|
+
}) => Promise<{
|
|
323
|
+
passkeyID: string;
|
|
324
|
+
token: string;
|
|
325
|
+
user: User;
|
|
326
|
+
}>;
|
|
327
|
+
/** Finish adding a passkey to the currently authenticated account. */
|
|
328
|
+
finishRegistration: (args: {
|
|
329
|
+
name: string;
|
|
330
|
+
requestID: string;
|
|
331
|
+
response: Record<string, unknown>;
|
|
332
|
+
}) => Promise<Passkey>;
|
|
333
|
+
/** List the account's passkeys (public shape only — no key material). */
|
|
334
|
+
list: () => Promise<Passkey[]>;
|
|
335
|
+
/** List all of the account's devices using the passkey session. */
|
|
336
|
+
listDevices: () => Promise<Device[]>;
|
|
337
|
+
/** Reject a pending device-enrollment request using the passkey session. */
|
|
338
|
+
rejectDeviceRequest: (requestID: string) => Promise<void>;
|
|
339
|
+
}
|
|
267
340
|
export type PendingDeviceApprovalStatus = "approved" | "expired" | "pending" | "rejected";
|
|
268
341
|
export interface PendingDeviceRegistration {
|
|
269
342
|
challenge: string;
|
|
270
343
|
expiresAt: string;
|
|
271
344
|
requestID: string;
|
|
272
345
|
status: "pending_approval";
|
|
346
|
+
/**
|
|
347
|
+
* Existing user's ID. Optional for backward compat with older
|
|
348
|
+
* servers that don't include it; when present, the new device can
|
|
349
|
+
* fetch the public avatar from `/avatar/:userID` (no auth required)
|
|
350
|
+
* to power an "is this you?" confirmation.
|
|
351
|
+
*/
|
|
352
|
+
userID?: string | undefined;
|
|
273
353
|
}
|
|
274
354
|
export interface PendingDeviceRequest {
|
|
275
355
|
approvedDeviceID?: string | undefined;
|
|
@@ -567,6 +647,19 @@ export declare class Client {
|
|
|
567
647
|
* Server moderation helper methods.
|
|
568
648
|
*/
|
|
569
649
|
moderation: Moderation;
|
|
650
|
+
/**
|
|
651
|
+
* Passkey ("recovery credential") methods.
|
|
652
|
+
*
|
|
653
|
+
* Passkeys are an account-bound second-class credential that can
|
|
654
|
+
* authenticate the owning user, list devices, delete devices, and
|
|
655
|
+
* approve/reject pending device-enrollment requests — i.e.
|
|
656
|
+
* provisioning + recovery. They cannot send/decrypt mail.
|
|
657
|
+
*
|
|
658
|
+
* The host app drives the WebAuthn ceremony (e.g. via
|
|
659
|
+
* `@simplewebauthn/browser`) and hands the JSON response to
|
|
660
|
+
* `finish*`.
|
|
661
|
+
*/
|
|
662
|
+
passkeys: Passkeys;
|
|
570
663
|
/**
|
|
571
664
|
* Permission-management methods for the current user.
|
|
572
665
|
*/
|
|
@@ -799,6 +892,8 @@ export declare class Client {
|
|
|
799
892
|
user: User;
|
|
800
893
|
}>;
|
|
801
894
|
private approveDeviceRequest;
|
|
895
|
+
private beginPasskeyAuthentication;
|
|
896
|
+
private beginPasskeyRegistration;
|
|
802
897
|
private censorPreKey;
|
|
803
898
|
private createChannel;
|
|
804
899
|
private createFile;
|
|
@@ -809,6 +904,7 @@ export declare class Client {
|
|
|
809
904
|
private deleteChannel;
|
|
810
905
|
private deleteDevice;
|
|
811
906
|
private deleteHistory;
|
|
907
|
+
private deletePasskey;
|
|
812
908
|
private deletePermission;
|
|
813
909
|
private deleteServer;
|
|
814
910
|
private deviceListFailureDetail;
|
|
@@ -825,6 +921,14 @@ export declare class Client {
|
|
|
825
921
|
* retries with exponential backoff (same shape as session pubkey hydration).
|
|
826
922
|
*/
|
|
827
923
|
private fetchUserDeviceListWithBackoff;
|
|
924
|
+
/**
|
|
925
|
+
* Finish a passkey login and adopt the resulting JWT as the
|
|
926
|
+
* client's bearer token. After this call, `client.passkeys.*`
|
|
927
|
+
* admin methods are usable; messaging routes will continue to
|
|
928
|
+
* require a real device token.
|
|
929
|
+
*/
|
|
930
|
+
private finishPasskeyAuthentication;
|
|
931
|
+
private finishPasskeyRegistration;
|
|
828
932
|
private forward;
|
|
829
933
|
private getChannelByID;
|
|
830
934
|
private getChannelList;
|
|
@@ -872,6 +976,14 @@ export declare class Client {
|
|
|
872
976
|
private kickUser;
|
|
873
977
|
private leaveServer;
|
|
874
978
|
private listDeviceRegistrationRequests;
|
|
979
|
+
/**
|
|
980
|
+
* Lists every device the current account owns.
|
|
981
|
+
*
|
|
982
|
+
* Uses the device-authenticated `/user/:id/devices` route. For
|
|
983
|
+
* the passkey-recovery equivalent see `client.passkeys.listDevices`.
|
|
984
|
+
*/
|
|
985
|
+
private listDevices;
|
|
986
|
+
private listPasskeys;
|
|
875
987
|
private markSessionVerified;
|
|
876
988
|
private negotiateOTK;
|
|
877
989
|
private newEphemeralKeys;
|
|
@@ -881,6 +993,10 @@ export declare class Client {
|
|
|
881
993
|
* race HTTP teardown (we avoid `off()` here — it can interact badly with emit).
|
|
882
994
|
*/
|
|
883
995
|
private readonly onInternalMessage;
|
|
996
|
+
private passkeyApproveDeviceRequest;
|
|
997
|
+
private passkeyDeleteDevice;
|
|
998
|
+
private passkeyListDevices;
|
|
999
|
+
private passkeyRejectDeviceRequest;
|
|
884
1000
|
private ping;
|
|
885
1001
|
/**
|
|
886
1002
|
* Polls the public unauthenticated request status endpoint as the
|
package/dist/Client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
|
package/dist/Client.js
CHANGED
|
@@ -26,6 +26,13 @@ export class DeviceApprovalRequiredError extends Error {
|
|
|
26
26
|
challenge;
|
|
27
27
|
expiresAt;
|
|
28
28
|
requestID;
|
|
29
|
+
/**
|
|
30
|
+
* Existing user's ID, when the server provides it. Lets the new
|
|
31
|
+
* (unauthenticated) device fetch the public avatar and show an
|
|
32
|
+
* "is this you?" confirmation before continuing the approval
|
|
33
|
+
* dance. Optional because older servers don't return it.
|
|
34
|
+
*/
|
|
35
|
+
userID;
|
|
29
36
|
constructor(args) {
|
|
30
37
|
super("Device registration requires approval from an existing device. requestID=" +
|
|
31
38
|
args.requestID);
|
|
@@ -33,6 +40,7 @@ export class DeviceApprovalRequiredError extends Error {
|
|
|
33
40
|
this.challenge = args.challenge;
|
|
34
41
|
this.expiresAt = args.expiresAt;
|
|
35
42
|
this.requestID = args.requestID;
|
|
43
|
+
this.userID = args.userID ?? null;
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
46
|
function debugLibvexDm(msg, data) {
|
|
@@ -131,7 +139,7 @@ function spireErrorBodyMessage(data, max = 8_000) {
|
|
|
131
139
|
return t.length > max ? t.slice(0, max) + "…" : t;
|
|
132
140
|
}
|
|
133
141
|
import { msgpack } from "./codec.js";
|
|
134
|
-
import { ActionTokenCodec, AuthResponseCodec, ChannelArrayCodec, ChannelCodec, ConnectResponseCodec, decodeAxios, DeviceArrayCodec, DeviceChallengeCodec, DeviceCodec, DeviceRegistrationResultCodec, EmojiArrayCodec, EmojiCodec, FileSQLCodec, InviteArrayCodec, InviteCodec, KeyBundleCodec, OtkCountCodec, PendingDeviceRequestArrayCodec, PendingDeviceRequestCodec, PermissionArrayCodec, PermissionCodec, RegisterPendingApprovalCodec, RegisterResponseCodec, ServerArrayCodec, ServerCodec, UserArrayCodec, UserCodec, WhoamiCodec, } from "./codecs.js";
|
|
142
|
+
import { ActionTokenCodec, AuthResponseCodec, ChannelArrayCodec, ChannelCodec, ConnectResponseCodec, decodeAxios, DeviceArrayCodec, DeviceChallengeCodec, DeviceCodec, DeviceRegistrationResultCodec, EmojiArrayCodec, EmojiCodec, FileSQLCodec, InviteArrayCodec, InviteCodec, KeyBundleCodec, OtkCountCodec, PasskeyArrayCodec, PasskeyAuthFinishResponseCodec, PasskeyCodec, PasskeyOptionsCodec, PendingDeviceRequestArrayCodec, PendingDeviceRequestCodec, PermissionArrayCodec, PermissionCodec, RegisterPendingApprovalCodec, RegisterResponseCodec, ServerArrayCodec, ServerCodec, UserArrayCodec, UserCodec, WhoamiCodec, } from "./codecs.js";
|
|
135
143
|
import { sqlSessionToCrypto } from "./utils/sqlSessionToCrypto.js";
|
|
136
144
|
import { uuidToUint8 } from "./utils/uint8uuid.js";
|
|
137
145
|
const _protocolMsgRegex = /��\w+:\w+��/g;
|
|
@@ -233,6 +241,7 @@ export class Client {
|
|
|
233
241
|
approveRequest: this.approveDeviceRequest.bind(this),
|
|
234
242
|
delete: this.deleteDevice.bind(this),
|
|
235
243
|
getRequest: this.getDeviceRegistrationRequest.bind(this),
|
|
244
|
+
list: this.listDevices.bind(this),
|
|
236
245
|
listRequests: this.listDeviceRegistrationRequests.bind(this),
|
|
237
246
|
pollPendingRegistration: this.pollPendingDeviceRegistration.bind(this),
|
|
238
247
|
register: this.registerDevice.bind(this),
|
|
@@ -347,6 +356,30 @@ export class Client {
|
|
|
347
356
|
fetchPermissionList: this.fetchPermissionList.bind(this),
|
|
348
357
|
kick: this.kickUser.bind(this),
|
|
349
358
|
};
|
|
359
|
+
/**
|
|
360
|
+
* Passkey ("recovery credential") methods.
|
|
361
|
+
*
|
|
362
|
+
* Passkeys are an account-bound second-class credential that can
|
|
363
|
+
* authenticate the owning user, list devices, delete devices, and
|
|
364
|
+
* approve/reject pending device-enrollment requests — i.e.
|
|
365
|
+
* provisioning + recovery. They cannot send/decrypt mail.
|
|
366
|
+
*
|
|
367
|
+
* The host app drives the WebAuthn ceremony (e.g. via
|
|
368
|
+
* `@simplewebauthn/browser`) and hands the JSON response to
|
|
369
|
+
* `finish*`.
|
|
370
|
+
*/
|
|
371
|
+
passkeys = {
|
|
372
|
+
approveDeviceRequest: this.passkeyApproveDeviceRequest.bind(this),
|
|
373
|
+
beginAuthentication: this.beginPasskeyAuthentication.bind(this),
|
|
374
|
+
beginRegistration: this.beginPasskeyRegistration.bind(this),
|
|
375
|
+
delete: this.deletePasskey.bind(this),
|
|
376
|
+
deleteDevice: this.passkeyDeleteDevice.bind(this),
|
|
377
|
+
finishAuthentication: this.finishPasskeyAuthentication.bind(this),
|
|
378
|
+
finishRegistration: this.finishPasskeyRegistration.bind(this),
|
|
379
|
+
list: this.listPasskeys.bind(this),
|
|
380
|
+
listDevices: this.passkeyListDevices.bind(this),
|
|
381
|
+
rejectDeviceRequest: this.passkeyRejectDeviceRequest.bind(this),
|
|
382
|
+
};
|
|
350
383
|
/**
|
|
351
384
|
* Permission-management methods for the current user.
|
|
352
385
|
*/
|
|
@@ -1006,6 +1039,7 @@ export class Client {
|
|
|
1006
1039
|
challenge: pendingApproval.challenge,
|
|
1007
1040
|
expiresAt: pendingApproval.expiresAt,
|
|
1008
1041
|
requestID: pendingApproval.requestID,
|
|
1042
|
+
userID: pendingApproval.userID ?? null,
|
|
1009
1043
|
}),
|
|
1010
1044
|
];
|
|
1011
1045
|
}
|
|
@@ -1095,6 +1129,15 @@ export class Client {
|
|
|
1095
1129
|
"/approve", msgpack.encode({ signed }), { headers: { "Content-Type": "application/msgpack" } });
|
|
1096
1130
|
return decodeAxios(DeviceCodec, response.data);
|
|
1097
1131
|
}
|
|
1132
|
+
async beginPasskeyAuthentication(username) {
|
|
1133
|
+
const response = await this.http.post(this.getHost() + "/auth/passkey/begin", msgpack.encode({ username }), { headers: { "Content-Type": "application/msgpack" } });
|
|
1134
|
+
return decodeAxios(PasskeyOptionsCodec, response.data);
|
|
1135
|
+
}
|
|
1136
|
+
async beginPasskeyRegistration(name) {
|
|
1137
|
+
const userID = this.getUser().userID;
|
|
1138
|
+
const response = await this.http.post(this.getHost() + "/user/" + userID + "/passkeys/register/begin", msgpack.encode({ name }), { headers: { "Content-Type": "application/msgpack" } });
|
|
1139
|
+
return decodeAxios(PasskeyOptionsCodec, response.data);
|
|
1140
|
+
}
|
|
1098
1141
|
censorPreKey(preKey) {
|
|
1099
1142
|
if (!preKey.index) {
|
|
1100
1143
|
throw new Error("Key index is required.");
|
|
@@ -1349,6 +1392,10 @@ export class Client {
|
|
|
1349
1392
|
async deleteHistory(channelOrUserID) {
|
|
1350
1393
|
await this.database.deleteHistory(channelOrUserID);
|
|
1351
1394
|
}
|
|
1395
|
+
async deletePasskey(passkeyID) {
|
|
1396
|
+
const userID = this.getUser().userID;
|
|
1397
|
+
await this.http.delete(this.getHost() + "/user/" + userID + "/passkeys/" + passkeyID);
|
|
1398
|
+
}
|
|
1352
1399
|
async deletePermission(permissionID) {
|
|
1353
1400
|
await this.http.delete(this.getHost() + "/permission/" + permissionID);
|
|
1354
1401
|
}
|
|
@@ -1462,6 +1509,25 @@ export class Client {
|
|
|
1462
1509
|
}
|
|
1463
1510
|
throw new Error(`${base}${this.deviceListFailureDetail(lastErr)}`);
|
|
1464
1511
|
}
|
|
1512
|
+
/**
|
|
1513
|
+
* Finish a passkey login and adopt the resulting JWT as the
|
|
1514
|
+
* client's bearer token. After this call, `client.passkeys.*`
|
|
1515
|
+
* admin methods are usable; messaging routes will continue to
|
|
1516
|
+
* require a real device token.
|
|
1517
|
+
*/
|
|
1518
|
+
async finishPasskeyAuthentication(args) {
|
|
1519
|
+
const response = await this.http.post(this.getHost() + "/auth/passkey/finish", msgpack.encode(args), { headers: { "Content-Type": "application/msgpack" } });
|
|
1520
|
+
const decoded = decodeAxios(PasskeyAuthFinishResponseCodec, response.data);
|
|
1521
|
+
this.setUser(decoded.user);
|
|
1522
|
+
this.token = decoded.token;
|
|
1523
|
+
this.http.defaults.headers.common.Authorization = `Bearer ${decoded.token}`;
|
|
1524
|
+
return decoded;
|
|
1525
|
+
}
|
|
1526
|
+
async finishPasskeyRegistration(args) {
|
|
1527
|
+
const userID = this.getUser().userID;
|
|
1528
|
+
const response = await this.http.post(this.getHost() + "/user/" + userID + "/passkeys/register/finish", msgpack.encode(args), { headers: { "Content-Type": "application/msgpack" } });
|
|
1529
|
+
return decodeAxios(PasskeyCodec, response.data);
|
|
1530
|
+
}
|
|
1465
1531
|
async forward(message) {
|
|
1466
1532
|
if (this.isManualCloseInFlight()) {
|
|
1467
1533
|
return;
|
|
@@ -1853,6 +1919,7 @@ export class Client {
|
|
|
1853
1919
|
throw new Error("Error initiating websocket connection " + String(err));
|
|
1854
1920
|
}
|
|
1855
1921
|
}
|
|
1922
|
+
// ── Passkeys ────────────────────────────────────────────────────────
|
|
1856
1923
|
/**
|
|
1857
1924
|
* Fresh read of the `manuallyClosing` flag for async loops — direct property checks
|
|
1858
1925
|
* after `await` are flagged as always-false by control-flow analysis even though
|
|
@@ -1887,6 +1954,22 @@ export class Client {
|
|
|
1887
1954
|
"/devices/requests");
|
|
1888
1955
|
return decodeAxios(PendingDeviceRequestArrayCodec, response.data);
|
|
1889
1956
|
}
|
|
1957
|
+
/**
|
|
1958
|
+
* Lists every device the current account owns.
|
|
1959
|
+
*
|
|
1960
|
+
* Uses the device-authenticated `/user/:id/devices` route. For
|
|
1961
|
+
* the passkey-recovery equivalent see `client.passkeys.listDevices`.
|
|
1962
|
+
*/
|
|
1963
|
+
async listDevices() {
|
|
1964
|
+
const userID = this.getUser().userID;
|
|
1965
|
+
const res = await this.http.get(this.getHost() + "/user/" + userID + "/devices");
|
|
1966
|
+
return decodeAxios(DeviceArrayCodec, res.data);
|
|
1967
|
+
}
|
|
1968
|
+
async listPasskeys() {
|
|
1969
|
+
const userID = this.getUser().userID;
|
|
1970
|
+
const response = await this.http.get(this.getHost() + "/user/" + userID + "/passkeys");
|
|
1971
|
+
return decodeAxios(PasskeyArrayCodec, response.data);
|
|
1972
|
+
}
|
|
1890
1973
|
async markSessionVerified(sessionID) {
|
|
1891
1974
|
return this.database.markSessionVerified(sessionID);
|
|
1892
1975
|
}
|
|
@@ -1925,6 +2008,34 @@ export class Client {
|
|
|
1925
2008
|
}
|
|
1926
2009
|
void this.database.saveMessage(message);
|
|
1927
2010
|
};
|
|
2011
|
+
async passkeyApproveDeviceRequest(requestID) {
|
|
2012
|
+
const userID = this.getUser().userID;
|
|
2013
|
+
const response = await this.http.post(this.getHost() +
|
|
2014
|
+
"/user/" +
|
|
2015
|
+
userID +
|
|
2016
|
+
"/passkey/devices/requests/" +
|
|
2017
|
+
requestID +
|
|
2018
|
+
"/approve");
|
|
2019
|
+
return decodeAxios(DeviceCodec, response.data);
|
|
2020
|
+
}
|
|
2021
|
+
async passkeyDeleteDevice(deviceID) {
|
|
2022
|
+
const userID = this.getUser().userID;
|
|
2023
|
+
await this.http.delete(this.getHost() + "/user/" + userID + "/passkey/devices/" + deviceID);
|
|
2024
|
+
}
|
|
2025
|
+
async passkeyListDevices() {
|
|
2026
|
+
const userID = this.getUser().userID;
|
|
2027
|
+
const response = await this.http.get(this.getHost() + "/user/" + userID + "/passkey/devices");
|
|
2028
|
+
return decodeAxios(DeviceArrayCodec, response.data);
|
|
2029
|
+
}
|
|
2030
|
+
async passkeyRejectDeviceRequest(requestID) {
|
|
2031
|
+
const userID = this.getUser().userID;
|
|
2032
|
+
await this.http.post(this.getHost() +
|
|
2033
|
+
"/user/" +
|
|
2034
|
+
userID +
|
|
2035
|
+
"/passkey/devices/requests/" +
|
|
2036
|
+
requestID +
|
|
2037
|
+
"/reject");
|
|
2038
|
+
}
|
|
1928
2039
|
ping() {
|
|
1929
2040
|
if (!this.isAlive) {
|
|
1930
2041
|
// Previous ping went unanswered — the WebSocket is half-open
|