@koi-design/callkit 2.0.2 → 2.0.4

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.mjs CHANGED
@@ -1,12 +1,13 @@
1
- // package/index.ts
1
+ // core/index.ts
2
2
  import md5 from "blueimp-md5";
3
3
 
4
- // package/axios.ts
4
+ // core/axios.ts
5
5
  import axios from "axios";
6
6
  var instance = axios.create({
7
7
  headers: {
8
8
  "Content-Type": "application/x-www-form-urlencoded"
9
- }
9
+ },
10
+ timeout: 6e4
10
11
  });
11
12
  instance.interceptors.request.use((config) => config);
12
13
  instance.interceptors.response.use(
@@ -16,25 +17,49 @@ instance.interceptors.response.use(
16
17
  var request = (config) => instance.request(config);
17
18
  var axios_default = request;
18
19
 
19
- // package/api.ts
20
+ // core/api.ts
20
21
  var Api = class {
21
22
  callKit;
22
23
  constructor(callKit) {
23
24
  this.callKit = callKit;
24
25
  }
26
+ isLogining = false;
27
+ isLoginOuting = false;
25
28
  async login(params) {
26
- return this.post({
27
- url: "/auth/agentUser/login",
28
- method: "post",
29
- data: params
30
- });
29
+ if (this.isLogining) {
30
+ return;
31
+ }
32
+ this.isLogining = true;
33
+ try {
34
+ const res = await this.post({
35
+ url: "/auth/agentUser/login",
36
+ method: "post",
37
+ data: params
38
+ });
39
+ this.isLogining = false;
40
+ return res;
41
+ } catch (error) {
42
+ this.isLogining = false;
43
+ throw error;
44
+ }
31
45
  }
32
46
  async loginOut(params) {
33
- return this.post({
34
- url: "/auth/agentUser/loginOut",
35
- method: "post",
36
- data: params
37
- });
47
+ if (this.isLoginOuting) {
48
+ return;
49
+ }
50
+ this.isLoginOuting = true;
51
+ try {
52
+ const res = await this.post({
53
+ url: "/auth/agentUser/loginOut",
54
+ method: "post",
55
+ data: params
56
+ });
57
+ this.isLoginOuting = false;
58
+ return res;
59
+ } catch (error) {
60
+ this.isLoginOuting = false;
61
+ throw error;
62
+ }
38
63
  }
39
64
  async trackLogs(log) {
40
65
  return this.post(
@@ -97,7 +122,7 @@ var Api = class {
97
122
  }
98
123
  };
99
124
 
100
- // package/const.ts
125
+ // core/const.ts
101
126
  var CallStatus = {
102
127
  /**
103
128
  * Initial state/Hang up
@@ -446,7 +471,7 @@ var trackLogsDefaultConfig = {
446
471
  maxSize: 8192
447
472
  };
448
473
 
449
- // package/call.ts
474
+ // core/call.ts
450
475
  var Call = class {
451
476
  callKit;
452
477
  constructor(callKit) {
@@ -587,20 +612,20 @@ var Call = class {
587
612
  // package.json
588
613
  var package_default = {
589
614
  name: "@koi-design/callkit",
590
- version: "2.0.2",
615
+ version: "2.0.4",
591
616
  description: "callkit",
592
617
  author: "koi",
593
618
  license: "ISC",
594
619
  scripts: {
595
620
  build: "tsup",
596
- start: "tsup --watch",
621
+ "build:watch": "tsup --watch",
597
622
  dev: "vite",
598
- lint: "eslint -c .eslintrc.js --ext .jsx,.js,.tsx,.ts ./package --fix",
599
- prepare: "husky install",
623
+ lint: "eslint -c ../../.eslintrc.js --ext .jsx,.js,.tsx,.ts ./package --fix",
600
624
  release: "tsup && node scripts/pkg.js"
601
625
  },
602
626
  exports: {
603
627
  ".": {
628
+ types: "./dist/index.d.ts",
604
629
  require: "./dist/index.js",
605
630
  import: "./dist/index.mjs"
606
631
  }
@@ -637,7 +662,7 @@ var package_default = {
637
662
  }
638
663
  };
639
664
 
640
- // package/config.ts
665
+ // core/config.ts
641
666
  var Config = class {
642
667
  callKit;
643
668
  constructor(callKit) {
@@ -653,6 +678,7 @@ var Config = class {
653
678
  socket: "",
654
679
  userInfo: {
655
680
  wsUrl: "",
681
+ logGather: false,
656
682
  sessionId: "",
657
683
  // User
658
684
  username: "",
@@ -707,7 +733,8 @@ var Config = class {
707
733
  fsPort: "",
708
734
  iceInfo: [],
709
735
  iceGatheringTimeout: this.config.userInfo.iceGatheringTimeout,
710
- encryptionMethod: EncryptionMethod.INTERNAL
736
+ encryptionMethod: EncryptionMethod.INTERNAL,
737
+ logGather: false
711
738
  };
712
739
  this.callKit.trigger(KitEvent.KIT_LOGIN_CHANGE, false);
713
740
  }
@@ -740,7 +767,7 @@ var Config = class {
740
767
  }
741
768
  };
742
769
 
743
- // package/logger.ts
770
+ // core/logger.ts
744
771
  import stringify from "json-stringify-safe";
745
772
  function getLevel(level) {
746
773
  return LoggerLevelMap[level];
@@ -877,7 +904,7 @@ var Logger = class {
877
904
  }
878
905
  };
879
906
 
880
- // package/connect.ts
907
+ // core/connect.ts
881
908
  import {
882
909
  UserAgent,
883
910
  Web,
@@ -886,7 +913,7 @@ import {
886
913
  RegistererState
887
914
  } from "sip.js";
888
915
 
889
- // package/utils.ts
916
+ // core/utils.ts
890
917
  var formatGetInviteData = (inviteData) => {
891
918
  const extendInfoStr = inviteData["x-antaios-manual-extend_info"] || inviteData["x-antaios-manual-extend-info"];
892
919
  let extendInfoObj = null;
@@ -901,7 +928,7 @@ var formatGetInviteData = (inviteData) => {
901
928
  }
902
929
  };
903
930
 
904
- // package/connect.ts
931
+ // core/connect.ts
905
932
  var DEFAULT_RECONNECT_CONFIG = {
906
933
  maxAttempts: 3,
907
934
  delay: 500
@@ -1431,7 +1458,7 @@ var Connect = class {
1431
1458
  this.setCallId(inviteData.callUuid);
1432
1459
  } else {
1433
1460
  this.setCallId(null);
1434
- this.callKit.logger.error("call id is not exist", {
1461
+ this.callKit.logger.warn("call id is not exist", {
1435
1462
  caller: "Connect.register.onInvite",
1436
1463
  content: {
1437
1464
  inviteData
@@ -1495,9 +1522,7 @@ var Connect = class {
1495
1522
  onDisconnect: (error) => {
1496
1523
  console.log("onDisconnect", error);
1497
1524
  if (error) {
1498
- this.startReconnectTimer();
1499
- } else {
1500
- this.callKit.logger.info("SIP User Agent Disconnected", {
1525
+ this.callKit.logger.info("SIP User Agent Disconnected with error", {
1501
1526
  caller: "Connect.register",
1502
1527
  type: "SIP",
1503
1528
  content: {
@@ -1505,6 +1530,13 @@ var Connect = class {
1505
1530
  errCode: ErrorCode.WEBRTC_USER_AGENT_ERROR
1506
1531
  }
1507
1532
  });
1533
+ this.startReconnectTimer();
1534
+ } else {
1535
+ this.callKit.logger.info("SIP User Agent Disconnected", {
1536
+ caller: "Connect.register",
1537
+ type: "SIP",
1538
+ content: {}
1539
+ });
1508
1540
  }
1509
1541
  },
1510
1542
  onRegister: () => {
@@ -1613,6 +1645,15 @@ var Connect = class {
1613
1645
  }
1614
1646
  });
1615
1647
  });
1648
+ await this.userAgent?.stop().catch((err) => {
1649
+ this.callKit.logger.warn(err, {
1650
+ caller: "Connect.unregister",
1651
+ type: "SIP",
1652
+ content: {
1653
+ errCode: ErrorCode.WEBRTC_CANCEL_REGISTER_ERROR
1654
+ }
1655
+ });
1656
+ });
1616
1657
  }
1617
1658
  async call(callback) {
1618
1659
  this.callKit.logger.info("connect call", {
@@ -1847,12 +1888,11 @@ var Connect = class {
1847
1888
  }
1848
1889
  };
1849
1890
 
1850
- // package/socket.ts
1891
+ // core/socket.ts
1851
1892
  var RECONNECT_CONFIG = {
1852
1893
  enabled: true,
1853
1894
  maxAttempts: 3,
1854
- delay: 500,
1855
- backoffMultiplier: 1.5,
1895
+ delay: 1e3,
1856
1896
  pingInterval: 3e4,
1857
1897
  pingTimeout: 5e3
1858
1898
  };
@@ -1897,6 +1937,9 @@ var Socket = class {
1897
1937
  });
1898
1938
  return;
1899
1939
  }
1940
+ if (this.socketError) {
1941
+ return;
1942
+ }
1900
1943
  if (this.isReconnecting) {
1901
1944
  return;
1902
1945
  }
@@ -1909,8 +1952,8 @@ var Socket = class {
1909
1952
  this.ws.onerror = null;
1910
1953
  this.ws.onmessage = null;
1911
1954
  }
1912
- if (this.ws.readyState === WebSocket.CONNECTING || this.ws.readyState === WebSocket.OPEN) {
1913
- this.ws.close();
1955
+ if (this.ws?.readyState === WebSocket.CONNECTING || this.ws?.readyState === WebSocket.OPEN) {
1956
+ this.ws?.close(1e3, "socket close");
1914
1957
  this.callKit.logger.info("socket clear", {
1915
1958
  caller: "Socket.clearWebSocket",
1916
1959
  type: "INCALL",
@@ -1969,9 +2012,6 @@ var Socket = class {
1969
2012
  type: "INCALL",
1970
2013
  content: { ev }
1971
2014
  });
1972
- if (this.socketError) {
1973
- return;
1974
- }
1975
2015
  this.handleDisconnect();
1976
2016
  }
1977
2017
  onError(ev) {
@@ -2300,7 +2340,6 @@ var Socket = class {
2300
2340
  this.resetReconnectState();
2301
2341
  this.lastPingTime = void 0;
2302
2342
  this.satrtConfirm = false;
2303
- this.socketError = false;
2304
2343
  this.clearWebSocket();
2305
2344
  }
2306
2345
  attemptReconnect() {
@@ -2350,7 +2389,7 @@ var Socket = class {
2350
2389
  }
2351
2390
  };
2352
2391
 
2353
- // package/index.ts
2392
+ // core/index.ts
2354
2393
  var CallKit = class {
2355
2394
  api;
2356
2395
  config;