@1interface/shared-core 0.8.1 → 0.9.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/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ActionCreatorWithNonInferrablePayload } from '@reduxjs/toolkit';
2
2
  import { ActionCreatorWithOptionalPayload } from '@reduxjs/toolkit';
3
3
  import { ActionCreatorWithoutPayload } from '@reduxjs/toolkit';
4
+ import { ActionCreatorWithPreparedPayload } from '@reduxjs/toolkit';
4
5
  import { Context } from 'react';
5
6
  import { Dispatch } from '@reduxjs/toolkit';
6
7
  import { ListenerMiddlewareInstance } from '@reduxjs/toolkit';
@@ -270,7 +271,11 @@ export declare const clearLastResponseTime: ActionCreatorWithoutPayload<"indicat
270
271
 
271
272
  export declare function clearPreviousTenant(storage: SyncKeyValueStorage): void;
272
273
 
273
- export declare const clearSession: ActionCreatorWithoutPayload<"auth/clearSession">;
274
+ export declare const clearSession: ActionCreatorWithPreparedPayload<[options?: {
275
+ isLogout?: boolean;
276
+ }], {
277
+ isLogout?: boolean;
278
+ }, "auth/clearSession", never, never>;
274
279
 
275
280
  declare type CodepointRange = readonly [number, number];
276
281
 
