@palbase/web 3.0.0 → 4.0.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/index.d.cts CHANGED
@@ -1,9 +1,8 @@
1
- export { f as AnalyticsProperties, g as AuthChangeEvent, h as AuthState, i as AuthSuccess, A as AuthUser, j as Call, k as CallChangeCallback, l as CallParticipant, m as CallState, C as Chat, n as ChatBackend, o as ChatDraft, p as ChatKind, b as ChatMember, c as ChatMessage, q as ChatMessageKind, r as ChatRole, s as ChatState, t as CommsPrefs, F as FlagsView, M as MagicLinkResult, u as MentionRange, v as MessageDirection, N as NotifyScope, O as OAuthExchangeResult, w as PalbeAnalytics, x as PalbeAuth, y as PalbeCalls, P as PalbeConfig, z as PalbeFlags, B as PalbeMessaging, D as PalbeOAuthConfig, E as PalbeRealtime, G as PresenceState, H as RealtimeChannel, R as RealtimeConnectionState, I as RealtimeHandler, a as RealtimePayload, J as RealtimeStatus, K as RealtimeStatusSnapshot, L as RealtimeSubscription, Q as ResolvedMention, S as ResolvedReply, T as SentReceipt, U as UnreadView, V as Unsubscribe } from './analytics-facade-BOxQ8IP2.cjs';
1
+ export { f as AnalyticsProperties, g as AuthChangeEvent, h as AuthState, i as AuthSuccess, A as AuthUser, j as Call, k as CallChangeCallback, l as CallParticipant, m as CallState, C as Chat, n as ChatBackend, o as ChatDraft, p as ChatKind, b as ChatMember, c as ChatMessage, q as ChatMessageKind, r as ChatRole, s as ChatState, t as CommsPrefs, F as FlagsView, M as MagicLinkResult, u as MentionRange, v as MessageDirection, N as NotifyScope, O as OAuthExchangeResult, w as PalbeAnalytics, x as PalbeAuth, y as PalbeCalls, P as PalbeConfig, z as PalbeFlags, B as PalbeMessaging, D as PalbeOAuthConfig, E as PalbeRealtime, G as PresenceState, H as RealtimeChannel, R as RealtimeConnectionState, I as RealtimeHandler, a as RealtimePayload, J as RealtimeStatus, K as RealtimeStatusSnapshot, L as RealtimeSubscription, Q as ResolvedMention, S as ResolvedReply, T as SentReceipt, U as UnreadView, V as Unsubscribe } from './analytics-facade-DwOtlXPP.cjs';
2
2
  export { B as BackendError, a as BackendErrorKind, F as FieldError, i as isBackendError } from './errors-fDoNdTrJ.cjs';
3
- export { C as CallOptions, P as PB, U as UploadOptions, a as UploadProgress, p as pb } from './pb-B3h3NIPE.cjs';
3
+ export { C as CallOptions, P as PB, U as UploadOptions, a as UploadProgress, p as pb } from './pb-C9v5dEO6.cjs';
4
4
  export { P as PersistedSession, S as SessionStorageAdapter, l as localStorageSessionStorage, m as memorySessionStorage } from './storage-BPaeSG8K.cjs';
5
5
  export { F as FlagValue } from './pooled-flags-4GtDtsiu.js';
6
- import 'livekit-client';
7
6
 
8
7
  /* tslint:disable */
9
8
  /* eslint-disable */
