@chainlit/react-client 0.1.0 → 0.2.0
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/README.md +13 -10
- package/dist/index.d.mts +167 -84
- package/dist/index.d.ts +167 -84
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +305 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function o(e,t,n,r,o,i,a){try{var u=e[i](a);var s=u.value}catch(e){n(e);return}if(u.done){t(s)}else{Promise.resolve(s).then(r,o)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function u(e){o(a,r,i,u,s,"next",e)}function s(e){o(a,r,i,u,s,"throw",e)}u(undefined)})}}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t,n){if(C()){u=Reflect.construct}else{u=function e(e,t,n){var r=[null];r.push.apply(r,t);var o=Function.bind.apply(e,r);var i=new o;if(n)O(i,n.prototype);return i}}return u.apply(null,arguments)}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)s(e.prototype,t);if(n)s(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function d(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)O(e,t)}function p(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function v(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function h(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function y(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var o=true;var i=false;var a,u;try{for(n=n.call(e);!(o=(a=n.next()).done);o=true){r.push(a.value);if(t&&r.length===t)break}}catch(e){i=true;u=e}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(i)throw u}}return r}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function S(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{k(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function w(e,t){if(e==null)return{};var n=R(e,t);var r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++){r=i[o];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function R(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var o,i;for(i=0;i<r.length;i++){o=r[i];if(t.indexOf(o)>=0)continue;n[o]=e[o]}return n}function x(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function O(e,t){O=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return O(e,t)}function _(e,n){return t(e)||y(e,n)||j(e,n)||m()}function I(e){return n(e)||h(e)||j(e)||b()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function j(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function E(e){var t=typeof Map==="function"?new Map:undefined;E=function e(e){if(e===null||!v(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return O(n,e)};return E(e)}function C(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function P(e){var t=C();return function n(){var n=f(e),r;if(t){var o=f(this).constructor;r=Reflect.construct(n,arguments,o)}else{r=n.apply(this,arguments)}return x(this,r)}}function A(e,t){var n,r,o,i,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return(i={next:u(0),"throw":u(1),"return":u(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i);function u(e){return function(t){return s([e,t])}}function s(i){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(o=i[0]&2?r["return"]:i[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;if(r=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:a.label++;return{value:i[1],done:false};case 5:a.label++;r=i[1];i=[0];continue;case 7:i=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){a=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(i[0]===6&&a.label<o[1]){a.label=o[1];o=i;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(i);break}if(o[2])a.ops.pop();a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e];r=0}finally{n=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}}var D=require("recoil");var V=require("lodash");var M=require("uuid");var q=require("react");var U=require("socket.io-client");var F=require("jwt-decode");var L=require("swr");function B(e){return e&&e.__esModule?e:{default:e}}var G=/*#__PURE__*/B(U);var H=/*#__PURE__*/B(F);var X=/*#__PURE__*/B(L);var z=function(e){var t={},n=new Date,r=new Date;r.setDate(n.getDate()-1);var o=new Date;o.setDate(n.getDate()-7);var i=new Date;return i.setDate(n.getDate()-30),e.forEach(function(e){var a=new Date(e.createdAt),u=a.toDateString()===n.toDateString(),s=a.toDateString()===r.toDateString(),c=a>=o,l=a>=i,f;u?f="Today":s?f="Yesterday":c?f="Previous 7 days":l?f="Previous 30 days":f=a.toLocaleString("default",{month:"long",year:"numeric"}).split(" ").slice(0,1).join(" "),t[f]||(t[f]=[]),t[f].push(e)}),t};var J=D.atom({key:"ThreadIdToResume",default:void 0}),N=D.atom({key:"ChatProfile",default:void 0}),W=D.atom({key:"SessionId",default:M.v4()}),K=D.selector({key:"SessionIdSelector",get:function(e){var t=e.get;return t(W)},set:function(e,t){var n=e.set;return n(W,p(t,D.DefaultValue)?M.v4():t)}}),Y=D.atom({key:"Session",dangerouslyAllowMutability:!0,default:void 0}),$=D.atom({key:"Actions",default:[]}),Q=D.atom({key:"Messages",dangerouslyAllowMutability:!0,default:[]}),Z=D.atom({key:"TokenCount",default:0}),ee=D.atom({key:"Loading",default:!1}),et=D.atom({key:"AskUser",default:void 0}),en=D.atom({key:"CallFn",default:void 0}),er=D.atom({key:"ChatSettings",default:[]}),eo=D.selector({key:"ChatSettingsValue/Default",get:function(e){var t=e.get;return t(er).reduce(function(e,t){return e[t.id]=t.initial,e},{})}}),ei=D.atom({key:"ChatSettingsValue",default:eo}),ea=D.atom({key:"DisplayElements",default:[]}),eu=D.atom({key:"TasklistElements",default:[]}),es=D.atom({key:"FirstUserInteraction",default:void 0}),ec=D.atom({key:"AccessToken",default:void 0}),el=D.atom({key:"User",default:null}),ef=D.atom({key:"ThreadHistory",default:{threads:void 0,currentThreadId:void 0,timeGroupedThreads:void 0,pageInfo:void 0},effects:[function(e){var t=e.setSelf,n=e.onSet;n(function(e,n){var r=e===null||e===void 0?void 0:e.timeGroupedThreads;(e===null||e===void 0?void 0:e.threads)&&!V.isEqual(e.threads,n===null||n===void 0?void 0:n.timeGroupedThreads)&&(r=z(e.threads)),t(S(g({},e),{timeGroupedThreads:r}))})}]}),ed=D.atom({key:"SideView",default:void 0}),ep=D.atom({key:"CurrentThreadId",default:void 0});var ev=function(){var e=D.useRecoilValue(ee),t=D.useRecoilValue(ea),n=D.useRecoilValue(eu),r=D.useRecoilValue($),o=D.useRecoilValue(Y),i=D.useRecoilValue(et),a=D.useRecoilValue(er),u=D.useRecoilValue(ei),s=D.useRecoilValue(eo),c=(o===null||o===void 0?void 0:o.socket.connected)&&!(o===null||o===void 0?void 0:o.error),l=!c||e||(i===null||i===void 0?void 0:i.spec.type)==="file"||(i===null||i===void 0?void 0:i.spec.type)==="action";return{actions:r,askUser:i,chatSettingsDefaultValue:s,chatSettingsInputs:a,chatSettingsValue:u,connected:c,disabled:l,elements:t,error:o===null||o===void 0?void 0:o.error,loading:e,tasklists:n}};var eh=function(e){var t=[];var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),a;!(n=(a=i.next()).done);n=true){var u=a.value;t=em(t,u)}}catch(e){r=true;o=e}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(r){throw o}}}return t},ey=function(e,t){if(e.length-1===t)return!0;for(var n=t+1;n<e.length;n++)if(!e[n].streaming)return!1;return!0},em=function(e,t){var n=["assistant_message","user_message","tool"].includes(t.type),r=!t.parentId;if(r&&!n)return e;var o=r?void 0:ek(e,t.parentId),i=(r||(o===null||o===void 0?void 0:o.type)!=="assistant_message")&&t.type==="tool";if(eS(e,t.id))return ew(e,t.id,t);if(i){var a=e.length>0?e[e.length-1]:void 0,u=(a===null||a===void 0?void 0:a.type)==="assistant_message"&&(a===null||a===void 0?void 0:a.id.startsWith("wrap_"));return a&&u?I(e.slice(0,e.length-1)).concat([S(g({},a),{steps:I(a.steps||[]).concat([t])})]):I(e).concat([S(g({},t),{name:"",input:"",output:"",id:"wrap_"+t.id,type:"assistant_message",steps:[t]})])}else return"parentId"in t&&t.parentId?eg(e,t.parentId,t):"indent"in t&&t.indent&&t.indent>0?eb(e,t.indent,t):I(e).concat([t])},eb=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;var o=I(e);if(o.length===0)return I(o).concat([n]);{var i=o.length-1,a=o[i];return a.steps=a.steps||[],r+1===t?(a.steps=I(a.steps).concat([n]),o[i]=g({},a),o):(a.steps=eb(a.steps,t,n,r+1),o[i]=g({},a),o)}},eg=function(e,t,n){var r=I(e);for(var o=0;o<r.length;o++){var i=r[o];V.isEqual(i.id,t)?(i.steps=i.steps?I(i.steps).concat([n]):[n],r[o]=g({},i)):eS(r,t)&&i.steps&&(i.steps=eg(i.steps,t,n),r[o]=g({},i))}return r},ek=function(e,t){var n=true,r=false,o=undefined;try{for(var i=e[Symbol.iterator](),a;!(n=(a=i.next()).done);n=true){var u=a.value;if(V.isEqual(u.id,t))return u;if(u.steps&&u.steps.length>0){var s=ek(u.steps,t);if(s)return s}}}catch(e){r=true;o=e}finally{try{if(!n&&i.return!=null){i.return()}}finally{if(r){throw o}}}},eS=function(e,t){return ek(e,t)!==void 0},ew=function(e,t,n){var r=I(e);for(var o=0;o<r.length;o++){var i=r[o];V.isEqual(i.id,t)?r[o]=g({steps:i.steps},n):eS(r,t)&&i.steps&&(i.steps=ew(i.steps,t,n),r[o]=g({},i))}return r},eR=function(e,t){var n=I(e);for(var r=0;r<n.length;r++){var o=n[r];o.id===t?n=I(n.slice(0,r)).concat(I(n.slice(r+1))):eS(n,t)&&o.steps&&(o.steps=eR(o.steps,t),n[r]=g({},o))}return n},ex=function(e,t,n,r,o){var i=I(e);for(var a=0;a<i.length;a++){var u=i[a];V.isEqual(u.id,t)?("content"in u&&u.content!==void 0?r?u.content=n:u.content+=n:o?"input"in u&&u.input!==void 0&&(r?u.input=n:u.input+=n):"output"in u&&u.output!==void 0&&(r?u.output=n:u.output+=n),i[a]=g({},u)):u.steps&&(u.steps=ex(u.steps,t,n,r,o),i[a]=g({},u))}return i};var eO=function(){var e=D.useRecoilValue(ec),t=D.useRecoilValue(Y),n=D.useRecoilValue(et),r=D.useRecoilValue(K),o=D.useResetRecoilState(er),i=D.useResetRecoilState(K),a=D.useResetRecoilState(ei),u=D.useSetRecoilState(es),s=D.useSetRecoilState(ee),c=D.useSetRecoilState(Q),l=D.useSetRecoilState(ea),f=D.useSetRecoilState(eu),d=D.useSetRecoilState($),p=D.useSetRecoilState(Z),v=D.useSetRecoilState(J),h=D.useSetRecoilState(ed),y=D.useSetRecoilState(ep),m=q.useCallback(function(){t===null||t===void 0?void 0:t.socket.emit("clear_session"),t===null||t===void 0?void 0:t.socket.disconnect(),v(void 0),i(),u(void 0),c([]),l([]),f([]),d([]),p(0),o(),a(),h(void 0),y(void 0)},[t]),b=q.useCallback(function(e){t===null||t===void 0?void 0:t.socket.emit("copilot_event",e)},[t===null||t===void 0?void 0:t.socket]),g=q.useCallback(function(e,n){c(function(t){return em(t,e)}),t===null||t===void 0?void 0:t.socket.emit("ui_message",{message:e,fileReferences:n})},[t===null||t===void 0?void 0:t.socket]),k=q.useCallback(function(e,n,r,o){t===null||t===void 0?void 0:t.socket.emit("audio_chunk",{isStart:e,mimeType:n,elapsedTime:r,data:o})},[t===null||t===void 0?void 0:t.socket]),S=q.useCallback(function(e){t===null||t===void 0?void 0:t.socket.emit("audio_end",{fileReferences:e})},[t===null||t===void 0?void 0:t.socket]),w=q.useCallback(function(e){n&&(c(function(t){return em(t,e)}),n.callback(e))},[n]),R=q.useCallback(function(e){t===null||t===void 0?void 0:t.socket.emit("chat_settings_change",e)},[t===null||t===void 0?void 0:t.socket]),x=q.useCallback(function(){c(function(e){return e.map(function(e){return e.streaming=!1,e})}),s(!1),t===null||t===void 0?void 0:t.socket.emit("stop")},[t===null||t===void 0?void 0:t.socket]),O=q.useCallback(function(e){var n=t===null||t===void 0?void 0:t.socket;if(!n)return;var r=new Promise(function(e,t){n.once("action_response",function(n){n.status?e(n):t(n)})});return n.emit("action_call",e),r},[t===null||t===void 0?void 0:t.socket]);return{uploadFile:q.useCallback(function(t,n,o){return t.uploadFile(n,o,r,e)},[r,e]),callAction:O,clear:m,replyMessage:w,sendMessage:g,sendAudioChunk:k,endAudioStream:S,stopTask:x,setIdToResume:v,updateChatSettings:R,sendCopilotEvent:b}};var e_=function(){var e=D.useRecoilValue(Q),t=D.useRecoilValue(es);return{threadId:D.useRecoilValue(ep),messages:e,firstInteraction:t}};var eI=function(){var e=D.useRecoilValue(K),t=_(D.useRecoilState(Y),2),n=t[0],r=t[1],o=D.useResetRecoilState(ei),i=D.useSetRecoilState(es),a=D.useSetRecoilState(ee),u=D.useSetRecoilState(Q),s=D.useSetRecoilState(et),c=D.useSetRecoilState(en),l=D.useSetRecoilState(ea),f=D.useSetRecoilState(eu),d=D.useSetRecoilState($),p=D.useSetRecoilState(er),v=D.useSetRecoilState(Z),h=_(D.useRecoilState(N),2),y=h[0],m=h[1],b=D.useRecoilValue(J),k=D.useSetRecoilState(ep),w=q.useCallback(function(t){var n=t.client,h=t.userEnv,w=t.accessToken;var R=new URL(n.httpEndpoint),x=R.protocol,O=R.host,_=R.pathname,T="".concat(x,"//").concat(O),j=_&&_!=="/"?"/ws".concat(_,"/socket.io"):"/ws/socket.io",E=G.default(T,{path:j,extraHeaders:{Authorization:w||"","X-Chainlit-Client-Type":n.type,"X-Chainlit-Session-Id":e,"X-Chainlit-Thread-Id":b||"","user-env":JSON.stringify(h),"X-Chainlit-Chat-Profile":y?encodeURIComponent(y):""}});r(function(e){var t,n;return e===null||e===void 0?void 0:(t=e.socket)===null||t===void 0?void 0:t.removeAllListeners(),e===null||e===void 0?void 0:(n=e.socket)===null||n===void 0?void 0:n.close(),{socket:E}}),E.on("connect",function(){E.emit("connection_successful"),r(function(e){return S(g({},e),{error:!1})})}),E.on("connect_error",function(e){r(function(e){return S(g({},e),{error:!0})})}),E.on("task_start",function(){a(!0)}),E.on("task_end",function(){a(!1)}),E.on("reload",function(){E.emit("clear_session"),window.location.reload()}),E.on("resume_thread",function(e){var t,n;var r=[];var o=true,i=false,a=undefined;try{for(var s=e.steps[Symbol.iterator](),c;!(o=(c=s.next()).done);o=true){var d=c.value;r=em(r,d)}}catch(e){i=true;a=e}finally{try{if(!o&&s.return!=null){s.return()}}finally{if(i){throw a}}}((t=e.metadata)===null||t===void 0?void 0:t.chat_profile)&&m((n=e.metadata)===null||n===void 0?void 0:n.chat_profile),u(r);var p=e.elements||[];f(p.filter(function(e){return e.type==="tasklist"})),l(p.filter(function(e){return["avatar","tasklist"].indexOf(e.type)===-1}))}),E.on("new_message",function(e){u(function(t){return em(t,e)})}),E.on("first_interaction",function(e){i(e.interaction),k(e.thread_id)}),E.on("update_message",function(e){u(function(t){return ew(t,e.id,e)})}),E.on("delete_message",function(e){u(function(t){return eR(t,e.id)})}),E.on("stream_start",function(e){u(function(t){return em(t,e)})}),E.on("stream_token",function(e){var t=e.id,n=e.token,r=e.isSequence,o=e.isInput;u(function(e){return ex(e,t,n,r,o)})}),E.on("ask",function(e,t){var n=e.msg,r=e.spec;s({spec:r,callback:t}),u(function(e){return em(e,n)}),a(!1)}),E.on("ask_timeout",function(){s(void 0),a(!1)}),E.on("clear_ask",function(){s(void 0)}),E.on("call_fn",function(e,t){var n=e.name,r=e.args;var o=new CustomEvent("chainlit-call-fn",{detail:{name:n,args:r,callback:t}});window.dispatchEvent(o),c({name:n,args:r,callback:t})}),E.on("clear_call_fn",function(){c(void 0)}),E.on("call_fn_timeout",function(){c(void 0)}),E.on("chat_settings",function(e){p(e),o()}),E.on("element",function(t){!t.url&&t.chainlitKey&&(t.url=n.getElementUrl(t.chainlitKey,e)),t.type==="tasklist"?f(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?I(e).concat([t]):I(e.slice(0,n)).concat([t],I(e.slice(n+1)))}):l(function(e){var n=e.findIndex(function(e){return e.id===t.id});return n===-1?I(e).concat([t]):I(e.slice(0,n)).concat([t],I(e.slice(n+1)))})}),E.on("remove_element",function(e){l(function(t){return t.filter(function(t){return t.id!==e.id})}),f(function(t){return t.filter(function(t){return t.id!==e.id})})}),E.on("action",function(e){d(function(t){return I(t).concat([e])})}),E.on("remove_action",function(e){d(function(t){var n=t.findIndex(function(t){return t.id===e.id});return n===-1?t:I(t.slice(0,n)).concat(I(t.slice(n+1)))})}),E.on("token_usage",function(e){v(function(t){return t+e})})},[r,e,y]),R=q.useCallback(V.debounce(w,200),[w]),x=q.useCallback(function(){(n===null||n===void 0?void 0:n.socket)&&(n.socket.removeAllListeners(),n.socket.close())},[n]);return{connect:R,disconnect:x,session:n,sessionId:e,chatProfile:y,idToResume:b,setChatProfile:m}};var eT="token";function ej(){try{return localStorage.getItem(eT)}catch(e){return}}function eE(e){try{return localStorage.setItem(eT,e)}catch(e){return}}function eC(){try{return localStorage.removeItem(eT)}catch(e){return}}var eP=function(){var e=i(function(e,t,n){var r;return A(this,function(o){switch(o.label){case 0:return[4,e.get(t,n)];case 1:return[2,(r=o.sent())===null||r===void 0?void 0:r.json()]}})});return function t(t,n,r){return e.apply(this,arguments)}}();function eA(e,t,n){var r=D.useRecoilValue(ec);return X.default(t?[t,r]:null,function(t){var n=_(t,2),r=n[0],o=n[1];return eP(e,r,o)},n)}var eD=function(e){var t=eA(e,"/auth/config"),n=t.data,r=t.isLoading,o=_(D.useRecoilState(ec),2),a=o[0],u=o[1],s=D.useSetRecoilState(ef),c=_(D.useRecoilState(el),2),l=c[0],f=c[1],d=!!(!r&&n),p=function(){var t=i(function(){return A(this,function(t){switch(t.label){case 0:return[4,e.logout()];case 1:t.sent(),f(null),eC(),u(""),s(void 0);return[2]}})});return function e(){return t.apply(this,arguments)}}(),v=function(e){if(!e){p();return}try{var t=H.default(e),n=t.exp,r=w(t,["exp"]);eE(e),u("Bearer ".concat(e)),f(r)}catch(e){console.error("Invalid token, clearing token from local storage","error:",e),p()}};q.useEffect(function(){if(!l&&ej()){v(ej());return}},[]);var h=!!a;return n&&!n.requireLogin?{data:n,user:null,isReady:d,isAuthenticated:!0,accessToken:"",logout:function(){},setAccessToken:function(){}}:{data:n,user:l,isAuthenticated:h,isReady:d,accessToken:a,logout:p,setAccessToken:v}};var eV=/*#__PURE__*/function(e){d(n,e);var t=P(n);function n(e,r){a(this,n);var o;o=t.call(this,e);o.detail=r;return o}c(n,[{key:"toString",value:function e(){return this.detail?"".concat(this.message,": ").concat(this.detail):this.message}}]);return n}(E(Error)),eM=/*#__PURE__*/function(){function e(t,n,r,o){a(this,e);this.httpEndpoint=t;this.type=n;this.on401=r;this.onError=o}c(e,[{key:"buildEndpoint",value:function e(e){return this.httpEndpoint.endsWith("/")?"".concat(this.httpEndpoint.slice(0,-1)).concat(e):"".concat(this.httpEndpoint).concat(e)}},{key:"checkToken",value:function e(e){var t="Bearer ";return e.startsWith(t)?e:t+e}},{key:"fetch",value:function e(e,t,n,r,o){var a=this;return i(function(){var i,u,s,c,l;return A(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);i={};n&&(i.Authorization=a.checkToken(n));p(r,FormData)?u=r:(i["Content-Type"]="application/json",u=r?JSON.stringify(r):null);return[4,fetch(a.buildEndpoint(t),{method:e,headers:i,signal:o,body:u})];case 1:s=f.sent();if(!!s.ok)return[3,3];return[4,s.json()];case 2:c=f.sent();throw s.status===401&&a.on401&&(eC(),a.on401()),new eV(s.statusText,c.detail);case 3:return[2,s];case 4:l=f.sent();throw p(l,eV)&&a.onError&&a.onError(l),console.error(l),l;case 5:return[2]}})})()}},{key:"get",value:function e(e,t){var n=this;return i(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.fetch("GET",e,t)];case 1:return[2,r.sent()]}})})()}},{key:"post",value:function e(e,t,n,r){var o=this;return i(function(){return A(this,function(i){switch(i.label){case 0:return[4,o.fetch("POST",e,n,t,r)];case 1:return[2,i.sent()]}})})()}},{key:"put",value:function e(e,t,n){var r=this;return i(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("PUT",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"patch",value:function e(e,t,n){var r=this;return i(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("PATCH",e,n,t)];case 1:return[2,o.sent()]}})})()}},{key:"delete",value:function e(e,t,n){var r=this;return i(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.fetch("DELETE",e,n,t)];case 1:return[2,o.sent()]}})})()}}]);return e}(),eq=/*#__PURE__*/function(e){d(n,e);var t=P(n);function n(){a(this,n);return t.apply(this,arguments)}c(n,[{key:"headerAuth",value:function e(){var e=this;return i(function(){return A(this,function(t){switch(t.label){case 0:return[4,e.post("/auth/header",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"passwordAuth",value:function e(e){var t=this;return i(function(){return A(this,function(n){switch(n.label){case 0:return[4,t.post("/login",e)];case 1:return[2,n.sent().json()]}})})()}},{key:"logout",value:function e(){var e=this;return i(function(){return A(this,function(t){switch(t.label){case 0:return[4,e.post("/logout",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"setFeedback",value:function e(e,t){var n=this;return i(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.put("/feedback",{feedback:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"deleteFeedback",value:function e(e,t){var n=this;return i(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.delete("/feedback",{feedbackId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"listThreads",value:function e(e,t,n){var r=this;return i(function(){return A(this,function(o){switch(o.label){case 0:return[4,r.post("/project/threads",{pagination:e,filter:t},n)];case 1:return[2,o.sent().json()]}})})()}},{key:"deleteThread",value:function e(e,t){var n=this;return i(function(){return A(this,function(r){switch(r.label){case 0:return[4,n.delete("/project/thread",{threadId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"uploadFile",value:function e(e,t,n,r){var o=this;var i=new XMLHttpRequest,a=new Promise(function(a,u){var s=new FormData;s.append("file",e),i.open("POST",o.buildEndpoint("/project/file?session_id=".concat(n)),!0),r&&i.setRequestHeader("Authorization",o.checkToken(r)),i.upload.onprogress=function(e){if(e.lengthComputable){var n=e.loaded/e.total*100;t(n)}},i.onload=function(){if(i.status===200){var e=JSON.parse(i.responseText);a(e)}else u("Upload failed")},i.onerror=function(){u("Upload error")},i.send(s)});return{xhr:i,promise:a}}},{key:"getElementUrl",value:function e(e,t){var n="?session_id=".concat(t);return this.buildEndpoint("/project/file/".concat(e).concat(n))}},{key:"getLogoEndpoint",value:function e(e){return this.buildEndpoint("/logo?theme=".concat(e))}},{key:"getOAuthEndpoint",value:function e(e){return this.buildEndpoint("/auth/oauth/".concat(e))}}]);return n}(eM);Object.defineProperty(exports,"Socket",{enumerable:true,get:function e(){return U.Socket}});exports.APIBase=eM;exports.ChainlitAPI=eq;exports.ClientError=eV;exports.accessTokenState=ec;exports.actionState=$;exports.addMessage=em;exports.addMessageToParent=eg;exports.askUserState=et;exports.callFnState=en;exports.chatProfileState=N;exports.chatSettingsDefaultValueSelector=eo;exports.chatSettingsInputsState=er;exports.chatSettingsValueState=ei;exports.currentThreadIdState=ep;exports.deleteMessageById=eR;exports.elementState=ea;exports.fetcher=eP;exports.firstUserInteraction=es;exports.hasMessageById=eS;exports.isLastMessage=ey;exports.loadingState=ee;exports.messagesState=Q;exports.nestMessages=eh;exports.sessionIdState=K;exports.sessionState=Y;exports.sideViewState=ed;exports.tasklistState=eu;exports.threadHistoryState=ef;exports.threadIdToResumeState=J;exports.tokenCountState=Z;exports.updateMessageById=ew;exports.updateMessageContentById=ex;exports.useApi=eA;exports.useAuth=eD;exports.useChatData=ev;exports.useChatInteract=eO;exports.useChatMessages=e_;exports.useChatSession=eI;exports.userState=el;//# sourceMappingURL=out.js.map
|
|
1
|
+
"use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function a(e,t,n,r,a,o,i){try{var s=e[o](i);var u=s.value}catch(e){n(e);return}if(s.done){t(u)}else{Promise.resolve(u).then(r,a)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function s(e){a(i,r,o,s,u,"next",e)}function u(e){a(i,r,o,s,u,"throw",e)}s(undefined)})}}function i(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function s(e,t,n){if(E()){s=Reflect.construct}else{s=function e(e,t,n){var r=[null];r.push.apply(r,t);var a=Function.bind.apply(e,r);var o=new a;if(n)x(o,n.prototype);return o}}return s.apply(null,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function h(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)x(e,t)}function d(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function v(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function y(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var a=true;var o=false;var i,s;try{for(n=n.call(e);!(a=(i=n.next()).done);a=true){r.push(i.value);if(t&&r.length===t)break}}catch(e){o=true;s=e}finally{try{if(!a&&n["return"]!=null)n["return"]()}finally{if(o)throw s}}return r}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function w(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{b(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function S(e,t){if(e==null)return{};var n=A(e,t);var r,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++){r=o[a];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function A(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var a,o;for(o=0;o<r.length;o++){a=r[o];if(t.indexOf(a)>=0)continue;n[a]=e[a]}return n}function R(e,t){if(t&&(_(t)==="object"||typeof t==="function")){return t}return r(e)}function x(e,t){x=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return x(e,t)}function C(e,n){return t(e)||y(e,n)||T(e,n)||m()}function I(e){return n(e)||v(e)||T(e)||g()}function _(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function T(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function D(e){var t=typeof Map==="function"?new Map:undefined;D=function e(e){if(e===null||!p(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return s(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return x(n,e)};return D(e)}function E(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function P(e){var t=E();return function n(){var n=f(e),r;if(t){var a=f(this).constructor;r=Reflect.construct(n,arguments,a)}else{r=n.apply(this,arguments)}return R(this,r)}}function M(e,t){var n,r,a,o,i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]};return(o={next:s(0),"throw":s(1),"return":s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o);function s(e){return function(t){return u([e,t])}}function u(o){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,r&&(a=o[0]&2?r["return"]:o[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;if(r=0,a)o=[o[0]&2,a.value];switch(o[0]){case 0:case 1:a=o;break;case 4:i.label++;return{value:o[1],done:false};case 5:i.label++;r=o[1];o=[0];continue;case 7:o=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(o[0]===6||o[0]===2)){i=0;continue}if(o[0]===3&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(o[0]===6&&i.label<a[1]){i.label=a[1];a=o;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(o);break}if(a[2])i.ops.pop();i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e];r=0}finally{n=a=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}var O=require("recoil");var B=require("lodash");var j=require("uuid");var V=require("react");var L=require("jwt-decode");var F=require("swr");var q=require("socket.io-client");function U(e){return e&&e.__esModule?e:{default:e}}var W=/*#__PURE__*/U(L);var z=/*#__PURE__*/U(F);var N=/*#__PURE__*/U(q);var H=function(e){var t={},n=new Date,r=new Date;r.setDate(n.getDate()-1);var a=new Date;a.setDate(n.getDate()-7);var o=new Date;return o.setDate(n.getDate()-30),e.forEach(function(e){var i=new Date(e.createdAt),s=i.toDateString()===n.toDateString(),u=i.toDateString()===r.toDateString(),c=i>=a,l=i>=o,f;s?f="Today":u?f="Yesterday":c?f="Previous 7 days":l?f="Previous 30 days":f=i.toLocaleString("default",{month:"long",year:"numeric"}).split(" ").slice(0,1).join(" "),t[f]||(t[f]=[]),t[f].push(e)}),t};var G=[4186.01,4434.92,4698.63,4978.03,5274.04,5587.65,5919.91,6271.93,6644.88,7040,7458.62,7902.13],X=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],$=[],J=[];for(var Y=1;Y<=8;Y++)for(var K=0;K<G.length;K++){var Q=G[K];$.push(Q/Math.pow(2,8-Y)),J.push(X[K]+Y)}var Z=[32,2e3],ee=$.filter(function(e,t){return $[t]>Z[0]&&$[t]<Z[1]}),et=J.filter(function(e,t){return $[t]>Z[0]&&$[t]<Z[1]});var en=/*#__PURE__*/function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;var r=this;i(this,e);if(this.fftResults=[],n){var a=n.length,o=n.sampleRate,s=new OfflineAudioContext({length:a,sampleRate:o}),u=s.createBufferSource();u.buffer=n;var c=s.createAnalyser();c.fftSize=8192,c.smoothingTimeConstant=.1,u.connect(c);var l=1/60,f=a/o,h=function(e){var t=l*e;t<f&&s.suspend(t).then(function(){var t=new Float32Array(c.frequencyBinCount);c.getFloatFrequencyData(t),r.fftResults.push(t),h(e+1)}),e===1?s.startRendering():s.resume()};u.start(0),h(1),this.audio=t,this.context=s,this.analyser=c,this.sampleRate=o,this.audioBuffer=n}else{var d=new AudioContext,p=d.createMediaElementSource(t),v=d.createAnalyser();v.fftSize=8192,v.smoothingTimeConstant=.1,p.connect(v),v.connect(d.destination),this.audio=t,this.context=d,this.analyser=v,this.sampleRate=this.context.sampleRate,this.audioBuffer=null}}c(e,[{key:"getFrequencies",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"frequency",n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-100,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-30;var a=null;if(this.audioBuffer&&this.fftResults.length){var o=this.audio.currentTime/this.audio.duration,i=Math.min(o*this.fftResults.length|0,this.fftResults.length-1);a=this.fftResults[i]}return e.getFrequencies(this.analyser,this.sampleRate,a,t,n,r)}},{key:"resumeIfSuspended",value:function e(){var e=this;return o(function(){var t;return M(this,function(n){switch(n.label){case 0:t=e.context.state==="suspended";if(!t)return[3,2];return[4,e.context.resume()];case 1:t=n.sent();n.label=2;case 2:return[2,(t,!0)]}})})()}}],[{key:"getFrequencies",value:function e(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"frequency",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-100,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:-30;n||(n=new Float32Array(e.frequencyBinCount),e.getFloatFrequencyData(n));var i=t/2,s=1/n.length*i,u,c,l;if(r==="music"||r==="voice"){var f=r==="voice"?ee:$,h=Array(f.length).fill(a);for(var d=0;d<n.length;d++){var p=d*s,v=n[d];for(var y=f.length-1;y>=0;y--)if(p>f[y]){h[y]=Math.max(h[y],v);break}}u=h,c=r==="voice"?ee:$,l=r==="voice"?et:J}else u=Array.from(n),c=u.map(function(e,t){return s*t}),l=c.map(function(e){return"".concat(e.toFixed(2)," Hz")});var m=u.map(function(e){return Math.max(0,Math.min((e-a)/(o-a),1))});return{values:new Float32Array(m),frequencies:c,labels:l}}}]);return e}();globalThis.AudioAnalysis=en;var er=/*#__PURE__*/function(){function e(){i(this,e)}c(e,[{key:"_packData",value:function e(e,t){return[new Uint8Array([t,t>>8]),new Uint8Array([t,t>>8,t>>16,t>>24])][e]}},{key:"pack",value:function e(e,t){if(t===null||t===void 0?void 0:t.bitsPerSample)if(t===null||t===void 0?void 0:t.channels){if(!(t===null||t===void 0?void 0:t.data))throw new Error('Missing "data"')}else throw new Error('Missing "channels"');else throw new Error('Missing "bitsPerSample"');var n=t.bitsPerSample,r=t.channels,a=t.data,o=["RIFF",this._packData(1,4+(8+24)+(8+8)),"WAVE","fmt ",this._packData(1,16),this._packData(0,1),this._packData(0,r.length),this._packData(1,e),this._packData(1,e*r.length*n/8),this._packData(0,r.length*n/8),this._packData(0,n),"data",this._packData(1,r[0].length*r.length*n/8),a],i=new Blob(o,{type:"audio/mpeg"}),s=URL.createObjectURL(i);return{blob:i,url:s,channelCount:r.length,sampleRate:e,duration:a.byteLength/(r.length*e*2)}}}],[{key:"floatTo16BitPCM",value:function e(e){var t=new ArrayBuffer(e.length*2),n=new DataView(t),r=0;for(var a=0;a<e.length;a++,r+=2){var o=Math.max(-1,Math.min(1,e[a]));n.setInt16(r,o<0?o*32768:o*32767,!0)}return t}},{key:"mergeBuffers",value:function e(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n.buffer}}]);return e}();globalThis.WavPacker=er;var ea="\nclass AudioProcessor extends AudioWorkletProcessor {\n\n constructor() {\n super();\n this.port.onmessage = this.receive.bind(this);\n this.initialize();\n }\n\n initialize() {\n this.foundAudio = false;\n this.recording = false;\n this.chunks = [];\n }\n\n /**\n * Concatenates sampled chunks into channels\n * Format is chunk[Left[], Right[]]\n */\n readChannelData(chunks, channel = -1, maxChannels = 9) {\n let channelLimit;\n if (channel !== -1) {\n if (chunks[0] && chunks[0].length - 1 < channel) {\n throw new Error(\n `Channel ${channel} out of range: max ${chunks[0].length}`\n );\n }\n channelLimit = channel + 1;\n } else {\n channel = 0;\n channelLimit = Math.min(chunks[0] ? chunks[0].length : 1, maxChannels);\n }\n const channels = [];\n for (let n = channel; n < channelLimit; n++) {\n const length = chunks.reduce((sum, chunk) => {\n return sum + chunk[n].length;\n }, 0);\n const buffers = chunks.map((chunk) => chunk[n]);\n const result = new Float32Array(length);\n let offset = 0;\n for (let i = 0; i < buffers.length; i++) {\n result.set(buffers[i], offset);\n offset += buffers[i].length;\n }\n channels[n] = result;\n }\n return channels;\n }\n\n /**\n * Combines parallel audio data into correct format,\n * channels[Left[], Right[]] to float32Array[LRLRLRLR...]\n */\n formatAudioData(channels) {\n if (channels.length === 1) {\n // Simple case is only one channel\n const float32Array = channels[0].slice();\n const meanValues = channels[0].slice();\n return { float32Array, meanValues };\n } else {\n const float32Array = new Float32Array(\n channels[0].length * channels.length\n );\n const meanValues = new Float32Array(channels[0].length);\n for (let i = 0; i < channels[0].length; i++) {\n const offset = i * channels.length;\n let meanValue = 0;\n for (let n = 0; n < channels.length; n++) {\n float32Array[offset + n] = channels[n][i];\n meanValue += channels[n][i];\n }\n meanValues[i] = meanValue / channels.length;\n }\n return { float32Array, meanValues };\n }\n }\n\n /**\n * Converts 32-bit float data to 16-bit integers\n */\n floatTo16BitPCM(float32Array) {\n const buffer = new ArrayBuffer(float32Array.length * 2);\n const view = new DataView(buffer);\n let offset = 0;\n for (let i = 0; i < float32Array.length; i++, offset += 2) {\n let s = Math.max(-1, Math.min(1, float32Array[i]));\n view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n return buffer;\n }\n\n /**\n * Retrieves the most recent amplitude values from the audio stream\n * @param {number} channel\n */\n getValues(channel = -1) {\n const channels = this.readChannelData(this.chunks, channel);\n const { meanValues } = this.formatAudioData(channels);\n return { meanValues, channels };\n }\n\n /**\n * Exports chunks as an audio/wav file\n */\n export() {\n const channels = this.readChannelData(this.chunks);\n const { float32Array, meanValues } = this.formatAudioData(channels);\n const audioData = this.floatTo16BitPCM(float32Array);\n return {\n meanValues: meanValues,\n audio: {\n bitsPerSample: 16,\n channels: channels,\n data: audioData,\n },\n };\n }\n\n receive(e) {\n const { event, id } = e.data;\n let receiptData = {};\n switch (event) {\n case 'start':\n this.recording = true;\n break;\n case 'stop':\n this.recording = false;\n break;\n case 'clear':\n this.initialize();\n break;\n case 'export':\n receiptData = this.export();\n break;\n case 'read':\n receiptData = this.getValues();\n break;\n default:\n break;\n }\n // Always send back receipt\n this.port.postMessage({ event: 'receipt', id, data: receiptData });\n }\n\n sendChunk(chunk) {\n const channels = this.readChannelData([chunk]);\n const { float32Array, meanValues } = this.formatAudioData(channels);\n const rawAudioData = this.floatTo16BitPCM(float32Array);\n const monoAudioData = this.floatTo16BitPCM(meanValues);\n this.port.postMessage({\n event: 'chunk',\n data: {\n mono: monoAudioData,\n raw: rawAudioData,\n },\n });\n }\n\n process(inputList, outputList, parameters) {\n // Copy input to output (e.g. speakers)\n // Note that this creates choppy sounds with Mac products\n const sourceLimit = Math.min(inputList.length, outputList.length);\n for (let inputNum = 0; inputNum < sourceLimit; inputNum++) {\n const input = inputList[inputNum];\n const output = outputList[inputNum];\n const channelCount = Math.min(input.length, output.length);\n for (let channelNum = 0; channelNum < channelCount; channelNum++) {\n input[channelNum].forEach((sample, i) => {\n output[channelNum][i] = sample;\n });\n }\n }\n const inputs = inputList[0];\n // There's latency at the beginning of a stream before recording starts\n // Make sure we actually receive audio data before we start storing chunks\n let sliceIndex = 0;\n if (!this.foundAudio) {\n for (const channel of inputs) {\n sliceIndex = 0; // reset for each channel\n if (this.foundAudio) {\n break;\n }\n if (channel) {\n for (const value of channel) {\n if (value !== 0) {\n // find only one non-zero entry in any channel\n this.foundAudio = true;\n break;\n } else {\n sliceIndex++;\n }\n }\n }\n }\n }\n if (inputs && inputs[0] && this.foundAudio && this.recording) {\n // We need to copy the TypedArray, because the `process`\n // internals will reuse the same buffer to hold each input\n const chunk = inputs.map((input) => input.slice(sliceIndex));\n this.chunks.push(chunk);\n this.sendChunk(chunk);\n }\n return true;\n }\n}\n\nregisterProcessor('audio_processor', AudioProcessor);\n",eo=new Blob([ea],{type:"application/javascript"}),ei=URL.createObjectURL(eo),es=ei;var eu=/*#__PURE__*/function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.sampleRate,r=n===void 0?24e3:n,a=t.outputToSpeakers,o=a===void 0?!1:a,s=t.debug,u=s===void 0?!1:s;i(this,e);this.scriptSrc=es,this.sampleRate=r,this.outputToSpeakers=o,this.debug=!!u,this._deviceChangeCallback=null,this._devices=[],this.stream=null,this.processor=null,this.source=null,this.node=null,this.recording=!1,this._lastEventId=0,this.eventReceipts={},this.eventTimeout=5e3,this._chunkProcessor=function(){},this._chunkProcessorSize=void 0,this._chunkProcessorBuffer={raw:new ArrayBuffer(0),mono:new ArrayBuffer(0)}}c(e,[{key:"log",value:function e(){return this.debug&&this.log.apply(this,arguments),!0}},{key:"getSampleRate",value:function e(){return this.sampleRate}},{key:"getStatus",value:function e(){return this.processor?this.recording?"recording":"paused":"ended"}},{key:"_event",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;var r=this;return o(function(){var a,o,i;return M(this,function(s){switch(s.label){case 0:if(n=n||r.processor,!n)throw new Error("Can not send events without recording first");a={event:e,id:r._lastEventId++,data:t};n.port.postMessage(a);o=new Date().valueOf();s.label=1;case 1:if(!!r.eventReceipts[a.id])return[3,4];if(new Date().valueOf()-o>r.eventTimeout)throw new Error('Timeout waiting for "'.concat(e,'" event'));return[4,new Promise(function(e){return setTimeout(function(){return e(!0)},1)})];case 2:s.sent();s.label=3;case 3:return[3,1];case 4:i=r.eventReceipts[a.id];return[2,(delete r.eventReceipts[a.id],i)]}})})()}},{key:"listenForDeviceChange",value:function e(e){if(e===null&&this._deviceChangeCallback)navigator.mediaDevices.removeEventListener("devicechange",this._deviceChangeCallback),this._deviceChangeCallback=null;else if(e!==null){var t=this;var n=0,r=[],a=function(e){return e.map(function(e){return e.deviceId}).sort().join(",")},i=function(){var i=o(function(){var o,i;return M(this,function(s){switch(s.label){case 0:o=++n;return[4,t.listDevices()];case 1:i=s.sent();o===n&&a(r)!==a(i)&&(r=i,e(i.slice()));return[2]}})});return function e(){return i.apply(this,arguments)}}();navigator.mediaDevices.addEventListener("devicechange",i),i(),this._deviceChangeCallback=i}return!0}},{key:"requestPermission",value:function e(){return o(function(){var e,t;return M(this,function(n){switch(n.label){case 0:return[4,navigator.permissions.query({name:"microphone"})];case 1:e=n.sent();if(!(e.state==="denied"))return[3,2];window.alert("You must grant microphone access to use this feature.");return[3,6];case 2:if(!(e.state==="prompt"))return[3,6];n.label=3;case 3:n.trys.push([3,5,,6]);return[4,navigator.mediaDevices.getUserMedia({audio:!0})];case 4:n.sent().getTracks().forEach(function(e){return e.stop()});return[3,6];case 5:t=n.sent();window.alert("You must grant microphone access to use this feature.");return[3,6];case 6:return[2,!0]}})})()}},{key:"listDevices",value:function e(){var e=this;return o(function(){var t,n,r,a,o;return M(this,function(i){switch(i.label){case 0:if(!navigator.mediaDevices||!("enumerateDevices"in navigator.mediaDevices))throw new Error("Could not request user devices");return[4,e.requestPermission()];case 1:i.sent();return[4,navigator.mediaDevices.enumerateDevices()];case 2:t=i.sent().filter(function(e){return e.kind==="audioinput"}),n=t.findIndex(function(e){return e.deviceId==="default"}),r=[];if(n!==-1){a=t.splice(n,1)[0],o=t.findIndex(function(e){return e.groupId===a.groupId});o!==-1&&(a=t.splice(o,1)[0]),a.default=!0,r.push(a)}return[2,r.concat(t)]}})})()}},{key:"begin",value:function e(e){var t=this;return o(function(){var n,r,a,o,i,s,u,c;return M(this,function(l){switch(l.label){case 0:if(t.processor)throw new Error("Already connected: please call .end() to start a new session");if(!navigator.mediaDevices||!("getUserMedia"in navigator.mediaDevices))throw new Error("Could not request user media");l.label=1;case 1:l.trys.push([1,3,,4]);n={audio:!0};e&&(n.audio={deviceId:{exact:e}});return[4,navigator.mediaDevices.getUserMedia(n)];case 2:t.stream=l.sent();return[3,4];case 3:r=l.sent();throw new Error("Could not start media stream");case 4:a=new AudioContext({sampleRate:t.sampleRate}),o=a.createMediaStreamSource(t.stream);l.label=5;case 5:l.trys.push([5,7,,8]);return[4,a.audioWorklet.addModule(t.scriptSrc)];case 6:l.sent();return[3,8];case 7:i=l.sent();throw console.error(i),new Error("Could not add audioWorklet module: ".concat(t.scriptSrc));case 8:s=new AudioWorkletNode(a,"audio_processor");s.port.onmessage=function(e){var n=e.data,r=n.event,a=n.id,o=n.data;if(r==="receipt")t.eventReceipts[a]=o;else if(r==="chunk")if(t._chunkProcessorSize){var i=t._chunkProcessorBuffer;t._chunkProcessorBuffer={raw:er.mergeBuffers(i.raw,o.raw),mono:er.mergeBuffers(i.mono,o.mono)},t._chunkProcessorBuffer.mono.byteLength>=t._chunkProcessorSize&&(t._chunkProcessor(t._chunkProcessorBuffer),t._chunkProcessorBuffer={raw:new ArrayBuffer(0),mono:new ArrayBuffer(0)})}else t._chunkProcessor(o)};u=o.connect(s),c=a.createAnalyser();return[2,(c.fftSize=8192,c.smoothingTimeConstant=.1,u.connect(c),t.outputToSpeakers&&(console.warn("Warning: Output to speakers may affect sound quality,\nespecially due to system audio feedback preventative measures.\nuse only for debugging"),c.connect(a.destination)),t.source=o,t.node=u,t.analyser=c,t.processor=s,!0)]}})})()}},{key:"getFrequencies",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"frequency",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-100,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-30;if(!this.processor)throw new Error("Session ended: please call .begin() first");return en.getFrequencies(this.analyser,this.sampleRate,null,e,t,n)}},{key:"pause",value:function e(){var e=this;return o(function(){return M(this,function(t){switch(t.label){case 0:if(e.processor){if(!e.recording)throw new Error("Already paused: please call .record() first")}else throw new Error("Session ended: please call .begin() first");e._chunkProcessorBuffer.raw.byteLength&&e._chunkProcessor(e._chunkProcessorBuffer),e.log("Pausing ...");return[4,e._event("stop")];case 1:return[2,(t.sent(),e.recording=!1,!0)]}})})()}},{key:"record",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8192;var n=this;return o(function(){return M(this,function(r){switch(r.label){case 0:if(n.processor){if(n.recording)throw new Error("Already recording: please call .pause() first");if(typeof e!="function")throw new Error("chunkProcessor must be a function")}else throw new Error("Session ended: please call .begin() first");n._chunkProcessor=e,n._chunkProcessorSize=t,n._chunkProcessorBuffer={raw:new ArrayBuffer(0),mono:new ArrayBuffer(0)},n.log("Recording ...");return[4,n._event("start")];case 1:return[2,(r.sent(),n.recording=!0,!0)]}})})()}},{key:"clear",value:function e(){var e=this;return o(function(){return M(this,function(t){switch(t.label){case 0:if(!e.processor)throw new Error("Session ended: please call .begin() first");return[4,e._event("clear")];case 1:return[2,(t.sent(),!0)]}})})()}},{key:"read",value:function e(){var e=this;return o(function(){return M(this,function(t){switch(t.label){case 0:if(!e.processor)throw new Error("Session ended: please call .begin() first");e.log("Reading ...");return[4,e._event("read")];case 1:return[2,t.sent()]}})})()}},{key:"save",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var t=this;return o(function(){var n;return M(this,function(r){switch(r.label){case 0:if(!t.processor)throw new Error("Session ended: please call .begin() first");if(!e&&t.recording)throw new Error("Currently recording: please call .pause() first, or call .save(true) to force");t.log("Exporting ...");return[4,t._event("export")];case 1:n=r.sent();return[2,new er().pack(t.sampleRate,n.audio)]}})})()}},{key:"end",value:function e(){var e=this;return o(function(){var t,n;return M(this,function(r){switch(r.label){case 0:if(!e.processor)throw new Error("Session ended: please call .begin() first");t=e.processor;e.log("Stopping ...");return[4,e._event("stop")];case 1:r.sent(),e.recording=!1,e.stream.getTracks().forEach(function(e){return e.stop()}),e.log("Exporting ...");return[4,e._event("export",{},t)];case 2:n=r.sent();return[2,(e.processor.disconnect(),e.source.disconnect(),e.node.disconnect(),e.analyser.disconnect(),e.stream=null,e.processor=null,e.source=null,e.node=null,new er().pack(e.sampleRate,n.audio))]}})})()}},{key:"quit",value:function e(){var e=this;return o(function(){var t;return M(this,function(n){switch(n.label){case 0:e.listenForDeviceChange(null);t=e.processor;if(!t)return[3,2];return[4,e.end()];case 1:t=n.sent();n.label=2;case 2:return[2,(t,!0)]}})})()}}],[{key:"decode",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:24e3,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-1;return o(function(){var r,a,o,i,s,u,c,l,f,h;return M(this,function(p){switch(p.label){case 0:r=new AudioContext({sampleRate:t});if(!d(e,Blob))return[3,2];if(n!==-1)throw new Error('Can not specify "fromSampleRate" when reading from Blob');o=e;return[4,o.arrayBuffer()];case 1:a=p.sent();return[3,5];case 2:if(!d(e,ArrayBuffer))return[3,3];if(n!==-1)throw new Error('Can not specify "fromSampleRate" when reading from ArrayBuffer');a=e,o=new Blob([a],{type:"audio/wav"});return[3,5];case 3:if(d(e,Int16Array)){s=e,i=new Float32Array(e.length);for(u=0;u<e.length;u++)i[u]=e[u]/32768}else if(d(e,Float32Array))i=e;else if(d(e,Array))i=new Float32Array(e);else throw new Error('"audioData" must be one of: Blob, Float32Arrray, Int16Array, ArrayBuffer, Array<number>');if(n===-1)throw new Error('Must specify "fromSampleRate" when reading from Float32Array, In16Array or Array');if(n<3e3)throw new Error('Minimum "fromSampleRate" is 3000 (3kHz)');s||(s=er.floatTo16BitPCM(i));c={bitsPerSample:16,channels:[i],data:s};o=new er().pack(n,c).blob;return[4,o.arrayBuffer()];case 4:a=p.sent();p.label=5;case 5:return[4,r.decodeAudioData(a)];case 6:l=p.sent(),f=l.getChannelData(0),h=URL.createObjectURL(o);return[2,{blob:o,url:h,values:f,audioBuffer:l}]}})})()}}]);return e}();globalThis.WavRecorder=eu;var ec="\nclass StreamProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n this.hasStarted = false;\n this.hasInterrupted = false;\n this.outputBuffers = [];\n this.bufferLength = 128;\n this.write = { buffer: new Float32Array(this.bufferLength), trackId: null };\n this.writeOffset = 0;\n this.trackSampleOffsets = {};\n this.port.onmessage = (event) => {\n if (event.data) {\n const payload = event.data;\n if (payload.event === 'write') {\n const int16Array = payload.buffer;\n const float32Array = new Float32Array(int16Array.length);\n for (let i = 0; i < int16Array.length; i++) {\n float32Array[i] = int16Array[i] / 0x8000; // Convert Int16 to Float32\n }\n this.writeData(float32Array, payload.trackId);\n } else if (\n payload.event === 'offset' ||\n payload.event === 'interrupt'\n ) {\n const requestId = payload.requestId;\n const trackId = this.write.trackId;\n const offset = this.trackSampleOffsets[trackId] || 0;\n this.port.postMessage({\n event: 'offset',\n requestId,\n trackId,\n offset,\n });\n if (payload.event === 'interrupt') {\n this.hasInterrupted = true;\n }\n } else {\n throw new Error(`Unhandled event \"${payload.event}\"`);\n }\n }\n };\n }\n\n writeData(float32Array, trackId = null) {\n let { buffer } = this.write;\n let offset = this.writeOffset;\n for (let i = 0; i < float32Array.length; i++) {\n buffer[offset++] = float32Array[i];\n if (offset >= buffer.length) {\n this.outputBuffers.push(this.write);\n this.write = { buffer: new Float32Array(this.bufferLength), trackId };\n buffer = this.write.buffer;\n offset = 0;\n }\n }\n this.writeOffset = offset;\n return true;\n }\n\n process(inputs, outputs, parameters) {\n const output = outputs[0];\n const outputChannelData = output[0];\n const outputBuffers = this.outputBuffers;\n if (this.hasInterrupted) {\n this.port.postMessage({ event: 'stop' });\n return false;\n } else if (outputBuffers.length) {\n this.hasStarted = true;\n const { buffer, trackId } = outputBuffers.shift();\n for (let i = 0; i < outputChannelData.length; i++) {\n outputChannelData[i] = buffer[i] || 0;\n }\n if (trackId) {\n this.trackSampleOffsets[trackId] =\n this.trackSampleOffsets[trackId] || 0;\n this.trackSampleOffsets[trackId] += buffer.length;\n }\n return true;\n } else if (this.hasStarted) {\n this.port.postMessage({ event: 'stop' });\n return false;\n } else {\n return true;\n }\n }\n}\n\nregisterProcessor('stream_processor', StreamProcessor);\n",el=new Blob([ec],{type:"application/javascript"}),ef=URL.createObjectURL(el),eh=ef;var ed=/*#__PURE__*/function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.sampleRate,r=n===void 0?24e3:n,a=t.onStop;i(this,e);this.scriptSrc=eh,this.onStop=a,this.sampleRate=r,this.context=null,this.stream=null,this.analyser=null,this.trackSampleOffsets={},this.interruptedTrackIds={}}c(e,[{key:"connect",value:function e(){var e=this;return o(function(){var t,n,r;return M(this,function(a){switch(a.label){case 0:e.context=new AudioContext({sampleRate:e.sampleRate});t=e.context.state==="suspended";if(!t)return[3,2];return[4,e.context.resume()];case 1:t=a.sent();a.label=2;case 2:t;a.label=3;case 3:a.trys.push([3,5,,6]);return[4,e.context.audioWorklet.addModule(e.scriptSrc)];case 4:a.sent();return[3,6];case 5:n=a.sent();throw console.error(n),new Error("Could not add audioWorklet module: ".concat(e.scriptSrc));case 6:r=e.context.createAnalyser();return[2,(r.fftSize=8192,r.smoothingTimeConstant=.1,e.analyser=r,!0)]}})})()}},{key:"getFrequencies",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"frequency",t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-100,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-30;if(!this.analyser)throw new Error("Not connected, please call .connect() first");return en.getFrequencies(this.analyser,this.sampleRate,null,e,t,n)}},{key:"_start",value:function e(){var e=this;var t=new AudioWorkletNode(this.context,"stream_processor");return t.connect(this.context.destination),t.port.onmessage=function(n){var r,a;var o=n.data,i=o.event;if(i==="stop")(r=(a=e).onStop)===null||r===void 0?void 0:r.call(a),t.disconnect(),e.stream=null;else if(i==="offset"){var s=n.data,u=s.requestId,c=s.trackId,l=s.offset,f=l/e.sampleRate;e.trackSampleOffsets[u]={trackId:c,offset:l,currentTime:f}}},this.analyser.disconnect(),t.connect(this.analyser),this.stream=t,!0}},{key:"add16BitPCM",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"default";if(typeof t!="string")throw new Error("trackId must be a string");if(this.interruptedTrackIds[t])return;this.stream||this._start();var n;if(d(e,Int16Array))n=e;else if(d(e,ArrayBuffer))n=new Int16Array(e);else throw new Error("argument must be Int16Array or ArrayBuffer");return this.stream.port.postMessage({event:"write",buffer:n,trackId:t}),n}},{key:"getTrackSampleOffset",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var t=this;return o(function(){var n,r,a;return M(this,function(o){switch(o.label){case 0:if(!t.stream)return[2,null];n=crypto.randomUUID();t.stream.port.postMessage({event:e?"interrupt":"offset",requestId:n});o.label=1;case 1:if(!!r)return[3,4];r=t.trackSampleOffsets[n];return[4,new Promise(function(e){return setTimeout(function(){return e()},1)})];case 2:o.sent();o.label=3;case 3:return[3,1];case 4:a=r.trackId;return[2,(e&&a&&(t.interruptedTrackIds[a]=!0),r)]}})})()}},{key:"interrupt",value:function e(){var e=this;return o(function(){return M(this,function(t){return[2,e.getTrackSampleOffset(!0)]})})()}}]);return e}();globalThis.WavStreamPlayer=ed;var ep=O.atom({key:"ThreadIdToResume",default:void 0}),ev=O.atom({key:"ChatProfile",default:void 0}),ey=O.atom({key:"SessionId",default:j.v4()}),em=O.selector({key:"SessionIdSelector",get:function(e){var t=e.get;return t(ey)},set:function(e,t){var n=e.set;return n(ey,d(t,O.DefaultValue)?j.v4():t)}}),eg=O.atom({key:"Session",dangerouslyAllowMutability:!0,default:void 0}),ek=O.atom({key:"Actions",default:[]}),eb=O.atom({key:"Messages",dangerouslyAllowMutability:!0,default:[]}),ew=O.atom({key:"TokenCount",default:0}),eS=O.atom({key:"Loading",default:!1}),eA=O.atom({key:"AskUser",default:void 0}),eR=O.atom({key:"WavRecorder",dangerouslyAllowMutability:!0,default:new eu}),ex=O.atom({key:"WavStreamPlayer",dangerouslyAllowMutability:!0,default:new ed}),eC=O.atom({key:"AudioConnection",default:"off"}),eI=O.atom({key:"isAiSpeaking",default:!1}),e_=O.atom({key:"CallFn",default:void 0}),eT=O.atom({key:"ChatSettings",default:[]}),eD=O.selector({key:"ChatSettingsValue/Default",get:function(e){var t=e.get;return t(eT).reduce(function(e,t){return e[t.id]=t.initial,e},{})}}),eE=O.atom({key:"ChatSettingsValue",default:eD}),eP=O.atom({key:"DisplayElements",default:[]}),eM=O.atom({key:"TasklistElements",default:[]}),eO=O.atom({key:"FirstUserInteraction",default:void 0}),eB=O.atom({key:"AccessToken",default:void 0}),ej=O.atom({key:"User",default:null}),eV=O.atom({key:"ChainlitConfig",default:void 0}),eL=O.atom({key:"AuthConfig",default:void 0}),eF=O.atom({key:"ThreadHistory",default:{threads:void 0,currentThreadId:void 0,timeGroupedThreads:void 0,pageInfo:void 0},effects:[function(e){var t=e.setSelf,n=e.onSet;n(function(e,n){var r=e===null||e===void 0?void 0:e.timeGroupedThreads;(e===null||e===void 0?void 0:e.threads)&&!B.isEqual(e.threads,n===null||n===void 0?void 0:n.timeGroupedThreads)&&(r=H(e.threads)),t(w(k({},e),{timeGroupedThreads:r}))})}]}),eq=O.atom({key:"SideView",default:void 0}),eU=O.atom({key:"CurrentThreadId",default:void 0});var eW=function(){var e=O.useRecoilValue(eS),t=O.useRecoilValue(eP),n=O.useRecoilValue(eM),r=O.useRecoilValue(ek),a=O.useRecoilValue(eg),o=O.useRecoilValue(eA),i=O.useRecoilValue(e_),s=O.useRecoilValue(eT),u=O.useRecoilValue(eE),c=O.useRecoilValue(eD),l=(a===null||a===void 0?void 0:a.socket.connected)&&!(a===null||a===void 0?void 0:a.error),f=!l||e||(o===null||o===void 0?void 0:o.spec.type)==="file"||(o===null||o===void 0?void 0:o.spec.type)==="action";return{actions:r,askUser:o,callFn:i,chatSettingsDefaultValue:c,chatSettingsInputs:s,chatSettingsValue:u,connected:l,disabled:f,elements:t,error:a===null||a===void 0?void 0:a.error,loading:e,tasklists:n}};var ez=function(e){var t=[];var n=true,r=false,a=undefined;try{for(var o=e[Symbol.iterator](),i;!(n=(i=o.next()).done);n=true){var s=i.value;t=eH(t,s)}}catch(e){r=true;a=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw a}}}return t},eN=function(e,t){if(e.length-1===t)return!0;for(var n=t+1;n<e.length;n++)if(!e[n].streaming)return!1;return!0},eH=function(e,t){return eJ(e,t.id)?eY(e,t.id,t):"parentId"in t&&t.parentId?eX(e,t.parentId,t):"indent"in t&&t.indent&&t.indent>0?eG(e,t.indent,t):I(e).concat([t])},eG=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;var a=I(e);if(a.length===0)return I(a).concat([n]);{var o=a.length-1,i=a[o];return i.steps=i.steps||[],r+1===t?(i.steps=I(i.steps).concat([n]),a[o]=k({},i),a):(i.steps=eG(i.steps,t,n,r+1),a[o]=k({},i),a)}},eX=function(e,t,n){var r=I(e);for(var a=0;a<r.length;a++){var o=r[a];B.isEqual(o.id,t)?(o.steps=o.steps?I(o.steps).concat([n]):[n],r[a]=k({},o)):eJ(r,t)&&o.steps&&(o.steps=eX(o.steps,t,n),r[a]=k({},o))}return r},e$=function(e,t){var n=true,r=false,a=undefined;try{for(var o=e[Symbol.iterator](),i;!(n=(i=o.next()).done);n=true){var s=i.value;if(B.isEqual(s.id,t))return s;if(s.steps&&s.steps.length>0){var u=e$(s.steps,t);if(u)return u}}}catch(e){r=true;a=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw a}}}},eJ=function(e,t){return e$(e,t)!==void 0},eY=function(e,t,n){var r=I(e);for(var a=0;a<r.length;a++){var o=r[a];B.isEqual(o.id,t)?r[a]=k({steps:o.steps},n):eJ(r,t)&&o.steps&&(o.steps=eY(o.steps,t,n),r[a]=k({},o))}return r},eK=function(e,t){var n=I(e);for(var r=0;r<n.length;r++){var a=n[r];a.id===t?n=I(n.slice(0,r)).concat(I(n.slice(r+1))):eJ(n,t)&&a.steps&&(a.steps=eK(a.steps,t),n[r]=k({},a))}return n},eQ=function(e,t,n,r,a){var o=I(e);for(var i=0;i<o.length;i++){var s=o[i];B.isEqual(s.id,t)?("content"in s&&s.content!==void 0?r?s.content=n:s.content+=n:a?"input"in s&&s.input!==void 0&&(r?s.input=n:s.input+=n):"output"in s&&s.output!==void 0&&(r?s.output=n:s.output+=n),o[i]=k({},s)):s.steps&&(s.steps=eQ(s.steps,t,n,r,a),o[i]=k({},s))}return o};var eZ="token";function e0(){try{return localStorage.getItem(eZ)}catch(e){return}}function e1(e){try{return localStorage.setItem(eZ,e)}catch(e){return}}function e2(){try{return localStorage.removeItem(eZ)}catch(e){return}}var e3=function(){var e=o(function(e,t,n){var r;return M(this,function(a){switch(a.label){case 0:return[4,e.get(t,n)];case 1:return[2,(r=a.sent())===null||r===void 0?void 0:r.json()]}})});return function t(t,n,r){return e.apply(this,arguments)}}();function e4(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=t.token,r=S(t,["token"]);var a=V.useContext(te),o=O.useRecoilValue(eB);o=n||o;var i=V.useMemo(function(){return function(e){var t=C(e,2),n=t[0],r=t[1];return e3(a,n,r)}},[a]),s=V.useMemo(function(){return e?[e,o]:null},[e,o]);return z.default(s,i,r)}var e6=function(){var e=V.useContext(te),t=C(O.useRecoilState(eL),2),n=t[0],r=t[1],a=C(O.useRecoilState(ej),2),i=a[0],s=a[1],u=e4(n?null:"/auth/config"),c=u.data,l=u.isLoading,f=C(O.useRecoilState(eB),2),h=f[0],d=f[1],p=O.useSetRecoilState(eF);V.useEffect(function(){c&&r(c)},[c,r]);var v=!!(!l&&n),y=function(){var t=o(function(){var t;var n=arguments;return M(this,function(r){switch(r.label){case 0:t=n.length>0&&n[0]!==void 0?n[0]:!1;return[4,e.logout()];case 1:r.sent(),s(null),e2(),d(""),p(void 0),t&&window.location.reload();return[2]}})});return function e(){return t.apply(this,arguments)}}(),m=function(e){if(!e){y();return}try{var t=W.default(e),n=t.exp,r=S(t,["exp"]);e1(e),d("Bearer ".concat(e)),s(r)}catch(e){console.error("Invalid token, clearing token from local storage","error:",e),y()}};V.useEffect(function(){if(!i&&e0()){m(e0());return}},[]);var g=!!h;return n&&!n.requireLogin?{authConfig:n,user:null,isReady:v,isAuthenticated:!0,accessToken:"",logout:function(){},setAccessToken:function(){}}:{data:n,user:i,isAuthenticated:g,isReady:v,accessToken:h,logout:y,setAccessToken:m}};var e8=/*#__PURE__*/function(e){h(n,e);var t=P(n);function n(e,r){i(this,n);var a;a=t.call(this,e);a.detail=r;return a}c(n,[{key:"toString",value:function e(){return this.detail?"".concat(this.message,": ").concat(this.detail):this.message}}]);return n}(D(Error)),e5=/*#__PURE__*/function(){function e(t,n,r,a){i(this,e);this.httpEndpoint=t;this.type=n;this.on401=r;this.onError=a}c(e,[{key:"buildEndpoint",value:function e(e){return this.httpEndpoint.endsWith("/")?"".concat(this.httpEndpoint.slice(0,-1)).concat(e):"".concat(this.httpEndpoint).concat(e)}},{key:"checkToken",value:function e(e){var t="Bearer ";return e.startsWith(t)?e:t+e}},{key:"fetch",value:function e(e,t,n,r,a){var i=this;return o(function(){var o,s,u,c,l;return M(this,function(f){switch(f.label){case 0:f.trys.push([0,4,,5]);o={};n&&(o.Authorization=i.checkToken(n));d(r,FormData)?s=r:(o["Content-Type"]="application/json",s=r?JSON.stringify(r):null);return[4,fetch(i.buildEndpoint(t),{method:e,headers:o,signal:a,body:s})];case 1:u=f.sent();if(!!u.ok)return[3,3];return[4,u.json()];case 2:c=f.sent();throw u.status===401&&i.on401&&(e2(),i.on401()),new e8(u.statusText,c.detail);case 3:return[2,u];case 4:l=f.sent();throw d(l,e8)&&i.onError&&i.onError(l),console.error(l),l;case 5:return[2]}})})()}},{key:"get",value:function e(e,t){var n=this;return o(function(){return M(this,function(r){switch(r.label){case 0:return[4,n.fetch("GET",e,t)];case 1:return[2,r.sent()]}})})()}},{key:"post",value:function e(e,t,n,r){var a=this;return o(function(){return M(this,function(o){switch(o.label){case 0:return[4,a.fetch("POST",e,n,t,r)];case 1:return[2,o.sent()]}})})()}},{key:"put",value:function e(e,t,n){var r=this;return o(function(){return M(this,function(a){switch(a.label){case 0:return[4,r.fetch("PUT",e,n,t)];case 1:return[2,a.sent()]}})})()}},{key:"patch",value:function e(e,t,n){var r=this;return o(function(){return M(this,function(a){switch(a.label){case 0:return[4,r.fetch("PATCH",e,n,t)];case 1:return[2,a.sent()]}})})()}},{key:"delete",value:function e(e,t,n){var r=this;return o(function(){return M(this,function(a){switch(a.label){case 0:return[4,r.fetch("DELETE",e,n,t)];case 1:return[2,a.sent()]}})})()}}]);return e}(),e7=/*#__PURE__*/function(e){h(n,e);var t=P(n);function n(){i(this,n);return t.apply(this,arguments)}c(n,[{key:"headerAuth",value:function e(){var e=this;return o(function(){return M(this,function(t){switch(t.label){case 0:return[4,e.post("/auth/header",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"passwordAuth",value:function e(e){var t=this;return o(function(){return M(this,function(n){switch(n.label){case 0:return[4,t.post("/login",e)];case 1:return[2,n.sent().json()]}})})()}},{key:"logout",value:function e(){var e=this;return o(function(){return M(this,function(t){switch(t.label){case 0:return[4,e.post("/logout",{})];case 1:return[2,t.sent().json()]}})})()}},{key:"setFeedback",value:function e(e,t){var n=this;return o(function(){return M(this,function(r){switch(r.label){case 0:return[4,n.put("/feedback",{feedback:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"deleteFeedback",value:function e(e,t){var n=this;return o(function(){return M(this,function(r){switch(r.label){case 0:return[4,n.delete("/feedback",{feedbackId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"listThreads",value:function e(e,t,n){var r=this;return o(function(){return M(this,function(a){switch(a.label){case 0:return[4,r.post("/project/threads",{pagination:e,filter:t},n)];case 1:return[2,a.sent().json()]}})})()}},{key:"deleteThread",value:function e(e,t){var n=this;return o(function(){return M(this,function(r){switch(r.label){case 0:return[4,n.delete("/project/thread",{threadId:e},t)];case 1:return[2,r.sent().json()]}})})()}},{key:"uploadFile",value:function e(e,t,n,r){var a=this;var o=new XMLHttpRequest,i=new Promise(function(i,s){var u=new FormData;u.append("file",e),o.open("POST",a.buildEndpoint("/project/file?session_id=".concat(n)),!0),r&&o.setRequestHeader("Authorization",a.checkToken(r)),o.upload.onprogress=function(e){if(e.lengthComputable){var n=e.loaded/e.total*100;t(n)}},o.onload=function(){if(o.status===200){var e=JSON.parse(o.responseText);i(e)}else s("Upload failed")},o.onerror=function(){s("Upload error")},o.send(u)});return{xhr:o,promise:i}}},{key:"getElementUrl",value:function e(e,t){var n="?session_id=".concat(t);return this.buildEndpoint("/project/file/".concat(e).concat(n))}},{key:"getLogoEndpoint",value:function e(e){return this.buildEndpoint("/logo?theme=".concat(e))}},{key:"getOAuthEndpoint",value:function e(e){return this.buildEndpoint("/auth/oauth/".concat(e))}}]);return n}(e5);var e9=void 0,te=V.createContext(new e7("http://localhost:8000","webapp"));var tt=function(){var e=V.useContext(te),t=O.useRecoilValue(eB),n=O.useRecoilValue(eg),r=O.useRecoilValue(eA),a=O.useRecoilValue(em),o=O.useResetRecoilState(eT),i=O.useResetRecoilState(em),s=O.useResetRecoilState(eE),u=O.useSetRecoilState(eO),c=O.useSetRecoilState(eS),l=O.useSetRecoilState(eb),f=O.useSetRecoilState(eP),h=O.useSetRecoilState(eM),d=O.useSetRecoilState(ek),p=O.useSetRecoilState(ew),v=O.useSetRecoilState(ep),y=O.useSetRecoilState(eq),m=O.useSetRecoilState(eU),g=V.useCallback(function(){n===null||n===void 0?void 0:n.socket.emit("clear_session"),n===null||n===void 0?void 0:n.socket.disconnect(),v(void 0),i(),u(void 0),l([]),f([]),h([]),d([]),p(0),o(),s(),y(void 0),m(void 0)},[n]),k=V.useCallback(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];e.id||(e.id=j.v4()),e.createdAt||(e.createdAt=new Date().toISOString()),l(function(t){return eH(t,e)}),n===null||n===void 0?void 0:n.socket.emit("client_message",{message:e,fileReferences:t})},[n===null||n===void 0?void 0:n.socket]),b=V.useCallback(function(e){n===null||n===void 0?void 0:n.socket.emit("edit_message",{message:e})},[n===null||n===void 0?void 0:n.socket]),w=V.useCallback(function(){n===null||n===void 0?void 0:n.socket.emit("audio_start")},[n===null||n===void 0?void 0:n.socket]),S=V.useCallback(function(e,t,r,a){n===null||n===void 0?void 0:n.socket.emit("audio_chunk",{isStart:e,mimeType:t,elapsedTime:r,data:a})},[n===null||n===void 0?void 0:n.socket]),A=V.useCallback(function(){n===null||n===void 0?void 0:n.socket.emit("audio_end")},[n===null||n===void 0?void 0:n.socket]),R=V.useCallback(function(e){r&&(l(function(t){return eH(t,e)}),r.callback(e))},[r]),x=V.useCallback(function(e){n===null||n===void 0?void 0:n.socket.emit("chat_settings_change",e)},[n===null||n===void 0?void 0:n.socket]),C=V.useCallback(function(){l(function(e){return e.map(function(e){return e.streaming=!1,e})}),c(!1),n===null||n===void 0?void 0:n.socket.emit("stop")},[n===null||n===void 0?void 0:n.socket]),I=V.useCallback(function(e){var t=n===null||n===void 0?void 0:n.socket;if(!t)return;var r=new Promise(function(e,n){t.once("action_response",function(t){t.status?e(t):n(t)})});return t.emit("action_call",e),r},[n===null||n===void 0?void 0:n.socket]);return{uploadFile:V.useCallback(function(n,r){return e.uploadFile(n,r,a,t)},[a,t]),callAction:I,clear:g,replyMessage:R,sendMessage:k,editMessage:b,startAudioStream:w,sendAudioChunk:S,endAudioStream:A,stopTask:C,setIdToResume:v,updateChatSettings:x}};var tn=function(){var e=O.useRecoilValue(eb),t=O.useRecoilValue(eO);return{threadId:O.useRecoilValue(eU),messages:e,firstInteraction:t}};var tr=function(){var e=V.useContext(te),t=O.useRecoilValue(em),n=C(O.useRecoilState(eg),2),r=n[0],a=n[1],i=O.useSetRecoilState(eI),s=O.useSetRecoilState(eC),u=O.useResetRecoilState(eE),c=O.useSetRecoilState(eO),l=O.useSetRecoilState(eS),f=O.useRecoilValue(ex),h=O.useRecoilValue(eR),d=O.useSetRecoilState(eb),p=O.useSetRecoilState(eA),v=O.useSetRecoilState(e_),y=O.useSetRecoilState(eP),m=O.useSetRecoilState(eM),g=O.useSetRecoilState(ek),b=O.useSetRecoilState(eT),S=O.useSetRecoilState(ew),A=C(O.useRecoilState(ev),2),R=A[0],x=A[1],_=O.useRecoilValue(ep),T=C(O.useRecoilState(eU),2),D=T[0],E=T[1];V.useEffect(function(){(r===null||r===void 0?void 0:r.socket)&&(r.socket.io.opts.extraHeaders["X-Chainlit-Thread-Id"]=D||"")},[D]);var P=V.useCallback(function(n){var r=n.userEnv,A=n.accessToken;var C=new URL(e.httpEndpoint),T=C.protocol,D=C.host,P=C.pathname,O="".concat(T,"//").concat(D),B=P&&P!=="/"?"".concat(P,"/ws/socket.io"):"/ws/socket.io",j=N.default(O,{path:B,extraHeaders:{Authorization:A||"","X-Chainlit-Client-Type":e.type,"X-Chainlit-Session-Id":t,"X-Chainlit-Thread-Id":_||"","user-env":JSON.stringify(r),"X-Chainlit-Chat-Profile":R?encodeURIComponent(R):""}});a(function(e){var t,n;return e===null||e===void 0?void 0:(t=e.socket)===null||t===void 0?void 0:t.removeAllListeners(),e===null||e===void 0?void 0:(n=e.socket)===null||n===void 0?void 0:n.close(),{socket:j}}),j.on("connect",function(){j.emit("connection_successful"),a(function(e){return w(k({},e),{error:!1})})}),j.on("connect_error",function(e){a(function(e){return w(k({},e),{error:!0})})}),j.on("task_start",function(){l(!0)}),j.on("task_end",function(){l(!1)}),j.on("reload",function(){j.emit("clear_session"),window.location.reload()}),j.on("audio_connection",function(){var e=o(function(e){var t,n,r;return M(this,function(a){switch(a.label){case 0:if(!(e==="on"))return[3,4];t=!0,n=Date.now(),r="pcm16";return[4,h.begin()];case 1:a.sent();return[4,f.connect()];case 2:a.sent();return[4,h.record(function(){var e=o(function(e){var a;return M(this,function(o){a=Date.now()-n;j.emit("audio_chunk",{isStart:t,mimeType:r,elapsedTime:a,data:e.mono}),t=!1;return[2]})});return function(t){return e.apply(this,arguments)}}())];case 3:a.sent(),f.onStop=function(){return i(!1)};return[3,7];case 4:return[4,h.end()];case 5:a.sent();return[4,f.interrupt()];case 6:a.sent();a.label=7;case 7:s(e);return[2]}})});return function(t){return e.apply(this,arguments)}}()),j.on("audio_chunk",function(e){f.add16BitPCM(e.data,e.track),i(!0)}),j.on("audio_interrupt",function(){f.interrupt()}),j.on("resume_thread",function(e){var t,n;var r=[];var a=true,o=false,i=undefined;try{for(var s=e.steps[Symbol.iterator](),u;!(a=(u=s.next()).done);a=true){var c=u.value;r=eH(r,c)}}catch(e){o=true;i=e}finally{try{if(!a&&s.return!=null){s.return()}}finally{if(o){throw i}}}((t=e.metadata)===null||t===void 0?void 0:t.chat_profile)&&x((n=e.metadata)===null||n===void 0?void 0:n.chat_profile),d(r);var l=e.elements||[];m(l.filter(function(e){return e.type==="tasklist"})),y(l.filter(function(e){return["avatar","tasklist"].indexOf(e.type)===-1}))}),j.on("new_message",function(e){d(function(t){return eH(t,e)})}),j.on("first_interaction",function(e){c(e.interaction),E(e.thread_id)}),j.on("update_message",function(e){d(function(t){return eY(t,e.id,e)})}),j.on("delete_message",function(e){d(function(t){return eK(t,e.id)})}),j.on("stream_start",function(e){d(function(t){return eH(t,e)})}),j.on("stream_token",function(e){var t=e.id,n=e.token,r=e.isSequence,a=e.isInput;d(function(e){return eQ(e,t,n,r,a)})}),j.on("ask",function(e,t){var n=e.msg,r=e.spec;p({spec:r,callback:t}),d(function(e){return eH(e,n)}),l(!1)}),j.on("ask_timeout",function(){p(void 0),l(!1)}),j.on("clear_ask",function(){p(void 0)}),j.on("call_fn",function(e,t){var n=e.name,r=e.args;v({name:n,args:r,callback:t})}),j.on("clear_call_fn",function(){v(void 0)}),j.on("call_fn_timeout",function(){v(void 0)}),j.on("chat_settings",function(e){b(e),u()}),j.on("element",function(n){!n.url&&n.chainlitKey&&(n.url=e.getElementUrl(n.chainlitKey,t)),n.type==="tasklist"?m(function(e){var t=e.findIndex(function(e){return e.id===n.id});return t===-1?I(e).concat([n]):I(e.slice(0,t)).concat([n],I(e.slice(t+1)))}):y(function(e){var t=e.findIndex(function(e){return e.id===n.id});return t===-1?I(e).concat([n]):I(e.slice(0,t)).concat([n],I(e.slice(t+1)))})}),j.on("remove_element",function(e){y(function(t){return t.filter(function(t){return t.id!==e.id})}),m(function(t){return t.filter(function(t){return t.id!==e.id})})}),j.on("action",function(e){g(function(t){return I(t).concat([e])})}),j.on("remove_action",function(e){g(function(t){var n=t.findIndex(function(t){return t.id===e.id});return n===-1?t:I(t.slice(0,n)).concat(I(t.slice(n+1)))})}),j.on("token_usage",function(e){S(function(t){return t+e})})},[a,t,R]),j=V.useCallback(B.debounce(P,200),[P]),L=V.useCallback(function(){(r===null||r===void 0?void 0:r.socket)&&(r.socket.removeAllListeners(),r.socket.close())},[r]);return{connect:j,disconnect:L,session:r,sessionId:t,chatProfile:R,idToResume:_,setChatProfile:x}};var ta=function(){var e=C(O.useRecoilState(eC),2),t=e[0],n=e[1],r=O.useRecoilValue(eR),a=O.useRecoilValue(ex),i=O.useRecoilValue(eI),s=tt(),u=s.startAudioStream,c=s.endAudioStream,l=V.useCallback(/*#__PURE__*/o(function(){return M(this,function(e){switch(e.label){case 0:n("connecting");return[4,u()];case 1:e.sent();return[2]}})}),[u]),f=V.useCallback(/*#__PURE__*/o(function(){return M(this,function(e){switch(e.label){case 0:n("off");return[4,r.end()];case 1:e.sent();return[4,a.interrupt()];case 2:e.sent();return[4,c()];case 3:e.sent();return[2]}})}),[c,r,a]);return{startConversation:l,endConversation:f,audioConnection:t,isAiSpeaking:i,wavRecorder:r,wavStreamPlayer:a}};var to=function(e){var t=C(O.useRecoilState(eV),2),n=t[0],r=t[1],a=e6(),o=a.isAuthenticated,i=navigator.language||"en-US",s=e4(!n&&o?"/project/settings?language=".concat(i):null,{token:e}),u=s.data,c=s.error,l=s.isLoading;return V.useEffect(function(){u&&r(u)},[u,r]),{config:n,error:c,isLoading:l,language:i}};var ti=new WeakMap,ts=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;var a,o,i;if(r&&(o=t.toString(),i=n.toString(),a=ti.has(e)?ti.get(e):{},ti.set(e,a),a[o]=a[o]||{},a[o][i]))return a[o][i];var s=e.length,u=new Array(t);if(t<=s){u.fill(0);var c=new Array(t).fill(0);for(var l=0;l<s;l++){var f=Math.floor(l*(t/s));n?u[f]=Math.max(u[f],Math.abs(e[l])):u[f]+=Math.abs(e[l]),c[f]++}if(!n)for(var h=0;h<u.length;h++)u[h]=u[h]/c[h]}else for(var d=0;d<t;d++){var p=d*(s-1)/(t-1),v=Math.floor(p),y=Math.ceil(p),m=p-v;y>=s?u[d]=e[s-1]:u[d]=e[v]*(1-m)+e[y]*m}return r&&(a[o][i]=u),u},tu={drawBars:function(e,t,n,r,a){var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,i=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0,s=arguments.length>7&&arguments[7]!==void 0?arguments[7]:0,u=arguments.length>8&&arguments[8]!==void 0?arguments[8]:!1;o=Math.floor(Math.min(o,(n-s)/(Math.max(i,1)+s))),o||(o=Math.floor((n-s)/(Math.max(i,1)+s))),i||(i=(n-s)/o-s);var c=ts(t,o,!0);for(var l=0;l<o;l++){var f=Math.abs(c[l]),h=Math.max(1,f*r),d=s+l*(i+s),p=u?(r-h)/2:r-h,v=Math.min(i/2,h/2);e.fillStyle=a,e.beginPath(),e.moveTo(d+v,p),e.lineTo(d+i-v,p),e.arcTo(d+i,p,d+i,p+v,v),e.lineTo(d+i,p+h-v),e.arcTo(d+i,p+h,d+i-v,p+h,v),e.lineTo(d+v,p+h),e.arcTo(d,p+h,d,p+h-v,v),e.lineTo(d,p+v),e.arcTo(d,p,d+v,p,v),e.closePath(),e.fill()}}};Object.defineProperty(exports,"Socket",{enumerable:true,get:function e(){return q.Socket}});exports.APIBase=e5;exports.ChainlitAPI=e7;exports.ChainlitContext=te;exports.ClientError=e8;exports.WavRenderer=tu;exports.accessTokenState=eB;exports.actionState=ek;exports.addMessage=eH;exports.addMessageToParent=eX;exports.askUserState=eA;exports.audioConnectionState=eC;exports.authState=eL;exports.callFnState=e_;exports.chatProfileState=ev;exports.chatSettingsDefaultValueSelector=eD;exports.chatSettingsInputsState=eT;exports.chatSettingsValueState=eE;exports.configState=eV;exports.currentThreadIdState=eU;exports.defaultChainlitContext=e9;exports.deleteMessageById=eK;exports.elementState=eP;exports.fetcher=e3;exports.firstUserInteraction=eO;exports.hasMessageById=eJ;exports.isAiSpeakingState=eI;exports.isLastMessage=eN;exports.loadingState=eS;exports.messagesState=eb;exports.nestMessages=ez;exports.sessionIdState=em;exports.sessionState=eg;exports.sideViewState=eq;exports.tasklistState=eM;exports.threadHistoryState=eF;exports.threadIdToResumeState=ep;exports.tokenCountState=ew;exports.updateMessageById=eY;exports.updateMessageContentById=eQ;exports.useApi=e4;exports.useAudio=ta;exports.useAuth=e6;exports.useChatData=eW;exports.useChatInteract=tt;exports.useChatMessages=tn;exports.useChatSession=tr;exports.useConfig=to;exports.userState=ej;exports.wavRecorderState=eR;exports.wavStreamPlayerState=ex;//# sourceMappingURL=out.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|