@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/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;
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,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,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;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"}
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({
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,YAAY,EACZ,UAAU,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAClD,4BAA4B,CAC/B,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC3C,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CACxC,CAAC,CAAC,MAAM,CAAC;IACL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC5C,CAAC,CAAC,MAAM,CAAC;IACL,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACnD,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACrC,6DAA6D;IAC7D,iEAAiE;IACjE,6DAA6D;IAC7D,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC3C,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACpD,CAAC,CAAC,KAAK,CAAC;IACJ,YAAY;IACZ,CAAC,CAAC,MAAM,CAAC;QACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;KACxC,CAAC;CACL,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAChD,CAAC,CAAC,MAAM,CAAC;IACL,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACrD,CAAC,CAAC,KAAK,CACH,CAAC,CAAC,MAAM,CAAC;IACL,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CACL,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAClC,CAAC,CAAC,MAAM,CAAC;IACL,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAC1C,CAAC,CAAC,MAAM,CAAC;IACL,yHAAyH;IACzH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAoB;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACrD,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAC9B,KAA8C;AAC9C,8EAA8E;AAC9E,IAAa;IAEb,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,OAAO,EACH,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,YAAY,EACZ,UAAU,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAClD,4BAA4B,CAC/B,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAC/C,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAChC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC3C,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CACxC,CAAC,CAAC,MAAM,CAAC;IACL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC5C,CAAC,CAAC,MAAM,CAAC;IACL,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,CACnD,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACrC,6DAA6D;IAC7D,iEAAiE;IACjE,6DAA6D;IAC7D,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAC3C,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAW,CACpD,CAAC,CAAC,KAAK,CAAC;IACJ,YAAY;IACZ,CAAC,CAAC,MAAM,CAAC;QACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;KACxC,CAAC;CACL,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAChD,CAAC,CAAC,MAAM,CAAC;IACL,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACrD,CAAC,CAAC,KAAK,CACH,CAAC,CAAC,MAAM,CAAC;IACL,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACrB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CACL,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAClC,CAAC,CAAC,MAAM,CAAC;IACL,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAC1C,CAAC,CAAC,MAAM,CAAC;IACL,yHAAyH;IACzH,OAAO,EAAE,CAAC,CAAC,OAAO,EAAoB;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CACrD,CAAC,CAAC,MAAM,CAAC;IACL,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,UAAU;CACnB,CAAC,CACL,CAAC;AAEF,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAC9B,KAA8C;AAC9C,8EAA8E;AAC9E,IAAa;IAEb,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AAC7E,CAAC"}
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
@@ -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;AAsClE,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"}
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.2.0",
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": "^8.0.0",
96
- "@vex-chat/types": "^4.1.0"
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,