@webex/calling 3.12.0-next.60 → 3.12.0-next.61

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.
Files changed (65) hide show
  1. package/dist/CallRecording/CallRecording.js +158 -0
  2. package/dist/CallRecording/CallRecording.js.map +1 -0
  3. package/dist/CallRecording/CallRecording.test.js +257 -0
  4. package/dist/CallRecording/CallRecording.test.js.map +1 -0
  5. package/dist/CallRecording/WxcCallRecordingConnector.js +576 -0
  6. package/dist/CallRecording/WxcCallRecordingConnector.js.map +1 -0
  7. package/dist/CallRecording/WxcCallRecordingConnector.test.js +651 -0
  8. package/dist/CallRecording/WxcCallRecordingConnector.test.js.map +1 -0
  9. package/dist/CallRecording/callRecordingFixtures.js +235 -0
  10. package/dist/CallRecording/callRecordingFixtures.js.map +1 -0
  11. package/dist/CallRecording/constants.js +49 -0
  12. package/dist/CallRecording/constants.js.map +1 -0
  13. package/dist/CallRecording/types.js +136 -0
  14. package/dist/CallRecording/types.js.map +1 -0
  15. package/dist/CallRecording/utils.js +42 -0
  16. package/dist/CallRecording/utils.js.map +1 -0
  17. package/dist/CallRecording/utils.test.js +97 -0
  18. package/dist/CallRecording/utils.test.js.map +1 -0
  19. package/dist/Events/types.js +28 -1
  20. package/dist/Events/types.js.map +1 -1
  21. package/dist/SDKConnector/types.js.map +1 -1
  22. package/dist/api.js +56 -0
  23. package/dist/api.js.map +1 -1
  24. package/dist/common/testUtil.js +2 -1
  25. package/dist/common/testUtil.js.map +1 -1
  26. package/dist/common/types.js +1 -0
  27. package/dist/common/types.js.map +1 -1
  28. package/dist/index.js +138 -45
  29. package/dist/index.js.map +1 -1
  30. package/dist/module/CallRecording/CallRecording.js +56 -0
  31. package/dist/module/CallRecording/WxcCallRecordingConnector.js +264 -0
  32. package/dist/module/CallRecording/callRecordingFixtures.js +201 -0
  33. package/dist/module/CallRecording/constants.js +27 -0
  34. package/dist/module/CallRecording/types.js +19 -0
  35. package/dist/module/CallRecording/utils.js +14 -0
  36. package/dist/module/Events/types.js +19 -0
  37. package/dist/module/api.js +3 -2
  38. package/dist/module/common/testUtil.js +1 -0
  39. package/dist/module/common/types.js +1 -0
  40. package/dist/module/index.js +4 -1
  41. package/dist/types/CallRecording/CallRecording.d.ts +18 -0
  42. package/dist/types/CallRecording/CallRecording.d.ts.map +1 -0
  43. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts +23 -0
  44. package/dist/types/CallRecording/WxcCallRecordingConnector.d.ts.map +1 -0
  45. package/dist/types/CallRecording/callRecordingFixtures.d.ts +61 -0
  46. package/dist/types/CallRecording/callRecordingFixtures.d.ts.map +1 -0
  47. package/dist/types/CallRecording/constants.d.ts +28 -0
  48. package/dist/types/CallRecording/constants.d.ts.map +1 -0
  49. package/dist/types/CallRecording/types.d.ts +176 -0
  50. package/dist/types/CallRecording/types.d.ts.map +1 -0
  51. package/dist/types/CallRecording/utils.d.ts +3 -0
  52. package/dist/types/CallRecording/utils.d.ts.map +1 -0
  53. package/dist/types/Events/types.d.ts +65 -2
  54. package/dist/types/Events/types.d.ts.map +1 -1
  55. package/dist/types/SDKConnector/types.d.ts +2 -0
  56. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  57. package/dist/types/api.d.ts +6 -4
  58. package/dist/types/api.d.ts.map +1 -1
  59. package/dist/types/common/testUtil.d.ts +1 -0
  60. package/dist/types/common/testUtil.d.ts.map +1 -1
  61. package/dist/types/common/types.d.ts +2 -1
  62. package/dist/types/common/types.d.ts.map +1 -1
  63. package/dist/types/index.d.ts +4 -1
  64. package/dist/types/index.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getRemoteParty = void 0;
