ping-openmls-sdk 0.6.11 → 0.6.13

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.
@@ -76,6 +76,13 @@ export class PingClient {
76
76
  static init(identity_export: Uint8Array, device_label: string, storage: JsStorage, transport: JsTransport, now_ms: number, device_signing_secret_key?: Uint8Array | null): Promise<PingClient>;
77
77
  joinConversation(welcome: any, now_ms: number): Promise<Uint8Array>;
78
78
  listConversations(): any;
79
+ /**
80
+ * Member roster for a conversation (recovered from MLS leaf
81
+ * credentials). Returns `[{ user_id, leaf_index }, ...]`; empty for an
82
+ * unknown id. Lets a device that joined via a linking Welcome resolve a
83
+ * 1:1 peer's `UserId` without the out-of-band `ping.profile` re-send.
84
+ */
85
+ members(conv_id: Uint8Array): any;
79
86
  onMessage(cb: Function): void;
80
87
  processEnvelope(env: any, now_ms: number): Promise<any>;
81
88
  removeMembers(conv_id: Uint8Array, leaves: Uint32Array, now_ms: number): Promise<void>;
@@ -215,6 +222,18 @@ export function encryptBackup(mnemonic_phrase: string, account_id: Uint8Array, i
215
222
  */
216
223
  export function generateMnemonicPhrase(): string;
217
224
 
225
+ /**
226
+ * Generic HPKE-Base open — inverse of [`hpke_seal`]. `info` must match the sender.
227
+ */
228
+ export function hpkeOpen(sealed: Uint8Array, recipient_priv: Uint8Array, info: Uint8Array): Uint8Array;
229
+
230
+ /**
231
+ * Generic HPKE-Base seal of arbitrary bytes under a caller-supplied `info`. One
232
+ * shared HPKE for app-layer envelopes (e.g. device-linking auth envelope) so the
233
+ * web + mobile sides stop hand-rolling HPKE that drifts cross-platform.
234
+ */
235
+ export function hpkeSeal(plaintext: Uint8Array, recipient_pub: Uint8Array, info: Uint8Array): Uint8Array;
236
+
218
237
  /**
219
238
  * Validate + canonicalise a user-entered phrase (BIP39 wordlist + checksum).
220
239
  */
@@ -254,6 +273,8 @@ export interface InitOutput {
254
273
  readonly decryptBackup: (a: number, b: number, c: number, d: number, e: number) => void;
255
274
  readonly encryptBackup: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
256
275
  readonly generateMnemonicPhrase: (a: number) => void;
276
+ readonly hpkeOpen: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
277
+ readonly hpkeSeal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
257
278
  readonly normalizeMnemonicPhrase: (a: number, b: number, c: number) => void;
258
279
  readonly openHistoryBundle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
259
280
  readonly openLinkingTicket: (a: number, b: number, c: number, d: number, e: number) => void;
@@ -271,6 +292,7 @@ export interface InitOutput {
271
292
  readonly pingclient_init: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
272
293
  readonly pingclient_joinConversation: (a: number, b: number, c: number) => number;
273
294
  readonly pingclient_listConversations: (a: number, b: number) => void;
295
+ readonly pingclient_members: (a: number, b: number, c: number, d: number) => void;
274
296
  readonly pingclient_onMessage: (a: number, b: number) => void;
275
297
  readonly pingclient_processEnvelope: (a: number, b: number, c: number) => number;
276
298
  readonly pingclient_removeMembers: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
@@ -296,9 +318,9 @@ export interface InitOutput {
296
318
  readonly wasmbindgentestcontext_include_ignored: (a: number, b: number) => void;
297
319
  readonly wasmbindgentestcontext_new: (a: number) => number;
298
320
  readonly wasmbindgentestcontext_run: (a: number, b: number, c: number) => number;
299
- readonly __wasm_bindgen_func_elem_2823: (a: number, b: number, c: number, d: number, e: number) => void;
300
- readonly __wasm_bindgen_func_elem_2809: (a: number, b: number, c: number, d: number) => void;
301
- readonly __wasm_bindgen_func_elem_2833: (a: number, b: number, c: number, d: number) => void;
321
+ readonly __wasm_bindgen_func_elem_2834: (a: number, b: number, c: number, d: number, e: number) => void;
322
+ readonly __wasm_bindgen_func_elem_2820: (a: number, b: number, c: number, d: number) => void;
323
+ readonly __wasm_bindgen_func_elem_2844: (a: number, b: number, c: number, d: number) => void;
302
324
  readonly __wbindgen_export: (a: number, b: number) => number;
303
325
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
304
326
  readonly __wbindgen_export3: (a: number) => void;
package/wasm/ping_wasm.js CHANGED
@@ -277,6 +277,31 @@ export class PingClient {
277
277
  wasm.__wbindgen_add_to_stack_pointer(16);
278
278
  }
279
279
  }
280
+ /**
281
+ * Member roster for a conversation (recovered from MLS leaf
282
+ * credentials). Returns `[{ user_id, leaf_index }, ...]`; empty for an
283
+ * unknown id. Lets a device that joined via a linking Welcome resolve a
284
+ * 1:1 peer's `UserId` without the out-of-band `ping.profile` re-send.
285
+ * @param {Uint8Array} conv_id
286
+ * @returns {any}
287
+ */
288
+ members(conv_id) {
289
+ try {
290
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
291
+ const ptr0 = passArray8ToWasm0(conv_id, wasm.__wbindgen_export);
292
+ const len0 = WASM_VECTOR_LEN;
293
+ wasm.pingclient_members(retptr, this.__wbg_ptr, ptr0, len0);
294
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
295
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
296
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
297
+ if (r2) {
298
+ throw takeObject(r1);
299
+ }
300
+ return takeObject(r0);
301
+ } finally {
302
+ wasm.__wbindgen_add_to_stack_pointer(16);
303
+ }
304
+ }
280
305
  /**
281
306
  * @param {Function} cb
282
307
  */
@@ -719,6 +744,66 @@ export function generateMnemonicPhrase() {
719
744
  }
720
745
  }
721
746
 
747
+ /**
748
+ * Generic HPKE-Base open — inverse of [`hpke_seal`]. `info` must match the sender.
749
+ * @param {Uint8Array} sealed
750
+ * @param {Uint8Array} recipient_priv
751
+ * @param {Uint8Array} info
752
+ * @returns {Uint8Array}
753
+ */
754
+ export function hpkeOpen(sealed, recipient_priv, info) {
755
+ try {
756
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
757
+ const ptr0 = passArray8ToWasm0(sealed, wasm.__wbindgen_export);
758
+ const len0 = WASM_VECTOR_LEN;
759
+ const ptr1 = passArray8ToWasm0(recipient_priv, wasm.__wbindgen_export);
760
+ const len1 = WASM_VECTOR_LEN;
761
+ const ptr2 = passArray8ToWasm0(info, wasm.__wbindgen_export);
762
+ const len2 = WASM_VECTOR_LEN;
763
+ wasm.hpkeOpen(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
764
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
765
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
766
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
767
+ if (r2) {
768
+ throw takeObject(r1);
769
+ }
770
+ return takeObject(r0);
771
+ } finally {
772
+ wasm.__wbindgen_add_to_stack_pointer(16);
773
+ }
774
+ }
775
+
776
+ /**
777
+ * Generic HPKE-Base seal of arbitrary bytes under a caller-supplied `info`. One
778
+ * shared HPKE for app-layer envelopes (e.g. device-linking auth envelope) so the
779
+ * web + mobile sides stop hand-rolling HPKE that drifts cross-platform.
780
+ * @param {Uint8Array} plaintext
781
+ * @param {Uint8Array} recipient_pub
782
+ * @param {Uint8Array} info
783
+ * @returns {Uint8Array}
784
+ */
785
+ export function hpkeSeal(plaintext, recipient_pub, info) {
786
+ try {
787
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
788
+ const ptr0 = passArray8ToWasm0(plaintext, wasm.__wbindgen_export);
789
+ const len0 = WASM_VECTOR_LEN;
790
+ const ptr1 = passArray8ToWasm0(recipient_pub, wasm.__wbindgen_export);
791
+ const len1 = WASM_VECTOR_LEN;
792
+ const ptr2 = passArray8ToWasm0(info, wasm.__wbindgen_export);
793
+ const len2 = WASM_VECTOR_LEN;
794
+ wasm.hpkeSeal(retptr, ptr0, len0, ptr1, len1, ptr2, len2);
795
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
796
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
797
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
798
+ if (r2) {
799
+ throw takeObject(r1);
800
+ }
801
+ return takeObject(r0);
802
+ } finally {
803
+ wasm.__wbindgen_add_to_stack_pointer(16);
804
+ }
805
+ }
806
+
722
807
  /**
723
808
  * Validate + canonicalise a user-entered phrase (BIP39 wordlist + checksum).
724
809
  * @param {string} phrase
@@ -989,11 +1074,11 @@ function __wbg_get_imports() {
989
1074
  const ret = getObject(arg0).crypto;
990
1075
  return addHeapObject(ret);
991
1076
  },
992
- __wbg_del_fa6fa51dfecb7790: function(arg0, arg1, arg2, arg3, arg4) {
1077
+ __wbg_del_d063d1a902187e3f: function(arg0, arg1, arg2, arg3, arg4) {
993
1078
  const ret = getObject(arg0).del(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
994
1079
  return addHeapObject(ret);
995
1080
  },
996
- __wbg_discoverDevices_8ab431792606218b: function(arg0, arg1) {
1081
+ __wbg_discoverDevices_eb9e8907f6c3ed44: function(arg0, arg1) {
997
1082
  const ret = getObject(arg0).discoverDevices(takeObject(arg1));
998
1083
  return addHeapObject(ret);
999
1084
  },
@@ -1019,7 +1104,7 @@ function __wbg_get_imports() {
1019
1104
  wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);
1020
1105
  }
1021
1106
  },
1022
- __wbg_fetchSince_75298a786c61d0f7: function(arg0, arg1, arg2, arg3) {
1107
+ __wbg_fetchSince_3e2efbfd33ae40ec: function(arg0, arg1, arg2, arg3) {
1023
1108
  const ret = getObject(arg0).fetchSince(takeObject(arg1), takeObject(arg2), arg3 >>> 0);
1024
1109
  return addHeapObject(ret);
1025
1110
  },
@@ -1030,7 +1115,7 @@ function __wbg_get_imports() {
1030
1115
  const a = state0.a;
1031
1116
  state0.a = 0;
1032
1117
  try {
1033
- return __wasm_bindgen_func_elem_2823(a, state0.b, arg0, arg1, arg2);
1118
+ return __wasm_bindgen_func_elem_2834(a, state0.b, arg0, arg1, arg2);
1034
1119
  } finally {
1035
1120
  state0.a = a;
1036
1121
  }
@@ -1054,7 +1139,7 @@ function __wbg_get_imports() {
1054
1139
  __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {
1055
1140
  getObject(arg0).getRandomValues(getObject(arg1));
1056
1141
  }, arguments); },
1057
- __wbg_get_2b4582aef1cd40ce: function(arg0, arg1, arg2, arg3, arg4) {
1142
+ __wbg_get_5bcec73d4bfb1927: function(arg0, arg1, arg2, arg3, arg4) {
1058
1143
  const ret = getObject(arg0).get(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1059
1144
  return addHeapObject(ret);
1060
1145
  },
@@ -1114,7 +1199,7 @@ function __wbg_get_imports() {
1114
1199
  const ret = getObject(arg0).length;
1115
1200
  return ret;
1116
1201
  },
1117
- __wbg_listKeys_09f892516cb70a84: function(arg0, arg1, arg2, arg3, arg4) {
1202
+ __wbg_listKeys_45eb49ba2f526616: function(arg0, arg1, arg2, arg3, arg4) {
1118
1203
  const ret = getObject(arg0).listKeys(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1119
1204
  return addHeapObject(ret);
1120
1205
  },
@@ -1171,7 +1256,7 @@ function __wbg_get_imports() {
1171
1256
  const a = state0.a;
1172
1257
  state0.a = 0;
1173
1258
  try {
1174
- return __wasm_bindgen_func_elem_2833(a, state0.b, arg0, arg1);
1259
+ return __wasm_bindgen_func_elem_2844(a, state0.b, arg0, arg1);
1175
1260
  } finally {
1176
1261
  state0.a = a;
1177
1262
  }
@@ -1221,7 +1306,7 @@ function __wbg_get_imports() {
1221
1306
  __wbg_prototypesetcall_fd4050e806e1d519: function(arg0, arg1, arg2) {
1222
1307
  Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
1223
1308
  },
1224
- __wbg_put_a46e1d4200975632: function(arg0, arg1, arg2, arg3, arg4, arg5) {
1309
+ __wbg_put_c5221f22824fe290: function(arg0, arg1, arg2, arg3, arg4, arg5) {
1225
1310
  const ret = getObject(arg0).put(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4), takeObject(arg5));
1226
1311
  return addHeapObject(ret);
1227
1312
  },
@@ -1247,11 +1332,11 @@ function __wbg_get_imports() {
1247
1332
  const ret = getObject(arg0).self;
1248
1333
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
1249
1334
  },
1250
- __wbg_send_253a734f22423ba0: function(arg0, arg1) {
1335
+ __wbg_send_90d630af74abfbd7: function(arg0, arg1) {
1251
1336
  const ret = getObject(arg0).send(takeObject(arg1));
1252
1337
  return addHeapObject(ret);
1253
1338
  },
1254
- __wbg_setNextWelcomeRecipients_f0b296384e4aeea7: function(arg0, arg1, arg2) {
1339
+ __wbg_setNextWelcomeRecipients_81769b7f17afc368: function(arg0, arg1, arg2) {
1255
1340
  const ret = getObject(arg0).setNextWelcomeRecipients(takeObject(arg1), takeObject(arg2));
1256
1341
  return addHeapObject(ret);
1257
1342
  },
@@ -1349,7 +1434,7 @@ function __wbg_get_imports() {
1349
1434
  },
1350
1435
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1351
1436
  // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 780, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1352
- const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2809);
1437
+ const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2820);
1353
1438
  return addHeapObject(ret);
1354
1439
  },
1355
1440
  __wbindgen_cast_0000000000000002: function(arg0) {
@@ -1393,10 +1478,10 @@ function __wbg_get_imports() {
1393
1478
  };
1394
1479
  }
1395
1480
 
1396
- function __wasm_bindgen_func_elem_2809(arg0, arg1, arg2) {
1481
+ function __wasm_bindgen_func_elem_2820(arg0, arg1, arg2) {
1397
1482
  try {
1398
1483
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1399
- wasm.__wasm_bindgen_func_elem_2809(retptr, arg0, arg1, addHeapObject(arg2));
1484
+ wasm.__wasm_bindgen_func_elem_2820(retptr, arg0, arg1, addHeapObject(arg2));
1400
1485
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1401
1486
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1402
1487
  if (r1) {
@@ -1407,12 +1492,12 @@ function __wasm_bindgen_func_elem_2809(arg0, arg1, arg2) {
1407
1492
  }
1408
1493
  }
1409
1494
 
1410
- function __wasm_bindgen_func_elem_2833(arg0, arg1, arg2, arg3) {
1411
- wasm.__wasm_bindgen_func_elem_2833(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1495
+ function __wasm_bindgen_func_elem_2844(arg0, arg1, arg2, arg3) {
1496
+ wasm.__wasm_bindgen_func_elem_2844(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1412
1497
  }
1413
1498
 
1414
- function __wasm_bindgen_func_elem_2823(arg0, arg1, arg2, arg3, arg4) {
1415
- wasm.__wasm_bindgen_func_elem_2823(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4));
1499
+ function __wasm_bindgen_func_elem_2834(arg0, arg1, arg2, arg3, arg4) {
1500
+ wasm.__wasm_bindgen_func_elem_2834(arg0, arg1, addHeapObject(arg2), arg3, addHeapObject(arg4));
1416
1501
  }
1417
1502
 
1418
1503
  const WasmBindgenTestContextFinalization = (typeof FinalizationRegistry === 'undefined')
Binary file
@@ -6,6 +6,8 @@ export const decodeCatchupSnapshot: (a: number, b: number, c: number) => void;
6
6
  export const decryptBackup: (a: number, b: number, c: number, d: number, e: number) => void;
7
7
  export const encryptBackup: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
8
8
  export const generateMnemonicPhrase: (a: number) => void;
9
+ export const hpkeOpen: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
10
+ export const hpkeSeal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
9
11
  export const normalizeMnemonicPhrase: (a: number, b: number, c: number) => void;
10
12
  export const openHistoryBundle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
11
13
  export const openLinkingTicket: (a: number, b: number, c: number, d: number, e: number) => void;
@@ -23,6 +25,7 @@ export const pingclient_importStateSnapshot: (a: number, b: number, c: number, d
23
25
  export const pingclient_init: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => number;
24
26
  export const pingclient_joinConversation: (a: number, b: number, c: number) => number;
25
27
  export const pingclient_listConversations: (a: number, b: number) => void;
28
+ export const pingclient_members: (a: number, b: number, c: number, d: number) => void;
26
29
  export const pingclient_onMessage: (a: number, b: number) => void;
27
30
  export const pingclient_processEnvelope: (a: number, b: number, c: number) => number;
28
31
  export const pingclient_removeMembers: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
@@ -48,9 +51,9 @@ export const wasmbindgentestcontext_filtered_count: (a: number, b: number) => vo
48
51
  export const wasmbindgentestcontext_include_ignored: (a: number, b: number) => void;
49
52
  export const wasmbindgentestcontext_new: (a: number) => number;
50
53
  export const wasmbindgentestcontext_run: (a: number, b: number, c: number) => number;
51
- export const __wasm_bindgen_func_elem_2823: (a: number, b: number, c: number, d: number, e: number) => void;
52
- export const __wasm_bindgen_func_elem_2809: (a: number, b: number, c: number, d: number) => void;
53
- export const __wasm_bindgen_func_elem_2833: (a: number, b: number, c: number, d: number) => void;
54
+ export const __wasm_bindgen_func_elem_2834: (a: number, b: number, c: number, d: number, e: number) => void;
55
+ export const __wasm_bindgen_func_elem_2820: (a: number, b: number, c: number, d: number) => void;
56
+ export const __wasm_bindgen_func_elem_2844: (a: number, b: number, c: number, d: number) => void;
54
57
  export const __wbindgen_export: (a: number, b: number) => number;
55
58
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
56
59
  export const __wbindgen_export3: (a: number) => void;