testaugnitoambientsdk2 2.1.83 → 2.1.84

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.
@@ -150,7 +150,7 @@ export declare class AugnitoAmbient {
150
150
  */
151
151
  sendFeedback(JobId: string, Ratings: number, Comment?: string, Type?: string): Promise<any>;
152
152
  savePatientContext(PatientId: string, Data: string): Promise<any>;
153
- requestPatientSummary(PatientId: string, Regenerate: boolean): Promise<any>;
153
+ requestPatientSummary(PatientId: string, Regenerate: boolean, Speciality: number, VisitType: number, NoteType: number, Gender?: number, PatientAge?: number, TemplateIdSoapNote?: number): Promise<any>;
154
154
  getPatientSummary(SummaryId: string): Promise<any>;
155
155
  updatePatientSummary(SummaryId: string, Summary: string): Promise<any>;
156
156
  /**
@@ -20,7 +20,7 @@ export declare class AmbientRestAPI extends BaseAPI {
20
20
  FetchTranscription(_jobId: string): Promise<any>;
21
21
  SendFeedback(_jobId: string, _rating: number, _comments?: string, _type?: string): Promise<any>;
22
22
  SavePatientContext(patientId: string, patientContext: string): Promise<any>;
23
- RequestSummary(patientId: string, regenerate: boolean): Promise<any>;
23
+ RequestSummary(patientId: string, regenerate: boolean, speciality: number, visitType: number, noteType: number, gender?: number, patientAge?: number, templateIdSoapNote?: number): Promise<any>;
24
24
  GetSummary(summaryId: string): Promise<any>;
25
25
  UpdateSummary(summaryId: string, summaryData: string): Promise<any>;
26
26
  }
@@ -1 +1 @@
1
- function e(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}c((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class t{constructor(e){Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"wssBaseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onMetaEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.wssBaseURL=`wss://${e.server}/ambient/v1/stream-job`}prepareWSSURL(e,t,i,n,r,o){let s=this.wssBaseURL;return s+=`?filetype=${e}`,s+=`&noteparams=${t}`,s+=`&subscriptioncode=${this._config.subscriptionCode}`,s+=`&accesskey=${this._config.accessKey}`,s+=`&usertag=${this._config.userTag}`,i&&""!==i&&(s+=`&filename=${i}`),n&&""!==n&&(s+=`&jobid=${n}`),r&&""!==r&&(s+=`&parentjobid=${r}`),void 0!==o&&(s+=`&inheritparentconfig=${o}`),s}}class i{constructor(){}static get Against(){return i.instance||(i.instance=new i),i.instance}NullOrUndefined(e,t){if(null===e)throw new TypeError(`${t} is null`);if(void 0===e)throw new TypeError(`${t} is undefined`);return e}NullOrEmpty(e,t){if(!(e=i.Against.NullOrUndefined(e,t)))throw new TypeError(`${t} is empty`);return e}}var n,r,o,s,a;!function(e){e[e.SPECIALITY=1]="SPECIALITY",e[e.VISIT_TYPE=2]="VISIT_TYPE",e[e.NOTE_TYPE=3]="NOTE_TYPE",e[e.CLINICAL_CODE=4]="CLINICAL_CODE",e[e.LANGUAGE=5]="LANGUAGE",e[e.ORG_SETTINGS=7]="ORG_SETTINGS"}(n||(n={})),function(e){e[e.SoapNote=1]="SoapNote",e[e.PatientNote=2]="PatientNote",e[e.ReferralNote=3]="ReferralNote",e[e.ConsultationSummary=4]="ConsultationSummary",e[e.CDISuggestions=102]="CDISuggestions"}(r||(r={})),function(e){e.AUTH01="AUTH01",e.AUTH02="AUTH02",e.WSAUTH01="WSAUTH01",e.WSAUTH02="WSAUTH02",e.WSAUTH03="WSAUTH03",e.WSAUTH04="WSAUTH04",e.WSJOB01="WSJOB01",e.WSJOB02="WSJOB02",e.WSJOB03="WSJOB03",e.WSJOB04="WSJOB04",e.WSJOB05="WSJOB05",e.WSACC01="WSACC01",e.WSAUD01="WSAUD01",e.SDK01="SDK01",e.SDK02="SDK02",e.SDK03="SDK03",e.SDK04="SDK04",e.SDK05="SDK05",e.SDK06="SDK06",e.SDK07="SDK07",e.SDK08="SDK08",e.SDK12="SDK12",e.SDK13="SDK13",e.SDK14="SDK14",e.SDK15="SDK15",e.ERRUNKNOWN="ERRUNKNOWN"}(o||(o={}));class c extends Error{constructor(e,t){super(e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t,this.name="HttpCodedError",Object.setPrototypeOf(this,c.prototype)}}!function(e){e.Detailed="Detailed",e.Concise="Concise"}(s||(s={})),function(e){e.DashFormat="Dash-format",e.Paragraph="Paragraph"}(a||(a={}));class u{makePostRequest(t,i){return e(this,void 0,void 0,function*(){try{const n=yield fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,e.code.toString())}return yield n.json()}catch(e){throw e}})}makeGetRequest(t,i){return e(this,void 0,void 0,function*(){try{if(i){const e=new URLSearchParams(i).toString();t+=`?${e}`}const n=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,e.code.toString())}return yield n.json()}catch(e){throw e}})}makePatchRequest(t,i){return e(this,void 0,void 0,function*(){try{const n=yield fetch(t,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,n.status.toString())}return yield n.json()}catch(e){throw e instanceof c?e:new c("500",e.message||"Unexpected error")}})}}class l extends u{constructor(e){super(),Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_baseUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._baseUrl=`https://${e.server}/ambient/v1`}getURL(e){return`${this._baseUrl}${e}`}GetNoteParams(){return e(this,void 0,void 0,function*(){const e=this.getURL("/note-params"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}ListJobs(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Page Size");const e=this.getURL("/list-jobs"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PageSize:t,PageID:n,Collapse:r};return yield this.makePostRequest(e,o)})}FetchJob(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/fetch-job"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}SendFinalNote(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Note Data");const e=this.getURL("/send-final-note"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,SoapData:n};return yield this.makePostRequest(e,r)})}DeleteNotes(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/delete-job"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobIDs:t,DeleteParent:n};return yield this.makePostRequest(e,r)})}RenameNoteTitle(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Job Name");const e=this.getURL("/rename-job"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,JobName:n};return yield this.makePostRequest(e,r)})}DownloadNotePDF(t,n,r,o,s,a){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/download-pdf");var c=s;c&&""!=c||(c='{"PatientName":"","PatientID":"","Age":"","Gender":"","ReceivingDoctor":"","DoctorName":"","DoctorDesignation":"","DoctorEmail":""}');const u={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NoteType:n,Language:null!=o?o:"English",SpecialityID:r,Regenerate:null!=a&&a,PersonnelInfo:c};return yield this.makePostRequest(e,u)})}EndJob(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/end-job"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}UpdatePatientContext(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Patient Context");const e=this.getURL("/patient-context"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NewContext:n,Replace:r};return yield this.makePostRequest(e,o)})}GenerateSuggestions(t,n,r,o,s,a){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");var e=this.getURL("/cdi");a&&2===a&&(e=this.getURL("/cdi").replace("/v1","/v2"));const c={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,Regenerate:n,SoapData:r,PatientContext:o,Codes:s};return yield this.makePostRequest(e,c)})}ModifyGeneratedNote(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/modify-note"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NoteType:n,NewNote:null!=r?r:""};return yield this.makePostRequest(e,o)})}FetchTranscription(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/fetch-transcript"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}SendFeedback(t,n,r,o){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrUndefined(n,"Rating");const e=this.getURL("/feedback").replace("/v1","/v2"),s={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,Rating:n,FeedBack:null!=r?r:"",Type:null!=o?o:""};return yield this.makePostRequest(e,s)})}SavePatientContext(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Patient Id"),i.Against.NullOrEmpty(n,"Data");const e=this.getURL("/previsit/patient-context"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PatientID:t,Data:n};return yield this.makePostRequest(e,r)})}RequestSummary(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Patient Id");const e=this.getURL("/previsit/requestsummary"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PatientID:t,Regenerate:n};return yield this.makePostRequest(e,r)})}GetSummary(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Summary Id");const e=this.getURL("/previsit/getsummary"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,SummaryID:t};return yield this.makeGetRequest(e,n)})}UpdateSummary(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Summary Id"),i.Against.NullOrEmpty(n,"Summary");const e=this.getURL("/previsit/summary/update"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,SummaryID:t,Summary:n};return yield this.makePatchRequest(e,r)})}}class d{static log(e,t){const i=null!=t?t:this.defaultTag;console.log(`${i}:`,e)}static error(e,t){const i=null!=t?t:this.defaultTag;console.error(`${i}:`,e)}}function h(){h=function(){return t};var e,t={},i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(e,t,i){e[t]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,i){return e[t]=i}}function l(e,t,i,n){var o=t&&t.prototype instanceof m?t:m,s=Object.create(o.prototype),a=new D(n||[]);return r(s,"_invoke",{value:P(e,i,a)}),s}function d(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",g="suspendedYield",p="executing",v="completed",b={};function m(){}function S(){}function y(){}var C={};u(C,s,function(){return this});var k=Object.getPrototypeOf,E=k&&k(k(O([])));E&&E!==i&&n.call(E,s)&&(C=E);var I=y.prototype=m.prototype=Object.create(C);function A(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function R(e,t){function i(r,o,s,a){var c=d(e[r],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then(function(e){i("next",e,s,a)},function(e){i("throw",e,s,a)}):t.resolve(l).then(function(e){u.value=e,s(u)},function(e){return i("throw",e,s,a)})}a(c.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t(function(t,r){i(e,n,t,r)})}return o=o?o.then(r,r):r()}})}function P(t,i,n){var r=f;return function(o,s){if(r===p)throw Error("Generator is already running");if(r===v){if("throw"===o)throw s;return{value:e,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var c=w(a,n);if(c){if(c===b)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=d(t,i,n);if("normal"===u.type){if(r=n.done?v:g,u.arg===b)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=v,n.method="throw",n.arg=u.arg)}}}function w(t,i){var n=i.method,r=t.iterator[n];if(r===e)return i.delegate=null,"throw"===n&&t.iterator.return&&(i.method="return",i.arg=e,w(t,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var o=d(r,t.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,b;var s=o.arg;return s?s.done?(i[t.resultName]=s.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,b):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,b)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function O(t){if(t||""===t){var i=t[s];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function i(){for(;++r<t.length;)if(n.call(t,r))return i.value=t[r],i.done=!1,i;return i.value=e,i.done=!0,i};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return S.prototype=y,r(I,"constructor",{value:y,configurable:!0}),r(y,"constructor",{value:S,configurable:!0}),S.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,u(e,c,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},A(R.prototype),u(R.prototype,a,function(){return this}),t.AsyncIterator=R,t.async=function(e,i,n,r,o){void 0===o&&(o=Promise);var s=new R(l(e,i,n,r),o);return t.isGeneratorFunction(i)?s:s.next().then(function(e){return e.done?e.value:s.next()})},A(I),u(I,c,"Generator"),u(I,s,function(){return this}),u(I,"toString",function(){return"[object Generator]"}),t.keys=function(e){var t=Object(e),i=[];for(var n in t)i.push(n);return i.reverse(),function e(){for(;i.length;){var n=i.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=O,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(_),!t)for(var i in this)"t"===i.charAt(0)&&n.call(this,i)&&!isNaN(+i.slice(1))&&(this[i]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var i=this;function r(n,r){return a.type="throw",a.arg=t,i.next=n,r&&(i.method="next",i.arg=e),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var c=n.call(s,"catchLoc"),u=n.call(s,"finallyLoc");if(c&&u){if(this.prev<s.catchLoc)return r(s.catchLoc,!0);if(this.prev<s.finallyLoc)return r(s.finallyLoc)}else if(c){if(this.prev<s.catchLoc)return r(s.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return r(s.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,b):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),b},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),_(i),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var n=i.completion;if("throw"===n.type){var r=n.arg;_(i)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:O(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),b}},t}function f(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function g(e,t,i,n,r,o,s){try{var a=e[o](s),c=a.value}catch(e){return void i(e)}a.done?t(c):Promise.resolve(c).then(n,r)}function p(e){return function(){var t=this,i=arguments;return new Promise(function(n,r){var o=e.apply(t,i);function s(e){g(o,n,r,s,a,"next",e)}function a(e){g(o,n,r,s,a,"throw",e)}s(void 0)})}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function m(e,t,i){return t&&b(e.prototype,t),i&&b(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function y(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return S(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?S(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 o,s=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}Object.defineProperty(d,"defaultTag",{enumerable:!0,configurable:!0,writable:!0,value:"AugnitoAmbientSDK"});var C="DONE",k="PAUSESOCKET",E="RESUMESOCKET",I="INTENT_START_STREAM",A="CLOSE",R=m(function e(t,i,n,r,o,s,a,c,u,l,d,h,f,g){v(this,e),this.worker,this.onFinalResultCallback=o,this.onErrorCallback=a,this.onPartialResultCallback=s,this.onSessionEventCallback=c,this.onOtherResultsCallback=u,this.onSpeechResponseCallback=l,this.onJobStatusCallback=d,this.onWsStatusChangeCallback=g,this.packetSeqId=0,this.audioDuration=0,this.shouldSendAudioDataSequence=r,this.heavyOp,this.idleLoop,this.lastSent,this.enableLogs=t,this.eosMessage=i||"EOS",this.socketTimeoutInterval=n||1e4,this.bufferSizeInterval=h,this.switchToRegularSpeech=f},[{key:"Start",value:function(e,t,i){var n=this;this.audioDuration=e;var r="\n (() => {\n (".concat(P.toString(),")(").concat(JSON.stringify(C),", ").concat(JSON.stringify(this.eosMessage),", ").concat(JSON.stringify(A),", ").concat(JSON.stringify(1e4),", ").concat(JSON.stringify(this.socketTimeoutInterval),", ").concat(JSON.stringify(12e4),", ").concat(JSON.stringify(1e3),", ").concat(JSON.stringify(100),", ").concat(JSON.stringify(1e4),", ").concat(JSON.stringify(t),", ").concat(JSON.stringify(this.enableLogs),", ").concat(JSON.stringify(this.shouldSendAudioDataSequence),",").concat(JSON.stringify(k),", ").concat(JSON.stringify(E),", ").concat(JSON.stringify(I),", ").concat(JSON.stringify(this.switchToRegularSpeech),", ").concat(JSON.stringify(i),", ").concat(JSON.stringify(this.heavyOp),", ").concat(JSON.stringify("WS_STATUS"),");\n })();\n");this.worker=new Worker(URL.createObjectURL(new Blob([r],{type:"application/javascript"}))),this.worker.onmessage=function(e){n.enableLogs&&console.log("Augnito [MAIN]: "+JSON.stringify(e.data));var t=e.data;"final"==t.type?n.onFinalResultCallback(t.data):"partial"==t.type?n.onPartialResultCallback(t.data):"meta"==t.type?n.onSessionEventCallback(t.data):"error"==t.type?n.onErrorCallback(t.data):"other"==t.type?n.onOtherResultsCallback(t.data):"jobstatus"==t.type?n.onJobStatusCallback(t.data.status):"speechResponse"==t.type?n.onSpeechResponseCallback(t.data):"wsStatus"==t.type&&n.onWsStatusChangeCallback(t.data)}}},{key:"createAudioPacketHeader",value:function(e){this.audioDuration>0&&(this.packetSeqId=Math.ceil(this.audioDuration/this.bufferSizeInterval)+2,this.audioDuration=0),this.packetSeqId++;for(var t=new ArrayBuffer(16),i=new DataView(t),n=0;n<4;n++)i.setUint8(n,"@BSR".charCodeAt(n));return i.setBigInt64(4,BigInt(this.packetSeqId),!1),i.setUint8(12,e?1:0),t}},{key:"appendAudioData",value:function(e,t){var i=e.byteLength+t.byteLength,n=new ArrayBuffer(i),r=new Uint8Array(n);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),n}},{key:"Send",value:function(e){var t;if(this.lastSent=+new Date,e===A)null===(t=this.worker)||void 0===t||t.postMessage(A);else if(e===C)if(this.shouldSendAudioDataSequence){var i,n=this.createAudioPacketHeader(!0);null===(i=this.worker)||void 0===i||i.postMessage(n)}else{var r;null===(r=this.worker)||void 0===r||r.postMessage(C)}else if(e==k){var o;null===(o=this.worker)||void 0===o||o.postMessage(k)}else if(e==E){var s;null===(s=this.worker)||void 0===s||s.postMessage(E)}else if(e==I){var a;null===(a=this.worker)||void 0===a||a.postMessage(I)}else if(e===this.eosMessage){var c;this.shouldSendAudioDataSequence||null===(c=this.worker)||void 0===c||c.postMessage(e)}else{var u,l=[];this.shouldSendAudioDataSequence?(n=this.createAudioPacketHeader(!1),l=this.appendAudioData(n,e)):l=e,void 0!==l&&(null===(u=this.worker)||void 0===u||u.postMessage(l,[l]))}}},{key:"HeavyOp",set:function(e){this.heavyOp=e}}]);function P(e,t,i,n,r,o,s,a,c,u,l,d,h,f,g,p,v,b,m){var S,y,C,k,E,I,A,R,P,w=[],T=[],_=!1,D=[],O=!1,N=!1,x=!1,U="",L=v;function M(){S=+new Date,(I=""!=U?new WebSocket(u+"&jobid="+U):new WebSocket(u)).onopen=function(e){l&&console.log("Augnito: WebSocket connection established - "+JSON.stringify(e)),self.postMessage({type:"wsStatus",data:"OPEN"}),D.length>0&&(N=!0)},I.onmessage=function(e){l&&console.log("Augnito: Message from server - "+JSON.stringify(e.data)),C=+new Date,function(e){try{if("PING"===e.data)k=+new Date,self.postMessage({type:"ping",data:e.data});else{var t=JSON.parse(e.data);if(l&&console.log("Augnito [WORKER]: "+JSON.stringify(t)),"meta"==t.Type){t.JobID&&(U=t.JobID,console.log("Augnito JobID:",U)),self.postMessage({type:"meta",data:e.data});var i=JSON.parse(e.data);x=!(!i.Event||"INVALID_AUTH_CREDENTIALS"!==i.Event.Type)}else if(t.Result&&t.Result.Final){var n=JSON.stringify(t.Result);b&&(n=b(JSON.stringify(t.Result)),console.log(n)),self.postMessage({type:"final",data:n})}else t.Result&&!t.Result.Final?self.postMessage({type:"partial",data:t.Result.Transcript}):"ACK"==t.Type?(D=D.filter(function(e){return e.packetNumber>t.Index}),"string"==typeof t.Data&&"RECEIVED_EOS"===t.Data.toUpperCase()&&(O=!0,clearInterval(P)),self.postMessage({type:"other",data:e.data})):"ERROR"==t.Type?("Timeout exceeded"==t.Data&&(O=!0,j()),self.postMessage({type:"error",data:e.data})):"STATUS"==t.Type?self.postMessage({type:"jobstatus",data:{status:e.data}}):self.postMessage({type:"speechResponse",data:e.data})}}catch(e){self.postMessage({type:"error",data:"invalid response"})}}(e)},I.onerror=function(e){console.error("WebSocket error: ",e),self.postMessage({type:"wsStatus",data:"ERROR"}),self.postMessage({type:"error",data:JSON.stringify(e)})},I.onclose=function(e){l&&console.log("Augnito: WebSocket connection closed - "+JSON.stringify(e)),self.postMessage({type:"wsStatus",data:"CLOSED"}),j()},y=+new Date,C=y,k=+new Date}function K(e){if(I&&I.readyState===WebSocket.OPEN){I.send(e);var i=+new Date;return y<=C&&(C=i-1),y=i,!0}return e===t?(l&&console.warn("Gulping ".concat(t," as socket seems already closed...")),j(),!0):(+new Date-S>n&&!x&&M(),!1)}function J(e){w.push(e)}function j(){O&&(clearInterval(A),clearInterval(R),clearInterval(P),w=[],D=[],self.close())}M(),A=setInterval(function(){if(N){for(var e=0;e<D.length;e++){if(!K(D[e].packetData))break}N=!1}else for(;w.length>0;){var t=w.shift();if(!K(t)){w.unshift(t);break}if(d){if(!(t instanceof ArrayBuffer))continue;var i=new DataView(t),n={packetNumber:Number(i.getBigInt64(4)),packetData:t};D.push(n)}}},a),R=setInterval(function(){if(I&&I.readyState===WebSocket.OPEN){var e=+new Date;(p?y>C&&e-C>r:e-k>r)&&(l&&console.error("No data received since more than ".concat(r/1e3," secs, closing time...")),I.close())}},s),P=setInterval(function(){if(I&&I.readyState===WebSocket.OPEN){var e=+new Date;y&&e-y>o&&(l&&console.warn("No data sent since more than ".concat(o/1e3," secs, closing time...")),I.close())}},c),self.onmessage=function(n){if(n.data===i)U="",O=!0,x=!0,I.close();else if(n.data===e)J(t),U="",l&&console.log("Augnito: Worker received DONE, time to terminate..."),O=!0;else if(n.data===h)L=!0;else if(n.data===g)_=!0;else if(n.data===f){if(E instanceof ArrayBuffer&&J(E),T.length>0)for(var r=0;r<T.length;r++)J(T[r]);T=[],_=!1,L=!1,E=[]}else L&&!_?E=n.data:L&&_?T.push(n.data):J(n.data)}}var w,T,_,D,O,N,x,U,L,M,K=m(function e(t,i,n,r,o,s,a,c,u,l,d,h,f,g,p,b,m,S,y,C,k,E,I,A,P,w,T){v(this,e),this.audioContext,this.audioStream,this.executor=new R(i,s,a,c,m,S,y,k,E,I,P,r,h,T),this.executor.HeavyOp=b,this.source,this.processorNode,this.isPaused=!1,this.isStreaming=!1,this.audioData=[],this.isDebug=n,this.enableLogs=i,this.onStateChanged=C,this.onIntensity=A,this.onError=y,this.bufferSizeInterval=r,this.pausedBufferInterval=null!=o?o:1,this.shouldReadIntensity=d,this.closeSocketWithoutEOS=!1,this.shouldPreIntialiseRecorder=null!=l&&l,this.echoCancellation=f,this.noiseSuppression=g,this.autoGainControl=p,this.micNeedsRecovery=!1,this.trackEndedHandler=null,this.isRecovering=!1,this._micReadyFired=!1,this._micReadyFiredOnFirstRecovery=!1,this._deviceChangeHandling=!1,this.currentWsUrl="",this.currentDuration=0,this.deviceChangeHandler=null,this.onMicReady=w,this._originalDeviceId=null,this._originalDeviceLabel=null,this.shouldPreIntialiseRecorder&&this.InitialiseMediaStream(u,t)},[{key:"InitialiseMediaStream",value:(M=p(h().mark(function e(t,i){var n=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.currentDuration=t,this.currentWsUrl=i,e.next=4,this.createMediaStreamSourceNode();case 4:if(this.source){e.next=7;break}return console.error("Error: unable to create source node"),e.abrupt("return",!1);case 7:return e.next=9,this.createProcessorNode();case 9:if(this.processorNode){e.next=12;break}return console.error("Error: unable to create processor node"),e.abrupt("return",!1);case 12:this.source.connect(this.processorNode).connect(this.audioContext.destination),this.log("AudioContext Sample Rate: "+this.audioContext.sampleRate),""!==i&&this.executor.Start(t,i,this.shouldPreIntialiseRecorder),this.deviceChangeHandler||(this.deviceChangeHandler=p(h().mark(function e(){var t,i,r,o,s,a,c;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!n._deviceChangeHandling){e.next=2;break}return e.abrupt("return");case 2:if(n._deviceChangeHandling=!0,e.prev=3,(s=null===(t=n.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i?void 0:i.call(t)[0])&&"ended"!==s.readyState){e.next=11;break}return n.micNeedsRecovery=!0,e.next=10,n.recoverAudioGraph();case 10:return e.abrupt("return");case 11:return a=null!==(r=null===(o=s.getSettings)||void 0===o||null===(o=o.call(s))||void 0===o?void 0:o.deviceId)&&void 0!==r?r:s.label,e.next=14,J(a);case 14:if(e.sent){e.next=25;break}return n.micNeedsRecovery=!0,e.next=19,W(a,n.enableLogs);case 19:return c=e.sent,n._preferredDeviceId=c||null,e.next=23,n.recoverAudioGraph();case 23:e.next=25;break;case 25:return e.prev=25,n._deviceChangeHandling=!1,e.finish(25);case 28:case"end":return e.stop()}},e,null,[[3,,25,28]])})),navigator.mediaDevices.addEventListener("devicechange",this.deviceChangeHandler));case 16:case"end":return e.stop()}},e,this)})),function(e,t){return M.apply(this,arguments)})},{key:"StartStream",value:(L=p(h().mark(function e(t,i){var n,r;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("New stream started..."),this.shouldPreIntialiseRecorder&&this.source){e.next=6;break}return e.next=4,this.InitialiseMediaStream(t,i,!1);case 4:e.next=7;break;case 6:this.shouldPreIntialiseRecorder&&this.executor.Send(E);case 7:if(!this.IsMicrophoneMuted){e.next=15;break}if(!this.audioContext||"running"!=this.audioContext.state){e.next=11;break}return e.next=11,this.audioContext.suspend();case 11:return null===(n=this.audioStream)||void 0===n||null===(r=n.getTracks)||void 0===r||null===(r=r.call(n))||void 0===r||r.forEach(function(e){try{e.stop()}catch(e){}}),this.executor.Send(A),this.onError(JSON.stringify({Type:"ERROR",Data:"Microphone is muted."})),e.abrupt("return",!1);case 15:return this.onStateChanged(!0),this.isStreaming=!0,e.abrupt("return",!0);case 18:case"end":return e.stop()}},e,this)})),function(e,t){return L.apply(this,arguments)})},{key:"createBufferedSourceNode",value:(U=p(h().mark(function e(){var t;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.loadAudio();case 2:if(t=e.sent){e.next=6;break}return console.error("Error: unable to create audio buffer"),e.abrupt("return");case 6:this.source=this.audioContext.createBufferSource(),this.source.buffer=t,this.source.loop=!0,this.source.start();case 10:case"end":return e.stop()}},e,this)})),function(){return U.apply(this,arguments)})},{key:"createMediaStreamSourceNode",value:(x=p(h().mark(function e(){var t,i,n,r,o,s,a,c,u=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r={channelCount:1,noiseSuppression:void 0!==this.noiseSuppression&&this.noiseSuppression},void 0!==this.echoCancellation&&(r.echoCancellation=this.echoCancellation,r.googEchoCancellation=this.echoCancellation),void 0!==this.noiseSuppression&&(r.googNoiseSuppression=this.noiseSuppression),void 0!==this.autoGainControl&&(r.autoGainControl=this.autoGainControl,r.googAutoGainControl=this.autoGainControl),this._preferredDeviceId&&(r.deviceId={exact:this._preferredDeviceId}),e.next=8,navigator.mediaDevices.getUserMedia({audio:r});case 8:this.audioStream=e.sent,this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=new AudioContext),this.source=this.audioContext.createMediaStreamSource(this.audioStream),o=this.audioStream.getAudioTracks()[0],s=null!==(t=null===(i=o.getSettings)||void 0===i||null===(i=i.call(o))||void 0===i?void 0:i.deviceId)&&void 0!==t?t:"",a=null!==(n=o.label)&&void 0!==n?n:"",this._originalDeviceId||(this._originalDeviceId=s,this._originalDeviceLabel=a),this.trackEndedHandler=function(){u.log("Microphone disconnected"),u.micNeedsRecovery=!0,u.onError(JSON.stringify({Type:"ERROR",Data:"Audio track ended. Possibly the mic was unplugged."}))},o.addEventListener("ended",this.trackEndedHandler),e.next=24;break;case 19:e.prev=19,e.t0=e.catch(0),c="","NotAllowedError"==e.t0.name?c="Mic permission denied":"NotFoundError"===e.t0.name?c="No suitable media device found":"NotReadableError"===e.t0.name&&(c="Microphone is being used by another application"),this.onError(JSON.stringify({Type:"ERROR",Data:c}));case 24:case"end":return e.stop()}},e,this,[[0,19]])})),function(){return x.apply(this,arguments)})},{key:"loadAudio",value:(N=p(h().mark(function e(){var t,i,n;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("./radiology_speed_test.wav");case 3:return t=e.sent,e.next=6,t.arrayBuffer();case 6:return i=e.sent,e.next=9,this.audioContext.decodeAudioData(i);case 9:return n=e.sent,e.abrupt("return",n);case 13:return e.prev=13,e.t0=e.catch(0),console.error("Unable to fetch the audio file. Error: ".concat(e.t0.message)),e.abrupt("return",null);case 17:case"end":return e.stop()}},e,this,[[0,13]])})),function(){return N.apply(this,arguments)})},{key:"createProcessorNode",value:(O=p(h().mark(function e(){var t,i=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.audioContext.audioWorklet.addModule("data:application/javascript,".concat(encodeURIComponent('class MyAudioWorkletProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n this.accumulator = [];\n this.pauseSocketStreaming = false;\n this.sampleVal = 0;\n this.sampleSize = 0;\n this.intensityFrameCount = 0;\n this.reset();\n this.isProcessing = true;\n // message received from main-thread\n this.port.onmessage = (e) => {\n console.log("Augnito: Worklet received event - ", e.data);\n if (this.sampleSize > 0) {\n this.accumulator.push(this.sampleVal / this.sampleSize);\n }\n \n if (e.data == "PAUSE" || e.data == "STOP" || e.data == "PAUSESOCKET") {\n // append silence to get last word ASR.\n const silenceSize = 16000 * 2;\n for (let i = 0; i < silenceSize; i++) {\n const amp = 0.0003 * 0x7fff;\n this.accumulator.push((Math.random() * 2 - 1) * amp);\n }\n }\n this.send();\n this.reset();\n if (e.data == "STOP") {\n // message sent to main-thread\n this.port.postMessage({type:"DONE", value:"DONE"});\n this.isProcessing = false;\n \n }\n if(e.data == "PAUSESOCKET"){\n this.pauseSocketStreaming = true;\n this.port.postMessage("PAUSESOCKET");\n } else if(e.data == "RESUMESOCKET"){\n this.pauseSocketStreaming = false;\n } \n };\n }\n\n static get parameterDescriptors() {\n return [\n {\n name: "sampleRate",\n defaultValue: 16000,\n minValue: 16000,\n maxValue: 6 * 16000,\n },\n {\n name: "bufferSizeInterval",\n defaultValue: 1,\n minValue: 1,\n maxValue: 100,\n },\n {\n name: "pausedBufferInterval",\n defaultValue: 1,\n minValue: 0,\n maxValue: 100,\n },\n {\n name: "shouldReadIntensity",\n defaultValue: false,\n minValue: 0,\n maxValue: 1,\n },\n ];\n }\n\n // 128 frames\n process(inputList, outputList, params) {\n const input = inputList[0];\n if (input && input.length && input[0].length) {\n const channelData = input[0];\n const output = outputList[0];\n const inputSampleRate = params.sampleRate[0];\n const sampleRatio = inputSampleRate / 16000\n const bufferSizeInterval = params["bufferSizeInterval"][0];\n const pausedBufferInterval = params["pausedBufferInterval"][0];\n const shouldReadIntensity = params["shouldReadIntensity"][0];\n\n let sumSquares = 0; // For intensity\n let sampleCount = 0;\n\n // console.log("BufferSizeInterval", bufferSizeInterval);\n // Jackpot\n input[0].forEach((float32Element, index) => {\n const int16Element = Math.min(1, Math.max(-1, float32Element)) * 0x7fff;\n this.sampleVal += int16Element;\n this.sampleSize += 1;\n // Accumulate for intensity (RMS)\n sumSquares += float32Element * float32Element;\n sampleCount++;\n \n\n if (this.sampleSize >= sampleRatio) {\n const fraction = this.sampleSize - sampleRatio \n this.sampleVal -= fraction * int16Element;\n\n this.accumulator.push(this.sampleVal / sampleRatio);\n \n this.sampleVal = fraction * int16Element;\n this.sampleSize = fraction;\n }\n\n // Comment this when streaming microphone audio\n // output[0][index] = float32Element;\n });\n if(this.pauseSocketStreaming){\n if (this.accumulator.length >= 125 * 128 * pausedBufferInterval) {\n this.send();\n }\n } else{\n if (this.accumulator.length >= 125 * 128 * bufferSizeInterval) {\n this.send();\n }\n }\n if(shouldReadIntensity){\n \n // Throttled intensity post\n this.intensityFrameCount = (this.intensityFrameCount || 0) + 1;\n if (this.intensityFrameCount >= 15 && sampleCount > 0) {\n const rms = Math.sqrt(sumSquares / sampleCount);\n const normalized = Math.min(1, rms); // [0–1] scale\n this.port.postMessage({ type: \'intensity\', value: normalized });\n this.intensityFrameCount = 0;\n }\n }\n }\n return this.isProcessing;\n }\n\n send() {\n if (this.accumulator.length == 0) return;\n const audioData = new Int16Array(this.accumulator);\n // message sent to main-thread - transferrable\n this.port.postMessage({ type: \'audioData\', value: audioData.buffer }, [audioData.buffer]);\n this.accumulator = [];\n }\n\n reset() {\n this.sampleVal = 0;\n this.sampleSize = 0;\n }\n}\n\nregisterProcessor("worklet-processor", MyAudioWorkletProcessor);')));case 3:this.processorNode=new AudioWorkletNode(this.audioContext,"worklet-processor"),this.processorNode.parameters.get("sampleRate").setValueAtTime(this.audioContext.sampleRate,this.audioContext.currentTime),this.processorNode.parameters.get("bufferSizeInterval").setValueAtTime(this.bufferSizeInterval,this.audioContext.currentTime),this.processorNode.parameters.get("pausedBufferInterval").setValueAtTime(this.pausedBufferInterval,this.audioContext.currentTime),this.processorNode.parameters.get("shouldReadIntensity").setValueAtTime(null!==(t=this.shouldReadIntensity)&&void 0!==t&&t,this.audioContext.currentTime),this.processorNode.port.onmessage=function(e){var t=e.data,n=t.type,r=t.value;if(n==C)i.log("Worklet processing done, clearing resources..."),i.isDebug&&i.saveAudio(),i.cleanup();else if(e.data==k)i.executor.Send(k);else{var o;"intensity"===n?null===(o=i.onIntensity)||void 0===o||o.call(i,r):"audioData"===n&&i.isDebug&&new Int16Array(r).forEach(function(e){i.audioData.length<=288e5&&i.audioData.push(e)})}i.executor&&(i.closeSocketWithoutEOS?(i.executor.Send(A),i.closeSocketWithoutEOS=!1):"intensity"!==n&&i.executor.Send(r))},e.next=18;break;case 15:e.prev=15,e.t0=e.catch(0),console.error("Error: Unable to create worklet node: ",e.t0);case 18:case"end":return e.stop()}},e,this,[[0,15]])})),function(){return O.apply(this,arguments)})},{key:"PauseStream",value:(D=p(h().mark(function e(){return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("running"!=this.audioContext.state){e.next=9;break}if(this.shouldPreIntialiseRecorder){e.next=8;break}return e.next=4,this.audioContext.suspend();case 4:this.log("Stream paused..."),this.processorNode.port.postMessage("PAUSE"),e.next=9;break;case 8:this.processorNode.port.postMessage(k);case 9:this.onStateChanged(!1),this.isPaused=!0,this.isStreaming=!1;case 12:case"end":return e.stop()}},e,this)})),function(){return D.apply(this,arguments)})},{key:"ResumeStream",value:(_=p(h().mark(function e(){var t,i,n;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((n=null===(t=this.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i?void 0:i.call(t)[0])&&"ended"!==n.readyState&&!this.micNeedsRecovery){e.next=5;break}return e.next=5,this.recoverAudioGraph();case 5:if(!this.IsMicrophoneMuted){e.next=11;break}if(!this.audioContext||"running"!==this.audioContext.state){e.next=9;break}return e.next=9,this.audioContext.suspend();case 9:return this.onError(JSON.stringify({Type:"ERROR",Data:"Microphone is muted."})),e.abrupt("return");case 11:if(!this.shouldPreIntialiseRecorder){e.next=16;break}this.processorNode.port.postMessage(E),this.executor.Send(E),e.next=20;break;case 16:if("suspended"!==this.audioContext.state){e.next=19;break}return e.next=19,this.audioContext.resume();case 19:this.log("Stream resumed...");case 20:this.onStateChanged(!0),this.isPaused=!1,this.isStreaming=!0;case 23:case"end":return e.stop()}},e,this)})),function(){return _.apply(this,arguments)})},{key:"IsPaused",get:function(){return this.isPaused}},{key:"IsStreaming",get:function(){return this.isStreaming}},{key:"IsMicrophoneMuted",get:function(){var e,t,i=null===(e=this.audioStream)||void 0===e||null===(t=e.getAudioTracks)||void 0===t?void 0:t.call(e)[0];return!i||i.muted||"ended"===i.readyState}},{key:"StopStream",value:(T=p(h().mark(function e(t){var i,n,r,o,s,a,c,u;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("suspended"===(null===(i=this.audioContext)||void 0===i?void 0:i.state)){e.next=4;break}return e.next=3,null===(c=this.audioContext)||void 0===c?void 0:c.suspend();case 3:this.onStateChanged(!1);case 4:this.log("Stream stopped..."),this.isStreaming=!1,this.isPaused=!1,this.closeSocketWithoutEOS=!t,this.deviceChangeHandler&&(navigator.mediaDevices.removeEventListener("devicechange",this.deviceChangeHandler),this.deviceChangeHandler=null),(u=null===(n=this.audioStream)||void 0===n||null===(r=n.getAudioTracks)||void 0===r?void 0:r.call(n)[0])&&this.trackEndedHandler&&u.removeEventListener("ended",this.trackEndedHandler),this.trackEndedHandler=null,null===(o=this.audioStream)||void 0===o||null===(s=o.getTracks)||void 0===s||null===(s=s.call(o))||void 0===s||s.forEach(function(e){try{e.stop()}catch(e){}}),null===(a=this.processorNode)||void 0===a||null===(a=a.port)||void 0===a||a.postMessage("STOP");case 14:case"end":return e.stop()}},e,this)})),function(e){return T.apply(this,arguments)})},{key:"recoverAudioGraph",value:(w=p(h().mark(function e(){var t,i,n,r,o,s,a,c,u,l,d,f,g=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isRecovering){e.next=2;break}return e.abrupt("return");case 2:this.isRecovering=!0,e.prev=3,(a=null===(t=this.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i||null===(i=i.call(t))||void 0===i?void 0:i[0])&&this.trackEndedHandler&&(a.removeEventListener("ended",this.trackEndedHandler),this.trackEndedHandler=null),null===(n=this.audioStream)||void 0===n||null===(n=n.getTracks())||void 0===n||n.forEach(function(e){try{e.stop()}catch(e){}});try{null===(c=this.source)||void 0===c||c.disconnect()}catch(e){}try{null===(u=this.processorNode)||void 0===u||u.disconnect()}catch(e){}return e.next=11,this.createMediaStreamSourceNode();case 11:if(this.source){e.next=13;break}throw new Error("Failed to recreate source");case 13:if(this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=new AudioContext),"suspended"!==this.audioContext.state){e.next=17;break}return e.next=17,this.audioContext.resume();case 17:return e.next=19,this.createProcessorNode();case 19:if(this.source.connect(this.processorNode).connect(this.audioContext.destination),this.isStreaming&&!this.isPaused){e.next=24;break}if("running"!==this.audioContext.state){e.next=24;break}return e.next=24,this.audioContext.suspend();case 24:return this.micNeedsRecovery=!1,null==(l=null===(r=this.audioStream)||void 0===r||null===(o=r.getAudioTracks)||void 0===o?void 0:o.call(r)[0])||null===(s=l.getSettings)||void 0===s||null===(s=s.call(l))||void 0===s||s.deviceId,l&&l.readyState,e.next=30,navigator.mediaDevices.enumerateDevices();case 30:d=e.sent,f=d.some(function(e){return"audioinput"===e.kind&&e.label&&e.label===g._originalDeviceLabel}),!this.isPaused||this.IsMicrophoneMuted&&!f||this.onMicReady&&!this._micReadyFiredOnFirstRecovery&&(this._micReadyFiredOnFirstRecovery=!0,this.onMicReady()),e.next=39;break;case 36:e.prev=36,e.t0=e.catch(3),console.error("Recovery failed",e.t0);case 39:return e.prev=39,this.isRecovering=!1,e.finish(39);case 42:case"end":return e.stop()}},e,this,[[3,36,39,42]])})),function(){return w.apply(this,arguments)})},{key:"IntentStartStream",value:function(){this.executor.Send("INTENT_START_STREAM")}},{key:"cleanup",value:function(){var e;null===(e=this.audioStream)||void 0===e||null===(e=e.getTracks())||void 0===e||e.forEach(function(e){try{e.stop()}catch(e){}}),this.source.disconnect(),this.processorNode.disconnect(),this.processorNode.port.close(),this.audioContext.close(),this.audioData=[]}},{key:"saveAudio",value:function(){var e=this.encodeWAV(),t=URL.createObjectURL(new Blob([e],{type:"audio/wav"}));this.log("Download Recording: ".concat(t))}},{key:"getBlob",value:function(){var e=this.encodeWAV();return new Blob([e],{type:"audio/wav"})}},{key:"encodeWAV",value:function(){var e=new DataView(new ArrayBuffer(2*this.audioData.length));this.audioData.forEach(function(t,i){e.setInt16(2*i,t,!0)});var t=e.buffer.byteLength,i=44+t,n=new DataView(new ArrayBuffer(i));n.setUint32(0,1380533830,!1),n.setUint32(4,i-8,!0),n.setUint32(8,1463899717,!1),n.setUint32(12,1718449184,!1),n.setUint32(16,16,!0),n.setUint16(20,1,!0),n.setUint16(22,1,!0),n.setUint32(24,16e3,!0),n.setUint32(28,32e3,!0),n.setUint16(32,2,!0),n.setUint16(34,16,!0),n.setUint32(36,1684108385,!1),n.setUint32(40,t,!0);for(var r=0;r<t;r++)n.setInt8(44+r,e.getInt8(r));return n}},{key:"log",value:function(e){if(this.enableLogs){var t="".concat((new Date).toLocaleTimeString()," Augnito: ").concat(e);console.log(t+"\n")}}}]);function J(e){return j.apply(this,arguments)}function j(){return j=p(h().mark(function e(t){var i,n,r,o,s,a,c,u,l,d=arguments;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=d.length>1&&void 0!==d[1]?d[1]:350,n=d.length>2&&void 0!==d[2]?d[2]:.01,r=null,o=null,e.prev=4,e.next=7,navigator.mediaDevices.getUserMedia({audio:{deviceId:{exact:t},channelCount:1}});case 7:return r=e.sent,o=new AudioContext,s=o.createMediaStreamSource(r),(a=o.createAnalyser()).fftSize=256,s.connect(a),c=a.frequencyBinCount,u=new Float32Array(c),e.next=17,new Promise(function(e){var t=0,r=performance.now();requestAnimationFrame(function o(){a.getFloatTimeDomainData(u);for(var s=0,l=0;l<c;l++)s+=u[l]*u[l];var d=Math.sqrt(s/c);d>t&&(t=d),performance.now()-r<i?requestAnimationFrame(o):e(t>n)})});case 17:return e.abrupt("return",e.sent);case 20:return e.prev=20,e.t0=e.catch(4),e.abrupt("return",!1);case 23:return e.prev=23,null===(l=r)||void 0===l||l.getTracks().forEach(function(e){return e.stop()}),o&&"closed"!==o.state&&o.close().catch(function(){}),e.finish(23);case 27:case"end":return e.stop()}},e,null,[[4,20,23,27]])})),j.apply(this,arguments)}function W(e){return G.apply(this,arguments)}function G(){return(G=p(h().mark(function e(t){var i,n,r,o,s;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=1,e.next=4,navigator.mediaDevices.enumerateDevices();case 4:i=e.sent,e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(1),e.abrupt("return",null);case 10:n=i.filter(function(e){return"audioinput"===e.kind&&e.deviceId!==t}),r=y(n),e.prev=12,r.s();case 14:if((o=r.n()).done){e.next=23;break}return s=o.value,e.next=18,J(s.deviceId);case 18:if(!e.sent){e.next=21;break}return e.abrupt("return",s.deviceId);case 21:e.next=14;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(12),r.e(e.t1);case 28:return e.prev=28,r.f(),e.finish(28);case 31:return e.abrupt("return",null);case 32:case"end":return e.stop()}},e,null,[[1,7],[12,25,28,31]])}))).apply(this,arguments)}var F=function(){function e(){var t,i,n,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serverURL:"",enableLogs:!1,isDebug:!1,bufferInterval:1,pausedBufferInterval:1,EOS_Message:void 0,socketTimeoutInterval:void 0,shouldSendAudioDataSequence:!1,reconnectAudioDuration:0,shouldPreIntialiseRecorder:!1,shouldReadIntensity:!1,debounceDelay:300,switchToRegularSpeechProfile:!1,echoCancellation:void 0,noiseSuppression:void 0,autoGainControl:void 0},s=arguments.length>1?arguments[1]:void 0;if(v(this,e),e.instance)return e.instance;this.WebsocketURL=null!==(t=o.serverURL)&&void 0!==t?t:"",this.enableLogs=o.enableLogs,this.isDebug=o.isDebug,this.streamer=null,this.streamerNotStarted=!1,this.isStreamerStarting=!1,this.pendingStartStream=!1,this.heavyOp=s,this.bufferInterval=o.bufferInterval,this.pausedBufferInterval=o.pausedBufferInterval,this.eosMessage=o.EOS_Message,this.socketTimeoutInterval=o.socketTimeoutInterval,this.shouldSendAudioDataSequence=o.shouldSendAudioDataSequence,this.reconnectAudioDuration=null!==(i=o.reconnectAudioDuration)&&void 0!==i?i:0,this.shouldPreIntialiseRecorder=o.shouldPreIntialiseRecorder,this.switchToRegularSpeechProfile=null!==(n=o.switchToRegularSpeechProfile)&&void 0!==n&&n,this._echoCancellation=o.echoCancellation,this._noiseSuppression=o.noiseSuppression,this._autoGainControl=o.autoGainControl,this.shouldPreIntialiseRecorder&&(this.initialiseStreamer(),this.streamerNotStarted=!0),this.shouldReadIntensity=o.shouldReadIntensity,this.delay=null!==(r=o.debounceDelay)&&void 0!==r?r:300,this.toggleStartStopAudioStream=q(this.toggleStartStopAudioStream.bind(this),this.delay),this.togglePauseResumeAudioStream=q(this.togglePauseResumeAudioStream.bind(this),this.delay),this.needsDispose=!1,e.instance=this}return m(e,[{key:"echoCancellation",get:function(){return this._echoCancellation},set:function(e){this._echoCancellation=e,this.streamer&&(this.streamer.echoCancellation=e)}},{key:"noiseSuppression",get:function(){return this._noiseSuppression},set:function(e){this._noiseSuppression=e,this.streamer&&(this.streamer.noiseSuppression=e)}},{key:"autoGainControl",get:function(){return this._autoGainControl},set:function(e){this._autoGainControl=e,this.streamer&&(this.streamer.autoGainControl=e)}},{key:"initialiseStreamer",value:function(){this.streamer=new K(this.WebsocketURL,this.enableLogs,this.isDebug,this.bufferInterval,this.pausedBufferInterval,this.eosMessage,this.socketTimeoutInterval,this.shouldSendAudioDataSequence,this.reconnectAudioDuration,this.shouldPreIntialiseRecorder,this.shouldReadIntensity,this.switchToRegularSpeechProfile,this._echoCancellation,this._noiseSuppression,this._autoGainControl,this.heavyOp,this.onFinalResultCallback.bind(this),this.onPartialResultCallback.bind(this),this.onErrorCallback.bind(this),this.onStateChangedCallback.bind(this),this.onSessionEventCallback.bind(this),this.onOtherResultCallback.bind(this),this.onSpeechResponseCallback.bind(this),this.onIntensityCallback.bind(this),this.onJobStatusCallback.bind(this),this.onMicReadyCallback.bind(this),this.onWsStatusChangeCallback.bind(this))}},{key:"updateIntentStartStream",value:function(){var e;this.pendingStartStream=!0,null===(e=this.streamer)||void 0===e||e.IntentStartStream()}},{key:"togglePauseResumeAudioStream",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;!this.streamer||this.streamerNotStarted?(t&&(this.WebsocketURL=t),this.startAudio(e)):this.streamer.IsPaused?this.resumeAudio():this.pauseAudio()}},{key:"toggleStartStopAudioStream",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;!this.streamer||this.streamerNotStarted?(t&&(this.WebsocketURL=t),this.startAudio(e)):this.stopAudio()}},{key:"startAudio",value:(t=p(h().mark(function e(t){return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isStreamerStarting){e.next=2;break}return e.abrupt("return");case 2:return this.isStreamerStarting=!0,this.shouldPreIntialiseRecorder&&this.streamer||this.initialiseStreamer(),e.prev=4,e.next=7,this.streamer.StartStream(t,this.WebsocketURL);case 7:e.sent?(this.streamerNotStarted=!1,this.log("Stream Started...")):this.streamer=null;case 9:return e.prev=9,this.isStreamerStarting=!1,e.finish(9);case 12:case"end":return e.stop()}},e,this,[[4,,9,12]])})),function(e){return t.apply(this,arguments)})},{key:"pauseAudio",value:function(){this.streamer.PauseStream(),this.log("Stream Paused...")}},{key:"resumeAudio",value:function(){this.streamer.ResumeStream(),this.enableLogs&&this.log("Stream Resumed...")}},{key:"stopAudio",value:function(){var e,t,i=this,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(null!==(e=this.streamer)&&void 0!==e&&e.IsStreaming||r)&&(null===(t=this.streamer)||void 0===t||t.StopStream(n),this.streamer=null,this.log("Stream Stopped..."),this.shouldPreIntialiseRecorder&&setTimeout(function(){i.needsDispose?i.needsDispose=!1:(i.initialiseStreamer(),i.streamerNotStarted=!0)},500))}},{key:"getBlob",value:function(){var e=this.streamer.getBlob();return this.log("Blob Sent..."),e}},{key:"log",value:function(e){if(this.enableLogs){var t="".concat((new Date).toLocaleTimeString()," Augnito: ").concat(e);this.showLogCallback(t+"\n")}}},{key:"dispose",value:function(){var t;this.needsDispose=!0,null===(t=this.streamer)||void 0===t||t.StopStream(!1),this.streamer=null,e.instance=null}},{key:"onSessionEventCallback",value:function(e){this.onSessionEvent&&this.onSessionEvent(e)}},{key:"onStateChangedCallback",value:function(e){this.onStateChanged&&this.onStateChanged(e)}},{key:"onIntensityCallback",value:function(e){this.onIntensity&&this.onIntensity(e)}},{key:"onErrorCallback",value:function(e){this.onError&&this.onError(e)}},{key:"onPartialResultCallback",value:function(e){this.onPartialResult&&this.onPartialResult(e)}},{key:"onFinalResultCallback",value:function(e){this.onFinalResult&&this.onFinalResult(e)}},{key:"onOtherResultCallback",value:function(e){this.onOtherResults&&this.onOtherResults(e)}},{key:"onSpeechResponseCallback",value:function(e){this.onSpeechResponse&&this.onSpeechResponse(e)}},{key:"onJobStatusCallback",value:function(e){this.onJobStatus&&this.onJobStatus(e)}},{key:"onMicReadyCallback",value:function(){this.onMicReady&&this.onMicReady()}},{key:"onWsStatusChangeCallback",value:function(e){this.onSocketStatusChange&&(this.onSocketStatusChange(e),console.log("onWsStatusChangeCallback called with statusData:",e))}},{key:"showLogCallback",value:function(e){this.showLog&&this.showLog(e)}}]);var t}();function q(e,t){var i;return function(){for(var n=this,r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];i&&clearTimeout(i),i=setTimeout(function(){return e.apply(n,o)},t)}}class B extends u{constructor(e){super(),Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_baseUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._baseUrl=`https://${e.server}/pace/v1/sdk`}getURL(e){return`${this._baseUrl}${e}`}getNoteParams(){return e(this,void 0,void 0,function*(){const e=this.getURL("/noteparams"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}getSettingsConfigMaster(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/configmaster"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}getOrgConfigMapping(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/configmapping").replace("/v1","/v2"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}getUserConfigSettings(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/userconfigmapping"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}updateUserConfig(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/userconfigmapping"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,UserConfigMapping:t};return yield this.makePatchRequest(e,i)})}getUserPreferences(){return e(this,void 0,void 0,function*(){const e=this.getURL("/getuserpreferences"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}updateUserPreference(t,i,n,r,o,s){return e(this,void 0,void 0,function*(){const e=this.getURL("/postuserpreferences"),a={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,UserPreferences:{AutomaticallyGenerateTranscript:t,PreferredTranscriptionLanguage:i,HighlightMedicalTerms:n,DisplayPatientContext:r,NoteOutputStyle:o,NoteOutputVerbosity:s}};return yield this.makePostRequest(e,a)})}}const H="Invalid user details, please check again",z="Subscription is not valid.",V="invalid request. Please make sure AccessKey, SubscriptionCode and UserTag is sent along with the request",$="Active seat is not available for user",Y="Unable to fetch account details, please try again.",Q="Unable to fetch job details, please try again.",X="Job not reconnectable",Z="Timeout exceeded",ee="Rate Limit Exceeded, Please try again in sometime!",te="Audio Signal is power very LOW, Mic might be muted",ie="Job Id is empty",ne="Page Size is undefined",re="Note Data is empty",oe="Job Name is empty",se="Patient Context is empty",ae="Mic permission denied",ce="Microphone is muted",ue="Audio track ended. Possibly the mic was unplugged",le="Internet is not available. Try again later.",de="Feedback is not enabled. Please contact administrator for more details.",he="Automatic Transcription is not enabled for the organisation",fe="Resume job is not enabled for the organisation";class ge{static isBrowserOnline(){return"undefined"!=typeof navigator&&!0===navigator.onLine}static isValidHttpUrl(e){if("string"!=typeof e||e.length>2048)return!1;try{const t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&(!t.username&&!t.password)}catch(e){return!1}}static hasInternetConnection(){return e(this,arguments,void 0,function*(e={url:null,timeoutMs:null}){var t=e.url||ge.DEFAULT_URL;const i=e.timeoutMs||ge.DEFAULT_TIMEOUT;if(!ge.isBrowserOnline())return!1;ge.isValidHttpUrl(t)||(t=ge.DEFAULT_URL);const n=new AbortController,r=setTimeout(()=>n.abort(),i);try{return yield fetch(t,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:n.signal}),!0}catch(e){return!1}finally{clearTimeout(r)}})}static isOnline(t){return e(this,void 0,void 0,function*(){return ge.hasInternetConnection(t)})}}Object.defineProperty(ge,"DEFAULT_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://www.google.com/favicon.ico"}),Object.defineProperty(ge,"DEFAULT_TIMEOUT",{enumerable:!0,configurable:!0,writable:!0,value:5e3});class pe{constructor(e){Object.defineProperty(this,"_logTag",{enumerable:!0,configurable:!0,writable:!0,value:"Augnito-Ambient"}),Object.defineProperty(this,"_ambientRestAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_ambientPaceAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enableLog",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shouldReadAudioIntensity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"recorderIns",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forceStopAudio",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isRecording",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"echoCancellation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"noiseSuppression",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoGainControl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobCreated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onStateChanged",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onOtherResult",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onIntensityValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onIdleMic",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSoapNoteGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onTranscriptGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onCodesGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onMicRecoveredAfterUnplugged",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobEOSSuccessful",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSocketStatusChange",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._ambientRestAPI=new l(this.validateConfig(e)),this._ambientPaceAPI=new B(e),this.config=this.createSocketConfig(e),this.enableLog=e.enableLogs,this.shouldReadAudioIntensity=e.shouldReadAudioIntensity,this.echoCancellation=e.echoCancellation,this.noiseSuppression=e.noiseSuppression,this.autoGainControl=e.autoGainControl}initRecorder(e){var t,i,n,r,o;this.recorderIns=new F({serverURL:e,enableLogs:null!==(t=this.enableLog)&&void 0!==t&&t,isDebug:null!==(i=this.enableLog)&&void 0!==i&&i,bufferInterval:15,EOS_Message:'{"JobAction": "EOS","Status": 0,"Type": "meta"}',socketTimeoutInterval:2e4,shouldSendAudioDataSequence:!0,shouldReadIntensity:this.shouldReadAudioIntensity,echoCancellation:this.echoCancellation,noiseSuppression:this.noiseSuppression,autoGainControl:this.autoGainControl}),this.recorderIns.echoCancellation=null!==(n=this.echoCancellation)&&void 0!==n&&n,this.recorderIns.noiseSuppression=null!==(r=this.noiseSuppression)&&void 0!==r&&r,this.recorderIns.autoGainControl=null!==(o=this.autoGainControl)&&void 0!==o&&o,this.recorderIns.onError=this.onErrorCallback.bind(this),this.recorderIns.onStateChanged=this.onStateChangeCallback.bind(this),this.recorderIns.onSessionEvent=this.onSessionEventCallback.bind(this),this.recorderIns.onOtherResults=this.onOtherResultsCallback.bind(this),this.recorderIns.onIntensity=this.onIntensityCallback.bind(this),this.recorderIns.onSpeechResponse=this.onSpeechResponseCallback.bind(this),this.recorderIns.onJobStatus=this.onJobStatusEventCallback.bind(this),this.recorderIns.onMicReady=this.onMicRecoveredAfterUnpluggedCallback.bind(this),this.recorderIns.onSocketStatusChange=this.onSocketStatusChangeCallback.bind(this)}getNoteParams(){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getNoteParams();if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getAllNotes(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.ListJobs(t,i,null==n||n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getSummarizedNote(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.FetchJob(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}sendSummarizedNote(t,i){return e(this,void 0,void 0,function*(){try{return this._ambientRestAPI?yield this._ambientRestAPI.SendFinalNote(t,i):void d.error("SDK not initialized",this._logTag)}catch(e){this.handleException(e)}})}toggleListening(t,i,r,o,s,a,c){return e(this,void 0,void 0,function*(){var e,u;if(void 0!==a&&""!==a.trim()){var l=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==l?void 0:l.Items)&&l.Items.length>0&&l.Items[0].Settings)if(!l.Items[0].Settings.find(e=>300===e.ID))return void this.onErrorCallback(fe)}var d=(null===(e=this.config)||void 0===e?void 0:e.prepareWSSURL(t,i,r,o,a,c))||"";this.recorderIns||this.initRecorder(d),null===(u=this.recorderIns)||void 0===u||u.toggleStartStopAudioStream(s,d)})}togglePauseResumeListening(t,i,r,o,s,a,c){return e(this,void 0,void 0,function*(){var e,u;if(void 0!==a&&""!==a.trim()){var l=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==l?void 0:l.Items)&&l.Items.length>0&&l.Items[0].Settings)if(!l.Items[0].Settings.find(e=>300===e.ID))return void this.onErrorCallback(fe)}var d=(null===(e=this.config)||void 0===e?void 0:e.prepareWSSURL(t,i,r,o,a,c))||"";this.recorderIns||this.initRecorder(d),null===(u=this.recorderIns)||void 0===u||u.togglePauseResumeAudioStream(s,d)})}startListening(){var e;null===(e=this.recorderIns)||void 0===e||e.startAudio()}stopListening(){var e;null===(e=this.recorderIns)||void 0===e||e.stopAudio(!0,!0)}deleteNotes(t,i){return e(this,void 0,void 0,function*(){var e;try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var n=yield this._ambientRestAPI.DeleteNotes(t,i);if(n){if(200===n.Status)return null===(e=this.recorderIns)||void 0===e||e.stopAudio(!1,!0),n;this.onErrorCallback(n.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}renameNoteTitle(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.RenameNoteTitle(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getNotePDF(t,i,n,r,o,s){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.DownloadNotePDF(t,i,n,r,o,s);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}endPausedJob(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.EndJob(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}generateCDISuggestions(t,i,r,o,s){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=1,a=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==a?void 0:a.Items)&&a.Items.length>0&&a.Items[0].Settings){var c=a.Items[0].Settings.find(e=>209===e.ID);c&&(e=Number.parseInt(c.ConfigValue))}var u=yield this._ambientRestAPI.GenerateSuggestions(t,i,r,s,o,e);if(u){if(200===u.Status)return u;this.onErrorCallback(u.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updatePatientContext(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.UpdatePatientContext(t,i,n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}modifyGeneratedNote(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.ModifyGeneratedNote(t,i,n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}fetchTranscriptionForNote(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);if((yield this._ambientPaceAPI.getUserPreferences()).Items[0].AutomaticTranscriptionEnabledForOrg){var e=yield this._ambientRestAPI.FetchTranscription(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}else this.onErrorCallback(he)}catch(e){this.handleException(e)}})}sendFeedback(t,i,n,r){return e(this,void 0,void 0,function*(){var e,o;try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var s=yield this._ambientPaceAPI.getUserPreferences();if((null===(e=s.Items[0])||void 0===e?void 0:e.FeedbackEnabledForOrg)&&(null===(o=s.Items[0])||void 0===o?void 0:o.FeedbackEnabled)){var a=yield this._ambientRestAPI.SendFeedback(t,i,null!=n?n:"",null!=r?r:"SOAPFeedBack");if(a){if(200===a.Status)return a;this.onErrorCallback(a.ServerMessage)}else this.onErrorCallback("Unknown Error!")}else this.onErrorCallback(de)}catch(e){this.handleException(e)}})}savePatientContext(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.SavePatientContext(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}requestPatientSummary(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.RequestSummary(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getPatientSummary(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.GetSummary(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updatePatientSummary(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.UpdateSummary(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getUserConfiguration(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getUserConfigSettings(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getOrgConfiguration(){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updateUserConfiguration(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.updateUserConfig(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getUserPreferenceSettings(){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getUserPreferences();if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updateUserPreferenceSettings(t){return e(this,void 0,void 0,function*(){var e,i,n,r,o,c;try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var u=yield this._ambientPaceAPI.updateUserPreference(null!==(e=t.AutomaticallyGenerateTranscript)&&void 0!==e&&e,null!==(i=t.PreferredTranscriptionLanguage)&&void 0!==i?i:"English",null!==(n=t.HighlightMedicalTerms)&&void 0!==n&&n,null!==(r=t.DisplayPatientContext)&&void 0!==r&&r,null!==(o=t.NoteOutputStyle)&&void 0!==o?o:a.DashFormat,null!==(c=t.NoteOutputVerbosity)&&void 0!==c?c:s.Detailed);if(u){if(200===u.Status)return u;this.onErrorCallback(u.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}isInternetAvailable(t){return e(this,void 0,void 0,function*(){const e=yield ge.isOnline(t);return e||this.onErrorCallback(le),e})}onEventCallback(e){this.onJobCreated&&this.onJobCreated(e)}onStateChangeCallback(e){var t;if(this.forceStopAudio)return null===(t=this.recorderIns)||void 0===t||t.stopAudio(!1,!0),void(this.forceStopAudio=!1);this._isRecording=e,this.onStateChanged&&this.onStateChanged(e)}handleException(e){if(e instanceof TypeError)this.onErrorCallback(e.message);else{if(e instanceof c)throw e;d.error(e.message,this._logTag)}}onErrorCallback(e,t){var i,n,r,s,a,c,u,l,h,f,g,p,v,b,m,S,y={ErrorCode:null!=t?t:o.ERRUNKNOWN,ErrorMessage:e};try{var C=JSON.parse(e);y.ErrorMessage=C.Data,C.Data===Z?(this.stopListening(),d.error("Recording time limit exceeded",this._logTag),y.ErrorCode=o.WSJOB05):C.Data===H?(this._isRecording?null===(i=this.recorderIns)||void 0===i||i.stopAudio(!1,!0):this.forceStopAudio=!0,y.ErrorCode=o.WSAUTH03):C.Data.includes(Y)?y.ErrorCode=o.WSAUTH04:C.Data.includes(Q)?y.ErrorCode=o.WSJOB01:C.Data.includes(X)?y.ErrorCode=o.WSJOB02:C.Data.includes(ee)?y.ErrorCode=o.WSACC01:C.Data.includes(te)&&(y.ErrorCode=o.WSAUD01)}catch(e){}(null===(n=y.ErrorMessage)||void 0===n?void 0:n.includes(ie))?y.ErrorCode=o.SDK01:(null===(r=y.ErrorMessage)||void 0===r?void 0:r.includes(ne))?y.ErrorCode=o.SDK02:(null===(s=y.ErrorMessage)||void 0===s?void 0:s.includes(re))?y.ErrorCode=o.SDK03:(null===(a=y.ErrorMessage)||void 0===a?void 0:a.includes(oe))?y.ErrorCode=o.SDK04:(null===(c=y.ErrorMessage)||void 0===c?void 0:c.includes(se))?y.ErrorCode=o.SDK05:(null===(u=y.ErrorMessage)||void 0===u?void 0:u.includes(ae))?y.ErrorCode=o.SDK06:(null===(l=y.ErrorMessage)||void 0===l?void 0:l.includes(ce))?y.ErrorCode=o.SDK07:(null===(h=y.ErrorMessage)||void 0===h?void 0:h.includes(ue))?y.ErrorCode=o.SDK08:(null===(f=y.ErrorMessage)||void 0===f?void 0:f.includes(z))||(null===(g=y.ErrorMessage)||void 0===g?void 0:g.includes(V))?y.ErrorCode=o.AUTH01:(null===(p=y.ErrorMessage)||void 0===p?void 0:p.includes($))?y.ErrorCode=o.AUTH02:(null===(v=y.ErrorMessage)||void 0===v?void 0:v.includes(le))?y.ErrorCode=o.SDK12:(null===(b=y.ErrorMessage)||void 0===b?void 0:b.includes(he))?y.ErrorCode=o.SDK13:(null===(m=y.ErrorMessage)||void 0===m?void 0:m.includes(de))?y.ErrorCode=o.SDK14:(null===(S=y.ErrorMessage)||void 0===S?void 0:S.includes(fe))&&(y.ErrorCode=o.SDK15),this.onError&&this.onError(y)}onOtherResultsCallback(e){var t=JSON.parse(e);t.Data.toUpperCase().includes("RECEIVED_EOS")&&this.onJobEOSSuccessful?this.onJobEOSSuccessful(t.JobID):this.onOtherResult&&this.onOtherResult(e)}onIntensityCallback(e){this.onIntensityValue&&this.onIntensityValue(e)}onIdleMicCallback(){this.onIdleMic&&this.onIdleMic()}onSpeechResponseCallback(e){var t=JSON.parse(e);"note"===t.Type.toLowerCase()&&this.onSoapNoteGenerated?this.onSoapNoteGenerated(t.Data):"transcript"===t.Type.toLowerCase()&&this.onTranscriptGenerated?this.onTranscriptGenerated(t.Data):"codes"===t.Type.toLowerCase()&&this.onCodesGenerated&&this.onCodesGenerated(t.Data)}onJobStatusEventCallback(e){this.onJobStatus&&this.onJobStatus(e)}onMicRecoveredAfterUnpluggedCallback(){this.onMicRecoveredAfterUnplugged&&this.onMicRecoveredAfterUnplugged()}onSocketStatusChangeCallback(e){this.onSocketStatusChange&&this.onSocketStatusChange(e)}onSessionEventCallback(e){var t;if(!e)return;let i;try{i="string"==typeof e?JSON.parse(e):e}catch(e){return void d.error(`Error parsing session event data: ${e}`,this._logTag)}if(!i||!("Type"in i))return;if("meta"===i.Type.toLowerCase()&&(null===(t=this.config)||void 0===t?void 0:t.onMetaEvent)){if(!i.JobID)return void d.error("JobID is missing in meta event",this._logTag);this.config.onMetaEvent(i.JobID)}else"error"===i.Type.toLowerCase()&&i.Data&&this.onErrorCallback(i.Data);if("object"!=typeof i.Event||null===i.Event)return;const{Type:n,Value:r}=i.Event;n&&("SESSION_CREATED"===n&&r?d.log(`session Token ${r}`,this._logTag):"SERVICE_DOWN"===n?d.error(n,this._logTag):"NO_DICTATION_STOP_MIC"===n?(d.log("NO_DICTATION_STOP_MIC",this._logTag),this.onIdleMicCallback()):"INVALID_AUTH_CREDENTIALS"===n?d.error("INVALID_AUTH_CREDENTIALS",this._logTag):"LOW_BANDWIDTH"===n&&d.log("LOW_BANDWIDTH: Check internet connection",this._logTag))}validateConfig(e){return i.Against.NullOrEmpty(e.server,"Server"),i.Against.NullOrEmpty(e.subscriptionCode,"SubscriptionCode"),i.Against.NullOrEmpty(e.accessKey,"AccessKey"),i.Against.NullOrEmpty(e.userTag,"UserTag"),e}createSocketConfig(e){const i=new t(e);return i.onError=this.onErrorCallback.bind(this),i.onMetaEvent=this.onEventCallback.bind(this),i}}export{pe as AugnitoAmbient,o as ErrorCodes,c as HttpCodedError,a as NoteOutputStyleConfig,r as NoteTypeConfig,s as NoteVerbosityConfig,n as SettingsConfigType};
1
+ function e(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}c((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class t{constructor(e){Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"wssBaseURL",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onMetaEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.wssBaseURL=`wss://${e.server}/ambient/v1/stream-job`}prepareWSSURL(e,t,i,n,r,o){let s=this.wssBaseURL;return s+=`?filetype=${e}`,s+=`&noteparams=${t}`,s+=`&subscriptioncode=${this._config.subscriptionCode}`,s+=`&accesskey=${this._config.accessKey}`,s+=`&usertag=${this._config.userTag}`,i&&""!==i&&(s+=`&filename=${i}`),n&&""!==n&&(s+=`&jobid=${n}`),r&&""!==r&&(s+=`&parentjobid=${r}`),void 0!==o&&(s+=`&inheritparentconfig=${o}`),s}}class i{constructor(){}static get Against(){return i.instance||(i.instance=new i),i.instance}NullOrUndefined(e,t){if(null===e)throw new TypeError(`${t} is null`);if(void 0===e)throw new TypeError(`${t} is undefined`);return e}NullOrEmpty(e,t){if(!(e=i.Against.NullOrUndefined(e,t)))throw new TypeError(`${t} is empty`);return e}}var n,r,o,s,a;!function(e){e[e.SPECIALITY=1]="SPECIALITY",e[e.VISIT_TYPE=2]="VISIT_TYPE",e[e.NOTE_TYPE=3]="NOTE_TYPE",e[e.CLINICAL_CODE=4]="CLINICAL_CODE",e[e.LANGUAGE=5]="LANGUAGE",e[e.ORG_SETTINGS=7]="ORG_SETTINGS"}(n||(n={})),function(e){e[e.SoapNote=1]="SoapNote",e[e.PatientNote=2]="PatientNote",e[e.ReferralNote=3]="ReferralNote",e[e.ConsultationSummary=4]="ConsultationSummary",e[e.CDISuggestions=102]="CDISuggestions"}(r||(r={})),function(e){e.AUTH01="AUTH01",e.AUTH02="AUTH02",e.WSAUTH01="WSAUTH01",e.WSAUTH02="WSAUTH02",e.WSAUTH03="WSAUTH03",e.WSAUTH04="WSAUTH04",e.WSJOB01="WSJOB01",e.WSJOB02="WSJOB02",e.WSJOB03="WSJOB03",e.WSJOB04="WSJOB04",e.WSJOB05="WSJOB05",e.WSACC01="WSACC01",e.WSAUD01="WSAUD01",e.SDK01="SDK01",e.SDK02="SDK02",e.SDK03="SDK03",e.SDK04="SDK04",e.SDK05="SDK05",e.SDK06="SDK06",e.SDK07="SDK07",e.SDK08="SDK08",e.SDK12="SDK12",e.SDK13="SDK13",e.SDK14="SDK14",e.SDK15="SDK15",e.ERRUNKNOWN="ERRUNKNOWN"}(o||(o={}));class c extends Error{constructor(e,t){super(e),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=t,this.name="HttpCodedError",Object.setPrototypeOf(this,c.prototype)}}!function(e){e.Detailed="Detailed",e.Concise="Concise"}(s||(s={})),function(e){e.DashFormat="Dash-format",e.Paragraph="Paragraph"}(a||(a={}));class u{makePostRequest(t,i){return e(this,void 0,void 0,function*(){try{const n=yield fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,e.code.toString())}return yield n.json()}catch(e){throw e}})}makeGetRequest(t,i){return e(this,void 0,void 0,function*(){try{if(i){const e=new URLSearchParams(i).toString();t+=`?${e}`}const n=yield fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,e.code.toString())}return yield n.json()}catch(e){throw e}})}makePatchRequest(t,i){return e(this,void 0,void 0,function*(){try{const n=yield fetch(t,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!n.ok){const t=yield n.text();var e=JSON.parse(t);throw new c(e.message,n.status.toString())}return yield n.json()}catch(e){throw e instanceof c?e:new c("500",e.message||"Unexpected error")}})}}class l extends u{constructor(e){super(),Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_baseUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._baseUrl=`https://${e.server}/ambient/v1`}getURL(e){return`${this._baseUrl}${e}`}GetNoteParams(){return e(this,void 0,void 0,function*(){const e=this.getURL("/note-params"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}ListJobs(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Page Size");const e=this.getURL("/list-jobs"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PageSize:t,PageID:n,Collapse:r};return yield this.makePostRequest(e,o)})}FetchJob(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/fetch-job"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}SendFinalNote(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Note Data");const e=this.getURL("/send-final-note"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,SoapData:n};return yield this.makePostRequest(e,r)})}DeleteNotes(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/delete-job"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobIDs:t,DeleteParent:n};return yield this.makePostRequest(e,r)})}RenameNoteTitle(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Job Name");const e=this.getURL("/rename-job"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,JobName:n};return yield this.makePostRequest(e,r)})}DownloadNotePDF(t,n,r,o,s,a){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/download-pdf");var c=s;c&&""!=c||(c='{"PatientName":"","PatientID":"","Age":"","Gender":"","ReceivingDoctor":"","DoctorName":"","DoctorDesignation":"","DoctorEmail":""}');const u={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NoteType:n,Language:null!=o?o:"English",SpecialityID:r,Regenerate:null!=a&&a,PersonnelInfo:c};return yield this.makePostRequest(e,u)})}EndJob(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/end-job"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}UpdatePatientContext(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrEmpty(n,"Patient Context");const e=this.getURL("/patient-context"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NewContext:n,Replace:r};return yield this.makePostRequest(e,o)})}GenerateSuggestions(t,n,r,o,s,a){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");var e=this.getURL("/cdi");a&&2===a&&(e=this.getURL("/cdi").replace("/v1","/v2"));const c={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,Regenerate:n,SoapData:r,PatientContext:o,Codes:s};return yield this.makePostRequest(e,c)})}ModifyGeneratedNote(t,n,r){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/modify-note"),o={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,NoteType:n,NewNote:null!=r?r:""};return yield this.makePostRequest(e,o)})}FetchTranscription(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id");const e=this.getURL("/fetch-transcript"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t};return yield this.makePostRequest(e,n)})}SendFeedback(t,n,r,o){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Job Id"),i.Against.NullOrUndefined(n,"Rating");const e=this.getURL("/feedback").replace("/v1","/v2"),s={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,JobID:t,Rating:n,FeedBack:null!=r?r:"",Type:null!=o?o:""};return yield this.makePostRequest(e,s)})}SavePatientContext(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Patient Id"),i.Against.NullOrEmpty(n,"Data");const e=this.getURL("/previsit/patient-context"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PatientID:t,Data:n};return yield this.makePostRequest(e,r)})}RequestSummary(t,n,r,o,s,a,c,u){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Patient Id");const e=this.getURL("/previsit/requestsummary"),l={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,PatientID:t,Regenerate:n,Speciality:r,VisitType:o,NoteType:s,Gender:a,PatientAge:c,TemplateIdSoapNote:u};return yield this.makePostRequest(e,l)})}GetSummary(t){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Summary Id");const e=this.getURL("/previsit/getsummary"),n={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,SummaryID:t};return yield this.makeGetRequest(e,n)})}UpdateSummary(t,n){return e(this,void 0,void 0,function*(){i.Against.NullOrEmpty(t,"Summary Id"),i.Against.NullOrEmpty(n,"Summary");const e=this.getURL("/previsit/summary/update"),r={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,SummaryID:t,Summary:n};return yield this.makePatchRequest(e,r)})}}class d{static log(e,t){const i=null!=t?t:this.defaultTag;console.log(`${i}:`,e)}static error(e,t){const i=null!=t?t:this.defaultTag;console.error(`${i}:`,e)}}function h(){h=function(){return t};var e,t={},i=Object.prototype,n=i.hasOwnProperty,r=Object.defineProperty||function(e,t,i){e[t]=i.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,i){return e[t]=i}}function l(e,t,i,n){var o=t&&t.prototype instanceof m?t:m,s=Object.create(o.prototype),a=new D(n||[]);return r(s,"_invoke",{value:P(e,i,a)}),s}function d(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var f="suspendedStart",g="suspendedYield",p="executing",v="completed",b={};function m(){}function S(){}function y(){}var C={};u(C,s,function(){return this});var k=Object.getPrototypeOf,E=k&&k(k(O([])));E&&E!==i&&n.call(E,s)&&(C=E);var I=y.prototype=m.prototype=Object.create(C);function A(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function R(e,t){function i(r,o,s,a){var c=d(e[r],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then(function(e){i("next",e,s,a)},function(e){i("throw",e,s,a)}):t.resolve(l).then(function(e){u.value=e,s(u)},function(e){return i("throw",e,s,a)})}a(c.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t(function(t,r){i(e,n,t,r)})}return o=o?o.then(r,r):r()}})}function P(t,i,n){var r=f;return function(o,s){if(r===p)throw Error("Generator is already running");if(r===v){if("throw"===o)throw s;return{value:e,done:!0}}for(n.method=o,n.arg=s;;){var a=n.delegate;if(a){var c=T(a,n);if(c){if(c===b)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var u=d(t,i,n);if("normal"===u.type){if(r=n.done?v:g,u.arg===b)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=v,n.method="throw",n.arg=u.arg)}}}function T(t,i){var n=i.method,r=t.iterator[n];if(r===e)return i.delegate=null,"throw"===n&&t.iterator.return&&(i.method="return",i.arg=e,T(t,i),"throw"===i.method)||"return"!==n&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var o=d(r,t.iterator,i.arg);if("throw"===o.type)return i.method="throw",i.arg=o.arg,i.delegate=null,b;var s=o.arg;return s?s.done?(i[t.resultName]=s.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=e),i.delegate=null,b):s:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,b)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function O(t){if(t||""===t){var i=t[s];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function i(){for(;++r<t.length;)if(n.call(t,r))return i.value=t[r],i.done=!1,i;return i.value=e,i.done=!0,i};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return S.prototype=y,r(I,"constructor",{value:y,configurable:!0}),r(y,"constructor",{value:S,configurable:!0}),S.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,u(e,c,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},A(R.prototype),u(R.prototype,a,function(){return this}),t.AsyncIterator=R,t.async=function(e,i,n,r,o){void 0===o&&(o=Promise);var s=new R(l(e,i,n,r),o);return t.isGeneratorFunction(i)?s:s.next().then(function(e){return e.done?e.value:s.next()})},A(I),u(I,c,"Generator"),u(I,s,function(){return this}),u(I,"toString",function(){return"[object Generator]"}),t.keys=function(e){var t=Object(e),i=[];for(var n in t)i.push(n);return i.reverse(),function e(){for(;i.length;){var n=i.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=O,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(_),!t)for(var i in this)"t"===i.charAt(0)&&n.call(this,i)&&!isNaN(+i.slice(1))&&(this[i]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var i=this;function r(n,r){return a.type="throw",a.arg=t,i.next=n,r&&(i.method="next",i.arg=e),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var s=this.tryEntries[o],a=s.completion;if("root"===s.tryLoc)return r("end");if(s.tryLoc<=this.prev){var c=n.call(s,"catchLoc"),u=n.call(s,"finallyLoc");if(c&&u){if(this.prev<s.catchLoc)return r(s.catchLoc,!0);if(this.prev<s.finallyLoc)return r(s.finallyLoc)}else if(c){if(this.prev<s.catchLoc)return r(s.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return r(s.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;i>=0;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,b):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),b},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),_(i),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var n=i.completion;if("throw"===n.type){var r=n.arg;_(i)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,i,n){return this.delegate={iterator:O(t),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=e),b}},t}function f(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function g(e,t,i,n,r,o,s){try{var a=e[o](s),c=a.value}catch(e){return void i(e)}a.done?t(c):Promise.resolve(c).then(n,r)}function p(e){return function(){var t=this,i=arguments;return new Promise(function(n,r){var o=e.apply(t,i);function s(e){g(o,n,r,s,a,"next",e)}function a(e){g(o,n,r,s,a,"throw",e)}s(void 0)})}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,f(n.key),n)}}function m(e,t,i){return t&&b(e.prototype,t),i&&b(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function y(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return S(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?S(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}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 o,s=!0,a=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}Object.defineProperty(d,"defaultTag",{enumerable:!0,configurable:!0,writable:!0,value:"AugnitoAmbientSDK"});var C="DONE",k="PAUSESOCKET",E="RESUMESOCKET",I="INTENT_START_STREAM",A="CLOSE",R=m(function e(t,i,n,r,o,s,a,c,u,l,d,h,f,g){v(this,e),this.worker,this.onFinalResultCallback=o,this.onErrorCallback=a,this.onPartialResultCallback=s,this.onSessionEventCallback=c,this.onOtherResultsCallback=u,this.onSpeechResponseCallback=l,this.onJobStatusCallback=d,this.onWsStatusChangeCallback=g,this.packetSeqId=0,this.audioDuration=0,this.shouldSendAudioDataSequence=r,this.heavyOp,this.idleLoop,this.lastSent,this.enableLogs=t,this.eosMessage=i||"EOS",this.socketTimeoutInterval=n||1e4,this.bufferSizeInterval=h,this.switchToRegularSpeech=f},[{key:"Start",value:function(e,t,i){var n=this;this.audioDuration=e;var r="\n (() => {\n (".concat(P.toString(),")(").concat(JSON.stringify(C),", ").concat(JSON.stringify(this.eosMessage),", ").concat(JSON.stringify(A),", ").concat(JSON.stringify(1e4),", ").concat(JSON.stringify(this.socketTimeoutInterval),", ").concat(JSON.stringify(12e4),", ").concat(JSON.stringify(1e3),", ").concat(JSON.stringify(100),", ").concat(JSON.stringify(1e4),", ").concat(JSON.stringify(t),", ").concat(JSON.stringify(this.enableLogs),", ").concat(JSON.stringify(this.shouldSendAudioDataSequence),",").concat(JSON.stringify(k),", ").concat(JSON.stringify(E),", ").concat(JSON.stringify(I),", ").concat(JSON.stringify(this.switchToRegularSpeech),", ").concat(JSON.stringify(i),", ").concat(JSON.stringify(this.heavyOp),", ").concat(JSON.stringify("WS_STATUS"),");\n })();\n");this.worker=new Worker(URL.createObjectURL(new Blob([r],{type:"application/javascript"}))),this.worker.onmessage=function(e){n.enableLogs&&console.log("Augnito [MAIN]: "+JSON.stringify(e.data));var t=e.data;"final"==t.type?n.onFinalResultCallback(t.data):"partial"==t.type?n.onPartialResultCallback(t.data):"meta"==t.type?n.onSessionEventCallback(t.data):"error"==t.type?n.onErrorCallback(t.data):"other"==t.type?n.onOtherResultsCallback(t.data):"jobstatus"==t.type?n.onJobStatusCallback(t.data.status):"speechResponse"==t.type?n.onSpeechResponseCallback(t.data):"wsStatus"==t.type&&n.onWsStatusChangeCallback(t.data)}}},{key:"createAudioPacketHeader",value:function(e){this.audioDuration>0&&(this.packetSeqId=Math.ceil(this.audioDuration/this.bufferSizeInterval)+2,this.audioDuration=0),this.packetSeqId++;for(var t=new ArrayBuffer(16),i=new DataView(t),n=0;n<4;n++)i.setUint8(n,"@BSR".charCodeAt(n));return i.setBigInt64(4,BigInt(this.packetSeqId),!1),i.setUint8(12,e?1:0),t}},{key:"appendAudioData",value:function(e,t){var i=e.byteLength+t.byteLength,n=new ArrayBuffer(i),r=new Uint8Array(n);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),n}},{key:"Send",value:function(e){var t;if(this.lastSent=+new Date,e===A)null===(t=this.worker)||void 0===t||t.postMessage(A);else if(e===C)if(this.shouldSendAudioDataSequence){var i,n=this.createAudioPacketHeader(!0);null===(i=this.worker)||void 0===i||i.postMessage(n)}else{var r;null===(r=this.worker)||void 0===r||r.postMessage(C)}else if(e==k){var o;null===(o=this.worker)||void 0===o||o.postMessage(k)}else if(e==E){var s;null===(s=this.worker)||void 0===s||s.postMessage(E)}else if(e==I){var a;null===(a=this.worker)||void 0===a||a.postMessage(I)}else if(e===this.eosMessage){var c;this.shouldSendAudioDataSequence||null===(c=this.worker)||void 0===c||c.postMessage(e)}else{var u,l=[];this.shouldSendAudioDataSequence?(n=this.createAudioPacketHeader(!1),l=this.appendAudioData(n,e)):l=e,void 0!==l&&(null===(u=this.worker)||void 0===u||u.postMessage(l,[l]))}}},{key:"HeavyOp",set:function(e){this.heavyOp=e}}]);function P(e,t,i,n,r,o,s,a,c,u,l,d,h,f,g,p,v,b,m){var S,y,C,k,E,I,A,R,P,T=[],w=[],_=!1,D=[],O=!1,N=!1,x=!1,U="",L=v;function M(){S=+new Date,(I=""!=U?new WebSocket(u+"&jobid="+U):new WebSocket(u)).onopen=function(e){l&&console.log("Augnito: WebSocket connection established - "+JSON.stringify(e)),self.postMessage({type:"wsStatus",data:"OPEN"}),D.length>0&&(N=!0)},I.onmessage=function(e){l&&console.log("Augnito: Message from server - "+JSON.stringify(e.data)),C=+new Date,function(e){try{if("PING"===e.data)k=+new Date,self.postMessage({type:"ping",data:e.data});else{var t=JSON.parse(e.data);if(l&&console.log("Augnito [WORKER]: "+JSON.stringify(t)),"meta"==t.Type){t.JobID&&(U=t.JobID,console.log("Augnito JobID:",U)),self.postMessage({type:"meta",data:e.data});var i=JSON.parse(e.data);x=!(!i.Event||"INVALID_AUTH_CREDENTIALS"!==i.Event.Type)}else if(t.Result&&t.Result.Final){var n=JSON.stringify(t.Result);b&&(n=b(JSON.stringify(t.Result)),console.log(n)),self.postMessage({type:"final",data:n})}else t.Result&&!t.Result.Final?self.postMessage({type:"partial",data:t.Result.Transcript}):"ACK"==t.Type?(D=D.filter(function(e){return e.packetNumber>t.Index}),"string"==typeof t.Data&&"RECEIVED_EOS"===t.Data.toUpperCase()&&(O=!0,clearInterval(P)),self.postMessage({type:"other",data:e.data})):"ERROR"==t.Type?("Timeout exceeded"==t.Data&&(O=!0,j()),self.postMessage({type:"error",data:e.data})):"STATUS"==t.Type?self.postMessage({type:"jobstatus",data:{status:e.data}}):self.postMessage({type:"speechResponse",data:e.data})}}catch(e){self.postMessage({type:"error",data:"invalid response"})}}(e)},I.onerror=function(e){console.error("WebSocket error: ",e),self.postMessage({type:"wsStatus",data:"ERROR"}),self.postMessage({type:"error",data:JSON.stringify(e)})},I.onclose=function(e){l&&console.log("Augnito: WebSocket connection closed - "+JSON.stringify(e)),self.postMessage({type:"wsStatus",data:"CLOSED"}),j()},y=+new Date,C=y,k=+new Date}function K(e){if(I&&I.readyState===WebSocket.OPEN){I.send(e);var i=+new Date;return y<=C&&(C=i-1),y=i,!0}return e===t?(l&&console.warn("Gulping ".concat(t," as socket seems already closed...")),j(),!0):(+new Date-S>n&&!x&&M(),!1)}function J(e){T.push(e)}function j(){O&&(clearInterval(A),clearInterval(R),clearInterval(P),T=[],D=[],self.close())}M(),A=setInterval(function(){if(N){for(var e=0;e<D.length;e++){if(!K(D[e].packetData))break}N=!1}else for(;T.length>0;){var t=T.shift();if(!K(t)){T.unshift(t);break}if(d){if(!(t instanceof ArrayBuffer))continue;var i=new DataView(t),n={packetNumber:Number(i.getBigInt64(4)),packetData:t};D.push(n)}}},a),R=setInterval(function(){if(I&&I.readyState===WebSocket.OPEN){var e=+new Date;(p?y>C&&e-C>r:e-k>r)&&(l&&console.error("No data received since more than ".concat(r/1e3," secs, closing time...")),I.close())}},s),P=setInterval(function(){if(I&&I.readyState===WebSocket.OPEN){var e=+new Date;y&&e-y>o&&(l&&console.warn("No data sent since more than ".concat(o/1e3," secs, closing time...")),I.close())}},c),self.onmessage=function(n){if(n.data===i)U="",O=!0,x=!0,I.close();else if(n.data===e)J(t),U="",l&&console.log("Augnito: Worker received DONE, time to terminate..."),O=!0;else if(n.data===h)L=!0;else if(n.data===g)_=!0;else if(n.data===f){if(E instanceof ArrayBuffer&&J(E),w.length>0)for(var r=0;r<w.length;r++)J(w[r]);w=[],_=!1,L=!1,E=[]}else L&&!_?E=n.data:L&&_?w.push(n.data):J(n.data)}}var T,w,_,D,O,N,x,U,L,M,K=m(function e(t,i,n,r,o,s,a,c,u,l,d,h,f,g,p,b,m,S,y,C,k,E,I,A,P,T,w){v(this,e),this.audioContext,this.audioStream,this.executor=new R(i,s,a,c,m,S,y,k,E,I,P,r,h,w),this.executor.HeavyOp=b,this.source,this.processorNode,this.isPaused=!1,this.isStreaming=!1,this.audioData=[],this.isDebug=n,this.enableLogs=i,this.onStateChanged=C,this.onIntensity=A,this.onError=y,this.bufferSizeInterval=r,this.pausedBufferInterval=null!=o?o:1,this.shouldReadIntensity=d,this.closeSocketWithoutEOS=!1,this.shouldPreIntialiseRecorder=null!=l&&l,this.echoCancellation=f,this.noiseSuppression=g,this.autoGainControl=p,this.micNeedsRecovery=!1,this.trackEndedHandler=null,this.isRecovering=!1,this._micReadyFired=!1,this._micReadyFiredOnFirstRecovery=!1,this._deviceChangeHandling=!1,this.currentWsUrl="",this.currentDuration=0,this.deviceChangeHandler=null,this.onMicReady=T,this._originalDeviceId=null,this._originalDeviceLabel=null,this.shouldPreIntialiseRecorder&&this.InitialiseMediaStream(u,t)},[{key:"InitialiseMediaStream",value:(M=p(h().mark(function e(t,i){var n=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.currentDuration=t,this.currentWsUrl=i,e.next=4,this.createMediaStreamSourceNode();case 4:if(this.source){e.next=7;break}return console.error("Error: unable to create source node"),e.abrupt("return",!1);case 7:return e.next=9,this.createProcessorNode();case 9:if(this.processorNode){e.next=12;break}return console.error("Error: unable to create processor node"),e.abrupt("return",!1);case 12:this.source.connect(this.processorNode).connect(this.audioContext.destination),this.log("AudioContext Sample Rate: "+this.audioContext.sampleRate),""!==i&&this.executor.Start(t,i,this.shouldPreIntialiseRecorder),this.deviceChangeHandler||(this.deviceChangeHandler=p(h().mark(function e(){var t,i,r,o,s,a,c;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!n._deviceChangeHandling){e.next=2;break}return e.abrupt("return");case 2:if(n._deviceChangeHandling=!0,e.prev=3,(s=null===(t=n.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i?void 0:i.call(t)[0])&&"ended"!==s.readyState){e.next=11;break}return n.micNeedsRecovery=!0,e.next=10,n.recoverAudioGraph();case 10:return e.abrupt("return");case 11:return a=null!==(r=null===(o=s.getSettings)||void 0===o||null===(o=o.call(s))||void 0===o?void 0:o.deviceId)&&void 0!==r?r:s.label,e.next=14,J(a);case 14:if(e.sent){e.next=25;break}return n.micNeedsRecovery=!0,e.next=19,W(a,n.enableLogs);case 19:return c=e.sent,n._preferredDeviceId=c||null,e.next=23,n.recoverAudioGraph();case 23:e.next=25;break;case 25:return e.prev=25,n._deviceChangeHandling=!1,e.finish(25);case 28:case"end":return e.stop()}},e,null,[[3,,25,28]])})),navigator.mediaDevices.addEventListener("devicechange",this.deviceChangeHandler));case 16:case"end":return e.stop()}},e,this)})),function(e,t){return M.apply(this,arguments)})},{key:"StartStream",value:(L=p(h().mark(function e(t,i){var n,r;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("New stream started..."),this.shouldPreIntialiseRecorder&&this.source){e.next=6;break}return e.next=4,this.InitialiseMediaStream(t,i,!1);case 4:e.next=7;break;case 6:this.shouldPreIntialiseRecorder&&this.executor.Send(E);case 7:if(!this.IsMicrophoneMuted){e.next=15;break}if(!this.audioContext||"running"!=this.audioContext.state){e.next=11;break}return e.next=11,this.audioContext.suspend();case 11:return null===(n=this.audioStream)||void 0===n||null===(r=n.getTracks)||void 0===r||null===(r=r.call(n))||void 0===r||r.forEach(function(e){try{e.stop()}catch(e){}}),this.executor.Send(A),this.onError(JSON.stringify({Type:"ERROR",Data:"Microphone is muted."})),e.abrupt("return",!1);case 15:return this.onStateChanged(!0),this.isStreaming=!0,e.abrupt("return",!0);case 18:case"end":return e.stop()}},e,this)})),function(e,t){return L.apply(this,arguments)})},{key:"createBufferedSourceNode",value:(U=p(h().mark(function e(){var t;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.loadAudio();case 2:if(t=e.sent){e.next=6;break}return console.error("Error: unable to create audio buffer"),e.abrupt("return");case 6:this.source=this.audioContext.createBufferSource(),this.source.buffer=t,this.source.loop=!0,this.source.start();case 10:case"end":return e.stop()}},e,this)})),function(){return U.apply(this,arguments)})},{key:"createMediaStreamSourceNode",value:(x=p(h().mark(function e(){var t,i,n,r,o,s,a,c,u=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r={channelCount:1,noiseSuppression:void 0!==this.noiseSuppression&&this.noiseSuppression},void 0!==this.echoCancellation&&(r.echoCancellation=this.echoCancellation,r.googEchoCancellation=this.echoCancellation),void 0!==this.noiseSuppression&&(r.googNoiseSuppression=this.noiseSuppression),void 0!==this.autoGainControl&&(r.autoGainControl=this.autoGainControl,r.googAutoGainControl=this.autoGainControl),this._preferredDeviceId&&(r.deviceId={exact:this._preferredDeviceId}),e.next=8,navigator.mediaDevices.getUserMedia({audio:r});case 8:this.audioStream=e.sent,this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=new AudioContext),this.source=this.audioContext.createMediaStreamSource(this.audioStream),o=this.audioStream.getAudioTracks()[0],s=null!==(t=null===(i=o.getSettings)||void 0===i||null===(i=i.call(o))||void 0===i?void 0:i.deviceId)&&void 0!==t?t:"",a=null!==(n=o.label)&&void 0!==n?n:"",this._originalDeviceId||(this._originalDeviceId=s,this._originalDeviceLabel=a),this.trackEndedHandler=function(){u.log("Microphone disconnected"),u.micNeedsRecovery=!0,u.onError(JSON.stringify({Type:"ERROR",Data:"Audio track ended. Possibly the mic was unplugged."}))},o.addEventListener("ended",this.trackEndedHandler),e.next=24;break;case 19:e.prev=19,e.t0=e.catch(0),c="","NotAllowedError"==e.t0.name?c="Mic permission denied":"NotFoundError"===e.t0.name?c="No suitable media device found":"NotReadableError"===e.t0.name&&(c="Microphone is being used by another application"),this.onError(JSON.stringify({Type:"ERROR",Data:c}));case 24:case"end":return e.stop()}},e,this,[[0,19]])})),function(){return x.apply(this,arguments)})},{key:"loadAudio",value:(N=p(h().mark(function e(){var t,i,n;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,fetch("./radiology_speed_test.wav");case 3:return t=e.sent,e.next=6,t.arrayBuffer();case 6:return i=e.sent,e.next=9,this.audioContext.decodeAudioData(i);case 9:return n=e.sent,e.abrupt("return",n);case 13:return e.prev=13,e.t0=e.catch(0),console.error("Unable to fetch the audio file. Error: ".concat(e.t0.message)),e.abrupt("return",null);case 17:case"end":return e.stop()}},e,this,[[0,13]])})),function(){return N.apply(this,arguments)})},{key:"createProcessorNode",value:(O=p(h().mark(function e(){var t,i=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.audioContext.audioWorklet.addModule("data:application/javascript,".concat(encodeURIComponent('class MyAudioWorkletProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n this.accumulator = [];\n this.pauseSocketStreaming = false;\n this.sampleVal = 0;\n this.sampleSize = 0;\n this.intensityFrameCount = 0;\n this.reset();\n this.isProcessing = true;\n // message received from main-thread\n this.port.onmessage = (e) => {\n console.log("Augnito: Worklet received event - ", e.data);\n if (this.sampleSize > 0) {\n this.accumulator.push(this.sampleVal / this.sampleSize);\n }\n \n if (e.data == "PAUSE" || e.data == "STOP" || e.data == "PAUSESOCKET") {\n // append silence to get last word ASR.\n const silenceSize = 16000 * 2;\n for (let i = 0; i < silenceSize; i++) {\n const amp = 0.0003 * 0x7fff;\n this.accumulator.push((Math.random() * 2 - 1) * amp);\n }\n }\n this.send();\n this.reset();\n if (e.data == "STOP") {\n // message sent to main-thread\n this.port.postMessage({type:"DONE", value:"DONE"});\n this.isProcessing = false;\n \n }\n if(e.data == "PAUSESOCKET"){\n this.pauseSocketStreaming = true;\n this.port.postMessage("PAUSESOCKET");\n } else if(e.data == "RESUMESOCKET"){\n this.pauseSocketStreaming = false;\n } \n };\n }\n\n static get parameterDescriptors() {\n return [\n {\n name: "sampleRate",\n defaultValue: 16000,\n minValue: 16000,\n maxValue: 6 * 16000,\n },\n {\n name: "bufferSizeInterval",\n defaultValue: 1,\n minValue: 1,\n maxValue: 100,\n },\n {\n name: "pausedBufferInterval",\n defaultValue: 1,\n minValue: 0,\n maxValue: 100,\n },\n {\n name: "shouldReadIntensity",\n defaultValue: false,\n minValue: 0,\n maxValue: 1,\n },\n ];\n }\n\n // 128 frames\n process(inputList, outputList, params) {\n const input = inputList[0];\n if (input && input.length && input[0].length) {\n const channelData = input[0];\n const output = outputList[0];\n const inputSampleRate = params.sampleRate[0];\n const sampleRatio = inputSampleRate / 16000\n const bufferSizeInterval = params["bufferSizeInterval"][0];\n const pausedBufferInterval = params["pausedBufferInterval"][0];\n const shouldReadIntensity = params["shouldReadIntensity"][0];\n\n let sumSquares = 0; // For intensity\n let sampleCount = 0;\n\n // console.log("BufferSizeInterval", bufferSizeInterval);\n // Jackpot\n input[0].forEach((float32Element, index) => {\n const int16Element = Math.min(1, Math.max(-1, float32Element)) * 0x7fff;\n this.sampleVal += int16Element;\n this.sampleSize += 1;\n // Accumulate for intensity (RMS)\n sumSquares += float32Element * float32Element;\n sampleCount++;\n \n\n if (this.sampleSize >= sampleRatio) {\n const fraction = this.sampleSize - sampleRatio \n this.sampleVal -= fraction * int16Element;\n\n this.accumulator.push(this.sampleVal / sampleRatio);\n \n this.sampleVal = fraction * int16Element;\n this.sampleSize = fraction;\n }\n\n // Comment this when streaming microphone audio\n // output[0][index] = float32Element;\n });\n if(this.pauseSocketStreaming){\n if (this.accumulator.length >= 125 * 128 * pausedBufferInterval) {\n this.send();\n }\n } else{\n if (this.accumulator.length >= 125 * 128 * bufferSizeInterval) {\n this.send();\n }\n }\n if(shouldReadIntensity){\n \n // Throttled intensity post\n this.intensityFrameCount = (this.intensityFrameCount || 0) + 1;\n if (this.intensityFrameCount >= 15 && sampleCount > 0) {\n const rms = Math.sqrt(sumSquares / sampleCount);\n const normalized = Math.min(1, rms); // [0–1] scale\n this.port.postMessage({ type: \'intensity\', value: normalized });\n this.intensityFrameCount = 0;\n }\n }\n }\n return this.isProcessing;\n }\n\n send() {\n if (this.accumulator.length == 0) return;\n const audioData = new Int16Array(this.accumulator);\n // message sent to main-thread - transferrable\n this.port.postMessage({ type: \'audioData\', value: audioData.buffer }, [audioData.buffer]);\n this.accumulator = [];\n }\n\n reset() {\n this.sampleVal = 0;\n this.sampleSize = 0;\n }\n}\n\nregisterProcessor("worklet-processor", MyAudioWorkletProcessor);')));case 3:this.processorNode=new AudioWorkletNode(this.audioContext,"worklet-processor"),this.processorNode.parameters.get("sampleRate").setValueAtTime(this.audioContext.sampleRate,this.audioContext.currentTime),this.processorNode.parameters.get("bufferSizeInterval").setValueAtTime(this.bufferSizeInterval,this.audioContext.currentTime),this.processorNode.parameters.get("pausedBufferInterval").setValueAtTime(this.pausedBufferInterval,this.audioContext.currentTime),this.processorNode.parameters.get("shouldReadIntensity").setValueAtTime(null!==(t=this.shouldReadIntensity)&&void 0!==t&&t,this.audioContext.currentTime),this.processorNode.port.onmessage=function(e){var t=e.data,n=t.type,r=t.value;if(n==C)i.log("Worklet processing done, clearing resources..."),i.isDebug&&i.saveAudio(),i.cleanup();else if(e.data==k)i.executor.Send(k);else{var o;"intensity"===n?null===(o=i.onIntensity)||void 0===o||o.call(i,r):"audioData"===n&&i.isDebug&&new Int16Array(r).forEach(function(e){i.audioData.length<=288e5&&i.audioData.push(e)})}i.executor&&(i.closeSocketWithoutEOS?(i.executor.Send(A),i.closeSocketWithoutEOS=!1):"intensity"!==n&&i.executor.Send(r))},e.next=18;break;case 15:e.prev=15,e.t0=e.catch(0),console.error("Error: Unable to create worklet node: ",e.t0);case 18:case"end":return e.stop()}},e,this,[[0,15]])})),function(){return O.apply(this,arguments)})},{key:"PauseStream",value:(D=p(h().mark(function e(){return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("running"!=this.audioContext.state){e.next=9;break}if(this.shouldPreIntialiseRecorder){e.next=8;break}return e.next=4,this.audioContext.suspend();case 4:this.log("Stream paused..."),this.processorNode.port.postMessage("PAUSE"),e.next=9;break;case 8:this.processorNode.port.postMessage(k);case 9:this.onStateChanged(!1),this.isPaused=!0,this.isStreaming=!1;case 12:case"end":return e.stop()}},e,this)})),function(){return D.apply(this,arguments)})},{key:"ResumeStream",value:(_=p(h().mark(function e(){var t,i,n;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((n=null===(t=this.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i?void 0:i.call(t)[0])&&"ended"!==n.readyState&&!this.micNeedsRecovery){e.next=5;break}return e.next=5,this.recoverAudioGraph();case 5:if(!this.IsMicrophoneMuted){e.next=11;break}if(!this.audioContext||"running"!==this.audioContext.state){e.next=9;break}return e.next=9,this.audioContext.suspend();case 9:return this.onError(JSON.stringify({Type:"ERROR",Data:"Microphone is muted."})),e.abrupt("return");case 11:if(!this.shouldPreIntialiseRecorder){e.next=16;break}this.processorNode.port.postMessage(E),this.executor.Send(E),e.next=20;break;case 16:if("suspended"!==this.audioContext.state){e.next=19;break}return e.next=19,this.audioContext.resume();case 19:this.log("Stream resumed...");case 20:this.onStateChanged(!0),this.isPaused=!1,this.isStreaming=!0;case 23:case"end":return e.stop()}},e,this)})),function(){return _.apply(this,arguments)})},{key:"IsPaused",get:function(){return this.isPaused}},{key:"IsStreaming",get:function(){return this.isStreaming}},{key:"IsMicrophoneMuted",get:function(){var e,t,i=null===(e=this.audioStream)||void 0===e||null===(t=e.getAudioTracks)||void 0===t?void 0:t.call(e)[0];return!i||i.muted||"ended"===i.readyState}},{key:"StopStream",value:(w=p(h().mark(function e(t){var i,n,r,o,s,a,c,u;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("suspended"===(null===(i=this.audioContext)||void 0===i?void 0:i.state)){e.next=4;break}return e.next=3,null===(c=this.audioContext)||void 0===c?void 0:c.suspend();case 3:this.onStateChanged(!1);case 4:this.log("Stream stopped..."),this.isStreaming=!1,this.isPaused=!1,this.closeSocketWithoutEOS=!t,this.deviceChangeHandler&&(navigator.mediaDevices.removeEventListener("devicechange",this.deviceChangeHandler),this.deviceChangeHandler=null),(u=null===(n=this.audioStream)||void 0===n||null===(r=n.getAudioTracks)||void 0===r?void 0:r.call(n)[0])&&this.trackEndedHandler&&u.removeEventListener("ended",this.trackEndedHandler),this.trackEndedHandler=null,null===(o=this.audioStream)||void 0===o||null===(s=o.getTracks)||void 0===s||null===(s=s.call(o))||void 0===s||s.forEach(function(e){try{e.stop()}catch(e){}}),null===(a=this.processorNode)||void 0===a||null===(a=a.port)||void 0===a||a.postMessage("STOP");case 14:case"end":return e.stop()}},e,this)})),function(e){return w.apply(this,arguments)})},{key:"recoverAudioGraph",value:(T=p(h().mark(function e(){var t,i,n,r,o,s,a,c,u,l,d,f,g=this;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isRecovering){e.next=2;break}return e.abrupt("return");case 2:this.isRecovering=!0,e.prev=3,(a=null===(t=this.audioStream)||void 0===t||null===(i=t.getAudioTracks)||void 0===i||null===(i=i.call(t))||void 0===i?void 0:i[0])&&this.trackEndedHandler&&(a.removeEventListener("ended",this.trackEndedHandler),this.trackEndedHandler=null),null===(n=this.audioStream)||void 0===n||null===(n=n.getTracks())||void 0===n||n.forEach(function(e){try{e.stop()}catch(e){}});try{null===(c=this.source)||void 0===c||c.disconnect()}catch(e){}try{null===(u=this.processorNode)||void 0===u||u.disconnect()}catch(e){}return e.next=11,this.createMediaStreamSourceNode();case 11:if(this.source){e.next=13;break}throw new Error("Failed to recreate source");case 13:if(this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=new AudioContext),"suspended"!==this.audioContext.state){e.next=17;break}return e.next=17,this.audioContext.resume();case 17:return e.next=19,this.createProcessorNode();case 19:if(this.source.connect(this.processorNode).connect(this.audioContext.destination),this.isStreaming&&!this.isPaused){e.next=24;break}if("running"!==this.audioContext.state){e.next=24;break}return e.next=24,this.audioContext.suspend();case 24:return this.micNeedsRecovery=!1,null==(l=null===(r=this.audioStream)||void 0===r||null===(o=r.getAudioTracks)||void 0===o?void 0:o.call(r)[0])||null===(s=l.getSettings)||void 0===s||null===(s=s.call(l))||void 0===s||s.deviceId,l&&l.readyState,e.next=30,navigator.mediaDevices.enumerateDevices();case 30:d=e.sent,f=d.some(function(e){return"audioinput"===e.kind&&e.label&&e.label===g._originalDeviceLabel}),!this.isPaused||this.IsMicrophoneMuted&&!f||this.onMicReady&&!this._micReadyFiredOnFirstRecovery&&(this._micReadyFiredOnFirstRecovery=!0,this.onMicReady()),e.next=39;break;case 36:e.prev=36,e.t0=e.catch(3),console.error("Recovery failed",e.t0);case 39:return e.prev=39,this.isRecovering=!1,e.finish(39);case 42:case"end":return e.stop()}},e,this,[[3,36,39,42]])})),function(){return T.apply(this,arguments)})},{key:"IntentStartStream",value:function(){this.executor.Send("INTENT_START_STREAM")}},{key:"cleanup",value:function(){var e;null===(e=this.audioStream)||void 0===e||null===(e=e.getTracks())||void 0===e||e.forEach(function(e){try{e.stop()}catch(e){}}),this.source.disconnect(),this.processorNode.disconnect(),this.processorNode.port.close(),this.audioContext.close(),this.audioData=[]}},{key:"saveAudio",value:function(){var e=this.encodeWAV(),t=URL.createObjectURL(new Blob([e],{type:"audio/wav"}));this.log("Download Recording: ".concat(t))}},{key:"getBlob",value:function(){var e=this.encodeWAV();return new Blob([e],{type:"audio/wav"})}},{key:"encodeWAV",value:function(){var e=new DataView(new ArrayBuffer(2*this.audioData.length));this.audioData.forEach(function(t,i){e.setInt16(2*i,t,!0)});var t=e.buffer.byteLength,i=44+t,n=new DataView(new ArrayBuffer(i));n.setUint32(0,1380533830,!1),n.setUint32(4,i-8,!0),n.setUint32(8,1463899717,!1),n.setUint32(12,1718449184,!1),n.setUint32(16,16,!0),n.setUint16(20,1,!0),n.setUint16(22,1,!0),n.setUint32(24,16e3,!0),n.setUint32(28,32e3,!0),n.setUint16(32,2,!0),n.setUint16(34,16,!0),n.setUint32(36,1684108385,!1),n.setUint32(40,t,!0);for(var r=0;r<t;r++)n.setInt8(44+r,e.getInt8(r));return n}},{key:"log",value:function(e){if(this.enableLogs){var t="".concat((new Date).toLocaleTimeString()," Augnito: ").concat(e);console.log(t+"\n")}}}]);function J(e){return j.apply(this,arguments)}function j(){return j=p(h().mark(function e(t){var i,n,r,o,s,a,c,u,l,d=arguments;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=d.length>1&&void 0!==d[1]?d[1]:350,n=d.length>2&&void 0!==d[2]?d[2]:.01,r=null,o=null,e.prev=4,e.next=7,navigator.mediaDevices.getUserMedia({audio:{deviceId:{exact:t},channelCount:1}});case 7:return r=e.sent,o=new AudioContext,s=o.createMediaStreamSource(r),(a=o.createAnalyser()).fftSize=256,s.connect(a),c=a.frequencyBinCount,u=new Float32Array(c),e.next=17,new Promise(function(e){var t=0,r=performance.now();requestAnimationFrame(function o(){a.getFloatTimeDomainData(u);for(var s=0,l=0;l<c;l++)s+=u[l]*u[l];var d=Math.sqrt(s/c);d>t&&(t=d),performance.now()-r<i?requestAnimationFrame(o):e(t>n)})});case 17:return e.abrupt("return",e.sent);case 20:return e.prev=20,e.t0=e.catch(4),e.abrupt("return",!1);case 23:return e.prev=23,null===(l=r)||void 0===l||l.getTracks().forEach(function(e){return e.stop()}),o&&"closed"!==o.state&&o.close().catch(function(){}),e.finish(23);case 27:case"end":return e.stop()}},e,null,[[4,20,23,27]])})),j.apply(this,arguments)}function W(e){return G.apply(this,arguments)}function G(){return(G=p(h().mark(function e(t){var i,n,r,o,s;return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=1,e.next=4,navigator.mediaDevices.enumerateDevices();case 4:i=e.sent,e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(1),e.abrupt("return",null);case 10:n=i.filter(function(e){return"audioinput"===e.kind&&e.deviceId!==t}),r=y(n),e.prev=12,r.s();case 14:if((o=r.n()).done){e.next=23;break}return s=o.value,e.next=18,J(s.deviceId);case 18:if(!e.sent){e.next=21;break}return e.abrupt("return",s.deviceId);case 21:e.next=14;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(12),r.e(e.t1);case 28:return e.prev=28,r.f(),e.finish(28);case 31:return e.abrupt("return",null);case 32:case"end":return e.stop()}},e,null,[[1,7],[12,25,28,31]])}))).apply(this,arguments)}var F=function(){function e(){var t,i,n,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serverURL:"",enableLogs:!1,isDebug:!1,bufferInterval:1,pausedBufferInterval:1,EOS_Message:void 0,socketTimeoutInterval:void 0,shouldSendAudioDataSequence:!1,reconnectAudioDuration:0,shouldPreIntialiseRecorder:!1,shouldReadIntensity:!1,debounceDelay:300,switchToRegularSpeechProfile:!1,echoCancellation:void 0,noiseSuppression:void 0,autoGainControl:void 0},s=arguments.length>1?arguments[1]:void 0;if(v(this,e),e.instance)return e.instance;this.WebsocketURL=null!==(t=o.serverURL)&&void 0!==t?t:"",this.enableLogs=o.enableLogs,this.isDebug=o.isDebug,this.streamer=null,this.streamerNotStarted=!1,this.isStreamerStarting=!1,this.pendingStartStream=!1,this.heavyOp=s,this.bufferInterval=o.bufferInterval,this.pausedBufferInterval=o.pausedBufferInterval,this.eosMessage=o.EOS_Message,this.socketTimeoutInterval=o.socketTimeoutInterval,this.shouldSendAudioDataSequence=o.shouldSendAudioDataSequence,this.reconnectAudioDuration=null!==(i=o.reconnectAudioDuration)&&void 0!==i?i:0,this.shouldPreIntialiseRecorder=o.shouldPreIntialiseRecorder,this.switchToRegularSpeechProfile=null!==(n=o.switchToRegularSpeechProfile)&&void 0!==n&&n,this._echoCancellation=o.echoCancellation,this._noiseSuppression=o.noiseSuppression,this._autoGainControl=o.autoGainControl,this.shouldPreIntialiseRecorder&&(this.initialiseStreamer(),this.streamerNotStarted=!0),this.shouldReadIntensity=o.shouldReadIntensity,this.delay=null!==(r=o.debounceDelay)&&void 0!==r?r:300,this.toggleStartStopAudioStream=q(this.toggleStartStopAudioStream.bind(this),this.delay),this.togglePauseResumeAudioStream=q(this.togglePauseResumeAudioStream.bind(this),this.delay),this.needsDispose=!1,e.instance=this}return m(e,[{key:"echoCancellation",get:function(){return this._echoCancellation},set:function(e){this._echoCancellation=e,this.streamer&&(this.streamer.echoCancellation=e)}},{key:"noiseSuppression",get:function(){return this._noiseSuppression},set:function(e){this._noiseSuppression=e,this.streamer&&(this.streamer.noiseSuppression=e)}},{key:"autoGainControl",get:function(){return this._autoGainControl},set:function(e){this._autoGainControl=e,this.streamer&&(this.streamer.autoGainControl=e)}},{key:"initialiseStreamer",value:function(){this.streamer=new K(this.WebsocketURL,this.enableLogs,this.isDebug,this.bufferInterval,this.pausedBufferInterval,this.eosMessage,this.socketTimeoutInterval,this.shouldSendAudioDataSequence,this.reconnectAudioDuration,this.shouldPreIntialiseRecorder,this.shouldReadIntensity,this.switchToRegularSpeechProfile,this._echoCancellation,this._noiseSuppression,this._autoGainControl,this.heavyOp,this.onFinalResultCallback.bind(this),this.onPartialResultCallback.bind(this),this.onErrorCallback.bind(this),this.onStateChangedCallback.bind(this),this.onSessionEventCallback.bind(this),this.onOtherResultCallback.bind(this),this.onSpeechResponseCallback.bind(this),this.onIntensityCallback.bind(this),this.onJobStatusCallback.bind(this),this.onMicReadyCallback.bind(this),this.onWsStatusChangeCallback.bind(this))}},{key:"updateIntentStartStream",value:function(){var e;this.pendingStartStream=!0,null===(e=this.streamer)||void 0===e||e.IntentStartStream()}},{key:"togglePauseResumeAudioStream",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;!this.streamer||this.streamerNotStarted?(t&&(this.WebsocketURL=t),this.startAudio(e)):this.streamer.IsPaused?this.resumeAudio():this.pauseAudio()}},{key:"toggleStartStopAudioStream",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;!this.streamer||this.streamerNotStarted?(t&&(this.WebsocketURL=t),this.startAudio(e)):this.stopAudio()}},{key:"startAudio",value:(t=p(h().mark(function e(t){return h().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isStreamerStarting){e.next=2;break}return e.abrupt("return");case 2:return this.isStreamerStarting=!0,this.shouldPreIntialiseRecorder&&this.streamer||this.initialiseStreamer(),e.prev=4,e.next=7,this.streamer.StartStream(t,this.WebsocketURL);case 7:e.sent?(this.streamerNotStarted=!1,this.log("Stream Started...")):this.streamer=null;case 9:return e.prev=9,this.isStreamerStarting=!1,e.finish(9);case 12:case"end":return e.stop()}},e,this,[[4,,9,12]])})),function(e){return t.apply(this,arguments)})},{key:"pauseAudio",value:function(){this.streamer.PauseStream(),this.log("Stream Paused...")}},{key:"resumeAudio",value:function(){this.streamer.ResumeStream(),this.enableLogs&&this.log("Stream Resumed...")}},{key:"stopAudio",value:function(){var e,t,i=this,n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(null!==(e=this.streamer)&&void 0!==e&&e.IsStreaming||r)&&(null===(t=this.streamer)||void 0===t||t.StopStream(n),this.streamer=null,this.log("Stream Stopped..."),this.shouldPreIntialiseRecorder&&setTimeout(function(){i.needsDispose?i.needsDispose=!1:(i.initialiseStreamer(),i.streamerNotStarted=!0)},500))}},{key:"getBlob",value:function(){var e=this.streamer.getBlob();return this.log("Blob Sent..."),e}},{key:"log",value:function(e){if(this.enableLogs){var t="".concat((new Date).toLocaleTimeString()," Augnito: ").concat(e);this.showLogCallback(t+"\n")}}},{key:"dispose",value:function(){var t;this.needsDispose=!0,null===(t=this.streamer)||void 0===t||t.StopStream(!1),this.streamer=null,e.instance=null}},{key:"onSessionEventCallback",value:function(e){this.onSessionEvent&&this.onSessionEvent(e)}},{key:"onStateChangedCallback",value:function(e){this.onStateChanged&&this.onStateChanged(e)}},{key:"onIntensityCallback",value:function(e){this.onIntensity&&this.onIntensity(e)}},{key:"onErrorCallback",value:function(e){this.onError&&this.onError(e)}},{key:"onPartialResultCallback",value:function(e){this.onPartialResult&&this.onPartialResult(e)}},{key:"onFinalResultCallback",value:function(e){this.onFinalResult&&this.onFinalResult(e)}},{key:"onOtherResultCallback",value:function(e){this.onOtherResults&&this.onOtherResults(e)}},{key:"onSpeechResponseCallback",value:function(e){this.onSpeechResponse&&this.onSpeechResponse(e)}},{key:"onJobStatusCallback",value:function(e){this.onJobStatus&&this.onJobStatus(e)}},{key:"onMicReadyCallback",value:function(){this.onMicReady&&this.onMicReady()}},{key:"onWsStatusChangeCallback",value:function(e){this.onSocketStatusChange&&(this.onSocketStatusChange(e),console.log("onWsStatusChangeCallback called with statusData:",e))}},{key:"showLogCallback",value:function(e){this.showLog&&this.showLog(e)}}]);var t}();function q(e,t){var i;return function(){for(var n=this,r=arguments.length,o=new Array(r),s=0;s<r;s++)o[s]=arguments[s];i&&clearTimeout(i),i=setTimeout(function(){return e.apply(n,o)},t)}}class B extends u{constructor(e){super(),Object.defineProperty(this,"_config",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_baseUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._baseUrl=`https://${e.server}/pace/v1/sdk`}getURL(e){return`${this._baseUrl}${e}`}getNoteParams(){return e(this,void 0,void 0,function*(){const e=this.getURL("/noteparams"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}getSettingsConfigMaster(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/configmaster"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}getOrgConfigMapping(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/configmapping").replace("/v1","/v2"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}getUserConfigSettings(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/userconfigmapping"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,ConfigTypeId:t};return yield this.makePostRequest(e,i)})}updateUserConfig(t){return e(this,void 0,void 0,function*(){const e=this.getURL("/userconfigmapping"),i={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,UserConfigMapping:t};return yield this.makePatchRequest(e,i)})}getUserPreferences(){return e(this,void 0,void 0,function*(){const e=this.getURL("/getuserpreferences"),t={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag};return yield this.makePostRequest(e,t)})}updateUserPreference(t,i,n,r,o,s){return e(this,void 0,void 0,function*(){const e=this.getURL("/postuserpreferences"),a={SubscriptionCode:this._config.subscriptionCode,AccessKey:this._config.accessKey,UserTag:this._config.userTag,UserPreferences:{AutomaticallyGenerateTranscript:t,PreferredTranscriptionLanguage:i,HighlightMedicalTerms:n,DisplayPatientContext:r,NoteOutputStyle:o,NoteOutputVerbosity:s}};return yield this.makePostRequest(e,a)})}}const H="Invalid user details, please check again",z="Subscription is not valid.",V="invalid request. Please make sure AccessKey, SubscriptionCode and UserTag is sent along with the request",$="Active seat is not available for user",Y="Unable to fetch account details, please try again.",Q="Unable to fetch job details, please try again.",X="Job not reconnectable",Z="Timeout exceeded",ee="Rate Limit Exceeded, Please try again in sometime!",te="Audio Signal is power very LOW, Mic might be muted",ie="Job Id is empty",ne="Page Size is undefined",re="Note Data is empty",oe="Job Name is empty",se="Patient Context is empty",ae="Mic permission denied",ce="Microphone is muted",ue="Audio track ended. Possibly the mic was unplugged",le="Internet is not available. Try again later.",de="Feedback is not enabled. Please contact administrator for more details.",he="Automatic Transcription is not enabled for the organisation",fe="Resume job is not enabled for the organisation";class ge{static isBrowserOnline(){return"undefined"!=typeof navigator&&!0===navigator.onLine}static isValidHttpUrl(e){if("string"!=typeof e||e.length>2048)return!1;try{const t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&(!t.username&&!t.password)}catch(e){return!1}}static hasInternetConnection(){return e(this,arguments,void 0,function*(e={url:null,timeoutMs:null}){var t=e.url||ge.DEFAULT_URL;const i=e.timeoutMs||ge.DEFAULT_TIMEOUT;if(!ge.isBrowserOnline())return!1;ge.isValidHttpUrl(t)||(t=ge.DEFAULT_URL);const n=new AbortController,r=setTimeout(()=>n.abort(),i);try{return yield fetch(t,{method:"HEAD",mode:"no-cors",cache:"no-cache",signal:n.signal}),!0}catch(e){return!1}finally{clearTimeout(r)}})}static isOnline(t){return e(this,void 0,void 0,function*(){return ge.hasInternetConnection(t)})}}Object.defineProperty(ge,"DEFAULT_URL",{enumerable:!0,configurable:!0,writable:!0,value:"https://www.google.com/favicon.ico"}),Object.defineProperty(ge,"DEFAULT_TIMEOUT",{enumerable:!0,configurable:!0,writable:!0,value:5e3});class pe{constructor(e){Object.defineProperty(this,"_logTag",{enumerable:!0,configurable:!0,writable:!0,value:"Augnito-Ambient"}),Object.defineProperty(this,"_ambientRestAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_ambientPaceAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"config",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enableLog",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shouldReadAudioIntensity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"recorderIns",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forceStopAudio",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isRecording",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"echoCancellation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"noiseSuppression",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoGainControl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobCreated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onStateChanged",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onOtherResult",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onIntensityValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onIdleMic",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSoapNoteGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onTranscriptGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onCodesGenerated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobStatus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onMicRecoveredAfterUnplugged",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onJobEOSSuccessful",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onSocketStatusChange",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._ambientRestAPI=new l(this.validateConfig(e)),this._ambientPaceAPI=new B(e),this.config=this.createSocketConfig(e),this.enableLog=e.enableLogs,this.shouldReadAudioIntensity=e.shouldReadAudioIntensity,this.echoCancellation=e.echoCancellation,this.noiseSuppression=e.noiseSuppression,this.autoGainControl=e.autoGainControl}initRecorder(e){var t,i,n,r,o;this.recorderIns=new F({serverURL:e,enableLogs:null!==(t=this.enableLog)&&void 0!==t&&t,isDebug:null!==(i=this.enableLog)&&void 0!==i&&i,bufferInterval:15,EOS_Message:'{"JobAction": "EOS","Status": 0,"Type": "meta"}',socketTimeoutInterval:2e4,shouldSendAudioDataSequence:!0,shouldReadIntensity:this.shouldReadAudioIntensity,echoCancellation:this.echoCancellation,noiseSuppression:this.noiseSuppression,autoGainControl:this.autoGainControl}),this.recorderIns.echoCancellation=null!==(n=this.echoCancellation)&&void 0!==n&&n,this.recorderIns.noiseSuppression=null!==(r=this.noiseSuppression)&&void 0!==r&&r,this.recorderIns.autoGainControl=null!==(o=this.autoGainControl)&&void 0!==o&&o,this.recorderIns.onError=this.onErrorCallback.bind(this),this.recorderIns.onStateChanged=this.onStateChangeCallback.bind(this),this.recorderIns.onSessionEvent=this.onSessionEventCallback.bind(this),this.recorderIns.onOtherResults=this.onOtherResultsCallback.bind(this),this.recorderIns.onIntensity=this.onIntensityCallback.bind(this),this.recorderIns.onSpeechResponse=this.onSpeechResponseCallback.bind(this),this.recorderIns.onJobStatus=this.onJobStatusEventCallback.bind(this),this.recorderIns.onMicReady=this.onMicRecoveredAfterUnpluggedCallback.bind(this),this.recorderIns.onSocketStatusChange=this.onSocketStatusChangeCallback.bind(this)}getNoteParams(){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getNoteParams();if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getAllNotes(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.ListJobs(t,i,null==n||n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getSummarizedNote(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.FetchJob(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}sendSummarizedNote(t,i){return e(this,void 0,void 0,function*(){try{return this._ambientRestAPI?yield this._ambientRestAPI.SendFinalNote(t,i):void d.error("SDK not initialized",this._logTag)}catch(e){this.handleException(e)}})}toggleListening(t,i,r,o,s,a,c){return e(this,void 0,void 0,function*(){var e,u;if(void 0!==a&&""!==a.trim()){var l=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==l?void 0:l.Items)&&l.Items.length>0&&l.Items[0].Settings)if(!l.Items[0].Settings.find(e=>300===e.ID))return void this.onErrorCallback(fe)}var d=(null===(e=this.config)||void 0===e?void 0:e.prepareWSSURL(t,i,r,o,a,c))||"";this.recorderIns||this.initRecorder(d),null===(u=this.recorderIns)||void 0===u||u.toggleStartStopAudioStream(s,d)})}togglePauseResumeListening(t,i,r,o,s,a,c){return e(this,void 0,void 0,function*(){var e,u;if(void 0!==a&&""!==a.trim()){var l=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==l?void 0:l.Items)&&l.Items.length>0&&l.Items[0].Settings)if(!l.Items[0].Settings.find(e=>300===e.ID))return void this.onErrorCallback(fe)}var d=(null===(e=this.config)||void 0===e?void 0:e.prepareWSSURL(t,i,r,o,a,c))||"";this.recorderIns||this.initRecorder(d),null===(u=this.recorderIns)||void 0===u||u.togglePauseResumeAudioStream(s,d)})}startListening(){var e;null===(e=this.recorderIns)||void 0===e||e.startAudio()}stopListening(){var e;null===(e=this.recorderIns)||void 0===e||e.stopAudio(!0,!0)}deleteNotes(t,i){return e(this,void 0,void 0,function*(){var e;try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var n=yield this._ambientRestAPI.DeleteNotes(t,i);if(n){if(200===n.Status)return null===(e=this.recorderIns)||void 0===e||e.stopAudio(!1,!0),n;this.onErrorCallback(n.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}renameNoteTitle(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.RenameNoteTitle(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getNotePDF(t,i,n,r,o,s){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.DownloadNotePDF(t,i,n,r,o,s);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}endPausedJob(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.EndJob(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}generateCDISuggestions(t,i,r,o,s){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=1,a=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if((null==a?void 0:a.Items)&&a.Items.length>0&&a.Items[0].Settings){var c=a.Items[0].Settings.find(e=>209===e.ID);c&&(e=Number.parseInt(c.ConfigValue))}var u=yield this._ambientRestAPI.GenerateSuggestions(t,i,r,s,o,e);if(u){if(200===u.Status)return u;this.onErrorCallback(u.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updatePatientContext(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.UpdatePatientContext(t,i,n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}modifyGeneratedNote(t,i,n){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.ModifyGeneratedNote(t,i,n);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}fetchTranscriptionForNote(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);if((yield this._ambientPaceAPI.getUserPreferences()).Items[0].AutomaticTranscriptionEnabledForOrg){var e=yield this._ambientRestAPI.FetchTranscription(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}else this.onErrorCallback(he)}catch(e){this.handleException(e)}})}sendFeedback(t,i,n,r){return e(this,void 0,void 0,function*(){var e,o;try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var s=yield this._ambientPaceAPI.getUserPreferences();if((null===(e=s.Items[0])||void 0===e?void 0:e.FeedbackEnabledForOrg)&&(null===(o=s.Items[0])||void 0===o?void 0:o.FeedbackEnabled)){var a=yield this._ambientRestAPI.SendFeedback(t,i,null!=n?n:"",null!=r?r:"SOAPFeedBack");if(a){if(200===a.Status)return a;this.onErrorCallback(a.ServerMessage)}else this.onErrorCallback("Unknown Error!")}else this.onErrorCallback(de)}catch(e){this.handleException(e)}})}savePatientContext(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.SavePatientContext(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}requestPatientSummary(t,i,n,r,o,s,a,c){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.RequestSummary(t,i,n,r,o,s,a,c);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getPatientSummary(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.GetSummary(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updatePatientSummary(t,i){return e(this,void 0,void 0,function*(){try{if(!this._ambientRestAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientRestAPI.UpdateSummary(t,i);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getUserConfiguration(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getUserConfigSettings(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getOrgConfiguration(){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getOrgConfigMapping(n.ORG_SETTINGS);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updateUserConfiguration(t){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.updateUserConfig(t);if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}getUserPreferenceSettings(){return e(this,void 0,void 0,function*(){try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var e=yield this._ambientPaceAPI.getUserPreferences();if(e){if(200===e.Status)return e;this.onErrorCallback(e.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}updateUserPreferenceSettings(t){return e(this,void 0,void 0,function*(){var e,i,n,r,o,c;try{if(!this._ambientPaceAPI)return void d.error("SDK not initialized",this._logTag);var u=yield this._ambientPaceAPI.updateUserPreference(null!==(e=t.AutomaticallyGenerateTranscript)&&void 0!==e&&e,null!==(i=t.PreferredTranscriptionLanguage)&&void 0!==i?i:"English",null!==(n=t.HighlightMedicalTerms)&&void 0!==n&&n,null!==(r=t.DisplayPatientContext)&&void 0!==r&&r,null!==(o=t.NoteOutputStyle)&&void 0!==o?o:a.DashFormat,null!==(c=t.NoteOutputVerbosity)&&void 0!==c?c:s.Detailed);if(u){if(200===u.Status)return u;this.onErrorCallback(u.ServerMessage)}else this.onErrorCallback("Unknown Error!")}catch(e){this.handleException(e)}})}isInternetAvailable(t){return e(this,void 0,void 0,function*(){const e=yield ge.isOnline(t);return e||this.onErrorCallback(le),e})}onEventCallback(e){this.onJobCreated&&this.onJobCreated(e)}onStateChangeCallback(e){var t;if(this.forceStopAudio)return null===(t=this.recorderIns)||void 0===t||t.stopAudio(!1,!0),void(this.forceStopAudio=!1);this._isRecording=e,this.onStateChanged&&this.onStateChanged(e)}handleException(e){if(e instanceof TypeError)this.onErrorCallback(e.message);else{if(e instanceof c)throw e;d.error(e.message,this._logTag)}}onErrorCallback(e,t){var i,n,r,s,a,c,u,l,h,f,g,p,v,b,m,S,y={ErrorCode:null!=t?t:o.ERRUNKNOWN,ErrorMessage:e};try{var C=JSON.parse(e);y.ErrorMessage=C.Data,C.Data===Z?(this.stopListening(),d.error("Recording time limit exceeded",this._logTag),y.ErrorCode=o.WSJOB05):C.Data===H?(this._isRecording?null===(i=this.recorderIns)||void 0===i||i.stopAudio(!1,!0):this.forceStopAudio=!0,y.ErrorCode=o.WSAUTH03):C.Data.includes(Y)?y.ErrorCode=o.WSAUTH04:C.Data.includes(Q)?y.ErrorCode=o.WSJOB01:C.Data.includes(X)?y.ErrorCode=o.WSJOB02:C.Data.includes(ee)?y.ErrorCode=o.WSACC01:C.Data.includes(te)&&(y.ErrorCode=o.WSAUD01)}catch(e){}(null===(n=y.ErrorMessage)||void 0===n?void 0:n.includes(ie))?y.ErrorCode=o.SDK01:(null===(r=y.ErrorMessage)||void 0===r?void 0:r.includes(ne))?y.ErrorCode=o.SDK02:(null===(s=y.ErrorMessage)||void 0===s?void 0:s.includes(re))?y.ErrorCode=o.SDK03:(null===(a=y.ErrorMessage)||void 0===a?void 0:a.includes(oe))?y.ErrorCode=o.SDK04:(null===(c=y.ErrorMessage)||void 0===c?void 0:c.includes(se))?y.ErrorCode=o.SDK05:(null===(u=y.ErrorMessage)||void 0===u?void 0:u.includes(ae))?y.ErrorCode=o.SDK06:(null===(l=y.ErrorMessage)||void 0===l?void 0:l.includes(ce))?y.ErrorCode=o.SDK07:(null===(h=y.ErrorMessage)||void 0===h?void 0:h.includes(ue))?y.ErrorCode=o.SDK08:(null===(f=y.ErrorMessage)||void 0===f?void 0:f.includes(z))||(null===(g=y.ErrorMessage)||void 0===g?void 0:g.includes(V))?y.ErrorCode=o.AUTH01:(null===(p=y.ErrorMessage)||void 0===p?void 0:p.includes($))?y.ErrorCode=o.AUTH02:(null===(v=y.ErrorMessage)||void 0===v?void 0:v.includes(le))?y.ErrorCode=o.SDK12:(null===(b=y.ErrorMessage)||void 0===b?void 0:b.includes(he))?y.ErrorCode=o.SDK13:(null===(m=y.ErrorMessage)||void 0===m?void 0:m.includes(de))?y.ErrorCode=o.SDK14:(null===(S=y.ErrorMessage)||void 0===S?void 0:S.includes(fe))&&(y.ErrorCode=o.SDK15),this.onError&&this.onError(y)}onOtherResultsCallback(e){var t=JSON.parse(e);t.Data.toUpperCase().includes("RECEIVED_EOS")&&this.onJobEOSSuccessful?this.onJobEOSSuccessful(t.JobID):this.onOtherResult&&this.onOtherResult(e)}onIntensityCallback(e){this.onIntensityValue&&this.onIntensityValue(e)}onIdleMicCallback(){this.onIdleMic&&this.onIdleMic()}onSpeechResponseCallback(e){var t=JSON.parse(e);"note"===t.Type.toLowerCase()&&this.onSoapNoteGenerated?this.onSoapNoteGenerated(t.Data):"transcript"===t.Type.toLowerCase()&&this.onTranscriptGenerated?this.onTranscriptGenerated(t.Data):"codes"===t.Type.toLowerCase()&&this.onCodesGenerated&&this.onCodesGenerated(t.Data)}onJobStatusEventCallback(e){this.onJobStatus&&this.onJobStatus(e)}onMicRecoveredAfterUnpluggedCallback(){this.onMicRecoveredAfterUnplugged&&this.onMicRecoveredAfterUnplugged()}onSocketStatusChangeCallback(e){this.onSocketStatusChange&&this.onSocketStatusChange(e)}onSessionEventCallback(e){var t;if(!e)return;let i;try{i="string"==typeof e?JSON.parse(e):e}catch(e){return void d.error(`Error parsing session event data: ${e}`,this._logTag)}if(!i||!("Type"in i))return;if("meta"===i.Type.toLowerCase()&&(null===(t=this.config)||void 0===t?void 0:t.onMetaEvent)){if(!i.JobID)return void d.error("JobID is missing in meta event",this._logTag);this.config.onMetaEvent(i.JobID)}else"error"===i.Type.toLowerCase()&&i.Data&&this.onErrorCallback(i.Data);if("object"!=typeof i.Event||null===i.Event)return;const{Type:n,Value:r}=i.Event;n&&("SESSION_CREATED"===n&&r?d.log(`session Token ${r}`,this._logTag):"SERVICE_DOWN"===n?d.error(n,this._logTag):"NO_DICTATION_STOP_MIC"===n?(d.log("NO_DICTATION_STOP_MIC",this._logTag),this.onIdleMicCallback()):"INVALID_AUTH_CREDENTIALS"===n?d.error("INVALID_AUTH_CREDENTIALS",this._logTag):"LOW_BANDWIDTH"===n&&d.log("LOW_BANDWIDTH: Check internet connection",this._logTag))}validateConfig(e){return i.Against.NullOrEmpty(e.server,"Server"),i.Against.NullOrEmpty(e.subscriptionCode,"SubscriptionCode"),i.Against.NullOrEmpty(e.accessKey,"AccessKey"),i.Against.NullOrEmpty(e.userTag,"UserTag"),e}createSocketConfig(e){const i=new t(e);return i.onError=this.onErrorCallback.bind(this),i.onMetaEvent=this.onEventCallback.bind(this),i}}export{pe as AugnitoAmbient,o as ErrorCodes,c as HttpCodedError,a as NoteOutputStyleConfig,r as NoteTypeConfig,s as NoteVerbosityConfig,n as SettingsConfigType};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testaugnitoambientsdk2",
3
- "version": "2.1.83",
3
+ "version": "2.1.84",
4
4
  "description": "Use this typescript SDK to integrate Augnito’s Ambient Tech within your EMR. To get access credentials or know more about how Augnito Ambient can benefit you, please visit our website and connect with our sales team: https://augnito.ai/",
5
5
  "main": "dist/augnitoambientsdk.js",
6
6
  "types": "dist/index.d.ts",
@@ -608,13 +608,13 @@ export class AugnitoAmbient {
608
608
  }
609
609
  }
610
610
 
611
- public async requestPatientSummary(PatientId: string, Regenerate: boolean): Promise<any> {
611
+ public async requestPatientSummary(PatientId: string, Regenerate: boolean, Speciality: number, VisitType: number, NoteType: number, Gender?: number, PatientAge?: number, TemplateIdSoapNote?: number): Promise<any> {
612
612
  try {
613
613
  if (!this._ambientRestAPI) {
614
614
  Logger.error("SDK not initialized", this._logTag);
615
615
  return;
616
616
  }
617
- var responseJson = await this._ambientRestAPI.RequestSummary(PatientId, Regenerate);
617
+ var responseJson = await this._ambientRestAPI.RequestSummary(PatientId, Regenerate, Speciality, VisitType, NoteType, Gender, PatientAge, TemplateIdSoapNote);
618
618
  if (responseJson) {
619
619
  if (responseJson.Status === 200) {
620
620
  return responseJson;
@@ -223,7 +223,7 @@ export class AmbientRestAPI extends BaseAPI {
223
223
  return await this.makePostRequest(url, requestData);
224
224
  }
225
225
 
226
- async RequestSummary(patientId: string, regenerate: boolean) {
226
+ async RequestSummary(patientId: string, regenerate: boolean, speciality: number, visitType: number, noteType: number, gender?: number, patientAge?: number, templateIdSoapNote?: number) {
227
227
  Guard.Against.NullOrEmpty(patientId, "Patient Id");
228
228
  const url = this.getURL('/previsit/requestsummary');
229
229
  const requestData = {
@@ -231,7 +231,13 @@ export class AmbientRestAPI extends BaseAPI {
231
231
  AccessKey: this._config.accessKey,
232
232
  UserTag: this._config.userTag,
233
233
  PatientID: patientId,
234
- Regenerate: regenerate
234
+ Regenerate: regenerate,
235
+ Speciality: speciality,
236
+ VisitType: visitType,
237
+ NoteType: noteType,
238
+ Gender: gender,
239
+ PatientAge: patientAge,
240
+ TemplateIdSoapNote: templateIdSoapNote
235
241
  };
236
242
  return await this.makePostRequest(url, requestData);
237
243
  }