import {servicenowUiCore as t} from"/uxasset/externals/@servicenow/ui-mega/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036";
/*__ESM_BODY_START__*/
var e={551:t=>{function e(){return t.exports=e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var a in n)({}).hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},t.exports.__esModule=!0,t.exports.default=t.exports,e.apply(null,arguments)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},562:t=>{t.exports=function(t,e){if(null==t)return{};var n={};for(var a in t)if({}.hasOwnProperty.call(t,a)){if(e.includes(a))continue;n[a]=t[a]}return n},t.exports.__esModule=!0,t.exports.default=t.exports}},n={};function a(t){var r=n[t];if(void 0!==r)return r.exports;var o=n[t]={exports:{}};return e[t](o,o.exports,a),o.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};(()=>{a.d(r,{bN:()=>qt,dV:()=>P,kY:()=>$t,_b:()=>i,Xk:()=>Mt,uP:()=>kt,S$:()=>Pt,N5:()=>Ft,J0:()=>pt,Gi:()=>Y,M$:()=>Ct,Yo:()=>St,_z:()=>V,LJ:()=>At,zn:()=>_t,wg:()=>gt,dt:()=>yt});var e=a(551),n=a.n(e),o=a(562),s=a.n(o);const i={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",SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID:"LIBRARY-INTENT-CHANNEL#SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID",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"},l="sn_library_intent.send_intent",d="sn_library_intent.update_context",E="sn_library_intent.active_translator",c="sn_library_intent.send_intent_feedback",T="sn_library_intent.request_conversation_with_skill",N="sn_library_intent.send_system_message",I=()=>sessionStorage.getItem(E),u=()=>sessionStorage.removeItem(E),_=t=>sessionStorage.setItem(E,t),S="sendIntent",f="sendContext",p="sendSystemMessage",g="sendIntentFeedback",h="requestConversationWithSkill";class y{static isContinue(t){return"object"==typeof t}static isTerminate(t){return!y.isContinue(t)}static continue(t){return{meta:t}}static terminate(){}}const A=t=>(e,a,r)=>{let o=n()({},r);for(const s of t){const t=s[e];if(!t)throw new Error(`MessageProcessor::No handler found for type: ${e}`);const i=t(n()({},a),o);if(!y.isContinue(i))break;o=n()({},r,null==i?void 0:i.meta)}};function C(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function R(t,e,n,a){return e(v(t,n),a),a}function m(t,e){return t.get(v(t,e))}function v(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}const O="__LIBRARY_INTENT_CHANNEL__mediatorRegistry",w="mediatorKey",L="mediatorHandler";var M=new WeakMap,D=new WeakSet;class x{static getInstance(){const t=function(t){let e=null;try{e=t.top,e[O]}catch(t){e=null}return e||t.self}(window);let e=t[O];return e||(e=t[O]=new x),e}constructor(){var t,e;C(t=this,e=D),e.add(t),function(t,e,n){C(t,e),e.set(t,n)}(this,M,{[w]:null,[L]:null})}get mediatorKey(){return m(M,this)[w]}get mediatorHandler(){return m(M,this)[L]}hasMediator(){return!!this.mediatorKey}setMediator(t,e){if(this.hasMediator())throw new Error("Another mediator is already registered");if(!t)throw new Error("Mediator key is required");if(!e||"function"!=typeof e)throw new Error("Mediator handler must be a function");if(window.self!==window.top)throw new Error("Mediators can only be registered in window.top");"AsyncFunction"!==e.constructor.name&&-1===e.toString().indexOf("async")||console.warn("Mediator handler is an async function but should be synchronous"),R(D,k,this,t),R(D,K,this,e)}unsetMediator(t){if(this.mediatorKey!==t)throw new Error("Mediator is not registered");R(D,k,this,null),R(D,K,this,null)}invokeMediatorHandler(t,e){if(this.hasMediator()){const n=this.mediatorHandler(t,e);if(n)return n}return e}}function k(t,e){m(M,t)[w]=e}function K(t,e){m(M,t).mediatorHandler=e}const b="continue",H="terminate";class P{static isContinue(t){return!P.isTerminate(t)}static isTerminate(t){return(null==t?void 0:t.handlerAction)===H}static continue(t){return{handlerAction:b,meta:t}}static terminate(){return{handlerAction:H}}}const B=t=>(e,n)=>{const a=x.getInstance().invokeMediatorHandler(t,e,n);return P.isTerminate(a)?y.terminate():y.continue(null==a?void 0:a.meta)},Y=(t,e)=>{x.getInstance().setMediator(t,e)},V=t=>{x.getInstance().unsetMediator(t)};x.getInstance();const G={[S]:B(S)},{INTENT_RECEIVED:X}=i,J={[S](t,e){const{translatorKey:n,intentPayload:a,translators:r}=t,{activeTranslatorKey:o,applyActiveTranslatorCheck:s=!0}=e;if(!((t,e)=>t&&e[t])(n,r))return y.continue();s&&o!==n||r[n].dispatch(X,{intent:a})}},W=(t,e)=>{const n=sessionStorage.getItem(t);let a=[];if(n)try{a=JSON.parse(n)}catch(t){a=[]}return Array.isArray(a)||(a=[a]),a.push(e),JSON.stringify(a)},U={[S](t,e){const{translatorKey:n,intentPayload:a}=t,{fromSessionStorage:r}=e;if(!(t=>!!t)(n))return void console.warn("Unable to send intent to translator because translatorId is undefined.");if(r)return;const o=`${l}/${n}`,s=W(o,{translatorId:n,intentPayload:a,meta:e});sessionStorage.setItem(o,s)}},F={[f]:B(f),[p]:B(p),[g]:B(g),[h]:B(h)},{CONTEXT_RECEIVED:j,SYSTEM_MESSAGE_RECEIVED:q,INTENT_FEEDBACK_RECEIVED:$,CONVERSATION_WITH_SKILL_REQUESTED:z}=i,Q=t=>!!t,Z={[f](t,e){const{translatorKey:n,context:a,generator:r}=t,{activeTranslatorKey:o,applyActiveTranslatorCheck:s=!0}=e;if(!s||o===n)return Q(r)?void r.dispatch(j,{context:a,translatorId:n}):y.continue()},[p](t,e){const{translatorKey:n,generator:a,message:r}=t,{activeTranslatorKey:o,applyActiveTranslatorCheck:s=!0}=e;if(!s||n===o)return Q(a)?void a.dispatch(q,{message:r,translatorId:n}):y.continue()},[g](t){const{translatorKey:e,generator:n,originalIntent:a,status:r,message:o}=t;if(!Q(n))return y.continue();n.dispatch($,{originalIntent:a,status:r,message:o,translatorId:e})},[h](t,e){const{translatorKey:n,generator:a,skillId:r,params:o}=t,{activeTranslatorKey:s,applyActiveTranslatorCheck:i=!0}=e;if(!i||n===s)return Q(a)?void a.dispatch(z,{skillId:r,translatorId:n,params:o}):y.continue()}},tt={[f](t,e){const{translatorKey:n,context:a}=t,{fromSessionStorage:r}=e;r||sessionStorage.setItem(d,JSON.stringify({translatorId:n,context:a,meta:e}))},[p](t,e){const{translatorKey:n,message:a}=t,{fromSessionStorage:r}=e;r||sessionStorage.setItem(N,JSON.stringify({translatorId:n,message:a,meta:e}))},[g](t,e){const{translatorKey:n,originalIntent:a,status:r,message:o}=t,{fromSessionStorage:s}=e;if(s)return;const i=W(c,{translatorId:n,originalIntent:a,status:r,message:o,meta:e});sessionStorage.setItem(c,i)},[h](t,e){const{translatorKey:n,skillId:a,params:r}=t,{fromSessionStorage:o}=e;o||sessionStorage.setItem(T,JSON.stringify({translatorId:n,skillId:a,params:r,meta:e}))}},et=["meta"],nt="__LIBRARY_INTENT_CHANNEL-translators",at="__LIBRARY_INTENT_CHANNEL-generator",rt=window;rt[nt]||(rt[nt]={}),rt[at]||(rt[at]=null);const ot=t=>rt[nt][t],st=()=>rt[nt],it=()=>rt[at],lt=(t,e)=>rt[nt][t]=e,dt=t=>rt[at]=t,Et=(t=>{const e=A([G,J,U]);return{handleSendIntent(a,r,o){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};e(S,{translatorKey:a,intentPayload:r,translators:t},n()({},s,{activeTranslatorKey:o}))}}})(st()),ct=(t=>{const e=A([F,Z,tt]);return{handleSendContext(a,r,o,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},l=s;var d,E;l||(l=null!==(d=null===(E=t[a])||void 0===E?void 0:E.context)&&void 0!==d?d:null);e(f,{translatorKey:a,context:l,generator:r,translators:t},n()({},i,{activeTranslatorKey:o}))},handleSendSystemMessage(t,a,r,o){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};e(p,{translatorKey:t,generator:a,message:r},n()({},s,{activeTranslatorKey:o}))},handleSendIntentFeedback(t,a,r,o,s){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};e(g,{translatorKey:t,generator:a,originalIntent:r,status:o,message:s},n()({},i))},handleRequestConversationWithSkill(t,a,r,o,s){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};e(h,{translatorKey:t,generator:a,skillId:r,params:o},n()({},i,{activeTranslatorKey:s}))}}})(st());window.addEventListener("beforeunload",u);const Tt=(t,e)=>{if(it()){const a=sessionStorage.getItem(t);if(!a)return;try{let t=JSON.parse(a);Array.isArray(t)||(t=[t]),t.forEach((t=>{const{meta:a}=t,r=s()(t,et),o=n()({},a,{fromSessionStorage:!0});e(r,o)}))}catch(t){console.warn("Error parsing JSON format.")}sessionStorage.removeItem(t)}},Nt=()=>{Tt(d,((t,e)=>{ct.handleSendContext(t.translatorId,it(),I(),t.context,e)}))},It=()=>{Tt(N,((t,e)=>{ct.handleSendSystemMessage(t.translatorId,it(),t.message,I(),e)}))},ut=()=>{Tt(T,((t,e)=>{ct.handleRequestConversationWithSkill(t.translatorId,it(),t.skillId,t.params,I(),e)}))},_t=(t,e)=>{Et.handleSendIntent(t,e,I())},St=()=>{dt(null)},ft=t=>{ct.handleSendContext(t,it(),I())},pt=(t,e)=>{dt({id:t,dispatch:e}),ft(I()),Nt(),ut(),It()},gt=t=>{ot(t)&&(_(t),ft(t))},ht=t=>{ot(t)&&(t=>I()===t&&(u(),!0))(t)&&ft("")},yt=(t,e)=>{ot(t)&&(lt(t,n()({},ot(t),{context:e})),ft(t))},At=t=>{var e;I()===t&&u(),e=t,delete rt[nt][e]},Ct=function(t,e){var n;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0;const o=null!=r&&null!==(n=r.options)&&void 0!==n&&n.translatorContextId?{dispatch:e,translatorContextId:r.options.translatorContextId}:{dispatch:e};lt(t,o),I()||(_(t),yt(t,a))},Rt=(t,e,n)=>{ct.handleRequestConversationWithSkill(t,it(),e,n,I())};window.addEventListener("storage",(t=>{if(t.key===d)Nt();else if(t.key===N)It();else if(t.key===c)Tt(c,((t,e)=>{ct.handleSendIntentFeedback(t.translatorId,it(),t.originalIntent,t.status,t.message,e)}));else if(t.key===T)ut();else if(0===t.key.indexOf(l)){const e=t.key.replace(`${l}/`,"");if(e&&ot(e)){try{let a=JSON.parse(sessionStorage.getItem(t.key));Array.isArray(a)||(a=[a]),a.forEach((t=>{const a=n()({},t.meta,{fromSessionStorage:!0});((t,e,n)=>{if(!n||null==n||!n.fromSessionStorage)throw new Error("Message is not tagged as from session storage.");Et.handleSendIntent(t,e,I(),n)})(e,t.intentPayload,a)}))}catch(t){console.warn("Skipped sending intent due to invalid JSON format.")}sessionStorage.removeItem(t.key)}}}));const mt=(t=>{var e={};return a.d(e,t),e})({actionTypes:()=>{const e=t.default&&t.__esModule;return e?t.default.actionTypes:t.actionTypes||t.default&&t.default.actionTypes}}),{COMPONENT_CONNECTED:vt,COMPONENT_DISCONNECTED:Ot}=mt.actionTypes,{SEND_INTENT:wt,SEND_INTENT_BY_TRANSLATOR_CONTEXT_ID:Lt}=i,Mt={name:"intentGenerator",actionHandlers:{[vt](t){let{host:e,dispatch:n}=t;pt(e.nowId,n)},[Ot](t){St(t)},[wt]:{effect(t){let{action:e}=t;_t(e.payload.translatorId,e.payload.intent)},stopPropagation:!0},[Lt]:{effect(t){let{action:e}=t;(t=>{const e=st();for(const n in e)if(e[n].translatorContextId===t.translatorContextId)return void e[n].dispatch(i.INTENT_RECEIVED,{intent:t.intent})})(e.payload)},stopPropagation:!0}}},{SET_ACTIVE_CONTEXT:Dt,UNSET_ACTIVE_CONTEXT:xt}=i,kt={name:"intentMediator",actionHandlers:{[Dt]:{effect(t){let{action:e}=t;gt(e.payload.translatorId)},stopPropagation:!0},[xt]:{effect(t){let{action:e}=t;ht(e.payload.translatorId)},stopPropagation:!0}}},{COMPONENT_DISCONNECTED:Kt}=mt.actionTypes,bt="REGISTER_MEDIATOR",Ht="UNREGISTER_MEDIATOR",Pt={name:"intentRoutingMediatorBehavior",actionHandlers:{[bt]:{effect(t){let{host:e,action:n}=t;const{mediatorHandler:a}=n.payload;if(!a)throw new Error("Mediator handler is required");Y(e.nowId,a)},stopPropagation:!0},[Ht]:{effect(t){let{host:e}=t;V(e.nowId)},stopPropagation:!0},[Kt]:{effect(t){let{host:e}=t;try{V(e.nowId)}catch(t){}}}}},{COMPONENT_CONNECTED:Bt,COMPONENT_DISCONNECTED:Yt}=mt.actionTypes,{UPDATE_CONTEXT:Vt,REGISTER_TRANSLATOR:Gt,REMOVE_TRANSLATOR:Xt,SEND_INTENT_FEEDBACK:Jt,CREATE_CONVERSATION_WITH_SKILL:Wt,SEND_SYSTEM_MESSAGE:Ut}=i,Ft={name:"intentTranslator",actionHandlers:{[Bt](t){var e;let{host:n,dispatch:a,action:r}=t;null!==(e=r.payload.options)&&void 0!==e&&e.disableAutomaticallyRegistering||Ct(n.nowId,a,null,r.payload)},[Vt]:{effect(t){let{host:e,action:n}=t;yt(e.nowId,n.payload.context)},stopPropagation:!0},[Gt]:{effect(t){let{host:e,dispatch:n,action:a}=t;Ct(e.nowId,n,a.payload.context,a.payload)},stopPropagation:!0},[Xt]:{effect(t){let{host:e}=t;At(e.nowId)},stopPropagation:!0},[Jt]:{effect(t){let{host:e,action:n}=t;const{originalIntent:a,status:r,message:o}=n.payload;((t,e,n,a)=>{ct.handleSendIntentFeedback(t,it(),e,n,a)})(e.nowId,a,r,o)},stopPropagation:!0},[Wt]:{effect(t){let{host:e,action:n}=t;Rt(e.nowId,n.payload.skillId,n.payload.params)},stopPropagation:!0},[Ut]:{effect(t){let{host:e,action:n}=t;var a,r;a=e.nowId,r=n.payload.message,ct.handleSendSystemMessage(a,it(),r,I())},stopPropagation:!0},[Yt](t){let{host:e}=t;At(e.nowId)}}},jt=t=>new Proxy({},{get(e,n){if("requestConversationWithSkill"===n)return function(){const{nowId:e}=t;if(!e)throw new Error("Unable to find translator key");for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];Rt.apply(null,[e,...a])}}}),qt="sn_uxf.uiIntentLib";function $t(t){return()=>({nowAssist:jt(t)})}})();var o=r.bN,s=r.dV,i=r.kY,l=r._b,d=r.Xk,E=r.uP,c=r.S$,T=r.N5,N=r.J0,I=r.Gi,u=r.M$,_=r.Yo,S=r._z,f=r.LJ,p=r.zn,g=r.wg,h=r.dt;
/*__ESM_BODY_END__*/
export{o as LIBRARY_INTENT_CHANNEL_PACKAGE_NAME,s as MediatorResult,i as getIntentChannelClientScriptApi,l as intentActions,d as intentGeneratorBehavior,E as intentMediatorBehavior,c as intentRoutingMediatorBehavior,T as intentTranslatorBehavior,N as registerGenerator,I as registerMediator,u as registerTranslator,_ as removeGenerator,S as removeMediator,f as removeTranslator,p as sendIntent,g as setActiveTranslator,h as updateContext};
//# sourceMappingURL=/uxasset/externals/@devsnc/library-intent-channel/index.min.js.map.jsdbx?sysparm_use_cache_buster=true&uxpcb=1753340927036