@vex-chat/libvex 7.2.0 → 7.4.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 +50 -12
- package/dist/Client.d.ts.map +1 -1
- package/dist/Client.js +43 -1
- package/dist/Client.js.map +1 -1
- package/dist/codecs.d.ts +18 -0
- package/dist/codecs.d.ts.map +1 -1
- package/dist/codecs.js +4 -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 +124 -12
- package/src/codecs.ts +8 -0
- package/src/index.ts +9 -0
package/dist/codecs.d.ts
CHANGED
|
@@ -57,6 +57,18 @@ export declare const ActionTokenCodec: {
|
|
|
57
57
|
encode: (msg: import("@vex-chat/types").ActionToken) => Uint8Array;
|
|
58
58
|
encodeSafe: (msg: import("@vex-chat/types").ActionToken) => Uint8Array;
|
|
59
59
|
};
|
|
60
|
+
export declare const AccountEntitlementsCodec: {
|
|
61
|
+
decode: (data: Uint8Array) => import("@vex-chat/types").AccountEntitlements;
|
|
62
|
+
decodeSafe: (data: Uint8Array) => import("@vex-chat/types").AccountEntitlements;
|
|
63
|
+
encode: (msg: import("@vex-chat/types").AccountEntitlements) => Uint8Array;
|
|
64
|
+
encodeSafe: (msg: import("@vex-chat/types").AccountEntitlements) => Uint8Array;
|
|
65
|
+
};
|
|
66
|
+
export declare const BillingAccountStateCodec: {
|
|
67
|
+
decode: (data: Uint8Array) => import("@vex-chat/types").BillingAccountState;
|
|
68
|
+
decodeSafe: (data: Uint8Array) => import("@vex-chat/types").BillingAccountState;
|
|
69
|
+
encode: (msg: import("@vex-chat/types").BillingAccountState) => Uint8Array;
|
|
70
|
+
encodeSafe: (msg: import("@vex-chat/types").BillingAccountState) => Uint8Array;
|
|
71
|
+
};
|
|
60
72
|
export declare const KeyBundleCodec: {
|
|
61
73
|
decode: (data: Uint8Array) => import("@vex-chat/types").KeyBundle;
|
|
62
74
|
decodeSafe: (data: Uint8Array) => import("@vex-chat/types").KeyBundle;
|
|
@@ -111,6 +123,12 @@ export declare const ServerChannelBootstrapCodec: {
|
|
|
111
123
|
encode: (msg: import("@vex-chat/types").ServerChannelBootstrap) => Uint8Array;
|
|
112
124
|
encodeSafe: (msg: import("@vex-chat/types").ServerChannelBootstrap) => Uint8Array;
|
|
113
125
|
};
|
|
126
|
+
export declare const BillingProductArrayCodec: {
|
|
127
|
+
decode: (data: Uint8Array) => import("@vex-chat/types").BillingProduct[];
|
|
128
|
+
decodeSafe: (data: Uint8Array) => import("@vex-chat/types").BillingProduct[];
|
|
129
|
+
encode: (msg: import("@vex-chat/types").BillingProduct[]) => Uint8Array;
|
|
130
|
+
encodeSafe: (msg: import("@vex-chat/types").BillingProduct[]) => Uint8Array;
|
|
131
|
+
};
|
|
114
132
|
export declare const ConnectResponseCodec: {
|
|
115
133
|
decode: (data: Uint8Array) => {
|
|
116
134
|
deviceToken: string;
|
package/dist/codecs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,eAAO,MAAM,SAAS;;;;;CAA0B,CAAC;AACjD,eAAO,MAAM,WAAW;;;;;CAA4B,CAAC;AACrD,eAAO,MAAM,WAAW;;;;;CAA4B,CAAC;AACrD,eAAO,MAAM,YAAY;;;;;CAA6B,CAAC;AACvD,eAAO,MAAM,eAAe;;;;;CAAgC,CAAC;AAC7D,eAAO,MAAM,WAAW;;;;;CAA4B,CAAC;AACrD,eAAO,MAAM,UAAU;;;;;CAA2B,CAAC;AACnD,eAAO,MAAM,YAAY;;;;;CAA6B,CAAC;AACvD,eAAO,MAAM,gBAAgB;;;;;CAAiC,CAAC;AAC/D,eAAO,MAAM,wBAAwB;;;;;CAAyC,CAAC;AAC/E,eAAO,MAAM,wBAAwB;;;;;CAAyC,CAAC;AAC/E,eAAO,MAAM,cAAc;;;;;CAA+B,CAAC;AAI3D,eAAO,MAAM,cAAc;;;;;CAAmC,CAAC;AAC/D,eAAO,MAAM,gBAAgB;;;;;CAAqC,CAAC;AACnE,eAAO,MAAM,gBAAgB;;;;;CAAqC,CAAC;AACnE,eAAO,MAAM,iBAAiB;;;;;CAAsC,CAAC;AACrE,eAAO,MAAM,oBAAoB;;;;;CAAyC,CAAC;AAC3E,eAAO,MAAM,gBAAgB;;;;;CAAqC,CAAC;AACnE,eAAO,MAAM,eAAe;;;;;CAAoC,CAAC;AACjE,eAAO,MAAM,2BAA2B;;;;;CAEvC,CAAC;AACF,eAAO,MAAM,wBAAwB;;;;;CAEpC,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;CAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAMjC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYxC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAKhC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;CAUzC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBrC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB1C,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAA+C,CAAC;AAI1E,eAAO,MAAM,YAAY;;;;;CAA6B,CAAC;AACvD,eAAO,MAAM,iBAAiB;;;;;CAAsC,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;CAM/B,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAC;AAIF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAChC,KAAK,EAAE;IAAE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,CAAA;CAAE;AAC9C,8EAA8E;AAC9E,IAAI,EAAE,OAAO,GACd,CAAC,CAQH"}
|
package/dist/codecs.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* decode() returns typed data without runtime validation (SDK trusts server).
|
|
13
13
|
* For trust boundary validation, use codec.decodeSafe() directly.
|
|
14
14
|
*/
|
|
15
|
-
import { ActionTokenSchema, ChannelSchema, DeviceSchema, EmojiSchema, FileSQLSchema, InviteSchema, KeyBundleSchema, PasskeySchema, PermissionSchema, ServerChannelBootstrapSchema, ServerSchema, UserSchema, } from "@vex-chat/types";
|
|
15
|
+
import { AccountEntitlementsSchema, ActionTokenSchema, BillingAccountStateSchema, BillingProductSchema, ChannelSchema, DeviceSchema, EmojiSchema, FileSQLSchema, InviteSchema, KeyBundleSchema, PasskeySchema, PermissionSchema, ServerChannelBootstrapSchema, ServerSchema, UserSchema, } from "@vex-chat/types";
|
|
16
16
|
import { z } from "zod/v4";
|
|
17
17
|
import { createCodec } from "./codec.js";
|
|
18
18
|
// ── Named schema codecs ─────────────────────────────────────────────────────
|
|
@@ -25,6 +25,8 @@ export const InviteCodec = createCodec(InviteSchema);
|
|
|
25
25
|
export const EmojiCodec = createCodec(EmojiSchema);
|
|
26
26
|
export const FileSQLCodec = createCodec(FileSQLSchema);
|
|
27
27
|
export const ActionTokenCodec = createCodec(ActionTokenSchema);
|
|
28
|
+
export const AccountEntitlementsCodec = createCodec(AccountEntitlementsSchema);
|
|
29
|
+
export const BillingAccountStateCodec = createCodec(BillingAccountStateSchema);
|
|
28
30
|
export const KeyBundleCodec = createCodec(KeyBundleSchema);
|
|
29
31
|
// ── Array codecs ────────────────────────────────────────────────────────────
|
|
30
32
|
export const UserArrayCodec = createCodec(z.array(UserSchema));
|
|
@@ -35,6 +37,7 @@ export const PermissionArrayCodec = createCodec(z.array(PermissionSchema));
|
|
|
35
37
|
export const InviteArrayCodec = createCodec(z.array(InviteSchema));
|
|
36
38
|
export const EmojiArrayCodec = createCodec(z.array(EmojiSchema));
|
|
37
39
|
export const ServerChannelBootstrapCodec = createCodec(ServerChannelBootstrapSchema);
|
|
40
|
+
export const BillingProductArrayCodec = createCodec(z.array(BillingProductSchema));
|
|
38
41
|
// ── Inline ad-hoc response codecs ───────────────────────────────────────────
|
|
39
42
|
export const ConnectResponseCodec = createCodec(z.object({ deviceToken: z.string() }));
|
|
40
43
|
export const AuthResponseCodec = createCodec(z.object({
|
package/dist/codecs.js.map
CHANGED
|
@@ -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, DeviceApprovalRequiredError } from "./Client.js";
|
|
7
|
-
export type { Calls, Channel, Channels, ClientEvents, ClientOptions, Device, DeviceRegistrationResult, Devices, Emojis, FileProgress, FileRes, Files, Invites, Keys, Me, Message, Messages, MessageSendOptions, Moderation, NotificationSubscription, NotificationSubscriptionInput, Passkeys, PendingDeviceApprovalStatus, PendingDeviceRegistration, PendingDeviceRequest, Permission, Permissions, Server, ServerChannelBootstrap, Servers, Session, Sessions, User, Users, VexFile, } from "./Client.js";
|
|
7
|
+
export type { Calls, Channel, Channels, ClientEvents, ClientOptions, Device, DeviceRegistrationResult, Devices, Emojis, Entitlements, FileProgress, FileRes, Files, Invites, Keys, Me, Message, Messages, MessageSendOptions, Moderation, NotificationSubscription, NotificationSubscriptionInput, Passkeys, PendingDeviceApprovalStatus, PendingDeviceRegistration, PendingDeviceRequest, Permission, Permissions, Server, ServerChannelBootstrap, Servers, Session, Sessions, User, Users, VexFile, } from "./Client.js";
|
|
8
8
|
export { createCodec, msgpack } from "./codec.js";
|
|
9
9
|
export { HttpError, isHttpError } from "./http.js";
|
|
10
10
|
export type { HttpErrorOptions, HttpRequestRecord, HttpResponse, } from "./http.js";
|
|
@@ -13,5 +13,5 @@ export type { EncryptedFileAttachmentReference, MessageDeleteEvent, MessageEmbed
|
|
|
13
13
|
export { clampLocalMessageRetentionDays, effectiveMessageRetentionHintDays, MAX_LOCAL_MESSAGE_RETENTION_DAYS, } from "./retention.js";
|
|
14
14
|
export type { MessageUpdatePatch, Storage } from "./Storage.js";
|
|
15
15
|
export type { KeyPair, KeyStore, PreKeysCrypto, SessionCrypto, StoredCredentials, UnsavedPreKey, } from "./types/index.js";
|
|
16
|
-
export type { CallAction, CallEvent, CallParticipant, CallSession, CallSignalPayload, IceServerConfig, Invite, Passkey, } from "@vex-chat/types";
|
|
16
|
+
export type { AccountEntitlements, AccountTier, AppleTransactionVerificationRequest, BillingAccountState, BillingProduct, BillingSubscription, BillingSubscriptionStatus, CallAction, CallEvent, CallParticipant, CallSession, CallSignalPayload, GooglePurchaseVerificationRequest, IceServerConfig, Invite, Passkey, } from "@vex-chat/types";
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EACR,KAAK,EACL,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,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,QAAQ,EACR,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,MAAM,EACN,sBAAsB,EACtB,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,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,kCAAkC,EAClC,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,gCAAgC,EAChC,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,GACnC,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACR,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,MAAM,EACN,OAAO,GACV,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EACR,KAAK,EACL,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,MAAM,EACN,wBAAwB,EACxB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,EACJ,EAAE,EACF,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,QAAQ,EACR,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,MAAM,EACN,sBAAsB,EACtB,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,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACR,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,kCAAkC,EAClC,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACR,gCAAgC,EAChC,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,GACnC,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACR,mBAAmB,EACnB,WAAW,EACX,mCAAmC,EACnC,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iCAAiC,EACjC,eAAe,EACf,MAAM,EACN,OAAO,GACV,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,2BAA2B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAuClE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMnD,OAAO,EACH,kCAAkC,EAClC,6BAA6B,EAC7B,uBAAuB,EACvB,6BAA6B,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACxB,MAAM,mBAAmB,CAAC;AAyB3B,OAAO,EACH,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,GACnC,MAAM,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vex-chat/libvex",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0",
|
|
4
4
|
"description": "Library for communicating with xchat server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -92,8 +92,8 @@
|
|
|
92
92
|
"msgpackr": "^1.11.9",
|
|
93
93
|
"uuid": "^14.0.0",
|
|
94
94
|
"zod": "^4.3.6",
|
|
95
|
-
"@vex-chat/crypto": "^
|
|
96
|
-
"@vex-chat/types": "^4.
|
|
95
|
+
"@vex-chat/crypto": "^10.0.0",
|
|
96
|
+
"@vex-chat/types": "^4.3.0"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|
|
99
99
|
"better-sqlite3": ">=11.0.0"
|
package/src/Client.ts
CHANGED
|
@@ -14,7 +14,12 @@ import type {
|
|
|
14
14
|
} from "./types/index.js";
|
|
15
15
|
import type { KeyPair } from "@vex-chat/crypto";
|
|
16
16
|
import type {
|
|
17
|
+
AccountEntitlements,
|
|
18
|
+
AccountTier,
|
|
17
19
|
ActionToken,
|
|
20
|
+
AppleTransactionVerificationRequest,
|
|
21
|
+
BillingAccountState,
|
|
22
|
+
BillingProduct,
|
|
18
23
|
CallEvent,
|
|
19
24
|
CallResourceData,
|
|
20
25
|
CallSession,
|
|
@@ -26,6 +31,7 @@ import type {
|
|
|
26
31
|
Emoji,
|
|
27
32
|
FileResponse,
|
|
28
33
|
FileSQL,
|
|
34
|
+
GooglePurchaseVerificationRequest,
|
|
29
35
|
IceServerConfig,
|
|
30
36
|
Invite,
|
|
31
37
|
KeyBundle,
|
|
@@ -335,8 +341,11 @@ function spireErrorBodyMessage(data: unknown, max = 8_000): string {
|
|
|
335
341
|
|
|
336
342
|
import { msgpack } from "./codec.js";
|
|
337
343
|
import {
|
|
344
|
+
AccountEntitlementsCodec,
|
|
338
345
|
ActionTokenCodec,
|
|
339
346
|
AuthResponseCodec,
|
|
347
|
+
BillingAccountStateCodec,
|
|
348
|
+
BillingProductArrayCodec,
|
|
340
349
|
ChannelArrayCodec,
|
|
341
350
|
ChannelCodec,
|
|
342
351
|
ConnectResponseCodec,
|
|
@@ -374,6 +383,24 @@ import { uuidToUint8 } from "./utils/uint8uuid.js";
|
|
|
374
383
|
|
|
375
384
|
const _protocolMsgRegex = /��\w+:\w+��/g;
|
|
376
385
|
|
|
386
|
+
/**
|
|
387
|
+
* @ignore
|
|
388
|
+
*/
|
|
389
|
+
export interface Billing {
|
|
390
|
+
/** Returns the configured StoreKit / Play Billing product catalog. */
|
|
391
|
+
products: () => Promise<BillingProduct[]>;
|
|
392
|
+
/** Returns the current billing subscriptions and derived entitlements. */
|
|
393
|
+
retrieve: () => Promise<BillingAccountState>;
|
|
394
|
+
/** Submits an App Store transaction for server-side verification. */
|
|
395
|
+
submitAppleTransaction: (
|
|
396
|
+
request: AppleTransactionVerificationRequest,
|
|
397
|
+
) => Promise<BillingAccountState>;
|
|
398
|
+
/** Submits a Google Play purchase token for server-side verification. */
|
|
399
|
+
submitGooglePurchase: (
|
|
400
|
+
request: GooglePurchaseVerificationRequest,
|
|
401
|
+
) => Promise<BillingAccountState>;
|
|
402
|
+
}
|
|
403
|
+
|
|
377
404
|
/**
|
|
378
405
|
* Voice-call signaling operations.
|
|
379
406
|
*
|
|
@@ -451,6 +478,18 @@ export interface ClientOptions {
|
|
|
451
478
|
|
|
452
479
|
export type DeviceRegistrationResult = Device | PendingDeviceRegistration;
|
|
453
480
|
|
|
481
|
+
/**
|
|
482
|
+
* Permission is a permission to a resource.
|
|
483
|
+
*
|
|
484
|
+
* Common fields:
|
|
485
|
+
* - `permissionID`: unique permission row ID
|
|
486
|
+
* - `userID`: user receiving this grant
|
|
487
|
+
* - `resourceID`: target server/channel/etc.
|
|
488
|
+
* - `resourceType`: type string for the resource
|
|
489
|
+
* - `powerLevel`: authorization level
|
|
490
|
+
*/
|
|
491
|
+
export type { Permission } from "@vex-chat/types";
|
|
492
|
+
|
|
454
493
|
/**
|
|
455
494
|
* @ignore
|
|
456
495
|
*/
|
|
@@ -535,18 +574,6 @@ export interface Devices {
|
|
|
535
574
|
retrieve: (deviceIdentifier: string) => Promise<Device | null>;
|
|
536
575
|
}
|
|
537
576
|
|
|
538
|
-
/**
|
|
539
|
-
* Permission is a permission to a resource.
|
|
540
|
-
*
|
|
541
|
-
* Common fields:
|
|
542
|
-
* - `permissionID`: unique permission row ID
|
|
543
|
-
* - `userID`: user receiving this grant
|
|
544
|
-
* - `resourceID`: target server/channel/etc.
|
|
545
|
-
* - `resourceType`: type string for the resource
|
|
546
|
-
* - `powerLevel`: authorization level
|
|
547
|
-
*/
|
|
548
|
-
export type { Permission } from "@vex-chat/types";
|
|
549
|
-
|
|
550
577
|
/**
|
|
551
578
|
* @ignore
|
|
552
579
|
*/
|
|
@@ -563,6 +590,23 @@ export interface Emojis {
|
|
|
563
590
|
retrieveList: (serverID: string) => Promise<Emoji[]>;
|
|
564
591
|
}
|
|
565
592
|
|
|
593
|
+
/**
|
|
594
|
+
* @ignore
|
|
595
|
+
*/
|
|
596
|
+
export interface Entitlements {
|
|
597
|
+
/** Retrieves the server-authoritative entitlement snapshot. */
|
|
598
|
+
retrieve: () => Promise<AccountEntitlements>;
|
|
599
|
+
/**
|
|
600
|
+
* Local development helper. Spire only serves this endpoint when
|
|
601
|
+
* `VEX_ENABLE_DEV_ENTITLEMENTS=1`, `DEV_API_KEY` is configured, and
|
|
602
|
+
* `NODE_ENV` is not `production`.
|
|
603
|
+
*/
|
|
604
|
+
setDevTier: (
|
|
605
|
+
tier: AccountTier,
|
|
606
|
+
options?: { expiresAt?: null | string },
|
|
607
|
+
) => Promise<AccountEntitlements>;
|
|
608
|
+
}
|
|
609
|
+
|
|
566
610
|
/**
|
|
567
611
|
* Device record associated with a user account.
|
|
568
612
|
*
|
|
@@ -1322,6 +1366,14 @@ export class Client {
|
|
|
1322
1366
|
|
|
1323
1367
|
private static readonly NOT_FOUND_TTL = 30 * 60 * 1000;
|
|
1324
1368
|
|
|
1369
|
+
/** Store subscription billing methods. */
|
|
1370
|
+
public billing: Billing = {
|
|
1371
|
+
products: this.getBillingProducts.bind(this),
|
|
1372
|
+
retrieve: this.getBillingAccountState.bind(this),
|
|
1373
|
+
submitAppleTransaction: this.submitAppleTransaction.bind(this),
|
|
1374
|
+
submitGooglePurchase: this.submitGooglePurchase.bind(this),
|
|
1375
|
+
};
|
|
1376
|
+
|
|
1325
1377
|
/**
|
|
1326
1378
|
* Voice-call signaling operations.
|
|
1327
1379
|
*
|
|
@@ -1430,6 +1482,12 @@ export class Client {
|
|
|
1430
1482
|
retrieveList: this.retrieveEmojiList.bind(this),
|
|
1431
1483
|
};
|
|
1432
1484
|
|
|
1485
|
+
/** Account entitlement methods. */
|
|
1486
|
+
public entitlements: Entitlements = {
|
|
1487
|
+
retrieve: this.getAccountEntitlements.bind(this),
|
|
1488
|
+
setDevTier: this.setDevAccountTier.bind(this),
|
|
1489
|
+
};
|
|
1490
|
+
|
|
1433
1491
|
/** File upload/download methods. */
|
|
1434
1492
|
public files: Files = {
|
|
1435
1493
|
/**
|
|
@@ -3454,6 +3512,23 @@ export class Client {
|
|
|
3454
3512
|
});
|
|
3455
3513
|
}
|
|
3456
3514
|
|
|
3515
|
+
private async getAccountEntitlements(): Promise<AccountEntitlements> {
|
|
3516
|
+
const res = await this.http.get(
|
|
3517
|
+
this.getHost() + "/user/" + this.getUser().userID + "/entitlements",
|
|
3518
|
+
);
|
|
3519
|
+
return decodeHttpResponse(AccountEntitlementsCodec, res.data);
|
|
3520
|
+
}
|
|
3521
|
+
|
|
3522
|
+
private async getBillingAccountState(): Promise<BillingAccountState> {
|
|
3523
|
+
const res = await this.http.get(this.getHost() + "/billing/account");
|
|
3524
|
+
return decodeHttpResponse(BillingAccountStateCodec, res.data);
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
private async getBillingProducts(): Promise<BillingProduct[]> {
|
|
3528
|
+
const res = await this.http.get(this.getHost() + "/billing/products");
|
|
3529
|
+
return decodeHttpResponse(BillingProductArrayCodec, res.data);
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3457
3532
|
private async getChannelByID(channelID: string): Promise<Channel | null> {
|
|
3458
3533
|
try {
|
|
3459
3534
|
const res = await this.http.get(
|
|
@@ -5931,6 +6006,23 @@ export class Client {
|
|
|
5931
6006
|
this.isAlive = status;
|
|
5932
6007
|
}
|
|
5933
6008
|
|
|
6009
|
+
private async setDevAccountTier(
|
|
6010
|
+
tier: AccountTier,
|
|
6011
|
+
options?: { expiresAt?: null | string },
|
|
6012
|
+
): Promise<AccountEntitlements> {
|
|
6013
|
+
const res = await this.http.patch(
|
|
6014
|
+
this.getHost() +
|
|
6015
|
+
"/__dev/user/" +
|
|
6016
|
+
this.getUser().userID +
|
|
6017
|
+
"/entitlements",
|
|
6018
|
+
{
|
|
6019
|
+
expiresAt: options?.expiresAt ?? null,
|
|
6020
|
+
tier,
|
|
6021
|
+
},
|
|
6022
|
+
);
|
|
6023
|
+
return decodeHttpResponse(AccountEntitlementsCodec, res.data);
|
|
6024
|
+
}
|
|
6025
|
+
|
|
5934
6026
|
private setUser(user: User): void {
|
|
5935
6027
|
this.user = user;
|
|
5936
6028
|
// Fresh identity / token: drop stale 404 negative-cache entries so a
|
|
@@ -5973,6 +6065,26 @@ export class Client {
|
|
|
5973
6065
|
);
|
|
5974
6066
|
}
|
|
5975
6067
|
|
|
6068
|
+
private async submitAppleTransaction(
|
|
6069
|
+
request: AppleTransactionVerificationRequest,
|
|
6070
|
+
): Promise<BillingAccountState> {
|
|
6071
|
+
const res = await this.http.post(
|
|
6072
|
+
this.getHost() + "/billing/apple/transactions",
|
|
6073
|
+
request,
|
|
6074
|
+
);
|
|
6075
|
+
return decodeHttpResponse(BillingAccountStateCodec, res.data);
|
|
6076
|
+
}
|
|
6077
|
+
|
|
6078
|
+
private async submitGooglePurchase(
|
|
6079
|
+
request: GooglePurchaseVerificationRequest,
|
|
6080
|
+
): Promise<BillingAccountState> {
|
|
6081
|
+
const res = await this.http.post(
|
|
6082
|
+
this.getHost() + "/billing/google/purchases",
|
|
6083
|
+
request,
|
|
6084
|
+
);
|
|
6085
|
+
return decodeHttpResponse(BillingAccountStateCodec, res.data);
|
|
6086
|
+
}
|
|
6087
|
+
|
|
5976
6088
|
private async submitOTK(amount: number) {
|
|
5977
6089
|
const otks: UnsavedPreKey[] = [];
|
|
5978
6090
|
|
package/src/codecs.ts
CHANGED
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
* For trust boundary validation, use codec.decodeSafe() directly.
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
|
+
AccountEntitlementsSchema,
|
|
17
18
|
ActionTokenSchema,
|
|
19
|
+
BillingAccountStateSchema,
|
|
20
|
+
BillingProductSchema,
|
|
18
21
|
ChannelSchema,
|
|
19
22
|
DeviceSchema,
|
|
20
23
|
EmojiSchema,
|
|
@@ -43,6 +46,8 @@ export const InviteCodec = createCodec(InviteSchema);
|
|
|
43
46
|
export const EmojiCodec = createCodec(EmojiSchema);
|
|
44
47
|
export const FileSQLCodec = createCodec(FileSQLSchema);
|
|
45
48
|
export const ActionTokenCodec = createCodec(ActionTokenSchema);
|
|
49
|
+
export const AccountEntitlementsCodec = createCodec(AccountEntitlementsSchema);
|
|
50
|
+
export const BillingAccountStateCodec = createCodec(BillingAccountStateSchema);
|
|
46
51
|
export const KeyBundleCodec = createCodec(KeyBundleSchema);
|
|
47
52
|
|
|
48
53
|
// ── Array codecs ────────────────────────────────────────────────────────────
|
|
@@ -57,6 +62,9 @@ export const EmojiArrayCodec = createCodec(z.array(EmojiSchema));
|
|
|
57
62
|
export const ServerChannelBootstrapCodec = createCodec(
|
|
58
63
|
ServerChannelBootstrapSchema,
|
|
59
64
|
);
|
|
65
|
+
export const BillingProductArrayCodec = createCodec(
|
|
66
|
+
z.array(BillingProductSchema),
|
|
67
|
+
);
|
|
60
68
|
|
|
61
69
|
// ── Inline ad-hoc response codecs ───────────────────────────────────────────
|
|
62
70
|
|
package/src/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type {
|
|
|
15
15
|
DeviceRegistrationResult,
|
|
16
16
|
Devices,
|
|
17
17
|
Emojis,
|
|
18
|
+
Entitlements,
|
|
18
19
|
FileProgress,
|
|
19
20
|
FileRes,
|
|
20
21
|
Files,
|
|
@@ -98,11 +99,19 @@ export type {
|
|
|
98
99
|
} from "./types/index.js";
|
|
99
100
|
// Re-export app-facing types
|
|
100
101
|
export type {
|
|
102
|
+
AccountEntitlements,
|
|
103
|
+
AccountTier,
|
|
104
|
+
AppleTransactionVerificationRequest,
|
|
105
|
+
BillingAccountState,
|
|
106
|
+
BillingProduct,
|
|
107
|
+
BillingSubscription,
|
|
108
|
+
BillingSubscriptionStatus,
|
|
101
109
|
CallAction,
|
|
102
110
|
CallEvent,
|
|
103
111
|
CallParticipant,
|
|
104
112
|
CallSession,
|
|
105
113
|
CallSignalPayload,
|
|
114
|
+
GooglePurchaseVerificationRequest,
|
|
106
115
|
IceServerConfig,
|
|
107
116
|
Invite,
|
|
108
117
|
Passkey,
|