@16x/webphone-sdk 3.1.8 → 3.1.9
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/CHANGELOG.md +52 -0
- package/README.md +64 -17
- package/dist/CCBarClient-B6WqgloY.cjs +1 -0
- package/dist/{CCBarClient-DdxjJrdT.js → CCBarClient-CfHT0tl2.js} +91 -308
- package/dist/{Diagnostics-BaGHYBAX.js → Diagnostics-CfbmMp-b.js} +1 -1
- package/dist/{Diagnostics-LQAtyhLu.cjs → Diagnostics-DkKlZQnY.cjs} +1 -1
- package/dist/api/contracts.d.ts +11 -6
- package/dist/core/CCBarClient.d.ts +7 -14
- package/dist/diagnostics/index.cjs +1 -1
- package/dist/diagnostics/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +7 -7
- package/dist/index.umd.js +17 -17
- package/dist/legacy/index.cjs +1 -1
- package/dist/legacy/index.d.ts +2 -0
- package/dist/legacy/index.js +300 -3
- package/dist/legacy/legacyAes.d.ts +29 -0
- package/dist/legacy/legacySessionProvider.d.ts +79 -0
- package/dist/types.d.ts +5 -1
- package/dist/ui/index.cjs +1 -1
- package/dist/ui/index.js +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +2 -4
- package/dist/CCBarClient-BqMNSIu-.cjs +0 -1
- package/dist/api/WebPhoneApi.d.ts +0 -28
- package/dist/auth/TokenManager.d.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./redact-Bq26pObO.cjs");var t=`3.1.
|
|
1
|
+
const e=require("./redact-Bq26pObO.cjs");var t=`3.1.9`,n=class{capacity;entries=[];constructor(e){if(this.capacity=e,!Number.isInteger(e)||e<=0)throw RangeError(`RingBuffer capacity must be a positive integer`)}push(e){this.entries.length===this.capacity&&this.entries.shift(),this.entries.push(e)}toArray(){return[...this.entries]}},r=`@16x/webphone-sdk`,i=200,a=class{dependencies;logs=new n(i);now;constructor(e){this.dependencies=e,this.now=e.now??(()=>new Date)}log(t,n,r){this.logs.push({timestamp:this.now().toISOString(),level:t,message:e.t(n),...r===void 0?{}:{context:e.n(r)}})}async getReport(n={}){let i=n.includeRecentLogs!==!1,a=n.includeDeviceNames===!0,u=n.maskPhoneNumbers!==!1,d=this.dependencies.getSnapshot(),f=this.dependencies.getPermission===void 0?d.permission:await o(this.dependencies.getPermission,d.permission),p=a?await s(this.dependencies.getDeviceNames):void 0,m=l(c(this.dependencies.getUserAgent)),h={generatedAt:this.now().toISOString(),sdk:{name:r,version:t},browser:m.browser,os:m.os,...d,permission:f,recentLogs:i?this.logs.toArray():[],...p===void 0?{}:{deviceNames:p}};return e.n(h,{maskPhoneNumbers:u})}};async function o(e,t){try{return await e()}catch{return t}}async function s(e){if(e===void 0)return[];try{return[...await e()]}catch{return[]}}function c(e){if(e!==void 0)try{return e()}catch{return``}return typeof navigator>`u`?``:navigator.userAgent}function l(e){return{browser:u(e),os:d(e)}}function u(e){for(let[t,n]of[[`Edge`,/Edg\/([\d.]+)/],[`Chrome`,/(?:Chrome|CriOS)\/([\d.]+)/],[`Firefox`,/(?:Firefox|FxiOS)\/([\d.]+)/],[`Safari`,/Version\/([\d.]+).*Safari/]]){let r=e.match(n);if(r?.[1]!==void 0)return{name:t,version:r[1]}}return{name:`unknown`,version:``}}function d(e){let t=e.match(/(?:iPhone|iPad).*OS ([\d_]+)/);if(t?.[1]!==void 0)return{name:`iOS`,version:t[1].replaceAll(`_`,`.`)};let n=e.match(/Android ([\d.]+)/);if(n?.[1]!==void 0)return{name:`Android`,version:n[1]};let r=e.match(/Windows NT ([\d.]+)/);if(r?.[1]!==void 0)return{name:`Windows`,version:r[1]};let i=e.match(/Mac OS X ([\d_]+)/);return i?.[1]===void 0?/Linux/.test(e)?{name:`Linux`,version:``}:{name:`unknown`,version:``}:{name:`macOS`,version:i[1].replaceAll(`_`,`.`)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
|
package/dist/api/contracts.d.ts
CHANGED
|
@@ -14,6 +14,17 @@ export interface AgentStatusRequest {
|
|
|
14
14
|
status: 'available' | 'offline' | 'break';
|
|
15
15
|
reason: string;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* 坐席状态调用时可以由 SDK 带上的上下文:当前会话里跟凭据有关的那部分。
|
|
19
|
+
*
|
|
20
|
+
* 老平台把 fs token 直接拼在软电话地址上(`?token=…`),而同一个 token 也用于 HTTP 接口的
|
|
21
|
+
* `Authorization` —— 所以会话来源可以直接拿它去打 `seat/account/get` 与 `seats/set-status`,
|
|
22
|
+
* 不必再单独换一次票。SDK 有会话时(`client.setAgentStatus`)会把当前会话的地址带上来。
|
|
23
|
+
*/
|
|
24
|
+
export interface AgentStatusContext {
|
|
25
|
+
/** 当前会话的软电话地址,形如 `wss://…/api/fs/sip-ws?token=…` */
|
|
26
|
+
wssUrl?: string;
|
|
27
|
+
}
|
|
17
28
|
export interface IceServer {
|
|
18
29
|
urls: string[];
|
|
19
30
|
username?: string;
|
|
@@ -85,10 +96,4 @@ export interface CallTransportSession {
|
|
|
85
96
|
export interface CallTransport {
|
|
86
97
|
dial(target: string, options?: CallDialOptions): CallTransportSession;
|
|
87
98
|
}
|
|
88
|
-
export interface RefreshSessionRequest {
|
|
89
|
-
refresh?: Array<'sip_register_ticket' | 'wss_ticket' | 'turn_credentials'>;
|
|
90
|
-
}
|
|
91
|
-
export interface CapabilitiesResponse {
|
|
92
|
-
capabilities: string[];
|
|
93
|
-
}
|
|
94
99
|
export declare function parseSessionResponse(response: WebPhoneEnvelope<WebPhoneSession>): WebPhoneSession;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { AgentStatusRequest, CreateSessionRequest, MediaConstraints, WebPhoneSession } from '../api/contracts.js';
|
|
2
|
-
import { TokenProvider } from '../auth/TokenManager.js';
|
|
1
|
+
import { AgentStatusContext, AgentStatusRequest, CreateSessionRequest, MediaConstraints, WebPhoneSession } from '../api/contracts.js';
|
|
3
2
|
import { CCBarEvents, MediaManager as PublicMedia, SharedWorkerOptions, SharedWorkerState } from '../types.js';
|
|
4
3
|
import { SharedWorkerConstructor } from '../shared/SharedWorkerFactory.js';
|
|
5
4
|
import { DialOptions } from './CallManager.js';
|
|
6
5
|
import { CCBarCall, CallPlatform } from './CCBarCall.js';
|
|
7
6
|
import { DiagnosticsOptions, DiagnosticsReport } from '../diagnostics/Diagnostics.js';
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* 签名、解密等必须在服务端做的事,由接入方自己的接口完成。
|
|
8
|
+
* 会话来源:由接入方在自己的服务端把会话拼好后交给 SDK。
|
|
9
|
+
* 签名、解密等必须在服务端做的事,由接入方自己的接口完成;SDK 不请求平台的会话接口。
|
|
12
10
|
*/
|
|
13
11
|
export interface SessionProvider {
|
|
14
12
|
createSession(request: CreateSessionRequest): Promise<WebPhoneSession>;
|
|
@@ -16,15 +14,13 @@ export interface SessionProvider {
|
|
|
16
14
|
refreshSession?(sessionId: string): Promise<WebPhoneSession>;
|
|
17
15
|
/** 缺省时不做清理 */
|
|
18
16
|
deleteSession?(sessionId: string): Promise<void>;
|
|
19
|
-
/** 缺省时调用 setAgentStatus 会抛 CAPABILITY_NOT_SUPPORTED */
|
|
20
|
-
setAgentStatus?(request: AgentStatusRequest): Promise<void>;
|
|
17
|
+
/** 缺省时调用 setAgentStatus 会抛 CAPABILITY_NOT_SUPPORTED;`context` 里带当前会话的凭据线索 */
|
|
18
|
+
setAgentStatus?(request: AgentStatusRequest, context?: AgentStatusContext): Promise<void>;
|
|
21
19
|
invalidateToken?(): void;
|
|
22
20
|
}
|
|
23
21
|
export interface CCBarClientOptions {
|
|
24
22
|
readonly baseUrl?: string;
|
|
25
|
-
/**
|
|
26
|
-
readonly tokenProvider?: TokenProvider;
|
|
27
|
-
/** 自己提供会话(旧平台兼容模式);与 tokenProvider + 新版 API 二选一 */
|
|
23
|
+
/** 自己提供会话(必填);未提供时构造抛 CONFIG_INVALID */
|
|
28
24
|
readonly sessionProvider?: SessionProvider;
|
|
29
25
|
readonly locale?: string;
|
|
30
26
|
readonly platform?: CallPlatform;
|
|
@@ -94,14 +90,11 @@ export declare class CCBarClient {
|
|
|
94
90
|
private readonly deletedSessions;
|
|
95
91
|
private readonly ownedSessionIds;
|
|
96
92
|
private readonly terminalReleaseOperations;
|
|
97
|
-
private tokenRequest;
|
|
98
93
|
private sharedWorkerSelection;
|
|
99
94
|
constructor(options: CCBarClientOptions);
|
|
100
95
|
static checkSupport(): Promise<import('../types.js').PlatformSupport>;
|
|
101
96
|
initialize(): Promise<void>;
|
|
102
|
-
connect(
|
|
103
|
-
readonly extension?: string;
|
|
104
|
-
}): Promise<void>;
|
|
97
|
+
connect(): Promise<void>;
|
|
105
98
|
disconnect(): Promise<void>;
|
|
106
99
|
dispose(): Promise<void>;
|
|
107
100
|
recover(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../Diagnostics-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../Diagnostics-DkKlZQnY.cjs"),t=require("../redact-Bq26pObO.cjs");require("../createJsSipFactory-Dr8HbLl-.cjs"),exports.Diagnostics=e.t,exports.RingBuffer=e.n,exports.diagnosticsVersion=e.r,exports.redactText=t.t,exports.redactValue=t.n;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../Diagnostics-
|
|
1
|
+
import { n as e, r as t, t as n } from "../Diagnostics-CfbmMp-b.js";
|
|
2
2
|
import { n as r, t as i } from "../redact-DB3CMbsK.js";
|
|
3
3
|
export { n as Diagnostics, e as RingBuffer, t as diagnosticsVersion, i as redactText, r as redactValue };
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./SharedWorkerProtocol-39dch6xL.cjs"),t=require("./CCBarClient-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./SharedWorkerProtocol-39dch6xL.cjs"),t=require("./CCBarClient-B6WqgloY.cjs"),n=require("./Diagnostics-DkKlZQnY.cjs"),r=require("./redact-Bq26pObO.cjs");require("./diagnostics/index.cjs"),require("./createJsSipFactory-Dr8HbLl-.cjs");function i(e){if(e.code!==`OK`)throw TypeError(`Unexpected session response code: ${e.code}`);if(e.data===void 0||e.data===null)throw TypeError(`Unexpected session response: missing data`);return e.data}function a(e={}){return{version:`0.1.0`,options:e}}var o=`0.1.0`;exports.CCBarCall=t.a,exports.CCBarClient=t.t,exports.CCBarError=e.i,exports.CallManager=t.i,exports.CallStateError=t.o,exports.Diagnostics=n.t,exports.RingBuffer=n.n,exports.TypedEventBus=t.d,exports.assertCallTransition=t.s,exports.canTransition=t.c,exports.createSdk=a,exports.createSharedWorkerSelection=t.n,exports.diagnosticsVersion=n.r,exports.parseSessionResponse=i,exports.redactText=r.t,exports.redactValue=r.n,exports.resolveWorkerUrl=t.r,exports.transition=t.l,exports.transitions=t.u,exports.version=o;
|
package/dist/index.d.ts
CHANGED
|
@@ -11,9 +11,7 @@ export * from './types.js';
|
|
|
11
11
|
export * from './errors/CCBarError.js';
|
|
12
12
|
export * from './events/TypedEventBus.js';
|
|
13
13
|
export * from './state/callStateMachine.js';
|
|
14
|
-
export * from './auth/TokenManager.js';
|
|
15
14
|
export * from './api/contracts.js';
|
|
16
|
-
export * from './api/WebPhoneApi.js';
|
|
17
15
|
export * from './core/CCBarCall.js';
|
|
18
16
|
export * from './core/CallManager.js';
|
|
19
17
|
export * from './core/CCBarClient.js';
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { i as e } from "./SharedWorkerProtocol-DKVQ5-po.js";
|
|
2
|
-
import { a as t, c as n, d as r,
|
|
3
|
-
import { n as
|
|
4
|
-
import { n as
|
|
2
|
+
import { a as t, c as n, d as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./CCBarClient-CfHT0tl2.js";
|
|
3
|
+
import { n as f, r as p, t as m } from "./Diagnostics-CfbmMp-b.js";
|
|
4
|
+
import { n as h, t as g } from "./redact-DB3CMbsK.js";
|
|
5
5
|
import "./diagnostics/index.js";
|
|
6
6
|
//#region src/api/contracts.ts
|
|
7
|
-
function
|
|
7
|
+
function _(e) {
|
|
8
8
|
if (e.code !== "OK") throw TypeError(`Unexpected session response code: ${e.code}`);
|
|
9
9
|
if (e.data === void 0 || e.data === null) throw TypeError("Unexpected session response: missing data");
|
|
10
10
|
return e.data;
|
|
11
11
|
}
|
|
12
12
|
//#endregion
|
|
13
13
|
//#region src/index.ts
|
|
14
|
-
function
|
|
14
|
+
function v(e = {}) {
|
|
15
15
|
return {
|
|
16
16
|
version: "0.1.0",
|
|
17
17
|
options: e
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
var
|
|
20
|
+
var y = "0.1.0";
|
|
21
21
|
//#endregion
|
|
22
|
-
export { t as CCBarCall,
|
|
22
|
+
export { t as CCBarCall, u as CCBarClient, e as CCBarError, i as CallManager, s as CallStateError, m as Diagnostics, f as RingBuffer, r as TypedEventBus, l as assertCallTransition, n as canTransition, v as createSdk, o as createSharedWorkerSelection, p as diagnosticsVersion, _ as parseSessionResponse, g as redactText, h as redactValue, c as resolveWorkerUrl, a as transition, d as transitions, y as version };
|