webitel-sdk 23.7.4 → 23.7.6

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.
@@ -38938,6 +38938,52 @@ const getVersion = () => {
38938
38938
  };
38939
38939
  var version$1 = getVersion();
38940
38940
 
38941
+ var TypeErrors;
38942
+ (function (TypeErrors) {
38943
+ TypeErrors["RolePermission"] = "api.context.permissions.app_error";
38944
+ TypeErrors["LicencePermission"] = "api.context.permissions.license";
38945
+ TypeErrors["PauseNotAllow"] = "app.agent.set_pause.not_allow";
38946
+ })(TypeErrors || (TypeErrors = {}));
38947
+ class DeviceNotFoundError extends Error {
38948
+ constructor(msg) {
38949
+ super(msg);
38950
+ this.id = DeviceNotFoundError.id;
38951
+ }
38952
+ }
38953
+ DeviceNotFoundError.id = `device_not_found`;
38954
+ // tslint:disable-next-line: max-classes-per-file
38955
+ class DeviceNotAllowPermissionError extends Error {
38956
+ constructor(msg) {
38957
+ super(msg);
38958
+ this.id = DeviceNotAllowPermissionError.id;
38959
+ }
38960
+ }
38961
+ DeviceNotAllowPermissionError.id = `device_not_allow`;
38962
+ // tslint:disable-next-line: max-classes-per-file
38963
+ class RolePermissionError extends Error {
38964
+ constructor(msg) {
38965
+ super(msg);
38966
+ this.id = RolePermissionError.id;
38967
+ }
38968
+ }
38969
+ RolePermissionError.id = TypeErrors.RolePermission;
38970
+ // tslint:disable-next-line: max-classes-per-file
38971
+ class LicencePermissionError extends Error {
38972
+ constructor(msg) {
38973
+ super(msg);
38974
+ this.id = LicencePermissionError.id;
38975
+ }
38976
+ }
38977
+ LicencePermissionError.id = TypeErrors.LicencePermission;
38978
+ // tslint:disable-next-line: max-classes-per-file
38979
+ class PauseNotAllowedError extends Error {
38980
+ constructor(msg) {
38981
+ super(msg);
38982
+ this.id = PauseNotAllowedError.id;
38983
+ }
38984
+ }
38985
+ PauseNotAllowedError.id = TypeErrors.PauseNotAllow;
38986
+
38941
38987
  var JobState;