@@ -207,6 +206,6 @@ interface MlsGlue {
207
206
  */
208
207
  declare function initMls(): Promise<MlsGlue>;
209
208
 
210
- declare const VERSION = "3.0.0";
209
+ declare const VERSION = "4.0.0";
211
210
 
212
211
  export { VERSION, initMls };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- export { f as AnalyticsProperties, g as AuthChangeEvent, h as AuthState, i as AuthSuccess, A as AuthUser, j as Call, k as CallChangeCallback, l as CallParticipant, m as CallState, C as Chat, n as ChatBackend, o as ChatDraft, p as ChatKind, b as ChatMember, c as ChatMessage, q as ChatMessageKind, r as ChatRole, s as ChatState, t as CommsPrefs, F as FlagsView, M as MagicLinkResult, u as MentionRange, v as MessageDirection, N as NotifyScope, O as OAuthExchangeResult, w as PalbeAnalytics, x as PalbeAuth, y as PalbeCalls, P as PalbeConfig, z as PalbeFlags, B as PalbeMessaging, D as PalbeOAuthConfig, E as PalbeRealtime, G as PresenceState, H as RealtimeChannel, R as RealtimeConnectionState, I as RealtimeHandler, a as RealtimePayload, J as RealtimeStatus, K as RealtimeStatusSnapshot, L as RealtimeSubscription, Q as ResolvedMention, S as ResolvedReply, T as SentReceipt, U as UnreadView, V as Unsubscribe } from './analytics-facade-yfMJ69vw.js';
1
+ export { f as AnalyticsProperties, g as AuthChangeEvent, h as AuthState, i as AuthSuccess, A as AuthUser, j as Call, k as CallChangeCallback, l as CallParticipant, m as CallState, C as Chat, n as ChatBackend, o as ChatDraft, p as ChatKind, b as ChatMember, c as ChatMessage, q as ChatMessageKind, r as ChatRole, s as ChatState, t as CommsPrefs, F as FlagsView, M as MagicLinkResult, u as MentionRange, v as MessageDirection, N as NotifyScope, O as OAuthExchangeResult, w as PalbeAnalytics, x as PalbeAuth, y as PalbeCalls, P as PalbeConfig, z as PalbeFlags, B as PalbeMessaging, D as PalbeOAuthConfig, E as PalbeRealtime, G as PresenceState, H as RealtimeChannel, R as RealtimeConnectionState, I as RealtimeHandler, a as RealtimePayload, J as RealtimeStatus, K as RealtimeStatusSnapshot, L as RealtimeSubscription, Q as ResolvedMention, S as ResolvedReply, T as SentReceipt, U as UnreadView, V as Unsubscribe } from './analytics-facade-Nk6J9Ncm.js';
2
2
  export { B as BackendError, a as BackendErrorKind, F as FieldError, i as isBackendError } from './errors-fDoNdTrJ.js';
3
- export { C as CallOptions, P as PB, U as UploadOptions, a as UploadProgress, p as pb } from './pb-QRISxPd1.js';
3
+ export { C as CallOptions, P as PB, U as UploadOptions, a as UploadProgress, p as pb } from './pb-FG_nV7NR.js';
4
4
  export { P as PersistedSession, S as SessionStorageAdapter, l as localStorageSessionStorage, m as memorySessionStorage } from './storage-BPaeSG8K.js';
5
5
  export { F as FlagValue } from './pooled-flags-4GtDtsiu.js';
6
- import 'livekit-client';
7
6
 
8
7
  /* tslint:disable */
9
8
  /* eslint-disable */
@@ -207,6 +206,6 @@ interface MlsGlue {
207
206
  */
208
207
  declare function initMls(): Promise<MlsGlue>;
209
208
 
210
- declare const VERSION = "3.0.0";
209
+ declare const VERSION = "4.0.0";
211
210
 
212
211
  export { VERSION, initMls };
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  localStorageSessionStorage,
14
14
  memorySessionStorage,
15
15
  pb
16
- } from "./chunk-3HVTEZ7N.js";
16
+ } from "./chunk-NP4NIY7A.js";
17
17
  import "./chunk-S7NAY3MW.js";
