@asgard-js/core 0.2.17 → 0.2.18

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,C){typeof exports=="object"&&typeof module<"u"?C(exports):typeof define=="function"&&define.amd?define(["exports"],C):(S=typeof globalThis<"u"?globalThis:S||self,C(S["@asgard-js/core"]={}))})(this,(function(S){"use strict";var C=(r=>(r.RESET_CHANNEL="RESET_CHANNEL",r.NONE="NONE",r))(C||{}),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||{}),ne=(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))(ne||{}),q=function(r,e){return q=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])},q(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");q(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function De(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(h){s(h)}}function c(f){try{u(n.throw(f))}catch(h){s(h)}}function u(f){f.done?i(f.value):o(f.value).then(a,c)}u((n=n.apply(r,e||[])).next())})}function oe(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 Ne(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,h)}}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){v(i[0][3],p)}}function u(l){l.value instanceof R?Promise.resolve(l.value.v).then(f,h):v(i[0][2],l)}function f(l){c("next",l)}function h(l){c("throw",l)}function v(l,y){l(y),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Ge(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 ie(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 K=ie(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
1
+ (function(S,C){typeof exports=="object"&&typeof module<"u"?C(exports):typeof define=="function"&&define.amd?define(["exports"],C):(S=typeof globalThis<"u"?globalThis:S||self,C(S["@asgard-js/core"]={}))})(this,(function(S){"use strict";var C=(r=>(r.RESET_CHANNEL="RESET_CHANNEL",r.NONE="NONE",r))(C||{}),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||{}),ne=(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))(ne||{}),K=function(r,e){return K=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])},K(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");K(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function De(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(h){s(h)}}function c(f){try{u(n.throw(f))}catch(h){s(h)}}function u(f){f.done?i(f.value):o(f.value).then(a,c)}u((n=n.apply(r,e||[])).next())})}function oe(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 Ne(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,h)}}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){v(i[0][3],p)}}function u(l){l.value instanceof R?Promise.resolve(l.value.v).then(f,h):v(i[0][2],l)}function f(l){c("next",l)}function h(l){c("throw",l)}function v(l,y){l(y),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Ge(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 ie(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 B=ie(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
2
2
  `+t.map(function(n,o){return o+1+") "+n.toString()}).join(`
3
- `):"",this.name="UnsubscriptionError",this.errors=t}});function $(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 K?p.errors:[p]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var v=L(h),l=v.next();!l.done;l=v.next()){var y=l.value;try{ce(y)}catch(p){i=i??[],p instanceof K?i=k(k([],U(i)),U(p.errors)):i.push(p)}}}catch(p){n={error:p}}finally{try{l&&!l.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}}if(i)throw new K(i)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)ce(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)&&$(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&$(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=(function(){var e=new r;return e.closed=!0,e})(),r})(),se=j.EMPTY;function ae(r){return r instanceof j||r&&"closed"in r&&m(r.remove)&&m(r.add)&&m(r.unsubscribe)}function ce(r){m(r)?r():r.unsubscribe()}var He={Promise:void 0},Fe={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 ue(r){Fe.setTimeout(function(){throw r})}function B(){}function D(r){r()}var Y=(function(r){I(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,ae(t)&&t.add(n)):n.destination=Ke,n}return e.create=function(t,n,o){return new W(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),Ve=(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){N(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){N(n)}else N(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){N(t)}},r})(),W=(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 Ve(s),i}return e})(Y);function N(r){ue(r)}function qe(r){throw r}var Ke={closed:!0,next:B,error:qe,complete:B},X=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function G(r){return r}function Be(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=We(e)?e:new W(e,t,n);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},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=le(t),new t(function(o,i){var s=new W({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[X]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Be(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=le(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 le(r){var e;return(e=r??He.Promise)!==null&&e!==void 0?e:Promise}function Ye(r){return r&&m(r.next)&&m(r.error)&&m(r.complete)}function We(r){return r&&r instanceof Y||Ye(r)&&ae(r)}function Xe(r){return m(r?.lift)}function P(r){return function(e){if(Xe(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 Je(r,e,t,n,o)}var Je=(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})(Y),ze=ie(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),J=(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 fe(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;D(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;D(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;D(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?se:(this.currentObservers=null,a.push(t),new j(function(){n.currentObservers=null,$(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 fe(t,n)},e})(g),fe=(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:se},e})(J),de=(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})(J),Qe={now:function(){return Date.now()}},Ze=(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),he={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},et=(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),he.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&&he.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,$(i,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e})(Ze),ve=(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=Qe.now,r})(),tt=(function(r){I(e,r);function e(t,n){n===void 0&&(n=ve.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})(ve),pe=new tt(et),rt=pe,nt=new g(function(r){return r.complete()});function ye(r){return r&&m(r.schedule)}function me(r){return r[r.length-1]}function ot(r){return m(me(r))?r.pop():void 0}function be(r){return ye(me(r))?r.pop():void 0}var ge=(function(r){return r&&typeof r.length=="number"&&typeof r!="function"});function Se(r){return m(r?.then)}function we(r){return m(r[X])}function Ee(r){return Symbol.asyncIterator&&m(r?.[Symbol.asyncIterator])}function Ie(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 it(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Oe=it();function Ae(r){return m(r?.[Oe])}function Ce(r){return Ne(this,arguments,function(){var t,n,o,i;return oe(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 Te(r){return m(r?.getReader)}function T(r){if(r instanceof g)return r;if(r!=null){if(we(r))return st(r);if(ge(r))return at(r);if(Se(r))return ct(r);if(Ee(r))return _e(r);if(Ae(r))return ut(r);if(Te(r))return lt(r)}throw Ie(r)}function st(r){return new g(function(e){var t=r[X]();if(m(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function at(r){return new g(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function ct(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,ue)})}function ut(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 _e(r){return new g(function(e){ft(r,e).catch(function(t){return e.error(t)})})}function lt(r){return _e(Ce(r))}function ft(r,e){var t,n,o,i;return De(this,void 0,void 0,function(){var s,a;return oe(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),t=Ge(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 _(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 xe(r,e){return e===void 0&&(e=0),P(function(t,n){t.subscribe(O(n,function(o){return _(n,r,function(){return n.next(o)},e)},function(){return _(n,r,function(){return n.complete()},e)},function(o){return _(n,r,function(){return n.error(o)},e)}))})}function Pe(r,e){return e===void 0&&(e=0),P(function(t,n){n.add(r.schedule(function(){return t.subscribe(n)},e))})}function dt(r,e){return T(r).pipe(Pe(e),xe(e))}function ht(r,e){return T(r).pipe(Pe(e),xe(e))}function vt(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 pt(r,e){return new g(function(t){var n;return _(t,e,function(){n=r[Oe](),_(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 Me(r,e){if(!r)throw new Error("Iterable cannot be null");return new g(function(t){_(t,e,function(){var n=r[Symbol.asyncIterator]();_(t,e,function(){n.next().then(function(o){o.done?t.complete():t.next(o.value)})},0,!0)})})}function yt(r,e){return Me(Ce(r),e)}function mt(r,e){if(r!=null){if(we(r))return dt(r,e);if(ge(r))return vt(r,e);if(Se(r))return ht(r,e);if(Ee(r))return Me(r,e);if(Ae(r))return pt(r,e);if(Te(r))return yt(r,e)}throw Ie(r)}function z(r,e){return e?mt(r,e):T(r)}function bt(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=be(r);return z(r,t)}function gt(r){return r instanceof Date&&!isNaN(r)}function H(r,e){return P(function(t,n){var o=0;t.subscribe(O(n,function(i){n.next(r.call(e,i,o++))}))})}var St=Array.isArray;function wt(r,e){return St(e)?r.apply(void 0,k([],U(e))):r(e)}function Et(r){return H(function(e){return wt(r,e)})}var It=Array.isArray,Ot=Object.getPrototypeOf,At=Object.prototype,Ct=Object.keys;function Tt(r){if(r.length===1){var e=r[0];if(It(e))return{args:e,keys:null};if(_t(e)){var t=Ct(e);return{args:t.map(function(n){return e[n]}),keys:t}}}return{args:r,keys:null}}function _t(r){return r&&typeof r=="object"&&Ot(r)===At}function xt(r,e){return r.reduce(function(t,n,o){return t[n]=e[o],t},{})}function Pt(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=be(r),n=ot(r),o=Tt(r),i=o.args,s=o.keys;if(i.length===0)return z([],t);var a=new g(Mt(i,t,s?function(c){return xt(s,c)}:G));return n?a.pipe(Et(n)):a}function Mt(r,e,t){return t===void 0&&(t=G),function(n){Le(e,function(){for(var o=r.length,i=new Array(o),s=o,a=o,c=function(f){Le(e,function(){var h=z(r[f],e),v=!1;h.subscribe(O(n,function(l){i[f]=l,v||(v=!0,a--),a||n.next(t(i.slice()))},function(){--s||n.complete()}))},n)},u=0;u<o;u++)c(u)},n)}}function Le(r,e,t){r?_(t,r,e):e()}function Lt(r,e,t,n,o,i,s,a){var c=[],u=0,f=0,h=!1,v=function(){h&&!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();v()}catch(M){e.error(M)}}))};return r.subscribe(O(e,l,function(){h=!0,v()})),function(){}}function F(r,e,t){return t===void 0&&(t=1/0),m(e)?F(function(n,o){return H(function(i,s){return e(n,i,o,s)})(T(r(n,o)))},t):(typeof e=="number"&&(t=e),P(function(n,o){return Lt(n,o,r,t)}))}function Re(r,e,t){r===void 0&&(r=0),t===void 0&&(t=rt);var n=-1;return e!=null&&(ye(e)?t=e:n=e),new g(function(o){var i=gt(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 Rt(r,e){return m(e)?F(r,e,1):F(r,1)}function Ut(r){return r<=0?function(){return nt}:P(function(e,t){var n=0;e.subscribe(O(t,function(o){++n<=r&&(t.next(o),r<=n&&t.complete())}))})}function kt(r){return H(function(){return r})}function jt(r,e){return F(function(t,n){return T(r(t,n)).pipe(Ut(1),kt(t))})}function $t(r,e){e===void 0&&(e=pe);var t=Re(r,e);return jt(function(){return t})}function Dt(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,h=function(){var v=!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,h()):v=!0};if(o!=null){var p=typeof o=="number"?Re(o):T(o(l,u)),E=O(c,function(){E.unsubscribe(),y()},function(){c.complete()});p.subscribe(E)}else y()}else c.error(l)})),v&&(f.unsubscribe(),f=null,h())};h()})}function Nt(r){return P(function(e,t){T(r).subscribe(O(t,function(){return t.complete()},B)),!t.closed&&e.subscribe(t)})}async function Gt(r,e){const t=r.getReader();let n;for(;!(n=await t.read()).done;)e(n.value)}function Ht(r){let e,t,n,o=!1;return function(s){e===void 0?(e=s,t=0,n=-1):e=Vt(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 Ft(r,e,t){let n=Ue();const o=new TextDecoder;return function(s,a){if(s.length===0)t?.(n),n=Ue();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 h=parseInt(f,10);isNaN(h)||e(n.retry=h);break}}}}function Vt(r,e){const t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function Ue(){return{data:"",event:"",id:"",retry:void 0}}var qt=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 Q="text/event-stream",Kt=1e3,ke="last-event-id";function Bt(r,e){var{signal:t,headers:n,onopen:o,onmessage:i,onclose:s,onerror:a,openWhenHidden:c,fetch:u}=e,f=qt(e,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((h,v)=>{const l=Object.assign({},n);l.accept||(l.accept=Q);let y;function p(){y.abort(),document.hidden||te()}c||document.addEventListener("visibilitychange",p);let E=Kt,A=0;function M(){document.removeEventListener("visibilitychange",p),window.clearTimeout(A),y.abort()}t?.addEventListener("abort",()=>{M(),h()});const tr=u??window.fetch,rr=o??Yt;async function te(){var re;y=new AbortController;try{const V=await tr(r,Object.assign(Object.assign({},f),{headers:l,signal:y.signal}));await rr(V),await Gt(V.body,Ht(Ft(x=>{x?l[ke]=x:delete l[ke]},x=>{E=x},i))),s?.(),M(),h()}catch(V){if(!y.signal.aborted)try{const x=(re=a?.(V))!==null&&re!==void 0?re:E;window.clearTimeout(A),A=window.setTimeout(te,x)}catch(x){M(),v(x)}}}te()})}function Yt(r){const e=r.headers.get("content-type");if(!e?.startsWith(Q))throw new Error(`Expected content-type to be ${Q}, Actual: ${e}`)}function Wt(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 h=new URL(e);return f.toString()&&(h.search=f.toString()),Bt(h.toString(),{method:"POST",headers:u,body:n?JSON.stringify(n):void 0,signal:a.signal,openWhenHidden:!0,onopen:async v=>{v.ok?c=v.headers.get("X-Trace-Id")??void 0:(s.error(v),a.abort())},onmessage:v=>{const l=JSON.parse(v.data);c?l.traceId=c:l.requestId&&(l.traceId=l.requestId,c||(c=l.requestId)),s.next(l)},onclose:()=>{s.complete()},onerror:v=>{throw s.error(v),a.abort(),v}}),()=>{a.abort()}})}class Xt{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 Jt{apiKey;endpoint;botProviderEndpoint;debugMode;destroy$=new J;sseEmitter=new Xt;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?.(),Wt({apiKey:this.apiKey,endpoint:this.endpoint,debugMode:this.debugMode,payload:this.transformSsePayload?.(e)??e,customHeaders:this.customHeaders}).pipe(Rt(n=>bt(n).pipe($t(t?.delayTime??50))),Nt(this.destroy$),Dt(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;if(!e&&this.endpoint&&(e=this.endpoint.replace("/message/sse","")),!e)return null;if(e=e.replace(/\/+$/,""),!e.includes("/generic/")){const t=e.match(/^(https?:\/\/[^/]+)(\/.*)/);if(t){const[,n,o]=t;e=`${n}/generic${o}`}}return`${e}/blob`}}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 Z;const Qt=new Uint8Array(16);function Zt(){if(!Z){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Z=crypto.getRandomValues.bind(crypto)}return Z(Qt)}const je={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function er(r,e,t){r=r||{};const n=r.random??r.rng?.()??Zt();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 $e(r,e,t){return je.randomUUID&&!r?je.randomUUID():er(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=$e(),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 ee{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 de(!1),this.conversation$=new de(e.conversation),this.statesObserver=e.statesObserver}static async reset(e,t,n){const o=new ee(e);try{return o.subscribe(),await o.resetChannel(t,n),o}catch(i){throw o.close(),i}}subscribe(){this.statesSubscription=Pt([this.isConnecting$,this.conversation$]).pipe(H(([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:C.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??$e();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:C.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=Jt,S.Channel=ee,S.Conversation=w,S.EventType=d,S.FetchSseAction=C,S.MessageTemplateType=ne,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
3
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function $(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 B?p.errors:[p]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var v=L(h),l=v.next();!l.done;l=v.next()){var y=l.value;try{ce(y)}catch(p){i=i??[],p instanceof B?i=k(k([],U(i)),U(p.errors)):i.push(p)}}}catch(p){n={error:p}}finally{try{l&&!l.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}}if(i)throw new B(i)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)ce(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)&&$(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&$(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=(function(){var e=new r;return e.closed=!0,e})(),r})(),se=j.EMPTY;function ae(r){return r instanceof j||r&&"closed"in r&&m(r.remove)&&m(r.add)&&m(r.unsubscribe)}function ce(r){m(r)?r():r.unsubscribe()}var He={Promise:void 0},Fe={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 ue(r){Fe.setTimeout(function(){throw r})}function Y(){}function D(r){r()}var W=(function(r){I(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,ae(t)&&t.add(n)):n.destination=Ke,n}return e.create=function(t,n,o){return new X(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),Ve=(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){N(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){N(n)}else N(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){N(t)}},r})(),X=(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 Ve(s),i}return e})(W);function N(r){ue(r)}function qe(r){throw r}var Ke={closed:!0,next:Y,error:qe,complete:Y},J=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function G(r){return r}function Be(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=We(e)?e:new X(e,t,n);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},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=le(t),new t(function(o,i){var s=new X({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[J]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Be(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=le(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 le(r){var e;return(e=r??He.Promise)!==null&&e!==void 0?e:Promise}function Ye(r){return r&&m(r.next)&&m(r.error)&&m(r.complete)}function We(r){return r&&r instanceof W||Ye(r)&&ae(r)}function Xe(r){return m(r?.lift)}function P(r){return function(e){if(Xe(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 Je(r,e,t,n,o)}var Je=(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})(W),ze=ie(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),z=(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 fe(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;D(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;D(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;D(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?se:(this.currentObservers=null,a.push(t),new j(function(){n.currentObservers=null,$(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 fe(t,n)},e})(g),fe=(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:se},e})(z),de=(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})(z),Qe={now:function(){return Date.now()}},Ze=(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),he={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},et=(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),he.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&&he.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,$(i,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e})(Ze),ve=(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=Qe.now,r})(),tt=(function(r){I(e,r);function e(t,n){n===void 0&&(n=ve.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})(ve),pe=new tt(et),rt=pe,nt=new g(function(r){return r.complete()});function ye(r){return r&&m(r.schedule)}function me(r){return r[r.length-1]}function ot(r){return m(me(r))?r.pop():void 0}function be(r){return ye(me(r))?r.pop():void 0}var ge=(function(r){return r&&typeof r.length=="number"&&typeof r!="function"});function Se(r){return m(r?.then)}function we(r){return m(r[J])}function Ee(r){return Symbol.asyncIterator&&m(r?.[Symbol.asyncIterator])}function Ie(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 it(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Oe=it();function Ae(r){return m(r?.[Oe])}function Ce(r){return Ne(this,arguments,function(){var t,n,o,i;return oe(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 Te(r){return m(r?.getReader)}function T(r){if(r instanceof g)return r;if(r!=null){if(we(r))return st(r);if(ge(r))return at(r);if(Se(r))return ct(r);if(Ee(r))return _e(r);if(Ae(r))return ut(r);if(Te(r))return lt(r)}throw Ie(r)}function st(r){return new g(function(e){var t=r[J]();if(m(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function at(r){return new g(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function ct(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,ue)})}function ut(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 _e(r){return new g(function(e){ft(r,e).catch(function(t){return e.error(t)})})}function lt(r){return _e(Ce(r))}function ft(r,e){var t,n,o,i;return De(this,void 0,void 0,function(){var s,a;return oe(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),t=Ge(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 _(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 xe(r,e){return e===void 0&&(e=0),P(function(t,n){t.subscribe(O(n,function(o){return _(n,r,function(){return n.next(o)},e)},function(){return _(n,r,function(){return n.complete()},e)},function(o){return _(n,r,function(){return n.error(o)},e)}))})}function Pe(r,e){return e===void 0&&(e=0),P(function(t,n){n.add(r.schedule(function(){return t.subscribe(n)},e))})}function dt(r,e){return T(r).pipe(Pe(e),xe(e))}function ht(r,e){return T(r).pipe(Pe(e),xe(e))}function vt(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 pt(r,e){return new g(function(t){var n;return _(t,e,function(){n=r[Oe](),_(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 Me(r,e){if(!r)throw new Error("Iterable cannot be null");return new g(function(t){_(t,e,function(){var n=r[Symbol.asyncIterator]();_(t,e,function(){n.next().then(function(o){o.done?t.complete():t.next(o.value)})},0,!0)})})}function yt(r,e){return Me(Ce(r),e)}function mt(r,e){if(r!=null){if(we(r))return dt(r,e);if(ge(r))return vt(r,e);if(Se(r))return ht(r,e);if(Ee(r))return Me(r,e);if(Ae(r))return pt(r,e);if(Te(r))return yt(r,e)}throw Ie(r)}function Q(r,e){return e?mt(r,e):T(r)}function bt(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=be(r);return Q(r,t)}function gt(r){return r instanceof Date&&!isNaN(r)}function H(r,e){return P(function(t,n){var o=0;t.subscribe(O(n,function(i){n.next(r.call(e,i,o++))}))})}var St=Array.isArray;function wt(r,e){return St(e)?r.apply(void 0,k([],U(e))):r(e)}function Et(r){return H(function(e){return wt(r,e)})}var It=Array.isArray,Ot=Object.getPrototypeOf,At=Object.prototype,Ct=Object.keys;function Tt(r){if(r.length===1){var e=r[0];if(It(e))return{args:e,keys:null};if(_t(e)){var t=Ct(e);return{args:t.map(function(n){return e[n]}),keys:t}}}return{args:r,keys:null}}function _t(r){return r&&typeof r=="object"&&Ot(r)===At}function xt(r,e){return r.reduce(function(t,n,o){return t[n]=e[o],t},{})}function Pt(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=be(r),n=ot(r),o=Tt(r),i=o.args,s=o.keys;if(i.length===0)return Q([],t);var a=new g(Mt(i,t,s?function(c){return xt(s,c)}:G));return n?a.pipe(Et(n)):a}function Mt(r,e,t){return t===void 0&&(t=G),function(n){Le(e,function(){for(var o=r.length,i=new Array(o),s=o,a=o,c=function(f){Le(e,function(){var h=Q(r[f],e),v=!1;h.subscribe(O(n,function(l){i[f]=l,v||(v=!0,a--),a||n.next(t(i.slice()))},function(){--s||n.complete()}))},n)},u=0;u<o;u++)c(u)},n)}}function Le(r,e,t){r?_(t,r,e):e()}function Lt(r,e,t,n,o,i,s,a){var c=[],u=0,f=0,h=!1,v=function(){h&&!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();v()}catch(M){e.error(M)}}))};return r.subscribe(O(e,l,function(){h=!0,v()})),function(){}}function F(r,e,t){return t===void 0&&(t=1/0),m(e)?F(function(n,o){return H(function(i,s){return e(n,i,o,s)})(T(r(n,o)))},t):(typeof e=="number"&&(t=e),P(function(n,o){return Lt(n,o,r,t)}))}function Re(r,e,t){r===void 0&&(r=0),t===void 0&&(t=rt);var n=-1;return e!=null&&(ye(e)?t=e:n=e),new g(function(o){var i=gt(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 Rt(r,e){return m(e)?F(r,e,1):F(r,1)}function Ut(r){return r<=0?function(){return nt}:P(function(e,t){var n=0;e.subscribe(O(t,function(o){++n<=r&&(t.next(o),r<=n&&t.complete())}))})}function kt(r){return H(function(){return r})}function jt(r,e){return F(function(t,n){return T(r(t,n)).pipe(Ut(1),kt(t))})}function $t(r,e){e===void 0&&(e=pe);var t=Re(r,e);return jt(function(){return t})}function Dt(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,h=function(){var v=!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,h()):v=!0};if(o!=null){var p=typeof o=="number"?Re(o):T(o(l,u)),E=O(c,function(){E.unsubscribe(),y()},function(){c.complete()});p.subscribe(E)}else y()}else c.error(l)})),v&&(f.unsubscribe(),f=null,h())};h()})}function Nt(r){return P(function(e,t){T(r).subscribe(O(t,function(){return t.complete()},Y)),!t.closed&&e.subscribe(t)})}async function Gt(r,e){const t=r.getReader();let n;for(;!(n=await t.read()).done;)e(n.value)}function Ht(r){let e,t,n,o=!1;return function(s){e===void 0?(e=s,t=0,n=-1):e=Vt(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 Ft(r,e,t){let n=Ue();const o=new TextDecoder;return function(s,a){if(s.length===0)t?.(n),n=Ue();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 h=parseInt(f,10);isNaN(h)||e(n.retry=h);break}}}}function Vt(r,e){const t=new Uint8Array(r.length+e.length);return t.set(r),t.set(e,r.length),t}function Ue(){return{data:"",event:"",id:"",retry:void 0}}var qt=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 Z="text/event-stream",Kt=1e3,ke="last-event-id";function Bt(r,e){var{signal:t,headers:n,onopen:o,onmessage:i,onclose:s,onerror:a,openWhenHidden:c,fetch:u}=e,f=qt(e,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise((h,v)=>{const l=Object.assign({},n);l.accept||(l.accept=Z);let y;function p(){y.abort(),document.hidden||te()}c||document.addEventListener("visibilitychange",p);let E=Kt,A=0;function M(){document.removeEventListener("visibilitychange",p),window.clearTimeout(A),y.abort()}t?.addEventListener("abort",()=>{M(),h()});const tr=u??window.fetch,rr=o??Yt;async function te(){var re;y=new AbortController;try{const q=await tr(r,Object.assign(Object.assign({},f),{headers:l,signal:y.signal}));await rr(q),await Gt(q.body,Ht(Ft(x=>{x?l[ke]=x:delete l[ke]},x=>{E=x},i))),s?.(),M(),h()}catch(q){if(!y.signal.aborted)try{const x=(re=a?.(q))!==null&&re!==void 0?re:E;window.clearTimeout(A),A=window.setTimeout(te,x)}catch(x){M(),v(x)}}}te()})}function Yt(r){const e=r.headers.get("content-type");if(!e?.startsWith(Z))throw new Error(`Expected content-type to be ${Z}, Actual: ${e}`)}function Wt(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 h=new URL(e);return f.toString()&&(h.search=f.toString()),Bt(h.toString(),{method:"POST",headers:u,body:n?JSON.stringify(n):void 0,signal:a.signal,openWhenHidden:!0,onopen:async v=>{v.ok?c=v.headers.get("X-Trace-Id")??void 0:(s.error(v),a.abort())},onmessage:v=>{const l=JSON.parse(v.data);c?l.traceId=c:l.requestId&&(l.traceId=l.requestId,c||(c=l.requestId)),s.next(l)},onclose:()=>{s.complete()},onerror:v=>{throw s.error(v),a.abort(),v}}),()=>{a.abort()}})}class Xt{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 Jt{apiKey;endpoint;botProviderEndpoint;debugMode;destroy$=new z;sseEmitter=new Xt;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?.(),Wt({apiKey:this.apiKey,endpoint:this.endpoint,debugMode:this.debugMode,payload:this.transformSsePayload?.(e)??e,customHeaders:this.customHeaders}).pipe(Rt(n=>bt(n).pipe($t(t?.delayTime??50))),Nt(this.destroy$),Dt(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;if(!e&&this.endpoint&&(e=this.endpoint.replace("/message/sse","")),!e)return null;if(e=e.replace(/\/+$/,""),!e.includes("/generic/")){const t=e.match(/^(https?:\/\/[^/]+)(\/.*)/);if(t){const[,n,o]=t;e=`${n}/generic${o}`}}return`${e}/blob`}}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 ee;const Qt=new Uint8Array(16);function Zt(){if(!ee){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");ee=crypto.getRandomValues.bind(crypto)}return ee(Qt)}const je={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function er(r,e,t){r=r||{};const n=r.random??r.rng?.()??Zt();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 $e(r,e,t){return je.randomUUID&&!r?je.randomUUID():er(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=$e(),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 V{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 de(!1),this.conversation$=new de(e.conversation),this.statesObserver=e.statesObserver}static create(e){const t=new V(e);return t.subscribe(),t}static async reset(e,t,n){const o=new V(e);try{return o.subscribe(),await o.resetChannel(t,n),o}catch(i){throw o.close(),i}}subscribe(){this.statesSubscription=Pt([this.isConnecting$,this.conversation$]).pipe(H(([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:C.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??$e();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:C.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=Jt,S.Channel=V,S.Conversation=w,S.EventType=d,S.FetchSseAction=C,S.MessageTemplateType=ne,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
5
5
  //# sourceMappingURL=index.js.map