@1interface/shared-core 0.6.0 → 0.8.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
@@ -14,6 +14,8 @@ export declare const API_ENDPOINTS: {
14
14
  CONVERSATION_STREAM: (conversationId: string) => string;
15
15
  CONVERSATION_START: (conversationId: string) => string;
16
16
  CONVERSATION_TRANSCRIBE: (conversationId: string) => string;
17
+ DOCUMENTS: () => string;
18
+ DOCUMENT: (documentId: string) => string;
17
19
  WEBRTC_OFFER: (conversationId: string) => string;
18
20
  WEBRTC_ICE: (conversationId: string) => string;
19
21
  readonly TRANSCRIBE: string;
@@ -57,6 +59,10 @@ export declare interface AppSettingConfig {
57
59
  mobile?: PlatformScreens;
58
60
  }
59
61
 
62
+ export declare const AUTH_ERROR_GROUPS: {
63
+ readonly EMAIL_NOT_VERIFIED: "EmailNotVerified";
64
+ };
65
+
60
66
  export declare const AUTH_HEADERS: {
61
67
  readonly ACCESS_TOKEN: "x-access-token";
62
68
  readonly REFRESH_TOKEN: "x-refresh-token";
@@ -70,6 +76,8 @@ export declare const AUTH_PATHS: {
70
76
  readonly REFRESH: "/auth/refresh";
71
77
  readonly FORGOT_PASSWORD: "/auth/forgot-password";
72
78
  readonly RESET_PASSWORD: "/auth/reset-password";
79
+ readonly VERIFY_EMAIL: "/auth/verify-email";
80
+ readonly VERIFY_EMAIL_RESEND: "/auth/verify-email/resend";
73
81
  readonly SSO_START: "/auth/sso/start";
74
82
  readonly SSO_EXCHANGE: "/auth/sso/exchange";
75
83
  readonly ORGANIZATIONS: "/organizations";
@@ -450,10 +458,14 @@ export declare const isDevMode: () => boolean;
450
458
 
451
459
  export declare function isGuest(user: UserResponse | null | undefined): boolean;
452
460
 
461
+ export declare const isSixDigitCode: (value: string) => boolean;
462
+
453
463
  export declare const isTokenAboutToExpire: (expiresAt: number | null) => boolean;
454
464
 
455
465
  export declare const isTokenExpired: (expiresAt: number | null) => boolean;
456
466
 
467
+ export declare function isVerificationRequired(data: SessionResponse | VerificationRequiredResult | null | undefined): data is VerificationRequiredResult;
468
+
457
469
  export declare const joinOrgMountBase: (host: string, orgId?: string | null) => string;
458
470
 
459
471
  export declare const LANG_DEFAULT_SCRIPT: Record<string, Script>;
@@ -630,6 +642,7 @@ export declare const PATTERNS: {
630
642
  readonly EMAIL: RegExp;
631
643
  readonly NON_DIGIT: RegExp;
632
644
  readonly PHONE_E164: RegExp;
645
+ readonly SIX_DIGIT_CODE: RegExp;
633
646
  };
634
647
 
635
648
  export declare type PaymentInitPayload = StripePaymentInit | MoyasarPaymentInit | ChargebeePaymentInit;
@@ -674,6 +687,10 @@ export declare function registerLoggerSink(sink: LogSink): void;
674
687
 
675
688
  export declare const removeSpecialCharsAndSpaces: (type: string) => string;
676
689
 
690
+ export declare interface ResendVerificationRequest {
691
+ email: string;
692
+ }
693
+
677
694
  export declare function resetLoggerForTests(): Promise<void>;
678
695
 
679
696
  export declare interface ResetPasswordRequest {
@@ -841,6 +858,11 @@ export declare interface SignInInitPayload {
841
858
  state: string;
842
859
  }
843
860
 
861
+ export declare interface SignupApiResult {
862
+ body: AppResponse<SessionResponse | VerificationRequiredResult>;
863
+ tokens?: AuthHeaderTokens;
864
+ }
865
+
844
866
  export declare interface SignupRequest {
845
867
  email: string;
846
868
  password: string;
@@ -1047,6 +1069,16 @@ export declare const useStorage: () => Storage_2;
1047
1069
 
1048
1070
  export declare const validateExpiryDate: (value: string) => boolean;
1049
1071
 
1072
+ export declare interface VerificationRequiredResult {
1073
+ verification_required: true;
1074
+ email: string;
1075
+ }
1076
+
1077
+ export declare interface VerifyEmailRequest {
1078
+ email: string;
1079
+ code: string;
1080
+ }
1081
+
1050
1082
  export declare function warnUnknownFamilies(t: ResolvedTypography, logger: FontLogger): void;
1051
1083
 
1052
1084
  export declare interface WidgetSurfaceColors {
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"),s=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)},o=e=>{if(!e)return"";if(!s(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},n={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let a=null,i=null;const c=[];function u(e){if(a=e,c.length>0){const t=c.splice(0,c.length);for(const r of t)e.emit(r)}}function l(e){i=e}function d(e,t){const r=i?function(e){try{return e()??{}}catch{return{}}}(i):{},{message:s,...o}=t,n={...r,...o,level:e,message:s,timestamp:(new Date).toISOString()};a?a.emit(n):(c.length>=200&&c.shift(),c.push(n))}const p={debug(e){d(n.DEBUG,e)},info(e){d(n.INFO,e)},warn(e){d(n.WARN,e)},error(e){d(n.ERROR,e)},flush:()=>a?.flush?.()},g={[n.DEBUG]:0,[n.INFO]:1,[n.WARN]:2,[n.ERROR]:3};function E(e={}){const t=g[e.minLevel??n.DEBUG];return{emit(e){g[e.level]<t||(e.level===n.ERROR?console.error:e.level===n.WARN?console.warn:e.level===n.DEBUG?console.debug:console.info)(e)}}}const f={[n.DEBUG]:5,[n.INFO]:9,[n.WARN]:13,[n.ERROR]:17};function m(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 T(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=m(s));return t}let S=!1,h=null,F=!0;function x(e){F=e}function A(e){S||(S=!0,l(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),u(function(e){const t=[E({minLevel:e.consoleMinLevel??(e.isDev?n.DEBUG:n.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:f[t],severityText:t,body:JSON.stringify(e),attributes:T(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){F&&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&&h?.())}const I=Object.freeze(Object.defineProperty({__proto__:null,initLogger:A,registerPlatformFlushAttacher:function(e){h=e},resetInitLoggerStateForTests:function(){S=!1,h=null,F=!0},setNetworkLoggingEnabled:x},Symbol.toStringTag,{value:"Module"}));let y,O="",R={},_=null,N=()=>null,C=()=>null,D=()=>null,M=!1;const L=()=>_,v=()=>D(),w=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${O}/api${t}`},B="chat",b={CONVERSATIONS:()=>w("/conversations"),CONVERSATION_STREAM:e=>w(`/conversations/${e}`),CONVERSATION_START:e=>w(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>w(`/conversations/${e}/transcribe`),WEBRTC_OFFER:e=>w(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>w(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return w("/transcribe")},get BRANDING(){return w("/branding")},get CONFIG(){return w("/config")},get PROFILE(){return w("/profile")},get AUTH_ME(){return w("/auth/me")},get CHANGE_PASSWORD(){return w("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return w("/organizations/exists")},get DEBUG(){return w("/debug")},get TOOL_SERVERS(){return w("/tool-servers")},TOOL_SERVER_AUTH_START:e=>w(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>w(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return w("/tool-servers/auth/exchange")},get LOG(){return w("/log")}},k={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},P={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"},G={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"};let U=!0;const H=3,K=500,$=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(p.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))},W="bridge-toast";function j(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(W,{detail:e}))}const V=W,Y={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},z=e=>!!e&&Date.now()>=e-k.TOKEN_CLOCK_SKEW_MS,X=e=>!e||Date.now()>=e-k.TOKEN_REFRESH_THRESHOLD_MS;function J(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 q(e){const t=J(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}const Z={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},Q={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]]},ee=[Z.LATIN,Z.ARABIC,Z.HEBREW,Z.CYRILLIC,Z.GREEK,Z.DEVANAGARI,Z.THAI,Z.HAN,Z.HIRAGANA_KATAKANA,Z.HANGUL],te=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function re(e){for(const t of ee)for(const[r,s]of Q[t])if(e>=r&&e<=s)return t;return null}function se(e){const t=(e??"").replace(te," "),r=new Set,s=[];for(const e of t){const t=re(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const oe={DEFAULT:"default",HEADING:"heading",MONO:"mono"},ne={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},ae={LIGHT:"light",DARK:"dark",SYSTEM:"system"},ie=[ae.LIGHT,ae.DARK,ae.SYSTEM],ce="default",ue={[oe.DEFAULT]:"system-ui, -apple-system, sans-serif",[oe.HEADING]:"system-ui, -apple-system, sans-serif",[oe.MONO]:"ui-monospace, monospace"},le={ar:Z.ARABIC,fa:Z.ARABIC,ur:Z.ARABIC,he:Z.HEBREW,yi:Z.HEBREW,ru:Z.CYRILLIC,bg:Z.CYRILLIC,sr:Z.CYRILLIC,uk:Z.CYRILLIC,mk:Z.CYRILLIC,be:Z.CYRILLIC,kk:Z.CYRILLIC,el:Z.GREEK,hi:Z.DEVANAGARI,mr:Z.DEVANAGARI,ne:Z.DEVANAGARI,th:Z.THAI,zh:Z.HAN,ja:Z.HIRAGANA_KATAKANA,ko:Z.HANGUL},de=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),pe=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),ge=new Set(Object.values(Z)),Ee=Object.values(Z);function fe(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(ge.has(t))return t}const r=t[0]?.toLowerCase()??"";if(le[r])return le[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&ge.has(t))return t}catch{}return Z.LATIN}function me(e,t){const r={...e?.families??{}},s=e?.locales;let o;if(s)o={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;o={[ce]:{[oe.DEFAULT]:r??t.default,[oe.HEADING]:r??t.heading??t.default,[oe.MONO]:s??t.mono}}}const n=o[ce]??{};o[ce]={[oe.DEFAULT]:n.default??t.default,[oe.HEADING]:n.heading??t.heading??t.default,[oe.MONO]:n.mono??t.mono??t.default};const a=function(){const e={};for(const t of Ee)e[t]=[];return e}();for(const e of Object.keys(o))e!==ce&&a[fe(e)].push(e);return{locales:o,families:r,scriptIndex:a}}function Te(e){const t=e.trim();return t?de.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function Se(e,t){return e?.[t]}function he(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(Se(e.locales[r],t));n(Se(e.locales[ce],t)??e.locales[ce].default);const a=s.map(Te);return a.length?`${a.join(", ")}, ${ue[t]}`:ue[t]}function Fe(e,t){return he(e,t,Object.keys(e.scriptIndex))}const xe={[ne.REGULAR]:400,[ne.MEDIUM]:500,[ne.SEMIBOLD]:600,[ne.BOLD]:700};function Ae(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 Ie(e){const t=[];for(const r of Ee)if(e.has(r))for(const[e,s]of Q[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function ye(e,t,r,s){const o=["@font-face {",` font-family: ${Te(e)};`,` ${Ae(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&o.push(` unicode-range: ${s};`),o.push("}"),o.join("\n")}const Oe=new WeakSet;function Re(e,t){if(Oe.has(e))return;Oe.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]||pe.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 _e=t.createContext(void 0);function Ne(){const e=t.useContext(_e);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}class Ce{static instance;events={};constructor(){}static getInstance(){return Ce.instance||(Ce.instance=new Ce),Ce.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){p.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 De=Ce.getInstance(),Me={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},Le={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:me(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Me.PILL,chatInputPlaceholder:"Type anything..."},ve={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:me(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Me.PILL,chatInputPlaceholder:"Type anything..."};function we(e){return e===ae.LIGHT?ve:Le}const Be=Le;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 ke(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 Pe(e){switch(e){case"pill":return Me.PILL;case"none":return Me.SHARP;default:return 0===parseInt(e??"",10)?Me.SHARP:Me.ROUNDED}}const Ge=t.createContext(null);let Ue=null;const He=()=>Ue,Ke=t.createContext(null),$e={isConnected:!0,isInternetReachable:!0},We=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()+k.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:Ve,clearSession:Ye,sessionExpired:ze,setSelectedOrgId:Xe}=We.actions,Je=je,qe=Ye,Ze=r.createListenerMiddleware();Ze.startListening({matcher:r.isAnyOf(je,Ve,Ye,ze),effect:async(e,t)=>{const r=He();if(!r)return;const{auth:s}=t.getState(),o=[];o.push(s.accessToken?r.setItem(P.ACCESS_TOKEN,s.accessToken):r.removeItem(P.ACCESS_TOKEN)),o.push(s.refreshToken?r.setItem(P.REFRESH_TOKEN,s.refreshToken):r.removeItem(P.REFRESH_TOKEN)),o.push(null!=s.tokenExpiresAt?r.setItem(P.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(P.TOKEN_EXPIRES_AT)),o.push(s.user?r.setItem(P.USER,JSON.stringify(s.user)):r.removeItem(P.USER)),(Ye.match(e)||ze.match(e))&&o.push(r.removeItem(P.LOCATION_CACHE),r.removeItem(P.DEBUG_MODE),r.removeItem(P.APPEARANCE_MODE_KEY),r.removeItem(P.LOCATION_ENABLED),r.removeItem(P.STT_AUTO_SEND),r.removeItem(P.STT_IMPLEMENTATION),r.removeItem(P.SEND_DIAGNOSTICS),r.removeItem(P.ACTIVE_CONVERSATION_ID)),await Promise.all(o)}});const Qe=We.reducer,et={lastResponseTime:null},tt=r.createSlice({name:"indicator",initialState:et,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(r.isAnyOf(Ye,ze),()=>et)}}),{setLastResponseTime:rt,clearLastResponseTime:st}=tt.actions,ot=tt.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=b,exports.APPEARANCE_MODES=ae,exports.APPEARANCE_MODE_VALUES=ie,exports.AUTH_HEADERS=G,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",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},exports.BRIDGE_TOAST_EVENT_NAME=V,exports.BrandingContext=_e,exports.CORNER_RADIUS_MODES=Me,exports.DEVICE_TOKEN_HEADER="x-device-token",exports.EventEmitter=Ce,exports.FEATURE_FLAGS={SSO:"sso"},exports.FONT_ROLES=oe,exports.FONT_WEIGHT_SLOTS=ne,exports.GENERIC_STACKS=ue,exports.IDP_HINTS={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"},exports.INDICATOR_TIMER_ACTIONS={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"},exports.LANG_DEFAULT_SCRIPT=le,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=n,exports.NetworkContext=Ke,exports.ORB_POSITIONS={FOREGROUND:"foreground",BACKGROUND:"background"},exports.ORG_MOUNT_SUFFIX=B,exports.PASSWORD_LIMITS={MIN_LENGTH:8,MAX_LENGTH:128},exports.PATTERNS={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/},exports.PROFILE_LIMITS={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},exports.SCRIPTS=Z,exports.SCRIPT_RANGES=Q,exports.STORAGE_KEYS=P,exports.STT_IMPLEMENTATIONS={ONLINE:"online",DEVICE:"device"},exports.StorageContext=Ge,exports.TIMING=k,exports.USER_TYPES=Y,exports.brandingToThemeStyles=function(e,t,r=ae.DARK){const s=we(r);if(!e||!t)return s;const o=me(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});Re(o,p);const n=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=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:i?.style||s.widgetBorderStyle,widgetBorderColor:i?.color?be(i.color,i.opacity||100):s.widgetBorderColor,widgetBorderWidth:i?.width||s.widgetBorderWidth,widgetBorderOpacity:i?.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,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:Fe(o,oe.DEFAULT),fontFamilyHeading:Fe(o,oe.HEADING),fontFamilyMono:Fe(o,oe.MONO),fontSize:14,typography:o,borderRadius:ke(e.cornerRadius,s),cornerRadiusMode:Pe(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}},exports.buildFontFaceCss=function(e){const t=function(e){const t=new Map;for(const r of Ee)for(const s of e.scriptIndex[r])for(const o of Object.values(oe)){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(oe).map(t=>e.locales[ce]?.[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?Ie(e):"";if(n.variable)s.push(ye(o,"100 900",n.variable,a));else for(const e of Object.values(ne)){const t=n[e];t&&s.push(ye(o,String(xe[e]),t,a))}}return s.join("\n\n")},exports.buildFontStack=he,exports.buildFullFontStack=Fe,exports.capitalizeFirst=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",exports.clearLastResponseTime=st,exports.clearPreviousTenant=function(e){!function(e){try{e.removeItem(P.ACCESS_TOKEN),e.removeItem(P.REFRESH_TOKEN),e.removeItem(P.TOKEN_EXPIRES_AT),e.removeItem(P.USER)}catch{}}(e),function(e){try{e.removeItem(P.ACTIVE_CONVERSATION_ID)}catch{}}(e)},exports.clearSession=Ye,exports.createTokenRefresher=function(e){const{performRefresh:t,isTransient:r=$,maxAttempts:s=H,backoffBaseMs:o=K}=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=Le,exports.defaultIsTransient=$,exports.defaultLightThemeStyles=ve,exports.detectOrgSwitch=function(e,t){try{const r=t.getItem(P.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=q(t.getItem(P.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}},exports.detectScripts=se,exports.ensureFreshToken=async()=>X(v())?await(L()?.())??null:null,exports.eventEmitter=De,exports.extractTokens=function(e){const t=e.headers.get(G.ACCESS_TOKEN),r=e.headers.get(G.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${G.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${G.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 o(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=w,exports.getAppearanceModeStorageKey=e=>e?`${P.APPEARANCE_MODE_KEY}:${e}`:P.APPEARANCE_MODE_KEY,exports.getArrayOfObjects=function(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e},exports.getBaseUrl=()=>O,exports.getCustomHeaders=()=>R,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=()=>y,exports.getSendDiagnostics=()=>U,exports.getStorageRef=He,exports.getTimeUntilExpiry=e=>e?Math.max(0,e-Date.now()):0,exports.getTimeUntilRefresh=e=>e?Math.max(0,e-k.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,exports.getTokenRefreshHandler=L,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(P.SEND_DIAGNOSTICS);U=null===t||"true"===t},exports.hydrateSession=e=>async t=>{const[r,s,o,n]=await Promise.all([e.getItem(P.ACCESS_TOKEN),e.getItem(P.REFRESH_TOKEN),e.getItem(P.TOKEN_EXPIRES_AT),e.getItem(P.USER)]),a=o?parseInt(o,10):null;if((!r||!a||z(a))&&!s)return void(r&&await Promise.all([e.removeItem(P.ACCESS_TOKEN),e.removeItem(P.REFRESH_TOKEN),e.removeItem(P.TOKEN_EXPIRES_AT),e.removeItem(P.USER)]));let i=null;if(n)try{i=JSON.parse(n)}catch(e){p.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=ot,exports.initLogger=A,exports.initializeChatConfig=e=>{O=e.baseUrl,R=e.customHeaders||{},y=e.paymentProvider},exports.isDevMode=()=>M,exports.isGuest=function(e){return e?.type===Y.GUEST_USER},exports.isTokenAboutToExpire=X,exports.isTokenExpired=z,exports.joinOrgMountBase=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${B}`:`${e}/${B}`,exports.logger=p,exports.logout=qe,exports.normalizeTypography=me,exports.parseJwtPayload=J,exports.parseOrgFromJwt=q,exports.quoteFamily=Te,exports.readAccessToken=()=>N(),exports.readDeviceToken=()=>C(),exports.readTokenExpiresAt=v,exports.registerEventListener=function(e,t){return De.on(e,t)},exports.registerLoggerContextProvider=l,exports.registerLoggerSink=u,exports.removeSpecialCharsAndSpaces=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",exports.resetLoggerForTests=async function(){a=null,i=null,c.length=0,(await Promise.resolve().then(()=>I)).resetInitLoggerStateForTests()},exports.resolveFontFamily=function(e,t,r={}){const{language:s,script:o}=r;if(s){const r=Se(e.locales[s],t);if(r)return r}const n=o??(s?fe(s):void 0);if(n)for(const r of e.scriptIndex[n]){const s=Se(e.locales[r],t);if(s)return s}return Se(e.locales[ce],t)??e.locales[ce].default??""},exports.sanitizeExpiryDate=o,exports.sessionExpired=ze,exports.sessionListenerMiddleware=Ze,exports.sessionReducer=Qe,exports.setAccessTokenReader=e=>{N=e},exports.setCredentials=Je,exports.setDeviceTokenReader=e=>{C=e},exports.setIsDev=e=>{M=e},exports.setLastResponseTime=rt,exports.setModuleStorage=function(e){Ue=e},exports.setNetworkLoggingEnabled=x,exports.setSelectedOrgId=Xe,exports.setSession=je,exports.setTokenExpiresAtReader=e=>{D=e},exports.setTokenRefreshHandler=e=>{_=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=Ve,exports.useBranding=Ne,exports.useMessageFontStack=function(e,r){const{themeStyles:s}=Ne(),o=s.typography,n=t.useMemo(()=>{if(r){const e=r.split(/[-_]/)[0].toLowerCase(),t=le[e];if(t)return[t]}return se(e)},[e,r]);return t.useMemo(()=>he(o,oe.DEFAULT,n),[o,n])},exports.useNetworkState=()=>{const e=t.useContext(Ke),r=t.useCallback(t=>e?e.subscribe(t):()=>{},[e]),s=t.useCallback(()=>e?e.getState():$e,[e]);return t.useSyncExternalStore(r,s,s)},exports.useStorage=()=>{const e=t.useContext(Ge);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=s,exports.warnUnknownFamilies=Re,exports.writeOrgToStorage=function(e,t){try{t.setItem(P.SELECTED_ORG_ID,e),t.setItem(P.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,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 w(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=v(s));return t}let B=!1,b=null,k=!0;function P(e){k=e}function G(e){B||(B=!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:w(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(){B=!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..."},we={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 Be(e){return e===ie.LIGHT?we: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.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=Be(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?.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:i?.style||s.widgetBorderStyle,widgetBorderColor:i?.color?ke(i.color,i.opacity||100):s.widgetBorderColor,widgetBorderWidth:i?.width||s.widgetBorderWidth,widgetBorderOpacity:i?.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,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=we,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=Be,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{}};
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";const p=(e,t)=>{if(!e)return"";const r=e.split(" ");return r.length>t?r.slice(0,t).join(" "):e},E=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),m=(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)},h=e=>e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):"",F=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():"",S=e=>e?e.toLowerCase().replace(/[^a-z0-9\s]/g,"").replace(/\s+/g,"").trim():"",A=e=>e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim(),T=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)},I=e=>{if(!e)return"";if(!T(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},y=e=>{const t=e.replace(/\D/g,"").slice(0,4);if(4===t.length){const e=t.slice(0,2)+"/"+t.slice(2);return I(e)}return t.length>=3?`${t.slice(0,2)}/${t.slice(2)}`:t.length>=1?t:""},O=e=>e.replace(/\D/g,"").slice(0,4);function R(e){return Array.isArray(e)&&Array.isArray(e[0])?e.flat():e}const _=(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"},N=e=>Array.isArray(e.widget)&&e.widget.length>0;function C(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 D={DEBUG:"DEBUG",INFO:"INFO",WARN:"WARN",ERROR:"ERROR"};let M=null,x=null;const B=[];function v(e){if(M=e,B.length>0){const t=B.splice(0,B.length);for(const r of t)e.emit(r)}}function w(e){x=e}async function b(){M=null,x=null,B.length=0,(await Promise.resolve().then(()=>X)).resetInitLoggerStateForTests()}function L(e,t){const r=x?function(e){try{return e()??{}}catch{return{}}}(x):{},{message:s,...n}=t,o={...r,...n,level:e,message:s,timestamp:(new Date).toISOString()};M?M.emit(o):(B.length>=200&&B.shift(),B.push(o))}const k={debug(e){L(D.DEBUG,e)},info(e){L(D.INFO,e)},warn(e){L(D.WARN,e)},error(e){L(D.ERROR,e)},flush:()=>M?.flush?.()},P={[D.DEBUG]:0,[D.INFO]:1,[D.WARN]:2,[D.ERROR]:3};function G(e={}){const t=P[e.minLevel??D.DEBUG];return{emit(e){P[e.level]<t||(e.level===D.ERROR?console.error:e.level===D.WARN?console.warn:e.level===D.DEBUG?console.debug:console.info)(e)}}}const H={[D.DEBUG]:5,[D.INFO]:9,[D.WARN]:13,[D.ERROR]:17};function U(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 K(e){const t={};for(const[r,s]of Object.entries(e))void 0!==s&&(t[r]=U(s));return t}let $=!1,W=null,j=!0;function V(e){j=e}function Y(e){$||($=!0,w(function(e){const t={app_name:e.appName,app_version:e.appVersion,environment:e.environment};return()=>({...t,...e.getContext()})}(e)),v(function(e){const t=[G({minLevel:e.consoleMinLevel??(e.isDev?D.DEBUG:D.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:H[t],severityText:t,body:JSON.stringify(e),attributes:K(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){j&&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 X=Object.freeze(Object.defineProperty({__proto__:null,initLogger:Y,registerPlatformFlushAttacher:function(e){W=e},resetInitLoggerStateForTests:function(){$=!1,W=null,j=!0},setNetworkLoggingEnabled:V},Symbol.toStringTag,{value:"Module"}));let z,J="",Z={},q=null,Q=()=>null,ee=()=>null,te=()=>null,re=!1;const se=e=>{J=e.baseUrl,Z=e.customHeaders||{},z=e.paymentProvider},ne=()=>J,oe=()=>z,ae=()=>Z,ie=e=>{q=e},ce=()=>q,ue=e=>{Q=e},le=()=>Q(),de=e=>{ee=e},ge=()=>ee(),fe=e=>{te=e},pe=()=>te(),Ee=e=>{re=e},me=()=>re,he=e=>{const t=e.startsWith("/")?e:`/${e}`;return`${J}/api${t}`},Fe="chat",Se=(e,t)=>t?`${e}/${encodeURIComponent(t)}/${Fe}`:`${e}/${Fe}`,Ae={CONVERSATIONS:()=>he("/conversations"),CONVERSATION_STREAM:e=>he(`/conversations/${e}`),CONVERSATION_START:e=>he(`/conversations/${e}/start`),CONVERSATION_TRANSCRIBE:e=>he(`/conversations/${e}/transcribe`),WEBRTC_OFFER:e=>he(`/conversations/${e}/webrtc/offer`),WEBRTC_ICE:e=>he(`/conversations/${e}/webrtc/ice`),get TRANSCRIBE(){return he("/transcribe")},get BRANDING(){return he("/branding")},get CONFIG(){return he("/config")},get PROFILE(){return he("/profile")},get AUTH_ME(){return he("/auth/me")},get CHANGE_PASSWORD(){return he("/auth/change-password")},get ORGANIZATIONS_EXISTS(){return he("/organizations/exists")},get DEBUG(){return he("/debug")},get TOOL_SERVERS(){return he("/tool-servers")},TOOL_SERVER_AUTH_START:e=>he(`/tool-servers/${e}/auth/start`),TOOL_SERVER_AUTH_CONNECTION:e=>he(`/tool-servers/${e}/auth/connection`),get TOOL_SERVERS_SIGN_IN_EXCHANGE(){return he("/tool-servers/auth/exchange")},get LOG(){return he("/log")}},Te={SSO:"sso"},Ie={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},ye={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"},Oe={ONLINE:"online",DEVICE:"device"},Re=e=>e?`${ye.APPEARANCE_MODE_KEY}:${e}`:ye.APPEARANCE_MODE_KEY,_e={ACCESS_TOKEN:"x-access-token",REFRESH_TOKEN:"x-refresh-token"},Ne="x-device-token",Ce={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",SSO_START:"/auth/sso/start",SSO_EXCHANGE:"/auth/sso/exchange",ORGANIZATIONS:"/organizations"},De={EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,NON_DIGIT:/\D/g,PHONE_E164:/^\+[1-9]\d{1,14}$/},Me={NAME_MAX_LENGTH:64,PHONE_MIN_LENGTH:8,PHONE_MAX_LENGTH:16},xe={MIN_LENGTH:8,MAX_LENGTH:128};let Be=!0;const ve=async e=>{const t=await e.getItem(ye.SEND_DIAGNOSTICS);Be=null===t||"true"===t},we=()=>Be,be=3,Le=500,ke=e=>{const t=e?.status;return"FETCH_ERROR"===t||"TIMEOUT_ERROR"===t||("number"==typeof t?t>=500:(k.warn({message:"unknown error shape; treating as transient",api_name:"auth-refresh",error_message:e instanceof Error?e.message:String(e)}),!0))};function Pe(e){const{performRefresh:t,isTransient:r=ke,maxAttempts:s=be,backoffBaseMs:n=Le}=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 Ge="bridge-toast";function He(e){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(Ge,{detail:e}))}const Ue=e=>He(e),Ke=(e="Please try again")=>He({title:"Error",description:e,variant:"destructive"}),$e=(e="Successfully")=>He({title:"Success",description:e,variant:"default"}),We=Ge,je={ADMIN:"admin",AUTHENTICATED_USER:"authenticated_user",GUEST_USER:"guest_user"},Ve={GOOGLE:"google",APPLE:"apple",MICROSOFT:"microsoft"};function Ye(e){return e?.type===je.GUEST_USER}const Xe=e=>!!e&&Date.now()>=e-Ie.TOKEN_CLOCK_SKEW_MS,ze=e=>!e||Date.now()>=e-Ie.TOKEN_REFRESH_THRESHOLD_MS,Je=async()=>ze(pe())?await(ce()?.())??null:null,Ze=e=>e?Math.max(0,e-Date.now()):0,qe=e=>e?Math.max(0,e-Ie.TOKEN_REFRESH_THRESHOLD_MS-Date.now()):0,Qe=e=>{const t=Math.floor(e/6e4),r=Math.floor(e%6e4/1e3);return t>0?`${t}m ${r}s`:`${r}s`};function et(e){const t=e.headers.get(_e.ACCESS_TOKEN),r=e.headers.get(_e.REFRESH_TOKEN);if(!t)throw new Error(`Missing ${_e.ACCESS_TOKEN} header in response`);if(!r)throw new Error(`Missing ${_e.REFRESH_TOKEN} header in response`);return{accessToken:t,refreshToken:r}}function tt(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 rt(e){const t=tt(e),r=t?.org_id;return"string"==typeof r&&r.length>0?r:null}function st(e,t){try{const r=t.getItem(ye.SELECTED_ORG_ID);if(r&&r!==e)return"storage";const s=rt(t.getItem(ye.ACCESS_TOKEN));return s&&s!==e?"jwt":null}catch{return null}}function nt(e){!function(e){try{e.removeItem(ye.ACCESS_TOKEN),e.removeItem(ye.REFRESH_TOKEN),e.removeItem(ye.TOKEN_EXPIRES_AT),e.removeItem(ye.USER)}catch{}}(e),function(e){try{e.removeItem(ye.ACTIVE_CONVERSATION_ID)}catch{}}(e)}function ot(e,t){try{t.setItem(ye.SELECTED_ORG_ID,e),t.setItem(ye.SELECTED_ORG_NAME,e)}catch{}}const at={LATIN:"Latn",ARABIC:"Arab",HEBREW:"Hebr",CYRILLIC:"Cyrl",GREEK:"Grek",DEVANAGARI:"Deva",THAI:"Thai",HAN:"Hani",HIRAGANA_KATAKANA:"Kana",HANGUL:"Kore"},it={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]]},ct=[at.LATIN,at.ARABIC,at.HEBREW,at.CYRILLIC,at.GREEK,at.DEVANAGARI,at.THAI,at.HAN,at.HIRAGANA_KATAKANA,at.HANGUL],ut=/```[\s\S]*?```|`[^`]*`|(?:https?:\/\/|www\.)\S+|\S+@[\w.-]+\.\w+|[@#][\w-]+/g;function lt(e){for(const t of ct)for(const[r,s]of it[t])if(e>=r&&e<=s)return t;return null}function dt(e){const t=(e??"").replace(ut," "),r=new Set,s=[];for(const e of t){const t=lt(e.codePointAt(0)??0);t&&!r.has(t)&&(r.add(t),s.push(t))}return s}const gt={TOP_LEADING:"topLeading",TOP:"top",TOP_TRAILING:"topTrailing",LEADING:"leading",CENTER:"center",TRAILING:"trailing",BOTTOM_LEADING:"bottomLeading",BOTTOM:"bottom",BOTTOM_TRAILING:"bottomTrailing"},ft={DEFAULT:"default",HEADING:"heading",MONO:"mono"},pt={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},Et={LIGHT:"light",DARK:"dark",SYSTEM:"system"},mt=[Et.LIGHT,Et.DARK,Et.SYSTEM],ht={FOREGROUND:"foreground",BACKGROUND:"background"},Ft="default",St={[ft.DEFAULT]:"system-ui, -apple-system, sans-serif",[ft.HEADING]:"system-ui, -apple-system, sans-serif",[ft.MONO]:"ui-monospace, monospace"},At={ar:at.ARABIC,fa:at.ARABIC,ur:at.ARABIC,he:at.HEBREW,yi:at.HEBREW,ru:at.CYRILLIC,bg:at.CYRILLIC,sr:at.CYRILLIC,uk:at.CYRILLIC,mk:at.CYRILLIC,be:at.CYRILLIC,kk:at.CYRILLIC,el:at.GREEK,hi:at.DEVANAGARI,mr:at.DEVANAGARI,ne:at.DEVANAGARI,th:at.THAI,zh:at.HAN,ja:at.HIRAGANA_KATAKANA,ko:at.HANGUL},Tt=new Set(["serif","sans-serif","monospace","cursive","fantasy","math","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","-apple-system","blinkmacsystemfont"]),It=new Set(["SF Pro","SF Pro Display","SF Mono","system-ui","System","monospace","sans-serif"]),yt=new Set(Object.values(at)),Ot=Object.values(at);function Rt(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(yt.has(t))return t}const r=t[0]?.toLowerCase()??"";if(At[r])return At[r];if("undefined"!=typeof Intl&&"Locale"in Intl)try{const t=new Intl.Locale(e).maximize().script;if(t&&yt.has(t))return t}catch{}return at.LATIN}function _t(e,t){const r={...e?.families??{}},s=e?.locales;let n;if(s)n={...s};else{const r=e?.fontFamily,s=e?.fontFamilyMono;n={[Ft]:{[ft.DEFAULT]:r??t.default,[ft.HEADING]:r??t.heading??t.default,[ft.MONO]:s??t.mono}}}const o=n[Ft]??{};n[Ft]={[ft.DEFAULT]:o.default??t.default,[ft.HEADING]:o.heading??t.heading??t.default,[ft.MONO]:o.mono??t.mono??t.default};const a=function(){const e={};for(const t of Ot)e[t]=[];return e}();for(const e of Object.keys(n))e!==Ft&&a[Rt(e)].push(e);return{locales:n,families:r,scriptIndex:a}}function Nt(e){const t=e.trim();return t?Tt.has(t.toLowerCase())||t.startsWith('"')&&t.endsWith('"')?t:`"${t}"`:t}function Ct(e,t){return e?.[t]}function Dt(e,t,r={}){const{language:s,script:n}=r;if(s){const r=Ct(e.locales[s],t);if(r)return r}const o=n??(s?Rt(s):void 0);if(o)for(const r of e.scriptIndex[o]){const s=Ct(e.locales[r],t);if(s)return s}return Ct(e.locales[Ft],t)??e.locales[Ft].default??""}function Mt(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(Ct(e.locales[r],t));o(Ct(e.locales[Ft],t)??e.locales[Ft].default);const a=s.map(Nt);return a.length?`${a.join(", ")}, ${St[t]}`:St[t]}function xt(e,t){return Mt(e,t,Object.keys(e.scriptIndex))}const Bt={[pt.REGULAR]:400,[pt.MEDIUM]:500,[pt.SEMIBOLD]:600,[pt.BOLD]:700};function vt(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 wt(e){const t=[];for(const r of Ot)if(e.has(r))for(const[e,s]of it[r]){const r=`U+${e.toString(16).toUpperCase()}`;t.push(e===s?r:`${r}-${s.toString(16).toUpperCase()}`)}return t.join(", ")}function bt(e,t,r,s){const n=["@font-face {",` font-family: ${Nt(e)};`,` ${vt(r)}`,` font-weight: ${t};`," font-style: normal;"," font-display: swap;"];return s&&n.push(` unicode-range: ${s};`),n.push("}"),n.join("\n")}function Lt(e){const t=function(e){const t=new Map;for(const r of Ot)for(const s of e.scriptIndex[r])for(const n of Object.values(ft)){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(ft).map(t=>e.locales[Ft]?.[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?wt(e):"";if(o.variable)s.push(bt(n,"100 900",o.variable,a));else for(const e of Object.values(pt)){const t=o[e];t&&s.push(bt(n,String(Bt[e]),t,a))}}return s.join("\n\n")}const kt=new WeakSet;function Pt(e,t){if(kt.has(e))return;kt.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]||It.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 Gt=a(void 0);function Ht(){const e=i(Gt);if(!e)throw new Error("useBranding must be used within a BrandingProvider");return e}function Ut(e,t){const{themeStyles:r}=Ht(),s=r.typography,n=c(()=>{if(t){const e=t.split(/[-_]/)[0].toLowerCase(),r=At[e];if(r)return[r]}return dt(e)},[e,t]);return c(()=>Mt(s,ft.DEFAULT,n),[s,n])}class Kt{static instance;events={};constructor(){}static getInstance(){return Kt.instance||(Kt.instance=new Kt),Kt.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){k.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 $t=Kt.getInstance();function Wt(e,t){return $t.on(e,t)}const jt={PILL:"pill",ROUNDED:"rounded",SHARP:"sharp"},Vt={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:_t(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:jt.PILL,chatInputPlaceholder:"Type anything..."},Yt={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:_t(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:jt.PILL,chatInputPlaceholder:"Type anything..."};function Xt(e){return e===Et.LIGHT?Yt:Vt}const zt=Vt;function Jt(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 Zt(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 qt(e){switch(e){case"pill":return jt.PILL;case"none":return jt.SHARP;default:return 0===parseInt(e??"",10)?jt.SHARP:jt.ROUNDED}}function Qt(e,t,r=Et.DARK){const s=Xt(r);if(!e||!t)return s;const n=_t(e.typography,{default:s.typography.locales.default.default,heading:s.typography.locales.default.heading,mono:s.typography.locales.default.mono});Pt(n,k);const o=t.surface?.chatInput?.border||t.surface?.input?.border,a=t.surface?.userMessage?.border,i=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?Jt(o.color,o.opacity||100):s.inputBorderColor,inputBorderWidth:o?.width||s.inputBorderWidth,inputBorderOpacity:o?.opacity||100,widgetBorderStyle:i?.style||s.widgetBorderStyle,widgetBorderColor:i?.color?Jt(i.color,i.opacity||100):s.widgetBorderColor,widgetBorderWidth:i?.width||s.widgetBorderWidth,widgetBorderOpacity:i?.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?Jt(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,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:xt(n,ft.DEFAULT),fontFamilyHeading:xt(n,ft.HEADING),fontFamilyMono:xt(n,ft.MONO),fontSize:14,typography:n,borderRadius:Zt(e.cornerRadius,s),cornerRadiusMode:qt(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}}function er(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 tr=a(null),rr=()=>{const e=i(tr);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 sr=null;function nr(e){sr=e}const or=()=>sr,ar=a(null),ir={isConnected:!0,isInternetReachable:!0},cr=()=>{const e=i(ar),t=u(t=>e?e.subscribe(t):()=>{},[e]),r=u(()=>e?e.getState():ir,[e]);return l(t,r,r)},ur=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()+Ie.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:lr,updateUser:dr,clearSession:gr,sessionExpired:fr,setSelectedOrgId:pr}=ur.actions,Er=lr,mr=gr,hr=e=>async t=>{const[r,s,n,o]=await Promise.all([e.getItem(ye.ACCESS_TOKEN),e.getItem(ye.REFRESH_TOKEN),e.getItem(ye.TOKEN_EXPIRES_AT),e.getItem(ye.USER)]),a=n?parseInt(n,10):null;if((!r||!a||Xe(a))&&!s)return void(r&&await Promise.all([e.removeItem(ye.ACCESS_TOKEN),e.removeItem(ye.REFRESH_TOKEN),e.removeItem(ye.TOKEN_EXPIRES_AT),e.removeItem(ye.USER)]));let i=null;if(o)try{i=JSON.parse(o)}catch(e){k.error({message:"Failed to parse stored user during session hydration",component:"sessionSlice",error_message:e instanceof Error?e.message:String(e)})}t(lr({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))},Fr=g();Fr.startListening({matcher:f(lr,dr,gr,fr),effect:async(e,t)=>{const r=or();if(!r)return;const{auth:s}=t.getState(),n=[];n.push(s.accessToken?r.setItem(ye.ACCESS_TOKEN,s.accessToken):r.removeItem(ye.ACCESS_TOKEN)),n.push(s.refreshToken?r.setItem(ye.REFRESH_TOKEN,s.refreshToken):r.removeItem(ye.REFRESH_TOKEN)),n.push(null!=s.tokenExpiresAt?r.setItem(ye.TOKEN_EXPIRES_AT,String(s.tokenExpiresAt)):r.removeItem(ye.TOKEN_EXPIRES_AT)),n.push(s.user?r.setItem(ye.USER,JSON.stringify(s.user)):r.removeItem(ye.USER)),(gr.match(e)||fr.match(e))&&n.push(r.removeItem(ye.LOCATION_CACHE),r.removeItem(ye.DEBUG_MODE),r.removeItem(ye.APPEARANCE_MODE_KEY),r.removeItem(ye.LOCATION_ENABLED),r.removeItem(ye.STT_AUTO_SEND),r.removeItem(ye.STT_IMPLEMENTATION),r.removeItem(ye.SEND_DIAGNOSTICS),r.removeItem(ye.ACTIVE_CONVERSATION_ID)),await Promise.all(n)}});const Sr=ur.reducer,Ar={lastResponseTime:null},Tr=d({name:"indicator",initialState:Ar,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(f(gr,fr),()=>Ar)}}),{setLastResponseTime:Ir,clearLastResponseTime:yr}=Tr.actions,Or=Tr.reducer;function Rr(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 _r={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"};function Nr(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id}export{Ae as API_ENDPOINTS,Et as APPEARANCE_MODES,mt as APPEARANCE_MODE_VALUES,_e as AUTH_HEADERS,Ce as AUTH_PATHS,We as BRIDGE_TOAST_EVENT_NAME,Gt as BrandingContext,jt as CORNER_RADIUS_MODES,Ne as DEVICE_TOKEN_HEADER,e as DIRECTION_VECTORS,Kt as EventEmitter,Te as FEATURE_FLAGS,ft as FONT_ROLES,pt as FONT_WEIGHT_SLOTS,St as GENERIC_STACKS,Ve as IDP_HINTS,_r as INDICATOR_TIMER_ACTIONS,At as LANG_DEFAULT_SCRIPT,gt as LOGO_ALIGNMENTS,D as LOG_LEVELS,ar as NetworkContext,ht as ORB_POSITIONS,Fe as ORG_MOUNT_SUFFIX,xe as PASSWORD_LIMITS,De as PATTERNS,Me as PROFILE_LIMITS,at as SCRIPTS,it as SCRIPT_RANGES,ye as STORAGE_KEYS,Oe as STT_IMPLEMENTATIONS,tr as StorageContext,t as TEXT_DIRECTION,Ie as TIMING,je as USER_TYPES,Qt as brandingToThemeStyles,Lt as buildFontFaceCss,Mt as buildFontStack,xt as buildFullFontStack,h as capitalizeFirst,yr as clearLastResponseTime,nt as clearPreviousTenant,gr as clearSession,Pe as createTokenRefresher,zt as defaultChatThemeStyles,Vt as defaultDarkThemeStyles,ke as defaultIsTransient,Yt as defaultLightThemeStyles,st as detectOrgSwitch,dt as detectScripts,r as detectTextDirection,Je as ensureFreshToken,$t as eventEmitter,et as extractTokens,O as formatCVC,F as formatCamelCaseToTitle,A as formatCardNumber,y as formatExpiryDate,Qe as formatTimeRemaining,m as formatTimestamp,E as generateUniqueId,he as getApiUrl,Re as getAppearanceModeStorageKey,R as getArrayOfObjects,ne as getBaseUrl,ae as getCustomHeaders,Xt as getDefaultThemeStyles,C as getErrorMessage,_ as getInitials,Nr as getPaymentId,oe as getPaymentProviderHint,we as getSendDiagnostics,or as getStorageRef,Ze as getTimeUntilExpiry,qe as getTimeUntilRefresh,ce as getTokenRefreshHandler,Rr as handleSharedEvent,N as hasWidgets,er as hexToRgba,ve as hydrateAppBoot,hr as hydrateSession,Or as indicatorReducer,Y as initLogger,se as initializeChatConfig,me as isDevMode,Ye as isGuest,ze as isTokenAboutToExpire,Xe as isTokenExpired,Se as joinOrgMountBase,k as logger,mr as logout,_t as normalizeTypography,tt as parseJwtPayload,rt as parseOrgFromJwt,Nt as quoteFamily,le as readAccessToken,ge as readDeviceToken,pe as readTokenExpiresAt,Wt as registerEventListener,w as registerLoggerContextProvider,v as registerLoggerSink,S as removeSpecialCharsAndSpaces,b as resetLoggerForTests,s as resolveDirectionFromLang,Dt as resolveFontFamily,I as sanitizeExpiryDate,fr as sessionExpired,Fr as sessionListenerMiddleware,Sr as sessionReducer,ue as setAccessTokenReader,Er as setCredentials,de as setDeviceTokenReader,Ee as setIsDev,Ir as setLastResponseTime,nr as setModuleStorage,V as setNetworkLoggingEnabled,pr as setSelectedOrgId,lr as setSession,fe as setTokenExpiresAtReader,ie as setTokenRefreshHandler,Ke as showErrorToast,$e as showSuccessToast,Ue as showToast,p as truncateWordLimit,dr as updateUser,Ht as useBranding,n as useMessageDirection,o as useMessageDirections,Ut as useMessageFontStack,cr as useNetworkState,rr as useStorage,T as validateExpiryDate,Pt as warnUnknownFamilies,ot 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={},F=null,h=()=>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=>{F=e},N=()=>F,C=e=>{h=e},D=()=>h(),M=e=>{S=e},x=()=>S(),B=e=>{T=e},v=()=>T(),w=e=>{A=e},b=()=>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 Fe=[];function he(e){if(Ee=e,Fe.length>0){const t=Fe.splice(0,Fe.length);for(const r of t)e.emit(r)}}function Se(e){me=e}async function Te(){Ee=null,me=null,Fe.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):(Fe.length>=200&&Fe.shift(),Fe.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)),he(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 we=!0;const be=async e=>{const t=await e.getItem(K.SEND_DIAGNOSTICS);we=null===t||"true"===t},Le=()=>we,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"},Ft={REGULAR:"regular",MEDIUM:"medium",SEMIBOLD:"semibold",BOLD:"bold"},ht={LIGHT:"light",DARK:"dark",SYSTEM:"system"},St=[ht.LIGHT,ht.DARK,ht.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 wt(e,t){return vt(e,t,Object.keys(e.scriptIndex))}const bt={[Ft.REGULAR]:400,[Ft.MEDIUM]:500,[Ft.SEMIBOLD]:600,[Ft.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(Ft)){const t=o[e];t&&s.push(Pt(n,String(bt[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={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:Dt(void 0,{default:"SF Pro Display",heading:"SF Pro Display",mono:"SF Mono"}),borderRadius:16,cornerRadiusMode:Xt.PILL,chatInputPlaceholder:"Type anything..."},Jt={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:Xt.PILL,chatInputPlaceholder:"Type anything..."};function Zt(e){return e===ht.LIGHT?Jt:zt}const qt=zt;function Qt(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 er(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 tr(e){switch(e){case"pill":return Xt.PILL;case"none":return Xt.SHARP;default:return 0===parseInt(e??"",10)?Xt.SHARP:Xt.ROUNDED}}function rr(e,t,r=ht.DARK){const s=Zt(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?.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?Qt(o.color,o.opacity||100):s.inputBorderColor,inputBorderWidth:o?.width||s.inputBorderWidth,inputBorderOpacity:o?.opacity||100,widgetBorderStyle:i?.style||s.widgetBorderStyle,widgetBorderColor:i?.color?Qt(i.color,i.opacity||100):s.widgetBorderColor,widgetBorderWidth:i?.width||s.widgetBorderWidth,widgetBorderOpacity:i?.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?Qt(a.color,a.opacity||100):s.userMsgBorderColor,userMsgBorderWidth:a?.width||s.userMsgBorderWidth,userMsgBorderOpacity:a?.opacity||0,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,mt.DEFAULT),fontFamilyHeading:wt(n,mt.HEADING),fontFamilyMono:wt(n,mt.MONO),fontSize:14,typography:n,borderRadius:er(e.cornerRadius,s),cornerRadiusMode:tr(e.cornerRadius),chatInputPlaceholder:e.startScreen?.inputPlaceholder??s.chatInputPlaceholder}}function sr(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 nr=a(null),or=()=>{const e=i(nr);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 ar=null;function ir(e){ar=e}const cr=()=>ar,ur=a(null),lr={isConnected:!0,isInternetReachable:!0},dr=()=>{const e=i(ur),t=u(t=>e?e.subscribe(t):()=>{},[e]),r=u(()=>e?e.getState():lr,[e]);return l(t,r,r)},gr=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:fr,updateUser:pr,clearSession:Er,sessionExpired:mr,setSelectedOrgId:Fr}=gr.actions,hr=fr,Sr=Er,Tr=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(fr({user:i,accessToken:r,refreshToken:s,expiresIn:null!=a?a/1e3:null}))},Ar=g();Ar.startListening({matcher:f(fr,pr,Er,mr),effect:async(e,t)=>{const r=cr();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)),(Er.match(e)||mr.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 Ir=gr.reducer,yr={lastResponseTime:null},Or=d({name:"indicator",initialState:yr,reducers:{setLastResponseTime(e,t){e.lastResponseTime=t.payload},clearLastResponseTime(e){e.lastResponseTime=null}},extraReducers:e=>{e.addMatcher(f(Er,mr),()=>yr)}}),{setLastResponseTime:Rr,clearLastResponseTime:_r}=Or.actions,Nr=Or.reducer;function Cr(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 Dr={KEEP:"keep",FINALIZE:"finalize",CANCEL:"cancel"};function Mr(e){if(e)return"moyasar"===e.provider?e.config?.given_id:e.payment_id}export{G as API_ENDPOINTS,ht as APPEARANCE_MODES,St as APPEARANCE_MODE_VALUES,V as AUTH_ERROR_GROUPS,j as AUTH_HEADERS,X as AUTH_PATHS,Ve as BRIDGE_TOAST_EVENT_NAME,Kt as BrandingContext,Xt as CORNER_RADIUS_MODES,Y as DEVICE_TOKEN_HEADER,e as DIRECTION_VECTORS,jt as EventEmitter,U as FEATURE_FLAGS,mt as FONT_ROLES,Ft as FONT_WEIGHT_SLOTS,It as GENERIC_STACKS,Xe as IDP_HINTS,Dr as INDICATOR_TIMER_ACTIONS,yt as LANG_DEFAULT_SCRIPT,Et as LOGO_ALIGNMENTS,pe as LOG_LEVELS,ur 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,nr as StorageContext,t as TEXT_DIRECTION,H as TIMING,Ye as USER_TYPES,rr as brandingToThemeStyles,Gt as buildFontFaceCss,vt as buildFontStack,wt as buildFullFontStack,te as capitalizeFirst,_r as clearLastResponseTime,it as clearPreviousTenant,Er as clearSession,Ue as createTokenRefresher,qt as defaultChatThemeStyles,zt as defaultDarkThemeStyles,Ge as defaultIsTransient,Jt 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,Zt as getDefaultThemeStyles,fe as getErrorMessage,de as getInitials,Mr as getPaymentId,O as getPaymentProviderHint,Le as getSendDiagnostics,cr as getStorageRef,et as getTimeUntilExpiry,tt as getTimeUntilRefresh,N as getTokenRefreshHandler,Cr as handleSharedEvent,ge as hasWidgets,sr as hexToRgba,be as hydrateAppBoot,Tr as hydrateSession,Nr as indicatorReducer,Be as initLogger,I as initializeChatConfig,b as isDevMode,ze as isGuest,ue as isSixDigitCode,qe as isTokenAboutToExpire,Ze as isTokenExpired,Je as isVerificationRequired,P as joinOrgMountBase,Ie as logger,Sr 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,he as registerLoggerSink,se as removeSpecialCharsAndSpaces,Te as resetLoggerForTests,s as resolveDirectionFromLang,Bt as resolveFontFamily,ae as sanitizeExpiryDate,mr as sessionExpired,Ar as sessionListenerMiddleware,Ir as sessionReducer,C as setAccessTokenReader,hr as setCredentials,M as setDeviceTokenReader,w as setIsDev,Rr as setLastResponseTime,ir as setModuleStorage,xe as setNetworkLoggingEnabled,Fr as setSelectedOrgId,fr as setSession,B as setTokenExpiresAtReader,_ as setTokenRefreshHandler,We as showErrorToast,je as showSuccessToast,$e as showToast,q as truncateWordLimit,pr as updateUser,$t as useBranding,n as useMessageDirection,o as useMessageDirections,Wt as useMessageFontStack,dr as useNetworkState,or as useStorage,oe as validateExpiryDate,Ht as warnUnknownFamilies,ct as writeOrgToStorage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1interface/shared-core",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "license": "UNLICENSED",
5
5
  "type": "module",
6
6
  "sideEffects": false,