@signalwire/js 4.0.0-dev-20260311183522 → 4.0.0-dev-20260318131609

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.
@@ -0,0 +1,30 @@
1
+ //#region src/core/RPCMessages/types/base.d.ts
2
+ type EventChannel = string | string[];
3
+ type JSONRPCVersion = '2.0';
4
+ type JSONRPCMethod = string;
5
+ interface JSONRPCRequest<TParams = unknown> {
6
+ jsonrpc: JSONRPCVersion;
7
+ id: string;
8
+ method: JSONRPCMethod;
9
+ params?: TParams;
10
+ }
11
+ interface JSONRPCSuccessResponse<TResult = unknown> {
12
+ jsonrpc: '2.0';
13
+ id: string;
14
+ result: TResult;
15
+ error?: never;
16
+ }
17
+ interface JSONRPCErrorResponse {
18
+ jsonrpc: '2.0';
19
+ id: string;
20
+ result?: never;
21
+ error: {
22
+ code: number;
23
+ message: string;
24
+ data?: unknown;
25
+ };
26
+ }
27
+ type JSONRPCResponse<TResult = unknown> = JSONRPCSuccessResponse<TResult> | JSONRPCErrorResponse;
28
+ //#endregion
29
+ export { JSONRPCSuccessResponse as a, JSONRPCResponse as i, JSONRPCErrorResponse as n, JSONRPCRequest as r, EventChannel as t };
30
+ //# sourceMappingURL=base-BxFSgMTI.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-A5AZTrAd.d.cts","names":[],"sources":["../src/core/RPCMessages/types/base.ts"],"sourcesContent":[],"mappings":";KAUY,YAAA;AAOA,KAAA,cAAA,GAAc,KAAA;AACd,KAAA,aAAA,GAAa,MAAA;AAER,UAAA,cAAc,CAAA,UAAA,OAAA,CAAA,CAAA;EACpB,OAAA,EAAA,cAAA;EAED,EAAA,EAAA,MAAA;EACC,MAAA,EADD,aACC;EAAO,MAAA,CAAA,EAAP,OAAO;AAGlB;UAAiB;;;WAGN"}
1
+ {"version":3,"file":"base-BxFSgMTI.d.cts","names":[],"sources":["../src/core/RPCMessages/types/base.ts"],"sourcesContent":[],"mappings":";KAUY,YAAA;AAOA,KAAA,cAAA,GAAc,KAAA;AACd,KAAA,aAAA,GAAa,MAAA;AAER,UAAA,cAAc,CAAA,UAAA,OAAA,CAAA,CAAA;EACpB,OAAA,EAAA,cAAA;EAED,EAAA,EAAA,MAAA;EACC,MAAA,EADD,aACC;EAAO,MAAA,CAAA,EAAP,OAAO;AAGlB;AAOiB,UAPA,sBAOoB,CAAA,UAAA,OAAA,CAAA,CAAA;EAOzB,OAAA,EAAA,KAAA;EACe,EAAA,EAAA,MAAA;EAAvB,MAAA,EAZM,OAYN;EACA,KAAA,CAAA,EAAA,KAAA;;UATa,oBAAA;;;;;;;;;;KAOL,qCACR,uBAAuB,WACvB"}
@@ -0,0 +1,30 @@
1
+ //#region src/core/RPCMessages/types/base.d.ts
2
+ type EventChannel = string | string[];
3
+ type JSONRPCVersion = '2.0';
4
+ type JSONRPCMethod = string;
5
+ interface JSONRPCRequest<TParams = unknown> {
6
+ jsonrpc: JSONRPCVersion;
7
+ id: string;
8
+ method: JSONRPCMethod;
9
+ params?: TParams;
10
+ }
11
+ interface JSONRPCSuccessResponse<TResult = unknown> {
12
+ jsonrpc: '2.0';
13
+ id: string;
14
+ result: TResult;
15
+ error?: never;
16
+ }
17
+ interface JSONRPCErrorResponse {
18
+ jsonrpc: '2.0';
19
+ id: string;
20
+ result?: never;
21
+ error: {
22
+ code: number;
23
+ message: string;
24
+ data?: unknown;
25
+ };
26
+ }
27
+ type JSONRPCResponse<TResult = unknown> = JSONRPCSuccessResponse<TResult> | JSONRPCErrorResponse;
28
+ //#endregion
29
+ export { JSONRPCSuccessResponse as a, JSONRPCResponse as i, JSONRPCErrorResponse as n, JSONRPCRequest as r, EventChannel as t };
30
+ //# sourceMappingURL=base-DKDZK4Rr.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-aVtoG8Wk.d.mts","names":[],"sources":["../src/core/RPCMessages/types/base.ts"],"sourcesContent":[],"mappings":";KAUY,YAAA;AAOA,KAAA,cAAA,GAAc,KAAA;AACd,KAAA,aAAA,GAAa,MAAA;AAER,UAAA,cAAc,CAAA,UAAA,OAAA,CAAA,CAAA;EACpB,OAAA,EAAA,cAAA;EAED,EAAA,EAAA,MAAA;EACC,MAAA,EADD,aACC;EAAO,MAAA,CAAA,EAAP,OAAO;AAGlB;UAAiB;;;WAGN"}
1
+ {"version":3,"file":"base-DKDZK4Rr.d.mts","names":[],"sources":["../src/core/RPCMessages/types/base.ts"],"sourcesContent":[],"mappings":";KAUY,YAAA;AAOA,KAAA,cAAA,GAAc,KAAA;AACd,KAAA,aAAA,GAAa,MAAA;AAER,UAAA,cAAc,CAAA,UAAA,OAAA,CAAA,CAAA;EACpB,OAAA,EAAA,cAAA;EAED,EAAA,EAAA,MAAA;EACC,MAAA,EADD,aACC;EAAO,MAAA,CAAA,EAAP,OAAO;AAGlB;AAOiB,UAPA,sBAOoB,CAAA,UAAA,OAAA,CAAA,CAAA;EAOzB,OAAA,EAAA,KAAA;EACe,EAAA,EAAA,MAAA;EAAvB,MAAA,EAZM,OAYN;EACA,KAAA,CAAA,EAAA,KAAA;;UATa,oBAAA;;;;;;;;;;KAOL,qCACR,uBAAuB,WACvB"}
package/dist/browser.mjs CHANGED
@@ -10509,7 +10509,7 @@ const RPCExecute = ({ method, params }) => {
10509
10509
 
10510
10510
  //#endregion
10511
10511
  //#region src/core/RPCMessages/VertoMessages.ts
10512
- const tmpMap = {
10512
+ const SDK_TO_VERTO_FIELD_MAP = {
10513
10513
  id: "callID",
10514
10514
  destinationNumber: "destination_number",
10515
10515
  remoteCallerName: "remote_caller_id_name",
@@ -10518,19 +10518,31 @@ const tmpMap = {
10518
10518
  callerNumber: "caller_id_number",
10519
10519
  fromCallAddressId: "from_fabric_address_id"
10520
10520
  };
10521
+ const EXCLUDED_DIALOG_PARAMS = new Set([
10522
+ "remoteSdp",
10523
+ "localStream",
10524
+ "remoteStream"
10525
+ ]);
10521
10526
  /**
10522
- * Translate SDK fields into verto variables
10527
+ * Translate SDK fields into verto variables.
10528
+ * Returns a new object — the input is never mutated.
10523
10529
  */
10530
+ /** @internal Exported for testing only. */
10524
10531
  const filterVertoParams = (params) => {
10525
- if (Object.prototype.hasOwnProperty.call(params, "dialogParams")) {
10526
- const { remoteSdp, localStream, remoteStream, ...dialogParams } = params.dialogParams;
10527
- for (const key in tmpMap) if (key && Object.prototype.hasOwnProperty.call(dialogParams, key)) {
10528
- dialogParams[tmpMap[key]] = dialogParams[key];
10529
- delete dialogParams[key];
10530
- }
10531
- params.dialogParams = dialogParams;
10532
- }
10533
- return params;
10532
+ if (!Object.prototype.hasOwnProperty.call(params, "dialogParams")) return params;
10533
+ const sourceDialogParams = params.dialogParams;
10534
+ const filteredDialogParams = Object.entries(sourceDialogParams).reduce((acc, [key, value]) => {
10535
+ if (EXCLUDED_DIALOG_PARAMS.has(key)) return acc;
10536
+ const mappedKey = SDK_TO_VERTO_FIELD_MAP[key] ?? key;
10537
+ return {
10538
+ ...acc,
10539
+ [mappedKey]: value
10540
+ };
10541
+ }, {});
10542
+ return {
10543
+ ...params,
10544
+ dialogParams: filteredDialogParams
10545
+ };
10534
10546
  };
10535
10547
  const buildVertoRPCMessage = (method) => {
10536
10548
  return (params = {}) => {
@@ -12425,6 +12437,9 @@ var CallEventsManager = class extends Destroyable {
12425
12437
  get participants$() {
12426
12438
  return this.cachedObservable("participants$", () => this._participants$.asObservable().pipe((0, import_cjs$14.map)((participantsRecord) => Object.values(participantsRecord))));
12427
12439
  }
12440
+ get participants() {
12441
+ return Object.values(this._participants$.value);
12442
+ }
12428
12443
  get self$() {
12429
12444
  return this.cachedObservable("self$", () => this._self$.asObservable().pipe(filterNull()));
12430
12445
  }
@@ -14629,7 +14644,6 @@ var WebRTCCall = class extends Destroyable {
14629
14644
  this.clientSession = clientSession;
14630
14645
  this.options = options;
14631
14646
  this.address = address;
14632
- this.participantsMap = /* @__PURE__ */ new Map();
14633
14647
  this._errors$ = this.createSubject();
14634
14648
  this._answered$ = this.createReplaySubject();
14635
14649
  this._holdState = false;
@@ -14702,7 +14716,7 @@ var WebRTCCall = class extends Destroyable {
14702
14716
  }
14703
14717
  /** Current snapshot of all participants in the call. */
14704
14718
  get participants() {
14705
- return Array.from(this.participantsMap.values());
14719
+ return this.callEventsManager.participants;
14706
14720
  }
14707
14721
  /** The local participant, or `null` if not yet joined. */
14708
14722
  get self() {
@@ -15030,7 +15044,6 @@ var WebRTCCall = class extends Destroyable {
15030
15044
  this._status$.next("destroyed");
15031
15045
  this.vertoManager.destroy();
15032
15046
  this.callEventsManager.destroy();
15033
- this.participantsMap.clear();
15034
15047
  super.destroy();
15035
15048
  }
15036
15049
  };
@@ -16388,7 +16401,8 @@ const buildOptionsFromDestination = (destination) => {
16388
16401
  const channel = new URLSearchParams(queryString).get("channel");
16389
16402
  if (channel === "video") return {
16390
16403
  audio: true,
16391
- video: true
16404
+ video: true,
16405
+ receiveVideo: true
16392
16406
  };
16393
16407
  else if (channel === "audio") return {
16394
16408
  audio: true,