18
18
  export {
19
19
  BackendError,
package/dist/internal.cjs CHANGED
@@ -1764,19 +1764,29 @@ var PalbeAuth = class {
1764
1764
 
1765
1765
  // src/calls/facade.ts
1766
1766
  var import_livekit_client = require("livekit-client");
1767
- var Call = class {
1767
+ var Call = class _Call {
1768
1768
  id;
1769
1769
  _state = "connecting";
1770
1770
  _participants = /* @__PURE__ */ new Map();
1771
1771
  _listeners = /* @__PURE__ */ new Set();
1772
1772
  _room;
1773
1773
  _keyProvider;
1774
- /** @internal obtain via PalbeCalls.start() / .accept() */
1774
+ // PRIVATE constructor + `@internal` factory: the media-engine types (`Room`,
1775
+ // `ExternalE2EEKeyProvider`) appear ONLY on a private constructor and an
1776
+ // `@internal` static factory, both of which `stripInternal` (set in this
1777
+ // package's tsconfig) removes from the emitted public `.d.ts`. So no engine type
1778
+ // ever reaches the public API surface — the same "no engine type in the public
1779
+ // interface" contract the iOS SDK enforces. Consumers obtain a `Call` only
1780
+ // through `pb.calls.start()` / `.accept()`.
1775
1781
  constructor(callId, room, keyProvider) {
1776
1782
  this.id = callId;
1777
1783
  this._room = room;
1778
1784
  this._keyProvider = keyProvider;
1779
- this._wireRoomEvents();
1785
+ this._wireMediaEvents();
1786
+ }
1787
+ /** @internal — facade-only factory; stripped from the public `.d.ts`. */
1788
+ static _create(callId, room, keyProvider) {
1789
+ return new _Call(callId, room, keyProvider);
1780
1790
  }
1781
1791
  // ─── State ──────────────────────────────────────────────────────────────
1782
1792
  get state() {
@@ -1786,9 +1796,9 @@ var Call = class {
1786
1796
  get participants() {
1787
1797
  return Array.from(this._participants.values());
1788
1798
  }
1789
- get localParticipant() {
1790
- return this._room.localParticipant;
1791
- }
1799
+ // (No `localParticipant` accessor: it would return a raw media-engine participant
1800
+ // object and leak the engine type onto the public API. Local mic/camera control is
1801
+ // exposed engine-agnostically via `mute()` / `setCamera()` below.)
1792
1802
  // ─── Subscribe ──────────────────────────────────────────────────────────
1793
1803
  /**
1794
1804
  * Subscribe to call changes (state + participant updates).
@@ -1812,7 +1822,7 @@ var Call = class {
1812
1822
  /**
1813
1823
  * Set a raw frame encryption key (ArrayBuffer) for this call.
1814
1824
  * Design seam for SP-1.x web-MLS: call this with the MLS exporter secret
1815
- * to enable frame-level E2EE via ExternalE2EEKeyProvider.
1825
+ * to enable frame-level E2EE via the media engine's external key provider.
1816
1826
  *
1817
1827
  * NOTE: The room must have been opened with `e2ee` options for this to take
1818
1828
  * effect. Currently calls connect WITHOUT e2ee — see module docstring.
@@ -1822,7 +1832,7 @@ var Call = class {
1822
1832
  async setMediaKey(key) {
1823
1833
  await this._keyProvider.setKey(key);
1824
1834
  }
1825
- /** Leave the call and disconnect from the LiveKit room. */
1835
+ /** Leave the call and disconnect from the media room. */
1826
1836
  async leave() {
1827
1837
  await this._room.disconnect();
1828
1838
  this._setState("ended");
@@ -1864,7 +1874,7 @@ var Call = class {
1864
1874
  }
1865
1875
  this._emit();
1866
1876
  }
1867
- _wireRoomEvents() {
1877
+ _wireMediaEvents() {
1868
1878
  this._room.on(import_livekit_client.RoomEvent.Connected, () => {
1869
1879
  this._setState("active");
1870
1880
  }).on(
@@ -1905,9 +1915,9 @@ var PalbeCalls = class {
1905
1915
  *
1906
1916
  * @param groupId - Messaging group display-id (`grp_<uuidv7>`)
1907
1917
  * @param media - Which media tracks to publish (default: audio + video)
1908
- * @returns A `Call` in `connecting` state; transitions to `active` once LiveKit connects.
1918
+ * @returns A `Call` in `connecting` state; transitions to `active` once the media room connects.
1909
1919
  *
1910
- * @throws BackendError('network', { code: 'call_service_unavailable' }) if LiveKit SFU is down (503)
1920
+ * @throws BackendError('network', { code: 'call_service_unavailable' }) if the SFU is down (503)
1911
1921
  * @throws BackendError('forbidden', { code: 'not_group_member' }) if the caller is not a member (403)
1912
1922
  * @throws BackendError('conflict', { code: 'call_room_full' }) if the room is full (409)
1913
1923
  */
@@ -1964,7 +1974,7 @@ var PalbeCalls = class {
1964
1974
  adaptiveStream: true,
1965
1975
  dynacast: true
1966
1976
  });
1967
- const call = new Call(callId, room, keyProvider);
1977
+ const call = Call._create(callId, room, keyProvider);
1968
1978
  await room.connect(edgeUrl, token);
1969
1979
  if (media.includes("audio")) {
1970
1980
  await room.localParticipant.setMicrophoneEnabled(true);
@@ -8954,7 +8964,7 @@ function defaultSessionStorage(key) {
8954
8964
  }
8955
8965
 
8956
8966
  // src/version.ts
8957
- var VERSION = "3.0.0";
8967
+ var VERSION = "4.0.0";
8958
8968
 
8959
8969
  // src/runtime.ts
8960
8970
  function buildRuntime(config) {