8
+ /**
9
+ * Resolves the *remote* party of a recorded call (the party that is not the recording owner) from a
10
+ * recording's {@link RecordingServiceData}.
11
+ *
12
+ * The owner's side is indicated by `serviceData.personality`:
13
+ * - `originator` -> the owner placed the call, so the remote party is `calledParty`.
14
+ * - `terminator` -> the owner received the call, so the remote party is `callingParty`.
15
+ *
16
+ * Returns `undefined` when the party details are absent (e.g. the list endpoint, which only
17
+ * populates `locationId`/`callSessionId`) or when `personality` is unknown. The party details are
18
+ * returned by the metadata endpoint (`GET /convergedRecordings/{recordingId}/metadata`).
19
+ *
20
+ * Use `getRemoteParty(serviceData)?.actor?.id` for the Webex person UUID (avatar/presence
21
+ * services). External/PSTN parties may have no `actor.id`; fall back to `?.name` for display.
22
+ *
23
+ * @param serviceData - The `serviceData` from a {@link Recording} or {@link RecordingMetadata}.
24
+ * @returns The remote {@link RecordingParty}, or `undefined` when it cannot be determined.
25
+ */
26
+ var getRemoteParty = exports.getRemoteParty = function getRemoteParty(serviceData) {
27
+ if (!serviceData) {
28
+ return undefined;
29
+ }
30
+ var personality = serviceData.personality,
31
+ callingParty = serviceData.callingParty,
32
+ calledParty = serviceData.calledParty;
33
+ switch (personality) {
34
+ case 'originator':
35
+ return calledParty;
36
+ case 'terminator':
37
+ return callingParty;
38
+ default:
39
+ return undefined;
40
+ }
41
+ };
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRemoteParty","exports","serviceData","undefined","personality","callingParty","calledParty"],"sources":["utils.ts"],"sourcesContent":["import {RecordingParty, RecordingServiceData} from './types';\n\n/**\n * Resolves the *remote* party of a recorded call (the party that is not the recording owner) from a\n * recording's {@link RecordingServiceData}.\n *\n * The owner's side is indicated by `serviceData.personality`:\n * - `originator` -> the owner placed the call, so the remote party is `calledParty`.\n * - `terminator` -> the owner received the call, so the remote party is `callingParty`.\n *\n * Returns `undefined` when the party details are absent (e.g. the list endpoint, which only\n * populates `locationId`/`callSessionId`) or when `personality` is unknown. The party details are\n * returned by the metadata endpoint (`GET /convergedRecordings/{recordingId}/metadata`).\n *\n * Use `getRemoteParty(serviceData)?.actor?.id` for the Webex person UUID (avatar/presence\n * services). External/PSTN parties may have no `actor.id`; fall back to `?.name` for display.\n *\n * @param serviceData - The `serviceData` from a {@link Recording} or {@link RecordingMetadata}.\n * @returns The remote {@link RecordingParty}, or `undefined` when it cannot be determined.\n */\nexport const getRemoteParty = (serviceData?: RecordingServiceData): RecordingParty | undefined => {\n if (!serviceData) {\n return undefined;\n }\n\n const {personality, callingParty, calledParty} = serviceData;\n\n switch (personality) {\n case 'originator':\n return calledParty;\n case 'terminator':\n return callingParty;\n default:\n return undefined;\n }\n};\n"],"mappings":";;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAIE,WAAkC,EAAiC;EAChG,IAAI,CAACA,WAAW,EAAE;IAChB,OAAOC,SAAS;EAClB;EAEA,IAAOC,WAAW,GAA+BF,WAAW,CAArDE,WAAW;IAAEC,YAAY,GAAiBH,WAAW,CAAxCG,YAAY;IAAEC,WAAW,GAAIJ,WAAW,CAA1BI,WAAW;EAE7C,QAAQF,WAAW;IACjB,KAAK,YAAY;MACf,OAAOE,WAAW;IACpB,KAAK,YAAY;MACf,OAAOD,YAAY;IACrB;MACE,OAAOF,SAAS;EACpB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var _utils = require("./utils");
4
+ describe('CallRecording utils', function () {
5
+ var callingParty = {
6
+ actor: {
7
+ type: 'USER',
8
+ id: 'calling-id',
9
+ email: 'caller@cisco.com'
10
+ },
11
+ number: '9902',
12
+ name: 'Caller'
13
+ };
14
+ var calledParty = {
15
+ actor: {
16
+ type: 'USER',
17
+ id: 'called-id',
18
+ email: 'callee@cisco.com'
19
+ },
20
+ number: '9903',
21
+ name: 'Callee'
22
+ };
23
+ describe('getRemoteParty', function () {
24
+ /**
25
+ * TestCase inputs
26
+ * name: TestCase name
27
+ * serviceData: the recording serviceData under test
28
+ * expected: the party expected to be resolved as the remote side
29
+ */
30
+ var testData = [{
31
+ name: 'returns the calledParty when the owner is the originator',
32
+ serviceData: {
33
+ personality: 'originator',
34
+ callingParty: callingParty,
35
+ calledParty: calledParty
36
+ },
37
+ expected: calledParty
38
+ }, {
39
+ name: 'returns the callingParty when the owner is the terminator',
40
+ serviceData: {
41
+ personality: 'terminator',
42
+ callingParty: callingParty,
43
+ calledParty: calledParty
44
+ },
45
+ expected: callingParty
46
+ }, {
47
+ name: 'returns undefined when personality is missing (e.g. list serviceData)',
48
+ serviceData: {
49
+ locationId: 'loc-1',
50
+ callSessionId: 'session-1'
51
+ },
52
+ expected: undefined
53
+ }, {
54
+ name: 'returns undefined when serviceData is undefined',
55
+ serviceData: undefined,
56
+ expected: undefined
57
+ }, {
58
+ name: 'has no actor id for an external party',
59
+ serviceData: {
60
+ personality: 'originator',
61
+ callingParty: callingParty,
62
+ calledParty: {
63
+ number: '+15551234567'
64
+ }
65
+ },
66
+ expected: {
67
+ number: '+15551234567'
68
+ }
69
+ }];
70
+ it.each(testData)('$name', function (_ref) {
71
+ var serviceData = _ref.serviceData,
72
+ expected = _ref.expected;
73
+ expect((0, _utils.getRemoteParty)(serviceData)).toStrictEqual(expected);
74
+ });
75
+ it('returns the remote party person UUID via actor.id', function () {
76
+ var _getRemoteParty, _getRemoteParty$actor, _getRemoteParty2, _getRemoteParty2$acto, _getRemoteParty3, _getRemoteParty3$acto;
77
+ expect((_getRemoteParty = (0, _utils.getRemoteParty)({
78
+ personality: 'originator',
79
+ callingParty: callingParty,
80
+ calledParty: calledParty
81
+ })) === null || _getRemoteParty === void 0 ? void 0 : (_getRemoteParty$actor = _getRemoteParty.actor) === null || _getRemoteParty$actor === void 0 ? void 0 : _getRemoteParty$actor.id).toBe('called-id');
82
+ expect((_getRemoteParty2 = (0, _utils.getRemoteParty)({
83
+ personality: 'terminator',
84
+ callingParty: callingParty,
85
+ calledParty: calledParty
86
+ })) === null || _getRemoteParty2 === void 0 ? void 0 : (_getRemoteParty2$acto = _getRemoteParty2.actor) === null || _getRemoteParty2$acto === void 0 ? void 0 : _getRemoteParty2$acto.id).toBe('calling-id');
87
+ expect((_getRemoteParty3 = (0, _utils.getRemoteParty)({
88
+ personality: 'originator',
89
+ callingParty: callingParty,
90
+ calledParty: {
91
+ number: '+15551234567'
92
+ }
93
+ })) === null || _getRemoteParty3 === void 0 ? void 0 : (_getRemoteParty3$acto = _getRemoteParty3.actor) === null || _getRemoteParty3$acto === void 0 ? void 0 : _getRemoteParty3$acto.id).toBeUndefined();
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","describe","callingParty","actor","type","id","email","number","name","calledParty","testData","serviceData","personality","expected","locationId","callSessionId","undefined","it","each","_ref","expect","getRemoteParty","toStrictEqual","_getRemoteParty","_getRemoteParty$actor","_getRemoteParty2","_getRemoteParty2$acto","_getRemoteParty3","_getRemoteParty3$acto","toBe","toBeUndefined"],"sources":["utils.test.ts"],"sourcesContent":["import {RecordingParty, RecordingServiceData} from './types';\nimport {getRemoteParty} from './utils';\n\ndescribe('CallRecording utils', () => {\n const callingParty: RecordingParty = {\n actor: {type: 'USER', id: 'calling-id', email: 'caller@cisco.com'},\n number: '9902',\n name: 'Caller',\n };\n const calledParty: RecordingParty = {\n actor: {type: 'USER', id: 'called-id', email: 'callee@cisco.com'},\n number: '9903',\n name: 'Callee',\n };\n\n describe('getRemoteParty', () => {\n /**\n * TestCase inputs\n * name: TestCase name\n * serviceData: the recording serviceData under test\n * expected: the party expected to be resolved as the remote side\n */\n const testData: {\n name: string;\n serviceData?: RecordingServiceData;\n expected: RecordingParty | undefined;\n }[] = [\n {\n name: 'returns the calledParty when the owner is the originator',\n serviceData: {personality: 'originator', callingParty, calledParty},\n expected: calledParty,\n },\n {\n name: 'returns the callingParty when the owner is the terminator',\n serviceData: {personality: 'terminator', callingParty, calledParty},\n expected: callingParty,\n },\n {\n name: 'returns undefined when personality is missing (e.g. list serviceData)',\n serviceData: {locationId: 'loc-1', callSessionId: 'session-1'},\n expected: undefined,\n },\n {\n name: 'returns undefined when serviceData is undefined',\n serviceData: undefined,\n expected: undefined,\n },\n {\n name: 'has no actor id for an external party',\n serviceData: {\n personality: 'originator',\n callingParty,\n calledParty: {number: '+15551234567'},\n },\n expected: {number: '+15551234567'},\n },\n ];\n\n it.each(testData)('$name', ({serviceData, expected}) => {\n expect(getRemoteParty(serviceData)).toStrictEqual(expected);\n });\n\n it('returns the remote party person UUID via actor.id', () => {\n expect(\n getRemoteParty({personality: 'originator', callingParty, calledParty})?.actor?.id\n ).toBe('called-id');\n expect(\n getRemoteParty({personality: 'terminator', callingParty, calledParty})?.actor?.id\n ).toBe('calling-id');\n expect(\n getRemoteParty({\n personality: 'originator',\n callingParty,\n calledParty: {number: '+15551234567'},\n })?.actor?.id\n ).toBeUndefined();\n });\n });\n});\n"],"mappings":";;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,qBAAqB,EAAE,YAAM;EACpC,IAAMC,YAA4B,GAAG;IACnCC,KAAK,EAAE;MAACC,IAAI,EAAE,MAAM;MAAEC,EAAE,EAAE,YAAY;MAAEC,KAAK,EAAE;IAAkB,CAAC;IAClEC,MAAM,EAAE,MAAM;IACdC,IAAI,EAAE;EACR,CAAC;EACD,IAAMC,WAA2B,GAAG;IAClCN,KAAK,EAAE;MAACC,IAAI,EAAE,MAAM;MAAEC,EAAE,EAAE,WAAW;MAAEC,KAAK,EAAE;IAAkB,CAAC;IACjEC,MAAM,EAAE,MAAM;IACdC,IAAI,EAAE;EACR,CAAC;EAEDP,QAAQ,CAAC,gBAAgB,EAAE,YAAM;IAC/B;AACJ;AACA;AACA;AACA;AACA;IACI,IAAMS,QAIH,GAAG,CACJ;MACEF,IAAI,EAAE,0DAA0D;MAChEG,WAAW,EAAE;QAACC,WAAW,EAAE,YAAY;QAAEV,YAAY,EAAZA,YAAY;QAAEO,WAAW,EAAXA;MAAW,CAAC;MACnEI,QAAQ,EAAEJ;IACZ,CAAC,EACD;MACED,IAAI,EAAE,2DAA2D;MACjEG,WAAW,EAAE;QAACC,WAAW,EAAE,YAAY;QAAEV,YAAY,EAAZA,YAAY;QAAEO,WAAW,EAAXA;MAAW,CAAC;MACnEI,QAAQ,EAAEX;IACZ,CAAC,EACD;MACEM,IAAI,EAAE,uEAAuE;MAC7EG,WAAW,EAAE;QAACG,UAAU,EAAE,OAAO;QAAEC,aAAa,EAAE;MAAW,CAAC;MAC9DF,QAAQ,EAAEG;IACZ,CAAC,EACD;MACER,IAAI,EAAE,iDAAiD;MACvDG,WAAW,EAAEK,SAAS;MACtBH,QAAQ,EAAEG;IACZ,CAAC,EACD;MACER,IAAI,EAAE,uCAAuC;MAC7CG,WAAW,EAAE;QACXC,WAAW,EAAE,YAAY;QACzBV,YAAY,EAAZA,YAAY;QACZO,WAAW,EAAE;UAACF,MAAM,EAAE;QAAc;MACtC,CAAC;MACDM,QAAQ,EAAE;QAACN,MAAM,EAAE;MAAc;IACnC,CAAC,CACF;IAEDU,EAAE,CAACC,IAAI,CAACR,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAAS,IAAA,EAA6B;MAAA,IAA3BR,WAAW,GAAAQ,IAAA,CAAXR,WAAW;QAAEE,QAAQ,GAAAM,IAAA,CAARN,QAAQ;MAChDO,MAAM,CAAC,IAAAC,qBAAc,EAACV,WAAW,CAAC,CAAC,CAACW,aAAa,CAACT,QAAQ,CAAC;IAC7D,CAAC,CAAC;IAEFI,EAAE,CAAC,mDAAmD,EAAE,YAAM;MAAA,IAAAM,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA;MAC5DR,MAAM,EAAAG,eAAA,GACJ,IAAAF,qBAAc,EAAC;QAACT,WAAW,EAAE,YAAY;QAAEV,YAAY,EAAZA,YAAY;QAAEO,WAAW,EAAXA;MAAW,CAAC,CAAC,cAAAc,eAAA,wBAAAC,qBAAA,GAAtED,eAAA,CAAwEpB,KAAK,cAAAqB,qBAAA,uBAA7EA,qBAAA,CAA+EnB,EACjF,CAAC,CAACwB,IAAI,CAAC,WAAW,CAAC;MACnBT,MAAM,EAAAK,gBAAA,GACJ,IAAAJ,qBAAc,EAAC;QAACT,WAAW,EAAE,YAAY;QAAEV,YAAY,EAAZA,YAAY;QAAEO,WAAW,EAAXA;MAAW,CAAC,CAAC,cAAAgB,gBAAA,wBAAAC,qBAAA,GAAtED,gBAAA,CAAwEtB,KAAK,cAAAuB,qBAAA,uBAA7EA,qBAAA,CAA+ErB,EACjF,CAAC,CAACwB,IAAI,CAAC,YAAY,CAAC;MACpBT,MAAM,EAAAO,gBAAA,GACJ,IAAAN,qBAAc,EAAC;QACbT,WAAW,EAAE,YAAY;QACzBV,YAAY,EAAZA,YAAY;QACZO,WAAW,EAAE;UAACF,MAAM,EAAE;QAAc;MACtC,CAAC,CAAC,cAAAoB,gBAAA,wBAAAC,qBAAA,GAJFD,gBAAA,CAIIxB,KAAK,cAAAyB,qBAAA,uBAJTA,qBAAA,CAIWvB,EACb,CAAC,CAACyB,aAAa,CAAC,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -11,7 +11,7 @@ _Object$defineProperty(exports, "MOBIUS_SOCKET_DISCONNECT_REASON", {
11
11
  return _constants.MOBIUS_SOCKET_DISCONNECT_REASON;
12
12
  }
13
13
  });
14
- exports.SessionType = exports.SUPPLEMENTARY_SERVICES = void 0;
14
+ exports.SessionType = exports.SUPPLEMENTARY_SERVICES = exports.RECORDING_EVENT_TYPE = exports.RECORDING_EVENT_SUBTYPE = void 0;
15
15
  var _types = require("../CallingClient/line/types");
16
16
  var _constants = require("../CallingClient/utils/constants");
17
17
  /* eslint-disable @typescript-eslint/no-unused-vars */
@@ -22,6 +22,9 @@ var COMMON_EVENT_KEYS = exports.COMMON_EVENT_KEYS = /*#__PURE__*/function (COMMO
22
22
  COMMON_EVENT_KEYS["CALL_HISTORY_USER_SESSION_INFO"] = "callHistory:user_recent_sessions";
23
23
  COMMON_EVENT_KEYS["CALL_HISTORY_USER_VIEWED_SESSIONS"] = "callHistory:user_viewed_sessions";
24
24
  COMMON_EVENT_KEYS["CALL_HISTORY_USER_SESSIONS_DELETED"] = "callHistory:user_sessions_deleted";
25
+ COMMON_EVENT_KEYS["CALL_RECORDING_CREATED"] = "callRecording:created";
26
+ COMMON_EVENT_KEYS["CALL_RECORDING_UPDATED"] = "callRecording:updated";
27
+ COMMON_EVENT_KEYS["CALL_RECORDING_DELETED"] = "callRecording:deleted";
25
28
  return COMMON_EVENT_KEYS;
26
29
  }({});
27
30
  var LINE_EVENT_KEYS = exports.LINE_EVENT_KEYS = /*#__PURE__*/function (LINE_EVENT_KEYS) {
@@ -84,6 +87,9 @@ var MOBIUS_EVENT_KEYS = exports.MOBIUS_EVENT_KEYS = /*#__PURE__*/function (MOBIU
84
87
  MOBIUS_EVENT_KEYS["CALL_SESSION_EVENT_LEGACY"] = "event:janus.user_sessions";
85
88
  MOBIUS_EVENT_KEYS["CALL_SESSION_EVENT_VIEWED"] = "event:janus.user_viewed_sessions";
86
89
  MOBIUS_EVENT_KEYS["CALL_SESSION_EVENT_DELETED"] = "event:janus.user_sessions_deleted";
90
+ MOBIUS_EVENT_KEYS["RECORDING_EVENT_CREATED"] = "event:convergedRecordings.created";
91
+ MOBIUS_EVENT_KEYS["RECORDING_EVENT_UPDATED"] = "event:convergedRecordings.updated";
92
+ MOBIUS_EVENT_KEYS["RECORDING_EVENT_DELETED"] = "event:convergedRecordings.deleted";
87
93
  return MOBIUS_EVENT_KEYS;
88
94
  }({});
89
95
  var MEDIA_CONNECTION_EVENT_KEYS = exports.MEDIA_CONNECTION_EVENT_KEYS = /*#__PURE__*/function (MEDIA_CONNECTION_EVENT_KEYS) {
@@ -91,6 +97,27 @@ var MEDIA_CONNECTION_EVENT_KEYS = exports.MEDIA_CONNECTION_EVENT_KEYS = /*#__PUR
91
97
  MEDIA_CONNECTION_EVENT_KEYS["MEDIA_TYPE_AUDIO"] = "audio";
92
98
  return MEDIA_CONNECTION_EVENT_KEYS;
93
99
  }({});
100
+ /**
101
+ * Backend recording Mercury `eventType` values, surfaced on the recording activity envelope.
102
+ */
103
+ var RECORDING_EVENT_TYPE = exports.RECORDING_EVENT_TYPE = /*#__PURE__*/function (RECORDING_EVENT_TYPE) {
104
+ RECORDING_EVENT_TYPE["CREATED"] = "convergedRecordings.created";
105
+ RECORDING_EVENT_TYPE["UPDATED"] = "convergedRecordings.updated";
106
+ RECORDING_EVENT_TYPE["DELETED"] = "convergedRecordings.deleted";
107
+ return RECORDING_EVENT_TYPE;
108
+ }({});
109
+ /**
110
+ * Sub-type that qualifies a `convergedRecordings.updated` event. Notably, AI summary/transcript
111
+ * availability is surfaced as an `updated` event with `eventSubType: SUMMARY_CREATE` — there are
112
+ * no separate `transcriptAvailable`/`summaryAvailable` backend events.
113
+ */
114
+ var RECORDING_EVENT_SUBTYPE = exports.RECORDING_EVENT_SUBTYPE = /*#__PURE__*/function (RECORDING_EVENT_SUBTYPE) {
115
+ RECORDING_EVENT_SUBTYPE["TRASH"] = "TRASH";
116
+ RECORDING_EVENT_SUBTYPE["PURGE"] = "PURGE";
117
+ RECORDING_EVENT_SUBTYPE["RESTORE"] = "RESTORE";
118
+ RECORDING_EVENT_SUBTYPE["SUMMARY_CREATE"] = "SUMMARY_CREATE";
119
+ return RECORDING_EVENT_SUBTYPE;
120
+ }({});
94
121
  /* External Eventing End */
95
122
  /** Internal Eventing Start */
96
123
  var CALL_STATE = /*#__PURE__*/function (CALL_STATE) {
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_constants","COMMON_EVENT_KEYS","exports","LINE_EVENT_KEYS","CALLING_CLIENT_EVENT_KEYS","CALL_EVENT_KEYS","SUPPLEMENTARY_SERVICES","MOBIUS_MIDCALL_STATE","Disposition","SessionType","MOBIUS_EVENT_KEYS","MEDIA_CONNECTION_EVENT_KEYS","CALL_STATE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */ // TODO: remove once we define the payloads\nimport {ILine} from '../api';\nimport {LINE_EVENTS} from '../CallingClient/line/types';\nimport type {ICall} from '../CallingClient/calling/types';\nimport {CallId, DisplayInformation} from '../common/types';\nimport {CallError, CallingClientError, LineError} from '../Errors';\nimport {MOBIUS_SOCKET_DISCONNECT_REASON} from '../CallingClient/utils/constants';\n\nexport {MOBIUS_SOCKET_DISCONNECT_REASON};\n\n/** External Eventing Start */\nexport enum COMMON_EVENT_KEYS {\n CB_VOICEMESSAGE_CONTENT_GET = 'call_back_voicemail_content_get',\n CALL_HISTORY_USER_SESSION_INFO = 'callHistory:user_recent_sessions',\n CALL_HISTORY_USER_VIEWED_SESSIONS = 'callHistory:user_viewed_sessions',\n CALL_HISTORY_USER_SESSIONS_DELETED = 'callHistory:user_sessions_deleted',\n}\n\nexport enum LINE_EVENT_KEYS {\n INCOMING_CALL = 'incoming_call',\n}\n\nexport enum CALLING_CLIENT_EVENT_KEYS {\n ERROR = 'callingClient:error',\n OUTGOING_CALL = 'callingClient:outgoing_call',\n USER_SESSION_INFO = 'callingClient:user_recent_sessions',\n ALL_CALLS_CLEARED = 'callingClient:all_calls_cleared',\n MOBIUS_SOCKET_CONNECTED = 'callingClient:mobius_socket_connected',\n MOBIUS_SOCKET_DISCONNECTED = 'callingClient:mobius_socket_disconnected',\n}\n\nexport type MobiusSocketDisconnectedEvent = {\n reason: MOBIUS_SOCKET_DISCONNECT_REASON;\n};\n\nexport enum CALL_EVENT_KEYS {\n ALERTING = 'alerting',\n CALL_ERROR = 'call_error',\n CALLER_ID = 'caller_id',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n ESTABLISHED = 'established',\n HELD = 'held',\n HOLD_ERROR = 'hold_error',\n PROGRESS = 'progress',\n REMOTE_MEDIA = 'remote_media',\n RESUME_ERROR = 'resume_error',\n RESUMED = 'resumed',\n TRANSFER_ERROR = 'transfer_error',\n}\n\nexport enum SUPPLEMENTARY_SERVICES {\n HOLD = 'hold',\n RESUME = 'resume',\n DIVERT = 'divert',\n TRANSFER = 'transfer',\n PARK = 'park',\n}\n\nexport enum MOBIUS_MIDCALL_STATE {\n HELD = 'HELD',\n CONNECTED = 'CONNECTED',\n}\n\nexport enum Disposition {\n ANSWERED = 'Answered',\n CANCELED = 'Canceled',\n INITIATED = 'Initiated',\n MISSED = 'MISSED',\n}\n\nexport type CallRecordLink = {\n locusUrl?: string;\n conversationUrl?: string;\n callbackAddress: string;\n};\n\nexport type CallBackInfo = {\n callbackAddress: string;\n callbackType: string;\n};\n\nexport type LookUpInfo = {\n lookupLink: string;\n type: string;\n};\n\nexport type CallRecordSelf = {\n id: string;\n name?: string;\n phoneNumber?: string;\n cucmDN?: string;\n ucmLineNumber?: number;\n};\n\nexport type CallRecordListOther = {\n ownerId?: string;\n id: string;\n name?: string;\n sipUrl?: string;\n primaryDisplayString?: string;\n secondaryDisplayString?: string;\n isPrivate: boolean;\n callbackAddress: string;\n phoneNumber?: string;\n contact?: string;\n email?: string;\n};\n\nexport type RedirectionDetails = {\n phoneNumber?: string;\n sipUrl?: string;\n name?: string;\n reason: string;\n userId?: string;\n isPrivate: boolean;\n};\n\nexport enum SessionType {\n SPARK = 'SPARK',\n WEBEX_CALLING = 'WEBEXCALLING',\n}\n\nexport type UserSession = {\n id: string;\n sessionId: string;\n disposition: Disposition;\n startTime: string;\n endTime: string;\n url: string;\n durationSeconds: number;\n joinedDurationSeconds: number;\n participantCount: number;\n isDeleted: boolean;\n isPMR: boolean;\n correlationIds: string[];\n links: CallRecordLink;\n self: CallRecordSelf;\n durationSecs: number;\n other: CallRecordListOther;\n sessionType: SessionType;\n direction: string;\n callingSpecifics?: {\n redirectionDetails: RedirectionDetails;\n };\n};\n\nexport type CallingParty = {\n name?: string;\n number?: string;\n privacyEnabled?: boolean;\n userId?: string;\n address?: string;\n};\n\nexport type Item = {\n id?: string;\n duration?: number;\n callingParty?: CallingParty;\n urgent?: boolean;\n confidential?: boolean;\n read?: boolean;\n created?: string;\n messageId?: string;\n time?: number;\n};\n\nexport enum MOBIUS_EVENT_KEYS {\n SERVER_EVENT_INCLUSIVE = 'event:mobius',\n CALL_SESSION_EVENT_INCLUSIVE = 'event:janus.user_recent_sessions',\n CALL_SESSION_EVENT_LEGACY = 'event:janus.user_sessions',\n CALL_SESSION_EVENT_VIEWED = 'event:janus.user_viewed_sessions',\n CALL_SESSION_EVENT_DELETED = 'event:janus.user_sessions_deleted',\n}\n\nexport type CallSessionData = {\n userSessions: {\n userSessions: UserSession[];\n statusCode: number;\n };\n eventType:\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY;\n};\n\nexport type CallSessionEvent = {\n id: string;\n data: CallSessionData;\n timestamp: number;\n trackingId: string;\n};\n\nexport enum MEDIA_CONNECTION_EVENT_KEYS {\n ROAP_MESSAGE_TO_SEND = 'roap:messageToSend',\n MEDIA_TYPE_AUDIO = 'audio',\n}\n\nexport type CallerIdDisplay = {\n correlationId: string;\n callerId: DisplayInformation;\n};\n\nexport type LineEventTypes = {\n [LINE_EVENTS.CONNECTING]: () => void;\n [LINE_EVENTS.ERROR]: (error: LineError) => void;\n [LINE_EVENTS.RECONNECTED]: () => void;\n [LINE_EVENTS.RECONNECTING]: () => void;\n [LINE_EVENTS.REGISTERED]: (lineInfo: ILine) => void;\n [LINE_EVENTS.UNREGISTERED]: () => void;\n [LINE_EVENTS.INCOMING_CALL]: (callObj: ICall) => void;\n};\n\nexport type CallEventTypes = {\n [CALL_EVENT_KEYS.CALL_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.CALLER_ID]: (display: CallerIdDisplay) => void;\n [CALL_EVENT_KEYS.CONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.DISCONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.ESTABLISHED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HELD]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HOLD_ERROR]: (error: CallError) => void;\n [LINE_EVENT_KEYS.INCOMING_CALL]: (callObj: ICall) => void;\n [CALL_EVENT_KEYS.PROGRESS]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.REMOTE_MEDIA]: (track: MediaStreamTrack) => void;\n [CALL_EVENT_KEYS.RESUME_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.RESUMED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.TRANSFER_ERROR]: (error: CallError) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n};\n\nexport type MessageId = {\n messageId: string;\n};\n\nexport type VoicemailEventTypes = {\n [COMMON_EVENT_KEYS.CB_VOICEMESSAGE_CONTENT_GET]: (messageId: MessageId) => void;\n};\n\nexport type CallingClientEventTypes = {\n [CALLING_CLIENT_EVENT_KEYS.ERROR]: (error: CallingClientError) => void;\n [CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [CALLING_CLIENT_EVENT_KEYS.OUTGOING_CALL]: (callId: string) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED]: (\n event: MobiusSocketDisconnectedEvent\n ) => void;\n};\n\nexport type CallHistoryEventTypes = {\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS]: (event: CallSessionViewedEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED]: (event: CallSessionDeletedEvent) => void;\n};\n/* External Eventing End */\n\n/** Internal Eventing Start */\nenum CALL_STATE {\n HELD = 'held',\n REMOTE_HELD = 'remoteheld',\n CONNECTED = 'connected',\n}\n\ntype eventType = string;\n\ntype callProgressData = {\n alerting: boolean;\n inbandROAP: boolean;\n};\n\nexport type CallerIdInfo = {\n 'x-broadworks-remote-party-info'?: string;\n 'p-asserted-identity'?: string;\n from?: string;\n};\n\ntype callId = string;\ntype deviceId = string;\ntype correlationId = string;\ntype callUrl = string;\ntype causecode = number;\ntype cause = string;\n\ntype eventData = {\n callerId: CallerIdInfo;\n callState: CALL_STATE;\n};\n\ntype midCallServiceData = {\n eventType: eventType;\n eventData: eventData;\n};\n\ntype midCallService = Array<midCallServiceData>;\ninterface BaseMessage {\n eventType: eventType;\n correlationId: correlationId;\n deviceId: deviceId;\n callId: callId;\n callUrl: callUrl;\n}\nexport interface CallSetupMessage extends BaseMessage {\n callerId: CallerIdInfo;\n trackingId: string;\n alertType: string;\n}\n\n/** Internal Eventing End */\n\n/** State Machine Events */\n\nexport type CallEvent =\n /* Received Events */\n | {type: 'E_RECV_CALL_SETUP'; data?: unknown}\n | {type: 'E_RECV_CALL_PROGRESS'; data?: unknown}\n | {type: 'E_RECV_CALL_CONNECT'; data?: unknown}\n | {type: 'E_RECV_CALL_DISCONNECT'; data?: unknown}\n\n /* Sent Events */\n | {type: 'E_SEND_CALL_SETUP'; data?: unknown}\n | {type: 'E_SEND_CALL_ALERTING'; data?: unknown}\n | {type: 'E_SEND_CALL_CONNECT'; data?: unknown}\n | {type: 'E_SEND_CALL_DISCONNECT'; data?: unknown}\n\n /* Common Events */\n | {type: 'E_CALL_ESTABLISHED'; data?: unknown}\n | {type: 'E_CALL_INFO'; data?: unknown}\n | {type: 'E_UNKNOWN'; data?: unknown}\n | {type: 'E_CALL_CLEARED'; data?: unknown}\n | {type: 'E_CALL_HOLD'; data?: unknown}\n | {type: 'E_CALL_RESUME'; data?: unknown};\n\n/* ROAP Events */\nexport type RoapEvent =\n | {type: 'E_SEND_ROAP_OFFER'; data?: unknown}\n | {type: 'E_SEND_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER'; data?: unknown}\n | {type: 'E_RECV_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_ROAP_ERROR'; data?: unknown}\n | {type: 'E_ROAP_OK'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER_REQUEST'; data?: unknown} // ROAP request to explicitly ask Client to do OFFER\n | {type: 'E_ROAP_TEARDOWN'; data?: unknown};\n\n// TODO: export RoapMessage type from the media SDK to use here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RoapMessage {\n seq: number;\n messageType: 'OFFER' | 'ANSWER' | 'OK' | 'ERROR' | 'OFFER_REQUEST' | 'OFFER_RESPONSE';\n offererSessionId?: string;\n answererSessionId?: string;\n sdp?: string;\n version?: string;\n tieBreaker?: string;\n errorType?: string;\n}\n\nexport interface RoapMessageEvent {\n roapMessage: RoapMessage;\n}\n\nexport type UserReadSessions = {\n sessionId: string;\n};\n\nexport type CallSessionViewedData = {\n userReadSessions: {\n userReadSessions: UserReadSessions[];\n statusCode: number;\n };\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED;\n};\n\nexport type CallSessionViewedEvent = {\n id: string;\n data: CallSessionViewedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type CallSessionDeletedData = {\n deletedSessions: string[];\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED;\n};\n\nexport type CallSessionDeletedEvent = {\n id: string;\n data: CallSessionDeletedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type EndTimeSessionId = {\n endTime: string;\n sessionId: string;\n};\n\nexport type SanitizedEndTimeAndSessionId = {\n endTime: number;\n sessionId: string;\n};\n\nexport type UCMLine = {\n dnorpattern: string;\n index: number;\n label: string | null;\n};\n\nexport type UCMDevice = {\n name: string;\n model: number;\n lines: UCMLine[];\n};\n\nexport type UCMLinesApiResponse = {\n devices: UCMDevice[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,UAAA,GAAAD,OAAA;AANA;AAAuD;AAUvD;AAAA,IACYE,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAOjBE,eAAe,GAAAD,OAAA,CAAAC,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAIfC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAAA,IAazBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAgBfC,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAQtBC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,WAAW,GAAAN,OAAA,CAAAM,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAsDXC,WAAW,GAAAP,OAAA,CAAAO,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAiDXC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAyBjBC,2BAA2B,GAAAT,OAAA,CAAAS,2BAAA,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AA6DvC;AAEA;AAAA,IACKC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAkDf;AAEA;AAuBA;AAWA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_constants","COMMON_EVENT_KEYS","exports","LINE_EVENT_KEYS","CALLING_CLIENT_EVENT_KEYS","CALL_EVENT_KEYS","SUPPLEMENTARY_SERVICES","MOBIUS_MIDCALL_STATE","Disposition","SessionType","MOBIUS_EVENT_KEYS","MEDIA_CONNECTION_EVENT_KEYS","RECORDING_EVENT_TYPE","RECORDING_EVENT_SUBTYPE","CALL_STATE"],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */ // TODO: remove once we define the payloads\nimport {ILine} from '../api';\nimport {LINE_EVENTS} from '../CallingClient/line/types';\nimport type {ICall} from '../CallingClient/calling/types';\nimport {CallId, DisplayInformation} from '../common/types';\nimport {CallError, CallingClientError, LineError} from '../Errors';\nimport {MOBIUS_SOCKET_DISCONNECT_REASON} from '../CallingClient/utils/constants';\n\nexport {MOBIUS_SOCKET_DISCONNECT_REASON};\n\n/** External Eventing Start */\nexport enum COMMON_EVENT_KEYS {\n CB_VOICEMESSAGE_CONTENT_GET = 'call_back_voicemail_content_get',\n CALL_HISTORY_USER_SESSION_INFO = 'callHistory:user_recent_sessions',\n CALL_HISTORY_USER_VIEWED_SESSIONS = 'callHistory:user_viewed_sessions',\n CALL_HISTORY_USER_SESSIONS_DELETED = 'callHistory:user_sessions_deleted',\n CALL_RECORDING_CREATED = 'callRecording:created',\n CALL_RECORDING_UPDATED = 'callRecording:updated',\n CALL_RECORDING_DELETED = 'callRecording:deleted',\n}\n\nexport enum LINE_EVENT_KEYS {\n INCOMING_CALL = 'incoming_call',\n}\n\nexport enum CALLING_CLIENT_EVENT_KEYS {\n ERROR = 'callingClient:error',\n OUTGOING_CALL = 'callingClient:outgoing_call',\n USER_SESSION_INFO = 'callingClient:user_recent_sessions',\n ALL_CALLS_CLEARED = 'callingClient:all_calls_cleared',\n MOBIUS_SOCKET_CONNECTED = 'callingClient:mobius_socket_connected',\n MOBIUS_SOCKET_DISCONNECTED = 'callingClient:mobius_socket_disconnected',\n}\n\nexport type MobiusSocketDisconnectedEvent = {\n reason: MOBIUS_SOCKET_DISCONNECT_REASON;\n};\n\nexport enum CALL_EVENT_KEYS {\n ALERTING = 'alerting',\n CALL_ERROR = 'call_error',\n CALLER_ID = 'caller_id',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n ESTABLISHED = 'established',\n HELD = 'held',\n HOLD_ERROR = 'hold_error',\n PROGRESS = 'progress',\n REMOTE_MEDIA = 'remote_media',\n RESUME_ERROR = 'resume_error',\n RESUMED = 'resumed',\n TRANSFER_ERROR = 'transfer_error',\n}\n\nexport enum SUPPLEMENTARY_SERVICES {\n HOLD = 'hold',\n RESUME = 'resume',\n DIVERT = 'divert',\n TRANSFER = 'transfer',\n PARK = 'park',\n}\n\nexport enum MOBIUS_MIDCALL_STATE {\n HELD = 'HELD',\n CONNECTED = 'CONNECTED',\n}\n\nexport enum Disposition {\n ANSWERED = 'Answered',\n CANCELED = 'Canceled',\n INITIATED = 'Initiated',\n MISSED = 'MISSED',\n}\n\nexport type CallRecordLink = {\n locusUrl?: string;\n conversationUrl?: string;\n callbackAddress: string;\n};\n\nexport type CallBackInfo = {\n callbackAddress: string;\n callbackType: string;\n};\n\nexport type LookUpInfo = {\n lookupLink: string;\n type: string;\n};\n\nexport type CallRecordSelf = {\n id: string;\n name?: string;\n phoneNumber?: string;\n cucmDN?: string;\n ucmLineNumber?: number;\n};\n\nexport type CallRecordListOther = {\n ownerId?: string;\n id: string;\n name?: string;\n sipUrl?: string;\n primaryDisplayString?: string;\n secondaryDisplayString?: string;\n isPrivate: boolean;\n callbackAddress: string;\n phoneNumber?: string;\n contact?: string;\n email?: string;\n};\n\nexport type RedirectionDetails = {\n phoneNumber?: string;\n sipUrl?: string;\n name?: string;\n reason: string;\n userId?: string;\n isPrivate: boolean;\n};\n\nexport enum SessionType {\n SPARK = 'SPARK',\n WEBEX_CALLING = 'WEBEXCALLING',\n}\n\nexport type UserSession = {\n id: string;\n sessionId: string;\n disposition: Disposition;\n startTime: string;\n endTime: string;\n url: string;\n durationSeconds: number;\n joinedDurationSeconds: number;\n participantCount: number;\n isDeleted: boolean;\n isPMR: boolean;\n correlationIds: string[];\n links: CallRecordLink;\n self: CallRecordSelf;\n durationSecs: number;\n other: CallRecordListOther;\n sessionType: SessionType;\n direction: string;\n callingSpecifics?: {\n redirectionDetails: RedirectionDetails;\n };\n};\n\nexport type CallingParty = {\n name?: string;\n number?: string;\n privacyEnabled?: boolean;\n userId?: string;\n address?: string;\n};\n\nexport type Item = {\n id?: string;\n duration?: number;\n callingParty?: CallingParty;\n urgent?: boolean;\n confidential?: boolean;\n read?: boolean;\n created?: string;\n messageId?: string;\n time?: number;\n};\n\nexport enum MOBIUS_EVENT_KEYS {\n SERVER_EVENT_INCLUSIVE = 'event:mobius',\n CALL_SESSION_EVENT_INCLUSIVE = 'event:janus.user_recent_sessions',\n CALL_SESSION_EVENT_LEGACY = 'event:janus.user_sessions',\n CALL_SESSION_EVENT_VIEWED = 'event:janus.user_viewed_sessions',\n CALL_SESSION_EVENT_DELETED = 'event:janus.user_sessions_deleted',\n RECORDING_EVENT_CREATED = 'event:convergedRecordings.created',\n RECORDING_EVENT_UPDATED = 'event:convergedRecordings.updated',\n RECORDING_EVENT_DELETED = 'event:convergedRecordings.deleted',\n}\n\nexport type CallSessionData = {\n userSessions: {\n userSessions: UserSession[];\n statusCode: number;\n };\n eventType:\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE\n | MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_LEGACY;\n};\n\nexport type CallSessionEvent = {\n id: string;\n data: CallSessionData;\n timestamp: number;\n trackingId: string;\n};\n\nexport enum MEDIA_CONNECTION_EVENT_KEYS {\n ROAP_MESSAGE_TO_SEND = 'roap:messageToSend',\n MEDIA_TYPE_AUDIO = 'audio',\n}\n\nexport type CallerIdDisplay = {\n correlationId: string;\n callerId: DisplayInformation;\n};\n\nexport type LineEventTypes = {\n [LINE_EVENTS.CONNECTING]: () => void;\n [LINE_EVENTS.ERROR]: (error: LineError) => void;\n [LINE_EVENTS.RECONNECTED]: () => void;\n [LINE_EVENTS.RECONNECTING]: () => void;\n [LINE_EVENTS.REGISTERED]: (lineInfo: ILine) => void;\n [LINE_EVENTS.UNREGISTERED]: () => void;\n [LINE_EVENTS.INCOMING_CALL]: (callObj: ICall) => void;\n};\n\nexport type CallEventTypes = {\n [CALL_EVENT_KEYS.CALL_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.CALLER_ID]: (display: CallerIdDisplay) => void;\n [CALL_EVENT_KEYS.CONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.DISCONNECT]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.ESTABLISHED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HELD]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.HOLD_ERROR]: (error: CallError) => void;\n [LINE_EVENT_KEYS.INCOMING_CALL]: (callObj: ICall) => void;\n [CALL_EVENT_KEYS.PROGRESS]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.REMOTE_MEDIA]: (track: MediaStreamTrack) => void;\n [CALL_EVENT_KEYS.RESUME_ERROR]: (error: CallError) => void;\n [CALL_EVENT_KEYS.RESUMED]: (callId: CallId) => void;\n [CALL_EVENT_KEYS.TRANSFER_ERROR]: (error: CallError) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n};\n\nexport type MessageId = {\n messageId: string;\n};\n\nexport type VoicemailEventTypes = {\n [COMMON_EVENT_KEYS.CB_VOICEMESSAGE_CONTENT_GET]: (messageId: MessageId) => void;\n};\n\nexport type CallingClientEventTypes = {\n [CALLING_CLIENT_EVENT_KEYS.ERROR]: (error: CallingClientError) => void;\n [CALLING_CLIENT_EVENT_KEYS.USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [CALLING_CLIENT_EVENT_KEYS.OUTGOING_CALL]: (callId: string) => void;\n [CALLING_CLIENT_EVENT_KEYS.ALL_CALLS_CLEARED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_CONNECTED]: () => void;\n [CALLING_CLIENT_EVENT_KEYS.MOBIUS_SOCKET_DISCONNECTED]: (\n event: MobiusSocketDisconnectedEvent\n ) => void;\n};\n\nexport type CallHistoryEventTypes = {\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO]: (event: CallSessionEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_VIEWED_SESSIONS]: (event: CallSessionViewedEvent) => void;\n [COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSIONS_DELETED]: (event: CallSessionDeletedEvent) => void;\n};\n\n/**\n * Backend recording Mercury `eventType` values, surfaced on the recording activity envelope.\n */\nexport enum RECORDING_EVENT_TYPE {\n CREATED = 'convergedRecordings.created',\n UPDATED = 'convergedRecordings.updated',\n DELETED = 'convergedRecordings.deleted',\n}\n\n/**\n * Sub-type that qualifies a `convergedRecordings.updated` event. Notably, AI summary/transcript\n * availability is surfaced as an `updated` event with `eventSubType: SUMMARY_CREATE` — there are\n * no separate `transcriptAvailable`/`summaryAvailable` backend events.\n */\nexport enum RECORDING_EVENT_SUBTYPE {\n TRASH = 'TRASH',\n PURGE = 'PURGE',\n RESTORE = 'RESTORE',\n SUMMARY_CREATE = 'SUMMARY_CREATE',\n}\n\nexport type RecordingActor = {\n id?: string;\n objectType?: string;\n emailAddress?: string;\n displayName?: string;\n};\n\nexport type RecordingActivityObject = {\n id: string;\n objectType?: string;\n suiteID?: string;\n callSessionID?: string;\n locationID?: string;\n topic?: string;\n durationSeconds?: number;\n sizeBytes?: number;\n callingActorID?: string;\n calledActorID?: string;\n personality?: string;\n storageRegion?: string;\n playbackUrl?: string;\n published?: string;\n};\n\nexport type RecordingActivity = {\n id?: string;\n objectType?: string;\n verb?: string;\n published?: string;\n actor?: RecordingActor;\n object: RecordingActivityObject;\n};\n\nexport type RecordingEventData = {\n activity: RecordingActivity;\n eventType: RECORDING_EVENT_TYPE;\n eventSubType?: RECORDING_EVENT_SUBTYPE;\n};\n\nexport type RecordingEvent = {\n id?: string;\n data: RecordingEventData;\n timestamp?: number;\n trackingId?: string;\n};\n\nexport type CallRecordingEventTypes = {\n [COMMON_EVENT_KEYS.CALL_RECORDING_CREATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_UPDATED]: (event: RecordingEvent) => void;\n [COMMON_EVENT_KEYS.CALL_RECORDING_DELETED]: (event: RecordingEvent) => void;\n};\n/* External Eventing End */\n\n/** Internal Eventing Start */\nenum CALL_STATE {\n HELD = 'held',\n REMOTE_HELD = 'remoteheld',\n CONNECTED = 'connected',\n}\n\ntype eventType = string;\n\ntype callProgressData = {\n alerting: boolean;\n inbandROAP: boolean;\n};\n\nexport type CallerIdInfo = {\n 'x-broadworks-remote-party-info'?: string;\n 'p-asserted-identity'?: string;\n from?: string;\n};\n\ntype callId = string;\ntype deviceId = string;\ntype correlationId = string;\ntype callUrl = string;\ntype causecode = number;\ntype cause = string;\n\ntype eventData = {\n callerId: CallerIdInfo;\n callState: CALL_STATE;\n};\n\ntype midCallServiceData = {\n eventType: eventType;\n eventData: eventData;\n};\n\ntype midCallService = Array<midCallServiceData>;\ninterface BaseMessage {\n eventType: eventType;\n correlationId: correlationId;\n deviceId: deviceId;\n callId: callId;\n callUrl: callUrl;\n}\nexport interface CallSetupMessage extends BaseMessage {\n callerId: CallerIdInfo;\n trackingId: string;\n alertType: string;\n}\n\n/** Internal Eventing End */\n\n/** State Machine Events */\n\nexport type CallEvent =\n /* Received Events */\n | {type: 'E_RECV_CALL_SETUP'; data?: unknown}\n | {type: 'E_RECV_CALL_PROGRESS'; data?: unknown}\n | {type: 'E_RECV_CALL_CONNECT'; data?: unknown}\n | {type: 'E_RECV_CALL_DISCONNECT'; data?: unknown}\n\n /* Sent Events */\n | {type: 'E_SEND_CALL_SETUP'; data?: unknown}\n | {type: 'E_SEND_CALL_ALERTING'; data?: unknown}\n | {type: 'E_SEND_CALL_CONNECT'; data?: unknown}\n | {type: 'E_SEND_CALL_DISCONNECT'; data?: unknown}\n\n /* Common Events */\n | {type: 'E_CALL_ESTABLISHED'; data?: unknown}\n | {type: 'E_CALL_INFO'; data?: unknown}\n | {type: 'E_UNKNOWN'; data?: unknown}\n | {type: 'E_CALL_CLEARED'; data?: unknown}\n | {type: 'E_CALL_HOLD'; data?: unknown}\n | {type: 'E_CALL_RESUME'; data?: unknown};\n\n/* ROAP Events */\nexport type RoapEvent =\n | {type: 'E_SEND_ROAP_OFFER'; data?: unknown}\n | {type: 'E_SEND_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER'; data?: unknown}\n | {type: 'E_RECV_ROAP_ANSWER'; data?: unknown}\n | {type: 'E_ROAP_ERROR'; data?: unknown}\n | {type: 'E_ROAP_OK'; data?: unknown}\n | {type: 'E_RECV_ROAP_OFFER_REQUEST'; data?: unknown} // ROAP request to explicitly ask Client to do OFFER\n | {type: 'E_ROAP_TEARDOWN'; data?: unknown};\n\n// TODO: export RoapMessage type from the media SDK to use here\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RoapMessage {\n seq: number;\n messageType: 'OFFER' | 'ANSWER' | 'OK' | 'ERROR' | 'OFFER_REQUEST' | 'OFFER_RESPONSE';\n offererSessionId?: string;\n answererSessionId?: string;\n sdp?: string;\n version?: string;\n tieBreaker?: string;\n errorType?: string;\n}\n\nexport interface RoapMessageEvent {\n roapMessage: RoapMessage;\n}\n\nexport type UserReadSessions = {\n sessionId: string;\n};\n\nexport type CallSessionViewedData = {\n userReadSessions: {\n userReadSessions: UserReadSessions[];\n statusCode: number;\n };\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_VIEWED;\n};\n\nexport type CallSessionViewedEvent = {\n id: string;\n data: CallSessionViewedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type CallSessionDeletedData = {\n deletedSessions: string[];\n eventType: MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_DELETED;\n};\n\nexport type CallSessionDeletedEvent = {\n id: string;\n data: CallSessionDeletedData;\n timestamp: number;\n trackingId: string;\n};\n\nexport type EndTimeSessionId = {\n endTime: string;\n sessionId: string;\n};\n\nexport type SanitizedEndTimeAndSessionId = {\n endTime: number;\n sessionId: string;\n};\n\nexport type UCMLine = {\n dnorpattern: string;\n index: number;\n label: string | null;\n};\n\nexport type UCMDevice = {\n name: string;\n model: number;\n lines: UCMLine[];\n};\n\nexport type UCMLinesApiResponse = {\n devices: UCMDevice[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,UAAA,GAAAD,OAAA;AANA;AAAuD;AAUvD;AAAA,IACYE,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAUjBE,eAAe,GAAAD,OAAA,CAAAC,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAIfC,yBAAyB,GAAAF,OAAA,CAAAE,yBAAA,0BAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAzBA,yBAAyB;EAAA,OAAzBA,yBAAyB;AAAA;AAAA,IAazBC,eAAe,GAAAH,OAAA,CAAAG,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAgBfC,sBAAsB,GAAAJ,OAAA,CAAAI,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAQtBC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,WAAW,GAAAN,OAAA,CAAAM,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAsDXC,WAAW,GAAAP,OAAA,CAAAO,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAiDXC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IA4BjBC,2BAA2B,GAAAT,OAAA,CAAAS,2BAAA,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;AA8DvC;AACA;AACA;AAFA,IAGYC,oBAAoB,GAAAV,OAAA,CAAAU,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC;AACA;AACA;AACA;AACA;AAJA,IAKYC,uBAAuB,GAAAX,OAAA,CAAAW,uBAAA,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AA0DnC;AAEA;AAAA,IACKC,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AAkDf;AAEA;AAuBA;AAWA;AACA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {FailoverCacheState} from 'CallingClient/registration/types';\nimport {\n KmsKey,\n KmsResourceObject,\n LogsMetaData,\n PeopleListResponse,\n UploadLogsResponse,\n WebexRequestPayload,\n} from '../common/types';\n/* eslint-disable no-shadow */\n\ntype Listener = (e: string, data?: unknown) => void;\ntype ListenerOff = (e: string) => void;\n\nexport type ServiceHost = {\n host: string;\n ttl: number;\n priority: number;\n id: string;\n homeCluster?: boolean;\n};\n\nexport type Model = {\n _values: {\n key: string;\n };\n};\n\nexport type WDMDevice = {\n url: string;\n userId: string;\n orgId: string;\n version: string;\n callingBehavior: string;\n registered?: boolean;\n webSocketUrl?: string;\n register?: () => Promise<unknown>;\n refresh?: () => Promise<unknown>;\n /** WDM / device-registration settings (e.g. `webrtc-calling-over-ws`). */\n settings?: Record<string, {value?: boolean} | undefined>;\n features: {\n developer: {\n models: Model[];\n get: (key: string) => {value: boolean} | undefined;\n };\n entitlement: {\n models: Model[];\n };\n };\n};\n\nexport type ServiceCatalog = {\n serviceGroups: {\n // cSpell:disable\n postauth: [\n {\n _values: {\n name: string;\n hosts: ServiceHost[];\n };\n }\n ];\n /* cSpell:enable */\n };\n};\n\nexport type ClientRegionInfo = {\n attribution: string;\n clientAddress: string;\n clientRegion: string;\n countryCode: string;\n disclaimer: string;\n regionCode: string;\n timezone: string;\n};\n\nexport type Logger = {\n config?: {\n level: string;\n bufferLogLevel: string;\n };\n log: (payload: string) => void;\n error: (payload: string) => void;\n warn: (payload: string) => void;\n info: (payload: string) => void;\n trace: (payload: string) => void;\n debug: (payload: string) => void;\n};\n\n// TODO: is there a way to import bindings from the Webex JS SDK without having to redefine expected methods and structure?\n// This defines the shape for the webex SDK, if a typing doesn't exist, it should be added here\nexport interface WebexSDK {\n boundedStorage: {\n get: (namespace: string, key: string) => Promise<FailoverCacheState>;\n put: (namespace: string, key: string, value: FailoverCacheState) => Promise<void>;\n del: (namespace: string, key: string) => Promise<void>;\n };\n // top level primitives/funcs\n config: {\n fedramp: boolean;\n defaultMobiusSocketOptions?: Record<string, unknown>;\n };\n version: string;\n canAuthorize: boolean;\n credentials: {\n getUserToken: () => Promise<string>;\n canRefresh?: boolean;\n refresh?: (options: {force: boolean}) => Promise<unknown>;\n };\n ready: boolean;\n sessionId?: string;\n request: <T>(payload: WebexRequestPayload) => Promise<T>;\n // internal plugins\n internal: {\n mercury: {\n on: Listener;\n off: ListenerOff;\n connected: boolean;\n connecting: boolean;\n };\n feature?: {\n updateFeature?: (featureToggle: unknown) => void;\n };\n calendar: unknown;\n device: WDMDevice;\n encryption: {\n decryptText: (encryptionKeyUrl: string, encryptedData?: string) => Promise<string>;\n encryptText: (encryptionKeyUrl: string, text?: string) => Promise<string>;\n kms: {\n createUnboundKeys: (arg0: {count?: number}) => Promise<KmsKey[]>;\n createResource: (arg0: {keyUris: string[]}) => Promise<KmsResourceObject>;\n bindKey: (arg0: {kroUri: string; keyUri: string}) => Promise<KmsKey>;\n };\n };\n presence: unknown;\n support: {\n submitLogs: (\n metaData: LogsMetaData,\n logs?: string,\n options?: {\n type: 'diff' | 'full';\n }\n ) => Promise<UploadLogsResponse>;\n };\n services: {\n _hostCatalog: Record<string, ServiceHost[]>;\n _serviceUrls: {\n mobius: string;\n identity: string;\n janus: string;\n wdm: string;\n broadworksIdpProxy: string;\n hydra: string;\n mercuryApi: string;\n 'ucmgmt-gateway': string;\n contactsService: string;\n };\n _activeServices: {\n broadworksIdpProxy: string;\n contactsService: string;\n hydra: string;\n janus: string;\n mercuryApi: string;\n mobius: string;\n };\n get: (service: string) => string;\n getMobiusClusters: () => ServiceHost[];\n fetchClientRegionInfo: () => Promise<ClientRegionInfo>;\n invalidateCache?: (timestamp: unknown) => void;\n switchActiveClusterIds?: (activeClusters: unknown) => void;\n };\n metrics: {\n submitClientMetrics: (name: string, data: unknown) => void;\n };\n };\n // public plugins\n logger: Logger;\n messages: unknown;\n memberships: unknown;\n people: {\n list: (arg: object) => Promise<PeopleListResponse>;\n };\n rooms: unknown;\n teams: unknown;\n}\n\nexport interface ISDKConnector {\n setWebex: (webexInstance: WebexSDK) => void;\n getWebex: () => WebexSDK;\n get: () => ISDKConnector;\n registerListener: <T>(event: string, cb: (data?: T) => unknown) => void;\n unregisterListener: (event: string) => void;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {FailoverCacheState} from 'CallingClient/registration/types';\nimport {\n KmsKey,\n KmsResourceObject,\n LogsMetaData,\n PeopleListResponse,\n UploadLogsResponse,\n WebexRequestPayload,\n} from '../common/types';\n/* eslint-disable no-shadow */\n\ntype Listener = (e: string, data?: unknown) => void;\ntype ListenerOff = (e: string) => void;\n\nexport type ServiceHost = {\n host: string;\n ttl: number;\n priority: number;\n id: string;\n homeCluster?: boolean;\n};\n\nexport type Model = {\n _values: {\n key: string;\n };\n};\n\nexport type WDMDevice = {\n url: string;\n userId: string;\n orgId: string;\n version: string;\n callingBehavior: string;\n registered?: boolean;\n webSocketUrl?: string;\n register?: () => Promise<unknown>;\n refresh?: () => Promise<unknown>;\n /** WDM / device-registration settings (e.g. `webrtc-calling-over-ws`). */\n settings?: Record<string, {value?: boolean} | undefined>;\n features: {\n developer: {\n models: Model[];\n get: (key: string) => {value: boolean} | undefined;\n };\n entitlement: {\n models: Model[];\n };\n };\n};\n\nexport type ServiceCatalog = {\n serviceGroups: {\n // cSpell:disable\n postauth: [\n {\n _values: {\n name: string;\n hosts: ServiceHost[];\n };\n }\n ];\n /* cSpell:enable */\n };\n};\n\nexport type ClientRegionInfo = {\n attribution: string;\n clientAddress: string;\n clientRegion: string;\n countryCode: string;\n disclaimer: string;\n regionCode: string;\n timezone: string;\n};\n\nexport type Logger = {\n config?: {\n level: string;\n bufferLogLevel: string;\n };\n log: (payload: string) => void;\n error: (payload: string) => void;\n warn: (payload: string) => void;\n info: (payload: string) => void;\n trace: (payload: string) => void;\n debug: (payload: string) => void;\n};\n\n// TODO: is there a way to import bindings from the Webex JS SDK without having to redefine expected methods and structure?\n// This defines the shape for the webex SDK, if a typing doesn't exist, it should be added here\nexport interface WebexSDK {\n boundedStorage: {\n get: (namespace: string, key: string) => Promise<FailoverCacheState>;\n put: (namespace: string, key: string, value: FailoverCacheState) => Promise<void>;\n del: (namespace: string, key: string) => Promise<void>;\n };\n // top level primitives/funcs\n config: {\n fedramp: boolean;\n defaultMobiusSocketOptions?: Record<string, unknown>;\n };\n version: string;\n canAuthorize: boolean;\n credentials: {\n getUserToken: () => Promise<string>;\n canRefresh?: boolean;\n refresh?: (options: {force: boolean}) => Promise<unknown>;\n };\n ready: boolean;\n sessionId?: string;\n request: <T>(payload: WebexRequestPayload) => Promise<T>;\n // internal plugins\n internal: {\n mercury: {\n on: Listener;\n off: ListenerOff;\n connected: boolean;\n connecting: boolean;\n };\n feature?: {\n updateFeature?: (featureToggle: unknown) => void;\n };\n calendar: unknown;\n device: WDMDevice;\n encryption: {\n decryptText: (encryptionKeyUrl: string, encryptedData?: string) => Promise<string>;\n encryptText: (encryptionKeyUrl: string, text?: string) => Promise<string>;\n kms: {\n createUnboundKeys: (arg0: {count?: number}) => Promise<KmsKey[]>;\n createResource: (arg0: {keyUris: string[]}) => Promise<KmsResourceObject>;\n bindKey: (arg0: {kroUri: string; keyUri: string}) => Promise<KmsKey>;\n };\n };\n presence: unknown;\n support: {\n submitLogs: (\n metaData: LogsMetaData,\n logs?: string,\n options?: {\n type: 'diff' | 'full';\n }\n ) => Promise<UploadLogsResponse>;\n };\n services: {\n _hostCatalog: Record<string, ServiceHost[]>;\n _serviceUrls: {\n mobius: string;\n identity: string;\n janus: string;\n wdm: string;\n broadworksIdpProxy: string;\n hydra: string;\n mercuryApi: string;\n 'ucmgmt-gateway': string;\n contactsService: string;\n hydraDeveloperApi?: string;\n };\n _activeServices: {\n broadworksIdpProxy: string;\n contactsService: string;\n hydra: string;\n janus: string;\n mercuryApi: string;\n mobius: string;\n hydraDeveloperApi?: string;\n };\n get: (service: string) => string;\n getMobiusClusters: () => ServiceHost[];\n fetchClientRegionInfo: () => Promise<ClientRegionInfo>;\n invalidateCache?: (timestamp: unknown) => void;\n switchActiveClusterIds?: (activeClusters: unknown) => void;\n };\n metrics: {\n submitClientMetrics: (name: string, data: unknown) => void;\n };\n };\n // public plugins\n logger: Logger;\n messages: unknown;\n memberships: unknown;\n people: {\n list: (arg: object) => Promise<PeopleListResponse>;\n };\n rooms: unknown;\n teams: unknown;\n}\n\nexport interface ISDKConnector {\n setWebex: (webexInstance: WebexSDK) => void;\n getWebex: () => WebexSDK;\n get: () => ISDKConnector;\n registerListener: <T>(event: string, cb: (data?: T) => unknown) => void;\n unregisterListener: (event: string) => void;\n}\n"],"mappings":"","ignoreList":[]}
package/dist/api.js CHANGED
@@ -22,6 +22,12 @@ _Object$defineProperty(exports, "CallHistory", {
22
22
  return _CallHistory.CallHistory;
23
23
  }
24
24
  });
25
+ _Object$defineProperty(exports, "CallRecording", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _CallRecording.CallRecording;
29
+ }
30
+ });
25
31
  _Object$defineProperty(exports, "CallSettings", {
26
32
  enumerable: true,
27
33
  get: function get() {
@@ -52,6 +58,12 @@ _Object$defineProperty(exports, "ContactsClient", {
52
58
  return _ContactsClient.ContactsClient;
53
59
  }
54
60
  });
61
+ _Object$defineProperty(exports, "GetRecordingsOptions", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _types8.GetRecordingsOptions;
65
+ }
66
+ });
55
67
  _Object$defineProperty(exports, "ICall", {
56
68
  enumerable: true,
57
69
  get: function get() {
@@ -64,6 +76,12 @@ _Object$defineProperty(exports, "ICallHistory", {
64
76
  return _types.ICallHistory;
65
77
  }
66
78
  });
79
+ _Object$defineProperty(exports, "ICallRecording", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _types8.ICallRecording;
83
+ }
84
+ });
67
85
  _Object$defineProperty(exports, "ICallSettings", {
68
86
  enumerable: true,
69
87
  get: function get() {
@@ -94,6 +112,36 @@ _Object$defineProperty(exports, "IVoicemail", {
94
112
  return _types7.IVoicemail;
95
113
  }
96
114
  });
115
+ _Object$defineProperty(exports, "Recording", {
116
+ enumerable: true,
117
+ get: function get() {
118
+ return _types8.Recording;
119
+ }
120
+ });
121
+ _Object$defineProperty(exports, "RecordingListResponse", {
122
+ enumerable: true,
123
+ get: function get() {
124
+ return _types8.RecordingListResponse;
125
+ }
126
+ });
127
+ _Object$defineProperty(exports, "RecordingMetadata", {
128
+ enumerable: true,
129
+ get: function get() {
130
+ return _types8.RecordingMetadata;
131
+ }
132
+ });
133
+ _Object$defineProperty(exports, "RecordingMetadataResponse", {
134
+ enumerable: true,
135
+ get: function get() {
136
+ return _types8.RecordingMetadataResponse;
137
+ }
138
+ });
139
+ _Object$defineProperty(exports, "RecordingResponse", {
140
+ enumerable: true,
141
+ get: function get() {
142
+ return _types8.RecordingResponse;
143
+ }
144
+ });
97
145
  _Object$defineProperty(exports, "Voicemail", {
98
146
  enumerable: true,
99
147
  get: function get() {
@@ -118,6 +166,12 @@ _Object$defineProperty(exports, "createCallHistoryClient", {
118
166
  return _CallHistory.createCallHistoryClient;
119
167
  }
120
168
  });
169
+ _Object$defineProperty(exports, "createCallRecordingClient", {
170
+ enumerable: true,
171
+ get: function get() {
172
+ return _CallRecording.createCallRecordingClient;
173
+ }
174
+ });
121
175
  _Object$defineProperty(exports, "createCallSettingsClient", {
122
176
  enumerable: true,
123
177
  get: function get() {
@@ -154,4 +208,6 @@ var _ContactsClient = require("./Contacts/ContactsClient");
154
208
  var _types6 = require("./Contacts/types");
155
209
  var _Voicemail = require("./Voicemail/Voicemail");
156
210
  var _types7 = require("./Voicemail/types");
211
+ var _CallRecording = require("./CallRecording/CallRecording");
212
+ var _types8 = require("./CallRecording/types");
157
213
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_CallHistory","require","_types","_CallSettings","_types2","_CallingClient","_types3","_types4","_types5","_ContactsClient","_types6","_Voicemail","_types7"],"sources":["api.ts"],"sourcesContent":["/* eslint-disable import/no-unresolved */\nimport {CallHistory, createCallHistoryClient} from './CallHistory/CallHistory';\nimport {ICallHistory} from './CallHistory/types';\nimport {CallSettings, createCallSettingsClient} from './CallSettings/CallSettings';\nimport {\n ICallSettings,\n CallForwardSetting,\n VoicemailSetting,\n CallForwardAlwaysSetting,\n} from './CallSettings/types';\n\nimport {CallingClient, createClient} from './CallingClient/CallingClient';\nimport {ICall} from './CallingClient/calling/types';\nimport {ILine} from './CallingClient/line/types';\nimport {ICallingClient} from './CallingClient/types';\nimport {ContactsClient, createContactsClient} from './Contacts/ContactsClient';\nimport {IContacts, Contact, ContactGroup} from './Contacts/types';\nimport {Voicemail, createVoicemailClient} from './Voicemail/Voicemail';\nimport {IVoicemail, VoicemailResponseEvent} from './Voicemail/types';\n\n// Interfaces\nexport {ILine, ICall, ICallHistory, ICallSettings, ICallingClient, IContacts, IVoicemail};\n\n// Classes\nexport {CallHistory, CallSettings, CallingClient, ContactsClient, Voicemail};\n\n// Types\nexport {\n ContactGroup,\n Contact,\n CallForwardSetting,\n CallForwardAlwaysSetting,\n VoicemailSetting,\n VoicemailResponseEvent,\n};\n\n// Methods\nexport {\n createCallHistoryClient,\n createCallSettingsClient,\n createClient,\n createContactsClient,\n createVoicemailClient,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAOA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_CallHistory","require","_types","_CallSettings","_types2","_CallingClient","_types3","_types4","_types5","_ContactsClient","_types6","_Voicemail","_types7","_CallRecording","_types8"],"sources":["api.ts"],"sourcesContent":["/* eslint-disable import/no-unresolved */\nimport {CallHistory, createCallHistoryClient} from './CallHistory/CallHistory';\nimport {ICallHistory} from './CallHistory/types';\nimport {CallSettings, createCallSettingsClient} from './CallSettings/CallSettings';\nimport {\n ICallSettings,\n CallForwardSetting,\n VoicemailSetting,\n CallForwardAlwaysSetting,\n} from './CallSettings/types';\n\nimport {CallingClient, createClient} from './CallingClient/CallingClient';\nimport {ICall} from './CallingClient/calling/types';\nimport {ILine} from './CallingClient/line/types';\nimport {ICallingClient} from './CallingClient/types';\nimport {ContactsClient, createContactsClient} from './Contacts/ContactsClient';\nimport {IContacts, Contact, ContactGroup} from './Contacts/types';\nimport {Voicemail, createVoicemailClient} from './Voicemail/Voicemail';\nimport {IVoicemail, VoicemailResponseEvent} from './Voicemail/types';\nimport {CallRecording, createCallRecordingClient} from './CallRecording/CallRecording';\nimport {\n ICallRecording,\n Recording,\n RecordingListResponse,\n RecordingMetadata,\n RecordingMetadataResponse,\n RecordingResponse,\n GetRecordingsOptions,\n} from './CallRecording/types';\n\n// Interfaces\nexport {\n ILine,\n ICall,\n ICallHistory,\n ICallSettings,\n ICallingClient,\n IContacts,\n IVoicemail,\n ICallRecording,\n};\n\n// Classes\nexport {CallHistory, CallSettings, CallingClient, ContactsClient, Voicemail, CallRecording};\n\n// Types\nexport {\n ContactGroup,\n Contact,\n CallForwardSetting,\n CallForwardAlwaysSetting,\n VoicemailSetting,\n VoicemailResponseEvent,\n Recording,\n RecordingListResponse,\n RecordingMetadata,\n RecordingMetadataResponse,\n RecordingResponse,\n GetRecordingsOptions,\n};\n\n// Methods\nexport {\n createCallHistoryClient,\n createCallSettingsClient,\n createClient,\n createContactsClient,\n createVoicemailClient,\n createCallRecordingClient,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAOA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA","ignoreList":[]}
@@ -99,7 +99,8 @@ function getTestUtilsWebex() {
99
99
  hydra: 'https://hydra-a.wbx2.com/v1/',
100
100
  mercuryApi: 'https://mercury-api-intb.ciscospark.com/v1',
101
101
  'ucmgmt-gateway': 'https://gw.telemetry.int-ucmgmt.cisco.com',
102
- contactsService: 'https://contacts-service-a.wbx2.com/contact/api/v1'
102
+ contactsService: 'https://contacts-service-a.wbx2.com/contact/api/v1',
103
+ hydraDeveloperApi: 'https://integration.webexapis.com/v1'
103
104
  },
104
105
  fetchClientRegionInfo: jest.fn(),
105
106
  getMobiusClusters: jest.fn()