@@ -452,6 +457,24 @@ export declare interface IndicatorState {
452
457
 
453
458
  export declare type IndicatorTimerAction = (typeof INDICATOR_TIMER_ACTIONS)[keyof typeof INDICATOR_TIMER_ACTIONS];
454
459
 
460
+ export declare const INHERITED_AUTH_ERROR_REASONS: {
461
+ readonly NO_TOKEN: "no_token";
462
+ readonly TOKEN_EXPIRED: "token_expired";
463
+ readonly TOKEN_REJECTED: "token_rejected";
464
+ };
465
+
466
+ export declare interface InheritedAuthAdapter {
467
+ getToken(): Promise<InheritedTokenResult>;
468
+ onAuthError?(reason: InheritedAuthErrorReason): void;
469
+ }
470
+
471
+ export declare type InheritedAuthErrorReason = (typeof INHERITED_AUTH_ERROR_REASONS)[keyof typeof INHERITED_AUTH_ERROR_REASONS];
472
+
473
+ export declare interface InheritedTokenResult {
474
+ accessToken: string;
475
+ expiresAt?: number | null;
476
+ }
477
+
455
478
  export declare const initializeChatConfig: (params: {
456
479
  baseUrl: string;
457
480
  customHeaders?: Record<string, string>;
@@ -544,7 +567,11 @@ export declare const LOGO_ALIGNMENTS: {
544
567
 
545
568
  export declare type LogoAlignment = (typeof LOGO_ALIGNMENTS)[keyof typeof LOGO_ALIGNMENTS];
546
569
 
547
- export declare const logout: ActionCreatorWithoutPayload<"auth/clearSession">;
570
+ export declare const logout: ActionCreatorWithPreparedPayload<[options?: {
571
+ isLogout?: boolean;
572
+ }], {
573
+ isLogout?: boolean;
574
+ }, "auth/clearSession", never, never>;
548
575
 
549
576
  export declare interface LogoutRequest {
550
577
  refresh_token: string;
@@ -801,6 +828,8 @@ export declare const setCredentials: ActionCreatorWithNonInferrablePayload<"auth
801
828
 
802
829
  export declare const setDeviceTokenReader: (fn: () => string | null) => void;
803
830
 
831
+ export declare const setHostControlsAppearance: (value: boolean) => void;
832
+
804
833
  export declare const setIsDev: (value: boolean) => void;
805
834
 
806
835
  export declare const setLastResponseTime: ActionCreatorWithOptionalPayload<number, "indicator/setLastResponseTime">;
@@ -813,6 +842,8 @@ export declare const setSelectedOrgId: ActionCreatorWithOptionalPayload<string,
813
842
 
814
843
  export declare const setSession: ActionCreatorWithNonInferrablePayload<"auth/setSession">;
815
844
 
845
+ export declare const setSessionRecoveryActive: (value: boolean) => void;
846
+
816
847
  export declare interface SettingsColors {
817
848
  groupBackground?: string;
818
849
  }
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./textDirection-Dmwjhp8G.cjs"),t=require("react"),r=require("@reduxjs/toolkit");let s,o="",n={},a=null,i=()=>null,c=()=>null,u=()=>null,l=!1;const d=()=>a,p=()=>u(),g=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${o}/api${t}`},E="chat",f={CONVERSATIONS:()=>g("/conversations"),CONVERSATION_STREAM:e=>g(`/conversations/${e}`),CONVERSATION_START:e=>g(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>g(`/conversations/${e}/transcribe`),DOCUMENTS:()=>g("/documents"),DOCUMENT:e=>g(`/documents/${encodeURIComponent(e)}`),WEBRTC_OFFER:e=>g(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>g(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return g("/transcribe")},get BRANDING(){return g("/branding")},get CONFIG(){return g("/config")},get PROFILE(){return g("/profile")},get AUTH_ME(){return g("/auth/me")},get CHANGE_PASSWORD(){return g("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return g("/organizations/exists")},get DEBUG(){return g("/debug")},get TOOL_SERVERS(){return g("/tool-servers")},TOOL_SERVER_AUTH_START:e=>g(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>g(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return g("/tool-servers/auth/exchange")},get LOG(){return g("/log")}},m={TOKEN_REFRESH_THRESHOLD_MS:6e5,TOKEN_CLOCK_SKEW_MS:3e4,TOKEN_DEFAULT_EXPIRY_MS:36e5,THINKING_STATE_TIMEOUT_MS:600,MESSAGE_WARNING_TIMEOUT_MS:1e4,TOAST_DURATION_MS:5e3,TOAST_ERROR_DURATION_MS:7e3,INPUT_DEBOUNCE_MS:300,SEARCH_DEBOUNCE_MS:500,CONFIG_TIMEOUT_MS:5e3},T={ACCESS_TOKEN:"accessToken",REFRESH_TOKEN:"refreshToken",TOKEN_EXPIRES_AT:"tokenExpiresAt",USER:"user",SELECTED_ORG_ID:"selectedOrgId",SELECTED_ORG_NAME:"selectedOrgName",APPEARANCE_MODE_KEY:"1interface_appearance_mode",LOCATION_ENABLED:"1interface_location_enabled",LOCATION_CACHE:"1interface_cached_location",DEBUG_MODE:"1interface_debug_mode",STT_AUTO_SEND:"1interface_stt_auto_send",STT_IMPLEMENTATION:"1interface_stt_implementation",SEND_DIAGNOSTICS:"1interface_send_diagnostics",ACTIVE_CONVERSATION_ID:"1interface_active_conversation_id"},S={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"},h={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/,SIX_DIGIT_CODE:/^\d{6}$/},F=e=>{const t=e.match(/^(\d{2})\/(\d{2})$/);if(!t)return!1;const r=Number(t[1]),s=Number(t[2]);if(r<1||r>12)return!1;const o=new Date,n=o.getFullYear()%100,a=o.getMonth()+1;return!(s<n||s===n&&r<a||r>12)},x=e=>{if(!e)return"";if(!F(e)){const t=e.match(/^(\d{2})\/(\d{2})$/);if(t){const e=Number(t[1]),r=Number(t[2]),s=new Date,o=s.getFullYear()%100,n=s.getMonth()+1;if(r<o||r===o&&e<n||e>12)return""}}return e},A={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let I=null,y=null;const O=[];function R(e){if(I=e,O.length>0){const t=O.splice(0,O.length);for(const r of t)e.emit(r)}}function _(e){y=e}function N(e,t){const r=y?function(e){try{return e()??{}}catch{return{}}}(y):{},{message:s,...o}=t,n={...r,...o,level:e,message:s,timestamp:(new Date).toISOString()};I?I.emit(n):(O.length>=200&&O.shift(),O.push(n))}const C={debug(e){N(A.DEBUG,e)},info(e){N(A.INFO,e)},warn(e){N(A.WARN,e)},error(e){N(A.ERROR,e)},flush:()=>I?.flush?.()},D={[A.DEBUG]:0,[A.INFO]:1,[A.WARN]:2,[A.ERROR]:3};function M(e={}){const t=D[e.minLevel??A.DEBUG];return{emit(e){D[e.level]<t||(e.level===A.ERROR?console.error:e.level===A.WARN?console.warn:e.level===A.DEBUG?console.debug:console.info)(e)}}}const L={[A.DEBUG]:5,[A.INFO]:9,[A.WARN]:13,[A.ERROR]:17};function v(e){if(null===e)return"null";const t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(e instanceof Error)return JSON.stringify({name:e.name,message:e.message,stack:e.stack});try{return JSON.stringify(e)}catch{return String(e)}}function B(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=v(s));return t}let w=!1,b=null,k=!0;function P(e){k=e}function G(e){w||(w=!0,_(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),R(function(e){const t=[M({minLevel:e.consoleMinLevel??(e.isDev?A.DEBUG:A.WARN)})];if(e.otlpEndpoint&&!e.isDev){const r="otel"===(e.logTransport??"otel")?function(e){let t=!1,r=null,s=null;const o=[];function n(){s||(s=async function(){const[t,s,n,a]=await Promise.all([import("@opentelemetry/api-logs"),import("@opentelemetry/sdk-logs"),import("@opentelemetry/exporter-logs-otlp-http"),import("@opentelemetry/resources")]),i=a.resourceFromAttributes(e.resourceAttrs),c=new n.OTLPLogExporter({url:e.endpoint}),u=new s.LoggerProvider({resource:i,processors:[new s.BatchLogRecordProcessor(c)]});t.logs.setGlobalLoggerProvider(u);const l=t.logs.getLogger(e.resourceAttrs["service.name"]??"app");if(r={emit(e){const{level:t,message:r,timestamp:s,...o}=e;l.emit({severityNumber:L[t],severityText:t,body:JSON.stringify(e),attributes:B(o),timestamp:new Date(s)})},async flush(){await u.forceFlush()}},o.length>0){const e=o.splice(0,o.length);for(const t of e)r.emit(t)}}().catch(()=>{o.length=0,r=null,t=!0}))}return{emit(e){t||(r?r.emit(e):(n(),o.length>=200&&o.shift(),o.push(e)))},async flush(){(s||r)&&(n(),await s,r&&await r.flush())}}}({endpoint:e.otlpEndpoint,resourceAttrs:{"service.name":e.appName,"service.version":e.appVersion,"deployment.environment":e.environment}}):function(e){const t=e.maxBatchSize??50,r=e.scheduledDelayMs??5e3,s=e.maxQueueSize??2048,o=e.wrapBatch??(e=>e),n=[];let a=null;function i(){return null!==a&&(clearTimeout(a),a=null),0===n.length||0===(t=n.splice(0,n.length)).length?Promise.resolve():fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o(t)),keepalive:!0}).then(()=>{}).catch(()=>{});var t}return{emit(e){n.length>=s&&n.shift(),n.push(e),n.length>=t?i():null===a&&(a=setTimeout(()=>{a=null,i()},r))},async flush(){await i()}}}({endpoint:e.otlpEndpoint});t.push({emit(e){k&&r.emit(e)},flush:r.flush.bind(r)})}return e.extraSinks?.length&&t.push(...e.extraSinks),1===t.length?t[0]:function(e){return{emit(t){for(const r of e)try{r.emit(t)}catch{}},async flush(){await Promise.all(e.map(e=>e.flush?Promise.resolve(e.flush()).catch(()=>{}):Promise.resolve()))}}}(t)}(e)),!1!==e.flushOnAppHide&&b?.())}const U=Object.freeze(Object.defineProperty({__proto__:null,initLogger:G,registerPlatformFlushAttacher:function(e){b=e},resetInitLoggerStateForTests:function(){w=!1,b=null,k=!0},setNetworkLoggingEnabled:P},Symbol.toStringTag,{value:"Module"}));let H=!0;const K=3,$=500,W=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(C.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))},V="bridge-toast";function j(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(V,{detail:e}))}const Y=V,X={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},z=e=>!!e&&Date.now()>=e-m.TOKEN_CLOCK_SKEW_MS,J=e=>!e||Date.now()>=e-m.TOKEN_REFRESH_THRESHOLD_MS;function q(e){if(!e)return null;const t=e.split(".");if(3!==t.length)return null;try{const e=t[1].replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),s=atob(r),o=JSON.parse(s);return o&&"object"==typeof o&&!Array.isArray(o)?o:null}catch{return null}}function Z(e){const t=q(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}const Q={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},ee={Latn:[[65,90],[97,122],[170,170],[186,186],[192,214],[216,246],[248,591],[592,687],[7680,7935],[11360,11391],[42786,42887],[42891,42957],[42960,42961],[42963,42963],[42965,42972],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370]],Arab:[[1568,1599],[1601,1610],[1646,1647],[1649,1747],[1749,1749],[1765,1766],[1774,1775],[1786,1788],[1791,1791],[1872,1919],[2208,2249],[2160,2183],[2185,2190],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276]],Hebr:[[1488,1514],[1519,1522],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64335]],Cyrl:[[1024,1153],[1162,1327],[7296,7306],[42560,42606],[42623,42653]],Grek:[[880,883],[886,887],[890,893],[895,895],[902,902],[904,906],[908,908],[910,929],[931,993],[1008,1013],[1015,1023],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025,8025],[8027,8027],[8029,8029],[8031,8061],[8064,8116],[8118,8124],[8126,8126],[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188]],Deva:[[2308,2361],[2365,2365],[2384,2384],[2392,2401],[2417,2431]],Thai:[[3585,3632],[3634,3635],[3648,3654]],Hani:[[12293,12293],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456]],Kana:[[12353,12438],[12445,12447],[12449,12538],[12541,12543],[12784,12799],[65382,65391],[65393,65437]],Kore:[[4352,4607],[12593,12686],[43360,43388],[44032,55203],[55216,55238],[55243,55291]]},te=[Q.LATIN,Q.ARABIC,Q.HEBREW,Q.CYRILLIC,Q.GREEK,Q.DEVANAGARI,Q.THAI,Q.HAN,Q.HIRAGANA_KATAKANA,Q.HANGUL],re=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function se(e){for(const t of te)for(const[r,s]of ee[t])if(e>=r&&e<=s)return t;return null}function oe(e){const t=(e??"").replace(re," "),r=new Set,s=[];for(const e of t){const t=se(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const ne={DEFAULT:"default",HEADING:"heading",MONO:"mono"},ae={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},ie={LIGHT:"light",DARK:"dark",SYSTEM:"system"},ce=[ie.LIGHT,ie.DARK,ie.SYSTEM],ue="default",le={[ne.DEFAULT]:"system-ui, -apple-system, sans-serif",[ne.HEADING]:"system-ui, -apple-system, sans-serif",[ne.MONO]:"ui-monospace, monospace"},de={ar:Q.ARABIC,fa:Q.ARABIC,ur:Q.ARABIC,he:Q.HEBREW,yi:Q.HEBREW,ru:Q.CYRILLIC,bg:Q.CYRILLIC,sr:Q.CYRILLIC,uk:Q.CYRILLIC,mk:Q.CYRILLIC,be:Q.CYRILLIC,kk:Q.CYRILLIC,el:Q.GREEK,hi:Q.DEVANAGARI,mr:Q.DEVANAGARI,ne:Q.DEVANAGARI,th:Q.THAI,zh:Q.HAN,ja:Q.HIRAGANA_KATAKANA,ko:Q.HANGUL},pe=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),ge=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),Ee=new Set(Object.values(Q)),fe=Object.values(Q);function me(e){const t=e.split(/[-_]/);for(const e of t.slice(1)){if(1===e.length)break;const t=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();if(Ee.has(t))return t}const r=t[0]?.toLowerCase()??"";if(de[r])return de[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&Ee.has(t))return t}catch{}return Q.LATIN}function Te(e,t){const r={...e?.families??{}},s=e?.locales;let o;if(s)o={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;o={[ue]:{[ne.DEFAULT]:r??t.default,[ne.HEADING]:r??t.heading??t.default,[ne.MONO]:s??t.mono}}}const n=o[ue]??{};o[ue]={[ne.DEFAULT]:n.default??t.default,[ne.HEADING]:n.heading??t.heading??t.default,[ne.MONO]:n.mono??t.mono??t.default};const a=function(){const e={};for(const t of fe)e[t]=[];return e}();for(const e of Object.keys(o))e!==ue&&a[me(e)].push(e);return{locales:o,families:r,scriptIndex:a}}function Se(e){const t=e.trim();return t?pe.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function he(e,t){return e?.[t]}function Fe(e,t,r){const s=[],o=new Set,n=e=>{e&&(o.has(e)||(o.add(e),s.push(e)))};for(const s of r)for(const r of e.scriptIndex[s])n(he(e.locales[r],t));n(he(e.locales[ue],t)??e.locales[ue].default);const a=s.map(Se);return a.length?`${a.join(", ")}, ${le[t]}`:le[t]}function xe(e,t){return Fe(e,t,Object.keys(e.scriptIndex))}const Ae={[ae.REGULAR]:400,[ae.MEDIUM]:500,[ae.SEMIBOLD]:600,[ae.BOLD]:700};function Ie(e){const t=function(e){const t=e.split(/[?#]/)[0].toLowerCase();return t.endsWith(".woff2")?"woff2":t.endsWith(".woff")?"woff":t.endsWith(".ttf")?"truetype":t.endsWith(".otf")?"opentype":void 0}(e);return t?`src: url("${e}") format("${t}");`:`src: url("${e}");`}function ye(e){const t=[];for(const r of fe)if(e.has(r))for(const[e,s]of ee[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function Oe(e,t,r,s){const o=["@font-face {",` font-family: ${Se(e)};`,` ${Ie(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&o.push(` unicode-range: ${s};`),o.push("}"),o.join("\n")}const Re=new WeakSet;function _e(e,t){if(Re.has(e))return;Re.add(e);const r=new Set;for(const s of Object.values(e.locales))for(const o of Object.values(s))o&&!r.has(o)&&(r.add(o),e.families[o]||ge.has(o)||t.warn({message:`Typography family "${o}" has no families entry and is not a known system font; falling back to the generic stack.`,font_family:o}))}const Ne=t.createContext(void 0);function Ce(){const e=t.useContext(Ne);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}class De{static instance;events={};constructor(){}static getInstance(){return De.instance||(De.instance=new De),De.instance}on(e,t,r){const s="function"==typeof t?t:r;return this.events[e]||(this.events[e]=[]),this.events[e].push(s),()=>{this.off(e,s)}}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(e=>e!==t))}emit(e,t){this.events[e]&&this.events[e].forEach(r=>{try{r(t)}catch(t){C.error({message:`Error in event handler for "${e}"`,api_name:"event-emitter",event:e,error_message:t instanceof Error?t.message:String(t)})}})}clear(e){e?delete this.events[e]:this.events={}}}const Me=De.getInstance(),Le={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},ve={bgColor:"linear-gradient(281.8deg, #061522 6.7%, #101F2F 59.64%, #3C3B4F 76.85%, #5D4C63 88.46%, #755770 99.24%)",inputBgColor:"#222D34",sidebarBg:"#0F1419",sidebarBorderColor:"#8F8F8F",widgetBg:"#222D34",settingsGroupBg:"#272626",inputBorderStyle:"solid",inputBorderColor:"#FFFFFF80",inputBorderWidth:"1px",inputBorderOpacity:50,widgetBorderStyle:"solid",widgetBorderColor:"#FFFFFF1A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#8F8F8F",primaryText:"#FFFFFF",secondaryText:"#AFAFAF",tertiaryText:"#8F8F8F",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#FFFFFFFF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#FFFFFF",sideMenuText:"#AFAFAF",sideMenuIcon:"#8F8F8F",sideMenuProfile:"#FFFFFF",screenMaskingColor:"#000000",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#222D34",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Te(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Le.PILL,chatInputPlaceholder:"Type anything..."},Be={bgColor:"linear-gradient(281.8deg, #EEF2FF 6.7%, #E2E8FD 59.64%, #E8DFF4 76.85%, #F4DBE6 88.46%, #FFE1D0 99.24%)",inputBgColor:"#F4F4F5",sidebarBg:"#FFFFFF",sidebarBorderColor:"#9B9B9B",widgetBg:"#FFFFFF",settingsGroupBg:"#1A1A1A10",inputBorderStyle:"solid",inputBorderColor:"#0000001A",inputBorderWidth:"1px",inputBorderOpacity:10,widgetBorderStyle:"solid",widgetBorderColor:"#0000001A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#9B9B9B",primaryText:"#1A1A1A",secondaryText:"#6B6B6B",tertiaryText:"#9B9B9B",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#000000FF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#1A1A1A",sideMenuText:"#6B6B6B",sideMenuIcon:"#9B9B9B",sideMenuProfile:"#1A1A1A",screenMaskingColor:"#FFFFFF",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#F4F4F5",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Te(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Le.PILL,chatInputPlaceholder:"Type anything..."};function we(e){return e===ie.LIGHT?Be:ve}const be=ve;function ke(e,t){const r=e.replace("#","");let s;s=3===r.length?r.split("").map(e=>e+e).join(""):6===r.length?r:"000000";const o=Math.max(0,Math.min(100,t));return`#${s}${Math.round(o/100*255).toString(16).padStart(2,"0")}`.toUpperCase()}function Pe(e,t){if(!e)return t.borderRadius;switch(e){case"none":return 0;case"sm":return 8;case"md":return 12;case"pill":return 16;default:const r=parseInt(e,10);return isNaN(r)?t.borderRadius:r}}function Ge(e){switch(e){case"pill":return Le.PILL;case"none":return Le.SHARP;default:return 0===parseInt(e??"",10)?Le.SHARP:Le.ROUNDED}}const Ue=t.createContext(null);let He=null;const Ke=()=>He,$e=t.createContext(null),We={isConnected:!0,isInternetReachable:!0},Ve=r.createSlice({name:"auth",initialState:{user:null,accessToken:null,refreshToken:null,tokenExpiresAt:null,selectedOrgId:null,isAuthenticated:!1,isLoading:!1},reducers:{setSession:(e,t)=>{const{user:r,accessToken:s,refreshToken:o,expiresIn:n}=t.payload;void 0!==r&&(e.user=r),void 0!==s&&(e.accessToken=s),void 0!==o&&(e.refreshToken=o),void 0!==n?e.tokenExpiresAt=null===n?null:1e3*n:s&&(e.tokenExpiresAt=Date.now()+m.TOKEN_DEFAULT_EXPIRY_MS),e.isAuthenticated=Boolean(e.accessToken),e.isLoading=!1},updateUser:(e,t)=>{e.user={...e.user||{},...t.payload}},clearSession:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},sessionExpired:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},setSelectedOrgId:(e,t)=>{e.selectedOrgId=t.payload??null}}}),{setSession:je,updateUser:Ye,clearSession:Xe,sessionExpired:ze,setSelectedOrgId:Je}=Ve.actions,qe=je,Ze=Xe,Qe=r.createListenerMiddleware();Qe.startListening({matcher:r.isAnyOf(je,Ye,Xe,ze),effect:async(e,t)=>{const r=Ke();if(!r)return;const{auth:s}=t.getState(),o=[];o.push(s.accessToken?r.setItem(T.ACCESS_TOKEN,s.accessToken):r.removeItem(T.ACCESS_TOKEN)),o.push(s.refreshToken?r.setItem(T.REFRESH_TOKEN,s.refreshToken):r.removeItem(T.REFRESH_TOKEN)),o.push(null!=s.tokenExpiresAt?r.setItem(T.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(T.TOKEN_EXPIRES_AT)),o.push(s.user?r.setItem(T.USER,JSON.stringify(s.user)):r.removeItem(T.USER)),(Xe.match(e)||ze.match(e))&&o.push(r.removeItem(T.LOCATION_CACHE),r.removeItem(T.DEBUG_MODE),r.removeItem(T.APPEARANCE_MODE_KEY),r.removeItem(T.LOCATION_ENABLED),r.removeItem(T.STT_AUTO_SEND),r.removeItem(T.STT_IMPLEMENTATION),r.removeItem(T.SEND_DIAGNOSTICS),r.removeItem(T.ACTIVE_CONVERSATION_ID)),await Promise.all(o)}});const et=Ve.reducer,tt={lastResponseTime:null},rt=r.createSlice({name:"indicator",initialState:tt,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(r.isAnyOf(Xe,ze),()=>tt)}}),{setLastResponseTime:st,clearLastResponseTime:ot}=rt.actions,nt=rt.reducer;exports.DIRECTION_VECTORS=e.DIRECTION_VECTORS,exports.TEXT_DIRECTION=e.TEXT_DIRECTION,exports.detectTextDirection=e.detectTextDirection,exports.resolveDirectionFromLang=e.resolveDirectionFromLang,exports.useMessageDirection=e.useMessageDirection,exports.useMessageDirections=e.useMessageDirections,exports.API_ENDPOINTS=f,exports.APPEARANCE_MODES=ie,exports.APPEARANCE_MODE_VALUES=ce,exports.AUTH_ERROR_GROUPS={EMAIL_NOT_VERIFIED:"EmailNotVerified"},exports.AUTH_HEADERS=S,exports.AUTH_PATHS={LOGIN:"/auth/login",SIGNUP:"/auth/signup",GUEST:"/auth/guest",LOGOUT:"/auth/logout",REFRESH:"/auth/refresh",FORGOT_PASSWORD:"/auth/forgot-password",RESET_PASSWORD:"/auth/reset-password",VERIFY_EMAIL:"/auth/verify-email",VERIFY_EMAIL_RESEND:"/auth/verify-email/resend",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},exports.BORDER_STYLES={NONE:"none",SOLID:"solid",DASHED:"dashed",DOTTED:"dotted"},exports.BRIDGE_TOAST_EVENT_NAME=Y,exports.BrandingContext=Ne,exports.CORNER_RADIUS_MODES=Le,exports.DEVICE_TOKEN_HEADER="x-device-token",exports.EventEmitter=De,exports.FEATURE_FLAGS={SSO:"sso"},exports.FONT_ROLES=ne,exports.FONT_WEIGHT_SLOTS=ae,exports.GENERIC_STACKS=le,exports.IDP_HINTS={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"},exports.INDICATOR_TIMER_ACTIONS={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"},exports.LANG_DEFAULT_SCRIPT=de,exports.LOGO_ALIGNMENTS={TOP_LEADING:"topLeading",TOP:"top",TOP_TRAILING:"topTrailing",LEADING:"leading",CENTER:"center",TRAILING:"trailing",BOTTOM_LEADING:"bottomLeading",BOTTOM:"bottom",BOTTOM_TRAILING:"bottomTrailing"},exports.LOG_LEVELS=A,exports.NetworkContext=$e,exports.ORB_POSITIONS={FOREGROUND:"foreground",BACKGROUND:"background"},exports.ORG_MOUNT_SUFFIX=E,exports.PASSWORD_LIMITS={MIN_LENGTH:8,MAX_LENGTH:128},exports.PATTERNS=h,exports.PROFILE_LIMITS={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},exports.SCRIPTS=Q,exports.SCRIPT_RANGES=ee,exports.STORAGE_KEYS=T,exports.STT_IMPLEMENTATIONS={ONLINE:"online",DEVICE:"device"},exports.StorageContext=Ue,exports.TIMING=m,exports.USER_TYPES=X,exports.brandingToThemeStyles=function(e,t,r=ie.DARK){const s=we(r);if(!e||!t)return s;const o=Te(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});_e(o,C);const n=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=t.surface?.agentMessage?.border,c=t.surface?.widget?.border;return{bgColor:t.surface?.chat?.background||s.bgColor,inputBgColor:t.surface?.chatInput?.background||t.surface?.input?.background||s.inputBgColor,sidebarBg:t.surface?.sideMenu?.background||s.sidebarBg,sidebarBorderColor:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sidebarBorderColor,widgetBg:t.surface?.widget?.background||s.widgetBg,settingsGroupBg:t.surface?.settings?.groupBackground||s.settingsGroupBg,screenMaskingColor:t.surface?.screenMasking||s.screenMaskingColor,inputBorderStyle:n?.style||s.inputBorderStyle,inputBorderColor:n?.color?ke(n.color,n.opacity||100):s.inputBorderColor,inputBorderWidth:n?.width||s.inputBorderWidth,inputBorderOpacity:n?.opacity||100,widgetBorderStyle:c?.style||s.widgetBorderStyle,widgetBorderColor:c?.color?ke(c.color,c.opacity||100):s.widgetBorderColor,widgetBorderWidth:c?.width||s.widgetBorderWidth,widgetBorderOpacity:c?.opacity??s.widgetBorderOpacity,placeholderColor:t.surface?.chatInput?.placeholderColor||t.surface?.input?.placeholderColor||s.placeholderColor,primaryText:t.text?.primary||s.primaryText,secondaryText:t.text?.secondary||s.secondaryText,tertiaryText:t.text?.tertiary||s.tertiaryText,userMsgBg:t.surface?.userMessage?.background||s.userMsgBg,userMsgText:t.surface?.userMessage?.textColor||s.userMsgText,userMsgBorderStyle:a?.style||s.userMsgBorderStyle,userMsgBorderColor:a?.color?ke(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,agentMsgBg:t.surface?.agentMessage?.background??void 0,agentMsgText:t.surface?.agentMessage?.textColor??void 0,agentMsgBorderStyle:i?.style,agentMsgBorderColor:i?.color?ke(i.color,i.opacity??100):void 0,agentMsgBorderWidth:i?.width,sideMenuHeadings:t.surface?.sideMenu?.headingsColor||t.surface?.sideMenu?.headings||s.sideMenuHeadings,sideMenuText:t.surface?.sideMenu?.textContentColor||t.surface?.sideMenu?.textContent||s.sideMenuText,sideMenuIcon:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sideMenuIcon,sideMenuProfile:t.surface?.sideMenu?.profileTextColor||t.surface?.sideMenu?.textProfile||s.sideMenuProfile,statusPrimary:{solid:t.status?.primary?.solid||s.statusPrimary.solid,background:t.status?.primary?.background||s.statusPrimary.background,text:t.status?.primary?.text||s.statusPrimary.text},statusSecondary:{solid:t.status?.secondary?.solid||s.statusSecondary.solid,background:t.status?.secondary?.background||s.statusSecondary.background,text:t.status?.secondary?.text||s.statusSecondary.text},statusSuccess:{solid:t.status?.success?.solid||s.statusSuccess.solid,background:t.status?.success?.background||s.statusSuccess.background,text:t.status?.success?.text||s.statusSuccess.text},statusDanger:{solid:t.status?.danger?.solid||s.statusDanger.solid,background:t.status?.danger?.background||s.statusDanger.background,text:t.status?.danger?.text||s.statusDanger.text},statusWarning:{solid:t.status?.warning?.solid||s.statusWarning.solid,background:t.status?.warning?.background||s.statusWarning.background,text:t.status?.warning?.text||s.statusWarning.text},statusInfo:{solid:t.status?.info?.solid||s.statusInfo.solid,background:t.status?.info?.background||s.statusInfo.background,text:t.status?.info?.text||s.statusInfo.text},statusDiscovery:{solid:t.status?.discovery?.solid||s.statusDiscovery.solid,background:t.status?.discovery?.background||s.statusDiscovery.background,text:t.status?.discovery?.text||s.statusDiscovery.text},switchCheckedColor:t.status?.primary?.solid||s.switchCheckedColor,switchUncheckedColor:t.surface?.chatInput?.background||s.switchUncheckedColor,fontFamily:xe(o,ne.DEFAULT),fontFamilyHeading:xe(o,ne.HEADING),fontFamilyMono:xe(o,ne.MONO),fontSize:14,typography:o,borderRadius:Pe(e.cornerRadius,s),cornerRadiusMode:Ge(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}},exports.buildFontFaceCss=function(e){const t=function(e){const t=new Map;for(const r of fe)for(const s of e.scriptIndex[r])for(const o of Object.values(ne)){const n=e.locales[s]?.[o];n&&(t.has(n)||t.set(n,new Set),t.get(n).add(r))}return t}(e),r=new Set(Object.values(ne).map(t=>e.locales[ue]?.[t]).filter(e=>Boolean(e))),s=[];for(const[o,n]of Object.entries(e.families)){const e=r.has(o)?void 0:t.get(o),a=e?ye(e):"";if(n.variable)s.push(Oe(o,"100 900",n.variable,a));else for(const e of Object.values(ae)){const t=n[e];t&&s.push(Oe(o,String(Ae[e]),t,a))}}return s.join("\n\n")},exports.buildFontStack=Fe,exports.buildFullFontStack=xe,exports.capitalizeFirst=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",exports.clearLastResponseTime=ot,exports.clearPreviousTenant=function(e){!function(e){try{e.removeItem(T.ACCESS_TOKEN),e.removeItem(T.REFRESH_TOKEN),e.removeItem(T.TOKEN_EXPIRES_AT),e.removeItem(T.USER)}catch{}}(e),function(e){try{e.removeItem(T.ACTIVE_CONVERSATION_ID)}catch{}}(e)},exports.clearSession=Xe,exports.createTokenRefresher=function(e){const{performRefresh:t,isTransient:r=W,maxAttempts:s=K,backoffBaseMs:o=$}=e;let n=null;return function(){return n||(n=(async()=>{for(let e=0;e<s;e++)try{return await t()}catch(t){if(!r(t))return null;if(e===s-1)break;const n=o*2**e+250*Math.random();await new Promise(e=>setTimeout(e,n))}return null})().finally(()=>{n=null}),n)}},exports.defaultChatThemeStyles=be,exports.defaultDarkThemeStyles=ve,exports.defaultIsTransient=W,exports.defaultLightThemeStyles=Be,exports.detectOrgSwitch=function(e,t){try{const r=t.getItem(T.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=Z(t.getItem(T.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}},exports.detectScripts=oe,exports.ensureFreshToken=async()=>J(p())?await(d()?.())??null:null,exports.eventEmitter=Me,exports.extractTokens=function(e){const t=e.headers.get(S.ACCESS_TOKEN),r=e.headers.get(S.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${S.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${S.REFRESH_TOKEN} header in response`);return{accessToken:t,refreshToken:r}},exports.formatCVC=e=>e.replace(/\D/g,"").slice(0,4),exports.formatCamelCaseToTitle=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^(.)/,e=>e.toUpperCase()).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim():"",exports.formatCardNumber=e=>e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim(),exports.formatExpiryDate=e=>{const t=e.replace(/\D/g,"").slice(0,4);if(4===t.length){const e=t.slice(0,2)+"/"+t.slice(2);return x(e)}return t.length>=3?`${t.slice(0,2)}/${t.slice(2)}`:t.length>=1?t:""},exports.formatTimeRemaining=e=>{const t=Math.floor(e/6e4),r=Math.floor(e%6e4/1e3);return t>0?`${t}m ${r}s`:`${r}s`},exports.formatTimestamp=(e,t=new Date)=>{if(!e)return"";const r=new Date(e);if(isNaN(r.getTime()))return"";const s=t.getTime()-r.getTime(),o=Math.floor(s/6e4),n=Math.floor(s/36e5),a=Math.floor(s/864e5);return o<1?"Just now":o<60?`${o}m ago`:n<24?`${n}h ago`:a<7?`${a}d ago`:new Intl.DateTimeFormat("en-GB",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)},exports.generateUniqueId=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),exports.getApiUrl=g,exports.getAppearanceModeStorageKey=e=>e?`${T.APPEARANCE_MODE_KEY}:${e}`:T.APPEARANCE_MODE_KEY,exports.getArrayOfObjects=function(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e},exports.getBaseUrl=()=>o,exports.getCustomHeaders=()=>n,exports.getDefaultThemeStyles=we,exports.getErrorMessage=function(e,t="An unexpected error occurred."){if(e&&"object"==typeof e){if("message"in e&&"string"==typeof e.message)return e.message;if("data"in e){const t=e.data;if(t&&"object"==typeof t&&"message"in t&&"string"==typeof t.message)return t.message}}return t},exports.getInitials=(e,t)=>{if(e&&e.trim()){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.trim().slice(0,2).toUpperCase()}return t&&t.trim()?t.trim().slice(0,2).toUpperCase():"U"},exports.getPaymentId=function(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id},exports.getPaymentProviderHint=()=>s,exports.getSendDiagnostics=()=>H,exports.getStorageRef=Ke,exports.getTimeUntilExpiry=e=>e?Math.max(0,e-Date.now()):0,exports.getTimeUntilRefresh=e=>e?Math.max(0,e-m.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,exports.getTokenRefreshHandler=d,exports.handleSharedEvent=function(e,t){switch(e.kind){case"status_update":return t.setStatusText(e.statusText),t.setIsAgentWorking(!0),void t.onStatusActive?.(e.statusText);case"widget":return void t.pushWidget(e.widget,e.messageId);case"payment":return void t.onPayment(e.payment);case"sign_in":return void t.onSignIn?.(e.signIn);case"error":return void t.onError(e.error);case"text":return void t.appendStreamText(e.text,e.messageId);case"conversation_title":return void t.onConversationTitle?.(e.title);default:return}},exports.hasWidgets=e=>Array.isArray(e.widget)&&e.widget.length>0,exports.hexToRgba=function(e,t){let r=e.trim().replace(/^#/,"");if(3!==r.length&&4!==r.length||(r=r.split("").map(e=>e+e).join("")),!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(r))return e;const s=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),n=parseInt(r.slice(4,6),16),a=8===r.length?parseInt(r.slice(6,8),16)/255:1;return`rgba(${s}, ${o}, ${n}, ${Math.round(a*t*1e3)/1e3})`},exports.hydrateAppBoot=async e=>{const t=await e.getItem(T.SEND_DIAGNOSTICS);H=null===t||"true"===t},exports.hydrateSession=e=>async t=>{const[r,s,o,n]=await Promise.all([e.getItem(T.ACCESS_TOKEN),e.getItem(T.REFRESH_TOKEN),e.getItem(T.TOKEN_EXPIRES_AT),e.getItem(T.USER)]),a=o?parseInt(o,10):null;if((!r||!a||z(a))&&!s)return void(r&&await Promise.all([e.removeItem(T.ACCESS_TOKEN),e.removeItem(T.REFRESH_TOKEN),e.removeItem(T.TOKEN_EXPIRES_AT),e.removeItem(T.USER)]));let i=null;if(n)try{i=JSON.parse(n)}catch(e){C.error({message:"Failed to parse stored user during session hydration",component:"sessionSlice",error_message:e instanceof Error?e.message:String(e)})}t(je({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))},exports.indicatorReducer=nt,exports.initLogger=G,exports.initializeChatConfig=e=>{o=e.baseUrl,n=e.customHeaders||{},s=e.paymentProvider},exports.isDevMode=()=>l,exports.isGuest=function(e){return e?.type===X.GUEST_USER},exports.isSixDigitCode=e=>h.SIX_DIGIT_CODE.test(e),exports.isTokenAboutToExpire=J,exports.isTokenExpired=z,exports.isVerificationRequired=function(e){return!0===e?.verification_required},exports.joinOrgMountBase=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${E}`:`${e}/${E}`,exports.logger=C,exports.logout=Ze,exports.normalizeTypography=Te,exports.parseJwtPayload=q,exports.parseOrgFromJwt=Z,exports.quoteFamily=Se,exports.readAccessToken=()=>i(),exports.readDeviceToken=()=>c(),exports.readTokenExpiresAt=p,exports.registerEventListener=function(e,t){return Me.on(e,t)},exports.registerLoggerContextProvider=_,exports.registerLoggerSink=R,exports.removeSpecialCharsAndSpaces=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",exports.resetLoggerForTests=async function(){I=null,y=null,O.length=0,(await Promise.resolve().then(()=>U)).resetInitLoggerStateForTests()},exports.resolveFontFamily=function(e,t,r={}){const{language:s,script:o}=r;if(s){const r=he(e.locales[s],t);if(r)return r}const n=o??(s?me(s):void 0);if(n)for(const r of e.scriptIndex[n]){const s=he(e.locales[r],t);if(s)return s}return he(e.locales[ue],t)??e.locales[ue].default??""},exports.sanitizeExpiryDate=x,exports.sessionExpired=ze,exports.sessionListenerMiddleware=Qe,exports.sessionReducer=et,exports.setAccessTokenReader=e=>{i=e},exports.setCredentials=qe,exports.setDeviceTokenReader=e=>{c=e},exports.setIsDev=e=>{l=e},exports.setLastResponseTime=st,exports.setModuleStorage=function(e){He=e},exports.setNetworkLoggingEnabled=P,exports.setSelectedOrgId=Je,exports.setSession=je,exports.setTokenExpiresAtReader=e=>{u=e},exports.setTokenRefreshHandler=e=>{a=e},exports.showErrorToast=(e="Please try again")=>j({title:"Error",description:e,variant:"destructive"}),exports.showSuccessToast=(e="Successfully")=>j({title:"Success",description:e,variant:"default"}),exports.showToast=e=>j(e),exports.truncateWordLimit=(e,t)=>{if(!e)return"";const r=e.split(" ");return r.length>t?r.slice(0,t).join(" "):e},exports.updateUser=Ye,exports.useBranding=Ce,exports.useMessageFontStack=function(e,r){const{themeStyles:s}=Ce(),o=s.typography,n=t.useMemo(()=>{if(r){const e=r.split(/[-_]/)[0].toLowerCase(),t=de[e];if(t)return[t]}return oe(e)},[e,r]);return t.useMemo(()=>Fe(o,ne.DEFAULT,n),[o,n])},exports.useNetworkState=()=>{const e=t.useContext($e),r=t.useCallback(t=>e?e.subscribe(t):()=>{},[e]),s=t.useCallback(()=>e?e.getState():We,[e]);return t.useSyncExternalStore(r,s,s)},exports.useStorage=()=>{const e=t.useContext(Ue);if(!e)throw new Error("useStorage must be called inside a <StorageProvider>. Wrap your app's root with <StorageProvider value={browserLocalStorageAdapter}> (or an RN equivalent).");return e},exports.validateExpiryDate=F,exports.warnUnknownFamilies=_e,exports.writeOrgToStorage=function(e,t){try{t.setItem(T.SELECTED_ORG_ID,e),t.setItem(T.SELECTED_ORG_NAME,e)}catch{}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./textDirection-Dmwjhp8G.cjs"),t=require("react"),r=require("@reduxjs/toolkit");let s,o="",n={},a=null,i=()=>null,c=()=>null,u=()=>null,l=!1;const d=()=>a,p=()=>u(),g=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${o}/api${t}`},E="chat",f={CONVERSATIONS:()=>g("/conversations"),CONVERSATION_STREAM:e=>g(`/conversations/${e}`),CONVERSATION_START:e=>g(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>g(`/conversations/${e}/transcribe`),DOCUMENTS:()=>g("/documents"),DOCUMENT:e=>g(`/documents/${encodeURIComponent(e)}`),WEBRTC_OFFER:e=>g(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>g(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return g("/transcribe")},get BRANDING(){return g("/branding")},get CONFIG(){return g("/config")},get PROFILE(){return g("/profile")},get AUTH_ME(){return g("/auth/me")},get CHANGE_PASSWORD(){return g("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return g("/organizations/exists")},get DEBUG(){return g("/debug")},get TOOL_SERVERS(){return g("/tool-servers")},TOOL_SERVER_AUTH_START:e=>g(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>g(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return g("/tool-servers/auth/exchange")},get LOG(){return g("/log")}},m={TOKEN_REFRESH_THRESHOLD_MS:6e5,TOKEN_CLOCK_SKEW_MS:3e4,TOKEN_DEFAULT_EXPIRY_MS:36e5,THINKING_STATE_TIMEOUT_MS:600,MESSAGE_WARNING_TIMEOUT_MS:1e4,TOAST_DURATION_MS:5e3,TOAST_ERROR_DURATION_MS:7e3,INPUT_DEBOUNCE_MS:300,SEARCH_DEBOUNCE_MS:500,CONFIG_TIMEOUT_MS:5e3},T={ACCESS_TOKEN:"accessToken",REFRESH_TOKEN:"refreshToken",TOKEN_EXPIRES_AT:"tokenExpiresAt",USER:"user",SELECTED_ORG_ID:"selectedOrgId",SELECTED_ORG_NAME:"selectedOrgName",APPEARANCE_MODE_KEY:"1interface_appearance_mode",LOCATION_ENABLED:"1interface_location_enabled",LOCATION_CACHE:"1interface_cached_location",DEBUG_MODE:"1interface_debug_mode",STT_AUTO_SEND:"1interface_stt_auto_send",STT_IMPLEMENTATION:"1interface_stt_implementation",SEND_DIAGNOSTICS:"1interface_send_diagnostics",ACTIVE_CONVERSATION_ID:"1interface_active_conversation_id"},S={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"},h={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/,SIX_DIGIT_CODE:/^\d{6}$/},F=e=>{const t=e.match(/^(\d{2})\/(\d{2})$/);if(!t)return!1;const r=Number(t[1]),s=Number(t[2]);if(r<1||r>12)return!1;const o=new Date,n=o.getFullYear()%100,a=o.getMonth()+1;return!(s<n||s===n&&r<a||r>12)},x=e=>{if(!e)return"";if(!F(e)){const t=e.match(/^(\d{2})\/(\d{2})$/);if(t){const e=Number(t[1]),r=Number(t[2]),s=new Date,o=s.getFullYear()%100,n=s.getMonth()+1;if(r<o||r===o&&e<n||e>12)return""}}return e},A={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let I=null,O=null;const R=[];function y(e){if(I=e,R.length>0){const t=R.splice(0,R.length);for(const r of t)e.emit(r)}}function _(e){O=e}function N(e,t){const r=O?function(e){try{return e()??{}}catch{return{}}}(O):{},{message:s,...o}=t,n={...r,...o,level:e,message:s,timestamp:(new Date).toISOString()};I?I.emit(n):(R.length>=200&&R.shift(),R.push(n))}const C={debug(e){N(A.DEBUG,e)},info(e){N(A.INFO,e)},warn(e){N(A.WARN,e)},error(e){N(A.ERROR,e)},flush:()=>I?.flush?.()},D={[A.DEBUG]:0,[A.INFO]:1,[A.WARN]:2,[A.ERROR]:3};function M(e={}){const t=D[e.minLevel??A.DEBUG];return{emit(e){D[e.level]<t||(e.level===A.ERROR?console.error:e.level===A.WARN?console.warn:e.level===A.DEBUG?console.debug:console.info)(e)}}}const L={[A.DEBUG]:5,[A.INFO]:9,[A.WARN]:13,[A.ERROR]:17};function v(e){if(null===e)return"null";const t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(e instanceof Error)return JSON.stringify({name:e.name,message:e.message,stack:e.stack});try{return JSON.stringify(e)}catch{return String(e)}}function B(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=v(s));return t}let k=!1,w=null,b=!0;function P(e){b=e}function G(e){k||(k=!0,_(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),y(function(e){const t=[M({minLevel:e.consoleMinLevel??(e.isDev?A.DEBUG:A.WARN)})];if(e.otlpEndpoint&&!e.isDev){const r="otel"===(e.logTransport??"otel")?function(e){let t=!1,r=null,s=null;const o=[];function n(){s||(s=async function(){const[t,s,n,a]=await Promise.all([import("@opentelemetry/api-logs"),import("@opentelemetry/sdk-logs"),import("@opentelemetry/exporter-logs-otlp-http"),import("@opentelemetry/resources")]),i=a.resourceFromAttributes(e.resourceAttrs),c=new n.OTLPLogExporter({url:e.endpoint}),u=new s.LoggerProvider({resource:i,processors:[new s.BatchLogRecordProcessor(c)]});t.logs.setGlobalLoggerProvider(u);const l=t.logs.getLogger(e.resourceAttrs["service.name"]??"app");if(r={emit(e){const{level:t,message:r,timestamp:s,...o}=e;l.emit({severityNumber:L[t],severityText:t,body:JSON.stringify(e),attributes:B(o),timestamp:new Date(s)})},async flush(){await u.forceFlush()}},o.length>0){const e=o.splice(0,o.length);for(const t of e)r.emit(t)}}().catch(()=>{o.length=0,r=null,t=!0}))}return{emit(e){t||(r?r.emit(e):(n(),o.length>=200&&o.shift(),o.push(e)))},async flush(){(s||r)&&(n(),await s,r&&await r.flush())}}}({endpoint:e.otlpEndpoint,resourceAttrs:{"service.name":e.appName,"service.version":e.appVersion,"deployment.environment":e.environment}}):function(e){const t=e.maxBatchSize??50,r=e.scheduledDelayMs??5e3,s=e.maxQueueSize??2048,o=e.wrapBatch??(e=>e),n=[];let a=null;function i(){return null!==a&&(clearTimeout(a),a=null),0===n.length||0===(t=n.splice(0,n.length)).length?Promise.resolve():fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o(t)),keepalive:!0}).then(()=>{}).catch(()=>{});var t}return{emit(e){n.length>=s&&n.shift(),n.push(e),n.length>=t?i():null===a&&(a=setTimeout(()=>{a=null,i()},r))},async flush(){await i()}}}({endpoint:e.otlpEndpoint});t.push({emit(e){b&&r.emit(e)},flush:r.flush.bind(r)})}return e.extraSinks?.length&&t.push(...e.extraSinks),1===t.length?t[0]:function(e){return{emit(t){for(const r of e)try{r.emit(t)}catch{}},async flush(){await Promise.all(e.map(e=>e.flush?Promise.resolve(e.flush()).catch(()=>{}):Promise.resolve()))}}}(t)}(e)),!1!==e.flushOnAppHide&&w?.())}const U=Object.freeze(Object.defineProperty({__proto__:null,initLogger:G,registerPlatformFlushAttacher:function(e){w=e},resetInitLoggerStateForTests:function(){k=!1,w=null,b=!0},setNetworkLoggingEnabled:P},Symbol.toStringTag,{value:"Module"}));let H=!0;const K=3,$=500,W=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(C.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))},j="bridge-toast";function V(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(j,{detail:e}))}const Y=j,X={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},z=e=>!!e&&Date.now()>=e-m.TOKEN_CLOCK_SKEW_MS,J=e=>!e||Date.now()>=e-m.TOKEN_REFRESH_THRESHOLD_MS;function q(e){if(!e)return null;const t=e.split(".");if(3!==t.length)return null;try{const e=t[1].replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),s=atob(r),o=JSON.parse(s);return o&&"object"==typeof o&&!Array.isArray(o)?o:null}catch{return null}}function Z(e){const t=q(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}const Q={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},ee={Latn:[[65,90],[97,122],[170,170],[186,186],[192,214],[216,246],[248,591],[592,687],[7680,7935],[11360,11391],[42786,42887],[42891,42957],[42960,42961],[42963,42963],[42965,42972],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370]],Arab:[[1568,1599],[1601,1610],[1646,1647],[1649,1747],[1749,1749],[1765,1766],[1774,1775],[1786,1788],[1791,1791],[1872,1919],[2208,2249],[2160,2183],[2185,2190],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276]],Hebr:[[1488,1514],[1519,1522],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64335]],Cyrl:[[1024,1153],[1162,1327],[7296,7306],[42560,42606],[42623,42653]],Grek:[[880,883],[886,887],[890,893],[895,895],[902,902],[904,906],[908,908],[910,929],[931,993],[1008,1013],[1015,1023],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025,8025],[8027,8027],[8029,8029],[8031,8061],[8064,8116],[8118,8124],[8126,8126],[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188]],Deva:[[2308,2361],[2365,2365],[2384,2384],[2392,2401],[2417,2431]],Thai:[[3585,3632],[3634,3635],[3648,3654]],Hani:[[12293,12293],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456]],Kana:[[12353,12438],[12445,12447],[12449,12538],[12541,12543],[12784,12799],[65382,65391],[65393,65437]],Kore:[[4352,4607],[12593,12686],[43360,43388],[44032,55203],[55216,55238],[55243,55291]]},te=[Q.LATIN,Q.ARABIC,Q.HEBREW,Q.CYRILLIC,Q.GREEK,Q.DEVANAGARI,Q.THAI,Q.HAN,Q.HIRAGANA_KATAKANA,Q.HANGUL],re=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function se(e){for(const t of te)for(const[r,s]of ee[t])if(e>=r&&e<=s)return t;return null}function oe(e){const t=(e??"").replace(re," "),r=new Set,s=[];for(const e of t){const t=se(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const ne={DEFAULT:"default",HEADING:"heading",MONO:"mono"},ae={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},ie={LIGHT:"light",DARK:"dark",SYSTEM:"system"},ce=[ie.LIGHT,ie.DARK,ie.SYSTEM],ue="default",le={[ne.DEFAULT]:"system-ui, -apple-system, sans-serif",[ne.HEADING]:"system-ui, -apple-system, sans-serif",[ne.MONO]:"ui-monospace, monospace"},de={ar:Q.ARABIC,fa:Q.ARABIC,ur:Q.ARABIC,he:Q.HEBREW,yi:Q.HEBREW,ru:Q.CYRILLIC,bg:Q.CYRILLIC,sr:Q.CYRILLIC,uk:Q.CYRILLIC,mk:Q.CYRILLIC,be:Q.CYRILLIC,kk:Q.CYRILLIC,el:Q.GREEK,hi:Q.DEVANAGARI,mr:Q.DEVANAGARI,ne:Q.DEVANAGARI,th:Q.THAI,zh:Q.HAN,ja:Q.HIRAGANA_KATAKANA,ko:Q.HANGUL},pe=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),ge=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),Ee=new Set(Object.values(Q)),fe=Object.values(Q);function me(e){const t=e.split(/[-_]/);for(const e of t.slice(1)){if(1===e.length)break;const t=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();if(Ee.has(t))return t}const r=t[0]?.toLowerCase()??"";if(de[r])return de[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&Ee.has(t))return t}catch{}return Q.LATIN}function Te(e,t){const r={...e?.families??{}},s=e?.locales;let o;if(s)o={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;o={[ue]:{[ne.DEFAULT]:r??t.default,[ne.HEADING]:r??t.heading??t.default,[ne.MONO]:s??t.mono}}}const n=o[ue]??{};o[ue]={[ne.DEFAULT]:n.default??t.default,[ne.HEADING]:n.heading??t.heading??t.default,[ne.MONO]:n.mono??t.mono??t.default};const a=function(){const e={};for(const t of fe)e[t]=[];return e}();for(const e of Object.keys(o))e!==ue&&a[me(e)].push(e);return{locales:o,families:r,scriptIndex:a}}function Se(e){const t=e.trim();return t?pe.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function he(e,t){return e?.[t]}function Fe(e,t,r){const s=[],o=new Set,n=e=>{e&&(o.has(e)||(o.add(e),s.push(e)))};for(const s of r)for(const r of e.scriptIndex[s])n(he(e.locales[r],t));n(he(e.locales[ue],t)??e.locales[ue].default);const a=s.map(Se);return a.length?`${a.join(", ")}, ${le[t]}`:le[t]}function xe(e,t){return Fe(e,t,Object.keys(e.scriptIndex))}const Ae={[ae.REGULAR]:400,[ae.MEDIUM]:500,[ae.SEMIBOLD]:600,[ae.BOLD]:700};function Ie(e){const t=function(e){const t=e.split(/[?#]/)[0].toLowerCase();return t.endsWith(".woff2")?"woff2":t.endsWith(".woff")?"woff":t.endsWith(".ttf")?"truetype":t.endsWith(".otf")?"opentype":void 0}(e);return t?`src: url("${e}") format("${t}");`:`src: url("${e}");`}function Oe(e){const t=[];for(const r of fe)if(e.has(r))for(const[e,s]of ee[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function Re(e,t,r,s){const o=["@font-face {",` font-family: ${Se(e)};`,` ${Ie(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&o.push(` unicode-range: ${s};`),o.push("}"),o.join("\n")}const ye=new WeakSet;function _e(e,t){if(ye.has(e))return;ye.add(e);const r=new Set;for(const s of Object.values(e.locales))for(const o of Object.values(s))o&&!r.has(o)&&(r.add(o),e.families[o]||ge.has(o)||t.warn({message:`Typography family "${o}" has no families entry and is not a known system font; falling back to the generic stack.`,font_family:o}))}const Ne=t.createContext(void 0);function Ce(){const e=t.useContext(Ne);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}class De{static instance;events={};constructor(){}static getInstance(){return De.instance||(De.instance=new De),De.instance}on(e,t,r){const s="function"==typeof t?t:r;return this.events[e]||(this.events[e]=[]),this.events[e].push(s),()=>{this.off(e,s)}}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(e=>e!==t))}emit(e,t){this.events[e]&&this.events[e].forEach(r=>{try{r(t)}catch(t){C.error({message:`Error in event handler for "${e}"`,api_name:"event-emitter",event:e,error_message:t instanceof Error?t.message:String(t)})}})}clear(e){e?delete this.events[e]:this.events={}}}const Me=De.getInstance(),Le={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},ve={bgColor:"linear-gradient(281.8deg, #061522 6.7%, #101F2F 59.64%, #3C3B4F 76.85%, #5D4C63 88.46%, #755770 99.24%)",inputBgColor:"#222D34",sidebarBg:"#0F1419",sidebarBorderColor:"#8F8F8F",widgetBg:"#222D34",settingsGroupBg:"#272626",inputBorderStyle:"solid",inputBorderColor:"#FFFFFF80",inputBorderWidth:"1px",inputBorderOpacity:50,widgetBorderStyle:"solid",widgetBorderColor:"#FFFFFF1A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#8F8F8F",primaryText:"#FFFFFF",secondaryText:"#AFAFAF",tertiaryText:"#8F8F8F",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#FFFFFFFF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#FFFFFF",sideMenuText:"#AFAFAF",sideMenuIcon:"#8F8F8F",sideMenuProfile:"#FFFFFF",screenMaskingColor:"#000000",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#222D34",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Te(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Le.PILL,chatInputPlaceholder:"Type anything..."},Be={bgColor:"linear-gradient(281.8deg, #EEF2FF 6.7%, #E2E8FD 59.64%, #E8DFF4 76.85%, #F4DBE6 88.46%, #FFE1D0 99.24%)",inputBgColor:"#F4F4F5",sidebarBg:"#FFFFFF",sidebarBorderColor:"#9B9B9B",widgetBg:"#FFFFFF",settingsGroupBg:"#1A1A1A10",inputBorderStyle:"solid",inputBorderColor:"#0000001A",inputBorderWidth:"1px",inputBorderOpacity:10,widgetBorderStyle:"solid",widgetBorderColor:"#0000001A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#9B9B9B",primaryText:"#1A1A1A",secondaryText:"#6B6B6B",tertiaryText:"#9B9B9B",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#000000FF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#1A1A1A",sideMenuText:"#6B6B6B",sideMenuIcon:"#9B9B9B",sideMenuProfile:"#1A1A1A",screenMaskingColor:"#FFFFFF",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#F4F4F5",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Te(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Le.PILL,chatInputPlaceholder:"Type anything..."};function ke(e){return e===ie.LIGHT?Be:ve}const we=ve;function be(e,t){const r=e.replace("#","");let s;s=3===r.length?r.split("").map(e=>e+e).join(""):6===r.length?r:"000000";const o=Math.max(0,Math.min(100,t));return`#${s}${Math.round(o/100*255).toString(16).padStart(2,"0")}`.toUpperCase()}function Pe(e,t){if(!e)return t.borderRadius;switch(e){case"none":return 0;case"sm":return 8;case"md":return 12;case"pill":return 16;default:const r=parseInt(e,10);return isNaN(r)?t.borderRadius:r}}function Ge(e){switch(e){case"pill":return Le.PILL;case"none":return Le.SHARP;default:return 0===parseInt(e??"",10)?Le.SHARP:Le.ROUNDED}}const Ue=t.createContext(null);let He=null;const Ke=()=>He,$e=t.createContext(null),We={isConnected:!0,isInternetReachable:!0},je=r.createSlice({name:"auth",initialState:{user:null,accessToken:null,refreshToken:null,tokenExpiresAt:null,selectedOrgId:null,isAuthenticated:!1,isLoading:!1},reducers:{setSession:(e,t)=>{const{user:r,accessToken:s,refreshToken:o,expiresIn:n}=t.payload;void 0!==r&&(e.user=r),void 0!==s&&(e.accessToken=s),void 0!==o&&(e.refreshToken=o),void 0!==n?e.tokenExpiresAt=null===n?null:1e3*n:s&&(e.tokenExpiresAt=Date.now()+m.TOKEN_DEFAULT_EXPIRY_MS),e.isAuthenticated=Boolean(e.accessToken),e.isLoading=!1},updateUser:(e,t)=>{e.user={...e.user||{},...t.payload}},clearSession:{reducer:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},prepare:e=>({payload:e??{}})},sessionExpired:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},setSelectedOrgId:(e,t)=>{e.selectedOrgId=t.payload??null}}}),{setSession:Ve,updateUser:Ye,clearSession:Xe,sessionExpired:ze,setSelectedOrgId:Je}=je.actions,qe=Ve,Ze=Xe;let Qe=!1,et=!1;const tt=r.createListenerMiddleware();tt.startListening({matcher:r.isAnyOf(Ve,Ye,Xe,ze),effect:async(e,t)=>{const r=Ke();if(!r)return;const{auth:s}=t.getState(),o=[];if(o.push(s.accessToken?r.setItem(T.ACCESS_TOKEN,s.accessToken):r.removeItem(T.ACCESS_TOKEN)),o.push(s.refreshToken?r.setItem(T.REFRESH_TOKEN,s.refreshToken):r.removeItem(T.REFRESH_TOKEN)),o.push(null!=s.tokenExpiresAt?r.setItem(T.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(T.TOKEN_EXPIRES_AT)),o.push(s.user?r.setItem(T.USER,JSON.stringify(s.user)):r.removeItem(T.USER)),Xe.match(e)||ze.match(e)){o.push(r.removeItem(T.LOCATION_CACHE),r.removeItem(T.DEBUG_MODE),r.removeItem(T.LOCATION_ENABLED),r.removeItem(T.STT_AUTO_SEND),r.removeItem(T.STT_IMPLEMENTATION),r.removeItem(T.SEND_DIAGNOSTICS)),Qe||o.push(r.removeItem(T.APPEARANCE_MODE_KEY));const t=Xe.match(e)&&!0===e.payload?.isLogout;et&&!t||o.push(r.removeItem(T.ACTIVE_CONVERSATION_ID))}await Promise.all(o)}});const rt=je.reducer,st={lastResponseTime:null},ot=r.createSlice({name:"indicator",initialState:st,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(r.isAnyOf(Xe,ze),()=>st)}}),{setLastResponseTime:nt,clearLastResponseTime:at}=ot.actions,it=ot.reducer;exports.DIRECTION_VECTORS=e.DIRECTION_VECTORS,exports.TEXT_DIRECTION=e.TEXT_DIRECTION,exports.detectTextDirection=e.detectTextDirection,exports.resolveDirectionFromLang=e.resolveDirectionFromLang,exports.useMessageDirection=e.useMessageDirection,exports.useMessageDirections=e.useMessageDirections,exports.API_ENDPOINTS=f,exports.APPEARANCE_MODES=ie,exports.APPEARANCE_MODE_VALUES=ce,exports.AUTH_ERROR_GROUPS={EMAIL_NOT_VERIFIED:"EmailNotVerified"},exports.AUTH_HEADERS=S,exports.AUTH_PATHS={LOGIN:"/auth/login",SIGNUP:"/auth/signup",GUEST:"/auth/guest",LOGOUT:"/auth/logout",REFRESH:"/auth/refresh",FORGOT_PASSWORD:"/auth/forgot-password",RESET_PASSWORD:"/auth/reset-password",VERIFY_EMAIL:"/auth/verify-email",VERIFY_EMAIL_RESEND:"/auth/verify-email/resend",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},exports.BORDER_STYLES={NONE:"none",SOLID:"solid",DASHED:"dashed",DOTTED:"dotted"},exports.BRIDGE_TOAST_EVENT_NAME=Y,exports.BrandingContext=Ne,exports.CORNER_RADIUS_MODES=Le,exports.DEVICE_TOKEN_HEADER="x-device-token",exports.EventEmitter=De,exports.FEATURE_FLAGS={SSO:"sso"},exports.FONT_ROLES=ne,exports.FONT_WEIGHT_SLOTS=ae,exports.GENERIC_STACKS=le,exports.IDP_HINTS={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"},exports.INDICATOR_TIMER_ACTIONS={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"},exports.INHERITED_AUTH_ERROR_REASONS={NO_TOKEN:"no_token",TOKEN_EXPIRED:"token_expired",TOKEN_REJECTED:"token_rejected"},exports.LANG_DEFAULT_SCRIPT=de,exports.LOGO_ALIGNMENTS={TOP_LEADING:"topLeading",TOP:"top",TOP_TRAILING:"topTrailing",LEADING:"leading",CENTER:"center",TRAILING:"trailing",BOTTOM_LEADING:"bottomLeading",BOTTOM:"bottom",BOTTOM_TRAILING:"bottomTrailing"},exports.LOG_LEVELS=A,exports.NetworkContext=$e,exports.ORB_POSITIONS={FOREGROUND:"foreground",BACKGROUND:"background"},exports.ORG_MOUNT_SUFFIX=E,exports.PASSWORD_LIMITS={MIN_LENGTH:8,MAX_LENGTH:128},exports.PATTERNS=h,exports.PROFILE_LIMITS={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},exports.SCRIPTS=Q,exports.SCRIPT_RANGES=ee,exports.STORAGE_KEYS=T,exports.STT_IMPLEMENTATIONS={ONLINE:"online",DEVICE:"device"},exports.StorageContext=Ue,exports.TIMING=m,exports.USER_TYPES=X,exports.brandingToThemeStyles=function(e,t,r=ie.DARK){const s=ke(r);if(!e||!t)return s;const o=Te(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});_e(o,C);const n=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=t.surface?.agentMessage?.border,c=t.surface?.widget?.border;return{bgColor:t.surface?.chat?.background||s.bgColor,inputBgColor:t.surface?.chatInput?.background||t.surface?.input?.background||s.inputBgColor,sidebarBg:t.surface?.sideMenu?.background||s.sidebarBg,sidebarBorderColor:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sidebarBorderColor,widgetBg:t.surface?.widget?.background||s.widgetBg,settingsGroupBg:t.surface?.settings?.groupBackground||s.settingsGroupBg,screenMaskingColor:t.surface?.screenMasking||s.screenMaskingColor,inputBorderStyle:n?.style||s.inputBorderStyle,inputBorderColor:n?.color?be(n.color,n.opacity||100):s.inputBorderColor,inputBorderWidth:n?.width||s.inputBorderWidth,inputBorderOpacity:n?.opacity||100,widgetBorderStyle:c?.style||s.widgetBorderStyle,widgetBorderColor:c?.color?be(c.color,c.opacity||100):s.widgetBorderColor,widgetBorderWidth:c?.width||s.widgetBorderWidth,widgetBorderOpacity:c?.opacity??s.widgetBorderOpacity,placeholderColor:t.surface?.chatInput?.placeholderColor||t.surface?.input?.placeholderColor||s.placeholderColor,primaryText:t.text?.primary||s.primaryText,secondaryText:t.text?.secondary||s.secondaryText,tertiaryText:t.text?.tertiary||s.tertiaryText,userMsgBg:t.surface?.userMessage?.background||s.userMsgBg,userMsgText:t.surface?.userMessage?.textColor||s.userMsgText,userMsgBorderStyle:a?.style||s.userMsgBorderStyle,userMsgBorderColor:a?.color?be(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,agentMsgBg:t.surface?.agentMessage?.background??void 0,agentMsgText:t.surface?.agentMessage?.textColor??void 0,agentMsgBorderStyle:i?.style,agentMsgBorderColor:i?.color?be(i.color,i.opacity??100):void 0,agentMsgBorderWidth:i?.width,sideMenuHeadings:t.surface?.sideMenu?.headingsColor||t.surface?.sideMenu?.headings||s.sideMenuHeadings,sideMenuText:t.surface?.sideMenu?.textContentColor||t.surface?.sideMenu?.textContent||s.sideMenuText,sideMenuIcon:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sideMenuIcon,sideMenuProfile:t.surface?.sideMenu?.profileTextColor||t.surface?.sideMenu?.textProfile||s.sideMenuProfile,statusPrimary:{solid:t.status?.primary?.solid||s.statusPrimary.solid,background:t.status?.primary?.background||s.statusPrimary.background,text:t.status?.primary?.text||s.statusPrimary.text},statusSecondary:{solid:t.status?.secondary?.solid||s.statusSecondary.solid,background:t.status?.secondary?.background||s.statusSecondary.background,text:t.status?.secondary?.text||s.statusSecondary.text},statusSuccess:{solid:t.status?.success?.solid||s.statusSuccess.solid,background:t.status?.success?.background||s.statusSuccess.background,text:t.status?.success?.text||s.statusSuccess.text},statusDanger:{solid:t.status?.danger?.solid||s.statusDanger.solid,background:t.status?.danger?.background||s.statusDanger.background,text:t.status?.danger?.text||s.statusDanger.text},statusWarning:{solid:t.status?.warning?.solid||s.statusWarning.solid,background:t.status?.warning?.background||s.statusWarning.background,text:t.status?.warning?.text||s.statusWarning.text},statusInfo:{solid:t.status?.info?.solid||s.statusInfo.solid,background:t.status?.info?.background||s.statusInfo.background,text:t.status?.info?.text||s.statusInfo.text},statusDiscovery:{solid:t.status?.discovery?.solid||s.statusDiscovery.solid,background:t.status?.discovery?.background||s.statusDiscovery.background,text:t.status?.discovery?.text||s.statusDiscovery.text},switchCheckedColor:t.status?.primary?.solid||s.switchCheckedColor,switchUncheckedColor:t.surface?.chatInput?.background||s.switchUncheckedColor,fontFamily:xe(o,ne.DEFAULT),fontFamilyHeading:xe(o,ne.HEADING),fontFamilyMono:xe(o,ne.MONO),fontSize:14,typography:o,borderRadius:Pe(e.cornerRadius,s),cornerRadiusMode:Ge(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}},exports.buildFontFaceCss=function(e){const t=function(e){const t=new Map;for(const r of fe)for(const s of e.scriptIndex[r])for(const o of Object.values(ne)){const n=e.locales[s]?.[o];n&&(t.has(n)||t.set(n,new Set),t.get(n).add(r))}return t}(e),r=new Set(Object.values(ne).map(t=>e.locales[ue]?.[t]).filter(e=>Boolean(e))),s=[];for(const[o,n]of Object.entries(e.families)){const e=r.has(o)?void 0:t.get(o),a=e?Oe(e):"";if(n.variable)s.push(Re(o,"100 900",n.variable,a));else for(const e of Object.values(ae)){const t=n[e];t&&s.push(Re(o,String(Ae[e]),t,a))}}return s.join("\n\n")},exports.buildFontStack=Fe,exports.buildFullFontStack=xe,exports.capitalizeFirst=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",exports.clearLastResponseTime=at,exports.clearPreviousTenant=function(e){!function(e){try{e.removeItem(T.ACCESS_TOKEN),e.removeItem(T.REFRESH_TOKEN),e.removeItem(T.TOKEN_EXPIRES_AT),e.removeItem(T.USER)}catch{}}(e),function(e){try{e.removeItem(T.ACTIVE_CONVERSATION_ID)}catch{}}(e)},exports.clearSession=Xe,exports.createTokenRefresher=function(e){const{performRefresh:t,isTransient:r=W,maxAttempts:s=K,backoffBaseMs:o=$}=e;let n=null;return function(){return n||(n=(async()=>{for(let e=0;e<s;e++)try{return await t()}catch(t){if(!r(t))return null;if(e===s-1)break;const n=o*2**e+250*Math.random();await new Promise(e=>setTimeout(e,n))}return null})().finally(()=>{n=null}),n)}},exports.defaultChatThemeStyles=we,exports.defaultDarkThemeStyles=ve,exports.defaultIsTransient=W,exports.defaultLightThemeStyles=Be,exports.detectOrgSwitch=function(e,t){try{const r=t.getItem(T.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=Z(t.getItem(T.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}},exports.detectScripts=oe,exports.ensureFreshToken=async()=>J(p())?await(d()?.())??null:null,exports.eventEmitter=Me,exports.extractTokens=function(e){const t=e.headers.get(S.ACCESS_TOKEN),r=e.headers.get(S.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${S.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${S.REFRESH_TOKEN} header in response`);return{accessToken:t,refreshToken:r}},exports.formatCVC=e=>e.replace(/\D/g,"").slice(0,4),exports.formatCamelCaseToTitle=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^(.)/,e=>e.toUpperCase()).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim():"",exports.formatCardNumber=e=>e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim(),exports.formatExpiryDate=e=>{const t=e.replace(/\D/g,"").slice(0,4);if(4===t.length){const e=t.slice(0,2)+"/"+t.slice(2);return x(e)}return t.length>=3?`${t.slice(0,2)}/${t.slice(2)}`:t.length>=1?t:""},exports.formatTimeRemaining=e=>{const t=Math.floor(e/6e4),r=Math.floor(e%6e4/1e3);return t>0?`${t}m ${r}s`:`${r}s`},exports.formatTimestamp=(e,t=new Date)=>{if(!e)return"";const r=new Date(e);if(isNaN(r.getTime()))return"";const s=t.getTime()-r.getTime(),o=Math.floor(s/6e4),n=Math.floor(s/36e5),a=Math.floor(s/864e5);return o<1?"Just now":o<60?`${o}m ago`:n<24?`${n}h ago`:a<7?`${a}d ago`:new Intl.DateTimeFormat("en-GB",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)},exports.generateUniqueId=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),exports.getApiUrl=g,exports.getAppearanceModeStorageKey=e=>e?`${T.APPEARANCE_MODE_KEY}:${e}`:T.APPEARANCE_MODE_KEY,exports.getArrayOfObjects=function(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e},exports.getBaseUrl=()=>o,exports.getCustomHeaders=()=>n,exports.getDefaultThemeStyles=ke,exports.getErrorMessage=function(e,t="An unexpected error occurred."){if(e&&"object"==typeof e){if("message"in e&&"string"==typeof e.message)return e.message;if("data"in e){const t=e.data;if(t&&"object"==typeof t&&"message"in t&&"string"==typeof t.message)return t.message}}return t},exports.getInitials=(e,t)=>{if(e&&e.trim()){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.trim().slice(0,2).toUpperCase()}return t&&t.trim()?t.trim().slice(0,2).toUpperCase():"U"},exports.getPaymentId=function(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id},exports.getPaymentProviderHint=()=>s,exports.getSendDiagnostics=()=>H,exports.getStorageRef=Ke,exports.getTimeUntilExpiry=e=>e?Math.max(0,e-Date.now()):0,exports.getTimeUntilRefresh=e=>e?Math.max(0,e-m.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,exports.getTokenRefreshHandler=d,exports.handleSharedEvent=function(e,t){switch(e.kind){case"status_update":return t.setStatusText(e.statusText),t.setIsAgentWorking(!0),void t.onStatusActive?.(e.statusText);case"widget":return void t.pushWidget(e.widget,e.messageId);case"payment":return void t.onPayment(e.payment);case"sign_in":return void t.onSignIn?.(e.signIn);case"error":return void t.onError(e.error);case"text":return void t.appendStreamText(e.text,e.messageId);case"conversation_title":return void t.onConversationTitle?.(e.title);default:return}},exports.hasWidgets=e=>Array.isArray(e.widget)&&e.widget.length>0,exports.hexToRgba=function(e,t){let r=e.trim().replace(/^#/,"");if(3!==r.length&&4!==r.length||(r=r.split("").map(e=>e+e).join("")),!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(r))return e;const s=parseInt(r.slice(0,2),16),o=parseInt(r.slice(2,4),16),n=parseInt(r.slice(4,6),16),a=8===r.length?parseInt(r.slice(6,8),16)/255:1;return`rgba(${s}, ${o}, ${n}, ${Math.round(a*t*1e3)/1e3})`},exports.hydrateAppBoot=async e=>{const t=await e.getItem(T.SEND_DIAGNOSTICS);H=null===t||"true"===t},exports.hydrateSession=e=>async t=>{const[r,s,o,n]=await Promise.all([e.getItem(T.ACCESS_TOKEN),e.getItem(T.REFRESH_TOKEN),e.getItem(T.TOKEN_EXPIRES_AT),e.getItem(T.USER)]),a=o?parseInt(o,10):null;if((!r||!a||z(a))&&!s)return void(r&&await Promise.all([e.removeItem(T.ACCESS_TOKEN),e.removeItem(T.REFRESH_TOKEN),e.removeItem(T.TOKEN_EXPIRES_AT),e.removeItem(T.USER)]));let i=null;if(n)try{i=JSON.parse(n)}catch(e){C.error({message:"Failed to parse stored user during session hydration",component:"sessionSlice",error_message:e instanceof Error?e.message:String(e)})}t(Ve({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))},exports.indicatorReducer=it,exports.initLogger=G,exports.initializeChatConfig=e=>{o=e.baseUrl,n=e.customHeaders||{},s=e.paymentProvider},exports.isDevMode=()=>l,exports.isGuest=function(e){return e?.type===X.GUEST_USER},exports.isSixDigitCode=e=>h.SIX_DIGIT_CODE.test(e),exports.isTokenAboutToExpire=J,exports.isTokenExpired=z,exports.isVerificationRequired=function(e){return!0===e?.verification_required},exports.joinOrgMountBase=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${E}`:`${e}/${E}`,exports.logger=C,exports.logout=Ze,exports.normalizeTypography=Te,exports.parseJwtPayload=q,exports.parseOrgFromJwt=Z,exports.quoteFamily=Se,exports.readAccessToken=()=>i(),exports.readDeviceToken=()=>c(),exports.readTokenExpiresAt=p,exports.registerEventListener=function(e,t){return Me.on(e,t)},exports.registerLoggerContextProvider=_,exports.registerLoggerSink=y,exports.removeSpecialCharsAndSpaces=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",exports.resetLoggerForTests=async function(){I=null,O=null,R.length=0,(await Promise.resolve().then(()=>U)).resetInitLoggerStateForTests()},exports.resolveFontFamily=function(e,t,r={}){const{language:s,script:o}=r;if(s){const r=he(e.locales[s],t);if(r)return r}const n=o??(s?me(s):void 0);if(n)for(const r of e.scriptIndex[n]){const s=he(e.locales[r],t);if(s)return s}return he(e.locales[ue],t)??e.locales[ue].default??""},exports.sanitizeExpiryDate=x,exports.sessionExpired=ze,exports.sessionListenerMiddleware=tt,exports.sessionReducer=rt,exports.setAccessTokenReader=e=>{i=e},exports.setCredentials=qe,exports.setDeviceTokenReader=e=>{c=e},exports.setHostControlsAppearance=e=>{Qe=e},exports.setIsDev=e=>{l=e},exports.setLastResponseTime=nt,exports.setModuleStorage=function(e){He=e},exports.setNetworkLoggingEnabled=P,exports.setSelectedOrgId=Je,exports.setSession=Ve,exports.setSessionRecoveryActive=e=>{et=e},exports.setTokenExpiresAtReader=e=>{u=e},exports.setTokenRefreshHandler=e=>{a=e},exports.showErrorToast=(e="Please try again")=>V({title:"Error",description:e,variant:"destructive"}),exports.showSuccessToast=(e="Successfully")=>V({title:"Success",description:e,variant:"default"}),exports.showToast=e=>V(e),exports.truncateWordLimit=(e,t)=>{if(!e)return"";const r=e.split(" ");return r.length>t?r.slice(0,t).join(" "):e},exports.updateUser=Ye,exports.useBranding=Ce,exports.useMessageFontStack=function(e,r){const{themeStyles:s}=Ce(),o=s.typography,n=t.useMemo(()=>{if(r){const e=r.split(/[-_]/)[0].toLowerCase(),t=de[e];if(t)return[t]}return oe(e)},[e,r]);return t.useMemo(()=>Fe(o,ne.DEFAULT,n),[o,n])},exports.useNetworkState=()=>{const e=t.useContext($e),r=t.useCallback(t=>e?e.subscribe(t):()=>{},[e]),s=t.useCallback(()=>e?e.getState():We,[e]);return t.useSyncExternalStore(r,s,s)},exports.useStorage=()=>{const e=t.useContext(Ue);if(!e)throw new Error("useStorage must be called inside a <StorageProvider>. Wrap your app's root with <StorageProvider value={browserLocalStorageAdapter}> (or an RN equivalent).");return e},exports.validateExpiryDate=F,exports.warnUnknownFamilies=_e,exports.writeOrgToStorage=function(e,t){try{t.setItem(T.SELECTED_ORG_ID,e),t.setItem(T.SELECTED_ORG_NAME,e)}catch{}};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{D as e,T as t,d as r,r as s,u as n,a as o}from"./textDirection-CmyE93hC.js";import{createContext as a,useContext as i,useMemo as c,useCallback as u,useSyncExternalStore as l}from"react";import{createSlice as d,createListenerMiddleware as g,isAnyOf as f}from"@reduxjs/toolkit";let p,E="",m={},h=null,F=()=>null,S=()=>null,T=()=>null,A=!1;const I=e=>{E=e.baseUrl,m=e.customHeaders||{},p=e.paymentProvider},y=()=>E,O=()=>p,R=()=>m,_=e=>{h=e},N=()=>h,C=e=>{F=e},D=()=>F(),M=e=>{S=e},x=()=>S(),B=e=>{T=e},v=()=>T(),b=e=>{A=e},w=()=>A,L=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${E}/api${t}`},k="chat",P=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${k}`:`${e}/${k}`,G={CONVERSATIONS:()=>L("/conversations"),CONVERSATION_STREAM:e=>L(`/conversations/${e}`),CONVERSATION_START:e=>L(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>L(`/conversations/${e}/transcribe`),DOCUMENTS:()=>L("/documents"),DOCUMENT:e=>L(`/documents/${encodeURIComponent(e)}`),WEBRTC_OFFER:e=>L(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>L(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return L("/transcribe")},get BRANDING(){return L("/branding")},get CONFIG(){return L("/config")},get PROFILE(){return L("/profile")},get AUTH_ME(){return L("/auth/me")},get CHANGE_PASSWORD(){return L("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return L("/organizations/exists")},get DEBUG(){return L("/debug")},get TOOL_SERVERS(){return L("/tool-servers")},TOOL_SERVER_AUTH_START:e=>L(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>L(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return L("/tool-servers/auth/exchange")},get LOG(){return L("/log")}},U={SSO:"sso"},H={TOKEN_REFRESH_THRESHOLD_MS:6e5,TOKEN_CLOCK_SKEW_MS:3e4,TOKEN_DEFAULT_EXPIRY_MS:36e5,THINKING_STATE_TIMEOUT_MS:600,MESSAGE_WARNING_TIMEOUT_MS:1e4,TOAST_DURATION_MS:5e3,TOAST_ERROR_DURATION_MS:7e3,INPUT_DEBOUNCE_MS:300,SEARCH_DEBOUNCE_MS:500,CONFIG_TIMEOUT_MS:5e3},K={ACCESS_TOKEN:"accessToken",REFRESH_TOKEN:"refreshToken",TOKEN_EXPIRES_AT:"tokenExpiresAt",USER:"user",SELECTED_ORG_ID:"selectedOrgId",SELECTED_ORG_NAME:"selectedOrgName",APPEARANCE_MODE_KEY:"1interface_appearance_mode",LOCATION_ENABLED:"1interface_location_enabled",LOCATION_CACHE:"1interface_cached_location",DEBUG_MODE:"1interface_debug_mode",STT_AUTO_SEND:"1interface_stt_auto_send",STT_IMPLEMENTATION:"1interface_stt_implementation",SEND_DIAGNOSTICS:"1interface_send_diagnostics",ACTIVE_CONVERSATION_ID:"1interface_active_conversation_id"},$={ONLINE:"online",DEVICE:"device"},W=e=>e?`${K.APPEARANCE_MODE_KEY}:${e}`:K.APPEARANCE_MODE_KEY,j={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"},V={EMAIL_NOT_VERIFIED:"EmailNotVerified"},Y="x-device-token",X={LOGIN:"/auth/login",SIGNUP:"/auth/signup",GUEST:"/auth/guest",LOGOUT:"/auth/logout",REFRESH:"/auth/refresh",FORGOT_PASSWORD:"/auth/forgot-password",RESET_PASSWORD:"/auth/reset-password",VERIFY_EMAIL:"/auth/verify-email",VERIFY_EMAIL_RESEND:"/auth/verify-email/resend",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},z={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/,SIX_DIGIT_CODE:/^\d{6}$/},J={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},Z={MIN_LENGTH:8,MAX_LENGTH:128},q=(e,t)=>{if(!e)return"";const r=e.split(" ");return r.length>t?r.slice(0,t).join(" "):e},Q=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),ee=(e,t=new Date)=>{if(!e)return"";const r=new Date(e);if(isNaN(r.getTime()))return"";const s=t.getTime()-r.getTime(),n=Math.floor(s/6e4),o=Math.floor(s/36e5),a=Math.floor(s/864e5);return n<1?"Just now":n<60?`${n}m ago`:o<24?`${o}h ago`:a<7?`${a}d ago`:new Intl.DateTimeFormat("en-GB",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)},te=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",re=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^(.)/,e=>e.toUpperCase()).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim():"",se=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",ne=e=>e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim(),oe=e=>{const t=e.match(/^(\d{2})\/(\d{2})$/);if(!t)return!1;const r=Number(t[1]),s=Number(t[2]);if(r<1||r>12)return!1;const n=new Date,o=n.getFullYear()%100,a=n.getMonth()+1;return!(s<o||s===o&&r<a||r>12)},ae=e=>{if(!e)return"";if(!oe(e)){const t=e.match(/^(\d{2})\/(\d{2})$/);if(t){const e=Number(t[1]),r=Number(t[2]),s=new Date,n=s.getFullYear()%100,o=s.getMonth()+1;if(r<n||r===n&&e<o||e>12)return""}}return e},ie=e=>{const t=e.replace(/\D/g,"").slice(0,4);if(4===t.length){const e=t.slice(0,2)+"/"+t.slice(2);return ae(e)}return t.length>=3?`${t.slice(0,2)}/${t.slice(2)}`:t.length>=1?t:""},ce=e=>e.replace(/\D/g,"").slice(0,4),ue=e=>z.SIX_DIGIT_CODE.test(e);function le(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e}const de=(e,t)=>{if(e&&e.trim()){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.trim().slice(0,2).toUpperCase()}return t&&t.trim()?t.trim().slice(0,2).toUpperCase():"U"},ge=e=>Array.isArray(e.widget)&&e.widget.length>0;function fe(e,t="An unexpected error occurred."){if(e&&"object"==typeof e){if("message"in e&&"string"==typeof e.message)return e.message;if("data"in e){const t=e.data;if(t&&"object"==typeof t&&"message"in t&&"string"==typeof t.message)return t.message}}return t}const pe={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let Ee=null,me=null;const he=[];function Fe(e){if(Ee=e,he.length>0){const t=he.splice(0,he.length);for(const r of t)e.emit(r)}}function Se(e){me=e}async function Te(){Ee=null,me=null,he.length=0,(await Promise.resolve().then(()=>ve)).resetInitLoggerStateForTests()}function Ae(e,t){const r=me?function(e){try{return e()??{}}catch{return{}}}(me):{},{message:s,...n}=t,o={...r,...n,level:e,message:s,timestamp:(new Date).toISOString()};Ee?Ee.emit(o):(he.length>=200&&he.shift(),he.push(o))}const Ie={debug(e){Ae(pe.DEBUG,e)},info(e){Ae(pe.INFO,e)},warn(e){Ae(pe.WARN,e)},error(e){Ae(pe.ERROR,e)},flush:()=>Ee?.flush?.()},ye={[pe.DEBUG]:0,[pe.INFO]:1,[pe.WARN]:2,[pe.ERROR]:3};function Oe(e={}){const t=ye[e.minLevel??pe.DEBUG];return{emit(e){ye[e.level]<t||(e.level===pe.ERROR?console.error:e.level===pe.WARN?console.warn:e.level===pe.DEBUG?console.debug:console.info)(e)}}}const Re={[pe.DEBUG]:5,[pe.INFO]:9,[pe.WARN]:13,[pe.ERROR]:17};function _e(e){if(null===e)return"null";const t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(e instanceof Error)return JSON.stringify({name:e.name,message:e.message,stack:e.stack});try{return JSON.stringify(e)}catch{return String(e)}}function Ne(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=_e(s));return t}let Ce=!1,De=null,Me=!0;function xe(e){Me=e}function Be(e){Ce||(Ce=!0,Se(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),Fe(function(e){const t=[Oe({minLevel:e.consoleMinLevel??(e.isDev?pe.DEBUG:pe.WARN)})];if(e.otlpEndpoint&&!e.isDev){const r="otel"===(e.logTransport??"otel")?function(e){let t=!1,r=null,s=null;const n=[];function o(){s||(s=async function(){const[t,s,o,a]=await Promise.all([import("@opentelemetry/api-logs"),import("@opentelemetry/sdk-logs"),import("@opentelemetry/exporter-logs-otlp-http"),import("@opentelemetry/resources")]),i=a.resourceFromAttributes(e.resourceAttrs),c=new o.OTLPLogExporter({url:e.endpoint}),u=new s.LoggerProvider({resource:i,processors:[new s.BatchLogRecordProcessor(c)]});t.logs.setGlobalLoggerProvider(u);const l=t.logs.getLogger(e.resourceAttrs["service.name"]??"app");if(r={emit(e){const{level:t,message:r,timestamp:s,...n}=e;l.emit({severityNumber:Re[t],severityText:t,body:JSON.stringify(e),attributes:Ne(n),timestamp:new Date(s)})},async flush(){await u.forceFlush()}},n.length>0){const e=n.splice(0,n.length);for(const t of e)r.emit(t)}}().catch(()=>{n.length=0,r=null,t=!0}))}return{emit(e){t||(r?r.emit(e):(o(),n.length>=200&&n.shift(),n.push(e)))},async flush(){(s||r)&&(o(),await s,r&&await r.flush())}}}({endpoint:e.otlpEndpoint,resourceAttrs:{"service.name":e.appName,"service.version":e.appVersion,"deployment.environment":e.environment}}):function(e){const t=e.maxBatchSize??50,r=e.scheduledDelayMs??5e3,s=e.maxQueueSize??2048,n=e.wrapBatch??(e=>e),o=[];let a=null;function i(){return null!==a&&(clearTimeout(a),a=null),0===o.length||0===(t=o.splice(0,o.length)).length?Promise.resolve():fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n(t)),keepalive:!0}).then(()=>{}).catch(()=>{});var t}return{emit(e){o.length>=s&&o.shift(),o.push(e),o.length>=t?i():null===a&&(a=setTimeout(()=>{a=null,i()},r))},async flush(){await i()}}}({endpoint:e.otlpEndpoint});t.push({emit(e){Me&&r.emit(e)},flush:r.flush.bind(r)})}return e.extraSinks?.length&&t.push(...e.extraSinks),1===t.length?t[0]:function(e){return{emit(t){for(const r of e)try{r.emit(t)}catch{}},async flush(){await Promise.all(e.map(e=>e.flush?Promise.resolve(e.flush()).catch(()=>{}):Promise.resolve()))}}}(t)}(e)),!1!==e.flushOnAppHide&&De?.())}const ve=Object.freeze(Object.defineProperty({__proto__:null,initLogger:Be,registerPlatformFlushAttacher:function(e){De=e},resetInitLoggerStateForTests:function(){Ce=!1,De=null,Me=!0},setNetworkLoggingEnabled:xe},Symbol.toStringTag,{value:"Module"}));let be=!0;const we=async e=>{const t=await e.getItem(K.SEND_DIAGNOSTICS);be=null===t||"true"===t},Le=()=>be,ke=3,Pe=500,Ge=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(Ie.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))};function Ue(e){const{performRefresh:t,isTransient:r=Ge,maxAttempts:s=ke,backoffBaseMs:n=Pe}=e;let o=null;return function(){return o||(o=(async()=>{for(let e=0;e<s;e++)try{return await t()}catch(t){if(!r(t))return null;if(e===s-1)break;const o=n*2**e+250*Math.random();await new Promise(e=>setTimeout(e,o))}return null})().finally(()=>{o=null}),o)}}const He="bridge-toast";function Ke(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(He,{detail:e}))}const $e=e=>Ke(e),We=(e="Please try again")=>Ke({title:"Error",description:e,variant:"destructive"}),je=(e="Successfully")=>Ke({title:"Success",description:e,variant:"default"}),Ve=He,Ye={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},Xe={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"};function ze(e){return e?.type===Ye.GUEST_USER}function Je(e){return!0===e?.verification_required}const Ze=e=>!!e&&Date.now()>=e-H.TOKEN_CLOCK_SKEW_MS,qe=e=>!e||Date.now()>=e-H.TOKEN_REFRESH_THRESHOLD_MS,Qe=async()=>qe(v())?await(N()?.())??null:null,et=e=>e?Math.max(0,e-Date.now()):0,tt=e=>e?Math.max(0,e-H.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,rt=e=>{const t=Math.floor(e/6e4),r=Math.floor(e%6e4/1e3);return t>0?`${t}m ${r}s`:`${r}s`};function st(e){const t=e.headers.get(j.ACCESS_TOKEN),r=e.headers.get(j.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${j.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${j.REFRESH_TOKEN} header in response`);return{accessToken:t,refreshToken:r}}function nt(e){if(!e)return null;const t=e.split(".");if(3!==t.length)return null;try{const e=t[1].replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),s=atob(r),n=JSON.parse(s);return n&&"object"==typeof n&&!Array.isArray(n)?n:null}catch{return null}}function ot(e){const t=nt(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}function at(e,t){try{const r=t.getItem(K.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=ot(t.getItem(K.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}}function it(e){!function(e){try{e.removeItem(K.ACCESS_TOKEN),e.removeItem(K.REFRESH_TOKEN),e.removeItem(K.TOKEN_EXPIRES_AT),e.removeItem(K.USER)}catch{}}(e),function(e){try{e.removeItem(K.ACTIVE_CONVERSATION_ID)}catch{}}(e)}function ct(e,t){try{t.setItem(K.SELECTED_ORG_ID,e),t.setItem(K.SELECTED_ORG_NAME,e)}catch{}}const ut={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},lt={Latn:[[65,90],[97,122],[170,170],[186,186],[192,214],[216,246],[248,591],[592,687],[7680,7935],[11360,11391],[42786,42887],[42891,42957],[42960,42961],[42963,42963],[42965,42972],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370]],Arab:[[1568,1599],[1601,1610],[1646,1647],[1649,1747],[1749,1749],[1765,1766],[1774,1775],[1786,1788],[1791,1791],[1872,1919],[2208,2249],[2160,2183],[2185,2190],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276]],Hebr:[[1488,1514],[1519,1522],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64335]],Cyrl:[[1024,1153],[1162,1327],[7296,7306],[42560,42606],[42623,42653]],Grek:[[880,883],[886,887],[890,893],[895,895],[902,902],[904,906],[908,908],[910,929],[931,993],[1008,1013],[1015,1023],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025,8025],[8027,8027],[8029,8029],[8031,8061],[8064,8116],[8118,8124],[8126,8126],[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188]],Deva:[[2308,2361],[2365,2365],[2384,2384],[2392,2401],[2417,2431]],Thai:[[3585,3632],[3634,3635],[3648,3654]],Hani:[[12293,12293],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456]],Kana:[[12353,12438],[12445,12447],[12449,12538],[12541,12543],[12784,12799],[65382,65391],[65393,65437]],Kore:[[4352,4607],[12593,12686],[43360,43388],[44032,55203],[55216,55238],[55243,55291]]},dt=[ut.LATIN,ut.ARABIC,ut.HEBREW,ut.CYRILLIC,ut.GREEK,ut.DEVANAGARI,ut.THAI,ut.HAN,ut.HIRAGANA_KATAKANA,ut.HANGUL],gt=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function ft(e){for(const t of dt)for(const[r,s]of lt[t])if(e>=r&&e<=s)return t;return null}function pt(e){const t=(e??"").replace(gt," "),r=new Set,s=[];for(const e of t){const t=ft(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const Et={TOP_LEADING:"topLeading",TOP:"top",TOP_TRAILING:"topTrailing",LEADING:"leading",CENTER:"center",TRAILING:"trailing",BOTTOM_LEADING:"bottomLeading",BOTTOM:"bottom",BOTTOM_TRAILING:"bottomTrailing"},mt={DEFAULT:"default",HEADING:"heading",MONO:"mono"},ht={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},Ft={LIGHT:"light",DARK:"dark",SYSTEM:"system"},St=[Ft.LIGHT,Ft.DARK,Ft.SYSTEM],Tt={FOREGROUND:"foreground",BACKGROUND:"background"},At="default",It={[mt.DEFAULT]:"system-ui, -apple-system, sans-serif",[mt.HEADING]:"system-ui, -apple-system, sans-serif",[mt.MONO]:"ui-monospace, monospace"},yt={ar:ut.ARABIC,fa:ut.ARABIC,ur:ut.ARABIC,he:ut.HEBREW,yi:ut.HEBREW,ru:ut.CYRILLIC,bg:ut.CYRILLIC,sr:ut.CYRILLIC,uk:ut.CYRILLIC,mk:ut.CYRILLIC,be:ut.CYRILLIC,kk:ut.CYRILLIC,el:ut.GREEK,hi:ut.DEVANAGARI,mr:ut.DEVANAGARI,ne:ut.DEVANAGARI,th:ut.THAI,zh:ut.HAN,ja:ut.HIRAGANA_KATAKANA,ko:ut.HANGUL},Ot=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),Rt=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),_t=new Set(Object.values(ut)),Nt=Object.values(ut);function Ct(e){const t=e.split(/[-_]/);for(const e of t.slice(1)){if(1===e.length)break;const t=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();if(_t.has(t))return t}const r=t[0]?.toLowerCase()??"";if(yt[r])return yt[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&_t.has(t))return t}catch{}return ut.LATIN}function Dt(e,t){const r={...e?.families??{}},s=e?.locales;let n;if(s)n={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;n={[At]:{[mt.DEFAULT]:r??t.default,[mt.HEADING]:r??t.heading??t.default,[mt.MONO]:s??t.mono}}}const o=n[At]??{};n[At]={[mt.DEFAULT]:o.default??t.default,[mt.HEADING]:o.heading??t.heading??t.default,[mt.MONO]:o.mono??t.mono??t.default};const a=function(){const e={};for(const t of Nt)e[t]=[];return e}();for(const e of Object.keys(n))e!==At&&a[Ct(e)].push(e);return{locales:n,families:r,scriptIndex:a}}function Mt(e){const t=e.trim();return t?Ot.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function xt(e,t){return e?.[t]}function Bt(e,t,r={}){const{language:s,script:n}=r;if(s){const r=xt(e.locales[s],t);if(r)return r}const o=n??(s?Ct(s):void 0);if(o)for(const r of e.scriptIndex[o]){const s=xt(e.locales[r],t);if(s)return s}return xt(e.locales[At],t)??e.locales[At].default??""}function vt(e,t,r){const s=[],n=new Set,o=e=>{e&&(n.has(e)||(n.add(e),s.push(e)))};for(const s of r)for(const r of e.scriptIndex[s])o(xt(e.locales[r],t));o(xt(e.locales[At],t)??e.locales[At].default);const a=s.map(Mt);return a.length?`${a.join(", ")}, ${It[t]}`:It[t]}function bt(e,t){return vt(e,t,Object.keys(e.scriptIndex))}const wt={[ht.REGULAR]:400,[ht.MEDIUM]:500,[ht.SEMIBOLD]:600,[ht.BOLD]:700};function Lt(e){const t=function(e){const t=e.split(/[?#]/)[0].toLowerCase();return t.endsWith(".woff2")?"woff2":t.endsWith(".woff")?"woff":t.endsWith(".ttf")?"truetype":t.endsWith(".otf")?"opentype":void 0}(e);return t?`src: url("${e}") format("${t}");`:`src: url("${e}");`}function kt(e){const t=[];for(const r of Nt)if(e.has(r))for(const[e,s]of lt[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function Pt(e,t,r,s){const n=["@font-face {",` font-family: ${Mt(e)};`,` ${Lt(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&n.push(` unicode-range: ${s};`),n.push("}"),n.join("\n")}function Gt(e){const t=function(e){const t=new Map;for(const r of Nt)for(const s of e.scriptIndex[r])for(const n of Object.values(mt)){const o=e.locales[s]?.[n];o&&(t.has(o)||t.set(o,new Set),t.get(o).add(r))}return t}(e),r=new Set(Object.values(mt).map(t=>e.locales[At]?.[t]).filter(e=>Boolean(e))),s=[];for(const[n,o]of Object.entries(e.families)){const e=r.has(n)?void 0:t.get(n),a=e?kt(e):"";if(o.variable)s.push(Pt(n,"100 900",o.variable,a));else for(const e of Object.values(ht)){const t=o[e];t&&s.push(Pt(n,String(wt[e]),t,a))}}return s.join("\n\n")}const Ut=new WeakSet;function Ht(e,t){if(Ut.has(e))return;Ut.add(e);const r=new Set;for(const s of Object.values(e.locales))for(const n of Object.values(s))n&&!r.has(n)&&(r.add(n),e.families[n]||Rt.has(n)||t.warn({message:`Typography family "${n}" has no families entry and is not a known system font; falling back to the generic stack.`,font_family:n}))}const Kt=a(void 0);function $t(){const e=i(Kt);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}function Wt(e,t){const{themeStyles:r}=$t(),s=r.typography,n=c(()=>{if(t){const e=t.split(/[-_]/)[0].toLowerCase(),r=yt[e];if(r)return[r]}return pt(e)},[e,t]);return c(()=>vt(s,mt.DEFAULT,n),[s,n])}class jt{static instance;events={};constructor(){}static getInstance(){return jt.instance||(jt.instance=new jt),jt.instance}on(e,t,r){const s="function"==typeof t?t:r;return this.events[e]||(this.events[e]=[]),this.events[e].push(s),()=>{this.off(e,s)}}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(e=>e!==t))}emit(e,t){this.events[e]&&this.events[e].forEach(r=>{try{r(t)}catch(t){Ie.error({message:`Error in event handler for "${e}"`,api_name:"event-emitter",event:e,error_message:t instanceof Error?t.message:String(t)})}})}clear(e){e?delete this.events[e]:this.events={}}}const Vt=jt.getInstance();function Yt(e,t){return Vt.on(e,t)}const Xt={NONE:"none",SOLID:"solid",DASHED:"dashed",DOTTED:"dotted"},zt={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},Jt={bgColor:"linear-gradient(281.8deg, #061522 6.7%, #101F2F 59.64%, #3C3B4F 76.85%, #5D4C63 88.46%, #755770 99.24%)",inputBgColor:"#222D34",sidebarBg:"#0F1419",sidebarBorderColor:"#8F8F8F",widgetBg:"#222D34",settingsGroupBg:"#272626",inputBorderStyle:"solid",inputBorderColor:"#FFFFFF80",inputBorderWidth:"1px",inputBorderOpacity:50,widgetBorderStyle:"solid",widgetBorderColor:"#FFFFFF1A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#8F8F8F",primaryText:"#FFFFFF",secondaryText:"#AFAFAF",tertiaryText:"#8F8F8F",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#FFFFFFFF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#FFFFFF",sideMenuText:"#AFAFAF",sideMenuIcon:"#8F8F8F",sideMenuProfile:"#FFFFFF",screenMaskingColor:"#000000",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#222D34",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Dt(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:zt.PILL,chatInputPlaceholder:"Type anything..."},Zt={bgColor:"linear-gradient(281.8deg, #EEF2FF 6.7%, #E2E8FD 59.64%, #E8DFF4 76.85%, #F4DBE6 88.46%, #FFE1D0 99.24%)",inputBgColor:"#F4F4F5",sidebarBg:"#FFFFFF",sidebarBorderColor:"#9B9B9B",widgetBg:"#FFFFFF",settingsGroupBg:"#1A1A1A10",inputBorderStyle:"solid",inputBorderColor:"#0000001A",inputBorderWidth:"1px",inputBorderOpacity:10,widgetBorderStyle:"solid",widgetBorderColor:"#0000001A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#9B9B9B",primaryText:"#1A1A1A",secondaryText:"#6B6B6B",tertiaryText:"#9B9B9B",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#000000FF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#1A1A1A",sideMenuText:"#6B6B6B",sideMenuIcon:"#9B9B9B",sideMenuProfile:"#1A1A1A",screenMaskingColor:"#FFFFFF",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#F4F4F5",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Dt(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:zt.PILL,chatInputPlaceholder:"Type anything..."};function qt(e){return e===Ft.LIGHT?Zt:Jt}const Qt=Jt;function er(e,t){const r=e.replace("#","");let s;s=3===r.length?r.split("").map(e=>e+e).join(""):6===r.length?r:"000000";const n=Math.max(0,Math.min(100,t));return`#${s}${Math.round(n/100*255).toString(16).padStart(2,"0")}`.toUpperCase()}function tr(e,t){if(!e)return t.borderRadius;switch(e){case"none":return 0;case"sm":return 8;case"md":return 12;case"pill":return 16;default:const r=parseInt(e,10);return isNaN(r)?t.borderRadius:r}}function rr(e){switch(e){case"pill":return zt.PILL;case"none":return zt.SHARP;default:return 0===parseInt(e??"",10)?zt.SHARP:zt.ROUNDED}}function sr(e,t,r=Ft.DARK){const s=qt(r);if(!e||!t)return s;const n=Dt(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});Ht(n,Ie);const o=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=t.surface?.agentMessage?.border,c=t.surface?.widget?.border;return{bgColor:t.surface?.chat?.background||s.bgColor,inputBgColor:t.surface?.chatInput?.background||t.surface?.input?.background||s.inputBgColor,sidebarBg:t.surface?.sideMenu?.background||s.sidebarBg,sidebarBorderColor:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sidebarBorderColor,widgetBg:t.surface?.widget?.background||s.widgetBg,settingsGroupBg:t.surface?.settings?.groupBackground||s.settingsGroupBg,screenMaskingColor:t.surface?.screenMasking||s.screenMaskingColor,inputBorderStyle:o?.style||s.inputBorderStyle,inputBorderColor:o?.color?er(o.color,o.opacity||100):s.inputBorderColor,inputBorderWidth:o?.width||s.inputBorderWidth,inputBorderOpacity:o?.opacity||100,widgetBorderStyle:c?.style||s.widgetBorderStyle,widgetBorderColor:c?.color?er(c.color,c.opacity||100):s.widgetBorderColor,widgetBorderWidth:c?.width||s.widgetBorderWidth,widgetBorderOpacity:c?.opacity??s.widgetBorderOpacity,placeholderColor:t.surface?.chatInput?.placeholderColor||t.surface?.input?.placeholderColor||s.placeholderColor,primaryText:t.text?.primary||s.primaryText,secondaryText:t.text?.secondary||s.secondaryText,tertiaryText:t.text?.tertiary||s.tertiaryText,userMsgBg:t.surface?.userMessage?.background||s.userMsgBg,userMsgText:t.surface?.userMessage?.textColor||s.userMsgText,userMsgBorderStyle:a?.style||s.userMsgBorderStyle,userMsgBorderColor:a?.color?er(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,agentMsgBg:t.surface?.agentMessage?.background??void 0,agentMsgText:t.surface?.agentMessage?.textColor??void 0,agentMsgBorderStyle:i?.style,agentMsgBorderColor:i?.color?er(i.color,i.opacity??100):void 0,agentMsgBorderWidth:i?.width,sideMenuHeadings:t.surface?.sideMenu?.headingsColor||t.surface?.sideMenu?.headings||s.sideMenuHeadings,sideMenuText:t.surface?.sideMenu?.textContentColor||t.surface?.sideMenu?.textContent||s.sideMenuText,sideMenuIcon:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sideMenuIcon,sideMenuProfile:t.surface?.sideMenu?.profileTextColor||t.surface?.sideMenu?.textProfile||s.sideMenuProfile,statusPrimary:{solid:t.status?.primary?.solid||s.statusPrimary.solid,background:t.status?.primary?.background||s.statusPrimary.background,text:t.status?.primary?.text||s.statusPrimary.text},statusSecondary:{solid:t.status?.secondary?.solid||s.statusSecondary.solid,background:t.status?.secondary?.background||s.statusSecondary.background,text:t.status?.secondary?.text||s.statusSecondary.text},statusSuccess:{solid:t.status?.success?.solid||s.statusSuccess.solid,background:t.status?.success?.background||s.statusSuccess.background,text:t.status?.success?.text||s.statusSuccess.text},statusDanger:{solid:t.status?.danger?.solid||s.statusDanger.solid,background:t.status?.danger?.background||s.statusDanger.background,text:t.status?.danger?.text||s.statusDanger.text},statusWarning:{solid:t.status?.warning?.solid||s.statusWarning.solid,background:t.status?.warning?.background||s.statusWarning.background,text:t.status?.warning?.text||s.statusWarning.text},statusInfo:{solid:t.status?.info?.solid||s.statusInfo.solid,background:t.status?.info?.background||s.statusInfo.background,text:t.status?.info?.text||s.statusInfo.text},statusDiscovery:{solid:t.status?.discovery?.solid||s.statusDiscovery.solid,background:t.status?.discovery?.background||s.statusDiscovery.background,text:t.status?.discovery?.text||s.statusDiscovery.text},switchCheckedColor:t.status?.primary?.solid||s.switchCheckedColor,switchUncheckedColor:t.surface?.chatInput?.background||s.switchUncheckedColor,fontFamily:bt(n,mt.DEFAULT),fontFamilyHeading:bt(n,mt.HEADING),fontFamilyMono:bt(n,mt.MONO),fontSize:14,typography:n,borderRadius:tr(e.cornerRadius,s),cornerRadiusMode:rr(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}}function nr(e,t){let r=e.trim().replace(/^#/,"");if(3!==r.length&&4!==r.length||(r=r.split("").map(e=>e+e).join("")),!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(r))return e;const s=parseInt(r.slice(0,2),16),n=parseInt(r.slice(2,4),16),o=parseInt(r.slice(4,6),16),a=8===r.length?parseInt(r.slice(6,8),16)/255:1;return`rgba(${s}, ${n}, ${o}, ${Math.round(a*t*1e3)/1e3})`}const or=a(null),ar=()=>{const e=i(or);if(!e)throw new Error("useStorage must be called inside a <StorageProvider>. Wrap your app's root with <StorageProvider value={browserLocalStorageAdapter}> (or an RN equivalent).");return e};let ir=null;function cr(e){ir=e}const ur=()=>ir,lr=a(null),dr={isConnected:!0,isInternetReachable:!0},gr=()=>{const e=i(lr),t=u(t=>e?e.subscribe(t):()=>{},[e]),r=u(()=>e?e.getState():dr,[e]);return l(t,r,r)},fr=d({name:"auth",initialState:{user:null,accessToken:null,refreshToken:null,tokenExpiresAt:null,selectedOrgId:null,isAuthenticated:!1,isLoading:!1},reducers:{setSession:(e,t)=>{const{user:r,accessToken:s,refreshToken:n,expiresIn:o}=t.payload;void 0!==r&&(e.user=r),void 0!==s&&(e.accessToken=s),void 0!==n&&(e.refreshToken=n),void 0!==o?e.tokenExpiresAt=null===o?null:1e3*o:s&&(e.tokenExpiresAt=Date.now()+H.TOKEN_DEFAULT_EXPIRY_MS),e.isAuthenticated=Boolean(e.accessToken),e.isLoading=!1},updateUser:(e,t)=>{e.user={...e.user||{},...t.payload}},clearSession:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},sessionExpired:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},setSelectedOrgId:(e,t)=>{e.selectedOrgId=t.payload??null}}}),{setSession:pr,updateUser:Er,clearSession:mr,sessionExpired:hr,setSelectedOrgId:Fr}=fr.actions,Sr=pr,Tr=mr,Ar=e=>async t=>{const[r,s,n,o]=await Promise.all([e.getItem(K.ACCESS_TOKEN),e.getItem(K.REFRESH_TOKEN),e.getItem(K.TOKEN_EXPIRES_AT),e.getItem(K.USER)]),a=n?parseInt(n,10):null;if((!r||!a||Ze(a))&&!s)return void(r&&await Promise.all([e.removeItem(K.ACCESS_TOKEN),e.removeItem(K.REFRESH_TOKEN),e.removeItem(K.TOKEN_EXPIRES_AT),e.removeItem(K.USER)]));let i=null;if(o)try{i=JSON.parse(o)}catch(e){Ie.error({message:"Failed to parse stored user during session hydration",component:"sessionSlice",error_message:e instanceof Error?e.message:String(e)})}t(pr({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))},Ir=g();Ir.startListening({matcher:f(pr,Er,mr,hr),effect:async(e,t)=>{const r=ur();if(!r)return;const{auth:s}=t.getState(),n=[];n.push(s.accessToken?r.setItem(K.ACCESS_TOKEN,s.accessToken):r.removeItem(K.ACCESS_TOKEN)),n.push(s.refreshToken?r.setItem(K.REFRESH_TOKEN,s.refreshToken):r.removeItem(K.REFRESH_TOKEN)),n.push(null!=s.tokenExpiresAt?r.setItem(K.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(K.TOKEN_EXPIRES_AT)),n.push(s.user?r.setItem(K.USER,JSON.stringify(s.user)):r.removeItem(K.USER)),(mr.match(e)||hr.match(e))&&n.push(r.removeItem(K.LOCATION_CACHE),r.removeItem(K.DEBUG_MODE),r.removeItem(K.APPEARANCE_MODE_KEY),r.removeItem(K.LOCATION_ENABLED),r.removeItem(K.STT_AUTO_SEND),r.removeItem(K.STT_IMPLEMENTATION),r.removeItem(K.SEND_DIAGNOSTICS),r.removeItem(K.ACTIVE_CONVERSATION_ID)),await Promise.all(n)}});const yr=fr.reducer,Or={lastResponseTime:null},Rr=d({name:"indicator",initialState:Or,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(f(mr,hr),()=>Or)}}),{setLastResponseTime:_r,clearLastResponseTime:Nr}=Rr.actions,Cr=Rr.reducer;function Dr(e,t){switch(e.kind){case"status_update":return t.setStatusText(e.statusText),t.setIsAgentWorking(!0),void t.onStatusActive?.(e.statusText);case"widget":return void t.pushWidget(e.widget,e.messageId);case"payment":return void t.onPayment(e.payment);case"sign_in":return void t.onSignIn?.(e.signIn);case"error":return void t.onError(e.error);case"text":return void t.appendStreamText(e.text,e.messageId);case"conversation_title":return void t.onConversationTitle?.(e.title);default:return}}const Mr={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"};function xr(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id}export{G as API_ENDPOINTS,Ft as APPEARANCE_MODES,St as APPEARANCE_MODE_VALUES,V as AUTH_ERROR_GROUPS,j as AUTH_HEADERS,X as AUTH_PATHS,Xt as BORDER_STYLES,Ve as BRIDGE_TOAST_EVENT_NAME,Kt as BrandingContext,zt as CORNER_RADIUS_MODES,Y as DEVICE_TOKEN_HEADER,e as DIRECTION_VECTORS,jt as EventEmitter,U as FEATURE_FLAGS,mt as FONT_ROLES,ht as FONT_WEIGHT_SLOTS,It as GENERIC_STACKS,Xe as IDP_HINTS,Mr as INDICATOR_TIMER_ACTIONS,yt as LANG_DEFAULT_SCRIPT,Et as LOGO_ALIGNMENTS,pe as LOG_LEVELS,lr as NetworkContext,Tt as ORB_POSITIONS,k as ORG_MOUNT_SUFFIX,Z as PASSWORD_LIMITS,z as PATTERNS,J as PROFILE_LIMITS,ut as SCRIPTS,lt as SCRIPT_RANGES,K as STORAGE_KEYS,$ as STT_IMPLEMENTATIONS,or as StorageContext,t as TEXT_DIRECTION,H as TIMING,Ye as USER_TYPES,sr as brandingToThemeStyles,Gt as buildFontFaceCss,vt as buildFontStack,bt as buildFullFontStack,te as capitalizeFirst,Nr as clearLastResponseTime,it as clearPreviousTenant,mr as clearSession,Ue as createTokenRefresher,Qt as defaultChatThemeStyles,Jt as defaultDarkThemeStyles,Ge as defaultIsTransient,Zt as defaultLightThemeStyles,at as detectOrgSwitch,pt as detectScripts,r as detectTextDirection,Qe as ensureFreshToken,Vt as eventEmitter,st as extractTokens,ce as formatCVC,re as formatCamelCaseToTitle,ne as formatCardNumber,ie as formatExpiryDate,rt as formatTimeRemaining,ee as formatTimestamp,Q as generateUniqueId,L as getApiUrl,W as getAppearanceModeStorageKey,le as getArrayOfObjects,y as getBaseUrl,R as getCustomHeaders,qt as getDefaultThemeStyles,fe as getErrorMessage,de as getInitials,xr as getPaymentId,O as getPaymentProviderHint,Le as getSendDiagnostics,ur as getStorageRef,et as getTimeUntilExpiry,tt as getTimeUntilRefresh,N as getTokenRefreshHandler,Dr as handleSharedEvent,ge as hasWidgets,nr as hexToRgba,we as hydrateAppBoot,Ar as hydrateSession,Cr as indicatorReducer,Be as initLogger,I as initializeChatConfig,w as isDevMode,ze as isGuest,ue as isSixDigitCode,qe as isTokenAboutToExpire,Ze as isTokenExpired,Je as isVerificationRequired,P as joinOrgMountBase,Ie as logger,Tr as logout,Dt as normalizeTypography,nt as parseJwtPayload,ot as parseOrgFromJwt,Mt as quoteFamily,D as readAccessToken,x as readDeviceToken,v as readTokenExpiresAt,Yt as registerEventListener,Se as registerLoggerContextProvider,Fe as registerLoggerSink,se as removeSpecialCharsAndSpaces,Te as resetLoggerForTests,s as resolveDirectionFromLang,Bt as resolveFontFamily,ae as sanitizeExpiryDate,hr as sessionExpired,Ir as sessionListenerMiddleware,yr as sessionReducer,C as setAccessTokenReader,Sr as setCredentials,M as setDeviceTokenReader,b as setIsDev,_r as setLastResponseTime,cr as setModuleStorage,xe as setNetworkLoggingEnabled,Fr as setSelectedOrgId,pr as setSession,B as setTokenExpiresAtReader,_ as setTokenRefreshHandler,We as showErrorToast,je as showSuccessToast,$e as showToast,q as truncateWordLimit,Er as updateUser,$t as useBranding,n as useMessageDirection,o as useMessageDirections,Wt as useMessageFontStack,gr as useNetworkState,ar as useStorage,oe as validateExpiryDate,Ht as warnUnknownFamilies,ct as writeOrgToStorage};
1
+ import{D as e,T as t,d as r,r as s,u as n,a as o}from"./textDirection-CmyE93hC.js";import{createContext as a,useContext as i,useMemo as c,useCallback as u,useSyncExternalStore as l}from"react";import{createSlice as d,createListenerMiddleware as g,isAnyOf as f}from"@reduxjs/toolkit";let p,E="",m={},h=null,F=()=>null,S=()=>null,T=()=>null,A=!1;const I=e=>{E=e.baseUrl,m=e.customHeaders||{},p=e.paymentProvider},y=()=>E,O=()=>p,R=()=>m,_=e=>{h=e},N=()=>h,C=e=>{F=e},D=()=>F(),M=e=>{S=e},x=()=>S(),B=e=>{T=e},v=()=>T(),b=e=>{A=e},w=()=>A,L=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${E}/api${t}`},k="chat",P=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${k}`:`${e}/${k}`,G={CONVERSATIONS:()=>L("/conversations"),CONVERSATION_STREAM:e=>L(`/conversations/${e}`),CONVERSATION_START:e=>L(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>L(`/conversations/${e}/transcribe`),DOCUMENTS:()=>L("/documents"),DOCUMENT:e=>L(`/documents/${encodeURIComponent(e)}`),WEBRTC_OFFER:e=>L(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>L(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return L("/transcribe")},get BRANDING(){return L("/branding")},get CONFIG(){return L("/config")},get PROFILE(){return L("/profile")},get AUTH_ME(){return L("/auth/me")},get CHANGE_PASSWORD(){return L("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return L("/organizations/exists")},get DEBUG(){return L("/debug")},get TOOL_SERVERS(){return L("/tool-servers")},TOOL_SERVER_AUTH_START:e=>L(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>L(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return L("/tool-servers/auth/exchange")},get LOG(){return L("/log")}},U={SSO:"sso"},H={TOKEN_REFRESH_THRESHOLD_MS:6e5,TOKEN_CLOCK_SKEW_MS:3e4,TOKEN_DEFAULT_EXPIRY_MS:36e5,THINKING_STATE_TIMEOUT_MS:600,MESSAGE_WARNING_TIMEOUT_MS:1e4,TOAST_DURATION_MS:5e3,TOAST_ERROR_DURATION_MS:7e3,INPUT_DEBOUNCE_MS:300,SEARCH_DEBOUNCE_MS:500,CONFIG_TIMEOUT_MS:5e3},K={ACCESS_TOKEN:"accessToken",REFRESH_TOKEN:"refreshToken",TOKEN_EXPIRES_AT:"tokenExpiresAt",USER:"user",SELECTED_ORG_ID:"selectedOrgId",SELECTED_ORG_NAME:"selectedOrgName",APPEARANCE_MODE_KEY:"1interface_appearance_mode",LOCATION_ENABLED:"1interface_location_enabled",LOCATION_CACHE:"1interface_cached_location",DEBUG_MODE:"1interface_debug_mode",STT_AUTO_SEND:"1interface_stt_auto_send",STT_IMPLEMENTATION:"1interface_stt_implementation",SEND_DIAGNOSTICS:"1interface_send_diagnostics",ACTIVE_CONVERSATION_ID:"1interface_active_conversation_id"},$={ONLINE:"online",DEVICE:"device"},W=e=>e?`${K.APPEARANCE_MODE_KEY}:${e}`:K.APPEARANCE_MODE_KEY,j={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"},V={EMAIL_NOT_VERIFIED:"EmailNotVerified"},Y="x-device-token",X={LOGIN:"/auth/login",SIGNUP:"/auth/signup",GUEST:"/auth/guest",LOGOUT:"/auth/logout",REFRESH:"/auth/refresh",FORGOT_PASSWORD:"/auth/forgot-password",RESET_PASSWORD:"/auth/reset-password",VERIFY_EMAIL:"/auth/verify-email",VERIFY_EMAIL_RESEND:"/auth/verify-email/resend",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},z={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/,SIX_DIGIT_CODE:/^\d{6}$/},J={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},Z={MIN_LENGTH:8,MAX_LENGTH:128},q=(e,t)=>{if(!e)return"";const r=e.split(" ");return r.length>t?r.slice(0,t).join(" "):e},Q=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),ee=(e,t=new Date)=>{if(!e)return"";const r=new Date(e);if(isNaN(r.getTime()))return"";const s=t.getTime()-r.getTime(),n=Math.floor(s/6e4),o=Math.floor(s/36e5),a=Math.floor(s/864e5);return n<1?"Just now":n<60?`${n}m ago`:o<24?`${o}h ago`:a<7?`${a}d ago`:new Intl.DateTimeFormat("en-GB",{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(r)},te=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",re=e=>e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^(.)/,e=>e.toUpperCase()).split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim():"",se=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",ne=e=>e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim(),oe=e=>{const t=e.match(/^(\d{2})\/(\d{2})$/);if(!t)return!1;const r=Number(t[1]),s=Number(t[2]);if(r<1||r>12)return!1;const n=new Date,o=n.getFullYear()%100,a=n.getMonth()+1;return!(s<o||s===o&&r<a||r>12)},ae=e=>{if(!e)return"";if(!oe(e)){const t=e.match(/^(\d{2})\/(\d{2})$/);if(t){const e=Number(t[1]),r=Number(t[2]),s=new Date,n=s.getFullYear()%100,o=s.getMonth()+1;if(r<n||r===n&&e<o||e>12)return""}}return e},ie=e=>{const t=e.replace(/\D/g,"").slice(0,4);if(4===t.length){const e=t.slice(0,2)+"/"+t.slice(2);return ae(e)}return t.length>=3?`${t.slice(0,2)}/${t.slice(2)}`:t.length>=1?t:""},ce=e=>e.replace(/\D/g,"").slice(0,4),ue=e=>z.SIX_DIGIT_CODE.test(e);function le(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e}const de=(e,t)=>{if(e&&e.trim()){const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.trim().slice(0,2).toUpperCase()}return t&&t.trim()?t.trim().slice(0,2).toUpperCase():"U"},ge=e=>Array.isArray(e.widget)&&e.widget.length>0;function fe(e,t="An unexpected error occurred."){if(e&&"object"==typeof e){if("message"in e&&"string"==typeof e.message)return e.message;if("data"in e){const t=e.data;if(t&&"object"==typeof t&&"message"in t&&"string"==typeof t.message)return t.message}}return t}const pe={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let Ee=null,me=null;const he=[];function Fe(e){if(Ee=e,he.length>0){const t=he.splice(0,he.length);for(const r of t)e.emit(r)}}function Se(e){me=e}async function Te(){Ee=null,me=null,he.length=0,(await Promise.resolve().then(()=>ve)).resetInitLoggerStateForTests()}function Ae(e,t){const r=me?function(e){try{return e()??{}}catch{return{}}}(me):{},{message:s,...n}=t,o={...r,...n,level:e,message:s,timestamp:(new Date).toISOString()};Ee?Ee.emit(o):(he.length>=200&&he.shift(),he.push(o))}const Ie={debug(e){Ae(pe.DEBUG,e)},info(e){Ae(pe.INFO,e)},warn(e){Ae(pe.WARN,e)},error(e){Ae(pe.ERROR,e)},flush:()=>Ee?.flush?.()},ye={[pe.DEBUG]:0,[pe.INFO]:1,[pe.WARN]:2,[pe.ERROR]:3};function Oe(e={}){const t=ye[e.minLevel??pe.DEBUG];return{emit(e){ye[e.level]<t||(e.level===pe.ERROR?console.error:e.level===pe.WARN?console.warn:e.level===pe.DEBUG?console.debug:console.info)(e)}}}const Re={[pe.DEBUG]:5,[pe.INFO]:9,[pe.WARN]:13,[pe.ERROR]:17};function _e(e){if(null===e)return"null";const t=typeof e;if("string"===t||"number"===t||"boolean"===t)return e;if(e instanceof Error)return JSON.stringify({name:e.name,message:e.message,stack:e.stack});try{return JSON.stringify(e)}catch{return String(e)}}function Ne(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=_e(s));return t}let Ce=!1,De=null,Me=!0;function xe(e){Me=e}function Be(e){Ce||(Ce=!0,Se(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),Fe(function(e){const t=[Oe({minLevel:e.consoleMinLevel??(e.isDev?pe.DEBUG:pe.WARN)})];if(e.otlpEndpoint&&!e.isDev){const r="otel"===(e.logTransport??"otel")?function(e){let t=!1,r=null,s=null;const n=[];function o(){s||(s=async function(){const[t,s,o,a]=await Promise.all([import("@opentelemetry/api-logs"),import("@opentelemetry/sdk-logs"),import("@opentelemetry/exporter-logs-otlp-http"),import("@opentelemetry/resources")]),i=a.resourceFromAttributes(e.resourceAttrs),c=new o.OTLPLogExporter({url:e.endpoint}),u=new s.LoggerProvider({resource:i,processors:[new s.BatchLogRecordProcessor(c)]});t.logs.setGlobalLoggerProvider(u);const l=t.logs.getLogger(e.resourceAttrs["service.name"]??"app");if(r={emit(e){const{level:t,message:r,timestamp:s,...n}=e;l.emit({severityNumber:Re[t],severityText:t,body:JSON.stringify(e),attributes:Ne(n),timestamp:new Date(s)})},async flush(){await u.forceFlush()}},n.length>0){const e=n.splice(0,n.length);for(const t of e)r.emit(t)}}().catch(()=>{n.length=0,r=null,t=!0}))}return{emit(e){t||(r?r.emit(e):(o(),n.length>=200&&n.shift(),n.push(e)))},async flush(){(s||r)&&(o(),await s,r&&await r.flush())}}}({endpoint:e.otlpEndpoint,resourceAttrs:{"service.name":e.appName,"service.version":e.appVersion,"deployment.environment":e.environment}}):function(e){const t=e.maxBatchSize??50,r=e.scheduledDelayMs??5e3,s=e.maxQueueSize??2048,n=e.wrapBatch??(e=>e),o=[];let a=null;function i(){return null!==a&&(clearTimeout(a),a=null),0===o.length||0===(t=o.splice(0,o.length)).length?Promise.resolve():fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n(t)),keepalive:!0}).then(()=>{}).catch(()=>{});var t}return{emit(e){o.length>=s&&o.shift(),o.push(e),o.length>=t?i():null===a&&(a=setTimeout(()=>{a=null,i()},r))},async flush(){await i()}}}({endpoint:e.otlpEndpoint});t.push({emit(e){Me&&r.emit(e)},flush:r.flush.bind(r)})}return e.extraSinks?.length&&t.push(...e.extraSinks),1===t.length?t[0]:function(e){return{emit(t){for(const r of e)try{r.emit(t)}catch{}},async flush(){await Promise.all(e.map(e=>e.flush?Promise.resolve(e.flush()).catch(()=>{}):Promise.resolve()))}}}(t)}(e)),!1!==e.flushOnAppHide&&De?.())}const ve=Object.freeze(Object.defineProperty({__proto__:null,initLogger:Be,registerPlatformFlushAttacher:function(e){De=e},resetInitLoggerStateForTests:function(){Ce=!1,De=null,Me=!0},setNetworkLoggingEnabled:xe},Symbol.toStringTag,{value:"Module"}));let be=!0;const we=async e=>{const t=await e.getItem(K.SEND_DIAGNOSTICS);be=null===t||"true"===t},Le=()=>be,ke=3,Pe=500,Ge=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(Ie.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))};function Ue(e){const{performRefresh:t,isTransient:r=Ge,maxAttempts:s=ke,backoffBaseMs:n=Pe}=e;let o=null;return function(){return o||(o=(async()=>{for(let e=0;e<s;e++)try{return await t()}catch(t){if(!r(t))return null;if(e===s-1)break;const o=n*2**e+250*Math.random();await new Promise(e=>setTimeout(e,o))}return null})().finally(()=>{o=null}),o)}}const He="bridge-toast";function Ke(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(He,{detail:e}))}const $e=e=>Ke(e),We=(e="Please try again")=>Ke({title:"Error",description:e,variant:"destructive"}),je=(e="Successfully")=>Ke({title:"Success",description:e,variant:"default"}),Ve=He,Ye={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},Xe={NO_TOKEN:"no_token",TOKEN_EXPIRED:"token_expired",TOKEN_REJECTED:"token_rejected"},ze={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"};function Je(e){return e?.type===Ye.GUEST_USER}function Ze(e){return!0===e?.verification_required}const qe=e=>!!e&&Date.now()>=e-H.TOKEN_CLOCK_SKEW_MS,Qe=e=>!e||Date.now()>=e-H.TOKEN_REFRESH_THRESHOLD_MS,et=async()=>Qe(v())?await(N()?.())??null:null,tt=e=>e?Math.max(0,e-Date.now()):0,rt=e=>e?Math.max(0,e-H.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,st=e=>{const t=Math.floor(e/6e4),r=Math.floor(e%6e4/1e3);return t>0?`${t}m ${r}s`:`${r}s`};function nt(e){const t=e.headers.get(j.ACCESS_TOKEN),r=e.headers.get(j.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${j.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${j.REFRESH_TOKEN} header in response`);return{accessToken:t,refreshToken:r}}function ot(e){if(!e)return null;const t=e.split(".");if(3!==t.length)return null;try{const e=t[1].replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),s=atob(r),n=JSON.parse(s);return n&&"object"==typeof n&&!Array.isArray(n)?n:null}catch{return null}}function at(e){const t=ot(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}function it(e,t){try{const r=t.getItem(K.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=at(t.getItem(K.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}}function ct(e){!function(e){try{e.removeItem(K.ACCESS_TOKEN),e.removeItem(K.REFRESH_TOKEN),e.removeItem(K.TOKEN_EXPIRES_AT),e.removeItem(K.USER)}catch{}}(e),function(e){try{e.removeItem(K.ACTIVE_CONVERSATION_ID)}catch{}}(e)}function ut(e,t){try{t.setItem(K.SELECTED_ORG_ID,e),t.setItem(K.SELECTED_ORG_NAME,e)}catch{}}const lt={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},dt={Latn:[[65,90],[97,122],[170,170],[186,186],[192,214],[216,246],[248,591],[592,687],[7680,7935],[11360,11391],[42786,42887],[42891,42957],[42960,42961],[42963,42963],[42965,42972],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370]],Arab:[[1568,1599],[1601,1610],[1646,1647],[1649,1747],[1749,1749],[1765,1766],[1774,1775],[1786,1788],[1791,1791],[1872,1919],[2208,2249],[2160,2183],[2185,2190],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276]],Hebr:[[1488,1514],[1519,1522],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64335]],Cyrl:[[1024,1153],[1162,1327],[7296,7306],[42560,42606],[42623,42653]],Grek:[[880,883],[886,887],[890,893],[895,895],[902,902],[904,906],[908,908],[910,929],[931,993],[1008,1013],[1015,1023],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],[8025,8025],[8027,8027],[8029,8029],[8031,8061],[8064,8116],[8118,8124],[8126,8126],[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188]],Deva:[[2308,2361],[2365,2365],[2384,2384],[2392,2401],[2417,2431]],Thai:[[3585,3632],[3634,3635],[3648,3654]],Hani:[[12293,12293],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456]],Kana:[[12353,12438],[12445,12447],[12449,12538],[12541,12543],[12784,12799],[65382,65391],[65393,65437]],Kore:[[4352,4607],[12593,12686],[43360,43388],[44032,55203],[55216,55238],[55243,55291]]},gt=[lt.LATIN,lt.ARABIC,lt.HEBREW,lt.CYRILLIC,lt.GREEK,lt.DEVANAGARI,lt.THAI,lt.HAN,lt.HIRAGANA_KATAKANA,lt.HANGUL],ft=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function pt(e){for(const t of gt)for(const[r,s]of dt[t])if(e>=r&&e<=s)return t;return null}function Et(e){const t=(e??"").replace(ft," "),r=new Set,s=[];for(const e of t){const t=pt(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const mt={TOP_LEADING:"topLeading",TOP:"top",TOP_TRAILING:"topTrailing",LEADING:"leading",CENTER:"center",TRAILING:"trailing",BOTTOM_LEADING:"bottomLeading",BOTTOM:"bottom",BOTTOM_TRAILING:"bottomTrailing"},ht={DEFAULT:"default",HEADING:"heading",MONO:"mono"},Ft={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},St={LIGHT:"light",DARK:"dark",SYSTEM:"system"},Tt=[St.LIGHT,St.DARK,St.SYSTEM],At={FOREGROUND:"foreground",BACKGROUND:"background"},It="default",yt={[ht.DEFAULT]:"system-ui, -apple-system, sans-serif",[ht.HEADING]:"system-ui, -apple-system, sans-serif",[ht.MONO]:"ui-monospace, monospace"},Ot={ar:lt.ARABIC,fa:lt.ARABIC,ur:lt.ARABIC,he:lt.HEBREW,yi:lt.HEBREW,ru:lt.CYRILLIC,bg:lt.CYRILLIC,sr:lt.CYRILLIC,uk:lt.CYRILLIC,mk:lt.CYRILLIC,be:lt.CYRILLIC,kk:lt.CYRILLIC,el:lt.GREEK,hi:lt.DEVANAGARI,mr:lt.DEVANAGARI,ne:lt.DEVANAGARI,th:lt.THAI,zh:lt.HAN,ja:lt.HIRAGANA_KATAKANA,ko:lt.HANGUL},Rt=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),_t=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),Nt=new Set(Object.values(lt)),Ct=Object.values(lt);function Dt(e){const t=e.split(/[-_]/);for(const e of t.slice(1)){if(1===e.length)break;const t=e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();if(Nt.has(t))return t}const r=t[0]?.toLowerCase()??"";if(Ot[r])return Ot[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&Nt.has(t))return t}catch{}return lt.LATIN}function Mt(e,t){const r={...e?.families??{}},s=e?.locales;let n;if(s)n={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;n={[It]:{[ht.DEFAULT]:r??t.default,[ht.HEADING]:r??t.heading??t.default,[ht.MONO]:s??t.mono}}}const o=n[It]??{};n[It]={[ht.DEFAULT]:o.default??t.default,[ht.HEADING]:o.heading??t.heading??t.default,[ht.MONO]:o.mono??t.mono??t.default};const a=function(){const e={};for(const t of Ct)e[t]=[];return e}();for(const e of Object.keys(n))e!==It&&a[Dt(e)].push(e);return{locales:n,families:r,scriptIndex:a}}function xt(e){const t=e.trim();return t?Rt.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function Bt(e,t){return e?.[t]}function vt(e,t,r={}){const{language:s,script:n}=r;if(s){const r=Bt(e.locales[s],t);if(r)return r}const o=n??(s?Dt(s):void 0);if(o)for(const r of e.scriptIndex[o]){const s=Bt(e.locales[r],t);if(s)return s}return Bt(e.locales[It],t)??e.locales[It].default??""}function bt(e,t,r){const s=[],n=new Set,o=e=>{e&&(n.has(e)||(n.add(e),s.push(e)))};for(const s of r)for(const r of e.scriptIndex[s])o(Bt(e.locales[r],t));o(Bt(e.locales[It],t)??e.locales[It].default);const a=s.map(xt);return a.length?`${a.join(", ")}, ${yt[t]}`:yt[t]}function wt(e,t){return bt(e,t,Object.keys(e.scriptIndex))}const Lt={[Ft.REGULAR]:400,[Ft.MEDIUM]:500,[Ft.SEMIBOLD]:600,[Ft.BOLD]:700};function kt(e){const t=function(e){const t=e.split(/[?#]/)[0].toLowerCase();return t.endsWith(".woff2")?"woff2":t.endsWith(".woff")?"woff":t.endsWith(".ttf")?"truetype":t.endsWith(".otf")?"opentype":void 0}(e);return t?`src: url("${e}") format("${t}");`:`src: url("${e}");`}function Pt(e){const t=[];for(const r of Ct)if(e.has(r))for(const[e,s]of dt[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function Gt(e,t,r,s){const n=["@font-face {",` font-family: ${xt(e)};`,` ${kt(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&n.push(` unicode-range: ${s};`),n.push("}"),n.join("\n")}function Ut(e){const t=function(e){const t=new Map;for(const r of Ct)for(const s of e.scriptIndex[r])for(const n of Object.values(ht)){const o=e.locales[s]?.[n];o&&(t.has(o)||t.set(o,new Set),t.get(o).add(r))}return t}(e),r=new Set(Object.values(ht).map(t=>e.locales[It]?.[t]).filter(e=>Boolean(e))),s=[];for(const[n,o]of Object.entries(e.families)){const e=r.has(n)?void 0:t.get(n),a=e?Pt(e):"";if(o.variable)s.push(Gt(n,"100 900",o.variable,a));else for(const e of Object.values(Ft)){const t=o[e];t&&s.push(Gt(n,String(Lt[e]),t,a))}}return s.join("\n\n")}const Ht=new WeakSet;function Kt(e,t){if(Ht.has(e))return;Ht.add(e);const r=new Set;for(const s of Object.values(e.locales))for(const n of Object.values(s))n&&!r.has(n)&&(r.add(n),e.families[n]||_t.has(n)||t.warn({message:`Typography family "${n}" has no families entry and is not a known system font; falling back to the generic stack.`,font_family:n}))}const $t=a(void 0);function Wt(){const e=i($t);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}function jt(e,t){const{themeStyles:r}=Wt(),s=r.typography,n=c(()=>{if(t){const e=t.split(/[-_]/)[0].toLowerCase(),r=Ot[e];if(r)return[r]}return Et(e)},[e,t]);return c(()=>bt(s,ht.DEFAULT,n),[s,n])}class Vt{static instance;events={};constructor(){}static getInstance(){return Vt.instance||(Vt.instance=new Vt),Vt.instance}on(e,t,r){const s="function"==typeof t?t:r;return this.events[e]||(this.events[e]=[]),this.events[e].push(s),()=>{this.off(e,s)}}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(e=>e!==t))}emit(e,t){this.events[e]&&this.events[e].forEach(r=>{try{r(t)}catch(t){Ie.error({message:`Error in event handler for "${e}"`,api_name:"event-emitter",event:e,error_message:t instanceof Error?t.message:String(t)})}})}clear(e){e?delete this.events[e]:this.events={}}}const Yt=Vt.getInstance();function Xt(e,t){return Yt.on(e,t)}const zt={NONE:"none",SOLID:"solid",DASHED:"dashed",DOTTED:"dotted"},Jt={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},Zt={bgColor:"linear-gradient(281.8deg, #061522 6.7%, #101F2F 59.64%, #3C3B4F 76.85%, #5D4C63 88.46%, #755770 99.24%)",inputBgColor:"#222D34",sidebarBg:"#0F1419",sidebarBorderColor:"#8F8F8F",widgetBg:"#222D34",settingsGroupBg:"#272626",inputBorderStyle:"solid",inputBorderColor:"#FFFFFF80",inputBorderWidth:"1px",inputBorderOpacity:50,widgetBorderStyle:"solid",widgetBorderColor:"#FFFFFF1A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#8F8F8F",primaryText:"#FFFFFF",secondaryText:"#AFAFAF",tertiaryText:"#8F8F8F",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#FFFFFFFF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#FFFFFF",sideMenuText:"#AFAFAF",sideMenuIcon:"#8F8F8F",sideMenuProfile:"#FFFFFF",screenMaskingColor:"#000000",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#222D34",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Mt(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Jt.PILL,chatInputPlaceholder:"Type anything..."},qt={bgColor:"linear-gradient(281.8deg, #EEF2FF 6.7%, #E2E8FD 59.64%, #E8DFF4 76.85%, #F4DBE6 88.46%, #FFE1D0 99.24%)",inputBgColor:"#F4F4F5",sidebarBg:"#FFFFFF",sidebarBorderColor:"#9B9B9B",widgetBg:"#FFFFFF",settingsGroupBg:"#1A1A1A10",inputBorderStyle:"solid",inputBorderColor:"#0000001A",inputBorderWidth:"1px",inputBorderOpacity:10,widgetBorderStyle:"solid",widgetBorderColor:"#0000001A",widgetBorderWidth:"1px",widgetBorderOpacity:10,placeholderColor:"#9B9B9B",primaryText:"#1A1A1A",secondaryText:"#6B6B6B",tertiaryText:"#9B9B9B",userMsgBg:"#90629F",userMsgText:"#FFFFFF",userMsgBorderStyle:"none",userMsgBorderColor:"#000000FF",userMsgBorderWidth:"1px",userMsgBorderOpacity:100,sideMenuHeadings:"#1A1A1A",sideMenuText:"#6B6B6B",sideMenuIcon:"#9B9B9B",sideMenuProfile:"#1A1A1A",screenMaskingColor:"#FFFFFF",statusPrimary:{solid:"#90629F",background:"#90629F",text:"#FFFFFF"},statusSecondary:{solid:"#5D5D5D",background:"#F3F3F3",text:"#0D0D0D"},statusSuccess:{solid:"#00A240",background:"#D9F4E4",text:"#FFFFFF"},statusDanger:{solid:"#E02E2A",background:"#FFD9D9",text:"#FFFFFF"},statusWarning:{solid:"#E25507",background:"#FFE7D9",text:"#FFFFFF"},statusInfo:{solid:"#0285FF",background:"#E5F3FF",text:"#FFFFFF"},statusDiscovery:{solid:"#924FF7",background:"#EFE5FE",text:"#FFFFFF"},switchCheckedColor:"#90629F",switchUncheckedColor:"#F4F4F5",fontFamily:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyHeading:"'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif",fontFamilyMono:'"SF Mono", ui-monospace, monospace',fontSize:14,typography:Mt(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Jt.PILL,chatInputPlaceholder:"Type anything..."};function Qt(e){return e===St.LIGHT?qt:Zt}const er=Zt;function tr(e,t){const r=e.replace("#","");let s;s=3===r.length?r.split("").map(e=>e+e).join(""):6===r.length?r:"000000";const n=Math.max(0,Math.min(100,t));return`#${s}${Math.round(n/100*255).toString(16).padStart(2,"0")}`.toUpperCase()}function rr(e,t){if(!e)return t.borderRadius;switch(e){case"none":return 0;case"sm":return 8;case"md":return 12;case"pill":return 16;default:const r=parseInt(e,10);return isNaN(r)?t.borderRadius:r}}function sr(e){switch(e){case"pill":return Jt.PILL;case"none":return Jt.SHARP;default:return 0===parseInt(e??"",10)?Jt.SHARP:Jt.ROUNDED}}function nr(e,t,r=St.DARK){const s=Qt(r);if(!e||!t)return s;const n=Mt(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});Kt(n,Ie);const o=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=t.surface?.agentMessage?.border,c=t.surface?.widget?.border;return{bgColor:t.surface?.chat?.background||s.bgColor,inputBgColor:t.surface?.chatInput?.background||t.surface?.input?.background||s.inputBgColor,sidebarBg:t.surface?.sideMenu?.background||s.sidebarBg,sidebarBorderColor:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sidebarBorderColor,widgetBg:t.surface?.widget?.background||s.widgetBg,settingsGroupBg:t.surface?.settings?.groupBackground||s.settingsGroupBg,screenMaskingColor:t.surface?.screenMasking||s.screenMaskingColor,inputBorderStyle:o?.style||s.inputBorderStyle,inputBorderColor:o?.color?tr(o.color,o.opacity||100):s.inputBorderColor,inputBorderWidth:o?.width||s.inputBorderWidth,inputBorderOpacity:o?.opacity||100,widgetBorderStyle:c?.style||s.widgetBorderStyle,widgetBorderColor:c?.color?tr(c.color,c.opacity||100):s.widgetBorderColor,widgetBorderWidth:c?.width||s.widgetBorderWidth,widgetBorderOpacity:c?.opacity??s.widgetBorderOpacity,placeholderColor:t.surface?.chatInput?.placeholderColor||t.surface?.input?.placeholderColor||s.placeholderColor,primaryText:t.text?.primary||s.primaryText,secondaryText:t.text?.secondary||s.secondaryText,tertiaryText:t.text?.tertiary||s.tertiaryText,userMsgBg:t.surface?.userMessage?.background||s.userMsgBg,userMsgText:t.surface?.userMessage?.textColor||s.userMsgText,userMsgBorderStyle:a?.style||s.userMsgBorderStyle,userMsgBorderColor:a?.color?tr(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,agentMsgBg:t.surface?.agentMessage?.background??void 0,agentMsgText:t.surface?.agentMessage?.textColor??void 0,agentMsgBorderStyle:i?.style,agentMsgBorderColor:i?.color?tr(i.color,i.opacity??100):void 0,agentMsgBorderWidth:i?.width,sideMenuHeadings:t.surface?.sideMenu?.headingsColor||t.surface?.sideMenu?.headings||s.sideMenuHeadings,sideMenuText:t.surface?.sideMenu?.textContentColor||t.surface?.sideMenu?.textContent||s.sideMenuText,sideMenuIcon:t.surface?.sideMenu?.iconColor||t.surface?.sideMenu?.icons||s.sideMenuIcon,sideMenuProfile:t.surface?.sideMenu?.profileTextColor||t.surface?.sideMenu?.textProfile||s.sideMenuProfile,statusPrimary:{solid:t.status?.primary?.solid||s.statusPrimary.solid,background:t.status?.primary?.background||s.statusPrimary.background,text:t.status?.primary?.text||s.statusPrimary.text},statusSecondary:{solid:t.status?.secondary?.solid||s.statusSecondary.solid,background:t.status?.secondary?.background||s.statusSecondary.background,text:t.status?.secondary?.text||s.statusSecondary.text},statusSuccess:{solid:t.status?.success?.solid||s.statusSuccess.solid,background:t.status?.success?.background||s.statusSuccess.background,text:t.status?.success?.text||s.statusSuccess.text},statusDanger:{solid:t.status?.danger?.solid||s.statusDanger.solid,background:t.status?.danger?.background||s.statusDanger.background,text:t.status?.danger?.text||s.statusDanger.text},statusWarning:{solid:t.status?.warning?.solid||s.statusWarning.solid,background:t.status?.warning?.background||s.statusWarning.background,text:t.status?.warning?.text||s.statusWarning.text},statusInfo:{solid:t.status?.info?.solid||s.statusInfo.solid,background:t.status?.info?.background||s.statusInfo.background,text:t.status?.info?.text||s.statusInfo.text},statusDiscovery:{solid:t.status?.discovery?.solid||s.statusDiscovery.solid,background:t.status?.discovery?.background||s.statusDiscovery.background,text:t.status?.discovery?.text||s.statusDiscovery.text},switchCheckedColor:t.status?.primary?.solid||s.switchCheckedColor,switchUncheckedColor:t.surface?.chatInput?.background||s.switchUncheckedColor,fontFamily:wt(n,ht.DEFAULT),fontFamilyHeading:wt(n,ht.HEADING),fontFamilyMono:wt(n,ht.MONO),fontSize:14,typography:n,borderRadius:rr(e.cornerRadius,s),cornerRadiusMode:sr(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}}function or(e,t){let r=e.trim().replace(/^#/,"");if(3!==r.length&&4!==r.length||(r=r.split("").map(e=>e+e).join("")),!/^[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/.test(r))return e;const s=parseInt(r.slice(0,2),16),n=parseInt(r.slice(2,4),16),o=parseInt(r.slice(4,6),16),a=8===r.length?parseInt(r.slice(6,8),16)/255:1;return`rgba(${s}, ${n}, ${o}, ${Math.round(a*t*1e3)/1e3})`}const ar=a(null),ir=()=>{const e=i(ar);if(!e)throw new Error("useStorage must be called inside a <StorageProvider>. Wrap your app's root with <StorageProvider value={browserLocalStorageAdapter}> (or an RN equivalent).");return e};let cr=null;function ur(e){cr=e}const lr=()=>cr,dr=a(null),gr={isConnected:!0,isInternetReachable:!0},fr=()=>{const e=i(dr),t=u(t=>e?e.subscribe(t):()=>{},[e]),r=u(()=>e?e.getState():gr,[e]);return l(t,r,r)},pr=d({name:"auth",initialState:{user:null,accessToken:null,refreshToken:null,tokenExpiresAt:null,selectedOrgId:null,isAuthenticated:!1,isLoading:!1},reducers:{setSession:(e,t)=>{const{user:r,accessToken:s,refreshToken:n,expiresIn:o}=t.payload;void 0!==r&&(e.user=r),void 0!==s&&(e.accessToken=s),void 0!==n&&(e.refreshToken=n),void 0!==o?e.tokenExpiresAt=null===o?null:1e3*o:s&&(e.tokenExpiresAt=Date.now()+H.TOKEN_DEFAULT_EXPIRY_MS),e.isAuthenticated=Boolean(e.accessToken),e.isLoading=!1},updateUser:(e,t)=>{e.user={...e.user||{},...t.payload}},clearSession:{reducer:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},prepare:e=>({payload:e??{}})},sessionExpired:e=>{e.user=null,e.accessToken=null,e.refreshToken=null,e.tokenExpiresAt=null,e.isAuthenticated=!1,e.isLoading=!1},setSelectedOrgId:(e,t)=>{e.selectedOrgId=t.payload??null}}}),{setSession:Er,updateUser:mr,clearSession:hr,sessionExpired:Fr,setSelectedOrgId:Sr}=pr.actions,Tr=Er,Ar=hr,Ir=e=>async t=>{const[r,s,n,o]=await Promise.all([e.getItem(K.ACCESS_TOKEN),e.getItem(K.REFRESH_TOKEN),e.getItem(K.TOKEN_EXPIRES_AT),e.getItem(K.USER)]),a=n?parseInt(n,10):null;if((!r||!a||qe(a))&&!s)return void(r&&await Promise.all([e.removeItem(K.ACCESS_TOKEN),e.removeItem(K.REFRESH_TOKEN),e.removeItem(K.TOKEN_EXPIRES_AT),e.removeItem(K.USER)]));let i=null;if(o)try{i=JSON.parse(o)}catch(e){Ie.error({message:"Failed to parse stored user during session hydration",component:"sessionSlice",error_message:e instanceof Error?e.message:String(e)})}t(Er({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))};let yr=!1;const Or=e=>{yr=e};let Rr=!1;const _r=e=>{Rr=e},Nr=g();Nr.startListening({matcher:f(Er,mr,hr,Fr),effect:async(e,t)=>{const r=lr();if(!r)return;const{auth:s}=t.getState(),n=[];if(n.push(s.accessToken?r.setItem(K.ACCESS_TOKEN,s.accessToken):r.removeItem(K.ACCESS_TOKEN)),n.push(s.refreshToken?r.setItem(K.REFRESH_TOKEN,s.refreshToken):r.removeItem(K.REFRESH_TOKEN)),n.push(null!=s.tokenExpiresAt?r.setItem(K.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(K.TOKEN_EXPIRES_AT)),n.push(s.user?r.setItem(K.USER,JSON.stringify(s.user)):r.removeItem(K.USER)),hr.match(e)||Fr.match(e)){n.push(r.removeItem(K.LOCATION_CACHE),r.removeItem(K.DEBUG_MODE),r.removeItem(K.LOCATION_ENABLED),r.removeItem(K.STT_AUTO_SEND),r.removeItem(K.STT_IMPLEMENTATION),r.removeItem(K.SEND_DIAGNOSTICS)),yr||n.push(r.removeItem(K.APPEARANCE_MODE_KEY));const t=hr.match(e)&&!0===e.payload?.isLogout;Rr&&!t||n.push(r.removeItem(K.ACTIVE_CONVERSATION_ID))}await Promise.all(n)}});const Cr=pr.reducer,Dr={lastResponseTime:null},Mr=d({name:"indicator",initialState:Dr,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(f(hr,Fr),()=>Dr)}}),{setLastResponseTime:xr,clearLastResponseTime:Br}=Mr.actions,vr=Mr.reducer;function br(e,t){switch(e.kind){case"status_update":return t.setStatusText(e.statusText),t.setIsAgentWorking(!0),void t.onStatusActive?.(e.statusText);case"widget":return void t.pushWidget(e.widget,e.messageId);case"payment":return void t.onPayment(e.payment);case"sign_in":return void t.onSignIn?.(e.signIn);case"error":return void t.onError(e.error);case"text":return void t.appendStreamText(e.text,e.messageId);case"conversation_title":return void t.onConversationTitle?.(e.title);default:return}}const wr={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"};function Lr(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id}export{G as API_ENDPOINTS,St as APPEARANCE_MODES,Tt as APPEARANCE_MODE_VALUES,V as AUTH_ERROR_GROUPS,j as AUTH_HEADERS,X as AUTH_PATHS,zt as BORDER_STYLES,Ve as BRIDGE_TOAST_EVENT_NAME,$t as BrandingContext,Jt as CORNER_RADIUS_MODES,Y as DEVICE_TOKEN_HEADER,e as DIRECTION_VECTORS,Vt as EventEmitter,U as FEATURE_FLAGS,ht as FONT_ROLES,Ft as FONT_WEIGHT_SLOTS,yt as GENERIC_STACKS,ze as IDP_HINTS,wr as INDICATOR_TIMER_ACTIONS,Xe as INHERITED_AUTH_ERROR_REASONS,Ot as LANG_DEFAULT_SCRIPT,mt as LOGO_ALIGNMENTS,pe as LOG_LEVELS,dr as NetworkContext,At as ORB_POSITIONS,k as ORG_MOUNT_SUFFIX,Z as PASSWORD_LIMITS,z as PATTERNS,J as PROFILE_LIMITS,lt as SCRIPTS,dt as SCRIPT_RANGES,K as STORAGE_KEYS,$ as STT_IMPLEMENTATIONS,ar as StorageContext,t as TEXT_DIRECTION,H as TIMING,Ye as USER_TYPES,nr as brandingToThemeStyles,Ut as buildFontFaceCss,bt as buildFontStack,wt as buildFullFontStack,te as capitalizeFirst,Br as clearLastResponseTime,ct as clearPreviousTenant,hr as clearSession,Ue as createTokenRefresher,er as defaultChatThemeStyles,Zt as defaultDarkThemeStyles,Ge as defaultIsTransient,qt as defaultLightThemeStyles,it as detectOrgSwitch,Et as detectScripts,r as detectTextDirection,et as ensureFreshToken,Yt as eventEmitter,nt as extractTokens,ce as formatCVC,re as formatCamelCaseToTitle,ne as formatCardNumber,ie as formatExpiryDate,st as formatTimeRemaining,ee as formatTimestamp,Q as generateUniqueId,L as getApiUrl,W as getAppearanceModeStorageKey,le as getArrayOfObjects,y as getBaseUrl,R as getCustomHeaders,Qt as getDefaultThemeStyles,fe as getErrorMessage,de as getInitials,Lr as getPaymentId,O as getPaymentProviderHint,Le as getSendDiagnostics,lr as getStorageRef,tt as getTimeUntilExpiry,rt as getTimeUntilRefresh,N as getTokenRefreshHandler,br as handleSharedEvent,ge as hasWidgets,or as hexToRgba,we as hydrateAppBoot,Ir as hydrateSession,vr as indicatorReducer,Be as initLogger,I as initializeChatConfig,w as isDevMode,Je as isGuest,ue as isSixDigitCode,Qe as isTokenAboutToExpire,qe as isTokenExpired,Ze as isVerificationRequired,P as joinOrgMountBase,Ie as logger,Ar as logout,Mt as normalizeTypography,ot as parseJwtPayload,at as parseOrgFromJwt,xt as quoteFamily,D as readAccessToken,x as readDeviceToken,v as readTokenExpiresAt,Xt as registerEventListener,Se as registerLoggerContextProvider,Fe as registerLoggerSink,se as removeSpecialCharsAndSpaces,Te as resetLoggerForTests,s as resolveDirectionFromLang,vt as resolveFontFamily,ae as sanitizeExpiryDate,Fr as sessionExpired,Nr as sessionListenerMiddleware,Cr as sessionReducer,C as setAccessTokenReader,Tr as setCredentials,M as setDeviceTokenReader,Or as setHostControlsAppearance,b as setIsDev,xr as setLastResponseTime,ur as setModuleStorage,xe as setNetworkLoggingEnabled,Sr as setSelectedOrgId,Er as setSession,_r as setSessionRecoveryActive,B as setTokenExpiresAtReader,_ as setTokenRefreshHandler,We as showErrorToast,je as showSuccessToast,$e as showToast,q as truncateWordLimit,mr as updateUser,Wt as useBranding,n as useMessageDirection,o as useMessageDirections,jt as useMessageFontStack,fr as useNetworkState,ir as useStorage,oe as validateExpiryDate,Kt as warnUnknownFamilies,ut as writeOrgToStorage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1interface/shared-core",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "license": "UNLICENSED",
5
5
  "type": "module",
6
6
  "sideEffects": false,