@asgard-js/core 0.2.36 → 0.2.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- (function(S,x){typeof exports=="object"&&typeof module<"u"?x(exports):typeof define=="function"&&define.amd?define(["exports"],x):(S=typeof globalThis<"u"?globalThis:S||self,x(S["@asgard-js/core"]={}))})(this,(function(S){"use strict";class x extends Error{status;statusText;body;constructor(e,t,n){super(`HTTP ${e}: ${t}`),this.name="HttpError",this.status=e,this.statusText=t,this.body=n}}function Ne(r){return r instanceof x}var $=(r=>(r.RESET_CHANNEL="RESET_CHANNEL",r.NONE="NONE",r))($||{}),d=(r=>(r.INIT="asgard.run.init",r.PROCESS="asgard.process",r.PROCESS_START="asgard.process.start",r.PROCESS_COMPLETE="asgard.process.complete",r.MESSAGE="asgard.message",r.MESSAGE_START="asgard.message.start",r.MESSAGE_DELTA="asgard.message.delta",r.MESSAGE_COMPLETE="asgard.message.complete",r.TOOL_CALL="asgard.tool_call",r.TOOL_CALL_START="asgard.tool_call.start",r.TOOL_CALL_COMPLETE="asgard.tool_call.complete",r.DONE="asgard.run.done",r.ERROR="asgard.run.error",r))(d||{}),oe=(r=>(r.TEXT="TEXT",r.HINT="HINT",r.BUTTON="BUTTON",r.IMAGE="IMAGE",r.VIDEO="VIDEO",r.AUDIO="AUDIO",r.LOCATION="LOCATION",r.CAROUSEL="CAROUSEL",r.CHART="CHART",r.TABLE="TABLE",r))(oe||{}),B=function(r,e){return B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])},B(r,e)};function I(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");B(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function He(r,e,t,n){function o(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function a(f){try{u(n.next(f))}catch(v){s(v)}}function c(f){try{u(n.throw(f))}catch(v){s(v)}}function u(f){f.done?i(f.value):o(f.value).then(a,c)}u((n=n.apply(r,e||[])).next())})}function ie(r,e){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,o,i,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(f){return c([u,f])}}function c(u){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(t=0)),t;)try{if(n=1,o&&(i=u[0]&2?o.return:u[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,u[1])).done)return i;switch(o=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,o=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){t.label=u[1];break}if(u[0]===6&&t.label<i[1]){t.label=i[1],i=u;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(u);break}i[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(f){u=[6,f],o=0}finally{n=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function L(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function U(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),o,i=[],s;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(s)throw s.error}}return i}function k(r,e,t){if(t||arguments.length===2)for(var n=0,o=e.length,i;n<o;n++)(i||!(n in e))&&(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return r.concat(i||Array.prototype.slice.call(e))}function R(r){return this instanceof R?(this.v=r,this):new R(r)}function Ge(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(l){return function(y){return Promise.resolve(y).then(l,v)}}function a(l,y){n[l]&&(o[l]=function(p){return new Promise(function(E,A){i.push([l,p,E,A])>1||c(l,p)})},y&&(o[l]=y(o[l])))}function c(l,y){try{u(n[l](y))}catch(p){h(i[0][3],p)}}function u(l){l.value instanceof R?Promise.resolve(l.value.v).then(f,v):h(i[0][2],l)}function f(l){c("next",l)}function v(l){c("throw",l)}function h(l,y){l(y),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Fe(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof L=="function"?L(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=r[i]&&function(s){return new Promise(function(a,c){s=r[i](s),o(a,c,s.done,s.value)})}}function o(i,s,a,c){Promise.resolve(c).then(function(u){i({value:u,done:a})},s)}}typeof SuppressedError=="function"&&SuppressedError;function m(r){return typeof r=="function"}function se(r){var e=function(n){Error.call(n),n.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Y=se(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
2
- `+t.map(function(n,o){return o+1+") "+n.toString()}).join(`
3
- `):"",this.name="UnsubscriptionError",this.errors=t}});function D(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var j=(function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=L(s),c=a.next();!c.done;c=a.next()){var u=c.value;u.remove(this)}}catch(p){e={error:p}}finally{try{c&&!c.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else s.remove(this);var f=this.initialTeardown;if(m(f))try{f()}catch(p){i=p instanceof Y?p.errors:[p]}var v=this._finalizers;if(v){this._finalizers=null;try{for(var h=L(v),l=h.next();!l.done;l=h.next()){var y=l.value;try{ue(y)}catch(p){i=i??[],p instanceof Y?i=k(k([],U(i)),U(p.errors)):i.push(p)}}}catch(p){n={error:p}}finally{try{l&&!l.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}}if(i)throw new Y(i)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)ue(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&D(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&D(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=(function(){var e=new r;return e.closed=!0,e})(),r})(),ae=j.EMPTY;function ce(r){return r instanceof j||r&&"closed"in r&&m(r.remove)&&m(r.add)&&m(r.unsubscribe)}function ue(r){m(r)?r():r.unsubscribe()}var Ve={Promise:void 0},qe={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,k([r,e],U(t)))},clearTimeout:function(r){return clearTimeout(r)},delegate:void 0};function le(r){qe.setTimeout(function(){throw r})}function W(){}function N(r){r()}var X=(function(r){I(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,ce(t)&&t.add(n)):n.destination=Ye,n}return e.create=function(t,n,o){return new J(t,n,o)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e})(j),Ke=(function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(n){H(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){H(n)}else H(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){H(t)}},r})(),J=(function(r){I(e,r);function e(t,n,o){var i=r.call(this)||this,s;return m(t)||!t?s={next:t??void 0,error:n??void 0,complete:o??void 0}:s=t,i.destination=new Ke(s),i}return e})(X);function H(r){le(r)}function Be(r){throw r}var Ye={closed:!0,next:W,error:Be,complete:W},z=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function G(r){return r}function We(r){return r.length===0?G:r.length===1?r[0]:function(t){return r.reduce(function(n,o){return o(n)},t)}}var g=(function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,n){var o=this,i=Je(e)?e:new J(e,t,n);return N(function(){var s=o,a=s.operator,c=s.source;i.add(a?a.call(i,c):c?o._subscribe(i):o._trySubscribe(i))}),i},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var n=this;return t=fe(t),new t(function(o,i){var s=new J({next:function(a){try{e(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});n.subscribe(s)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[z]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return We(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=fe(e),new e(function(n,o){var i;t.subscribe(function(s){return i=s},function(s){return o(s)},function(){return n(i)})})},r.create=function(e){return new r(e)},r})();function fe(r){var e;return(e=r??Ve.Promise)!==null&&e!==void 0?e:Promise}function Xe(r){return r&&m(r.next)&&m(r.error)&&m(r.complete)}function Je(r){return r&&r instanceof X||Xe(r)&&ce(r)}function ze(r){return m(r?.lift)}function P(r){return function(e){if(ze(e))return e.lift(function(t){try{return r(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function O(r,e,t,n,o){return new Qe(r,e,t,n,o)}var Qe=(function(r){I(e,r);function e(t,n,o,i,s,a){var c=r.call(this,t)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(u){try{n(u)}catch(f){t.error(f)}}:r.prototype._next,c._error=i?function(u){try{i(u)}catch(f){t.error(f)}finally{this.unsubscribe()}}:r.prototype._error,c._complete=o?function(){try{o()}catch(u){t.error(u)}finally{this.unsubscribe()}}:r.prototype._complete,c}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;r.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e})(X),Ze=se(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Q=(function(r){I(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var n=new de(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new Ze},e.prototype.next=function(t){var n=this;N(function(){var o,i;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var s=L(n.currentObservers),a=s.next();!a.done;a=s.next()){var c=a.value;c.next(t)}}catch(u){o={error:u}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}}})},e.prototype.error=function(t){var n=this;N(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var o=n.observers;o.length;)o.shift().error(t)}})},e.prototype.complete=function(){var t=this;N(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?ae:(this.currentObservers=null,a.push(t),new j(function(){n.currentObservers=null,D(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,o=n.hasError,i=n.thrownError,s=n.isStopped;o?t.error(i):s&&t.complete()},e.prototype.asObservable=function(){var t=new g;return t.source=this,t},e.create=function(t,n){return new de(t,n)},e})(g),de=(function(r){I(e,r);function e(t,n){var o=r.call(this)||this;return o.destination=t,o.source=n,o}return e.prototype.next=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,t)},e.prototype.error=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.call(n,t)},e.prototype.complete=function(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)},e.prototype._subscribe=function(t){var n,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&o!==void 0?o:ae},e})(Q),he=(function(r){I(e,r);function e(t){var n=r.call(this)||this;return n._value=t,n}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var n=r.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},e.prototype.getValue=function(){var t=this,n=t.hasError,o=t.thrownError,i=t._value;if(n)throw o;return this._throwIfClosed(),i},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t)},e})(Q),et={now:function(){return Date.now()}},tt=(function(r){I(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e})(j),ve={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,k([r,e],U(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},rt=(function(r){I(e,r);function e(t,n){var o=r.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.pending=!1,o}return e.prototype.schedule=function(t,n){var o;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var i=this.id,s=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(s,i,n)),this.pending=!0,this.delay=n,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(s,this.id,n),this},e.prototype.requestAsyncId=function(t,n,o){return o===void 0&&(o=0),ve.setInterval(t.flush.bind(t,this),o)},e.prototype.recycleAsyncId=function(t,n,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return n;n!=null&&ve.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(t,n);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var o=!1,i;try{this.work(t)}catch(s){o=!0,i=s||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,o=t.scheduler,i=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,D(i,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e})(tt),pe=(function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,n){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},r.now=et.now,r})(),nt=(function(r){I(e,r);function e(t,n){n===void 0&&(n=pe.now);var o=r.call(this,t,n)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var o;this._active=!0;do if(o=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,o){for(;t=n.shift();)t.unsubscribe();throw o}},e})(pe),ye=new nt(rt),ot=ye,it=new g(function(r){return r.complete()});function me(r){return r&&m(r.schedule)}function be(r){return r[r.length-1]}function st(r){return m(be(r))?r.pop():void 0}function ge(r){return me(be(r))?r.pop():void 0}var Se=(function(r){return r&&typeof r.length=="number"&&typeof r!="function"});function we(r){return m(r?.then)}function Ee(r){return m(r[z])}function Ie(r){return Symbol.asyncIterator&&m(r?.[Symbol.asyncIterator])}function Oe(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function at(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ae=at();function Te(r){return m(r?.[Ae])}function Ce(r){return Ge(this,arguments,function(){var t,n,o,i;return ie(this,function(s){switch(s.label){case 0:t=r.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,R(t.read())];case 3:return n=s.sent(),o=n.value,i=n.done,i?[4,R(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,R(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function _e(r){return m(r?.getReader)}function T(r){if(r instanceof g)return r;if(r!=null){if(Ee(r))return ct(r);if(Se(r))return ut(r);if(we(r))return lt(r);if(Ie(r))return xe(r);if(Te(r))return ft(r);if(_e(r))return dt(r)}throw Oe(r)}function ct(r){return new g(function(e){var t=r[z]();if(m(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ut(r){return new g(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function lt(r){return new g(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,le)})}function ft(r){return new g(function(e){var t,n;try{for(var o=L(r),i=o.next();!i.done;i=o.next()){var s=i.value;if(e.next(s),e.closed)return}}catch(a){t={error:a}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}e.complete()})}function xe(r){return new g(function(e){ht(r,e).catch(function(t){return e.error(t)})})}function dt(r){return xe(Ce(r))}function ht(r,e){var t,n,o,i;return He(this,void 0,void 0,function(){var s,a;return ie(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),t=Fe(r),c.label=1;case 1:return[4,t.next()];case 2:if(n=c.sent(),!!n.done)return[3,4];if(s=n.value,e.next(s),e.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),o={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),n&&!n.done&&(i=t.return)?[4,i.call(t)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function C(r,e,t,n,o){n===void 0&&(n=0),o===void 0&&(o=!1);var i=e.schedule(function(){t(),o?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(i),!o)return i}function Pe(r,e){return e===void 0&&(e=0),P(function(t,n){t.subscribe(O(n,function(o){return C(n,r,function(){return n.next(o)},e)},function(){return C(n,r,function(){return n.complete()},e)},function(o){return C(n,r,function(){return n.error(o)},e)}))})}function Me(r,e){return e===void 0&&(e=0),P(function(t,n){n.add(r.schedule(function(){return t.subscribe(n)},e))})}function vt(r,e){return T(r).pipe(Me(e),Pe(e))}function pt(r,e){return T(r).pipe(Me(e),Pe(e))}function yt(r,e){return new g(function(t){var n=0;return e.schedule(function(){n===r.length?t.complete():(t.next(r[n++]),t.closed||this.schedule())})})}function mt(r,e){return new g(function(t){var n;return C(t,e,function(){n=r[Ae](),C(t,e,function(){var o,i,s;try{o=n.next(),i=o.value,s=o.done}catch(a){t.error(a);return}s?t.complete():t.next(i)},0,!0)}),function(){return m(n?.return)&&n.return()}})}function Le(r,e){if(!r)throw new Error("Iterable cannot be null");return new g(function(t){C(t,e,function(){var n=r[Symbol.asyncIterator]();C(t,e,function(){n.next().then(function(o){o.done?t.complete():t.next(o.value)})},0,!0)})})}function bt(r,e){return Le(Ce(r),e)}function gt(r,e){if(r!=null){if(Ee(r))return vt(r,e);if(Se(r))return yt(r,e);if(we(r))return pt(r,e);if(Ie(r))return Le(r,e);if(Te(r))return mt(r,e);if(_e(r))return bt(r,e)}throw Oe(r)}function Z(r,e){return e?gt(r,e):T(r)}function St(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=ge(r);return Z(r,t)}function wt(r){return r instanceof Date&&!isNaN(r)}function F(r,e){return P(function(t,n){var o=0;t.subscribe(O(n,function(i){n.next(r.call(e,i,o++))}))})}var Et=Array.isArray;function It(r,e){return Et(e)?r.apply(void 0,k([],U(e))):r(e)}function Ot(r){return F(function(e){return It(r,e)})}var At=Array.isArray,Tt=Object.getPrototypeOf,Ct=Object.prototype,_t=Object.keys;function xt(r){if(r.length===1){var e=r[0];if(At(e))return{args:e,keys:null};if(Pt(e)){var t=_t(e);return{args:t.map(function(n){return e[n]}),keys:t}}}return{args:r,keys:null}}function Pt(r){return r&&typeof r=="object"&&Tt(r)===Ct}function Mt(r,e){return r.reduce(function(t,n,o){return t[n]=e[o],t},{})}function Lt(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=ge(r),n=st(r),o=xt(r),i=o.args,s=o.keys;if(i.length===0)return Z([],t);var a=new g(Rt(i,t,s?function(c){return Mt(s,c)}:G));return n?a.pipe(Ot(n)):a}function Rt(r,e,t){return t===void 0&&(t=G),function(n){Re(e,function(){for(var o=r.length,i=new Array(o),s=o,a=o,c=function(f){Re(e,function(){var v=Z(r[f],e),h=!1;v.subscribe(O(n,function(l){i[f]=l,h||(h=!0,a--),a||n.next(t(i.slice()))},function(){--s||n.complete()}))},n)},u=0;u<o;u++)c(u)},n)}}function Re(r,e,t){r?C(t,r,e):e()}function Ut(r,e,t,n,o,i,s,a){var c=[],u=0,f=0,v=!1,h=function(){v&&!c.length&&!u&&e.complete()},l=function(p){return u<n?y(p):c.push(p)},y=function(p){u++;var E=!1;T(t(p,f++)).subscribe(O(e,function(A){e.next(A)},function(){E=!0},void 0,function(){if(E)try{u--;for(var A=function(){var M=c.shift();s||y(M)};c.length&&u<n;)A();h()}catch(M){e.error(M)}}))};return r.subscribe(O(e,l,function(){v=!0,h()})),function(){}}function V(r,e,t){return t===void 0&&(t=1/0),m(e)?V(function(n,o){return F(function(i,s){return e(n,i,o,s)})(T(r(n,o)))},t):(typeof e=="number"&&(t=e),P(function(n,o){return Ut(n,o,r,t)}))}function Ue(r,e,t){r===void 0&&(r=0),t===void 0&&(t=ot);var n=-1;return e!=null&&(me(e)?t=e:n=e),new g(function(o){var i=wt(r)?+r-t.now():r;i<0&&(i=0);var s=0;return t.schedule(function(){o.closed||(o.next(s++),0<=n?this.schedule(void 0,n):o.complete())},i)})}function kt(r,e){return m(e)?V(r,e,1):V(r,1)}function jt(r){return r<=0?function(){return it}:P(function(e,t){var n=0;e.subscribe(O(t,function(o){++n<=r&&(t.next(o),r<=n&&t.complete())}))})}function $t(r){return F(function(){return r})}function Dt(r,e){return V(function(t,n){return T(r(t,n)).pipe(jt(1),$t(t))})}function Nt(r,e){e===void 0&&(e=ye);var t=Ue(r,e);return Dt(function(){return t})}function Ht(r){var e;e={count:r};var t=e.count,n=t===void 0?1/0:t,o=e.delay,i=e.resetOnSuccess,s=i===void 0?!1:i;return n<=0?G:P(function(a,c){var u=0,f,v=function(){var h=!1;f=a.subscribe(O(c,function(l){s&&(u=0),c.next(l)},void 0,function(l){if(u++<n){var y=function(){f?(f.unsubscribe(),f=null,v()):h=!0};if(o!=null){var p=typeof o=="number"?Ue(o):T(o(l,u)),E=O(c,function(){E.unsubscribe(),y()},function(){c.complete()});p.subscribe(E)}else y()}else c.error(l)})),h&&(f.unsubscribe(),f=null,v())};v()})}function Gt(r){return P(function(e,t){T(r).subscribe(O(t,function(){return t.complete()},W)),!t.closed&&e.subscribe(t)})}async function Ft(r,e){const t=r.getReader();let n;for(;!(n=await t.read()).done;)e(n.value)}function Vt(r){let e,t,n,o=!1;return function(s){e===void 0?(e=s,t=0,n=-1):e=Kt(e,s);const a=e.length;let c=0;for(;t<a;){o&&(e[t]===10&&(c=++t),o=!1);let u=-1;for(;t<a&&u===-1;++t)switch(e[t]){case 58:n===-1&&(n=t-c);break;case 13:o=!0;case 10:u=t;break}if(u===-1)break;r(e.subarray(c,u),n),c=t,n=-1}c===a?e=void 0:c!==0&&(e=e.subarray(c),t-=c)}}function qt(r,e,t){let n=ke();const o=new TextDecoder;return function(s,a){if(s.length===0)t?.(n),n=ke();else if(a>0){const c=o.decode(s.subarray(0,a)),u=a+(s[a+1]===32?2:1),f=o.decode(s.subarray(u));switch(c){case"data":n.data=n.data?n.data+`
4
- `+f:f;break;case"event":n.event=f;break;case"id":r(n.id=f);break;case"retry":const v=parseInt(f,10);isNaN(v)||e(n.retry=v);break}}}}function Kt(r,e){const t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function ke(){return{data:"",event:"",id:"",retry:void 0}}var Bt=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,n=Object.getOwnPropertySymbols(r);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(r,n[o])&&(t[n[o]]=r[n[o]]);return t};const ee="text/event-stream",Yt=1e3,je="last-event-id";function Wt(r,e){var{signal:t,headers:n,onopen:o,onmessage:i,onclose:s,onerror:a,openWhenHidden:c,fetch:u}=e,f=Bt(e,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((v,h)=>{const l=Object.assign({},n);l.accept||(l.accept=ee);let y;function p(){y.abort(),document.hidden||re()}c||document.addEventListener("visibilitychange",p);let E=Yt,A=0;function M(){document.removeEventListener("visibilitychange",p),window.clearTimeout(A),y.abort()}t?.addEventListener("abort",()=>{M(),v()});const nr=u??window.fetch,or=o??Xt;async function re(){var ne;y=new AbortController;try{const K=await nr(r,Object.assign(Object.assign({},f),{headers:l,signal:y.signal}));await or(K),await Ft(K.body,Vt(qt(_=>{_?l[je]=_:delete l[je]},_=>{E=_},i))),s?.(),M(),v()}catch(K){if(!y.signal.aborted)try{const _=(ne=a?.(K))!==null&&ne!==void 0?ne:E;window.clearTimeout(A),A=window.setTimeout(re,_)}catch(_){M(),h(_)}}}re()})}function Xt(r){const e=r.headers.get("content-type");if(!e?.startsWith(ee))throw new Error(`Expected content-type to be ${ee}, Actual: ${e}`)}function Jt(r){const{endpoint:e,apiKey:t,payload:n,debugMode:o,customHeaders:i}=r;return new g(s=>{const a=new AbortController;let c;const u={"Content-Type":"application/json",...i};t&&(u["X-API-KEY"]=t);const f=new URLSearchParams;o&&f.set("is_debug","true");const v=new URL(e);return f.toString()&&(v.search=f.toString()),Wt(v.toString(),{method:"POST",headers:u,body:n?JSON.stringify(n):void 0,signal:a.signal,openWhenHidden:!0,onopen:async h=>{if(h.ok)c=h.headers.get("X-Trace-Id")??void 0;else{let l;try{l=await h.json()}catch{try{l=await h.text()}catch{l=null}}s.error(new x(h.status,h.statusText,l)),a.abort()}},onmessage:h=>{const l=JSON.parse(h.data);c?l.traceId=c:l.requestId&&(l.traceId=l.requestId,c||(c=l.requestId)),s.next(l)},onclose:()=>{s.complete()},onerror:h=>{throw s.error(h),a.abort(),h}}),()=>{a.abort()}})}class zt{listeners={};on(e,t){this.listeners=Object.assign({},this.listeners,{[e]:(this.listeners[e]??[]).concat(t)})}off(e,t){this.listeners[e]&&(this.listeners=Object.assign({},this.listeners,{[e]:(this.listeners[e]??[]).filter(n=>n!==t)}))}remove(e){delete this.listeners[e]}emit(e,...t){this.listeners[e]&&this.listeners[e].forEach(n=>n(...t))}}class Qt{apiKey;endpoint;botProviderEndpoint;debugMode;destroy$=new Q;sseEmitter=new zt;transformSsePayload;customHeaders;constructor(e){if(!e.endpoint&&!e.botProviderEndpoint)throw new Error("Either endpoint or botProviderEndpoint must be provided");if(this.apiKey=e.apiKey,this.debugMode=e.debugMode,this.transformSsePayload=e.transformSsePayload,this.botProviderEndpoint=e.botProviderEndpoint,this.customHeaders=e.customHeaders,!e.endpoint&&e.botProviderEndpoint){const t=e.botProviderEndpoint.replace(/\/+$/,"");this.endpoint=`${t}/message/sse`}else e.endpoint&&(this.endpoint=e.endpoint,this.debugMode&&console.warn('[AsgardServiceClient] The "endpoint" option is deprecated and will be removed in the next major version. Please use "botProviderEndpoint" instead. The SSE endpoint will be automatically derived as "${botProviderEndpoint}/message/sse".'))}on(e,t){this.sseEmitter.remove(e),this.sseEmitter.on(e,t)}handleEvent(e){switch(e.eventType){case d.INIT:this.sseEmitter.emit(d.INIT,e);break;case d.PROCESS_START:case d.PROCESS_COMPLETE:this.sseEmitter.emit(d.PROCESS,e);break;case d.MESSAGE_START:case d.MESSAGE_DELTA:case d.MESSAGE_COMPLETE:this.sseEmitter.emit(d.MESSAGE,e);break;case d.TOOL_CALL_START:case d.TOOL_CALL_COMPLETE:this.sseEmitter.emit(d.TOOL_CALL,e);break;case d.DONE:this.sseEmitter.emit(d.DONE,e);break;case d.ERROR:this.sseEmitter.emit(d.ERROR,e);break}}fetchSse(e,t){t?.onSseStart?.(),Jt({apiKey:this.apiKey,endpoint:this.endpoint,debugMode:this.debugMode,payload:this.transformSsePayload?.(e)??e,customHeaders:this.customHeaders}).pipe(kt(n=>St(n).pipe(Nt(t?.delayTime??50))),Gt(this.destroy$),Ht(3)).subscribe({next:n=>{t?.onSseMessage?.(n),this.handleEvent(n)},error:n=>{t?.onSseError?.(n)},complete:()=>{t?.onSseCompleted?.()}})}close(){this.destroy$.next(),this.destroy$.complete()}async uploadFile(e,t){const n=this.deriveBlobEndpoint();if(!n)throw new Error("Unable to derive blob endpoint. Please provide botProviderEndpoint in config.");const o=new FormData;o.append("file",e),o.append("customChannelId",t);const i={...this.customHeaders};this.apiKey&&(i["X-API-KEY"]=this.apiKey);try{const s=await fetch(n,{method:"POST",headers:i,body:o});if(!s.ok)throw new Error(`Upload failed: ${s.status} ${s.statusText}`);const a=await s.json();return this.debugMode&&console.log("[AsgardServiceClient] File upload response:",a),a}catch(s){throw console.error("[AsgardServiceClient] File upload error:",s),s}}deriveBlobEndpoint(){if(!this.botProviderEndpoint&&!this.endpoint)return null;let e=this.botProviderEndpoint;return!e&&this.endpoint&&(e=this.endpoint.replace("/message/sse","")),e?(e=e.replace(/\/+$/,""),`${e}/blob`):null}}const b=[];for(let r=0;r<256;++r)b.push((r+256).toString(16).slice(1));function Zt(r,e=0){return(b[r[e+0]]+b[r[e+1]]+b[r[e+2]]+b[r[e+3]]+"-"+b[r[e+4]]+b[r[e+5]]+"-"+b[r[e+6]]+b[r[e+7]]+"-"+b[r[e+8]]+b[r[e+9]]+"-"+b[r[e+10]]+b[r[e+11]]+b[r[e+12]]+b[r[e+13]]+b[r[e+14]]+b[r[e+15]]).toLowerCase()}let te;const er=new Uint8Array(16);function tr(){if(!te){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");te=crypto.getRandomValues.bind(crypto)}return te(er)}const $e={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function rr(r,e,t){r=r||{};const n=r.random??r.rng?.()??tr();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Zt(n)}function De(r,e,t){return $e.randomUUID&&!r?$e.randomUUID():rr(r)}class w{messages=null;constructor({messages:e}){this.messages=e}pushMessage(e){const t=new Map(this.messages);return t.set(e.messageId,e),new w({messages:t})}onMessage(e){switch(e.eventType){case d.MESSAGE_START:return this.onMessageStart(e);case d.MESSAGE_DELTA:return this.onMessageDelta(e);case d.MESSAGE_COMPLETE:return this.onMessageComplete(e);case d.TOOL_CALL_START:return this.onToolCallStart(e);case d.TOOL_CALL_COMPLETE:return this.onToolCallComplete(e);case d.ERROR:return this.onMessageError(e);default:return this}}onMessageStart(e){const t=e.fact.messageStart.message,n=new Map(this.messages);return n.set(t.messageId,{type:"bot",eventType:d.MESSAGE_START,isTyping:!0,typingText:"",messageId:t.messageId,message:t,time:new Date,traceId:e.traceId,raw:""}),new w({messages:n})}onMessageDelta(e){const t=e.fact.messageDelta.message,n=new Map(this.messages),o=n.get(t.messageId);if(o?.type!=="bot")return this;const i=`${o?.typingText??""}${t.text}`;return n.set(t.messageId,{type:"bot",eventType:d.MESSAGE_DELTA,isTyping:!0,typingText:i,messageId:t.messageId,message:t,time:new Date,traceId:e.traceId??o.traceId,raw:o.raw}),new w({messages:n})}onMessageComplete(e){const t=e.fact.messageComplete.message,n=new Map(this.messages),o=n.get(t.messageId);return n.set(t.messageId,{type:"bot",eventType:d.MESSAGE_COMPLETE,isTyping:!1,typingText:null,messageId:t.messageId,message:t,time:new Date,traceId:e.traceId??(o?.type==="bot"?o.traceId:void 0),raw:JSON.stringify(e)}),new w({messages:n})}onMessageError(e){const t=De(),n=e.fact.runError.error,o=new Map(this.messages);return o.set(t,{type:"error",eventType:d.ERROR,messageId:t,error:n,time:new Date,traceId:e.traceId}),new w({messages:o})}onToolCallStart(e){const t=e.fact.toolCallStart,n=new Map(this.messages),o=`${t.processId}-${t.callSeq}`,i={type:"tool-call",eventType:d.TOOL_CALL_START,messageId:o,processId:t.processId,callSeq:t.callSeq,toolName:t.toolCall.toolName,toolsetName:t.toolCall.toolsetName,parameter:t.toolCall.parameter,isComplete:!1,time:new Date,traceId:e.traceId};return n.set(o,i),new w({messages:n})}onToolCallComplete(e){const t=e.fact.toolCallComplete,n=new Map(this.messages),o=`${t.processId}-${t.callSeq}`,i=n.get(o);if(i?.type==="tool-call"){const s={...i,eventType:d.TOOL_CALL_COMPLETE,result:t.toolCallResult,isComplete:!0,traceId:e.traceId??i.traceId};n.set(o,s)}return new w({messages:n})}}class q{client;customChannelId;customMessageId;isConnecting$;conversation$;statesObserver;statesSubscription;currentUserMessageId;constructor(e){if(!e.client)throw new Error("client must be required");if(!e.customChannelId)throw new Error("customChannelId must be required");this.client=e.client,this.customChannelId=e.customChannelId,this.customMessageId=e.customMessageId,this.isConnecting$=new he(!1),this.conversation$=new he(e.conversation),this.statesObserver=e.statesObserver}static create(e){const t=new q(e);return t.subscribe(),t}static async reset(e,t,n){const o=new q(e);try{return o.subscribe(),await o.resetChannel(t,n),o}catch(i){throw o.close(),i}}subscribe(){this.statesSubscription=Lt([this.isConnecting$,this.conversation$]).pipe(F(([e,t])=>({isConnecting:e,conversation:t}))).subscribe(this.statesObserver)}resolvePayload(e){if(typeof e=="function")try{return e()}catch(t){throw new Error(`Failed to resolve payload function: ${t instanceof Error?t.message:String(t)}`)}return e}fetchSse(e,t){return new Promise((n,o)=>{this.isConnecting$.next(!0),this.client.fetchSse(e,{onSseStart:t?.onSseStart,onSseMessage:i=>{if(t?.onSseMessage?.(i),this.currentUserMessageId&&i.traceId){const s=new Map(this.conversation$.value.messages),a=s.get(this.currentUserMessageId);a&&a.type==="user"&&(s.set(this.currentUserMessageId,{...a,traceId:i.traceId}),this.conversation$.next(new w({messages:s}))),this.currentUserMessageId=void 0}this.conversation$.next(this.conversation$.value.onMessage(i))},onSseError:i=>{t?.onSseError?.(i),this.isConnecting$.next(!1),this.currentUserMessageId=void 0,o(i)},onSseCompleted:()=>{t?.onSseCompleted?.(),this.isConnecting$.next(!1),this.currentUserMessageId=void 0,n()}})})}resetChannel(e,t){return this.fetchSse({action:$.RESET_CHANNEL,customChannelId:this.customChannelId,customMessageId:this.customMessageId,text:e?.text||"",payload:this.resolvePayload(e?.payload)},t)}sendMessage(e,t){const n=e.text.trim(),o=e.customMessageId??De();return this.currentUserMessageId=o,this.conversation$.next(this.conversation$.value.pushMessage({type:"user",messageId:o,text:n,blobIds:e.blobIds,filePreviewUrls:e.filePreviewUrls,documentNames:e.documentNames,time:new Date})),this.fetchSse({action:$.NONE,customChannelId:this.customChannelId,customMessageId:o,payload:this.resolvePayload(e?.payload),text:n,blobIds:e?.blobIds},t)}close(){this.isConnecting$.complete(),this.conversation$.complete(),this.statesSubscription?.unsubscribe()}}S.AsgardServiceClient=Qt,S.Channel=q,S.Conversation=w,S.EventType=d,S.FetchSseAction=$,S.HttpError=x,S.MessageTemplateType=oe,S.isHttpError=Ne,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(S,L){typeof exports=="object"&&typeof module<"u"?L(exports):typeof define=="function"&&define.amd?define(["exports"],L):(S=typeof globalThis<"u"?globalThis:S||self,L(S["@asgard-js/core"]={}))})(this,(function(S){"use strict";class L extends Error{status;statusText;body;constructor(e,t,r){super(`HTTP ${e}: ${t}`),this.name="HttpError",this.status=e,this.statusText=t,this.body=r}}function He(n){return n instanceof L}var N=(n=>(n.RESET_CHANNEL="RESET_CHANNEL",n.NONE="NONE",n.RESPONSE_TOOL_CALL_CONSENT="RESPONSE_TOOL_CALL_CONSENT",n))(N||{}),d=(n=>(n.INIT="asgard.run.init",n.PROCESS="asgard.process",n.PROCESS_START="asgard.process.start",n.PROCESS_COMPLETE="asgard.process.complete",n.MESSAGE="asgard.message",n.MESSAGE_START="asgard.message.start",n.MESSAGE_DELTA="asgard.message.delta",n.MESSAGE_COMPLETE="asgard.message.complete",n.TOOL_CALL="asgard.tool_call",n.TOOL_CALL_START="asgard.tool_call.start",n.TOOL_CALL_COMPLETE="asgard.tool_call.complete",n.TOOL_CALL_CONSENT="asgard.tool_call.consent",n.DONE="asgard.run.done",n.ERROR="asgard.run.error",n))(d||{}),oe=(n=>(n.ALLOW_ONCE="ALLOW_ONCE",n.ALLOW_ALWAYS="ALLOW_ALWAYS",n.DENY_ONCE="DENY_ONCE",n))(oe||{}),ie=(n=>(n.TEXT="TEXT",n.HINT="HINT",n.BUTTON="BUTTON",n.IMAGE="IMAGE",n.VIDEO="VIDEO",n.AUDIO="AUDIO",n.LOCATION="LOCATION",n.CAROUSEL="CAROUSEL",n.CHART="CHART",n.TABLE="TABLE",n))(ie||{}),Y=function(n,e){return Y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])},Y(n,e)};function O(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Y(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Ge(n,e,t,r){function o(i){return i instanceof t?i:new t(function(s){s(i)})}return new(t||(t=Promise))(function(i,s){function a(f){try{u(r.next(f))}catch(p){s(p)}}function c(f){try{u(r.throw(f))}catch(p){s(p)}}function u(f){f.done?i(f.value):o(f.value).then(a,c)}u((r=r.apply(n,e||[])).next())})}function se(n,e){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,o,i,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(f){return c([u,f])}}function c(u){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(t=0)),t;)try{if(r=1,o&&(i=u[0]&2?o.return:u[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,u[1])).done)return i;switch(o=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,o=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(i=t.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){t.label=u[1];break}if(u[0]===6&&t.label<i[1]){t.label=i[1],i=u;break}if(i&&t.label<i[2]){t.label=i[2],t.ops.push(u);break}i[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(f){u=[6,f],o=0}finally{r=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function M(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],r=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&r>=n.length&&(n=void 0),{value:n&&n[r++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function U(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var r=t.call(n),o,i=[],s;try{for(;(e===void 0||e-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(t=r.return)&&t.call(r)}finally{if(s)throw s.error}}return i}function k(n,e,t){if(t||arguments.length===2)for(var r=0,o=e.length,i;r<o;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return n.concat(i||Array.prototype.slice.call(e))}function R(n){return this instanceof R?(this.v=n,this):new R(n)}function Fe(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t.apply(n,e||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(l){return function(y){return Promise.resolve(y).then(l,p)}}function a(l,y){r[l]&&(o[l]=function(v){return new Promise(function(w,C){i.push([l,v,w,C])>1||c(l,v)})},y&&(o[l]=y(o[l])))}function c(l,y){try{u(r[l](y))}catch(v){h(i[0][3],v)}}function u(l){l.value instanceof R?Promise.resolve(l.value.v).then(f,p):h(i[0][2],l)}function f(l){c("next",l)}function p(l){c("throw",l)}function h(l,y){l(y),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Ve(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof M=="function"?M(n):n[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=n[i]&&function(s){return new Promise(function(a,c){s=n[i](s),o(a,c,s.done,s.value)})}}function o(i,s,a,c){Promise.resolve(c).then(function(u){i({value:u,done:a})},s)}}typeof SuppressedError=="function"&&SuppressedError;function m(n){return typeof n=="function"}function ae(n){var e=function(r){Error.call(r),r.stack=new Error().stack},t=n(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var B=ae(function(n){return function(t){n(this),this.message=t?t.length+` errors occurred during unsubscription:
2
+ `+t.map(function(r,o){return o+1+") "+r.toString()}).join(`
3
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function j(n,e){if(n){var t=n.indexOf(e);0<=t&&n.splice(t,1)}}var $=(function(){function n(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return n.prototype.unsubscribe=function(){var e,t,r,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=M(s),c=a.next();!c.done;c=a.next()){var u=c.value;u.remove(this)}}catch(v){e={error:v}}finally{try{c&&!c.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else s.remove(this);var f=this.initialTeardown;if(m(f))try{f()}catch(v){i=v instanceof B?v.errors:[v]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var h=M(p),l=h.next();!l.done;l=h.next()){var y=l.value;try{le(y)}catch(v){i=i??[],v instanceof B?i=k(k([],U(i)),U(v.errors)):i.push(v)}}}catch(v){r={error:v}}finally{try{l&&!l.done&&(o=h.return)&&o.call(h)}finally{if(r)throw r.error}}}if(i)throw new B(i)}},n.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)le(e);else{if(e instanceof n){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},n.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},n.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},n.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&j(t,e)},n.prototype.remove=function(e){var t=this._finalizers;t&&j(t,e),e instanceof n&&e._removeParent(this)},n.EMPTY=(function(){var e=new n;return e.closed=!0,e})(),n})(),ce=$.EMPTY;function ue(n){return n instanceof $||n&&"closed"in n&&m(n.remove)&&m(n.add)&&m(n.unsubscribe)}function le(n){m(n)?n():n.unsubscribe()}var qe={Promise:void 0},Ke={setTimeout:function(n,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];return setTimeout.apply(void 0,k([n,e],U(t)))},clearTimeout:function(n){return clearTimeout(n)},delegate:void 0};function fe(n){Ke.setTimeout(function(){throw n})}function W(){}function D(n){n()}var X=(function(n){O(e,n);function e(t){var r=n.call(this)||this;return r.isStopped=!1,t?(r.destination=t,ue(t)&&t.add(r)):r.destination=We,r}return e.create=function(t,r,o){return new J(t,r,o)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e})($),Ye=(function(){function n(e){this.partialObserver=e}return n.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(r){H(r)}},n.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(r){H(r)}else H(e)},n.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){H(t)}},n})(),J=(function(n){O(e,n);function e(t,r,o){var i=n.call(this)||this,s;return m(t)||!t?s={next:t??void 0,error:r??void 0,complete:o??void 0}:s=t,i.destination=new Ye(s),i}return e})(X);function H(n){fe(n)}function Be(n){throw n}var We={closed:!0,next:W,error:Be,complete:W},z=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function G(n){return n}function Xe(n){return n.length===0?G:n.length===1?n[0]:function(t){return n.reduce(function(r,o){return o(r)},t)}}var g=(function(){function n(e){e&&(this._subscribe=e)}return n.prototype.lift=function(e){var t=new n;return t.source=this,t.operator=e,t},n.prototype.subscribe=function(e,t,r){var o=this,i=ze(e)?e:new J(e,t,r);return D(function(){var s=o,a=s.operator,c=s.source;i.add(a?a.call(i,c):c?o._subscribe(i):o._trySubscribe(i))}),i},n.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},n.prototype.forEach=function(e,t){var r=this;return t=de(t),new t(function(o,i){var s=new J({next:function(a){try{e(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});r.subscribe(s)})},n.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},n.prototype[z]=function(){return this},n.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Xe(e)(this)},n.prototype.toPromise=function(e){var t=this;return e=de(e),new e(function(r,o){var i;t.subscribe(function(s){return i=s},function(s){return o(s)},function(){return r(i)})})},n.create=function(e){return new n(e)},n})();function de(n){var e;return(e=n??qe.Promise)!==null&&e!==void 0?e:Promise}function Je(n){return n&&m(n.next)&&m(n.error)&&m(n.complete)}function ze(n){return n&&n instanceof X||Je(n)&&ue(n)}function Qe(n){return m(n?.lift)}function x(n){return function(e){if(Qe(e))return e.lift(function(t){try{return n(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function I(n,e,t,r,o){return new Ze(n,e,t,r,o)}var Ze=(function(n){O(e,n);function e(t,r,o,i,s,a){var c=n.call(this,t)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=r?function(u){try{r(u)}catch(f){t.error(f)}}:n.prototype._next,c._error=i?function(u){try{i(u)}catch(f){t.error(f)}finally{this.unsubscribe()}}:n.prototype._error,c._complete=o?function(){try{o()}catch(u){t.error(u)}finally{this.unsubscribe()}}:n.prototype._complete,c}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;n.prototype.unsubscribe.call(this),!r&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e})(X),et=ae(function(n){return function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Q=(function(n){O(e,n);function e(){var t=n.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var r=new he(this,this);return r.operator=t,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new et},e.prototype.next=function(t){var r=this;D(function(){var o,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var s=M(r.currentObservers),a=s.next();!a.done;a=s.next()){var c=a.value;c.next(t)}}catch(u){o={error:u}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}}})},e.prototype.error=function(t){var r=this;D(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=t;for(var o=r.observers;o.length;)o.shift().error(t)}})},e.prototype.complete=function(){var t=this;D(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var r=t.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),n.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var r=this,o=this,i=o.hasError,s=o.isStopped,a=o.observers;return i||s?ce:(this.currentObservers=null,a.push(t),new $(function(){r.currentObservers=null,j(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var r=this,o=r.hasError,i=r.thrownError,s=r.isStopped;o?t.error(i):s&&t.complete()},e.prototype.asObservable=function(){var t=new g;return t.source=this,t},e.create=function(t,r){return new he(t,r)},e})(g),he=(function(n){O(e,n);function e(t,r){var o=n.call(this)||this;return o.destination=t,o.source=r,o}return e.prototype.next=function(t){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.next)===null||o===void 0||o.call(r,t)},e.prototype.error=function(t){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.error)===null||o===void 0||o.call(r,t)},e.prototype.complete=function(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)},e.prototype._subscribe=function(t){var r,o;return(o=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&o!==void 0?o:ce},e})(Q),pe=(function(n){O(e,n);function e(t){var r=n.call(this)||this;return r._value=t,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var r=n.prototype._subscribe.call(this,t);return!r.closed&&t.next(this._value),r},e.prototype.getValue=function(){var t=this,r=t.hasError,o=t.thrownError,i=t._value;if(r)throw o;return this._throwIfClosed(),i},e.prototype.next=function(t){n.prototype.next.call(this,this._value=t)},e})(Q),tt={now:function(){return Date.now()}},nt=(function(n){O(e,n);function e(t,r){return n.call(this)||this}return e.prototype.schedule=function(t,r){return this},e})($),ve={setInterval:function(n,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];return setInterval.apply(void 0,k([n,e],U(t)))},clearInterval:function(n){return clearInterval(n)},delegate:void 0},rt=(function(n){O(e,n);function e(t,r){var o=n.call(this,t,r)||this;return o.scheduler=t,o.work=r,o.pending=!1,o}return e.prototype.schedule=function(t,r){var o;if(r===void 0&&(r=0),this.closed)return this;this.state=t;var i=this.id,s=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(s,i,r)),this.pending=!0,this.delay=r,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(s,this.id,r),this},e.prototype.requestAsyncId=function(t,r,o){return o===void 0&&(o=0),ve.setInterval(t.flush.bind(t,this),o)},e.prototype.recycleAsyncId=function(t,r,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return r;r!=null&&ve.clearInterval(r)},e.prototype.execute=function(t,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(t,r);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,r){var o=!1,i;try{this.work(t)}catch(s){o=!0,i=s||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,r=t.id,o=t.scheduler,i=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,j(i,this),r!=null&&(this.id=this.recycleAsyncId(o,r,null)),this.delay=null,n.prototype.unsubscribe.call(this)}},e})(nt),ye=(function(){function n(e,t){t===void 0&&(t=n.now),this.schedulerActionCtor=e,this.now=t}return n.prototype.schedule=function(e,t,r){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(r,t)},n.now=tt.now,n})(),ot=(function(n){O(e,n);function e(t,r){r===void 0&&(r=ye.now);var o=n.call(this,t,r)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(t){var r=this.actions;if(this._active){r.push(t);return}var o;this._active=!0;do if(o=t.execute(t.state,t.delay))break;while(t=r.shift());if(this._active=!1,o){for(;t=r.shift();)t.unsubscribe();throw o}},e})(ye),me=new ot(rt),it=me,st=new g(function(n){return n.complete()});function be(n){return n&&m(n.schedule)}function ge(n){return n[n.length-1]}function at(n){return m(ge(n))?n.pop():void 0}function Se(n){return be(ge(n))?n.pop():void 0}var Ee=(function(n){return n&&typeof n.length=="number"&&typeof n!="function"});function we(n){return m(n?.then)}function Oe(n){return m(n[z])}function Ie(n){return Symbol.asyncIterator&&m(n?.[Symbol.asyncIterator])}function Ce(n){return new TypeError("You provided "+(n!==null&&typeof n=="object"?"an invalid object":"'"+n+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function ct(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ae=ct();function Te(n){return m(n?.[Ae])}function _e(n){return Fe(this,arguments,function(){var t,r,o,i;return se(this,function(s){switch(s.label){case 0:t=n.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,R(t.read())];case 3:return r=s.sent(),o=r.value,i=r.done,i?[4,R(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,R(o)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Le(n){return m(n?.getReader)}function A(n){if(n instanceof g)return n;if(n!=null){if(Oe(n))return ut(n);if(Ee(n))return lt(n);if(we(n))return ft(n);if(Ie(n))return xe(n);if(Te(n))return dt(n);if(Le(n))return ht(n)}throw Ce(n)}function ut(n){return new g(function(e){var t=n[z]();if(m(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function lt(n){return new g(function(e){for(var t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}function ft(n){return new g(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,fe)})}function dt(n){return new g(function(e){var t,r;try{for(var o=M(n),i=o.next();!i.done;i=o.next()){var s=i.value;if(e.next(s),e.closed)return}}catch(a){t={error:a}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}e.complete()})}function xe(n){return new g(function(e){pt(n,e).catch(function(t){return e.error(t)})})}function ht(n){return xe(_e(n))}function pt(n,e){var t,r,o,i;return Ge(this,void 0,void 0,function(){var s,a;return se(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),t=Ve(n),c.label=1;case 1:return[4,t.next()];case 2:if(r=c.sent(),!!r.done)return[3,4];if(s=r.value,e.next(s),e.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),o={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(i=t.return)?[4,i.call(t)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function T(n,e,t,r,o){r===void 0&&(r=0),o===void 0&&(o=!1);var i=e.schedule(function(){t(),o?n.add(this.schedule(null,r)):this.unsubscribe()},r);if(n.add(i),!o)return i}function Pe(n,e){return e===void 0&&(e=0),x(function(t,r){t.subscribe(I(r,function(o){return T(r,n,function(){return r.next(o)},e)},function(){return T(r,n,function(){return r.complete()},e)},function(o){return T(r,n,function(){return r.error(o)},e)}))})}function Me(n,e){return e===void 0&&(e=0),x(function(t,r){r.add(n.schedule(function(){return t.subscribe(r)},e))})}function vt(n,e){return A(n).pipe(Me(e),Pe(e))}function yt(n,e){return A(n).pipe(Me(e),Pe(e))}function mt(n,e){return new g(function(t){var r=0;return e.schedule(function(){r===n.length?t.complete():(t.next(n[r++]),t.closed||this.schedule())})})}function bt(n,e){return new g(function(t){var r;return T(t,e,function(){r=n[Ae](),T(t,e,function(){var o,i,s;try{o=r.next(),i=o.value,s=o.done}catch(a){t.error(a);return}s?t.complete():t.next(i)},0,!0)}),function(){return m(r?.return)&&r.return()}})}function Re(n,e){if(!n)throw new Error("Iterable cannot be null");return new g(function(t){T(t,e,function(){var r=n[Symbol.asyncIterator]();T(t,e,function(){r.next().then(function(o){o.done?t.complete():t.next(o.value)})},0,!0)})})}function gt(n,e){return Re(_e(n),e)}function St(n,e){if(n!=null){if(Oe(n))return vt(n,e);if(Ee(n))return mt(n,e);if(we(n))return yt(n,e);if(Ie(n))return Re(n,e);if(Te(n))return bt(n,e);if(Le(n))return gt(n,e)}throw Ce(n)}function Z(n,e){return e?St(n,e):A(n)}function Et(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=Se(n);return Z(n,t)}function wt(n){return n instanceof Date&&!isNaN(n)}function F(n,e){return x(function(t,r){var o=0;t.subscribe(I(r,function(i){r.next(n.call(e,i,o++))}))})}var Ot=Array.isArray;function It(n,e){return Ot(e)?n.apply(void 0,k([],U(e))):n(e)}function Ct(n){return F(function(e){return It(n,e)})}var At=Array.isArray,Tt=Object.getPrototypeOf,_t=Object.prototype,Lt=Object.keys;function xt(n){if(n.length===1){var e=n[0];if(At(e))return{args:e,keys:null};if(Pt(e)){var t=Lt(e);return{args:t.map(function(r){return e[r]}),keys:t}}}return{args:n,keys:null}}function Pt(n){return n&&typeof n=="object"&&Tt(n)===_t}function Mt(n,e){return n.reduce(function(t,r,o){return t[r]=e[o],t},{})}function Rt(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=Se(n),r=at(n),o=xt(n),i=o.args,s=o.keys;if(i.length===0)return Z([],t);var a=new g(Nt(i,t,s?function(c){return Mt(s,c)}:G));return r?a.pipe(Ct(r)):a}function Nt(n,e,t){return t===void 0&&(t=G),function(r){Ne(e,function(){for(var o=n.length,i=new Array(o),s=o,a=o,c=function(f){Ne(e,function(){var p=Z(n[f],e),h=!1;p.subscribe(I(r,function(l){i[f]=l,h||(h=!0,a--),a||r.next(t(i.slice()))},function(){--s||r.complete()}))},r)},u=0;u<o;u++)c(u)},r)}}function Ne(n,e,t){n?T(t,n,e):e()}function Ut(n,e,t,r,o,i,s,a){var c=[],u=0,f=0,p=!1,h=function(){p&&!c.length&&!u&&e.complete()},l=function(v){return u<r?y(v):c.push(v)},y=function(v){u++;var w=!1;A(t(v,f++)).subscribe(I(e,function(C){e.next(C)},function(){w=!0},void 0,function(){if(w)try{u--;for(var C=function(){var P=c.shift();s||y(P)};c.length&&u<r;)C();h()}catch(P){e.error(P)}}))};return n.subscribe(I(e,l,function(){p=!0,h()})),function(){}}function V(n,e,t){return t===void 0&&(t=1/0),m(e)?V(function(r,o){return F(function(i,s){return e(r,i,o,s)})(A(n(r,o)))},t):(typeof e=="number"&&(t=e),x(function(r,o){return Ut(r,o,n,t)}))}function Ue(n,e,t){n===void 0&&(n=0),t===void 0&&(t=it);var r=-1;return e!=null&&(be(e)?t=e:r=e),new g(function(o){var i=wt(n)?+n-t.now():n;i<0&&(i=0);var s=0;return t.schedule(function(){o.closed||(o.next(s++),0<=r?this.schedule(void 0,r):o.complete())},i)})}function kt(n,e){return m(e)?V(n,e,1):V(n,1)}function $t(n){return n<=0?function(){return st}:x(function(e,t){var r=0;e.subscribe(I(t,function(o){++r<=n&&(t.next(o),n<=r&&t.complete())}))})}function jt(n){return F(function(){return n})}function Dt(n,e){return V(function(t,r){return A(n(t,r)).pipe($t(1),jt(t))})}function Ht(n,e){e===void 0&&(e=me);var t=Ue(n,e);return Dt(function(){return t})}function Gt(n){var e;e={count:n};var t=e.count,r=t===void 0?1/0:t,o=e.delay,i=e.resetOnSuccess,s=i===void 0?!1:i;return r<=0?G:x(function(a,c){var u=0,f,p=function(){var h=!1;f=a.subscribe(I(c,function(l){s&&(u=0),c.next(l)},void 0,function(l){if(u++<r){var y=function(){f?(f.unsubscribe(),f=null,p()):h=!0};if(o!=null){var v=typeof o=="number"?Ue(o):A(o(l,u)),w=I(c,function(){w.unsubscribe(),y()},function(){c.complete()});v.subscribe(w)}else y()}else c.error(l)})),h&&(f.unsubscribe(),f=null,p())};p()})}function Ft(n){return x(function(e,t){A(n).subscribe(I(t,function(){return t.complete()},W)),!t.closed&&e.subscribe(t)})}async function Vt(n,e){const t=n.getReader();let r;for(;!(r=await t.read()).done;)e(r.value)}function qt(n){let e,t,r,o=!1;return function(s){e===void 0?(e=s,t=0,r=-1):e=Yt(e,s);const a=e.length;let c=0;for(;t<a;){o&&(e[t]===10&&(c=++t),o=!1);let u=-1;for(;t<a&&u===-1;++t)switch(e[t]){case 58:r===-1&&(r=t-c);break;case 13:o=!0;case 10:u=t;break}if(u===-1)break;n(e.subarray(c,u),r),c=t,r=-1}c===a?e=void 0:c!==0&&(e=e.subarray(c),t-=c)}}function Kt(n,e,t){let r=ke();const o=new TextDecoder;return function(s,a){if(s.length===0)t?.(r),r=ke();else if(a>0){const c=o.decode(s.subarray(0,a)),u=a+(s[a+1]===32?2:1),f=o.decode(s.subarray(u));switch(c){case"data":r.data=r.data?r.data+`
4
+ `+f:f;break;case"event":r.event=f;break;case"id":n(r.id=f);break;case"retry":const p=parseInt(f,10);isNaN(p)||e(r.retry=p);break}}}}function Yt(n,e){const t=new Uint8Array(n.length+e.length);return t.set(n),t.set(e,n.length),t}function ke(){return{data:"",event:"",id:"",retry:void 0}}var Bt=function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(n);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(n,r[o])&&(t[r[o]]=n[r[o]]);return t};const ee="text/event-stream",Wt=1e3,$e="last-event-id";function Xt(n,e){var{signal:t,headers:r,onopen:o,onmessage:i,onclose:s,onerror:a,openWhenHidden:c,fetch:u}=e,f=Bt(e,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((p,h)=>{const l=Object.assign({},r);l.accept||(l.accept=ee);let y;function v(){y.abort(),document.hidden||ne()}c||document.addEventListener("visibilitychange",v);let w=Wt,C=0;function P(){document.removeEventListener("visibilitychange",v),window.clearTimeout(C),y.abort()}t?.addEventListener("abort",()=>{P(),p()});const on=u??window.fetch,sn=o??Jt;async function ne(){var re;y=new AbortController;try{const K=await on(n,Object.assign(Object.assign({},f),{headers:l,signal:y.signal}));await sn(K),await Vt(K.body,qt(Kt(_=>{_?l[$e]=_:delete l[$e]},_=>{w=_},i))),s?.(),P(),p()}catch(K){if(!y.signal.aborted)try{const _=(re=a?.(K))!==null&&re!==void 0?re:w;window.clearTimeout(C),C=window.setTimeout(ne,_)}catch(_){P(),h(_)}}}ne()})}function Jt(n){const e=n.headers.get("content-type");if(!e?.startsWith(ee))throw new Error(`Expected content-type to be ${ee}, Actual: ${e}`)}function zt(n){const{endpoint:e,apiKey:t,payload:r,debugMode:o,customHeaders:i}=n;return new g(s=>{const a=new AbortController;let c;const u={"Content-Type":"application/json",...i};t&&(u["X-API-KEY"]=t);const f=new URLSearchParams;o&&f.set("is_debug","true");const p=new URL(e);return f.toString()&&(p.search=f.toString()),Xt(p.toString(),{method:"POST",headers:u,body:r?JSON.stringify(r):void 0,signal:a.signal,openWhenHidden:!0,onopen:async h=>{if(h.ok)c=h.headers.get("X-Trace-Id")??void 0;else{let l;try{l=await h.json()}catch{try{l=await h.text()}catch{l=null}}s.error(new L(h.status,h.statusText,l)),a.abort()}},onmessage:h=>{const l=JSON.parse(h.data);c?l.traceId=c:l.requestId&&(l.traceId=l.requestId,c||(c=l.requestId)),s.next(l)},onclose:()=>{s.complete()},onerror:h=>{throw s.error(h),a.abort(),h}}),()=>{a.abort()}})}class Qt{listeners={};on(e,t){this.listeners=Object.assign({},this.listeners,{[e]:(this.listeners[e]??[]).concat(t)})}off(e,t){this.listeners[e]&&(this.listeners=Object.assign({},this.listeners,{[e]:(this.listeners[e]??[]).filter(r=>r!==t)}))}remove(e){delete this.listeners[e]}emit(e,...t){this.listeners[e]&&this.listeners[e].forEach(r=>r(...t))}}class Zt{apiKey;endpoint;botProviderEndpoint;debugMode;destroy$=new Q;sseEmitter=new Qt;transformSsePayload;customHeaders;constructor(e){if(!e.endpoint&&!e.botProviderEndpoint)throw new Error("Either endpoint or botProviderEndpoint must be provided");if(this.apiKey=e.apiKey,this.debugMode=e.debugMode,this.transformSsePayload=e.transformSsePayload,this.botProviderEndpoint=e.botProviderEndpoint,this.customHeaders=e.customHeaders,!e.endpoint&&e.botProviderEndpoint){const t=e.botProviderEndpoint.replace(/\/+$/,"");this.endpoint=`${t}/message/sse`}else e.endpoint&&(this.endpoint=e.endpoint,this.debugMode&&console.warn('[AsgardServiceClient] The "endpoint" option is deprecated and will be removed in the next major version. Please use "botProviderEndpoint" instead. The SSE endpoint will be automatically derived as "${botProviderEndpoint}/message/sse".'))}on(e,t){this.sseEmitter.remove(e),this.sseEmitter.on(e,t)}handleEvent(e){switch(e.eventType){case d.INIT:this.sseEmitter.emit(d.INIT,e);break;case d.PROCESS_START:case d.PROCESS_COMPLETE:this.sseEmitter.emit(d.PROCESS,e);break;case d.MESSAGE_START:case d.MESSAGE_DELTA:case d.MESSAGE_COMPLETE:this.sseEmitter.emit(d.MESSAGE,e);break;case d.TOOL_CALL_START:case d.TOOL_CALL_COMPLETE:this.sseEmitter.emit(d.TOOL_CALL,e);break;case d.TOOL_CALL_CONSENT:this.sseEmitter.emit(d.TOOL_CALL_CONSENT,e);break;case d.DONE:this.sseEmitter.emit(d.DONE,e);break;case d.ERROR:this.sseEmitter.emit(d.ERROR,e);break}}fetchSse(e,t){t?.onSseStart?.(),zt({apiKey:this.apiKey,endpoint:this.endpoint,debugMode:this.debugMode,payload:this.transformSsePayload?.(e)??e,customHeaders:this.customHeaders}).pipe(kt(r=>Et(r).pipe(Ht(t?.delayTime??50))),Ft(this.destroy$),Gt(3)).subscribe({next:r=>{t?.onSseMessage?.(r),this.handleEvent(r)},error:r=>{t?.onSseError?.(r)},complete:()=>{t?.onSseCompleted?.()}})}close(){this.destroy$.next(),this.destroy$.complete()}async uploadFile(e,t){const r=this.deriveBlobEndpoint();if(!r)throw new Error("Unable to derive blob endpoint. Please provide botProviderEndpoint in config.");const o=new FormData;o.append("file",e),o.append("customChannelId",t);const i={...this.customHeaders};this.apiKey&&(i["X-API-KEY"]=this.apiKey);try{const s=await fetch(r,{method:"POST",headers:i,body:o});if(!s.ok)throw new Error(`Upload failed: ${s.status} ${s.statusText}`);const a=await s.json();return this.debugMode&&console.log("[AsgardServiceClient] File upload response:",a),a}catch(s){throw console.error("[AsgardServiceClient] File upload error:",s),s}}deriveBlobEndpoint(){if(!this.botProviderEndpoint&&!this.endpoint)return null;let e=this.botProviderEndpoint;return!e&&this.endpoint&&(e=this.endpoint.replace("/message/sse","")),e?(e=e.replace(/\/+$/,""),`${e}/blob`):null}}const b=[];for(let n=0;n<256;++n)b.push((n+256).toString(16).slice(1));function en(n,e=0){return(b[n[e+0]]+b[n[e+1]]+b[n[e+2]]+b[n[e+3]]+"-"+b[n[e+4]]+b[n[e+5]]+"-"+b[n[e+6]]+b[n[e+7]]+"-"+b[n[e+8]]+b[n[e+9]]+"-"+b[n[e+10]]+b[n[e+11]]+b[n[e+12]]+b[n[e+13]]+b[n[e+14]]+b[n[e+15]]).toLowerCase()}let te;const tn=new Uint8Array(16);function nn(){if(!te){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");te=crypto.getRandomValues.bind(crypto)}return te(tn)}const je={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function rn(n,e,t){n=n||{};const r=n.random??n.rng?.()??nn();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,en(r)}function De(n,e,t){return je.randomUUID&&!n?je.randomUUID():rn(n)}class E{messages=null;pendingConsent=null;constructor({messages:e,pendingConsent:t=null}){this.messages=e,this.pendingConsent=t??null}pushMessage(e){const t=new Map(this.messages);return t.set(e.messageId,e),new E({messages:t,pendingConsent:this.pendingConsent})}clearPendingConsent(){return this.pendingConsent?new E({messages:this.messages,pendingConsent:null}):this}onMessage(e){switch(e.eventType){case d.MESSAGE_START:return this.onMessageStart(e);case d.MESSAGE_DELTA:return this.onMessageDelta(e);case d.MESSAGE_COMPLETE:return this.onMessageComplete(e);case d.TOOL_CALL_START:return this.onToolCallStart(e);case d.TOOL_CALL_COMPLETE:return this.onToolCallComplete(e);case d.TOOL_CALL_CONSENT:return this.onToolCallConsent(e);case d.ERROR:return this.onMessageError(e);default:return this}}onMessageStart(e){const t=e.fact.messageStart.message,r=new Map(this.messages);return r.set(t.messageId,{type:"bot",eventType:d.MESSAGE_START,isTyping:!0,typingText:"",messageId:t.messageId,message:t,time:new Date,traceId:e.traceId,raw:""}),new E({messages:r,pendingConsent:this.pendingConsent})}onMessageDelta(e){const t=e.fact.messageDelta.message,r=new Map(this.messages),o=r.get(t.messageId);if(o?.type!=="bot")return this;const i=`${o?.typingText??""}${t.text}`;return r.set(t.messageId,{type:"bot",eventType:d.MESSAGE_DELTA,isTyping:!0,typingText:i,messageId:t.messageId,message:t,time:new Date,traceId:e.traceId??o.traceId,raw:o.raw}),new E({messages:r,pendingConsent:this.pendingConsent})}onMessageComplete(e){const t=e.fact.messageComplete.message,r=new Map(this.messages),o=r.get(t.messageId);return r.set(t.messageId,{type:"bot",eventType:d.MESSAGE_COMPLETE,isTyping:!1,typingText:null,messageId:t.messageId,message:t,time:new Date,traceId:e.traceId??(o?.type==="bot"?o.traceId:void 0),raw:JSON.stringify(e)}),new E({messages:r,pendingConsent:this.pendingConsent})}onMessageError(e){const t=De(),r=e.fact.runError.error,o=new Map(this.messages);return o.set(t,{type:"error",eventType:d.ERROR,messageId:t,error:r,time:new Date,traceId:e.traceId}),new E({messages:o,pendingConsent:this.pendingConsent})}onToolCallStart(e){const t=e.fact.toolCallStart,r=new Map(this.messages),o=`${t.processId}-${t.callSeq}`,i={type:"tool-call",eventType:d.TOOL_CALL_START,messageId:o,processId:t.processId,callSeq:t.callSeq,toolName:t.toolCall.toolName,toolsetName:t.toolCall.toolsetName,parameter:t.toolCall.parameter,isComplete:!1,time:new Date,traceId:e.traceId};return r.set(o,i),new E({messages:r,pendingConsent:this.pendingConsent})}onToolCallComplete(e){const t=e.fact.toolCallComplete,r=new Map(this.messages),o=`${t.processId}-${t.callSeq}`,i=r.get(o);if(i?.type==="tool-call"){const s={...i,eventType:d.TOOL_CALL_COMPLETE,result:t.toolCallResult,isComplete:!0,traceId:e.traceId??i.traceId};r.set(o,s)}return new E({messages:r,pendingConsent:this.pendingConsent})}onToolCallConsent(e){const t=e.fact.toolCallConsent;return new E({messages:this.messages,pendingConsent:t})}}class q{client;customChannelId;customMessageId;isConnecting$;conversation$;statesObserver;statesSubscription;currentUserMessageId;constructor(e){if(!e.client)throw new Error("client must be required");if(!e.customChannelId)throw new Error("customChannelId must be required");this.client=e.client,this.customChannelId=e.customChannelId,this.customMessageId=e.customMessageId,this.isConnecting$=new pe(!1),this.conversation$=new pe(e.conversation),this.statesObserver=e.statesObserver}static create(e){const t=new q(e);return t.subscribe(),t}static async reset(e,t,r){const o=new q(e);try{return o.subscribe(),await o.resetChannel(t,r),o}catch(i){throw o.close(),i}}subscribe(){this.statesSubscription=Rt([this.isConnecting$,this.conversation$]).pipe(F(([e,t])=>({isConnecting:e,conversation:t}))).subscribe(this.statesObserver)}resolvePayload(e){if(typeof e=="function")try{return e()}catch(t){throw new Error(`Failed to resolve payload function: ${t instanceof Error?t.message:String(t)}`)}return e}fetchSse(e,t){return new Promise((r,o)=>{this.isConnecting$.next(!0),this.client.fetchSse(e,{onSseStart:t?.onSseStart,onSseMessage:i=>{if(t?.onSseMessage?.(i),this.currentUserMessageId&&i.traceId){const s=new Map(this.conversation$.value.messages),a=s.get(this.currentUserMessageId);a&&a.type==="user"&&(s.set(this.currentUserMessageId,{...a,traceId:i.traceId}),this.conversation$.next(new E({messages:s}))),this.currentUserMessageId=void 0}this.conversation$.next(this.conversation$.value.onMessage(i))},onSseError:i=>{t?.onSseError?.(i),this.isConnecting$.next(!1),this.currentUserMessageId=void 0,o(i)},onSseCompleted:()=>{t?.onSseCompleted?.(),this.isConnecting$.next(!1),this.currentUserMessageId=void 0,r()}})})}resetChannel(e,t){return this.fetchSse({action:N.RESET_CHANNEL,customChannelId:this.customChannelId,customMessageId:this.customMessageId,text:e?.text||"",payload:this.resolvePayload(e?.payload)},t)}sendMessage(e,t){const r=e.text.trim(),o=e.customMessageId??De();return this.currentUserMessageId=o,this.conversation$.next(this.conversation$.value.pushMessage({type:"user",messageId:o,text:r,blobIds:e.blobIds,filePreviewUrls:e.filePreviewUrls,documentNames:e.documentNames,time:new Date})),this.fetchSse({action:N.NONE,customChannelId:this.customChannelId,customMessageId:o,payload:this.resolvePayload(e?.payload),text:r,blobIds:e?.blobIds},t)}replyToolCallConsents(e,t){return this.conversation$.next(this.conversation$.value.clearPendingConsent()),this.fetchSse({action:N.RESPONSE_TOOL_CALL_CONSENT,customChannelId:this.customChannelId,customMessageId:this.customMessageId,text:"",toolCallConsents:e},t)}close(){this.isConnecting$.complete(),this.conversation$.complete(),this.statesSubscription?.unsubscribe()}}S.AsgardServiceClient=Zt,S.Channel=q,S.Conversation=E,S.EventType=d,S.FetchSseAction=N,S.HttpError=L,S.MessageTemplateType=ie,S.ToolCallConsentResult=oe,S.isHttpError=He,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
5
5
  //# sourceMappingURL=index.js.map