38942
38988
  (function (JobState) {
38943
38989
  JobState["Distribute"] = "distribute";
@@ -39238,6 +39284,8 @@ class Agent {
39238
39284
  this._channels = new Map();
39239
39285
  this.initChannels(info.channels);
39240
39286
  this._listOfflineMembers = null;
39287
+ this.waitingListChats = [];
39288
+ this.waitingListCalls = [];
39241
39289
  this.lastStatusChange = Date.now() - this.info.status_duration * 1000;
39242
39290
  }
39243
39291
  get agentId() {
@@ -39277,6 +39325,38 @@ class Agent {
39277
39325
  return Math.round((Date.now() - this.lastStatusChange) / 1000);
39278
39326
  }
39279
39327
  // todo need refactor
39328
+ setWaitingList(e) {
39329
+ if (e) {
39330
+ const list = e.list;
39331
+ this.waitingListCalls.length = 0;
39332
+ this.waitingListChats.length = 0;
39333
+ for (const el of list) {
39334
+ switch (el.channel) {
39335
+ case ChannelType.Call:
39336
+ this.waitingListCalls.push(el);
39337
+ break;
39338
+ case ChannelType.Chat:
39339
+ this.waitingListChats.push(el);
39340
+ break;
39341
+ default:
39342
+ }
39343
+ }
39344
+ }
39345
+ }
39346
+ deleteWaitingAttempt(e) {
39347
+ if (e) {
39348
+ const attemptId = e.attempt_id;
39349
+ if (!removeWaitingList(this.waitingListCalls, attemptId)) {
39350
+ removeWaitingList(this.waitingListChats, attemptId);
39351
+ }
39352
+ }
39353
+ }
39354
+ async interceptAttempt(id) {
39355
+ return this.client.request(`cc_intercept_attempt`, {
39356
+ attempt_id: id,
39357
+ agent_id: this.agentId,
39358
+ });
39359
+ }
39280
39360
  onChannelEvent(e) {
39281
39361
  let task;
39282
39362
  switch (e.status) {
@@ -39414,7 +39494,15 @@ class Agent {
39414
39494
  return this.client.agentSetWaiting(this.agentId, channel);
39415
39495
  }
39416
39496
  async pause(payload) {
39417
- return this.client.agentSetPause(this.agentId, payload);
39497
+ try {
39498
+ return await this.client.agentSetPause(this.agentId, payload);
39499
+ }
39500
+ catch (e) {
39501
+ if (e.id === TypeErrors.PauseNotAllow) {
39502
+ return new PauseNotAllowedError(e.detail);
39503
+ }
39504
+ return e;
39505
+ }
39418
39506
  }
39419
39507
  async offline() {
39420
39508
  return this.client.agentSetOffline(this.agentId);
@@ -39472,6 +39560,15 @@ class Agent {
39472
39560
  }
39473
39561
  }
39474
39562
  }
39563
+ function removeWaitingList(list, attemptId) {
39564
+ for (let i = 0; i < list.length; i++) {
39565
+ if (list[i].attempt_id === attemptId) {
39566
+ list.splice(i, 1);
39567
+ return true;
39568
+ }
39569
+ }
39570
+ return false;
39571
+ }
39475
39572
 
39476
39573
  var CallReportingStatus;
39477
39574
  (function (CallReportingStatus) {
@@ -40353,46 +40450,11 @@ function wrapChannelMember(m) {
40353
40450
  return m;
40354
40451
  }
40355
40452
 
40356
- var TypeErrors;
40357
- (function (TypeErrors) {
40358
- TypeErrors["RolePermission"] = "api.context.permissions.app_error";
40359
- TypeErrors["LicencePermission"] = "api.context.permissions.license";
40360
- })(TypeErrors || (TypeErrors = {}));
40361
- class DeviceNotFoundError extends Error {
40362
- constructor(msg) {
40363
- super(msg);
40364
- this.id = DeviceNotFoundError.id;
40365
- }
40366
- }
40367
- DeviceNotFoundError.id = `device_not_found`;
40368
- // tslint:disable-next-line: max-classes-per-file
40369
- class DeviceNotAllowPermissionError extends Error {
40370
- constructor(msg) {
40371
- super(msg);
40372
- this.id = DeviceNotAllowPermissionError.id;
40373
- }
40374
- }
40375
- DeviceNotAllowPermissionError.id = `device_not_allow`;
40376
- // tslint:disable-next-line: max-classes-per-file
40377
- class RolePermissionError extends Error {
40378
- constructor(msg) {
40379
- super(msg);
40380
- this.id = RolePermissionError.id;
40381
- }
40382
- }
40383
- RolePermissionError.id = TypeErrors.RolePermission;
40384
- // tslint:disable-next-line: max-classes-per-file
40385
- class LicencePermissionError extends Error {
40386
- constructor(msg) {
40387
- super(msg);
40388
- this.id = LicencePermissionError.id;
40389
- }
40390
- }
40391
- LicencePermissionError.id = TypeErrors.LicencePermission;
40392
-
40393
40453
  var NotificationActions;
40394
40454
  (function (NotificationActions) {
40395
40455
  NotificationActions["HideMember"] = "hide_member";
40456
+ NotificationActions["HideAttempt"] = "hide_attempt";
40457
+ NotificationActions["WaitingList"] = "waiting_list";
40396
40458
  })(NotificationActions || (NotificationActions = {}));
40397
40459
 
40398
40460
  const SOCKET_URL_SUFFIX = 'websocket';
@@ -40997,6 +41059,16 @@ class Client extends EventEmitter {
40997
41059
  }
40998
41060
  }
40999
41061
  break;
41062
+ case NotificationActions.WaitingList:
41063
+ if (this.agent) {
41064
+ this.agent.setWaitingList(e.body);
41065
+ }
41066
+ break;
41067
+ case NotificationActions.HideAttempt:
41068
+ if (this.agent) {
41069
+ this.agent.deleteWaitingAttempt(e.body);
41070
+ }
41071
+ break;
41000
41072
  default:
41001
41073
  this.log.error(`notification "${e.action}" not handled`);
41002
41074
  }
@@ -41674,5 +41746,5 @@ class ExternalClient extends ee_3 {
41674
41746
 
41675
41747
  // tslint:disable
41676
41748
 
41677
- export { AgentPauseCauseServiceApiAxiosParamCreator, AgentPauseCauseServiceApiFp, AgentPauseCauseServiceApiFactory, AgentPauseCauseServiceApi, AgentServiceApiAxiosParamCreator, AgentServiceApiFp, AgentServiceApiFactory, AgentServiceApi, AgentSkillServiceApiAxiosParamCreator, AgentSkillServiceApiFp, AgentSkillServiceApiFactory, AgentSkillServiceApi, AgentTeamServiceApiAxiosParamCreator, AgentTeamServiceApiFp, AgentTeamServiceApiFactory, AgentTeamServiceApi, AuditFormServiceApiAxiosParamCreator, AuditFormServiceApiFp, AuditFormServiceApiFactory, AuditFormServiceApi, BackendProfileServiceApiAxiosParamCreator, BackendProfileServiceApiFp, BackendProfileServiceApiFactory, BackendProfileServiceApi, BucketServiceApiAxiosParamCreator, BucketServiceApiFp, BucketServiceApiFactory, BucketServiceApi, CalendarServiceApiAxiosParamCreator, CalendarServiceApiFp, CalendarServiceApiFactory, CalendarServiceApi, CallServiceApiAxiosParamCreator, CallServiceApiFp, CallServiceApiFactory, CallServiceApi, ChatHelperServiceApiAxiosParamCreator, ChatHelperServiceApiFp, ChatHelperServiceApiFactory, ChatHelperServiceApi, CognitiveProfileServiceApiAxiosParamCreator, CognitiveProfileServiceApiFp, CognitiveProfileServiceApiFactory, CognitiveProfileServiceApi, CommunicationTypeServiceApiAxiosParamCreator, CommunicationTypeServiceApiFp, CommunicationTypeServiceApiFactory, CommunicationTypeServiceApi, ConfigServiceApiAxiosParamCreator, ConfigServiceApiFp, ConfigServiceApiFactory, ConfigServiceApi, ContactsApiAxiosParamCreator, ContactsApiFp, ContactsApiFactory, ContactsApi, EmailProfileServiceApiAxiosParamCreator, EmailProfileServiceApiFp, EmailProfileServiceApiFactory, EmailProfileServiceApi, EmailsApiAxiosParamCreator, EmailsApiFp, EmailsApiFactory, EmailsApi, FileServiceApiAxiosParamCreator, FileServiceApiFp, FileServiceApiFactory, FileServiceApi, FileTranscriptServiceApiAxiosParamCreator, FileTranscriptServiceApiFp, FileTranscriptServiceApiFactory, FileTranscriptServiceApi, ImportTemplateServiceApiAxiosParamCreator, ImportTemplateServiceApiFp, ImportTemplateServiceApiFactory, ImportTemplateServiceApi, LabelsApiAxiosParamCreator, LabelsApiFp, LabelsApiFactory, LabelsApi, ListServiceApiAxiosParamCreator, ListServiceApiFp, ListServiceApiFactory, ListServiceApi, LoggerServiceApiAxiosParamCreator, LoggerServiceApiFp, LoggerServiceApiFactory, LoggerServiceApi, MediaFileServiceApiAxiosParamCreator, MediaFileServiceApiFp, MediaFileServiceApiFactory, MediaFileServiceApi, MemberServiceApiAxiosParamCreator, MemberServiceApiFp, MemberServiceApiFactory, MemberServiceApi, OutboundResourceGroupServiceApiAxiosParamCreator, OutboundResourceGroupServiceApiFp, OutboundResourceGroupServiceApiFactory, OutboundResourceGroupServiceApi, OutboundResourceServiceApiAxiosParamCreator, OutboundResourceServiceApiFp, OutboundResourceServiceApiFactory, OutboundResourceServiceApi, PresetQueryServiceApiAxiosParamCreator, PresetQueryServiceApiFp, PresetQueryServiceApiFactory, PresetQueryServiceApi, QueueBucketServiceApiAxiosParamCreator, QueueBucketServiceApiFp, QueueBucketServiceApiFactory, QueueBucketServiceApi, QueueHookServiceApiAxiosParamCreator, QueueHookServiceApiFp, QueueHookServiceApiFactory, QueueHookServiceApi, QueueResourcesServiceApiAxiosParamCreator, QueueResourcesServiceApiFp, QueueResourcesServiceApiFactory, QueueResourcesServiceApi, QueueServiceApiAxiosParamCreator, QueueServiceApiFp, QueueServiceApiFactory, QueueServiceApi, QueueSkillServiceApiAxiosParamCreator, QueueSkillServiceApiFp, QueueSkillServiceApiFactory, QueueSkillServiceApi, RegionServiceApiAxiosParamCreator, RegionServiceApiFp, RegionServiceApiFactory, RegionServiceApi, RoutingChatPlanServiceApiAxiosParamCreator, RoutingChatPlanServiceApiFp, RoutingChatPlanServiceApiFactory, RoutingChatPlanServiceApi, RoutingOutboundCallServiceApiAxiosParamCreator, RoutingOutboundCallServiceApiFp, RoutingOutboundCallServiceApiFactory, RoutingOutboundCallServiceApi, RoutingSchemaServiceApiAxiosParamCreator, RoutingSchemaServiceApiFp, RoutingSchemaServiceApiFactory, RoutingSchemaServiceApi, RoutingVariableServiceApiAxiosParamCreator, RoutingVariableServiceApiFp, RoutingVariableServiceApiFactory, RoutingVariableServiceApi, SkillServiceApiAxiosParamCreator, SkillServiceApiFp, SkillServiceApiFactory, SkillServiceApi, TriggerServiceApiAxiosParamCreator, TriggerServiceApiFp, TriggerServiceApiFactory, TriggerServiceApi, UserHelperServiceApiAxiosParamCreator, UserHelperServiceApiFp, UserHelperServiceApiFactory, UserHelperServiceApi, VariablesApiAxiosParamCreator, VariablesApiFp, VariablesApiFactory, VariablesApi, Configuration, EngineAuditQuestionType, EngineBoolFilter, EngineCommunicationChannels, EnginePresetQuerySection, EngineRoutingSchemaType, EngineTriggerJobState, EngineTriggerType, GoogleProtobufNullValue, HistoryFileJobHistoryFileJobAction, HistoryFileJobHistoryFileJobState, LoggerACTION, ProtobufNullValue, StorageImportSourceType, StorageProviderType, StorageServiceType, StorageUploadStatusCode, WebitelContactsAccessMode, JobState, Response, Client, CallReportingStatus, EavesdropState, EavesdropType, CallActions, CallDirection, Call, AgentStatus, ChannelState, ChannelType, Agent, DeclineCause, ChatActions, ConversationState, Conversation, TypeErrors, DeviceNotFoundError, DeviceNotAllowPermissionError, RolePermissionError, LicencePermissionError, SipClient, ExternalClient, SipPhone, Log };
41749
+ export { AgentPauseCauseServiceApiAxiosParamCreator, AgentPauseCauseServiceApiFp, AgentPauseCauseServiceApiFactory, AgentPauseCauseServiceApi, AgentServiceApiAxiosParamCreator, AgentServiceApiFp, AgentServiceApiFactory, AgentServiceApi, AgentSkillServiceApiAxiosParamCreator, AgentSkillServiceApiFp, AgentSkillServiceApiFactory, AgentSkillServiceApi, AgentTeamServiceApiAxiosParamCreator, AgentTeamServiceApiFp, AgentTeamServiceApiFactory, AgentTeamServiceApi, AuditFormServiceApiAxiosParamCreator, AuditFormServiceApiFp, AuditFormServiceApiFactory, AuditFormServiceApi, BackendProfileServiceApiAxiosParamCreator, BackendProfileServiceApiFp, BackendProfileServiceApiFactory, BackendProfileServiceApi, BucketServiceApiAxiosParamCreator, BucketServiceApiFp, BucketServiceApiFactory, BucketServiceApi, CalendarServiceApiAxiosParamCreator, CalendarServiceApiFp, CalendarServiceApiFactory, CalendarServiceApi, CallServiceApiAxiosParamCreator, CallServiceApiFp, CallServiceApiFactory, CallServiceApi, ChatHelperServiceApiAxiosParamCreator, ChatHelperServiceApiFp, ChatHelperServiceApiFactory, ChatHelperServiceApi, CognitiveProfileServiceApiAxiosParamCreator, CognitiveProfileServiceApiFp, CognitiveProfileServiceApiFactory, CognitiveProfileServiceApi, CommunicationTypeServiceApiAxiosParamCreator, CommunicationTypeServiceApiFp, CommunicationTypeServiceApiFactory, CommunicationTypeServiceApi, ConfigServiceApiAxiosParamCreator, ConfigServiceApiFp, ConfigServiceApiFactory, ConfigServiceApi, ContactsApiAxiosParamCreator, ContactsApiFp, ContactsApiFactory, ContactsApi, EmailProfileServiceApiAxiosParamCreator, EmailProfileServiceApiFp, EmailProfileServiceApiFactory, EmailProfileServiceApi, EmailsApiAxiosParamCreator, EmailsApiFp, EmailsApiFactory, EmailsApi, FileServiceApiAxiosParamCreator, FileServiceApiFp, FileServiceApiFactory, FileServiceApi, FileTranscriptServiceApiAxiosParamCreator, FileTranscriptServiceApiFp, FileTranscriptServiceApiFactory, FileTranscriptServiceApi, ImportTemplateServiceApiAxiosParamCreator, ImportTemplateServiceApiFp, ImportTemplateServiceApiFactory, ImportTemplateServiceApi, LabelsApiAxiosParamCreator, LabelsApiFp, LabelsApiFactory, LabelsApi, ListServiceApiAxiosParamCreator, ListServiceApiFp, ListServiceApiFactory, ListServiceApi, LoggerServiceApiAxiosParamCreator, LoggerServiceApiFp, LoggerServiceApiFactory, LoggerServiceApi, MediaFileServiceApiAxiosParamCreator, MediaFileServiceApiFp, MediaFileServiceApiFactory, MediaFileServiceApi, MemberServiceApiAxiosParamCreator, MemberServiceApiFp, MemberServiceApiFactory, MemberServiceApi, OutboundResourceGroupServiceApiAxiosParamCreator, OutboundResourceGroupServiceApiFp, OutboundResourceGroupServiceApiFactory, OutboundResourceGroupServiceApi, OutboundResourceServiceApiAxiosParamCreator, OutboundResourceServiceApiFp, OutboundResourceServiceApiFactory, OutboundResourceServiceApi, PresetQueryServiceApiAxiosParamCreator, PresetQueryServiceApiFp, PresetQueryServiceApiFactory, PresetQueryServiceApi, QueueBucketServiceApiAxiosParamCreator, QueueBucketServiceApiFp, QueueBucketServiceApiFactory, QueueBucketServiceApi, QueueHookServiceApiAxiosParamCreator, QueueHookServiceApiFp, QueueHookServiceApiFactory, QueueHookServiceApi, QueueResourcesServiceApiAxiosParamCreator, QueueResourcesServiceApiFp, QueueResourcesServiceApiFactory, QueueResourcesServiceApi, QueueServiceApiAxiosParamCreator, QueueServiceApiFp, QueueServiceApiFactory, QueueServiceApi, QueueSkillServiceApiAxiosParamCreator, QueueSkillServiceApiFp, QueueSkillServiceApiFactory, QueueSkillServiceApi, RegionServiceApiAxiosParamCreator, RegionServiceApiFp, RegionServiceApiFactory, RegionServiceApi, RoutingChatPlanServiceApiAxiosParamCreator, RoutingChatPlanServiceApiFp, RoutingChatPlanServiceApiFactory, RoutingChatPlanServiceApi, RoutingOutboundCallServiceApiAxiosParamCreator, RoutingOutboundCallServiceApiFp, RoutingOutboundCallServiceApiFactory, RoutingOutboundCallServiceApi, RoutingSchemaServiceApiAxiosParamCreator, RoutingSchemaServiceApiFp, RoutingSchemaServiceApiFactory, RoutingSchemaServiceApi, RoutingVariableServiceApiAxiosParamCreator, RoutingVariableServiceApiFp, RoutingVariableServiceApiFactory, RoutingVariableServiceApi, SkillServiceApiAxiosParamCreator, SkillServiceApiFp, SkillServiceApiFactory, SkillServiceApi, TriggerServiceApiAxiosParamCreator, TriggerServiceApiFp, TriggerServiceApiFactory, TriggerServiceApi, UserHelperServiceApiAxiosParamCreator, UserHelperServiceApiFp, UserHelperServiceApiFactory, UserHelperServiceApi, VariablesApiAxiosParamCreator, VariablesApiFp, VariablesApiFactory, VariablesApi, Configuration, EngineAuditQuestionType, EngineBoolFilter, EngineCommunicationChannels, EnginePresetQuerySection, EngineRoutingSchemaType, EngineTriggerJobState, EngineTriggerType, GoogleProtobufNullValue, HistoryFileJobHistoryFileJobAction, HistoryFileJobHistoryFileJobState, LoggerACTION, ProtobufNullValue, StorageImportSourceType, StorageProviderType, StorageServiceType, StorageUploadStatusCode, WebitelContactsAccessMode, JobState, Response, Client, CallReportingStatus, EavesdropState, EavesdropType, CallActions, CallDirection, Call, AgentStatus, ChannelState, ChannelType, Agent, DeclineCause, ChatActions, ConversationState, Conversation, TypeErrors, DeviceNotFoundError, DeviceNotAllowPermissionError, RolePermissionError, LicencePermissionError, PauseNotAllowedError, SipClient, ExternalClient, SipPhone, Log };
41678
41750
  //# sourceMappingURL=index.esm.js.map