@agntcy/slim-bindings-linux-arm64-gnu 2.0.0-alpha.4 → 2.0.0-alpha.7

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/slim_bindings.js CHANGED
@@ -15,7 +15,7 @@ typeof process !== "object" ||
15
15
  false;
16
16
  // Public interface members begin here.
17
17
  /**
18
- * Create a new Service with builder pattern
18
+ * Create a new Service with builder pattern (native only)
19
19
  */
20
20
  export function createService(name) {
21
21
  return FfiConverterTypeService.lift(uniffiCaller.rustCallWithError(
@@ -26,7 +26,7 @@ export function createService(name) {
26
26
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
27
27
  }
28
28
  /**
29
- * Create a new Service with configuration
29
+ * Create a new Service with configuration (native only)
30
30
  */
31
31
  export function createServiceWithConfig(name, config) {
32
32
  return FfiConverterTypeService.lift(uniffiCaller.rustCallWithError(
@@ -229,7 +229,7 @@ export function newConfigFromJson(json) {
229
229
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
230
230
  }
231
231
  /**
232
- * Create a new DataplaneConfig
232
+ * Create a new DataplaneConfig (native only)
233
233
  */
234
234
  export function newDataplaneConfig() {
235
235
  return ((__rb) => {
@@ -384,7 +384,7 @@ export function newServiceConfig() {
384
384
  /**
385
385
  * Create a new BindingsServiceConfig with custom values
386
386
  */
387
- export function newServiceConfigWith(nodeId, groupName, dataplane) {
387
+ export function newServiceConfigWith(nodeId, domainName, dataplane) {
388
388
  return ((__rb) => {
389
389
  try {
390
390
  return FfiConverterTypeServiceConfig.lift(__rb);
@@ -394,12 +394,12 @@ export function newServiceConfigWith(nodeId, groupName, dataplane) {
394
394
  }
395
395
  })(uniffiCaller.rustCall(
396
396
  /*caller:*/ (callStatus) => {
397
- return nativeModule().uniffi_slim_bindings_fn_func_new_service_config_with(FfiConverterOptionalString.lower(nodeId, nativeModule().rustbuffer_alloc), FfiConverterOptionalString.lower(groupName, nativeModule().rustbuffer_alloc), FfiConverterTypeDataplaneConfig.lower(dataplane, nativeModule().rustbuffer_alloc), callStatus);
397
+ return nativeModule().uniffi_slim_bindings_fn_func_new_service_config_with(FfiConverterOptionalString.lower(nodeId, nativeModule().rustbuffer_alloc), FfiConverterOptionalString.lower(domainName, nativeModule().rustbuffer_alloc), FfiConverterTypeDataplaneConfig.lower(dataplane, nativeModule().rustbuffer_alloc), callStatus);
398
398
  },
399
399
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
400
400
  }
401
401
  /**
402
- * Create a new ServiceConfiguration
402
+ * Create a new ServiceConfiguration (native only)
403
403
  */
404
404
  export function newServiceConfiguration() {
405
405
  return ((__rb) => {
@@ -2724,14 +2724,115 @@ const FfiConverterTypeMlsSettings = (() => {
2724
2724
  class FFIConverter extends AbstractFfiConverterByteArray {
2725
2725
  read(from) {
2726
2726
  return {
2727
- headerIntegrityValidationPercent: FfiConverterUInt32.read(from)
2727
+ headerIntegrityValidationPercent: FfiConverterUInt32.read(from),
2728
+ maxSeenControlMessageIdsSize: FfiConverterOptionalUInt64.read(from)
2728
2729
  };
2729
2730
  }
2730
2731
  write(value, into) {
2731
2732
  FfiConverterUInt32.write(value.headerIntegrityValidationPercent, into);
2733
+ FfiConverterOptionalUInt64.write(value.maxSeenControlMessageIdsSize, into);
2732
2734
  }
2733
2735
  allocationSize(value) {
2734
- return FfiConverterUInt32.allocationSize(value.headerIntegrityValidationPercent);
2736
+ return FfiConverterUInt32.allocationSize(value.headerIntegrityValidationPercent) +
2737
+ FfiConverterOptionalUInt64.allocationSize(value.maxSeenControlMessageIdsSize);
2738
+ }
2739
+ }
2740
+ ;
2741
+ return new FFIConverter();
2742
+ })();
2743
+ /**
2744
+ * Online/offline status of a session participant
2745
+ */
2746
+ export var ParticipantStatus;
2747
+ (function (ParticipantStatus) {
2748
+ ParticipantStatus[ParticipantStatus["Online"] = 0] = "Online";
2749
+ ParticipantStatus[ParticipantStatus["Offline"] = 1] = "Offline";
2750
+ })(ParticipantStatus || (ParticipantStatus = {}));
2751
+ const FfiConverterTypeParticipantStatus = (() => {
2752
+ const ordinalConverter = FfiConverterInt32;
2753
+ class FFIConverter extends AbstractFfiConverterByteArray {
2754
+ read(from) {
2755
+ switch (ordinalConverter.read(from)) {
2756
+ case 1: return ParticipantStatus.Online;
2757
+ case 2: return ParticipantStatus.Offline;
2758
+ default: throw new UniffiInternalError.UnexpectedEnumCase();
2759
+ }
2760
+ }
2761
+ write(value, into) {
2762
+ switch (value) {
2763
+ case ParticipantStatus.Online: return ordinalConverter.write(1, into);
2764
+ case ParticipantStatus.Offline: return ordinalConverter.write(2, into);
2765
+ }
2766
+ }
2767
+ allocationSize(value) {
2768
+ return ordinalConverter.allocationSize(0);
2769
+ }
2770
+ }
2771
+ return new FFIConverter();
2772
+ })();
2773
+ /**
2774
+ * Generated factory for {@link ParticipantInfo} record objects.
2775
+ */
2776
+ export const ParticipantInfo = (() => {
2777
+ const defaults = () => ({});
2778
+ const create = (() => {
2779
+ return uniffiCreateRecord(defaults);
2780
+ })();
2781
+ return Object.freeze({
2782
+ create,
2783
+ new: create,
2784
+ defaults: () => Object.freeze(defaults()),
2785
+ });
2786
+ })();
2787
+ const FfiConverterTypeParticipantInfo = (() => {
2788
+ class FFIConverter extends AbstractFfiConverterByteArray {
2789
+ read(from) {
2790
+ return {
2791
+ name: FfiConverterTypeName.read(from),
2792
+ status: FfiConverterTypeParticipantStatus.read(from)
2793
+ };
2794
+ }
2795
+ write(value, into) {
2796
+ FfiConverterTypeName.write(value.name, into);
2797
+ FfiConverterTypeParticipantStatus.write(value.status, into);
2798
+ }
2799
+ allocationSize(value) {
2800
+ return FfiConverterTypeName.allocationSize(value.name) +
2801
+ FfiConverterTypeParticipantStatus.allocationSize(value.status);
2802
+ }
2803
+ }
2804
+ ;
2805
+ return new FFIConverter();
2806
+ })();
2807
+ /**
2808
+ * Generated factory for {@link PersistenceConfig} record objects.
2809
+ */
2810
+ export const PersistenceConfig = (() => {
2811
+ const defaults = () => ({});
2812
+ const create = (() => {
2813
+ return uniffiCreateRecord(defaults);
2814
+ })();
2815
+ return Object.freeze({
2816
+ create,
2817
+ new: create,
2818
+ defaults: () => Object.freeze(defaults()),
2819
+ });
2820
+ })();
2821
+ const FfiConverterTypePersistenceConfig = (() => {
2822
+ class FFIConverter extends AbstractFfiConverterByteArray {
2823
+ read(from) {
2824
+ return {
2825
+ path: FfiConverterString.read(from),
2826
+ passphrase: FfiConverterOptionalString.read(from)
2827
+ };
2828
+ }
2829
+ write(value, into) {
2830
+ FfiConverterString.write(value.path, into);
2831
+ FfiConverterOptionalString.write(value.passphrase, into);
2832
+ }
2833
+ allocationSize(value) {
2834
+ return FfiConverterString.allocationSize(value.path) +
2835
+ FfiConverterOptionalString.allocationSize(value.passphrase);
2735
2836
  }
2736
2837
  }
2737
2838
  ;
@@ -2827,18 +2928,18 @@ const FfiConverterTypeServiceConfig = (() => {
2827
2928
  read(from) {
2828
2929
  return {
2829
2930
  nodeId: FfiConverterOptionalString.read(from),
2830
- groupName: FfiConverterOptionalString.read(from),
2931
+ domainName: FfiConverterOptionalString.read(from),
2831
2932
  dataplane: FfiConverterTypeDataplaneConfig.read(from)
2832
2933
  };
2833
2934
  }
2834
2935
  write(value, into) {
2835
2936
  FfiConverterOptionalString.write(value.nodeId, into);
2836
- FfiConverterOptionalString.write(value.groupName, into);
2937
+ FfiConverterOptionalString.write(value.domainName, into);
2837
2938
  FfiConverterTypeDataplaneConfig.write(value.dataplane, into);
2838
2939
  }
2839
2940
  allocationSize(value) {
2840
2941
  return FfiConverterOptionalString.allocationSize(value.nodeId) +
2841
- FfiConverterOptionalString.allocationSize(value.groupName) +
2942
+ FfiConverterOptionalString.allocationSize(value.domainName) +
2842
2943
  FfiConverterTypeDataplaneConfig.allocationSize(value.dataplane);
2843
2944
  }
2844
2945
  }
@@ -3562,6 +3663,45 @@ const uniffiTypeCompletionHandleObjectFactory = (() => {
3562
3663
  };
3563
3664
  })();
3564
3665
  const FfiConverterTypeCompletionHandle = new FfiConverterObject(uniffiTypeCompletionHandleObjectFactory);
3666
+ /**
3667
+ * How a session should be closed.
3668
+ */
3669
+ export var CloseMode;
3670
+ (function (CloseMode) {
3671
+ /**
3672
+ * Soft close: go offline so the session can be brought back later with
3673
+ * `rejoin()`. This is an in-memory group operation and does not require
3674
+ * persistence (though a persisted session also survives a process restart).
3675
+ * Not valid for point-to-point sessions.
3676
+ */
3677
+ CloseMode[CloseMode["Soft"] = 0] = "Soft";
3678
+ /**
3679
+ * Hard close: terminate the session permanently.
3680
+ */
3681
+ CloseMode[CloseMode["Hard"] = 1] = "Hard";
3682
+ })(CloseMode || (CloseMode = {}));
3683
+ const FfiConverterTypeCloseMode = (() => {
3684
+ const ordinalConverter = FfiConverterInt32;
3685
+ class FFIConverter extends AbstractFfiConverterByteArray {
3686
+ read(from) {
3687
+ switch (ordinalConverter.read(from)) {
3688
+ case 1: return CloseMode.Soft;
3689
+ case 2: return CloseMode.Hard;
3690
+ default: throw new UniffiInternalError.UnexpectedEnumCase();
3691
+ }
3692
+ }
3693
+ write(value, into) {
3694
+ switch (value) {
3695
+ case CloseMode.Soft: return ordinalConverter.write(1, into);
3696
+ case CloseMode.Hard: return ordinalConverter.write(2, into);
3697
+ }
3698
+ }
3699
+ allocationSize(value) {
3700
+ return ordinalConverter.allocationSize(0);
3701
+ }
3702
+ }
3703
+ return new FFIConverter();
3704
+ })();
3565
3705
  /**
3566
3706
  * Session context for language bindings (UniFFI-compatible)
3567
3707
  *
@@ -3576,6 +3716,176 @@ export class Session extends UniffiAbstractObject {
3576
3716
  this[pointerLiteralSymbol] = pointer;
3577
3717
  this[destructorGuardSymbol] = uniffiTypeSessionObjectFactory.bless(pointer);
3578
3718
  }
3719
+ /**
3720
+ * Hard-close the session (blocking version): terminate it permanently.
3721
+ * For a soft, restorable close use [`Self::close_with_mode`].
3722
+ */
3723
+ close() {
3724
+ return FfiConverterTypeCompletionHandle.lift(uniffiCaller.rustCallWithError(
3725
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
3726
+ /*caller:*/ (callStatus) => {
3727
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close(uniffiTypeSessionObjectFactory.clonePointer(this), callStatus);
3728
+ },
3729
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
3730
+ }
3731
+ /**
3732
+ * Hard-close the session and wait for completion (blocking version). See [`Self::close`].
3733
+ */
3734
+ closeAndWait() {
3735
+ uniffiCaller.rustCallWithError(
3736
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
3737
+ /*caller:*/ (callStatus) => {
3738
+ nativeModule().uniffi_slim_bindings_fn_method_session_close_and_wait(uniffiTypeSessionObjectFactory.clonePointer(this), callStatus);
3739
+ },
3740
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString));
3741
+ }
3742
+ /**
3743
+ * Hard-close the session and wait for completion (async version). See [`Self::close`].
3744
+ */
3745
+ async closeAndWaitAsync(asyncOpts_) {
3746
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
3747
+ try {
3748
+ return await uniffiRustCallAsync(
3749
+ /*rustCaller:*/ uniffiCaller,
3750
+ /*rustFutureFunc:*/ () => {
3751
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close_and_wait_async(uniffiTypeSessionObjectFactory.clonePointer(this));
3752
+ },
3753
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_void,
3754
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_void,
3755
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_void,
3756
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_void,
3757
+ /*liftFunc:*/ (_v) => { },
3758
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
3759
+ /*asyncOpts:*/ asyncOpts_,
3760
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
3761
+ }
3762
+ catch (__error) {
3763
+ if (uniffiIsDebug && __error instanceof Error) {
3764
+ __error.stack = __stack;
3765
+ }
3766
+ throw __error;
3767
+ }
3768
+ }
3769
+ /**
3770
+ * Hard-close the session (async version). See [`Self::close`].
3771
+ */
3772
+ async closeAsync(asyncOpts_) {
3773
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
3774
+ try {
3775
+ return await uniffiRustCallAsync(
3776
+ /*rustCaller:*/ uniffiCaller,
3777
+ /*rustFutureFunc:*/ () => {
3778
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close_async(uniffiTypeSessionObjectFactory.clonePointer(this));
3779
+ },
3780
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_u64,
3781
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_u64,
3782
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_u64,
3783
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_u64,
3784
+ // Async returns always go through the JS-side converter: the
3785
+ // FFI symbol returns the future handle (u64), and the user-level
3786
+ // RustBuffer comes back via the shared `rust_future_complete_*`
3787
+ // export. The bytes the runtime hands back must be deserialized
3788
+ // here using the per-callable return-type converter.
3789
+ /*liftFunc:*/ FfiConverterTypeCompletionHandle.lift.bind(FfiConverterTypeCompletionHandle),
3790
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
3791
+ /*asyncOpts:*/ asyncOpts_,
3792
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
3793
+ }
3794
+ catch (__error) {
3795
+ if (uniffiIsDebug && __error instanceof Error) {
3796
+ __error.stack = __stack;
3797
+ }
3798
+ throw __error;
3799
+ }
3800
+ }
3801
+ /**
3802
+ * Close the session with an explicit [`CloseMode`] (blocking version).
3803
+ *
3804
+ * [`CloseMode::Soft`] notifies the group that this participant is going
3805
+ * offline so it can be brought back with `rejoin()` (an in-memory group
3806
+ * operation; persistence is not required). Only valid for Group sessions;
3807
+ * returns an error for PointToPoint sessions. [`CloseMode::Hard`] terminates
3808
+ * the session permanently. Returns a completion handle that resolves when
3809
+ * ACKs are collected or on timeout.
3810
+ */
3811
+ closeWithMode(mode) {
3812
+ return FfiConverterTypeCompletionHandle.lift(uniffiCaller.rustCallWithError(
3813
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
3814
+ /*caller:*/ (callStatus) => {
3815
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close_with_mode(uniffiTypeSessionObjectFactory.clonePointer(this), FfiConverterTypeCloseMode.lower(mode, nativeModule().rustbuffer_alloc), callStatus);
3816
+ },
3817
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
3818
+ }
3819
+ /**
3820
+ * Close the session with an explicit [`CloseMode`] and wait for completion (blocking version).
3821
+ */
3822
+ closeWithModeAndWait(mode) {
3823
+ uniffiCaller.rustCallWithError(
3824
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
3825
+ /*caller:*/ (callStatus) => {
3826
+ nativeModule().uniffi_slim_bindings_fn_method_session_close_with_mode_and_wait(uniffiTypeSessionObjectFactory.clonePointer(this), FfiConverterTypeCloseMode.lower(mode, nativeModule().rustbuffer_alloc), callStatus);
3827
+ },
3828
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString));
3829
+ }
3830
+ /**
3831
+ * Close the session with an explicit [`CloseMode`] and wait for completion (async version).
3832
+ */
3833
+ async closeWithModeAndWaitAsync(mode, asyncOpts_) {
3834
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
3835
+ try {
3836
+ return await uniffiRustCallAsync(
3837
+ /*rustCaller:*/ uniffiCaller,
3838
+ /*rustFutureFunc:*/ () => {
3839
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close_with_mode_and_wait_async(uniffiTypeSessionObjectFactory.clonePointer(this), FfiConverterTypeCloseMode.lower(mode, nativeModule().rustbuffer_alloc));
3840
+ },
3841
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_void,
3842
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_void,
3843
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_void,
3844
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_void,
3845
+ /*liftFunc:*/ (_v) => { },
3846
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
3847
+ /*asyncOpts:*/ asyncOpts_,
3848
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
3849
+ }
3850
+ catch (__error) {
3851
+ if (uniffiIsDebug && __error instanceof Error) {
3852
+ __error.stack = __stack;
3853
+ }
3854
+ throw __error;
3855
+ }
3856
+ }
3857
+ /**
3858
+ * Close the session with an explicit [`CloseMode`] (async version). See [`Self::close_with_mode`].
3859
+ */
3860
+ async closeWithModeAsync(mode, asyncOpts_) {
3861
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
3862
+ try {
3863
+ return await uniffiRustCallAsync(
3864
+ /*rustCaller:*/ uniffiCaller,
3865
+ /*rustFutureFunc:*/ () => {
3866
+ return nativeModule().uniffi_slim_bindings_fn_method_session_close_with_mode_async(uniffiTypeSessionObjectFactory.clonePointer(this), FfiConverterTypeCloseMode.lower(mode, nativeModule().rustbuffer_alloc));
3867
+ },
3868
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_u64,
3869
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_u64,
3870
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_u64,
3871
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_u64,
3872
+ // Async returns always go through the JS-side converter: the
3873
+ // FFI symbol returns the future handle (u64), and the user-level
3874
+ // RustBuffer comes back via the shared `rust_future_complete_*`
3875
+ // export. The bytes the runtime hands back must be deserialized
3876
+ // here using the per-callable return-type converter.
3877
+ /*liftFunc:*/ FfiConverterTypeCompletionHandle.lift.bind(FfiConverterTypeCompletionHandle),
3878
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
3879
+ /*asyncOpts:*/ asyncOpts_,
3880
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
3881
+ }
3882
+ catch (__error) {
3883
+ if (uniffiIsDebug && __error instanceof Error) {
3884
+ __error.stack = __stack;
3885
+ }
3886
+ throw __error;
3887
+ }
3888
+ }
3579
3889
  /**
3580
3890
  * Get the session configuration
3581
3891
  */
@@ -3781,12 +4091,12 @@ export class Session extends UniffiAbstractObject {
3781
4091
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
3782
4092
  }
3783
4093
  /**
3784
- * Get list of participants in the session (blocking version for FFI)
4094
+ * Get list of participants in the session with their online/offline status (blocking version for FFI)
3785
4095
  */
3786
4096
  participantsList() {
3787
4097
  return ((__rb) => {
3788
4098
  try {
3789
- return FfiConverterSequenceTypeName.lift(__rb);
4099
+ return FfiConverterSequenceTypeParticipantInfo.lift(__rb);
3790
4100
  }
3791
4101
  finally {
3792
4102
  nativeModule().rustbuffer_free(__rb);
@@ -3799,7 +4109,7 @@ export class Session extends UniffiAbstractObject {
3799
4109
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
3800
4110
  }
3801
4111
  /**
3802
- * Get list of participants in the session
4112
+ * Get list of participants in the session with their online/offline status (async version)
3803
4113
  */
3804
4114
  async participantsListAsync(asyncOpts_) {
3805
4115
  const __stack = uniffiIsDebug ? new Error().stack : undefined;
@@ -3818,7 +4128,7 @@ export class Session extends UniffiAbstractObject {
3818
4128
  // RustBuffer comes back via the shared `rust_future_complete_*`
3819
4129
  // export. The bytes the runtime hands back must be deserialized
3820
4130
  // here using the per-callable return-type converter.
3821
- /*liftFunc:*/ FfiConverterSequenceTypeName.lift.bind(FfiConverterSequenceTypeName),
4131
+ /*liftFunc:*/ FfiConverterSequenceTypeParticipantInfo.lift.bind(FfiConverterSequenceTypeParticipantInfo),
3822
4132
  /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
3823
4133
  /*asyncOpts:*/ asyncOpts_,
3824
4134
  /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
@@ -4086,6 +4396,91 @@ export class Session extends UniffiAbstractObject {
4086
4396
  throw __error;
4087
4397
  }
4088
4398
  }
4399
+ /**
4400
+ * Notify the group that this participant is back online (blocking version).
4401
+ *
4402
+ * Only valid for Group sessions; returns an error for PointToPoint sessions.
4403
+ * Returns a completion handle that resolves when ACKs/NACKs are collected.
4404
+ * If any participant NACKs due to an MLS epoch mismatch, the rejoin fails.
4405
+ */
4406
+ rejoin() {
4407
+ return FfiConverterTypeCompletionHandle.lift(uniffiCaller.rustCallWithError(
4408
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
4409
+ /*caller:*/ (callStatus) => {
4410
+ return nativeModule().uniffi_slim_bindings_fn_method_session_rejoin(uniffiTypeSessionObjectFactory.clonePointer(this), callStatus);
4411
+ },
4412
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
4413
+ }
4414
+ /**
4415
+ * Notify the group that this participant is back online and wait for completion (blocking version).
4416
+ */
4417
+ rejoinAndWait() {
4418
+ uniffiCaller.rustCallWithError(
4419
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
4420
+ /*caller:*/ (callStatus) => {
4421
+ nativeModule().uniffi_slim_bindings_fn_method_session_rejoin_and_wait(uniffiTypeSessionObjectFactory.clonePointer(this), callStatus);
4422
+ },
4423
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString));
4424
+ }
4425
+ /**
4426
+ * Notify the group that this participant is back online and wait for completion (async version).
4427
+ */
4428
+ async rejoinAndWaitAsync(asyncOpts_) {
4429
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
4430
+ try {
4431
+ return await uniffiRustCallAsync(
4432
+ /*rustCaller:*/ uniffiCaller,
4433
+ /*rustFutureFunc:*/ () => {
4434
+ return nativeModule().uniffi_slim_bindings_fn_method_session_rejoin_and_wait_async(uniffiTypeSessionObjectFactory.clonePointer(this));
4435
+ },
4436
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_void,
4437
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_void,
4438
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_void,
4439
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_void,
4440
+ /*liftFunc:*/ (_v) => { },
4441
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
4442
+ /*asyncOpts:*/ asyncOpts_,
4443
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
4444
+ }
4445
+ catch (__error) {
4446
+ if (uniffiIsDebug && __error instanceof Error) {
4447
+ __error.stack = __stack;
4448
+ }
4449
+ throw __error;
4450
+ }
4451
+ }
4452
+ /**
4453
+ * Notify the group that this participant is back online (async version).
4454
+ */
4455
+ async rejoinAsync(asyncOpts_) {
4456
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
4457
+ try {
4458
+ return await uniffiRustCallAsync(
4459
+ /*rustCaller:*/ uniffiCaller,
4460
+ /*rustFutureFunc:*/ () => {
4461
+ return nativeModule().uniffi_slim_bindings_fn_method_session_rejoin_async(uniffiTypeSessionObjectFactory.clonePointer(this));
4462
+ },
4463
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_u64,
4464
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_u64,
4465
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_u64,
4466
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_u64,
4467
+ // Async returns always go through the JS-side converter: the
4468
+ // FFI symbol returns the future handle (u64), and the user-level
4469
+ // RustBuffer comes back via the shared `rust_future_complete_*`
4470
+ // export. The bytes the runtime hands back must be deserialized
4471
+ // here using the per-callable return-type converter.
4472
+ /*liftFunc:*/ FfiConverterTypeCompletionHandle.lift.bind(FfiConverterTypeCompletionHandle),
4473
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
4474
+ /*asyncOpts:*/ asyncOpts_,
4475
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
4476
+ }
4477
+ catch (__error) {
4478
+ if (uniffiIsDebug && __error instanceof Error) {
4479
+ __error.stack = __stack;
4480
+ }
4481
+ throw __error;
4482
+ }
4483
+ }
4089
4484
  /**
4090
4485
  * Remove a participant from the session (blocking version)
4091
4486
  *
@@ -4827,12 +5222,16 @@ const FfiConverterTypeTransportProtocol = (() => {
4827
5222
  return new FFIConverter();
4828
5223
  })();
4829
5224
  /**
4830
- * Adapter that bridges the App API with language-bindings interface
5225
+ * Adapter that bridges the App API with the language-bindings interface.
5226
+ *
5227
+ * Both native and browser builds wrap the same [`slim_service::app::App`] with
5228
+ * the same `AuthProvider`/`AuthVerifier` type parameters; the only structural
5229
+ * difference is the lifecycle owner:
4831
5230
  *
4832
- * This adapter uses enum-based auth types (`AuthProvider`/`AuthVerifier`) instead of generics
4833
- * to be compatible with UniFFI, supporting multiple authentication mechanisms (SharedSecret,
4834
- * JWT, SPIRE, StaticToken). It provides both synchronous (blocking) and asynchronous methods
4835
- * for flexibility.
5231
+ * - Native keeps the owning [`slim_service::Service`] alive.
5232
+ * - Browser (wasm32) uses `AuthProvider::SharedSecret` identity and keeps the
5233
+ * WebSocket [`slim_datapath::message_processing::MessageProcessor`] alive
5234
+ * together with the upstream connection id.
4836
5235
  */
4837
5236
  export class App extends UniffiAbstractObject {
4838
5237
  /**
@@ -5215,6 +5614,63 @@ export class App extends UniffiAbstractObject {
5215
5614
  throw __error;
5216
5615
  }
5217
5616
  }
5617
+ /**
5618
+ * Blocking wrapper around [`App::restore_sessions_async`].
5619
+ */
5620
+ restoreSessions(connId) {
5621
+ return ((__rb) => {
5622
+ try {
5623
+ return FfiConverterSequenceTypeSession.lift(__rb);
5624
+ }
5625
+ finally {
5626
+ nativeModule().rustbuffer_free(__rb);
5627
+ }
5628
+ })(uniffiCaller.rustCallWithError(
5629
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
5630
+ /*caller:*/ (callStatus) => {
5631
+ return nativeModule().uniffi_slim_bindings_fn_method_app_restore_sessions(uniffiTypeAppObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc), callStatus);
5632
+ },
5633
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
5634
+ }
5635
+ /**
5636
+ * Restore the app's persisted sessions after a restart (async).
5637
+ *
5638
+ * Only meaningful for an app created with
5639
+ * [`crate::service::Service::create_app_with_persistence`]; returns an
5640
+ * empty list when persistence is disabled. `conn_id` must be the live
5641
+ * upstream connection to the node (the one the app subscribes over).
5642
+ * Each restored session rejoins its MLS group without repeating the
5643
+ * invite/welcome handshake.
5644
+ */
5645
+ async restoreSessionsAsync(connId, asyncOpts_) {
5646
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
5647
+ try {
5648
+ return await uniffiRustCallAsync(
5649
+ /*rustCaller:*/ uniffiCaller,
5650
+ /*rustFutureFunc:*/ () => {
5651
+ return nativeModule().uniffi_slim_bindings_fn_method_app_restore_sessions_async(uniffiTypeAppObjectFactory.clonePointer(this), FfiConverterUInt64.lower(connId, nativeModule().rustbuffer_alloc));
5652
+ },
5653
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_rust_buffer,
5654
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_rust_buffer,
5655
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_rust_buffer,
5656
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_rust_buffer,
5657
+ // Async returns always go through the JS-side converter: the
5658
+ // FFI symbol returns the future handle (u64), and the user-level
5659
+ // RustBuffer comes back via the shared `rust_future_complete_*`
5660
+ // export. The bytes the runtime hands back must be deserialized
5661
+ // here using the per-callable return-type converter.
5662
+ /*liftFunc:*/ FfiConverterSequenceTypeSession.lift.bind(FfiConverterSequenceTypeSession),
5663
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
5664
+ /*asyncOpts:*/ asyncOpts_,
5665
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
5666
+ }
5667
+ catch (__error) {
5668
+ if (uniffiIsDebug && __error instanceof Error) {
5669
+ __error.stack = __stack;
5670
+ }
5671
+ throw __error;
5672
+ }
5673
+ }
5218
5674
  /**
5219
5675
  * Set a route to a name for a specific connection (blocking version for FFI)
5220
5676
  */
@@ -5620,6 +6076,54 @@ export class Service extends UniffiAbstractObject {
5620
6076
  throw __error;
5621
6077
  }
5622
6078
  }
6079
+ /**
6080
+ * Blocking wrapper around [`Service::create_app_with_persistence_async`].
6081
+ */
6082
+ createAppWithPersistence(name, identityProviderConfig, identityVerifierConfig, direction, persistence) {
6083
+ return FfiConverterTypeApp.lift(uniffiCaller.rustCallWithError(
6084
+ /*liftError:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError),
6085
+ /*caller:*/ (callStatus) => {
6086
+ return nativeModule().uniffi_slim_bindings_fn_method_service_create_app_with_persistence(uniffiTypeServiceObjectFactory.clonePointer(this), FfiConverterTypeName.lower(name, nativeModule().rustbuffer_alloc), FfiConverterTypeIdentityProviderConfig.lower(identityProviderConfig, nativeModule().rustbuffer_alloc), FfiConverterTypeIdentityVerifierConfig.lower(identityVerifierConfig, nativeModule().rustbuffer_alloc), FfiConverterTypeDirection.lower(direction, nativeModule().rustbuffer_alloc), FfiConverterTypePersistenceConfig.lower(persistence, nativeModule().rustbuffer_alloc), callStatus);
6087
+ },
6088
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString)));
6089
+ }
6090
+ /**
6091
+ * Create an app with restorable MLS/session state persisted under
6092
+ * `persistence.path` (async).
6093
+ *
6094
+ * Mirror of [`Service::create_app_with_direction_async`] with persistence
6095
+ * enabled. Restore the app's sessions after a restart with
6096
+ * [`App::restore_sessions`].
6097
+ */
6098
+ async createAppWithPersistenceAsync(name, identityProviderConfig, identityVerifierConfig, direction, persistence, asyncOpts_) {
6099
+ const __stack = uniffiIsDebug ? new Error().stack : undefined;
6100
+ try {
6101
+ return await uniffiRustCallAsync(
6102
+ /*rustCaller:*/ uniffiCaller,
6103
+ /*rustFutureFunc:*/ () => {
6104
+ return nativeModule().uniffi_slim_bindings_fn_method_service_create_app_with_persistence_async(uniffiTypeServiceObjectFactory.clonePointer(this), FfiConverterTypeName.lower(name, nativeModule().rustbuffer_alloc), FfiConverterTypeIdentityProviderConfig.lower(identityProviderConfig, nativeModule().rustbuffer_alloc), FfiConverterTypeIdentityVerifierConfig.lower(identityVerifierConfig, nativeModule().rustbuffer_alloc), FfiConverterTypeDirection.lower(direction, nativeModule().rustbuffer_alloc), FfiConverterTypePersistenceConfig.lower(persistence, nativeModule().rustbuffer_alloc));
6105
+ },
6106
+ /*pollFunc:*/ nativeModule().ffi_slim_bindings_rust_future_poll_u64,
6107
+ /*cancelFunc:*/ nativeModule().ffi_slim_bindings_rust_future_cancel_u64,
6108
+ /*completeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_complete_u64,
6109
+ /*freeFunc:*/ nativeModule().ffi_slim_bindings_rust_future_free_u64,
6110
+ // Async returns always go through the JS-side converter: the
6111
+ // FFI symbol returns the future handle (u64), and the user-level
6112
+ // RustBuffer comes back via the shared `rust_future_complete_*`
6113
+ // export. The bytes the runtime hands back must be deserialized
6114
+ // here using the per-callable return-type converter.
6115
+ /*liftFunc:*/ FfiConverterTypeApp.lift.bind(FfiConverterTypeApp),
6116
+ /*liftString:*/ FfiConverterString.lift.bind(FfiConverterString),
6117
+ /*asyncOpts:*/ asyncOpts_,
6118
+ /*errorHandler:*/ FfiConverterTypeSlimError.lift.bind(FfiConverterTypeSlimError));
6119
+ }
6120
+ catch (__error) {
6121
+ if (uniffiIsDebug && __error instanceof Error) {
6122
+ __error.stack = __stack;
6123
+ }
6124
+ throw __error;
6125
+ }
6126
+ }
5623
6127
  /**
5624
6128
  * Create a new App with SharedSecret authentication (helper function)
5625
6129
  *
@@ -5960,8 +6464,10 @@ const FfiConverterSequenceTypeClientConfig = new FfiConverterArray(FfiConverterT
5960
6464
  const FfiConverterOptionalTypeName = new FfiConverterOptional(FfiConverterTypeName);
5961
6465
  // FfiConverter for MlsSettings | undefined
5962
6466
  const FfiConverterOptionalTypeMlsSettings = new FfiConverterOptional(FfiConverterTypeMlsSettings);
5963
- // FfiConverter for Array<NameLike>
5964
- const FfiConverterSequenceTypeName = new FfiConverterArray(FfiConverterTypeName);
6467
+ // FfiConverter for Array<ParticipantInfo>
6468
+ const FfiConverterSequenceTypeParticipantInfo = new FfiConverterArray(FfiConverterTypeParticipantInfo);
6469
+ // FfiConverter for Array<SessionLike>
6470
+ const FfiConverterSequenceTypeSession = new FfiConverterArray(FfiConverterTypeSession);
5965
6471
  // FfiConverter for Array<ServiceLike>
5966
6472
  const FfiConverterSequenceTypeService = new FfiConverterArray(FfiConverterTypeService);
5967
6473
  // FfiConverter for Array<ServiceConfig>
@@ -5984,10 +6490,10 @@ function uniffiEnsureInitialized() {
5984
6490
  if (bindingsContractVersion !== scaffoldingContractVersion) {
5985
6491
  throw new UniffiInternalError.ContractVersionMismatch(scaffoldingContractVersion, bindingsContractVersion);
5986
6492
  }
5987
- if (nativeModule().uniffi_slim_bindings_checksum_func_create_service() !== 40378) {
6493
+ if (nativeModule().uniffi_slim_bindings_checksum_func_create_service() !== 12289) {
5988
6494
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_create_service");
5989
6495
  }
5990
- if (nativeModule().uniffi_slim_bindings_checksum_func_create_service_with_config() !== 45305) {
6496
+ if (nativeModule().uniffi_slim_bindings_checksum_func_create_service_with_config() !== 64956) {
5991
6497
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_create_service_with_config");
5992
6498
  }
5993
6499
  if (nativeModule().uniffi_slim_bindings_checksum_func_get_build_info() !== 42926) {
@@ -6020,7 +6526,7 @@ function uniffiEnsureInitialized() {
6020
6526
  if (nativeModule().uniffi_slim_bindings_checksum_func_new_config_from_json() !== 6580) {
6021
6527
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_new_config_from_json");
6022
6528
  }
6023
- if (nativeModule().uniffi_slim_bindings_checksum_func_new_dataplane_config() !== 39512) {
6529
+ if (nativeModule().uniffi_slim_bindings_checksum_func_new_dataplane_config() !== 15621) {
6024
6530
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_new_dataplane_config");
6025
6531
  }
6026
6532
  if (nativeModule().uniffi_slim_bindings_checksum_func_new_insecure_client_config() !== 1116) {
@@ -6047,10 +6553,10 @@ function uniffiEnsureInitialized() {
6047
6553
  if (nativeModule().uniffi_slim_bindings_checksum_func_new_service_config() !== 53554) {
6048
6554
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_new_service_config");
6049
6555
  }
6050
- if (nativeModule().uniffi_slim_bindings_checksum_func_new_service_config_with() !== 7110) {
6556
+ if (nativeModule().uniffi_slim_bindings_checksum_func_new_service_config_with() !== 1207) {
6051
6557
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_new_service_config_with");
6052
6558
  }
6053
- if (nativeModule().uniffi_slim_bindings_checksum_func_new_service_configuration() !== 47743) {
6559
+ if (nativeModule().uniffi_slim_bindings_checksum_func_new_service_configuration() !== 33994) {
6054
6560
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_func_new_service_configuration");
6055
6561
  }
6056
6562
  if (nativeModule().uniffi_slim_bindings_checksum_func_new_tracing_config() !== 4571) {
@@ -6113,6 +6619,12 @@ function uniffiEnsureInitialized() {
6113
6619
  if (nativeModule().uniffi_slim_bindings_checksum_method_app_remove_route_async() !== 31663) {
6114
6620
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_app_remove_route_async");
6115
6621
  }
6622
+ if (nativeModule().uniffi_slim_bindings_checksum_method_app_restore_sessions() !== 35786) {
6623
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_app_restore_sessions");
6624
+ }
6625
+ if (nativeModule().uniffi_slim_bindings_checksum_method_app_restore_sessions_async() !== 48735) {
6626
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_app_restore_sessions_async");
6627
+ }
6116
6628
  if (nativeModule().uniffi_slim_bindings_checksum_method_app_set_route() !== 35913) {
6117
6629
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_app_set_route");
6118
6630
  }
@@ -6185,6 +6697,12 @@ function uniffiEnsureInitialized() {
6185
6697
  if (nativeModule().uniffi_slim_bindings_checksum_method_service_create_app_with_direction_async() !== 54968) {
6186
6698
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_service_create_app_with_direction_async");
6187
6699
  }
6700
+ if (nativeModule().uniffi_slim_bindings_checksum_method_service_create_app_with_persistence() !== 56347) {
6701
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_service_create_app_with_persistence");
6702
+ }
6703
+ if (nativeModule().uniffi_slim_bindings_checksum_method_service_create_app_with_persistence_async() !== 7716) {
6704
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_service_create_app_with_persistence_async");
6705
+ }
6188
6706
  if (nativeModule().uniffi_slim_bindings_checksum_method_service_create_app_with_secret() !== 28202) {
6189
6707
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_service_create_app_with_secret");
6190
6708
  }
@@ -6221,6 +6739,30 @@ function uniffiEnsureInitialized() {
6221
6739
  if (nativeModule().uniffi_slim_bindings_checksum_method_service_stop_server() !== 50154) {
6222
6740
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_service_stop_server");
6223
6741
  }
6742
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close() !== 13985) {
6743
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close");
6744
+ }
6745
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_and_wait() !== 17849) {
6746
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_and_wait");
6747
+ }
6748
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_and_wait_async() !== 26578) {
6749
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_and_wait_async");
6750
+ }
6751
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_async() !== 28685) {
6752
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_async");
6753
+ }
6754
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_with_mode() !== 39709) {
6755
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_with_mode");
6756
+ }
6757
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_with_mode_and_wait() !== 21397) {
6758
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_with_mode_and_wait");
6759
+ }
6760
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_with_mode_and_wait_async() !== 56735) {
6761
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_with_mode_and_wait_async");
6762
+ }
6763
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_close_with_mode_async() !== 33958) {
6764
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_close_with_mode_async");
6765
+ }
6224
6766
  if (nativeModule().uniffi_slim_bindings_checksum_method_session_config() !== 40937) {
6225
6767
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_config");
6226
6768
  }
@@ -6251,10 +6793,10 @@ function uniffiEnsureInitialized() {
6251
6793
  if (nativeModule().uniffi_slim_bindings_checksum_method_session_metadata() !== 34109) {
6252
6794
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_metadata");
6253
6795
  }
6254
- if (nativeModule().uniffi_slim_bindings_checksum_method_session_participants_list() !== 46055) {
6796
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_participants_list() !== 20398) {
6255
6797
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_participants_list");
6256
6798
  }
6257
- if (nativeModule().uniffi_slim_bindings_checksum_method_session_participants_list_async() !== 56340) {
6799
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_participants_list_async() !== 11035) {
6258
6800
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_participants_list_async");
6259
6801
  }
6260
6802
  if (nativeModule().uniffi_slim_bindings_checksum_method_session_publish() !== 14079) {
@@ -6287,6 +6829,18 @@ function uniffiEnsureInitialized() {
6287
6829
  if (nativeModule().uniffi_slim_bindings_checksum_method_session_publish_with_params_async() !== 5640) {
6288
6830
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_publish_with_params_async");
6289
6831
  }
6832
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_rejoin() !== 5034) {
6833
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_rejoin");
6834
+ }
6835
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_rejoin_and_wait() !== 26363) {
6836
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_rejoin_and_wait");
6837
+ }
6838
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_rejoin_and_wait_async() !== 40985) {
6839
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_rejoin_and_wait_async");
6840
+ }
6841
+ if (nativeModule().uniffi_slim_bindings_checksum_method_session_rejoin_async() !== 49489) {
6842
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_rejoin_async");
6843
+ }
6290
6844
  if (nativeModule().uniffi_slim_bindings_checksum_method_session_remove() !== 276) {
6291
6845
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_slim_bindings_checksum_method_session_remove");
6292
6846
  }
@@ -6320,6 +6874,7 @@ export default Object.freeze({
6320
6874
  FfiConverterTypeClientAuthenticationConfig,
6321
6875
  FfiConverterTypeClientConfig,
6322
6876
  FfiConverterTypeClientJwtAuth,
6877
+ FfiConverterTypeCloseMode,
6323
6878
  FfiConverterTypeCompletionHandle,
6324
6879
  FfiConverterTypeCompressionType,
6325
6880
  FfiConverterTypeDataplaneConfig,
@@ -6339,6 +6894,9 @@ export default Object.freeze({
6339
6894
  FfiConverterTypeMessageContext,
6340
6895
  FfiConverterTypeMlsSettings,
6341
6896
  FfiConverterTypeName,
6897
+ FfiConverterTypeParticipantInfo,
6898
+ FfiConverterTypeParticipantStatus,
6899
+ FfiConverterTypePersistenceConfig,
6342
6900
  FfiConverterTypeProxyConfig,
6343
6901
  FfiConverterTypeReceivedMessage,
6344
6902
  FfiConverterTypeRuntimeConfig,