twilio-taskrouter 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/docs/Activity.html +1 -1
- package/dist/docs/Channel.html +1 -1
- package/dist/docs/IncomingTransfer.html +1 -1
- package/dist/docs/OutgoingTransfer.html +1 -1
- package/dist/docs/Reservation.html +1 -1
- package/dist/docs/Supervisor.html +1 -1
- package/dist/docs/Task.html +1 -1
- package/dist/docs/TaskQueue.html +1 -1
- package/dist/docs/Transfers.html +1 -1
- package/dist/docs/Worker.html +1 -1
- package/dist/docs/Workspace.html +474 -1
- package/dist/docs/classes.list.html +1 -1
- package/dist/docs/global.html +738 -98
- package/dist/docs/index.html +1 -1
- package/dist/docs/quicksearch.html +1 -1
- package/dist/index.commonjs2.js +1 -1
- package/dist/index.commonjs2.js.LICENSE.txt +1 -1
- package/dist/index.window.js +2 -2
- package/dist/index.window.js.LICENSE.txt +1 -1
- package/dist/types.d.ts +27 -0
- package/package.json +5 -3
package/dist/index.commonjs2.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see index.commonjs2.js.LICENSE.txt */
|
|
2
|
-
/*! twilio-taskrouter.js 2.0.11 */(()=>{"use strict";var e={7480:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ActivityProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(2327)),u=i(r(5795)),c=i(r(9097)),d=r(3410).validateOptions,l=function(){function e(t,r){if((0,a.default)(this,e),!(0,u.default)(t))throw new TypeError("Failed to create an Activity. <Worker>worker is a required parameter.");if(!(r instanceof c.default))throw new TypeError("Failed to create an Activity. <ActivityDescriptor>descriptor is a required parameter.");this.accountSid=r.accountSid,this.available=r.available,this.dateCreated=r.dateCreated,this.dateUpdated=r.dateUpdated,this.name=r.name,this.sid=r.sid,this.workspaceSid=r.workspaceSid,(0,n.default)(this,r),this._worker=t,this._isCurrent=!1}return(0,o.default)(e,[{key:"isCurrent",get:function(){return this._isCurrent}},{key:"setAsCurrent",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!d(t,{rejectPendingReservations:function(e){return(0,s.default)(e)}}))throw new TypeError("Failed to set activity=".concat(this.sid,". The options passed in did not match the required types."));if(t.rejectPendingReservations&&this.available)throw new Error("Unable to reject pending reservations when updating to an Available activity state.");return this._worker._updateWorkerActivity(this.sid,t).then((function(){return e}))}}]),e}();t.ActivityProperties=["account_sid","available","date_created","date_updated","friendly_name","sid","workspace_sid"];var f=l;t.default=f},803:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ChannelProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(5795)),f=i(r(7026)),h=r(1239),p=i(r(7467)),v=i(r(4981));function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var g=["capacity","available","assignedTasks","availableCapacityPercentage","dateUpdated","lastReservedTime"],k=function(e){(0,u.default)(r,e);var t=_(r);function r(e,i,o){var u;if((0,a.default)(this,r),u=t.call(this),!(e instanceof v.default))throw new TypeError("Failed to instantiate Worker. <Worker>worker is a required parameter.");if(!(o instanceof p.default))throw new TypeError("Failed to instantiate Channel. <WorkerChannelDescriptor>descriptor is a required parameter.");return u._request=i,u._log=e.getLogger("Channel-".concat(o.sid)),u.accountSid=o.accountSid,u.assignedTasks=o.assignedTasks,u.available=o.available,u.availableCapacityPercentage=o.availableCapacityPercentage,u.capacity=o.capacity,u.dateCreated=o.dateCreated,u.dateUpdated=o.dateUpdated,u.lastReservedTime=o.lastReservedTime,u.sid=o.sid,u.taskChannelSid=o.taskChannelSid,u.taskChannelUniqueName=o.taskChannelUniqueName,u.workerSid=o.workerSid,u.workspaceSid=o.workspaceSid,(0,n.default)((0,s.default)(u),o),u}return(0,o.default)(r,[{key:"_emitEvent",value:function(e,t){if(!(0,f.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,l.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>rawEventData is a required parameter.");this._update(t),this.emit(e,this)}},{key:"_update",value:function(e){var t=this;try{var r=new p.default(e);g.forEach((function(e){t[e]=r[e]}))}catch(t){this._log.warn("Failed to update Channel sid=%s. Update aborted. Error: %s.",e.sid,t)}return this}}]),r}(h.EventEmitter);t.ChannelProperties=["account_sid","assigned_tasks","available","available_capacity_percentage","configured_capacity","date_created","date_updated","last_reserved_time","sid","task_channel_sid","task_channel_unique_name","worker_sid","workspace_sid"];var E=k;t.default=E},9222:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ReservationProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(2327)),f=i(r(3498)),h=i(r(5795)),p=i(r(7026)),v=i(r(5428)),_=r(568),g=r(1239),k=i(r(3171)),E=r(6997),w=i(r(9655)),T=i(r(4364)),y=i(r(4981));function S(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var m=r(3410).validateOptions,R=["dateUpdated","canceledReasonCode","status","timeout","task","task_transfer","version"],b=["reservation_timeout","task","canceled_reason_code"],A=function(e){(0,u.default)(r,e);var t=S(r);function r(e,i,o){var u;if((0,a.default)(this,r),u=t.call(this),!(e instanceof y.default))throw new TypeError("Failed to instantiate Reservation. <Worker>worker is a required parameter.");if(!(o instanceof k.default))throw new TypeError("Failed to instantiate Reservation. <ReservationDescriptor>descriptor is a required parameter.");return u._worker=e,u._log=e.getLogger("Reservation-".concat(o.sid)),u._request=i,u.task=u._createTask(o),o.transferDescriptor&&(u.transfer=u._createTransfer(o)),u.accountSid=o.accountSid,u.dateCreated=o.dateCreated,u.dateUpdated=o.dateUpdated,u.sid=o.sid,u.status=o.status,u.timeout=o.timeout,u.workerSid=o.workerSid,u.workspaceSid=o.workspaceSid,u.version=o.version,o.canceledReasonCode&&(u.canceledReasonCode=o.canceledReasonCode),(0,n.default)((0,s.default)(u),o),delete u.taskDescriptor,delete u.transferDescriptor,u}return(0,o.default)(r,[{key:"accept",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_ACCEPTED};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"complete",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_COMPLETED};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"reject",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={ReservationStatus:_.RESERVATION_STATUS_REJECTED};if(!m(t,{activitySid:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:reject on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var n in t)i[_.RESERVATION_REJECT_OPTIONS[n]]=t[n];return this._request.post(r,i,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"wrap",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_WRAPPING};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"call",value:function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,p.default)(e))throw new TypeError("Error calling method call(). <string>from is a required parameter.");if(!(0,p.default)(t))throw new TypeError("Error calling method call(). <string>url is a required parameter.");var n=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,a={Instruction:_.RESERVATION_INSTRUCTION_CALL,CallFrom:e,CallUrl:t};if(!m(i,{accept:function(e){return(0,l.default)(e)},record:function(e){return(0,p.default)(e)},statusCallbackUrl:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},to:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:call on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var o in i)a[_.RESERVATION_CALL_OPTIONS[o]]=i[o];return this._request.post(n,a,_.API_V1).then((function(e){return r._update(e,b)}))}},{key:"dequeue",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={Instruction:_.RESERVATION_INSTRUCTION_DEQUEUE};if(!m(t,{from:function(e){return(0,p.default)(e)},to:function(e){return(0,p.default)(e)},postWorkActivitySid:function(e){return(0,p.default)(e)},record:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},statusCallbackUrl:function(e){return(0,p.default)(e)},statusCallbackEvents:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:dequeue on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var n in t)i[_.RESERVATION_DEQUEUE_OPTIONS[n]]=t[n];return this._request.post(r,i,_.API_V1).then((function(t){return e._update(t,b)}))}},{key:"redirect",value:function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,p.default)(e))throw new TypeError("Error calling method redirect(). <string>callSid is a required parameter.");if(!(0,p.default)(t))throw new TypeError("Error calling method redirect(). <string>url is a required parameter.");var n=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,a={accept:function(e){return(0,l.default)(e)}},o={Instruction:_.RESERVATION_INSTRUCTION_REDIRECT,RedirectCallSid:e,RedirectUrl:t};if(!m(i,a))throw new TypeError("Failed to issue Instruction:redirect on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var s in i)o[_.RESERVATION_REDIRECT_OPTIONS[s]]=i[s];return this._request.post(n,o,_.API_V1).then((function(e){return r._update(e,b)}))}},{key:"conference",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!m(t,{to:function(e){return(0,p.default)(e)},from:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},statusCallback:function(e){return(0,p.default)(e)},statusCallbackMethod:function(e){return(0,p.default)(e)},statusCallbackEvent:function(e){return(0,p.default)(e)},record:function(e){return(0,p.default)(e)},muted:function(e){return(0,l.default)(e)},beep:function(e){return(0,l.default)(e)||(0,p.default)(e)},startConferenceOnEnter:function(e){return(0,l.default)(e)},endConferenceOnExit:function(e){return(0,l.default)(e)},endConferenceOnCustomerExit:function(e){return(0,l.default)(e)},waitUrl:function(e){return(0,p.default)(e)},waitMethod:function(e){return(0,p.default)(e)},earlyMedia:function(e){return(0,l.default)(e)},maxParticipants:function(e){return(0,f.default)(e)},conferenceStatusCallback:function(e){return(0,p.default)(e)},conferenceStatusCallbackMethod:function(e){return(0,p.default)(e)},conferenceStatusCallbackEvent:function(e){return(0,p.default)(e)},conferenceRecord:function(e){return(0,l.default)(e)||(0,p.default)(e)},conferenceTrim:function(e){return(0,p.default)(e)},recordingChannels:function(e){return(0,p.default)(e)},recordingStatusCallback:function(e){return(0,p.default)(e)},recordingStatusCallbackMethod:function(e){return(0,p.default)(e)},conferenceRecordingStatusCallback:function(e){return(0,p.default)(e)},conferenceRecordingStatusCallbackMethod:function(e){return(0,p.default)(e)},region:function(e){return(0,p.default)(e)},sipAuthUsername:function(e){return(0,p.default)(e)},sipAuthPassword:function(e){return(0,p.default)(e)},transcribe:function(e){return(0,l.default)(e)},transcriptionConfiguration:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:conference on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));var r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={Instruction:_.RESERVATION_INSTRUCTION_CONFERENCE};for(var n in t)i[(0,v.default)(n)]=t[n];return this._request.post(r,i,_.API_V1).then((function(){return e}))}},{key:"updateParticipant",value:function(e){var t=this;if(!m(e,{endConferenceOnExit:function(e){return(0,l.default)(e)},mute:function(e){return(0,l.default)(e)},beepOnExit:function(e){return(0,l.default)(e)}}))throw new TypeError("Failed to update Worker Participant tied to Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));var r=this._worker.getRoutes().getRoute(E.WORKER_PARTICIPANT_INSTANCE).path,i={ReservationSid:this.sid};for(var n in e)i[(0,v.default)(n)]=e[n];return this._request.post(r,i,_.API_V2).then((function(){return t}))}},{key:"fetchLatestVersion",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path;return this._request.get(t,_.API_V1).then((function(t){return e._update(t)}))}},{key:"_createTask",value:function(e){if(!(e instanceof k.default))return this._log.error("Error calling method _createTask() for Reservation sid=".concat(this.sid,". <ReservationDescriptor>reservationDescriptor is a required parameter.")),{};var t=e.taskDescriptor;try{return new w.default(this._worker,this._request,e.sid,t)}catch(e){return this._log.error("Failed to create a Task for Reservation sid=".concat(this.sid,". Error: ").concat(e)),{}}}},{key:"_createTransfer",value:function(e){if(!(e instanceof k.default))return this._log.error("Error calling method _createTransfer() for Reservation sid=".concat(this.sid,". <ReservationDescriptor>reservationDescriptor is a required parameter.")),{};var t=e.transferDescriptor;try{return new T.default(this._worker,t)}catch(e){return this._log.error("Failed to create a Transfer for Reservation sid=".concat(this.sid,". Error: ").concat(e)),{}}}},{key:"_update",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];try{var i=new k.default(e,this._worker,r);R.forEach((function(n){if("task"===n){if(-1===r.indexOf("task")){var a=e.task_transfer,o=e.active_outgoing_task_transfer;t.task._update(e.task,{incoming:a,outgoing:o})}}else"canceledReasonCode"===n?-1===r.indexOf("canceled_reason_code")&&e.canceled_reason_code&&(t[n]=i[n]):"task_transfer"===n&&e.task_transfer?t.transfer._update(e.task_transfer):t[n]=i[n]}))}catch(t){throw this._log.error("Failed to update Reservation sid=".concat(e.sid,". Update aborted. Error: ").concat(t,".")),t}return this}},{key:"_emitEvent",value:function(e,t){if(!(0,p.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,h.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>rawEventData is a required parameter.");this._update(t),this.emit(e,this)}}]),r}(g.EventEmitter);t.ReservationProperties=["account_sid","date_created","date_updated","reservation_status","sid","task","reservation_timeout","worker_sid","workspace_sid","version"];var O=A;t.default=O},7071:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SuperviseModes=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(5795)),l=i(r(7026)),f=i(r(4981)),h=r(568),p=r(6997);function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}t.SuperviseModes=["monitor","barge","whisper"];var _=function(e){(0,s.default)(r,e);var t=v(r);function r(){return(0,a.default)(this,r),t.apply(this,arguments)}return(0,o.default)(r,[{key:"monitor",value:function(e,t,r){if(!(0,l.default)(e))throw new TypeError("Error monitoring reservation: <string>taskSid is a required parameter");if(!(0,l.default)(t))throw new TypeError("Error monitoring reservation: <string>reservationSid is a required parameter");if(r&&!(0,d.default)(r))throw new TypeError("Error monitoring reservation: <string>extraParams must be an object");return this._supervise("monitor",e,t,r)}},{key:"setWorkerAttributes",value:function(e,t){if(!(0,l.default)(e))throw new TypeError("Error setting worker attributes: <string>workerSid is a required parameter");if(!(0,d.default)(t))throw new TypeError("Error setting worker attributes: <object>attributes is a required parameter");var r=this.getRoutes().getRoute(p.TARGET_WORKER_INSTANCE,e).path,i={Attributes:t};return this._request.post(r,i,h.API_V1,this.version)}},{key:"setWorkerActivity",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,l.default)(e))throw new TypeError("Error setting worker activity: <string>workerSid is a required parameter");if(!(0,l.default)(t))throw new TypeError("Error setting worker activity: <string>activitySid is a required parameter");if(r&&!(0,d.default)(r))throw new TypeError("Error setting worker activity: <object>options must be an object");var i=this.getRoutes().getRoute(p.TARGET_WORKER_INSTANCE,e).path,n={ActivitySid:t};for(var a in r)n[h.WORKER_UPDATE_OPTIONS[a]]=r[a];return this._request.post(i,n,h.API_V1,this.version)}},{key:"_supervise",value:function(e,t,r,i){var a=this.getRoutes().getRoute(p.TASK_RESERVATION_INSTANCE,t,r).path,o=(0,n.default)({},i,{Instruction:"supervise",Supervisor:this.sid,SupervisorMode:e});return this._request.post(a,o,h.API_V1).then((function(){}))}}]),r}(f.default);t.default=_},9655:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TaskProperties=void 0;var n=i(r(1307)),a=i(r(9591)),o=i(r(8213)),s=i(r(7537)),u=i(r(8765)),c=i(r(7431)),d=i(r(5370)),l=i(r(9548)),f=i(r(3761)),h=i(r(2327)),p=i(r(2297)),v=i(r(5795)),_=i(r(7026)),g=i(r(4159)),k=i(r(5428)),E=r(568),w=r(1239),T=i(r(2903)),y=i(r(4981)),S=r(6997),m=i(r(9127)),R=r(3410);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,f.default)(e);if(t){var n=(0,f.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,l.default)(this,r)}}var A=["attributes","status","workflowSid","workflowName","queueSid","queueName","priority","reason","routingTarget","timeout","taskChannelSid","taskChannelUniqueName","age","addOns","dateUpdated","transfers","version","virtualStartTime"],O=function(e){(0,d.default)(l,e);var t,r,i=b(l);function l(e,t,r,n){var a;if((0,s.default)(this,l),a=i.call(this),!(e instanceof y.default))throw new TypeError("Failed to instantiate Task. <Worker>worker is a required parameter.");if(!n)throw new TypeError("Failed to instantiate Task. <TaskDescriptor>descriptor is a required parameter.");if(!(n instanceof T.default))throw new TypeError("descriptor should be of type <TaskDescriptor>");if("string"!=typeof r)throw new TypeError("Failed to instantiate Task. <string>reservationSid is a required parameter.");return a._worker=e,a._log=e.getLogger("Task-".concat(n.sid)),a._request=t,a.transfers=new m.default(e,t,n),a.addOns=n.addOns,a.age=n.age,a.attributes=n.attributes,a.dateCreated=n.dateCreated,a.dateUpdated=n.dateUpdated,a.priority=n.priority,a.queueName=n.queueName,a.queueSid=n.queueSid,a.reason=n.reason,a.routingTarget=n.routingTarget,a.sid=n.sid,a.status=n.status,a.taskChannelUniqueName=n.taskChannelUniqueName,a.taskChannelSid=n.taskChannelSid,a.timeout=n.timeout,a.workflowName=n.workflowName,a.workflowSid=n.workflowSid,a.version=n.version,a.virtualStartTime=n.virtualStartTime,(0,o.default)((0,c.default)(a),n),a.reservationSid=r,a}return(0,u.default)(l,[{key:"complete",value:function(e){var t=this;if(!(0,_.default)(e))throw new TypeError("Error calling method complete(). <string>reason is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={AssignmentStatus:E.TASK_STATUS_COMPLETED,Reason:e};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"transfer",value:(r=(0,a.default)(n.default.mark((function e(t){var r,i,a,o,s=arguments;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=s.length>1&&void 0!==s[1]?s[1]:{},(0,_.default)(t)){e.next=3;break}throw new TypeError("Error calling method transfer(). <string>to is a required parameter.");case 3:return i=this._worker.getRoutes().getRoute(S.TASK_TRANSFER_LIST).path,a={ReservationSid:this.reservationSid,TaskSid:this.sid,To:t},r.attributes&&(a.Attributes=r.attributes),r.mode&&(a.Mode=r.mode),r.priority&&(a.Priority=r.priority),e.next=10,this._request.post(i,a,E.API_V2);case 10:return o=e.sent,this._log.info("Received response to transfer request to Worker/TaskQueue=".concat(t)),this._log.debug("Response object",o),this.transfers._updateOutgoing(o,!0),e.abrupt("return",this);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"wrapUp",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={AssignmentStatus:E.TASK_STATUS_WRAPPING};if(t.reason){if(!(0,_.default)(t.reason))throw new Error("Failed to call wrapUp() on Task sid=".concat(this.sid,". A <string>reason is required."));i.Reason=t.reason}return this._request.post(r,i,E.API_V1,this.version).then((function(t){return e._update(t)}))}},{key:"setAttributes",value:function(e){var t=this;if(!(0,v.default)(e))throw new TypeError("Unable to set attributes on Task. <object>attributes is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={Attributes:e};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"setVirtualStartTime",value:function(e){var t=this;if(!(0,p.default)(e))throw new TypeError("Unable to set virtual start time on Task. <Date>date is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={VirtualStartTime:e.toISOString().slice(0,19)+"Z"};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"updateParticipant",value:function(e){var t=this,r={hold:function(e){return(0,h.default)(e)},holdUrl:function(e){return(0,_.default)(e)},holdMethod:function(e){return(0,_.default)(e)}};if(!(0,R.validateOptions)(e,r))throw new TypeError("Failed to update Participant tied to Task sid=".concat(this.sid,". The options passed in did not match the required types."));var i=this._worker.getRoutes().getRoute(S.CUSTOMER_PARTICIPANT_INSTANCE).path,n={TaskSid:this.sid};for(var a in e)n[(0,k.default)(a)]=e[a];return this._request.post(i,n,E.API_V2).then((function(e){return t._update(e)}))}},{key:"kick",value:function(e){var t=this;if(!(0,_.default)(e))throw new TypeError("Error calling method kick(). <string>workerSid is a required parameter.");var r=this._worker.getRoutes().getRoute(S.KICK_WORKER_PARTICIPANT).path,i={TaskSid:this.sid,TargetWorkerSid:e};return this._request.post(r,i,E.API_V2).then((function(e){return t._update(e)}))}},{key:"hold",value:function(e,t,r){var i=this,n={holdUrl:function(e){return(0,_.default)(e)},holdMethod:function(e){return(0,_.default)(e)}};if(!(0,_.default)(e))throw new TypeError("Error calling method hold(). <string>targetWorkerSid is a required parameter.");if(!(0,h.default)(t))throw new TypeError("Error calling method hold(). <boolean>onHold is a required parameter that is either true or false.");if(!(0,R.validateOptions)(r,n))throw new TypeError("Failed to update Participant tied to Task sid=".concat(this.sid,". The options passed in did not match the required types."));var a=this._worker.getRoutes().getRoute(S.HOLD_WORKER_PARTICIPANT_INSTANCE).path,o={TaskSid:this.sid,TargetWorkerSid:e,Hold:t};for(var s in r)o[(0,k.default)(s)]=r[s];return this._request.post(a,o,E.API_V2).then((function(e){return i._update(e)}))}},{key:"fetchLatestVersion",value:function(){var e=this,t=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path;return this._request.get(t,E.API_V1).then((function(t){return e._update(t)}))}},{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,_.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,v.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");this.emit(e,this,t)}},{key:"_emitEventForOutgoingTransfer",value:(t=(0,a.default)(n.default.mark((function e(t,r){var i;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._log.debug("_emitEventForOutgoingTransfer(".concat(t,", ").concat(JSON.stringify(r),")")),(0,_.default)(t)){e.next=3;break}throw new TypeError("Error calling _emitEventForOutgoingTransfer(). <string>eventType is a required parameter.");case 3:if((0,v.default)(r)){e.next=5;break}throw new TypeError("Error calling method _emitEventForOutgoingTransfer(). <object>payload is a required parameter.");case 5:this.transfers.outgoing||this._log.debug("The transfers.outgoing object is NOT present"),i=0;case 7:if(this.transfers.outgoing||!(i<20)){e.next=14;break}return e.next=10,new Promise((function(e){return setTimeout(e,500)}));case 10:i++,this._log.debug("Transfer event arrived, waiting for API response, because transfer object missing",i),e.next=7;break;case 14:i=0;case 15:if(!(this.transfers.outgoing&&this.transfers.outgoing.sid!==r.sid&&i<20)){e.next=22;break}return e.next=18,new Promise((function(e){return setTimeout(e,500)}));case 18:i++,this._log.debug("Transfer event arrived, waiting for API response to get the correct transfer SID",i),e.next=15;break;case 22:this._log.debug("Transfer sid from API response:",this.transfers&&this.transfers.outgoing?this.transfers.outgoing.sid:"No sid"),this._log.debug("Transfer sid from event:",r.sid),this.transfers.outgoing&&this.transfers.outgoing.sid===r.sid?Object.keys((0,g.default)(E.taskTransferEventTypes,[E.TRANSFER_INITIATED])).indexOf(t)>-1?(this.transfers._updateOutgoing(r),this.emit(E.taskTransferEventTypes[E.TRANSFER_INITIATED],this.transfers.outgoing)):this.transfers._emitEvent(t,r):this._log.debug("The transfers.outgoing object is either not present or does not match the transfer sid in the event. ".concat(JSON.stringify(r)));case 25:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})},{key:"_update",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var i=new T.default(e,this._config);A.forEach((function(e){"transfers"===e?(r.incoming||r.outgoing)&&t.transfers._update(r):t[e]=i[e]}))}catch(t){throw this._log.error("Failed to update Task sid=".concat(e.sid,". Update aborted."),t),new Error("Failed to update Task sid=".concat(e.sid,". Update aborted. Error: ").concat(t,"."))}return this}}]),l}(w.EventEmitter);t.TaskProperties=["addons","age","attributes","date_created","date_updated","priority","queue_name","queue_sid","reason","routing_target","sid","assignment_status","task_channel_unique_name","task_channel_sid","timeout","workflow_name","workflow_sid","version","virtual_start_time"];var I=O;t.default=I},5058:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TaskQueueProperties=void 0;var n=i(r(8213)),a=i(r(8765)),o=i(r(7537)),s=i(r(7531)),u=(0,a.default)((function e(t){if((0,o.default)(this,e),!(t instanceof s.default))throw new TypeError("Failed to create a TaskQueue. <TaskQueueDescriptor>descriptor is a required parameter.");this.sid=t.sid,this.queueSid=t.queueSid,this.accountSid=t.accountSid,this.workspaceSid=t.workspaceSid,this.name=t.name,this.queueName=t.queueName,this.assignmentActivityName=t.assignmentActivityName,this.reservationActivityName=t.reservationActivityName,this.assignmentActivitySid=t.assignmentActivitySid,this.reservationActivitySid=t.reservationActivitySid,this.targetWorkers=t.targetWorkers,this.maxReservedWorkers=t.maxReservedWorkers,this.taskOrder=t.taskOrder,this.dateCreated=t.dateCreated,this.dateUpdated=t.dateUpdated,(0,n.default)(this,t)}));t.TaskQueueProperties=["friendly_name","reservation_activity_name","assignment_activity_name","target_workers","max_reserved_workers","task_order","reservation_activity_sid","assignment_activity_sid","workspace_sid","account_sid","sid","date_created","date_updated","lifo_queue"];var c=u;t.default=c},4981:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WorkerProperties=void 0;var a=i(r(353)),o=i(r(8213)),s=i(r(7537)),u=i(r(8765)),c=i(r(7431)),d=i(r(5370)),l=i(r(9548)),f=i(r(3761)),h=i(r(2327)),p=i(r(5795)),v=i(r(7026)),_=i(r(1910)),g=i(r(3130)),k=r(1239),E=i(r(6427)),w=i(r(2732)),T=i(r(2063)),y=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=N(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(6997)),S=i(r(2129)),m=r(568),R=i(r(276)),b=i(r(5422)),A=i(r(1531)),O=r(3410),I=i(r(4634));function N(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(N=function(e){return e?r:t})(e)}function P(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,f.default)(e);if(t){var n=(0,f.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,l.default)(this,r)}}var C=["dateUpdated","dateStatusChanged","attributes","name","available","version"],W=function(e){(0,d.default)(r,e);var t=P(r);function r(e){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{Request:w.default,EventBridgeSignaling:g.default};if((0,s.default)(this,r),i=t.call(this),!(0,v.default)(e))throw new TypeError("Failed to instantiate Worker. <string>token is a required parameter.");var o,u={connectActivitySid:function(e){return(0,v.default)(e)},closeExistingSessions:function(e){return(0,h.default)(e)},logLevel:function(e){return(0,v.default)(e)},ebServer:function(e){return(0,v.default)(e)},wsServer:function(e){return(0,v.default)(e)},region:function(e){return(0,v.default)(e)},enableVersionCheck:function(e){return(0,h.default)(e)}};return(0,O.validateOptions)(n,u),i._connectActivitySid=n.connectActivitySid,i._closeExistingSessions=n.closeExistingSessions,i._logLevel=n.logLevel||"error",i._config=new _.default(e,n),i._log=new E.default("Worker-".concat(i._config.getLogIdentifier()),i._logLevel),i._request=new a.Request(i._config),i._dataServices={activitiesEntity:new R.default((0,c.default)(i),i._request),channelsEntity:new b.default((0,c.default)(i),i._request),reservationsEntity:new A.default((0,c.default)(i),i._request)},i._routes=null,i._connectRetry=0,i._signaling=new a.EventBridgeSignaling((0,c.default)(i),{closeExistingSessions:n.closeExistingSessions,setWorkerOfflineIfDisconnected:n.setWorkerOfflineIfDisconnected}),i.retryUtil=new T.default,i._subscribeToSignalingEvents(),o=n.eventHandlerClass?new n.eventHandlerClass((0,c.default)(i)):new I.default((0,c.default)(i)),i.taskRouterEventHandler=o,i.activity=null,i.accountSid="",i.attributes={},i.dateCreated=null,i.dateStatusChanged=null,i.dateUpdated=null,i.name="",i.sid="",i.workspaceSid="",i.version="",i.workerSid="",i.workerActivitySid="",i.friendlyName="",i.dateActivityChanged=null,i}return(0,u.default)(r,[{key:"createTask",value:function(e,t,r,i){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!(0,v.default)(e))throw new TypeError("Error calling method createTask(). <string>to is a required parameter.");if(!(0,v.default)(t))throw new TypeError("Error calling method createTask(). <string>from is a required parameter.");if(!(0,v.default)(r))throw new TypeError("Error calling method createTask(). <string>workflowSid is a required parameter.");if(!(0,v.default)(i))throw new TypeError("Error calling method createTask(). <string>taskQueueSid is a required parameter.");var a={attributes:function(e){return(0,p.default)(e)},taskChannelUniqueName:function(e){return(0,v.default)(e)},taskChannelSid:function(e){return(0,v.default)(e)}};if(!(0,O.validateOptions)(n,a))throw new TypeError("Failed to create a Task for Worker ".concat(this.sid,". The options passed in did not match the required types."));var s=this.getRoutes().getRoute(y.TASK_LIST).path,u={WorkflowSid:r,TaskQueueSid:i,RoutingTarget:this.sid};for(var c in n.virtualStartTime&&(u.VirtualStartTime=n.virtualStartTime.toISOString().slice(0,19)+"Z"),n)"attributes"===c||"virtualStartTime"===c||(u[m.CREATE_TASK_OPTIONS[c]]=n[c]);var d={outbound_to:e,from:t};return u.Attributes=(0,o.default)({},n.attributes,d),this._request.post(s,u,m.API_V1).then((function(e){return e.sid}))}},{key:"getLogger",value:function(e){return new E.default("".concat(e,"-").concat(this.sid),this._config._logLevel)}},{key:"setAttributes",value:function(e){var t=this;if(!(0,p.default)(e))throw new TypeError("Unable to set attributes on Worker. <object>attributes is a required parameter.");var r=this.getRoutes().getRoute(y.WORKER_INSTANCE).path,i={Attributes:e};return this._request.post(r,i,m.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"_bumpVersion",value:function(){this.version&&(this.version=String(Number(this.version)+1))}},{key:"updateToken",value:function(e){if(!(0,v.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this._log.info("Proceeding to update the Worker's current active token with a new token."),this._log.debug("New token: "+e);try{this._config.updateToken(e),this._signaling.updateToken(e),this.emit("tokenUpdated")}catch(e){this.emit("error",e)}}},{key:"fetchLatestVersion",value:function(){var e=this,t=this.getRoutes().getRoute(y.WORKER_INSTANCE).path;return this._request.get(t,m.API_V1).then((function(t){return e._update(t)}))}},{key:"_subscribeToSignalingEvents",value:function(){var e=this;this._log.info("Subscribing to Signaling events .... "),this._signaling.on("connected",(function(){e._log.info("Received Event: 'connected' from Signaling layer. Pending initialization.",e.sid)})),this._signaling.on("disconnected",(function(t){e._log.info("Received Event: 'disconnected' from Signaling layer for Worker %s. %s",e.sid,t),e._unSubscribeFromTaskRouterEvents(),e.emit("disconnected",t)})),this._signaling.on("init",(function(t){e._log.info("Received Event: 'init' from Signaling layer. Proceeding to initialize Worker %s.",t.channel_id),e.sid=t.channel_id,e.accountSid=t.account_sid,e.workspaceSid=t.workspace_sid,e._signaling.setLifetime(t.token_lifetime),e._initialize()})),this._signaling.on("error",(function(t){e._log.info("Received Event: 'error' from Signaling layer for Worker %s.",e.sid),e.emit("error",t)})),this._signaling.on("tokenExpired",(function(){e._log.info("Received Event: 'tokenExpired' for for Worker %s. Please update the token. Websocket will not reconnect automatically until token is updated.",e.sid),e.emit("tokenExpired")}))}},{key:"_subscribeToTaskRouterEvents",value:function(){this._log.info("Subscribing to TaskRouter events ... ");for(var e=0,t=Object.entries(this.taskRouterEventHandler.getTREventsToHandlerMapping());e<t.length;e++){var r=(0,a.default)(t[e],2),i=r[0],n=r[1];this._signaling.on(i,this.taskRouterEventHandler[n])}}},{key:"_unSubscribeFromTaskRouterEvents",value:function(){this._log.info("Unsubscribing from TaskRouter events ... ");for(var e=0,t=Object.entries(this.taskRouterEventHandler.getTREventsToHandlerMapping());e<t.length;e++){var r=(0,a.default)(t[e],2),i=r[0],n=r[1];this._signaling.removeListener(i,this.taskRouterEventHandler[n])}}},{key:"_initialize",value:function(){var e=this;this._routes=new y.default(this.workspaceSid,this.sid),this._log.info("Initializing Worker %s...",this.sid);var t,r=this.getRoutes().getRoute(y.WORKER_INSTANCE).path;this._request.get(r,m.API_V1).then((function(r){var i=new S.default(r);return t=i.activitySid,delete i.activityName,delete i.activitySid,delete i.available,e.accountSid=i.accountSid,e.attributes=i.attributes,e.dateCreated=i.dateCreated,e.dateStatusChanged=i.dateStatusChanged,e.dateUpdated=i.dateUpdated,e.name=i.name,e.sid=i.sid,e.workspaceSid=i.workspaceSid,e.version=i.version,e.workerSid=i.workerSid,e.workerActivitySid=i.workerActivitySid,e.dateActivityChanged=i.dateActivityChanged,e.friendlyName=i.friendlyName,(0,o.default)(e,i),Promise.all([e._dataServices.activitiesEntity.fetchActivities(),e._dataServices.channelsEntity.fetchChannels(),e._dataServices.reservationsEntity.fetchReservations()])})).then((function(){e._log.info("Worker %s activities, channels and pending reservations initialized",e.sid),e._setCurrentActivity(t),e._connectActivitySid?e._setWorkerConnectActivity().then((function(){e._log.info("Successfully updated Worker on connect to Activity=%s",e._connectActivitySid),e._log.info("Worker %s successfully initialized",e.sid)})):e._log.info("Worker %s successfully initialized",e.sid),e._subscribeToTaskRouterEvents(),e.emit("ready",e)})).catch((function(t){e._log.error("Failed to initialize Worker %s. Error: %s",e.sid,t),e.emit("error",new Error("Failed to initialize Worker ".concat(e.sid)))}))}},{key:"channels",get:function(){return this._dataServices.channelsEntity.channels}},{key:"activities",get:function(){return this._dataServices.activitiesEntity.activities}},{key:"reservations",get:function(){return this._dataServices.reservationsEntity.reservations}},{key:"_setCurrentActivity",value:function(e){var t=this.activities.get(e);if(!t)throw new Error("Unable to set the current Activity sid=".concat(e," on the Worker."));t._isCurrent=!0,this.activity=t,this.activity._isCurrent=!0}},{key:"_setWorkerConnectActivity",value:function(){var e=this;if(!(0,v.default)(this._connectActivitySid))throw new TypeError("Failed to set the Worker's activity to the provided optional connectActivitySid. <string>connectActivitySid must be a string.");return this._updateWorkerActivity(this._connectActivitySid).then((function(){return e._log.info("Successfully set the Worker's activity to the provided connectActivitySid=%s on connection.",e._connectActivitySid),e._connectRetry=0,e})).catch((function(t){var r=(0,O.getStatusCodeFromError)(t);if(e._connectRetry>=3||![0,429,500,502,503,504].includes(r))throw e._log.error("Unable to set Worker %s activity to the provided %s on successful connection. %s",e.sid,e._connectActivitySid,t),t;return e._connectRetry=e._connectRetry>0?e._connectRetry+1:1,e.retryUtil.whenReady(e._connectRetry).then((function(t){return e._log.info("Retrying Update Worker Activity after backoff time: ".concat(t,"ms for retryCount: ").concat(e._connectRetry)),e._setWorkerConnectActivity.bind(e)()}))}))}},{key:"_updateWorkerActivity",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,v.default)(e))throw new TypeError("Error updating Worker Activity: <string>activitySid is a required parameter");var i=this.getRoutes().getRoute(y.WORKER_INSTANCE).path,n={ActivitySid:e};for(var a in r)n[m.WORKER_UPDATE_OPTIONS[a]]=r[a];return this._request.post(i,n,m.API_V1,this.version).then((function(r){try{t._update(r),t.activity._isCurrent=!1;var i=t.activities.get(r.activity_sid);t.activity=i,t.activity._isCurrent=!0}catch(r){throw t._log.error("Failed to update the Worker's activity to sid=%s. Error: %s",e,r),r}return t}))}},{key:"_update",value:function(e){var t=this;this._log.trace("Attempting to update Worker %s with latest Worker data=%s",this.sid,JSON.stringify(e));try{var r=new S.default(e);C.forEach((function(e){t[e]=r[e]}))}catch(t){this._log.error("Failed to update Worker sid=%s. Update aborted. Error: %s.",e.sid,t)}return this}},{key:"disconnect",value:function(){this._signaling.disconnect()}},{key:"getRoutes",value:function(){return this._routes}}]),r}(k.EventEmitter);t.WorkerProperties=["account_sid","activity_name","activity_sid","attributes","available","date_created","date_status_changed","date_updated","friendly_name","sid","workspace_sid","version"];var q=W;t.default=q},1145:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8213)),a=i(r(8765)),o=i(r(7537)),s=i(r(2129)),u=(0,a.default)((function e(t){if((0,o.default)(this,e),!(t instanceof s.default))throw new TypeError("Failed to create a WorkerContainer. <WorkerDescriptor>descriptor is a required parameter.");(0,n.default)(this,t)}));t.default=u},9921:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(4378)),s=i(r(7026)),u=i(r(2732)),c=i(r(1910)),d=i(r(5567)),l=i(r(6427)),f=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;(0,n.default)(this,e),this._config=new c.default(t,r),this._request=new u.default(this._config),this._logLevel=r.logLevel||"error",this._log=new l.default("Workspace-".concat(this._config.getLogIdentifier()),this._logLevel),this.shouldDecodeToken=!i,this.workspaceSid=i,this._updateJWTProperties(t),this.workspaceEntity=new o.default(this.workspaceSid,this._request,r)}return(0,a.default)(e,[{key:"fetchWorker",value:function(e){return this.workspaceEntity.fetchWorker(e)}},{key:"fetchWorkers",value:function(e){var t=this;return this.workspaceEntity.fetchWorkers(e).then((function(){return t.workspaceEntity.Workers}))}},{key:"fetchTaskQueue",value:function(e){return this.workspaceEntity.fetchTaskQueue(e)}},{key:"fetchTaskQueues",value:function(e){var t=this;return this.workspaceEntity.fetchTaskQueues(e).then((function(){return t.workspaceEntity.TaskQueues}))}},{key:"updateToken",value:function(e){if(!(0,s.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this._config.updateToken(e),this._updateJWTProperties(e)}},{key:"_updateJWTProperties",value:function(e){if(this.shouldDecodeToken){var t=(0,d.default)(e);this.jwt=t,this.accountSid=t.sub,this.workspaceSid=t.grants.task_router.workspace_sid,this.workerSid=t.grants.task_router.worker_sid,this.role=t.grants.task_router.role}}}]),e}();t.default=f},4364:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761));function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var d=function(e){(0,o.default)(r,e);var t=c(r);function r(e,i){return(0,a.default)(this,r),t.call(this,e,i)}return(0,n.default)(r)}(i(r(2381)).default);t.default=d},3694:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(1307)),a=i(r(9591)),o=i(r(7537)),s=i(r(8765)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(5795)),f=i(r(7026)),h=i(r(2381)),p=r(568),v=r(6997);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var g=function(e){(0,u.default)(i,e);var t,r=_(i);function i(e,t,n,a){var s;if((0,o.default)(this,i),s=r.call(this,e,a),"string"!=typeof n)throw new TypeError("Failed to instantiate OutgoingTransfer. <string>taskSid is a required parameter.");return s._worker=e,s._request=t,s.taskSid=n,s}return(0,s.default)(i,[{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,f.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,l.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");this.emit(e,this)}},{key:"cancel",value:(t=(0,a.default)(n.default.mark((function e(){var t,r,i;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this._worker.getRoutes().getRoute(v.TASK_TRANSFER_INSTANCE,this.sid).path,r={TaskSid:this.taskSid,TransferStatus:p.TRANSFER_STATUS.canceled},e.next=4,this._request.post(t,r,p.API_V2);case 4:return i=e.sent,e.abrupt("return",this._update(i));case 6:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),i}(h.default);t.default=g},2381:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TransferProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=r(1239),f=i(r(3119));function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var p=["dateUpdated","status","transferFailedReason"],v=function(e){(0,u.default)(r,e);var t=h(r);function r(e,i){var o;if((0,a.default)(this,r),o=t.call(this),!(i instanceof f.default))throw new TypeError("Failed to instantiate Transfer. <TransferDescriptor>descriptor is a required parameter.");return o._log=e.getLogger("Transfer-".concat(i.sid)),o.dateCreated=i.dateCreated,o.dateUpdated=i.dateUpdated,o.mode=i.mode,o.queueSid=i.queueSid,o.reservationSid=i.reservationSid,o.to=i.to,o.transferFailedReason=i.transferFailedReason,o.type=i.type,o.sid=i.sid,o.status=i.status,o.workerSid=i.workerSid,o.workflowSid=i.workflowSid,(0,n.default)((0,s.default)(o),i),o}return(0,o.default)(r,[{key:"_update",value:function(e){var t=this;try{var r=new f.default(e);p.forEach((function(e){t[e]=r[e]}))}catch(t){throw this._log.error("Failed to update Transfer sid=".concat(e.sid,". Update aborted."),t),new Error("Failed to update Transfer sid=".concat(e.sid,". Update aborted. Error: ").concat(t,"."))}return this}}]),r}(l.EventEmitter);t.TransferProperties=["date_created","date_updated","initiating_reservation_sid","initiating_worker_sid","initiating_queue_sid","initiating_workflow_sid","sid","transfer_mode","transfer_to","transfer_type","transfer_status"];var _=v;t.default=_},9127:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761)),c=i(r(5795)),d=i(r(7026)),l=i(r(4159)),f=r(1239),h=r(568),p=i(r(4364)),v=i(r(3694)),_=i(r(2903)),g=i(r(3119));function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var E=function(e){(0,o.default)(r,e);var t=k(r);function r(e,i,a){var o;if((0,n.default)(this,r),o=t.call(this),!(a instanceof _.default))throw new TypeError("Failed to instantiate Transfers. <TaskDescriptor>taskDescriptor is a required parameter.");return o._log=e.getLogger("Transfers-".concat(a.sid)),o._worker=e,o._request=i,o.incoming=a.incomingTransferDescriptor?new p.default(e,a.incomingTransferDescriptor):null,o.outgoing=a.outgoingTransferDescriptor?new v.default(e,i,a.sid,a.outgoingTransferDescriptor):null,o}return(0,a.default)(r,[{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,d.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,c.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");var r=h.taskTransferEventTypes[e];this.outgoing?this.outgoing.sid===t.sid?Object.keys((0,l.default)(h.taskTransferEventTypes,["transfer-attempt-failed","transfer-completed","transfer-failed","transfer-canceled"])).indexOf(e)>-1&&(this._updateOutgoing(t),this.outgoing._emitEvent(r,t)):this._log.warn("The transfer %s specified by Event: transfer.%s does not match the current active outgoing transfer for Worker %s. Skipping event.",t.sid,r,this._worker.sid):this._log.warn("An active outgoing transfer does currently exist in Worker %s transfers map for Event: transfer.%s. Skipping event.",this._worker.sid,r)}},{key:"_updateOutgoing",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!this.outgoing||t?this.outgoing=new v.default(this._worker,this._request,e.task_sid,new g.default(e)):this.outgoing._update(e)}},{key:"_update",value:function(e){if(e.incoming)if(this.incoming)this.incoming._update(e.incoming);else{var t=new g.default(e.incoming);this.incoming=new p.default(this._worker,this._request,e.incoming.task_sid,t)}if(e.outgoing)if(this.outgoing)this.outgoing._update(e.outgoing);else{var r=new g.default(e.outgoing);this.outgoing=new v.default(this._worker,this._request,e.outgoing.task_sid,r)}}}]),r}(f.EventEmitter);t.default=E},276:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(8274)),s=i(r(5795)),u=i(r(7480)),c=i(r(9097)),d=r(568),l=i(r(7136)),f=r(6997),h=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,e),!(0,s.default)(t))throw new TypeError("Failed to initialize ActivitiesEntity. <Worker>worker is a required parameter.");this._activities=new Map,this._log=t.getLogger("ActivitiesEntity-".concat(t.sid)),this._request=r,this._worker=t,this._pageSize=i.pageSize||d.DEFAULT_PAGE_SIZE,(0,o.default)(this._pageSize,1,d.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for ActivitiesEntity must be between 1 and %d. Setting pageSize to default size=%d",d.DEFAULT_PAGE_SIZE,d.DEFAULT_PAGE_SIZE),this._pageSize=1e3)}return(0,a.default)(e,[{key:"activities",get:function(){return this._activities}},{key:"fetchActivities",value:function(){var e=this._getPage();return this._getAllActivities(e)}},{key:"_getAllActivities",value:function(e){var t=this;return e.then((function(e){return e.items.forEach((function(e){t._insertActivity(e)})),e.hasNextPage?t._getAllActivities(e.nextPage()):Promise.resolve()}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(f.ACTIVITIES_LIST).path,i={PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,d.API_V1,i).then((function(e){return new l.default(e.contents.map((function(e){return new c.default(e)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertActivity",value:function(e){var t=e.sid;this._log.trace("_insertActivity(sid=".concat(t,", data=").concat(JSON.stringify(e)));try{var r=new u.default(this._worker,e);this._activities.set(t,r)}catch(e){this._log.error("Unable to create an Activity for sid=".concat(t,". Skipping insert into Activities map. Error: ").concat(e))}}}]),e}();t.default=h},5422:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(8274)),s=r(568),u=i(r(803)),c=i(r(7467)),d=i(r(7136)),l=i(r(4981)),f=r(6997),h=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,e),!(t instanceof l.default))throw new TypeError("Failed to initialize ChannelsEntity. <Worker>worker is a required parameter.");this._channels=new Map,this._log=t.getLogger("ChannelsEntity"),this._request=r,this._pageSize=i.pageSize||s.DEFAULT_PAGE_SIZE,this._worker=t,(0,o.default)(this._pageSize,1,s.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for ChannelsEntity must be between 1 and %d. Setting pageSize to default size=%d",s.DEFAULT_PAGE_SIZE,s.DEFAULT_PAGE_SIZE),this._pageSize=1e3)}return(0,a.default)(e,[{key:"channels",get:function(){return this._channels}},{key:"fetchChannels",value:function(){var e=this._getPage();return this._getAllChannels(e)}},{key:"_getAllChannels",value:function(e){var t=this;return e.then((function(e){return e.items.forEach((function(e){t._insertChannel(e)})),e.hasNextPage?t._getAllChannels(e.nextPage()):Promise.resolve()}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(f.WORKER_CHANNELS).path,i={PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,s.API_V1,i).then((function(e){return new d.default(e.contents.map((function(e){return new c.default(e)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertChannel",value:function(e){var t=e.sid;this._log.trace("_insertChannel(sid=".concat(t,", data=").concat(JSON.stringify(e)));try{var r=new u.default(this._worker,this._request,e);this._channels.set(t,r)}catch(e){this._log.error("Unable to create a Channel for sid=".concat(t,". Skipping insert into Channels map. Error: ").concat(e))}}}]),e}();t.default=h},1531:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761)),c=i(r(8274)),d=r(568),l=r(1239),f=i(r(7136)),h=i(r(9222)),p=i(r(3171)),v=i(r(4981)),_=r(6997);function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var k=function(e){(0,o.default)(r,e);var t=g(r);function r(e,i){var a,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,r),a=t.call(this),!(e instanceof v.default))throw new TypeError("Failed to initialize ReservationsEntity. <Worker>worker is a required parameter.");return a._worker=e,a._log=e.getLogger("ReservationsEntity"),a._request=i,a._reservations=new Map,a._reservationSidsByTask=new Map,a._pageSize=o.pageSize||d.DEFAULT_PAGE_SIZE,(0,c.default)(a._pageSize,1,d.DEFAULT_PAGE_SIZE+1)||(a._log.warn("PageSize range for ReservationsEntity must be between 1 and %d. Setting pageSize to default size=%d",d.DEFAULT_PAGE_SIZE,d.DEFAULT_PAGE_SIZE),a._pageSize=1e3),a}return(0,a.default)(r,[{key:"reservations",get:function(){return new Map(Array.from(this._reservations).filter((function(e){return!e[1][1]})).map((function(e){return[e[0],e[1][0]]})))}},{key:"fetchReservations",value:function(){var e=this._getPage();return this._reservations.clear(),this._getAllReservations(e)}},{key:"_getAllReservations",value:function(e){var t=this;return e.then((function(e){e.items.forEach((function(e){t._insertReservation(e)})),e.hasNextPage&&t._getAllReservations(e.nextPage())}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(_.RESERVATION_LIST).path,i={Active:"true",PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,d.API_V2,i).then((function(e){return new f.default(e.contents.map((function(e){return new p.default(e,t._worker)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertReservation",value:function(e){var t=e.sid;this._log.trace("_insertReservation(sid=%s, data=%s)",t,JSON.stringify(e)),this._reservations.has(t)&&this._log.debug("Reservation %s already exists for Worker %s. Attempting to overwrite it.",t,this._worker.sid);try{var r=new h.default(this._worker,this._request,e);return this._reservations.set(t,[r,!1]),this._reservationSidsByTask.has(r.task.sid)?this._reservationSidsByTask.get(r.task.sid).add(r.sid):this._reservationSidsByTask.set(r.task.sid,new Set([r.sid])),this._log.debug("Successfully created and inserted %s for %s to Task-Reservation lookup. Contents: %s",r.sid,r.task.sid,this._reservationSidsByTask.get(r.task.sid)),r}catch(e){throw this._log.error("Unable to create a Reservation for sid=%s. Skipping insert into Reservations map. Error: %s",t,e),e}}},{key:"insert",value:function(e){this._log.trace("_insertReservation(sid=%s, data=%s)",e.sid,JSON.stringify(e));var t=new p.default(e,this._worker);return this._insertReservation(t)}},{key:"getTasks",value:function(e){var t=this;if(!this._reservationSidsByTask.has(e))return null;var r=this._reservationSidsByTask.get(e),i=[];return r.forEach((function(e){var r=t._reservations.get(e);r&&r[0].task&&i.push(r[0].task)})),i}},{key:"_deleteByReservationSid",value:function(e){this._log.trace("_deleteByReservationSid(sid=%s)",e);var t=this.reservations.get(e);t?(this._log.info("Found Reservation sid=%s for Worker %s. Removing reservation and task.",e,this._worker.sid),this._cleanUpReservationAndTask(t)):this._log.info("Reservation with sid=%s not found. Unable to remove Reservation.",e)}},{key:"_cleanUpReservationAndTask",value:function(e){var t=this;this._log.debug("Soft deleting Reservation sid=%s for Worker %s",e.sid,this._worker.sid),this._reservations.set(e.sid,[e,!0]),setTimeout((function(){t._log.debug("Hard deleting of Reservation sid=%s for Worker %s",e.sid,t._worker.sid),t._reservations.delete(e.sid)||t._log.warn("Failed to hard delete Reservation sid=%s for Worker %s",e.sid,t._worker.sid)}),5e3)}}]),r}(l.EventEmitter);t.default=k},4378:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(1307)),o=i(r(8779)),s=i(r(9591)),u=i(r(3838)),c=i(r(7537)),d=i(r(8765)),l=i(r(8274)),f=r(568),h=i(r(2129)),p=i(r(7531)),v=i(r(1145)),_=i(r(5058)),g=i(r(7136)),k=i(r(6427)),E=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=m(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(3739)),w=i(r(1017)),T=["MaxWorkers"],y=["Ordering"],S=["Ordering"];function m(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(m=function(e){return e?r:t})(e)}function R(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?R(Object(r),!0).forEach((function(t){(0,o.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function A(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return O(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return O(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var I=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,c.default)(this,e),this._Workers=new Map,this._TaskQueues=new Map,this._routes=new E.default(t),this._request=r,this._log=new k.default("WorkspaceEntity-".concat(t),i.logLevel),this._pageSize=i.pageSize||f.DEFAULT_PAGE_SIZE,(0,l.default)(this._pageSize,1,f.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for WorkspaceEntity must be between 1 and %d. Setting pageSize to default size=%d",f.DEFAULT_PAGE_SIZE,f.DEFAULT_PAGE_SIZE),this._pageSize=f.DEFAULT_PAGE_SIZE)}var t;return(0,d.default)(e,[{key:"Workers",get:function(){return this._Workers}},{key:"TaskQueues",get:function(){return this._TaskQueues}},{key:"fetchWorker",value:function(e){var t=w.default.join(this._routes.getRoute(E.WORKER_LIST).path,e);return this._request.get(t,f.API_V1).then((function(e){return new v.default(new h.default(e))}))}},{key:"fetchWorkers",value:function(e){this._Workers=new Map;var t=e||{},r=t.MaxWorkers,i=(0,u.default)(t,T);return this._getAllWorkers(this._getWorkerPage(i),r)}},{key:"fetchTaskQueue",value:function(e){var t=w.default.join(this._routes.getRoute(E.TASKQUEUE_LIST).path,e);return this._request.get(t,f.API_V1).then((function(e){return new _.default(new p.default(e))}))}},{key:"fetchTaskQueues",value:function(e){return this._TaskQueues=new Map,this._getAllTaskQueues(this._getTaskQueuePage(e))}},{key:"_getAllWorkers",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f.DEFAULT_MAX_WORKERS;return e.then(function(){var e=(0,s.default)(a.default.mark((function e(i){var n,o,s;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=A(i.items),e.prev=1,n.s();case 3:if((o=n.n()).done){e.next=10;break}if(s=o.value,!(t._Workers.size>=r)){e.next=7;break}return e.abrupt("break",10);case 7:t._insertWorker(s);case 8:e.next=3;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:if(i.hasNextPage){e.next=20;break}return e.abrupt("return");case 20:if(!(t._Workers.size>=r)){e.next=22;break}return e.abrupt("return");case 22:return e.next=24,t._getAllWorkers(i.nextPage(),r);case 24:case"end":return e.stop()}}),e,null,[[1,12,15,18]])})));return function(t){return e.apply(this,arguments)}}())}},{key:"_getWorkerPage",value:function(e){var t=this;e=e||{};var r=this._routes.getRoute(E.WORKER_LIST).path,i={PageSize:this._pageSize};return["AfterSid","FriendlyName","ActivitySid","ActivityName","Ordering","TargetWorkersExpression","NextToken"].forEach((function(t){e[t]&&(i[t]=e[t])})),this._request.get(r,f.API_V1,i).then((function(e){var r=i.Ordering,n=(0,u.default)(i,y),a=r?"NextToken":"AfterSid";return new g.default(e.contents.map((function(e){return new h.default(e)})),(function(e){return t._getWorkerPage(b(b({},n),{},(0,o.default)({Ordering:r},a,e)))}),r?e.meta.next_token:e.after_sid)}))}},{key:"_insertWorker",value:function(e){var t=e.sid;this._log.trace("_insertWorker(sid=%s, data=%s)",t,JSON.stringify(e));try{this._Workers.set(t,new v.default(e))}catch(e){this._log.error("Unable to create a Worker for sid=%s. Skipping insert into Worker map. Error: %s",t,e)}}},{key:"_getAllTaskQueues",value:(t=(0,s.default)(a.default.mark((function e(t){var r=this;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.then(function(){var e=(0,s.default)(a.default.mark((function e(t){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.items.forEach((function(e){return r._insertTaskQueue(e)})),t.hasNextPage){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,r._getAllTaskQueues(t.nextPage());case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"_getTaskQueuePage",value:function(e){var t=this;e=e||{};var r=this._routes.getRoute(E.TASKQUEUE_LIST).path,i={PageSize:this._pageSize};return["AfterSid","FriendlyName","Ordering","NextToken","WorkerSid"].forEach((function(t){e[t]&&(i[t]=e[t])})),this._request.get(r,f.API_V1,i).then((function(e){var r=i.Ordering,n=(0,u.default)(i,S),a=r?"NextToken":"AfterSid";return new g.default(e.contents.map((function(e){return new p.default(e)})),(function(e){return t._getTaskQueuePage(b(b({},n),{},(0,o.default)({Ordering:r},a,e)))}),r?e.meta.next_token:e.after_sid)}))}},{key:"_insertTaskQueue",value:function(e){var t=e.sid;this._log.trace("_insertTaskQueue(sid=%s, data=%s",t,JSON.stringify(e));try{this._TaskQueues.set(t,new _.default(e))}catch(e){this._log.error("Unable to create a TaskQueue for sid=%s. Skipping insert into TaskQueue map. Error: %s",t,e)}}}]),e}();t.default=I},9097:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(7480),u=r(3410),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate ActivityDescriptor. <Descriptor>descriptor is required.");if(!s.ActivityProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate ActivityDescriptor. <Descriptor>descriptor does not contain all properties of an Activity.");this.accountSid=t.account_sid,this.available=t.available,this.dateCreated=(0,u.parseTime)(1e3*t.date_created),this.dateUpdated=(0,u.parseTime)(1e3*t.date_updated),this.name=t.friendly_name,this.sid=t.sid,this.workspaceSid=t.workspace_sid}));t.default=c},3171:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(9293)),a=i(r(8765)),o=i(r(7537)),s=i(r(7047)),u=i(r(8759)),c=i(r(9368)),d=i(r(5795)),l=r(3410),f=r(9222),h=i(r(2903)),p=i(r(3119)),v=r(568),_=(0,a.default)((function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if((0,o.default)(this,e),!(0,d.default)(t))throw new TypeError("Failed to instantiate ReservationDescriptor. <Descriptor>descriptor is required.");if(!(0,d.default)(r))throw new TypeError("Failed to instantiate ReservationDescriptor. <Worker>worker is required.");var a=(0,c.default)(f.ReservationProperties,(function(e){return-1===i.indexOf(e)}));if(!(0,u.default)(a,(function(e){return e in t}))){var _=(0,s.default)(a,Object.keys(t)).join(", ");throw new TypeError("Failed to instantiate ReservationDescriptor. <Descriptor>descriptor does not contain all properties of a Reservation. Missing: ".concat(_))}this.accountSid=t.account_sid,this.dateCreated=(0,l.parseTime)(1e3*t.date_created),this.dateUpdated=(0,l.parseTime)(1e3*t.date_updated),this.sid=t.sid,this.status=t.reservation_status,this.timeout=t.reservation_timeout,this.workerSid=t.worker_sid,this.workspaceSid=t.workspace_sid,this.taskDescriptor=null,this.transferDescriptor=null,this.version=String(t.version),t.canceled_reason_code&&(this.canceledReasonCode=t.canceled_reason_code);var g=r.getLogger("ReservationDescriptor-".concat(this.sid));if(-1===i.indexOf("task"))try{this.taskDescriptor=new h.default(t.task)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'task' property is malformed."),e}if(-1===i.indexOf(v.transferFields.taskTransfer)&&"object"===(0,n.default)(t.task_transfer))try{this.taskDescriptor.incomingTransferDescriptor=new p.default(t.task_transfer),this.transferDescriptor=new p.default(t.task_transfer)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'task_transfer' property is malformed."),e}if(-1===i.indexOf(v.transferFields.activeOutgoingTaskTransfer)&&"object"===(0,n.default)(t.active_outgoing_task_transfer))try{this.taskDescriptor.outgoingTransferDescriptor=new p.default(t.active_outgoing_task_transfer)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'active_outgoing_task_transfer' property is malformed."),e}}));t.default=_},2903:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(9655),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TaskDescriptor. <Descriptor>descriptor is required.");if(!u.TaskProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TaskDescriptor. <Descriptor>descriptor does not contain all properties of a Task.");this.addOns=JSON.parse(t.addons),this.age=t.age,this.attributes=JSON.parse(t.attributes),this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.priority=t.priority,this.queueName=t.queue_name,this.queueSid=t.queue_sid,this.reason=t.reason,this.routingTarget=t.routing_target,this.sid=t.sid,this.status=t.assignment_status,this.taskChannelUniqueName=t.task_channel_unique_name,this.taskChannelSid=t.task_channel_sid,this.timeout=t.timeout,this.workflowName=t.workflow_name,this.workflowSid=t.workflow_sid,this.incomingTransferDescriptor=null,this.outgoingTransferDescriptor=null,this.version=String(t.version),this.virtualStartTime=(0,s.parseTime)(1e3*t.virtual_start_time)}));t.default=c},7531:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(5058),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TaskQueueDescriptor. <Descriptor>descriptor is required.");if(!u.TaskQueueProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TaskQueueDescriptor. <Descriptor>descriptor does not contain all properties of a TaskQueue.");this.sid=t.sid,this.queueSid=t.sid,this.accountSid=t.account_sid,this.workspaceSid=t.workspace_sid,this.name=t.friendly_name,this.queueName=t.friendly_name,this.assignmentActivityName=t.assignment_activity_name,this.reservationActivityName=t.reservation_activity_name,this.assignmentActivitySid=t.assignment_activity_sid,this.reservationActivitySid=t.reservation_activity_sid,this.targetWorkers=t.target_workers,this.maxReservedWorkers=t.max_reserved_workers,this.taskOrder=t.task_order,this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated)}));t.default=c},3119:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(2381),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TransferDescriptor. <Descriptor>descriptor is required.");if(!u.TransferProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TransferDescriptor. <Descriptor>descriptor does not contain all properties of a Transfer.");this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.mode=t.transfer_mode,this.queueSid=t.initiating_queue_sid,this.reservationSid=t.initiating_reservation_sid,this.to=t.transfer_to,this.transferFailedReason=t.transfer_failed_reason,this.type=t.transfer_type,this.sid=t.sid,this.status=t.transfer_status,this.workerSid=t.initiating_worker_sid,this.workflowSid=t.initiating_workflow_sid}));t.default=c},7467:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(803),u=r(3410),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate WorkerChannelDescriptor. <Descriptor>descriptor is required.");if(!s.ChannelProperties.every((function(e){return e in t})))throw new TypeError("Failed to create a WorkerChannelDescriptor. <Descriptor>descriptor does not contain all properties of a Channel.");this.accountSid=t.account_sid,this.assignedTasks=t.assigned_tasks,this.available=!!t.available,this.availableCapacityPercentage=t.available_capacity_percentage,this.capacity=t.configured_capacity,this.dateCreated=(0,u.parseTime)(1e3*t.date_created),this.dateUpdated=(0,u.parseTime)(1e3*t.date_updated),this.lastReservedTime=(0,u.parseTime)(t.last_reserved_time),this.sid=t.sid,this.taskChannelSid=t.task_channel_sid,this.taskChannelUniqueName=t.task_channel_unique_name,this.workerSid=t.worker_sid,this.workspaceSid=t.workspace_sid}));t.default=c},2129:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(4981),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to create a WorkerDescriptor. <Descriptor>descriptor is a required parameter.");if(!u.WorkerProperties.every((function(e){return e in t})))throw new TypeError("Failed to create a WorkerDescriptor. The provided <Descriptor>descriptor does not contain all properties of a Worker.");this.accountSid=t.account_sid,this.activityName=t.activity_name,this.activitySid=t.activity_sid,this.attributes=JSON.parse(t.attributes),this.available=t.available,this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateStatusChanged=(0,s.parseTime)(1e3*t.date_status_changed),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.name=t.friendly_name,this.sid=t.sid,this.workspaceSid=t.workspace_sid,this.version=String(t.version),this.workerSid=t.sid,this.workerActivitySid=t.activity_sid,this.dateActivityChanged=(0,s.parseTime)(1e3*t.date_status_changed),this.friendlyName=t.friendly_name}));t.default=c},4634:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6427)),s=r(568),u=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.default)(this,e),this._worker=t,this._logLevel=r.logLevel||"error",this._log=new o.default("WorkerEventHandler",this._logLevel)}return(0,a.default)(e,[{key:"getTREventsToHandlerMapping",value:function(){return{"worker.activity.update":"_workerActivityUpdateHandler","worker.attributes.update":"_workerAttributesUpdateHandler","worker.capacity.update":"_workerCapacityUpdateHandler","worker.channel.availability.update":"_workerChannelAvailabilityUpdateHandler","reservation.created":"_reservationCreatedHandler","reservation.failed":"_reservationFailedHandler","reservation.accepted":"_reservationUpdateHandler","reservation.wrapup":"_reservationUpdateHandler","reservation.completed":"_reservationCleanupEventsHandler","reservation.rejected":"_reservationCleanupEventsHandler","reservation.timeout":"_reservationCleanupEventsHandler","reservation.canceled":"_reservationCleanupEventsHandler","reservation.rescinded":"_reservationCleanupEventsHandler","task.updated":"_taskTypeEventHandler","task.canceled":"_taskTypeEventHandler","task.completed":"_taskTypeEventHandler","task.wrapup":"_taskTypeEventHandler","task.transfer-attempt-failed":"_transferTaskEventHandler","task.transfer-completed":"_transferTaskEventHandler","task.transfer-failed":"_transferTaskEventHandler","task.transfer-initiated":"_transferTaskEventHandler","task.transfer-canceled":"_transferTaskEventHandler"}}},{key:"_workerActivityUpdateHandler",value:function(e){if(this._log.info("Worker %s received Event: worker.activity.update. Proceeding to update ...",this._worker.sid),!e.activity_sid)throw this._log.error("Event: worker.activity.update did not contain an activity_sid. Unable to update Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," activity."));var t=this._worker.activities.get(e.activity_sid);if(!t)throw this._log.error("The Activity sid=%s specified in Event: worker.activity.update does not exist in the Worker's map of Activities. Unable to update Worker %s activity.",e.activity_sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," activity."));this._worker.activity._isCurrent=!1,this._worker.activity=t,t._isCurrent=!0,this._worker.emit("activityUpdated",this._worker._update(e))}},{key:"_workerAttributesUpdateHandler",value:function(e){this._log.info("Worker ".concat(this._worker.sid," received Event: worker.attributes.update. Proceeding to update ...")),this._worker.emit("attributesUpdated",this._worker._update(e))}},{key:"_workerCapacityUpdateHandler",value:function(e){if(this._log.info("Worker ".concat(this._worker.sid," received Event: worker.capacity.update.")),this._worker._bumpVersion(),!e.sid)throw this._log.error("Event: worker.capacity.update did not contain a Channel sid. Unable to update Channel for Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));var t=this._worker.channels.get(e.sid);if(!t)throw this._log.error("The Channel sid=%s specified in Event: worker.capacity.update does not exist in the Worker's map of Channels. Unable to update Worker %s channel.",e.sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));t._emitEvent("capacityUpdated",e)}},{key:"_workerChannelAvailabilityUpdateHandler",value:function(e){if(this._log.info("Worker %s received Event: worker.channel.availability.update.",this._worker.sid),this._worker._bumpVersion(),!e.sid)throw this._log.error("Event: worker.capacity.update did not contain a Channel sid. Unable to update Channel for Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));var t=this._worker.channels.get(e.sid);if(!t)throw this._log.error("The Channel sid=%s specified in Event: worker.channel.availability.update does not exist in the Worker's map of Channels. Unable to update Worker %s channel.",e.sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));t._emitEvent("availabilityUpdated",e)}},{key:"_reservationCreatedHandler",value:function(e){if(this._log.info("Worker %s received Event: reservation.created.",this._worker.sid),!e.sid)throw this._log.error("Event: reservationCreated did not contain a Reservation sid. Unable to create a Reservation for Worker %s.",this._worker.sid),new Error("Failed to create Reservation for Worker ".concat(this._worker.sid,"."));try{this._log.info("Attempting to create and insert Reservation into Worker %s reservations map.",this._worker.sid);var t=this._worker._dataServices.reservationsEntity.insert(e);this._worker._bumpVersion(),this._worker.emit("reservationCreated",t)}catch(t){throw this._log.info("Failed to create and insert Reservation into Worker %s reservations map.",this._worker.sid),new Error("Failed to create a Reservation for Worker ".concat(this._worker.sid," on Event: reservationCreated ").concat(e,". Error: ").concat(t))}}},{key:"_reservationFailedHandler",value:function(e){this._log.info("Worker %s received Event: reservation.failed.",this._worker.sid),this._worker.emit("reservationFailed",e)}},{key:"_reservationUpdateHandler",value:function(e,t){var r=s.reservationToSDKEventsMapping[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: reservation.".concat(r," did not contain a Reservation sid. Unable to update Reservation for Worker ").concat(this._worker.sid)),new Error("Failed to update Reservation for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.sid);if(!i)throw this._log.error("The Resevation sid=".concat(e.sid," specified in Event: reservation.").concat(r," does not exist in the Worker's map of Reservations. Unable to update Worker ").concat(this._worker.sid," reservation.")),new Error("Failed to update Worker ".concat(this._worker.sid," reservation."));i._emitEvent(r,e)}},{key:"_reservationCleanupEventsHandler",value:function(e,t){var r=s.reservationToSDKEventsMapping[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: reservation.%s did not contain a Reservation sid. Unable to update Reservation for Worker %s.",r,this._worker.sid),new Error("Failed to update Reservation for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.sid);i?(this._worker._dataServices.reservationsEntity._deleteByReservationSid(e.sid),i._emitEvent(r,e)):this._log.warn("The reservation specified by Event: reservation.%s does not exist in Worker %s Reservations map. Skipping event.",r,this._worker.sid)}},{key:"_taskTypeEventHandler",value:function(e,t){var r=s.taskEventTypes[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: task.%s did not contain a Task sid. Unable to emit event for Worker %s.",r,this._worker.sid),new Error("Failed to emit event for Worker ".concat(this._worker.sid,"."));var i=this._worker._dataServices.reservationsEntity.getTasks(e.sid);i&&i.length>0?i.forEach((function(t){t._update(e),t._emitEvent(r,e)})):this._log.warn("The task specified by Event: task.%s does not exist in Worker %s Reservations map. Skipping event.",r,this._worker.sid)}},{key:"_transferTaskEventHandler",value:function(e,t){var r=s.taskTransferEventEmitterMapping[t];if(this._log.info("Worker %s received Event: % mapped to %s.",this._worker.sid,t,r),!e.initiating_reservation_sid||!e.task_sid)throw this._log.error("Event: task.%s did not contain a Reservation sid or Task sid. Unable to emit event for Worker %s.",r,this._worker.sid),new Error("Failed to emit event for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.initiating_reservation_sid);i?i.task.sid===e.task_sid?i.task._emitEventForOutgoingTransfer(r,e):this._log.warn("The task %s related to Event: task.%s does not match the expected owning Reservation %s for Worker %s. Skipping event.",e.task_sid,r,i.sid,this._worker.sid):this._log.warn("The reservation %s related to Event: task.%s does not exist in Worker %s Reservations map. Skipping event.",e.initiating_reservation_sid,r,this._worker.sid)}}]),e}();t.default=u},3130:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(7537)),o=i(r(8765)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(2327)),l=i(r(9699)),f=i(r(6069)),h=r(568),p=r(1239),v=r(7677),_=i(r(4981)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=k(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(4147));function k(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(k=function(e){return e?r:t})(e)}function E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var w=global.window||global,T=w.WebSocket?w.WebSocket:r(5352),y=g.version,S=function(e){(0,s.default)(r,e);var t=E(r);function r(e){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,a.default)(this,r),i=t.call(this),!(e&&e instanceof _.default))throw h.twilioErrors.INVALID_ARGUMENT.clone("<Worker>worker is a required parameter to construct EventBridgeSignaling.");var o=e.getLogger("EventBridgeSignaling-".concat(e.sid));if(!(0,f.default)(n.closeExistingSessions)&&!(0,d.default)(n.closeExistingSessions))throw new TypeError("Invalid type passed for <boolean>closeExistingSessions");return i._heartbeat=null,i.webSocket=null,i._log=o,i._worker=e,i.closeExistingSessions=n.closeExistingSessions||!1,i.setWorkerOfflineIfDisconnected=n.setWorkerOfflineIfDisconnected,i._config=e._config,i.reconnect=!1,i.tokenTimer=null,i.setUpWebSocket(),i}return(0,o.default)(r,[{key:"updateToken",value:function(e){if(!e)throw h.twilioErrors.INVALID_ARGUMENT.clone("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this.setTokenExpirationEvent(),this._log.info("Updated token for Worker "+this._worker.sid),this.reconnect=!0,this.webSocket.readyState!==this.webSocket.CLOSING&&this.webSocket.readyState!==this.webSocket.CLOSED||this.createWebSocket()}},{key:"setTokenExpirationEvent",value:function(){var e=this;this._log.debug("setTokenExpirationEvent with lifetime:",this.tokenLifetime),clearTimeout(this.tokenTimer),this.tokenTimer=setTimeout((function(){e.reconnect=!1,e.emit("tokenExpired"),e._log.debug("emitted tokenExpired event")}),this.tokenLifetime-5e3)}},{key:"setUpWebSocket",value:function(){this._heartbeat&&(this._heartbeat.onsleep=function(){}),this._heartbeat=new v.Heartbeat({interval:30}),this.createWebSocket()}},{key:"setLifetime",value:function(e){this.tokenLifetime=e,this.setTokenExpirationEvent()}},{key:"createWebSocket",value:function(){var e=this;this.numAttempts=1,this.reconnect=!0,this._log.debug("createWebSocket called");var t="?".concat(h.EB_URL_PARAMS.TOKEN,"=").concat(this._config.token,"&").concat(h.EB_URL_PARAMS.CLOSE_EXISTING_SESSIONS,"=").concat(this.closeExistingSessions,"&").concat(h.EB_URL_PARAMS.CLIENT_VERSION,"=").concat(y);void 0!==this.setWorkerOfflineIfDisconnected&&(t=t.concat("&".concat(h.EB_URL_PARAMS.SET_WORKER_OFFLINE_IF_DISCONNECTED,"=").concat(this.setWorkerOfflineIfDisconnected))),this._log.debug("Websocket Connection URL",this._config.WS_SERVER+t),this.webSocket=new T(this._config.WS_SERVER+t),this._log.debug("New websocket created"),this._isReconnecting=!1,this.webSocket.onopen=function(){e.numAttempts=1,e.emit("connected"),e._heartbeat.onsleep=function(){e._log.info("Heartbeat not received in the past 30 seconds. Proceeding to close the websocket."),e.emit("disconnected",{message:"Connection lost"}),e._log.debug("Emitted disconnect event."),e._removeEventHandlers(),e.webSocket.close(),e._log.debug("WebSocket connection has been lost. Trying to reconnect..."),e._reconnectWebSocket()},e._heartbeat.beat()},this.webSocket.onmessage=function(t){if(e._log.debug("Received event",t.data),e._heartbeat.beat(),0!==t.data.trim().length){var r;try{r=JSON.parse(t.data)}catch(r){return e._log.error("Received data is not valid JSON: "+t.data),void e.emit("error",h.twilioErrors.INVALID_GATEWAY_MESSAGE)}e._log.debug("Emitting event: %s with %s",r.event_type,JSON.stringify(r.payload)),e.emit(r.event_type,r.payload||null,r.event_type)}},this.webSocket.onerror=function(t){e._log.error("WebSocket error occurred: ",t),e.emit("error",h.twilioErrors.GATEWAY_CONNECTION_FAILED)},this.webSocket.onclose=function(t){e._log.info("WebSocket received onclose event with code",t.code);var r=t.reason,i=t.code;(0,l.default)(r)&&(r="Websocket closed with errorCode=".concat(i)),e.emit("disconnected",{message:r}),e._heartbeat.onsleep=function(){},e._isReconnecting?e._log.info("WebSocket connection has closed. Already trying to reconnect..."):e.reconnect?(e._log.info("WebSocket connection has closed. Trying to reconnect..."),e._reconnectWebSocket()):e._log.info("WebSocket connection has closed. Not reconnecting due to token expiration.")}}},{key:"_reconnectWebSocket",value:function(){var e=this;this._log.debug("_reconnectWebSocket was called"),this._isReconnecting=!0,this._removeEventHandlers(),this._heartbeat.onsleep=function(){};var t=this.generateBackOffInterval(this.numAttempts);setTimeout((function(){e.reconnect?(e.numAttempts++,e.createWebSocket()):e._log.info("Not reconnecting anymore, because the reconnect flag is false")}),t)}},{key:"_removeEventHandlers",value:function(){var e=this;null!==this.webSocket&&(this._log.debug("Removing event handlers for websocket"),["onmessage","onclose","onopen","onerror"].forEach((function(t){e.webSocket[t]=null})))}},{key:"generateBackOffInterval",value:function(e){var t=Math.ceil(800),r=Math.floor(1e3*Math.min(30,Math.pow(2,e)-1));return Math.round(Math.floor(Math.random()*(r-t+1))+t)}},{key:"disconnect",value:function(){var e=this;this._log.info("Disconnecting websocket"),this.reconnect=!1,null!==this.webSocket&&(["onmessage","onclose","onopen","onerror"].forEach((function(t){e.webSocket[t]=null})),this._heartbeat.onsleep=function(){},this.webSocket.close()),this.emit("disconnected",{message:"SDK Disconnect"})}}]),r}(p.EventEmitter);t.default=S},7681:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=r(568);function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var d=function(){function e(){(0,a.default)(this,e),this.routes={}}return(0,o.default)(e,[{key:"getRoute",value:function(e){if(!this.routes[e])throw s.twilioErrors.INVALID_ARGUMENT.clone('Invalid route fetched <string>route "'.concat(e,'" does not exist.'));for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(r.length){var a=(0,n.default)({},this.routes[e]);if(r.length!==(a.path.match(/%s/g)||[]).length)throw s.twilioErrors.INVALID_ARGUMENT.clone("Invalid number of positional arguments supplied for route ".concat(e));var o,c=u(r);try{for(c.s();!(o=c.n()).done;){var d=o.value;a.path=a.path.replace(/%s/,d)}}catch(e){c.e(e)}finally{c.f()}return a}return this.routes[e]}}]),e}();t.default=d},1910:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6427)),s=i(r(7026)),u=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,n.default)(this,e),!(0,s.default)(t))throw new TypeError("Failed to initialize Configuration. <string>token is a required parameter.");if(this.logIdentifier=r.logIdentifier||+new Date,this._logLevel=r.logLevel,this._log=new o.default("Configuration-".concat(this.logIdentifier),this._logLevel),this.token=t,this.EB_SERVER=r.ebServer,this.WS_SERVER=r.wsServer,this.enableVersionCheck=r.enableVersionCheck,r.ebServer||r.wsServer)return this._log.warn('"ebServer" and "wsServer" parameter will be removed in next major version. You may start using "region" and "edge".');var i="";r.region&&"us1"!==r.region&&(i+=".".concat(r.region)),this.EB_SERVER="https://event-bridge".concat(i,".twilio.com/v1/wschannels"),this.WS_SERVER="wss://event-bridge".concat(i,".twilio.com/v1/wschannels")}return(0,a.default)(e,[{key:"updateToken",value:function(e){if(!(0,s.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this.token=e}},{key:"getLogIdentifier",value:function(){return this.logIdentifier}}]),e}();t.default=u},568:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.twilioErrors=t.transferFields=t.taskTransferEventTypes=t.taskTransferEventEmitterMapping=t.taskEventTypes=t.reservationToSDKEventsMapping=t.reservationEventTypes=t.WORKER_UPDATE_OPTIONS=t.TRANSFER_STATUS=t.TRANSFER_INITIATED=t.TASK_STATUS_WRAPPING=t.TASK_STATUS_COMPLETED=t.RESERVATION_STATUS_WRAPPING=t.RESERVATION_STATUS_REJECTED=t.RESERVATION_STATUS_COMPLETED=t.RESERVATION_STATUS_ACCEPTED=t.RESERVATION_REJECT_OPTIONS=t.RESERVATION_REDIRECT_OPTIONS=t.RESERVATION_INSTRUCTION_REDIRECT=t.RESERVATION_INSTRUCTION_DEQUEUE=t.RESERVATION_INSTRUCTION_CONFERENCE=t.RESERVATION_INSTRUCTION_CALL=t.RESERVATION_DEQUEUE_OPTIONS=t.RESERVATION_CALL_OPTIONS=t.EB_URL_PARAMS=t.DEFAULT_PAGE_SIZE=t.DEFAULT_MAX_WORKERS=t.DEFAULT_HTTP_TIMEOUT=t.CREATE_TASK_OPTIONS=t.API_V2=t.API_V1=void 0;t.RESERVATION_STATUS_ACCEPTED="accepted";t.RESERVATION_STATUS_COMPLETED="completed";t.RESERVATION_STATUS_REJECTED="rejected";t.RESERVATION_STATUS_WRAPPING="wrapping";t.RESERVATION_INSTRUCTION_CALL="call";t.RESERVATION_INSTRUCTION_DEQUEUE="dequeue";t.RESERVATION_INSTRUCTION_REDIRECT="redirect";t.RESERVATION_INSTRUCTION_CONFERENCE="conference";var i=Object.freeze({canceled:"canceled",complete:"complete",failed:"failed",initiated:"initiated"});t.TRANSFER_STATUS=i;var n={activitySid:"WorkerActivitySid"};t.RESERVATION_REJECT_OPTIONS=n,Object.freeze(n);var a={rejectPendingReservations:"RejectPendingReservations"};t.WORKER_UPDATE_OPTIONS=a,Object.freeze(a);var o={accept:"CallAccept",record:"CallRecord",statusCallbackUrl:"CallStatusCallbackUrl",timeout:"CallTimeout",to:"CallTo"};t.RESERVATION_CALL_OPTIONS=o,Object.freeze(o);var s={to:"DequeueTo",from:"DequeueFrom",postWorkActivitySid:"DequeuePostWorkActivitySid",record:"DequeueRecord",timeout:"DequeueTimeout",statusCallbackUrl:"DequeueStatusCallbackUrl",statusCallbackEvents:"DequeueStatusCallbackEvents"};t.RESERVATION_DEQUEUE_OPTIONS=s,Object.freeze(s);var u={accept:"RedirectAccept"};t.RESERVATION_REDIRECT_OPTIONS=u,Object.freeze(u);t.CREATE_TASK_OPTIONS={taskChannelUniqueName:"TaskChannelUniqueName",taskChannelSid:"TaskChannelSid",attributes:"Attributes"};t.TASK_STATUS_COMPLETED="completed";t.TASK_STATUS_WRAPPING="wrapping";var c={accepted:0,rejected:1,timeout:2,canceled:3,rescinded:4,completed:5,wrapup:6};t.reservationEventTypes=c,Object.freeze(c);var d={"task.updated":"updated","task.canceled":"canceled","task.completed":"completed","task.wrapup":"wrapup"};t.taskEventTypes=d,Object.freeze(d);var l={"reservation.completed":"completed","reservation.rejected":"rejected","reservation.timeout":"timeout","reservation.canceled":"canceled","reservation.rescinded":"rescinded","reservation.accepted":"accepted","reservation.wrapup":"wrapup"};t.reservationToSDKEventsMapping=l,Object.freeze(l);var f=Object.freeze({taskTransfer:"task_transfer",activeOutgoingTaskTransfer:"active_outgoing_task_transfer"});t.transferFields=f;t.TRANSFER_INITIATED="transfer-initiated";var h={"transfer-attempt-failed":"attemptFailed","transfer-completed":"completed","transfer-failed":"failed","transfer-initiated":"transferInitiated","transfer-canceled":"canceled"};t.taskTransferEventTypes=h,Object.freeze(h);var p={"task.transfer-attempt-failed":"transfer-attempt-failed","task.transfer-completed":"transfer-completed","task.transfer-failed":"transfer-failed","task.transfer-initiated":"transfer-initiated","task.transfer-canceled":"transfer-canceled"};t.taskTransferEventEmitterMapping=p,Object.freeze(p);t.API_V1="v1";t.API_V2="v2";t.DEFAULT_PAGE_SIZE=1e3;t.DEFAULT_MAX_WORKERS=1e3;t.DEFAULT_HTTP_TIMEOUT=15e3;t.EB_URL_PARAMS={TOKEN:"token",CLOSE_EXISTING_SESSIONS:"closeExistingSessions",CLIENT_VERSION:"clientVersion",SET_WORKER_OFFLINE_IF_DISCONNECTED:"setWorkerOfflineIfDisconnected"};var v=r(5600),_=[{name:"INVALID_ARGUMENT",message:"One or more arguments passed were invalid."},{name:"INVALID_TOKEN",message:"The token is invalid or malformed."},{name:"TOKEN_EXPIRED",message:"Worker's active token has expired."},{name:"GATEWAY_CONNECTION_FAILED",message:"Could not connect to Twilio's servers."},{name:"GATEWAY_DISCONNECTED",message:"Connection to Twilio's servers was lost."},{name:"INVALID_GATEWAY_MESSAGE",message:"The JSON message received was malformed."},{name:"TASKROUTER_ERROR",message:"TaskRouter failed to complete the request."},{name:"REQUEST_INVALID",message:"The provided request is invalid."},{name:"NETWORK_ERROR",message:"No response from the server."},{name:"SERVER_ERROR",message:"Server has experienced an issue performing the request."},{name:"UNKNOWN_ERROR",message:"An unknown error has occurred."}].reduce((function(e,t){return e[t.name]=new v(t),e}),{});t.twilioErrors=_},7677:(e,t)=>{function r(e){if(!(this instanceof r))return new r(e);e=e||{};var t=function(){},i={interval:10,now:function(){return(new Date).getTime()},repeat:function(e,t){return setInterval(e,t)},stop:function(e,t){return clearInterval(e,t)},onsleep:t,onwakeup:t};for(var n in i)n in e||(e[n]=i[n]);this.interval=e.interval,this.lastbeat=0,this.pintvl=null,this.onsleep=e.onsleep,this.onwakeup=e.onwakeup,this.repeat=e.repeat,this.stop=e.stop,this.now=e.now}r.toString=function(){return"[Twilio.Heartbeat class]"},r.prototype.toString=function(){return"[Twilio.Heartbeat instance]"},r.prototype.beat=function(){if(this.lastbeat=this.now(),this.sleeping()){this.onwakeup&&this.onwakeup();var e=this;this.pintvl=this.repeat.call(null,(function(){e.check()}),1e3*this.interval)}},r.prototype.check=function(){var e=this.now()-this.lastbeat;!this.sleeping()&&e>=1e3*this.interval&&(this.onsleep&&this.onsleep(),this.stop.call(null,this.pintvl),this.pintvl=null)},r.prototype.sleeping=function(){return null===this.pintvl},t.Heartbeat=r},6427:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=r(568).twilioErrors,s=r(6622),u=["trace","debug","info","warn","error","silent"],c=function(){function e(t,r){if((0,n.default)(this,e),!t)throw o.INVALID_ARGUMENT.clone("Error instantiating Logger. <string>moduleName is a required parameter.");this._log=s.getLogger(t),u.forEach(function(e){var t=this;this[e]=function(){for(var r,i=arguments.length,n=new Array(i),a=0;a<i;a++)n[a]=arguments[a];return(r=t._log)[e].apply(r,[t._getTimestamp()].concat(n))}}.bind(this)),r&&this.setLevel(r)}return(0,a.default)(e,[{key:"setLevel",value:function(e){if(-1===u.indexOf(e))throw o.INVALID_ARGUMENT.clone("Error setting Logger level. <string>level must be one of ['trace', 'debug', 'info', 'warn', 'error', 'silent']");this._log.setLevel(e,!1),this._log.setDefaultLevel(e)}},{key:"getLevel",value:function(){return u[this._log.getLevel()]}},{key:"_getTimestamp",value:function(){return"[".concat((new Date).toISOString(),"]")}}]),e}();t.default=c},7136:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=r(568).twilioErrors,s=function(){function e(t,r,i){if((0,n.default)(this,e),!t)throw o.INVALID_ARGUMENT.clone("Error instantiating Paginator. <Array>items is a required parameter.");if(!r)throw o.INVALID_ARGUMENT.clone("Error instantiating Paginator. <Function>source is a required parameter.");this._nextToken=i,this._source=r,this.hasNextPage=!!this._nextToken,this.items=t}return(0,a.default)(e,[{key:"nextPage",value:function(){return this.hasNextPage?this._source(this._nextToken):Promise.reject(o.TASKROUTER_ERROR.clone("Error getting the next page. No next page exists."))}}]),e}();t.default=s},2732:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(8213)),o=i(r(7537)),s=i(r(8765)),u=i(r(5795)),c=i(r(2167)),d=_(r(5687)),l=i(r(1910)),f=i(r(6427)),h=r(568),p=_(r(4147));function v(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(v=function(e){return e?r:t})(e)}function _(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=v(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}return i.default=e,r&&r.set(e,i),i}var g={GET:"GET",POST:"POST"};Object.freeze(g);var k=p.version,E=function(){function e(t){if((0,o.default)(this,e),!(t instanceof l.default))throw new TypeError("Failed to initialize Request. <Configuration>config is a required parameter.");var r=new d.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2"});this._config=t,this._postClient=c.default.create({method:g.POST,timeout:h.DEFAULT_HTTP_TIMEOUT,headers:{clientVersion:k},httpsAgent:r}),this._log=new f.default("Request-".concat(this._config.getLogIdentifier()),this._config._logLevel)}return(0,s.default)(e,[{key:"post",value:function(e,t,r,i){var n=this;if(!e)throw new Error("Failed to make POST request. <string>url is a required parameter.");if(!(0,u.default)(t))throw new Error("Failed to make POST request. <object>paramsJSON is a required parameter.");if(!r)throw new Error("Failed to make POST request. <string>apiVersion is a required parameter.");var o=this.buildRequest(g.POST,e,t),s={apiVersion:r};return this._config.enableVersionCheck&&i&&(s=(0,a.default)(s,{"If-Match":i})),this._postClient.post(this._config.EB_SERVER,o,{headers:s}).then((function(e){return Promise.resolve(e.data.payload)})).catch((function(e){n.handleError(e)}))}},{key:"get",value:function(e,t,r){var i=this;if(!e)throw new Error("Failed to make GET request. <string>url is a required parameter.");if(!t)throw new Error("Failed to make GET request. <string>apiVersion is a required parameter.");if(r=r||{},!(0,u.default)(r))throw new Error("Failed to make GET request. <object>paramsJSON is a required parameter.");var n=this.buildRequest(g.GET,e,r);return this._postClient.post(this._config.EB_SERVER,n,{headers:{apiVersion:t}}).then((function(e){return Promise.resolve(e.data.payload)})).catch((function(e){i.handleError(e)}))}},{key:"buildRequest",value:function(e,t,r){return JSON.stringify({url:t,method:e,params:r,token:this._config.token})}},{key:"handleError",value:function(e){if(e.response){if(e.response.status<500)throw this._log.error("Request failed with ",e.response.status,e.response.data.message),h.twilioErrors.REQUEST_INVALID.clone("Request failed with status code ".concat(e.response.status,". ").concat(e.response.data.message));throw this._log.error("Server Error:",e.response.status,e.response.data.message),h.twilioErrors.SERVER_ERROR.clone("Server responded with status code ".concat(e.response.status,". ").concat(e.response.data.message))}throw e.request?(this._log.error("Network Error:",e.message),h.twilioErrors.NETWORK_ERROR.clone("Network error has occurred. ".concat(e.message))):(this._log.error("Error:",e.message),h.twilioErrors.UNKNOWN_ERROR.clone("Error: ".concat(e.message)))}}]),e}();t.default=E},2063:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6116)),s=i(r(8640)),u=i(r(6427));function c(e,t){l(e,t),t.add(e)}function d(e,t,r){l(e,t),t.set(e,r)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function f(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var h=new WeakMap,p=new WeakMap,v=new WeakSet,_=new WeakSet,g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:800,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3e3;(0,n.default)(this,e),c(this,_),c(this,v),d(this,h,{writable:!0,value:void 0}),d(this,p,{writable:!0,value:void 0}),f(this,v,k).call(this,t)&&(0,s.default)(this,h,t),f(this,v,k).call(this,r)&&(0,s.default)(this,p,r),this._log=new u.default("RetryUtil")}return(0,a.default)(e,[{key:"generateBackoffInterval",value:function(e){f(this,v,k).call(this,e)||(this._log.warn("Interval count should be a positive finite number. Resetting retryCount to 1, Current value:"+e),e=1);var t=Math.max((0,o.default)(this,h),(0,o.default)(this,h)*(Math.pow(2,e)-1)/2);return Math.min(Math.max((0,o.default)(this,h),t),(0,o.default)(this,p))+f(this,_,E).call(this)}},{key:"whenReady",value:function(e){var t=this;return new Promise((function(r){var i=t.generateBackoffInterval(e);return setTimeout((function(){return r(i)}),i)}))}}]),e}();function k(e){return Number.isFinite(e)&&e>0}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return Math.ceil(Math.random()*e)}t.default=g},6997:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WORKER_PARTICIPANT_INSTANCE=t.WORKER_INSTANCE=t.WORKER_CHANNELS=t.TASK_TRANSFER_LIST=t.TASK_TRANSFER_INSTANCE=t.TASK_RESERVATION_INSTANCE=t.TASK_LIST=t.TASK_INSTANCE=t.TARGET_WORKER_INSTANCE=t.RESERVATION_LIST=t.RESERVATION_INSTANCE=t.KICK_WORKER_PARTICIPANT=t.HOLD_WORKER_PARTICIPANT_INSTANCE=t.CUSTOMER_PARTICIPANT_INSTANCE=t.ACTIVITIES_LIST=void 0;var n=i(r(8779)),a=i(r(8765)),o=i(r(7537)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(7681)),l=i(r(1017));function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var h=r(568).twilioErrors,p="reservationList";t.RESERVATION_LIST=p;var v="reservationInstance";t.RESERVATION_INSTANCE=v;var _="workerInstance";t.WORKER_INSTANCE=_;var g="targetWorkerInstance";t.TARGET_WORKER_INSTANCE=g;var k="taskReservationInstance";t.TASK_RESERVATION_INSTANCE=k;var E="taskList";t.TASK_LIST=E;var w="taskInstance";t.TASK_INSTANCE=w;var T="taskTransferList";t.TASK_TRANSFER_LIST=T;var y="taskTransferInstance";t.TASK_TRANSFER_INSTANCE=y;var S="workerChannels";t.WORKER_CHANNELS=S;var m="activitiesList";t.ACTIVITIES_LIST=m;var R="customerParticipantInstance";t.CUSTOMER_PARTICIPANT_INSTANCE=R;var b="workerParticipantInstance";t.WORKER_PARTICIPANT_INSTANCE=b;var A="holdWorkerParticipantInstance";t.HOLD_WORKER_PARTICIPANT_INSTANCE=A;var O="kickWorkerParticipant";t.KICK_WORKER_PARTICIPANT=O;var I=function(e){(0,s.default)(r,e);var t=f(r);function r(e,i){var a,s;if((0,o.default)(this,r),s=t.call(this),!e||!i)throw h.INVALID_ARGUMENT.clone("Error instantiating Routes class. <string>workspaceSid and <string>workerSid are required parameters.");return s.workspaceSid=e,s.workerSid=i,s.routes=(a={},(0,n.default)(a,m,{path:l.default.join("Workspaces",s.workspaceSid,"Activities")}),(0,n.default)(a,_,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid)}),(0,n.default)(a,g,{path:l.default.join("Workspaces",s.workspaceSid,"Workers","%s")}),(0,n.default)(a,v,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Reservations","%s")}),(0,n.default)(a,p,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Reservations")}),(0,n.default)(a,E,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks")}),(0,n.default)(a,w,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks","%s")}),(0,n.default)(a,T,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Transfers")}),(0,n.default)(a,y,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Transfers","%s")}),(0,n.default)(a,k,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks","%s","Reservations","%s")}),(0,n.default)(a,S,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"WorkerChannels")}),(0,n.default)(a,R,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"CustomerParticipant")}),(0,n.default)(a,b,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"WorkerParticipant")}),(0,n.default)(a,A,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"HoldWorkerParticipant")}),(0,n.default)(a,O,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"KickWorkerParticipant")}),a),s}return(0,a.default)(r)}(d.default);t.default=I},3410:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getStatusCodeFromError=function(e){var t;return null==e||null===(t=e.response)||void 0===t?void 0:t.status},t.parseTime=function(e){try{return new Date(e)}catch(e){return null}},t.validateOptions=function(e,t){for(var r in e)if(r in t&&!t[r](e[r]))throw new TypeError("Option key: ".concat(r," does not meet the required type."));return!0}},5600:(e,t,r)=>{function i(e,t){Object.defineProperties(this,{_errorData:{value:e},name:{value:e.name},message:{value:t||e.message}})}(0,r(6464).inherits)(i,Error),i.prototype.clone=function(e){return new i(this._errorData,e)},e.exports=i},3739:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WORKER_LIST=t.TASKQUEUE_LIST=void 0;var n=i(r(8779)),a=i(r(8765)),o=i(r(7537)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(7681)),l=r(568),f=i(r(1017));function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var p="workerList";t.WORKER_LIST=p;var v="taskQueueList";t.TASKQUEUE_LIST=v;var _=function(e){(0,s.default)(r,e);var t=h(r);function r(e){var i,a;if((0,o.default)(this,r),a=t.call(this),!e)throw l.twilioErrors.INVALID_ARGUMENT.clone("Error instantiating WorkspaceRoutes class. <string>workspaceSid is required.");return a.workspaceSid=e,a.routes=(i={},(0,n.default)(i,p,{path:f.default.join("Workspaces",a.workspaceSid,"Workers")}),(0,n.default)(i,v,{path:f.default.join("Workspaces",a.workspaceSid,"TaskQueues")}),i),a}return(0,a.default)(r)}(d.default);t.default=_},7431:e=>{e.exports=require("@babel/runtime/helpers/assertThisInitialized")},9591:e=>{e.exports=require("@babel/runtime/helpers/asyncToGenerator")},7537:e=>{e.exports=require("@babel/runtime/helpers/classCallCheck")},6116:e=>{e.exports=require("@babel/runtime/helpers/classPrivateFieldGet")},8640:e=>{e.exports=require("@babel/runtime/helpers/classPrivateFieldSet")},8765:e=>{e.exports=require("@babel/runtime/helpers/createClass")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3761:e=>{e.exports=require("@babel/runtime/helpers/getPrototypeOf")},5370:e=>{e.exports=require("@babel/runtime/helpers/inherits")},7880:e=>{e.exports=require("@babel/runtime/helpers/interopRequireDefault")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},9548:e=>{e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},353:e=>{e.exports=require("@babel/runtime/helpers/slicedToArray")},9293:e=>{e.exports=require("@babel/runtime/helpers/typeof")},1307:e=>{e.exports=require("@babel/runtime/regenerator")},2167:e=>{e.exports=require("axios")},1239:e=>{e.exports=require("events")},5567:e=>{e.exports=require("jwt-decode")},7047:e=>{e.exports=require("lodash/difference")},8759:e=>{e.exports=require("lodash/every")},9368:e=>{e.exports=require("lodash/filter")},8274:e=>{e.exports=require("lodash/inRange")},2327:e=>{e.exports=require("lodash/isBoolean")},2297:e=>{e.exports=require("lodash/isDate")},9699:e=>{e.exports=require("lodash/isEmpty")},3498:e=>{e.exports=require("lodash/isInteger")},6069:e=>{e.exports=require("lodash/isNil")},5795:e=>{e.exports=require("lodash/isObject")},7026:e=>{e.exports=require("lodash/isString")},4159:e=>{e.exports=require("lodash/pick")},5428:e=>{e.exports=require("lodash/upperFirst")},6622:e=>{e.exports=require("loglevel")},6464:e=>{e.exports=require("util")},5352:e=>{e.exports=require("ws")},5687:e=>{e.exports=require("https")},1017:e=>{e.exports=require("path")},4147:e=>{e.exports=JSON.parse('{"name":"twilio-taskrouter","title":"Twilio TaskRouter","version":"2.0.11","description":"Twilio TaskRouter JavaScript library","homepage":"https://www.twilio.com","author":"Wanjun Li <wli@twilio.com>","contributors":["Martin Amps <martin@twilio.com>","Mehul Chopra <mchopra@twilio.com>","Alex Laird <alaird@twilio.com>"],"license":"MIT","keywords":["twilio","library","javascript","taskrouter","worker"],"files":["dist"],"main":"./dist/index.commonjs2.js","browser":"./dist/index.window.js","scripts":{"webpack":"webpack --config ./webpack.config.js --progress --mode","mocha":"mocha --require @babel/register --exit $1","clean":"rm -rf ./coverage ./dist ./node_modules","lint":"eslint ./lib ./test/integration/spec ./test/integration/index.js","test:unit":"mocha --full-trace --check-leaks --require @babel/register ./test/unit/index.js --exit","test:integration":"mocha --full-trace --check-leaks --require @babel/register -r ./test/mocha/no-unicode-reporter.js -r ./test/mocha/fetch.js ./test/integration/index.js --reporter mochawesome --reporter-options reportDir=reports,reportFilename=e2e-test-report --timeout 40000 --exit","test:integration-six-sigma":"mocha --full-trace --check-leaks --require @babel/register -r ./test/mocha/no-unicode-reporter.js -r ./test/mocha/fetch.js ./test/integration/index.js --reporter mochawesome --reporter-options reportDir=reports,reportFilename=e2e-test-report --timeout 40000 --exit -g \'@SixSigma\'","test:integration:tr:voice":"mocha --full-trace --check-leaks --require @babel/register ./test/integration/voice/index.js --timeout 40000 --exit","test:integration:voice":"mocha --full-trace --check-leaks --require @babel/register ./test/voice/index.js --timeout 40000 --exit","test:integration:media":"mocha --full-trace --check-leaks --require @babel/register ./test/media/index.js --timeout 40000 --exit","test":"yarn test:unit && yarn test:integration","build:dev":"yarn webpack development","build:prod":"yarn webpack production","build:types":"tsc && node ./scripts/types.js","prebuild":"yarn clean && yarn install","build":"yarn lint && yarn build:prod","postbuild":"yarn docs && yarn coverage","docs":"node ./scripts/docs.js ./dist/docs","coverage":"nyc --report-dir coverage --reporter lcov --reporter text-summary yarn test:unit","test:setup":"node test/integration_test_setup/IntegrationTestSetup.js","sample-app:install":"yarn --cwd sample-app install","sample-app:build":"yarn --cwd sample-app build","sample-app:start":"yarn --cwd sample-app start","sample-app:dev":"yarn --cwd sample-app dev","sample-app:lint":"yarn --cwd sample-app lint","sample-app:format":"yarn --cwd sample-app format"},"repository":{"type":"git","url":"https://github.com/twilio/twilio-taskrouter.js.git"},"dependencies":{"axios":"^1.7.4","events":"3.3.0","jwt-decode":"^3.1.2","lodash":"^4.17.21","loglevel":"^1.4.1","path-browserify":"^1.0.1","typed-emitter":"^2.1.0","util":"^0.12.4","ws":"^8.17.1"},"devDependencies":{"@babel/core":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.21.2","@babel/plugin-transform-object-assign":"^7.16.0","@babel/plugin-transform-runtime":"^7.16.4","@babel/preset-env":"^7.16.4","@babel/register":"^7.16.0","@babel/runtime":"^7.16.3","@types/express":"^4.17.7","@types/qs":"^6.9.4","async-test-tools":"^1.0.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.3","chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-datetime":"^1.4.1","cheerio":"^1.0.0-rc.10","copy-webpack-plugin":"^6.4.1","dotenv":"16.0.1","eslint":"^7.32.0","ink-docstrap":"^1.3.2","isomorphic-fetch":"^3.0.0","jsdoc":"^3.6.7","license-info-webpack-plugin":"^1.0.0","mocha":"^9.1.3","mochawesome":"^7.1.3","mock-socket":"^7.1.0","npm":"^7.24.2","nyc":"^15.1.0","sinon":"^7.5.0","sinon-chai":"^3.5.0","twilio":"^3.71.3","twilio-sync":"^2.0.1","typescript":"^4.5.5","webpack":"^5.65.0","webpack-cli":"^4.9.1","webpack-node-externals":"^3.0.0"},"resolutions":{"nyc/**/y18n":"^4.0.1"},"engines":{"node":">=12"},"types":"./dist/types.d.ts"}')}},t={};function r(i){var n=t[i];if(void 0!==n)return n.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,r),a.exports}var i={};(()=>{var e=i,t=r(7880);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Supervisor",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"TaskRouterEventHandler",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"Worker",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"Workspace",{enumerable:!0,get:function(){return o.default}});var n=t(r(7071)),a=t(r(4981)),o=t(r(9921)),s=t(r(4634))})(),module.exports=i})();
|
|
2
|
+
/*! twilio-taskrouter.js 2.0.13 */(()=>{"use strict";var e={7480:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ActivityProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(2327)),u=i(r(5795)),c=i(r(9097)),d=r(3410).validateOptions,l=function(){function e(t,r){if((0,a.default)(this,e),!(0,u.default)(t))throw new TypeError("Failed to create an Activity. <Worker>worker is a required parameter.");if(!(r instanceof c.default))throw new TypeError("Failed to create an Activity. <ActivityDescriptor>descriptor is a required parameter.");this.accountSid=r.accountSid,this.available=r.available,this.dateCreated=r.dateCreated,this.dateUpdated=r.dateUpdated,this.name=r.name,this.sid=r.sid,this.workspaceSid=r.workspaceSid,(0,n.default)(this,r),this._worker=t,this._isCurrent=!1}return(0,o.default)(e,[{key:"isCurrent",get:function(){return this._isCurrent}},{key:"setAsCurrent",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!d(t,{rejectPendingReservations:function(e){return(0,s.default)(e)}}))throw new TypeError("Failed to set activity=".concat(this.sid,". The options passed in did not match the required types."));if(t.rejectPendingReservations&&this.available)throw new Error("Unable to reject pending reservations when updating to an Available activity state.");return this._worker._updateWorkerActivity(this.sid,t).then((function(){return e}))}}]),e}();t.ActivityProperties=["account_sid","available","date_created","date_updated","friendly_name","sid","workspace_sid"];var f=l;t.default=f},803:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ChannelProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(5795)),f=i(r(7026)),h=r(1239),p=i(r(7467)),v=i(r(4981));function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var g=["capacity","available","assignedTasks","availableCapacityPercentage","dateUpdated","lastReservedTime"],k=function(e){(0,u.default)(r,e);var t=_(r);function r(e,i,o){var u;if((0,a.default)(this,r),u=t.call(this),!(e instanceof v.default))throw new TypeError("Failed to instantiate Worker. <Worker>worker is a required parameter.");if(!(o instanceof p.default))throw new TypeError("Failed to instantiate Channel. <WorkerChannelDescriptor>descriptor is a required parameter.");return u._request=i,u._log=e.getLogger("Channel-".concat(o.sid)),u.accountSid=o.accountSid,u.assignedTasks=o.assignedTasks,u.available=o.available,u.availableCapacityPercentage=o.availableCapacityPercentage,u.capacity=o.capacity,u.dateCreated=o.dateCreated,u.dateUpdated=o.dateUpdated,u.lastReservedTime=o.lastReservedTime,u.sid=o.sid,u.taskChannelSid=o.taskChannelSid,u.taskChannelUniqueName=o.taskChannelUniqueName,u.workerSid=o.workerSid,u.workspaceSid=o.workspaceSid,(0,n.default)((0,s.default)(u),o),u}return(0,o.default)(r,[{key:"_emitEvent",value:function(e,t){if(!(0,f.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,l.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>rawEventData is a required parameter.");this._update(t),this.emit(e,this)}},{key:"_update",value:function(e){var t=this;try{var r=new p.default(e);g.forEach((function(e){t[e]=r[e]}))}catch(t){this._log.warn("Failed to update Channel sid=%s. Update aborted. Error: %s.",e.sid,t)}return this}}]),r}(h.EventEmitter);t.ChannelProperties=["account_sid","assigned_tasks","available","available_capacity_percentage","configured_capacity","date_created","date_updated","last_reserved_time","sid","task_channel_sid","task_channel_unique_name","worker_sid","workspace_sid"];var E=k;t.default=E},9222:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ReservationProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(2327)),f=i(r(3498)),h=i(r(5795)),p=i(r(7026)),v=i(r(5428)),_=r(568),g=r(1239),k=i(r(3171)),E=r(6997),w=i(r(9655)),T=i(r(4364)),y=i(r(4981));function S(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var m=r(3410).validateOptions,R=["dateUpdated","canceledReasonCode","status","timeout","task","task_transfer","version"],b=["reservation_timeout","task","canceled_reason_code"],A=function(e){(0,u.default)(r,e);var t=S(r);function r(e,i,o){var u;if((0,a.default)(this,r),u=t.call(this),!(e instanceof y.default))throw new TypeError("Failed to instantiate Reservation. <Worker>worker is a required parameter.");if(!(o instanceof k.default))throw new TypeError("Failed to instantiate Reservation. <ReservationDescriptor>descriptor is a required parameter.");return u._worker=e,u._log=e.getLogger("Reservation-".concat(o.sid)),u._request=i,u.task=u._createTask(o),o.transferDescriptor&&(u.transfer=u._createTransfer(o)),u.accountSid=o.accountSid,u.dateCreated=o.dateCreated,u.dateUpdated=o.dateUpdated,u.sid=o.sid,u.status=o.status,u.timeout=o.timeout,u.workerSid=o.workerSid,u.workspaceSid=o.workspaceSid,u.version=o.version,o.canceledReasonCode&&(u.canceledReasonCode=o.canceledReasonCode),(0,n.default)((0,s.default)(u),o),delete u.taskDescriptor,delete u.transferDescriptor,u}return(0,o.default)(r,[{key:"accept",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_ACCEPTED};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"complete",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_COMPLETED};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"reject",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={ReservationStatus:_.RESERVATION_STATUS_REJECTED};if(!m(t,{activitySid:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:reject on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var n in t)i[_.RESERVATION_REJECT_OPTIONS[n]]=t[n];return this._request.post(r,i,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"wrap",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,r={ReservationStatus:_.RESERVATION_STATUS_WRAPPING};return this._request.post(t,r,_.API_V1,this.version).then((function(t){return e._update(t,b)}))}},{key:"call",value:function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,p.default)(e))throw new TypeError("Error calling method call(). <string>from is a required parameter.");if(!(0,p.default)(t))throw new TypeError("Error calling method call(). <string>url is a required parameter.");var n=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,a={Instruction:_.RESERVATION_INSTRUCTION_CALL,CallFrom:e,CallUrl:t};if(!m(i,{accept:function(e){return(0,l.default)(e)},record:function(e){return(0,p.default)(e)},statusCallbackUrl:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},to:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:call on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var o in i)a[_.RESERVATION_CALL_OPTIONS[o]]=i[o];return this._request.post(n,a,_.API_V1).then((function(e){return r._update(e,b)}))}},{key:"dequeue",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={Instruction:_.RESERVATION_INSTRUCTION_DEQUEUE};if(!m(t,{from:function(e){return(0,p.default)(e)},to:function(e){return(0,p.default)(e)},postWorkActivitySid:function(e){return(0,p.default)(e)},record:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},statusCallbackUrl:function(e){return(0,p.default)(e)},statusCallbackEvents:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:dequeue on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var n in t)i[_.RESERVATION_DEQUEUE_OPTIONS[n]]=t[n];return this._request.post(r,i,_.API_V1).then((function(t){return e._update(t,b)}))}},{key:"redirect",value:function(e,t){var r=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,p.default)(e))throw new TypeError("Error calling method redirect(). <string>callSid is a required parameter.");if(!(0,p.default)(t))throw new TypeError("Error calling method redirect(). <string>url is a required parameter.");var n=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,a={accept:function(e){return(0,l.default)(e)}},o={Instruction:_.RESERVATION_INSTRUCTION_REDIRECT,RedirectCallSid:e,RedirectUrl:t};if(!m(i,a))throw new TypeError("Failed to issue Instruction:redirect on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));for(var s in i)o[_.RESERVATION_REDIRECT_OPTIONS[s]]=i[s];return this._request.post(n,o,_.API_V1).then((function(e){return r._update(e,b)}))}},{key:"conference",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!m(t,{to:function(e){return(0,p.default)(e)},from:function(e){return(0,p.default)(e)},timeout:function(e){return(0,f.default)(e)},statusCallback:function(e){return(0,p.default)(e)},statusCallbackMethod:function(e){return(0,p.default)(e)},statusCallbackEvent:function(e){return(0,p.default)(e)},record:function(e){return(0,p.default)(e)},muted:function(e){return(0,l.default)(e)},beep:function(e){return(0,l.default)(e)||(0,p.default)(e)},startConferenceOnEnter:function(e){return(0,l.default)(e)},endConferenceOnExit:function(e){return(0,l.default)(e)},endConferenceOnCustomerExit:function(e){return(0,l.default)(e)},waitUrl:function(e){return(0,p.default)(e)},waitMethod:function(e){return(0,p.default)(e)},earlyMedia:function(e){return(0,l.default)(e)},maxParticipants:function(e){return(0,f.default)(e)},conferenceStatusCallback:function(e){return(0,p.default)(e)},conferenceStatusCallbackMethod:function(e){return(0,p.default)(e)},conferenceStatusCallbackEvent:function(e){return(0,p.default)(e)},conferenceRecord:function(e){return(0,l.default)(e)||(0,p.default)(e)},conferenceTrim:function(e){return(0,p.default)(e)},recordingChannels:function(e){return(0,p.default)(e)},recordingStatusCallback:function(e){return(0,p.default)(e)},recordingStatusCallbackMethod:function(e){return(0,p.default)(e)},conferenceRecordingStatusCallback:function(e){return(0,p.default)(e)},conferenceRecordingStatusCallbackMethod:function(e){return(0,p.default)(e)},region:function(e){return(0,p.default)(e)},sipAuthUsername:function(e){return(0,p.default)(e)},sipAuthPassword:function(e){return(0,p.default)(e)},transcribe:function(e){return(0,l.default)(e)},transcriptionConfiguration:function(e){return(0,p.default)(e)}}))throw new TypeError("Failed to issue Instruction:conference on Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));var r=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path,i={Instruction:_.RESERVATION_INSTRUCTION_CONFERENCE};for(var n in t)i[(0,v.default)(n)]=t[n];return this._request.post(r,i,_.API_V1).then((function(){return e}))}},{key:"updateParticipant",value:function(e){var t=this;if(!m(e,{endConferenceOnExit:function(e){return(0,l.default)(e)},mute:function(e){return(0,l.default)(e)},beepOnExit:function(e){return(0,l.default)(e)}}))throw new TypeError("Failed to update Worker Participant tied to Reservation sid=".concat(this.sid,". The options passed in did not match the required types."));var r=this._worker.getRoutes().getRoute(E.WORKER_PARTICIPANT_INSTANCE).path,i={ReservationSid:this.sid};for(var n in e)i[(0,v.default)(n)]=e[n];return this._request.post(r,i,_.API_V2).then((function(){return t}))}},{key:"fetchLatestVersion",value:function(){var e=this,t=this._worker.getRoutes().getRoute(E.RESERVATION_INSTANCE,this.sid).path;return this._request.get(t,_.API_V1).then((function(t){return e._update(t)}))}},{key:"_createTask",value:function(e){if(!(e instanceof k.default))return this._log.error("Error calling method _createTask() for Reservation sid=".concat(this.sid,". <ReservationDescriptor>reservationDescriptor is a required parameter.")),{};var t=e.taskDescriptor;try{return new w.default(this._worker,this._request,e.sid,t)}catch(e){return this._log.error("Failed to create a Task for Reservation sid=".concat(this.sid,". Error: ").concat(e)),{}}}},{key:"_createTransfer",value:function(e){if(!(e instanceof k.default))return this._log.error("Error calling method _createTransfer() for Reservation sid=".concat(this.sid,". <ReservationDescriptor>reservationDescriptor is a required parameter.")),{};var t=e.transferDescriptor;try{return new T.default(this._worker,t)}catch(e){return this._log.error("Failed to create a Transfer for Reservation sid=".concat(this.sid,". Error: ").concat(e)),{}}}},{key:"_update",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];try{var i=new k.default(e,this._worker,r);R.forEach((function(n){if("task"===n){if(-1===r.indexOf("task")){var a=e.task_transfer,o=e.active_outgoing_task_transfer;t.task._update(e.task,{incoming:a,outgoing:o})}}else"canceledReasonCode"===n?-1===r.indexOf("canceled_reason_code")&&e.canceled_reason_code&&(t[n]=i[n]):"task_transfer"===n&&e.task_transfer?t.transfer._update(e.task_transfer):t[n]=i[n]}))}catch(t){throw this._log.error("Failed to update Reservation sid=".concat(e.sid,". Update aborted. Error: ").concat(t,".")),t}return this}},{key:"_emitEvent",value:function(e,t){if(!(0,p.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,h.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>rawEventData is a required parameter.");this._update(t),this.emit(e,this)}}]),r}(g.EventEmitter);t.ReservationProperties=["account_sid","date_created","date_updated","reservation_status","sid","task","reservation_timeout","worker_sid","workspace_sid","version"];var O=A;t.default=O},7071:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.SuperviseModes=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(5795)),l=i(r(7026)),f=i(r(4981)),h=r(568),p=r(6997);function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}t.SuperviseModes=["monitor","barge","whisper"];var _=function(e){(0,s.default)(r,e);var t=v(r);function r(){return(0,a.default)(this,r),t.apply(this,arguments)}return(0,o.default)(r,[{key:"monitor",value:function(e,t,r){if(!(0,l.default)(e))throw new TypeError("Error monitoring reservation: <string>taskSid is a required parameter");if(!(0,l.default)(t))throw new TypeError("Error monitoring reservation: <string>reservationSid is a required parameter");if(r&&!(0,d.default)(r))throw new TypeError("Error monitoring reservation: <string>extraParams must be an object");return this._supervise("monitor",e,t,r)}},{key:"setWorkerAttributes",value:function(e,t){if(!(0,l.default)(e))throw new TypeError("Error setting worker attributes: <string>workerSid is a required parameter");if(!(0,d.default)(t))throw new TypeError("Error setting worker attributes: <object>attributes is a required parameter");var r=this.getRoutes().getRoute(p.TARGET_WORKER_INSTANCE,e).path,i={Attributes:t};return this._request.post(r,i,h.API_V1,this.version)}},{key:"setWorkerActivity",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,l.default)(e))throw new TypeError("Error setting worker activity: <string>workerSid is a required parameter");if(!(0,l.default)(t))throw new TypeError("Error setting worker activity: <string>activitySid is a required parameter");if(r&&!(0,d.default)(r))throw new TypeError("Error setting worker activity: <object>options must be an object");var i=this.getRoutes().getRoute(p.TARGET_WORKER_INSTANCE,e).path,n={ActivitySid:t};for(var a in r)n[h.WORKER_UPDATE_OPTIONS[a]]=r[a];return this._request.post(i,n,h.API_V1,this.version)}},{key:"_supervise",value:function(e,t,r,i){var a=this.getRoutes().getRoute(p.TASK_RESERVATION_INSTANCE,t,r).path,o=(0,n.default)({},i,{Instruction:"supervise",Supervisor:this.sid,SupervisorMode:e});return this._request.post(a,o,h.API_V1).then((function(){}))}}]),r}(f.default);t.default=_},9655:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TaskProperties=void 0;var n=i(r(1307)),a=i(r(9591)),o=i(r(8213)),s=i(r(7537)),u=i(r(8765)),c=i(r(7431)),d=i(r(5370)),l=i(r(9548)),f=i(r(3761)),h=i(r(2327)),p=i(r(2297)),v=i(r(5795)),_=i(r(7026)),g=i(r(4159)),k=i(r(5428)),E=r(568),w=r(1239),T=i(r(2903)),y=i(r(4981)),S=r(6997),m=i(r(9127)),R=r(3410);function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,f.default)(e);if(t){var n=(0,f.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,l.default)(this,r)}}var A=["attributes","status","workflowSid","workflowName","queueSid","queueName","priority","reason","routingTarget","timeout","taskChannelSid","taskChannelUniqueName","age","addOns","dateUpdated","transfers","version","virtualStartTime"],O=function(e){(0,d.default)(l,e);var t,r,i=b(l);function l(e,t,r,n){var a;if((0,s.default)(this,l),a=i.call(this),!(e instanceof y.default))throw new TypeError("Failed to instantiate Task. <Worker>worker is a required parameter.");if(!n)throw new TypeError("Failed to instantiate Task. <TaskDescriptor>descriptor is a required parameter.");if(!(n instanceof T.default))throw new TypeError("descriptor should be of type <TaskDescriptor>");if("string"!=typeof r)throw new TypeError("Failed to instantiate Task. <string>reservationSid is a required parameter.");return a._worker=e,a._log=e.getLogger("Task-".concat(n.sid)),a._request=t,a.transfers=new m.default(e,t,n),a.addOns=n.addOns,a.age=n.age,a.attributes=n.attributes,a.dateCreated=n.dateCreated,a.dateUpdated=n.dateUpdated,a.priority=n.priority,a.queueName=n.queueName,a.queueSid=n.queueSid,a.reason=n.reason,a.routingTarget=n.routingTarget,a.sid=n.sid,a.status=n.status,a.taskChannelUniqueName=n.taskChannelUniqueName,a.taskChannelSid=n.taskChannelSid,a.timeout=n.timeout,a.workflowName=n.workflowName,a.workflowSid=n.workflowSid,a.version=n.version,a.virtualStartTime=n.virtualStartTime,(0,o.default)((0,c.default)(a),n),a.reservationSid=r,a}return(0,u.default)(l,[{key:"complete",value:function(e){var t=this;if(!(0,_.default)(e))throw new TypeError("Error calling method complete(). <string>reason is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={AssignmentStatus:E.TASK_STATUS_COMPLETED,Reason:e};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"transfer",value:(r=(0,a.default)(n.default.mark((function e(t){var r,i,a,o,s=arguments;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=s.length>1&&void 0!==s[1]?s[1]:{},(0,_.default)(t)){e.next=3;break}throw new TypeError("Error calling method transfer(). <string>to is a required parameter.");case 3:return i=this._worker.getRoutes().getRoute(S.TASK_TRANSFER_LIST).path,a={ReservationSid:this.reservationSid,TaskSid:this.sid,To:t},r.attributes&&(a.Attributes=r.attributes),r.mode&&(a.Mode=r.mode),r.priority&&(a.Priority=r.priority),e.next=10,this._request.post(i,a,E.API_V2);case 10:return o=e.sent,this._log.info("Received response to transfer request to Worker/TaskQueue=".concat(t)),this._log.debug("Response object",o),this.transfers._updateOutgoing(o,!0),e.abrupt("return",this);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"wrapUp",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={AssignmentStatus:E.TASK_STATUS_WRAPPING};if(t.reason){if(!(0,_.default)(t.reason))throw new Error("Failed to call wrapUp() on Task sid=".concat(this.sid,". A <string>reason is required."));i.Reason=t.reason}return this._request.post(r,i,E.API_V1,this.version).then((function(t){return e._update(t)}))}},{key:"setAttributes",value:function(e){var t=this;if(!(0,v.default)(e))throw new TypeError("Unable to set attributes on Task. <object>attributes is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={Attributes:e};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"setVirtualStartTime",value:function(e){var t=this;if(!(0,p.default)(e))throw new TypeError("Unable to set virtual start time on Task. <Date>date is a required parameter.");var r=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path,i={VirtualStartTime:e.toISOString().slice(0,19)+"Z"};return this._request.post(r,i,E.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"updateParticipant",value:function(e){var t=this,r={hold:function(e){return(0,h.default)(e)},holdUrl:function(e){return(0,_.default)(e)},holdMethod:function(e){return(0,_.default)(e)}};if(!(0,R.validateOptions)(e,r))throw new TypeError("Failed to update Participant tied to Task sid=".concat(this.sid,". The options passed in did not match the required types."));var i=this._worker.getRoutes().getRoute(S.CUSTOMER_PARTICIPANT_INSTANCE).path,n={TaskSid:this.sid};for(var a in e)n[(0,k.default)(a)]=e[a];return this._request.post(i,n,E.API_V2).then((function(e){return t._update(e)}))}},{key:"kick",value:function(e){var t=this;if(!(0,_.default)(e))throw new TypeError("Error calling method kick(). <string>workerSid is a required parameter.");var r=this._worker.getRoutes().getRoute(S.KICK_WORKER_PARTICIPANT).path,i={TaskSid:this.sid,TargetWorkerSid:e};return this._request.post(r,i,E.API_V2).then((function(e){return t._update(e)}))}},{key:"hold",value:function(e,t,r){var i=this,n={holdUrl:function(e){return(0,_.default)(e)},holdMethod:function(e){return(0,_.default)(e)}};if(!(0,_.default)(e))throw new TypeError("Error calling method hold(). <string>targetWorkerSid is a required parameter.");if(!(0,h.default)(t))throw new TypeError("Error calling method hold(). <boolean>onHold is a required parameter that is either true or false.");if(!(0,R.validateOptions)(r,n))throw new TypeError("Failed to update Participant tied to Task sid=".concat(this.sid,". The options passed in did not match the required types."));var a=this._worker.getRoutes().getRoute(S.HOLD_WORKER_PARTICIPANT_INSTANCE).path,o={TaskSid:this.sid,TargetWorkerSid:e,Hold:t};for(var s in r)o[(0,k.default)(s)]=r[s];return this._request.post(a,o,E.API_V2).then((function(e){return i._update(e)}))}},{key:"fetchLatestVersion",value:function(){var e=this,t=this._worker.getRoutes().getRoute(S.TASK_INSTANCE,this.sid).path;return this._request.get(t,E.API_V1).then((function(t){return e._update(t)}))}},{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,_.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,v.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");this.emit(e,this,t)}},{key:"_emitEventForOutgoingTransfer",value:(t=(0,a.default)(n.default.mark((function e(t,r){var i;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._log.debug("_emitEventForOutgoingTransfer(".concat(t,", ").concat(JSON.stringify(r),")")),(0,_.default)(t)){e.next=3;break}throw new TypeError("Error calling _emitEventForOutgoingTransfer(). <string>eventType is a required parameter.");case 3:if((0,v.default)(r)){e.next=5;break}throw new TypeError("Error calling method _emitEventForOutgoingTransfer(). <object>payload is a required parameter.");case 5:this.transfers.outgoing||this._log.debug("The transfers.outgoing object is NOT present"),i=0;case 7:if(this.transfers.outgoing||!(i<20)){e.next=14;break}return e.next=10,new Promise((function(e){return setTimeout(e,500)}));case 10:i++,this._log.debug("Transfer event arrived, waiting for API response, because transfer object missing",i),e.next=7;break;case 14:i=0;case 15:if(!(this.transfers.outgoing&&this.transfers.outgoing.sid!==r.sid&&i<20)){e.next=22;break}return e.next=18,new Promise((function(e){return setTimeout(e,500)}));case 18:i++,this._log.debug("Transfer event arrived, waiting for API response to get the correct transfer SID",i),e.next=15;break;case 22:this._log.debug("Transfer sid from API response:",this.transfers&&this.transfers.outgoing?this.transfers.outgoing.sid:"No sid"),this._log.debug("Transfer sid from event:",r.sid),this.transfers.outgoing&&this.transfers.outgoing.sid===r.sid?Object.keys((0,g.default)(E.taskTransferEventTypes,[E.TRANSFER_INITIATED])).indexOf(t)>-1?(this.transfers._updateOutgoing(r),this.emit(E.taskTransferEventTypes[E.TRANSFER_INITIATED],this.transfers.outgoing)):this.transfers._emitEvent(t,r):this._log.debug("The transfers.outgoing object is either not present or does not match the transfer sid in the event. ".concat(JSON.stringify(r)));case 25:case"end":return e.stop()}}),e,this)}))),function(e,r){return t.apply(this,arguments)})},{key:"_update",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var i=new T.default(e,this._config);A.forEach((function(e){"transfers"===e?(r.incoming||r.outgoing)&&t.transfers._update(r):t[e]=i[e]}))}catch(t){throw this._log.error("Failed to update Task sid=".concat(e.sid,". Update aborted."),t),new Error("Failed to update Task sid=".concat(e.sid,". Update aborted. Error: ").concat(t,"."))}return this}}]),l}(w.EventEmitter);t.TaskProperties=["addons","age","attributes","date_created","date_updated","priority","queue_name","queue_sid","reason","routing_target","sid","assignment_status","task_channel_unique_name","task_channel_sid","timeout","workflow_name","workflow_sid","version","virtual_start_time"];var I=O;t.default=I},5058:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TaskQueueProperties=void 0;var n=i(r(8213)),a=i(r(8765)),o=i(r(7537)),s=i(r(7531)),u=(0,a.default)((function e(t){if((0,o.default)(this,e),!(t instanceof s.default))throw new TypeError("Failed to create a TaskQueue. <TaskQueueDescriptor>descriptor is a required parameter.");this.sid=t.sid,this.queueSid=t.queueSid,this.accountSid=t.accountSid,this.workspaceSid=t.workspaceSid,this.name=t.name,this.queueName=t.queueName,this.assignmentActivityName=t.assignmentActivityName,this.reservationActivityName=t.reservationActivityName,this.assignmentActivitySid=t.assignmentActivitySid,this.reservationActivitySid=t.reservationActivitySid,this.targetWorkers=t.targetWorkers,this.maxReservedWorkers=t.maxReservedWorkers,this.taskOrder=t.taskOrder,this.dateCreated=t.dateCreated,this.dateUpdated=t.dateUpdated,(0,n.default)(this,t)}));t.TaskQueueProperties=["friendly_name","reservation_activity_name","assignment_activity_name","target_workers","max_reserved_workers","task_order","reservation_activity_sid","assignment_activity_sid","workspace_sid","account_sid","sid","date_created","date_updated","lifo_queue"];var c=u;t.default=c},4981:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WorkerProperties=void 0;var a=i(r(353)),o=i(r(8213)),s=i(r(7537)),u=i(r(8765)),c=i(r(7431)),d=i(r(5370)),l=i(r(9548)),f=i(r(3761)),h=i(r(2327)),p=i(r(5795)),v=i(r(7026)),_=i(r(1910)),g=i(r(3130)),k=i(r(5311)),E=r(1239),w=i(r(6427)),T=i(r(2732)),y=i(r(2063)),S=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=P(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(6997)),m=i(r(2129)),R=r(568),b=i(r(276)),A=i(r(5422)),O=i(r(1531)),I=r(3410),N=i(r(4634));function P(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(P=function(e){return e?r:t})(e)}function W(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,f.default)(e);if(t){var n=(0,f.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,l.default)(this,r)}}var C=["dateUpdated","dateStatusChanged","attributes","name","available","version"],q=function(e){(0,d.default)(r,e);var t=W(r);function r(e){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{Request:T.default,EventBridgeSignaling:g.default,GraphQLSignaling:k.default};if((0,s.default)(this,r),i=t.call(this),!(0,v.default)(e))throw new TypeError("Failed to instantiate Worker. <string>token is a required parameter.");var o,u={connectActivitySid:function(e){return(0,v.default)(e)},closeExistingSessions:function(e){return(0,h.default)(e)},logLevel:function(e){return(0,v.default)(e)},ebServer:function(e){return(0,v.default)(e)},wsServer:function(e){return(0,v.default)(e)},region:function(e){return(0,v.default)(e)},enableVersionCheck:function(e){return(0,h.default)(e)},useGraphQL:function(e){return(0,h.default)(e)}};return(0,I.validateOptions)(n,u),i._connectActivitySid=n.connectActivitySid,i._closeExistingSessions=n.closeExistingSessions,i._useGraphQL=n.useGraphQL||!1,i._logLevel=n.logLevel||"error",i._config=new _.default(e,n),i._log=new w.default("Worker-".concat(i._config.getLogIdentifier()),i._logLevel),i._request=new a.Request(i._config),i._dataServices={activitiesEntity:new b.default((0,c.default)(i),i._request),channelsEntity:new A.default((0,c.default)(i),i._request),reservationsEntity:new O.default((0,c.default)(i),i._request)},i._routes=null,i._connectRetry=0,i._useGraphQL?i._gqlSignaling=new a.GraphQLSignaling((0,c.default)(i),{closeExistingSessions:n.closeExistingSessions,setWorkerOfflineIfDisconnected:n.setWorkerOfflineIfDisconnected}):i._signaling=new a.EventBridgeSignaling((0,c.default)(i),{closeExistingSessions:n.closeExistingSessions,setWorkerOfflineIfDisconnected:n.setWorkerOfflineIfDisconnected}),i.retryUtil=new y.default,i._useGraphQL?i._subscribeToGQLEvents():i._subscribeToSignalingEvents(),o=n.eventHandlerClass?new n.eventHandlerClass((0,c.default)(i)):new N.default((0,c.default)(i)),i.taskRouterEventHandler=o,i.activity=null,i.accountSid="",i.attributes={},i.dateCreated=null,i.dateStatusChanged=null,i.dateUpdated=null,i.name="",i.sid="",i.workspaceSid="",i.version="",i.workerSid="",i.workerActivitySid="",i.friendlyName="",i.dateActivityChanged=null,i}return(0,u.default)(r,[{key:"createTask",value:function(e,t,r,i){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!(0,v.default)(e))throw new TypeError("Error calling method createTask(). <string>to is a required parameter.");if(!(0,v.default)(t))throw new TypeError("Error calling method createTask(). <string>from is a required parameter.");if(!(0,v.default)(r))throw new TypeError("Error calling method createTask(). <string>workflowSid is a required parameter.");if(!(0,v.default)(i))throw new TypeError("Error calling method createTask(). <string>taskQueueSid is a required parameter.");var a={attributes:function(e){return(0,p.default)(e)},taskChannelUniqueName:function(e){return(0,v.default)(e)},taskChannelSid:function(e){return(0,v.default)(e)}};if(!(0,I.validateOptions)(n,a))throw new TypeError("Failed to create a Task for Worker ".concat(this.sid,". The options passed in did not match the required types."));var s=this.getRoutes().getRoute(S.TASK_LIST).path,u={WorkflowSid:r,TaskQueueSid:i,RoutingTarget:this.sid};for(var c in n.virtualStartTime&&(u.VirtualStartTime=n.virtualStartTime.toISOString().slice(0,19)+"Z"),n)"attributes"===c||"virtualStartTime"===c||(u[R.CREATE_TASK_OPTIONS[c]]=n[c]);var d={outbound_to:e,from:t};return u.Attributes=(0,o.default)({},n.attributes,d),this._request.post(s,u,R.API_V1).then((function(e){return e.sid}))}},{key:"getLogger",value:function(e){return new w.default("".concat(e,"-").concat(this.sid),this._config._logLevel)}},{key:"setAttributes",value:function(e){var t=this;if(!(0,p.default)(e))throw new TypeError("Unable to set attributes on Worker. <object>attributes is a required parameter.");var r=this.getRoutes().getRoute(S.WORKER_INSTANCE).path,i={Attributes:e};return this._request.post(r,i,R.API_V1,this.version).then((function(e){return t._update(e)}))}},{key:"_bumpVersion",value:function(){this.version&&(this.version=String(Number(this.version)+1))}},{key:"updateToken",value:function(e){if(!(0,v.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this._log.info("Proceeding to update the Worker's current active token with a new token."),this._log.debug("New token: "+e);try{this._config.updateToken(e),this._useGraphQL?this._gqlSignaling.updateToken(e):this._signaling.updateToken(e),this.emit("tokenUpdated")}catch(e){this.emit("error",e)}}},{key:"fetchLatestVersion",value:function(){var e=this,t=this.getRoutes().getRoute(S.WORKER_INSTANCE).path;return this._request.get(t,R.API_V1).then((function(t){return e._update(t)}))}},{key:"_subscribeToSignalingEvents",value:function(){var e=this;this._log.info("Subscribing to Signaling events .... "),this._signaling.on("connected",(function(){e._log.info("Received Event: 'connected' from Signaling layer. Pending initialization.",e.sid)})),this._signaling.on("disconnected",(function(t){e._log.info("Received Event: 'disconnected' from Signaling layer for Worker %s. %s",e.sid,t),e._unSubscribeFromTaskRouterEvents(),e.emit("disconnected",t)})),this._signaling.on("init",(function(t){e._log.info("Received Event: 'init' from Signaling layer. Proceeding to initialize Worker %s.",t.channel_id),e.sid=t.channel_id,e.accountSid=t.account_sid,e.workspaceSid=t.workspace_sid,e._signaling.setLifetime(t.token_lifetime),e._initialize()})),this._signaling.on("error",(function(t){e._log.info("Received Event: 'error' from Signaling layer for Worker %s.",e.sid),e.emit("error",t)})),this._signaling.on("tokenExpired",(function(){e._log.info("Received Event: 'tokenExpired' for for Worker %s. Please update the token. Websocket will not reconnect automatically until token is updated.",e.sid),e.emit("tokenExpired")}))}},{key:"_subscribeToGQLEvents",value:function(){var e=this;this._log.info("[GQL] Subscribing to Signaling events .... "),this._gqlSignaling.on("connected",(function(){e._log.info("[GQL] Received Event: 'connected' from Signaling layer. Pending initialization.",e.sid)})),this._gqlSignaling.on("disconnected",(function(t){e._log.info("[GQL] Received Event: 'disconnected' from Signaling layer for Worker %s. %s",e.sid,t),e._unSubscribeFromTaskRouterEvents(),e.emit("disconnected",t)})),this._gqlSignaling.on("init",(function(t){e._log.info("[GQL] Received Event: 'init' from Signaling layer. Proceeding to initialize Worker %s.",t.channel_id),e.sid=t.channel_id,e.accountSid=t.account_sid,e.workspaceSid=t.workspace_sid,e._initialize()})),this._gqlSignaling.on("error",(function(t){e._log.info("[GQL] Received Event: 'error' from Signaling layer for Worker %s.",e.sid),e.emit("error",t)})),this._gqlSignaling.on("tokenExpired",(function(){e._log.info("[GQL] Received Event: 'tokenExpired' for for Worker %s. Please update the token. Websocket will not reconnect automatically until token is updated.",e.sid),e.emit("tokenExpired")}))}},{key:"_subscribeToTaskRouterEvents",value:function(){this._log.info("Subscribing to TaskRouter events ... ");for(var e=0,t=Object.entries(this.taskRouterEventHandler.getTREventsToHandlerMapping());e<t.length;e++){var r=(0,a.default)(t[e],2),i=r[0],n=r[1];this._useGraphQL?this._gqlSignaling.on(i,this.taskRouterEventHandler[n]):this._signaling.on(i,this.taskRouterEventHandler[n])}}},{key:"_unSubscribeFromTaskRouterEvents",value:function(){this._log.info("Unsubscribing from TaskRouter events ... ");for(var e=0,t=Object.entries(this.taskRouterEventHandler.getTREventsToHandlerMapping());e<t.length;e++){var r=(0,a.default)(t[e],2),i=r[0],n=r[1];this._useGraphQL?this._gqlSignaling.removeListener(i,this.taskRouterEventHandler[n]):this._signaling.removeListener(i,this.taskRouterEventHandler[n])}}},{key:"_initialize",value:function(){var e=this;this._routes=new S.default(this.workspaceSid,this.sid),this._log.info("Initializing Worker %s...",this.sid);var t,r=this.getRoutes().getRoute(S.WORKER_INSTANCE).path;this._request.get(r,R.API_V1).then((function(r){var i=new m.default(r);return t=i.activitySid,delete i.activityName,delete i.activitySid,delete i.available,e.accountSid=i.accountSid,e.attributes=i.attributes,e.dateCreated=i.dateCreated,e.dateStatusChanged=i.dateStatusChanged,e.dateUpdated=i.dateUpdated,e.name=i.name,e.sid=i.sid,e.workspaceSid=i.workspaceSid,e.version=i.version,e.workerSid=i.workerSid,e.workerActivitySid=i.workerActivitySid,e.dateActivityChanged=i.dateActivityChanged,e.friendlyName=i.friendlyName,(0,o.default)(e,i),Promise.all([e._dataServices.activitiesEntity.fetchActivities(),e._dataServices.channelsEntity.fetchChannels(),e._dataServices.reservationsEntity.fetchReservations()])})).then((function(){e._log.info("Worker %s activities, channels and pending reservations initialized",e.sid),e._setCurrentActivity(t),e._connectActivitySid?e._setWorkerConnectActivity().then((function(){e._log.info("Successfully updated Worker on connect to Activity=%s",e._connectActivitySid),e._log.info("Worker %s successfully initialized",e.sid)})):e._log.info("Worker %s successfully initialized",e.sid),e._subscribeToTaskRouterEvents(),e.emit("ready",e)})).catch((function(t){e._log.error("Failed to initialize Worker %s. Error: %s",e.sid,t),e.emit("error",new Error("Failed to initialize Worker ".concat(e.sid)))}))}},{key:"channels",get:function(){return this._dataServices.channelsEntity.channels}},{key:"activities",get:function(){return this._dataServices.activitiesEntity.activities}},{key:"reservations",get:function(){return this._dataServices.reservationsEntity.reservations}},{key:"_setCurrentActivity",value:function(e){var t=this.activities.get(e);if(!t)throw new Error("Unable to set the current Activity sid=".concat(e," on the Worker."));t._isCurrent=!0,this.activity=t,this.activity._isCurrent=!0}},{key:"_setWorkerConnectActivity",value:function(){var e=this;if(!(0,v.default)(this._connectActivitySid))throw new TypeError("Failed to set the Worker's activity to the provided optional connectActivitySid. <string>connectActivitySid must be a string.");return this._updateWorkerActivity(this._connectActivitySid).then((function(){return e._log.info("Successfully set the Worker's activity to the provided connectActivitySid=%s on connection.",e._connectActivitySid),e._connectRetry=0,e})).catch((function(t){var r=(0,I.getStatusCodeFromError)(t);if(e._connectRetry>=3||![0,429,500,502,503,504].includes(r))throw e._log.error("Unable to set Worker %s activity to the provided %s on successful connection. %s",e.sid,e._connectActivitySid,t),t;return e._connectRetry=e._connectRetry>0?e._connectRetry+1:1,e.retryUtil.whenReady(e._connectRetry).then((function(t){return e._log.info("Retrying Update Worker Activity after backoff time: ".concat(t,"ms for retryCount: ").concat(e._connectRetry)),e._setWorkerConnectActivity.bind(e)()}))}))}},{key:"_updateWorkerActivity",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,v.default)(e))throw new TypeError("Error updating Worker Activity: <string>activitySid is a required parameter");var i=this.getRoutes().getRoute(S.WORKER_INSTANCE).path,n={ActivitySid:e};for(var a in r)n[R.WORKER_UPDATE_OPTIONS[a]]=r[a];return this._request.post(i,n,R.API_V1,this.version).then((function(r){try{t._update(r),t.activity._isCurrent=!1;var i=t.activities.get(r.activity_sid);t.activity=i,t.activity._isCurrent=!0}catch(r){throw t._log.error("Failed to update the Worker's activity to sid=%s. Error: %s",e,r),r}return t}))}},{key:"_update",value:function(e){var t=this;this._log.trace("Attempting to update Worker %s with latest Worker data=%s",this.sid,JSON.stringify(e));try{var r=new m.default(e);C.forEach((function(e){t[e]=r[e]}))}catch(t){this._log.error("Failed to update Worker sid=%s. Update aborted. Error: %s.",e.sid,t)}return this}},{key:"disconnect",value:function(){this._useGraphQL?this._gqlSignaling.disconnect():this._signaling.disconnect()}},{key:"getRoutes",value:function(){return this._routes}}]),r}(E.EventEmitter);t.WorkerProperties=["account_sid","activity_name","activity_sid","attributes","available","date_created","date_status_changed","date_updated","friendly_name","sid","workspace_sid","version"];var U=q;t.default=U},1145:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8213)),a=i(r(8765)),o=i(r(7537)),s=i(r(2129)),u=(0,a.default)((function e(t){if((0,o.default)(this,e),!(t instanceof s.default))throw new TypeError("Failed to create a WorkerContainer. <WorkerDescriptor>descriptor is a required parameter.");(0,n.default)(this,t)}));t.default=u},9921:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(4378)),s=i(r(7026)),u=i(r(2732)),c=i(r(1910)),d=i(r(5567)),l=i(r(6427));r(8505);var f=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;(0,n.default)(this,e),this._config=new c.default(t,r),this._request=new u.default(this._config),this._logLevel=r.logLevel||"error",this._log=new l.default("Workspace-".concat(this._config.getLogIdentifier()),this._logLevel),this.shouldDecodeToken=!i,this.workspaceSid=i,this._updateJWTProperties(t),this.workspaceEntity=new o.default(this.workspaceSid,this._request,r)}return(0,a.default)(e,[{key:"fetchWorker",value:function(e){return this.workspaceEntity.fetchWorker(e)}},{key:"fetchWorkerInfo",value:function(e){return this.workspaceEntity.fetchWorker(e)}},{key:"fetchWorkers",value:function(e){var t=this;return this.workspaceEntity.fetchWorkers(e).then((function(){return t.workspaceEntity.Workers}))}},{key:"fetchWorkersInfo",value:function(e){var t=this;return this.workspaceEntity.fetchWorkers(e).then((function(){return t.workspaceEntity.Workers}))}},{key:"fetchTaskQueue",value:function(e){return this.workspaceEntity.fetchTaskQueue(e)}},{key:"fetchTaskQueues",value:function(e){var t=this;return this.workspaceEntity.fetchTaskQueues(e).then((function(){return t.workspaceEntity.TaskQueues}))}},{key:"fetchTask",value:function(e){return this.workspaceEntity.fetchTask(e)}},{key:"updateToken",value:function(e){if(!(0,s.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this._config.updateToken(e),this._updateJWTProperties(e)}},{key:"_updateJWTProperties",value:function(e){if(this.shouldDecodeToken){var t=(0,d.default)(e);this.jwt=t,this.accountSid=t.sub,this.workspaceSid=t.grants.task_router.workspace_sid,this.workerSid=t.grants.task_router.worker_sid,this.role=t.grants.task_router.role}}}]),e}();t.default=f},4364:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761));function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var d=function(e){(0,o.default)(r,e);var t=c(r);function r(e,i){return(0,a.default)(this,r),t.call(this,e,i)}return(0,n.default)(r)}(i(r(2381)).default);t.default=d},3694:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(1307)),a=i(r(9591)),o=i(r(7537)),s=i(r(8765)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=i(r(5795)),f=i(r(7026)),h=i(r(2381)),p=r(568),v=r(6997);function _(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var g=function(e){(0,u.default)(i,e);var t,r=_(i);function i(e,t,n,a){var s;if((0,o.default)(this,i),s=r.call(this,e,a),"string"!=typeof n)throw new TypeError("Failed to instantiate OutgoingTransfer. <string>taskSid is a required parameter.");return s._worker=e,s._request=t,s.taskSid=n,s}return(0,s.default)(i,[{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,f.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,l.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");this.emit(e,this)}},{key:"cancel",value:(t=(0,a.default)(n.default.mark((function e(){var t,r,i;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this._worker.getRoutes().getRoute(v.TASK_TRANSFER_INSTANCE,this.sid).path,r={TaskSid:this.taskSid,TransferStatus:p.TRANSFER_STATUS.canceled},e.next=4,this._request.post(t,r,p.API_V2);case 4:return i=e.sent,e.abrupt("return",this._update(i));case 6:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),i}(h.default);t.default=g},2381:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.TransferProperties=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=i(r(7431)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=r(1239),f=i(r(3119));function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var p=["dateUpdated","status","transferFailedReason"],v=function(e){(0,u.default)(r,e);var t=h(r);function r(e,i){var o;if((0,a.default)(this,r),o=t.call(this),!(i instanceof f.default))throw new TypeError("Failed to instantiate Transfer. <TransferDescriptor>descriptor is a required parameter.");return o._log=e.getLogger("Transfer-".concat(i.sid)),o.dateCreated=i.dateCreated,o.dateUpdated=i.dateUpdated,o.mode=i.mode,o.queueSid=i.queueSid,o.reservationSid=i.reservationSid,o.to=i.to,o.transferFailedReason=i.transferFailedReason,o.type=i.type,o.sid=i.sid,o.status=i.status,o.workerSid=i.workerSid,o.workflowSid=i.workflowSid,(0,n.default)((0,s.default)(o),i),o}return(0,o.default)(r,[{key:"_update",value:function(e){var t=this;try{var r=new f.default(e);p.forEach((function(e){t[e]=r[e]}))}catch(t){throw this._log.error("Failed to update Transfer sid=".concat(e.sid,". Update aborted."),t),new Error("Failed to update Transfer sid=".concat(e.sid,". Update aborted. Error: ").concat(t,"."))}return this}}]),r}(l.EventEmitter);t.TransferProperties=["date_created","date_updated","initiating_reservation_sid","initiating_worker_sid","initiating_queue_sid","initiating_workflow_sid","sid","transfer_mode","transfer_to","transfer_type","transfer_status"];var _=v;t.default=_},9127:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761)),c=i(r(5795)),d=i(r(7026)),l=i(r(4159)),f=r(1239),h=r(568),p=i(r(4364)),v=i(r(3694)),_=i(r(2903)),g=i(r(3119));function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var E=function(e){(0,o.default)(r,e);var t=k(r);function r(e,i,a){var o;if((0,n.default)(this,r),o=t.call(this),!(a instanceof _.default))throw new TypeError("Failed to instantiate Transfers. <TaskDescriptor>taskDescriptor is a required parameter.");return o._log=e.getLogger("Transfers-".concat(a.sid)),o._worker=e,o._request=i,o.incoming=a.incomingTransferDescriptor?new p.default(e,a.incomingTransferDescriptor):null,o.outgoing=a.outgoingTransferDescriptor?new v.default(e,i,a.sid,a.outgoingTransferDescriptor):null,o}return(0,a.default)(r,[{key:"_emitEvent",value:function(e,t){if(this._log.trace("_emitEvent(".concat(e,", ").concat(JSON.stringify(t),")")),!(0,d.default)(e))throw new TypeError("Error calling _emitEvent(). <string>eventType is a required parameter.");if(!(0,c.default)(t))throw new TypeError("Error calling method _emitEvent(). <object>payload is a required parameter.");var r=h.taskTransferEventTypes[e];this.outgoing?this.outgoing.sid===t.sid?Object.keys((0,l.default)(h.taskTransferEventTypes,["transfer-attempt-failed","transfer-completed","transfer-failed","transfer-canceled"])).indexOf(e)>-1&&(this._updateOutgoing(t),this.outgoing._emitEvent(r,t)):this._log.warn("The transfer %s specified by Event: transfer.%s does not match the current active outgoing transfer for Worker %s. Skipping event.",t.sid,r,this._worker.sid):this._log.warn("An active outgoing transfer does currently exist in Worker %s transfers map for Event: transfer.%s. Skipping event.",this._worker.sid,r)}},{key:"_updateOutgoing",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!this.outgoing||t?this.outgoing=new v.default(this._worker,this._request,e.task_sid,new g.default(e)):this.outgoing._update(e)}},{key:"_update",value:function(e){if(e.incoming)if(this.incoming)this.incoming._update(e.incoming);else{var t=new g.default(e.incoming);this.incoming=new p.default(this._worker,this._request,e.incoming.task_sid,t)}if(e.outgoing)if(this.outgoing)this.outgoing._update(e.outgoing);else{var r=new g.default(e.outgoing);this.outgoing=new v.default(this._worker,this._request,e.outgoing.task_sid,r)}}}]),r}(f.EventEmitter);t.default=E},276:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(8274)),s=i(r(5795)),u=i(r(7480)),c=i(r(9097)),d=r(568),l=i(r(7136)),f=r(6997),h=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,e),!(0,s.default)(t))throw new TypeError("Failed to initialize ActivitiesEntity. <Worker>worker is a required parameter.");this._activities=new Map,this._log=t.getLogger("ActivitiesEntity-".concat(t.sid)),this._request=r,this._worker=t,this._pageSize=i.pageSize||d.DEFAULT_PAGE_SIZE,(0,o.default)(this._pageSize,1,d.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for ActivitiesEntity must be between 1 and %d. Setting pageSize to default size=%d",d.DEFAULT_PAGE_SIZE,d.DEFAULT_PAGE_SIZE),this._pageSize=1e3)}return(0,a.default)(e,[{key:"activities",get:function(){return this._activities}},{key:"fetchActivities",value:function(){var e=this._getPage();return this._getAllActivities(e)}},{key:"_getAllActivities",value:function(e){var t=this;return e.then((function(e){return e.items.forEach((function(e){t._insertActivity(e)})),e.hasNextPage?t._getAllActivities(e.nextPage()):Promise.resolve()}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(f.ACTIVITIES_LIST).path,i={PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,d.API_V1,i).then((function(e){return new l.default(e.contents.map((function(e){return new c.default(e)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertActivity",value:function(e){var t=e.sid;this._log.trace("_insertActivity(sid=".concat(t,", data=").concat(JSON.stringify(e)));try{var r=new u.default(this._worker,e);this._activities.set(t,r)}catch(e){this._log.error("Unable to create an Activity for sid=".concat(t,". Skipping insert into Activities map. Error: ").concat(e))}}}]),e}();t.default=h},5422:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(8274)),s=r(568),u=i(r(803)),c=i(r(7467)),d=i(r(7136)),l=i(r(4981)),f=r(6997),h=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,e),!(t instanceof l.default))throw new TypeError("Failed to initialize ChannelsEntity. <Worker>worker is a required parameter.");this._channels=new Map,this._log=t.getLogger("ChannelsEntity"),this._request=r,this._pageSize=i.pageSize||s.DEFAULT_PAGE_SIZE,this._worker=t,(0,o.default)(this._pageSize,1,s.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for ChannelsEntity must be between 1 and %d. Setting pageSize to default size=%d",s.DEFAULT_PAGE_SIZE,s.DEFAULT_PAGE_SIZE),this._pageSize=1e3)}return(0,a.default)(e,[{key:"channels",get:function(){return this._channels}},{key:"fetchChannels",value:function(){var e=this._getPage();return this._getAllChannels(e)}},{key:"_getAllChannels",value:function(e){var t=this;return e.then((function(e){return e.items.forEach((function(e){t._insertChannel(e)})),e.hasNextPage?t._getAllChannels(e.nextPage()):Promise.resolve()}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(f.WORKER_CHANNELS).path,i={PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,s.API_V1,i).then((function(e){return new d.default(e.contents.map((function(e){return new c.default(e)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertChannel",value:function(e){var t=e.sid;this._log.trace("_insertChannel(sid=".concat(t,", data=").concat(JSON.stringify(e)));try{var r=new u.default(this._worker,this._request,e);this._channels.set(t,r)}catch(e){this._log.error("Unable to create a Channel for sid=".concat(t,". Skipping insert into Channels map. Error: ").concat(e))}}}]),e}();t.default=h},1531:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(5370)),s=i(r(9548)),u=i(r(3761)),c=i(r(8274)),d=r(568),l=r(1239),f=i(r(7136)),h=i(r(9222)),p=i(r(3171)),v=i(r(4981)),_=r(6997);function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,u.default)(e);if(t){var n=(0,u.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,s.default)(this,r)}}var k=function(e){(0,o.default)(r,e);var t=g(r);function r(e,i){var a,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,n.default)(this,r),a=t.call(this),!(e instanceof v.default))throw new TypeError("Failed to initialize ReservationsEntity. <Worker>worker is a required parameter.");return a._worker=e,a._log=e.getLogger("ReservationsEntity"),a._request=i,a._reservations=new Map,a._reservationSidsByTask=new Map,a._pageSize=o.pageSize||d.DEFAULT_PAGE_SIZE,(0,c.default)(a._pageSize,1,d.DEFAULT_PAGE_SIZE+1)||(a._log.warn("PageSize range for ReservationsEntity must be between 1 and %d. Setting pageSize to default size=%d",d.DEFAULT_PAGE_SIZE,d.DEFAULT_PAGE_SIZE),a._pageSize=1e3),a}return(0,a.default)(r,[{key:"reservations",get:function(){return new Map(Array.from(this._reservations).filter((function(e){return!e[1][1]})).map((function(e){return[e[0],e[1][0]]})))}},{key:"fetchReservations",value:function(){var e=this._getPage();return this._reservations.clear(),this._getAllReservations(e)}},{key:"_getAllReservations",value:function(e){var t=this;return e.then((function(e){e.items.forEach((function(e){t._insertReservation(e)})),e.hasNextPage&&t._getAllReservations(e.nextPage())}))}},{key:"_getPage",value:function(e){var t=this;e=e||{};var r=this._worker.getRoutes().getRoute(_.RESERVATION_LIST).path,i={Active:"true",PageSize:this._pageSize};return e.AfterSid&&(i.AfterSid=e.AfterSid),this._request.get(r,d.API_V2,i).then((function(e){return new f.default(e.contents.map((function(e){return new p.default(e,t._worker)})),(function(e){return t._getPage({AfterSid:e})}),e.after_sid)}))}},{key:"_insertReservation",value:function(e){var t=e.sid;this._log.trace("_insertReservation(sid=%s, data=%s)",t,JSON.stringify(e)),this._reservations.has(t)&&this._log.debug("Reservation %s already exists for Worker %s. Attempting to overwrite it.",t,this._worker.sid);try{var r=new h.default(this._worker,this._request,e);return this._reservations.set(t,[r,!1]),this._reservationSidsByTask.has(r.task.sid)?this._reservationSidsByTask.get(r.task.sid).add(r.sid):this._reservationSidsByTask.set(r.task.sid,new Set([r.sid])),this._log.debug("Successfully created and inserted %s for %s to Task-Reservation lookup. Contents: %s",r.sid,r.task.sid,this._reservationSidsByTask.get(r.task.sid)),r}catch(e){throw this._log.error("Unable to create a Reservation for sid=%s. Skipping insert into Reservations map. Error: %s",t,e),e}}},{key:"insert",value:function(e){this._log.trace("_insertReservation(sid=%s, data=%s)",e.sid,JSON.stringify(e));var t=new p.default(e,this._worker);return this._insertReservation(t)}},{key:"getTasks",value:function(e){var t=this;if(!this._reservationSidsByTask.has(e))return null;var r=this._reservationSidsByTask.get(e),i=[];return r.forEach((function(e){var r=t._reservations.get(e);r&&r[0].task&&i.push(r[0].task)})),i}},{key:"_deleteByReservationSid",value:function(e){this._log.trace("_deleteByReservationSid(sid=%s)",e);var t=this.reservations.get(e);t?(this._log.info("Found Reservation sid=%s for Worker %s. Removing reservation and task.",e,this._worker.sid),this._cleanUpReservationAndTask(t)):this._log.info("Reservation with sid=%s not found. Unable to remove Reservation.",e)}},{key:"_cleanUpReservationAndTask",value:function(e){var t=this;this._log.debug("Soft deleting Reservation sid=%s for Worker %s",e.sid,this._worker.sid),this._reservations.set(e.sid,[e,!0]),setTimeout((function(){t._log.debug("Hard deleting of Reservation sid=%s for Worker %s",e.sid,t._worker.sid),t._reservations.delete(e.sid)||t._log.warn("Failed to hard delete Reservation sid=%s for Worker %s",e.sid,t._worker.sid)}),5e3)}}]),r}(l.EventEmitter);t.default=k},4378:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(1307)),o=i(r(8779)),s=i(r(9591)),u=i(r(3838)),c=i(r(7537)),d=i(r(8765)),l=i(r(8274)),f=r(568),h=i(r(2129)),p=i(r(2903)),v=i(r(7531)),_=i(r(1145)),g=i(r(5058)),k=i(r(7136)),E=i(r(6427)),w=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=R(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(3739)),T=i(r(1017)),y=["MaxWorkers"],S=["Ordering"],m=["Ordering"];function R(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(R=function(e){return e?r:t})(e)}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function A(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){(0,o.default)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function O(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return I(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return I(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var N=function(){function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,c.default)(this,e),this._Workers=new Map,this._TaskQueues=new Map,this._routes=new w.default(t),this._request=r,this._log=new E.default("WorkspaceEntity-".concat(t),i.logLevel),this._pageSize=i.pageSize||f.DEFAULT_PAGE_SIZE,(0,l.default)(this._pageSize,1,f.DEFAULT_PAGE_SIZE+1)||(this._log.warn("PageSize range for WorkspaceEntity must be between 1 and %d. Setting pageSize to default size=%d",f.DEFAULT_PAGE_SIZE,f.DEFAULT_PAGE_SIZE),this._pageSize=f.DEFAULT_PAGE_SIZE)}var t;return(0,d.default)(e,[{key:"Workers",get:function(){return this._Workers}},{key:"TaskQueues",get:function(){return this._TaskQueues}},{key:"fetchWorker",value:function(e){var t=T.default.join(this._routes.getRoute(w.WORKER_LIST).path,e);return this._request.get(t,f.API_V1).then((function(e){return new _.default(new h.default(e))}))}},{key:"fetchWorkers",value:function(e){this._Workers=new Map;var t=e||{},r=t.MaxWorkers,i=(0,u.default)(t,y);return this._getAllWorkers(this._getWorkerPage(i),r)}},{key:"fetchTaskQueue",value:function(e){var t=T.default.join(this._routes.getRoute(w.TASKQUEUE_LIST).path,e);return this._request.get(t,f.API_V1).then((function(e){return new g.default(new v.default(e))}))}},{key:"fetchTaskQueues",value:function(e){return this._TaskQueues=new Map,this._getAllTaskQueues(this._getTaskQueuePage(e))}},{key:"fetchTask",value:function(e){var t=T.default.join(this._routes.getRoute(w.TASK_LIST).path,e);return this._request.get(t,f.API_V1).then((function(e){return new p.default(e)}))}},{key:"_getAllWorkers",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f.DEFAULT_MAX_WORKERS;return e.then(function(){var e=(0,s.default)(a.default.mark((function e(i){var n,o,s;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=O(i.items),e.prev=1,n.s();case 3:if((o=n.n()).done){e.next=10;break}if(s=o.value,!(t._Workers.size>=r)){e.next=7;break}return e.abrupt("break",10);case 7:t._insertWorker(s);case 8:e.next=3;break;case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),n.e(e.t0);case 15:return e.prev=15,n.f(),e.finish(15);case 18:if(i.hasNextPage){e.next=20;break}return e.abrupt("return");case 20:if(!(t._Workers.size>=r)){e.next=22;break}return e.abrupt("return");case 22:return e.next=24,t._getAllWorkers(i.nextPage(),r);case 24:case"end":return e.stop()}}),e,null,[[1,12,15,18]])})));return function(t){return e.apply(this,arguments)}}())}},{key:"_getWorkerPage",value:function(e){var t=this;e=e||{};var r=this._routes.getRoute(w.WORKER_LIST).path,i={PageSize:this._pageSize};return["AfterSid","FriendlyName","ActivitySid","ActivityName","Ordering","TargetWorkersExpression","NextToken"].forEach((function(t){e[t]&&(i[t]=e[t])})),this._request.get(r,f.API_V1,i).then((function(e){var r=i.Ordering,n=(0,u.default)(i,S),a=r?"NextToken":"AfterSid";return new k.default(e.contents.map((function(e){return new h.default(e)})),(function(e){return t._getWorkerPage(A(A({},n),{},(0,o.default)({Ordering:r},a,e)))}),r?e.meta.next_token:e.after_sid)}))}},{key:"_insertWorker",value:function(e){var t=e.sid;this._log.trace("_insertWorker(sid=%s, data=%s)",t,JSON.stringify(e));try{this._Workers.set(t,new _.default(e))}catch(e){this._log.error("Unable to create a Worker for sid=%s. Skipping insert into Worker map. Error: %s",t,e)}}},{key:"_getAllTaskQueues",value:(t=(0,s.default)(a.default.mark((function e(t){var r=this;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.then(function(){var e=(0,s.default)(a.default.mark((function e(t){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.items.forEach((function(e){return r._insertTaskQueue(e)})),t.hasNextPage){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,r._getAllTaskQueues(t.nextPage());case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"_getTaskQueuePage",value:function(e){var t=this;e=e||{};var r=this._routes.getRoute(w.TASKQUEUE_LIST).path,i={PageSize:this._pageSize};return["AfterSid","FriendlyName","Ordering","NextToken","WorkerSid"].forEach((function(t){e[t]&&(i[t]=e[t])})),this._request.get(r,f.API_V1,i).then((function(e){var r=i.Ordering,n=(0,u.default)(i,m),a=r?"NextToken":"AfterSid";return new k.default(e.contents.map((function(e){return new v.default(e)})),(function(e){return t._getTaskQueuePage(A(A({},n),{},(0,o.default)({Ordering:r},a,e)))}),r?e.meta.next_token:e.after_sid)}))}},{key:"_insertTaskQueue",value:function(e){var t=e.sid;this._log.trace("_insertTaskQueue(sid=%s, data=%s",t,JSON.stringify(e));try{this._TaskQueues.set(t,new g.default(e))}catch(e){this._log.error("Unable to create a TaskQueue for sid=%s. Skipping insert into TaskQueue map. Error: %s",t,e)}}}]),e}();t.default=N},9097:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(7480),u=r(3410),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate ActivityDescriptor. <Descriptor>descriptor is required.");if(!s.ActivityProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate ActivityDescriptor. <Descriptor>descriptor does not contain all properties of an Activity.");this.accountSid=t.account_sid,this.available=t.available,this.dateCreated=(0,u.parseTime)(1e3*t.date_created),this.dateUpdated=(0,u.parseTime)(1e3*t.date_updated),this.name=t.friendly_name,this.sid=t.sid,this.workspaceSid=t.workspace_sid}));t.default=c},3171:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(9293)),a=i(r(8765)),o=i(r(7537)),s=i(r(7047)),u=i(r(8759)),c=i(r(9368)),d=i(r(5795)),l=r(3410),f=r(9222),h=i(r(2903)),p=i(r(3119)),v=r(568),_=(0,a.default)((function e(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if((0,o.default)(this,e),!(0,d.default)(t))throw new TypeError("Failed to instantiate ReservationDescriptor. <Descriptor>descriptor is required.");if(!(0,d.default)(r))throw new TypeError("Failed to instantiate ReservationDescriptor. <Worker>worker is required.");var a=(0,c.default)(f.ReservationProperties,(function(e){return-1===i.indexOf(e)}));if(!(0,u.default)(a,(function(e){return e in t}))){var _=(0,s.default)(a,Object.keys(t)).join(", ");throw new TypeError("Failed to instantiate ReservationDescriptor. <Descriptor>descriptor does not contain all properties of a Reservation. Missing: ".concat(_))}this.accountSid=t.account_sid,this.dateCreated=(0,l.parseTime)(1e3*t.date_created),this.dateUpdated=(0,l.parseTime)(1e3*t.date_updated),this.sid=t.sid,this.status=t.reservation_status,this.timeout=t.reservation_timeout,this.workerSid=t.worker_sid,this.workspaceSid=t.workspace_sid,this.taskDescriptor=null,this.transferDescriptor=null,this.version=String(t.version),t.canceled_reason_code&&(this.canceledReasonCode=t.canceled_reason_code);var g=r.getLogger("ReservationDescriptor-".concat(this.sid));if(-1===i.indexOf("task"))try{this.taskDescriptor=new h.default(t.task)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'task' property is malformed."),e}if(-1===i.indexOf(v.transferFields.taskTransfer)&&"object"===(0,n.default)(t.task_transfer))try{this.taskDescriptor.incomingTransferDescriptor=new p.default(t.task_transfer),this.transferDescriptor=new p.default(t.task_transfer)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'task_transfer' property is malformed."),e}if(-1===i.indexOf(v.transferFields.activeOutgoingTaskTransfer)&&"object"===(0,n.default)(t.active_outgoing_task_transfer))try{this.taskDescriptor.outgoingTransferDescriptor=new p.default(t.active_outgoing_task_transfer)}catch(e){throw g.error("Failed to create a ReservationDescriptor. The 'active_outgoing_task_transfer' property is malformed."),e}}));t.default=_},2903:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(9655),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TaskDescriptor. <Descriptor>descriptor is required.");if(!u.TaskProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TaskDescriptor. <Descriptor>descriptor does not contain all properties of a Task.");this.addOns=JSON.parse(t.addons),this.age=t.age,this.attributes=JSON.parse(t.attributes),this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.priority=t.priority,this.queueName=t.queue_name,this.queueSid=t.queue_sid,this.reason=t.reason,this.routingTarget=t.routing_target,this.sid=t.sid,this.status=t.assignment_status,this.taskChannelUniqueName=t.task_channel_unique_name,this.taskChannelSid=t.task_channel_sid,this.timeout=t.timeout,this.workflowName=t.workflow_name,this.workflowSid=t.workflow_sid,this.incomingTransferDescriptor=null,this.outgoingTransferDescriptor=null,this.version=String(t.version),this.virtualStartTime=(0,s.parseTime)(1e3*t.virtual_start_time)}));t.default=c},7531:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(5058),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TaskQueueDescriptor. <Descriptor>descriptor is required.");if(!u.TaskQueueProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TaskQueueDescriptor. <Descriptor>descriptor does not contain all properties of a TaskQueue.");this.sid=t.sid,this.queueSid=t.sid,this.accountSid=t.account_sid,this.workspaceSid=t.workspace_sid,this.name=t.friendly_name,this.queueName=t.friendly_name,this.assignmentActivityName=t.assignment_activity_name,this.reservationActivityName=t.reservation_activity_name,this.assignmentActivitySid=t.assignment_activity_sid,this.reservationActivitySid=t.reservation_activity_sid,this.targetWorkers=t.target_workers,this.maxReservedWorkers=t.max_reserved_workers,this.taskOrder=t.task_order,this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated)}));t.default=c},3119:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(2381),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate TransferDescriptor. <Descriptor>descriptor is required.");if(!u.TransferProperties.every((function(e){return e in t})))throw new TypeError("Failed to instantiate TransferDescriptor. <Descriptor>descriptor does not contain all properties of a Transfer.");this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.mode=t.transfer_mode,this.queueSid=t.initiating_queue_sid,this.reservationSid=t.initiating_reservation_sid,this.to=t.transfer_to,this.transferFailedReason=t.transfer_failed_reason,this.type=t.transfer_type,this.sid=t.sid,this.status=t.transfer_status,this.workerSid=t.initiating_worker_sid,this.workflowSid=t.initiating_workflow_sid}));t.default=c},7467:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(803),u=r(3410),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to instantiate WorkerChannelDescriptor. <Descriptor>descriptor is required.");if(!s.ChannelProperties.every((function(e){return e in t})))throw new TypeError("Failed to create a WorkerChannelDescriptor. <Descriptor>descriptor does not contain all properties of a Channel.");this.accountSid=t.account_sid,this.assignedTasks=t.assigned_tasks,this.available=!!t.available,this.availableCapacityPercentage=t.available_capacity_percentage,this.capacity=t.configured_capacity,this.dateCreated=(0,u.parseTime)(1e3*t.date_created),this.dateUpdated=(0,u.parseTime)(1e3*t.date_updated),this.lastReservedTime=(0,u.parseTime)(t.last_reserved_time),this.sid=t.sid,this.taskChannelSid=t.task_channel_sid,this.taskChannelUniqueName=t.task_channel_unique_name,this.workerSid=t.worker_sid,this.workspaceSid=t.workspace_sid}));t.default=c},2129:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8765)),a=i(r(7537)),o=i(r(5795)),s=r(3410),u=r(4981),c=(0,n.default)((function e(t){if((0,a.default)(this,e),!(0,o.default)(t))throw new TypeError("Failed to create a WorkerDescriptor. <Descriptor>descriptor is a required parameter.");if(!u.WorkerProperties.every((function(e){return e in t})))throw new TypeError("Failed to create a WorkerDescriptor. The provided <Descriptor>descriptor does not contain all properties of a Worker.");this.accountSid=t.account_sid,this.activityName=t.activity_name,this.activitySid=t.activity_sid,this.attributes=JSON.parse(t.attributes),this.available=t.available,this.dateCreated=(0,s.parseTime)(1e3*t.date_created),this.dateStatusChanged=(0,s.parseTime)(1e3*t.date_status_changed),this.dateUpdated=(0,s.parseTime)(1e3*t.date_updated),this.name=t.friendly_name,this.sid=t.sid,this.workspaceSid=t.workspace_sid,this.version=String(t.version),this.workerSid=t.sid,this.workerActivitySid=t.activity_sid,this.dateActivityChanged=(0,s.parseTime)(1e3*t.date_status_changed),this.friendlyName=t.friendly_name}));t.default=c},4634:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6427)),s=r(568),u=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,n.default)(this,e),this._worker=t,this._logLevel=r.logLevel||"error",this._log=new o.default("WorkerEventHandler",this._logLevel)}return(0,a.default)(e,[{key:"getTREventsToHandlerMapping",value:function(){return{"worker.activity.update":"_workerActivityUpdateHandler","worker.attributes.update":"_workerAttributesUpdateHandler","worker.capacity.update":"_workerCapacityUpdateHandler","worker.channel.availability.update":"_workerChannelAvailabilityUpdateHandler","reservation.created":"_reservationCreatedHandler","reservation.failed":"_reservationFailedHandler","reservation.accepted":"_reservationUpdateHandler","reservation.wrapup":"_reservationUpdateHandler","reservation.completed":"_reservationCleanupEventsHandler","reservation.rejected":"_reservationCleanupEventsHandler","reservation.timeout":"_reservationCleanupEventsHandler","reservation.canceled":"_reservationCleanupEventsHandler","reservation.rescinded":"_reservationCleanupEventsHandler","task.updated":"_taskTypeEventHandler","task.canceled":"_taskTypeEventHandler","task.completed":"_taskTypeEventHandler","task.wrapup":"_taskTypeEventHandler","task.transfer-attempt-failed":"_transferTaskEventHandler","task.transfer-completed":"_transferTaskEventHandler","task.transfer-failed":"_transferTaskEventHandler","task.transfer-initiated":"_transferTaskEventHandler","task.transfer-canceled":"_transferTaskEventHandler"}}},{key:"_workerActivityUpdateHandler",value:function(e){if(this._log.info("Worker %s received Event: worker.activity.update. Proceeding to update ...",this._worker.sid),!e.activity_sid)throw this._log.error("Event: worker.activity.update did not contain an activity_sid. Unable to update Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," activity."));var t=this._worker.activities.get(e.activity_sid);if(!t)throw this._log.error("The Activity sid=%s specified in Event: worker.activity.update does not exist in the Worker's map of Activities. Unable to update Worker %s activity.",e.activity_sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," activity."));this._worker.activity._isCurrent=!1,this._worker.activity=t,t._isCurrent=!0,this._worker.emit("activityUpdated",this._worker._update(e))}},{key:"_workerAttributesUpdateHandler",value:function(e){this._log.info("Worker ".concat(this._worker.sid," received Event: worker.attributes.update. Proceeding to update ...")),this._worker.emit("attributesUpdated",this._worker._update(e))}},{key:"_workerCapacityUpdateHandler",value:function(e){if(this._log.info("Worker ".concat(this._worker.sid," received Event: worker.capacity.update.")),this._worker._bumpVersion(),!e.sid)throw this._log.error("Event: worker.capacity.update did not contain a Channel sid. Unable to update Channel for Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));var t=this._worker.channels.get(e.sid);if(!t)throw this._log.error("The Channel sid=%s specified in Event: worker.capacity.update does not exist in the Worker's map of Channels. Unable to update Worker %s channel.",e.sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));t._emitEvent("capacityUpdated",e)}},{key:"_workerChannelAvailabilityUpdateHandler",value:function(e){if(this._log.info("Worker %s received Event: worker.channel.availability.update.",this._worker.sid),this._worker._bumpVersion(),!e.sid)throw this._log.error("Event: worker.capacity.update did not contain a Channel sid. Unable to update Channel for Worker %s.",this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));var t=this._worker.channels.get(e.sid);if(!t)throw this._log.error("The Channel sid=%s specified in Event: worker.channel.availability.update does not exist in the Worker's map of Channels. Unable to update Worker %s channel.",e.sid,this._worker.sid),new Error("Failed to update Worker ".concat(this._worker.sid," channel."));t._emitEvent("availabilityUpdated",e)}},{key:"_reservationCreatedHandler",value:function(e){if(this._log.info("Worker %s received Event: reservation.created.",this._worker.sid),!e.sid)throw this._log.error("Event: reservationCreated did not contain a Reservation sid. Unable to create a Reservation for Worker %s.",this._worker.sid),new Error("Failed to create Reservation for Worker ".concat(this._worker.sid,"."));try{this._log.info("Attempting to create and insert Reservation into Worker %s reservations map.",this._worker.sid);var t=this._worker._dataServices.reservationsEntity.insert(e);this._worker._bumpVersion(),this._worker.emit("reservationCreated",t)}catch(t){throw this._log.info("Failed to create and insert Reservation into Worker %s reservations map.",this._worker.sid),new Error("Failed to create a Reservation for Worker ".concat(this._worker.sid," on Event: reservationCreated ").concat(e,". Error: ").concat(t))}}},{key:"_reservationFailedHandler",value:function(e){this._log.info("Worker %s received Event: reservation.failed.",this._worker.sid),this._worker.emit("reservationFailed",e)}},{key:"_reservationUpdateHandler",value:function(e,t){var r=s.reservationToSDKEventsMapping[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: reservation.".concat(r," did not contain a Reservation sid. Unable to update Reservation for Worker ").concat(this._worker.sid)),new Error("Failed to update Reservation for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.sid);if(!i)throw this._log.error("The Resevation sid=".concat(e.sid," specified in Event: reservation.").concat(r," does not exist in the Worker's map of Reservations. Unable to update Worker ").concat(this._worker.sid," reservation.")),new Error("Failed to update Worker ".concat(this._worker.sid," reservation."));i._emitEvent(r,e)}},{key:"_reservationCleanupEventsHandler",value:function(e,t){var r=s.reservationToSDKEventsMapping[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: reservation.%s did not contain a Reservation sid. Unable to update Reservation for Worker %s.",r,this._worker.sid),new Error("Failed to update Reservation for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.sid);i?(this._worker._dataServices.reservationsEntity._deleteByReservationSid(e.sid),i._emitEvent(r,e)):this._log.warn("The reservation specified by Event: reservation.%s does not exist in Worker %s Reservations map. Skipping event.",r,this._worker.sid)}},{key:"_taskTypeEventHandler",value:function(e,t){var r=s.taskEventTypes[t];if(this._log.info("Worker %s received Event: %s mapped to %s.",this._worker.sid,t,r),!e.sid)throw this._log.error("Event: task.%s did not contain a Task sid. Unable to emit event for Worker %s.",r,this._worker.sid),new Error("Failed to emit event for Worker ".concat(this._worker.sid,"."));var i=this._worker._dataServices.reservationsEntity.getTasks(e.sid);i&&i.length>0?i.forEach((function(t){t._update(e),t._emitEvent(r,e)})):this._log.warn("The task specified by Event: task.%s does not exist in Worker %s Reservations map. Skipping event.",r,this._worker.sid)}},{key:"_transferTaskEventHandler",value:function(e,t){var r=s.taskTransferEventEmitterMapping[t];if(this._log.info("Worker %s received Event: % mapped to %s.",this._worker.sid,t,r),!e.initiating_reservation_sid||!e.task_sid)throw this._log.error("Event: task.%s did not contain a Reservation sid or Task sid. Unable to emit event for Worker %s.",r,this._worker.sid),new Error("Failed to emit event for Worker ".concat(this._worker.sid,"."));var i=this._worker.reservations.get(e.initiating_reservation_sid);i?i.task.sid===e.task_sid?i.task._emitEventForOutgoingTransfer(r,e):this._log.warn("The task %s related to Event: task.%s does not match the expected owning Reservation %s for Worker %s. Skipping event.",e.task_sid,r,i.sid,this._worker.sid):this._log.warn("The reservation %s related to Event: task.%s does not exist in Worker %s Reservations map. Skipping event.",e.initiating_reservation_sid,r,this._worker.sid)}}]),e}();t.default=u},3130:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(7537)),o=i(r(8765)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(2327)),l=i(r(9699)),f=i(r(6069)),h=r(568),p=r(1239),v=r(7677),_=i(r(4981)),g=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=k(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}i.default=e,r&&r.set(e,i);return i}(r(4147));function k(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(k=function(e){return e?r:t})(e)}function E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var w=global.window||global,T=w.WebSocket?w.WebSocket:r(5352),y=g.version,S=function(e){(0,s.default)(r,e);var t=E(r);function r(e){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,a.default)(this,r),i=t.call(this),!(e&&e instanceof _.default))throw h.twilioErrors.INVALID_ARGUMENT.clone("<Worker>worker is a required parameter to construct EventBridgeSignaling.");var o=e.getLogger("EventBridgeSignaling-".concat(e.sid));if(!(0,f.default)(n.closeExistingSessions)&&!(0,d.default)(n.closeExistingSessions))throw new TypeError("Invalid type passed for <boolean>closeExistingSessions");return i._heartbeat=null,i.webSocket=null,i._log=o,i._worker=e,i.closeExistingSessions=n.closeExistingSessions||!1,i.setWorkerOfflineIfDisconnected=n.setWorkerOfflineIfDisconnected,i._config=e._config,i.reconnect=!1,i.tokenTimer=null,i.setUpWebSocket(),i}return(0,o.default)(r,[{key:"updateToken",value:function(e){if(!e)throw h.twilioErrors.INVALID_ARGUMENT.clone("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this.setTokenExpirationEvent(),this._log.info("Updated token for Worker "+this._worker.sid),this.reconnect=!0,this.webSocket.readyState!==this.webSocket.CLOSING&&this.webSocket.readyState!==this.webSocket.CLOSED||this.createWebSocket()}},{key:"setTokenExpirationEvent",value:function(){var e=this;this._log.debug("setTokenExpirationEvent with lifetime:",this.tokenLifetime),clearTimeout(this.tokenTimer),this.tokenTimer=setTimeout((function(){e.reconnect=!1,e.emit("tokenExpired"),e._log.debug("emitted tokenExpired event")}),this.tokenLifetime-5e3)}},{key:"setUpWebSocket",value:function(){this._heartbeat&&(this._heartbeat.onsleep=function(){}),this._heartbeat=new v.Heartbeat({interval:30}),this.createWebSocket()}},{key:"setLifetime",value:function(e){this.tokenLifetime=e,this.setTokenExpirationEvent()}},{key:"createWebSocket",value:function(){var e=this;this.numAttempts=1,this.reconnect=!0,this._log.debug("createWebSocket called");var t="?".concat(h.EB_URL_PARAMS.TOKEN,"=").concat(this._config.token,"&").concat(h.EB_URL_PARAMS.CLOSE_EXISTING_SESSIONS,"=").concat(this.closeExistingSessions,"&").concat(h.EB_URL_PARAMS.CLIENT_VERSION,"=").concat(y);void 0!==this.setWorkerOfflineIfDisconnected&&(t=t.concat("&".concat(h.EB_URL_PARAMS.SET_WORKER_OFFLINE_IF_DISCONNECTED,"=").concat(this.setWorkerOfflineIfDisconnected))),this._log.debug("Websocket Connection URL",this._config.WS_SERVER+t),this.webSocket=new T(this._config.WS_SERVER+t),this._log.debug("New websocket created"),this._isReconnecting=!1,this.webSocket.onopen=function(){e.numAttempts=1,e.emit("connected"),e._heartbeat.onsleep=function(){e._log.info("Heartbeat not received in the past 30 seconds. Proceeding to close the websocket."),e.emit("disconnected",{message:"Connection lost"}),e._log.debug("Emitted disconnect event."),e._removeEventHandlers(),e.webSocket.close(),e._log.debug("WebSocket connection has been lost. Trying to reconnect..."),e._reconnectWebSocket()},e._heartbeat.beat()},this.webSocket.onmessage=function(t){if(e._log.debug("Received event",t.data),e._heartbeat.beat(),0!==t.data.trim().length){var r;try{r=JSON.parse(t.data)}catch(r){return e._log.error("Received data is not valid JSON: "+t.data),void e.emit("error",h.twilioErrors.INVALID_GATEWAY_MESSAGE)}e._log.debug("Emitting event: %s with %s",r.event_type,JSON.stringify(r.payload)),e.emit(r.event_type,r.payload||null,r.event_type)}},this.webSocket.onerror=function(t){e._log.error("WebSocket error occurred: ",t),e.emit("error",h.twilioErrors.GATEWAY_CONNECTION_FAILED)},this.webSocket.onclose=function(t){e._log.info("WebSocket received onclose event with code",t.code);var r=t.reason,i=t.code;(0,l.default)(r)&&(r="Websocket closed with errorCode=".concat(i)),e.emit("disconnected",{message:r}),e._heartbeat.onsleep=function(){},e._isReconnecting?e._log.info("WebSocket connection has closed. Already trying to reconnect..."):e.reconnect?(e._log.info("WebSocket connection has closed. Trying to reconnect..."),e._reconnectWebSocket()):e._log.info("WebSocket connection has closed. Not reconnecting due to token expiration.")}}},{key:"_reconnectWebSocket",value:function(){var e=this;this._log.debug("_reconnectWebSocket was called"),this._isReconnecting=!0,this._removeEventHandlers(),this._heartbeat.onsleep=function(){};var t=this.generateBackOffInterval(this.numAttempts);setTimeout((function(){e.reconnect?(e.numAttempts++,e.createWebSocket()):e._log.info("Not reconnecting anymore, because the reconnect flag is false")}),t)}},{key:"_removeEventHandlers",value:function(){var e=this;null!==this.webSocket&&(this._log.debug("Removing event handlers for websocket"),["onmessage","onclose","onopen","onerror"].forEach((function(t){e.webSocket[t]=null})))}},{key:"generateBackOffInterval",value:function(e){var t=Math.ceil(800),r=Math.floor(1e3*Math.min(30,Math.pow(2,e)-1));return Math.round(Math.floor(Math.random()*(r-t+1))+t)}},{key:"disconnect",value:function(){var e=this;this._log.info("Disconnecting websocket"),this.reconnect=!1,null!==this.webSocket&&(["onmessage","onclose","onopen","onerror"].forEach((function(t){e.webSocket[t]=null})),this._heartbeat.onsleep=function(){},this.webSocket.close()),this.emit("disconnected",{message:"SDK Disconnect"})}}]),r}(p.EventEmitter);t.default=S},5311:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(1307)),a=i(r(9591)),o=i(r(7537)),s=i(r(8765)),u=i(r(5370)),c=i(r(9548)),d=i(r(3761)),l=r(8911),f=r(1239),h=i(r(6069)),p=i(r(2327)),v=r(568),_=i(r(4981));function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,d.default)(e);if(t){var n=(0,d.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,c.default)(this,r)}}var k=global.window||global,E=k.WebSocket?k.WebSocket:r(5352),w=function(e){(0,u.default)(i,e);var t,r=g(i);function i(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,o.default)(this,i),t=r.call(this),!(e&&e instanceof _.default))throw v.twilioErrors.INVALID_ARGUMENT.clone("<Worker>worker is a required parameter to construct EventBridgeSignaling.");var a=e.getLogger("EventBridgeSignaling-".concat(e.sid));if(!(0,h.default)(n.closeExistingSessions)&&!(0,p.default)(n.closeExistingSessions))throw new TypeError("Invalid type passed for <boolean>closeExistingSessions");return t.webSocket=null,t._worker=e,t.closeExistingSessions=n.closeExistingSessions||!1,t.setWorkerOfflineIfDisconnected=n.setWorkerOfflineIfDisconnected,t._config=e._config,t._log=a,t.tokenTimer=null,t.createWebSocket(),t}return(0,s.default)(i,[{key:"setTokenExpirationEvent",value:function(){var e=this;this._log.debug("setTokenExpirationEvent with lifetime:",this.tokenLifetime),clearTimeout(this.tokenTimer),this.tokenTimer=setTimeout((function(){e.reconnect=!1,e.emit("tokenExpired"),e._log.debug("emitted tokenExpired event")}),this.tokenLifetime-5e3)}},{key:"updateToken",value:function(e){if(!e)throw v.twilioErrors.INVALID_ARGUMENT.clone("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this.setTokenExpirationEvent(),this.reconnect=!0,this._log.info("[GQL] Updated token for Worker "+this._worker.sid),this.webSocket||this.createWebSocket()}},{key:"createWebSocket",value:function(){var e=this;this._log.debug("[GQL] createWebSocket called"),this._log.debug("[GQL] Websocket Connection URL",this._config.GQL_WS_SERVER),this.webSocket=(0,l.createClient)({url:this._config.GQL_WS_SERVER,webSocketImpl:E,connectionParams:function(){return{authToken:"Bearer ".concat(e._config.token)}},shouldRetry:function(){return!0},retryAttempts:5,lazy:!1}),this.registerWebSocketEvents()}},{key:"registerWebSocketEvents",value:function(){var e=this;this.webSocket.on("connecting",(function(){e._log.debug("[GQL] Connecting to WS")})),this.webSocket.on("connected",(function(){e._log.debug("[GQL] Connected to WS 1"),e.emit("connected"),e.subscribe()})),this.webSocket.on("opened",(function(){e._log.debug("[GQL] New websocket created")})),this.webSocket.on("ping",(function(){e._log.debug("[GQL] Ping from WS")})),this.webSocket.on("pong",(function(){e._log.debug("[GQL] Pong from WS")})),this.webSocket.on("message",(function(t){var r;e._log.debug("[GQL] Received event",t);try{var i,n;if(null===(i=r=JSON.parse(JSON.stringify(t)))||void 0===i||!i.type||null===(n=r)||void 0===n||!n.payload)throw new Error("Invalid message format")}catch(r){return e._log.error("Received data is not valid JSON: "+t),void e.emit("error",v.twilioErrors.INVALID_GATEWAY_MESSAGE)}e._log.debug("Emitting event: %s with %s",r.type,JSON.stringify(r.payload)),e.emit(r.type,r.payload||null,r.type)})),this.webSocket.on("closed",(function(){e._log.debug("[GQL] Emitted disconnect event."),e.emit("disconnected",{message:"[GQL] Connection lost"}),e._log.debug("[GQL] WebSocket connection has been lost. Trying to reconnect...")})),this.webSocket.on("error",(function(t){e._log.debug("[GQL] Error from WS: ".concat(JSON.stringify(t,null,2)))}))}},{key:"disconnect",value:function(){var e=this;this._log.info("[GQL] Disconnecting websocket"),null!==this.webSocket&&(["onmessage","onclose","onopen","onerror"].forEach((function(t){e.webSocket[t]=null})),this.webSocket.dispose()),this.emit("disconnected",{message:"[GQL] SDK Disconnect"})}},{key:"subscribe",value:(t=(0,a.default)(n.default.mark((function e(){var t=this;return n.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.webSocket.subscribe({query:"subscription highlightedMetrics {\n highlightedMetrics {\n __typename\n }\n }"},{next:function(e){t._log.debug("[GQL] data",e)},error:function(e){t._log.debug("[GQL] error",e)},complete:function(){t._log.debug("[GQL] complete")}});case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),i}(f.EventEmitter);t.default=w},8505:()=>{},7681:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(8213)),a=i(r(7537)),o=i(r(8765)),s=r(568);function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var i=0,n=function(){};return{s:n,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}var d=function(){function e(){(0,a.default)(this,e),this.routes={}}return(0,o.default)(e,[{key:"getRoute",value:function(e){if(!this.routes[e])throw s.twilioErrors.INVALID_ARGUMENT.clone('Invalid route fetched <string>route "'.concat(e,'" does not exist.'));for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(r.length){var a=(0,n.default)({},this.routes[e]);if(r.length!==(a.path.match(/%s/g)||[]).length)throw s.twilioErrors.INVALID_ARGUMENT.clone("Invalid number of positional arguments supplied for route ".concat(e));var o,c=u(r);try{for(c.s();!(o=c.n()).done;){var d=o.value;a.path=a.path.replace(/%s/,d)}}catch(e){c.e(e)}finally{c.f()}return a}return this.routes[e]}}]),e}();t.default=d},1910:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6427)),s=i(r(7026)),u=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((0,n.default)(this,e),!(0,s.default)(t))throw new TypeError("Failed to initialize Configuration. <string>token is a required parameter.");this.logIdentifier=r.logIdentifier||+new Date,this._logLevel=r.logLevel,this._log=new o.default("Configuration-".concat(this.logIdentifier),this._logLevel),this.token=t,this.EB_SERVER=r.ebServer,this.WS_SERVER=r.wsServer,this.enableVersionCheck=r.enableVersionCheck;var i="";r.region&&"us1"!==r.region&&(i+=".".concat(r.region)),this.GQL_WS_SERVER="wss://event-bridge".concat(i,".twilio.com/graphql-subscriptions"),r.ebServer||r.wsServer?this._log.warn('"ebServer" and "wsServer" parameter will be removed in next major version. You may start using "region" and "edge".'):(this.EB_SERVER="https://event-bridge".concat(i,".twilio.com/v1/wschannels"),this.WS_SERVER="wss://event-bridge".concat(i,".twilio.com/v1/wschannels"))}return(0,a.default)(e,[{key:"updateToken",value:function(e){if(!(0,s.default)(e))throw new TypeError("To update the Twilio token, a new Twilio token must be passed in. <string>newToken is a required parameter.");this.token=e}},{key:"getLogIdentifier",value:function(){return this.logIdentifier}}]),e}();t.default=u},568:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.twilioErrors=t.transferFields=t.taskTransferEventTypes=t.taskTransferEventEmitterMapping=t.taskEventTypes=t.reservationToSDKEventsMapping=t.reservationEventTypes=t.WORKER_UPDATE_OPTIONS=t.TRANSFER_STATUS=t.TRANSFER_INITIATED=t.TASK_STATUS_WRAPPING=t.TASK_STATUS_COMPLETED=t.RESERVATION_STATUS_WRAPPING=t.RESERVATION_STATUS_REJECTED=t.RESERVATION_STATUS_COMPLETED=t.RESERVATION_STATUS_ACCEPTED=t.RESERVATION_REJECT_OPTIONS=t.RESERVATION_REDIRECT_OPTIONS=t.RESERVATION_INSTRUCTION_REDIRECT=t.RESERVATION_INSTRUCTION_DEQUEUE=t.RESERVATION_INSTRUCTION_CONFERENCE=t.RESERVATION_INSTRUCTION_CALL=t.RESERVATION_DEQUEUE_OPTIONS=t.RESERVATION_CALL_OPTIONS=t.EB_URL_PARAMS=t.DEFAULT_PAGE_SIZE=t.DEFAULT_MAX_WORKERS=t.DEFAULT_HTTP_TIMEOUT=t.CREATE_TASK_OPTIONS=t.API_V2=t.API_V1=void 0;t.RESERVATION_STATUS_ACCEPTED="accepted";t.RESERVATION_STATUS_COMPLETED="completed";t.RESERVATION_STATUS_REJECTED="rejected";t.RESERVATION_STATUS_WRAPPING="wrapping";t.RESERVATION_INSTRUCTION_CALL="call";t.RESERVATION_INSTRUCTION_DEQUEUE="dequeue";t.RESERVATION_INSTRUCTION_REDIRECT="redirect";t.RESERVATION_INSTRUCTION_CONFERENCE="conference";var i=Object.freeze({canceled:"canceled",complete:"complete",failed:"failed",initiated:"initiated"});t.TRANSFER_STATUS=i;var n={activitySid:"WorkerActivitySid"};t.RESERVATION_REJECT_OPTIONS=n,Object.freeze(n);var a={rejectPendingReservations:"RejectPendingReservations"};t.WORKER_UPDATE_OPTIONS=a,Object.freeze(a);var o={accept:"CallAccept",record:"CallRecord",statusCallbackUrl:"CallStatusCallbackUrl",timeout:"CallTimeout",to:"CallTo"};t.RESERVATION_CALL_OPTIONS=o,Object.freeze(o);var s={to:"DequeueTo",from:"DequeueFrom",postWorkActivitySid:"DequeuePostWorkActivitySid",record:"DequeueRecord",timeout:"DequeueTimeout",statusCallbackUrl:"DequeueStatusCallbackUrl",statusCallbackEvents:"DequeueStatusCallbackEvents"};t.RESERVATION_DEQUEUE_OPTIONS=s,Object.freeze(s);var u={accept:"RedirectAccept"};t.RESERVATION_REDIRECT_OPTIONS=u,Object.freeze(u);t.CREATE_TASK_OPTIONS={taskChannelUniqueName:"TaskChannelUniqueName",taskChannelSid:"TaskChannelSid",attributes:"Attributes"};t.TASK_STATUS_COMPLETED="completed";t.TASK_STATUS_WRAPPING="wrapping";var c={accepted:0,rejected:1,timeout:2,canceled:3,rescinded:4,completed:5,wrapup:6};t.reservationEventTypes=c,Object.freeze(c);var d={"task.updated":"updated","task.canceled":"canceled","task.completed":"completed","task.wrapup":"wrapup"};t.taskEventTypes=d,Object.freeze(d);var l={"reservation.completed":"completed","reservation.rejected":"rejected","reservation.timeout":"timeout","reservation.canceled":"canceled","reservation.rescinded":"rescinded","reservation.accepted":"accepted","reservation.wrapup":"wrapup"};t.reservationToSDKEventsMapping=l,Object.freeze(l);var f=Object.freeze({taskTransfer:"task_transfer",activeOutgoingTaskTransfer:"active_outgoing_task_transfer"});t.transferFields=f;t.TRANSFER_INITIATED="transfer-initiated";var h={"transfer-attempt-failed":"attemptFailed","transfer-completed":"completed","transfer-failed":"failed","transfer-initiated":"transferInitiated","transfer-canceled":"canceled"};t.taskTransferEventTypes=h,Object.freeze(h);var p={"task.transfer-attempt-failed":"transfer-attempt-failed","task.transfer-completed":"transfer-completed","task.transfer-failed":"transfer-failed","task.transfer-initiated":"transfer-initiated","task.transfer-canceled":"transfer-canceled"};t.taskTransferEventEmitterMapping=p,Object.freeze(p);t.API_V1="v1";t.API_V2="v2";t.DEFAULT_PAGE_SIZE=1e3;t.DEFAULT_MAX_WORKERS=1e3;t.DEFAULT_HTTP_TIMEOUT=15e3;t.EB_URL_PARAMS={TOKEN:"token",CLOSE_EXISTING_SESSIONS:"closeExistingSessions",CLIENT_VERSION:"clientVersion",SET_WORKER_OFFLINE_IF_DISCONNECTED:"setWorkerOfflineIfDisconnected"};var v=r(5600),_=[{name:"INVALID_ARGUMENT",message:"One or more arguments passed were invalid."},{name:"INVALID_TOKEN",message:"The token is invalid or malformed."},{name:"TOKEN_EXPIRED",message:"Worker's active token has expired."},{name:"GATEWAY_CONNECTION_FAILED",message:"Could not connect to Twilio's servers."},{name:"GATEWAY_DISCONNECTED",message:"Connection to Twilio's servers was lost."},{name:"INVALID_GATEWAY_MESSAGE",message:"The JSON message received was malformed."},{name:"TASKROUTER_ERROR",message:"TaskRouter failed to complete the request."},{name:"REQUEST_INVALID",message:"The provided request is invalid."},{name:"NETWORK_ERROR",message:"No response from the server."},{name:"SERVER_ERROR",message:"Server has experienced an issue performing the request."},{name:"UNKNOWN_ERROR",message:"An unknown error has occurred."}].reduce((function(e,t){return e[t.name]=new v(t),e}),{});t.twilioErrors=_},7677:(e,t)=>{function r(e){if(!(this instanceof r))return new r(e);e=e||{};var t=function(){},i={interval:10,now:function(){return(new Date).getTime()},repeat:function(e,t){return setInterval(e,t)},stop:function(e,t){return clearInterval(e,t)},onsleep:t,onwakeup:t};for(var n in i)n in e||(e[n]=i[n]);this.interval=e.interval,this.lastbeat=0,this.pintvl=null,this.onsleep=e.onsleep,this.onwakeup=e.onwakeup,this.repeat=e.repeat,this.stop=e.stop,this.now=e.now}r.toString=function(){return"[Twilio.Heartbeat class]"},r.prototype.toString=function(){return"[Twilio.Heartbeat instance]"},r.prototype.beat=function(){if(this.lastbeat=this.now(),this.sleeping()){this.onwakeup&&this.onwakeup();var e=this;this.pintvl=this.repeat.call(null,(function(){e.check()}),1e3*this.interval)}},r.prototype.check=function(){var e=this.now()-this.lastbeat;!this.sleeping()&&e>=1e3*this.interval&&(this.onsleep&&this.onsleep(),this.stop.call(null,this.pintvl),this.pintvl=null)},r.prototype.sleeping=function(){return null===this.pintvl},t.Heartbeat=r},6427:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=r(568).twilioErrors,s=r(6622),u=["trace","debug","info","warn","error","silent"],c=function(){function e(t,r){if((0,n.default)(this,e),!t)throw o.INVALID_ARGUMENT.clone("Error instantiating Logger. <string>moduleName is a required parameter.");this._log=s.getLogger(t),u.forEach(function(e){var t=this;this[e]=function(){for(var r,i=arguments.length,n=new Array(i),a=0;a<i;a++)n[a]=arguments[a];return(r=t._log)[e].apply(r,[t._getTimestamp()].concat(n))}}.bind(this)),r&&this.setLevel(r)}return(0,a.default)(e,[{key:"setLevel",value:function(e){if(-1===u.indexOf(e))throw o.INVALID_ARGUMENT.clone("Error setting Logger level. <string>level must be one of ['trace', 'debug', 'info', 'warn', 'error', 'silent']");this._log.setLevel(e,!1),this._log.setDefaultLevel(e)}},{key:"getLevel",value:function(){return u[this._log.getLevel()]}},{key:"_getTimestamp",value:function(){return"[".concat((new Date).toISOString(),"]")}}]),e}();t.default=c},7136:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=r(568).twilioErrors,s=function(){function e(t,r,i){if((0,n.default)(this,e),!t)throw o.INVALID_ARGUMENT.clone("Error instantiating Paginator. <Array>items is a required parameter.");if(!r)throw o.INVALID_ARGUMENT.clone("Error instantiating Paginator. <Function>source is a required parameter.");this._nextToken=i,this._source=r,this.hasNextPage=!!this._nextToken,this.items=t}return(0,a.default)(e,[{key:"nextPage",value:function(){return this.hasNextPage?this._source(this._nextToken):Promise.reject(o.TASKROUTER_ERROR.clone("Error getting the next page. No next page exists."))}}]),e}();t.default=s},2732:(e,t,r)=>{var i=r(7880),n=r(9293);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(r(8213)),o=i(r(7537)),s=i(r(8765)),u=i(r(5795)),c=i(r(2167)),d=_(r(5687)),l=i(r(1910)),f=i(r(6427)),h=r(568),p=_(r(4147));function v(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(v=function(e){return e?r:t})(e)}function _(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==n(e)&&"function"!=typeof e)return{default:e};var r=v(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(i,o,s):i[o]=e[o]}return i.default=e,r&&r.set(e,i),i}var g={GET:"GET",POST:"POST"};Object.freeze(g);var k=p.version,E=function(){function e(t){if((0,o.default)(this,e),!(t instanceof l.default))throw new TypeError("Failed to initialize Request. <Configuration>config is a required parameter.");var r=new d.Agent({maxVersion:"TLSv1.2",minVersion:"TLSv1.2"});this._config=t,this._postClient=c.default.create({method:g.POST,timeout:h.DEFAULT_HTTP_TIMEOUT,headers:{clientVersion:k},httpsAgent:r}),this._log=new f.default("Request-".concat(this._config.getLogIdentifier()),this._config._logLevel)}return(0,s.default)(e,[{key:"post",value:function(e,t,r,i){var n=this;if(!e)throw new Error("Failed to make POST request. <string>url is a required parameter.");if(!(0,u.default)(t))throw new Error("Failed to make POST request. <object>paramsJSON is a required parameter.");if(!r)throw new Error("Failed to make POST request. <string>apiVersion is a required parameter.");var o=this.buildRequest(g.POST,e,t),s={apiVersion:r};return this._config.enableVersionCheck&&i&&(s=(0,a.default)(s,{"If-Match":i})),this._postClient.post(this._config.EB_SERVER,o,{headers:s}).then((function(e){return Promise.resolve(e.data.payload)})).catch((function(e){n.handleError(e)}))}},{key:"get",value:function(e,t,r){var i=this;if(!e)throw new Error("Failed to make GET request. <string>url is a required parameter.");if(!t)throw new Error("Failed to make GET request. <string>apiVersion is a required parameter.");if(r=r||{},!(0,u.default)(r))throw new Error("Failed to make GET request. <object>paramsJSON is a required parameter.");var n=this.buildRequest(g.GET,e,r);return this._postClient.post(this._config.EB_SERVER,n,{headers:{apiVersion:t}}).then((function(e){return Promise.resolve(e.data.payload)})).catch((function(e){i.handleError(e)}))}},{key:"buildRequest",value:function(e,t,r){return JSON.stringify({url:t,method:e,params:r,token:this._config.token})}},{key:"handleError",value:function(e){if(e.response){if(e.response.status<500)throw this._log.error("Request failed with ",e.response.status,e.response.data.message),h.twilioErrors.REQUEST_INVALID.clone("Request failed with status code ".concat(e.response.status,". ").concat(e.response.data.message));throw this._log.error("Server Error:",e.response.status,e.response.data.message),h.twilioErrors.SERVER_ERROR.clone("Server responded with status code ".concat(e.response.status,". ").concat(e.response.data.message))}throw e.request?(this._log.error("Network Error:",e.message),h.twilioErrors.NETWORK_ERROR.clone("Network error has occurred. ".concat(e.message))):(this._log.error("Error:",e.message),h.twilioErrors.UNKNOWN_ERROR.clone("Error: ".concat(e.message)))}}]),e}();t.default=E},2063:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(r(7537)),a=i(r(8765)),o=i(r(6116)),s=i(r(8640)),u=i(r(6427));function c(e,t){l(e,t),t.add(e)}function d(e,t,r){l(e,t),t.set(e,r)}function l(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function f(e,t,r){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return r}var h=new WeakMap,p=new WeakMap,v=new WeakSet,_=new WeakSet,g=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:800,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3e3;(0,n.default)(this,e),c(this,_),c(this,v),d(this,h,{writable:!0,value:void 0}),d(this,p,{writable:!0,value:void 0}),f(this,v,k).call(this,t)&&(0,s.default)(this,h,t),f(this,v,k).call(this,r)&&(0,s.default)(this,p,r),this._log=new u.default("RetryUtil")}return(0,a.default)(e,[{key:"generateBackoffInterval",value:function(e){f(this,v,k).call(this,e)||(this._log.warn("Interval count should be a positive finite number. Resetting retryCount to 1, Current value:"+e),e=1);var t=Math.max((0,o.default)(this,h),(0,o.default)(this,h)*(Math.pow(2,e)-1)/2);return Math.min(Math.max((0,o.default)(this,h),t),(0,o.default)(this,p))+f(this,_,E).call(this)}},{key:"whenReady",value:function(e){var t=this;return new Promise((function(r){var i=t.generateBackoffInterval(e);return setTimeout((function(){return r(i)}),i)}))}}]),e}();function k(e){return Number.isFinite(e)&&e>0}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;return Math.ceil(Math.random()*e)}t.default=g},6997:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WORKER_PARTICIPANT_INSTANCE=t.WORKER_INSTANCE=t.WORKER_CHANNELS=t.TASK_TRANSFER_LIST=t.TASK_TRANSFER_INSTANCE=t.TASK_RESERVATION_INSTANCE=t.TASK_LIST=t.TASK_INSTANCE=t.TARGET_WORKER_INSTANCE=t.RESERVATION_LIST=t.RESERVATION_INSTANCE=t.KICK_WORKER_PARTICIPANT=t.HOLD_WORKER_PARTICIPANT_INSTANCE=t.CUSTOMER_PARTICIPANT_INSTANCE=t.ACTIVITIES_LIST=void 0;var n=i(r(8779)),a=i(r(8765)),o=i(r(7537)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(7681)),l=i(r(1017));function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var h=r(568).twilioErrors,p="reservationList";t.RESERVATION_LIST=p;var v="reservationInstance";t.RESERVATION_INSTANCE=v;var _="workerInstance";t.WORKER_INSTANCE=_;var g="targetWorkerInstance";t.TARGET_WORKER_INSTANCE=g;var k="taskReservationInstance";t.TASK_RESERVATION_INSTANCE=k;var E="taskList";t.TASK_LIST=E;var w="taskInstance";t.TASK_INSTANCE=w;var T="taskTransferList";t.TASK_TRANSFER_LIST=T;var y="taskTransferInstance";t.TASK_TRANSFER_INSTANCE=y;var S="workerChannels";t.WORKER_CHANNELS=S;var m="activitiesList";t.ACTIVITIES_LIST=m;var R="customerParticipantInstance";t.CUSTOMER_PARTICIPANT_INSTANCE=R;var b="workerParticipantInstance";t.WORKER_PARTICIPANT_INSTANCE=b;var A="holdWorkerParticipantInstance";t.HOLD_WORKER_PARTICIPANT_INSTANCE=A;var O="kickWorkerParticipant";t.KICK_WORKER_PARTICIPANT=O;var I=function(e){(0,s.default)(r,e);var t=f(r);function r(e,i){var a,s;if((0,o.default)(this,r),s=t.call(this),!e||!i)throw h.INVALID_ARGUMENT.clone("Error instantiating Routes class. <string>workspaceSid and <string>workerSid are required parameters.");return s.workspaceSid=e,s.workerSid=i,s.routes=(a={},(0,n.default)(a,m,{path:l.default.join("Workspaces",s.workspaceSid,"Activities")}),(0,n.default)(a,_,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid)}),(0,n.default)(a,g,{path:l.default.join("Workspaces",s.workspaceSid,"Workers","%s")}),(0,n.default)(a,v,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Reservations","%s")}),(0,n.default)(a,p,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Reservations")}),(0,n.default)(a,E,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks")}),(0,n.default)(a,w,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks","%s")}),(0,n.default)(a,T,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Transfers")}),(0,n.default)(a,y,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"Transfers","%s")}),(0,n.default)(a,k,{path:l.default.join("Workspaces",s.workspaceSid,"Tasks","%s","Reservations","%s")}),(0,n.default)(a,S,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"WorkerChannels")}),(0,n.default)(a,R,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"CustomerParticipant")}),(0,n.default)(a,b,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"WorkerParticipant")}),(0,n.default)(a,A,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"HoldWorkerParticipant")}),(0,n.default)(a,O,{path:l.default.join("Workspaces",s.workspaceSid,"Workers",s.workerSid,"KickWorkerParticipant")}),a),s}return(0,a.default)(r)}(d.default);t.default=I},3410:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getStatusCodeFromError=function(e){var t;return null==e||null===(t=e.response)||void 0===t?void 0:t.status},t.parseTime=function(e){try{return new Date(e)}catch(e){return null}},t.validateOptions=function(e,t){for(var r in e)if(r in t&&!t[r](e[r]))throw new TypeError("Option key: ".concat(r," does not meet the required type."));return!0}},5600:(e,t,r)=>{function i(e,t){Object.defineProperties(this,{_errorData:{value:e},name:{value:e.name},message:{value:t||e.message}})}(0,r(6464).inherits)(i,Error),i.prototype.clone=function(e){return new i(this._errorData,e)},e.exports=i},3739:(e,t,r)=>{var i=r(7880);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.WORKER_LIST=t.TASK_LIST=t.TASKQUEUE_LIST=void 0;var n=i(r(8779)),a=i(r(8765)),o=i(r(7537)),s=i(r(5370)),u=i(r(9548)),c=i(r(3761)),d=i(r(7681)),l=r(568),f=i(r(1017));function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,i=(0,c.default)(e);if(t){var n=(0,c.default)(this).constructor;r=Reflect.construct(i,arguments,n)}else r=i.apply(this,arguments);return(0,u.default)(this,r)}}var p="workerList";t.WORKER_LIST=p;var v="taskQueueList";t.TASKQUEUE_LIST=v;var _="taskList";t.TASK_LIST=_;var g=function(e){(0,s.default)(r,e);var t=h(r);function r(e){var i,a;if((0,o.default)(this,r),a=t.call(this),!e)throw l.twilioErrors.INVALID_ARGUMENT.clone("Error instantiating WorkspaceRoutes class. <string>workspaceSid is required.");return a.workspaceSid=e,a.routes=(i={},(0,n.default)(i,p,{path:f.default.join("Workspaces",a.workspaceSid,"Workers")}),(0,n.default)(i,v,{path:f.default.join("Workspaces",a.workspaceSid,"TaskQueues")}),(0,n.default)(i,_,{path:f.default.join("Workspaces",a.workspaceSid,"Tasks")}),i),a}return(0,a.default)(r)}(d.default);t.default=g},7431:e=>{e.exports=require("@babel/runtime/helpers/assertThisInitialized")},9591:e=>{e.exports=require("@babel/runtime/helpers/asyncToGenerator")},7537:e=>{e.exports=require("@babel/runtime/helpers/classCallCheck")},6116:e=>{e.exports=require("@babel/runtime/helpers/classPrivateFieldGet")},8640:e=>{e.exports=require("@babel/runtime/helpers/classPrivateFieldSet")},8765:e=>{e.exports=require("@babel/runtime/helpers/createClass")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3761:e=>{e.exports=require("@babel/runtime/helpers/getPrototypeOf")},5370:e=>{e.exports=require("@babel/runtime/helpers/inherits")},7880:e=>{e.exports=require("@babel/runtime/helpers/interopRequireDefault")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},9548:e=>{e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},353:e=>{e.exports=require("@babel/runtime/helpers/slicedToArray")},9293:e=>{e.exports=require("@babel/runtime/helpers/typeof")},1307:e=>{e.exports=require("@babel/runtime/regenerator")},2167:e=>{e.exports=require("axios")},1239:e=>{e.exports=require("events")},8911:e=>{e.exports=require("graphql-ws")},5567:e=>{e.exports=require("jwt-decode")},7047:e=>{e.exports=require("lodash/difference")},8759:e=>{e.exports=require("lodash/every")},9368:e=>{e.exports=require("lodash/filter")},8274:e=>{e.exports=require("lodash/inRange")},2327:e=>{e.exports=require("lodash/isBoolean")},2297:e=>{e.exports=require("lodash/isDate")},9699:e=>{e.exports=require("lodash/isEmpty")},3498:e=>{e.exports=require("lodash/isInteger")},6069:e=>{e.exports=require("lodash/isNil")},5795:e=>{e.exports=require("lodash/isObject")},7026:e=>{e.exports=require("lodash/isString")},4159:e=>{e.exports=require("lodash/pick")},5428:e=>{e.exports=require("lodash/upperFirst")},6622:e=>{e.exports=require("loglevel")},6464:e=>{e.exports=require("util")},5352:e=>{e.exports=require("ws")},5687:e=>{e.exports=require("https")},1017:e=>{e.exports=require("path")},4147:e=>{e.exports=JSON.parse('{"name":"twilio-taskrouter","title":"Twilio TaskRouter","version":"2.0.13","description":"Twilio TaskRouter JavaScript library","homepage":"https://www.twilio.com","author":"Wanjun Li <wli@twilio.com>","contributors":["Martin Amps <martin@twilio.com>","Mehul Chopra <mchopra@twilio.com>","Alex Laird <alaird@twilio.com>"],"license":"MIT","keywords":["twilio","library","javascript","taskrouter","worker"],"files":["dist"],"main":"./dist/index.commonjs2.js","browser":"./dist/index.window.js","scripts":{"webpack":"webpack --config ./webpack.config.js --progress --mode","mocha":"mocha --require @babel/register --exit $1","clean":"rm -rf ./coverage ./dist ./node_modules","lint":"eslint ./lib ./test/integration/spec ./test/integration/index.js","test:unit":"mocha --full-trace --check-leaks --require @babel/register ./test/unit/index.js --exit","test:integration":"mocha --full-trace --check-leaks --require @babel/register -r ./test/mocha/no-unicode-reporter.js -r ./test/mocha/fetch.js ./test/integration/index.js --reporter mochawesome --reporter-options reportDir=reports,reportFilename=e2e-test-report --timeout 40000 --exit","test:integration-six-sigma":"mocha --full-trace --check-leaks --require @babel/register -r ./test/mocha/no-unicode-reporter.js -r ./test/mocha/fetch.js ./test/integration/index.js --reporter mochawesome --reporter-options reportDir=reports,reportFilename=e2e-test-report --timeout 40000 --exit -g \'@SixSigma\'","test:integration:tr:voice":"mocha --full-trace --check-leaks --require @babel/register ./test/integration/voice/index.js --timeout 40000 --exit","test:integration:voice":"mocha --full-trace --check-leaks --require @babel/register ./test/voice/index.js --timeout 40000 --exit","test:integration:media":"mocha --full-trace --check-leaks --require @babel/register ./test/media/index.js --timeout 40000 --exit","test":"yarn test:unit && yarn test:integration","build:dev":"yarn webpack development","build:prod":"yarn webpack production","build:types":"tsc && node ./scripts/types.js","prebuild":"yarn clean && yarn install","build":"yarn lint && yarn build:prod","postbuild":"yarn docs && yarn coverage","docs":"node ./scripts/docs.js ./dist/docs","coverage":"nyc --report-dir coverage --reporter lcov --reporter text-summary yarn test:unit","test:setup":"node test/integration_test_setup/IntegrationTestSetup.js","sample-app:install":"yarn --cwd sample-app install","sample-app:build":"yarn --cwd sample-app build","sample-app:start":"yarn --cwd sample-app start","sample-app:dev":"yarn --cwd sample-app dev","sample-app:lint":"yarn --cwd sample-app lint","sample-app:format":"yarn --cwd sample-app format"},"repository":{"type":"git","url":"https://github.com/twilio/twilio-taskrouter.js.git"},"dependencies":{"@babel/runtime":"7.26.10","axios":"^1.8.2","events":"3.3.0","graphql":"^14","graphql-ws":"^5.16.2","jwt-decode":"^3.1.2","lodash":"^4.17.21","loglevel":"^1.4.1","path-browserify":"^1.0.1","typed-emitter":"^2.1.0","util":"^0.12.4","ws":"^8.17.1"},"devDependencies":{"@babel/core":"^7.16.0","@babel/plugin-transform-modules-commonjs":"^7.21.2","@babel/plugin-transform-object-assign":"^7.16.0","@babel/plugin-transform-runtime":"^7.16.4","@babel/preset-env":"^7.16.4","@babel/register":"^7.16.0","@types/express":"^4.17.7","@types/qs":"^6.9.4","async-test-tools":"^1.0.7","babel-eslint":"^10.1.0","babel-loader":"^8.2.3","chai":"^4.1.2","chai-as-promised":"^7.1.1","chai-datetime":"^1.4.1","cheerio":"^1.0.0-rc.10","copy-webpack-plugin":"^6.4.1","dotenv":"16.0.1","eslint":"^7.32.0","ink-docstrap":"^1.3.2","isomorphic-fetch":"^3.0.0","jsdoc":"^3.6.7","license-info-webpack-plugin":"^1.0.0","mocha":"^9.1.3","mochawesome":"^7.1.3","mock-socket":"^7.1.0","npm":"^7.24.2","nyc":"^15.1.0","sinon":"^7.5.0","sinon-chai":"^3.5.0","twilio":"^3.71.3","twilio-sync":"^2.0.1","typescript":"^4.5.5","webpack":"^5.65.0","webpack-cli":"^4.9.1","webpack-node-externals":"^3.0.0"},"resolutions":{"nyc/**/y18n":"^4.0.1"},"engines":{"node":">=12"},"types":"./dist/types.d.ts"}')}},t={};function r(i){var n=t[i];if(void 0!==n)return n.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,r),a.exports}var i={};(()=>{var e=i,t=r(7880);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Supervisor",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"TaskRouterEventHandler",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"Worker",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"Workspace",{enumerable:!0,get:function(){return o.default}});var n=t(r(7071)),a=t(r(4981)),o=t(r(9921)),s=t(r(4634))})(),module.exports=i})();
|