import {servicenowUiCore as e} from"/uxasset/externals/@servicenow/ui-mega/index.jsdbx";
/*__ESM_BODY_START__*/
var t={551:e=>{function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},e.exports.__esModule=!0,e.exports.default=e.exports,t.apply(this,arguments)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var s=n[e]={exports:{}};return t[e](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};(()=>{a.d(o,{bN:()=>_e,kY:()=>he,_b:()=>s,Xk:()=>te,uP:()=>oe,N5:()=>Ie,J0:()=>W,M$:()=>j,Yo:()=>K,LJ:()=>q,zn:()=>G,wg:()=>F,dt:()=>U});var t=a(551),n=a.n(t);const s={INTENT_RECEIVED:"LIBRARY-INTENT-CHANNEL#INTENT_RECEIVED",UPDATE_CONTEXT:"LIBRARY-INTENT-CHANNEL#UPDATE_CONTEXT",CONTEXT_RECEIVED:"LIBRARY-INTENT-CHANNEL#CONTEXT_RECEIVED",REGISTER_TRANSLATOR:"LIBRARY-INTENT-CHANNEL#REGISTER_TRANSLATOR",REMOVE_TRANSLATOR:"LIBRARY-INTENT-CHANNEL#REMOVE_TRANSLATOR",SEND_INTENT:"LIBRARY-INTENT-CHANNEL#SEND_INTENT",SET_ACTIVE_CONTEXT:"LIBRARY-INTENT-CHANNEL#SET_ACTIVE_CONTEXT",UNSET_ACTIVE_CONTEXT:"LIBRARY-INTENT-CHANNEL#UNSET_ACTIVE_CONTEXT",SEND_INTENT_FEEDBACK:"LIBRARY-INTENT-CHANNEL#SEND_INTENT_FEEDBACK",CREATE_CONVERSATION_WITH_SKILL:"LIBRARY-INTENT-CHANNEL#CREATE_CONVERSATION_WITH_SKILL",SEND_SYSTEM_MESSAGE:"LIBRARY-INTENT-CHANNEL#SEND_SYSTEM_MESSAGE",INTENT_FEEDBACK_RECEIVED:"LIBRARY-INTENT-CHANNEL#INTENT_FEEDBACK_RECEIVED",CONVERSATION_WITH_SKILL_REQUESTED:"LIBRARY-INTENT-CHANNEL#CONVERSATION_WITH_SKILL_REQUESTED",SYSTEM_MESSAGE_RECEIVED:"LIBRARY-INTENT-CHANNEL#SYSTEM_MESSAGE_RECEIVED"},r="sn_library_intent.send_intent",i="sn_library_intent.update_context",E="sn_library_intent.active_translator",l="sn_library_intent.send_intent_feedback",d="sn_library_intent.request_conversation_with_skill",N="sn_library_intent.send_system_message",T=()=>sessionStorage.getItem(E),I=()=>sessionStorage.removeItem(E),S=e=>sessionStorage.setItem(E,e),{INTENT_RECEIVED:_}=s,h=e=>{let t=null;return{handleSendIntent(n,a,o){if(!(t=>t&&e[t])(n))return t&&t.handleSendIntent(n,a,o);n===o&&e[n].dispatch(_,{intent:a})},setNext(e){t=e}}},c=(e,t)=>{const n=sessionStorage.getItem(e);let a=[];if(n)try{a=JSON.parse(n)}catch(e){a=[]}return Array.isArray(a)||(a=[a]),a.push(t),JSON.stringify(a)},{CONTEXT_RECEIVED:C,SYSTEM_MESSAGE_RECEIVED:A,INTENT_FEEDBACK_RECEIVED:p,CONVERSATION_WITH_SKILL_REQUESTED:R}=s,{INTENT_RECEIVED:g,CONTEXT_RECEIVED:u,INTENT_FEEDBACK_RECEIVED:v,CONVERSATION_WITH_SKILL_REQUESTED:f,SYSTEM_MESSAGE_RECEIVED:O}=s,y="__LIBRARY_INTENT_CHANNEL-translators",L="__LIBRARY_INTENT_CHANNEL-generator",D=window;D[y]||(D[y]={}),D[L]||(D[L]=null);const m=e=>D[y][e],x=()=>D[y],M=()=>D[L],k=(e,t)=>D[y][e]=t,V=e=>D[L]=e,b=(e=>{const t=h(e),n={handleSendIntent(e,t){if(!(e=>!!e)(e))return void console.warn("Unable to send intent to translator because translatorId is undefined.");const n=`${r}/${e}`,a=c(n,{translatorId:e,intentPayload:t});sessionStorage.setItem(n,a)},setNext(){console.warn("Session storage handler does not support next handler, since it is the last handler in the chain")}};return t.setNext(n),{handleSendIntent:(e,n,a)=>t.handleSendIntent(e,n,a)}})(x()),w=(e=>{const t=(e=>{let t=null;const n=e=>!!e;return{handleSendContext(){var a,o;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",r=arguments.length>1?arguments[1]:void 0;if(!n(r))return t&&t.handleSendContext(s,r);r.dispatch(C,{context:null!==(a=null===(o=e[s])||void 0===o?void 0:o.context)&&void 0!==a?a:null,translatorId:s})},handleSendSystemMessage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;if(!n(a))return t&&t.handleSendSystemMessage(e,a,o);a.dispatch(A,{message:o,translatorId:e})},handleSendIntentFeedback(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;if(!n(a))return t&&t.handleSendIntentFeedback(e,a,o,s,r);a.dispatch(p,{originalIntent:o,status:s,message:r,translatorId:e})},handleRequestConversationWithSkill(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0;if(!n(a))return t&&t.handleRequestConversationWithSkill(e,a,o,s);a.dispatch(R,{skillId:o,translatorId:e,params:s})},setNext(e){t=e}}})(e),n=(e=>({handleSendContext(){var t,n;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";sessionStorage.setItem(i,JSON.stringify({translatorId:a,context:null!==(t=null===(n=e[a])||void 0===n?void 0:n.context)&&void 0!==t?t:null}))},handleSendSystemMessage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>2?arguments[2]:void 0;sessionStorage.setItem(N,JSON.stringify({translatorId:e,message:t}))},handleSendIntentFeedback(){const e=c(l,{translatorId:arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",originalIntent:arguments.length>2?arguments[2]:void 0,status:arguments.length>3?arguments[3]:void 0,message:arguments.length>4?arguments[4]:void 0});sessionStorage.setItem(l,e)},handleRequestConversationWithSkill(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;sessionStorage.setItem(d,JSON.stringify({translatorId:e,skillId:t,params:n}))},setNext(){console.warn("Session storage handler does not support next handler, since it is the last handler in the chain")}}))(e);return t.setNext(n),{handleSendContext:(e,n)=>t.handleSendContext(e,n),handleSendSystemMessage(e,n,a,o){if(e===o)return t.handleSendSystemMessage(e,n,a,o)},handleSendIntentFeedback:(e,n,a,o,s)=>t.handleSendIntentFeedback(e,n,a,o,s),handleRequestConversationWithSkill(e,n,a,o,s){if(e===s)return t.handleRequestConversationWithSkill(e,n,a,o,s)}}})(x()),Y=(e,t)=>{if(M()){const a=sessionStorage.getItem(e);if(!a)return;try{let e=JSON.parse(a);Array.isArray(e)||(e=[e]),e.forEach((e=>{M().dispatch(t,n()({},e))}))}catch(e){console.warn("Error parsing JSON format.")}sessionStorage.removeItem(e)}},B=()=>{Y(i,u)},H=()=>{Y(N,O)},P=()=>{Y(d,f)},G=(e,t)=>{b.handleSendIntent(e,t,T())},K=()=>{V(null)},X=e=>{w.handleSendContext(e,M())},W=(e,t)=>{V({id:e,dispatch:t}),X(T()),B(),P(),H()},F=e=>{m(e)&&(S(e),X(e))},J=e=>{m(e)&&(e=>T()===e&&(I(),!0))(e)&&X("")},U=(e,t)=>{m(e)&&(k(e,n()({},m(e),{context:t})),T()===e&&X(e))},q=e=>{var t;T()===e&&I(),t=e,delete D[y][t]},j=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;k(e,{dispatch:t}),T()||(S(e),U(e,n))},$=(e,t,n)=>{w.handleRequestConversationWithSkill(e,M(),t,n,T())};window.addEventListener("storage",(e=>{if(e.key===i)B();else if(e.key===N)H();else if(e.key===l)Y(l,v);else if(e.key===d)P();else if(0===e.key.indexOf(r)){const t=e.key.replace(`${r}/`,"");if(t&&m(t)){try{let n=JSON.parse(sessionStorage.getItem(e.key));Array.isArray(n)||(n=[n]),n.forEach((e=>{m(t).dispatch(g,{intent:e.intentPayload})}))}catch(e){console.warn("Skipped sending intent due to invalid JSON format.")}sessionStorage.removeItem(e.key)}}}));const Q=(e=>{var t={};return a.d(t,e),t})({actionTypes:()=>{const t=e.default&&e.__esModule;return t?e.default.actionTypes:e.actionTypes||e.default&&e.default.actionTypes}}),{COMPONENT_CONNECTED:z,COMPONENT_DISCONNECTED:Z}=Q.actionTypes,{SEND_INTENT:ee}=s,te={name:"intentGenerator",actionHandlers:{[z](e){let{host:t,dispatch:n}=e;W(t.nowId,n)},[Z](e){K(e)},[ee]:{effect(e){let{action:t}=e;G(t.payload.translatorId,t.payload.intent)},stopPropagation:!0}}},{SET_ACTIVE_CONTEXT:ne,UNSET_ACTIVE_CONTEXT:ae}=s,oe={name:"intentMediator",actionHandlers:{[ne]:{effect(e){let{action:t}=e;F(t.payload.translatorId)},stopPropagation:!0},[ae]:{effect(e){let{action:t}=e;J(t.payload.translatorId)},stopPropagation:!0}}},{COMPONENT_CONNECTED:se,COMPONENT_DISCONNECTED:re}=Q.actionTypes,{UPDATE_CONTEXT:ie,REGISTER_TRANSLATOR:Ee,REMOVE_TRANSLATOR:le,SEND_INTENT_FEEDBACK:de,CREATE_CONVERSATION_WITH_SKILL:Ne,SEND_SYSTEM_MESSAGE:Te}=s,Ie={name:"intentTranslator",actionHandlers:{[se](e){var t;let{host:n,dispatch:a,action:o}=e;null!==(t=o.payload.options)&&void 0!==t&&t.disableAutomaticallyRegistering||j(n.nowId,a)},[ie]:{effect(e){let{host:t,action:n}=e;U(t.nowId,n.payload.context)},stopPropagation:!0},[Ee]:{effect(e){let{host:t,dispatch:n,action:a}=e;j(t.nowId,n,a.payload.context)},stopPropagation:!0},[le]:{effect(e){let{host:t}=e;q(t.nowId)},stopPropagation:!0},[de]:{effect(e){let{host:t,action:n}=e;const{originalIntent:a,status:o,message:s}=n.payload;((e,t,n,a)=>{w.handleSendIntentFeedback(e,M(),t,n,a)})(t.nowId,a,o,s)},stopPropagation:!0},[Ne]:{effect(e){let{host:t,action:n}=e;$(t.nowId,n.payload.skillId,n.payload.params)},stopPropagation:!0},[Te]:{effect(e){let{host:t,action:n}=e;var a,o;a=t.nowId,o=n.payload.message,w.handleSendSystemMessage(a,M(),o,T())},stopPropagation:!0},[re](e){let{host:t}=e;q(t.nowId)}}},Se=e=>new Proxy({},{get(t,n){if("requestConversationWithSkill"===n)return function(){const{nowId:t}=e;if(!t)throw new Error("Unable to find translator key");for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];$.apply(null,[t,...a])}}}),_e="sn_uxf.uiIntentLib";function he(e){return()=>({nowAssist:Se(e)})}})();var s=o.bN,r=o.kY,i=o._b,E=o.Xk,l=o.uP,d=o.N5,N=o.J0,T=o.M$,I=o.Yo,S=o.LJ,_=o.zn,h=o.wg,c=o.dt;
/*__ESM_BODY_END__*/
export{s as LIBRARY_INTENT_CHANNEL_PACKAGE_NAME,r as getIntentChannelClientScriptApi,i as intentActions,E as intentGeneratorBehavior,l as intentMediatorBehavior,d as intentTranslatorBehavior,N as registerGenerator,T as registerTranslator,I as removeGenerator,S as removeTranslator,_ as sendIntent,h as setActiveTranslator,c as updateContext};
//# sourceMappingURL=/uxasset/externals/@devsnc/library-intent-channel/index.min.js.map.jsdbx